zidane 6.2.0 → 6.2.6
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-0JO-UBEv.js → acp-CYJvnqPa.js} +2 -2
- package/dist/{acp-0JO-UBEv.js.map → acp-CYJvnqPa.js.map} +1 -1
- package/dist/acp-cli.js +4 -4
- package/dist/acp.d.ts +1 -1
- package/dist/acp.js +1 -1
- package/dist/{agent-25moybsj.js → agent-D11SxCvA.js} +84 -66
- package/dist/agent-D11SxCvA.js.map +1 -0
- package/dist/agent.d.ts +1 -1
- package/dist/agent.js +2 -2
- package/dist/{anthropic-CV_OSYVD.js → anthropic-DdlSgT6K.js} +47 -25
- package/dist/anthropic-DdlSgT6K.js.map +1 -0
- package/dist/{auth-D5FfJtLf.js → auth-Ys_7TmRj.js} +2 -2
- package/dist/{auth-D5FfJtLf.js.map → auth-Ys_7TmRj.js.map} +1 -1
- package/dist/{cache-telemetry-BKAwsNxm.js → cache-telemetry-KJ7B-_Gh.js} +8 -3
- package/dist/cache-telemetry-KJ7B-_Gh.js.map +1 -0
- package/dist/chat/pure.d.ts +3 -3
- package/dist/chat/pure.js +1 -1
- package/dist/chat.d.ts +11 -4
- package/dist/chat.d.ts.map +1 -1
- package/dist/chat.js +5 -5
- package/dist/contexts/daytona.d.ts +1 -1
- package/dist/contexts/e2b.d.ts +1 -1
- package/dist/eval.d.ts +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 +1 -1
- package/dist/{index-mUT8TI9j.d.ts → index-CNyYEOy0.d.ts} +110 -36
- package/dist/index-CNyYEOy0.d.ts.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4 -4
- package/dist/{inline-autocomplete-w_O3SVtN.js → inline-autocomplete-BAwBcZtD.js} +12 -7
- package/dist/{inline-autocomplete-w_O3SVtN.js.map → inline-autocomplete-BAwBcZtD.js.map} +1 -1
- package/dist/mcp.d.ts +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/anthropic.js +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/providers.js +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-DOcJz_J9.d.ts → tool-formatters-B7oWiy5m.d.ts} +2 -2
- package/dist/tool-formatters-B7oWiy5m.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-CzMMNrhJ.d.ts → transcript-anchors-BUZ915pM.d.ts} +2 -2
- package/dist/{transcript-anchors-CzMMNrhJ.d.ts.map → transcript-anchors-BUZ915pM.d.ts.map} +1 -1
- package/dist/{transcript-anchors-CO-WnuYQ.js → transcript-anchors-cc4gsU-j.js} +12 -4
- package/dist/{transcript-anchors-CO-WnuYQ.js.map → transcript-anchors-cc4gsU-j.js.map} +1 -1
- package/dist/tui.d.ts +17 -14
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +206 -32
- package/dist/tui.js.map +1 -1
- package/dist/{turn-operations-CrCrJnvo.d.ts → turn-operations-2Ou_DkbC.d.ts} +3 -3
- package/dist/{turn-operations-CrCrJnvo.d.ts.map → turn-operations-2Ou_DkbC.d.ts.map} +1 -1
- package/dist/{turn-operations-D9p-y9EC.js → turn-operations-CXjRaltC.js} +72 -2
- package/dist/{turn-operations-D9p-y9EC.js.map → turn-operations-CXjRaltC.js.map} +1 -1
- package/dist/types-BIarq1qE.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/docs/ARCHITECTURE.md +1 -1
- package/docs/EXTENSIONS.md +6 -5
- package/package.json +2 -1
- package/scripts/eval.ts +21 -3
- package/dist/agent-25moybsj.js.map +0 -1
- package/dist/anthropic-CV_OSYVD.js.map +0 -1
- package/dist/cache-telemetry-BKAwsNxm.js.map +0 -1
- package/dist/index-mUT8TI9j.d.ts.map +0 -1
- package/dist/tool-formatters-DOcJz_J9.d.ts.map +0 -1
package/dist/tui.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { $c as CompletionReference, $d as JsonValue, Df as ThinkingLevel, Dl as InteractionResponse, Do as ExtensionRegistry, El as InteractionRequest, Eu as accentColor, Fc as ThemeColors, Ka as StoredExtensionConfigItem, Lu as SessionMeta, Pa as ExtensionConfigCategory, Pc as Theme, Qc as CompletionProvider, Qu as ProviderKey, Ru as Settings, Vc as InlineAutocompleteProvider, Vu as ModelChainEntry, Zu as ProviderAuth, dp as SessionData, ef as McpServerConfig, fo as ExtensionDefinition, fu as RingBufferSink, ip as SkillConfig, nd as ModelInfo, nf as McpToolSchema, qc as CompletionState, qo as LoadedExtension, rd as ModelOption, uo as ExtensionCustomRenderer, up as Session, wf as SessionTurn, yu as AgentRegistry, zo as ExtensionToolRendererEntry, zu 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 { A as turnSelectionOwnership, D as isTurnHighlighted, E as isEditErrorResult, O as isVisible, _ as splitMarkdownCodeBlocks, a as formatToolCall, c as splitPromptSegments, i as displayNameFor, k as selectableTurnIds, l as CatalogEntry, m as MarkdownSegment, n as ToolDisplayMeta, o as PromptSegment, r as ToolFormatLine, s as PromptSegmentRef, t as TOOL_DISPLAY, v as ApprovalDecision, y as ApprovalRequest } from "./tool-formatters-
|
|
1
|
+
import { $c as CompletionReference, $d as JsonValue, Df as ThinkingLevel, Dl as InteractionResponse, Do as ExtensionRegistry, El as InteractionRequest, Eu as accentColor, Fc as ThemeColors, Ka as StoredExtensionConfigItem, Lu as SessionMeta, Pa as ExtensionConfigCategory, Pc as Theme, Qc as CompletionProvider, Qu as ProviderKey, Ru as Settings, Vc as InlineAutocompleteProvider, Vu as ModelChainEntry, Zu as ProviderAuth, dp as SessionData, ef as McpServerConfig, fo as ExtensionDefinition, fu as RingBufferSink, ip as SkillConfig, nd as ModelInfo, nf as McpToolSchema, qc as CompletionState, qo as LoadedExtension, rd as ModelOption, uo as ExtensionCustomRenderer, up as Session, wf as SessionTurn, yu as AgentRegistry, zo as ExtensionToolRendererEntry, zu as StreamEvent } from "./index-CNyYEOy0.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-BUZ915pM.js";
|
|
3
|
+
import { A as turnSelectionOwnership, D as isTurnHighlighted, E as isEditErrorResult, O as isVisible, _ as splitMarkdownCodeBlocks, a as formatToolCall, c as splitPromptSegments, i as displayNameFor, k as selectableTurnIds, l as CatalogEntry, m as MarkdownSegment, n as ToolDisplayMeta, o as PromptSegment, r as ToolFormatLine, s as PromptSegmentRef, t as TOOL_DISPLAY, v as ApprovalDecision, y as ApprovalRequest } from "./tool-formatters-B7oWiy5m.js";
|
|
4
4
|
import { Buffer } from "node:buffer";
|
|
5
5
|
import { ReactNode } from "react";
|
|
6
6
|
import { RGBA, SyntaxStyle } from "@opentui/core";
|
|
@@ -360,10 +360,11 @@ declare function useRowVisible(margin?: number): boolean;
|
|
|
360
360
|
* folder without leaving the TUI.
|
|
361
361
|
*
|
|
362
362
|
* Enabled state lives in `settings.enabledExtensions` (mirrors
|
|
363
|
-
* `enabledSkills` / `enabledMcps`). Toggling
|
|
364
|
-
*
|
|
365
|
-
*
|
|
366
|
-
*
|
|
363
|
+
* `enabledSkills` / `enabledMcps`). Toggling OFF filters the live
|
|
364
|
+
* registry immediately; toggling ON an extension that boot skipped
|
|
365
|
+
* hot-reloads the registry (see "Hot-load on enable" in app.tsx), so
|
|
366
|
+
* its `setup()` runs and its settings appear without a restart.
|
|
367
|
+
* Agent-side contributions (tools / hooks) apply on the next run.
|
|
367
368
|
*/
|
|
368
369
|
declare function ExtensionsSettingsModal({
|
|
369
370
|
catalog,
|
|
@@ -1076,14 +1077,14 @@ interface SettingsActions {
|
|
|
1076
1077
|
onCancelLoginMcp?: (name: string) => void;
|
|
1077
1078
|
/**
|
|
1078
1079
|
* Force a fresh skills rescan, bypassing the background SWR throttle.
|
|
1079
|
-
* Fired by `ctrl+
|
|
1080
|
+
* Fired by `ctrl+r` on the Skills tab. When wired the host should
|
|
1080
1081
|
* call `discoverProjectSkills` directly and replace the catalog —
|
|
1081
1082
|
* an in-flight refresh promise resolves into the modal automatically
|
|
1082
1083
|
* via the catalog prop.
|
|
1083
1084
|
*/
|
|
1084
1085
|
onRefreshSkills?: () => Promise<void> | void;
|
|
1085
1086
|
/**
|
|
1086
|
-
* Re-parse the project's `mcps.json` files. Fired by `ctrl+
|
|
1087
|
+
* Re-parse the project's `mcps.json` files. Fired by `ctrl+r` on
|
|
1087
1088
|
* the MCPs tab. Sync-shaped under the hood but typed as async so
|
|
1088
1089
|
* future discovery paths (registry lookups, etc.) can stay
|
|
1089
1090
|
* non-blocking without changing the contract.
|
|
@@ -1214,7 +1215,7 @@ declare function SettingsModal({
|
|
|
1214
1215
|
/**
|
|
1215
1216
|
* Embedder fallback — discovered skills when no `<DiscoveryProvider>`
|
|
1216
1217
|
* is mounted. In the in-app flow this is ignored; the modal reads
|
|
1217
|
-
* live state from `useDiscovery()` so a `ctrl+
|
|
1218
|
+
* live state from `useDiscovery()` so a `ctrl+r` rescan surfaces
|
|
1218
1219
|
* immediately even with the modal already open.
|
|
1219
1220
|
*/
|
|
1220
1221
|
/**
|
|
@@ -1260,8 +1261,10 @@ declare function SettingsModal({
|
|
|
1260
1261
|
* Successfully-loaded extensions (`registry.loaded`). When provided
|
|
1261
1262
|
* an "Extensions" tab appears alongside Skills + MCPs with the same
|
|
1262
1263
|
* checkbox-list shape; the user toggles `Settings.enabledExtensions`
|
|
1263
|
-
* directly from there.
|
|
1264
|
-
*
|
|
1264
|
+
* directly from there. Toggling OFF filters contributions live;
|
|
1265
|
+
* toggling ON hot-loads the extension (the host rebuilds the registry,
|
|
1266
|
+
* so its settings appear immediately — see "Hot-load on enable" in
|
|
1267
|
+
* app.tsx). Agent-side contributions apply on the next run.
|
|
1265
1268
|
*/
|
|
1266
1269
|
extensionsCatalog?: readonly LoadedExtension[];
|
|
1267
1270
|
/**
|
|
@@ -1319,7 +1322,7 @@ declare function SettingsModal({
|
|
|
1319
1322
|
* row geometry live in `<ToggleListModal>`; this file just supplies the
|
|
1320
1323
|
* skill-specific column (description) and the empty-state hint.
|
|
1321
1324
|
*
|
|
1322
|
-
* Pass `onRefresh` to expose `ctrl+
|
|
1325
|
+
* Pass `onRefresh` to expose `ctrl+r` (force re-scan) on the list. The
|
|
1323
1326
|
* standalone modal is for embedders — the in-app flow goes through
|
|
1324
1327
|
* `<SettingsModal>` which exposes the same affordance via its own
|
|
1325
1328
|
* `SettingsActions.onRefreshSkills` plumbing.
|
|
@@ -1428,7 +1431,7 @@ declare function ToggleListModal<T>({
|
|
|
1428
1431
|
*/
|
|
1429
1432
|
preamble?: ReactNode;
|
|
1430
1433
|
/**
|
|
1431
|
-
* Optional force-rescan hook bound to `ctrl+
|
|
1434
|
+
* Optional force-rescan hook bound to `ctrl+r`. Hosts wire it to a
|
|
1432
1435
|
* discovery rerun (`discoverProjectSkills`, `discoverProjectMcps`,
|
|
1433
1436
|
* …); the modal just exposes the keybind and footer hint.
|
|
1434
1437
|
*/
|
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,5 +1,5 @@
|
|
|
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, 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, dn as sanitizeExtensionConfigActionPatch, en as inlineLoadedExtension, et as disposeExtensionRegistry, f as cleanupPersistedSession, g as resolveTasksDir, h as resolvePersistDir, hn as effectiveContextWindow, ht as isSpawnTool, it as createExtensionHostRuntimeBridge, lt as basic_default, m as resolveMcpWarningsDir, mn as OUTPUT_RESERVE_TOKENS, nn as parseExtensionScanPathEnv, on as coerceExtensionConfigInput, 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-cc4gsU-j.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, dn as sanitizeExtensionConfigActionPatch, en as inlineLoadedExtension, et as disposeExtensionRegistry, f as cleanupPersistedSession, g as resolveTasksDir, h as resolvePersistDir, hn as effectiveContextWindow, ht as isSpawnTool, it as createExtensionHostRuntimeBridge, lt as basic_default, m as resolveMcpWarningsDir, mn as OUTPUT_RESERVE_TOKENS, nn as parseExtensionScanPathEnv, on as coerceExtensionConfigInput, 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-D11SxCvA.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
4
|
import { n as appendCapped } from "./output-cap-kBUHBlnq.js";
|
|
5
5
|
import { i as killProcessGroup, n as SUPPORTS_PROCESS_GROUPS, r as createProcessContext } from "./contexts-A4ep-iJs.js";
|
|
@@ -12,14 +12,14 @@ import { replaceDynamicSection } from "./prompt.js";
|
|
|
12
12
|
import { a as getExtensionSessionState, i as demoteStaleRunningStatus, o as loadSession, s as setExtensionSessionState, t as createSession } from "./session-D7JSEMME.js";
|
|
13
13
|
import { o as withTimeout } from "./timeout-BDetbuN6.js";
|
|
14
14
|
import { n as connectMcpServers, u as McpOAuthProvider } from "./mcp-CkHUripi.js";
|
|
15
|
-
import { a as generateStructuredData, c as shouldAutoGenerateTitle, f as commandBlockToEvent, g as parseCommandInvocation, h as executeCommand, n as patchInlineGhost, p as commandBlocksToContent, r as resolveInlineSuggestion, s as generateSessionTitle, t as createPathAutocompleteProvider } from "./inline-autocomplete-
|
|
15
|
+
import { a as generateStructuredData, c as shouldAutoGenerateTitle, f as commandBlockToEvent, g as parseCommandInvocation, h as executeCommand, n as patchInlineGhost, p as commandBlocksToContent, r as resolveInlineSuggestion, s as generateSessionTitle, t as createPathAutocompleteProvider } from "./inline-autocomplete-BAwBcZtD.js";
|
|
16
16
|
import { s as resolveCompletionSubmit } from "./completion-core-BRo86R_L.js";
|
|
17
17
|
import { i as installSkillFromSpec, r as SkillInstallError } from "./skills-BlmY7QhV.js";
|
|
18
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-Bp_tRj_e.js";
|
|
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-
|
|
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-Ys_7TmRj.js";
|
|
20
20
|
import { createDockerContext } from "./contexts/docker.js";
|
|
21
21
|
import { createTuiStore } from "./session/sqlite.js";
|
|
22
|
-
import { A as
|
|
22
|
+
import { $ as buildEditOutcomesAnnotation, A as blendHsl, B as turnSelectionOwnership, C as stripHtmlCommentsOutsideCode, E as uniqueSkillNamesFromReferences, F as isTurnHighlighted, H as buildContextualDiff, I as isUserBashEvent, J as filetypeFromPath, L as isVisible, M as BASH_CALL_ID_PREFIX, N as EDIT_TOOL_NAMES, O as createFilesCompletionProvider, P as isEditErrorResult, R as promptHistoryFromEvents, S as splitMarkdownCodeBlocks, T as createSkillsCompletionProvider, U as buildUnifiedDiff, W as clipDiffForRender, Y as previewEditPayload, Z as summarizeEditPayload, _ as filterModelCatalog, a as TOOL_DISPLAY, at as stripEditOutcomesAnnotation, b as chunkMarkdownForRender, d as finalizeStreamingMarkdown, f as finalizeStreamingMarkdownForOwner, g as buildModelCatalog, h as splitPromptSegments, i as turnAsText, it as rewriteMultiEditHeader, j as buildLinearRamp, lt as createChatsCompletionProvider, m as turnContextSize, n as deleteTurnSafely, nt as parseEditOutcomesFromResult, o as displayNameFor, ot as summarizeOutcomes, q as extractEditPayload, r as truncateTurnsAt, rt as resolveApprovalForPayload, s as formatToolCall, tt as mergeApprovalAndBodyOutcomes, u as capTranscriptEvents, v as indexOfEntry, x as normalizeMarkdownCodeFences, z as selectableTurnIds } from "./turn-operations-CXjRaltC.js";
|
|
23
23
|
import { basename, dirname, join, relative, resolve } from "node:path";
|
|
24
24
|
import { Buffer } from "node:buffer";
|
|
25
25
|
import * as fs from "node:fs";
|
|
@@ -1256,6 +1256,36 @@ function RenderCall({ render }) {
|
|
|
1256
1256
|
return /* @__PURE__ */ jsx$1(Fragment, { children: render() });
|
|
1257
1257
|
}
|
|
1258
1258
|
//#endregion
|
|
1259
|
+
//#region src/tui/terminal-sanitize.ts
|
|
1260
|
+
/**
|
|
1261
|
+
* Terminal-display sanitation.
|
|
1262
|
+
*
|
|
1263
|
+
* Provider and model text is written into a terminal cell buffer that does
|
|
1264
|
+
* NOT neutralize control bytes: a raw ESC sequence in model output would be
|
|
1265
|
+
* forwarded to the user's terminal at paint time (recolor, cursor moves,
|
|
1266
|
+
* window retitling — classic escape injection). Applied once at the
|
|
1267
|
+
* rendering boundary — persistence and provider round-trips keep raw text.
|
|
1268
|
+
*
|
|
1269
|
+
* Lives in `src/tui` (not `src/chat`): the chat layer is renderer-agnostic
|
|
1270
|
+
* by invariant and must not carry escape-sequence literals.
|
|
1271
|
+
*/
|
|
1272
|
+
/** CSI sequences: ESC [ params intermediates final. */
|
|
1273
|
+
const ANSI_CSI = /\u001B\[[0-9:;<=>?]*[ -/]*[@-~]/g;
|
|
1274
|
+
/** OSC sequences (window title, hyperlinks, …), terminated by BEL or ST. */
|
|
1275
|
+
const ANSI_OSC = /\u001B\][\s\S]*?(?:\u0007|\u001B\\)/g;
|
|
1276
|
+
/** Any remaining ESC + one char (SS2/SS3, unterminated introducers, …). */
|
|
1277
|
+
const ANSI_ESC_OTHER = /\u001B[\s\S]?/g;
|
|
1278
|
+
/** C0 controls except \n and \t (\r is normalized to \n beforehand), plus DEL. */
|
|
1279
|
+
const CONTROL_CHARS = /[\u0000-\u0008\v\f\u000E-\u001F\u007F]/g;
|
|
1280
|
+
/**
|
|
1281
|
+
* Make arbitrary provider/model/tool text safe to paint into a terminal
|
|
1282
|
+
* cell buffer: normalize \r to \n, drop ANSI escape sequences, drop the
|
|
1283
|
+
* remaining C0 control characters (keeping \n and \t).
|
|
1284
|
+
*/
|
|
1285
|
+
function stripTerminalControlChars(text) {
|
|
1286
|
+
return text.replace(/\r\n?/g, "\n").replace(ANSI_OSC, "").replace(ANSI_CSI, "").replace(ANSI_ESC_OTHER, "").replace(CONTROL_CHARS, "");
|
|
1287
|
+
}
|
|
1288
|
+
//#endregion
|
|
1259
1289
|
//#region src/tui/theme.ts
|
|
1260
1290
|
/**
|
|
1261
1291
|
* Resolve a theme color string to an OpenTUI `RGBA`.
|
|
@@ -2140,7 +2170,8 @@ function rowStyle(paddingLeft) {
|
|
|
2140
2170
|
function EventLineImpl({ event, previous, depthOffset = 0, hideChildLabel = false, selected = false, settleCodeEpoch = 0 }) {
|
|
2141
2171
|
const COLOR = useColors();
|
|
2142
2172
|
const { settings } = useSettings();
|
|
2143
|
-
const
|
|
2173
|
+
const cleanText = stripTerminalControlChars(event.text);
|
|
2174
|
+
const safeText = cleanText === "" ? " " : cleanText;
|
|
2144
2175
|
const effectiveDepth = Math.max(0, (event.depth ?? 0) - depthOffset);
|
|
2145
2176
|
const row = rowStyle(indentFor(settings.hideSubagentOutput && (event.kind === "spawn-start" || event.kind === "spawn-end") ? 0 : effectiveDepth));
|
|
2146
2177
|
const child = isChild(event);
|
|
@@ -2160,7 +2191,8 @@ function EventLineImpl({ event, previous, depthOffset = 0, hideChildLabel = fals
|
|
|
2160
2191
|
});
|
|
2161
2192
|
case "thinking": {
|
|
2162
2193
|
const startsRun = !(previous?.kind === "thinking" && previous.childId === event.childId);
|
|
2163
|
-
const thinkingText = safeText.replace(/\*\*([^*]+)\*\*/g, "$1");
|
|
2194
|
+
const thinkingText = safeText.replace(/<!--[\s\S]*?-->/g, "").replace(/\*\*([^*]+)\*\*/g, "$1").trimEnd();
|
|
2195
|
+
if (thinkingText.trim() === "") return null;
|
|
2164
2196
|
return /* @__PURE__ */ jsx$1("box", {
|
|
2165
2197
|
style: row,
|
|
2166
2198
|
children: /* @__PURE__ */ jsxs("box", {
|
|
@@ -2902,7 +2934,7 @@ const MarkdownBlock = memo(({ text, dim, selected = false, settleCodeEpoch = 0 }
|
|
|
2902
2934
|
dimmed: dim
|
|
2903
2935
|
});
|
|
2904
2936
|
const renderer = useRenderer();
|
|
2905
|
-
const content = normalizeMarkdownCodeFences(text.replace(/^\n+|\n+$/g, ""));
|
|
2937
|
+
const content = normalizeMarkdownCodeFences(stripHtmlCommentsOutsideCode(stripTerminalControlChars(text)).replace(/^\n+|\n+$/g, ""));
|
|
2906
2938
|
const chunks = useMemo(() => chunkMarkdownForRender(content), [content]);
|
|
2907
2939
|
const bag = useRef({
|
|
2908
2940
|
ctx: renderer,
|
|
@@ -12052,6 +12084,10 @@ const EMPTY_TOOLS = Object.freeze({});
|
|
|
12052
12084
|
/** Stable empty defaults for the extension-config props — keep memo deps from churning. */
|
|
12053
12085
|
const EMPTY_CONFIG_CATEGORIES = Object.freeze({});
|
|
12054
12086
|
const EMPTY_CONFIG_ITEMS = Object.freeze({});
|
|
12087
|
+
/** How long a config action's run-result message stays before yielding to the live probe. */
|
|
12088
|
+
const CONFIG_ACTION_DONE_TTL_MS = 8e3;
|
|
12089
|
+
/** Errors linger longer — the user may need to read them — but expire too. */
|
|
12090
|
+
const CONFIG_ACTION_ERROR_TTL_MS = 2e4;
|
|
12055
12091
|
const TAB_LABELS = {
|
|
12056
12092
|
...Object.fromEntries(SETTINGS_CATEGORIES.map((c) => [c.id, c.label])),
|
|
12057
12093
|
keybindings: "Keybindings",
|
|
@@ -12164,12 +12200,21 @@ function SettingsModal({ skillsCatalog: skillsCatalogProp, mcpsCatalog: mcpsCata
|
|
|
12164
12200
|
});
|
|
12165
12201
|
}, [settings.extensionConfig, setSetting]);
|
|
12166
12202
|
const [configAction, setConfigAction] = useState(null);
|
|
12203
|
+
const [actionProbes, setActionProbes] = useState({});
|
|
12204
|
+
const [actionProbeNonce, setActionProbeNonce] = useState(0);
|
|
12205
|
+
useEffect(() => {
|
|
12206
|
+
if (!configAction || configAction.state === "busy") return;
|
|
12207
|
+
const ttl = configAction.state === "error" ? CONFIG_ACTION_ERROR_TTL_MS : CONFIG_ACTION_DONE_TTL_MS;
|
|
12208
|
+
const id = setTimeout(() => {
|
|
12209
|
+
setConfigAction((current) => current === configAction ? null : current);
|
|
12210
|
+
setActionProbeNonce((n) => n + 1);
|
|
12211
|
+
}, ttl);
|
|
12212
|
+
return () => clearTimeout(id);
|
|
12213
|
+
}, [configAction]);
|
|
12167
12214
|
const writeConfigValuesRef = useRef(writeConfigValues);
|
|
12168
12215
|
writeConfigValuesRef.current = writeConfigValues;
|
|
12169
12216
|
const extensionConfigItemsRef = useRef(extensionConfigItems);
|
|
12170
12217
|
extensionConfigItemsRef.current = extensionConfigItems;
|
|
12171
|
-
const [actionProbes, setActionProbes] = useState({});
|
|
12172
|
-
const [actionProbeNonce, setActionProbeNonce] = useState(0);
|
|
12173
12218
|
const configActionBusyRef = useRef(false);
|
|
12174
12219
|
const runConfigAction = useCallback((extName, item) => {
|
|
12175
12220
|
if (configActionBusyRef.current) return;
|
|
@@ -12262,6 +12307,16 @@ function SettingsModal({ skillsCatalog: skillsCatalogProp, mcpsCatalog: mcpsCata
|
|
|
12262
12307
|
const [expandedExtensions, setExpandedExtensions] = useState(() => /* @__PURE__ */ new Set());
|
|
12263
12308
|
const onRefreshMcpToolsRef = useRef(actions?.onRefreshMcpTools);
|
|
12264
12309
|
onRefreshMcpToolsRef.current = actions?.onRefreshMcpTools;
|
|
12310
|
+
const [mcpToolsRefreshing, setMcpToolsRefreshing] = useState(false);
|
|
12311
|
+
const fireMcpToolsRefresh = useCallback(() => {
|
|
12312
|
+
const run = onRefreshMcpToolsRef.current;
|
|
12313
|
+
if (!run) return;
|
|
12314
|
+
setMcpToolsRefreshing(true);
|
|
12315
|
+
Promise.resolve(run()).catch(() => {}).finally(() => setMcpToolsRefreshing(false));
|
|
12316
|
+
}, []);
|
|
12317
|
+
const mcpsCatalogLiveRef = useRef([]);
|
|
12318
|
+
mcpsCatalogLiveRef.current = mcpsCatalog;
|
|
12319
|
+
const mcpColdProbedRef = useRef(/* @__PURE__ */ new Set());
|
|
12265
12320
|
const tabOrder = useMemo(() => {
|
|
12266
12321
|
const tabs = [...SETTINGS_CATEGORIES.map((c) => c.id)];
|
|
12267
12322
|
if (keybindings) tabs.push("keybindings");
|
|
@@ -12422,8 +12477,23 @@ function SettingsModal({ skillsCatalog: skillsCatalogProp, mcpsCatalog: mcpsCata
|
|
|
12422
12477
|
}, [tabOrder, activeTab]);
|
|
12423
12478
|
useEffect(() => {
|
|
12424
12479
|
if (activeTab !== "mcps") return;
|
|
12425
|
-
onRefreshMcpToolsRef.current
|
|
12426
|
-
|
|
12480
|
+
if (!onRefreshMcpToolsRef.current) return;
|
|
12481
|
+
for (const d of mcpsCatalogLiveRef.current) mcpColdProbedRef.current.add(d.config.name);
|
|
12482
|
+
fireMcpToolsRefresh();
|
|
12483
|
+
}, [activeTab, fireMcpToolsRefresh]);
|
|
12484
|
+
useEffect(() => {
|
|
12485
|
+
if (activeTab !== "mcps") return;
|
|
12486
|
+
const cold = mcpsCatalog.filter((d) => mcpsToggle.enabledSet.has(d.config.name) && (mcpToolsByServer[d.config.name]?.length ?? 0) === 0 && !mcpColdProbedRef.current.has(d.config.name));
|
|
12487
|
+
if (cold.length === 0) return;
|
|
12488
|
+
for (const d of cold) mcpColdProbedRef.current.add(d.config.name);
|
|
12489
|
+
fireMcpToolsRefresh();
|
|
12490
|
+
}, [
|
|
12491
|
+
activeTab,
|
|
12492
|
+
mcpsCatalog,
|
|
12493
|
+
mcpsToggle.enabledSet,
|
|
12494
|
+
mcpToolsByServer,
|
|
12495
|
+
fireMcpToolsRefresh
|
|
12496
|
+
]);
|
|
12427
12497
|
const extensionThemes = extensionThemesProp ?? [];
|
|
12428
12498
|
const generalItems = useMemo(() => {
|
|
12429
12499
|
const toggles = SETTINGS_TOGGLES.map((t) => ({
|
|
@@ -12561,13 +12631,19 @@ function SettingsModal({ skillsCatalog: skillsCatalogProp, mcpsCatalog: mcpsCata
|
|
|
12561
12631
|
const row = mcpVisibleRows[cursor];
|
|
12562
12632
|
if (!row || row.kind !== "server") return;
|
|
12563
12633
|
const name = row.entry.config.name;
|
|
12634
|
+
if ((mcpToolsByServer[name]?.length ?? 0) === 0) fireMcpToolsRefresh();
|
|
12564
12635
|
setExpandedMcps((prev) => {
|
|
12565
12636
|
if (prev.has(name)) return prev;
|
|
12566
12637
|
const next = new Set(prev);
|
|
12567
12638
|
next.add(name);
|
|
12568
12639
|
return next;
|
|
12569
12640
|
});
|
|
12570
|
-
}, [
|
|
12641
|
+
}, [
|
|
12642
|
+
mcpVisibleRows,
|
|
12643
|
+
cursor,
|
|
12644
|
+
mcpToolsByServer,
|
|
12645
|
+
fireMcpToolsRefresh
|
|
12646
|
+
]);
|
|
12571
12647
|
const collapseFocusedMcpRow = useCallback(() => {
|
|
12572
12648
|
const row = mcpVisibleRows[cursor];
|
|
12573
12649
|
if (!row) return;
|
|
@@ -12797,8 +12873,12 @@ function SettingsModal({ skillsCatalog: skillsCatalogProp, mcpsCatalog: mcpsCata
|
|
|
12797
12873
|
if (activeTab === "mcps") {
|
|
12798
12874
|
const row = mcpVisibleRows[cursor];
|
|
12799
12875
|
if (!row) return;
|
|
12800
|
-
if (row.kind === "server")
|
|
12801
|
-
|
|
12876
|
+
if (row.kind === "server") {
|
|
12877
|
+
const name = row.entry.config.name;
|
|
12878
|
+
const enabling = !mcpsToggle.enabledSet.has(name);
|
|
12879
|
+
mcpsToggle.toggle(name);
|
|
12880
|
+
if (enabling && (mcpToolsByServer[name]?.length ?? 0) === 0) fireMcpToolsRefresh();
|
|
12881
|
+
} else if (row.kind === "tool") mcpToolToggleMap[row.serverName]?.toggle(row.tool.name);
|
|
12802
12882
|
return;
|
|
12803
12883
|
}
|
|
12804
12884
|
if (activeTab === "keybindings") {
|
|
@@ -12919,7 +12999,7 @@ function SettingsModal({ skillsCatalog: skillsCatalogProp, mcpsCatalog: mcpsCata
|
|
|
12919
12999
|
}
|
|
12920
13000
|
if (activeTab === "mcps") {
|
|
12921
13001
|
if (actions?.onRefreshMcps) actions.onRefreshMcps();
|
|
12922
|
-
|
|
13002
|
+
fireMcpToolsRefresh();
|
|
12923
13003
|
}
|
|
12924
13004
|
}
|
|
12925
13005
|
});
|
|
@@ -13034,6 +13114,7 @@ function SettingsModal({ skillsCatalog: skillsCatalogProp, mcpsCatalog: mcpsCata
|
|
|
13034
13114
|
enabledSet: mcpsToggle.enabledSet,
|
|
13035
13115
|
toolToggleMap: mcpToolToggleMap,
|
|
13036
13116
|
toolsByServer: mcpToolsByServer,
|
|
13117
|
+
toolsRefreshing: mcpToolsRefreshing,
|
|
13037
13118
|
expanded: expandedMcps,
|
|
13038
13119
|
totalCount: mcpsCatalog.length,
|
|
13039
13120
|
cursor,
|
|
@@ -13299,7 +13380,7 @@ function GeneralList({ items, cursor, highlightBg, query, contentCols, editingKe
|
|
|
13299
13380
|
})
|
|
13300
13381
|
});
|
|
13301
13382
|
}
|
|
13302
|
-
const EXTENSION_CONFIG_INDENT =
|
|
13383
|
+
const EXTENSION_CONFIG_INDENT = 3;
|
|
13303
13384
|
function ExtensionsList({ rows, enabledSet, extensionConfig, categories, totalCount, cursor, highlightBg, query, contentCols, editing, inputRef, onCommitEdit, modelCatalog, onApplyModelEdit, onCancelEdit, actionStatus, actionProbes }) {
|
|
13304
13385
|
const COLOR = useColors();
|
|
13305
13386
|
const home = homedir();
|
|
@@ -13852,7 +13933,7 @@ function SkillsList({ items, enabledSet, totalCount, cursor, highlightBg, query,
|
|
|
13852
13933
|
})
|
|
13853
13934
|
});
|
|
13854
13935
|
}
|
|
13855
|
-
function McpsList({ rows, filteredCount, enabledSet, toolToggleMap, toolsByServer, expanded, totalCount, cursor, highlightBg, query, errors, authState, contentCols }) {
|
|
13936
|
+
function McpsList({ rows, filteredCount, enabledSet, toolToggleMap, toolsByServer, toolsRefreshing, expanded, totalCount, cursor, highlightBg, query, errors, authState, contentCols }) {
|
|
13856
13937
|
const COLOR = useColors();
|
|
13857
13938
|
const home = homedir();
|
|
13858
13939
|
if (totalCount === 0) return /* @__PURE__ */ jsxs("box", {
|
|
@@ -13951,7 +14032,8 @@ function McpsList({ rows, filteredCount, enabledSet, toolToggleMap, toolsByServe
|
|
|
13951
14032
|
anchorId: anchorIdFor(index),
|
|
13952
14033
|
focused,
|
|
13953
14034
|
bg,
|
|
13954
|
-
COLOR
|
|
14035
|
+
COLOR,
|
|
14036
|
+
refreshing: toolsRefreshing
|
|
13955
14037
|
});
|
|
13956
14038
|
})]
|
|
13957
14039
|
}, `group:${group.server.entry.config.name}`))]
|
|
@@ -14026,7 +14108,7 @@ function renderToolListRow({ serverName, tool, focused, bg, enabled, anchorId, C
|
|
|
14026
14108
|
]
|
|
14027
14109
|
}, `tool:${serverName}/${tool.name}`);
|
|
14028
14110
|
}
|
|
14029
|
-
function renderEmptyToolsListRow({ serverName, anchorId, focused, bg, COLOR }) {
|
|
14111
|
+
function renderEmptyToolsListRow({ serverName, anchorId, focused, bg, COLOR, refreshing }) {
|
|
14030
14112
|
return /* @__PURE__ */ jsxs("text", {
|
|
14031
14113
|
id: anchorId,
|
|
14032
14114
|
wrapMode: "none",
|
|
@@ -14036,7 +14118,7 @@ function renderEmptyToolsListRow({ serverName, anchorId, focused, bg, COLOR }) {
|
|
|
14036
14118
|
children: focused ? TOOL_ROW_FOCUS_INDENT$1 : TOOL_ROW_INDENT$1
|
|
14037
14119
|
}), /* @__PURE__ */ jsx$1("span", {
|
|
14038
14120
|
fg: COLOR.mute,
|
|
14039
|
-
children: "⟲
|
|
14121
|
+
children: refreshing ? "⟲ Fetching tool list…" : "⟲ No tools reported — check the server command or login; ctrl+r retries."
|
|
14040
14122
|
})]
|
|
14041
14123
|
}, `tool-empty:${serverName}`);
|
|
14042
14124
|
}
|
|
@@ -14457,6 +14539,37 @@ function renderMcpDetailPanel(entry, status, COLOR) {
|
|
|
14457
14539
|
})
|
|
14458
14540
|
]
|
|
14459
14541
|
});
|
|
14542
|
+
if (status.kind === "bootstrap-error") return /* @__PURE__ */ jsxs("box", {
|
|
14543
|
+
style: {
|
|
14544
|
+
flexDirection: "column",
|
|
14545
|
+
border: ["top"],
|
|
14546
|
+
borderColor: COLOR.border,
|
|
14547
|
+
paddingTop: 1
|
|
14548
|
+
},
|
|
14549
|
+
children: [
|
|
14550
|
+
/* @__PURE__ */ jsx$1("text", {
|
|
14551
|
+
fg: COLOR.error,
|
|
14552
|
+
children: `Server failed to start: ${entry.config.name}`
|
|
14553
|
+
}),
|
|
14554
|
+
/* @__PURE__ */ jsx$1("text", {
|
|
14555
|
+
fg: COLOR.dim,
|
|
14556
|
+
children: status.error
|
|
14557
|
+
}),
|
|
14558
|
+
/* @__PURE__ */ jsxs("text", {
|
|
14559
|
+
fg: COLOR.mute,
|
|
14560
|
+
children: [
|
|
14561
|
+
"Fix the command / URL in mcps.json, then",
|
|
14562
|
+
" ",
|
|
14563
|
+
/* @__PURE__ */ jsx$1("span", {
|
|
14564
|
+
fg: COLOR.warn,
|
|
14565
|
+
children: "ctrl+r"
|
|
14566
|
+
}),
|
|
14567
|
+
" ",
|
|
14568
|
+
"to re-probe."
|
|
14569
|
+
]
|
|
14570
|
+
})
|
|
14571
|
+
]
|
|
14572
|
+
});
|
|
14460
14573
|
return null;
|
|
14461
14574
|
}
|
|
14462
14575
|
function renderInlineMcpBadge(status, COLOR) {
|
|
@@ -14478,6 +14591,10 @@ function renderInlineMcpBadge(status, COLOR) {
|
|
|
14478
14591
|
fg: COLOR.error,
|
|
14479
14592
|
children: " · ✗ login failed"
|
|
14480
14593
|
});
|
|
14594
|
+
case "bootstrap-error": return /* @__PURE__ */ jsx$1("span", {
|
|
14595
|
+
fg: COLOR.error,
|
|
14596
|
+
children: " · ✗ failed to start"
|
|
14597
|
+
});
|
|
14481
14598
|
}
|
|
14482
14599
|
}
|
|
14483
14600
|
function renderMcpErrors(errors, home, warnColor) {
|
|
@@ -14609,7 +14726,7 @@ function Hints({ activeTab, focusedMcp, focusedMcpRow, focusedMcpStatus, canRefr
|
|
|
14609
14726
|
" · ",
|
|
14610
14727
|
/* @__PURE__ */ jsx$1("span", {
|
|
14611
14728
|
fg: COLOR.warn,
|
|
14612
|
-
children: "ctrl+
|
|
14729
|
+
children: "ctrl+r"
|
|
14613
14730
|
}),
|
|
14614
14731
|
" refresh"
|
|
14615
14732
|
] }),
|
|
@@ -16194,6 +16311,58 @@ function AppShell() {
|
|
|
16194
16311
|
config.extensionScanPaths
|
|
16195
16312
|
]);
|
|
16196
16313
|
/**
|
|
16314
|
+
* Hot-load on enable: toggling an extension ON in Settings → Extensions
|
|
16315
|
+
* used to take effect only at the next launch — live filtering can remove
|
|
16316
|
+
* an already-loaded extension's contributions, but it can't import a
|
|
16317
|
+
* module that boot skipped, so the row stayed blank (no version, no
|
|
16318
|
+
* settings) until a reboot. This effect closes that asymmetry: when a
|
|
16319
|
+
* newly-enabled name matches a registry entry whose `setup()` never ran,
|
|
16320
|
+
* it rides the same rebuild path as `/reload` and the disk watcher —
|
|
16321
|
+
* `registryBuildOptions` reads the allowlist through the eagerly-written
|
|
16322
|
+
* `enabledExtensionsRef`, so the rebuild sees the fresh toggle. The
|
|
16323
|
+
* settings modal renders registry state as live props, so the extension's
|
|
16324
|
+
* config items appear immediately, modal still open.
|
|
16325
|
+
*
|
|
16326
|
+
* Toggling OFF needs nothing here (`filterExtensionRegistry` handles it
|
|
16327
|
+
* reactively), and re-enabling an extension that is still in `loaded`
|
|
16328
|
+
* (same-session toggle round-trip) is also pure filtering — only
|
|
16329
|
+
* never-set-up entries trigger the reload. Errored entries are excluded:
|
|
16330
|
+
* a rebuild wouldn't fix them, and the modal already surfaces the error.
|
|
16331
|
+
*/
|
|
16332
|
+
const handledEnabledExtensionsRef = useRef(settings.enabledExtensions);
|
|
16333
|
+
const [enableRetryNonce, setEnableRetryNonce] = useState(0);
|
|
16334
|
+
useEffect(() => {
|
|
16335
|
+
const prev = handledEnabledExtensionsRef.current;
|
|
16336
|
+
const next = settings.enabledExtensions;
|
|
16337
|
+
if (next === void 0 || next === prev) return;
|
|
16338
|
+
const prevSet = new Set(prev ?? []);
|
|
16339
|
+
const registry = extensionRegistryLiveRef.current;
|
|
16340
|
+
const needsLoad = next.filter((name) => !prevSet.has(name) && (registry.inactive.some((e) => e.name === name && !e.error) || registry.loaded.some((e) => e.name === name && !e.setupRan && !e.error)));
|
|
16341
|
+
if (needsLoad.length === 0) {
|
|
16342
|
+
handledEnabledExtensionsRef.current = next;
|
|
16343
|
+
return;
|
|
16344
|
+
}
|
|
16345
|
+
if (extensionAutoReloadInFlightRef.current || runningRef.current) {
|
|
16346
|
+
const id = setTimeout(() => setEnableRetryNonce((n) => n + 1), EXTENSION_WATCH_POLL_MS);
|
|
16347
|
+
return () => clearTimeout(id);
|
|
16348
|
+
}
|
|
16349
|
+
handledEnabledExtensionsRef.current = next;
|
|
16350
|
+
extensionAutoReloadInFlightRef.current = true;
|
|
16351
|
+
(async () => {
|
|
16352
|
+
try {
|
|
16353
|
+
await reloadExtensionsRef.current();
|
|
16354
|
+
streamRef.current?.appendImmediate({
|
|
16355
|
+
kind: "info",
|
|
16356
|
+
text: `\u{1F50C} Enabled ${needsLoad.join(", ")} — settings and UI are live; agent tools apply next run.`
|
|
16357
|
+
});
|
|
16358
|
+
} catch (err) {
|
|
16359
|
+
debugLog("extension enable: hot-load failed", err);
|
|
16360
|
+
} finally {
|
|
16361
|
+
extensionAutoReloadInFlightRef.current = false;
|
|
16362
|
+
}
|
|
16363
|
+
})();
|
|
16364
|
+
}, [settings.enabledExtensions, enableRetryNonce]);
|
|
16365
|
+
/**
|
|
16197
16366
|
* Auto-wake trigger for background-task notifications. When a
|
|
16198
16367
|
* backgrounded shell task exits while the agent is IDLE, nothing would
|
|
16199
16368
|
* otherwise deliver the queued `<task-notification>` until the user
|
|
@@ -16399,7 +16568,7 @@ function AppShell() {
|
|
|
16399
16568
|
visibleChatCatalog,
|
|
16400
16569
|
liveExtensionCompletionProviders
|
|
16401
16570
|
]);
|
|
16402
|
-
const inlineAutocompleteProviders = useMemo(() => [createPathAutocompleteProvider({ cwd: () => process.cwd() }), ...extensionRegistry.inlineAutocompleteProviders], [extensionRegistry.
|
|
16571
|
+
const inlineAutocompleteProviders = useMemo(() => [createPathAutocompleteProvider({ cwd: () => process.cwd() }), ...filterExtensionRegistry(extensionRegistry, settings.enabledExtensions).inlineAutocompleteProviders], [extensionRegistry, settings.enabledExtensions]);
|
|
16403
16572
|
useEffect(() => {
|
|
16404
16573
|
const handle = agentRef.current?.handle;
|
|
16405
16574
|
if (handle) handle.cwd = cwd;
|
|
@@ -16882,12 +17051,16 @@ function AppShell() {
|
|
|
16882
17051
|
});
|
|
16883
17052
|
agent.hooks.hook("mcp:bootstrap:end", (ctx) => {
|
|
16884
17053
|
if (ctx.ok) return;
|
|
16885
|
-
if (mcpsCatalogRef.current.find((d) => d.config.name === ctx.name)?.config.auth
|
|
16886
|
-
dispatchAuthRef.current({
|
|
17054
|
+
if (mcpsCatalogRef.current.find((d) => d.config.name === ctx.name)?.config.auth === "oauth") dispatchAuthRef.current({
|
|
16887
17055
|
type: "auth-error",
|
|
16888
17056
|
name: ctx.name,
|
|
16889
17057
|
error: ctx.error.message
|
|
16890
17058
|
});
|
|
17059
|
+
else dispatchAuthRef.current({
|
|
17060
|
+
type: "bootstrap-error",
|
|
17061
|
+
name: ctx.name,
|
|
17062
|
+
error: ctx.error.message
|
|
17063
|
+
});
|
|
16891
17064
|
});
|
|
16892
17065
|
agent.hooks.hook("mcp:auth:url", ({ name, url }) => {
|
|
16893
17066
|
dispatchAuthRef.current({
|
|
@@ -20565,7 +20738,7 @@ function ToggleListModal({ catalog, keyOf, settingKey, gcKeys, title, renderDeta
|
|
|
20565
20738
|
children: [
|
|
20566
20739
|
onRefresh && /* @__PURE__ */ jsxs("span", { children: [/* @__PURE__ */ jsx$1("span", {
|
|
20567
20740
|
fg: COLOR.warn,
|
|
20568
|
-
children: "ctrl+
|
|
20741
|
+
children: "ctrl+r"
|
|
20569
20742
|
}), " refresh · "] }),
|
|
20570
20743
|
/* @__PURE__ */ jsx$1("span", {
|
|
20571
20744
|
fg: COLOR.warn,
|
|
@@ -20624,7 +20797,7 @@ function ToggleListModal({ catalog, keyOf, settingKey, gcKeys, title, renderDeta
|
|
|
20624
20797
|
" toggle · ",
|
|
20625
20798
|
onRefresh && /* @__PURE__ */ jsxs("span", { children: [/* @__PURE__ */ jsx$1("span", {
|
|
20626
20799
|
fg: COLOR.warn,
|
|
20627
|
-
children: "ctrl+
|
|
20800
|
+
children: "ctrl+r"
|
|
20628
20801
|
}), " refresh · "] }),
|
|
20629
20802
|
/* @__PURE__ */ jsx$1("span", {
|
|
20630
20803
|
fg: COLOR.warn,
|
|
@@ -20651,10 +20824,11 @@ function ToggleListModal({ catalog, keyOf, settingKey, gcKeys, title, renderDeta
|
|
|
20651
20824
|
* folder without leaving the TUI.
|
|
20652
20825
|
*
|
|
20653
20826
|
* Enabled state lives in `settings.enabledExtensions` (mirrors
|
|
20654
|
-
* `enabledSkills` / `enabledMcps`). Toggling
|
|
20655
|
-
*
|
|
20656
|
-
*
|
|
20657
|
-
*
|
|
20827
|
+
* `enabledSkills` / `enabledMcps`). Toggling OFF filters the live
|
|
20828
|
+
* registry immediately; toggling ON an extension that boot skipped
|
|
20829
|
+
* hot-reloads the registry (see "Hot-load on enable" in app.tsx), so
|
|
20830
|
+
* its `setup()` runs and its settings appear without a restart.
|
|
20831
|
+
* Agent-side contributions (tools / hooks) apply on the next run.
|
|
20658
20832
|
*/
|
|
20659
20833
|
function ExtensionsSettingsModal({ catalog, inactive }) {
|
|
20660
20834
|
const COLOR = useColors();
|
|
@@ -21342,7 +21516,7 @@ function displayPath(path, home) {
|
|
|
21342
21516
|
* row geometry live in `<ToggleListModal>`; this file just supplies the
|
|
21343
21517
|
* skill-specific column (description) and the empty-state hint.
|
|
21344
21518
|
*
|
|
21345
|
-
* Pass `onRefresh` to expose `ctrl+
|
|
21519
|
+
* Pass `onRefresh` to expose `ctrl+r` (force re-scan) on the list. The
|
|
21346
21520
|
* standalone modal is for embedders — the in-app flow goes through
|
|
21347
21521
|
* `<SettingsModal>` which exposes the same affordance via its own
|
|
21348
21522
|
* `SettingsActions.onRefreshSkills` plumbing.
|