feat(electrobun): port all Tauri features — full settings, popup menus, provider capabilities
New components (8): - provider-capabilities.ts: per-provider feature flags (claude/codex/ollama) - settings/AppearanceSettings.svelte: theme, fonts, cursor, scrollback - settings/AgentSettings.svelte: shell, CWD, permissions, providers - settings/SecuritySettings.svelte: keyring, secrets, branch policies - settings/ProjectSettings.svelte: per-project provider/model/worktree/sandbox - settings/OrchestrationSettings.svelte: wake strategy, notifications, anchors - settings/AdvancedSettings.svelte: logging, OTLP, plugins, import/export Updated: - ChatInput: radial context indicator (78% demo, color-coded arc), 4 popup menus (upload/context/web/slash), provider-gated icons - SettingsDrawer: 6-category sidebar shell - AgentPane: passes provider + contextPct to ChatInput
This commit is contained in:
parent
54d6f0b94a
commit
0b9e8b305a
15 changed files with 1510 additions and 441 deletions
45
ui-electrobun/src/mainview/provider-capabilities.ts
Normal file
45
ui-electrobun/src/mainview/provider-capabilities.ts
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
export type ProviderId = 'claude' | 'codex' | 'ollama';
|
||||
|
||||
export interface ProviderCapabilities {
|
||||
upload: boolean;
|
||||
context: boolean;
|
||||
web: boolean;
|
||||
slash: boolean;
|
||||
images: boolean;
|
||||
defaultModel: string;
|
||||
label: string;
|
||||
}
|
||||
|
||||
export const PROVIDER_CAPABILITIES: Record<ProviderId, ProviderCapabilities> = {
|
||||
claude: {
|
||||
upload: true,
|
||||
context: true,
|
||||
web: true,
|
||||
slash: true,
|
||||
images: true,
|
||||
defaultModel: 'claude-opus-4-5',
|
||||
label: 'Claude',
|
||||
},
|
||||
codex: {
|
||||
upload: true,
|
||||
context: true,
|
||||
web: false,
|
||||
slash: true,
|
||||
images: false,
|
||||
defaultModel: 'gpt-5.4',
|
||||
label: 'Codex',
|
||||
},
|
||||
ollama: {
|
||||
upload: false,
|
||||
context: true,
|
||||
web: false,
|
||||
slash: true,
|
||||
images: false,
|
||||
defaultModel: 'qwen3:8b',
|
||||
label: 'Ollama',
|
||||
},
|
||||
};
|
||||
|
||||
export function getCapabilities(provider: string): ProviderCapabilities {
|
||||
return PROVIDER_CAPABILITIES[provider as ProviderId] ?? PROVIDER_CAPABILITIES.claude;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue