dexto 1.3.0 ā 1.5.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 +87 -22
- package/dist/agents/agent-registry.json +9 -0
- package/dist/agents/agent-template.yml +2 -2
- package/dist/agents/coding-agent/coding-agent.yml +27 -16
- package/dist/agents/database-agent/database-agent.yml +2 -2
- package/dist/agents/default-agent.yml +9 -7
- package/dist/agents/github-agent/github-agent.yml +2 -2
- package/dist/agents/product-name-researcher/product-name-researcher.yml +2 -2
- package/dist/agents/talk2pdf-agent/talk2pdf-agent.yml +2 -2
- package/dist/analytics/events.d.ts +13 -6
- package/dist/analytics/events.d.ts.map +1 -1
- package/dist/analytics/index.d.ts +1 -1
- package/dist/analytics/index.d.ts.map +1 -1
- package/dist/analytics/index.js +6 -2
- package/dist/api/server-hono.d.ts.map +1 -1
- package/dist/api/server-hono.js +65 -9
- package/dist/cli/cli-subscriber.d.ts +4 -0
- package/dist/cli/cli-subscriber.d.ts.map +1 -1
- package/dist/cli/cli-subscriber.js +47 -3
- package/dist/cli/commands/create-app.d.ts +16 -14
- package/dist/cli/commands/create-app.d.ts.map +1 -1
- package/dist/cli/commands/create-app.js +626 -102
- package/dist/cli/commands/create-image.d.ts +7 -0
- package/dist/cli/commands/create-image.d.ts.map +1 -0
- package/dist/cli/commands/create-image.js +201 -0
- package/dist/cli/commands/helpers/formatters.d.ts.map +1 -1
- package/dist/cli/commands/helpers/formatters.js +9 -8
- package/dist/cli/commands/index.d.ts +2 -1
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +2 -1
- package/dist/cli/commands/init-app.js +7 -7
- package/dist/cli/commands/install.d.ts +0 -3
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +19 -70
- package/dist/cli/commands/interactive-commands/command-parser.d.ts +17 -14
- package/dist/cli/commands/interactive-commands/command-parser.d.ts.map +1 -1
- package/dist/cli/commands/interactive-commands/command-parser.js +7 -22
- package/dist/cli/commands/interactive-commands/commands.d.ts +4 -4
- package/dist/cli/commands/interactive-commands/commands.d.ts.map +1 -1
- package/dist/cli/commands/interactive-commands/commands.js +34 -42
- package/dist/cli/commands/interactive-commands/documentation-commands.d.ts.map +1 -1
- package/dist/cli/commands/interactive-commands/documentation-commands.js +4 -7
- package/dist/cli/commands/interactive-commands/general-commands.d.ts.map +1 -1
- package/dist/cli/commands/interactive-commands/general-commands.js +159 -117
- package/dist/cli/commands/interactive-commands/mcp/index.d.ts +9 -3
- package/dist/cli/commands/interactive-commands/mcp/index.d.ts.map +1 -1
- package/dist/cli/commands/interactive-commands/mcp/index.js +18 -3
- package/dist/cli/commands/interactive-commands/model/index.d.ts +8 -6
- package/dist/cli/commands/interactive-commands/model/index.d.ts.map +1 -1
- package/dist/cli/commands/interactive-commands/model/index.js +18 -6
- package/dist/cli/commands/interactive-commands/prompt-commands.d.ts +3 -2
- package/dist/cli/commands/interactive-commands/prompt-commands.d.ts.map +1 -1
- package/dist/cli/commands/interactive-commands/prompt-commands.js +77 -60
- package/dist/cli/commands/interactive-commands/session/index.d.ts +7 -12
- package/dist/cli/commands/interactive-commands/session/index.d.ts.map +1 -1
- package/dist/cli/commands/interactive-commands/session/index.js +7 -14
- package/dist/cli/commands/interactive-commands/session/session-commands.d.ts +10 -24
- package/dist/cli/commands/interactive-commands/session/session-commands.d.ts.map +1 -1
- package/dist/cli/commands/interactive-commands/session/session-commands.js +16 -371
- package/dist/cli/commands/interactive-commands/system/system-commands.d.ts +1 -0
- package/dist/cli/commands/interactive-commands/system/system-commands.d.ts.map +1 -1
- package/dist/cli/commands/interactive-commands/system/system-commands.js +106 -77
- package/dist/cli/commands/interactive-commands/tool-commands.d.ts +1 -1
- package/dist/cli/commands/interactive-commands/tool-commands.d.ts.map +1 -1
- package/dist/cli/commands/interactive-commands/tool-commands.js +5 -62
- package/dist/cli/commands/interactive-commands/utils/command-output.d.ts +13 -17
- package/dist/cli/commands/interactive-commands/utils/command-output.d.ts.map +1 -1
- package/dist/cli/commands/interactive-commands/utils/command-output.js +18 -37
- package/dist/cli/commands/list-agents.d.ts +2 -2
- package/dist/cli/commands/list-agents.d.ts.map +1 -1
- package/dist/cli/commands/list-agents.js +38 -34
- package/dist/cli/commands/session-commands.js +16 -16
- package/dist/cli/commands/setup.d.ts +13 -5
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +860 -65
- package/dist/cli/commands/uninstall.d.ts.map +1 -1
- package/dist/cli/commands/uninstall.js +4 -6
- package/dist/cli/commands/which.d.ts.map +1 -1
- package/dist/cli/commands/which.js +18 -4
- package/dist/cli/ink-cli/InkCLIRefactored.d.ts +9 -22
- package/dist/cli/ink-cli/InkCLIRefactored.d.ts.map +1 -1
- package/dist/cli/ink-cli/InkCLIRefactored.js +50 -133
- package/dist/cli/ink-cli/components/ApprovalPrompt.d.ts +26 -3
- package/dist/cli/ink-cli/components/ApprovalPrompt.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/ApprovalPrompt.js +182 -45
- package/dist/cli/ink-cli/components/CustomInput.js +1 -1
- package/dist/cli/ink-cli/components/EditableMultiLineInput.js +4 -4
- package/dist/cli/ink-cli/components/ElicitationForm.d.ts +22 -0
- package/dist/cli/ink-cli/components/ElicitationForm.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/ElicitationForm.js +358 -0
- package/dist/cli/ink-cli/components/ErrorBoundary.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/ErrorBoundary.js +1 -1
- package/dist/cli/ink-cli/components/Footer.d.ts +16 -0
- package/dist/cli/ink-cli/components/Footer.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/Footer.js +27 -0
- package/dist/cli/ink-cli/components/HistorySearchBar.d.ts +17 -0
- package/dist/cli/ink-cli/components/HistorySearchBar.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/HistorySearchBar.js +8 -0
- package/dist/cli/ink-cli/components/MultiLineInput.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/MultiLineInput.js +3 -3
- package/dist/cli/ink-cli/components/ResourceAutocomplete.d.ts +15 -2
- package/dist/cli/ink-cli/components/ResourceAutocomplete.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/ResourceAutocomplete.js +126 -82
- package/dist/cli/ink-cli/components/SlashCommandAutocomplete.d.ts +15 -2
- package/dist/cli/ink-cli/components/SlashCommandAutocomplete.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/SlashCommandAutocomplete.js +228 -122
- package/dist/cli/ink-cli/components/StatusBar.d.ts +15 -2
- package/dist/cli/ink-cli/components/StatusBar.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/StatusBar.js +50 -10
- package/dist/cli/ink-cli/components/TextBufferInput.d.ts +52 -0
- package/dist/cli/ink-cli/components/TextBufferInput.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/TextBufferInput.js +471 -0
- package/dist/cli/ink-cli/components/base/BaseAutocomplete.js +4 -4
- package/dist/cli/ink-cli/components/base/BaseSelector.d.ts +11 -1
- package/dist/cli/ink-cli/components/base/BaseSelector.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/base/BaseSelector.js +90 -49
- package/dist/cli/ink-cli/components/chat/Footer.js +1 -1
- package/dist/cli/ink-cli/components/chat/Header.d.ts +1 -0
- package/dist/cli/ink-cli/components/chat/Header.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/chat/Header.js +6 -3
- package/dist/cli/ink-cli/components/chat/MessageItem.d.ts +3 -0
- package/dist/cli/ink-cli/components/chat/MessageItem.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/chat/MessageItem.js +95 -9
- package/dist/cli/ink-cli/components/chat/MessageList.js +1 -1
- package/dist/cli/ink-cli/components/chat/QueuedMessagesDisplay.d.ts +16 -0
- package/dist/cli/ink-cli/components/chat/QueuedMessagesDisplay.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/chat/QueuedMessagesDisplay.js +27 -0
- package/dist/cli/ink-cli/components/chat/ToolIcon.d.ts +5 -3
- package/dist/cli/ink-cli/components/chat/ToolIcon.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/chat/ToolIcon.js +21 -7
- package/dist/cli/ink-cli/components/chat/styled-boxes/ConfigBox.d.ts +10 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/ConfigBox.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/ConfigBox.js +6 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/HelpBox.d.ts +10 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/HelpBox.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/HelpBox.js +15 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/LogConfigBox.d.ts +10 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/LogConfigBox.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/LogConfigBox.js +9 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/SessionHistoryBox.d.ts +10 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/SessionHistoryBox.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/SessionHistoryBox.js +37 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/SessionListBox.d.ts +10 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/SessionListBox.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/SessionListBox.js +9 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/ShortcutsBox.d.ts +10 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/ShortcutsBox.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/ShortcutsBox.js +6 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/StatsBox.d.ts +10 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/StatsBox.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/StatsBox.js +29 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/StyledBox.d.ts +45 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/StyledBox.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/StyledBox.js +38 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/SyspromptBox.d.ts +10 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/SyspromptBox.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/SyspromptBox.js +6 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/index.d.ts +13 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/index.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/chat/styled-boxes/index.js +12 -0
- package/dist/cli/ink-cli/components/input/InputArea.d.ts +36 -8
- package/dist/cli/ink-cli/components/input/InputArea.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/input/InputArea.js +3 -3
- package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.d.ts +25 -0
- package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.js +166 -0
- package/dist/cli/ink-cli/components/modes/StaticCLI.d.ts +27 -0
- package/dist/cli/ink-cli/components/modes/StaticCLI.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/modes/StaticCLI.js +95 -0
- package/dist/cli/ink-cli/components/modes/index.d.ts +10 -0
- package/dist/cli/ink-cli/components/modes/index.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/modes/index.js +9 -0
- package/dist/cli/ink-cli/components/overlays/ApiKeyInput.d.ts +26 -0
- package/dist/cli/ink-cli/components/overlays/ApiKeyInput.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/ApiKeyInput.js +92 -0
- package/dist/cli/ink-cli/components/overlays/CustomModelWizard.d.ts +29 -0
- package/dist/cli/ink-cli/components/overlays/CustomModelWizard.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/CustomModelWizard.js +286 -0
- package/dist/cli/ink-cli/components/overlays/LogLevelSelector.d.ts +22 -0
- package/dist/cli/ink-cli/components/overlays/LogLevelSelector.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/LogLevelSelector.js +59 -0
- package/dist/cli/ink-cli/components/overlays/McpAddChoice.d.ts +22 -0
- package/dist/cli/ink-cli/components/overlays/McpAddChoice.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/McpAddChoice.js +59 -0
- package/dist/cli/ink-cli/components/overlays/McpAddSelector.d.ts +26 -0
- package/dist/cli/ink-cli/components/overlays/McpAddSelector.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/McpAddSelector.js +73 -0
- package/dist/cli/ink-cli/components/overlays/McpCustomTypeSelector.d.ts +21 -0
- package/dist/cli/ink-cli/components/overlays/McpCustomTypeSelector.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/McpCustomTypeSelector.js +51 -0
- package/dist/cli/ink-cli/components/overlays/McpCustomWizard.d.ts +29 -0
- package/dist/cli/ink-cli/components/overlays/McpCustomWizard.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/McpCustomWizard.js +215 -0
- package/dist/cli/ink-cli/components/overlays/McpRemoveSelector.d.ts +22 -0
- package/dist/cli/ink-cli/components/overlays/McpRemoveSelector.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/McpRemoveSelector.js +74 -0
- package/dist/cli/ink-cli/components/overlays/McpSelector.d.ts +21 -0
- package/dist/cli/ink-cli/components/overlays/McpSelector.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/McpSelector.js +52 -0
- package/dist/cli/ink-cli/components/overlays/McpServerActions.d.ts +28 -0
- package/dist/cli/ink-cli/components/overlays/McpServerActions.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/McpServerActions.js +84 -0
- package/dist/cli/ink-cli/components/overlays/McpServerList.d.ts +29 -0
- package/dist/cli/ink-cli/components/overlays/McpServerList.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/McpServerList.js +109 -0
- package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.d.ts +15 -8
- package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.js +400 -23
- package/dist/cli/ink-cli/components/overlays/PromptAddChoice.d.ts +22 -0
- package/dist/cli/ink-cli/components/overlays/PromptAddChoice.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/PromptAddChoice.js +52 -0
- package/dist/cli/ink-cli/components/overlays/PromptAddWizard.d.ts +29 -0
- package/dist/cli/ink-cli/components/overlays/PromptAddWizard.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/PromptAddWizard.js +166 -0
- package/dist/cli/ink-cli/components/overlays/PromptDeleteSelector.d.ts +27 -0
- package/dist/cli/ink-cli/components/overlays/PromptDeleteSelector.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/PromptDeleteSelector.js +119 -0
- package/dist/cli/ink-cli/components/overlays/PromptList.d.ts +33 -0
- package/dist/cli/ink-cli/components/overlays/PromptList.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/PromptList.js +144 -0
- package/dist/cli/ink-cli/components/overlays/SearchOverlay.d.ts +23 -0
- package/dist/cli/ink-cli/components/overlays/SearchOverlay.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/SearchOverlay.js +189 -0
- package/dist/cli/ink-cli/components/overlays/SessionSelectorRefactored.d.ts +7 -2
- package/dist/cli/ink-cli/components/overlays/SessionSelectorRefactored.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/overlays/SessionSelectorRefactored.js +19 -5
- package/dist/cli/ink-cli/components/overlays/SessionSubcommandSelector.d.ts +21 -0
- package/dist/cli/ink-cli/components/overlays/SessionSubcommandSelector.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/SessionSubcommandSelector.js +42 -0
- package/dist/cli/ink-cli/components/overlays/StreamSelector.d.ts +20 -0
- package/dist/cli/ink-cli/components/overlays/StreamSelector.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/StreamSelector.js +58 -0
- package/dist/cli/ink-cli/components/overlays/ToolBrowser.d.ts +25 -0
- package/dist/cli/ink-cli/components/overlays/ToolBrowser.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/ToolBrowser.js +400 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/LocalModelWizard.d.ts +25 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/LocalModelWizard.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/LocalModelWizard.js +609 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/index.d.ts +15 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/index.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/index.js +14 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/provider-config.d.ts +33 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/provider-config.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/provider-config.js +419 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ApiKeyStep.d.ts +25 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ApiKeyStep.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ApiKeyStep.js +29 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ProviderSelector.d.ts +17 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ProviderSelector.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ProviderSelector.js +11 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/SetupInfoBanner.d.ts +20 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/SetupInfoBanner.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/SetupInfoBanner.js +10 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/WizardStepInput.d.ts +30 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/WizardStepInput.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/WizardStepInput.js +13 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/index.d.ts +8 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/index.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/index.js +7 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/types.d.ts +79 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/types.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/types.js +38 -0
- package/dist/cli/ink-cli/components/renderers/DiffRenderer.d.ts +21 -0
- package/dist/cli/ink-cli/components/renderers/DiffRenderer.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/renderers/DiffRenderer.js +65 -0
- package/dist/cli/ink-cli/components/renderers/FilePreviewRenderer.d.ts +28 -0
- package/dist/cli/ink-cli/components/renderers/FilePreviewRenderer.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/renderers/FilePreviewRenderer.js +66 -0
- package/dist/cli/ink-cli/components/renderers/FileRenderer.d.ts +19 -0
- package/dist/cli/ink-cli/components/renderers/FileRenderer.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/renderers/FileRenderer.js +26 -0
- package/dist/cli/ink-cli/components/renderers/GenericRenderer.d.ts +21 -0
- package/dist/cli/ink-cli/components/renderers/GenericRenderer.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/renderers/GenericRenderer.js +26 -0
- package/dist/cli/ink-cli/components/renderers/SearchRenderer.d.ts +20 -0
- package/dist/cli/ink-cli/components/renderers/SearchRenderer.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/renderers/SearchRenderer.js +12 -0
- package/dist/cli/ink-cli/components/renderers/ShellRenderer.d.ts +21 -0
- package/dist/cli/ink-cli/components/renderers/ShellRenderer.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/renderers/ShellRenderer.js +25 -0
- package/dist/cli/ink-cli/components/renderers/diff-shared.d.ts +61 -0
- package/dist/cli/ink-cli/components/renderers/diff-shared.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/renderers/diff-shared.js +158 -0
- package/dist/cli/ink-cli/components/renderers/index.d.ts +28 -0
- package/dist/cli/ink-cli/components/renderers/index.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/renderers/index.js +36 -0
- package/dist/cli/ink-cli/components/shared/MarkdownText.d.ts +38 -0
- package/dist/cli/ink-cli/components/shared/MarkdownText.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/shared/MarkdownText.js +362 -0
- package/dist/cli/ink-cli/components/shared/VirtualizedList.d.ts +44 -0
- package/dist/cli/ink-cli/components/shared/VirtualizedList.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/shared/VirtualizedList.js +300 -0
- package/dist/cli/ink-cli/components/shared/text-buffer.d.ts +185 -0
- package/dist/cli/ink-cli/components/shared/text-buffer.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/shared/text-buffer.js +1338 -0
- package/dist/cli/ink-cli/constants/processingPhrases.d.ts +10 -0
- package/dist/cli/ink-cli/constants/processingPhrases.d.ts.map +1 -0
- package/dist/cli/ink-cli/constants/processingPhrases.js +64 -0
- package/dist/cli/ink-cli/constants/tips.d.ts +15 -0
- package/dist/cli/ink-cli/constants/tips.d.ts.map +1 -0
- package/dist/cli/ink-cli/constants/tips.js +53 -0
- package/dist/cli/ink-cli/containers/InputContainer.d.ts +42 -8
- package/dist/cli/ink-cli/containers/InputContainer.d.ts.map +1 -1
- package/dist/cli/ink-cli/containers/InputContainer.js +513 -85
- package/dist/cli/ink-cli/containers/OverlayContainer.d.ts +23 -5
- package/dist/cli/ink-cli/containers/OverlayContainer.d.ts.map +1 -1
- package/dist/cli/ink-cli/containers/OverlayContainer.js +1214 -132
- package/dist/cli/ink-cli/containers/index.d.ts +1 -1
- package/dist/cli/ink-cli/containers/index.d.ts.map +1 -1
- package/dist/cli/ink-cli/contexts/KeypressContext.d.ts +36 -0
- package/dist/cli/ink-cli/contexts/KeypressContext.d.ts.map +1 -0
- package/dist/cli/ink-cli/contexts/KeypressContext.js +461 -0
- package/dist/cli/ink-cli/contexts/MouseContext.d.ts +27 -0
- package/dist/cli/ink-cli/contexts/MouseContext.d.ts.map +1 -0
- package/dist/cli/ink-cli/contexts/MouseContext.js +102 -0
- package/dist/cli/ink-cli/contexts/ScrollProvider.d.ts +33 -0
- package/dist/cli/ink-cli/contexts/ScrollProvider.d.ts.map +1 -0
- package/dist/cli/ink-cli/contexts/ScrollProvider.js +170 -0
- package/dist/cli/ink-cli/contexts/index.d.ts +7 -0
- package/dist/cli/ink-cli/contexts/index.d.ts.map +1 -0
- package/dist/cli/ink-cli/contexts/index.js +6 -0
- package/dist/cli/ink-cli/hooks/index.d.ts +5 -0
- package/dist/cli/ink-cli/hooks/index.d.ts.map +1 -1
- package/dist/cli/ink-cli/hooks/index.js +6 -1
- package/dist/cli/ink-cli/hooks/useAgentEvents.d.ts +26 -9
- package/dist/cli/ink-cli/hooks/useAgentEvents.d.ts.map +1 -1
- package/dist/cli/ink-cli/hooks/useAgentEvents.js +90 -198
- package/dist/cli/ink-cli/hooks/useBatchedScroll.d.ts +14 -0
- package/dist/cli/ink-cli/hooks/useBatchedScroll.d.ts.map +1 -0
- package/dist/cli/ink-cli/hooks/useBatchedScroll.js +25 -0
- package/dist/cli/ink-cli/hooks/useCLIState.d.ts +50 -0
- package/dist/cli/ink-cli/hooks/useCLIState.d.ts.map +1 -0
- package/dist/cli/ink-cli/hooks/useCLIState.js +190 -0
- package/dist/cli/ink-cli/hooks/useElapsedTime.d.ts +24 -0
- package/dist/cli/ink-cli/hooks/useElapsedTime.d.ts.map +1 -0
- package/dist/cli/ink-cli/hooks/useElapsedTime.js +69 -0
- package/dist/cli/ink-cli/hooks/useHistorySearch.d.ts +61 -0
- package/dist/cli/ink-cli/hooks/useHistorySearch.d.ts.map +1 -0
- package/dist/cli/ink-cli/hooks/useHistorySearch.js +210 -0
- package/dist/cli/ink-cli/hooks/useInputOrchestrator.d.ts +136 -0
- package/dist/cli/ink-cli/hooks/useInputOrchestrator.d.ts.map +1 -0
- package/dist/cli/ink-cli/hooks/useInputOrchestrator.js +663 -0
- package/dist/cli/ink-cli/hooks/useKeyboardShortcuts.d.ts.map +1 -1
- package/dist/cli/ink-cli/hooks/useKeyboardShortcuts.js +7 -26
- package/dist/cli/ink-cli/hooks/useKeypress.d.ts +18 -0
- package/dist/cli/ink-cli/hooks/useKeypress.d.ts.map +1 -0
- package/dist/cli/ink-cli/hooks/useKeypress.js +26 -0
- package/dist/cli/ink-cli/hooks/usePhraseCycler.d.ts +30 -0
- package/dist/cli/ink-cli/hooks/usePhraseCycler.d.ts.map +1 -0
- package/dist/cli/ink-cli/hooks/usePhraseCycler.js +68 -0
- package/dist/cli/ink-cli/hooks/useStreaming.d.ts +19 -0
- package/dist/cli/ink-cli/hooks/useStreaming.d.ts.map +1 -0
- package/dist/cli/ink-cli/hooks/useStreaming.js +26 -0
- package/dist/cli/ink-cli/hooks/useTerminalSize.d.ts +14 -0
- package/dist/cli/ink-cli/hooks/useTerminalSize.d.ts.map +1 -0
- package/dist/cli/ink-cli/hooks/useTerminalSize.js +31 -0
- package/dist/cli/ink-cli/hooks/useTokenCounter.d.ts +42 -0
- package/dist/cli/ink-cli/hooks/useTokenCounter.d.ts.map +1 -0
- package/dist/cli/ink-cli/hooks/useTokenCounter.js +96 -0
- package/dist/cli/ink-cli/services/CommandService.d.ts +32 -1
- package/dist/cli/ink-cli/services/CommandService.d.ts.map +1 -1
- package/dist/cli/ink-cli/services/CommandService.js +36 -5
- package/dist/cli/ink-cli/services/InputService.d.ts +1 -5
- package/dist/cli/ink-cli/services/InputService.d.ts.map +1 -1
- package/dist/cli/ink-cli/services/InputService.js +1 -8
- package/dist/cli/ink-cli/services/index.d.ts +2 -1
- package/dist/cli/ink-cli/services/index.d.ts.map +1 -1
- package/dist/cli/ink-cli/services/index.js +2 -1
- package/dist/cli/ink-cli/services/processStream.d.ts +69 -0
- package/dist/cli/ink-cli/services/processStream.d.ts.map +1 -0
- package/dist/cli/ink-cli/services/processStream.js +742 -0
- package/dist/cli/ink-cli/state/actions.d.ts +30 -60
- package/dist/cli/ink-cli/state/actions.d.ts.map +1 -1
- package/dist/cli/ink-cli/state/actions.js +3 -0
- package/dist/cli/ink-cli/state/index.d.ts +5 -3
- package/dist/cli/ink-cli/state/index.d.ts.map +1 -1
- package/dist/cli/ink-cli/state/index.js +4 -3
- package/dist/cli/ink-cli/state/initialState.d.ts +4 -3
- package/dist/cli/ink-cli/state/initialState.d.ts.map +1 -1
- package/dist/cli/ink-cli/state/initialState.js +20 -4
- package/dist/cli/ink-cli/state/reducer.d.ts +3 -0
- package/dist/cli/ink-cli/state/reducer.d.ts.map +1 -1
- package/dist/cli/ink-cli/state/reducer.js +62 -168
- package/dist/cli/ink-cli/state/streaming-state.d.ts +27 -0
- package/dist/cli/ink-cli/state/streaming-state.d.ts.map +1 -0
- package/dist/cli/ink-cli/state/streaming-state.js +39 -0
- package/dist/cli/ink-cli/state/types.d.ts +223 -6
- package/dist/cli/ink-cli/state/types.d.ts.map +1 -1
- package/dist/cli/ink-cli/utils/bracketedPaste.d.ts +22 -0
- package/dist/cli/ink-cli/utils/bracketedPaste.d.ts.map +1 -0
- package/dist/cli/ink-cli/utils/bracketedPaste.js +27 -0
- package/dist/cli/ink-cli/utils/clipboardUtils.d.ts +49 -0
- package/dist/cli/ink-cli/utils/clipboardUtils.d.ts.map +1 -0
- package/dist/cli/ink-cli/utils/clipboardUtils.js +356 -0
- package/dist/cli/ink-cli/utils/commandOverlays.d.ts +33 -0
- package/dist/cli/ink-cli/utils/commandOverlays.d.ts.map +1 -0
- package/dist/cli/ink-cli/utils/commandOverlays.js +78 -0
- package/dist/cli/ink-cli/utils/debugLog.d.ts +38 -0
- package/dist/cli/ink-cli/utils/debugLog.d.ts.map +1 -0
- package/dist/cli/ink-cli/utils/debugLog.js +66 -0
- package/dist/cli/ink-cli/utils/index.d.ts +2 -1
- package/dist/cli/ink-cli/utils/index.d.ts.map +1 -1
- package/dist/cli/ink-cli/utils/index.js +3 -1
- package/dist/cli/ink-cli/utils/input.d.ts +25 -0
- package/dist/cli/ink-cli/utils/input.d.ts.map +1 -0
- package/dist/cli/ink-cli/utils/input.js +56 -0
- package/dist/cli/ink-cli/utils/inputParsing.d.ts +0 -9
- package/dist/cli/ink-cli/utils/inputParsing.d.ts.map +1 -1
- package/dist/cli/ink-cli/utils/inputParsing.js +0 -27
- package/dist/cli/ink-cli/utils/messageFormatting.d.ts +59 -3
- package/dist/cli/ink-cli/utils/messageFormatting.d.ts.map +1 -1
- package/dist/cli/ink-cli/utils/messageFormatting.js +348 -20
- package/dist/cli/ink-cli/utils/mouse.d.ts +61 -0
- package/dist/cli/ink-cli/utils/mouse.d.ts.map +1 -0
- package/dist/cli/ink-cli/utils/mouse.js +209 -0
- package/dist/cli/ink-cli/utils/streamSplitter.d.ts +44 -0
- package/dist/cli/ink-cli/utils/streamSplitter.d.ts.map +1 -0
- package/dist/cli/ink-cli/utils/streamSplitter.js +154 -0
- package/dist/cli/ink-cli/utils/textUtils.d.ts +63 -0
- package/dist/cli/ink-cli/utils/textUtils.d.ts.map +1 -0
- package/dist/cli/ink-cli/utils/textUtils.js +248 -0
- package/dist/cli/ink-cli/utils/toolUtils.d.ts +9 -0
- package/dist/cli/ink-cli/utils/toolUtils.d.ts.map +1 -0
- package/dist/cli/ink-cli/utils/toolUtils.js +15 -0
- package/dist/cli/utils/api-key-setup.d.ts +54 -4
- package/dist/cli/utils/api-key-setup.d.ts.map +1 -1
- package/dist/cli/utils/api-key-setup.js +433 -107
- package/dist/cli/utils/api-key-verification.d.ts +17 -0
- package/dist/cli/utils/api-key-verification.d.ts.map +1 -0
- package/dist/cli/utils/api-key-verification.js +211 -0
- package/dist/cli/utils/config-validation.d.ts +22 -2
- package/dist/cli/utils/config-validation.d.ts.map +1 -1
- package/dist/cli/utils/config-validation.js +354 -25
- package/dist/cli/utils/local-model-setup.d.ts +46 -0
- package/dist/cli/utils/local-model-setup.d.ts.map +1 -0
- package/dist/cli/utils/local-model-setup.js +662 -0
- package/dist/cli/utils/options.d.ts.map +1 -1
- package/dist/cli/utils/options.js +1 -3
- package/dist/cli/utils/prompt-helpers.d.ts +47 -0
- package/dist/cli/utils/prompt-helpers.d.ts.map +1 -0
- package/dist/cli/utils/prompt-helpers.js +66 -0
- package/dist/cli/utils/provider-setup.d.ts +66 -8
- package/dist/cli/utils/provider-setup.d.ts.map +1 -1
- package/dist/cli/utils/provider-setup.js +324 -84
- package/dist/cli/utils/scaffolding-utils.d.ts +76 -0
- package/dist/cli/utils/scaffolding-utils.d.ts.map +1 -0
- package/dist/cli/utils/scaffolding-utils.js +246 -0
- package/dist/cli/utils/setup-utils.d.ts +16 -0
- package/dist/cli/utils/setup-utils.d.ts.map +1 -1
- package/dist/cli/utils/setup-utils.js +72 -21
- package/dist/cli/utils/template-engine.d.ts +65 -0
- package/dist/cli/utils/template-engine.d.ts.map +1 -0
- package/dist/cli/utils/template-engine.js +1089 -0
- package/dist/config/cli-overrides.d.ts +45 -2
- package/dist/config/cli-overrides.d.ts.map +1 -1
- package/dist/config/cli-overrides.js +107 -10
- package/dist/index.js +379 -99
- package/dist/utils/agent-helpers.d.ts +95 -0
- package/dist/utils/agent-helpers.d.ts.map +1 -0
- package/dist/utils/agent-helpers.js +117 -0
- package/dist/webui/assets/index-8j-KMkX1.js +2054 -0
- package/dist/webui/assets/index-c_AX24V4.css +1 -0
- package/dist/webui/assets/{tanstack-DgxBONJY.js ā tanstack-Br79RQ-n.js} +1 -1
- package/dist/webui/index.html +4 -10
- package/dist/webui/logos/aws-color.svg +1 -0
- package/dist/webui/logos/dexto/dexto_logo.svg +1 -1
- package/dist/webui/logos/dexto/dexto_logo_light.svg +6 -6
- package/dist/webui/logos/glama.svg +7 -0
- package/dist/webui/logos/litellm.svg +7 -0
- package/dist/webui/logos/openrouter.svg +1 -0
- package/package.json +18 -15
- package/dist/cli/commands/interactive-commands/index.d.ts +0 -63
- package/dist/cli/commands/interactive-commands/index.d.ts.map +0 -1
- package/dist/cli/commands/interactive-commands/index.js +0 -73
- package/dist/cli/commands/interactive-commands/mcp/mcp-add-utils.d.ts +0 -34
- package/dist/cli/commands/interactive-commands/mcp/mcp-add-utils.d.ts.map +0 -1
- package/dist/cli/commands/interactive-commands/mcp/mcp-add-utils.js +0 -178
- package/dist/cli/commands/interactive-commands/mcp/mcp-commands.d.ts +0 -9
- package/dist/cli/commands/interactive-commands/mcp/mcp-commands.d.ts.map +0 -1
- package/dist/cli/commands/interactive-commands/mcp/mcp-commands.js +0 -325
- package/dist/cli/commands/interactive-commands/model/model-commands.d.ts +0 -21
- package/dist/cli/commands/interactive-commands/model/model-commands.d.ts.map +0 -1
- package/dist/cli/commands/interactive-commands/model/model-commands.js +0 -190
- package/dist/cli/ink-cli/components/MultiLineTextInput.d.ts +0 -26
- package/dist/cli/ink-cli/components/MultiLineTextInput.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/MultiLineTextInput.js +0 -220
- package/dist/discord/bot.d.ts +0 -4
- package/dist/discord/bot.d.ts.map +0 -1
- package/dist/discord/bot.js +0 -193
- package/dist/telegram/bot.d.ts +0 -5
- package/dist/telegram/bot.d.ts.map +0 -1
- package/dist/telegram/bot.js +0 -251
- package/dist/webui/assets/index-DKq5Xng1.js +0 -687
- package/dist/webui/assets/index-D_0_GBu5.css +0 -1
|
@@ -1,237 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Session Management Commands
|
|
2
|
+
* Session Management Commands (Interactive CLI)
|
|
3
3
|
*
|
|
4
|
-
* This module contains
|
|
5
|
-
*
|
|
6
|
-
* and searching sessions.
|
|
4
|
+
* This module contains session-related commands for the interactive CLI.
|
|
5
|
+
* Session management in interactive mode uses overlays/selectors rather than subcommands.
|
|
7
6
|
*
|
|
8
|
-
*
|
|
9
|
-
* -
|
|
10
|
-
* -
|
|
11
|
-
* - switch: Switch to a different session
|
|
12
|
-
* - current: Show current active session info
|
|
13
|
-
* - delete: Delete a session (cannot delete active session)
|
|
14
|
-
* - help: Show detailed help for session commands
|
|
7
|
+
* Commands:
|
|
8
|
+
* - resume: Shows interactive session selector
|
|
9
|
+
* - search: Opens interactive search overlay
|
|
15
10
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* - search: Search session history across sessions
|
|
11
|
+
* Note: For headless CLI session management (list, history, delete),
|
|
12
|
+
* see src/cli/commands/session-commands.ts
|
|
19
13
|
*/
|
|
20
14
|
import chalk from 'chalk';
|
|
21
|
-
import { logger } from '@dexto/core';
|
|
22
|
-
import { getCLISessionId } from '../command-parser.js';
|
|
23
|
-
import { formatSessionInfo, formatHistoryMessage } from '../../helpers/formatters.js';
|
|
24
|
-
import { CommandOutputHelper } from '../utils/command-output.js';
|
|
25
|
-
/**
|
|
26
|
-
* Escape special regex characters in a string to prevent ReDoS attacks
|
|
27
|
-
*/
|
|
28
|
-
function escapeRegExp(string) {
|
|
29
|
-
return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Helper to get current session info from CLI context
|
|
33
|
-
*/
|
|
34
|
-
async function getCurrentSessionInfo(agent) {
|
|
35
|
-
const currentId = getCLISessionId(agent);
|
|
36
|
-
if (!currentId) {
|
|
37
|
-
return null;
|
|
38
|
-
}
|
|
39
|
-
const metadata = await agent.getSessionMetadata(currentId);
|
|
40
|
-
return { id: currentId, metadata };
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Helper to display session history with consistent formatting
|
|
44
|
-
*/
|
|
45
|
-
async function displaySessionHistory(sessionId, agent) {
|
|
46
|
-
console.log(chalk.blue(`\nš¬ Session History for: ${chalk.bold(sessionId)}\n`));
|
|
47
|
-
const history = await agent.getSessionHistory(sessionId);
|
|
48
|
-
if (history.length === 0) {
|
|
49
|
-
console.log(chalk.dim(' No messages in this session yet.\n'));
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
// Display each message with formatting
|
|
53
|
-
history.forEach((message, index) => {
|
|
54
|
-
console.log(formatHistoryMessage(message, index));
|
|
55
|
-
});
|
|
56
|
-
console.log(chalk.dim(`\n Total: ${history.length} messages`));
|
|
57
|
-
console.log(chalk.dim(' š” Use /clear to reset session or dexto -r <id> to resume a different session\n'));
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Session management commands
|
|
61
|
-
*/
|
|
62
|
-
export const sessionCommand = {
|
|
63
|
-
name: 'session',
|
|
64
|
-
description: 'Manage chat sessions',
|
|
65
|
-
usage: '/session <subcommand> [args]',
|
|
66
|
-
category: 'Session Management',
|
|
67
|
-
aliases: ['s'],
|
|
68
|
-
subcommands: [
|
|
69
|
-
{
|
|
70
|
-
name: 'list',
|
|
71
|
-
description: 'List all sessions',
|
|
72
|
-
usage: '/session list',
|
|
73
|
-
handler: async (args, agent) => {
|
|
74
|
-
try {
|
|
75
|
-
console.log(chalk.bold.blue('\nš Sessions:\n'));
|
|
76
|
-
const sessionIds = await agent.listSessions();
|
|
77
|
-
const current = await getCurrentSessionInfo(agent);
|
|
78
|
-
if (sessionIds.length === 0) {
|
|
79
|
-
return CommandOutputHelper.info('š No sessions found.\n Run `dexto` to start a new session, or use `dexto -r <id>` to resume.');
|
|
80
|
-
}
|
|
81
|
-
// Fetch metadata concurrently; errors do not abort listing
|
|
82
|
-
const entries = await Promise.all(sessionIds.map(async (id) => {
|
|
83
|
-
try {
|
|
84
|
-
const metadata = await agent.getSessionMetadata(id);
|
|
85
|
-
return { id, metadata };
|
|
86
|
-
}
|
|
87
|
-
catch (e) {
|
|
88
|
-
logger.error(`Failed to fetch metadata for session ${id}: ${e instanceof Error ? e.message : String(e)}`, null, 'red');
|
|
89
|
-
return { id, metadata: undefined };
|
|
90
|
-
}
|
|
91
|
-
}));
|
|
92
|
-
let displayed = 0;
|
|
93
|
-
for (const { id, metadata } of entries) {
|
|
94
|
-
if (!metadata)
|
|
95
|
-
continue;
|
|
96
|
-
const isCurrent = current ? id === current.id : false;
|
|
97
|
-
console.log(` ${formatSessionInfo(id, metadata, isCurrent)}`);
|
|
98
|
-
displayed++;
|
|
99
|
-
}
|
|
100
|
-
console.log(chalk.dim(`\n Total: ${displayed} of ${sessionIds.length} sessions`));
|
|
101
|
-
console.log(chalk.dim(' š” Use /resume to pick a session\n'));
|
|
102
|
-
return CommandOutputHelper.noOutput(); // List is displayed above
|
|
103
|
-
}
|
|
104
|
-
catch (error) {
|
|
105
|
-
return CommandOutputHelper.error(error, 'Failed to list sessions');
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
name: 'history',
|
|
111
|
-
description: 'Show session history for current session',
|
|
112
|
-
usage: '/session history [sessionId]',
|
|
113
|
-
aliases: ['h'],
|
|
114
|
-
handler: async (args, agent) => {
|
|
115
|
-
try {
|
|
116
|
-
// Use provided session ID or current session from CLI context
|
|
117
|
-
const currentSessionId = getCLISessionId(agent);
|
|
118
|
-
const sessionId = args.length > 0 && args[0] ? args[0] : currentSessionId;
|
|
119
|
-
if (!sessionId) {
|
|
120
|
-
return CommandOutputHelper.error(new Error('No session available. Create a session first.'));
|
|
121
|
-
}
|
|
122
|
-
await displaySessionHistory(sessionId, agent);
|
|
123
|
-
return CommandOutputHelper.noOutput(); // History is displayed by displaySessionHistory
|
|
124
|
-
}
|
|
125
|
-
catch (error) {
|
|
126
|
-
if (error instanceof Error && error.message.includes('not found')) {
|
|
127
|
-
return CommandOutputHelper.error(new Error(`Session not found: ${args[0] || 'current'}\n Use /session list to see available sessions`));
|
|
128
|
-
}
|
|
129
|
-
return CommandOutputHelper.error(error, 'Failed to get session history');
|
|
130
|
-
}
|
|
131
|
-
},
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
name: 'delete',
|
|
135
|
-
description: 'Delete a session',
|
|
136
|
-
usage: '/session delete <id>',
|
|
137
|
-
handler: async (args, agent) => {
|
|
138
|
-
const validationError = CommandOutputHelper.validateRequiredArg(args, 0, 'Session ID', '/session delete <id>');
|
|
139
|
-
if (validationError)
|
|
140
|
-
return validationError;
|
|
141
|
-
const sessionId = args[0];
|
|
142
|
-
try {
|
|
143
|
-
const current = await getCurrentSessionInfo(agent);
|
|
144
|
-
// Check if trying to delete current session
|
|
145
|
-
if (current && sessionId === current.id) {
|
|
146
|
-
return CommandOutputHelper.warning('ā ļø Cannot delete the currently active session.\n Switch to another session first, then delete this one.');
|
|
147
|
-
}
|
|
148
|
-
await agent.deleteSession(sessionId);
|
|
149
|
-
return CommandOutputHelper.success(`ā
Deleted session: ${sessionId.slice(0, 8)}`);
|
|
150
|
-
}
|
|
151
|
-
catch (error) {
|
|
152
|
-
return CommandOutputHelper.error(error, 'Failed to delete session');
|
|
153
|
-
}
|
|
154
|
-
},
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
name: 'help',
|
|
158
|
-
description: 'Show detailed help for session commands',
|
|
159
|
-
usage: '/session help',
|
|
160
|
-
handler: async (_args, _agent) => {
|
|
161
|
-
const helpText = [
|
|
162
|
-
'\nš Session Management Commands:\n',
|
|
163
|
-
'Available subcommands:',
|
|
164
|
-
' /session list - List all sessions with their status and activity',
|
|
165
|
-
' /session history [sessionId] - Display session history',
|
|
166
|
-
' /session delete <id> - Delete a session (cannot delete active session)',
|
|
167
|
-
' /session help - Show this help message',
|
|
168
|
-
'\nš” Sessions allow you to maintain separate chat sessions',
|
|
169
|
-
'š” Use /resume to switch between sessions',
|
|
170
|
-
'š” Use /clear to start a new session (preserves old sessions)\n',
|
|
171
|
-
].join('\n');
|
|
172
|
-
console.log(chalk.bold.blue('\nš Session Management Commands:\n'));
|
|
173
|
-
console.log(chalk.cyan('Available subcommands:'));
|
|
174
|
-
console.log(` ${chalk.yellow('/session list')} - List all sessions with their status and activity`);
|
|
175
|
-
console.log(` ${chalk.yellow('/session history')} - Display session history for current session`);
|
|
176
|
-
console.log(` ${chalk.yellow('/session delete')} ${chalk.blue('<id>')} - Delete a session (cannot delete active session)`);
|
|
177
|
-
console.log(` ${chalk.yellow('/session help')} - Show this help message`);
|
|
178
|
-
console.log(chalk.dim('\nš” Sessions allow you to maintain separate chat sessions'));
|
|
179
|
-
console.log(chalk.dim('š” Use /resume to switch between sessions'));
|
|
180
|
-
console.log(chalk.dim('š” Use /clear to start a new session (preserves old sessions)\n'));
|
|
181
|
-
return helpText;
|
|
182
|
-
},
|
|
183
|
-
},
|
|
184
|
-
],
|
|
185
|
-
handler: async (args, agent) => {
|
|
186
|
-
// Default to help if no subcommand
|
|
187
|
-
if (args.length === 0) {
|
|
188
|
-
const helpSubcommand = sessionCommand.subcommands?.find((s) => s.name === 'help');
|
|
189
|
-
if (helpSubcommand) {
|
|
190
|
-
return helpSubcommand.handler([], agent);
|
|
191
|
-
}
|
|
192
|
-
return true;
|
|
193
|
-
}
|
|
194
|
-
const subcommand = args[0];
|
|
195
|
-
const subArgs = args.slice(1);
|
|
196
|
-
// Find matching subcommand
|
|
197
|
-
const subcmd = sessionCommand.subcommands?.find((s) => s.name === subcommand);
|
|
198
|
-
if (subcmd) {
|
|
199
|
-
return subcmd.handler(subArgs, agent);
|
|
200
|
-
}
|
|
201
|
-
console.log(chalk.red(`ā Unknown session subcommand: ${subcommand}`));
|
|
202
|
-
console.log(chalk.dim('Available subcommands: list, history, delete, help'));
|
|
203
|
-
console.log(chalk.dim('š” Use /session help for detailed command descriptions'));
|
|
204
|
-
return true;
|
|
205
|
-
},
|
|
206
|
-
};
|
|
207
|
-
/**
|
|
208
|
-
* Standalone history command for quick access
|
|
209
|
-
*/
|
|
210
|
-
export const historyCommand = {
|
|
211
|
-
name: 'history',
|
|
212
|
-
description: 'Show session history',
|
|
213
|
-
usage: '/history [sessionId]',
|
|
214
|
-
category: 'Session Management',
|
|
215
|
-
aliases: ['hist'],
|
|
216
|
-
handler: async (args, agent) => {
|
|
217
|
-
try {
|
|
218
|
-
// Use provided session ID or current session from CLI context
|
|
219
|
-
const currentSessionId = getCLISessionId(agent);
|
|
220
|
-
const sessionId = args.length > 0 && args[0] ? args[0] : currentSessionId;
|
|
221
|
-
if (!sessionId) {
|
|
222
|
-
return CommandOutputHelper.error(new Error('No session available. Create a session first.'));
|
|
223
|
-
}
|
|
224
|
-
await displaySessionHistory(sessionId, agent);
|
|
225
|
-
return CommandOutputHelper.noOutput();
|
|
226
|
-
}
|
|
227
|
-
catch (error) {
|
|
228
|
-
if (error instanceof Error && error.message.includes('not found')) {
|
|
229
|
-
return CommandOutputHelper.error(new Error(`Session not found: ${args[0] || 'current'}\n Use /session list to see available sessions`));
|
|
230
|
-
}
|
|
231
|
-
return CommandOutputHelper.error(error, 'Failed to get session history');
|
|
232
|
-
}
|
|
233
|
-
},
|
|
234
|
-
};
|
|
235
15
|
/**
|
|
236
16
|
* Resume command - shows interactive session selector
|
|
237
17
|
* Note: In interactive CLI, this always shows the selector (args ignored)
|
|
@@ -243,164 +23,29 @@ export const resumeCommand = {
|
|
|
243
23
|
usage: '/resume',
|
|
244
24
|
category: 'General',
|
|
245
25
|
aliases: ['r'],
|
|
246
|
-
handler: async (_args, _agent) => {
|
|
26
|
+
handler: async (_args, _agent, _ctx) => {
|
|
247
27
|
// In interactive CLI, /resume always triggers the interactive selector
|
|
248
28
|
// The selector is shown via detectInteractiveSelector in inputParsing.ts
|
|
249
29
|
// This handler should not be called in ink-cli (selector shows instead)
|
|
250
|
-
// If called in headless mode, show help
|
|
251
30
|
const helpText = [
|
|
252
31
|
'š Resume Session',
|
|
253
|
-
'\
|
|
254
|
-
'In headless mode: Use `dexto -r <sessionId>` instead\n',
|
|
32
|
+
'\nType /resume to show the session selector\n',
|
|
255
33
|
].join('\n');
|
|
256
34
|
console.log(chalk.blue(helpText));
|
|
257
35
|
return helpText;
|
|
258
36
|
},
|
|
259
37
|
};
|
|
260
38
|
/**
|
|
261
|
-
* Standalone search command
|
|
39
|
+
* Standalone search command - opens interactive search overlay
|
|
262
40
|
*/
|
|
263
41
|
export const searchCommand = {
|
|
264
42
|
name: 'search',
|
|
265
|
-
description: 'Search messages across all sessions
|
|
266
|
-
usage: '/search
|
|
43
|
+
description: 'Search messages across all sessions',
|
|
44
|
+
usage: '/search',
|
|
267
45
|
category: 'General',
|
|
268
46
|
aliases: ['find'],
|
|
269
|
-
handler: async (
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
'\nš Search Session History:\n',
|
|
273
|
-
'Usage:',
|
|
274
|
-
' /search <query> [--session <sessionId>] [--role <role>] [--limit <number>]',
|
|
275
|
-
'\nExamples:',
|
|
276
|
-
' /search "hello world" # Search all sessions',
|
|
277
|
-
' /search error --role assistant # Search assistant messages',
|
|
278
|
-
' /search deploy --session abc123 # Search specific session',
|
|
279
|
-
' /search bug --limit 20 # Show up to 20 results',
|
|
280
|
-
'\nOptions:',
|
|
281
|
-
' --session <id> Search only in specific session',
|
|
282
|
-
' --role <role> Filter by role (user, assistant, system, tool)',
|
|
283
|
-
' --limit <n> Max results to show (default: 10)\n',
|
|
284
|
-
].join('\n');
|
|
285
|
-
console.log(chalk.bold.blue('\nš Search Session History:\n'));
|
|
286
|
-
console.log(chalk.cyan('Usage:'));
|
|
287
|
-
console.log(chalk.dim(' /search <query> [--session <sessionId>] [--role <role>] [--limit <number>]'));
|
|
288
|
-
console.log(chalk.cyan('\nExamples:'));
|
|
289
|
-
console.log(chalk.dim(' /search "hello world" # Search all sessions'));
|
|
290
|
-
console.log(chalk.dim(' /search error --role assistant # Search assistant messages'));
|
|
291
|
-
console.log(chalk.dim(' /search deploy --session abc123 # Search specific session'));
|
|
292
|
-
console.log(chalk.dim(' /search bug --limit 20 # Show up to 20 results'));
|
|
293
|
-
console.log(chalk.cyan('\nOptions:'));
|
|
294
|
-
console.log(chalk.dim(' --session <id> Search only in specific session'));
|
|
295
|
-
console.log(chalk.dim(' --role <role> Filter by role (user, assistant, system, tool)'));
|
|
296
|
-
console.log(chalk.dim(' --limit <n> Max results to show (default: 10)\n'));
|
|
297
|
-
return helpText;
|
|
298
|
-
}
|
|
299
|
-
try {
|
|
300
|
-
// Parse arguments
|
|
301
|
-
const options = { limit: 10 };
|
|
302
|
-
let query = '';
|
|
303
|
-
let i = 0;
|
|
304
|
-
while (i < args.length) {
|
|
305
|
-
const arg = args[i];
|
|
306
|
-
if (arg === '--session' && i + 1 < args.length) {
|
|
307
|
-
const sessionValue = args[i + 1];
|
|
308
|
-
if (sessionValue) {
|
|
309
|
-
options.sessionId = sessionValue;
|
|
310
|
-
}
|
|
311
|
-
i += 2;
|
|
312
|
-
}
|
|
313
|
-
else if (arg === '--role' && i + 1 < args.length) {
|
|
314
|
-
const roleValue = args[i + 1];
|
|
315
|
-
if (roleValue && ['user', 'assistant', 'system', 'tool'].includes(roleValue)) {
|
|
316
|
-
options.role = roleValue;
|
|
317
|
-
}
|
|
318
|
-
i += 2;
|
|
319
|
-
}
|
|
320
|
-
else if (arg === '--limit' && i + 1 < args.length) {
|
|
321
|
-
const limitValue = args[i + 1];
|
|
322
|
-
options.limit = limitValue ? parseInt(limitValue) || 10 : 10;
|
|
323
|
-
i += 2;
|
|
324
|
-
}
|
|
325
|
-
else {
|
|
326
|
-
if (!arg) {
|
|
327
|
-
i++;
|
|
328
|
-
continue;
|
|
329
|
-
}
|
|
330
|
-
// Remove surrounding quotes if present
|
|
331
|
-
let cleanArg = arg;
|
|
332
|
-
if (cleanArg &&
|
|
333
|
-
((cleanArg.startsWith('"') && cleanArg.endsWith('"')) ||
|
|
334
|
-
(cleanArg.startsWith("'") && cleanArg.endsWith("'")))) {
|
|
335
|
-
cleanArg = cleanArg.slice(1, -1);
|
|
336
|
-
}
|
|
337
|
-
query += (query ? ' ' : '') + cleanArg;
|
|
338
|
-
i++;
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
if (!query.trim()) {
|
|
342
|
-
return CommandOutputHelper.error(new Error('Search query is required'));
|
|
343
|
-
}
|
|
344
|
-
const results = await agent.searchMessages(query, options);
|
|
345
|
-
if (results.results.length === 0) {
|
|
346
|
-
const noResultsMsg = `š No messages found matching: "${query}"`;
|
|
347
|
-
console.log(chalk.yellow(noResultsMsg));
|
|
348
|
-
return noResultsMsg;
|
|
349
|
-
}
|
|
350
|
-
// Build output string for ink-cli
|
|
351
|
-
const outputLines = [];
|
|
352
|
-
outputLines.push(`\nš Search results for: "${query}"`);
|
|
353
|
-
if (options.sessionId) {
|
|
354
|
-
outputLines.push(` Session: ${options.sessionId}`);
|
|
355
|
-
}
|
|
356
|
-
if (options.role) {
|
|
357
|
-
outputLines.push(` Role: ${options.role}`);
|
|
358
|
-
}
|
|
359
|
-
outputLines.push(` Limit: ${options.limit}\n`);
|
|
360
|
-
outputLines.push(`ā
Found ${results.total} result${results.total === 1 ? '' : 's'}`);
|
|
361
|
-
if (results.hasMore) {
|
|
362
|
-
outputLines.push(` Showing first ${results.results.length} results`);
|
|
363
|
-
}
|
|
364
|
-
outputLines.push('');
|
|
365
|
-
// Console output header for regular CLI
|
|
366
|
-
console.log(chalk.blue(`š Searching for: "${query}"`));
|
|
367
|
-
if (options.sessionId) {
|
|
368
|
-
console.log(chalk.dim(` Session: ${options.sessionId}`));
|
|
369
|
-
}
|
|
370
|
-
if (options.role) {
|
|
371
|
-
console.log(chalk.dim(` Role: ${options.role}`));
|
|
372
|
-
}
|
|
373
|
-
console.log(chalk.dim(` Limit: ${options.limit}`));
|
|
374
|
-
console.log();
|
|
375
|
-
console.log(chalk.green(`ā
Found ${results.total} result${results.total === 1 ? '' : 's'}`));
|
|
376
|
-
if (results.hasMore) {
|
|
377
|
-
console.log(chalk.dim(` Showing first ${results.results.length} results`));
|
|
378
|
-
}
|
|
379
|
-
console.log();
|
|
380
|
-
// Display results
|
|
381
|
-
results.results.forEach((result, index) => {
|
|
382
|
-
const roleColor = result.message.role === 'user'
|
|
383
|
-
? chalk.blue
|
|
384
|
-
: result.message.role === 'assistant'
|
|
385
|
-
? chalk.green
|
|
386
|
-
: chalk.yellow;
|
|
387
|
-
console.log(`${chalk.dim(`${index + 1}.`)} ${chalk.cyan(result.sessionId.slice(0, 8))} ${roleColor(`[${result.message.role}]`)}`);
|
|
388
|
-
console.log(` ${result.context.replace(new RegExp(`(${escapeRegExp(query.trim().slice(0, 256))})`, 'gi'), chalk.inverse('$1'))}`);
|
|
389
|
-
console.log();
|
|
390
|
-
// For ink-cli output (without color codes)
|
|
391
|
-
outputLines.push(`${index + 1}. ${result.sessionId.slice(0, 8)} [${result.message.role}]`);
|
|
392
|
-
outputLines.push(` ${result.context}`);
|
|
393
|
-
outputLines.push('');
|
|
394
|
-
});
|
|
395
|
-
if (results.hasMore) {
|
|
396
|
-
outputLines.push('š” Use --limit to see more results');
|
|
397
|
-
console.log(chalk.dim('š” Use --limit to see more results'));
|
|
398
|
-
}
|
|
399
|
-
const output = outputLines.join('\n');
|
|
400
|
-
return output;
|
|
401
|
-
}
|
|
402
|
-
catch (error) {
|
|
403
|
-
return CommandOutputHelper.error(error, 'Search failed');
|
|
404
|
-
}
|
|
47
|
+
handler: async (_args, _agent, _ctx) => {
|
|
48
|
+
// Interactive overlay handles everything - just return success
|
|
49
|
+
return true;
|
|
405
50
|
},
|
|
406
51
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-commands.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/interactive-commands/system/system-commands.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"system-commands.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/interactive-commands/system/system-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAwC,MAAM,sBAAsB,CAAC;AAKpG;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,iBAAiB,EAwO7C,CAAC"}
|