zidane 6.1.2 → 6.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{acp-d1OjXjtH.js → acp-CO1EGSwh.js} +3 -3
- package/dist/{acp-d1OjXjtH.js.map → acp-CO1EGSwh.js.map} +1 -1
- package/dist/acp-cli.js +3 -3
- package/dist/acp.d.ts +1 -1
- package/dist/acp.js +1 -1
- package/dist/{agent-5mbViwQE.js → agent-CZKpBI1X.js} +3 -3
- package/dist/{agent-5mbViwQE.js.map → agent-CZKpBI1X.js.map} +1 -1
- package/dist/agent.d.ts +1 -1
- package/dist/agent.js +1 -1
- package/dist/chat/pure.d.ts +3 -3
- package/dist/chat/pure.js +1 -1
- package/dist/chat.d.ts +5 -5
- package/dist/chat.d.ts.map +1 -1
- package/dist/chat.js +3 -3
- package/dist/contexts/daytona.d.ts +1 -1
- package/dist/contexts/e2b.d.ts +1 -1
- package/dist/{contexts-BIbcfBFH.js → contexts-A4ep-iJs.js} +2 -2
- package/dist/contexts-A4ep-iJs.js.map +1 -0
- package/dist/contexts.js +1 -1
- package/dist/eval.d.ts +1 -1
- package/dist/eval.js +1 -1
- package/dist/extensions.d.ts +1 -1
- package/dist/extensions.js +1 -1
- package/dist/headless.d.ts +1 -1
- package/dist/headless.js +2 -2
- package/dist/{index-C6Il4kBD.d.ts → index-DC9Iy3Vn.d.ts} +17 -2
- package/dist/{index-C6Il4kBD.d.ts.map → index-DC9Iy3Vn.d.ts.map} +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4 -4
- package/dist/{login-DZLG__2f.js → login-DhnmYiia.js} +16 -8
- package/dist/{login-DZLG__2f.js.map → login-DhnmYiia.js.map} +1 -1
- package/dist/{mcp-CcvuVXB9.js → mcp-CkHUripi.js} +61 -4
- package/dist/mcp-CkHUripi.js.map +1 -0
- package/dist/mcp.d.ts +1 -1
- package/dist/mcp.js +1 -1
- package/dist/output/stream-json.d.ts +1 -1
- package/dist/output/terminal.d.ts +1 -1
- package/dist/presets.d.ts +1 -1
- package/dist/presets.js +1 -1
- package/dist/providers/anthropic.d.ts +1 -1
- package/dist/providers/arcee.d.ts +1 -1
- package/dist/providers/baseten.d.ts +1 -1
- package/dist/providers/cerebras.d.ts +1 -1
- package/dist/providers/local.d.ts +1 -1
- package/dist/providers/openai-compat.d.ts +1 -1
- package/dist/providers/openai.d.ts +1 -1
- package/dist/providers/openrouter.d.ts +1 -1
- package/dist/providers/xai.d.ts +1 -1
- package/dist/providers.d.ts +1 -1
- package/dist/restate.d.ts +1 -1
- package/dist/session/sqlite.d.ts +1 -1
- package/dist/session.d.ts +1 -1
- package/dist/skills.d.ts +1 -1
- package/dist/{tool-formatters-ETbcC9DM.d.ts → tool-formatters-D7AQW80Z.d.ts} +2 -2
- package/dist/tool-formatters-D7AQW80Z.d.ts.map +1 -0
- package/dist/tools/fetch-url.d.ts +1 -1
- package/dist/tools/web-search.d.ts +1 -1
- package/dist/tools.d.ts +1 -1
- package/dist/tools.js +1 -1
- package/dist/{transcript-anchors-e_30Kvk0.d.ts → transcript-anchors-ClIlrGxh.d.ts} +2 -2
- package/dist/{transcript-anchors-e_30Kvk0.d.ts.map → transcript-anchors-ClIlrGxh.d.ts.map} +1 -1
- package/dist/{transcript-anchors-DoOWooFn.js → transcript-anchors-hv97ejJn.js} +6 -4
- package/dist/transcript-anchors-hv97ejJn.js.map +1 -0
- package/dist/tui.d.ts +3 -3
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +298 -25
- package/dist/tui.js.map +1 -1
- package/dist/{turn-operations-CEt_l3fy.js → turn-operations-BWTB2So4.js} +32 -4
- package/dist/turn-operations-BWTB2So4.js.map +1 -0
- package/dist/{turn-operations-D-aaiUOo.d.ts → turn-operations-mvM38tP-.d.ts} +3 -3
- package/dist/{turn-operations-D-aaiUOo.d.ts.map → turn-operations-mvM38tP-.d.ts.map} +1 -1
- package/dist/types.d.ts +1 -1
- package/package.json +1 -1
- package/dist/contexts-BIbcfBFH.js.map +0 -1
- package/dist/mcp-CcvuVXB9.js.map +0 -1
- package/dist/tool-formatters-ETbcC9DM.d.ts.map +0 -1
- package/dist/transcript-anchors-DoOWooFn.js.map +0 -1
- package/dist/turn-operations-CEt_l3fy.js.map +0 -1
package/dist/tui.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { $l as AgentRegistry, Ec as ThemeColors, Gf as SessionData, Ic as CompletionProvider, Id as McpToolSchema, Iu as ModelInfo, Kl as RingBufferSink, Lc as CompletionReference, Lu as ModelOption, Mu as ProviderKey, Nd as JsonValue, No as ExtensionToolRendererEntry, Pd as McpServerConfig, Rf as SkillConfig, Tc as Theme, Va as StoredExtensionConfigItem, Vo as LoadedExtension, Wf as Session, _u as SessionMeta, if as SessionTurn, io as ExtensionCustomRenderer, ja as ExtensionConfigCategory, jc as CompletionState, ju as ProviderAuth, ol as InteractionRequest, oo as ExtensionDefinition, ou as accentColor, sf as ThinkingLevel, sl as InteractionResponse, vu as Settings, xo as ExtensionRegistry, xu as ModelChainEntry, yu as StreamEvent } from "./index-
|
|
2
|
-
import { S as ResolvedConfig, V as marginTopFor, b as ChatOptions, bt as hintsLength, f as DiscoveredMcp, i as SessionExportFormat, l as EnabledAllowlistKey, n as computeTurnAnchors, p as DiscoveryError, rt as KeyBindings, t as TranscriptItem, vt as Hint, xt as truncateTrailing, yt as clipHintsToWidth } from "./transcript-anchors-
|
|
3
|
-
import { C as isTurnHighlighted, E as turnSelectionOwnership, S as isEditErrorResult, T as selectableTurnIds, a as formatToolCall, c as splitPromptSegments, h as ApprovalRequest, i as displayNameFor, m as ApprovalDecision, n as ToolDisplayMeta, o as PromptSegment, p as splitMarkdownCodeBlocks, r as ToolFormatLine, s as PromptSegmentRef, t as TOOL_DISPLAY, u as MarkdownSegment, w as isVisible } from "./tool-formatters-
|
|
1
|
+
import { $l as AgentRegistry, Ec as ThemeColors, Gf as SessionData, Ic as CompletionProvider, Id as McpToolSchema, Iu as ModelInfo, Kl as RingBufferSink, Lc as CompletionReference, Lu as ModelOption, Mu as ProviderKey, Nd as JsonValue, No as ExtensionToolRendererEntry, Pd as McpServerConfig, Rf as SkillConfig, Tc as Theme, Va as StoredExtensionConfigItem, Vo as LoadedExtension, Wf as Session, _u as SessionMeta, if as SessionTurn, io as ExtensionCustomRenderer, ja as ExtensionConfigCategory, jc as CompletionState, ju as ProviderAuth, ol as InteractionRequest, oo as ExtensionDefinition, ou as accentColor, sf as ThinkingLevel, sl as InteractionResponse, vu as Settings, xo as ExtensionRegistry, xu as ModelChainEntry, yu as StreamEvent } from "./index-DC9Iy3Vn.js";
|
|
2
|
+
import { S as ResolvedConfig, V as marginTopFor, b as ChatOptions, bt as hintsLength, f as DiscoveredMcp, i as SessionExportFormat, l as EnabledAllowlistKey, n as computeTurnAnchors, p as DiscoveryError, rt as KeyBindings, t as TranscriptItem, vt as Hint, xt as truncateTrailing, yt as clipHintsToWidth } from "./transcript-anchors-ClIlrGxh.js";
|
|
3
|
+
import { C as isTurnHighlighted, E as turnSelectionOwnership, S as isEditErrorResult, T as selectableTurnIds, a as formatToolCall, c as splitPromptSegments, h as ApprovalRequest, i as displayNameFor, m as ApprovalDecision, n as ToolDisplayMeta, o as PromptSegment, p as splitMarkdownCodeBlocks, r as ToolFormatLine, s as PromptSegmentRef, t as TOOL_DISPLAY, u as MarkdownSegment, w as isVisible } from "./tool-formatters-D7AQW80Z.js";
|
|
4
4
|
import { Buffer } from "node:buffer";
|
|
5
5
|
import { ReactNode } from "react";
|
|
6
6
|
import { RGBA, SyntaxStyle } from "@opentui/core";
|
package/dist/tui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui.d.ts","names":[],"sources":["../src/tui/agent-picker.tsx","../src/tui/app.tsx","../src/tui/completion-popup.tsx","../src/tui/components.tsx","../src/tui/effort-picker.tsx","../src/tui/extension-renderers.tsx","../src/tui/extensions-settings.tsx","../src/tui/interaction-block.tsx","../src/tui/mcps-settings.tsx","../src/tui/modal.tsx","../src/tui/model-options-picker.tsx","../src/tui/model-picker.tsx","../src/tui/screens.tsx","../src/tui/session-details-modal.tsx","../src/tui/settings-modal.tsx","../src/tui/skills-settings.tsx","../src/tui/theme.ts","../src/tui/toggle-list-modal.tsx","../src/tui/turn-details-modal.tsx","../src/tui/index.tsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tui.d.ts","names":[],"sources":["../src/tui/agent-picker.tsx","../src/tui/app.tsx","../src/tui/completion-popup.tsx","../src/tui/components.tsx","../src/tui/effort-picker.tsx","../src/tui/extension-renderers.tsx","../src/tui/extensions-settings.tsx","../src/tui/interaction-block.tsx","../src/tui/mcps-settings.tsx","../src/tui/modal.tsx","../src/tui/model-options-picker.tsx","../src/tui/model-picker.tsx","../src/tui/screens.tsx","../src/tui/session-details-modal.tsx","../src/tui/settings-modal.tsx","../src/tui/skills-settings.tsx","../src/tui/theme.ts","../src/tui/toggle-list-modal.tsx","../src/tui/turn-details-modal.tsx","../src/tui/index.tsx"],"mappings":"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"}
|
package/dist/tui.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { $ as useMcpAuthState, $n as buildPlanSystem, $t as restoreChainFallbacks, A as runOAuthLogin, Bt as createDiscoverySlot, Ct as SETTINGS_CHOICES, D as formatPathForCwd, Dt as clampFps, Et as SettingsProvider, G as buildVisibleMcpRows, Gt as useConfig, Ht as useDiscovery, J as createFileMcpCredentialStore, Jt as buildRunModel, K as indexOfServerRow, Kt as resolveConfig, L as loadMcpToolsCache, M as buildMcpServers, Mt as resolveTheme, O as fetchOAuthRedirect, Ot as useSettings, P as discoverProjectMcps, Q as useMcpAuthDispatch, Qn as buildBuildSystem, Qt as providerKeySetChanged, R as mcpToolsCachePath, St as SETTINGS_CATEGORIES, T as suggestSafelistEntries, Tn as accentColor, Tt as SETTINGS_TOGGLES, U as useMcpToolToggleMap, Ut as useDiscoveryOptional, V as subscribeMcpToolsCache, Vn as useActiveTodos, Vt as DiscoveryProvider, Wt as ConfigProvider, Xt as chainsEqual, Yt as chainPositionOf, Z as McpAuthProvider, Zt as filterChainFallbacks, _ as useSafeModeQueue, _n as discoverAgentsMd, _r as toolCallPreview, _t as buildHints, a as useSurfaces, an as bootTick, at as buildResumedToolResultsTurn, b as getSafelist, br as usageByModel, bt as useEnabledToggleSet, c as useStreamBuffer, cr as lastContextSizeFromTurns, ct as makeRequestInteraction, d as discoverProjectSkills, dr as marginTopFor, dt as useInteractionsActions, er as envSection, et as getMcpAuthStatus, ft as useInteractionsQueue, g as useSafeModeActions, gn as chatAutoCompactBehavior, gt as truncateTrailing, h as SafeModeProvider, hr as sumRunCosts, ht as hintsLength, i as useSelectStyle, ir as compactSummaryEvent, it as PRESENT_PLAN_TOOL, j as supportsOAuth, jn as TODO_STATUS_GLYPHS, jt as resolveChipColor, k as oauthUsesManualCodePaste, l as buildSkillsConfig, lr as listSessionMeta, lt as pendingInteractionsFromTurns, m as writeSessionExport, mr as stripSpawnTokensLine, mt as clipHintsToWidth, n as ThemeProvider, nn as useCompletion, nr as createChatTurnsReadTool, nt as ASK_USER_TOOL, on as buildUpdateHint, or as deriveSessionTitle, ot as createInteractionTools, pr as serverToolResultSummary, pt as EMPTY_HINTS, q as parentServerName, qt as resolveStoragePaths, r as useColors, rn as tryOpenBrowser, rt as InteractionsProvider, s as useTheme, sn as useUpdateCheck, sr as eventsFromTurns, t as computeTurnAnchors, tn as toggleChainEntry, tr as chatReferenceTokensForPrompt, u as defaultSkillScanPaths, ur as loadState, vr as toolResultText, wt as SETTINGS_INPUTS, x as isOnSafelist, xt as DEFAULT_SETTINGS, y as addToSafelist, yr as updateToolEventOutcomes, yt as listProjectFiles, z as refreshMcpToolsCatalog } from "./transcript-anchors-
|
|
2
|
-
import { $ as composeExtensionPreset, B as ExtensionInstallError, Bt as ensureKeybindingsFile, Et as createModelSearchTool, H as installExtensionFromSpec, Ht as groupBindings, J as createExtensionHud, K as removeInstalledExtension, P as summaryToTurn, Ut as keybindingsPath, Vt as formatBindingForDisplay, Wt as matchesBinding, X as discoverAndBuildExtensionRegistry, Y as registerExtensionHostModules, Yt as resolveExtensionKeybindings, _ as buildPostCompactAttachments, c as applyCompactSummaryCutoff, en as inlineLoadedExtension, et as disposeExtensionRegistry, f as cleanupPersistedSession, g as resolveTasksDir, h as resolvePersistDir, ht as isSpawnTool, it as createExtensionHostRuntimeBridge, lt as basic_default, m as resolveMcpWarningsDir, mn as effectiveContextWindow, nn as parseExtensionScanPathEnv, on as coerceExtensionConfigInput, pn as OUTPUT_RESERVE_TOKENS, q as updateInstalledExtension, rn as scanExtensionDirectories, rt as partitionExtensionCatalog, t as createAgent, tt as filterExtensionRegistry, un as resolveExtensionConfigValue, wt as looksBinary, x as compactConversation, y as selectFilesFromSession, z as createExtensionPromptBridge, zt as KEYBINDING_KEY_COL_WIDTH } from "./agent-
|
|
1
|
+
import { $ as useMcpAuthState, $n as buildPlanSystem, $t as restoreChainFallbacks, A as runOAuthLogin, Bt as createDiscoverySlot, Ct as SETTINGS_CHOICES, D as formatPathForCwd, Dt as clampFps, Et as SettingsProvider, G as buildVisibleMcpRows, Gt as useConfig, Ht as useDiscovery, J as createFileMcpCredentialStore, Jt as buildRunModel, K as indexOfServerRow, Kt as resolveConfig, L as loadMcpToolsCache, M as buildMcpServers, Mt as resolveTheme, O as fetchOAuthRedirect, Ot as useSettings, P as discoverProjectMcps, Q as useMcpAuthDispatch, Qn as buildBuildSystem, Qt as providerKeySetChanged, R as mcpToolsCachePath, St as SETTINGS_CATEGORIES, T as suggestSafelistEntries, Tn as accentColor, Tt as SETTINGS_TOGGLES, U as useMcpToolToggleMap, Ut as useDiscoveryOptional, V as subscribeMcpToolsCache, Vn as useActiveTodos, Vt as DiscoveryProvider, Wt as ConfigProvider, Xt as chainsEqual, Yt as chainPositionOf, Z as McpAuthProvider, Zt as filterChainFallbacks, _ as useSafeModeQueue, _n as discoverAgentsMd, _r as toolCallPreview, _t as buildHints, a as useSurfaces, an as bootTick, at as buildResumedToolResultsTurn, b as getSafelist, br as usageByModel, bt as useEnabledToggleSet, c as useStreamBuffer, cr as lastContextSizeFromTurns, ct as makeRequestInteraction, d as discoverProjectSkills, dr as marginTopFor, dt as useInteractionsActions, er as envSection, et as getMcpAuthStatus, ft as useInteractionsQueue, g as useSafeModeActions, gn as chatAutoCompactBehavior, gt as truncateTrailing, h as SafeModeProvider, hr as sumRunCosts, ht as hintsLength, i as useSelectStyle, ir as compactSummaryEvent, it as PRESENT_PLAN_TOOL, j as supportsOAuth, jn as TODO_STATUS_GLYPHS, jt as resolveChipColor, k as oauthUsesManualCodePaste, l as buildSkillsConfig, lr as listSessionMeta, lt as pendingInteractionsFromTurns, m as writeSessionExport, mr as stripSpawnTokensLine, mt as clipHintsToWidth, n as ThemeProvider, nn as useCompletion, nr as createChatTurnsReadTool, nt as ASK_USER_TOOL, on as buildUpdateHint, or as deriveSessionTitle, ot as createInteractionTools, pr as serverToolResultSummary, pt as EMPTY_HINTS, q as parentServerName, qt as resolveStoragePaths, r as useColors, rn as tryOpenBrowser, rt as InteractionsProvider, s as useTheme, sn as useUpdateCheck, sr as eventsFromTurns, t as computeTurnAnchors, tn as toggleChainEntry, tr as chatReferenceTokensForPrompt, u as defaultSkillScanPaths, ur as loadState, vr as toolResultText, wt as SETTINGS_INPUTS, x as isOnSafelist, xt as DEFAULT_SETTINGS, y as addToSafelist, yr as updateToolEventOutcomes, yt as listProjectFiles, z as refreshMcpToolsCatalog } from "./transcript-anchors-hv97ejJn.js";
|
|
2
|
+
import { $ as composeExtensionPreset, B as ExtensionInstallError, Bt as ensureKeybindingsFile, Et as createModelSearchTool, H as installExtensionFromSpec, Ht as groupBindings, J as createExtensionHud, K as removeInstalledExtension, P as summaryToTurn, St as tailTruncate, Ut as keybindingsPath, Vt as formatBindingForDisplay, Wt as matchesBinding, X as discoverAndBuildExtensionRegistry, Y as registerExtensionHostModules, Yt as resolveExtensionKeybindings, _ as buildPostCompactAttachments, c as applyCompactSummaryCutoff, en as inlineLoadedExtension, et as disposeExtensionRegistry, f as cleanupPersistedSession, g as resolveTasksDir, h as resolvePersistDir, ht as isSpawnTool, it as createExtensionHostRuntimeBridge, lt as basic_default, m as resolveMcpWarningsDir, mn as effectiveContextWindow, nn as parseExtensionScanPathEnv, on as coerceExtensionConfigInput, pn as OUTPUT_RESERVE_TOKENS, q as updateInstalledExtension, rn as scanExtensionDirectories, rt as partitionExtensionCatalog, t as createAgent, tt as filterExtensionRegistry, un as resolveExtensionConfigValue, wt as looksBinary, x as compactConversation, y as selectFilesFromSession, z as createExtensionPromptBridge, zt as KEYBINDING_KEY_COL_WIDTH } from "./agent-CZKpBI1X.js";
|
|
3
3
|
import { a as formatDuration, c as previewLine, i as fmtTokens, l as shortId, n as compactPath, o as formatTaskStatus, r as fmtCost, s as formatTaskSummary, t as ageString } from "./format-BF745pLL.js";
|
|
4
|
-
import { n as
|
|
4
|
+
import { n as appendCapped } from "./output-cap-kBUHBlnq.js";
|
|
5
|
+
import { i as killProcessGroup, n as SUPPORTS_PROCESS_GROUPS, r as createProcessContext } from "./contexts-A4ep-iJs.js";
|
|
5
6
|
import { l as errorMessage } from "./errors-DJUxZg9b.js";
|
|
6
7
|
import { M as findGitRoot, j as projectUserPaths } from "./resolve-CC8Lmwcj.js";
|
|
7
8
|
import { a as createRingBufferSink, i as createLoggingHooks, l as logFileTimestamp, n as createFileSink, o as fanoutSink, r as createLogger, s as formatLogLine, t as consoleSink } from "./logger-DBX9uYOw.js";
|
|
@@ -10,15 +11,15 @@ import { r as formatTokenUsage, t as effectiveInputFromTurn } from "./stats-DAKB
|
|
|
10
11
|
import { replaceDynamicSection } from "./prompt.js";
|
|
11
12
|
import { a as getExtensionSessionState, i as demoteStaleRunningStatus, o as loadSession, s as setExtensionSessionState, t as createSession } from "./session-D7JSEMME.js";
|
|
12
13
|
import { o as withTimeout } from "./timeout-BDetbuN6.js";
|
|
13
|
-
import { n as connectMcpServers, u as McpOAuthProvider } from "./mcp-
|
|
14
|
+
import { n as connectMcpServers, u as McpOAuthProvider } from "./mcp-CkHUripi.js";
|
|
14
15
|
import { c as commandBlockToEvent, d as executeCommand, f as parseCommandInvocation, i as shouldAutoGenerateTitle, l as commandBlocksToContent, r as generateSessionTitle, t as generateStructuredData } from "./generate-data-WL_yGVL6.js";
|
|
15
16
|
import { s as resolveCompletionSubmit } from "./completion-core-CXYSVhZo.js";
|
|
16
17
|
import { i as installSkillFromSpec, r as SkillInstallError } from "./skills-BjeXSRlQ.js";
|
|
17
|
-
import { i as ZIDANE_EXTENSION_SKILL_NAME, l as withZidaneExtensionSkill, o as extensionDirForCwd, r as EXTENSION_EDIT_METADATA_KEY, s as extensionScaffold, t as loginMcpServer } from "./login-
|
|
18
|
+
import { i as ZIDANE_EXTENSION_SKILL_NAME, l as withZidaneExtensionSkill, o as extensionDirForCwd, r as EXTENSION_EDIT_METADATA_KEY, s as extensionScaffold, t as loginMcpServer } from "./login-DhnmYiia.js";
|
|
18
19
|
import { C as restoreModelOptions, S as piIdOf, _ as modelOptionsFor, m as getContextWindow, p as enabledModelOptions, s as setProviderCredential, t as detectAuth, v as modelSupportsReasoning } from "./auth-D5FfJtLf.js";
|
|
19
20
|
import { createDockerContext } from "./contexts/docker.js";
|
|
20
21
|
import { createTuiStore } from "./session/sqlite.js";
|
|
21
|
-
import { $ as
|
|
22
|
+
import { $ as mergeApprovalAndBodyOutcomes, A as buildLinearRamp, D as createFilesCompletionProvider, F as isUserBashEvent, G as extractEditPayload, H as buildUnifiedDiff, I as isVisible, K as filetypeFromPath, L as promptHistoryFromEvents, M as EDIT_TOOL_NAMES, N as isEditErrorResult, P as isTurnHighlighted, R as selectableTurnIds, S as splitMarkdownCodeBlocks, T as uniqueSkillNamesFromReferences, V as buildContextualDiff, Y as summarizeEditPayload, Z as buildEditOutcomesAnnotation, _ as filterModelCatalog, a as TOOL_DISPLAY, b as chunkMarkdownForRender, d as finalizeStreamingMarkdown, et as parseEditOutcomesFromResult, f as finalizeStreamingMarkdownForOwner, g as buildModelCatalog, h as splitPromptSegments, i as turnAsText, it as summarizeOutcomes, j as BASH_CALL_ID_PREFIX, k as blendHsl, m as turnContextSize, n as deleteTurnSafely, nt as rewriteMultiEditHeader, o as displayNameFor, q as previewEditPayload, r as truncateTurnsAt, rt as stripEditOutcomesAnnotation, s as formatToolCall, st as createChatsCompletionProvider, tt as resolveApprovalForPayload, u as capTranscriptEvents, v as indexOfEntry, w as createSkillsCompletionProvider, x as normalizeMarkdownCodeFences, z as turnSelectionOwnership } from "./turn-operations-BWTB2So4.js";
|
|
22
23
|
import { basename, dirname, join, relative, resolve } from "node:path";
|
|
23
24
|
import { Buffer } from "node:buffer";
|
|
24
25
|
import * as fs from "node:fs";
|
|
@@ -482,6 +483,85 @@ function EmptyState$1() {
|
|
|
482
483
|
})]
|
|
483
484
|
});
|
|
484
485
|
}
|
|
486
|
+
/**
|
|
487
|
+
* The shell `!` commands run through — the user's own (`$SHELL`), so their
|
|
488
|
+
* shell's syntax (zsh globbing, fish semantics, …) matches what they'd get
|
|
489
|
+
* in the terminal the TUI is running in. Falls back to `/bin/sh` when the
|
|
490
|
+
* variable is unset (cron-like environments) or blank.
|
|
491
|
+
*/
|
|
492
|
+
function resolveUserShell(env = process.env) {
|
|
493
|
+
return env.SHELL?.trim() || "/bin/sh";
|
|
494
|
+
}
|
|
495
|
+
/** Is `prompt` a `!`-prefixed bash invocation? Requires a non-blank command after the bang. */
|
|
496
|
+
function parseBashInvocation(prompt) {
|
|
497
|
+
if (!prompt.startsWith("!")) return null;
|
|
498
|
+
const command = prompt.slice(1).trim();
|
|
499
|
+
return command.length > 0 ? command : null;
|
|
500
|
+
}
|
|
501
|
+
function runBashStreaming(opts) {
|
|
502
|
+
const { command, cwd, signal } = opts;
|
|
503
|
+
const startedAt = Date.now();
|
|
504
|
+
return new Promise((resolve) => {
|
|
505
|
+
const slot = {
|
|
506
|
+
text: "",
|
|
507
|
+
bytes: 0
|
|
508
|
+
};
|
|
509
|
+
let overflowed = false;
|
|
510
|
+
let settled = false;
|
|
511
|
+
const child = spawn(opts.shell ?? resolveUserShell(), ["-c", command], {
|
|
512
|
+
cwd,
|
|
513
|
+
stdio: [
|
|
514
|
+
"ignore",
|
|
515
|
+
"pipe",
|
|
516
|
+
"pipe"
|
|
517
|
+
],
|
|
518
|
+
detached: SUPPORTS_PROCESS_GROUPS,
|
|
519
|
+
env: process.env
|
|
520
|
+
});
|
|
521
|
+
let graceTimer = null;
|
|
522
|
+
const settle = (exitCode) => {
|
|
523
|
+
if (settled) return;
|
|
524
|
+
settled = true;
|
|
525
|
+
signal.removeEventListener("abort", onAbort);
|
|
526
|
+
if (graceTimer) clearTimeout(graceTimer);
|
|
527
|
+
resolve({
|
|
528
|
+
output: slot.text,
|
|
529
|
+
exitCode,
|
|
530
|
+
durationMs: Date.now() - startedAt,
|
|
531
|
+
aborted: signal.aborted,
|
|
532
|
+
overflowed
|
|
533
|
+
});
|
|
534
|
+
};
|
|
535
|
+
const terminate = () => {
|
|
536
|
+
killProcessGroup(child, "SIGTERM");
|
|
537
|
+
if (graceTimer) return;
|
|
538
|
+
graceTimer = setTimeout(() => {
|
|
539
|
+
killProcessGroup(child, "SIGKILL");
|
|
540
|
+
settle(null);
|
|
541
|
+
}, opts.killGraceMs ?? 5e3);
|
|
542
|
+
};
|
|
543
|
+
function onAbort() {
|
|
544
|
+
terminate();
|
|
545
|
+
}
|
|
546
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
547
|
+
if (signal.aborted) onAbort();
|
|
548
|
+
const onData = (chunk) => {
|
|
549
|
+
if (overflowed || settled) return;
|
|
550
|
+
if (appendCapped(slot, chunk, 1048576) !== "ok") {
|
|
551
|
+
overflowed = true;
|
|
552
|
+
terminate();
|
|
553
|
+
}
|
|
554
|
+
opts.onChunk?.(slot.text);
|
|
555
|
+
};
|
|
556
|
+
child.stdout?.on("data", onData);
|
|
557
|
+
child.stderr?.on("data", onData);
|
|
558
|
+
child.on("close", (code) => settle(code));
|
|
559
|
+
child.on("error", (err) => {
|
|
560
|
+
slot.text += `${slot.text ? "\n" : ""}spawn failed: ${err.message}`;
|
|
561
|
+
settle(null);
|
|
562
|
+
});
|
|
563
|
+
});
|
|
564
|
+
}
|
|
485
565
|
//#endregion
|
|
486
566
|
//#region src/tui/builtin-commands.ts
|
|
487
567
|
function createBuiltinCommands(opts) {
|
|
@@ -1375,6 +1455,13 @@ function useChipHighlights(textareaRef, references, chipStyle) {
|
|
|
1375
1455
|
//#endregion
|
|
1376
1456
|
//#region src/tui/components.tsx
|
|
1377
1457
|
/**
|
|
1458
|
+
* Display window for user-initiated `!` bash results — taller than the
|
|
1459
|
+
* regular tool-result cap ({@link ToolResultBlock}'s default, 6): the user
|
|
1460
|
+
* ran the command specifically to read its output. Keyed off
|
|
1461
|
+
* {@link isUserBashEvent}.
|
|
1462
|
+
*/
|
|
1463
|
+
const BASH_RESULT_MAX_LINES = 10;
|
|
1464
|
+
/**
|
|
1378
1465
|
* Memoized so a flush that mutates only the trailing event doesn't force the
|
|
1379
1466
|
* entire transcript to re-render. Each event holds a stable reference until
|
|
1380
1467
|
* its content changes (we only ever recreate the streaming-markdown tail).
|
|
@@ -2052,7 +2139,8 @@ function EventLineImpl({ event, previous, depthOffset = 0, hideChildLabel = fals
|
|
|
2052
2139
|
const COLOR = useColors();
|
|
2053
2140
|
const { settings } = useSettings();
|
|
2054
2141
|
const safeText = event.text === "" ? " " : event.text;
|
|
2055
|
-
const
|
|
2142
|
+
const effectiveDepth = Math.max(0, (event.depth ?? 0) - depthOffset);
|
|
2143
|
+
const row = rowStyle(indentFor(settings.hideSubagentOutput && (event.kind === "spawn-start" || event.kind === "spawn-end") ? 0 : effectiveDepth));
|
|
2056
2144
|
const child = isChild(event);
|
|
2057
2145
|
switch (event.kind) {
|
|
2058
2146
|
case "separator": return /* @__PURE__ */ jsx$1("text", { children: " " });
|
|
@@ -2127,7 +2215,8 @@ function EventLineImpl({ event, previous, depthOffset = 0, hideChildLabel = fals
|
|
|
2127
2215
|
indent: row.paddingLeft,
|
|
2128
2216
|
renderDefault: () => /* @__PURE__ */ jsx$1(ToolResultBlock, {
|
|
2129
2217
|
text: event.text,
|
|
2130
|
-
indent: row.paddingLeft
|
|
2218
|
+
indent: row.paddingLeft,
|
|
2219
|
+
maxLines: isUserBashEvent(event) ? BASH_RESULT_MAX_LINES : void 0
|
|
2131
2220
|
})
|
|
2132
2221
|
});
|
|
2133
2222
|
case "custom": return /* @__PURE__ */ jsx$1("box", {
|
|
@@ -2882,15 +2971,15 @@ function CommandDetailBlock({ label, text, indent, diff }) {
|
|
|
2882
2971
|
})]
|
|
2883
2972
|
});
|
|
2884
2973
|
}
|
|
2885
|
-
function ToolResultBlock({ text, indent, diff }) {
|
|
2974
|
+
function ToolResultBlock({ text, indent, diff, maxLines = TOOL_RESULT_MAX_LINES }) {
|
|
2886
2975
|
const COLOR = useColors();
|
|
2887
2976
|
const rawLines = stripAnsiSequences(text).split("\n");
|
|
2888
2977
|
let end = rawLines.length;
|
|
2889
2978
|
while (end > 0 && rawLines[end - 1].trim() === "") end--;
|
|
2890
2979
|
if (end === 0) return null;
|
|
2891
2980
|
const lines = rawLines.slice(0, end);
|
|
2892
|
-
const visible = lines.slice(0,
|
|
2893
|
-
const omitted = Math.max(0, lines.length -
|
|
2981
|
+
const visible = lines.slice(0, maxLines);
|
|
2982
|
+
const omitted = Math.max(0, lines.length - maxLines);
|
|
2894
2983
|
return /* @__PURE__ */ jsxs("box", {
|
|
2895
2984
|
style: {
|
|
2896
2985
|
paddingLeft: indent,
|
|
@@ -9098,7 +9187,7 @@ function ChatScreen({ cwd, events, busy, compacting = false, queuedMessages = EM
|
|
|
9098
9187
|
titleText,
|
|
9099
9188
|
hasStatusIcon
|
|
9100
9189
|
]);
|
|
9101
|
-
const userPrompts = useMemo(() => events
|
|
9190
|
+
const userPrompts = useMemo(() => promptHistoryFromEvents(events), [events]);
|
|
9102
9191
|
const [completionPopupOpen, setCompletionPopupOpen] = useState(false);
|
|
9103
9192
|
const handlePopupOpenChange = useCallback((open) => {
|
|
9104
9193
|
setCompletionPopupOpen(open);
|
|
@@ -9547,6 +9636,20 @@ function PromptBlock({ userPrompts, onSubmit, completionProviders, onCompletionT
|
|
|
9547
9636
|
}, [popupOpen, onPopupOpenChange]);
|
|
9548
9637
|
const chipStyle = useChipStyle();
|
|
9549
9638
|
useChipHighlights(textareaRef, completion.references, chipStyle);
|
|
9639
|
+
const [shellMode, setShellMode] = useState(false);
|
|
9640
|
+
const shellModeRef = useRef(false);
|
|
9641
|
+
shellModeRef.current = shellMode;
|
|
9642
|
+
/** Last text pushed into bufferState — distinguishes "typed `!` on empty" from bulk sets. */
|
|
9643
|
+
const lastSyncedTextRef = useRef("");
|
|
9644
|
+
/**
|
|
9645
|
+
* Flip shell mode with the ref mirror updated SYNCHRONOUSLY — callers
|
|
9646
|
+
* that mutate the buffer and re-run `syncBuffer` in the same tick
|
|
9647
|
+
* (history cycling) must not race the render-time ref assignment.
|
|
9648
|
+
*/
|
|
9649
|
+
const setShellModeNow = useCallback((on) => {
|
|
9650
|
+
shellModeRef.current = on;
|
|
9651
|
+
setShellMode(on);
|
|
9652
|
+
}, []);
|
|
9550
9653
|
/**
|
|
9551
9654
|
* Pull the latest buffer state from the OpenTUI textarea ref. Called from
|
|
9552
9655
|
* `onContentChange` + `onKeyDown` so cursor moves (without text changes)
|
|
@@ -9555,6 +9658,11 @@ function PromptBlock({ userPrompts, onSubmit, completionProviders, onCompletionT
|
|
|
9555
9658
|
const syncBuffer = useCallback(() => {
|
|
9556
9659
|
const ta = textareaRef.current;
|
|
9557
9660
|
if (!ta) return;
|
|
9661
|
+
if (!shellModeRef.current && ta.plainText === "!" && lastSyncedTextRef.current === "") {
|
|
9662
|
+
ta.clear();
|
|
9663
|
+
setShellModeNow(true);
|
|
9664
|
+
}
|
|
9665
|
+
lastSyncedTextRef.current = ta.plainText;
|
|
9558
9666
|
setBufferState({
|
|
9559
9667
|
text: ta.plainText,
|
|
9560
9668
|
cursor: ta.cursorOffset
|
|
@@ -9595,10 +9703,17 @@ function PromptBlock({ userPrompts, onSubmit, completionProviders, onCompletionT
|
|
|
9595
9703
|
]);
|
|
9596
9704
|
const submit = useCallback(() => {
|
|
9597
9705
|
const value = textareaRef.current?.plainText ?? "";
|
|
9598
|
-
if (
|
|
9599
|
-
|
|
9706
|
+
if (shellMode) {
|
|
9707
|
+
if (!value.trim()) return;
|
|
9708
|
+
onSubmit(`!${value}`, completion.references, attachments);
|
|
9709
|
+
setShellModeNow(false);
|
|
9710
|
+
} else {
|
|
9711
|
+
if (!value.trim() && attachments.length === 0) return;
|
|
9712
|
+
onSubmit(value, completion.references, attachments);
|
|
9713
|
+
}
|
|
9600
9714
|
textareaRef.current?.clear();
|
|
9601
9715
|
historyRef.current = null;
|
|
9716
|
+
lastSyncedTextRef.current = "";
|
|
9602
9717
|
setBufferState({
|
|
9603
9718
|
text: "",
|
|
9604
9719
|
cursor: 0
|
|
@@ -9608,7 +9723,8 @@ function PromptBlock({ userPrompts, onSubmit, completionProviders, onCompletionT
|
|
|
9608
9723
|
}, [
|
|
9609
9724
|
onSubmit,
|
|
9610
9725
|
completion.references,
|
|
9611
|
-
attachments
|
|
9726
|
+
attachments,
|
|
9727
|
+
shellMode
|
|
9612
9728
|
]);
|
|
9613
9729
|
const commitCompletion = useCallback(() => {
|
|
9614
9730
|
const result = completion.commit();
|
|
@@ -9682,25 +9798,49 @@ function PromptBlock({ userPrompts, onSubmit, completionProviders, onCompletionT
|
|
|
9682
9798
|
attachmentsEnabled,
|
|
9683
9799
|
attachClipboardImage
|
|
9684
9800
|
]);
|
|
9801
|
+
/**
|
|
9802
|
+
* Fill the textarea from a history entry (or the saved draft), switching
|
|
9803
|
+
* the prompt TYPE with it: `!`-prefixed entries recall INTO shell mode
|
|
9804
|
+
* (bang consumed, accent + label shown), anything else drops back to the
|
|
9805
|
+
* regular prompt — cycling across the shell/non-shell boundary flips the
|
|
9806
|
+
* input mode live instead of leaving a literal `!` in the buffer.
|
|
9807
|
+
*
|
|
9808
|
+
* Cursor placement is DIRECTION-AWARE because the ↑/↓ handlers key their
|
|
9809
|
+
* cycle conditions off it (↑ cycles at offset 0, ↓ at buffer end):
|
|
9810
|
+
* browsing back parks the cursor at the START so the next ↑ keeps
|
|
9811
|
+
* cycling; browsing forward parks it at the END so the next ↓ does —
|
|
9812
|
+
* repeated taps in one direction walk the history without repositioning.
|
|
9813
|
+
*/
|
|
9814
|
+
const applyRecalledPrompt = useCallback((text, direction) => {
|
|
9815
|
+
const ta = textareaRef.current;
|
|
9816
|
+
if (!ta) return;
|
|
9817
|
+
const bash = text.startsWith("!");
|
|
9818
|
+
setShellModeNow(bash);
|
|
9819
|
+
ta.setText(bash ? text.slice(1) : text);
|
|
9820
|
+
if (direction === -1) ta.cursorOffset = 0;
|
|
9821
|
+
else ta.gotoBufferEnd();
|
|
9822
|
+
}, [setShellModeNow]);
|
|
9685
9823
|
const cycleHistory = useCallback((direction) => {
|
|
9686
9824
|
if (userPrompts.length === 0 || !textareaRef.current) return;
|
|
9687
9825
|
if (historyRef.current === null) historyRef.current = {
|
|
9688
9826
|
idx: userPrompts.length,
|
|
9689
|
-
draft: textareaRef.current.plainText
|
|
9827
|
+
draft: `${shellModeRef.current ? "!" : ""}${textareaRef.current.plainText}`
|
|
9690
9828
|
};
|
|
9691
9829
|
const nextIdx = historyRef.current.idx + direction;
|
|
9692
9830
|
if (nextIdx < 0) return;
|
|
9693
9831
|
if (nextIdx >= userPrompts.length) {
|
|
9694
|
-
|
|
9695
|
-
textareaRef.current.gotoBufferEnd();
|
|
9832
|
+
applyRecalledPrompt(historyRef.current.draft, direction);
|
|
9696
9833
|
historyRef.current = null;
|
|
9697
9834
|
} else {
|
|
9698
|
-
|
|
9699
|
-
textareaRef.current.gotoBufferEnd();
|
|
9835
|
+
applyRecalledPrompt(userPrompts[nextIdx], direction);
|
|
9700
9836
|
historyRef.current.idx = nextIdx;
|
|
9701
9837
|
}
|
|
9702
9838
|
syncBuffer();
|
|
9703
|
-
}, [
|
|
9839
|
+
}, [
|
|
9840
|
+
userPrompts,
|
|
9841
|
+
syncBuffer,
|
|
9842
|
+
applyRecalledPrompt
|
|
9843
|
+
]);
|
|
9704
9844
|
/**
|
|
9705
9845
|
* Key interception. OpenTUI fires `onKeyDown` BEFORE the textarea's
|
|
9706
9846
|
* binding table (`Renderable.keypressHandler` invokes the user
|
|
@@ -9730,6 +9870,11 @@ function PromptBlock({ userPrompts, onSubmit, completionProviders, onCompletionT
|
|
|
9730
9870
|
openExternalEditor();
|
|
9731
9871
|
return;
|
|
9732
9872
|
}
|
|
9873
|
+
if (event.name === "backspace" && !event.ctrl && !event.meta && !event.shift && shellModeRef.current && (textareaRef.current?.cursorOffset ?? 0) === 0) {
|
|
9874
|
+
event.preventDefault();
|
|
9875
|
+
setShellModeNow(false);
|
|
9876
|
+
return;
|
|
9877
|
+
}
|
|
9733
9878
|
if ((event.name === "backspace" || event.name === "delete") && !event.meta && !event.shift && attachments.length > 0) {
|
|
9734
9879
|
const buf = textareaRef.current;
|
|
9735
9880
|
const emptyPrompt = !buf || buf.plainText.length === 0;
|
|
@@ -9866,7 +10011,7 @@ function PromptBlock({ userPrompts, onSubmit, completionProviders, onCompletionT
|
|
|
9866
10011
|
children: [/* @__PURE__ */ jsx$1("box", {
|
|
9867
10012
|
style: {
|
|
9868
10013
|
border: true,
|
|
9869
|
-
borderColor: selectMode ? COLOR.warn : COLOR.borderActive,
|
|
10014
|
+
borderColor: selectMode ? COLOR.warn : shellMode ? COLOR.accent : COLOR.borderActive,
|
|
9870
10015
|
paddingLeft: 1,
|
|
9871
10016
|
paddingRight: 1,
|
|
9872
10017
|
height: boxHeight,
|
|
@@ -9877,7 +10022,7 @@ function PromptBlock({ userPrompts, onSubmit, completionProviders, onCompletionT
|
|
|
9877
10022
|
focused: focused && !selectMode,
|
|
9878
10023
|
keyBindings: TEXTAREA_BINDINGS,
|
|
9879
10024
|
wrapMode: "word",
|
|
9880
|
-
placeholder: selectMode === "turn" ? "— turn-select mode — press ⎋ to resume typing —" : selectMode === "queue" ? "— queue-select mode — press ⎋ to resume typing —" : "Ask zidane…",
|
|
10025
|
+
placeholder: selectMode === "turn" ? "— turn-select mode — press ⎋ to resume typing —" : selectMode === "queue" ? "— queue-select mode — press ⎋ to resume typing —" : shellMode ? "Run a shell command…" : "Ask zidane…",
|
|
9881
10026
|
syntaxStyle: chipStyle,
|
|
9882
10027
|
style: {
|
|
9883
10028
|
flexGrow: 1,
|
|
@@ -14533,6 +14678,21 @@ const BUILTIN_COMPLETION_TRIGGERS = /* @__PURE__ */ new Set([
|
|
|
14533
14678
|
*/
|
|
14534
14679
|
const SKILL_ACTIVATION_TIMEOUT_MS = 60 * 1e3;
|
|
14535
14680
|
/**
|
|
14681
|
+
* `!` bash mode: transcript repaint throttle while output streams, and the
|
|
14682
|
+
* tail-priority trim applied to the displayed/persisted result — the same
|
|
14683
|
+
* 32 KiB default the shell TOOL uses, so `!` results and model-driven shell
|
|
14684
|
+
* results cost the same on the wire.
|
|
14685
|
+
*/
|
|
14686
|
+
const BASH_PAINT_INTERVAL_MS = 100;
|
|
14687
|
+
const BASH_RESULT_MAX_BYTES = 32 * 1024;
|
|
14688
|
+
/** Rolling-tail window while output streams — matches the renderer's bash display cap. */
|
|
14689
|
+
const BASH_STREAM_TAIL_LINES = 10;
|
|
14690
|
+
/** Last `n` lines of `text` (terminal-style rolling tail for live bash output). */
|
|
14691
|
+
function lastLines(text, n) {
|
|
14692
|
+
const lines = text.split("\n");
|
|
14693
|
+
return lines.length <= n ? text : lines.slice(lines.length - n).join("\n");
|
|
14694
|
+
}
|
|
14695
|
+
/**
|
|
14536
14696
|
* Poll cadence for out-of-band extension install detection (see the
|
|
14537
14697
|
* auto-reload effect near `runningRef`). A scan is a handful of readdirs
|
|
14538
14698
|
* and lstats — cheap enough that latency, not cost, picked the number.
|
|
@@ -17403,6 +17563,110 @@ function AppShell() {
|
|
|
17403
17563
|
providerRegistry,
|
|
17404
17564
|
interactions
|
|
17405
17565
|
]);
|
|
17566
|
+
/**
|
|
17567
|
+
* `!` bash mode — run a user-typed shell command in the cwd, streaming
|
|
17568
|
+
* output into the transcript and persisting the exchange as a synthetic
|
|
17569
|
+
* `shell` tool-call turn pair (assistant `tool_call` + user `tool_result`).
|
|
17570
|
+
* The pair is wire-visible, so the model sees what the user ran and what
|
|
17571
|
+
* came back exactly as if it had called the tool itself — and the reload
|
|
17572
|
+
* path (`eventsFromTurns`) renders it through the existing tool branches,
|
|
17573
|
+
* keeping live and replayed transcripts identical. Runs under the submit
|
|
17574
|
+
* gate (busy loader, queue-while-running) and cancels via the same esc
|
|
17575
|
+
* path as `/` commands (`commandAbortRef`).
|
|
17576
|
+
*/
|
|
17577
|
+
const runBashCommand = useCallback(async (command) => {
|
|
17578
|
+
const session = sessionRef.current;
|
|
17579
|
+
if (!session) return;
|
|
17580
|
+
const controller = new AbortController();
|
|
17581
|
+
commandAbortRef.current = controller;
|
|
17582
|
+
const callId = `${BASH_CALL_ID_PREFIX}${crypto.randomUUID()}`;
|
|
17583
|
+
const callTurnId = crypto.randomUUID();
|
|
17584
|
+
const resultTurnId = crypto.randomUUID();
|
|
17585
|
+
const startedAt = Date.now();
|
|
17586
|
+
stream.appendImmediate({
|
|
17587
|
+
kind: "tool",
|
|
17588
|
+
text: toolCallPreview("shell", { command }),
|
|
17589
|
+
tool: "shell",
|
|
17590
|
+
input: { command },
|
|
17591
|
+
callId,
|
|
17592
|
+
turnId: callTurnId
|
|
17593
|
+
});
|
|
17594
|
+
let lastPaint = 0;
|
|
17595
|
+
const upsertResult = (text, force = false) => {
|
|
17596
|
+
const now = Date.now();
|
|
17597
|
+
if (!force && now - lastPaint < BASH_PAINT_INTERVAL_MS) return;
|
|
17598
|
+
lastPaint = now;
|
|
17599
|
+
const evt = {
|
|
17600
|
+
kind: "tool-result",
|
|
17601
|
+
text,
|
|
17602
|
+
tool: "shell",
|
|
17603
|
+
callId,
|
|
17604
|
+
turnId: resultTurnId
|
|
17605
|
+
};
|
|
17606
|
+
stream.flushAndUpdate((events) => {
|
|
17607
|
+
const idx = events.findIndex((e) => e.kind === "tool-result" && e.callId === callId);
|
|
17608
|
+
if (idx === -1) return [...events, evt];
|
|
17609
|
+
const next = events.slice();
|
|
17610
|
+
next[idx] = evt;
|
|
17611
|
+
return next;
|
|
17612
|
+
});
|
|
17613
|
+
};
|
|
17614
|
+
try {
|
|
17615
|
+
const result = await runBashStreaming({
|
|
17616
|
+
command,
|
|
17617
|
+
cwd,
|
|
17618
|
+
signal: controller.signal,
|
|
17619
|
+
onChunk: (acc) => upsertResult(lastLines(acc, BASH_STREAM_TAIL_LINES))
|
|
17620
|
+
});
|
|
17621
|
+
const body = tailTruncate(result.output.trim() || "(no output)", BASH_RESULT_MAX_BYTES);
|
|
17622
|
+
const overflowNote = result.overflowed ? "\n[output ceiling reached — process killed]" : "";
|
|
17623
|
+
let finalText;
|
|
17624
|
+
let isError = false;
|
|
17625
|
+
if (result.aborted) {
|
|
17626
|
+
isError = true;
|
|
17627
|
+
finalText = `${body}${overflowNote}\n(cancelled by user after ${result.durationMs}ms)`;
|
|
17628
|
+
} else if (result.exitCode === 0) finalText = `${body}${overflowNote}\n(exit 0, ${result.durationMs}ms)`;
|
|
17629
|
+
else {
|
|
17630
|
+
isError = true;
|
|
17631
|
+
finalText = `${result.exitCode === null ? `Killed (${result.durationMs}ms)` : `Exit code ${result.exitCode} (${result.durationMs}ms)`}\n${body}${overflowNote}`;
|
|
17632
|
+
}
|
|
17633
|
+
upsertResult(finalText, true);
|
|
17634
|
+
await session.appendTurns([{
|
|
17635
|
+
id: callTurnId,
|
|
17636
|
+
role: "assistant",
|
|
17637
|
+
createdAt: startedAt,
|
|
17638
|
+
content: [{
|
|
17639
|
+
type: "tool_call",
|
|
17640
|
+
id: callId,
|
|
17641
|
+
name: "shell",
|
|
17642
|
+
input: { command }
|
|
17643
|
+
}]
|
|
17644
|
+
}, {
|
|
17645
|
+
id: resultTurnId,
|
|
17646
|
+
role: "user",
|
|
17647
|
+
createdAt: Date.now(),
|
|
17648
|
+
content: [{
|
|
17649
|
+
type: "tool_result",
|
|
17650
|
+
callId,
|
|
17651
|
+
output: finalText,
|
|
17652
|
+
...isError ? { isError: true } : {}
|
|
17653
|
+
}]
|
|
17654
|
+
}]).catch((err) => debugLog("bash: appendTurns failed", err));
|
|
17655
|
+
} catch (err) {
|
|
17656
|
+
stream.appendImmediate({
|
|
17657
|
+
kind: "error",
|
|
17658
|
+
text: `!${command}: ${errorMessage(err)}`,
|
|
17659
|
+
callId
|
|
17660
|
+
});
|
|
17661
|
+
} finally {
|
|
17662
|
+
commandAbortRef.current = null;
|
|
17663
|
+
setCurrentSession((prev) => prev ? {
|
|
17664
|
+
...prev,
|
|
17665
|
+
turnCount: session.turns.length,
|
|
17666
|
+
updatedAt: Date.now()
|
|
17667
|
+
} : prev);
|
|
17668
|
+
}
|
|
17669
|
+
}, [stream, cwd]);
|
|
17406
17670
|
/** Route a submitted prompt to the command executor when it's a `/cmd`, otherwise to the model. */
|
|
17407
17671
|
const runPromptOrCommand = useCallback(async (prompt, references, attachments, opts) => {
|
|
17408
17672
|
if (!opts?.wake) {
|
|
@@ -17411,9 +17675,18 @@ function AppShell() {
|
|
|
17411
17675
|
await runCommand(invocation);
|
|
17412
17676
|
return;
|
|
17413
17677
|
}
|
|
17678
|
+
const bashCommand = parseBashInvocation(prompt);
|
|
17679
|
+
if (bashCommand !== null) {
|
|
17680
|
+
await runBashCommand(bashCommand);
|
|
17681
|
+
return;
|
|
17682
|
+
}
|
|
17414
17683
|
}
|
|
17415
17684
|
await runSingleMessage(prompt, references, attachments, opts);
|
|
17416
|
-
}, [
|
|
17685
|
+
}, [
|
|
17686
|
+
runCommand,
|
|
17687
|
+
runBashCommand,
|
|
17688
|
+
runSingleMessage
|
|
17689
|
+
]);
|
|
17417
17690
|
/**
|
|
17418
17691
|
* Post-run drain loop, shared by `onSubmitPrompt` and the auto-wake
|
|
17419
17692
|
* path. Runs follow-up messages until nothing is left to do:
|
|
@@ -17468,7 +17741,7 @@ function AppShell() {
|
|
|
17468
17741
|
suppressWakeRef.current = false;
|
|
17469
17742
|
(async () => {
|
|
17470
17743
|
let effectivePrompt = prompt;
|
|
17471
|
-
if (parseCommandInvocation(prompt, commandsRef.current.map((c) => c.name)) === null) for (const contribution of extensionRegistry.promptTransforms) try {
|
|
17744
|
+
if (parseCommandInvocation(prompt, commandsRef.current.map((c) => c.name)) === null && parseBashInvocation(prompt) === null) for (const contribution of extensionRegistry.promptTransforms) try {
|
|
17472
17745
|
const out = await contribution.value(effectivePrompt);
|
|
17473
17746
|
if (out === void 0) continue;
|
|
17474
17747
|
if (typeof out === "string") {
|