@qduc/term2 0.15.0 → 0.16.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/README.md +324 -316
- package/dist/agent.d.ts +3 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +15 -63
- package/dist/agent.js.map +1 -1
- package/dist/app.d.ts +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +129 -19
- package/dist/app.js.map +1 -1
- package/dist/cli.js +25 -16
- package/dist/cli.js.map +1 -1
- package/dist/commands/compact-command.d.ts.map +1 -1
- package/dist/commands/compact-command.js +4 -0
- package/dist/commands/compact-command.js.map +1 -1
- package/dist/commands/effort-command.js +1 -1
- package/dist/commands/effort-command.js.map +1 -1
- package/dist/commands/guarded-settings-command.d.ts.map +1 -1
- package/dist/commands/guarded-settings-command.js +4 -8
- package/dist/commands/guarded-settings-command.js.map +1 -1
- package/dist/commands/model-command.js +1 -1
- package/dist/commands/model-command.js.map +1 -1
- package/dist/commands/resume-command.d.ts +10 -0
- package/dist/commands/resume-command.d.ts.map +1 -0
- package/dist/commands/resume-command.js +40 -0
- package/dist/commands/resume-command.js.map +1 -0
- package/dist/components/ErrorBoundary.d.ts.map +1 -1
- package/dist/components/ErrorBoundary.js +5 -4
- package/dist/components/ErrorBoundary.js.map +1 -1
- package/dist/components/InputBox.d.ts +2 -0
- package/dist/components/InputBox.d.ts.map +1 -1
- package/dist/components/InputBox.js +56 -18
- package/dist/components/InputBox.js.map +1 -1
- package/dist/components/MarkdownRenderer.d.ts.map +1 -1
- package/dist/components/MarkdownRenderer.js +16 -15
- package/dist/components/MarkdownRenderer.js.map +1 -1
- package/dist/components/common/MenuContainer.d.ts +25 -2
- package/dist/components/common/MenuContainer.d.ts.map +1 -1
- package/dist/components/common/MenuContainer.js +35 -11
- 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 +5 -4
- package/dist/components/common/ScrollableTabBar.js.map +1 -1
- package/dist/components/input/ApplicationInputSurface.d.ts +4 -5
- package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -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 +5 -4
- 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 +10 -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 +2 -1
- package/dist/components/input/ModelMenuSession.js.map +1 -1
- package/dist/components/input/PendingQueueList.d.ts +2 -0
- package/dist/components/input/PendingQueueList.d.ts.map +1 -1
- package/dist/components/input/PendingQueueList.js +17 -14
- 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 +2 -1
- 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 +12 -11
- package/dist/components/layout/BackgroundTaskManager.js.map +1 -1
- package/dist/components/layout/BackgroundTasksPanel.d.ts +2 -2
- package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
- package/dist/components/layout/BackgroundTasksPanel.js +10 -9
- package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
- package/dist/components/layout/Banner.d.ts +0 -1
- package/dist/components/layout/Banner.d.ts.map +1 -1
- package/dist/components/layout/Banner.js +43 -73
- package/dist/components/layout/Banner.js.map +1 -1
- package/dist/components/layout/BottomArea.d.ts +6 -5
- package/dist/components/layout/BottomArea.d.ts.map +1 -1
- package/dist/components/layout/BottomArea.js +17 -9
- package/dist/components/layout/BottomArea.js.map +1 -1
- package/dist/components/layout/DiffView.js +5 -5
- package/dist/components/layout/DiffView.js.map +1 -1
- package/dist/components/layout/StatusBar.d.ts +4 -1
- package/dist/components/layout/StatusBar.d.ts.map +1 -1
- package/dist/components/layout/StatusBar.js +305 -95
- package/dist/components/layout/StatusBar.js.map +1 -1
- package/dist/components/layout/background-task-clock.d.ts +43 -0
- package/dist/components/layout/background-task-clock.d.ts.map +1 -0
- package/dist/components/layout/background-task-clock.js +46 -0
- package/dist/components/layout/background-task-clock.js.map +1 -0
- package/dist/components/menu/CopyMenu.d.ts.map +1 -1
- package/dist/components/menu/CopyMenu.js +4 -3
- package/dist/components/menu/CopyMenu.js.map +1 -1
- package/dist/components/menu/MentorPoolSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/MentorPoolSelectionMenu.js +28 -21
- package/dist/components/menu/MentorPoolSelectionMenu.js.map +1 -1
- package/dist/components/menu/ModelSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/ModelSelectionMenu.js +26 -13
- 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 +4 -3
- package/dist/components/menu/PathSelectionMenu.js.map +1 -1
- package/dist/components/menu/ProviderSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/ProviderSelectionMenu.js +46 -26
- package/dist/components/menu/ProviderSelectionMenu.js.map +1 -1
- package/dist/components/menu/RewindMenu.d.ts.map +1 -1
- package/dist/components/menu/RewindMenu.js +4 -3
- 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 +26 -26
- 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 +22 -20
- 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 +33 -23
- 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 +11 -6
- package/dist/components/menu/SlashCommandMenu.js.map +1 -1
- package/dist/components/message/ChatMessage.js +2 -2
- 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 +8 -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 +15 -7
- 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 +111 -91
- 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 +5 -8
- package/dist/components/message/GrepRenderer.js.map +1 -1
- package/dist/components/message/MemoryRenderer.d.ts +1 -0
- package/dist/components/message/MemoryRenderer.d.ts.map +1 -1
- package/dist/components/message/MemoryRenderer.js +19 -17
- package/dist/components/message/MemoryRenderer.js.map +1 -1
- package/dist/components/message/MessageList.d.ts +1 -2
- package/dist/components/message/MessageList.d.ts.map +1 -1
- package/dist/components/message/MessageList.js +12 -11
- package/dist/components/message/MessageList.js.map +1 -1
- package/dist/components/message/ReadFileRenderer.d.ts.map +1 -1
- package/dist/components/message/ReadFileRenderer.js +5 -6
- package/dist/components/message/ReadFileRenderer.js.map +1 -1
- package/dist/components/message/SubagentActivityMessage.d.ts.map +1 -1
- package/dist/components/message/SubagentActivityMessage.js +17 -13
- 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 +7 -11
- 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 +5 -10
- package/dist/components/message/WebSearchRenderer.js.map +1 -1
- package/dist/components/message/command-grouping.d.ts +29 -6
- package/dist/components/message/command-grouping.d.ts.map +1 -1
- package/dist/components/message/command-grouping.js +62 -20
- package/dist/components/message/command-grouping.js.map +1 -1
- package/dist/components/message/command-message-helpers.d.ts +5 -32
- package/dist/components/message/command-message-helpers.d.ts.map +1 -1
- package/dist/components/message/command-message-helpers.js +26 -8
- package/dist/components/message/command-message-helpers.js.map +1 -1
- package/dist/components/message/useCommandVisibility.d.ts.map +1 -1
- package/dist/components/message/useCommandVisibility.js +5 -4
- package/dist/components/message/useCommandVisibility.js.map +1 -1
- package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
- package/dist/components/prompt/ApprovalPrompt.js +190 -106
- package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
- package/dist/components/prompt/HandoffConfirmationPrompt.d.ts.map +1 -1
- package/dist/components/prompt/HandoffConfirmationPrompt.js +3 -2
- package/dist/components/prompt/HandoffConfirmationPrompt.js.map +1 -1
- package/dist/components/prompt/InputSurgeConfirmationPrompt.d.ts.map +1 -1
- package/dist/components/prompt/InputSurgeConfirmationPrompt.js +5 -4
- package/dist/components/prompt/InputSurgeConfirmationPrompt.js.map +1 -1
- package/dist/components/prompt/LargeUncachedConfirmationPrompt.d.ts.map +1 -1
- package/dist/components/prompt/LargeUncachedConfirmationPrompt.js +4 -3
- package/dist/components/prompt/LargeUncachedConfirmationPrompt.js.map +1 -1
- package/dist/components/prompt/ModeSwitchConfirmationPrompt.d.ts.map +1 -1
- package/dist/components/prompt/ModeSwitchConfirmationPrompt.js +4 -3
- package/dist/components/prompt/ModeSwitchConfirmationPrompt.js.map +1 -1
- package/dist/components/prompt/QueuePausedPrompt.d.ts.map +1 -1
- package/dist/components/prompt/QueuePausedPrompt.js +6 -5
- package/dist/components/prompt/QueuePausedPrompt.js.map +1 -1
- package/dist/components/prompt/StandardModeConfirmationPrompt.d.ts.map +1 -1
- package/dist/components/prompt/StandardModeConfirmationPrompt.js +3 -2
- package/dist/components/prompt/StandardModeConfirmationPrompt.js.map +1 -1
- package/dist/components/theme.d.ts +58 -3
- package/dist/components/theme.d.ts.map +1 -1
- package/dist/components/theme.js +84 -17
- package/dist/components/theme.js.map +1 -1
- package/dist/contracts/application-stream.d.ts +14 -0
- package/dist/contracts/application-stream.d.ts.map +1 -1
- package/dist/gateway/assertion.d.ts +4 -1
- package/dist/gateway/assertion.d.ts.map +1 -1
- package/dist/gateway/assertion.js +24 -2
- package/dist/gateway/assertion.js.map +1 -1
- package/dist/gateway/contracts.d.ts +21 -4
- package/dist/gateway/contracts.d.ts.map +1 -1
- package/dist/gateway/contracts.js +11 -0
- package/dist/gateway/contracts.js.map +1 -1
- package/dist/gateway/dynamic-workspace-registry.d.ts +76 -0
- package/dist/gateway/dynamic-workspace-registry.d.ts.map +1 -0
- package/dist/gateway/dynamic-workspace-registry.js +403 -0
- package/dist/gateway/dynamic-workspace-registry.js.map +1 -0
- package/dist/gateway/gateway.d.ts +24 -1
- package/dist/gateway/gateway.d.ts.map +1 -1
- package/dist/gateway/gateway.js +704 -21
- package/dist/gateway/gateway.js.map +1 -1
- package/dist/gateway/launcher-seam.d.ts +18 -0
- package/dist/gateway/launcher-seam.d.ts.map +1 -0
- package/dist/gateway/launcher-seam.js +43 -0
- package/dist/gateway/launcher-seam.js.map +1 -0
- package/dist/gateway/pairing.d.ts +25 -0
- package/dist/gateway/pairing.d.ts.map +1 -0
- package/dist/gateway/pairing.js +107 -0
- package/dist/gateway/pairing.js.map +1 -0
- package/dist/gateway/persistence/coordinator.d.ts +2 -0
- package/dist/gateway/persistence/coordinator.d.ts.map +1 -1
- package/dist/gateway/persistence/coordinator.js +13 -0
- package/dist/gateway/persistence/coordinator.js.map +1 -1
- package/dist/gateway/runtime-factory.d.ts +15 -6
- package/dist/gateway/runtime-factory.d.ts.map +1 -1
- package/dist/gateway/runtime-factory.js +38 -9
- package/dist/gateway/runtime-factory.js.map +1 -1
- package/dist/gateway/safe-log.d.ts.map +1 -1
- package/dist/gateway/safe-log.js +19 -0
- package/dist/gateway/safe-log.js.map +1 -1
- package/dist/gateway/server-session.d.ts.map +1 -1
- package/dist/gateway/server-session.js +36 -4
- package/dist/gateway/server-session.js.map +1 -1
- package/dist/gateway/server.d.ts +26 -3
- package/dist/gateway/server.d.ts.map +1 -1
- package/dist/gateway/server.js +105 -17
- package/dist/gateway/server.js.map +1 -1
- package/dist/gateway/settings-rpc.d.ts +95 -0
- package/dist/gateway/settings-rpc.d.ts.map +1 -0
- package/dist/gateway/settings-rpc.js +227 -0
- package/dist/gateway/settings-rpc.js.map +1 -0
- package/dist/gateway/trusted-clients.d.ts +27 -0
- package/dist/gateway/trusted-clients.d.ts.map +1 -0
- package/dist/gateway/trusted-clients.js +157 -0
- package/dist/gateway/trusted-clients.js.map +1 -0
- package/dist/gateway/worker-boundary.d.ts +6 -5
- package/dist/gateway/worker-boundary.d.ts.map +1 -1
- package/dist/gateway/worker-boundary.js +20 -10
- package/dist/gateway/worker-boundary.js.map +1 -1
- package/dist/gateway/workspace-admission.d.ts +11 -0
- package/dist/gateway/workspace-admission.d.ts.map +1 -1
- package/dist/gateway/workspace-admission.js +89 -16
- package/dist/gateway/workspace-admission.js.map +1 -1
- package/dist/gateway/workspace-boundary-probe.d.ts +18 -0
- package/dist/gateway/workspace-boundary-probe.d.ts.map +1 -0
- package/dist/gateway/workspace-boundary-probe.js +37 -0
- package/dist/gateway/workspace-boundary-probe.js.map +1 -0
- package/dist/hooks/conversation-ui-reducer.d.ts +6 -0
- package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
- package/dist/hooks/conversation-ui-reducer.js +9 -1
- 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 +11 -3
- package/dist/hooks/settings-completion-config.js.map +1 -1
- package/dist/hooks/use-app-commands.d.ts +6 -1
- package/dist/hooks/use-app-commands.d.ts.map +1 -1
- package/dist/hooks/use-app-commands.js +22 -13
- package/dist/hooks/use-app-commands.js.map +1 -1
- package/dist/hooks/use-app-keyboard-shortcuts.d.ts +1 -3
- package/dist/hooks/use-app-keyboard-shortcuts.d.ts.map +1 -1
- package/dist/hooks/use-app-keyboard-shortcuts.js +11 -9
- package/dist/hooks/use-app-keyboard-shortcuts.js.map +1 -1
- package/dist/hooks/use-conversation.d.ts +8 -0
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +27 -18
- package/dist/hooks/use-conversation.js.map +1 -1
- package/dist/hooks/use-opencode-go-usage.d.ts +8 -0
- package/dist/hooks/use-opencode-go-usage.d.ts.map +1 -0
- package/dist/hooks/use-opencode-go-usage.js +45 -0
- package/dist/hooks/use-opencode-go-usage.js.map +1 -0
- package/dist/hooks/use-shell-mode.d.ts +3 -4
- package/dist/hooks/use-shell-mode.d.ts.map +1 -1
- package/dist/hooks/use-shell-mode.js +14 -12
- package/dist/hooks/use-shell-mode.js.map +1 -1
- package/dist/hooks/use-terminal-columns.d.ts +15 -0
- package/dist/hooks/use-terminal-columns.d.ts.map +1 -0
- package/dist/hooks/use-terminal-columns.js +45 -0
- package/dist/hooks/use-terminal-columns.js.map +1 -0
- package/dist/lib/agent-client.d.ts +2 -0
- package/dist/lib/agent-client.d.ts.map +1 -1
- package/dist/lib/agent-client.js +1 -0
- package/dist/lib/agent-client.js.map +1 -1
- package/dist/lib/agent-configuration.d.ts +3 -0
- package/dist/lib/agent-configuration.d.ts.map +1 -1
- package/dist/lib/agent-configuration.js +4 -0
- package/dist/lib/agent-configuration.js.map +1 -1
- package/dist/lib/agent-factory.d.ts +3 -0
- package/dist/lib/agent-factory.d.ts.map +1 -1
- package/dist/lib/agent-factory.js +9 -2
- package/dist/lib/agent-factory.js.map +1 -1
- package/dist/lib/harness-input-idle.d.ts.map +1 -1
- package/dist/lib/harness-input-idle.js +1 -1
- package/dist/lib/harness-input-idle.js.map +1 -1
- package/dist/non-interactive.d.ts.map +1 -1
- package/dist/non-interactive.js +9 -2
- package/dist/non-interactive.js.map +1 -1
- package/dist/prompts/approval-model.md +22 -0
- package/dist/prompts/gpt-5.6.md +3 -2
- package/dist/prompts/mentor-mode-stub.md +3 -0
- package/dist/prompts/orchestrator-mode-stub.md +3 -0
- package/dist/prompts/prefix-quality.test.ts +10 -0
- package/dist/prompts/prompt-constructor.d.ts +2 -0
- package/dist/prompts/prompt-constructor.d.ts.map +1 -1
- package/dist/prompts/prompt-constructor.js +23 -13
- package/dist/prompts/prompt-constructor.js.map +1 -1
- package/dist/prompts/prompt-constructor.test.ts +39 -5
- package/dist/prompts/prompt-constructor.ts +27 -15
- package/dist/prompts/prompt-profiles.d.ts +1 -3
- package/dist/prompts/prompt-profiles.d.ts.map +1 -1
- package/dist/prompts/prompt-profiles.js +2 -7
- package/dist/prompts/prompt-profiles.js.map +1 -1
- package/dist/prompts/prompt-profiles.ts +3 -16
- package/dist/prompts/session-browser.md +3 -0
- package/dist/prompts/subagent-delegation.d.ts +3 -2
- package/dist/prompts/subagent-delegation.d.ts.map +1 -1
- package/dist/prompts/subagent-delegation.js +9 -13
- package/dist/prompts/subagent-delegation.js.map +1 -1
- package/dist/prompts/subagent-delegation.ts +9 -13
- package/dist/providers/chained-wire-state.d.ts +7 -2
- package/dist/providers/chained-wire-state.d.ts.map +1 -1
- package/dist/providers/chained-wire-state.js +16 -7
- package/dist/providers/chained-wire-state.js.map +1 -1
- package/dist/providers/codex-auth.d.ts +2 -5
- package/dist/providers/codex-auth.d.ts.map +1 -1
- package/dist/providers/codex-auth.js +2 -0
- package/dist/providers/codex-auth.js.map +1 -1
- package/dist/providers/codex-responses-model.d.ts.map +1 -1
- package/dist/providers/codex-responses-model.js +22 -3
- package/dist/providers/codex-responses-model.js.map +1 -1
- package/dist/providers/grok-auth.d.ts +2 -5
- package/dist/providers/grok-auth.d.ts.map +1 -1
- package/dist/providers/grok-auth.js +2 -0
- package/dist/providers/grok-auth.js.map +1 -1
- package/dist/providers/oauth-account-store.d.ts +5 -0
- package/dist/providers/oauth-account-store.d.ts.map +1 -1
- package/dist/providers/oauth-account-store.js +56 -5
- package/dist/providers/oauth-account-store.js.map +1 -1
- package/dist/providers/oauth-pkce.d.ts +8 -0
- package/dist/providers/oauth-pkce.d.ts.map +1 -1
- package/dist/providers/oauth-pkce.js +91 -19
- package/dist/providers/oauth-pkce.js.map +1 -1
- package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
- package/dist/providers/openai-compatible.provider.js +8 -1
- package/dist/providers/openai-compatible.provider.js.map +1 -1
- package/dist/providers/opencode-go-usage.d.ts +24 -0
- package/dist/providers/opencode-go-usage.d.ts.map +1 -0
- package/dist/providers/opencode-go-usage.js +37 -0
- package/dist/providers/opencode-go-usage.js.map +1 -0
- package/dist/providers/openrouter.provider.d.ts.map +1 -1
- package/dist/providers/openrouter.provider.js +8 -1
- package/dist/providers/openrouter.provider.js.map +1 -1
- package/dist/providers/responses-websocket-sessions.d.ts +1 -0
- package/dist/providers/responses-websocket-sessions.d.ts.map +1 -1
- package/dist/providers/responses-websocket-sessions.js +16 -2
- package/dist/providers/responses-websocket-sessions.js.map +1 -1
- package/dist/providers/retrying-model.d.ts.map +1 -1
- package/dist/providers/retrying-model.js +31 -3
- package/dist/providers/retrying-model.js.map +1 -1
- package/dist/services/agent-runtime/application-run-loop.d.ts +5 -1
- package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
- package/dist/services/agent-runtime/application-run-loop.js +229 -149
- package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
- package/dist/services/agent-runtime/generation-guard.d.ts +39 -25
- package/dist/services/agent-runtime/generation-guard.d.ts.map +1 -1
- package/dist/services/agent-runtime/generation-guard.js +98 -100
- package/dist/services/agent-runtime/generation-guard.js.map +1 -1
- package/dist/services/agent-runtime/run-budget.d.ts +1 -1
- package/dist/services/agent-runtime/run-budget.d.ts.map +1 -1
- package/dist/services/agent-runtime/run-budget.js +4 -0
- package/dist/services/agent-runtime/run-budget.js.map +1 -1
- package/dist/services/agent-stream.d.ts.map +1 -1
- package/dist/services/agent-stream.js +1 -0
- package/dist/services/agent-stream.js.map +1 -1
- package/dist/services/conversation/conversation-adapter.d.ts +13 -2
- package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
- package/dist/services/conversation/conversation-adapter.js +35 -7
- package/dist/services/conversation/conversation-adapter.js.map +1 -1
- package/dist/services/conversation/conversation-admission-workflow.d.ts +3 -2
- package/dist/services/conversation/conversation-admission-workflow.d.ts.map +1 -1
- package/dist/services/conversation/conversation-admission-workflow.js +6 -1
- package/dist/services/conversation/conversation-admission-workflow.js.map +1 -1
- package/dist/services/conversation/conversation-events.d.ts +43 -2
- package/dist/services/conversation/conversation-events.d.ts.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.d.ts +14 -1
- package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.js +142 -11
- package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.types.d.ts +3 -1
- package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -1
- package/dist/services/conversation/conversation-persistence.d.ts +22 -1
- package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
- package/dist/services/conversation/conversation-persistence.js +61 -0
- package/dist/services/conversation/conversation-persistence.js.map +1 -1
- package/dist/services/conversation/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation/conversation-service.js +45 -29
- package/dist/services/conversation/conversation-service.js.map +1 -1
- package/dist/services/conversation/session-audit.d.ts +70 -0
- package/dist/services/conversation/session-audit.d.ts.map +1 -0
- package/dist/services/conversation/session-audit.js +164 -0
- package/dist/services/conversation/session-audit.js.map +1 -0
- package/dist/services/conversation/session-browser.d.ts +46 -0
- package/dist/services/conversation/session-browser.d.ts.map +1 -0
- package/dist/services/conversation/session-browser.js +380 -0
- package/dist/services/conversation/session-browser.js.map +1 -0
- package/dist/services/input-surge-approval.d.ts +21 -0
- package/dist/services/input-surge-approval.d.ts.map +1 -0
- package/dist/services/input-surge-approval.js +42 -0
- package/dist/services/input-surge-approval.js.map +1 -0
- package/dist/services/large-uncached-input-guard.js +4 -4
- package/dist/services/large-uncached-input-guard.js.map +1 -1
- package/dist/services/logging/assistant-turn-journal.d.ts +15 -0
- package/dist/services/logging/assistant-turn-journal.d.ts.map +1 -1
- package/dist/services/logging/assistant-turn-journal.js +27 -0
- package/dist/services/logging/assistant-turn-journal.js.map +1 -1
- package/dist/services/memory/memory-capabilities.js +2 -2
- package/dist/services/memory/memory-search.d.ts +16 -0
- package/dist/services/memory/memory-search.d.ts.map +1 -0
- package/dist/services/memory/memory-search.js +55 -0
- package/dist/services/memory/memory-search.js.map +1 -0
- package/dist/services/memory/memory-store.d.ts +12 -0
- package/dist/services/memory/memory-store.d.ts.map +1 -1
- package/dist/services/memory/memory-store.js +14 -35
- package/dist/services/memory/memory-store.js.map +1 -1
- package/dist/services/mode-notices.d.ts +11 -0
- package/dist/services/mode-notices.d.ts.map +1 -1
- package/dist/services/mode-notices.js +37 -3
- package/dist/services/mode-notices.js.map +1 -1
- package/dist/services/queue/queue-controller.d.ts +13 -0
- package/dist/services/queue/queue-controller.d.ts.map +1 -1
- package/dist/services/queue/queue-controller.js +32 -1
- package/dist/services/queue/queue-controller.js.map +1 -1
- package/dist/services/retry/in-loop-model-retry.d.ts +12 -0
- package/dist/services/retry/in-loop-model-retry.d.ts.map +1 -0
- package/dist/services/retry/in-loop-model-retry.js +115 -0
- package/dist/services/retry/in-loop-model-retry.js.map +1 -0
- package/dist/services/retry/retry-classifier.d.ts.map +1 -1
- package/dist/services/retry/retry-classifier.js +18 -12
- package/dist/services/retry/retry-classifier.js.map +1 -1
- package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
- package/dist/services/retry/retry-error-classification.js +10 -6
- package/dist/services/retry/retry-error-classification.js.map +1 -1
- package/dist/services/retry/upstream-retry-policy.d.ts.map +1 -1
- package/dist/services/retry/upstream-retry-policy.js +40 -7
- package/dist/services/retry/upstream-retry-policy.js.map +1 -1
- package/dist/services/runtime-setting-router.d.ts.map +1 -1
- package/dist/services/runtime-setting-router.js +7 -2
- package/dist/services/runtime-setting-router.js.map +1 -1
- package/dist/services/session/background-check-in-scheduler.d.ts +44 -0
- package/dist/services/session/background-check-in-scheduler.d.ts.map +1 -0
- package/dist/services/session/background-check-in-scheduler.js +88 -0
- package/dist/services/session/background-check-in-scheduler.js.map +1 -0
- package/dist/services/session/background-task-control.js +4 -1
- package/dist/services/session/background-task-control.js.map +1 -1
- package/dist/services/session/initial-input-preparer.d.ts +2 -1
- package/dist/services/session/initial-input-preparer.d.ts.map +1 -1
- package/dist/services/session/initial-input-preparer.js +3 -1
- package/dist/services/session/initial-input-preparer.js.map +1 -1
- package/dist/services/session/repetition-detector.d.ts +0 -4
- package/dist/services/session/repetition-detector.d.ts.map +1 -1
- package/dist/services/session/repetition-detector.js +0 -7
- package/dist/services/session/repetition-detector.js.map +1 -1
- package/dist/services/session/session-composition.d.ts +6 -2
- package/dist/services/session/session-composition.d.ts.map +1 -1
- package/dist/services/session/session-composition.js +99 -29
- package/dist/services/session/session-composition.js.map +1 -1
- package/dist/services/session/session-lifecycle.d.ts +8 -0
- package/dist/services/session/session-lifecycle.d.ts.map +1 -1
- package/dist/services/session/session-lifecycle.js +4 -0
- package/dist/services/session/session-lifecycle.js.map +1 -1
- package/dist/services/session/session-stream-processor.d.ts.map +1 -1
- package/dist/services/session/session-stream-processor.js +5 -15
- package/dist/services/session/session-stream-processor.js.map +1 -1
- package/dist/services/session/turn-attempt-factory.d.ts +2 -1
- package/dist/services/session/turn-attempt-factory.d.ts.map +1 -1
- package/dist/services/session/turn-attempt-factory.js +1 -0
- package/dist/services/session/turn-attempt-factory.js.map +1 -1
- package/dist/services/session/turn-attempt.d.ts +3 -0
- package/dist/services/session/turn-attempt.d.ts.map +1 -1
- package/dist/services/session/turn-attempt.js +5 -0
- package/dist/services/session/turn-attempt.js.map +1 -1
- package/dist/services/session/turn-coordinator.d.ts +1 -1
- package/dist/services/session/turn-coordinator.d.ts.map +1 -1
- package/dist/services/session/turn-workflow.d.ts.map +1 -1
- package/dist/services/session/turn-workflow.js +4 -1
- package/dist/services/session/turn-workflow.js.map +1 -1
- package/dist/services/settings/settings-schema.d.ts +27 -3
- package/dist/services/settings/settings-schema.d.ts.map +1 -1
- package/dist/services/settings/settings-schema.js +35 -11
- package/dist/services/settings/settings-schema.js.map +1 -1
- package/dist/services/settings/settings-service.d.ts +9 -0
- package/dist/services/settings/settings-service.d.ts.map +1 -1
- package/dist/services/settings/settings-service.js +40 -0
- package/dist/services/settings/settings-service.js.map +1 -1
- package/dist/services/settings/settings-sources.d.ts.map +1 -1
- package/dist/services/settings/settings-sources.js +5 -0
- package/dist/services/settings/settings-sources.js.map +1 -1
- package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +2 -1
- package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
- package/dist/services/settings/test-helpers/settings-consumer-inventory.js +6 -0
- package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
- package/dist/services/shell/shell-interaction-session.d.ts +4 -5
- package/dist/services/shell/shell-interaction-session.d.ts.map +1 -1
- package/dist/services/shell/shell-interaction-session.js +8 -20
- package/dist/services/shell/shell-interaction-session.js.map +1 -1
- package/dist/services/stream-event-processor.d.ts.map +1 -1
- package/dist/services/stream-event-processor.js +15 -0
- package/dist/services/stream-event-processor.js.map +1 -1
- package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
- package/dist/services/subagents/mentor-runner.js +2 -0
- package/dist/services/subagents/mentor-runner.js.map +1 -1
- package/dist/services/subagents/nested-runner.d.ts.map +1 -1
- package/dist/services/subagents/nested-runner.js +34 -1
- package/dist/services/subagents/nested-runner.js.map +1 -1
- package/dist/services/subagents/subagent-async-registry.js +1 -1
- package/dist/services/subagents/subagent-async-registry.js.map +1 -1
- package/dist/services/subagents/subagent-notification-store.d.ts +28 -1
- package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
- package/dist/services/subagents/subagent-notification-store.js +11 -0
- package/dist/services/subagents/subagent-notification-store.js.map +1 -1
- package/dist/services/subagents/tool-policy.d.ts.map +1 -1
- package/dist/services/subagents/tool-policy.js +10 -5
- package/dist/services/subagents/tool-policy.js.map +1 -1
- package/dist/services/subagents/utils.d.ts +2 -0
- package/dist/services/subagents/utils.d.ts.map +1 -1
- package/dist/services/subagents/utils.js +29 -0
- package/dist/services/subagents/utils.js.map +1 -1
- package/dist/services/tool-execution-ledger.d.ts.map +1 -1
- package/dist/services/tool-execution-ledger.js +5 -1
- package/dist/services/tool-execution-ledger.js.map +1 -1
- package/dist/tools/agent/ask-user.d.ts.map +1 -1
- package/dist/tools/agent/ask-user.js +2 -0
- package/dist/tools/agent/ask-user.js.map +1 -1
- package/dist/tools/agent/run-subagent.d.ts.map +1 -1
- package/dist/tools/agent/run-subagent.js +40 -24
- package/dist/tools/agent/run-subagent.js.map +1 -1
- package/dist/tools/memory/memory-tools.d.ts.map +1 -1
- package/dist/tools/memory/memory-tools.js +322 -59
- package/dist/tools/memory/memory-tools.js.map +1 -1
- package/dist/tools/session-browser/session-browser-tools.d.ts +4 -0
- package/dist/tools/session-browser/session-browser-tools.d.ts.map +1 -0
- package/dist/tools/session-browser/session-browser-tools.js +47 -0
- package/dist/tools/session-browser/session-browser-tools.js.map +1 -0
- package/dist/tools/system/shell.d.ts.map +1 -1
- package/dist/tools/system/shell.js +7 -0
- package/dist/tools/system/shell.js.map +1 -1
- package/dist/tools/types.d.ts +4 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js.map +1 -1
- package/dist/utils/busy-turn-guard.d.ts +17 -0
- package/dist/utils/busy-turn-guard.d.ts.map +1 -0
- package/dist/utils/busy-turn-guard.js +24 -0
- package/dist/utils/busy-turn-guard.js.map +1 -0
- package/dist/utils/conversation/conversation-event-handler.d.ts.map +1 -1
- package/dist/utils/conversation/conversation-event-handler.js +28 -7
- package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
- package/dist/utils/output/bounded-json.d.ts +33 -0
- package/dist/utils/output/bounded-json.d.ts.map +1 -0
- package/dist/utils/output/bounded-json.js +59 -0
- package/dist/utils/output/bounded-json.js.map +1 -0
- package/dist/utils/output/output-trim.d.ts.map +1 -1
- package/dist/utils/output/output-trim.js +7 -7
- package/dist/utils/output/output-trim.js.map +1 -1
- package/dist/utils/output/text-snippet.d.ts +6 -0
- package/dist/utils/output/text-snippet.d.ts.map +1 -0
- package/dist/utils/output/text-snippet.js +106 -0
- package/dist/utils/output/text-snippet.js.map +1 -0
- package/dist/utils/resume-list.d.ts +3 -1
- package/dist/utils/resume-list.d.ts.map +1 -1
- package/dist/utils/resume-list.js +3 -2
- package/dist/utils/resume-list.js.map +1 -1
- package/dist/utils/settings-command.d.ts.map +1 -1
- package/dist/utils/settings-command.js +15 -0
- package/dist/utils/settings-command.js.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-policy.d.ts +2 -0
- package/dist/utils/shell/sandbox/sandbox-policy.d.ts.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-policy.js.map +1 -1
- package/dist/utils/shell/sandbox/shell-sandbox-runner.d.ts +1 -0
- package/dist/utils/shell/sandbox/shell-sandbox-runner.d.ts.map +1 -1
- package/dist/utils/shell/sandbox/shell-sandbox-runner.js +20 -1
- package/dist/utils/shell/sandbox/shell-sandbox-runner.js.map +1 -1
- package/dist/utils/value-suggestions.d.ts.map +1 -1
- package/dist/utils/value-suggestions.js +1 -0
- package/dist/utils/value-suggestions.js.map +1 -1
- package/package.json +4 -2
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Box, Text } from 'ink';
|
|
3
3
|
import { describeGroupFailures, summarizeCommandGroup } from './command-grouping.js';
|
|
4
|
-
|
|
5
|
-
const COLOR_ERROR = 'red';
|
|
4
|
+
import { COLOR_DANGER, COLOR_TEXT_MUTED, TOOL_STATUS_COLOR, TOOL_STATUS_GLYPH } from '../theme.js';
|
|
6
5
|
// A partly-failed run keeps a green marker and neutral summary: most of what it
|
|
7
6
|
// did succeeded, and painting the whole line red would claim otherwise. The red
|
|
8
7
|
// line underneath carries the bad news, and names the calls that failed so the
|
|
9
8
|
// count is actionable. Only an entirely-failed run turns red.
|
|
10
9
|
const MARKERS = {
|
|
11
|
-
completed: {
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
completed: {
|
|
11
|
+
marker: TOOL_STATUS_GLYPH.completed,
|
|
12
|
+
markerColor: TOOL_STATUS_COLOR.completed,
|
|
13
|
+
textColor: COLOR_TEXT_MUTED,
|
|
14
|
+
},
|
|
15
|
+
partial: {
|
|
16
|
+
marker: TOOL_STATUS_GLYPH.completed,
|
|
17
|
+
markerColor: TOOL_STATUS_COLOR.completed,
|
|
18
|
+
textColor: COLOR_TEXT_MUTED,
|
|
19
|
+
},
|
|
20
|
+
failed: { marker: TOOL_STATUS_GLYPH.failed, markerColor: TOOL_STATUS_COLOR.failed, textColor: COLOR_DANGER },
|
|
14
21
|
};
|
|
15
22
|
/** Concise-mode line(s) for a run of tool calls, e.g. "Searched for 1 pattern, read 3 files, ran 2 shell commands". */
|
|
16
23
|
const CommandGroupSummary = ({ members, status }) => {
|
|
@@ -23,8 +30,9 @@ const CommandGroupSummary = ({ members, status }) => {
|
|
|
23
30
|
' ',
|
|
24
31
|
summary),
|
|
25
32
|
failures !== '' && status !== 'failed' && (React.createElement(Box, { paddingLeft: 2 },
|
|
26
|
-
React.createElement(Text, { color:
|
|
27
|
-
|
|
33
|
+
React.createElement(Text, { color: COLOR_DANGER, wrap: "truncate" },
|
|
34
|
+
TOOL_STATUS_GLYPH.failed,
|
|
35
|
+
" ",
|
|
28
36
|
failures)))));
|
|
29
37
|
};
|
|
30
38
|
export default React.memo(CommandGroupSummary);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandGroupSummary.js","sourceRoot":"","sources":["../../../source/components/message/CommandGroupSummary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAyB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"CommandGroupSummary.js","sourceRoot":"","sources":["../../../source/components/message/CommandGroupSummary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAyB,MAAM,uBAAuB,CAAC;AAC5G,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAOnG,gFAAgF;AAChF,gFAAgF;AAChF,+EAA+E;AAC/E,8DAA8D;AAC9D,MAAM,OAAO,GAAwF;IACnG,SAAS,EAAE;QACT,MAAM,EAAE,iBAAiB,CAAC,SAAS;QACnC,WAAW,EAAE,iBAAiB,CAAC,SAAS;QACxC,SAAS,EAAE,gBAAgB;KAC5B;IACD,OAAO,EAAE;QACP,MAAM,EAAE,iBAAiB,CAAC,SAAS;QACnC,WAAW,EAAE,iBAAiB,CAAC,SAAS;QACxC,SAAS,EAAE,gBAAgB;KAC5B;IACD,MAAM,EAAE,EAAE,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE;CAC7G,CAAC;AAEF,uHAAuH;AACvH,MAAM,mBAAmB,GAAc,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;IAC7D,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3D,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;QACzB,oBAAC,IAAI,IAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAC,UAAU;YACrC,oBAAC,IAAI,IAAC,KAAK,EAAE,WAAW,EAAE,IAAI,UAC3B,MAAM,CACF;YAAC,GAAG;YACV,OAAO,CACH;QACN,QAAQ,KAAK,EAAE,IAAI,MAAM,KAAK,QAAQ,IAAI,CACzC,oBAAC,GAAG,IAAC,WAAW,EAAE,CAAC;YACjB,oBAAC,IAAI,IAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAC,UAAU;gBACvC,iBAAiB,CAAC,MAAM;;gBAAG,QAAQ,CAC/B,CACH,CACP,CACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandMessage.d.ts","sourceRoot":"","sources":["../../../source/components/message/CommandMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAIhE,OAAO,KAAK,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"CommandMessage.d.ts","sourceRoot":"","sources":["../../../source/components/message/CommandMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAIhE,OAAO,KAAK,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AA0DjF,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { Box, Text } from 'ink';
|
|
|
3
3
|
import { generateDiff } from '../../utils/output/diff.js';
|
|
4
4
|
import { TOOL_NAME_APPLY_PATCH, TOOL_NAME_CREATE_FILE, TOOL_NAME_SEARCH_REPLACE } from '../../tools/tool-names.js';
|
|
5
5
|
import { countDiffStats, extractErrorMessage, formatToolArgs, getFirstParagraph, getMatchCount, isSearchLikeTool, parseCodeOutlineOutput, parseFindFilesOutput, parseSubagentOutput, stripRgErrorLines, } from './command-message-helpers.js';
|
|
6
|
-
import { COLOR_TOOL_OUTPUT,
|
|
6
|
+
import { COLOR_ACCENT, COLOR_ACCENT_ALT, COLOR_DANGER, COLOR_TEXT, COLOR_TEXT_MUTED, COLOR_TEXT_SUBTLE, COLOR_TOOL_OUTPUT, COLOR_WARNING, TOOL_STATUS_COLOR, TOOL_STATUS_GLYPH, } from '../theme.js';
|
|
7
7
|
import DiffView from '../layout/DiffView.js';
|
|
8
8
|
import { useCommandVisibility } from './useCommandVisibility.js';
|
|
9
9
|
import ReadFileRenderer from './ReadFileRenderer.js';
|
|
@@ -12,16 +12,6 @@ import WebSearchRenderer from './WebSearchRenderer.js';
|
|
|
12
12
|
import WebFetchRenderer from './WebFetchRenderer.js';
|
|
13
13
|
import CodeContextSearchRenderer from './CodeContextSearchRenderer.js';
|
|
14
14
|
import MemoryRenderer from './MemoryRenderer.js';
|
|
15
|
-
// --- Command Message Theme Colors ---
|
|
16
|
-
// Customize these values to change the color scheme per theme.
|
|
17
|
-
const COLOR_ERROR = 'red';
|
|
18
|
-
const COLOR_SUCCESS = '#A0A0A0';
|
|
19
|
-
const COLOR_WARNING = 'yellow';
|
|
20
|
-
const COLOR_INFO = 'cyan';
|
|
21
|
-
const COLOR_MUTED = 'gray';
|
|
22
|
-
const COLOR_CONTENT = 'white';
|
|
23
|
-
const COLOR_LINK = 'blue';
|
|
24
|
-
const COLOR_SPECIAL = 'magenta';
|
|
25
15
|
const useRunningElapsedSeconds = (isRunning) => {
|
|
26
16
|
const [elapsedSeconds, setElapsedSeconds] = useState(0);
|
|
27
17
|
useEffect(() => {
|
|
@@ -58,10 +48,11 @@ const getConciseAskUserResponse = (output) => {
|
|
|
58
48
|
};
|
|
59
49
|
const CommandMessage = ({ command, output: rawOutput, status, success, failureReason, toolName, toolArgs, isApprovalRejection, autoApprovedByLlm, hadApproval, displayMode = 'standard', textColor, isSubagent = false, awaitingDecision = false, }) => {
|
|
60
50
|
const { isVisible, isRunning } = useCommandVisibility(status);
|
|
61
|
-
const isWaiting =
|
|
51
|
+
const isWaiting = awaitingDecision;
|
|
52
|
+
const isQueued = status === 'pending' && !awaitingDecision;
|
|
62
53
|
const isExecuting = isRunning && !awaitingDecision;
|
|
63
54
|
const runningElapsedSeconds = useRunningElapsedSeconds(isExecuting);
|
|
64
|
-
const runningElapsedLabel = isWaiting ? (React.createElement(Text, { color:
|
|
55
|
+
const runningElapsedLabel = isWaiting ? (React.createElement(Text, { color: COLOR_TEXT_SUBTLE }, " (waiting)")) : isQueued ? (React.createElement(Text, { color: COLOR_TEXT_SUBTLE }, " (queued)")) : isExecuting ? (React.createElement(Text, { color: COLOR_WARNING },
|
|
65
56
|
" (",
|
|
66
57
|
runningElapsedSeconds,
|
|
67
58
|
"s)")) : null;
|
|
@@ -108,10 +99,8 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
|
|
|
108
99
|
const isShell = !toolName || toolName === 'shell';
|
|
109
100
|
if (isShell) {
|
|
110
101
|
return (React.createElement(React.Fragment, null,
|
|
111
|
-
React.createElement(Text, { color: COLOR_MUTED }, "$"),
|
|
112
|
-
" ",
|
|
113
102
|
React.createElement(Text, { bold: true }, command),
|
|
114
|
-
runtime && React.createElement(Text, { color:
|
|
103
|
+
runtime && React.createElement(Text, { color: COLOR_TEXT_SUBTLE },
|
|
115
104
|
" (",
|
|
116
105
|
runtime,
|
|
117
106
|
")")));
|
|
@@ -120,6 +109,7 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
|
|
|
120
109
|
toolName === 'background_shell_notification' ||
|
|
121
110
|
toolName === 'background_shell_output_notification' ||
|
|
122
111
|
toolName === 'background_task_control_notification' ||
|
|
112
|
+
toolName === 'background_check_in_notification' ||
|
|
123
113
|
!formattedArgs
|
|
124
114
|
? ''
|
|
125
115
|
: ` ${formattedArgs}`;
|
|
@@ -272,41 +262,59 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
|
|
|
272
262
|
}
|
|
273
263
|
return renderAction('Background task control updated');
|
|
274
264
|
}
|
|
265
|
+
case 'background_check_in_notification': {
|
|
266
|
+
const checkIns = Array.isArray(toolArgs?.checkIns) ? toolArgs.checkIns : [];
|
|
267
|
+
if (checkIns.length === 1) {
|
|
268
|
+
const [{ target, checkInIndex }] = checkIns;
|
|
269
|
+
const label = target?.kind === 'subagent'
|
|
270
|
+
? `background subagent ${target.id ?? 'run'}`
|
|
271
|
+
: `background shell ${target?.id ?? 'job'}`;
|
|
272
|
+
const prefix = typeof checkInIndex === 'number' ? `Check-in #${checkInIndex}` : 'Check-in';
|
|
273
|
+
return renderAction(`${prefix} on ${label}`);
|
|
274
|
+
}
|
|
275
|
+
return renderAction(`Background check-in (${checkIns.length || 'task'})`);
|
|
276
|
+
}
|
|
275
277
|
case 'memory_list':
|
|
276
278
|
return renderAction('Listed memories');
|
|
277
279
|
case 'memory_get':
|
|
278
280
|
return renderAction('Retrieved memory');
|
|
279
281
|
case 'memory_search':
|
|
280
282
|
return renderAction('Searched memories');
|
|
283
|
+
case 'memory_retrieve':
|
|
284
|
+
return renderAction('Retrieved relevant memories');
|
|
281
285
|
case 'memory_create':
|
|
282
286
|
return renderAction('Saved memory');
|
|
283
287
|
case 'memory_update':
|
|
284
288
|
return renderAction('Updated memory');
|
|
285
289
|
case 'memory_delete':
|
|
286
290
|
return renderAction('Deleted memory');
|
|
291
|
+
case 'session_list':
|
|
292
|
+
return renderAction('Listed prior sessions');
|
|
293
|
+
case 'session_search':
|
|
294
|
+
return renderAction('Searched prior sessions');
|
|
295
|
+
case 'session_read':
|
|
296
|
+
return renderAction('Read prior session');
|
|
287
297
|
default:
|
|
288
|
-
return (
|
|
289
|
-
React.createElement(Text, { dimColor: true },
|
|
290
|
-
"[",
|
|
291
|
-
toolName,
|
|
292
|
-
"]"),
|
|
293
|
-
React.createElement(Text, null, argsText)));
|
|
298
|
+
return renderAction(toolName || 'Ran tool');
|
|
294
299
|
}
|
|
295
300
|
// Depend on the whole `toolArgs`, not `toolArgs?.runs`: the React Compiler infers the
|
|
296
301
|
// former and refuses to preserve the memo when the declared deps are narrower.
|
|
297
302
|
}, [toolName, command, runtime, formattedArgs, toolArgs, isBackgroundSubagentLaunch]);
|
|
298
303
|
const renderStandardHeader = () => {
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
304
|
+
// isApprovalRejection carries no `success` value of its own — it is a distinct
|
|
305
|
+
// outcome from a normal failed run — so it is checked first and maps to the
|
|
306
|
+
// same 'failed' glyph/color as success === false.
|
|
307
|
+
const statusKind = isApprovalRejection || success === false
|
|
308
|
+
? 'failed'
|
|
309
|
+
: isWaiting || isQueued
|
|
310
|
+
? 'pending'
|
|
311
|
+
: isRunning
|
|
312
|
+
? 'running'
|
|
313
|
+
: 'completed';
|
|
314
|
+
const headerColor = TOOL_STATUS_COLOR[statusKind];
|
|
307
315
|
return (React.createElement(Box, null,
|
|
308
316
|
React.createElement(Text, { color: headerColor },
|
|
309
|
-
|
|
317
|
+
TOOL_STATUS_GLYPH[statusKind],
|
|
310
318
|
" ",
|
|
311
319
|
displayAction,
|
|
312
320
|
runningElapsedLabel)));
|
|
@@ -328,11 +336,11 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
|
|
|
328
336
|
const changeStatsElement = changeStats ? (React.createElement(React.Fragment, null,
|
|
329
337
|
' ',
|
|
330
338
|
"(",
|
|
331
|
-
React.createElement(Text, { color:
|
|
339
|
+
React.createElement(Text, { color: COLOR_TEXT_MUTED },
|
|
332
340
|
"+",
|
|
333
341
|
changeStats.added),
|
|
334
|
-
|
|
335
|
-
React.createElement(Text, { color:
|
|
342
|
+
' ',
|
|
343
|
+
React.createElement(Text, { color: COLOR_DANGER },
|
|
336
344
|
"-",
|
|
337
345
|
changeStats.removed),
|
|
338
346
|
")")) : null;
|
|
@@ -341,18 +349,18 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
|
|
|
341
349
|
return 0;
|
|
342
350
|
if (!isSearchLikeTool(toolName, command))
|
|
343
351
|
return 0;
|
|
344
|
-
if (isRunning || isApprovalRejection)
|
|
352
|
+
if (isRunning || isQueued || isApprovalRejection)
|
|
345
353
|
return 0;
|
|
346
354
|
return getMatchCount(toolName, command, output);
|
|
347
|
-
}, [displayMode, toolName, command, isRunning, isApprovalRejection, output]);
|
|
355
|
+
}, [displayMode, toolName, command, isRunning, isQueued, isApprovalRejection, output]);
|
|
348
356
|
const matchCountElement = matchCount > 0 ? (React.createElement(Box, { paddingLeft: 2 },
|
|
349
|
-
React.createElement(Text, { color:
|
|
357
|
+
React.createElement(Text, { color: COLOR_TEXT_SUBTLE },
|
|
350
358
|
"(",
|
|
351
359
|
matchCount,
|
|
352
360
|
" match",
|
|
353
361
|
matchCount !== 1 ? 'es' : '',
|
|
354
362
|
")"))) : null;
|
|
355
|
-
const autoApprovalLabel = autoApprovedByLlm ? React.createElement(Text, { color:
|
|
363
|
+
const autoApprovalLabel = autoApprovedByLlm ? React.createElement(Text, { color: COLOR_TEXT_SUBTLE }, "(Auto approved by LLM)") : null;
|
|
356
364
|
if (!isVisible && !isSubagent) {
|
|
357
365
|
return null;
|
|
358
366
|
}
|
|
@@ -363,30 +371,37 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
|
|
|
363
371
|
isApprovalRejection ||
|
|
364
372
|
success === false ||
|
|
365
373
|
Boolean(failureReason);
|
|
366
|
-
const
|
|
374
|
+
const subagentStatusKind = isFailed
|
|
375
|
+
? 'failed'
|
|
376
|
+
: isWaiting || isQueued
|
|
377
|
+
? 'pending'
|
|
378
|
+
: isRunning
|
|
379
|
+
? 'running'
|
|
380
|
+
: 'completed';
|
|
367
381
|
const actionText = isFailed ? command : displayAction;
|
|
368
382
|
return (React.createElement(Box, null,
|
|
369
|
-
React.createElement(Text, { wrap: "truncate", color:
|
|
370
|
-
|
|
371
|
-
|
|
383
|
+
React.createElement(Text, { wrap: "truncate", color: COLOR_TEXT_SUBTLE },
|
|
384
|
+
React.createElement(Text, { color: TOOL_STATUS_COLOR[subagentStatusKind] }, TOOL_STATUS_GLYPH[subagentStatusKind]),
|
|
385
|
+
' ',
|
|
372
386
|
actionText,
|
|
373
|
-
|
|
387
|
+
runningElapsedLabel)));
|
|
374
388
|
}
|
|
375
389
|
if (isApprovalRejection) {
|
|
376
390
|
return (React.createElement(Box, { flexDirection: "column" },
|
|
377
|
-
React.createElement(Text, { color: textColor ||
|
|
378
|
-
React.createElement(Text, { color:
|
|
391
|
+
React.createElement(Text, { color: textColor || COLOR_TEXT_MUTED },
|
|
392
|
+
React.createElement(Text, { color: TOOL_STATUS_COLOR.rejected, bold: true }, TOOL_STATUS_GLYPH.rejected),
|
|
379
393
|
' ',
|
|
380
394
|
displayAction,
|
|
381
395
|
changeStatsElement),
|
|
382
|
-
React.createElement(Text, { color: textColor ||
|
|
396
|
+
React.createElement(Text, { color: textColor || COLOR_TEXT_MUTED },
|
|
383
397
|
" \u2192 DENIED: ",
|
|
384
398
|
denialReason)));
|
|
385
399
|
}
|
|
386
|
-
if (isRunning) {
|
|
400
|
+
if (isRunning || isQueued || isWaiting) {
|
|
401
|
+
const inFlightStatusKind = isWaiting || isQueued ? 'pending' : 'running';
|
|
387
402
|
return (React.createElement(Box, null,
|
|
388
|
-
React.createElement(Text, { color:
|
|
389
|
-
React.createElement(Text, { bold: true },
|
|
403
|
+
React.createElement(Text, { color: TOOL_STATUS_COLOR[inFlightStatusKind] },
|
|
404
|
+
React.createElement(Text, { bold: true }, TOOL_STATUS_GLYPH[inFlightStatusKind]),
|
|
390
405
|
" ",
|
|
391
406
|
displayAction,
|
|
392
407
|
runningElapsedLabel,
|
|
@@ -410,47 +425,47 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
|
|
|
410
425
|
return displayErrorMsg;
|
|
411
426
|
})();
|
|
412
427
|
return (React.createElement(Box, { flexDirection: "column" },
|
|
413
|
-
React.createElement(Text, { color: textColor ||
|
|
414
|
-
React.createElement(Text, { color:
|
|
428
|
+
React.createElement(Text, { color: textColor || COLOR_TEXT_MUTED },
|
|
429
|
+
React.createElement(Text, { color: TOOL_STATUS_COLOR.failed, bold: true }, TOOL_STATUS_GLYPH.failed),
|
|
415
430
|
' ',
|
|
416
431
|
displayAction,
|
|
417
432
|
changeStatsElement),
|
|
418
433
|
matchCountElement,
|
|
419
|
-
matchCount === 0 && React.createElement(Text, { color: textColor ||
|
|
434
|
+
matchCount === 0 && React.createElement(Text, { color: textColor || COLOR_TEXT_MUTED }, truncatedError)));
|
|
420
435
|
}
|
|
421
436
|
// Success (one line)
|
|
422
437
|
if (toolName === 'ask_user') {
|
|
423
438
|
const responseText = getConciseAskUserResponse(output);
|
|
424
439
|
return (React.createElement(Box, { flexDirection: "column" },
|
|
425
|
-
React.createElement(Text, { color: textColor ||
|
|
426
|
-
React.createElement(Text, { color:
|
|
440
|
+
React.createElement(Text, { color: textColor || COLOR_TEXT_MUTED },
|
|
441
|
+
React.createElement(Text, { color: TOOL_STATUS_COLOR.completed, bold: true }, TOOL_STATUS_GLYPH.completed),
|
|
427
442
|
' ',
|
|
428
443
|
displayAction),
|
|
429
|
-
React.createElement(Text, { color: textColor ||
|
|
444
|
+
React.createElement(Text, { color: textColor || COLOR_TEXT_MUTED },
|
|
430
445
|
" Response: ",
|
|
431
446
|
responseText)));
|
|
432
447
|
}
|
|
433
448
|
if (toolName === 'ask_mentor') {
|
|
434
449
|
const firstParagraph = getFirstParagraph(output, 200);
|
|
435
450
|
return (React.createElement(Box, { flexDirection: "column" },
|
|
436
|
-
React.createElement(Text, { color: textColor ||
|
|
437
|
-
React.createElement(Text, { color:
|
|
451
|
+
React.createElement(Text, { color: textColor || COLOR_TEXT_MUTED },
|
|
452
|
+
React.createElement(Text, { color: TOOL_STATUS_COLOR.completed, bold: true }, TOOL_STATUS_GLYPH.completed),
|
|
438
453
|
' ',
|
|
439
454
|
displayAction),
|
|
440
|
-
React.createElement(Text, { color: textColor ||
|
|
455
|
+
React.createElement(Text, { color: textColor || COLOR_TEXT_MUTED },
|
|
441
456
|
" Response: ",
|
|
442
457
|
firstParagraph)));
|
|
443
458
|
}
|
|
444
459
|
return (React.createElement(Box, { flexDirection: "column" },
|
|
445
|
-
React.createElement(Text, { color: textColor ||
|
|
446
|
-
React.createElement(Text, { color:
|
|
460
|
+
React.createElement(Text, { color: textColor || COLOR_TEXT_MUTED },
|
|
461
|
+
React.createElement(Text, { color: TOOL_STATUS_COLOR.completed, bold: true }, TOOL_STATUS_GLYPH.completed),
|
|
447
462
|
' ',
|
|
448
463
|
displayAction,
|
|
449
464
|
changeStatsElement),
|
|
450
465
|
matchCountElement,
|
|
451
466
|
autoApprovalLabel));
|
|
452
467
|
}
|
|
453
|
-
const outputText = output?.trim() ? output : isRunning ? '(running...)' : '(no output)';
|
|
468
|
+
const outputText = output?.trim() ? output : isRunning ? '(running...)' : isQueued ? '(queued)' : '(no output)';
|
|
454
469
|
const displayed = outputText && outputText !== '(no output)'
|
|
455
470
|
? (() => {
|
|
456
471
|
const trimmedOutput = (output || '').trimEnd();
|
|
@@ -468,41 +483,41 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
|
|
|
468
483
|
if (toolName === TOOL_NAME_APPLY_PATCH && toolArgs) {
|
|
469
484
|
if (hadApproval) {
|
|
470
485
|
return (React.createElement(Box, { flexDirection: "column" },
|
|
471
|
-
React.createElement(Text, { color: success === false ?
|
|
486
|
+
React.createElement(Text, { color: success === false ? COLOR_DANGER : COLOR_TOOL_OUTPUT }, displayed)));
|
|
472
487
|
}
|
|
473
488
|
return (React.createElement(Box, { flexDirection: "column" },
|
|
474
489
|
renderStandardHeader(),
|
|
475
490
|
toolArgs.diff && success !== false && React.createElement(DiffView, { diff: toolArgs.diff }),
|
|
476
|
-
failureReason && React.createElement(Text, { color:
|
|
491
|
+
failureReason && React.createElement(Text, { color: COLOR_DANGER },
|
|
477
492
|
"Error: ",
|
|
478
493
|
failureReason),
|
|
479
|
-
React.createElement(Text, { color: success === false ?
|
|
494
|
+
React.createElement(Text, { color: success === false ? COLOR_DANGER : COLOR_TOOL_OUTPUT }, displayed)));
|
|
480
495
|
}
|
|
481
496
|
// Special handling for search_replace
|
|
482
497
|
if (toolName === TOOL_NAME_SEARCH_REPLACE && toolArgs) {
|
|
483
498
|
// For search_replace that had an approval prompt (user said 'y'), only show output
|
|
484
499
|
if (hadApproval) {
|
|
485
500
|
return (React.createElement(Box, { flexDirection: "column" },
|
|
486
|
-
React.createElement(Text, { color: success === false ?
|
|
501
|
+
React.createElement(Text, { color: success === false ? COLOR_DANGER : COLOR_TOOL_OUTPUT }, displayed)));
|
|
487
502
|
}
|
|
488
503
|
// For auto-approved search_replace (no approval prompt), show diff + output
|
|
489
504
|
return (React.createElement(Box, { flexDirection: "column" },
|
|
490
505
|
renderStandardHeader(),
|
|
491
506
|
React.createElement(DiffView, { diff: diff }),
|
|
492
|
-
failureReason && React.createElement(Text, { color:
|
|
507
|
+
failureReason && React.createElement(Text, { color: COLOR_DANGER },
|
|
493
508
|
"Error: ",
|
|
494
509
|
failureReason),
|
|
495
|
-
React.createElement(Text, { color: success === false ?
|
|
510
|
+
React.createElement(Text, { color: success === false ? COLOR_DANGER : COLOR_TOOL_OUTPUT }, displayed)));
|
|
496
511
|
}
|
|
497
512
|
// Special handling for create_file
|
|
498
513
|
if (toolName === TOOL_NAME_CREATE_FILE && toolArgs) {
|
|
499
514
|
return (React.createElement(Box, { flexDirection: "column" },
|
|
500
515
|
renderStandardHeader(),
|
|
501
516
|
success !== false && React.createElement(DiffView, { diff: createFileDiffLines }),
|
|
502
|
-
failureReason && React.createElement(Text, { color:
|
|
517
|
+
failureReason && React.createElement(Text, { color: COLOR_DANGER },
|
|
503
518
|
"Error: ",
|
|
504
519
|
failureReason),
|
|
505
|
-
React.createElement(Text, { color: success === false ?
|
|
520
|
+
React.createElement(Text, { color: success === false ? COLOR_DANGER : COLOR_TOOL_OUTPUT }, displayed)));
|
|
506
521
|
}
|
|
507
522
|
if ((toolName === 'run_subagent_async' || isBackgroundSubagentLaunch) && success === false) {
|
|
508
523
|
let launchError = output;
|
|
@@ -516,10 +531,10 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
|
|
|
516
531
|
return (React.createElement(Box, { flexDirection: "column" },
|
|
517
532
|
renderStandardHeader(),
|
|
518
533
|
React.createElement(Box, { paddingLeft: 2, marginTop: 0.5 },
|
|
519
|
-
React.createElement(Text, { color:
|
|
534
|
+
React.createElement(Text, { color: COLOR_DANGER }, launchError))));
|
|
520
535
|
}
|
|
521
536
|
// Standard mode custom tool renderers
|
|
522
|
-
if (displayMode === 'standard' && success !== false && !failureReason && !isRunning) {
|
|
537
|
+
if (displayMode === 'standard' && success !== false && !failureReason && !isRunning && !isQueued && !isWaiting) {
|
|
523
538
|
if (toolName === 'read_file' || toolName === 'view_file') {
|
|
524
539
|
const result = ReadFileRenderer({ output, renderStandardHeader });
|
|
525
540
|
if (result)
|
|
@@ -545,17 +560,17 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
|
|
|
545
560
|
const parsed = parseSubagentOutput(output, toolArgs);
|
|
546
561
|
if (parsed) {
|
|
547
562
|
const { role: _role, status, toolsUsed, filesChanged, mainText } = parsed;
|
|
548
|
-
const _statusColor = status === 'completed' ?
|
|
563
|
+
const _statusColor = status === 'completed' ? COLOR_TEXT_MUTED : status === 'failed' ? COLOR_DANGER : COLOR_WARNING;
|
|
549
564
|
return (React.createElement(Box, { flexDirection: "column" },
|
|
550
565
|
renderStandardHeader(),
|
|
551
566
|
(toolsUsed || filesChanged) && (React.createElement(Box, { flexDirection: "column", paddingLeft: 2, marginY: 0.5 },
|
|
552
|
-
toolsUsed && (React.createElement(Text, { color:
|
|
567
|
+
toolsUsed && (React.createElement(Text, { color: COLOR_TEXT_SUBTLE },
|
|
553
568
|
"Tools: ",
|
|
554
|
-
React.createElement(Text, { color:
|
|
555
|
-
filesChanged && (React.createElement(Text, { color:
|
|
569
|
+
React.createElement(Text, { color: COLOR_TEXT }, toolsUsed))),
|
|
570
|
+
filesChanged && (React.createElement(Text, { color: COLOR_TEXT_SUBTLE },
|
|
556
571
|
"Changed: ",
|
|
557
|
-
React.createElement(Text, { color:
|
|
558
|
-
mainText && (React.createElement(Box, { flexDirection: "column", borderStyle: "single", borderColor:
|
|
572
|
+
React.createElement(Text, { color: COLOR_TEXT }, filesChanged))))),
|
|
573
|
+
mainText && (React.createElement(Box, { flexDirection: "column", borderStyle: "single", borderColor: COLOR_ACCENT, paddingX: 1, marginTop: 1 },
|
|
559
574
|
React.createElement(Text, { color: COLOR_TOOL_OUTPUT }, mainText)))));
|
|
560
575
|
}
|
|
561
576
|
}
|
|
@@ -572,8 +587,8 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
|
|
|
572
587
|
return (React.createElement(Box, { flexDirection: "column" },
|
|
573
588
|
renderStandardHeader(),
|
|
574
589
|
React.createElement(Box, { paddingLeft: 2, marginTop: 0.5 },
|
|
575
|
-
React.createElement(Text, { color:
|
|
576
|
-
React.createElement(Text, { color:
|
|
590
|
+
React.createElement(Text, { color: COLOR_TEXT_SUBTLE }, "RunId: "),
|
|
591
|
+
React.createElement(Text, { color: COLOR_TEXT_MUTED }, runId || output))));
|
|
577
592
|
}
|
|
578
593
|
if (toolName === 'web_search') {
|
|
579
594
|
const result = WebSearchRenderer({ output, renderStandardHeader });
|
|
@@ -588,8 +603,8 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
|
|
|
588
603
|
if (toolName === 'ask_mentor') {
|
|
589
604
|
return (React.createElement(Box, { flexDirection: "column" },
|
|
590
605
|
renderStandardHeader(),
|
|
591
|
-
React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor:
|
|
592
|
-
React.createElement(Text, { color:
|
|
606
|
+
React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: COLOR_ACCENT_ALT, paddingX: 1, marginTop: 1 },
|
|
607
|
+
React.createElement(Text, { color: COLOR_ACCENT_ALT, bold: true }, "Mentor Response"),
|
|
593
608
|
React.createElement(Text, { color: COLOR_TOOL_OUTPUT }, output))));
|
|
594
609
|
}
|
|
595
610
|
if (toolName === 'ask_user') {
|
|
@@ -597,16 +612,16 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
|
|
|
597
612
|
return (React.createElement(Box, { flexDirection: "column" },
|
|
598
613
|
renderStandardHeader(),
|
|
599
614
|
options && Array.isArray(options) && options.length > 0 && (React.createElement(Box, { paddingLeft: 2, marginY: 0.5 },
|
|
600
|
-
React.createElement(Text, { color:
|
|
601
|
-
options.map((opt, idx) => (React.createElement(Text, { key: idx, color: idx === 0 ?
|
|
615
|
+
React.createElement(Text, { color: COLOR_TEXT_SUBTLE }, "Options: "),
|
|
616
|
+
options.map((opt, idx) => (React.createElement(Text, { key: idx, color: idx === 0 ? COLOR_TEXT_MUTED : COLOR_TEXT },
|
|
602
617
|
idx > 0 ? ', ' : '',
|
|
603
618
|
"[",
|
|
604
619
|
opt,
|
|
605
620
|
"]",
|
|
606
621
|
idx === 0 ? ' (Recommended)' : ''))))),
|
|
607
622
|
React.createElement(Box, { paddingLeft: 2, marginTop: 0.5 },
|
|
608
|
-
React.createElement(Text, { color:
|
|
609
|
-
React.createElement(Text, { color:
|
|
623
|
+
React.createElement(Text, { color: COLOR_TEXT_SUBTLE }, "Response: "),
|
|
624
|
+
React.createElement(Text, { color: COLOR_TEXT_MUTED, bold: true }, output || 'No response yet'))));
|
|
610
625
|
}
|
|
611
626
|
if (toolName === 'read_code_outline') {
|
|
612
627
|
const parsed = parseCodeOutlineOutput(output);
|
|
@@ -621,13 +636,13 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
|
|
|
621
636
|
"\u2022 ",
|
|
622
637
|
imp))))),
|
|
623
638
|
exports && exports.length > 0 && (React.createElement(Box, { flexDirection: "column", marginBottom: 1, paddingLeft: 2 },
|
|
624
|
-
React.createElement(Text, { color:
|
|
639
|
+
React.createElement(Text, { color: COLOR_TEXT_MUTED, bold: true }, "Exports:"),
|
|
625
640
|
exports.map((exp, idx) => (React.createElement(Text, { key: idx, color: COLOR_TOOL_OUTPUT },
|
|
626
641
|
' ',
|
|
627
642
|
"\u2022 ",
|
|
628
643
|
exp))))),
|
|
629
644
|
decls && decls.length > 0 && (React.createElement(Box, { flexDirection: "column", paddingLeft: 2 },
|
|
630
|
-
React.createElement(Text, { color:
|
|
645
|
+
React.createElement(Text, { color: COLOR_ACCENT, bold: true }, "Declarations:"),
|
|
631
646
|
decls.map((decl, idx) => (React.createElement(Text, { key: idx, color: COLOR_TOOL_OUTPUT },
|
|
632
647
|
' ',
|
|
633
648
|
"\u2022 ",
|
|
@@ -640,7 +655,12 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
|
|
|
640
655
|
return result;
|
|
641
656
|
}
|
|
642
657
|
if (toolName && toolName.startsWith('memory_')) {
|
|
643
|
-
const result = MemoryRenderer({
|
|
658
|
+
const result = MemoryRenderer({
|
|
659
|
+
output,
|
|
660
|
+
toolName,
|
|
661
|
+
query: typeof toolArgs?.query === 'string' ? toolArgs.query : undefined,
|
|
662
|
+
renderStandardHeader,
|
|
663
|
+
});
|
|
644
664
|
if (result)
|
|
645
665
|
return result;
|
|
646
666
|
}
|
|
@@ -650,16 +670,16 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
|
|
|
650
670
|
if (isApprovalRejection) {
|
|
651
671
|
return (React.createElement(Box, { flexDirection: "column" },
|
|
652
672
|
renderStandardHeader(),
|
|
653
|
-
React.createElement(Text, { color:
|
|
673
|
+
React.createElement(Text, { color: COLOR_DANGER },
|
|
654
674
|
"\u2192 DENIED: ",
|
|
655
675
|
denialReason)));
|
|
656
676
|
}
|
|
657
677
|
return (React.createElement(Box, { flexDirection: "column" },
|
|
658
678
|
renderStandardHeader(),
|
|
659
|
-
failureReason && React.createElement(Text, { color:
|
|
679
|
+
failureReason && React.createElement(Text, { color: COLOR_DANGER },
|
|
660
680
|
"Error: ",
|
|
661
681
|
failureReason),
|
|
662
|
-
React.createElement(Text, { color: success === false ?
|
|
682
|
+
React.createElement(Text, { color: success === false ? COLOR_DANGER : COLOR_TOOL_OUTPUT }, displayed),
|
|
663
683
|
autoApprovalLabel));
|
|
664
684
|
};
|
|
665
685
|
export default React.memo(CommandMessage);
|