@qduc/term2 0.29.1 → 0.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent.d.ts +13 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +73 -2
- package/dist/agent.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +24 -5
- package/dist/app.js.map +1 -1
- package/dist/build-info.json +2 -2
- package/dist/cli.js +53 -25
- package/dist/cli.js.map +1 -1
- package/dist/components/ErrorBoundary.d.ts +1 -1
- package/dist/components/ErrorBoundary.d.ts.map +1 -1
- package/dist/components/ErrorBoundary.js +28 -23
- package/dist/components/ErrorBoundary.js.map +1 -1
- package/dist/components/InputBox.d.ts.map +1 -1
- package/dist/components/InputBox.js +124 -32
- package/dist/components/InputBox.js.map +1 -1
- package/dist/components/MarkdownRenderer.d.ts.map +1 -1
- package/dist/components/MarkdownRenderer.js +31 -28
- package/dist/components/MarkdownRenderer.js.map +1 -1
- package/dist/components/common/Divider.d.ts.map +1 -1
- package/dist/components/common/Divider.js +5 -2
- package/dist/components/common/Divider.js.map +1 -1
- package/dist/components/common/MenuContainer.d.ts +6 -20
- package/dist/components/common/MenuContainer.d.ts.map +1 -1
- package/dist/components/common/MenuContainer.js +24 -40
- package/dist/components/common/MenuContainer.js.map +1 -1
- package/dist/components/common/ScrollableTabBar.d.ts.map +1 -1
- package/dist/components/common/ScrollableTabBar.js +6 -5
- package/dist/components/common/ScrollableTabBar.js.map +1 -1
- package/dist/components/common/SelectionMarker.d.ts +16 -0
- package/dist/components/common/SelectionMarker.d.ts.map +1 -0
- package/dist/components/common/SelectionMarker.js +20 -0
- package/dist/components/common/SelectionMarker.js.map +1 -0
- package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -1
- package/dist/components/input/ApplicationInputSurface.js +3 -1
- package/dist/components/input/ApplicationInputSurface.js.map +1 -1
- package/dist/components/input/FirstRunSetupPrompt.d.ts.map +1 -1
- package/dist/components/input/FirstRunSetupPrompt.js +8 -6
- package/dist/components/input/FirstRunSetupPrompt.js.map +1 -1
- package/dist/components/input/MenuSurface.d.ts.map +1 -1
- package/dist/components/input/MenuSurface.js +4 -3
- package/dist/components/input/MenuSurface.js.map +1 -1
- package/dist/components/input/ModelMenuSession.d.ts.map +1 -1
- package/dist/components/input/ModelMenuSession.js +3 -2
- package/dist/components/input/ModelMenuSession.js.map +1 -1
- package/dist/components/input/PendingQueueList.d.ts +3 -0
- package/dist/components/input/PendingQueueList.d.ts.map +1 -1
- package/dist/components/input/PendingQueueList.js +9 -8
- package/dist/components/input/PendingQueueList.js.map +1 -1
- package/dist/components/input/SettingsValueMenuSession.d.ts.map +1 -1
- package/dist/components/input/SettingsValueMenuSession.js +3 -2
- package/dist/components/input/SettingsValueMenuSession.js.map +1 -1
- package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -1
- package/dist/components/layout/BackgroundTaskManager.js +113 -107
- package/dist/components/layout/BackgroundTaskManager.js.map +1 -1
- package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
- package/dist/components/layout/BackgroundTasksPanel.js +26 -28
- package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
- package/dist/components/layout/Banner.d.ts.map +1 -1
- package/dist/components/layout/Banner.js +3 -47
- package/dist/components/layout/Banner.js.map +1 -1
- package/dist/components/layout/BottomArea.d.ts.map +1 -1
- package/dist/components/layout/BottomArea.js +14 -34
- package/dist/components/layout/BottomArea.js.map +1 -1
- package/dist/components/layout/DiffView.d.ts.map +1 -1
- package/dist/components/layout/DiffView.js +8 -7
- package/dist/components/layout/DiffView.js.map +1 -1
- package/dist/components/layout/StatusBar.d.ts +8 -0
- package/dist/components/layout/StatusBar.d.ts.map +1 -1
- package/dist/components/layout/StatusBar.js +195 -290
- package/dist/components/layout/StatusBar.js.map +1 -1
- package/dist/components/menu/CopyMenu.d.ts.map +1 -1
- package/dist/components/menu/CopyMenu.js +16 -13
- package/dist/components/menu/CopyMenu.js.map +1 -1
- package/dist/components/menu/McpSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/McpSelectionMenu.js +8 -7
- package/dist/components/menu/McpSelectionMenu.js.map +1 -1
- package/dist/components/menu/ModelSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/ModelSelectionMenu.js +21 -20
- package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
- package/dist/components/menu/PathSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/PathSelectionMenu.js +5 -4
- package/dist/components/menu/PathSelectionMenu.js.map +1 -1
- package/dist/components/menu/ProfileSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/ProfileSelectionMenu.js +17 -20
- package/dist/components/menu/ProfileSelectionMenu.js.map +1 -1
- package/dist/components/menu/ProviderSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/ProviderSelectionMenu.js +37 -36
- package/dist/components/menu/ProviderSelectionMenu.js.map +1 -1
- package/dist/components/menu/ResumeSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/ResumeSelectionMenu.js +21 -22
- package/dist/components/menu/ResumeSelectionMenu.js.map +1 -1
- package/dist/components/menu/RewindMenu.d.ts.map +1 -1
- package/dist/components/menu/RewindMenu.js +5 -4
- package/dist/components/menu/RewindMenu.js.map +1 -1
- package/dist/components/menu/SettingsSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/SettingsSelectionMenu.js +15 -14
- package/dist/components/menu/SettingsSelectionMenu.js.map +1 -1
- package/dist/components/menu/SettingsValueSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/SettingsValueSelectionMenu.js +15 -14
- package/dist/components/menu/SettingsValueSelectionMenu.js.map +1 -1
- package/dist/components/menu/SkillSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/SkillSelectionMenu.js +17 -18
- package/dist/components/menu/SkillSelectionMenu.js.map +1 -1
- package/dist/components/menu/SlashCommandMenu.d.ts.map +1 -1
- package/dist/components/menu/SlashCommandMenu.js +5 -4
- package/dist/components/menu/SlashCommandMenu.js.map +1 -1
- package/dist/components/menu/StandaloneModelPickerApp.d.ts.map +1 -1
- package/dist/components/menu/StandaloneModelPickerApp.js +3 -2
- package/dist/components/menu/StandaloneModelPickerApp.js.map +1 -1
- package/dist/components/menu/SubagentPoolSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/SubagentPoolSelectionMenu.js +26 -24
- package/dist/components/menu/SubagentPoolSelectionMenu.js.map +1 -1
- package/dist/components/menu/settings-value-formatter.d.ts +3 -1
- package/dist/components/menu/settings-value-formatter.d.ts.map +1 -1
- package/dist/components/menu/settings-value-formatter.js +24 -25
- package/dist/components/menu/settings-value-formatter.js.map +1 -1
- package/dist/components/message/ChatMessage.d.ts.map +1 -1
- package/dist/components/message/ChatMessage.js +11 -7
- package/dist/components/message/ChatMessage.js.map +1 -1
- package/dist/components/message/CodeContextSearchRenderer.d.ts.map +1 -1
- package/dist/components/message/CodeContextSearchRenderer.js +14 -11
- package/dist/components/message/CodeContextSearchRenderer.js.map +1 -1
- package/dist/components/message/CommandGroupSummary.d.ts.map +1 -1
- package/dist/components/message/CommandGroupSummary.js +8 -36
- package/dist/components/message/CommandGroupSummary.js.map +1 -1
- package/dist/components/message/CommandMessage.d.ts.map +1 -1
- package/dist/components/message/CommandMessage.js +313 -329
- package/dist/components/message/CommandMessage.js.map +1 -1
- package/dist/components/message/GrepRenderer.d.ts.map +1 -1
- package/dist/components/message/GrepRenderer.js +12 -9
- package/dist/components/message/GrepRenderer.js.map +1 -1
- package/dist/components/message/MemoryRenderer.d.ts.map +1 -1
- package/dist/components/message/MemoryRenderer.js +45 -38
- package/dist/components/message/MemoryRenderer.js.map +1 -1
- package/dist/components/message/ReadFileRenderer.d.ts.map +1 -1
- package/dist/components/message/ReadFileRenderer.js +20 -16
- package/dist/components/message/ReadFileRenderer.js.map +1 -1
- package/dist/components/message/RunCodeRenderer.d.ts.map +1 -1
- package/dist/components/message/RunCodeRenderer.js +19 -14
- package/dist/components/message/RunCodeRenderer.js.map +1 -1
- package/dist/components/message/SubagentActivityMessage.d.ts +2 -2
- package/dist/components/message/SubagentActivityMessage.d.ts.map +1 -1
- package/dist/components/message/SubagentActivityMessage.js +17 -28
- package/dist/components/message/SubagentActivityMessage.js.map +1 -1
- package/dist/components/message/WebFetchRenderer.d.ts.map +1 -1
- package/dist/components/message/WebFetchRenderer.js +16 -13
- package/dist/components/message/WebFetchRenderer.js.map +1 -1
- package/dist/components/message/WebSearchRenderer.d.ts.map +1 -1
- package/dist/components/message/WebSearchRenderer.js +20 -16
- package/dist/components/message/WebSearchRenderer.js.map +1 -1
- package/dist/components/prompt/ApprovalPrompt.d.ts +12 -1
- package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
- package/dist/components/prompt/ApprovalPrompt.js +100 -147
- package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
- package/dist/components/prompt/ConfirmPrompt.d.ts.map +1 -1
- package/dist/components/prompt/ConfirmPrompt.js +7 -4
- package/dist/components/prompt/ConfirmPrompt.js.map +1 -1
- package/dist/components/prompt/QueuePausedPrompt.d.ts.map +1 -1
- package/dist/components/prompt/QueuePausedPrompt.js +7 -4
- package/dist/components/prompt/QueuePausedPrompt.js.map +1 -1
- package/dist/components/theme.d.ts +10 -52
- package/dist/components/theme.d.ts.map +1 -1
- package/dist/components/theme.js +11 -68
- package/dist/components/theme.js.map +1 -1
- package/dist/context/InputContext.d.ts +17 -0
- package/dist/context/InputContext.d.ts.map +1 -1
- package/dist/context/InputContext.js +12 -0
- package/dist/context/InputContext.js.map +1 -1
- package/dist/core/index.d.ts +2 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -7
- package/dist/core/index.js.map +1 -1
- package/dist/core/session-runtime.d.ts +72 -0
- package/dist/core/session-runtime.d.ts.map +1 -1
- package/dist/gateway/contracts.d.ts +1 -1
- package/dist/gateway/contracts.d.ts.map +1 -1
- package/dist/gateway/gateway.d.ts +32 -0
- package/dist/gateway/gateway.d.ts.map +1 -1
- package/dist/gateway/gateway.js +47 -2
- package/dist/gateway/gateway.js.map +1 -1
- package/dist/gateway/persistence/contracts.d.ts +3 -10
- package/dist/gateway/persistence/contracts.d.ts.map +1 -1
- package/dist/gateway/persistence/contracts.js +2 -31
- package/dist/gateway/persistence/contracts.js.map +1 -1
- package/dist/gateway/runtime-factory.d.ts.map +1 -1
- package/dist/gateway/runtime-factory.js +4 -0
- package/dist/gateway/runtime-factory.js.map +1 -1
- package/dist/gateway/server-session.d.ts +3 -0
- package/dist/gateway/server-session.d.ts.map +1 -1
- package/dist/gateway/server-session.js +17 -20
- package/dist/gateway/server-session.js.map +1 -1
- package/dist/gateway/settings-rpc.d.ts +1 -1
- package/dist/gateway/settings-rpc.d.ts.map +1 -1
- package/dist/gateway/settings-rpc.js +4 -1
- package/dist/gateway/settings-rpc.js.map +1 -1
- package/dist/hooks/conversation-ui-reducer.d.ts +5 -2
- package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
- package/dist/hooks/conversation-ui-reducer.js +9 -2
- package/dist/hooks/conversation-ui-reducer.js.map +1 -1
- package/dist/hooks/settings-completion-config.d.ts.map +1 -1
- package/dist/hooks/settings-completion-config.js +2 -0
- package/dist/hooks/settings-completion-config.js.map +1 -1
- package/dist/hooks/use-app-keyboard-shortcuts.d.ts +6 -1
- package/dist/hooks/use-app-keyboard-shortcuts.d.ts.map +1 -1
- package/dist/hooks/use-app-keyboard-shortcuts.js +17 -11
- package/dist/hooks/use-app-keyboard-shortcuts.js.map +1 -1
- package/dist/hooks/use-conversation.d.ts +1 -0
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +2 -2
- package/dist/lib/agent-client.d.ts +8 -0
- package/dist/lib/agent-client.d.ts.map +1 -1
- package/dist/lib/agent-client.js +5 -1
- package/dist/lib/agent-client.js.map +1 -1
- package/dist/lib/agent-configuration.d.ts +9 -0
- package/dist/lib/agent-configuration.d.ts.map +1 -1
- package/dist/lib/agent-configuration.js +14 -0
- package/dist/lib/agent-configuration.js.map +1 -1
- package/dist/lib/agent-factory.d.ts +25 -4
- package/dist/lib/agent-factory.d.ts.map +1 -1
- package/dist/lib/agent-factory.js +6 -0
- package/dist/lib/agent-factory.js.map +1 -1
- package/dist/lib/subagent-bridge.d.ts +47 -5
- package/dist/lib/subagent-bridge.d.ts.map +1 -1
- package/dist/lib/subagent-bridge.js +112 -4
- package/dist/lib/subagent-bridge.js.map +1 -1
- package/dist/node_modules/@qduc/agent-wire/index.d.ts +73 -0
- package/dist/node_modules/@qduc/agent-wire/index.js +212 -0
- package/dist/node_modules/@qduc/agent-wire/package.json +1 -0
- package/dist/prompts/orchestrator-prompt.test.ts +9 -0
- package/dist/prompts/orchestrator.md +2 -0
- package/dist/prompts/subagent-delegation.d.ts.map +1 -1
- package/dist/prompts/subagent-delegation.js +3 -2
- package/dist/prompts/subagent-delegation.js.map +1 -1
- package/dist/prompts/subagent-delegation.test.ts +1 -0
- package/dist/prompts/subagent-delegation.ts +6 -2
- package/dist/providers/codex.provider.d.ts +3 -0
- package/dist/providers/codex.provider.d.ts.map +1 -1
- package/dist/providers/codex.provider.js +6 -4
- package/dist/providers/codex.provider.js.map +1 -1
- package/dist/providers/grok-auth.d.ts +3 -0
- package/dist/providers/grok-auth.d.ts.map +1 -1
- package/dist/providers/grok-auth.js +3 -1
- package/dist/providers/grok-auth.js.map +1 -1
- package/dist/providers/grok.provider.js +3 -3
- package/dist/providers/grok.provider.js.map +1 -1
- package/dist/providers/index.d.ts +1 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +1 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/model-catalog/catalog.generated.d.ts +239 -171
- package/dist/providers/model-catalog/catalog.generated.d.ts.map +1 -1
- package/dist/providers/model-catalog/catalog.generated.js +238 -179
- package/dist/providers/model-catalog/catalog.generated.js.map +1 -1
- package/dist/providers/model-catalog/generate-catalog.d.ts.map +1 -1
- package/dist/providers/model-catalog/generate-catalog.js +13 -5
- package/dist/providers/model-catalog/generate-catalog.js.map +1 -1
- package/dist/providers/oauth-session-account.d.ts +16 -2
- package/dist/providers/oauth-session-account.d.ts.map +1 -1
- package/dist/providers/oauth-session-account.js +8 -17
- package/dist/providers/oauth-session-account.js.map +1 -1
- package/dist/providers/openai-chat-completions-model.d.ts.map +1 -1
- package/dist/providers/openai-chat-completions-model.js +5 -2
- package/dist/providers/openai-chat-completions-model.js.map +1 -1
- package/dist/providers/openai.provider.js +1 -1
- package/dist/providers/openai.provider.js.map +1 -1
- package/dist/providers/openrouter.provider.js +1 -1
- package/dist/providers/openrouter.provider.js.map +1 -1
- package/dist/providers/registry.d.ts +20 -1
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +33 -16
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/web-search/exa.provider.d.ts.map +1 -1
- package/dist/providers/web-search/exa.provider.js +6 -3
- package/dist/providers/web-search/exa.provider.js.map +1 -1
- package/dist/providers/web-search/firecrawl.provider.d.ts +8 -0
- package/dist/providers/web-search/firecrawl.provider.d.ts.map +1 -0
- package/dist/providers/web-search/firecrawl.provider.js +59 -0
- package/dist/providers/web-search/firecrawl.provider.js.map +1 -0
- package/dist/providers/web-search/index.d.ts +5 -2
- package/dist/providers/web-search/index.d.ts.map +1 -1
- package/dist/providers/web-search/index.js +3 -1
- package/dist/providers/web-search/index.js.map +1 -1
- package/dist/providers/web-search/registry.d.ts +14 -0
- package/dist/providers/web-search/registry.d.ts.map +1 -1
- package/dist/providers/web-search/registry.js +45 -15
- package/dist/providers/web-search/registry.js.map +1 -1
- package/dist/providers/web-search/searxng.provider.d.ts +8 -0
- package/dist/providers/web-search/searxng.provider.d.ts.map +1 -0
- package/dist/providers/web-search/searxng.provider.js +56 -0
- package/dist/providers/web-search/searxng.provider.js.map +1 -0
- package/dist/providers/web-search/tavily.provider.d.ts.map +1 -1
- package/dist/providers/web-search/tavily.provider.js +8 -3
- package/dist/providers/web-search/tavily.provider.js.map +1 -1
- package/dist/providers/web-search/types.d.ts +14 -1
- package/dist/providers/web-search/types.d.ts.map +1 -1
- package/dist/services/agent-runtime/agent-resolver.d.ts.map +1 -1
- package/dist/services/agent-runtime/agent-resolver.js +1 -0
- package/dist/services/agent-runtime/agent-resolver.js.map +1 -1
- package/dist/services/agent-runtime/agent-runtime.d.ts +6 -1
- package/dist/services/agent-runtime/agent-runtime.d.ts.map +1 -1
- package/dist/services/agent-runtime/agent-runtime.js +11 -2
- package/dist/services/agent-runtime/agent-runtime.js.map +1 -1
- package/dist/services/agent-runtime/agent-spec.d.ts +14 -0
- package/dist/services/agent-runtime/agent-spec.d.ts.map +1 -0
- package/dist/services/agent-runtime/agent-spec.js +49 -0
- package/dist/services/agent-runtime/agent-spec.js.map +1 -0
- package/dist/services/agent-runtime/index.d.ts +3 -1
- package/dist/services/agent-runtime/index.d.ts.map +1 -1
- package/dist/services/agent-runtime/index.js +2 -0
- package/dist/services/agent-runtime/index.js.map +1 -1
- package/dist/services/agent-runtime/legacy-adapter.d.ts.map +1 -1
- package/dist/services/agent-runtime/legacy-adapter.js +5 -1
- package/dist/services/agent-runtime/legacy-adapter.js.map +1 -1
- package/dist/services/agent-runtime/permission-boundary.d.ts +95 -0
- package/dist/services/agent-runtime/permission-boundary.d.ts.map +1 -0
- package/dist/services/agent-runtime/permission-boundary.js +538 -0
- package/dist/services/agent-runtime/permission-boundary.js.map +1 -0
- package/dist/services/agent-runtime/resolved-agent.d.ts +2 -0
- package/dist/services/agent-runtime/resolved-agent.d.ts.map +1 -1
- package/dist/services/agent-runtime/types.d.ts +22 -1
- package/dist/services/agent-runtime/types.d.ts.map +1 -1
- package/dist/services/approval/background-subagent-approval-controller.d.ts +1 -0
- package/dist/services/approval/background-subagent-approval-controller.d.ts.map +1 -1
- package/dist/services/approval/background-subagent-approval-controller.js +3 -0
- package/dist/services/approval/background-subagent-approval-controller.js.map +1 -1
- package/dist/services/approval/background-subagent-approval-queue.d.ts +5 -0
- package/dist/services/approval/background-subagent-approval-queue.d.ts.map +1 -1
- package/dist/services/approval/background-subagent-approval-queue.js +18 -2
- package/dist/services/approval/background-subagent-approval-queue.js.map +1 -1
- package/dist/services/approval/non-interactive-approval-policy.d.ts.map +1 -1
- package/dist/services/approval/non-interactive-approval-policy.js +10 -0
- package/dist/services/approval/non-interactive-approval-policy.js.map +1 -1
- package/dist/services/approval/shell-auto-approval-resolver.d.ts +2 -0
- package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
- package/dist/services/approval/shell-auto-approval-resolver.js +4 -2
- package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
- package/dist/services/conversation/conversation-adapter-factory.d.ts +1 -1
- package/dist/services/conversation/conversation-adapter-factory.d.ts.map +1 -1
- package/dist/services/conversation/conversation-adapter.d.ts +1 -1
- package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
- package/dist/services/conversation/conversation-adapter.js +32 -6
- package/dist/services/conversation/conversation-adapter.js.map +1 -1
- package/dist/services/conversation/conversation-admission-workflow.d.ts +2 -0
- package/dist/services/conversation/conversation-admission-workflow.d.ts.map +1 -1
- package/dist/services/conversation/conversation-admission-workflow.js +1 -1
- package/dist/services/conversation/conversation-admission-workflow.js.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.js +41 -21
- package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.types.d.ts +4 -3
- package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -1
- package/dist/services/conversation/conversation-runtime-factory.d.ts +1 -1
- package/dist/services/conversation/conversation-runtime-factory.d.ts.map +1 -1
- package/dist/services/conversation/conversation-runtime-factory.js +1 -1
- package/dist/services/conversation/conversation-runtime-factory.js.map +1 -1
- package/dist/services/conversation/conversation-service.d.ts +4 -1
- package/dist/services/conversation/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation/conversation-service.js +41 -1
- package/dist/services/conversation/conversation-service.js.map +1 -1
- package/dist/services/conversation/session-index/session-index-service.d.ts +1 -1
- package/dist/services/conversation/session-index/session-index-service.d.ts.map +1 -1
- package/dist/services/conversation/session-index/session-index-service.js +1 -1
- package/dist/services/conversation/session-index/session-index-service.js.map +1 -1
- package/dist/services/cost/model-cost.d.ts +6 -0
- package/dist/services/cost/model-cost.d.ts.map +1 -1
- package/dist/services/cost/model-cost.js +12 -0
- package/dist/services/cost/model-cost.js.map +1 -1
- package/dist/services/cost/pricing.d.ts +1 -1
- package/dist/services/cost/pricing.d.ts.map +1 -1
- package/dist/services/cost/pricing.js +5 -5
- package/dist/services/cost/pricing.js.map +1 -1
- package/dist/services/models/model-picker-host.d.ts.map +1 -1
- package/dist/services/models/model-picker-host.js +9 -5
- package/dist/services/models/model-picker-host.js.map +1 -1
- package/dist/services/queue/queue-controller.d.ts +3 -0
- package/dist/services/queue/queue-controller.d.ts.map +1 -1
- package/dist/services/queue/queue-controller.js +53 -5
- package/dist/services/queue/queue-controller.js.map +1 -1
- package/dist/services/retry/provider-failure-classification.d.ts +2 -0
- package/dist/services/retry/provider-failure-classification.d.ts.map +1 -1
- package/dist/services/retry/provider-failure-classification.js +43 -0
- package/dist/services/retry/provider-failure-classification.js.map +1 -1
- package/dist/services/sandboxed-code-host/host-worker.d.ts.map +1 -1
- package/dist/services/sandboxed-code-host/host-worker.js +3 -1
- package/dist/services/sandboxed-code-host/host-worker.js.map +1 -1
- package/dist/services/session/session-composition.d.ts +7 -1
- package/dist/services/session/session-composition.d.ts.map +1 -1
- package/dist/services/session/session-composition.js +68 -14
- package/dist/services/session/session-composition.js.map +1 -1
- package/dist/services/session/session-input-planner.d.ts +2 -0
- package/dist/services/session/session-input-planner.d.ts.map +1 -1
- package/dist/services/session/session-input-planner.js +4 -6
- package/dist/services/session/session-input-planner.js.map +1 -1
- package/dist/services/settings/settings-env.d.ts.map +1 -1
- package/dist/services/settings/settings-env.js +9 -0
- package/dist/services/settings/settings-env.js.map +1 -1
- package/dist/services/settings/settings-schema.d.ts +58 -0
- package/dist/services/settings/settings-schema.d.ts.map +1 -1
- package/dist/services/settings/settings-schema.js +32 -0
- package/dist/services/settings/settings-schema.js.map +1 -1
- package/dist/services/settings/settings-sources.d.ts +4 -0
- package/dist/services/settings/settings-sources.d.ts.map +1 -1
- package/dist/services/settings/settings-sources.js +4 -0
- package/dist/services/settings/settings-sources.js.map +1 -1
- package/dist/services/settings/settings-ui-metadata.d.ts.map +1 -1
- package/dist/services/settings/settings-ui-metadata.js +6 -1
- package/dist/services/settings/settings-ui-metadata.js.map +1 -1
- package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +2 -2
- package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
- package/dist/services/settings/test-helpers/settings-consumer-inventory.js +10 -1
- package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
- package/dist/services/shell/background-shell-output-store.d.ts +4 -2
- package/dist/services/shell/background-shell-output-store.d.ts.map +1 -1
- package/dist/services/shell/background-shell-output-store.js +9 -8
- package/dist/services/shell/background-shell-output-store.js.map +1 -1
- package/dist/services/shell/background-shell-watches.d.ts.map +1 -1
- package/dist/services/shell/background-shell-watches.js +20 -9
- package/dist/services/shell/background-shell-watches.js.map +1 -1
- package/dist/services/subagents/execution-runner.d.ts.map +1 -1
- package/dist/services/subagents/execution-runner.js +2 -1
- package/dist/services/subagents/execution-runner.js.map +1 -1
- package/dist/services/subagents/foreground-subagent-lease.d.ts +15 -0
- package/dist/services/subagents/foreground-subagent-lease.d.ts.map +1 -1
- package/dist/services/subagents/foreground-subagent-lease.js +42 -2
- package/dist/services/subagents/foreground-subagent-lease.js.map +1 -1
- package/dist/services/subagents/nested-runner.d.ts +1 -1
- package/dist/services/subagents/nested-runner.d.ts.map +1 -1
- package/dist/services/subagents/nested-runner.js +89 -22
- package/dist/services/subagents/nested-runner.js.map +1 -1
- package/dist/services/subagents/runtime.d.ts.map +1 -1
- package/dist/services/subagents/runtime.js +30 -4
- package/dist/services/subagents/runtime.js.map +1 -1
- package/dist/services/subagents/subagent-async-registry.d.ts +3 -0
- package/dist/services/subagents/subagent-async-registry.d.ts.map +1 -1
- package/dist/services/subagents/subagent-async-registry.js +55 -10
- package/dist/services/subagents/subagent-async-registry.js.map +1 -1
- package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
- package/dist/services/subagents/subagent-manager.js +65 -3
- package/dist/services/subagents/subagent-manager.js.map +1 -1
- package/dist/services/subagents/subagent-role-pool-selector.d.ts +5 -1
- package/dist/services/subagents/subagent-role-pool-selector.d.ts.map +1 -1
- package/dist/services/subagents/subagent-role-pool-selector.js +24 -5
- package/dist/services/subagents/subagent-role-pool-selector.js.map +1 -1
- package/dist/services/subagents/subagent-run-control.d.ts.map +1 -1
- package/dist/services/subagents/subagent-run-control.js +3 -2
- package/dist/services/subagents/subagent-run-control.js.map +1 -1
- package/dist/services/subagents/tool-policy.d.ts +2 -2
- package/dist/services/subagents/tool-policy.d.ts.map +1 -1
- package/dist/services/subagents/tool-policy.js +8 -2
- package/dist/services/subagents/tool-policy.js.map +1 -1
- package/dist/services/subagents/types.d.ts +15 -2
- package/dist/services/subagents/types.d.ts.map +1 -1
- package/dist/services/subagents/types.js.map +1 -1
- package/dist/services/subagents/utils.d.ts +1 -1
- package/dist/services/subagents/utils.d.ts.map +1 -1
- package/dist/services/subagents/utils.js +5 -4
- package/dist/services/subagents/utils.js.map +1 -1
- package/dist/services/subagents/worker-worktree.d.ts +19 -1
- package/dist/services/subagents/worker-worktree.d.ts.map +1 -1
- package/dist/services/subagents/worker-worktree.js +128 -4
- package/dist/services/subagents/worker-worktree.js.map +1 -1
- package/dist/services/workspace/worktree-inventory.d.ts +6 -0
- package/dist/services/workspace/worktree-inventory.d.ts.map +1 -1
- package/dist/services/workspace/worktree-inventory.js +29 -1
- package/dist/services/workspace/worktree-inventory.js.map +1 -1
- package/dist/skins/SkinContext.d.ts +18 -0
- package/dist/skins/SkinContext.d.ts.map +1 -0
- package/dist/skins/SkinContext.js +23 -0
- package/dist/skins/SkinContext.js.map +1 -0
- package/dist/skins/cards/activity.d.ts +8 -0
- package/dist/skins/cards/activity.d.ts.map +1 -0
- package/dist/skins/cards/activity.js +23 -0
- package/dist/skins/cards/activity.js.map +1 -0
- package/dist/skins/cards/approval.d.ts +15 -0
- package/dist/skins/cards/approval.d.ts.map +1 -0
- package/dist/skins/cards/approval.js +64 -0
- package/dist/skins/cards/approval.js.map +1 -0
- package/dist/skins/cards/body.d.ts +14 -0
- package/dist/skins/cards/body.d.ts.map +1 -0
- package/dist/skins/cards/body.js +65 -0
- package/dist/skins/cards/body.js.map +1 -0
- package/dist/skins/cards/card.d.ts +28 -0
- package/dist/skins/cards/card.d.ts.map +1 -0
- package/dist/skins/cards/card.js +37 -0
- package/dist/skins/cards/card.js.map +1 -0
- package/dist/skins/cards/index.d.ts +9 -0
- package/dist/skins/cards/index.d.ts.map +1 -0
- package/dist/skins/cards/index.js +41 -0
- package/dist/skins/cards/index.js.map +1 -0
- package/dist/skins/cards/live-region.d.ts +16 -0
- package/dist/skins/cards/live-region.d.ts.map +1 -0
- package/dist/skins/cards/live-region.js +83 -0
- package/dist/skins/cards/live-region.js.map +1 -0
- package/dist/skins/cards/measure.d.ts +17 -0
- package/dist/skins/cards/measure.d.ts.map +1 -0
- package/dist/skins/cards/measure.js +29 -0
- package/dist/skins/cards/measure.js.map +1 -0
- package/dist/skins/cards/messages.d.ts +23 -0
- package/dist/skins/cards/messages.d.ts.map +1 -0
- package/dist/skins/cards/messages.js +80 -0
- package/dist/skins/cards/messages.js.map +1 -0
- package/dist/skins/cards/status.d.ts +9 -0
- package/dist/skins/cards/status.d.ts.map +1 -0
- package/dist/skins/cards/status.js +205 -0
- package/dist/skins/cards/status.js.map +1 -0
- package/dist/skins/cards/tools.d.ts +21 -0
- package/dist/skins/cards/tools.d.ts.map +1 -0
- package/dist/skins/cards/tools.js +101 -0
- package/dist/skins/cards/tools.js.map +1 -0
- package/dist/skins/cards/width.d.ts +4 -0
- package/dist/skins/cards/width.d.ts.map +1 -0
- package/dist/skins/cards/width.js +32 -0
- package/dist/skins/cards/width.js.map +1 -0
- package/dist/skins/classic/approval.d.ts +19 -0
- package/dist/skins/classic/approval.d.ts.map +1 -0
- package/dist/skins/classic/approval.js +50 -0
- package/dist/skins/classic/approval.js.map +1 -0
- package/dist/skins/classic/index.d.ts +7 -0
- package/dist/skins/classic/index.d.ts.map +1 -0
- package/dist/skins/classic/index.js +39 -0
- package/dist/skins/classic/index.js.map +1 -0
- package/dist/skins/classic/live-region.d.ts +19 -0
- package/dist/skins/classic/live-region.d.ts.map +1 -0
- package/dist/skins/classic/live-region.js +71 -0
- package/dist/skins/classic/live-region.js.map +1 -0
- package/dist/skins/classic/menu.d.ts +5 -0
- package/dist/skins/classic/menu.d.ts.map +1 -0
- package/dist/skins/classic/menu.js +20 -0
- package/dist/skins/classic/menu.js.map +1 -0
- package/dist/skins/classic/messages.d.ts +13 -0
- package/dist/skins/classic/messages.d.ts.map +1 -0
- package/dist/skins/classic/messages.js +65 -0
- package/dist/skins/classic/messages.js.map +1 -0
- package/dist/skins/classic/question.d.ts +5 -0
- package/dist/skins/classic/question.d.ts.map +1 -0
- package/dist/skins/classic/question.js +33 -0
- package/dist/skins/classic/question.js.map +1 -0
- package/dist/skins/classic/status.d.ts +10 -0
- package/dist/skins/classic/status.d.ts.map +1 -0
- package/dist/skins/classic/status.js +158 -0
- package/dist/skins/classic/status.js.map +1 -0
- package/dist/skins/classic/subagent.d.ts +5 -0
- package/dist/skins/classic/subagent.d.ts.map +1 -0
- package/dist/skins/classic/subagent.js +14 -0
- package/dist/skins/classic/subagent.js.map +1 -0
- package/dist/skins/classic/tool-section.d.ts +8 -0
- package/dist/skins/classic/tool-section.d.ts.map +1 -0
- package/dist/skins/classic/tool-section.js +20 -0
- package/dist/skins/classic/tool-section.js.map +1 -0
- package/dist/skins/classic/tools.d.ts +19 -0
- package/dist/skins/classic/tools.d.ts.map +1 -0
- package/dist/skins/classic/tools.js +72 -0
- package/dist/skins/classic/tools.js.map +1 -0
- package/dist/skins/ledger/activity.d.ts +6 -0
- package/dist/skins/ledger/activity.d.ts.map +1 -0
- package/dist/skins/ledger/activity.js +18 -0
- package/dist/skins/ledger/activity.js.map +1 -0
- package/dist/skins/ledger/approval.d.ts +17 -0
- package/dist/skins/ledger/approval.d.ts.map +1 -0
- package/dist/skins/ledger/approval.js +67 -0
- package/dist/skins/ledger/approval.js.map +1 -0
- package/dist/skins/ledger/body.d.ts +11 -0
- package/dist/skins/ledger/body.d.ts.map +1 -0
- package/dist/skins/ledger/body.js +77 -0
- package/dist/skins/ledger/body.js.map +1 -0
- package/dist/skins/ledger/chip.d.ts +27 -0
- package/dist/skins/ledger/chip.d.ts.map +1 -0
- package/dist/skins/ledger/chip.js +25 -0
- package/dist/skins/ledger/chip.js.map +1 -0
- package/dist/skins/ledger/index.d.ts +11 -0
- package/dist/skins/ledger/index.d.ts.map +1 -0
- package/dist/skins/ledger/index.js +44 -0
- package/dist/skins/ledger/index.js.map +1 -0
- package/dist/skins/ledger/live-region.d.ts +20 -0
- package/dist/skins/ledger/live-region.d.ts.map +1 -0
- package/dist/skins/ledger/live-region.js +89 -0
- package/dist/skins/ledger/live-region.js.map +1 -0
- package/dist/skins/ledger/messages.d.ts +17 -0
- package/dist/skins/ledger/messages.d.ts.map +1 -0
- package/dist/skins/ledger/messages.js +62 -0
- package/dist/skins/ledger/messages.js.map +1 -0
- package/dist/skins/ledger/status.d.ts +10 -0
- package/dist/skins/ledger/status.d.ts.map +1 -0
- package/dist/skins/ledger/status.js +302 -0
- package/dist/skins/ledger/status.js.map +1 -0
- package/dist/skins/ledger/tools.d.ts +20 -0
- package/dist/skins/ledger/tools.d.ts.map +1 -0
- package/dist/skins/ledger/tools.js +101 -0
- package/dist/skins/ledger/tools.js.map +1 -0
- package/dist/skins/names.d.ts +10 -0
- package/dist/skins/names.d.ts.map +1 -0
- package/dist/skins/names.js +9 -0
- package/dist/skins/names.js.map +1 -0
- package/dist/skins/rail/activity.d.ts +8 -0
- package/dist/skins/rail/activity.d.ts.map +1 -0
- package/dist/skins/rail/activity.js +23 -0
- package/dist/skins/rail/activity.js.map +1 -0
- package/dist/skins/rail/approval.d.ts +16 -0
- package/dist/skins/rail/approval.d.ts.map +1 -0
- package/dist/skins/rail/approval.js +45 -0
- package/dist/skins/rail/approval.js.map +1 -0
- package/dist/skins/rail/body.d.ts +19 -0
- package/dist/skins/rail/body.d.ts.map +1 -0
- package/dist/skins/rail/body.js +69 -0
- package/dist/skins/rail/body.js.map +1 -0
- package/dist/skins/rail/index.d.ts +12 -0
- package/dist/skins/rail/index.d.ts.map +1 -0
- package/dist/skins/rail/index.js +44 -0
- package/dist/skins/rail/index.js.map +1 -0
- package/dist/skins/rail/live-region.d.ts +19 -0
- package/dist/skins/rail/live-region.d.ts.map +1 -0
- package/dist/skins/rail/live-region.js +88 -0
- package/dist/skins/rail/live-region.js.map +1 -0
- package/dist/skins/rail/messages.d.ts +21 -0
- package/dist/skins/rail/messages.d.ts.map +1 -0
- package/dist/skins/rail/messages.js +90 -0
- package/dist/skins/rail/messages.js.map +1 -0
- package/dist/skins/rail/parts.d.ts +25 -0
- package/dist/skins/rail/parts.d.ts.map +1 -0
- package/dist/skins/rail/parts.js +37 -0
- package/dist/skins/rail/parts.js.map +1 -0
- package/dist/skins/rail/status.d.ts +10 -0
- package/dist/skins/rail/status.d.ts.map +1 -0
- package/dist/skins/rail/status.js +147 -0
- package/dist/skins/rail/status.js.map +1 -0
- package/dist/skins/rail/tools.d.ts +28 -0
- package/dist/skins/rail/tools.d.ts.map +1 -0
- package/dist/skins/rail/tools.js +85 -0
- package/dist/skins/rail/tools.js.map +1 -0
- package/dist/skins/registry.d.ts +6 -0
- package/dist/skins/registry.d.ts.map +1 -0
- package/dist/skins/registry.js +15 -0
- package/dist/skins/registry.js.map +1 -0
- package/dist/skins/shared/gauge.d.ts +17 -0
- package/dist/skins/shared/gauge.d.ts.map +1 -0
- package/dist/skins/shared/gauge.js +29 -0
- package/dist/skins/shared/gauge.js.map +1 -0
- package/dist/skins/shared/limits.d.ts +3 -0
- package/dist/skins/shared/limits.d.ts.map +1 -0
- package/dist/skins/shared/limits.js +3 -0
- package/dist/skins/shared/limits.js.map +1 -0
- package/dist/skins/shared/spinner.d.ts +14 -0
- package/dist/skins/shared/spinner.d.ts.map +1 -0
- package/dist/skins/shared/spinner.js +25 -0
- package/dist/skins/shared/spinner.js.map +1 -0
- package/dist/skins/testing/conformance.d.ts +8 -0
- package/dist/skins/testing/conformance.d.ts.map +1 -0
- package/dist/skins/testing/conformance.js +34 -0
- package/dist/skins/testing/conformance.js.map +1 -0
- package/dist/skins/testing/scenes.d.ts +45 -0
- package/dist/skins/testing/scenes.d.ts.map +1 -0
- package/dist/skins/testing/scenes.js +466 -0
- package/dist/skins/testing/scenes.js.map +1 -0
- package/dist/skins/types.d.ts +294 -0
- package/dist/skins/types.d.ts.map +1 -0
- package/dist/skins/types.js +10 -0
- package/dist/skins/types.js.map +1 -0
- package/dist/skins/zen/activity.d.ts +7 -0
- package/dist/skins/zen/activity.d.ts.map +1 -0
- package/dist/skins/zen/activity.js +22 -0
- package/dist/skins/zen/activity.js.map +1 -0
- package/dist/skins/zen/approval.d.ts +20 -0
- package/dist/skins/zen/approval.d.ts.map +1 -0
- package/dist/skins/zen/approval.js +67 -0
- package/dist/skins/zen/approval.js.map +1 -0
- package/dist/skins/zen/body.d.ts +14 -0
- package/dist/skins/zen/body.d.ts.map +1 -0
- package/dist/skins/zen/body.js +82 -0
- package/dist/skins/zen/body.js.map +1 -0
- package/dist/skins/zen/index.d.ts +12 -0
- package/dist/skins/zen/index.d.ts.map +1 -0
- package/dist/skins/zen/index.js +44 -0
- package/dist/skins/zen/index.js.map +1 -0
- package/dist/skins/zen/live-region.d.ts +21 -0
- package/dist/skins/zen/live-region.d.ts.map +1 -0
- package/dist/skins/zen/live-region.js +77 -0
- package/dist/skins/zen/live-region.js.map +1 -0
- package/dist/skins/zen/messages.d.ts +27 -0
- package/dist/skins/zen/messages.d.ts.map +1 -0
- package/dist/skins/zen/messages.js +81 -0
- package/dist/skins/zen/messages.js.map +1 -0
- package/dist/skins/zen/status.d.ts +11 -0
- package/dist/skins/zen/status.d.ts.map +1 -0
- package/dist/skins/zen/status.js +177 -0
- package/dist/skins/zen/status.js.map +1 -0
- package/dist/skins/zen/style.d.ts +26 -0
- package/dist/skins/zen/style.d.ts.map +1 -0
- package/dist/skins/zen/style.js +14 -0
- package/dist/skins/zen/style.js.map +1 -0
- package/dist/skins/zen/tools.d.ts +23 -0
- package/dist/skins/zen/tools.d.ts.map +1 -0
- package/dist/skins/zen/tools.js +81 -0
- package/dist/skins/zen/tools.js.map +1 -0
- package/dist/skins/zen/width.d.ts +12 -0
- package/dist/skins/zen/width.d.ts.map +1 -0
- package/dist/skins/zen/width.js +27 -0
- package/dist/skins/zen/width.js.map +1 -0
- package/dist/theme/ThemeContext.d.ts +26 -0
- package/dist/theme/ThemeContext.d.ts.map +1 -0
- package/dist/theme/ThemeContext.js +24 -0
- package/dist/theme/ThemeContext.js.map +1 -0
- package/dist/theme/detect-terminal-background.d.ts +29 -0
- package/dist/theme/detect-terminal-background.d.ts.map +1 -0
- package/dist/theme/detect-terminal-background.js +72 -0
- package/dist/theme/detect-terminal-background.js.map +1 -0
- package/dist/theme/palettes.d.ts +84 -0
- package/dist/theme/palettes.d.ts.map +1 -0
- package/dist/theme/palettes.js +175 -0
- package/dist/theme/palettes.js.map +1 -0
- package/dist/theme/resolve-theme.d.ts +44 -0
- package/dist/theme/resolve-theme.d.ts.map +1 -0
- package/dist/theme/resolve-theme.js +72 -0
- package/dist/theme/resolve-theme.js.map +1 -0
- package/dist/tools/agent/propose-goal.d.ts +17 -0
- package/dist/tools/agent/propose-goal.d.ts.map +1 -0
- package/dist/tools/agent/propose-goal.js +64 -0
- package/dist/tools/agent/propose-goal.js.map +1 -0
- package/dist/tools/agent/run-subagent-async.d.ts +61 -3
- package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
- package/dist/tools/agent/run-subagent-async.js +13 -4
- package/dist/tools/agent/run-subagent-async.js.map +1 -1
- package/dist/tools/agent/run-subagent.d.ts +73 -7
- package/dist/tools/agent/run-subagent.d.ts.map +1 -1
- package/dist/tools/agent/run-subagent.js +84 -22
- package/dist/tools/agent/run-subagent.js.map +1 -1
- package/dist/tools/file/create-file.js +1 -1
- package/dist/tools/file/create-file.js.map +1 -1
- package/dist/tools/system/run-code/index.d.ts +1 -1
- package/dist/tools/system/run-code/index.d.ts.map +1 -1
- package/dist/tools/system/run-code/index.js +1 -1
- package/dist/tools/system/run-code/index.js.map +1 -1
- package/dist/tools/system/run-code/run-code-agent-capability.d.ts +99 -0
- package/dist/tools/system/run-code/run-code-agent-capability.d.ts.map +1 -0
- package/dist/tools/system/run-code/run-code-agent-capability.js +384 -0
- package/dist/tools/system/run-code/run-code-agent-capability.js.map +1 -0
- package/dist/tools/system/run-code/run-code-runtime.d.ts +9 -0
- package/dist/tools/system/run-code/run-code-runtime.d.ts.map +1 -1
- package/dist/tools/system/run-code/run-code-runtime.js +141 -7
- package/dist/tools/system/run-code/run-code-runtime.js.map +1 -1
- package/dist/tools/system/run-code/run-code.d.ts +12 -1
- package/dist/tools/system/run-code/run-code.d.ts.map +1 -1
- package/dist/tools/system/run-code/run-code.js +48 -1
- package/dist/tools/system/run-code/run-code.js.map +1 -1
- package/dist/tools/tool-names.d.ts +1 -0
- package/dist/tools/tool-names.d.ts.map +1 -1
- package/dist/tools/tool-names.js +1 -0
- package/dist/tools/tool-names.js.map +1 -1
- package/dist/tools/web/web-search.d.ts +18 -0
- package/dist/tools/web/web-search.d.ts.map +1 -1
- package/dist/tools/web/web-search.js +29 -4
- package/dist/tools/web/web-search.js.map +1 -1
- package/dist/types/message.d.ts +1 -0
- package/dist/types/message.d.ts.map +1 -1
- package/dist/types/message.js +13 -0
- package/dist/types/message.js.map +1 -1
- package/dist/utils/conversation/conversation-event-handler.js +1 -1
- package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
- package/dist/utils/shell/execute-shell.js +1 -1
- package/dist/utils/shell/execute-shell.js.map +1 -1
- package/dist/utils/value-suggestions.d.ts.map +1 -1
- package/dist/utils/value-suggestions.js +16 -0
- package/dist/utils/value-suggestions.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Box, Text } from 'ink';
|
|
3
|
+
import { TOOL_STATUS_GLYPH, useTheme } from '../../components/theme.js';
|
|
4
|
+
import { BRAILLE_SPINNER, useSpinnerFrame } from '../shared/spinner.js';
|
|
5
|
+
import { Card } from './card.js';
|
|
6
|
+
/** Only a running call animates, and only this component ticks, so settled output costs no timers. */
|
|
7
|
+
const RunningGlyph = ({ color }) => {
|
|
8
|
+
const frame = useSpinnerFrame(BRAILLE_SPINNER, true);
|
|
9
|
+
return (React.createElement(Text, { color: color, bold: true }, frame));
|
|
10
|
+
};
|
|
11
|
+
/** The status marker: a spinner while running, otherwise the shared glyph for the status. */
|
|
12
|
+
const StatusGlyph = ({ status }) => {
|
|
13
|
+
const theme = useTheme();
|
|
14
|
+
const color = theme.toolStatus[status];
|
|
15
|
+
if (status === 'running')
|
|
16
|
+
return React.createElement(RunningGlyph, { color: color });
|
|
17
|
+
return (React.createElement(Text, { color: color, bold: true }, TOOL_STATUS_GLYPH[status]));
|
|
18
|
+
};
|
|
19
|
+
/** A failed or refused call gets a heavier border, so it stands out without relying on red. */
|
|
20
|
+
const shapeFor = (status) => status === 'failed' || status === 'rejected' ? 'bold' : 'round';
|
|
21
|
+
/**
|
|
22
|
+
* Standard display only: the header and the full output share one rounded card whose
|
|
23
|
+
* border is the status colour. Concise calls stay single bare lines, so a long run of
|
|
24
|
+
* calls reads as a list rather than a wall of boxes.
|
|
25
|
+
*/
|
|
26
|
+
export const CardsToolFrame = ({ status, display, children }) => {
|
|
27
|
+
const theme = useTheme();
|
|
28
|
+
if (display !== 'standard')
|
|
29
|
+
return React.createElement(React.Fragment, null, children);
|
|
30
|
+
return (React.createElement(Card, { color: theme.toolStatus[status], shape: shapeFor(status) }, children));
|
|
31
|
+
};
|
|
32
|
+
const IN_FLIGHT = new Set(['pending', 'running']);
|
|
33
|
+
/** The tool's own name labels a call unless the action already is the command. */
|
|
34
|
+
const isShellLike = (toolName) => toolName === undefined || toolName === 'shell';
|
|
35
|
+
/**
|
|
36
|
+
* The first row of a card: status glyph, then the tool name and action, with the
|
|
37
|
+
* glyph in its own column so a long command wraps underneath the action rather than
|
|
38
|
+
* under the glyph. Settled concise calls colour only the glyph and keep the text quiet.
|
|
39
|
+
*/
|
|
40
|
+
export const CardsToolHeader = ({ status, display, toolName, nested, action, meta, trailing, textColor, }) => {
|
|
41
|
+
const theme = useTheme();
|
|
42
|
+
if (display === 'standard') {
|
|
43
|
+
return (React.createElement(Box, null,
|
|
44
|
+
React.createElement(Box, { flexShrink: 0, marginRight: 1 },
|
|
45
|
+
React.createElement(StatusGlyph, { status: status })),
|
|
46
|
+
React.createElement(Box, { flexShrink: 1, flexGrow: 1 },
|
|
47
|
+
React.createElement(Text, null,
|
|
48
|
+
!isShellLike(toolName) && React.createElement(Text, { color: theme.textSubtle },
|
|
49
|
+
toolName,
|
|
50
|
+
" "),
|
|
51
|
+
action,
|
|
52
|
+
meta,
|
|
53
|
+
trailing))));
|
|
54
|
+
}
|
|
55
|
+
if (nested) {
|
|
56
|
+
return (React.createElement(Box, null,
|
|
57
|
+
React.createElement(Text, { wrap: "truncate", color: theme.textSubtle },
|
|
58
|
+
React.createElement(StatusGlyph, { status: status }),
|
|
59
|
+
" ",
|
|
60
|
+
action,
|
|
61
|
+
meta)));
|
|
62
|
+
}
|
|
63
|
+
if (IN_FLIGHT.has(status)) {
|
|
64
|
+
return (React.createElement(Box, null,
|
|
65
|
+
React.createElement(Text, null,
|
|
66
|
+
React.createElement(StatusGlyph, { status: status }),
|
|
67
|
+
" ",
|
|
68
|
+
action,
|
|
69
|
+
meta,
|
|
70
|
+
trailing)));
|
|
71
|
+
}
|
|
72
|
+
return (React.createElement(Text, { color: textColor || theme.textMuted },
|
|
73
|
+
React.createElement(StatusGlyph, { status: status }),
|
|
74
|
+
" ",
|
|
75
|
+
action,
|
|
76
|
+
trailing));
|
|
77
|
+
};
|
|
78
|
+
const GROUP_MARKER_KIND = {
|
|
79
|
+
completed: 'completed',
|
|
80
|
+
partial: 'completed',
|
|
81
|
+
failed: 'failed',
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* One line for a run of calls. A partly-failed run keeps the neutral summary and the
|
|
85
|
+
* green marker, because most of what it did succeeded; the failure line beneath, with
|
|
86
|
+
* its own red marker, is what carries the bad news. Both lines wrap rather than clip.
|
|
87
|
+
*/
|
|
88
|
+
export const CardsToolGroupSummary = ({ status, summary, failures }) => {
|
|
89
|
+
const theme = useTheme();
|
|
90
|
+
const kind = GROUP_MARKER_KIND[status];
|
|
91
|
+
return (React.createElement(Box, { flexDirection: "column" },
|
|
92
|
+
React.createElement(Text, { color: theme.textMuted },
|
|
93
|
+
React.createElement(StatusGlyph, { status: kind }),
|
|
94
|
+
" ",
|
|
95
|
+
summary),
|
|
96
|
+
failures !== '' && status !== 'failed' && (React.createElement(Text, { color: theme.textMuted },
|
|
97
|
+
React.createElement(StatusGlyph, { status: "failed" }),
|
|
98
|
+
" ",
|
|
99
|
+
failures))));
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../source/skins/cards/tools.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"width.d.ts","sourceRoot":"","sources":["../../../source/skins/cards/width.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,KAAK,UAAW,MAAM,KAAG,MAC4D,CAAC;AAEnG,qEAAqE;AACrE,eAAO,MAAM,IAAI,UAAW,MAAM,YAAY,MAAM,KAAG,MAStD,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal cells a string occupies, for laying out chips and pills before Ink measures them.
|
|
3
|
+
*
|
|
4
|
+
* `terminalTextWidth` counts every non-ASCII code point as two cells, which is the safe
|
|
5
|
+
* default for arbitrary text but doubles the box-drawing and gauge glyphs these layouts
|
|
6
|
+
* are made of. This counts those as one and only the genuinely wide ranges (CJK,
|
|
7
|
+
* fullwidth forms, emoji) as two.
|
|
8
|
+
*/
|
|
9
|
+
const isWide = (code) => (code >= 0x1100 && code <= 0x115f) ||
|
|
10
|
+
(code >= 0x2e80 && code <= 0xa4cf) ||
|
|
11
|
+
(code >= 0xac00 && code <= 0xd7a3) ||
|
|
12
|
+
(code >= 0xf900 && code <= 0xfaff) ||
|
|
13
|
+
(code >= 0xfe30 && code <= 0xfe6f) ||
|
|
14
|
+
(code >= 0xff00 && code <= 0xff60) ||
|
|
15
|
+
(code >= 0xffe0 && code <= 0xffe6) ||
|
|
16
|
+
(code >= 0x1f300 && code <= 0x1faff);
|
|
17
|
+
export const cells = (value) => Array.from(value).reduce((columns, char) => columns + (isWide(char.codePointAt(0)) ? 2 : 1), 0);
|
|
18
|
+
/** Clips to `maxCells`, ending in an ellipsis when it had to cut. */
|
|
19
|
+
export const clip = (value, maxCells) => {
|
|
20
|
+
if (cells(value) <= maxCells)
|
|
21
|
+
return value;
|
|
22
|
+
if (maxCells <= 1)
|
|
23
|
+
return '…';
|
|
24
|
+
let out = '';
|
|
25
|
+
for (const char of value) {
|
|
26
|
+
if (cells(out) + cells(char) + 1 > maxCells)
|
|
27
|
+
break;
|
|
28
|
+
out += char;
|
|
29
|
+
}
|
|
30
|
+
return `${out}…`;
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=width.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"width.js","sourceRoot":"","sources":["../../../source/skins/cards/width.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,GAAG,CAAC,IAAY,EAAW,EAAE,CACvC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;IAClC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;IAClC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;IAClC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;IAClC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;IAClC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;IAClC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;IAClC,CAAC,IAAI,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAU,EAAE,CAC7C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEnG,qEAAqE;AACrE,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,QAAgB,EAAU,EAAE;IAC9D,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC;IAC9B,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ;YAAE,MAAM;QACnD,GAAG,IAAI,IAAI,CAAC;IACd,CAAC;IACD,OAAO,GAAG,GAAG,GAAG,CAAC;AACnB,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type FC, type ReactNode } from 'react';
|
|
2
|
+
import type { ApprovalChoicesProps, ApprovalFrameProps } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Left: the options. Right: what the selected one does. Below 90 columns the
|
|
5
|
+
* description drops underneath instead of beside the list. Exported because the
|
|
6
|
+
* ask-user prompt, which skins do not yet restyle, shares it.
|
|
7
|
+
*/
|
|
8
|
+
export declare const TwoPaneApprovalLayout: FC<{
|
|
9
|
+
left: ReactNode;
|
|
10
|
+
rightTitle: ReactNode;
|
|
11
|
+
rightDescription: ReactNode;
|
|
12
|
+
}>;
|
|
13
|
+
/**
|
|
14
|
+
* A title line, then the request. The riskiest class gets a red left border, not
|
|
15
|
+
* just red text, so it is recognisable by shape before the words are read.
|
|
16
|
+
*/
|
|
17
|
+
export declare const ClassicApprovalFrame: FC<ApprovalFrameProps>;
|
|
18
|
+
export declare const ClassicApprovalChoices: FC<ApprovalChoicesProps>;
|
|
19
|
+
//# sourceMappingURL=approval.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../../source/skins/classic/approval.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE5E;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC;IACrC,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE,SAAS,CAAC;IACtB,gBAAgB,EAAE,SAAS,CAAC;CAC7B,CAuCA,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,kBAAkB,CAyBvD,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,oBAAoB,CAkC3D,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Box, Text, useStdout } from 'ink';
|
|
3
|
+
import { SelectionMarker } from '../../components/common/SelectionMarker.js';
|
|
4
|
+
import { useTheme } from '../../components/theme.js';
|
|
5
|
+
/**
|
|
6
|
+
* Left: the options. Right: what the selected one does. Below 90 columns the
|
|
7
|
+
* description drops underneath instead of beside the list. Exported because the
|
|
8
|
+
* ask-user prompt, which skins do not yet restyle, shares it.
|
|
9
|
+
*/
|
|
10
|
+
export const TwoPaneApprovalLayout = ({ left, rightTitle, rightDescription }) => {
|
|
11
|
+
const theme = useTheme();
|
|
12
|
+
const { stdout } = useStdout();
|
|
13
|
+
const isNarrow = (stdout.columns ?? 100) < 90;
|
|
14
|
+
const description = (React.createElement(Box, { flexDirection: "column", width: isNarrow ? '100%' : '50%', paddingLeft: isNarrow ? 0 : 2, marginTop: isNarrow ? 1 : 0, borderStyle: isNarrow ? undefined : 'single', borderTop: false, borderBottom: false, borderRight: false, borderLeft: !isNarrow, borderColor: theme.border },
|
|
15
|
+
React.createElement(Text, { bold: true, color: theme.warning }, rightTitle),
|
|
16
|
+
React.createElement(Box, { marginTop: 1 }, rightDescription ? (React.createElement(Text, { color: theme.text }, rightDescription)) : (React.createElement(Text, { color: theme.textSubtle, italic: true }, "No description available.")))));
|
|
17
|
+
return (React.createElement(Box, { flexDirection: isNarrow ? 'column' : 'row', width: "100%", marginTop: 1 },
|
|
18
|
+
React.createElement(Box, { flexDirection: "column", width: isNarrow ? '100%' : '50%', flexShrink: 0, flexGrow: 0 }, left),
|
|
19
|
+
description));
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* A title line, then the request. The riskiest class gets a red left border, not
|
|
23
|
+
* just red text, so it is recognisable by shape before the words are read.
|
|
24
|
+
*/
|
|
25
|
+
export const ClassicApprovalFrame = ({ tone, header, subheader, children }) => {
|
|
26
|
+
const theme = useTheme();
|
|
27
|
+
return (React.createElement(Box, { flexDirection: "column" },
|
|
28
|
+
React.createElement(Text, { color: theme.warning }, header),
|
|
29
|
+
subheader,
|
|
30
|
+
tone === 'danger' ? (React.createElement(Box, { flexDirection: "column", borderStyle: "single", borderTop: false, borderBottom: false, borderRight: false, borderLeft: true, borderColor: theme.danger, paddingLeft: 1, marginTop: 1 }, children)) : (children)));
|
|
31
|
+
};
|
|
32
|
+
export const ClassicApprovalChoices = ({ question, options, selectedIndex, layout, description, }) => {
|
|
33
|
+
const theme = useTheme();
|
|
34
|
+
const rows = options.map((option, index) => {
|
|
35
|
+
const isSelected = selectedIndex === index;
|
|
36
|
+
return (React.createElement(Box, { key: option.label },
|
|
37
|
+
React.createElement(SelectionMarker, { selected: isSelected }),
|
|
38
|
+
React.createElement(Text, { color: isSelected ? theme[option.tone] : undefined },
|
|
39
|
+
index + 1,
|
|
40
|
+
". ",
|
|
41
|
+
option.label)));
|
|
42
|
+
});
|
|
43
|
+
if (layout === 'list') {
|
|
44
|
+
return React.createElement(React.Fragment, null, rows);
|
|
45
|
+
}
|
|
46
|
+
return (React.createElement(React.Fragment, null,
|
|
47
|
+
question !== undefined && React.createElement(Text, null, question),
|
|
48
|
+
React.createElement(TwoPaneApprovalLayout, { left: rows, rightTitle: description?.title ?? 'Option', rightDescription: description?.text })));
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=approval.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval.js","sourceRoot":"","sources":["../../../source/skins/classic/approval.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Skin } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* The original look. It is also the base every other skin spreads from, so a skin
|
|
4
|
+
* only has to override the slots it actually draws differently.
|
|
5
|
+
*/
|
|
6
|
+
export declare const classicSkin: Skin;
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/skins/classic/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAmBxC;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,IAwBzB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ClassicApprovalChoices, ClassicApprovalFrame } from './approval.js';
|
|
2
|
+
import { ClassicHints, ClassicInputFrame, ClassicLiveDivider, ClassicPromptMarker, ClassicShellActivity, ClassicTaskPanel, ClassicWorkingIndicator, } from './live-region.js';
|
|
3
|
+
import { ClassicAssistantFrame, ClassicBanner, ClassicUserMessage } from './messages.js';
|
|
4
|
+
import { ClassicMenuFrame } from './menu.js';
|
|
5
|
+
import { ClassicQuestionPrompt } from './question.js';
|
|
6
|
+
import { ClassicStatusBar } from './status.js';
|
|
7
|
+
import { ClassicSubagentFeed } from './subagent.js';
|
|
8
|
+
import { ClassicToolSection } from './tool-section.js';
|
|
9
|
+
import { ClassicToolFrame, ClassicToolGroupSummary, ClassicToolHeader } from './tools.js';
|
|
10
|
+
/**
|
|
11
|
+
* The original look. It is also the base every other skin spreads from, so a skin
|
|
12
|
+
* only has to override the slots it actually draws differently.
|
|
13
|
+
*/
|
|
14
|
+
export const classicSkin = {
|
|
15
|
+
name: 'classic',
|
|
16
|
+
assistantGutter: 0,
|
|
17
|
+
taskPanelGutter: 0,
|
|
18
|
+
Banner: ClassicBanner,
|
|
19
|
+
UserMessage: ClassicUserMessage,
|
|
20
|
+
AssistantFrame: ClassicAssistantFrame,
|
|
21
|
+
ToolFrame: ClassicToolFrame,
|
|
22
|
+
ToolHeader: ClassicToolHeader,
|
|
23
|
+
ToolGroupSummary: ClassicToolGroupSummary,
|
|
24
|
+
WorkingIndicator: ClassicWorkingIndicator,
|
|
25
|
+
LiveDivider: ClassicLiveDivider,
|
|
26
|
+
PromptMarker: ClassicPromptMarker,
|
|
27
|
+
InputFrame: ClassicInputFrame,
|
|
28
|
+
Hints: ClassicHints,
|
|
29
|
+
ShellActivity: ClassicShellActivity,
|
|
30
|
+
TaskPanel: ClassicTaskPanel,
|
|
31
|
+
ApprovalFrame: ClassicApprovalFrame,
|
|
32
|
+
ApprovalChoices: ClassicApprovalChoices,
|
|
33
|
+
QuestionPrompt: ClassicQuestionPrompt,
|
|
34
|
+
SubagentFeed: ClassicSubagentFeed,
|
|
35
|
+
ToolSection: ClassicToolSection,
|
|
36
|
+
MenuFrame: ClassicMenuFrame,
|
|
37
|
+
StatusBar: ClassicStatusBar,
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/skins/classic/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE1F;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAS;IAC/B,IAAI,EAAE,SAAS;IACf,eAAe,EAAE,CAAC;IAClB,eAAe,EAAE,CAAC;IAClB,MAAM,EAAE,aAAa;IACrB,WAAW,EAAE,kBAAkB;IAC/B,cAAc,EAAE,qBAAqB;IACrC,SAAS,EAAE,gBAAgB;IAC3B,UAAU,EAAE,iBAAiB;IAC7B,gBAAgB,EAAE,uBAAuB;IACzC,gBAAgB,EAAE,uBAAuB;IACzC,WAAW,EAAE,kBAAkB;IAC/B,YAAY,EAAE,mBAAmB;IACjC,UAAU,EAAE,iBAAiB;IAC7B,KAAK,EAAE,YAAY;IACnB,aAAa,EAAE,oBAAoB;IACnC,SAAS,EAAE,gBAAgB;IAC3B,aAAa,EAAE,oBAAoB;IACnC,eAAe,EAAE,sBAAsB;IACvC,cAAc,EAAE,qBAAqB;IACrC,YAAY,EAAE,mBAAmB;IACjC,WAAW,EAAE,kBAAkB;IAC/B,SAAS,EAAE,gBAAgB;IAC3B,SAAS,EAAE,gBAAgB;CAC5B,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import type { HintsProps, ShellActivityProps, TaskPanelProps, InputFrameProps, PromptMarkerProps, WorkingIndicatorView } from '../types.js';
|
|
3
|
+
/** What the agent is doing right now, as a single muted line. */
|
|
4
|
+
export declare const ClassicWorkingIndicator: FC<WorkingIndicatorView>;
|
|
5
|
+
/** The one structural split on screen: printed history above, live controls below. */
|
|
6
|
+
export declare const ClassicLiveDivider: FC;
|
|
7
|
+
export declare const ClassicPromptMarker: FC<PromptMarkerProps>;
|
|
8
|
+
/** The input row is printed bare; the frame is the seam other skins draw a box or rule around. */
|
|
9
|
+
export declare const ClassicInputFrame: FC<InputFrameProps>;
|
|
10
|
+
/**
|
|
11
|
+
* One footer format for every menu and for the input, so the reader learns the
|
|
12
|
+
* shape once: `key action │ key action`. Menus used to each invent their own
|
|
13
|
+
* wording, separator, and arrow glyph.
|
|
14
|
+
*/
|
|
15
|
+
export declare const ClassicHints: FC<HintsProps>;
|
|
16
|
+
export declare const ClassicShellActivity: FC<ShellActivityProps>;
|
|
17
|
+
/** A muted header over the rows, unframed. */
|
|
18
|
+
export declare const ClassicTaskPanel: FC<TaskPanelProps>;
|
|
19
|
+
//# sourceMappingURL=live-region.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"live-region.d.ts","sourceRoot":"","sources":["../../../source/skins/classic/live-region.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAKvC,OAAO,KAAK,EACV,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAErB,iEAAiE;AACjE,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC,oBAAoB,CAuC5D,CAAC;AAEF,sFAAsF;AACtF,eAAO,MAAM,kBAAkB,EAAE,EAAsB,CAAC;AAExD,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,iBAAiB,CAKrD,CAAC;AAEF,kGAAkG;AAClG,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,eAAe,CAA2C,CAAC;AAE9F;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,UAAU,CAYvC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,kBAAkB,CAOvD,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,cAAc,CAQ/C,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Box, Text } from 'ink';
|
|
3
|
+
import Divider from '../../components/common/Divider.js';
|
|
4
|
+
import { GLYPH_SEPARATOR, useTheme } from '../../components/theme.js';
|
|
5
|
+
import { formatTokensPerSecond } from '../../utils/streaming/streaming-speed-tracker.js';
|
|
6
|
+
/** What the agent is doing right now, as a single muted line. */
|
|
7
|
+
export const ClassicWorkingIndicator = ({ phase, elapsedSeconds, tokensPerSecond, toolName, argumentChars, dotCount, }) => {
|
|
8
|
+
const theme = useTheme();
|
|
9
|
+
const hasRate = tokensPerSecond != null && tokensPerSecond > 0;
|
|
10
|
+
if (phase === 'tool_call') {
|
|
11
|
+
return (React.createElement(Text, { color: theme.textSubtle },
|
|
12
|
+
"Calling tool ",
|
|
13
|
+
toolName ? React.createElement(Text, { bold: true }, toolName) : '',
|
|
14
|
+
' · ',
|
|
15
|
+
elapsedSeconds,
|
|
16
|
+
"s",
|
|
17
|
+
argumentChars != null ? ` (${argumentChars} chars` : '',
|
|
18
|
+
hasRate ? ` · ${formatTokensPerSecond(tokensPerSecond)}` : '',
|
|
19
|
+
argumentChars != null ? ')' : '',
|
|
20
|
+
'.'.repeat(dotCount)));
|
|
21
|
+
}
|
|
22
|
+
if (phase === 'thinking') {
|
|
23
|
+
return (React.createElement(Text, { color: theme.textSubtle },
|
|
24
|
+
"Thinking \u00B7 ",
|
|
25
|
+
elapsedSeconds,
|
|
26
|
+
"s",
|
|
27
|
+
hasRate ? ` (${formatTokensPerSecond(tokensPerSecond)})` : ''));
|
|
28
|
+
}
|
|
29
|
+
return (React.createElement(Text, { color: theme.textSubtle }, hasRate
|
|
30
|
+
? `Generating · ${elapsedSeconds}s (${formatTokensPerSecond(tokensPerSecond)})`
|
|
31
|
+
: `Processing · ${elapsedSeconds}s`));
|
|
32
|
+
};
|
|
33
|
+
/** The one structural split on screen: printed history above, live controls below. */
|
|
34
|
+
export const ClassicLiveDivider = () => React.createElement(Divider, null);
|
|
35
|
+
export const ClassicPromptMarker = ({ mode }) => {
|
|
36
|
+
const theme = useTheme();
|
|
37
|
+
if (mode === 'rejection')
|
|
38
|
+
return React.createElement(Text, { color: theme.warning }, "Why? ");
|
|
39
|
+
if (mode === 'shell')
|
|
40
|
+
return React.createElement(Text, { color: theme.danger }, "! ");
|
|
41
|
+
return React.createElement(Text, { color: theme.accent }, "\u276F ");
|
|
42
|
+
};
|
|
43
|
+
/** The input row is printed bare; the frame is the seam other skins draw a box or rule around. */
|
|
44
|
+
export const ClassicInputFrame = ({ children }) => React.createElement(Box, null, children);
|
|
45
|
+
/**
|
|
46
|
+
* One footer format for every menu and for the input, so the reader learns the
|
|
47
|
+
* shape once: `key action │ key action`. Menus used to each invent their own
|
|
48
|
+
* wording, separator, and arrow glyph.
|
|
49
|
+
*/
|
|
50
|
+
export const ClassicHints = ({ hints }) => {
|
|
51
|
+
const theme = useTheme();
|
|
52
|
+
return (React.createElement(Text, { color: theme.textSubtle }, hints.map(([key, action, keyColor], index) => (React.createElement(React.Fragment, { key: key },
|
|
53
|
+
index > 0 ? ` ${GLYPH_SEPARATOR} ` : '',
|
|
54
|
+
keyColor ? React.createElement(Text, { color: theme[keyColor] }, key) : key,
|
|
55
|
+
" ",
|
|
56
|
+
action)))));
|
|
57
|
+
};
|
|
58
|
+
export const ClassicShellActivity = ({ command }) => {
|
|
59
|
+
const theme = useTheme();
|
|
60
|
+
return (React.createElement(Text, { color: theme.textSubtle },
|
|
61
|
+
"Running shell command: ",
|
|
62
|
+
React.createElement(Text, { bold: true }, command)));
|
|
63
|
+
};
|
|
64
|
+
/** A muted header over the rows, unframed. */
|
|
65
|
+
export const ClassicTaskPanel = ({ header, children }) => {
|
|
66
|
+
const theme = useTheme();
|
|
67
|
+
return (React.createElement(Box, { flexDirection: "column", marginBottom: 1 },
|
|
68
|
+
React.createElement(Text, { color: theme.textMuted }, header),
|
|
69
|
+
children));
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=live-region.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"live-region.js","sourceRoot":"","sources":["../../../source/skins/classic/live-region.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../source/skins/classic/menu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,cAAc,CAmD/C,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Box, Text } from 'ink';
|
|
3
|
+
import { useTheme } from '../../components/theme.js';
|
|
4
|
+
/** A rounded box; hints go under a hairline inside it, or below it. */
|
|
5
|
+
export const ClassicMenuFrame = ({ title, borderColor, hasItems, footer, footerPlacement, children, }) => {
|
|
6
|
+
const theme = useTheme();
|
|
7
|
+
const color = borderColor ?? theme.borderActive;
|
|
8
|
+
const footerNode = footer ? (typeof footer === 'string' ? (React.createElement(Text, { color: theme.textSubtle }, footer)) : (footer)) : null;
|
|
9
|
+
const body = (React.createElement(Box, { borderStyle: "round", borderColor: color, paddingX: 1, flexDirection: "column", width: hasItems ? '100%' : undefined },
|
|
10
|
+
title ? React.createElement(Text, { color: theme.textSubtle }, title) : null,
|
|
11
|
+
children,
|
|
12
|
+
footerPlacement === 'inside' && footerNode && (React.createElement(Box, { marginTop: 1, borderStyle: "single", borderTop: true, borderBottom: false, borderLeft: false, borderRight: false, borderColor: theme.border }, footerNode))));
|
|
13
|
+
if (footerPlacement === 'outside' && footerNode) {
|
|
14
|
+
return (React.createElement(Box, { flexDirection: "column", width: "100%" },
|
|
15
|
+
body,
|
|
16
|
+
footerNode));
|
|
17
|
+
}
|
|
18
|
+
return body;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../source/skins/classic/menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGrD,uEAAuE;AACvE,MAAM,CAAC,MAAM,gBAAgB,GAAuB,CAAC,EACnD,KAAK,EACL,WAAW,EACX,QAAQ,EACR,MAAM,EACN,eAAe,EACf,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,WAAW,IAAI,KAAK,CAAC,YAAY,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAC1B,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAC3B,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,UAAU,IAAG,MAAM,CAAQ,CAC/C,CAAC,CAAC,CAAC,CACF,MAAM,CACP,CACF,CAAC,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,IAAI,GAAG,CACX,oBAAC,GAAG,IACF,WAAW,EAAC,OAAO,EACnB,WAAW,EAAE,KAAK,EAClB,QAAQ,EAAE,CAAC,EACX,aAAa,EAAC,QAAQ,EACtB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAEnC,KAAK,CAAC,CAAC,CAAC,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,UAAU,IAAG,KAAK,CAAQ,CAAC,CAAC,CAAC,IAAI;QAC5D,QAAQ;QACR,eAAe,KAAK,QAAQ,IAAI,UAAU,IAAI,CAC7C,oBAAC,GAAG,IACF,SAAS,EAAE,CAAC,EACZ,WAAW,EAAC,QAAQ,EACpB,SAAS,EAAE,IAAI,EACf,YAAY,EAAE,KAAK,EACnB,UAAU,EAAE,KAAK,EACjB,WAAW,EAAE,KAAK,EAClB,WAAW,EAAE,KAAK,CAAC,MAAM,IAExB,UAAU,CACP,CACP,CACG,CACP,CAAC;IACF,IAAI,eAAe,KAAK,SAAS,IAAI,UAAU,EAAE,CAAC;QAChD,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,KAAK,EAAC,MAAM;YACrC,IAAI;YACJ,UAAU,CACP,CACP,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import type { AssistantFrameProps, BannerView, UserMessageView } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Two borderless lines, not a bordered block. The banner is the first thing on
|
|
5
|
+
* screen every session; a full box around it competes with the conversation
|
|
6
|
+
* below for attention and costs four lines to say four short facts.
|
|
7
|
+
*/
|
|
8
|
+
export declare const ClassicBanner: FC<BannerView>;
|
|
9
|
+
/** A full-width band, so user messages read as content blocks rather than another accent-coloured header. */
|
|
10
|
+
export declare const ClassicUserMessage: FC<UserMessageView>;
|
|
11
|
+
/** Answers and reasoning are printed bare; the frame exists so other skins can mark or indent them. */
|
|
12
|
+
export declare const ClassicAssistantFrame: FC<AssistantFrameProps>;
|
|
13
|
+
//# sourceMappingURL=messages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../source/skins/classic/messages.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAgBpF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,UAAU,CAiDxC,CAAC;AAEF,6GAA6G;AAC7G,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,eAAe,CAUlD,CAAC;AAEF,uGAAuG;AACvG,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,mBAAmB,CAAqC,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Box, Text } from 'ink';
|
|
3
|
+
import { GLYPH_SEPARATOR, useTheme } from '../../components/theme.js';
|
|
4
|
+
import { MODEL_LABEL_MAX } from '../shared/limits.js';
|
|
5
|
+
const truncateModel = (name) => name.length > MODEL_LABEL_MAX ? `${name.slice(0, MODEL_LABEL_MAX - 1)}…` : name;
|
|
6
|
+
const Badge = ({ mode }) => {
|
|
7
|
+
const theme = useTheme();
|
|
8
|
+
return (React.createElement(Text, { backgroundColor: theme.modeBadge[mode], color: theme.modeBadgeForeground, bold: true },
|
|
9
|
+
' ',
|
|
10
|
+
mode,
|
|
11
|
+
' '));
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Two borderless lines, not a bordered block. The banner is the first thing on
|
|
15
|
+
* screen every session; a full box around it competes with the conversation
|
|
16
|
+
* below for attention and costs four lines to say four short facts.
|
|
17
|
+
*/
|
|
18
|
+
export const ClassicBanner = ({ version, mode, mentor, providerLabel, model, reasoningEffort, mentorModel, mentorReasoningEffort, }) => {
|
|
19
|
+
const theme = useTheme();
|
|
20
|
+
return (React.createElement(Box, { flexDirection: "column", width: "100%", paddingTop: 1, marginBottom: 1 },
|
|
21
|
+
React.createElement(Box, null,
|
|
22
|
+
React.createElement(Text, { color: theme.warning, bold: true }, "\u258C"),
|
|
23
|
+
React.createElement(Text, { color: theme.accent, bold: true },
|
|
24
|
+
' ',
|
|
25
|
+
"term\u00B2",
|
|
26
|
+
' '),
|
|
27
|
+
React.createElement(Badge, { mode: mode }),
|
|
28
|
+
mentor && (React.createElement(React.Fragment, null,
|
|
29
|
+
React.createElement(Text, null, " "),
|
|
30
|
+
React.createElement(Badge, { mode: "MENTOR" }))),
|
|
31
|
+
React.createElement(Text, { color: theme.textMuted },
|
|
32
|
+
" v",
|
|
33
|
+
version)),
|
|
34
|
+
React.createElement(Box, null,
|
|
35
|
+
React.createElement(Text, { color: theme.textSubtle }, ' '),
|
|
36
|
+
React.createElement(Text, { color: theme.textMuted }, providerLabel),
|
|
37
|
+
React.createElement(Text, { color: theme.textSubtle }, "/"),
|
|
38
|
+
React.createElement(Text, { color: theme.accent }, model ? truncateModel(model) : '—'),
|
|
39
|
+
reasoningEffort !== 'none' && React.createElement(Text, { color: theme.textSubtle },
|
|
40
|
+
" (",
|
|
41
|
+
reasoningEffort,
|
|
42
|
+
")"),
|
|
43
|
+
mentor && mentorModel && (React.createElement(React.Fragment, null,
|
|
44
|
+
React.createElement(Text, { color: theme.textSubtle },
|
|
45
|
+
" ",
|
|
46
|
+
GLYPH_SEPARATOR,
|
|
47
|
+
" "),
|
|
48
|
+
React.createElement(Text, { color: theme.textSubtle }, "mentor "),
|
|
49
|
+
React.createElement(Text, { color: theme.accentAlt }, truncateModel(mentorModel)),
|
|
50
|
+
mentorReasoningEffort !== 'none' && React.createElement(Text, { color: theme.textSubtle },
|
|
51
|
+
" (",
|
|
52
|
+
mentorReasoningEffort,
|
|
53
|
+
")"))))));
|
|
54
|
+
};
|
|
55
|
+
/** A full-width band, so user messages read as content blocks rather than another accent-coloured header. */
|
|
56
|
+
export const ClassicUserMessage = ({ text }) => {
|
|
57
|
+
const theme = useTheme();
|
|
58
|
+
return (React.createElement(Box, { width: "100%", backgroundColor: theme.userBackground, paddingX: 1 },
|
|
59
|
+
React.createElement(Text, { bold: true, color: theme.userText },
|
|
60
|
+
React.createElement(Text, { color: theme.accent }, "\u276F "),
|
|
61
|
+
text)));
|
|
62
|
+
};
|
|
63
|
+
/** Answers and reasoning are printed bare; the frame exists so other skins can mark or indent them. */
|
|
64
|
+
export const ClassicAssistantFrame = ({ children }) => React.createElement(React.Fragment, null, children);
|
|
65
|
+
//# sourceMappingURL=messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../source/skins/classic/messages.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import type { QuestionPromptProps } from '../types.js';
|
|
3
|
+
/** A boxed question over a numbered list, with the selected option explained beside it. */
|
|
4
|
+
export declare const ClassicQuestionPrompt: FC<QuestionPromptProps>;
|
|
5
|
+
//# sourceMappingURL=question.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"question.d.ts","sourceRoot":"","sources":["../../../source/skins/classic/question.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD,2FAA2F;AAC3F,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,mBAAmB,CAsDzD,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Box, Text } from 'ink';
|
|
3
|
+
import { SelectionMarker } from '../../components/common/SelectionMarker.js';
|
|
4
|
+
import { GLYPH_FAVORITE, useTheme } from '../../components/theme.js';
|
|
5
|
+
import { TwoPaneApprovalLayout } from './approval.js';
|
|
6
|
+
/** A boxed question over a numbered list, with the selected option explained beside it. */
|
|
7
|
+
export const ClassicQuestionPrompt = ({ progress, question, notice, options, description, footer, }) => {
|
|
8
|
+
const theme = useTheme();
|
|
9
|
+
return (React.createElement(Box, { flexDirection: "column" },
|
|
10
|
+
progress !== undefined && (React.createElement(Box, { marginLeft: 1 },
|
|
11
|
+
React.createElement(Text, { color: theme.textSubtle }, progress))),
|
|
12
|
+
React.createElement(Box, { borderStyle: "round", borderColor: theme.warning, paddingX: 1, paddingY: 0 },
|
|
13
|
+
React.createElement(Text, { color: theme.warning, bold: true }, question)),
|
|
14
|
+
notice !== undefined && (React.createElement(Box, { marginTop: 1, marginLeft: 1 },
|
|
15
|
+
React.createElement(Text, { color: theme.accent },
|
|
16
|
+
"\u276F ",
|
|
17
|
+
notice))),
|
|
18
|
+
React.createElement(TwoPaneApprovalLayout, { left: options.map((option, index) => {
|
|
19
|
+
const checkbox = option.checked === undefined ? '' : option.checked ? '[x] ' : '[ ] ';
|
|
20
|
+
return (React.createElement(Box, { key: option.label, flexDirection: "row", width: "100%" },
|
|
21
|
+
React.createElement(SelectionMarker, { selected: option.selected }),
|
|
22
|
+
React.createElement(Box, { width: 2, flexShrink: 0 },
|
|
23
|
+
React.createElement(Text, { color: theme.textSubtle, dimColor: true }, option.recommended ? GLYPH_FAVORITE : ' ')),
|
|
24
|
+
React.createElement(Box, { flexDirection: "row", flexShrink: 1, flexWrap: "wrap" },
|
|
25
|
+
React.createElement(Text, { color: option.selected && option.tone ? theme[option.tone] : undefined, bold: option.selected },
|
|
26
|
+
index + 1,
|
|
27
|
+
". ",
|
|
28
|
+
checkbox,
|
|
29
|
+
option.label))));
|
|
30
|
+
}), rightTitle: description.title, rightDescription: description.text }),
|
|
31
|
+
React.createElement(Box, { marginTop: 1, marginLeft: 1 }, footer)));
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=question.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"question.js","sourceRoot":"","sources":["../../../source/skins/classic/question.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,2FAA2F;AAC3F,MAAM,CAAC,MAAM,qBAAqB,GAA4B,CAAC,EAC7D,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,OAAO,EACP,WAAW,EACX,MAAM,GACP,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;QACxB,QAAQ,KAAK,SAAS,IAAI,CACzB,oBAAC,GAAG,IAAC,UAAU,EAAE,CAAC;YAChB,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,UAAU,IAAG,QAAQ,CAAQ,CAC5C,CACP;QACD,oBAAC,GAAG,IAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC3E,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,UAC7B,QAAQ,CACJ,CACH;QACL,MAAM,KAAK,SAAS,IAAI,CACvB,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;YAC9B,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM;;gBAAK,MAAM,CAAQ,CACxC,CACP;QACD,oBAAC,qBAAqB,IACpB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;gBACtF,OAAO,CACL,oBAAC,GAAG,IAAC,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa,EAAC,KAAK,EAAC,KAAK,EAAC,MAAM;oBACtD,oBAAC,eAAe,IAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAI;oBAC9C,oBAAC,GAAG,IAAC,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;wBAC1B,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,UACpC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CACrC,CACH;oBACN,oBAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAC,MAAM;wBACrD,oBAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ;4BAChG,KAAK,GAAG,CAAC;;4BAAI,QAAQ;4BACrB,MAAM,CAAC,KAAK,CACR,CACH,CACF,CACP,CAAC;YACJ,CAAC,CAAC,EACF,UAAU,EAAE,WAAW,CAAC,KAAK,EAC7B,gBAAgB,EAAE,WAAW,CAAC,IAAI,GAClC;QACF,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,IAC7B,MAAM,CACH,CACF,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import type { StatusView } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Configuration on the left, this turn's numbers on the right. The alert row is
|
|
5
|
+
* where every non-steady-state message lands, so the bar is a single line
|
|
6
|
+
* whenever nothing is wrong — which is most of the time — and grows only to say
|
|
7
|
+
* something.
|
|
8
|
+
*/
|
|
9
|
+
export declare const ClassicStatusBar: FC<StatusView>;
|
|
10
|
+
//# sourceMappingURL=status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../source/skins/classic/status.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAsC,UAAU,EAAE,MAAM,aAAa,CAAC;AA2KlF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,UAAU,CAuD3C,CAAC"}
|