@qduc/term2 0.6.0 → 0.7.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 +9 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +139 -68
- package/dist/agent.js.map +1 -1
- package/dist/agent.test.js +179 -16
- package/dist/agent.test.js.map +1 -1
- package/dist/app.d.ts +16 -3
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +186 -23
- package/dist/app.js.map +1 -1
- package/dist/app.large-uncached-warning.test.d.ts +2 -0
- package/dist/app.large-uncached-warning.test.d.ts.map +1 -0
- package/dist/app.large-uncached-warning.test.js +15 -0
- package/dist/app.large-uncached-warning.test.js.map +1 -0
- package/dist/app.startup-banner.test.js +3 -19
- package/dist/app.startup-banner.test.js.map +1 -1
- package/dist/cli.js +170 -71
- package/dist/cli.js.map +1 -1
- package/dist/components/Banner.d.ts.map +1 -1
- package/dist/components/Banner.js +35 -17
- package/dist/components/Banner.js.map +1 -1
- package/dist/components/BottomArea.d.ts +7 -1
- package/dist/components/BottomArea.d.ts.map +1 -1
- package/dist/components/BottomArea.js +8 -6
- package/dist/components/BottomArea.js.map +1 -1
- package/dist/components/BottomArea.test.js +14 -1
- package/dist/components/BottomArea.test.js.map +1 -1
- package/dist/components/CommandMessage.d.ts.map +1 -1
- package/dist/components/CommandMessage.js +31 -1
- package/dist/components/CommandMessage.js.map +1 -1
- package/dist/components/CommandMessage.test.js +150 -31
- package/dist/components/CommandMessage.test.js.map +1 -1
- package/dist/components/Common/MenuContainer.d.ts +20 -0
- package/dist/components/Common/MenuContainer.d.ts.map +1 -0
- package/dist/components/Common/MenuContainer.js +52 -0
- package/dist/components/Common/MenuContainer.js.map +1 -0
- package/dist/components/Common/ScrollableTabBar.d.ts +26 -0
- package/dist/components/Common/ScrollableTabBar.d.ts.map +1 -0
- package/dist/components/Common/ScrollableTabBar.js +26 -0
- package/dist/components/Common/ScrollableTabBar.js.map +1 -0
- package/dist/components/Common/compute-visible-tabs.d.ts +16 -0
- package/dist/components/Common/compute-visible-tabs.d.ts.map +1 -0
- package/dist/components/Common/compute-visible-tabs.js +53 -0
- package/dist/components/Common/compute-visible-tabs.js.map +1 -0
- package/dist/components/Common/compute-visible-tabs.test.d.ts +2 -0
- package/dist/components/Common/compute-visible-tabs.test.d.ts.map +1 -0
- package/dist/components/Common/compute-visible-tabs.test.js +97 -0
- package/dist/components/Common/compute-visible-tabs.test.js.map +1 -0
- package/dist/components/HandoffConfirmationPrompt.d.ts +9 -0
- package/dist/components/HandoffConfirmationPrompt.d.ts.map +1 -0
- package/dist/components/HandoffConfirmationPrompt.js +38 -0
- package/dist/components/HandoffConfirmationPrompt.js.map +1 -0
- package/dist/components/HandoffConfirmationPrompt.test.d.ts +2 -0
- package/dist/components/HandoffConfirmationPrompt.test.d.ts.map +1 -0
- package/dist/components/HandoffConfirmationPrompt.test.js +12 -0
- package/dist/components/HandoffConfirmationPrompt.test.js.map +1 -0
- package/dist/components/Input/PopupManager.d.ts +5 -1
- package/dist/components/Input/PopupManager.d.ts.map +1 -1
- package/dist/components/Input/PopupManager.js +2 -2
- package/dist/components/Input/PopupManager.js.map +1 -1
- package/dist/components/Input/popup-key-navigation.js +2 -2
- package/dist/components/Input/popup-key-navigation.js.map +1 -1
- package/dist/components/Input/popup-key-navigation.test.js +5 -3
- package/dist/components/Input/popup-key-navigation.test.js.map +1 -1
- package/dist/components/Input/popup-props.d.ts.map +1 -1
- package/dist/components/Input/popup-props.js +4 -0
- package/dist/components/Input/popup-props.js.map +1 -1
- package/dist/components/Input/popup-props.test.d.ts +2 -0
- package/dist/components/Input/popup-props.test.d.ts.map +1 -0
- package/dist/components/Input/popup-props.test.js +70 -0
- package/dist/components/Input/popup-props.test.js.map +1 -0
- package/dist/components/InputBox.d.ts +0 -1
- package/dist/components/InputBox.d.ts.map +1 -1
- package/dist/components/InputBox.js +66 -14
- package/dist/components/InputBox.js.map +1 -1
- package/dist/components/InputBox.test.js +192 -12
- package/dist/components/InputBox.test.js.map +1 -1
- package/dist/components/MessageList.d.ts +1 -0
- package/dist/components/MessageList.d.ts.map +1 -1
- package/dist/components/MessageList.js.map +1 -1
- package/dist/components/ModelSelectionMenu.d.ts.map +1 -1
- package/dist/components/ModelSelectionMenu.debug.test.d.ts +2 -0
- package/dist/components/ModelSelectionMenu.debug.test.d.ts.map +1 -0
- package/dist/components/ModelSelectionMenu.debug.test.js.map +1 -0
- package/dist/components/ModelSelectionMenu.js +29 -125
- package/dist/components/ModelSelectionMenu.js.map +1 -1
- package/dist/components/ModelSelectionMenu.test.js +9 -5
- package/dist/components/ModelSelectionMenu.test.js.map +1 -1
- package/dist/components/PathSelectionMenu.d.ts.map +1 -1
- package/dist/components/PathSelectionMenu.js +15 -55
- package/dist/components/PathSelectionMenu.js.map +1 -1
- package/dist/components/SettingsSelectionMenu.d.ts +4 -1
- package/dist/components/SettingsSelectionMenu.d.ts.map +1 -1
- package/dist/components/SettingsSelectionMenu.js +48 -104
- package/dist/components/SettingsSelectionMenu.js.map +1 -1
- package/dist/components/SettingsSelectionMenu.scroll.test.js +140 -0
- package/dist/components/SettingsSelectionMenu.scroll.test.js.map +1 -1
- package/dist/components/SettingsSelectionMenu.test.js +38 -5
- package/dist/components/SettingsSelectionMenu.test.js.map +1 -1
- package/dist/components/SettingsValueSelectionMenu.d.ts.map +1 -1
- package/dist/components/SettingsValueSelectionMenu.js +24 -51
- package/dist/components/SettingsValueSelectionMenu.js.map +1 -1
- package/dist/components/SlashCommandMenu.d.ts +1 -0
- package/dist/components/SlashCommandMenu.d.ts.map +1 -1
- package/dist/components/SlashCommandMenu.js +11 -14
- package/dist/components/SlashCommandMenu.js.map +1 -1
- package/dist/components/StatusBar.d.ts +2 -0
- package/dist/components/StatusBar.d.ts.map +1 -1
- package/dist/components/StatusBar.js +35 -2
- package/dist/components/StatusBar.js.map +1 -1
- package/dist/components/StatusBar.test.js +32 -0
- package/dist/components/StatusBar.test.js.map +1 -1
- package/dist/components/UndoSelectionMenu.d.ts.map +1 -1
- package/dist/components/UndoSelectionMenu.js +6 -33
- package/dist/components/UndoSelectionMenu.js.map +1 -1
- package/dist/context/InputContext.stability.test.js +9 -7
- package/dist/context/InputContext.stability.test.js.map +1 -1
- package/dist/env-setup.js +1 -0
- package/dist/env-setup.js.map +1 -1
- package/dist/hooks/use-app-commands.d.ts +22 -2
- package/dist/hooks/use-app-commands.d.ts.map +1 -1
- package/dist/hooks/use-app-commands.js +43 -3
- package/dist/hooks/use-app-commands.js.map +1 -1
- package/dist/hooks/use-app-commands.test.js +135 -1
- package/dist/hooks/use-app-commands.test.js.map +1 -1
- package/dist/hooks/use-conversation.clear.test.d.ts +2 -0
- package/dist/hooks/use-conversation.clear.test.d.ts.map +1 -0
- package/dist/hooks/use-conversation.clear.test.js +54 -0
- package/dist/hooks/use-conversation.clear.test.js.map +1 -0
- package/dist/hooks/use-conversation.d.ts +25 -2
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +90 -12
- package/dist/hooks/use-conversation.js.map +1 -1
- package/dist/hooks/use-escape-key.d.ts +8 -1
- package/dist/hooks/use-escape-key.d.ts.map +1 -1
- package/dist/hooks/use-escape-key.js +15 -4
- package/dist/hooks/use-escape-key.js.map +1 -1
- package/dist/hooks/use-escape-key.test.js +135 -28
- package/dist/hooks/use-escape-key.test.js.map +1 -1
- package/dist/hooks/use-input-history.test.js +14 -8
- package/dist/hooks/use-input-history.test.js.map +1 -1
- package/dist/hooks/use-mode-handlers.d.ts +12 -1
- package/dist/hooks/use-mode-handlers.d.ts.map +1 -1
- package/dist/hooks/use-mode-handlers.js +31 -1
- package/dist/hooks/use-mode-handlers.js.map +1 -1
- package/dist/hooks/use-model-selection.d.ts +6 -1
- package/dist/hooks/use-model-selection.d.ts.map +1 -1
- package/dist/hooks/use-model-selection.js +50 -8
- package/dist/hooks/use-model-selection.js.map +1 -1
- package/dist/hooks/use-model-selection.test.js +306 -50
- package/dist/hooks/use-model-selection.test.js.map +1 -1
- package/dist/hooks/use-path-completion.d.ts +4 -0
- package/dist/hooks/use-path-completion.d.ts.map +1 -1
- package/dist/hooks/use-path-completion.js +23 -17
- package/dist/hooks/use-path-completion.js.map +1 -1
- package/dist/hooks/use-runtime-settings.d.ts.map +1 -1
- package/dist/hooks/use-runtime-settings.js +7 -2
- package/dist/hooks/use-runtime-settings.js.map +1 -1
- package/dist/hooks/use-runtime-settings.test.d.ts +2 -0
- package/dist/hooks/use-runtime-settings.test.d.ts.map +1 -0
- package/dist/hooks/use-runtime-settings.test.js +45 -0
- package/dist/hooks/use-runtime-settings.test.js.map +1 -0
- package/dist/hooks/use-selection.d.ts +6 -2
- package/dist/hooks/use-selection.d.ts.map +1 -1
- package/dist/hooks/use-selection.js +53 -16
- package/dist/hooks/use-selection.js.map +1 -1
- package/dist/hooks/use-selection.test.d.ts +2 -0
- package/dist/hooks/use-selection.test.d.ts.map +1 -0
- package/dist/hooks/use-selection.test.js +132 -0
- package/dist/hooks/use-selection.test.js.map +1 -0
- package/dist/hooks/use-settings-completion.d.ts +19 -0
- package/dist/hooks/use-settings-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-completion.js +106 -18
- package/dist/hooks/use-settings-completion.js.map +1 -1
- package/dist/hooks/use-settings-completion.scroll.test.js +68 -29
- package/dist/hooks/use-settings-completion.scroll.test.js.map +1 -1
- package/dist/hooks/use-settings-completion.test.js +36 -1
- package/dist/hooks/use-settings-completion.test.js.map +1 -1
- package/dist/hooks/use-settings-value-completion.d.ts +7 -1
- package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-value-completion.js +18 -7
- package/dist/hooks/use-settings-value-completion.js.map +1 -1
- package/dist/hooks/use-slash-commands.d.ts +5 -0
- package/dist/hooks/use-slash-commands.d.ts.map +1 -1
- package/dist/hooks/use-slash-commands.js +22 -2
- package/dist/hooks/use-slash-commands.js.map +1 -1
- package/dist/hooks/use-trigger-detection.test.js +9 -6
- package/dist/hooks/use-trigger-detection.test.js.map +1 -1
- package/dist/hooks/use-undo-selection.d.ts +4 -0
- package/dist/hooks/use-undo-selection.d.ts.map +1 -1
- package/dist/hooks/use-undo-selection.js +18 -1
- package/dist/hooks/use-undo-selection.js.map +1 -1
- package/dist/inspect_zod.d.ts +2 -0
- package/dist/inspect_zod.d.ts.map +1 -0
- package/dist/inspect_zod.js +16 -0
- package/dist/inspect_zod.js.map +1 -0
- package/dist/lib/openai-agent-client.chat.test.js +40 -0
- package/dist/lib/openai-agent-client.chat.test.js.map +1 -1
- package/dist/lib/openai-agent-client.d.ts +18 -4
- package/dist/lib/openai-agent-client.d.ts.map +1 -1
- package/dist/lib/openai-agent-client.js +228 -32
- package/dist/lib/openai-agent-client.js.map +1 -1
- package/dist/lib/openai-agent-client.public-methods.test.js +193 -0
- package/dist/lib/openai-agent-client.public-methods.test.js.map +1 -1
- package/dist/lib/openai-agent-client.test.js +71 -1
- package/dist/lib/openai-agent-client.test.js.map +1 -1
- package/dist/lib/retry-executor.js +45 -7
- package/dist/lib/retry-executor.js.map +1 -1
- package/dist/lib/retry-executor.test.js +63 -0
- package/dist/lib/retry-executor.test.js.map +1 -1
- package/dist/lib/tool-invoke.d.ts +3 -2
- package/dist/lib/tool-invoke.d.ts.map +1 -1
- package/dist/lib/tool-invoke.js +213 -10
- package/dist/lib/tool-invoke.js.map +1 -1
- package/dist/lib/tool-invoke.test.js +103 -0
- package/dist/lib/tool-invoke.test.js.map +1 -1
- package/dist/non-interactive.d.ts +1 -0
- package/dist/non-interactive.d.ts.map +1 -1
- package/dist/non-interactive.js +3 -1
- package/dist/non-interactive.js.map +1 -1
- package/dist/non-interactive.test.js +8 -1
- package/dist/non-interactive.test.js.map +1 -1
- package/dist/prompts/codex.md +105 -97
- package/dist/prompts/fragments/gpt-5.3-codex.md +7 -0
- package/dist/prompts/fragments/gpt-5.4-small.md +6 -0
- package/dist/prompts/fragments/gpt-5.4.md +7 -0
- package/dist/prompts/fragments/gpt-5.5.md +7 -0
- package/dist/prompts/gpt-5-modern.md +96 -54
- package/dist/prompts/plan-mode-info.md +14 -3
- package/dist/prompts/prompt-constructor.d.ts +19 -0
- package/dist/prompts/prompt-constructor.d.ts.map +1 -0
- package/dist/prompts/prompt-constructor.js +53 -0
- package/dist/prompts/prompt-constructor.js.map +1 -0
- package/dist/prompts/prompt-constructor.test.d.ts +2 -0
- package/dist/prompts/prompt-constructor.test.d.ts.map +1 -0
- package/dist/prompts/prompt-constructor.test.js +99 -0
- package/dist/prompts/prompt-constructor.test.js.map +1 -0
- package/dist/prompts/prompt-constructor.test.ts +112 -0
- package/dist/prompts/prompt-constructor.ts +91 -0
- package/dist/prompts/prompt-profiles.d.ts +17 -0
- package/dist/prompts/prompt-profiles.d.ts.map +1 -0
- package/dist/prompts/prompt-profiles.js +61 -0
- package/dist/prompts/prompt-profiles.js.map +1 -0
- package/dist/prompts/prompt-profiles.ts +77 -0
- package/dist/prompts/prompt-selector.d.ts.map +1 -1
- package/dist/prompts/prompt-selector.js +3 -21
- package/dist/prompts/prompt-selector.js.map +1 -1
- package/dist/prompts/prompt-selector.ts +3 -25
- package/dist/prompts/reasoning-efficiency.d.ts.map +1 -1
- package/dist/prompts/reasoning-efficiency.js +2 -0
- package/dist/prompts/reasoning-efficiency.js.map +1 -1
- package/dist/prompts/reasoning-efficiency.test.d.ts +2 -0
- package/dist/prompts/reasoning-efficiency.test.d.ts.map +1 -0
- package/dist/prompts/reasoning-efficiency.test.js +11 -0
- package/dist/prompts/reasoning-efficiency.test.js.map +1 -0
- package/dist/prompts/reasoning-efficiency.test.ts +12 -0
- package/dist/prompts/reasoning-efficiency.ts +2 -0
- package/dist/prompts/search-via-shell.test.js +19 -16
- package/dist/prompts/search-via-shell.test.js.map +1 -1
- package/dist/prompts/search-via-shell.test.ts +20 -16
- package/dist/prompts/subagent-delegation.test.js +12 -10
- package/dist/prompts/subagent-delegation.test.js.map +1 -1
- package/dist/prompts/subagent-delegation.test.ts +13 -10
- package/dist/prompts/worktree-hygiene.md +9 -0
- package/dist/providers/ai-sdk-logging-fetch.d.ts +1 -1
- package/dist/providers/ai-sdk-logging-fetch.d.ts.map +1 -1
- package/dist/providers/ai-sdk-logging-fetch.js +145 -47
- package/dist/providers/ai-sdk-logging-fetch.js.map +1 -1
- package/dist/providers/ai-sdk-logging-fetch.test.js +202 -5
- package/dist/providers/ai-sdk-logging-fetch.test.js.map +1 -1
- package/dist/providers/codex-responses-model.d.ts +20 -0
- package/dist/providers/codex-responses-model.d.ts.map +1 -0
- package/dist/providers/codex-responses-model.js +170 -0
- package/dist/providers/codex-responses-model.js.map +1 -0
- package/dist/providers/codex-responses-model.test.d.ts +2 -0
- package/dist/providers/codex-responses-model.test.d.ts.map +1 -0
- package/dist/providers/codex-responses-model.test.js +240 -0
- package/dist/providers/codex-responses-model.test.js.map +1 -0
- package/dist/providers/codex.provider.d.ts +29 -0
- package/dist/providers/codex.provider.d.ts.map +1 -0
- package/dist/providers/codex.provider.js +486 -0
- package/dist/providers/codex.provider.js.map +1 -0
- package/dist/providers/codex.provider.test.d.ts +2 -0
- package/dist/providers/codex.provider.test.d.ts.map +1 -0
- package/dist/providers/codex.provider.test.js +634 -0
- package/dist/providers/codex.provider.test.js.map +1 -0
- package/dist/providers/custom-provider-adapter.test.js +56 -0
- package/dist/providers/custom-provider-adapter.test.js.map +1 -1
- package/dist/providers/fallback-responses-model.d.ts +20 -0
- package/dist/providers/fallback-responses-model.d.ts.map +1 -0
- package/dist/providers/fallback-responses-model.js +277 -0
- package/dist/providers/fallback-responses-model.js.map +1 -0
- package/dist/providers/fallback-responses-model.test.d.ts +2 -0
- package/dist/providers/fallback-responses-model.test.d.ts.map +1 -0
- package/dist/providers/fallback-responses-model.test.js +279 -0
- package/dist/providers/fallback-responses-model.test.js.map +1 -0
- package/dist/providers/fetch/compose.d.ts +7 -0
- package/dist/providers/fetch/compose.d.ts.map +1 -0
- package/dist/providers/fetch/compose.js +20 -0
- package/dist/providers/fetch/compose.js.map +1 -0
- package/dist/providers/fetch/composer.d.ts +13 -0
- package/dist/providers/fetch/composer.d.ts.map +1 -0
- package/dist/providers/fetch/composer.js +15 -0
- package/dist/providers/fetch/composer.js.map +1 -0
- package/dist/providers/fetch/composer.test.d.ts +2 -0
- package/dist/providers/fetch/composer.test.d.ts.map +1 -0
- package/dist/providers/fetch/composer.test.js +448 -0
- package/dist/providers/fetch/composer.test.js.map +1 -0
- package/dist/providers/fetch/logging-middleware.d.ts +16 -0
- package/dist/providers/fetch/logging-middleware.d.ts.map +1 -0
- package/dist/providers/fetch/logging-middleware.js +214 -0
- package/dist/providers/fetch/logging-middleware.js.map +1 -0
- package/dist/providers/index.d.ts +1 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +1 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/llama-cpp.provider.d.ts +3 -0
- package/dist/providers/llama-cpp.provider.d.ts.map +1 -0
- package/dist/providers/llama-cpp.provider.js +34 -0
- package/dist/providers/llama-cpp.provider.js.map +1 -0
- package/dist/providers/openai-compatible-middleware.d.ts +7 -0
- package/dist/providers/openai-compatible-middleware.d.ts.map +1 -0
- package/dist/providers/openai-compatible-middleware.js +133 -0
- package/dist/providers/openai-compatible-middleware.js.map +1 -0
- package/dist/providers/openai-compatible-models.d.ts +6 -0
- package/dist/providers/openai-compatible-models.d.ts.map +1 -0
- package/dist/providers/openai-compatible-models.js +17 -0
- package/dist/providers/openai-compatible-models.js.map +1 -0
- package/dist/providers/openai-compatible-response-normalizer.d.ts +7 -0
- package/dist/providers/openai-compatible-response-normalizer.d.ts.map +1 -0
- package/dist/providers/openai-compatible-response-normalizer.js +58 -0
- package/dist/providers/openai-compatible-response-normalizer.js.map +1 -0
- package/dist/providers/openai-compatible.provider.d.ts +4 -1
- package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
- package/dist/providers/openai-compatible.provider.js +68 -324
- package/dist/providers/openai-compatible.provider.js.map +1 -1
- package/dist/providers/openai-compatible.provider.test.js +106 -1
- package/dist/providers/openai-compatible.provider.test.js.map +1 -1
- package/dist/providers/openai.provider.js +53 -1
- package/dist/providers/openai.provider.js.map +1 -1
- package/dist/providers/opencode.provider.d.ts +19 -0
- package/dist/providers/opencode.provider.d.ts.map +1 -0
- package/dist/providers/opencode.provider.js +45 -0
- package/dist/providers/opencode.provider.js.map +1 -0
- package/dist/providers/openrouter.provider.d.ts +2 -1
- package/dist/providers/openrouter.provider.d.ts.map +1 -1
- package/dist/providers/openrouter.provider.js +39 -22
- package/dist/providers/openrouter.provider.js.map +1 -1
- package/dist/providers/openrouter.provider.request-preprocessing.test.d.ts +2 -0
- package/dist/providers/openrouter.provider.request-preprocessing.test.d.ts.map +1 -0
- package/dist/providers/openrouter.provider.request-preprocessing.test.js +51 -0
- package/dist/providers/openrouter.provider.request-preprocessing.test.js.map +1 -0
- package/dist/providers/registry.d.ts +1 -0
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/registry.test.js +11 -2
- package/dist/providers/registry.test.js.map +1 -1
- package/dist/scripts/eval-auto-approval/dataset.d.ts +3 -3
- package/dist/services/approval-flow-coordinator.d.ts.map +1 -1
- package/dist/services/approval-flow-coordinator.js +17 -1
- package/dist/services/approval-flow-coordinator.js.map +1 -1
- package/dist/services/approval-flow-coordinator.test.js +22 -0
- package/dist/services/approval-flow-coordinator.test.js.map +1 -1
- package/dist/services/command-message-streaming.d.ts.map +1 -1
- package/dist/services/command-message-streaming.js +0 -3
- package/dist/services/command-message-streaming.js.map +1 -1
- package/dist/services/command-message-streaming.test.js +4 -2
- package/dist/services/command-message-streaming.test.js.map +1 -1
- package/dist/services/conversation-clear-save.test.d.ts +2 -0
- package/dist/services/conversation-clear-save.test.d.ts.map +1 -0
- package/dist/services/conversation-clear-save.test.js +57 -0
- package/dist/services/conversation-clear-save.test.js.map +1 -0
- package/dist/services/conversation-events.d.ts +44 -1
- package/dist/services/conversation-events.d.ts.map +1 -1
- package/dist/services/conversation-history-repair.d.ts +25 -0
- package/dist/services/conversation-history-repair.d.ts.map +1 -0
- package/dist/services/conversation-history-repair.js +227 -0
- package/dist/services/conversation-history-repair.js.map +1 -0
- package/dist/services/conversation-history-repair.test.d.ts +2 -0
- package/dist/services/conversation-history-repair.test.d.ts.map +1 -0
- package/dist/services/conversation-history-repair.test.js +76 -0
- package/dist/services/conversation-history-repair.test.js.map +1 -0
- package/dist/services/conversation-integration.test.js +3 -1
- package/dist/services/conversation-integration.test.js.map +1 -1
- package/dist/services/conversation-log-events.d.ts +107 -0
- package/dist/services/conversation-log-events.d.ts.map +1 -0
- package/dist/services/conversation-log-events.js +12 -0
- package/dist/services/conversation-log-events.js.map +1 -0
- package/dist/services/conversation-log-writer.d.ts +40 -0
- package/dist/services/conversation-log-writer.d.ts.map +1 -0
- package/dist/services/conversation-log-writer.js +264 -0
- package/dist/services/conversation-log-writer.js.map +1 -0
- package/dist/services/conversation-persistence-types.d.ts +14 -0
- package/dist/services/conversation-persistence-types.d.ts.map +1 -0
- package/dist/services/conversation-persistence-types.js +2 -0
- package/dist/services/conversation-persistence-types.js.map +1 -0
- package/dist/services/conversation-persistence.d.ts +40 -38
- package/dist/services/conversation-persistence.d.ts.map +1 -1
- package/dist/services/conversation-persistence.js +312 -71
- package/dist/services/conversation-persistence.js.map +1 -1
- package/dist/services/conversation-persistence.test.js +485 -355
- package/dist/services/conversation-persistence.test.js.map +1 -1
- package/dist/services/conversation-replay.d.ts +26 -0
- package/dist/services/conversation-replay.d.ts.map +1 -0
- package/dist/services/conversation-replay.js +252 -0
- package/dist/services/conversation-replay.js.map +1 -0
- package/dist/services/conversation-replay.test.d.ts +2 -0
- package/dist/services/conversation-replay.test.d.ts.map +1 -0
- package/dist/services/conversation-replay.test.js +153 -0
- package/dist/services/conversation-replay.test.js.map +1 -0
- package/dist/services/conversation-result-builder.d.ts.map +1 -1
- package/dist/services/conversation-result-builder.js +8 -2
- package/dist/services/conversation-result-builder.js.map +1 -1
- package/dist/services/conversation-result-builder.test.js +53 -0
- package/dist/services/conversation-result-builder.test.js.map +1 -1
- package/dist/services/conversation-retry-policy.d.ts +24 -0
- package/dist/services/conversation-retry-policy.d.ts.map +1 -1
- package/dist/services/conversation-retry-policy.js +68 -4
- package/dist/services/conversation-retry-policy.js.map +1 -1
- package/dist/services/conversation-retry-policy.test.js +99 -2
- package/dist/services/conversation-retry-policy.test.js.map +1 -1
- package/dist/services/conversation-service.d.ts +12 -2
- package/dist/services/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation-service.js +29 -3
- package/dist/services/conversation-service.js.map +1 -1
- package/dist/services/conversation-session.auto-approval.test.js +2 -1
- package/dist/services/conversation-session.auto-approval.test.js.map +1 -1
- package/dist/services/conversation-session.d.ts +17 -1
- package/dist/services/conversation-session.d.ts.map +1 -1
- package/dist/services/conversation-session.js +580 -134
- package/dist/services/conversation-session.js.map +1 -1
- package/dist/services/conversation-store.d.ts.map +1 -1
- package/dist/services/conversation-store.js +6 -5
- package/dist/services/conversation-store.js.map +1 -1
- package/dist/services/conversation-store.test.js +34 -0
- package/dist/services/conversation-store.test.js.map +1 -1
- package/dist/services/input-surge-guard.d.ts +4 -0
- package/dist/services/input-surge-guard.d.ts.map +1 -1
- package/dist/services/input-surge-guard.js +2 -2
- package/dist/services/input-surge-guard.js.map +1 -1
- package/dist/services/input-surge-guard.test.js +15 -1
- package/dist/services/input-surge-guard.test.js.map +1 -1
- package/dist/services/large-uncached-input-guard.d.ts +35 -0
- package/dist/services/large-uncached-input-guard.d.ts.map +1 -0
- package/dist/services/large-uncached-input-guard.js +127 -0
- package/dist/services/large-uncached-input-guard.js.map +1 -0
- package/dist/services/large-uncached-input-guard.test.d.ts +2 -0
- package/dist/services/large-uncached-input-guard.test.d.ts.map +1 -0
- package/dist/services/large-uncached-input-guard.test.js +160 -0
- package/dist/services/large-uncached-input-guard.test.js.map +1 -0
- package/dist/services/logging-contract.d.ts +1 -1
- package/dist/services/logging-service.d.ts +4 -0
- package/dist/services/logging-service.d.ts.map +1 -1
- package/dist/services/logging-service.js +91 -33
- package/dist/services/logging-service.js.map +1 -1
- package/dist/services/model-service.d.ts +2 -0
- package/dist/services/model-service.d.ts.map +1 -1
- package/dist/services/model-service.js +7 -1
- package/dist/services/model-service.js.map +1 -1
- package/dist/services/provider-traffic.d.ts +87 -0
- package/dist/services/provider-traffic.d.ts.map +1 -0
- package/dist/services/provider-traffic.js +603 -0
- package/dist/services/provider-traffic.js.map +1 -0
- package/dist/services/provider-traffic.test.d.ts +2 -0
- package/dist/services/provider-traffic.test.d.ts.map +1 -0
- package/dist/services/provider-traffic.test.js +475 -0
- package/dist/services/provider-traffic.test.js.map +1 -0
- package/dist/services/rtk-service.d.ts.map +1 -1
- package/dist/services/rtk-service.js +1 -2
- package/dist/services/rtk-service.js.map +1 -1
- package/dist/services/service-interfaces.d.ts +16 -0
- package/dist/services/service-interfaces.d.ts.map +1 -1
- package/dist/services/settings-schema.d.ts +36 -28
- package/dist/services/settings-schema.d.ts.map +1 -1
- package/dist/services/settings-schema.js +7 -2
- package/dist/services/settings-schema.js.map +1 -1
- package/dist/services/settings-service.js +6 -6
- package/dist/services/settings-service.js.map +1 -1
- package/dist/services/settings-sources.d.ts.map +1 -1
- package/dist/services/settings-sources.js +1 -0
- package/dist/services/settings-sources.js.map +1 -1
- package/dist/services/shell-auto-approval-evaluator.d.ts +1 -1
- package/dist/services/shell-auto-approval-evaluator.d.ts.map +1 -1
- package/dist/services/shell-auto-approval-evaluator.js +284 -81
- package/dist/services/shell-auto-approval-evaluator.js.map +1 -1
- package/dist/services/shell-auto-approval-evaluator.test.js +215 -15
- package/dist/services/shell-auto-approval-evaluator.test.js.map +1 -1
- package/dist/services/stream-event-processor.d.ts +4 -0
- package/dist/services/stream-event-processor.d.ts.map +1 -1
- package/dist/services/stream-event-processor.js +78 -39
- package/dist/services/stream-event-processor.js.map +1 -1
- package/dist/services/stream-event-processor.test.js +71 -0
- package/dist/services/stream-event-processor.test.js.map +1 -1
- package/dist/services/subagents/subagent-manager.d.ts +2 -0
- package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
- package/dist/services/subagents/subagent-manager.js +124 -21
- package/dist/services/subagents/subagent-manager.js.map +1 -1
- package/dist/services/subagents/subagent-manager.test.js +453 -0
- package/dist/services/subagents/subagent-manager.test.js.map +1 -1
- package/dist/services/terminal-result-collector.d.ts.map +1 -1
- package/dist/services/terminal-result-collector.js +6 -1
- package/dist/services/terminal-result-collector.js.map +1 -1
- package/dist/services/tool-call-arguments.d.ts +20 -0
- package/dist/services/tool-call-arguments.d.ts.map +1 -0
- package/dist/services/tool-call-arguments.js +49 -0
- package/dist/services/tool-call-arguments.js.map +1 -0
- package/dist/services/tool-execution-ledger.d.ts +35 -0
- package/dist/services/tool-execution-ledger.d.ts.map +1 -0
- package/dist/services/tool-execution-ledger.js +204 -0
- package/dist/services/tool-execution-ledger.js.map +1 -0
- package/dist/services/tool-execution-ledger.test.d.ts +2 -0
- package/dist/services/tool-execution-ledger.test.d.ts.map +1 -0
- package/dist/services/tool-execution-ledger.test.js +96 -0
- package/dist/services/tool-execution-ledger.test.js.map +1 -0
- package/dist/tools/apply-patch.d.ts +8 -0
- package/dist/tools/apply-patch.d.ts.map +1 -1
- package/dist/tools/apply-patch.js +157 -2
- package/dist/tools/apply-patch.js.map +1 -1
- package/dist/tools/apply-patch.test.js +81 -0
- package/dist/tools/apply-patch.test.js.map +1 -1
- package/dist/tools/search-replace.d.ts.map +1 -1
- package/dist/tools/search-replace.js +92 -140
- package/dist/tools/search-replace.js.map +1 -1
- package/dist/utils/command-safety/path-analysis.d.ts.map +1 -1
- package/dist/utils/command-safety/path-analysis.js +143 -35
- package/dist/utils/command-safety/path-analysis.js.map +1 -1
- package/dist/utils/conversation-event-handler.d.ts.map +1 -1
- package/dist/utils/conversation-event-handler.js +52 -4
- package/dist/utils/conversation-event-handler.js.map +1 -1
- package/dist/utils/conversation-event-handler.test.js +175 -0
- package/dist/utils/conversation-event-handler.test.js.map +1 -1
- package/dist/utils/error-helpers.d.ts +1 -0
- package/dist/utils/error-helpers.d.ts.map +1 -1
- package/dist/utils/error-helpers.js +61 -0
- package/dist/utils/error-helpers.js.map +1 -1
- package/dist/utils/error-helpers.test.js +13 -1
- package/dist/utils/error-helpers.test.js.map +1 -1
- package/dist/utils/ink-render-options.d.ts +1 -1
- package/dist/utils/ink-render-options.d.ts.map +1 -1
- package/dist/utils/ink-render-options.js +1 -1
- package/dist/utils/ink-render-options.js.map +1 -1
- package/dist/utils/streaming-session-factory.d.ts +2 -0
- package/dist/utils/streaming-session-factory.d.ts.map +1 -1
- package/dist/utils/streaming-session-factory.js +4 -0
- package/dist/utils/streaming-session-factory.js.map +1 -1
- package/package.json +2 -2
package/dist/cli.js
CHANGED
|
@@ -3,7 +3,7 @@ import './env-setup.js';
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { render } from 'ink';
|
|
5
5
|
import meow from 'meow';
|
|
6
|
-
import App
|
|
6
|
+
import App from './app.js';
|
|
7
7
|
import { getInkRenderOptions } from './utils/ink-render-options.js';
|
|
8
8
|
import { OpenAIAgentClient } from './lib/openai-agent-client.js';
|
|
9
9
|
import { ConversationService } from './services/conversation-service.js';
|
|
@@ -14,17 +14,20 @@ import { HistoryService } from './services/history-service.js';
|
|
|
14
14
|
import { SSHService } from './services/ssh-service.js';
|
|
15
15
|
import { ExecutionContext } from './services/execution-context.js';
|
|
16
16
|
import { resolveSSHHost } from './utils/ssh-config-parser.js';
|
|
17
|
-
import { createUsageAccumulator,
|
|
18
|
-
import { generateId, getResumeCommand, loadConversationForProject, loadLastConversation,
|
|
17
|
+
import { createUsageAccumulator, formatSessionUsageBreakdown } from './utils/token-usage.js';
|
|
18
|
+
import { generateId, getResumeCommand, loadConversationForProject, loadLastConversation, forkConversation, isConversationLocked, } from './services/conversation-persistence.js';
|
|
19
|
+
import { createConversationLogWriter, LockConflictError } from './services/conversation-log-writer.js';
|
|
20
|
+
import { AGENT_AFFECTING_SETTINGS } from './services/conversation-log-events.js';
|
|
19
21
|
import { installPlanModeInterceptor } from './services/plan-mode-interceptor.js';
|
|
20
22
|
import { normalizeAppModes } from './services/settings-schema.js';
|
|
21
23
|
import os from 'os';
|
|
22
24
|
import fs from 'fs';
|
|
23
25
|
import path from 'path';
|
|
24
26
|
const sessionUsageAccumulator = createUsageAccumulator();
|
|
27
|
+
const subagentUsageAccumulator = createUsageAccumulator();
|
|
25
28
|
let usagePrinted = false;
|
|
26
29
|
const printUsage = () => {
|
|
27
|
-
process.stdout.write(`\n${
|
|
30
|
+
process.stdout.write(`\n${formatSessionUsageBreakdown(sessionUsageAccumulator.get(), subagentUsageAccumulator.get())}\n`);
|
|
28
31
|
};
|
|
29
32
|
const printUsageOnce = () => {
|
|
30
33
|
if (usagePrinted)
|
|
@@ -32,18 +35,25 @@ const printUsageOnce = () => {
|
|
|
32
35
|
usagePrinted = true;
|
|
33
36
|
printUsage();
|
|
34
37
|
};
|
|
35
|
-
|
|
36
|
-
let pendingMessages = [];
|
|
37
|
-
let saveConversationOnExit = null;
|
|
38
|
+
let activeLogWriter = null;
|
|
38
39
|
// Global Ctrl+C handler for immediate exit paths outside Ink's input handling.
|
|
39
|
-
process.on('SIGINT',
|
|
40
|
-
|
|
41
|
-
await saveConversationOnExit(pendingMessages);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
40
|
+
process.on('SIGINT', () => {
|
|
41
|
+
void (activeLogWriter ? activeLogWriter.flush() : Promise.resolve()).finally(() => {
|
|
44
42
|
printUsageOnce();
|
|
43
|
+
process.exit(130);
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
// Best-effort release of lock + close on uncatchable exits (caught process.exit).
|
|
47
|
+
process.on('exit', () => {
|
|
48
|
+
if (activeLogWriter) {
|
|
49
|
+
try {
|
|
50
|
+
// Synchronous close path: the writer's close() does sync work and unlinks the lock.
|
|
51
|
+
void activeLogWriter.close();
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
/* ignore */
|
|
55
|
+
}
|
|
45
56
|
}
|
|
46
|
-
process.exit(0);
|
|
47
57
|
});
|
|
48
58
|
const cli = meow(`
|
|
49
59
|
Usage
|
|
@@ -108,14 +118,23 @@ const cli = meow(`
|
|
|
108
118
|
alias: 'R',
|
|
109
119
|
default: false,
|
|
110
120
|
},
|
|
121
|
+
fork: {
|
|
122
|
+
type: 'boolean',
|
|
123
|
+
default: false,
|
|
124
|
+
},
|
|
111
125
|
},
|
|
112
126
|
});
|
|
113
127
|
const resumeRequested = Boolean(cli.flags.resume);
|
|
128
|
+
const forkRequested = Boolean(cli.flags.fork);
|
|
114
129
|
const resumeTarget = resumeRequested ? cli.input[0]?.trim() : undefined;
|
|
115
130
|
if (resumeRequested && cli.input.length > 1) {
|
|
116
131
|
console.error('Error: --resume accepts at most one conversation id.');
|
|
117
132
|
process.exit(1);
|
|
118
133
|
}
|
|
134
|
+
if (forkRequested && !resumeRequested) {
|
|
135
|
+
console.error('Error: --fork can only be used with --resume.');
|
|
136
|
+
process.exit(1);
|
|
137
|
+
}
|
|
119
138
|
const positionalPrompt = resumeRequested ? '' : cli.input.join(' ').trim();
|
|
120
139
|
const hasPositionalPrompt = positionalPrompt.length > 0;
|
|
121
140
|
// If the user passed an explicit empty prompt (e.g. `term2 ""`), show help.
|
|
@@ -146,22 +165,49 @@ const validatedReasoningEffort = reasoningEffort && validReasoningEfforts.includ
|
|
|
146
165
|
? reasoningEffort
|
|
147
166
|
: undefined;
|
|
148
167
|
const resumeProjectPath = cli.flags.ssh ? cli.flags.remoteDir?.trim() || undefined : process.cwd();
|
|
168
|
+
const expectedSshHost = cli.flags.ssh
|
|
169
|
+
? cli.flags.ssh.includes('@')
|
|
170
|
+
? cli.flags.ssh.split('@')[1]
|
|
171
|
+
: cli.flags.ssh
|
|
172
|
+
: undefined;
|
|
149
173
|
let resumedConversation = null;
|
|
174
|
+
let resumedSourceId;
|
|
150
175
|
if (resumeRequested) {
|
|
151
176
|
if (resumeTarget) {
|
|
152
177
|
const result = resumeProjectPath
|
|
153
|
-
? loadConversationForProject(resumeTarget, resumeProjectPath)
|
|
178
|
+
? loadConversationForProject(resumeTarget, resumeProjectPath, expectedSshHost)
|
|
154
179
|
: { status: 'not_found' };
|
|
155
180
|
if (result.status === 'project_mismatch') {
|
|
156
181
|
console.error(`Error: Conversation ${resumeTarget} belongs to a different project path (${result.conversation.projectPath ?? 'unknown'}).`);
|
|
157
182
|
console.error(`Current project path: ${resumeProjectPath ?? 'unknown'}`);
|
|
183
|
+
if (result.conversation.sshHost || expectedSshHost) {
|
|
184
|
+
console.error(`Conversation SSH Host: ${result.conversation.sshHost ?? 'none'}`);
|
|
185
|
+
console.error(`Current SSH Host: ${expectedSshHost ?? 'none'}`);
|
|
186
|
+
}
|
|
158
187
|
process.exit(1);
|
|
159
188
|
}
|
|
160
189
|
resumedConversation = result.status === 'loaded' ? result.conversation : null;
|
|
190
|
+
resumedSourceId = resumeTarget;
|
|
161
191
|
}
|
|
162
192
|
else {
|
|
163
|
-
resumedConversation = loadLastConversation(resumeProjectPath);
|
|
193
|
+
resumedConversation = loadLastConversation(resumeProjectPath, expectedSshHost);
|
|
194
|
+
resumedSourceId = resumedConversation?.id;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
// If --fork was requested, copy the source jsonl to a new id and resume from the copy.
|
|
198
|
+
if (forkRequested) {
|
|
199
|
+
if (!resumedSourceId || !resumedConversation) {
|
|
200
|
+
console.error('Error: --fork requires an existing conversation to fork from.');
|
|
201
|
+
process.exit(1);
|
|
202
|
+
}
|
|
203
|
+
const forkedId = generateId();
|
|
204
|
+
if (!forkConversation(resumedSourceId, forkedId)) {
|
|
205
|
+
console.error(`Error: Could not fork conversation ${resumedSourceId}.`);
|
|
206
|
+
process.exit(1);
|
|
164
207
|
}
|
|
208
|
+
console.log(`Forked conversation ${resumedSourceId} → ${forkedId}`);
|
|
209
|
+
resumedConversation = { ...resumedConversation, id: forkedId, forkedFrom: resumedSourceId };
|
|
210
|
+
resumedSourceId = forkedId;
|
|
165
211
|
}
|
|
166
212
|
// Apply CLI overrides to settings service
|
|
167
213
|
const cliOverrides = {};
|
|
@@ -220,8 +266,11 @@ const settings = new SettingsService({
|
|
|
220
266
|
if (resumedConversation) {
|
|
221
267
|
resolvedLiteMode = cliOverrides.app?.liteMode ?? false;
|
|
222
268
|
}
|
|
269
|
+
else if (cli.flags.lite) {
|
|
270
|
+
resolvedLiteMode = true;
|
|
271
|
+
}
|
|
223
272
|
else {
|
|
224
|
-
const implicitLite = Boolean(
|
|
273
|
+
const implicitLite = Boolean(hasPositionalPrompt && !cli.flags.autoApprove);
|
|
225
274
|
const persistedOrchestrator = settings.get('app.orchestratorMode');
|
|
226
275
|
const persistedMentor = settings.get('app.mentorMode');
|
|
227
276
|
// Implicit lite must not override a higher-precedence mode already persisted.
|
|
@@ -361,87 +410,137 @@ if (hasPositionalPrompt) {
|
|
|
361
410
|
});
|
|
362
411
|
process.exit(exitCode);
|
|
363
412
|
}
|
|
413
|
+
// Generate session UUID and handle resume
|
|
414
|
+
let effectiveSessionId = generateId();
|
|
415
|
+
let effectiveCreatedAt = new Date().toISOString();
|
|
416
|
+
let initialMessages = [];
|
|
417
|
+
let effectiveHasConversationContent = false;
|
|
418
|
+
if (resumedConversation) {
|
|
419
|
+
effectiveSessionId = resumedConversation.id;
|
|
420
|
+
effectiveCreatedAt = resumedConversation.createdAt;
|
|
421
|
+
initialMessages = resumedConversation.messages;
|
|
422
|
+
if (resumedConversation.usage) {
|
|
423
|
+
sessionUsageAccumulator.add(resumedConversation.usage);
|
|
424
|
+
}
|
|
425
|
+
if (resumedConversation.subagentUsage) {
|
|
426
|
+
subagentUsageAccumulator.add(resumedConversation.subagentUsage);
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
else if (resumeRequested) {
|
|
430
|
+
const target = resumeTarget ?? 'last';
|
|
431
|
+
console.warn(`No conversation found to resume (${target}). Starting new conversation.`);
|
|
432
|
+
}
|
|
433
|
+
// Refuse to open a session whose log file is locked by another writer (live or stale).
|
|
434
|
+
// --fork (handled above) is the documented escape hatch.
|
|
435
|
+
if (!forkRequested) {
|
|
436
|
+
const lockInfo = isConversationLocked(effectiveSessionId);
|
|
437
|
+
if (lockInfo) {
|
|
438
|
+
const pid = lockInfo.pid;
|
|
439
|
+
const host = lockInfo.host;
|
|
440
|
+
const startedAt = lockInfo.startedAt;
|
|
441
|
+
console.error(`Conversation ${effectiveSessionId} is locked (pid ${pid}, started ${startedAt}, host ${host}).\n` +
|
|
442
|
+
`- If another terminal still has it open, close that one first.\n` +
|
|
443
|
+
`- If a previous run crashed and left the lock behind, fork into a new\n` +
|
|
444
|
+
` conversation that branches from the same state:\n` +
|
|
445
|
+
` term2 --resume ${effectiveSessionId} --fork\n`);
|
|
446
|
+
process.exit(1);
|
|
447
|
+
}
|
|
448
|
+
}
|
|
364
449
|
const conversationService = new ConversationService({
|
|
365
450
|
agentClient,
|
|
451
|
+
sessionId: effectiveSessionId,
|
|
366
452
|
deps: {
|
|
367
453
|
logger: logger,
|
|
368
454
|
settingsService: settings,
|
|
369
455
|
},
|
|
370
456
|
});
|
|
371
|
-
// Generate session UUID and handle resume
|
|
372
|
-
let effectiveSessionId = generateId();
|
|
373
|
-
let effectiveCreatedAt = new Date().toISOString();
|
|
374
|
-
let initialMessages = [];
|
|
375
457
|
if (resumedConversation) {
|
|
376
458
|
const savedProviderMatches = !resumedConversation.provider || resumedConversation.provider === settings.get('agent.provider');
|
|
377
459
|
const savedModelMatches = !resumedConversation.model || resumedConversation.model === settings.get('agent.model');
|
|
378
460
|
const previousResponseId = savedProviderMatches && savedModelMatches ? resumedConversation.previousResponseId : null;
|
|
379
|
-
// Restore agent conversation history.
|
|
380
461
|
conversationService.importState({
|
|
381
462
|
history: resumedConversation.history,
|
|
382
463
|
previousResponseId,
|
|
464
|
+
toolLedger: resumedConversation.toolLedger,
|
|
465
|
+
updatedAt: resumedConversation.updatedAt,
|
|
383
466
|
});
|
|
384
|
-
|
|
467
|
+
for (const warning of resumedConversation.replayWarnings) {
|
|
468
|
+
console.warn(`Conversation replay: ${warning}`);
|
|
469
|
+
}
|
|
385
470
|
console.log(`Resumed conversation: ${resumedConversation.id}`);
|
|
386
|
-
effectiveSessionId = resumedConversation.id;
|
|
387
|
-
effectiveCreatedAt = resumedConversation.createdAt;
|
|
388
|
-
initialMessages = resumedConversation.messages;
|
|
389
|
-
pendingMessages = initialMessages;
|
|
390
471
|
}
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
472
|
+
// Open the append-only log writer for the active session.
|
|
473
|
+
import envPaths from 'env-paths';
|
|
474
|
+
const logWriterDir = path.join(envPaths('term2').log, 'conversations');
|
|
475
|
+
const logWriter = createConversationLogWriter({ sessionId: effectiveSessionId, dir: logWriterDir, logger });
|
|
476
|
+
function buildInitMeta(id, createdAt) {
|
|
477
|
+
const cwd = executionContext?.getCwd();
|
|
478
|
+
return {
|
|
479
|
+
id,
|
|
480
|
+
createdAt,
|
|
481
|
+
...(cwd ? { projectPath: cwd } : {}),
|
|
482
|
+
...(sshInfo?.host ? { sshHost: sshInfo.host } : {}),
|
|
483
|
+
appMode: {
|
|
484
|
+
mentorMode: settings.get('app.mentorMode') ?? false,
|
|
485
|
+
liteMode: settings.get('app.liteMode') ?? false,
|
|
486
|
+
planMode: settings.get('app.planMode') ?? false,
|
|
487
|
+
orchestratorMode: settings.get('app.orchestratorMode') ?? false,
|
|
488
|
+
},
|
|
489
|
+
...(settings.get('agent.model') ? { model: settings.get('agent.model') } : {}),
|
|
490
|
+
...(settings.get('agent.provider') ? { provider: settings.get('agent.provider') } : {}),
|
|
491
|
+
...(settings.get('agent.reasoningEffort')
|
|
492
|
+
? { reasoningEffort: settings.get('agent.reasoningEffort') }
|
|
493
|
+
: {}),
|
|
494
|
+
...(resumedConversation?.forkedFrom ? { forkedFrom: resumedConversation.forkedFrom } : {}),
|
|
495
|
+
};
|
|
496
|
+
}
|
|
497
|
+
try {
|
|
498
|
+
logWriter.init(buildInitMeta(effectiveSessionId, effectiveCreatedAt));
|
|
394
499
|
}
|
|
500
|
+
catch (err) {
|
|
501
|
+
if (err instanceof LockConflictError) {
|
|
502
|
+
const info = err.lockInfo;
|
|
503
|
+
console.error(`Conversation ${effectiveSessionId} is locked (pid ${info?.pid}, started ${info?.startedAt}, host ${info?.host}).\n` +
|
|
504
|
+
`- If another terminal still has it open, close that one first.\n` +
|
|
505
|
+
`- If a previous run crashed and left the lock behind, fork into a new\n` +
|
|
506
|
+
` conversation that branches from the same state:\n` +
|
|
507
|
+
` term2 --resume ${effectiveSessionId} --fork\n`);
|
|
508
|
+
process.exit(1);
|
|
509
|
+
}
|
|
510
|
+
throw err;
|
|
511
|
+
}
|
|
512
|
+
activeLogWriter = logWriter;
|
|
513
|
+
conversationService.setLogSink((event) => logWriter.append(event));
|
|
514
|
+
// Persist agent-affecting settings changes as they happen.
|
|
515
|
+
settings.onChange((key) => {
|
|
516
|
+
if (!key || !AGENT_AFFECTING_SETTINGS.has(key))
|
|
517
|
+
return;
|
|
518
|
+
logWriter.append({ type: 'settings_changed', key, value: settings.get(key) });
|
|
519
|
+
});
|
|
395
520
|
import { InputProvider } from './context/InputContext.js';
|
|
396
521
|
import { patchStdoutForSynchronizedOutput } from './utils/synchronized-output.js';
|
|
397
522
|
// Enable DEC Mode 2026 synchronized output to prevent flickering in iTerm2.
|
|
398
523
|
// This wraps every stdout.write() in begin/end markers so the terminal
|
|
399
524
|
// buffers the entire Ink render frame and paints it atomically.
|
|
400
525
|
patchStdoutForSynchronizedOutput(process.stdout);
|
|
401
|
-
// Save conversation on exit and print resume command
|
|
402
|
-
let conversationSavedForExit = false;
|
|
403
|
-
const saveAndPrintResume = async (messages) => {
|
|
404
|
-
if (conversationSavedForExit) {
|
|
405
|
-
return;
|
|
406
|
-
}
|
|
407
|
-
conversationSavedForExit = true;
|
|
408
|
-
if (!hasConversationContent(messages)) {
|
|
409
|
-
printUsageOnce();
|
|
410
|
-
return;
|
|
411
|
-
}
|
|
412
|
-
const state = conversationService.exportState();
|
|
413
|
-
const model = settings.get('agent.model');
|
|
414
|
-
const provider = settings.get('agent.provider');
|
|
415
|
-
const reasoningEffortVal = settings.get('agent.reasoningEffort');
|
|
416
|
-
saveConversation({
|
|
417
|
-
id: effectiveSessionId,
|
|
418
|
-
createdAt: effectiveCreatedAt,
|
|
419
|
-
updatedAt: new Date().toISOString(),
|
|
420
|
-
projectPath: executionContext.getCwd(),
|
|
421
|
-
appMode: {
|
|
422
|
-
mentorMode: settings.get('app.mentorMode') ?? false,
|
|
423
|
-
liteMode: settings.get('app.liteMode') ?? false,
|
|
424
|
-
planMode: settings.get('app.planMode') ?? false,
|
|
425
|
-
orchestratorMode: settings.get('app.orchestratorMode') ?? false,
|
|
426
|
-
},
|
|
427
|
-
model,
|
|
428
|
-
provider,
|
|
429
|
-
reasoningEffort: reasoningEffortVal ?? undefined,
|
|
430
|
-
previousResponseId: state.previousResponseId,
|
|
431
|
-
history: state.history,
|
|
432
|
-
messages: messages,
|
|
433
|
-
});
|
|
434
|
-
const resumeCmd = getResumeCommand(effectiveSessionId);
|
|
435
|
-
printUsageOnce();
|
|
436
|
-
console.log(`\nTo resume this conversation: ${resumeCmd}`);
|
|
437
|
-
};
|
|
438
|
-
// Register the save callback for SIGINT handling
|
|
439
|
-
saveConversationOnExit = saveAndPrintResume;
|
|
440
526
|
const { waitUntilExit } = render((React.createElement(InputProvider, null,
|
|
441
|
-
React.createElement(App, { conversationService: conversationService, settingsService: settings, historyService: history, loggingService: logger, sshInfo: sshInfo, sshService: sshService, usageAccumulator: sessionUsageAccumulator, onPrintUsage: printUsage, onExitUsage: printUsageOnce, sessionId: effectiveSessionId, initialMessages: initialMessages,
|
|
442
|
-
|
|
527
|
+
React.createElement(App, { conversationService: conversationService, settingsService: settings, historyService: history, loggingService: logger, sshInfo: sshInfo, sshService: sshService, usageAccumulator: sessionUsageAccumulator, subagentUsageAccumulator: subagentUsageAccumulator, onPrintUsage: printUsage, onExitUsage: printUsageOnce, sessionId: effectiveSessionId, initialMessages: initialMessages, logWriter: logWriter, onRotateWriter: (newId) => {
|
|
528
|
+
logWriter.append({ type: 'session_cleared' });
|
|
529
|
+
logWriter.rotate(newId, buildInitMeta(newId, new Date().toISOString()));
|
|
530
|
+
effectiveHasConversationContent = false;
|
|
531
|
+
}, generateId: generateId, onSessionIdChange: (newId, createdAt) => {
|
|
532
|
+
effectiveSessionId = newId;
|
|
533
|
+
effectiveCreatedAt = createdAt;
|
|
534
|
+
}, onHasConversationContent: (hasContent) => {
|
|
535
|
+
effectiveHasConversationContent = hasContent;
|
|
443
536
|
} }))), getInkRenderOptions());
|
|
444
537
|
await waitUntilExit();
|
|
445
|
-
await
|
|
538
|
+
await logWriter.close();
|
|
539
|
+
activeLogWriter = null;
|
|
540
|
+
const resumeCmd = getResumeCommand(effectiveSessionId, sshFlag, sshInfo?.remoteDir, cli.flags.sshPort);
|
|
541
|
+
printUsageOnce();
|
|
542
|
+
if (effectiveHasConversationContent) {
|
|
543
|
+
console.log(`\nTo resume this conversation: ${resumeCmd}`);
|
|
544
|
+
}
|
|
446
545
|
process.exit(0);
|
|
447
546
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../source/cli.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../source/cli.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../source/components/Banner.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAIlC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,UAAU,WAAW;IACnB,eAAe,EAAE,eAAe,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,QAAA,MAAM,MAAM,EAAE,EAAE,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../source/components/Banner.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAIlC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,UAAU,WAAW;IACnB,eAAe,EAAE,eAAe,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,QAAA,MAAM,MAAM,EAAE,EAAE,CAAC,WAAW,CAiI3B,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -5,6 +5,8 @@ import { getProvider } from '../providers/index.js';
|
|
|
5
5
|
const Banner = ({ settingsService, isShellMode = false }) => {
|
|
6
6
|
const mentorMode = useSetting(settingsService, 'app.mentorMode') ?? false;
|
|
7
7
|
const liteMode = useSetting(settingsService, 'app.liteMode') ?? false;
|
|
8
|
+
const planMode = useSetting(settingsService, 'app.planMode') ?? false;
|
|
9
|
+
const orchestratorMode = useSetting(settingsService, 'app.orchestratorMode') ?? false;
|
|
8
10
|
const model = useSetting(settingsService, 'agent.model');
|
|
9
11
|
const mentorModel = useSetting(settingsService, 'agent.mentorModel');
|
|
10
12
|
const providerKey = useSetting(settingsService, 'agent.provider') ?? 'openai';
|
|
@@ -18,29 +20,45 @@ const Banner = ({ settingsService, isShellMode = false }) => {
|
|
|
18
20
|
const purple = '#a78bfa'; // Soft purple for mentor
|
|
19
21
|
const cyan = '#22d3ee'; // Soft cyan for provider
|
|
20
22
|
const lightSlate = '#94a3b8';
|
|
21
|
-
|
|
23
|
+
const Pill = ({ bg, label }) => (React.createElement(Text, { backgroundColor: bg, color: "white", bold: true },
|
|
24
|
+
' ',
|
|
25
|
+
label,
|
|
26
|
+
' '));
|
|
27
|
+
const baseMode = orchestratorMode
|
|
28
|
+
? 'ORCHESTRATOR'
|
|
29
|
+
: planMode
|
|
30
|
+
? 'PLAN'
|
|
31
|
+
: liteMode
|
|
32
|
+
? isShellMode
|
|
33
|
+
? 'SHELL'
|
|
34
|
+
: 'LITE'
|
|
35
|
+
: 'STANDARD';
|
|
36
|
+
const pills = [
|
|
37
|
+
{
|
|
38
|
+
show: true,
|
|
39
|
+
label: baseMode,
|
|
40
|
+
bg: baseMode === 'ORCHESTRATOR'
|
|
41
|
+
? '#be123c'
|
|
42
|
+
: baseMode === 'PLAN'
|
|
43
|
+
? '#0369a1'
|
|
44
|
+
: baseMode === 'SHELL'
|
|
45
|
+
? '#ca8a04'
|
|
46
|
+
: baseMode === 'LITE'
|
|
47
|
+
? '#059669'
|
|
48
|
+
: '#0f766e',
|
|
49
|
+
},
|
|
50
|
+
{ show: mentorMode, label: 'MENTOR', bg: '#7c3aed' },
|
|
51
|
+
];
|
|
52
|
+
return (React.createElement(Box, { flexDirection: "column", width: "100%", borderStyle: "round", borderColor: accent, paddingX: 2, paddingY: 1, marginBottom: 1 },
|
|
22
53
|
React.createElement(Box, { justifyContent: "space-between", alignItems: "center" },
|
|
23
54
|
React.createElement(Box, { alignItems: "center" },
|
|
24
55
|
React.createElement(Text, { color: glow, bold: true }, '▌'),
|
|
25
56
|
React.createElement(Text, { color: accent, bold: true },
|
|
26
57
|
' ',
|
|
27
58
|
"term\u00B2")),
|
|
28
|
-
React.createElement(Box, { gap: 1 },
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"SHELL",
|
|
32
|
-
' ')) : (liteMode && (React.createElement(Text, { backgroundColor: "#059669", color: "white", bold: true },
|
|
33
|
-
' ',
|
|
34
|
-
"LITE",
|
|
35
|
-
' '))),
|
|
36
|
-
mentorMode && (React.createElement(Text, { backgroundColor: "#7c3aed", color: "white", bold: true },
|
|
37
|
-
' ',
|
|
38
|
-
"MENTOR",
|
|
39
|
-
' ')),
|
|
40
|
-
!mentorMode && !liteMode && (React.createElement(Text, { backgroundColor: "#0f766e", color: "white", bold: true },
|
|
41
|
-
' ',
|
|
42
|
-
"STANDARD",
|
|
43
|
-
' ')))),
|
|
59
|
+
React.createElement(Box, { gap: 1 }, pills
|
|
60
|
+
.filter((p) => p.show)
|
|
61
|
+
.map((p) => (React.createElement(Pill, { key: p.label, bg: p.bg, label: p.label }))))),
|
|
44
62
|
React.createElement(Box, { justifyContent: "space-between", marginTop: 1, flexWrap: "wrap" },
|
|
45
63
|
React.createElement(Box, { flexDirection: "column", marginRight: 3 },
|
|
46
64
|
React.createElement(Text, { color: slate },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Banner.js","sourceRoot":"","sources":["../../source/components/Banner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAQpD,MAAM,MAAM,GAAoB,CAAC,EAAE,eAAe,EAAE,WAAW,GAAG,KAAK,EAAE,EAAE,EAAE;IAC3E,MAAM,UAAU,GAAG,UAAU,CAAU,eAAe,EAAE,gBAAgB,CAAC,IAAI,KAAK,CAAC;IACnF,MAAM,QAAQ,GAAG,UAAU,CAAU,eAAe,EAAE,cAAc,CAAC,IAAI,KAAK,CAAC;IAC/E,MAAM,KAAK,GAAG,UAAU,CAAS,eAAe,EAAE,aAAa,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,UAAU,CAAS,eAAe,EAAE,mBAAmB,CAAC,CAAC;IAC7E,MAAM,WAAW,GAAG,UAAU,CAAS,eAAe,EAAE,gBAAgB,CAAC,IAAI,QAAQ,CAAC;IACtF,MAAM,eAAe,GAAG,UAAU,CAAS,eAAe,EAAE,uBAAuB,CAAC,IAAI,SAAS,CAAC;IAClG,MAAM,qBAAqB,GAAG,UAAU,CAAS,eAAe,EAAE,6BAA6B,CAAC,IAAI,SAAS,CAAC;IAE9G,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,WAAW,EAAE,KAAK,IAAI,WAAW,CAAC;IAExD,MAAM,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,IAAI,GAAG,SAAS,CAAC;IACvB,MAAM,KAAK,GAAG,SAAS,CAAC;IACxB,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,yBAAyB;IACnD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,yBAAyB;IACjD,MAAM,UAAU,GAAG,SAAS,CAAC;IAE7B,
|
|
1
|
+
{"version":3,"file":"Banner.js","sourceRoot":"","sources":["../../source/components/Banner.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import React, { FC } from 'react';
|
|
2
|
+
import type { HandoffState } from '../app.js';
|
|
2
3
|
import type { SlashCommand } from '../slash-commands.js';
|
|
3
4
|
import type { SettingsService } from '../services/settings-service.js';
|
|
4
5
|
import type { LoggingService } from '../services/logging-service.js';
|
|
5
6
|
import type { HistoryService } from '../services/history-service.js';
|
|
6
7
|
import type { SSHInfo } from '../hooks/use-shell-mode.js';
|
|
7
8
|
import type { NormalizedUsage } from '../utils/token-usage.js';
|
|
9
|
+
import type { CodexRateLimitInfo } from '../services/conversation-events.js';
|
|
8
10
|
import type { PendingApproval } from '../contracts/conversation.js';
|
|
9
11
|
import type { UserTurn } from '../types/user-turn.js';
|
|
10
12
|
import type { UndoItem } from '../hooks/use-undo-selection.js';
|
|
@@ -15,9 +17,9 @@ export type BottomAreaProps = {
|
|
|
15
17
|
isProcessing: boolean;
|
|
16
18
|
isShellMode?: boolean;
|
|
17
19
|
lastUsage?: NormalizedUsage | null;
|
|
20
|
+
lastCodexRateLimit?: CodexRateLimitInfo | null;
|
|
18
21
|
onSubmit: (value: UserTurn) => Promise<void>;
|
|
19
22
|
slashCommands: SlashCommand[];
|
|
20
|
-
hasConversationHistory: boolean;
|
|
21
23
|
settingsService: SettingsService;
|
|
22
24
|
loggingService: LoggingService;
|
|
23
25
|
historyService: HistoryService;
|
|
@@ -29,6 +31,10 @@ export type BottomAreaProps = {
|
|
|
29
31
|
} | null>;
|
|
30
32
|
onUndoSelect?: (item: UndoItem) => void;
|
|
31
33
|
onSettingChange?: (key: string, value: any) => void;
|
|
34
|
+
handoffState?: HandoffState | null;
|
|
35
|
+
onHandoffConfirm?: () => void;
|
|
36
|
+
onHandoffDecline?: () => void;
|
|
37
|
+
onHandoffCancel?: () => void;
|
|
32
38
|
};
|
|
33
39
|
declare const BottomArea: FC<BottomAreaProps>;
|
|
34
40
|
export default BottomArea;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomArea.d.ts","sourceRoot":"","sources":["../../source/components/BottomArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,EAAuB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"BottomArea.d.ts","sourceRoot":"","sources":["../../source/components/BottomArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,EAAuB,MAAM,OAAO,CAAC;AAMvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE/D,MAAM,MAAM,eAAe,GAAG;IAC5B,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,yBAAyB,EAAE,OAAO,CAAC;IACnC,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,kBAAkB,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC/C,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC;QAAE,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IACnF,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACpD,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAEF,QAAA,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAkFnC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -3,7 +3,8 @@ import { Box, Text } from 'ink';
|
|
|
3
3
|
import ApprovalPrompt from './ApprovalPrompt.js';
|
|
4
4
|
import InputBox from './InputBox.js';
|
|
5
5
|
import StatusBar from './StatusBar.js';
|
|
6
|
-
|
|
6
|
+
import HandoffConfirmationPrompt from './HandoffConfirmationPrompt.js';
|
|
7
|
+
const BottomArea = ({ pendingApproval, waitingForApproval, waitingForRejectionReason, isProcessing, isShellMode = false, onSubmit, slashCommands, settingsService, loggingService, historyService, onApprove, onReject, sshInfo, lastUsage, lastCodexRateLimit, undoMenuRef, onUndoSelect, onSettingChange, handoffState, onHandoffConfirm, onHandoffDecline, onHandoffCancel, }) => {
|
|
7
8
|
const [dotCount, setDotCount] = useState(1);
|
|
8
9
|
useEffect(() => {
|
|
9
10
|
if (!isProcessing) {
|
|
@@ -15,13 +16,14 @@ const BottomArea = ({ pendingApproval, waitingForApproval, waitingForRejectionRe
|
|
|
15
16
|
}, 800);
|
|
16
17
|
return () => clearInterval(interval);
|
|
17
18
|
}, [isProcessing]);
|
|
18
|
-
const
|
|
19
|
-
const
|
|
19
|
+
const showHandoffConfirm = handoffState?.stage === 'confirm_model';
|
|
20
|
+
const showApprovalPrompt = !showHandoffConfirm && waitingForApproval && !isProcessing && !waitingForRejectionReason && pendingApproval;
|
|
21
|
+
const showInput = !showHandoffConfirm && ((!isProcessing && !waitingForApproval) || waitingForRejectionReason);
|
|
20
22
|
return (React.createElement(Box, { flexDirection: "column", width: "100%" },
|
|
21
|
-
React.createElement(Box, { flexDirection: "column", marginTop: 1 }, showApprovalPrompt ? (React.createElement(ApprovalPrompt, { approval: pendingApproval, onApprove: onApprove, onReject: onReject })) : isProcessing ? (React.createElement(Text, { color: "#64748b" },
|
|
23
|
+
React.createElement(Box, { flexDirection: "column", marginTop: 1 }, showHandoffConfirm ? (React.createElement(HandoffConfirmationPrompt, { onConfirm: onHandoffConfirm || (() => { }), onDecline: onHandoffDecline || (() => { }), onCancel: onHandoffCancel || (() => { }) })) : showApprovalPrompt ? (React.createElement(ApprovalPrompt, { approval: pendingApproval, onApprove: onApprove, onReject: onReject })) : isProcessing ? (React.createElement(Text, { color: "#64748b" },
|
|
22
24
|
"processing",
|
|
23
|
-
'.'.repeat(dotCount))) : showInput ? (React.createElement(InputBox, { onSubmit: onSubmit, slashCommands: slashCommands,
|
|
24
|
-
React.createElement(StatusBar, { settingsService: settingsService, isShellMode: isShellMode, sshInfo: sshInfo, lastUsage: lastUsage })));
|
|
25
|
+
'.'.repeat(dotCount))) : showInput ? (React.createElement(InputBox, { onSubmit: onSubmit, slashCommands: slashCommands, waitingForRejectionReason: waitingForRejectionReason, isShellMode: isShellMode, settingsService: settingsService, loggingService: loggingService, historyService: historyService, undoMenuRef: undoMenuRef, onUndoSelect: onUndoSelect, onSettingChange: onSettingChange })) : null),
|
|
26
|
+
React.createElement(StatusBar, { settingsService: settingsService, isShellMode: isShellMode, sshInfo: sshInfo, lastUsage: lastUsage, lastCodexRateLimit: lastCodexRateLimit })));
|
|
25
27
|
};
|
|
26
28
|
export default BottomArea;
|
|
27
29
|
//# sourceMappingURL=BottomArea.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomArea.js","sourceRoot":"","sources":["../../source/components/BottomArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAM,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,SAAS,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"BottomArea.js","sourceRoot":"","sources":["../../source/components/BottomArea.tsx"],"names":[],"mappings":"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"}
|