dexto 1.5.8 → 1.6.1
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 +3 -3
- package/dist/agents/agent-template.yml +2 -2
- package/dist/agents/coding-agent/README.md +10 -10
- package/dist/agents/coding-agent/coding-agent.yml +84 -83
- package/dist/agents/default-agent.yml +32 -47
- package/dist/agents/explore-agent/explore-agent.yml +3 -6
- package/dist/agents/image-editor-agent/image-editor-agent.yml +1 -1
- package/dist/agents/nano-banana-agent/nano-banana-agent.yml +1 -1
- package/dist/agents/podcast-agent/podcast-agent.yml +1 -1
- package/dist/agents/product-name-researcher/product-name-researcher.yml +1 -1
- package/dist/agents/sora-video-agent/sora-video-agent.yml +4 -6
- package/dist/agents/triage-demo/triage-agent.yml +1 -1
- package/dist/analytics/events.d.ts +1 -1
- package/dist/analytics/events.d.ts.map +1 -1
- package/dist/api/mcp/tool-aggregation-handler.d.ts +2 -2
- package/dist/api/server-hono.d.ts +2 -2
- package/dist/api/server-hono.d.ts.map +1 -1
- package/dist/api/server-hono.js +37 -60
- package/dist/cli/approval/cli-approval-handler.d.ts +10 -3
- package/dist/cli/approval/cli-approval-handler.d.ts.map +1 -1
- package/dist/cli/approval/cli-approval-handler.js +1 -1
- package/dist/cli/assets/sounds/SOURCES.md +35 -0
- package/dist/cli/assets/sounds/boot.wav +0 -0
- package/dist/cli/assets/sounds/chime.wav +0 -0
- package/dist/cli/assets/sounds/coin.wav +0 -0
- package/dist/cli/assets/sounds/confirm.wav +0 -0
- package/dist/cli/assets/sounds/levelup.wav +0 -0
- package/dist/cli/assets/sounds/ping.wav +0 -0
- package/dist/cli/assets/sounds/powerup.wav +0 -0
- package/dist/cli/assets/sounds/startup.wav +0 -0
- package/dist/cli/assets/sounds/success.wav +0 -0
- package/dist/cli/assets/sounds/treasure.wav +0 -0
- package/dist/cli/assets/sounds/win.wav +0 -0
- package/dist/cli/commands/create-app.d.ts +1 -11
- package/dist/cli/commands/create-app.d.ts.map +1 -1
- package/dist/cli/commands/create-app.js +21 -545
- package/dist/cli/commands/create-image.d.ts.map +1 -1
- package/dist/cli/commands/create-image.js +54 -53
- package/dist/cli/commands/image.d.ts +52 -0
- package/dist/cli/commands/image.d.ts.map +1 -0
- package/dist/cli/commands/image.js +118 -0
- 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 +3 -1
- package/dist/cli/commands/init-app.d.ts +4 -8
- package/dist/cli/commands/init-app.d.ts.map +1 -1
- package/dist/cli/commands/init-app.js +37 -161
- package/dist/cli/commands/interactive-commands/command-parser.d.ts +2 -0
- package/dist/cli/commands/interactive-commands/command-parser.d.ts.map +1 -1
- package/dist/cli/commands/interactive-commands/commands.d.ts +1 -1
- package/dist/cli/commands/interactive-commands/commands.d.ts.map +1 -1
- package/dist/cli/commands/interactive-commands/commands.js +2 -2
- package/dist/cli/commands/interactive-commands/exit-handler.d.ts +12 -0
- package/dist/cli/commands/interactive-commands/exit-handler.d.ts.map +1 -0
- package/dist/cli/commands/interactive-commands/exit-handler.js +20 -0
- package/dist/cli/commands/interactive-commands/exit-stats.d.ts +24 -0
- package/dist/cli/commands/interactive-commands/exit-stats.d.ts.map +1 -0
- package/dist/cli/commands/interactive-commands/exit-stats.js +17 -0
- package/dist/cli/commands/interactive-commands/general-commands.d.ts.map +1 -1
- package/dist/cli/commands/interactive-commands/general-commands.js +55 -5
- package/dist/cli/commands/interactive-commands/prompt-commands.d.ts.map +1 -1
- package/dist/cli/commands/interactive-commands/prompt-commands.js +14 -74
- package/dist/cli/commands/interactive-commands/session/index.d.ts +2 -1
- package/dist/cli/commands/interactive-commands/session/index.d.ts.map +1 -1
- package/dist/cli/commands/interactive-commands/session/index.js +2 -1
- package/dist/cli/commands/interactive-commands/session/session-commands.d.ts +2 -2
- package/dist/cli/commands/interactive-commands/session/session-commands.d.ts.map +1 -1
- package/dist/cli/commands/interactive-commands/session/session-commands.js +2 -4
- package/dist/cli/commands/interactive-commands/system/system-commands.d.ts +1 -13
- package/dist/cli/commands/interactive-commands/system/system-commands.d.ts.map +1 -1
- package/dist/cli/commands/interactive-commands/system/system-commands.js +52 -83
- package/dist/cli/commands/plugin.d.ts +4 -4
- package/dist/cli/commands/sync-agents.d.ts +2 -12
- package/dist/cli/commands/sync-agents.d.ts.map +1 -1
- package/dist/cli/commands/sync-agents.js +2 -50
- package/dist/cli/ink-cli/InkCLIRefactored.d.ts +7 -1
- package/dist/cli/ink-cli/InkCLIRefactored.d.ts.map +1 -1
- package/dist/cli/ink-cli/InkCLIRefactored.js +138 -27
- package/dist/cli/ink-cli/components/ApprovalPrompt.d.ts +2 -2
- package/dist/cli/ink-cli/components/ApprovalPrompt.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/ApprovalPrompt.js +85 -30
- package/dist/cli/ink-cli/components/BackgroundTasksPanel.js +1 -1
- package/dist/cli/ink-cli/components/ElicitationForm.d.ts +5 -3
- package/dist/cli/ink-cli/components/ElicitationForm.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/ElicitationForm.js +414 -180
- package/dist/cli/ink-cli/components/Footer.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/Footer.js +1 -2
- package/dist/cli/ink-cli/components/ResourceAutocomplete.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/ResourceAutocomplete.js +20 -11
- package/dist/cli/ink-cli/components/SlashCommandAutocomplete.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/SlashCommandAutocomplete.js +47 -67
- package/dist/cli/ink-cli/components/StatusBar.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/StatusBar.js +20 -10
- package/dist/cli/ink-cli/components/TodoPanel.js +1 -1
- package/dist/cli/ink-cli/components/base/BaseSelector.d.ts +2 -1
- package/dist/cli/ink-cli/components/base/BaseSelector.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/base/BaseSelector.js +37 -27
- package/dist/cli/ink-cli/components/chat/Header.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/chat/Header.js +1 -1
- package/dist/cli/ink-cli/components/chat/MessageItem.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/chat/MessageItem.js +3 -1
- package/dist/cli/ink-cli/components/chat/ToolIcon.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/chat/ToolIcon.js +5 -15
- package/dist/cli/ink-cli/components/chat/styled-boxes/ConfigBox.js +1 -1
- package/dist/cli/ink-cli/components/chat/styled-boxes/LogConfigBox.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/chat/styled-boxes/LogConfigBox.js +1 -1
- package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.d.ts +3 -1
- package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.js +5 -3
- package/dist/cli/ink-cli/components/modes/StaticCLI.d.ts +3 -1
- package/dist/cli/ink-cli/components/modes/StaticCLI.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/modes/StaticCLI.js +10 -3
- package/dist/cli/ink-cli/components/overlays/CommandOutputOverlay.d.ts +13 -0
- package/dist/cli/ink-cli/components/overlays/CommandOutputOverlay.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/CommandOutputOverlay.js +60 -0
- package/dist/cli/ink-cli/components/overlays/LogLevelSelector.js +1 -1
- package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.js +213 -100
- package/dist/cli/ink-cli/components/overlays/PromptList.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/overlays/PromptList.js +12 -16
- package/dist/cli/ink-cli/components/overlays/SoundsSelector.d.ts +21 -0
- package/dist/cli/ink-cli/components/overlays/SoundsSelector.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/overlays/SoundsSelector.js +566 -0
- package/dist/cli/ink-cli/components/overlays/ToolBrowser.d.ts +1 -1
- package/dist/cli/ink-cli/components/overlays/ToolBrowser.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/overlays/ToolBrowser.js +100 -45
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/LocalModelWizard.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/LocalModelWizard.js +8 -13
- package/dist/cli/ink-cli/components/renderers/FilePreviewRenderer.d.ts +3 -3
- package/dist/cli/ink-cli/components/renderers/FilePreviewRenderer.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/renderers/FilePreviewRenderer.js +6 -5
- package/dist/cli/ink-cli/components/renderers/FileRenderer.d.ts +3 -1
- package/dist/cli/ink-cli/components/renderers/FileRenderer.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/renderers/FileRenderer.js +18 -7
- package/dist/cli/ink-cli/components/renderers/ShellRenderer.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/renderers/ShellRenderer.js +7 -17
- package/dist/cli/ink-cli/components/renderers/index.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/renderers/index.js +1 -1
- package/dist/cli/ink-cli/components/shared/FocusOverlayFrame.d.ts +7 -0
- package/dist/cli/ink-cli/components/shared/FocusOverlayFrame.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/shared/FocusOverlayFrame.js +8 -0
- package/dist/cli/ink-cli/components/shared/HintBar.d.ts +6 -0
- package/dist/cli/ink-cli/components/shared/HintBar.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/shared/HintBar.js +6 -0
- package/dist/cli/ink-cli/constants/spinnerFrames.d.ts +2 -0
- package/dist/cli/ink-cli/constants/spinnerFrames.d.ts.map +1 -0
- package/dist/cli/ink-cli/constants/spinnerFrames.js +1 -0
- package/dist/cli/ink-cli/constants/tips.d.ts.map +1 -1
- package/dist/cli/ink-cli/constants/tips.js +2 -1
- package/dist/cli/ink-cli/containers/InputContainer.d.ts +4 -0
- package/dist/cli/ink-cli/containers/InputContainer.d.ts.map +1 -1
- package/dist/cli/ink-cli/containers/InputContainer.js +47 -21
- package/dist/cli/ink-cli/containers/OverlayContainer.d.ts +2 -0
- package/dist/cli/ink-cli/containers/OverlayContainer.d.ts.map +1 -1
- package/dist/cli/ink-cli/containers/OverlayContainer.js +101 -40
- package/dist/cli/ink-cli/hooks/useAgentEvents.d.ts.map +1 -1
- package/dist/cli/ink-cli/hooks/useAgentEvents.js +15 -16
- package/dist/cli/ink-cli/hooks/useAnimationTick.d.ts +11 -0
- package/dist/cli/ink-cli/hooks/useAnimationTick.d.ts.map +1 -0
- package/dist/cli/ink-cli/hooks/useAnimationTick.js +54 -0
- package/dist/cli/ink-cli/hooks/useCLIState.d.ts.map +1 -1
- package/dist/cli/ink-cli/hooks/useCLIState.js +1 -0
- package/dist/cli/ink-cli/hooks/useTokenCounter.d.ts.map +1 -1
- package/dist/cli/ink-cli/hooks/useTokenCounter.js +7 -4
- package/dist/cli/ink-cli/services/CommandService.d.ts +1 -1
- package/dist/cli/ink-cli/services/CommandService.d.ts.map +1 -1
- package/dist/cli/ink-cli/services/CommandService.js +2 -2
- package/dist/cli/ink-cli/services/processStream.d.ts +2 -2
- package/dist/cli/ink-cli/services/processStream.d.ts.map +1 -1
- package/dist/cli/ink-cli/services/processStream.js +27 -19
- package/dist/cli/ink-cli/state/initialState.d.ts.map +1 -1
- package/dist/cli/ink-cli/state/initialState.js +1 -0
- package/dist/cli/ink-cli/state/types.d.ts +15 -3
- package/dist/cli/ink-cli/state/types.d.ts.map +1 -1
- package/dist/cli/ink-cli/utils/commandOverlays.d.ts.map +1 -1
- package/dist/cli/ink-cli/utils/commandOverlays.js +1 -0
- package/dist/cli/ink-cli/utils/elicitationSchema.d.ts +11 -0
- package/dist/cli/ink-cli/utils/elicitationSchema.d.ts.map +1 -0
- package/dist/cli/ink-cli/utils/elicitationSchema.js +80 -0
- package/dist/cli/ink-cli/utils/index.d.ts +1 -1
- package/dist/cli/ink-cli/utils/index.d.ts.map +1 -1
- package/dist/cli/ink-cli/utils/index.js +1 -1
- package/dist/cli/ink-cli/utils/messageFormatting.d.ts +10 -19
- package/dist/cli/ink-cli/utils/messageFormatting.d.ts.map +1 -1
- package/dist/cli/ink-cli/utils/messageFormatting.js +43 -262
- package/dist/cli/ink-cli/utils/overlayPresentation.d.ts +19 -0
- package/dist/cli/ink-cli/utils/overlayPresentation.d.ts.map +1 -0
- package/dist/cli/ink-cli/utils/overlayPresentation.js +33 -0
- package/dist/cli/ink-cli/utils/overlaySizing.d.ts +19 -0
- package/dist/cli/ink-cli/utils/overlaySizing.d.ts.map +1 -0
- package/dist/cli/ink-cli/utils/overlaySizing.js +11 -0
- package/dist/cli/ink-cli/utils/soundNotification.d.ts +19 -13
- package/dist/cli/ink-cli/utils/soundNotification.d.ts.map +1 -1
- package/dist/cli/ink-cli/utils/soundNotification.js +120 -97
- package/dist/cli/ink-cli/utils/toolUtils.d.ts.map +1 -1
- package/dist/cli/ink-cli/utils/toolUtils.js +2 -9
- package/dist/cli/utils/config-validation.d.ts +11 -11
- package/dist/cli/utils/config-validation.d.ts.map +1 -1
- package/dist/cli/utils/config-validation.js +56 -290
- package/dist/cli/utils/image-store.d.ts +16 -0
- package/dist/cli/utils/image-store.d.ts.map +1 -0
- package/dist/cli/utils/image-store.js +289 -0
- package/dist/cli/utils/scaffolding-utils.d.ts +5 -0
- package/dist/cli/utils/scaffolding-utils.d.ts.map +1 -1
- package/dist/cli/utils/scaffolding-utils.js +46 -4
- package/dist/cli/utils/template-engine.d.ts +28 -16
- package/dist/cli/utils/template-engine.d.ts.map +1 -1
- package/dist/cli/utils/template-engine.js +339 -479
- package/dist/config/cli-overrides.d.ts +4 -3
- package/dist/config/cli-overrides.d.ts.map +1 -1
- package/dist/config/cli-overrides.js +7 -9
- package/dist/index-main.d.ts +2 -0
- package/dist/index-main.d.ts.map +1 -0
- package/dist/index-main.js +1554 -0
- package/dist/index.js +2 -1589
- package/dist/utils/session-logger-factory.d.ts +3 -0
- package/dist/utils/session-logger-factory.d.ts.map +1 -0
- package/dist/utils/session-logger-factory.js +34 -0
- package/dist/webui/assets/{index-Cz2z7NQ8.js → index-CKhumsZA.js} +231 -231
- package/dist/webui/index.html +1 -1
- package/package.json +11 -8
- package/dist/cli/cli-subscriber.d.ts +0 -45
- package/dist/cli/cli-subscriber.d.ts.map +0 -1
- package/dist/cli/cli-subscriber.js +0 -204
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputContainer.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/containers/InputContainer.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAA0E,MAAM,OAAO,CAAC;AAC/F,OAAO,KAAK,EAAE,UAAU,EAAoC,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/F,OAAO,EAAE,YAAY,EAAiB,MAAM,sBAAsB,CAAC;AAEnE,OAAO,KAAK,EACR,OAAO,EACP,OAAO,EACP,UAAU,EACV,YAAY,EAGZ,QAAQ,EACX,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"InputContainer.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/containers/InputContainer.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAA0E,MAAM,OAAO,CAAC;AAC/F,OAAO,KAAK,EAAE,UAAU,EAAoC,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/F,OAAO,EAAE,YAAY,EAAiB,MAAM,sBAAsB,CAAC;AAEnE,OAAO,KAAK,EACR,OAAO,EACP,OAAO,EACP,UAAU,EACV,YAAY,EAGZ,QAAQ,EACX,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAOtE,qDAAqD;AACrD,MAAM,WAAW,oBAAoB;IACjC,yEAAyE;IACzE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C;AAED,UAAU,mBAAmB;IACzB,yCAAyC;IACzC,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,UAAU,CAAC;IAClB,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,YAAY,CAAC;IACtB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IACjC,8CAA8C;IAC9C,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3D,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/D,2DAA2D;IAC3D,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7D,mEAAmE;IACnE,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACpE,iFAAiF;IACjF,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACnE,iCAAiC;IACjC,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACzE,8EAA8E;IAC9E,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1E,yEAAyE;IACzE,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IAC1E,sEAAsE;IACtE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC3D,KAAK,EAAE,UAAU,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;IAC3B,mDAAmD;IACnD,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,KAAK,IAAI,CAAC;IACtD,6EAA6E;IAC7E,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,kGAkwB1B,CAAC"}
|
|
@@ -13,13 +13,15 @@ import { useSoundService } from '../contexts/index.js';
|
|
|
13
13
|
import { createUserMessage } from '../utils/messageFormatting.js';
|
|
14
14
|
import { generateMessageId } from '../utils/idGenerator.js';
|
|
15
15
|
import { capture } from '../../../analytics/index.js';
|
|
16
|
+
import { getOverlayPresentation } from '../utils/overlayPresentation.js';
|
|
16
17
|
/**
|
|
17
18
|
* Smart container for input area
|
|
18
19
|
* Manages submission, history, and overlay triggers
|
|
19
20
|
*/
|
|
20
|
-
export const InputContainer = forwardRef(function InputContainer({ buffer, input, ui, session, approval, queuedMessages, setInput, setUi, setSession, setMessages, setPendingMessages, setDequeuedBuffer, setQueuedMessages, setApproval, setApprovalQueue, setTodos, agent, inputService, onKeyboardScroll, useStreaming = true, }, ref) {
|
|
21
|
+
export const InputContainer = forwardRef(function InputContainer({ buffer, input, ui, session, initialPrompt, approval, queuedMessages, setInput, setUi, setSession, setMessages, setPendingMessages, setDequeuedBuffer, setQueuedMessages, setApproval, setApprovalQueue, setTodos, agent, inputService, configFilePath, onKeyboardScroll, useStreaming = true, }, ref) {
|
|
21
22
|
// Track pending session creation to prevent race conditions
|
|
22
23
|
const sessionCreationPromiseRef = useRef(null);
|
|
24
|
+
const didAutoSubmitInitialPromptRef = useRef(false);
|
|
23
25
|
// Sound notification service from context
|
|
24
26
|
const soundService = useSoundService();
|
|
25
27
|
// Ref to track autoApproveEdits so processStream can read latest value mid-stream
|
|
@@ -307,6 +309,7 @@ export const InputContainer = forwardRef(function InputContainer({ buffer, input
|
|
|
307
309
|
isProcessing: true,
|
|
308
310
|
isCancelling: false,
|
|
309
311
|
activeOverlay: 'none',
|
|
312
|
+
commandOutput: null,
|
|
310
313
|
exitWarningShown: false,
|
|
311
314
|
exitWarningTimestamp: null,
|
|
312
315
|
}));
|
|
@@ -329,32 +332,28 @@ export const InputContainer = forwardRef(function InputContainer({ buffer, input
|
|
|
329
332
|
const { CommandService } = await import('../services/CommandService.js');
|
|
330
333
|
const commandService = new CommandService();
|
|
331
334
|
try {
|
|
332
|
-
const result = await commandService.executeCommand(parsed.command, parsed.args || [], agent, session.id || undefined);
|
|
335
|
+
const result = await commandService.executeCommand(parsed.command, parsed.args || [], agent, session.id || undefined, configFilePath);
|
|
333
336
|
if (result.type === 'output' && result.output) {
|
|
334
337
|
const output = result.output;
|
|
335
|
-
|
|
338
|
+
setUi((prev) => ({
|
|
336
339
|
...prev,
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
+
activeOverlay: 'command-output',
|
|
341
|
+
commandOutput: {
|
|
342
|
+
title: `/${parsed.command}`,
|
|
340
343
|
content: output,
|
|
341
|
-
timestamp: new Date(),
|
|
342
344
|
},
|
|
343
|
-
|
|
345
|
+
}));
|
|
344
346
|
}
|
|
345
347
|
if (result.type === 'styled' && result.styled) {
|
|
346
|
-
const { fallbackText
|
|
347
|
-
|
|
348
|
+
const { fallbackText } = result.styled;
|
|
349
|
+
setUi((prev) => ({
|
|
348
350
|
...prev,
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
351
|
+
activeOverlay: 'command-output',
|
|
352
|
+
commandOutput: {
|
|
353
|
+
title: `/${parsed.command}`,
|
|
352
354
|
content: fallbackText,
|
|
353
|
-
timestamp: new Date(),
|
|
354
|
-
styledType,
|
|
355
|
-
styledData,
|
|
356
355
|
},
|
|
357
|
-
|
|
356
|
+
}));
|
|
358
357
|
}
|
|
359
358
|
// Handle sendMessage - send through normal streaming flow
|
|
360
359
|
if (result.type === 'sendMessage' && result.messageToSend) {
|
|
@@ -398,7 +397,7 @@ export const InputContainer = forwardRef(function InputContainer({ buffer, input
|
|
|
398
397
|
}, {
|
|
399
398
|
useStreaming,
|
|
400
399
|
autoApproveEditsRef,
|
|
401
|
-
eventBus: agent
|
|
400
|
+
eventBus: agent,
|
|
402
401
|
setTodos,
|
|
403
402
|
...(soundService && { soundService }),
|
|
404
403
|
});
|
|
@@ -473,7 +472,7 @@ export const InputContainer = forwardRef(function InputContainer({ buffer, input
|
|
|
473
472
|
let messageText = trimmed;
|
|
474
473
|
if (ui.planModeActive && !ui.planModeInitialized) {
|
|
475
474
|
try {
|
|
476
|
-
const planSkill = await agent.resolvePrompt('plan', {});
|
|
475
|
+
const planSkill = await agent.resolvePrompt('config:dexto-plan-mode', {});
|
|
477
476
|
if (planSkill.text) {
|
|
478
477
|
messageText = `<plan-mode>\n${planSkill.text}\n</plan-mode>\n\n${trimmed}`;
|
|
479
478
|
// Mark plan mode as initialized after injection
|
|
@@ -482,7 +481,7 @@ export const InputContainer = forwardRef(function InputContainer({ buffer, input
|
|
|
482
481
|
}
|
|
483
482
|
catch {
|
|
484
483
|
// Plan skill not found - continue without injection
|
|
485
|
-
// This can happen if the
|
|
484
|
+
// This can happen if the agent config/image doesn't include `config:dexto-plan-mode`.
|
|
486
485
|
}
|
|
487
486
|
}
|
|
488
487
|
if (pendingImages.length > 0) {
|
|
@@ -529,7 +528,7 @@ export const InputContainer = forwardRef(function InputContainer({ buffer, input
|
|
|
529
528
|
}, {
|
|
530
529
|
useStreaming,
|
|
531
530
|
autoApproveEditsRef,
|
|
532
|
-
eventBus: agent
|
|
531
|
+
eventBus: agent,
|
|
533
532
|
setTodos,
|
|
534
533
|
...(soundService && { soundService }),
|
|
535
534
|
});
|
|
@@ -579,6 +578,27 @@ export const InputContainer = forwardRef(function InputContainer({ buffer, input
|
|
|
579
578
|
useStreaming,
|
|
580
579
|
soundService,
|
|
581
580
|
]);
|
|
581
|
+
useEffect(() => {
|
|
582
|
+
if (!initialPrompt || didAutoSubmitInitialPromptRef.current) {
|
|
583
|
+
return;
|
|
584
|
+
}
|
|
585
|
+
didAutoSubmitInitialPromptRef.current = true;
|
|
586
|
+
handleSubmit(initialPrompt, true).catch((error) => {
|
|
587
|
+
agent.logger.error('InputContainer initial prompt submission failed', {
|
|
588
|
+
error,
|
|
589
|
+
initialPrompt,
|
|
590
|
+
});
|
|
591
|
+
setMessages((prev) => [
|
|
592
|
+
...prev,
|
|
593
|
+
{
|
|
594
|
+
id: generateMessageId('error'),
|
|
595
|
+
role: 'system',
|
|
596
|
+
content: `Failed to submit initial prompt: ${error instanceof Error ? error.message : String(error)}`,
|
|
597
|
+
timestamp: new Date(),
|
|
598
|
+
},
|
|
599
|
+
]);
|
|
600
|
+
});
|
|
601
|
+
}, [agent.logger, handleSubmit, initialPrompt, setMessages]);
|
|
582
602
|
// Determine if input should be active (not blocked by approval/overlay/history search)
|
|
583
603
|
// Input stays active for filter-type overlays (so user can keep typing to filter)
|
|
584
604
|
// Disable for approval prompts, overlays with their own text input, and history search mode
|
|
@@ -605,6 +625,9 @@ export const InputContainer = forwardRef(function InputContainer({ buffer, input
|
|
|
605
625
|
// Allow history navigation when not blocked by approval/overlay
|
|
606
626
|
// Allow during processing so users can browse previous prompts while agent runs
|
|
607
627
|
const canNavigateHistory = !approval && ui.activeOverlay === 'none';
|
|
628
|
+
// Hide the input area when a focused overlay/approval is active.
|
|
629
|
+
// This matches "full-screen overlay" UX (Claude-style) and prevents extra UI chrome/flicker.
|
|
630
|
+
const shouldHideInputArea = getOverlayPresentation(ui.activeOverlay, approval) === 'focus';
|
|
608
631
|
const placeholder = approval
|
|
609
632
|
? 'Approval required above...'
|
|
610
633
|
: 'Type your message or /help for commands';
|
|
@@ -613,5 +636,8 @@ export const InputContainer = forwardRef(function InputContainer({ buffer, input
|
|
|
613
636
|
useImperativeHandle(ref, () => ({
|
|
614
637
|
submit: (text) => handleSubmit(text, true),
|
|
615
638
|
}));
|
|
639
|
+
if (shouldHideInputArea) {
|
|
640
|
+
return null;
|
|
641
|
+
}
|
|
616
642
|
return (_jsx(InputArea, { buffer: buffer, onSubmit: shouldHandleSubmit ? handleSubmit : () => { }, isDisabled: isInputDisabled, isActive: isInputActive, placeholder: placeholder, onHistoryNavigate: canNavigateHistory ? handleHistoryNavigate : undefined, onTriggerOverlay: handleTriggerOverlay, onKeyboardScroll: onKeyboardScroll, imageCount: input.images.length, onImagePaste: handleImagePaste, images: input.images, onImageRemove: handleImageRemove, pastedBlocks: input.pastedBlocks, onPasteBlock: handlePasteBlock, onPasteBlockUpdate: handlePasteBlockUpdate, onPasteBlockRemove: handlePasteBlockRemove, highlightQuery: ui.historySearch.isActive ? ui.historySearch.query : undefined }));
|
|
617
643
|
});
|
|
@@ -26,6 +26,8 @@ interface OverlayContainerProps {
|
|
|
26
26
|
agent: DextoAgent;
|
|
27
27
|
inputService: InputService;
|
|
28
28
|
buffer: TextBuffer;
|
|
29
|
+
/** Source agent config file path (if available) */
|
|
30
|
+
configFilePath: string | null;
|
|
29
31
|
/** Callback to refresh static content (clear terminal and force re-render) */
|
|
30
32
|
refreshStatic?: () => void;
|
|
31
33
|
/** Callback to submit a prompt command through the normal streaming flow */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverlayContainer.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/containers/OverlayContainer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAyE,MAAM,OAAO,CAAC;AAG9F,OAAO,KAAK,EAAE,UAAU,EAAmD,MAAM,aAAa,CAAC;AAC/F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kCAAkC,CAAC;AAE5D,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAGH,KAAK,eAAe,EACvB,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"OverlayContainer.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/containers/OverlayContainer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAyE,MAAM,OAAO,CAAC;AAG9F,OAAO,KAAK,EAAE,UAAU,EAAmD,MAAM,aAAa,CAAC;AAC/F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kCAAkC,CAAC;AAE5D,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAGH,KAAK,eAAe,EACvB,MAAM,iCAAiC,CAAC;AA8GzC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAO3D,MAAM,WAAW,sBAAsB;IACnC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC;CACrD;AAED,UAAU,qBAAqB;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3D,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/D,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7D,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1E,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IAC1E,KAAK,EAAE,UAAU,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,mDAAmD;IACnD,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,4EAA4E;IAC5E,qBAAqB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,sGA8gF5B,CAAC"}
|
|
@@ -14,7 +14,9 @@ import ModelSelectorRefactored from '../components/overlays/ModelSelectorRefacto
|
|
|
14
14
|
import SessionSelectorRefactored from '../components/overlays/SessionSelectorRefactored.js';
|
|
15
15
|
import LogLevelSelector from '../components/overlays/LogLevelSelector.js';
|
|
16
16
|
import StreamSelector from '../components/overlays/StreamSelector.js';
|
|
17
|
+
import SoundsSelector from '../components/overlays/SoundsSelector.js';
|
|
17
18
|
import ToolBrowser from '../components/overlays/ToolBrowser.js';
|
|
19
|
+
import { CommandOutputOverlay, } from '../components/overlays/CommandOutputOverlay.js';
|
|
18
20
|
import McpServerList from '../components/overlays/McpServerList.js';
|
|
19
21
|
import McpServerActions from '../components/overlays/McpServerActions.js';
|
|
20
22
|
import McpAddChoice from '../components/overlays/McpAddChoice.js';
|
|
@@ -42,12 +44,13 @@ import { DextoValidationError, LLMErrorCode, getModelDisplayName } from '@dexto/
|
|
|
42
44
|
import { createUserMessage, convertHistoryToUIMessages } from '../utils/messageFormatting.js';
|
|
43
45
|
import { generateMessageId } from '../utils/idGenerator.js';
|
|
44
46
|
import { capture } from '../../../analytics/index.js';
|
|
47
|
+
import { FocusOverlayFrame } from '../components/shared/FocusOverlayFrame.js';
|
|
48
|
+
import { shouldHideCliChrome } from '../utils/overlayPresentation.js';
|
|
45
49
|
/**
|
|
46
50
|
* Smart container for managing overlays
|
|
47
51
|
* Handles all modal interactions (selectors, autocomplete, approval)
|
|
48
52
|
*/
|
|
49
|
-
export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input, session, approval, setInput, setUi, setSession, setMessages, setApproval, setApprovalQueue, agent, inputService, buffer, refreshStatic, onSubmitPromptCommand, }, ref) {
|
|
50
|
-
const eventBus = agent.agentEventBus;
|
|
53
|
+
export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input, session, approval, setInput, setUi, setSession, setMessages, setApproval, setApprovalQueue, agent, inputService, buffer, configFilePath, refreshStatic, onSubmitPromptCommand, }, ref) {
|
|
51
54
|
// Refs to overlay components for input handling
|
|
52
55
|
const approvalRef = useRef(null);
|
|
53
56
|
const slashAutocompleteRef = useRef(null);
|
|
@@ -56,7 +59,9 @@ export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input
|
|
|
56
59
|
const sessionSelectorRef = useRef(null);
|
|
57
60
|
const logLevelSelectorRef = useRef(null);
|
|
58
61
|
const streamSelectorRef = useRef(null);
|
|
62
|
+
const soundsSelectorRef = useRef(null);
|
|
59
63
|
const toolBrowserRef = useRef(null);
|
|
64
|
+
const commandOutputRef = useRef(null);
|
|
60
65
|
const mcpServerListRef = useRef(null);
|
|
61
66
|
const mcpServerActionsRef = useRef(null);
|
|
62
67
|
const mcpAddChoiceRef = useRef(null);
|
|
@@ -81,6 +86,21 @@ export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input
|
|
|
81
86
|
// State for selected plugin (for plugin-actions overlay)
|
|
82
87
|
const [selectedPlugin, setSelectedPlugin] = useState(null);
|
|
83
88
|
const marketplaceAddPromptRef = useRef(null);
|
|
89
|
+
const getConfigFilePathOrWarn = useCallback((action) => {
|
|
90
|
+
if (configFilePath) {
|
|
91
|
+
return configFilePath;
|
|
92
|
+
}
|
|
93
|
+
setMessages((prev) => [
|
|
94
|
+
...prev,
|
|
95
|
+
{
|
|
96
|
+
id: generateMessageId('system'),
|
|
97
|
+
role: 'system',
|
|
98
|
+
content: `⚠️ Cannot ${action}: this agent is not file-backed (no config path).`,
|
|
99
|
+
timestamp: new Date(),
|
|
100
|
+
},
|
|
101
|
+
]);
|
|
102
|
+
return null;
|
|
103
|
+
}, [configFilePath, setMessages]);
|
|
84
104
|
// Expose handleInput method via ref - routes to appropriate overlay
|
|
85
105
|
useImperativeHandle(ref, () => ({
|
|
86
106
|
handleInput: (inputStr, key) => {
|
|
@@ -102,8 +122,12 @@ export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input
|
|
|
102
122
|
return logLevelSelectorRef.current?.handleInput(inputStr, key) ?? false;
|
|
103
123
|
case 'stream-selector':
|
|
104
124
|
return streamSelectorRef.current?.handleInput(inputStr, key) ?? false;
|
|
125
|
+
case 'sounds-selector':
|
|
126
|
+
return soundsSelectorRef.current?.handleInput(inputStr, key) ?? false;
|
|
105
127
|
case 'tool-browser':
|
|
106
128
|
return toolBrowserRef.current?.handleInput(inputStr, key) ?? false;
|
|
129
|
+
case 'command-output':
|
|
130
|
+
return commandOutputRef.current?.handleInput(inputStr, key) ?? false;
|
|
107
131
|
case 'mcp-server-list':
|
|
108
132
|
return mcpServerListRef.current?.handleInput(inputStr, key) ?? false;
|
|
109
133
|
case 'mcp-server-actions':
|
|
@@ -178,7 +202,7 @@ export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input
|
|
|
178
202
|
}, [setApproval, setApprovalQueue, setUi]);
|
|
179
203
|
// Handle approval responses
|
|
180
204
|
const handleApprove = useCallback((options) => {
|
|
181
|
-
if (!approval
|
|
205
|
+
if (!approval)
|
|
182
206
|
return;
|
|
183
207
|
// Enable "accept all edits" mode if requested
|
|
184
208
|
if (options.enableAcceptEditsMode) {
|
|
@@ -187,18 +211,14 @@ export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input
|
|
|
187
211
|
// Auto-disable plan mode when plan_create or plan_review is approved
|
|
188
212
|
// This signals the transition from planning phase to execution phase
|
|
189
213
|
const toolName = approval.metadata.toolName;
|
|
190
|
-
|
|
191
|
-
toolName === 'plan_review' ||
|
|
192
|
-
toolName === 'custom--plan_create' ||
|
|
193
|
-
toolName === 'custom--plan_review';
|
|
194
|
-
if (isPlanTool) {
|
|
214
|
+
if (toolName === 'plan_create' || toolName === 'plan_review') {
|
|
195
215
|
setUi((prev) => ({
|
|
196
216
|
...prev,
|
|
197
217
|
planModeActive: false,
|
|
198
218
|
planModeInitialized: false,
|
|
199
219
|
}));
|
|
200
220
|
}
|
|
201
|
-
|
|
221
|
+
agent.emit('approval:response', {
|
|
202
222
|
approvalId: approval.approvalId,
|
|
203
223
|
status: ApprovalStatus.APPROVED,
|
|
204
224
|
sessionId: approval.sessionId,
|
|
@@ -210,15 +230,15 @@ export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input
|
|
|
210
230
|
},
|
|
211
231
|
});
|
|
212
232
|
completeApproval();
|
|
213
|
-
}, [approval,
|
|
233
|
+
}, [approval, agent, completeApproval, setUi]);
|
|
214
234
|
const handleDeny = useCallback((feedback) => {
|
|
215
|
-
if (!approval
|
|
235
|
+
if (!approval)
|
|
216
236
|
return;
|
|
217
237
|
// Include user feedback in the denial message if provided
|
|
218
238
|
const message = feedback
|
|
219
239
|
? `User requested changes: ${feedback}`
|
|
220
240
|
: 'User denied the tool execution';
|
|
221
|
-
|
|
241
|
+
agent.emit('approval:response', {
|
|
222
242
|
approvalId: approval.approvalId,
|
|
223
243
|
status: ApprovalStatus.DENIED,
|
|
224
244
|
sessionId: approval.sessionId,
|
|
@@ -226,11 +246,11 @@ export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input
|
|
|
226
246
|
message,
|
|
227
247
|
});
|
|
228
248
|
completeApproval();
|
|
229
|
-
}, [approval,
|
|
249
|
+
}, [approval, agent, completeApproval]);
|
|
230
250
|
const handleCancelApproval = useCallback(() => {
|
|
231
|
-
if (!approval
|
|
251
|
+
if (!approval)
|
|
232
252
|
return;
|
|
233
|
-
|
|
253
|
+
agent.emit('approval:response', {
|
|
234
254
|
approvalId: approval.approvalId,
|
|
235
255
|
status: ApprovalStatus.CANCELLED,
|
|
236
256
|
sessionId: approval.sessionId,
|
|
@@ -238,7 +258,7 @@ export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input
|
|
|
238
258
|
message: 'User cancelled the approval request',
|
|
239
259
|
});
|
|
240
260
|
completeApproval();
|
|
241
|
-
}, [approval,
|
|
261
|
+
}, [approval, agent, completeApproval]);
|
|
242
262
|
// Helper: Check if error is due to missing API key
|
|
243
263
|
const isApiKeyMissingError = (error) => {
|
|
244
264
|
if (error instanceof DextoValidationError) {
|
|
@@ -879,15 +899,19 @@ export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input
|
|
|
879
899
|
setUi((prev) => ({ ...prev, activeOverlay: 'none', mcpWizardServerType: null }));
|
|
880
900
|
}, [input.value, buffer, setInput, setUi]);
|
|
881
901
|
const handleClose = useCallback(() => {
|
|
882
|
-
setUi((prev) => ({
|
|
902
|
+
setUi((prev) => ({
|
|
903
|
+
...prev,
|
|
904
|
+
activeOverlay: 'none',
|
|
905
|
+
mcpWizardServerType: null,
|
|
906
|
+
commandOutput: null,
|
|
907
|
+
}));
|
|
883
908
|
}, [setUi]);
|
|
884
909
|
// Handle log level selection
|
|
885
910
|
const handleLogLevelSelect = useCallback((level) => {
|
|
886
911
|
setUi((prev) => ({ ...prev, activeOverlay: 'none', mcpWizardServerType: null }));
|
|
887
912
|
buffer.setText('');
|
|
888
913
|
setInput((prev) => ({ ...prev, historyIndex: -1 }));
|
|
889
|
-
|
|
890
|
-
agent.logger.setLevel(level);
|
|
914
|
+
void agent.setLogLevel(level, session.id ? { sessionId: session.id } : undefined);
|
|
891
915
|
setMessages((prev) => [
|
|
892
916
|
...prev,
|
|
893
917
|
{
|
|
@@ -897,7 +921,7 @@ export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input
|
|
|
897
921
|
timestamp: new Date(),
|
|
898
922
|
},
|
|
899
923
|
]);
|
|
900
|
-
}, [setUi, setInput, setMessages, agent, buffer]);
|
|
924
|
+
}, [setUi, setInput, setMessages, agent, buffer, getConfigFilePathOrWarn, session.id]);
|
|
901
925
|
// Handle stream mode selection
|
|
902
926
|
const handleStreamSelect = useCallback((enabled) => {
|
|
903
927
|
setUi((prev) => ({ ...prev, activeOverlay: 'none', mcpWizardServerType: null }));
|
|
@@ -1000,7 +1024,11 @@ export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input
|
|
|
1000
1024
|
// Import persistence utilities
|
|
1001
1025
|
const { updateMcpServerField } = await import('@dexto/agent-management');
|
|
1002
1026
|
// Persist to config file AFTER successful enable/disable
|
|
1003
|
-
|
|
1027
|
+
const agentPath = getConfigFilePathOrWarn('persist MCP server settings');
|
|
1028
|
+
if (!agentPath) {
|
|
1029
|
+
return;
|
|
1030
|
+
}
|
|
1031
|
+
await updateMcpServerField(agentPath, server.name, 'enabled', newEnabled);
|
|
1004
1032
|
setMessages((prev) => [
|
|
1005
1033
|
...prev,
|
|
1006
1034
|
{
|
|
@@ -1082,7 +1110,10 @@ export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input
|
|
|
1082
1110
|
// Import persistence utilities
|
|
1083
1111
|
const { removeMcpServerFromConfig } = await import('@dexto/agent-management');
|
|
1084
1112
|
// Persist to config file using surgical removal
|
|
1085
|
-
|
|
1113
|
+
const agentPath = getConfigFilePathOrWarn('persist MCP server deletion');
|
|
1114
|
+
if (agentPath) {
|
|
1115
|
+
await removeMcpServerFromConfig(agentPath, server.name);
|
|
1116
|
+
}
|
|
1086
1117
|
// Also disconnect if connected
|
|
1087
1118
|
try {
|
|
1088
1119
|
await agent.removeMcpServer(server.name);
|
|
@@ -1325,8 +1356,12 @@ export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input
|
|
|
1325
1356
|
]);
|
|
1326
1357
|
// Refresh prompts to remove uninstalled plugin skills
|
|
1327
1358
|
try {
|
|
1328
|
-
const
|
|
1329
|
-
|
|
1359
|
+
const agentPath = getConfigFilePathOrWarn('refresh prompts after plugin uninstall');
|
|
1360
|
+
if (!agentPath) {
|
|
1361
|
+
return;
|
|
1362
|
+
}
|
|
1363
|
+
const newConfig = await reloadAgentConfigFromFile(agentPath);
|
|
1364
|
+
const enrichedConfig = enrichAgentConfig(newConfig, agentPath);
|
|
1330
1365
|
await agent.refreshPrompts(enrichedConfig.prompts);
|
|
1331
1366
|
}
|
|
1332
1367
|
catch {
|
|
@@ -1347,7 +1382,7 @@ export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input
|
|
|
1347
1382
|
setSelectedPlugin(null);
|
|
1348
1383
|
setUi((prev) => ({ ...prev, isProcessing: false }));
|
|
1349
1384
|
}
|
|
1350
|
-
}, [setUi, setMessages, agent]);
|
|
1385
|
+
}, [setUi, setMessages, agent, getConfigFilePathOrWarn]);
|
|
1351
1386
|
// Handle marketplace browser actions
|
|
1352
1387
|
const handleMarketplaceBrowserAction = useCallback(async (action) => {
|
|
1353
1388
|
if (action.type === 'add-marketplace') {
|
|
@@ -1367,8 +1402,12 @@ export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input
|
|
|
1367
1402
|
// Refresh prompts to include new plugin skills
|
|
1368
1403
|
try {
|
|
1369
1404
|
const { reloadAgentConfigFromFile, enrichAgentConfig } = await import('@dexto/agent-management');
|
|
1370
|
-
const
|
|
1371
|
-
|
|
1405
|
+
const agentPath = getConfigFilePathOrWarn('refresh prompts after plugin install');
|
|
1406
|
+
if (!agentPath) {
|
|
1407
|
+
return;
|
|
1408
|
+
}
|
|
1409
|
+
const newConfig = await reloadAgentConfigFromFile(agentPath);
|
|
1410
|
+
const enrichedConfig = enrichAgentConfig(newConfig, agentPath);
|
|
1372
1411
|
await agent.refreshPrompts(enrichedConfig.prompts);
|
|
1373
1412
|
}
|
|
1374
1413
|
catch (error) {
|
|
@@ -1376,7 +1415,7 @@ export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input
|
|
|
1376
1415
|
// Log but don't show error to user
|
|
1377
1416
|
}
|
|
1378
1417
|
}
|
|
1379
|
-
}, [setUi, setMessages, agent]);
|
|
1418
|
+
}, [setUi, setMessages, agent, getConfigFilePathOrWarn]);
|
|
1380
1419
|
// Handle marketplace add completion
|
|
1381
1420
|
const handleMarketplaceAddComplete = useCallback((name, pluginCount) => {
|
|
1382
1421
|
setUi((prev) => ({ ...prev, activeOverlay: 'marketplace-browser' }));
|
|
@@ -1591,26 +1630,34 @@ export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input
|
|
|
1591
1630
|
await writeFile(filePath, fileContent, 'utf-8');
|
|
1592
1631
|
// Re-discover commands and refresh with enriched prompts
|
|
1593
1632
|
const { reloadAgentConfigFromFile, enrichAgentConfig } = await import('@dexto/agent-management');
|
|
1594
|
-
const
|
|
1595
|
-
|
|
1633
|
+
const agentPath = getConfigFilePathOrWarn('refresh prompts after creating shared prompt');
|
|
1634
|
+
if (!agentPath) {
|
|
1635
|
+
return;
|
|
1636
|
+
}
|
|
1637
|
+
const newConfig = await reloadAgentConfigFromFile(agentPath);
|
|
1638
|
+
const enrichedConfig = enrichAgentConfig(newConfig, agentPath);
|
|
1596
1639
|
await agent.refreshPrompts(enrichedConfig.prompts);
|
|
1597
1640
|
}
|
|
1598
1641
|
else {
|
|
1599
1642
|
// Create in agent's prompts directory
|
|
1600
|
-
const
|
|
1643
|
+
const agentPath = getConfigFilePathOrWarn('create prompt in agent prompts directory');
|
|
1644
|
+
if (!agentPath) {
|
|
1645
|
+
return;
|
|
1646
|
+
}
|
|
1647
|
+
const agentDir = dirname(agentPath);
|
|
1601
1648
|
const promptsDir = join(agentDir, 'prompts');
|
|
1602
1649
|
filePath = join(promptsDir, `${data.name}.md`);
|
|
1603
1650
|
await mkdir(promptsDir, { recursive: true });
|
|
1604
1651
|
await writeFile(filePath, fileContent, 'utf-8');
|
|
1605
1652
|
// Add file reference to agent config using surgical helper
|
|
1606
1653
|
const { addPromptToAgentConfig, reloadAgentConfigFromFile, enrichAgentConfig, } = await import('@dexto/agent-management');
|
|
1607
|
-
await addPromptToAgentConfig(
|
|
1654
|
+
await addPromptToAgentConfig(agentPath, {
|
|
1608
1655
|
type: 'file',
|
|
1609
1656
|
file: `\${{dexto.agent_dir}}/prompts/${data.name}.md`,
|
|
1610
1657
|
});
|
|
1611
1658
|
// Reload config from disk, enrich to include discovered commands, then refresh
|
|
1612
|
-
const newConfig = await reloadAgentConfigFromFile(
|
|
1613
|
-
const enrichedConfig = enrichAgentConfig(newConfig,
|
|
1659
|
+
const newConfig = await reloadAgentConfigFromFile(agentPath);
|
|
1660
|
+
const enrichedConfig = enrichAgentConfig(newConfig, agentPath);
|
|
1614
1661
|
await agent.refreshPrompts(enrichedConfig.prompts);
|
|
1615
1662
|
}
|
|
1616
1663
|
setMessages((prev) => [
|
|
@@ -1634,7 +1681,15 @@ export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input
|
|
|
1634
1681
|
},
|
|
1635
1682
|
]);
|
|
1636
1683
|
}
|
|
1637
|
-
}, [
|
|
1684
|
+
}, [
|
|
1685
|
+
ui.promptAddWizard?.scope,
|
|
1686
|
+
setUi,
|
|
1687
|
+
setInput,
|
|
1688
|
+
setMessages,
|
|
1689
|
+
buffer,
|
|
1690
|
+
agent,
|
|
1691
|
+
getConfigFilePathOrWarn,
|
|
1692
|
+
]);
|
|
1638
1693
|
// Handle prompt delete
|
|
1639
1694
|
const handlePromptDelete = useCallback(async (deletable) => {
|
|
1640
1695
|
const displayName = deletable.prompt.displayName || deletable.prompt.name;
|
|
@@ -1649,10 +1704,14 @@ export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input
|
|
|
1649
1704
|
]);
|
|
1650
1705
|
try {
|
|
1651
1706
|
const { deletePromptByMetadata, reloadAgentConfigFromFile, enrichAgentConfig } = await import('@dexto/agent-management');
|
|
1707
|
+
const agentPath = getConfigFilePathOrWarn('delete prompt');
|
|
1708
|
+
if (!agentPath) {
|
|
1709
|
+
return;
|
|
1710
|
+
}
|
|
1652
1711
|
// Use the higher-level delete function that handles file + config
|
|
1653
1712
|
// Pass full metadata including originalId for inline prompt deletion
|
|
1654
1713
|
const promptMetadata = deletable.prompt.metadata;
|
|
1655
|
-
const result = await deletePromptByMetadata(
|
|
1714
|
+
const result = await deletePromptByMetadata(agentPath, {
|
|
1656
1715
|
name: deletable.prompt.name,
|
|
1657
1716
|
metadata: {
|
|
1658
1717
|
filePath: deletable.filePath,
|
|
@@ -1663,8 +1722,8 @@ export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input
|
|
|
1663
1722
|
throw new Error(result.error || 'Failed to delete prompt');
|
|
1664
1723
|
}
|
|
1665
1724
|
// Reload config from disk, enrich to include discovered commands, then refresh
|
|
1666
|
-
const newConfig = await reloadAgentConfigFromFile(
|
|
1667
|
-
const enrichedConfig = enrichAgentConfig(newConfig,
|
|
1725
|
+
const newConfig = await reloadAgentConfigFromFile(agentPath);
|
|
1726
|
+
const enrichedConfig = enrichAgentConfig(newConfig, agentPath);
|
|
1668
1727
|
await agent.refreshPrompts(enrichedConfig.prompts);
|
|
1669
1728
|
setMessages((prev) => [
|
|
1670
1729
|
...prev,
|
|
@@ -1698,7 +1757,7 @@ export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input
|
|
|
1698
1757
|
activeOverlay: 'prompt-list',
|
|
1699
1758
|
}));
|
|
1700
1759
|
}
|
|
1701
|
-
}, [setUi, setMessages, agent]);
|
|
1760
|
+
}, [setUi, setMessages, agent, getConfigFilePathOrWarn]);
|
|
1702
1761
|
// Handle prompt add wizard close
|
|
1703
1762
|
const handlePromptAddWizardClose = useCallback(() => {
|
|
1704
1763
|
setUi((prev) => ({
|
|
@@ -1766,7 +1825,8 @@ export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input
|
|
|
1766
1825
|
const handleSessionRenameClose = useCallback(() => {
|
|
1767
1826
|
setUi((prev) => ({ ...prev, activeOverlay: 'none' }));
|
|
1768
1827
|
}, [setUi]);
|
|
1769
|
-
|
|
1828
|
+
const hideCliChrome = shouldHideCliChrome(ui.activeOverlay, approval);
|
|
1829
|
+
const overlayContent = (_jsxs(_Fragment, { children: [approval && (_jsx(ApprovalPrompt, { ref: approvalRef, approval: approval, onApprove: handleApprove, onDeny: handleDeny, onCancel: handleCancelApproval })), ui.activeOverlay === 'slash-autocomplete' && (_jsx(Box, { marginTop: 1, children: _jsx(SlashCommandAutocomplete, { ref: slashAutocompleteRef, isVisible: true, searchQuery: input.value, onSelectPrompt: handlePromptSelect, onSelectSystemCommand: handleSystemCommandSelect, onLoadIntoInput: handleLoadIntoInput, onSubmitRaw: onSubmitPromptCommand, onClose: handleClose, agent: agent }) })), ui.activeOverlay === 'resource-autocomplete' && (_jsx(Box, { marginTop: 1, children: _jsx(ResourceAutocomplete, { ref: resourceAutocompleteRef, isVisible: true, searchQuery: input.value, onSelectResource: handleResourceSelect, onLoadIntoInput: handleLoadIntoInput, onClose: handleClose, agent: agent }) })), ui.activeOverlay === 'model-selector' && (_jsx(Box, { marginTop: 1, children: _jsx(ModelSelectorRefactored, { ref: modelSelectorRef, isVisible: true, onSelectModel: handleModelSelect, onSetDefaultModel: handleSetDefaultModel, onClose: handleClose, onAddCustomModel: handleAddCustomModel, onEditCustomModel: handleEditCustomModel, agent: agent }) })), ui.activeOverlay === 'session-selector' && (_jsx(Box, { marginTop: 1, children: _jsx(SessionSelectorRefactored, { ref: sessionSelectorRef, isVisible: true, onSelectSession: handleSessionSelect, onClose: handleClose, agent: agent, currentSessionId: session.id || undefined }) })), ui.activeOverlay === 'log-level-selector' && (_jsx(Box, { marginTop: 1, children: _jsx(LogLevelSelector, { ref: logLevelSelectorRef, isVisible: true, onSelect: handleLogLevelSelect, onClose: handleClose, agent: agent, sessionId: session.id }) })), ui.activeOverlay === 'stream-selector' && (_jsx(Box, { marginTop: 1, children: _jsx(StreamSelector, { ref: streamSelectorRef, isVisible: true, onSelect: handleStreamSelect, onClose: handleClose }) })), ui.activeOverlay === 'sounds-selector' && (_jsx(Box, { marginTop: 1, children: _jsx(SoundsSelector, { ref: soundsSelectorRef, isVisible: true, onClose: handleClose }) })), ui.activeOverlay === 'tool-browser' && (_jsx(Box, { marginTop: 1, children: _jsx(ToolBrowser, { ref: toolBrowserRef, isVisible: true, onClose: handleClose, agent: agent, sessionId: session.id }) })), ui.activeOverlay === 'command-output' && ui.commandOutput && (_jsx(Box, { marginTop: 1, children: _jsx(CommandOutputOverlay, { ref: commandOutputRef, isVisible: true, title: ui.commandOutput.title, content: ui.commandOutput.content, onClose: handleClose }) })), ui.activeOverlay === 'mcp-server-list' && (_jsx(Box, { marginTop: 1, children: _jsx(McpServerList, { ref: mcpServerListRef, isVisible: true, onAction: handleMcpServerListAction, onClose: handleClose, agent: agent }) })), ui.activeOverlay === 'mcp-server-actions' && ui.selectedMcpServer && (_jsx(Box, { marginTop: 1, children: _jsx(McpServerActions, { ref: mcpServerActionsRef, isVisible: true, server: ui.selectedMcpServer, onAction: handleMcpServerAction, onClose: handleClose }) })), ui.activeOverlay === 'mcp-add-choice' && (_jsx(Box, { marginTop: 1, children: _jsx(McpAddChoice, { ref: mcpAddChoiceRef, isVisible: true, onSelect: handleMcpAddChoice, onClose: handleClose }) })), ui.activeOverlay === 'mcp-add-selector' && (_jsx(Box, { marginTop: 1, children: _jsx(McpAddSelector, { ref: mcpAddSelectorRef, isVisible: true, onSelect: handleMcpAddSelect, onClose: handleClose }) })), ui.activeOverlay === 'mcp-custom-type-selector' && (_jsx(Box, { marginTop: 1, children: _jsx(McpCustomTypeSelector, { ref: mcpCustomTypeSelectorRef, isVisible: true, onSelect: handleMcpCustomTypeSelect, onClose: handleClose }) })), ui.activeOverlay === 'mcp-custom-wizard' && ui.mcpWizardServerType && (_jsx(McpCustomWizard, { ref: mcpCustomWizardRef, isVisible: true, serverType: ui.mcpWizardServerType, onComplete: handleMcpCustomWizardComplete, onClose: handleClose })), ui.activeOverlay === 'custom-model-wizard' && (_jsx(CustomModelWizard, { ref: customModelWizardRef, isVisible: true, onComplete: handleCustomModelComplete, onClose: () => {
|
|
1770
1830
|
setEditingModel(null);
|
|
1771
1831
|
handleClose();
|
|
1772
1832
|
}, initialModel: editingModel })), ui.activeOverlay === 'plugin-manager' && (_jsx(Box, { marginTop: 1, children: _jsx(PluginManager, { ref: pluginManagerRef, isVisible: true, onAction: handlePluginManagerAction, onClose: handleClose }) })), ui.activeOverlay === 'plugin-list' && (_jsx(Box, { marginTop: 1, children: _jsx(PluginList, { ref: pluginListRef, isVisible: true, onPluginSelect: handlePluginSelect, onClose: handleClose }) })), ui.activeOverlay === 'plugin-actions' && (_jsx(Box, { marginTop: 1, children: _jsx(PluginActions, { ref: pluginActionsRef, isVisible: true, plugin: selectedPlugin, onAction: handlePluginAction, onClose: () => {
|
|
@@ -1776,4 +1836,5 @@ export const OverlayContainer = forwardRef(function OverlayContainer({ ui, input
|
|
|
1776
1836
|
activeOverlay: 'plugin-list',
|
|
1777
1837
|
}));
|
|
1778
1838
|
} }) })), ui.activeOverlay === 'marketplace-browser' && (_jsx(Box, { marginTop: 1, children: _jsx(MarketplaceBrowser, { ref: marketplaceBrowserRef, isVisible: true, onAction: handleMarketplaceBrowserAction, onClose: handleClose }) })), ui.activeOverlay === 'marketplace-add' && (_jsx(Box, { marginTop: 1, children: _jsx(MarketplaceAddPrompt, { ref: marketplaceAddPromptRef, isVisible: true, onComplete: handleMarketplaceAddComplete, onClose: () => setUi((prev) => ({ ...prev, activeOverlay: 'marketplace-browser' })) }) })), ui.activeOverlay === 'session-subcommand-selector' && (_jsx(Box, { marginTop: 1, children: _jsx(SessionSubcommandSelector, { ref: sessionSubcommandSelectorRef, isVisible: true, onSelect: handleSessionSubcommandSelect, onClose: handleClose }) })), ui.activeOverlay === 'api-key-input' && ui.pendingModelSwitch && (_jsx(ApiKeyInput, { ref: apiKeyInputRef, isVisible: true, provider: ui.pendingModelSwitch.provider, onSaved: handleApiKeySaved, onClose: handleApiKeyClose })), ui.activeOverlay === 'search' && (_jsx(SearchOverlay, { ref: searchOverlayRef, isVisible: true, agent: agent, onClose: handleClose, onSelectResult: handleSearchResultSelect })), ui.activeOverlay === 'prompt-list' && (_jsx(Box, { marginTop: 1, children: _jsx(PromptList, { ref: promptListRef, isVisible: true, onAction: handlePromptListAction, onLoadIntoInput: handlePromptLoadIntoInput, onClose: handleClose, agent: agent }) })), ui.activeOverlay === 'prompt-add-choice' && (_jsx(Box, { marginTop: 1, children: _jsx(PromptAddChoice, { ref: promptAddChoiceRef, isVisible: true, onSelect: handlePromptAddChoice, onClose: handlePromptAddChoiceClose }) })), ui.activeOverlay === 'prompt-add-wizard' && ui.promptAddWizard && (_jsx(PromptAddWizard, { ref: promptAddWizardRef, isVisible: true, scope: ui.promptAddWizard.scope, onComplete: handlePromptAddComplete, onClose: handlePromptAddWizardClose })), ui.activeOverlay === 'prompt-delete-selector' && (_jsx(Box, { marginTop: 1, children: _jsx(PromptDeleteSelector, { ref: promptDeleteSelectorRef, isVisible: true, onDelete: handlePromptDelete, onClose: handlePromptDeleteClose, agent: agent }) })), ui.activeOverlay === 'session-rename' && (_jsx(SessionRenameOverlay, { ref: sessionRenameRef, isVisible: true, currentTitle: currentSessionTitle, onRename: handleSessionRename, onClose: handleSessionRenameClose })), ui.activeOverlay === 'context-stats' && session.id && (_jsx(Box, { marginTop: 1, children: _jsx(ContextStatsOverlay, { ref: contextStatsRef, isVisible: true, onClose: handleClose, agent: agent, sessionId: session.id ?? '' }) })), ui.activeOverlay === 'export-wizard' && (_jsx(ExportWizard, { ref: exportWizardRef, isVisible: true, agent: agent, sessionId: session.id, onClose: handleClose }))] }));
|
|
1839
|
+
return hideCliChrome ? (_jsx(FocusOverlayFrame, { children: overlayContent })) : (overlayContent);
|
|
1779
1840
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAgentEvents.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/hooks/useAgentEvents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAEH,KAAK,UAAU,EACf,KAAK,aAAa,EAErB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEtE,UAAU,mBAAmB;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7D,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACpE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/D,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3D,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1E,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IAC1E,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACzE,8CAA8C;IAC9C,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,iFAAiF;IACjF,MAAM,EAAE,UAAU,CAAC;CACtB;AAYD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAC3B,KAAK,EACL,WAAW,EACX,kBAAkB,EAClB,KAAK,EACL,UAAU,EACV,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,GACT,EAAE,mBAAmB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"useAgentEvents.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/hooks/useAgentEvents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAEH,KAAK,UAAU,EACf,KAAK,aAAa,EAErB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEtE,UAAU,mBAAmB;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7D,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACpE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/D,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3D,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1E,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IAC1E,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACzE,8CAA8C;IAC9C,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,iFAAiF;IACjF,MAAM,EAAE,UAAU,CAAC;CACtB;AAYD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAC3B,KAAK,EACL,WAAW,EACX,kBAAkB,EAClB,KAAK,EACL,UAAU,EACV,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,GACT,EAAE,mBAAmB,GAAG,IAAI,CAgd5B"}
|