zidane 8.2.2 → 8.2.3

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.
Files changed (72) hide show
  1. package/dist/chat/pure.d.ts +2 -2
  2. package/dist/chat/pure.js +6 -6
  3. package/dist/chat.d.ts +2 -2
  4. package/dist/chat.js +9 -9
  5. package/dist/{client-core-BdD20sOv.d.ts → client-core-EEEX_u6D.d.ts} +3 -3
  6. package/dist/{client-core-BdD20sOv.d.ts.map → client-core-EEEX_u6D.d.ts.map} +1 -1
  7. package/dist/{connection-loop-DTk82YVl.d.ts → connection-loop-CpgfUmuw.d.ts} +3 -3
  8. package/dist/{connection-loop-DTk82YVl.d.ts.map → connection-loop-CpgfUmuw.d.ts.map} +1 -1
  9. package/dist/daemon-cli.js +2 -2
  10. package/dist/{dispatcher-BICXFGiJ.js → dispatcher-Bv9-c6I2.js} +10 -10
  11. package/dist/{dispatcher-BICXFGiJ.js.map → dispatcher-Bv9-c6I2.js.map} +1 -1
  12. package/dist/{engine-QCX3GV-i.js → engine-XmoPPB6U.js} +4 -4
  13. package/dist/{engine-QCX3GV-i.js.map → engine-XmoPPB6U.js.map} +1 -1
  14. package/dist/{executor-B8GoXaaE.js → executor-BhthPE1q.js} +3 -3
  15. package/dist/{executor-B8GoXaaE.js.map → executor-BhthPE1q.js.map} +1 -1
  16. package/dist/{extensions-BeH3D-bq.js → extensions-BgBwogRW.js} +2 -2
  17. package/dist/{extensions-BeH3D-bq.js.map → extensions-BgBwogRW.js.map} +1 -1
  18. package/dist/extensions.js +1 -1
  19. package/dist/{host-scoped-settings-CCnaBkCV.js → host-scoped-settings-C-Nmb6vr.js} +2 -2
  20. package/dist/{host-scoped-settings-CCnaBkCV.js.map → host-scoped-settings-C-Nmb6vr.js.map} +1 -1
  21. package/dist/{host-signals-DI9JQvR9.js → host-signals-BFudPyCT.js} +5 -5
  22. package/dist/{host-signals-DI9JQvR9.js.map → host-signals-BFudPyCT.js.map} +1 -1
  23. package/dist/{index-BkNeiJYI.d.ts → index-AqRZ3gEz.d.ts} +2 -2
  24. package/dist/{index-BkNeiJYI.d.ts.map → index-AqRZ3gEz.d.ts.map} +1 -1
  25. package/dist/{index-lcuvhQfF.d.ts → index-CDS7YdUC.d.ts} +4 -4
  26. package/dist/{index-lcuvhQfF.d.ts.map → index-CDS7YdUC.d.ts.map} +1 -1
  27. package/dist/index.js +1 -1
  28. package/dist/ipc/remote.d.ts +4 -4
  29. package/dist/ipc/remote.js +3 -3
  30. package/dist/ipc.d.ts +4 -4
  31. package/dist/ipc.js +7 -7
  32. package/dist/{links-CN5JFFde.js → links-rFaWqS2Y.js} +9 -9
  33. package/dist/{links-CN5JFFde.js.map → links-rFaWqS2Y.js.map} +1 -1
  34. package/dist/{mcp-allowlist-BQ5MvhHi.js → mcp-allowlist-CLXweyxk.js} +14 -3
  35. package/dist/mcp-allowlist-CLXweyxk.js.map +1 -0
  36. package/dist/{oauth-TVPPye84.js → oauth-7_48zR7n.js} +75 -19
  37. package/dist/oauth-7_48zR7n.js.map +1 -0
  38. package/dist/{registry-PNi9rsGi.js → registry-eourRLY2.js} +2 -2
  39. package/dist/{registry-PNi9rsGi.js.map → registry-eourRLY2.js.map} +1 -1
  40. package/dist/{remote-hosts-b6Luwdhu.js → remote-hosts-DY2J07ut.js} +4 -4
  41. package/dist/{remote-hosts-b6Luwdhu.js.map → remote-hosts-DY2J07ut.js.map} +1 -1
  42. package/dist/{secret-shapes-CEoGmfEE.js → secret-shapes-BjW4l6U0.js} +8 -3
  43. package/dist/{secret-shapes-CEoGmfEE.js.map → secret-shapes-BjW4l6U0.js.map} +1 -1
  44. package/dist/{settings-keys-DssjmqAV.js → settings-keys-CPdmkTz7.js} +3 -3
  45. package/dist/{settings-keys-DssjmqAV.js.map → settings-keys-CPdmkTz7.js.map} +1 -1
  46. package/dist/{shell-path-BUFwqU_A.js → shell-path-B8b3EOtK.js} +3 -3
  47. package/dist/{shell-path-BUFwqU_A.js.map → shell-path-B8b3EOtK.js.map} +1 -1
  48. package/dist/store-L01W0gGI.js.map +1 -1
  49. package/dist/{todo-edits-H77ROt6X.js → todo-edits-BERpCRPj.js} +3 -3
  50. package/dist/{todo-edits-H77ROt6X.js.map → todo-edits-BERpCRPj.js.map} +1 -1
  51. package/dist/{transcript-anchors-s-yxh0jt.js → transcript-anchors-jHrg-r-H.js} +6 -6
  52. package/dist/{transcript-anchors-s-yxh0jt.js.map → transcript-anchors-jHrg-r-H.js.map} +1 -1
  53. package/dist/{transcript-reconcile-DeFLIQ14.js → transcript-reconcile-CPdrNbbR.js} +2 -2
  54. package/dist/{transcript-reconcile-DeFLIQ14.js.map → transcript-reconcile-CPdrNbbR.js.map} +1 -1
  55. package/dist/tui.d.ts +5 -5
  56. package/dist/tui.js +14 -14
  57. package/dist/{turn-operations-BbGJ-KSt.d.ts → turn-operations-DuGtKuc_.d.ts} +9 -2
  58. package/dist/turn-operations-DuGtKuc_.d.ts.map +1 -0
  59. package/dist/{url-CLl0u4Z8.js → url-D8KZ7Edw.js} +2 -2
  60. package/dist/{url-CLl0u4Z8.js.map → url-D8KZ7Edw.js.map} +1 -1
  61. package/dist/{version-v77Y4A3C.js → version-bd3DQJkc.js} +2 -2
  62. package/dist/{version-v77Y4A3C.js.map → version-bd3DQJkc.js.map} +1 -1
  63. package/dist/{workspace-exec-stream-kqARO8iC.js → workspace-exec-stream-CyfYgqAh.js} +4 -4
  64. package/dist/{workspace-exec-stream-kqARO8iC.js.map → workspace-exec-stream-CyfYgqAh.js.map} +1 -1
  65. package/dist/{ws-BD9FN98u.js → ws-CURQ2igk.js} +5 -5
  66. package/dist/{ws-BD9FN98u.js.map → ws-CURQ2igk.js.map} +1 -1
  67. package/dist/{ws-client-D7eb2UbH.js → ws-client-BVljYbdb.js} +3 -3
  68. package/dist/{ws-client-D7eb2UbH.js.map → ws-client-BVljYbdb.js.map} +1 -1
  69. package/package.json +1 -1
  70. package/dist/mcp-allowlist-BQ5MvhHi.js.map +0 -1
  71. package/dist/oauth-TVPPye84.js.map +0 -1
  72. package/dist/turn-operations-BbGJ-KSt.d.ts.map +0 -1
package/dist/tui.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import { AE as SessionData, Al as SessionBadgeEntry, Bg as PanelFocus, CT as SessionTurn, Cu as StoredExtensionConfigItem, Ec as ExtensionCustomRenderer, Hm as RingBufferSink, If as SkillSourceListing, Ih as SessionMeta, Kh as Space, Lh as Settings, Nb as accentColor, Oc as ExtensionDefinition, Ol as LoadedExtension, Pb as ContextSegment, Qw as McpServerConfig, Ru as BadgeTarget, Rv as EnvironmentActionResult, SE as SkillConfig, Xw as JsonValue, bl as ExtensionToolRendererEntry, bp as CompletionReference, by as ModelInfo, du as ExtensionConfigCategory, eT as McpToolSchema, fb as PreferredCredentialTarget, gy as ProviderKey, hy as ProviderAuth, il as ExtensionRegistry, im as InteractionResponse, ip as ThemeColors, iv as ModelChainEntry, kl as LoadedPluginRecord, rO as ThinkingLevel, rm as InteractionRequest, rp as Theme, th as AgentRegistry, um as PlanRequest, up as InlineAutocompleteProvider, xy as ModelOption, yp as CompletionProvider, zh as StreamEvent, zv as EnvironmentActionSummary } from "./index-DyQyDLX1.js";
2
- import { Ac as isTurnHighlighted, Au as ApprovalDecision, Fa as DiscoveredPlugin, Ha as DiscoveryError, Hl as SettingsCategory, Ki as DaemonHealth, Lc as selectableTurnIds, Mc as isVisible, Pr as splitMarkdownCodeBlocks, Va as DiscoveredMcp, Y as RunRetry, Ys as ResolvedConfig, Zr as SessionHistoryMatch, al as OnboardingGate, at as splitPromptSegments, d as ToolFormatLine, f as displayNameFor, fc as marginTopFor, fu as KeyBindings, ju as ApprovalRequest, kc as isEditErrorResult, kr as MarkdownSegment, l as TOOL_DISPLAY, nt as PromptSegmentRef, p as formatToolCall, qs as ChatOptions, rr as CatalogEntry, tt as PromptSegment, u as ToolDisplayMeta, va as CacheImpact, ya as CacheImpactChange, zc as turnSelectionOwnership } from "./turn-operations-BbGJ-KSt.js";
3
- import { Pa as CompletionState, ii as truncateTrailing, j as SessionExportFormat, n as computeTurnAnchors, ni as clipHintsToWidth, ri as hintsLength, t as TranscriptItem, ti as Hint, tr as EnabledAllowlistKey } from "./index-BkNeiJYI.js";
2
+ import { Ac as isEditErrorResult, Bc as turnSelectionOwnership, Fa as DiscoveredPlugin, Ha as DiscoveryError, Ki as DaemonHealth, Mu as ApprovalRequest, Nc as isVisible, Pr as splitMarkdownCodeBlocks, Rc as selectableTurnIds, Ul as SettingsCategory, Va as DiscoveredMcp, Y as RunRetry, Ys as ResolvedConfig, Zr as SessionHistoryMatch, at as splitPromptSegments, d as ToolFormatLine, f as displayNameFor, fc as marginTopFor, jc as isTurnHighlighted, ju as ApprovalDecision, kr as MarkdownSegment, l as TOOL_DISPLAY, nt as PromptSegmentRef, ol as OnboardingGate, p as formatToolCall, pu as KeyBindings, qs as ChatOptions, rr as CatalogEntry, tt as PromptSegment, u as ToolDisplayMeta, va as CacheImpact, ya as CacheImpactChange } from "./turn-operations-DuGtKuc_.js";
3
+ import { Pa as CompletionState, ii as truncateTrailing, j as SessionExportFormat, n as computeTurnAnchors, ni as clipHintsToWidth, ri as hintsLength, t as TranscriptItem, ti as Hint, tr as EnabledAllowlistKey } from "./index-AqRZ3gEz.js";
4
4
  import { t as HostConnectionStatus } from "./connection-CvoXPgZw.js";
5
5
  import "./fold-rules-DSypi36k.js";
6
- import "./index-lcuvhQfF.js";
7
- import { t as IpcClient } from "./client-core-BdD20sOv.js";
8
- import { i as HostFailureKind } from "./connection-loop-DTk82YVl.js";
6
+ import "./index-CDS7YdUC.js";
7
+ import { t as IpcClient } from "./client-core-EEEX_u6D.js";
8
+ import { i as HostFailureKind } from "./connection-loop-CpgfUmuw.js";
9
9
  import { Buffer } from "node:buffer";
10
10
  import { Dispatch, ReactNode, SetStateAction } from "react";
11
11
  import { RGBA, SyntaxStyle } from "@opentui/core";
package/dist/tui.js CHANGED
@@ -25,38 +25,38 @@ import { r as browseSkillSource, s as installSkillFromSpec } from "./skills-DxT9
25
25
  import { a as groupSkillPicks, c as skillPickOf, n as RECOMMENDED_SKILL_SOURCES, o as skillCategory, s as skillPickKey } from "./weights-DksCExeo.js";
26
26
  import { d as ZIDANE_SKILL_EDIT_SKILL_NAME, g as extensionScaffold, u as ZIDANE_EXTENSION_SKILL_NAME } from "./system-freeze-Um9ZJiPo.js";
27
27
  import { D as sessionBadgeTarget, E as runBadgeAction, _ as artifactBadgeTarget, a as panelBadgeText, r as normalizePanelContent, v as badgeMenu } from "./panels-B_DfAx68.js";
28
- import { $ as sanitizeExtensionConfigActionPatch, A as keybindingsPath, D as ensureKeybindingsFile, E as KEYBINDING_KEY_COL_WIDTH, G as registerExtensionHostModules, I as resolveExtensionKeybindings, J as coerceExtensionConfigInput, O as formatBindingForDisplay, Q as resolveExtensionConfigValue, U as parseExtensionScanPathEnv, V as inlineLoadedExtension, W as scanExtensionDirectories, c as removeInstalledExtension, f as disposeExtensionRegistry, g as partitionExtensionCatalog, i as installExtensionFromSpec, j as matchesBinding, k as groupBindings, l as updateInstalledExtension, m as filterRegistryPlugins, n as ExtensionInstallError, nt as createExtensionBus, p as filterExtensionRegistry, t as createExtensionPromptBridge, u as discoverAndBuildExtensionRegistry, w as KEYBINDING_DEFS, x as createExtensionHostRuntimeBridge, y as createExtensionHud } from "./extensions-BeH3D-bq.js";
28
+ import { $ as sanitizeExtensionConfigActionPatch, A as keybindingsPath, D as ensureKeybindingsFile, E as KEYBINDING_KEY_COL_WIDTH, G as registerExtensionHostModules, I as resolveExtensionKeybindings, J as coerceExtensionConfigInput, O as formatBindingForDisplay, Q as resolveExtensionConfigValue, U as parseExtensionScanPathEnv, V as inlineLoadedExtension, W as scanExtensionDirectories, c as removeInstalledExtension, f as disposeExtensionRegistry, g as partitionExtensionCatalog, i as installExtensionFromSpec, j as matchesBinding, k as groupBindings, l as updateInstalledExtension, m as filterRegistryPlugins, n as ExtensionInstallError, nt as createExtensionBus, p as filterExtensionRegistry, t as createExtensionPromptBridge, u as discoverAndBuildExtensionRegistry, w as KEYBINDING_DEFS, x as createExtensionHostRuntimeBridge, y as createExtensionHud } from "./extensions-BgBwogRW.js";
29
29
  import { i as nextLogLevel, n as filterLogRecords, r as formatLogLine } from "./logs-view-DF7ArI6t.js";
30
30
  import { a as createRingBufferSink, c as logFileTimestamp, i as createLoggingHooks, n as createFileSink, o as fanoutSink, r as createLogger } from "./logger-RZVCk9Ow.js";
31
- import { t as ZIDANE_VERSION } from "./version-v77Y4A3C.js";
31
+ import { t as ZIDANE_VERSION } from "./version-bd3DQJkc.js";
32
32
  import { a as DEFAULT_OAUTH_ACCOUNT_LABEL, p as oauthAccountLabel } from "./cred-keys-C0KaSRp7.js";
33
33
  import { t as JsonRpcConnectionClosedError } from "./json-rpc-G0rBfEar.js";
34
34
  import { $ as buildPlanSystem, A as applyTodosSnapshot, B as todoProgressLabel, F as pickActiveRunId, Q as buildBuildSystem, R as selectActiveTodos, V as useActiveTodos, b as profileComposition, g as builtInPromptOf, h as availableAgents, n as createSessionInStore, r as deleteSessionData, z as setTodosForRun } from "./session-factory-CMwIXE-7.js";
35
- import { $ as usageTone, $n as TODO_STATUS_GLYPHS, $t as onboardingFeatures, A as stepTranscriptCap, B as RUN_WAITING_LABEL, C as isEarlierHiddenMarker, D as revealEarlierTranscriptEvents, Dn as stripHtmlCommentsOutsideCode, E as replaceTranscriptTurnEvents, En as splitMarkdownCodeBlocks, Et as defaultImportSelection, Gt as transcriptPresetNotice, H as runRetryingLabel, Hn as uniqueSkillNamesFromReferences, Ht as TRANSCRIPT_PRESET_KEYS, J as formatUsagePercent, Jn as blendHsl, Jt as transcriptPresetPaletteItem, K as formatBalance, Kt as transcriptPresetOf, L as spawnParents, Mn as nativeExtensionByName, N as turnContextSize, Nn as nativeExtensionSource, P as withEarlierHidden, Q as updatedLabel, Qn as accentColor, Qt as onboardingFeatureCopy, Rt as SETUP_PALETTE_ITEM, S as hiddenEarlierTranscriptCount, Sn as codeTokenHasClosingFence, Tt as ONBOARDING_PREVIEW_EVENTS, U as runStatusKey, V as runFoldStatus, Vn as createSkillsCompletionProvider, Vt as TRANSCRIPT_PRESETS, W as runTailActivity, Wn as createFilesCompletionProvider, Wt as transcriptPreset, X as resetLabel, Y as mostConstrainedWindow, Yn as buildLinearRamp, Yt as transcriptPresetPalettePicker, Z as showsAccount, Zn as cacheHintText, Zt as ONBOARDING_FEATURE_GROUPS, _ as capTranscriptEvents, _n as mcpFailureEvent, _t as ONBOARDING_WORDS, a as displayNameFor, an as connectorServerConfig, b as finalizeStreamingMarkdown, bn as chunkMarkdownForRender, bt as joinNames, cn as filterModelCatalog, ct as migratedOnboardingRecords, en as CONNECTORS, et as APPROVAL_MODE_TRADEOFFS, fn as classifyMcpTest, gn as getMcpAuthStatus, gt as ONBOARDING_AGENT_NAMES, hn as MCP_STATUS_LABEL, in as connectorInstalled, j as streamTailRoot, jn as NATIVE_EXTENSION_GROUPS, jt as canSkipOnboardingStep, kn as NATIVE_EXTENSIONS, lt as needsOnboarding, mt as onboardingSwitchedFeatures, n as reconcileEvents, nn as connectorById, nt as connectorsFromImport, o as formatToolCall, on as buildModelCatalog, pt as onboardingImportParts, qn as createCommandsCompletionProvider, qt as transcriptPresetOfPaletteItem, r as TOOL_DISPLAY, rn as connectorInputError, rt as createOnboardingRun, s as toolInputCode, sn as customModelTargets, st as mergeOnboardingState, t as convergeTranscript, tn as CONNECTOR_CATEGORIES, tt as SETTING_TRADEOFFS, v as coversTranscriptCap, vt as connectorAuthText, wn as normalizeMarkdownCodeFences, x as finalizeStreamingMarkdownForOwner, xn as closeDanglingCodeFence, xt as nativeExtensionNeedText, y as discardThinking, zn as DAEMON_HEALTH_STYLE, zt as onboardingStep } from "./transcript-reconcile-DeFLIQ14.js";
35
+ import { $ as usageTone, $n as TODO_STATUS_GLYPHS, $t as onboardingFeatures, A as stepTranscriptCap, B as RUN_WAITING_LABEL, C as isEarlierHiddenMarker, D as revealEarlierTranscriptEvents, Dn as stripHtmlCommentsOutsideCode, E as replaceTranscriptTurnEvents, En as splitMarkdownCodeBlocks, Et as defaultImportSelection, Gt as transcriptPresetNotice, H as runRetryingLabel, Hn as uniqueSkillNamesFromReferences, Ht as TRANSCRIPT_PRESET_KEYS, J as formatUsagePercent, Jn as blendHsl, Jt as transcriptPresetPaletteItem, K as formatBalance, Kt as transcriptPresetOf, L as spawnParents, Mn as nativeExtensionByName, N as turnContextSize, Nn as nativeExtensionSource, P as withEarlierHidden, Q as updatedLabel, Qn as accentColor, Qt as onboardingFeatureCopy, Rt as SETUP_PALETTE_ITEM, S as hiddenEarlierTranscriptCount, Sn as codeTokenHasClosingFence, Tt as ONBOARDING_PREVIEW_EVENTS, U as runStatusKey, V as runFoldStatus, Vn as createSkillsCompletionProvider, Vt as TRANSCRIPT_PRESETS, W as runTailActivity, Wn as createFilesCompletionProvider, Wt as transcriptPreset, X as resetLabel, Y as mostConstrainedWindow, Yn as buildLinearRamp, Yt as transcriptPresetPalettePicker, Z as showsAccount, Zn as cacheHintText, Zt as ONBOARDING_FEATURE_GROUPS, _ as capTranscriptEvents, _n as mcpFailureEvent, _t as ONBOARDING_WORDS, a as displayNameFor, an as connectorServerConfig, b as finalizeStreamingMarkdown, bn as chunkMarkdownForRender, bt as joinNames, cn as filterModelCatalog, ct as migratedOnboardingRecords, en as CONNECTORS, et as APPROVAL_MODE_TRADEOFFS, fn as classifyMcpTest, gn as getMcpAuthStatus, gt as ONBOARDING_AGENT_NAMES, hn as MCP_STATUS_LABEL, in as connectorInstalled, j as streamTailRoot, jn as NATIVE_EXTENSION_GROUPS, jt as canSkipOnboardingStep, kn as NATIVE_EXTENSIONS, lt as needsOnboarding, mt as onboardingSwitchedFeatures, n as reconcileEvents, nn as connectorById, nt as connectorsFromImport, o as formatToolCall, on as buildModelCatalog, pt as onboardingImportParts, qn as createCommandsCompletionProvider, qt as transcriptPresetOfPaletteItem, r as TOOL_DISPLAY, rn as connectorInputError, rt as createOnboardingRun, s as toolInputCode, sn as customModelTargets, st as mergeOnboardingState, t as convergeTranscript, tn as CONNECTOR_CATEGORIES, tt as SETTING_TRADEOFFS, v as coversTranscriptCap, vt as connectorAuthText, wn as normalizeMarkdownCodeFences, x as finalizeStreamingMarkdownForOwner, xn as closeDanglingCodeFence, xt as nativeExtensionNeedText, y as discardThinking, zn as DAEMON_HEALTH_STYLE, zt as onboardingStep } from "./transcript-reconcile-CPdrNbbR.js";
36
36
  import { f as readSessionEnvironment, g as verifyEnvironment, i as assertEnvironmentReady, n as EnvironmentNotReadyError, o as createEnvironmentRegistry, r as LOCAL_ENVIRONMENT, u as initialEnvironment } from "./environment-B4asakh7.js";
37
37
  import { E as restoreChainFallbacks, O as toggleChainEntry, T as reorderKeyed, b as pickChainPrimary, g as chainsEqual, h as chainPositionOf, m as chainEntryKey, p as chainAccountConflict, r as editableTurnText, s as turnAsText, u as readSessionAccount, v as filterChainFallbacks, w as rememberableChain } from "./turn-operations-CWoCTC_L.js";
38
38
  import { E as SESSION_EVENT_STATUS_STYLE, H as shortSessionId, J as formatCostUsd, M as isMainSession, Q as formatTokenCount, R as sessionDirLabel, S as parseModelSetting, V as sessionEventMeta, W as truncateTitle, X as formatRunReceiptCells, a as defaultSessionAgent, b as spacesEnabled, d as normalizeSpaces, f as readSessionSpaceId, h as spaceIdForNewSession, i as activeSpaceOf, m as sessionSpaceFilter, o as defaultSessionKnobs, p as resolveSessionSpace, q as fitRunReceiptCells, r as SPACE_METADATA_KEY, rt as modelDisplayName, s as defaultSessionModel, t as DEFAULT_SPACE_ID, tt as nameFromModelId, v as spaceOfSwitchItem, x as formatModelSetting, y as spaceSwitchItems, z as sessionEventExcerpt } from "./spaces-CyjMh5Zf.js";
39
- import { F as sparseSettingsUpdate, M as decisionsEnabled, O as DEFAULT_SETTINGS, P as settingsFromStored, _ as BUILTIN_THEMES, a as APPROVAL_MODE_OPTIONS, b as resolveTheme, c as SETTINGS_INPUTS, d as clampFps, f as enforceSettingsInvariants, g as toggleHeldOn, h as settingsSectionOf, m as settingKeywords, o as SETTINGS_CATEGORIES, p as requirementMet, s as SETTINGS_CHOICES, u as SETTINGS_TOGGLES, y as resolveChipColor } from "./secret-shapes-CEoGmfEE.js";
40
- import { F as suggestSafelistEntries, a as settingsFromWire, c as discoverSystemMd, d as userSystemMdPath, h as discoverProjectMcps, i as overlayHostSettings, l as renderSystemMdSeed, n as WINDOW_LOCAL_SETTINGS, o as settingsToWire, r as isWindowOnlySetting, s as splitHostSettingsPatch, u as userScopeOverridesLoad } from "./host-scoped-settings-CCnaBkCV.js";
41
- import { $ as createAutomaticInteractionResponse, $t as testDecisionModel, Bt as parsePluginScanPathEnv, D as resolveProviderConfig, G as readPinnedSkills, Ht as loadMcpToolsCache, It as resolveSessionCwd, J as ASK_USER_TOOL, Kt as subscribeMcpToolsCache, O as createFileEnvironmentSecrets, Ot as readRemoteSandboxRef, R as describeTitleStatus, Rt as buildPluginContributions, S as applyEnvironmentSettingsChange, St as builtinEnvironmentProviders, U as PINNED_SKILLS_META_KEY, Ut as mcpToolsCachePath, V as launchOverridesFrom, Wt as refreshMcpToolsCatalog, X as HOST_INTERACTION_ID_PREFIX, Xt as listDecisionModels, Z as PRESENT_PLAN_TOOL, Zt as parseDecisionModel, _t as discoverAgentsMd, a as tryOpenBrowser, c as mcpsWritePath, d as createExtensionMcpHost, dt as applyThinkingBindingSetting, f as resolveConfig, gt as installProviderDiagnosticHook, i as supportsOAuth, j as createSessionExecutionCache, l as removeMcpServer, lt as discoverProjectSkills, n as pickOAuthSelectOption, nt as isModelInteraction, o as tryRevealPath, p as resolveStoragePaths, r as runOAuthLogin, s as testModel, st as createSkillNameProbe, t as oauthUsesManualCodePaste, u as upsertMcpServer, ut as createBuiltinCommands, v as createFileMcpCredentialStore, w as describeEnvironments, x as provisionSessionEnvironment, zt as discoverProjectPlugins } from "./oauth-TVPPye84.js";
39
+ import { F as sparseSettingsUpdate, M as decisionsEnabled, O as DEFAULT_SETTINGS, P as settingsFromStored, _ as BUILTIN_THEMES, a as APPROVAL_MODE_OPTIONS, b as resolveTheme, c as SETTINGS_INPUTS, d as clampFps, f as enforceSettingsInvariants, g as toggleHeldOn, h as settingsSectionOf, m as settingKeywords, o as SETTINGS_CATEGORIES, p as requirementMet, s as SETTINGS_CHOICES, u as SETTINGS_TOGGLES, y as resolveChipColor } from "./secret-shapes-BjW4l6U0.js";
40
+ import { F as suggestSafelistEntries, a as settingsFromWire, c as discoverSystemMd, d as userSystemMdPath, h as discoverProjectMcps, i as overlayHostSettings, l as renderSystemMdSeed, n as WINDOW_LOCAL_SETTINGS, o as settingsToWire, r as isWindowOnlySetting, s as splitHostSettingsPatch, u as userScopeOverridesLoad } from "./host-scoped-settings-C-Nmb6vr.js";
41
+ import { $ as createAutomaticInteractionResponse, $t as testDecisionModel, Bt as parsePluginScanPathEnv, D as resolveProviderConfig, G as readPinnedSkills, Ht as loadMcpToolsCache, It as resolveSessionCwd, J as ASK_USER_TOOL, Kt as subscribeMcpToolsCache, O as createFileEnvironmentSecrets, Ot as readRemoteSandboxRef, R as describeTitleStatus, Rt as buildPluginContributions, S as applyEnvironmentSettingsChange, St as builtinEnvironmentProviders, U as PINNED_SKILLS_META_KEY, Ut as mcpToolsCachePath, V as launchOverridesFrom, Wt as refreshMcpToolsCatalog, X as HOST_INTERACTION_ID_PREFIX, Xt as listDecisionModels, Z as PRESENT_PLAN_TOOL, Zt as parseDecisionModel, _t as discoverAgentsMd, a as tryOpenBrowser, c as mcpsWritePath, d as createExtensionMcpHost, dt as applyThinkingBindingSetting, f as resolveConfig, gt as installProviderDiagnosticHook, i as supportsOAuth, j as createSessionExecutionCache, l as removeMcpServer, lt as discoverProjectSkills, n as pickOAuthSelectOption, nt as isModelInteraction, o as tryRevealPath, p as resolveStoragePaths, r as runOAuthLogin, s as testModel, st as createSkillNameProbe, t as oauthUsesManualCodePaste, u as upsertMcpServer, ut as createBuiltinCommands, v as createFileMcpCredentialStore, w as describeEnvironments, x as provisionSessionEnvironment, zt as discoverProjectPlugins } from "./oauth-7_48zR7n.js";
42
42
  import { F as commandNoteText, L as gatherCommandNotes, N as summarizeOutcomes, P as commandHeaderBlock, R as noteDisplay, S as previewEditPayload, _ as clipDiffForRender, b as extractEditPayload, g as buildUnifiedDiff, h as buildContextualDiff, l as promptSegmentLines, t as oneLineTitle, u as splitPromptSegments, w as summarizeEditPayload, x as filetypeFromPath } from "./session-title-text-DHCNlzjb.js";
43
43
  import { O as usageByModel, S as sumRunCosts, T as toolCallPreview, a as eventsFromTurns, b as sessionEnvironmentSummary, c as headerFromData, d as loadState, f as marginTopFor, i as deriveSessionTitle, l as lastContextSizeFromTurns, o as getSessionHeader, p as noticeTurnContent, s as getSessionMeta, u as listSessionMeta } from "./store-L01W0gGI.js";
44
44
  import { a as searchHighlightRanges, c as searchSessionHistoryIndexAsync, i as highlightSegments, n as buildSessionSearchIndexAsync, r as filterSessionSearchCatalog, u as searchSessionIndexAsync } from "./history-search-CbDaXIfU.js";
45
- import { $ as isKillSwitchEngaged, B as createChatsCompletionProvider, Ct as selectableTurnIds, Et as turnSelectionOwnership, F as CONTINUE_PROMPT, G as compactingParts, H as cacheBreakChip, J as runStatusCells, K as liveSessionCost, M as currentModelKeys, St as retagUserPromptEventsFromRefs, Tt as streamEventSearchText, X as daemonGate, _t as isVisibleDuringSearch, ct as parseMachineKind, et as remoteHostsGate, ft as EDIT_TOOL_NAMES, gt as isVisible, ht as isUserBashEvent, lt as toMachineName, mt as isTurnHighlighted, n as enabledMcpsWithout, pt as isEditErrorResult, q as retryLabel, t as enabledMcpsWith, ut as BASH_CALL_ID_PREFIX, vt as messageSelectionOwnership, wt as selectionAfterTurnRemoval, yt as promptHistoryFromEvents } from "./mcp-allowlist-BQ5MvhHi.js";
45
+ import { $ as isKillSwitchEngaged, B as createChatsCompletionProvider, Dt as streamEventSearchText, Et as selectionAfterTurnRemoval, F as CONTINUE_PROMPT, G as compactingParts, H as cacheBreakChip, J as runStatusCells, K as liveSessionCost, M as currentModelKeys, Ot as turnSelectionOwnership, Tt as selectableTurnIds, X as daemonGate, _t as isUserBashEvent, bt as messageSelectionOwnership, ct as parseMachineKind, et as remoteHostsGate, ft as EDIT_TOOL_NAMES, gt as isTurnHighlighted, ht as isEditErrorResult, lt as toMachineName, n as enabledMcpsWithout, q as retryLabel, t as enabledMcpsWith, ut as BASH_CALL_ID_PREFIX, vt as isVisible, wt as retagUserPromptEventsFromRefs, xt as promptHistoryFromEvents, yt as isVisibleDuringSearch } from "./mcp-allowlist-CLXweyxk.js";
46
46
  import { A as modelSupportsReasoning, E as getModelInfo, F as restoreModelOptions, O as modelLabel, P as piIdOf, T as getContextWindow, d as removeStoredCredential, f as setCredentialLabel, k as modelOptionsFor, l as readProviderCredentials, m as setProviderCredential, n as credentialsPath, p as setPreferredCredential, t as applyApiKeyEnv, w as enabledModelOptions } from "./credentials-B9DfBJP9.js";
47
47
  import { n as renderDefaultCallbackPage } from "./render-gPS08Uiz.js";
48
48
  import { r as detectAuth } from "./cli-shared-E5m_pI8A.js";
49
49
  import { a as isMethodNotFound, n as LOCAL_HOST_KEY, r as LOCAL_HOST_NAME } from "./connection-BaHd3T-D.js";
50
50
  import { d as loadAllEvents, f as loadEventsPage, m as loadSessionDocument, p as loadEventsTail, u as hostRefOf } from "./protocol-BIv1Yuvl.js";
51
- import { p as createHostEnvironment } from "./dispatcher-BICXFGiJ.js";
51
+ import { p as createHostEnvironment } from "./dispatcher-Bv9-c6I2.js";
52
52
  import { a as SYNC_MODE_LABEL, c as settingField, d as syncMarkerOf, i as SYNC_MODES, n as SYNC_CATEGORIES, r as SYNC_CATEGORY_INFO, u as syncAgo } from "./types-B4oqzENY.js";
53
- import { n as runRemoteOAuth, r as startInProcessHost, t as runWorkspaceExecStream } from "./workspace-exec-stream-kqARO8iC.js";
53
+ import { n as runRemoteOAuth, r as startInProcessHost, t as runWorkspaceExecStream } from "./workspace-exec-stream-CyfYgqAh.js";
54
54
  import { t as keepHostConnected } from "./connection-loop-DSCehV3W.js";
55
- import { $ as MACHINE_LINK_STATE_TEXT, D as cycleTab, Dt as MAX_FILE_ATTACHMENT_BYTES, F as togglePanel, Ft as HostRemovedError, H as groupPaletteRows, It as UnknownHostIdError, J as NOTICE_GLYPH, K as pushPaletteRecent, Lt as createHostIndex, Mt as parseSessionKey, Nt as sessionKey, Ot as MAX_IMAGE_ATTACHMENT_BYTES, P as resolveActiveTab, Q as validateMcpForm, St as indexOfProviderRow, T as buildPanelCatalog, Tt as selectableSources, Y as MCP_TRANSPORTS, _t as messagePreview, a as editTodo, at as machineWaiting, b as INITIAL_PANEL_STATE, c as EMPTY_RATE, ct as buildVisibleInstructionRows, d as streamRateValue, dt as foldSummary, f as createRunStopMarker, ft as foldsInCompactShape, ht as thoughtLabel, i as cycleTodoStatus, it as machineDirListing, j as pickTab, lt as instructionOriginBadge, m as ARTIFACTS_PANEL_ID, mt as planFold, n as buildTodoRetryMessage, nt as lastSeenText, ot as orderByMachine, p as tidyPromptText, pt as noteLabel, q as rankPaletteItems, r as clearTodos, rt as machineBlockedReason, s as removeTodo, t as addTodo, tt as environmentLabel, u as stepStreamRate, ut as instructionPreviewLines, wt as parentProviderKey, xt as buildVisibleAuthRows, yt as toolOverview } from "./todo-edits-H77ROt6X.js";
56
- import { r as parseRemoteHostUrl, t as RemoteHostError } from "./url-CLl0u4Z8.js";
55
+ import { $ as MACHINE_LINK_STATE_TEXT, D as cycleTab, Dt as MAX_FILE_ATTACHMENT_BYTES, F as togglePanel, Ft as HostRemovedError, H as groupPaletteRows, It as UnknownHostIdError, J as NOTICE_GLYPH, K as pushPaletteRecent, Lt as createHostIndex, Mt as parseSessionKey, Nt as sessionKey, Ot as MAX_IMAGE_ATTACHMENT_BYTES, P as resolveActiveTab, Q as validateMcpForm, St as indexOfProviderRow, T as buildPanelCatalog, Tt as selectableSources, Y as MCP_TRANSPORTS, _t as messagePreview, a as editTodo, at as machineWaiting, b as INITIAL_PANEL_STATE, c as EMPTY_RATE, ct as buildVisibleInstructionRows, d as streamRateValue, dt as foldSummary, f as createRunStopMarker, ft as foldsInCompactShape, ht as thoughtLabel, i as cycleTodoStatus, it as machineDirListing, j as pickTab, lt as instructionOriginBadge, m as ARTIFACTS_PANEL_ID, mt as planFold, n as buildTodoRetryMessage, nt as lastSeenText, ot as orderByMachine, p as tidyPromptText, pt as noteLabel, q as rankPaletteItems, r as clearTodos, rt as machineBlockedReason, s as removeTodo, t as addTodo, tt as environmentLabel, u as stepStreamRate, ut as instructionPreviewLines, wt as parentProviderKey, xt as buildVisibleAuthRows, yt as toolOverview } from "./todo-edits-BERpCRPj.js";
56
+ import { r as parseRemoteHostUrl, t as RemoteHostError } from "./url-D8KZ7Edw.js";
57
57
  import { createTuiStore } from "./session/sqlite.js";
58
- import { $ as truncateTrailing, $t as groupArtifacts, At as buildRestartHint, B as useInteractionsActions, C as providerUsageSupported, Ct as claudeImportHostNote, D as fetchOAuthRedirect, Dt as previewClaudeImport, E as formatPathForCwd, Et as importFromClaudeCode, F as parentServerName, G as onboardingInstallSignals, H as connectorGithubToken, I as McpAuthProvider, J as onboardingProviders, L as useMcpAuthDispatch, Mt as useUpdateCheck, N as buildVisibleMcpRows, P as indexOfServerRow, Q as hintsLength, R as useMcpAuthState, Rt as useRestartRequired, Tt as hasClaudeCodeSetup, U as detectOnboardingEnvironment, V as useInteractionsQueue, X as clipHintsToWidth, Y as EMPTY_HINTS, Z as hintLayout, _ as withRunningCallStarts, _t as useConfig, a as useSurfaces, at as useEnabledToggleSet, b as fetchAllProviderUsage, c as useStreamBuffer, ct as useSettings, dt as createDiscoverySlot, et as fetchGithubUsage, f as writeSessionExport, ft as DiscoveryProvider, gt as ConfigProvider, h as useSafeModeQueue, ht as ConfigContext, i as useSelectStyle, it as listProjectFiles, j as useMcpToolToggleMap, jt as buildUpdateHint, k as redirectUriFromAuthUrl, kt as bootTick, l as aggregateUsage, lt as parseEditorCommand, m as useSafeModeActions, mt as useDiscoveryOptional, n as ThemeProvider, o as useSyntaxStyles, ot as SettingsOverride, p as SafeModeProvider, pt as useDiscovery, r as useColors, s as useTheme, st as SettingsProvider, t as computeTurnAnchors, tt as buildHints, ut as quoteForShell, w as usageChecksOptedOut, wt as countClaudeSessionFiles, x as fetchProviderUsage, xt as useCompletion, y as clearProviderUsageCache, yt as createArtifactsCompletionProvider, z as InteractionsProvider } from "./transcript-anchors-s-yxh0jt.js";
59
- import { i as wsTransport, n as lazyInProcessTransport, r as socketTransport, t as hostSignalHandlers } from "./host-signals-DI9JQvR9.js";
58
+ import { $ as truncateTrailing, $t as groupArtifacts, At as buildRestartHint, B as useInteractionsActions, C as providerUsageSupported, Ct as claudeImportHostNote, D as fetchOAuthRedirect, Dt as previewClaudeImport, E as formatPathForCwd, Et as importFromClaudeCode, F as parentServerName, G as onboardingInstallSignals, H as connectorGithubToken, I as McpAuthProvider, J as onboardingProviders, L as useMcpAuthDispatch, Mt as useUpdateCheck, N as buildVisibleMcpRows, P as indexOfServerRow, Q as hintsLength, R as useMcpAuthState, Rt as useRestartRequired, Tt as hasClaudeCodeSetup, U as detectOnboardingEnvironment, V as useInteractionsQueue, X as clipHintsToWidth, Y as EMPTY_HINTS, Z as hintLayout, _ as withRunningCallStarts, _t as useConfig, a as useSurfaces, at as useEnabledToggleSet, b as fetchAllProviderUsage, c as useStreamBuffer, ct as useSettings, dt as createDiscoverySlot, et as fetchGithubUsage, f as writeSessionExport, ft as DiscoveryProvider, gt as ConfigProvider, h as useSafeModeQueue, ht as ConfigContext, i as useSelectStyle, it as listProjectFiles, j as useMcpToolToggleMap, jt as buildUpdateHint, k as redirectUriFromAuthUrl, kt as bootTick, l as aggregateUsage, lt as parseEditorCommand, m as useSafeModeActions, mt as useDiscoveryOptional, n as ThemeProvider, o as useSyntaxStyles, ot as SettingsOverride, p as SafeModeProvider, pt as useDiscovery, r as useColors, s as useTheme, st as SettingsProvider, t as computeTurnAnchors, tt as buildHints, ut as quoteForShell, w as usageChecksOptedOut, wt as countClaudeSessionFiles, x as fetchProviderUsage, xt as useCompletion, y as clearProviderUsageCache, yt as createArtifactsCompletionProvider, z as InteractionsProvider } from "./transcript-anchors-jHrg-r-H.js";
59
+ import { i as wsTransport, n as lazyInProcessTransport, r as socketTransport, t as hostSignalHandlers } from "./host-signals-BFudPyCT.js";
60
60
  import { Buffer } from "node:buffer";
61
61
  import * as fs from "node:fs";
62
62
  import { existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, rmSync, statSync, writeFileSync } from "node:fs";
@@ -11799,7 +11799,7 @@ function useRemoteHosts(deps) {
11799
11799
  let cancelled = false;
11800
11800
  let started = null;
11801
11801
  remoteHostsLoads++;
11802
- import("./remote-hosts-b6Luwdhu.js").then(({ startRemoteHosts }) => {
11802
+ import("./remote-hosts-DY2J07ut.js").then(({ startRemoteHosts }) => {
11803
11803
  if (cancelled) return;
11804
11804
  started = startRemoteHosts({
11805
11805
  dataDir,
@@ -2330,6 +2330,13 @@ interface PromptTurnRef {
2330
2330
  declare function retagUserPromptEventsFromRefs(events: readonly StreamEvent[], refs: readonly PromptTurnRef[]): readonly StreamEvent[];
2331
2331
  /** `notice.label` the host stamps on prompt-cache break/expiry rows (`host/notices/index.ts`). */
2332
2332
  declare const CACHE_NOTICE_LABEL = "cache";
2333
+ /**
2334
+ * Whether a notice is one `showCacheNotices` hides: a prompt-cache break or
2335
+ * expiry, or dropped reasoning (the same prefix churn, seen from the thinking side).
2336
+ *
2337
+ * @param notice - The event's notice, if any.
2338
+ */
2339
+ declare function isCacheNotice(notice: StreamEvent['notice']): boolean;
2333
2340
  /**
2334
2341
  * Whether `event` shows in the transcript under the user's toggles, including
2335
2342
  * `hideSubagentOutput`, `showEditDiffs`, `showThinking` and `showToolResults`.
@@ -9882,5 +9889,5 @@ declare function countNeighbors(turnIds: readonly string[], turnId: string): {
9882
9889
  after: number;
9883
9890
  } | null;
9884
9891
  //#endregion
9885
- export { runStatusKey as $, ApprovalHub as $a, OnboardingCustomField as $c, createFilesCompletionProvider as $i, SETTINGS_DEFAULTS_VERSION as $l, compareModelVersion as $n, MachineUseStatus as $o, SessionSearchIndex as $r, ModelUsageSummary as $s, ONBOARDING_PREVIEW_EVENTS as $t, pruneTodosByRun as $u, finalizeStreamingMarkdownForOwner as A, CompactionEntry as Aa, isTurnHighlighted as Ac, discoverAgentsMd as Ad, daemonGate as Ai, OnboardingTradeoff as Al, ONBOARDING_FEATURES as An, TerminalAdoptResult as Ao, chunkMarkdownForRender as Ar, BROWSER_TEXT_MAX_CHARS as As, onboardingRecord as At, ApprovalDecision as Au, spawnLaneResolver as B, WorkerSummary as Ba, ConnectorAuth as Bc, isAccountCredKey as Bd, resolveApprovalForPayload as Bi, SETTINGS_SECTIONS as Bl, connectorById as Bn, TerminalReadResult as Bo, HostIdentity as Br, BrowserResponse as Bs, ONBOARDING_AGENT_NAMES as Bt, TODOREAD_TOOL as Bu, ThinkingDeltaOptions as C, CreateSessionRequest as Ca, updateToolEventOutcomes as Cc, SESSION_ACCOUNT_METADATA_KEY as Cd, compactingParts as Ci, OnboardingStepId as Cl, OnboardingStart as Cn, TERMINAL_MAX_PER_SCOPE as Co, mcpFailureEvent as Cr, BROWSER_ACTION_TIMEOUT_MS as Cs, OnboardingGateInput as Ct, resolveExtensionKeybindings as Cu, capTranscriptEvents as D, TextModelPick as Da, EDIT_TOOL_NAMES as Dc, AgentsMdFile as Dd, FEATURE_GATES as Di, OnboardingTask as Dl, currentOnboardingStep as Dn, TERMINAL_TEXT_MAX_LINES as Do, FenceOpen as Dr, BROWSER_OPS as Ds, mergeOnboardingState as Dt, canonicalKeyName as Du, appendThinkingLines as E, TextModelOptions as Ea, CACHE_NOTICE_LABEL as Ec, sessionModelFallbacks as Ed, runStatusCells as Ei, OnboardingSurface as El, createOnboardingFlow as En, TERMINAL_READ_MAX_CHARS as Eo, enabledMcpsWithout as Er, BROWSER_OPEN_MOUNT_MS as Es, isExistingInstall as Et, bindingAlternatives as Eu, stepTranscriptCap as F, DiscoveredPlugin as Fa, retagUserPromptEvents as Fc, CRED_KEY_SLOT_SEPARATOR as Fd, ResolvedApproval as Fi, APPROVAL_MODE_OPTIONS as Fl, onboardingFeatures as Fn, TerminalOwner as Fo, RemoteHostError as Fr, BrowserOp as Fs, onboardingImportParts as Ft, useSafeModeActions as Fu, RUN_STATUS_TIME_MS as G, dedupMcpServersByName as Ga, ConnectorTransport as Gc, DAEMON_HEALTH_STYLE as Gi, SettingsInput as Gl, ONBOARDING_AGENT_BRANDS as Gn, MachineErrorCode as Go, HighlightRange as Gr, BrowserWaitUntil as Gs, joinNames as Gt, TodoStatus as Gu, oneLineTitle as H, DiscoveryError as Ha, ConnectorEntry as Hc, oauthAccountLabel as Hd, stripEditOutcomesAnnotation as Hi, SettingsCategory as Hl, connectorInstalled as Hn, TerminalStatus as Ho, HostProbeResult as Hr, BrowserSnapshot as Hs, OnboardingWords as Ht, TODOWRITE_TOOL as Hu, takeChars as I, buildPluginContributions as Ia, retagUserPromptEventsFromRefs as Ic, DEFAULT_OAUTH_ACCOUNT_LABEL as Id, buildEditOutcomesAnnotation as Ii, BooleanSettingKey as Il, CONNECTORS as In, TerminalProjectOpenInput as Io, displayHostUrl as Ir, BrowserOpError as Is, onboardingSwitchedFeatures as It, useSafeModeQueue as Iu, RunFoldStatus as J, parseMcpsFile as Ja, NativeExtensionGroup as Jc, DaemonHealthTone as Ji, enforceSettingsInvariants as Jl, ModelSettingPick as Jn, MachineLinksStatus as Jo, SearchExcerpt as Jr, ProviderRegistry as Js, TUTORIAL_TOPICS as Jt, createTodoTools as Ju, RUN_WAITING_DELAY_MS as K, defaultMcpsConfigPaths as Ka, NativeExtensionCommandNeed as Kc, DaemonHealth as Ki, SettingsToggle as Kl, PROVIDER_BRANDS as Kn, MachineInfo as Ko, HighlightSegment as Kr, AutoUpdateConfig as Ks, nativeExtensionNeedText as Kt, TodoTally as Ku, turnContextSize as L, discoverProjectPlugins as La, selectableTurnIds as Lc, accountCredKey as Ld, maskToOutcomeKinds as Li, SETTINGS_CATEGORIES as Ll, CONNECTOR_CATEGORIES as Ln, TerminalProjectScope as Lo, parseRemoteHostUrl as Lr, BrowserOpInputs as Ls, ConnectorAuthWords as Lt, ActiveTodosState as Lu, ownerOf as M, runCompaction as Ma, isVisible as Mc, ACCOUNT_CRED_KEY_INFIX as Md, engagedKillSwitches as Mi, TranscriptPresetId as Ml, OnboardingFeatureCopy as Mn, TerminalError as Mo, normalizeMarkdownCodeFences as Mr, BrowserChange as Ms, onboardingSettingsChange as Mt, RequestApproval as Mu, smoothCharsForTick as N, EditOutcomeLedger as Na, messageSelectionOwnership as Nc, ALTERNATE_CRED_KEY_SUFFIX as Nd, isKillSwitchEngaged as Ni, TranscriptPresetKey as Nl, OnboardingFeatureGroupMeta as Nn, TerminalInfo as No, parseFenceOpen as Nr, BrowserConsoleEntry as Ns, OnboardingImportWords as Nt, SafeModeActions as Nu, discardThinking as O, TextModelSource as Oa, PromptTurnRef as Oc, AgentsMdResult as Od, FeatureGate as Oi, OnboardingTaskKind as Ol, onboardingProgress as On, TERMINAL_VIEW_MAX_LINES as Oo, MARKDOWN_RENDER_CHUNK_TARGET_BYTES as Or, BROWSER_OUTLINE_MAX_ELEMENTS as Os, migratedOnboardingRecords as Ot, parseBindingSpec as Ou, smoothCpsForBacklog as P, PendingAnnotation as Pa, promptTurnRefs as Pc, API_KEY_ACCOUNT_LABEL as Pd, remoteHostsGate as Pi, TranscriptPresetSettings as Pl, onboardingFeatureCopy as Pn, TerminalOpenInput as Po, splitMarkdownCodeBlocks as Pr, BrowserErrorCode as Ps, OnboardingSwitchedFeatures as Pt, SafeModeProvider as Pu, runRetryingLabel as Q, normalizeLaunchOverrides as Qa, OnboardingCredentialSource as Qc, FILES_TRIGGER as Qi, DEFAULT_SETTINGS as Ql, ModelIdParts as Qn, MachineStatusChange as Qo, SessionSearchExcerpt as Qr, resolveStoragePaths as Qs, ONBOARDING_PREVIEW_ATTACHMENTS as Qt, pickActiveRunId as Qu, SpawnTreeRow as R, CreateWorkerParams as Ra, selectionAfterTurnRemoval as Rc, alternateCredKey as Rd, mergeApprovalAndBodyOutcomes as Ri, SETTINGS_CHOICES as Rl, ConnectorCategoryMeta as Rn, TerminalProjectState as Ro, HostEntry as Rr, BrowserOpResults as Rs, LOCAL_SERVER_NAMES as Rt, CreateTodoToolsOptions as Ru, TRANSCRIPT_TRIM_TO_EVENTS as S, ContextSegmentsReport as Sa, toolResultText as Sc, ModelFallbackTarget as Sd, compactingLabel as Si, OnboardingState as Sl, OnboardingProgress as Sn, TERMINAL_HISTORY_MAX_CHARS as So, getMcpAuthStatus as Sr, tokenize as Ss, createOnboardingRun as St, readKeybindingsRaw as Su, appendMarkdownDelta as T, TextModelCandidate as Ta, BASH_CALL_ID_PREFIX as Tc, readSessionAccount as Td, retryLabel as Ti, OnboardingStepScope as Tl, canSkipOnboardingStep as Tn, TERMINAL_OUTPUT_WINDOW as To, enabledMcpsWith as Tr, BROWSER_MAX_WAIT_MS as Ts, effectiveOnboardingMode as Tt, ParsedBinding as Tu, titleFromText as U, DiscoveryResult as Ua, ConnectorInput as Uc, summarizeOutcomes as Ui, SettingsCategoryDescriptor as Ul, connectorServerConfig as Un, TerminalTarget as Uo, HostRegistryError as Ur, BrowserStatus as Us, connectorAuthText as Ut, TODO_WRITE_COUNTS_METADATA_KEY as Uu, spawnParents as V, DiscoveredMcp as Va, ConnectorCategory as Vc, isReservedCredKey as Vd, rewriteMultiEditHeader as Vi, SETTINGS_TOGGLES as Vl, connectorInputError as Vn, TerminalSessionState as Vo, HostProbe as Vr, BrowserScreenshot as Vs, ONBOARDING_WORDS as Vt, TODOS_METADATA_KEY as Vu, LiveRunStatus as W, buildMcpServers as Wa, ConnectorTokenAuth as Wc, DAEMON_HEALTH_GLYPH as Wi, SettingsChoice as Wl, LOCAL_SERVER_BRANDS as Wn, MACHINE_PROTOCOL_VERSION as Wo, HostTestResult as Wr, BrowserTarget as Ws, joinFewNames as Wt, TodoItem as Wu, RunTailActivity as X, createInteractionHub as Xa, OnboardingAgentId as Xc, createSkillsCompletionProvider as Xi, settingKeywords as Xl, parseModelSetting as Xn, MachineRoot as Xo, SearchTurnResult as Xr, ResolvedPaths as Xs, TutorialTopic as Xt, getTodosForRun as Xu, RunRetry as Y, InteractionHub as Ya, NativeExtensionNeed as Yc, SKILLS_TRIGGER as Yi, requirementMet as Yl, formatModelSetting as Yn, MachineRegisterParams as Yo, SearchSessionResult as Yr, ResolvedConfig as Ys, TutorialStep as Yt, getArchivedTodosForRun as Yu, runFoldStatus as Z, SessionLaunchOverrides as Za, OnboardingAppearance as Zc, uniqueSkillNamesFromReferences as Zi, toggleHeldOn as Zl, LineupEntry as Zn, MachineShareStatus as Zo, SessionHistoryMatch as Zr, resolveConfig as Zs, TutorialWords as Zt, isTodoTool as Zu, SMOOTH_BASE_CPS as _, cacheHintText as _a, sessionEnvironmentSummary as _c, createSessionInStore as _d, CacheChipContent as _i, OnboardingRecord as _l, importsSomething as _n, SessionPresence as _o, MCP_STATUS_LABEL as _r, extractEditPayload as _s, OnboardingRun as _t, keybindingsPath as _u, truncateTurnsAt as a, COMMANDS_TRIGGER as aa, deriveSessionTitle as ac, DiscoverSystemMdOptions as ad, searchSessionHistory as ai, OnboardingGate as al, transcriptPresetOf as an, ApprovalOriginator as ao, buildModelCatalog as ar, DiffOp as as, splitPromptSegments as at, DEFAULT_KEYBINDINGS as au, STREAMING_MARKDOWN_SEGMENT_CHARS as b, CacheReport as ba, titleFromTurns as bc, forkSession as bd, cacheBreakChip as bi, OnboardingSettingsChange as bl, OnboardingAction as bn, WireApprovalRequest as bo, McpAuthStatus as br, splitLines as bs, OnboardingRunSetup as bt, normalizeBindingValue as bu, reconcileEvents as c, ChatReferenceData as ca, headerFromData as cc, discoverSystemMd as cd, searchSessionIndex as ci, OnboardingImportPreview as cl, transcriptPresetPalettePicker as cn, HostSettings as co, indexOfEntry as cr, HunkResolution as cs, ONBOARDING_STEPS as ct, KEYBINDING_KEY_COL_WIDTH as cu, ToolFormatLine as d, chatReferenceTokensFromText as da, loadState as dc, userSystemMdPath as dd, searchTurns as di, OnboardingInstallSignals as dl, NATIVE_EXTENSIONS_REPO as dn, PromptAttachment as do, MCP_KEY_REFUSED_HINT as dr, PreviewResult as ds, SetupPaletteItem as dt, KeyBindingSection as du, uniqueFilesFromReferences as ea, RunProgress as ec, sanitizeTodoItems as ed, buildSessionSearchIndex as ei, OnboardingDetection as el, TRANSCRIPT_PRESETS as en, ApprovalRequestInput as eo, currentModelKeys as er, isValidMachineName as es, runTailActivity as et, SETTINGS_DEFAULTS_VERSION_KEY as eu, displayNameFor as f, createChatsCompletionProvider as fa, marginTopFor as fc, CreateSessionInStoreParams as fd, searchableTurnText as fi, OnboardingLocalServer as fl, NATIVE_EXTENSION_GROUPS as fn, QueuedAttachment as fo, McpTestOutcomeKind as fr, applyEditPayload as fs, onboardingStep as ft, KeyBindings as fu, MarkdownDeltaOptions as g, CACHE_HINT_MIN_TOKENS as ga, saveState as gc, createMainSession as gd, shouldAutoGenerateTitle as gi, OnboardingProviderPick as gl, defaultImportSelection as gn, SerializedPreview as go, mcpFailureLine as gr, computeLineDiff as gs, OnboardingReadable as gt, groupBindings as gu, MAX_TRANSCRIPT_EVENTS as h, buildLinearRamp as ha, runProgress as hc, ForkSource as hd, generateSessionTitle as hi, OnboardingProvider as hl, nativeExtensionSource as hn, SendOptions as ho, isMcpAuthRefusal as hr, computeInlineDiff as hs, OnboardingPhase as ht, formatBindingForDisplay as hu, replaceTurnTextBlocks as i, listProjectFiles as ia, createStateStore as ic, TODO_STATUS_GLYPHS as id, searchHighlightRanges as ii, OnboardingFeatureGroup as il, transcriptPresetNotice as in, PendingApprovalsStore as io, CustomModelTarget as ir, DiffLine as is, promptSegmentLines as it, sparseSettingsUpdate as iu, mergeTargetIndex as j, CompactionReport as ja, isUserBashEvent as jc, renderAgentsMdBlock as jd, defineFeatureGate as ji, TranscriptPreset as jl, ONBOARDING_FEATURE_GROUPS as jn, TerminalAttachResult as jo, isFenceClose as jr, BROWSER_WAIT_TIMEOUT_MS as js, onboardingRecords as jt, ApprovalRequest as ju, finalizeStreamingMarkdown as k, autoTextModelId as ka, isEditErrorResult as kc, DiscoverAgentsMdOptions as kd, FeatureGateOptions as ki, OnboardingTaskStatus as kl, onboardingReducer as kn, TERMINAL_VIEW_SCROLLBACK as ko, MarkdownSegment as kr, BROWSER_REQUEST_SLACK_MS as ks, needsOnboarding as kt, parseBindingSpecs as ku, TOOL_DISPLAY as l, ChatReferenceEntry as la, lastContextSizeFromTurns as lc, renderSystemMdSeed as ld, searchSessionIndexAsync as li, OnboardingImportSelection as ll, EXCLUDED_NATIVE_EXTENSIONS as ln, HostSignal as lo, parseCustomModelQuery as lr, InlineDiff as ls, ONBOARDING_VERSION as lt, KeyAction as lu, toolInputCode as m, blendHsl as ma, runInProgress as mc, ForkSessionResult as md, cleanTitle as mi, OnboardingPlanContext as ml, nativeExtensionByName as mn, RunningWorkItem as mo, classifyMcpTest as mr, buildUnifiedDiff as ms, OnboardingImportPreviewState as mt, ensureKeybindingsFile as mu, deleteTurnSafely as n, ListProjectFilesOptions as na, TuiState as nc, setTodosForRun as nd, filterSessionSearchCatalog as ni, OnboardingFeature as nl, TRANSCRIPT_PRESET_PALETTE_ID as nn, createMemoryApprovalsStore as no, parseModelId as nr, parseMachineKind as ns, PromptSegmentRef as nt, migrateStoredSettings as nu, turnAsText as o, createCommandsCompletionProvider as oa, eventsFromTurns as oc, SystemMdFile as od, searchSessionHistoryIndex as oi, OnboardingGithubIdentity as ol, transcriptPresetOfPaletteItem as on, CommandArgSuggestionSummary as oo, customModelTargets as or, EditHunkSummary as os, APPROVAL_MODE_TRADEOFFS as ot, KEYBINDING_DEFS as ou, formatToolCall as p, uniqueChatIdsFromReferences as pa, replayTurns as pc, ForkSessionParams as pd, GenerateSessionTitleOptions as pi, OnboardingMode as pl, NativeExtensionGroupMeta as pn, QueuedItem as po, McpTestResult as pr, buildContextualDiff as ps, planOnboarding as pt, ResolvedExtensionKeybinding as pu, RUN_WAITING_LABEL as q, discoverProjectMcps as qa, NativeExtensionEntry as qc, DaemonHealthStyle as qi, StringSettingKey as ql, providerBrand as qn, MachineLinkState as qo, IndexedSearchTurn as qr, ChatOptions as qs, TUTORIALS as qt, TodosBag as qu, editableTurnText as r, fileEntriesFromPaths as ra, compactSummaryEvent as rc, useActiveTodos as rd, highlightSegments as ri, OnboardingFeatureBadge as rl, transcriptPreset as rn, ChatHostEnvironment as ro, CatalogEntry as rr, toMachineName as rs, inferPromptRefs as rt, settingsFromStored as ru, ReconcilableEvent as s, CHATS_TRIGGER as sa, getSessionHeader as sc, SystemMdResult as sd, searchSessionHistoryIndexAsync as si, OnboardingImportCategory as sl, transcriptPresetPaletteItem as sn, CommandSummary as so, filterModelCatalog as sr, EditSummary as ss, SETTING_TRADEOFFS as st, KEYBINDING_DEF_BY_ACTION as su, countNeighbors as t, FileEntry as ta, StateStoreApi as tc, selectActiveTodos as td, buildSessionSearchIndexAsync as ti, OnboardingDraft as tl, TRANSCRIPT_PRESET_KEYS as tn, createApprovalHub as to, currentModels as tr, machineKind as ts, PromptSegment as tt, decisionsEnabled as tu, ToolDisplayMeta as u, ChatReferenceScope as ua, listSessionMeta as uc, userScopeOverridesLoad as ud, searchSessionTurns as ui, OnboardingImportSessionCounts as ul, NATIVE_EXTENSIONS as un, PendingInteraction as uo, modelConcern as ur, InlineSegment as us, SETUP_PALETTE_ITEM as ut, KeyBindingDef as uu, SMOOTH_MAX_BACKLOG_CHARS as v, CacheImpact as va, stripSpawnTokensLine as vc, deleteSessionData as vd, CacheChipTone as vi, OnboardingResult as vl, ONBOARDING_SETTING_KEYS as vn, StreamProgressInfo as vo, McpAuthEvent as vr, filetypeFromPath as vs, OnboardingRunHost as vt, matchesBinding as vu, TranscriptWeight as w, WorkspaceListFilesOptions as wa, usageByModel as wc, modelChainMetadata as wd, liveSessionCost as wi, OnboardingStepMeta as wl, applySettingsPatch as wn, TERMINAL_MAX_PER_SESSION as wo, reduceMcpAuth as wr, BROWSER_EVALUATE_MAX_BYTES as ws, buildOnboardingResult as wt, stripJsonComments as wu, TRANSCRIPT_TRIM_STEP_EVENTS as x, ChatHost as xa, toolCallPreview as xc, newSession as xd, cacheBreakNoticeText as xi, OnboardingSignInState as xl, OnboardingFlowState as xn, toTodosSnapshot as xo, McpNeedsAuthReason as xr, summarizeEditPayload as xs, connectorsFromImport as xt, readKeybindings as xu, SMOOTH_MAX_CPS as y, CacheImpactChange as ya, sumRunCosts as yc, describeForkFailure as yd, RunStatusCell as yi, OnboardingRunStart as yl, ONBOARDING_STEP_SETTINGS as yn, TodosSnapshot as yo, McpAuthStateMap as yr, previewEditPayload as ys, OnboardingRunOptions as yt, mergeKeybindings as yu, spawnLane as z, WorkerRow as za, turnSelectionOwnership as zc, credentialSlotOf as zd, parseEditOutcomesFromResult as zi, SETTINGS_INPUTS as zl, InstalledServerRef as zn, TerminalProjectStateInput as zo, HostErrorCode as zr, BrowserRequest as zs, NativeExtensionNeedWords as zt, DEFAULT_MAX_TODO_ITEMS as zu };
9886
- //# sourceMappingURL=turn-operations-BbGJ-KSt.d.ts.map
9892
+ export { runStatusKey as $, ApprovalHub as $a, OnboardingCredentialSource as $c, createFilesCompletionProvider as $i, DEFAULT_SETTINGS as $l, compareModelVersion as $n, MachineUseStatus as $o, SessionSearchIndex as $r, ModelUsageSummary as $s, ONBOARDING_PREVIEW_EVENTS as $t, pickActiveRunId as $u, finalizeStreamingMarkdownForOwner as A, CompactionEntry as Aa, isEditErrorResult as Ac, DiscoverAgentsMdOptions as Ad, daemonGate as Ai, OnboardingTaskStatus as Al, ONBOARDING_FEATURES as An, TerminalAdoptResult as Ao, chunkMarkdownForRender as Ar, BROWSER_TEXT_MAX_CHARS as As, onboardingRecord as At, parseBindingSpecs as Au, spawnLaneResolver as B, WorkerSummary as Ba, turnSelectionOwnership as Bc, credentialSlotOf as Bd, resolveApprovalForPayload as Bi, SETTINGS_INPUTS as Bl, connectorById as Bn, TerminalReadResult as Bo, HostIdentity as Br, BrowserResponse as Bs, ONBOARDING_AGENT_NAMES as Bt, DEFAULT_MAX_TODO_ITEMS as Bu, ThinkingDeltaOptions as C, CreateSessionRequest as Ca, updateToolEventOutcomes as Cc, ModelFallbackTarget as Cd, compactingParts as Ci, OnboardingState as Cl, OnboardingStart as Cn, TERMINAL_MAX_PER_SCOPE as Co, mcpFailureEvent as Cr, BROWSER_ACTION_TIMEOUT_MS as Cs, OnboardingGateInput as Ct, readKeybindingsRaw as Cu, capTranscriptEvents as D, TextModelPick as Da, EDIT_TOOL_NAMES as Dc, sessionModelFallbacks as Dd, FEATURE_GATES as Di, OnboardingSurface as Dl, currentOnboardingStep as Dn, TERMINAL_TEXT_MAX_LINES as Do, FenceOpen as Dr, BROWSER_OPS as Ds, mergeOnboardingState as Dt, bindingAlternatives as Du, appendThinkingLines as E, TextModelOptions as Ea, CACHE_NOTICE_LABEL as Ec, readSessionAccount as Ed, runStatusCells as Ei, OnboardingStepScope as El, createOnboardingFlow as En, TERMINAL_READ_MAX_CHARS as Eo, enabledMcpsWithout as Er, BROWSER_OPEN_MOUNT_MS as Es, isExistingInstall as Et, ParsedBinding as Eu, stepTranscriptCap as F, DiscoveredPlugin as Fa, promptTurnRefs as Fc, API_KEY_ACCOUNT_LABEL as Fd, ResolvedApproval as Fi, TranscriptPresetSettings as Fl, onboardingFeatures as Fn, TerminalOwner as Fo, RemoteHostError as Fr, BrowserOp as Fs, onboardingImportParts as Ft, SafeModeProvider as Fu, RUN_STATUS_TIME_MS as G, dedupMcpServersByName as Ga, ConnectorTokenAuth as Gc, DAEMON_HEALTH_STYLE as Gi, SettingsChoice as Gl, ONBOARDING_AGENT_BRANDS as Gn, MachineErrorCode as Go, HighlightRange as Gr, BrowserWaitUntil as Gs, joinNames as Gt, TodoItem as Gu, oneLineTitle as H, DiscoveryError as Ha, ConnectorCategory as Hc, isReservedCredKey as Hd, stripEditOutcomesAnnotation as Hi, SETTINGS_TOGGLES as Hl, connectorInstalled as Hn, TerminalStatus as Ho, HostProbeResult as Hr, BrowserSnapshot as Hs, OnboardingWords as Ht, TODOS_METADATA_KEY as Hu, takeChars as I, buildPluginContributions as Ia, retagUserPromptEvents as Ic, CRED_KEY_SLOT_SEPARATOR as Id, buildEditOutcomesAnnotation as Ii, APPROVAL_MODE_OPTIONS as Il, CONNECTORS as In, TerminalProjectOpenInput as Io, displayHostUrl as Ir, BrowserOpError as Is, onboardingSwitchedFeatures as It, useSafeModeActions as Iu, RunFoldStatus as J, parseMcpsFile as Ja, NativeExtensionEntry as Jc, DaemonHealthTone as Ji, StringSettingKey as Jl, ModelSettingPick as Jn, MachineLinksStatus as Jo, SearchExcerpt as Jr, ProviderRegistry as Js, TUTORIAL_TOPICS as Jt, TodosBag as Ju, RUN_WAITING_DELAY_MS as K, defaultMcpsConfigPaths as Ka, ConnectorTransport as Kc, DaemonHealth as Ki, SettingsInput as Kl, PROVIDER_BRANDS as Kn, MachineInfo as Ko, HighlightSegment as Kr, AutoUpdateConfig as Ks, nativeExtensionNeedText as Kt, TodoStatus as Ku, turnContextSize as L, discoverProjectPlugins as La, retagUserPromptEventsFromRefs as Lc, DEFAULT_OAUTH_ACCOUNT_LABEL as Ld, maskToOutcomeKinds as Li, BooleanSettingKey as Ll, CONNECTOR_CATEGORIES as Ln, TerminalProjectScope as Lo, parseRemoteHostUrl as Lr, BrowserOpInputs as Ls, ConnectorAuthWords as Lt, useSafeModeQueue as Lu, ownerOf as M, runCompaction as Ma, isUserBashEvent as Mc, renderAgentsMdBlock as Md, engagedKillSwitches as Mi, TranscriptPreset as Ml, OnboardingFeatureCopy as Mn, TerminalError as Mo, normalizeMarkdownCodeFences as Mr, BrowserChange as Ms, onboardingSettingsChange as Mt, ApprovalRequest as Mu, smoothCharsForTick as N, EditOutcomeLedger as Na, isVisible as Nc, ACCOUNT_CRED_KEY_INFIX as Nd, isKillSwitchEngaged as Ni, TranscriptPresetId as Nl, OnboardingFeatureGroupMeta as Nn, TerminalInfo as No, parseFenceOpen as Nr, BrowserConsoleEntry as Ns, OnboardingImportWords as Nt, RequestApproval as Nu, discardThinking as O, TextModelSource as Oa, PromptTurnRef as Oc, AgentsMdFile as Od, FeatureGate as Oi, OnboardingTask as Ol, onboardingProgress as On, TERMINAL_VIEW_MAX_LINES as Oo, MARKDOWN_RENDER_CHUNK_TARGET_BYTES as Or, BROWSER_OUTLINE_MAX_ELEMENTS as Os, migratedOnboardingRecords as Ot, canonicalKeyName as Ou, smoothCpsForBacklog as P, PendingAnnotation as Pa, messageSelectionOwnership as Pc, ALTERNATE_CRED_KEY_SUFFIX as Pd, remoteHostsGate as Pi, TranscriptPresetKey as Pl, onboardingFeatureCopy as Pn, TerminalOpenInput as Po, splitMarkdownCodeBlocks as Pr, BrowserErrorCode as Ps, OnboardingSwitchedFeatures as Pt, SafeModeActions as Pu, runRetryingLabel as Q, normalizeLaunchOverrides as Qa, OnboardingAppearance as Qc, FILES_TRIGGER as Qi, toggleHeldOn as Ql, ModelIdParts as Qn, MachineStatusChange as Qo, SessionSearchExcerpt as Qr, resolveStoragePaths as Qs, ONBOARDING_PREVIEW_ATTACHMENTS as Qt, isTodoTool as Qu, SpawnTreeRow as R, CreateWorkerParams as Ra, selectableTurnIds as Rc, accountCredKey as Rd, mergeApprovalAndBodyOutcomes as Ri, SETTINGS_CATEGORIES as Rl, ConnectorCategoryMeta as Rn, TerminalProjectState as Ro, HostEntry as Rr, BrowserOpResults as Rs, LOCAL_SERVER_NAMES as Rt, ActiveTodosState as Ru, TRANSCRIPT_TRIM_TO_EVENTS as S, ContextSegmentsReport as Sa, toolResultText as Sc, newSession as Sd, compactingLabel as Si, OnboardingSignInState as Sl, OnboardingProgress as Sn, TERMINAL_HISTORY_MAX_CHARS as So, getMcpAuthStatus as Sr, tokenize as Ss, createOnboardingRun as St, readKeybindings as Su, appendMarkdownDelta as T, TextModelCandidate as Ta, BASH_CALL_ID_PREFIX as Tc, modelChainMetadata as Td, retryLabel as Ti, OnboardingStepMeta as Tl, canSkipOnboardingStep as Tn, TERMINAL_OUTPUT_WINDOW as To, enabledMcpsWith as Tr, BROWSER_MAX_WAIT_MS as Ts, effectiveOnboardingMode as Tt, stripJsonComments as Tu, titleFromText as U, DiscoveryResult as Ua, ConnectorEntry as Uc, oauthAccountLabel as Ud, summarizeOutcomes as Ui, SettingsCategory as Ul, connectorServerConfig as Un, TerminalTarget as Uo, HostRegistryError as Ur, BrowserStatus as Us, connectorAuthText as Ut, TODOWRITE_TOOL as Uu, spawnParents as V, DiscoveredMcp as Va, ConnectorAuth as Vc, isAccountCredKey as Vd, rewriteMultiEditHeader as Vi, SETTINGS_SECTIONS as Vl, connectorInputError as Vn, TerminalSessionState as Vo, HostProbe as Vr, BrowserScreenshot as Vs, ONBOARDING_WORDS as Vt, TODOREAD_TOOL as Vu, LiveRunStatus as W, buildMcpServers as Wa, ConnectorInput as Wc, DAEMON_HEALTH_GLYPH as Wi, SettingsCategoryDescriptor as Wl, LOCAL_SERVER_BRANDS as Wn, MACHINE_PROTOCOL_VERSION as Wo, HostTestResult as Wr, BrowserTarget as Ws, joinFewNames as Wt, TODO_WRITE_COUNTS_METADATA_KEY as Wu, RunTailActivity as X, createInteractionHub as Xa, NativeExtensionNeed as Xc, createSkillsCompletionProvider as Xi, requirementMet as Xl, parseModelSetting as Xn, MachineRoot as Xo, SearchTurnResult as Xr, ResolvedPaths as Xs, TutorialTopic as Xt, getArchivedTodosForRun as Xu, RunRetry as Y, InteractionHub as Ya, NativeExtensionGroup as Yc, SKILLS_TRIGGER as Yi, enforceSettingsInvariants as Yl, formatModelSetting as Yn, MachineRegisterParams as Yo, SearchSessionResult as Yr, ResolvedConfig as Ys, TutorialStep as Yt, createTodoTools as Yu, runFoldStatus as Z, SessionLaunchOverrides as Za, OnboardingAgentId as Zc, uniqueSkillNamesFromReferences as Zi, settingKeywords as Zl, LineupEntry as Zn, MachineShareStatus as Zo, SessionHistoryMatch as Zr, resolveConfig as Zs, TutorialWords as Zt, getTodosForRun as Zu, SMOOTH_BASE_CPS as _, cacheHintText as _a, sessionEnvironmentSummary as _c, createMainSession as _d, CacheChipContent as _i, OnboardingProviderPick as _l, importsSomething as _n, SessionPresence as _o, MCP_STATUS_LABEL as _r, extractEditPayload as _s, OnboardingRun as _t, groupBindings as _u, truncateTurnsAt as a, COMMANDS_TRIGGER as aa, deriveSessionTitle as ac, TODO_STATUS_GLYPHS as ad, searchSessionHistory as ai, OnboardingFeatureGroup as al, transcriptPresetOf as an, ApprovalOriginator as ao, buildModelCatalog as ar, DiffOp as as, splitPromptSegments as at, sparseSettingsUpdate as au, STREAMING_MARKDOWN_SEGMENT_CHARS as b, CacheReport as ba, titleFromTurns as bc, describeForkFailure as bd, cacheBreakChip as bi, OnboardingRunStart as bl, OnboardingAction as bn, WireApprovalRequest as bo, McpAuthStatus as br, splitLines as bs, OnboardingRunSetup as bt, mergeKeybindings as bu, reconcileEvents as c, ChatReferenceData as ca, headerFromData as cc, SystemMdResult as cd, searchSessionIndex as ci, OnboardingImportCategory as cl, transcriptPresetPalettePicker as cn, HostSettings as co, indexOfEntry as cr, HunkResolution as cs, ONBOARDING_STEPS as ct, KEYBINDING_DEF_BY_ACTION as cu, ToolFormatLine as d, chatReferenceTokensFromText as da, loadState as dc, userScopeOverridesLoad as dd, searchTurns as di, OnboardingImportSessionCounts as dl, NATIVE_EXTENSIONS_REPO as dn, PromptAttachment as do, MCP_KEY_REFUSED_HINT as dr, PreviewResult as ds, SetupPaletteItem as dt, KeyBindingDef as du, uniqueFilesFromReferences as ea, RunProgress as ec, pruneTodosByRun as ed, buildSessionSearchIndex as ei, OnboardingCustomField as el, TRANSCRIPT_PRESETS as en, ApprovalRequestInput as eo, currentModelKeys as er, isValidMachineName as es, runTailActivity as et, SETTINGS_DEFAULTS_VERSION as eu, displayNameFor as f, createChatsCompletionProvider as fa, marginTopFor as fc, userSystemMdPath as fd, searchableTurnText as fi, OnboardingInstallSignals as fl, NATIVE_EXTENSION_GROUPS as fn, QueuedAttachment as fo, McpTestOutcomeKind as fr, applyEditPayload as fs, onboardingStep as ft, KeyBindingSection as fu, MarkdownDeltaOptions as g, CACHE_HINT_MIN_TOKENS as ga, saveState as gc, ForkSource as gd, shouldAutoGenerateTitle as gi, OnboardingProvider as gl, defaultImportSelection as gn, SerializedPreview as go, mcpFailureLine as gr, computeLineDiff as gs, OnboardingReadable as gt, formatBindingForDisplay as gu, MAX_TRANSCRIPT_EVENTS as h, buildLinearRamp as ha, runProgress as hc, ForkSessionResult as hd, generateSessionTitle as hi, OnboardingPlanContext as hl, nativeExtensionSource as hn, SendOptions as ho, isMcpAuthRefusal as hr, computeInlineDiff as hs, OnboardingPhase as ht, ensureKeybindingsFile as hu, replaceTurnTextBlocks as i, listProjectFiles as ia, createStateStore as ic, useActiveTodos as id, searchHighlightRanges as ii, OnboardingFeatureBadge as il, transcriptPresetNotice as in, PendingApprovalsStore as io, CustomModelTarget as ir, DiffLine as is, promptSegmentLines as it, settingsFromStored as iu, mergeTargetIndex as j, CompactionReport as ja, isTurnHighlighted as jc, discoverAgentsMd as jd, defineFeatureGate as ji, OnboardingTradeoff as jl, ONBOARDING_FEATURE_GROUPS as jn, TerminalAttachResult as jo, isFenceClose as jr, BROWSER_WAIT_TIMEOUT_MS as js, onboardingRecords as jt, ApprovalDecision as ju, finalizeStreamingMarkdown as k, autoTextModelId as ka, isCacheNotice as kc, AgentsMdResult as kd, FeatureGateOptions as ki, OnboardingTaskKind as kl, onboardingReducer as kn, TERMINAL_VIEW_SCROLLBACK as ko, MarkdownSegment as kr, BROWSER_REQUEST_SLACK_MS as ks, needsOnboarding as kt, parseBindingSpec as ku, TOOL_DISPLAY as l, ChatReferenceEntry as la, lastContextSizeFromTurns as lc, discoverSystemMd as ld, searchSessionIndexAsync as li, OnboardingImportPreview as ll, EXCLUDED_NATIVE_EXTENSIONS as ln, HostSignal as lo, parseCustomModelQuery as lr, InlineDiff as ls, ONBOARDING_VERSION as lt, KEYBINDING_KEY_COL_WIDTH as lu, toolInputCode as m, blendHsl as ma, runInProgress as mc, ForkSessionParams as md, cleanTitle as mi, OnboardingMode as ml, nativeExtensionByName as mn, RunningWorkItem as mo, classifyMcpTest as mr, buildUnifiedDiff as ms, OnboardingImportPreviewState as mt, ResolvedExtensionKeybinding as mu, deleteTurnSafely as n, ListProjectFilesOptions as na, TuiState as nc, selectActiveTodos as nd, filterSessionSearchCatalog as ni, OnboardingDraft as nl, TRANSCRIPT_PRESET_PALETTE_ID as nn, createMemoryApprovalsStore as no, parseModelId as nr, parseMachineKind as ns, PromptSegmentRef as nt, decisionsEnabled as nu, turnAsText as o, createCommandsCompletionProvider as oa, eventsFromTurns as oc, DiscoverSystemMdOptions as od, searchSessionHistoryIndex as oi, OnboardingGate as ol, transcriptPresetOfPaletteItem as on, CommandArgSuggestionSummary as oo, customModelTargets as or, EditHunkSummary as os, APPROVAL_MODE_TRADEOFFS as ot, DEFAULT_KEYBINDINGS as ou, formatToolCall as p, uniqueChatIdsFromReferences as pa, replayTurns as pc, CreateSessionInStoreParams as pd, GenerateSessionTitleOptions as pi, OnboardingLocalServer as pl, NativeExtensionGroupMeta as pn, QueuedItem as po, McpTestResult as pr, buildContextualDiff as ps, planOnboarding as pt, KeyBindings as pu, RUN_WAITING_LABEL as q, discoverProjectMcps as qa, NativeExtensionCommandNeed as qc, DaemonHealthStyle as qi, SettingsToggle as ql, providerBrand as qn, MachineLinkState as qo, IndexedSearchTurn as qr, ChatOptions as qs, TUTORIALS as qt, TodoTally as qu, editableTurnText as r, fileEntriesFromPaths as ra, compactSummaryEvent as rc, setTodosForRun as rd, highlightSegments as ri, OnboardingFeature as rl, transcriptPreset as rn, ChatHostEnvironment as ro, CatalogEntry as rr, toMachineName as rs, inferPromptRefs as rt, migrateStoredSettings as ru, ReconcilableEvent as s, CHATS_TRIGGER as sa, getSessionHeader as sc, SystemMdFile as sd, searchSessionHistoryIndexAsync as si, OnboardingGithubIdentity as sl, transcriptPresetPaletteItem as sn, CommandSummary as so, filterModelCatalog as sr, EditSummary as ss, SETTING_TRADEOFFS as st, KEYBINDING_DEFS as su, countNeighbors as t, FileEntry as ta, StateStoreApi as tc, sanitizeTodoItems as td, buildSessionSearchIndexAsync as ti, OnboardingDetection as tl, TRANSCRIPT_PRESET_KEYS as tn, createApprovalHub as to, currentModels as tr, machineKind as ts, PromptSegment as tt, SETTINGS_DEFAULTS_VERSION_KEY as tu, ToolDisplayMeta as u, ChatReferenceScope as ua, listSessionMeta as uc, renderSystemMdSeed as ud, searchSessionTurns as ui, OnboardingImportSelection as ul, NATIVE_EXTENSIONS as un, PendingInteraction as uo, modelConcern as ur, InlineSegment as us, SETUP_PALETTE_ITEM as ut, KeyAction as uu, SMOOTH_MAX_BACKLOG_CHARS as v, CacheImpact as va, stripSpawnTokensLine as vc, createSessionInStore as vd, CacheChipTone as vi, OnboardingRecord as vl, ONBOARDING_SETTING_KEYS as vn, StreamProgressInfo as vo, McpAuthEvent as vr, filetypeFromPath as vs, OnboardingRunHost as vt, keybindingsPath as vu, TranscriptWeight as w, WorkspaceListFilesOptions as wa, usageByModel as wc, SESSION_ACCOUNT_METADATA_KEY as wd, liveSessionCost as wi, OnboardingStepId as wl, applySettingsPatch as wn, TERMINAL_MAX_PER_SESSION as wo, reduceMcpAuth as wr, BROWSER_EVALUATE_MAX_BYTES as ws, buildOnboardingResult as wt, resolveExtensionKeybindings as wu, TRANSCRIPT_TRIM_STEP_EVENTS as x, ChatHost as xa, toolCallPreview as xc, forkSession as xd, cacheBreakNoticeText as xi, OnboardingSettingsChange as xl, OnboardingFlowState as xn, toTodosSnapshot as xo, McpNeedsAuthReason as xr, summarizeEditPayload as xs, connectorsFromImport as xt, normalizeBindingValue as xu, SMOOTH_MAX_CPS as y, CacheImpactChange as ya, sumRunCosts as yc, deleteSessionData as yd, RunStatusCell as yi, OnboardingResult as yl, ONBOARDING_STEP_SETTINGS as yn, TodosSnapshot as yo, McpAuthStateMap as yr, previewEditPayload as ys, OnboardingRunOptions as yt, matchesBinding as yu, spawnLane as z, WorkerRow as za, selectionAfterTurnRemoval as zc, alternateCredKey as zd, parseEditOutcomesFromResult as zi, SETTINGS_CHOICES as zl, InstalledServerRef as zn, TerminalProjectStateInput as zo, HostErrorCode as zr, BrowserRequest as zs, NativeExtensionNeedWords as zt, CreateTodoToolsOptions as zu };
9893
+ //# sourceMappingURL=turn-operations-DuGtKuc_.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-operations-DuGtKuc_.d.ts","names":["Session","StoredSession","ApprovalOriginator","Session","_$__tutorials0.TutorialTopic","_$__tutorials0.TutorialWords"],"sources":["../src/chat/cred-keys.ts","../src/chat/agents-md.ts","../src/chat/model-chain-metadata.ts","../src/chat/session-factory.ts","../src/chat/system-md.ts","../src/chat/todo-glyphs.ts","../src/chat/todos.ts","../src/chat/workspace-confinement.ts","../src/chat/safe-mode-context.tsx","../src/start/shared-options.ts","../src/chat/keybinding-spec.ts","../src/chat/keybindings.ts","../src/chat/settings-defaults.ts","../src/chat/settings-catalog.ts","../src/chat/onboarding/types.ts","../src/chat/turn-selection.ts","../src/chat/store.ts","../src/chat/config.ts","../src/chat/browser/protocol.ts","../src/tools/edit-utils.ts","../src/chat/edit-diff.ts","../src/chat/machine-protocol.ts","../src/chat/terminal/protocol.ts","../src/chat/host/provider-diagnostic.ts","../src/chat/host/signals.ts","../src/chat/host/environment.ts","../src/chat/host/approvals.ts","../src/chat/host/browser.ts","../src/chat/host/launch-overrides.ts","../src/chat/host/interactions.ts","../src/chat/host/machines/folders.ts","../src/chat/mcps-discovery.ts","../src/chat/host/machines/project-files.ts","../src/chat/host/machines/link.ts","../src/chat/host/machines/registry.ts","../src/chat/host/orchestration/types.ts","../src/chat/host/terminal/types.ts","../src/chat/plugins-discovery.ts","../src/chat/host/edit-outcome-ledger.ts","../src/chat/host/compaction/run.ts","../src/chat/text-model.ts","../src/chat/host/text-model.ts","../src/chat/host/session-title.ts","../src/chat/host/host-api.ts","../src/chat/host/cache-view/index.ts","../src/chat/cache-hint.ts","../src/chat/color-gradient.ts","../src/chat/completion-chats.ts","../src/chat/completion-commands.ts","../src/chat/files-discovery.ts","../src/chat/completion-files.ts","../src/chat/completion-skills.ts","../src/chat/daemon-health.ts","../src/chat/edit-approval.ts","../src/chat/feature-gate.ts","../src/chat/footer-chips.ts","../src/chat/generate-title.ts","../src/chat/history-search.ts","../src/chat/hosts/types.ts","../src/chat/hosts/url.ts","../src/chat/markdown-segments.ts","../src/chat/mcp-allowlist.ts","../src/chat/mcp-auth-state.ts","../src/chat/mcp-test-outcome.ts","../src/chat/model-approval.ts","../src/chat/model-catalog.ts","../src/chat/model-lineup.ts","../src/chat/model-setting.ts","../src/chat/onboarding/brands.ts","../src/chat/onboarding/connectors.ts","../src/chat/onboarding/features.ts","../src/chat/onboarding/flow.ts","../src/chat/onboarding/imports.ts","../src/chat/onboarding/native-extensions.ts","../src/chat/onboarding/presets.ts","../src/chat/onboarding/preview.ts","../src/chat/onboarding/tutorials.ts","../src/chat/onboarding/words.ts","../src/chat/onboarding/recap.ts","../src/chat/onboarding/result.ts","../src/chat/onboarding/run.ts","../src/chat/onboarding/steps.ts","../src/chat/onboarding/tradeoffs.ts","../src/chat/prompt-segments.ts","../src/chat/run-activity.ts","../src/chat/session-title-text.ts","../src/chat/spawn-tree.ts","../src/chat/streaming-pure.ts","../src/chat/tool-formatters.ts","../src/chat/transcript-reconcile.ts","../src/chat/turn-operations.ts"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { r as isSecretPathSegment } from "./secret-shapes-CEoGmfEE.js";
1
+ import { r as isSecretPathSegment } from "./secret-shapes-BjW4l6U0.js";
2
2
  //#region src/chat/hosts/url.ts
3
3
  /**
4
4
  * Host URLs a client accepts: `wss://`, or `ws://` to this machine only (a
@@ -78,4 +78,4 @@ function parseRemoteHostUrl(raw) {
78
78
  //#endregion
79
79
  export { urlCarriesSecrets as i, displayHostUrl as n, parseRemoteHostUrl as r, RemoteHostError as t };
80
80
 
81
- //# sourceMappingURL=url-CLl0u4Z8.js.map
81
+ //# sourceMappingURL=url-D8KZ7Edw.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"url-CLl0u4Z8.js","names":[],"sources":["../src/chat/hosts/url.ts"],"sourcesContent":["/**\n * Host URLs a client accepts: `wss://`, or `ws://` to this machine only (a\n * token must not cross the network in the clear), with no credentials in\n * them: no `user:pass@`, no query string, no fragment, no token-looking\n * path segment (`wss://h/zds_…`, a long random id: the shapes the MCP\n * catalog redacts, `../secret-shapes`). Tokens go in the token field, and a\n * URL ends up in hosts.json, error messages and the GUI's renderer.\n * Messages show {@link displayHostUrl}, never the input. Node-free.\n */\nimport { isSecretPathSegment } from '../secret-shapes'\n\n/** Error thrown for a host URL a client refuses. */\nexport class RemoteHostError extends Error {\n /**\n * Creates the error.\n * @param message - Human-readable description.\n */\n constructor(message: string) {\n super(message)\n this.name = 'RemoteHostError'\n }\n}\n\n/**\n * A loopback host: `localhost`, `127.x.x.x` or `::1` (bracketed, as in a URL,\n * or bare, as an interface to bind). The one check for both ends: a client\n * allowing `ws://`, a server refusing to listen in the clear.\n */\nexport function isLoopbackHost(host: string): boolean {\n const bare = host.startsWith('[') && host.endsWith(']') ? host.slice(1, -1) : host\n return bare === 'localhost' || bare === '::1' || /^127\\.\\d+\\.\\d+\\.\\d+$/.test(bare)\n}\n\n/** Shown in place of a path segment that looks like a credential. */\nconst REDACTED_SEGMENT = '<redacted>'\n\n/**\n * Scheme, host, port and path of a URL (token-looking path segments redacted): what is safe to show or log.\n *\n * @param raw - URL as entered. An invalid URL reads as `<invalid URL>`.\n */\nexport function displayHostUrl(raw: string): string {\n try {\n const url = new URL(raw.trim())\n const path = url.pathname.split('/').map(segment => isSecretPathSegment(segment) ? REDACTED_SEGMENT : segment).join('/')\n return `${url.protocol}//${url.host}${path.replace(/\\/$/, '')}`\n }\n catch {\n return '<invalid URL>'\n }\n}\n\n/** `raw` carries something {@link parseRemoteHostUrl} refuses as a credential (userinfo, query, fragment, a token-looking path segment). */\nexport function urlCarriesSecrets(raw: string): boolean {\n if (/[@?#]/.test(raw))\n return true\n try {\n return new URL(raw.trim()).pathname.split('/').some(isSecretPathSegment)\n }\n catch {\n return false\n }\n}\n\n/**\n * Validate and normalize a host URL (no trailing slash); throws {@link RemoteHostError}.\n *\n * @param raw - URL as entered.\n */\nexport function parseRemoteHostUrl(raw: string): string {\n let url: URL\n try {\n url = new URL(raw.trim())\n }\n catch {\n throw new RemoteHostError('Invalid host URL: expected wss://host[:port].')\n }\n const shown = displayHostUrl(raw)\n if (url.username !== '' || url.password !== '')\n throw new RemoteHostError(`Host URLs can't carry a user or password (${shown}): put the token in the token field (or --token-file), not in the URL.`)\n if (url.search !== '' || raw.includes('?'))\n throw new RemoteHostError(`Host URLs can't carry a query string (${shown}): remove it; a token goes in the token field (or --token-file).`)\n if (url.hash !== '' || raw.includes('#'))\n throw new RemoteHostError(`Host URLs can't carry a fragment (${shown}): remove it.`)\n if (url.pathname.split('/').some(isSecretPathSegment))\n throw new RemoteHostError(`Host URLs can't carry a token in their path (${url.protocol}//${url.host}): remove it; a token goes in the token field (or --token-file).`)\n if (url.protocol === 'wss:' || (url.protocol === 'ws:' && isLoopbackHost(url.hostname)))\n return url.href.replace(/\\/$/, '')\n if (url.protocol === 'ws:')\n throw new RemoteHostError(`Refusing ws://${url.host}: the token would travel unencrypted. Use wss:// (ws:// is only for 127.0.0.1 / localhost).`)\n throw new RemoteHostError(`Invalid host URL ${shown}: expected wss://host[:port].`)\n}\n"],"mappings":";;;;;;;;;;;;AAYA,IAAa,kBAAb,cAAqC,MAAM;;;;;CAKzC,YAAY,SAAiB;EAC3B,MAAM,OAAO;EACb,KAAK,OAAO;CACd;AACF;;;;;;AAOA,SAAgB,eAAe,MAAuB;CACpD,MAAM,OAAO,KAAK,WAAW,GAAG,KAAK,KAAK,SAAS,GAAG,IAAI,KAAK,MAAM,GAAG,EAAE,IAAI;CAC9E,OAAO,SAAS,eAAe,SAAS,SAAS,uBAAuB,KAAK,IAAI;AACnF;;AAGA,MAAM,mBAAmB;;;;;;AAOzB,SAAgB,eAAe,KAAqB;CAClD,IAAI;EACF,MAAM,MAAM,IAAI,IAAI,IAAI,KAAK,CAAC;EAC9B,MAAM,OAAO,IAAI,SAAS,MAAM,GAAG,CAAC,CAAC,KAAI,YAAW,oBAAoB,OAAO,IAAI,mBAAmB,OAAO,CAAC,CAAC,KAAK,GAAG;EACvH,OAAO,GAAG,IAAI,SAAS,IAAI,IAAI,OAAO,KAAK,QAAQ,OAAO,EAAE;CAC9D,QACM;EACJ,OAAO;CACT;AACF;;AAGA,SAAgB,kBAAkB,KAAsB;CACtD,IAAI,QAAQ,KAAK,GAAG,GAClB,OAAO;CACT,IAAI;EACF,OAAO,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,CAAC,CAAC,KAAK,mBAAmB;CACzE,QACM;EACJ,OAAO;CACT;AACF;;;;;;AAOA,SAAgB,mBAAmB,KAAqB;CACtD,IAAI;CACJ,IAAI;EACF,MAAM,IAAI,IAAI,IAAI,KAAK,CAAC;CAC1B,QACM;EACJ,MAAM,IAAI,gBAAgB,+CAA+C;CAC3E;CACA,MAAM,QAAQ,eAAe,GAAG;CAChC,IAAI,IAAI,aAAa,MAAM,IAAI,aAAa,IAC1C,MAAM,IAAI,gBAAgB,6CAA6C,MAAM,uEAAuE;CACtJ,IAAI,IAAI,WAAW,MAAM,IAAI,SAAS,GAAG,GACvC,MAAM,IAAI,gBAAgB,yCAAyC,MAAM,iEAAiE;CAC5I,IAAI,IAAI,SAAS,MAAM,IAAI,SAAS,GAAG,GACrC,MAAM,IAAI,gBAAgB,qCAAqC,MAAM,cAAc;CACrF,IAAI,IAAI,SAAS,MAAM,GAAG,CAAC,CAAC,KAAK,mBAAmB,GAClD,MAAM,IAAI,gBAAgB,gDAAgD,IAAI,SAAS,IAAI,IAAI,KAAK,iEAAiE;CACvK,IAAI,IAAI,aAAa,UAAW,IAAI,aAAa,SAAS,eAAe,IAAI,QAAQ,GACnF,OAAO,IAAI,KAAK,QAAQ,OAAO,EAAE;CACnC,IAAI,IAAI,aAAa,OACnB,MAAM,IAAI,gBAAgB,iBAAiB,IAAI,KAAK,4FAA4F;CAClJ,MAAM,IAAI,gBAAgB,oBAAoB,MAAM,8BAA8B;AACpF"}
1
+ {"version":3,"file":"url-D8KZ7Edw.js","names":[],"sources":["../src/chat/hosts/url.ts"],"sourcesContent":["/**\n * Host URLs a client accepts: `wss://`, or `ws://` to this machine only (a\n * token must not cross the network in the clear), with no credentials in\n * them: no `user:pass@`, no query string, no fragment, no token-looking\n * path segment (`wss://h/zds_…`, a long random id: the shapes the MCP\n * catalog redacts, `../secret-shapes`). Tokens go in the token field, and a\n * URL ends up in hosts.json, error messages and the GUI's renderer.\n * Messages show {@link displayHostUrl}, never the input. Node-free.\n */\nimport { isSecretPathSegment } from '../secret-shapes'\n\n/** Error thrown for a host URL a client refuses. */\nexport class RemoteHostError extends Error {\n /**\n * Creates the error.\n * @param message - Human-readable description.\n */\n constructor(message: string) {\n super(message)\n this.name = 'RemoteHostError'\n }\n}\n\n/**\n * A loopback host: `localhost`, `127.x.x.x` or `::1` (bracketed, as in a URL,\n * or bare, as an interface to bind). The one check for both ends: a client\n * allowing `ws://`, a server refusing to listen in the clear.\n */\nexport function isLoopbackHost(host: string): boolean {\n const bare = host.startsWith('[') && host.endsWith(']') ? host.slice(1, -1) : host\n return bare === 'localhost' || bare === '::1' || /^127\\.\\d+\\.\\d+\\.\\d+$/.test(bare)\n}\n\n/** Shown in place of a path segment that looks like a credential. */\nconst REDACTED_SEGMENT = '<redacted>'\n\n/**\n * Scheme, host, port and path of a URL (token-looking path segments redacted): what is safe to show or log.\n *\n * @param raw - URL as entered. An invalid URL reads as `<invalid URL>`.\n */\nexport function displayHostUrl(raw: string): string {\n try {\n const url = new URL(raw.trim())\n const path = url.pathname.split('/').map(segment => isSecretPathSegment(segment) ? REDACTED_SEGMENT : segment).join('/')\n return `${url.protocol}//${url.host}${path.replace(/\\/$/, '')}`\n }\n catch {\n return '<invalid URL>'\n }\n}\n\n/** `raw` carries something {@link parseRemoteHostUrl} refuses as a credential (userinfo, query, fragment, a token-looking path segment). */\nexport function urlCarriesSecrets(raw: string): boolean {\n if (/[@?#]/.test(raw))\n return true\n try {\n return new URL(raw.trim()).pathname.split('/').some(isSecretPathSegment)\n }\n catch {\n return false\n }\n}\n\n/**\n * Validate and normalize a host URL (no trailing slash); throws {@link RemoteHostError}.\n *\n * @param raw - URL as entered.\n */\nexport function parseRemoteHostUrl(raw: string): string {\n let url: URL\n try {\n url = new URL(raw.trim())\n }\n catch {\n throw new RemoteHostError('Invalid host URL: expected wss://host[:port].')\n }\n const shown = displayHostUrl(raw)\n if (url.username !== '' || url.password !== '')\n throw new RemoteHostError(`Host URLs can't carry a user or password (${shown}): put the token in the token field (or --token-file), not in the URL.`)\n if (url.search !== '' || raw.includes('?'))\n throw new RemoteHostError(`Host URLs can't carry a query string (${shown}): remove it; a token goes in the token field (or --token-file).`)\n if (url.hash !== '' || raw.includes('#'))\n throw new RemoteHostError(`Host URLs can't carry a fragment (${shown}): remove it.`)\n if (url.pathname.split('/').some(isSecretPathSegment))\n throw new RemoteHostError(`Host URLs can't carry a token in their path (${url.protocol}//${url.host}): remove it; a token goes in the token field (or --token-file).`)\n if (url.protocol === 'wss:' || (url.protocol === 'ws:' && isLoopbackHost(url.hostname)))\n return url.href.replace(/\\/$/, '')\n if (url.protocol === 'ws:')\n throw new RemoteHostError(`Refusing ws://${url.host}: the token would travel unencrypted. Use wss:// (ws:// is only for 127.0.0.1 / localhost).`)\n throw new RemoteHostError(`Invalid host URL ${shown}: expected wss://host[:port].`)\n}\n"],"mappings":";;;;;;;;;;;;AAYA,IAAa,kBAAb,cAAqC,MAAM;;;;;CAKzC,YAAY,SAAiB;EAC3B,MAAM,OAAO;EACb,KAAK,OAAO;CACd;AACF;;;;;;AAOA,SAAgB,eAAe,MAAuB;CACpD,MAAM,OAAO,KAAK,WAAW,GAAG,KAAK,KAAK,SAAS,GAAG,IAAI,KAAK,MAAM,GAAG,EAAE,IAAI;CAC9E,OAAO,SAAS,eAAe,SAAS,SAAS,uBAAuB,KAAK,IAAI;AACnF;;AAGA,MAAM,mBAAmB;;;;;;AAOzB,SAAgB,eAAe,KAAqB;CAClD,IAAI;EACF,MAAM,MAAM,IAAI,IAAI,IAAI,KAAK,CAAC;EAC9B,MAAM,OAAO,IAAI,SAAS,MAAM,GAAG,CAAC,CAAC,KAAI,YAAW,oBAAoB,OAAO,IAAI,mBAAmB,OAAO,CAAC,CAAC,KAAK,GAAG;EACvH,OAAO,GAAG,IAAI,SAAS,IAAI,IAAI,OAAO,KAAK,QAAQ,OAAO,EAAE;CAC9D,QACM;EACJ,OAAO;CACT;AACF;;AAGA,SAAgB,kBAAkB,KAAsB;CACtD,IAAI,QAAQ,KAAK,GAAG,GAClB,OAAO;CACT,IAAI;EACF,OAAO,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,CAAC,CAAC,KAAK,mBAAmB;CACzE,QACM;EACJ,OAAO;CACT;AACF;;;;;;AAOA,SAAgB,mBAAmB,KAAqB;CACtD,IAAI;CACJ,IAAI;EACF,MAAM,IAAI,IAAI,IAAI,KAAK,CAAC;CAC1B,QACM;EACJ,MAAM,IAAI,gBAAgB,+CAA+C;CAC3E;CACA,MAAM,QAAQ,eAAe,GAAG;CAChC,IAAI,IAAI,aAAa,MAAM,IAAI,aAAa,IAC1C,MAAM,IAAI,gBAAgB,6CAA6C,MAAM,uEAAuE;CACtJ,IAAI,IAAI,WAAW,MAAM,IAAI,SAAS,GAAG,GACvC,MAAM,IAAI,gBAAgB,yCAAyC,MAAM,iEAAiE;CAC5I,IAAI,IAAI,SAAS,MAAM,IAAI,SAAS,GAAG,GACrC,MAAM,IAAI,gBAAgB,qCAAqC,MAAM,cAAc;CACrF,IAAI,IAAI,SAAS,MAAM,GAAG,CAAC,CAAC,KAAK,mBAAmB,GAClD,MAAM,IAAI,gBAAgB,gDAAgD,IAAI,SAAS,IAAI,IAAI,KAAK,iEAAiE;CACvK,IAAI,IAAI,aAAa,UAAW,IAAI,aAAa,SAAS,eAAe,IAAI,QAAQ,GACnF,OAAO,IAAI,KAAK,QAAQ,OAAO,EAAE;CACnC,IAAI,IAAI,aAAa,OACnB,MAAM,IAAI,gBAAgB,iBAAiB,IAAI,KAAK,4FAA4F;CAClJ,MAAM,IAAI,gBAAgB,oBAAoB,MAAM,8BAA8B;AACpF"}
@@ -11,7 +11,7 @@
11
11
  * retires it, so an upgrade can never leave windows silently executing on a
12
12
  * process started from the previous release.
13
13
  */
14
- const ZIDANE_VERSION = "8.2.2";
14
+ const ZIDANE_VERSION = "8.2.3";
15
15
  /**
16
16
  * Compare two dotted versions (`7.0.19`, `7.1.0-beta.1`): negative when `a`
17
17
  * is older, positive when newer, 0 when equal. Pre-release tags are ignored
@@ -39,4 +39,4 @@ function parse(v) {
39
39
  //#endregion
40
40
  export { compareVersions as n, ZIDANE_VERSION as t };
41
41
 
42
- //# sourceMappingURL=version-v77Y4A3C.js.map
42
+ //# sourceMappingURL=version-bd3DQJkc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version-v77Y4A3C.js","names":["(pkg as { version?: string }).version"],"sources":["../package.json","../src/version.ts"],"sourcesContent":["","/**\n * The version of the zidane code this process is running — `package.json`\n * inlined at build time (Bun `--compile`, tsdown for `dist/`, and Vite for\n * the GUI main all fold JSON imports into the bundle, so this never reads\n * the filesystem at runtime and cannot report a NEIGHBOUR package's version\n * the way a `require('../package.json')` from a bundled chunk can).\n *\n * Used by the daemon handshake: a client running newer code than the daemon\n * retires it, so an upgrade can never leave windows silently executing on a\n * process started from the previous release.\n */\nimport pkg from '../package.json' with { type: 'json' }\n\nexport const ZIDANE_VERSION: string = (pkg as { version?: string }).version ?? '0.0.0'\n\n/**\n * Compare two dotted versions (`7.0.19`, `7.1.0-beta.1`): negative when `a`\n * is older, positive when newer, 0 when equal. Pre-release tags are ignored\n * — same release train, same code as far as the daemon fence is concerned.\n * Unparseable input compares equal (never fences on garbage).\n */\nexport function compareVersions(a: string, b: string): number {\n const pa = parse(a)\n const pb = parse(b)\n if (!pa || !pb)\n return 0\n for (let i = 0; i < 3; i++) {\n const d = (pa[i] ?? 0) - (pb[i] ?? 0)\n if (d !== 0)\n return d\n }\n return 0\n}\n\nfunction parse(v: string): number[] | null {\n const m = /^v?(\\d+)\\.(\\d+)\\.(\\d+)/.exec(v.trim())\n return m ? [Number(m[1]), Number(m[2]), Number(m[3])] : null\n}\n"],"mappings":";;;;;;;;;;;;;ACaA,MAAa,iBAAyBA;;;;;;;AAQtC,SAAgB,gBAAgB,GAAW,GAAmB;CAC5D,MAAM,KAAK,MAAM,CAAC;CAClB,MAAM,KAAK,MAAM,CAAC;CAClB,IAAI,CAAC,MAAM,CAAC,IACV,OAAO;CACT,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK;EAC1B,MAAM,KAAK,GAAG,MAAM,MAAM,GAAG,MAAM;EACnC,IAAI,MAAM,GACR,OAAO;CACX;CACA,OAAO;AACT;AAEA,SAAS,MAAM,GAA4B;CACzC,MAAM,IAAI,yBAAyB,KAAK,EAAE,KAAK,CAAC;CAChD,OAAO,IAAI;EAAC,OAAO,EAAE,EAAE;EAAG,OAAO,EAAE,EAAE;EAAG,OAAO,EAAE,EAAE;CAAC,IAAI;AAC1D"}
1
+ {"version":3,"file":"version-bd3DQJkc.js","names":["(pkg as { version?: string }).version"],"sources":["../package.json","../src/version.ts"],"sourcesContent":["","/**\n * The version of the zidane code this process is running — `package.json`\n * inlined at build time (Bun `--compile`, tsdown for `dist/`, and Vite for\n * the GUI main all fold JSON imports into the bundle, so this never reads\n * the filesystem at runtime and cannot report a NEIGHBOUR package's version\n * the way a `require('../package.json')` from a bundled chunk can).\n *\n * Used by the daemon handshake: a client running newer code than the daemon\n * retires it, so an upgrade can never leave windows silently executing on a\n * process started from the previous release.\n */\nimport pkg from '../package.json' with { type: 'json' }\n\nexport const ZIDANE_VERSION: string = (pkg as { version?: string }).version ?? '0.0.0'\n\n/**\n * Compare two dotted versions (`7.0.19`, `7.1.0-beta.1`): negative when `a`\n * is older, positive when newer, 0 when equal. Pre-release tags are ignored\n * — same release train, same code as far as the daemon fence is concerned.\n * Unparseable input compares equal (never fences on garbage).\n */\nexport function compareVersions(a: string, b: string): number {\n const pa = parse(a)\n const pb = parse(b)\n if (!pa || !pb)\n return 0\n for (let i = 0; i < 3; i++) {\n const d = (pa[i] ?? 0) - (pb[i] ?? 0)\n if (d !== 0)\n return d\n }\n return 0\n}\n\nfunction parse(v: string): number[] | null {\n const m = /^v?(\\d+)\\.(\\d+)\\.(\\d+)/.exec(v.trim())\n return m ? [Number(m[1]), Number(m[2]), Number(m[3])] : null\n}\n"],"mappings":";;;;;;;;;;;;;ACaA,MAAa,iBAAyBA;;;;;;;AAQtC,SAAgB,gBAAgB,GAAW,GAAmB;CAC5D,MAAM,KAAK,MAAM,CAAC;CAClB,MAAM,KAAK,MAAM,CAAC;CAClB,IAAI,CAAC,MAAM,CAAC,IACV,OAAO;CACT,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK;EAC1B,MAAM,KAAK,GAAG,MAAM,MAAM,GAAG,MAAM;EACnC,IAAI,MAAM,GACR,OAAO;CACX;CACA,OAAO;AACT;AAEA,SAAS,MAAM,GAA4B;CACzC,MAAM,IAAI,yBAAyB,KAAK,EAAE,KAAK,CAAC;CAChD,OAAO,IAAI;EAAC,OAAO,EAAE,EAAE;EAAG,OAAO,EAAE,EAAE;EAAG,OAAO,EAAE,EAAE;CAAC,IAAI;AAC1D"}
@@ -1,10 +1,10 @@
1
1
  import { S as startOAuthCallback } from "./mcp-BnXLqb2R.js";
2
- import { t as ZIDANE_VERSION } from "./version-v77Y4A3C.js";
2
+ import { t as ZIDANE_VERSION } from "./version-bd3DQJkc.js";
3
3
  import { n as JsonRpcRemoteError, t as JsonRpcConnectionClosedError } from "./json-rpc-G0rBfEar.js";
4
4
  import { a as isMethodNotFound } from "./connection-BaHd3T-D.js";
5
- import { s as IPC_BUILD_ID } from "./settings-keys-DssjmqAV.js";
5
+ import { s as IPC_BUILD_ID } from "./settings-keys-CPdmkTz7.js";
6
6
  import "./protocol-BIv1Yuvl.js";
7
- import { t as createHostDispatcher } from "./dispatcher-BICXFGiJ.js";
7
+ import { t as createHostDispatcher } from "./dispatcher-Bv9-c6I2.js";
8
8
  //#region src/ipc/memory.ts
9
9
  /** JSON round-trip: what crossing the socket does to a value. */
10
10
  function wire(value) {
@@ -382,4 +382,4 @@ async function buffered(client, params, options, started) {
382
382
  //#endregion
383
383
  export { runRemoteOAuth as n, startInProcessHost as r, runWorkspaceExecStream as t };
384
384
 
385
- //# sourceMappingURL=workspace-exec-stream-kqARO8iC.js.map
385
+ //# sourceMappingURL=workspace-exec-stream-CyfYgqAh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-exec-stream-kqARO8iC.js","names":[],"sources":["../src/ipc/memory.ts","../src/ipc/remote-oauth.ts","../src/ipc/workspace-exec-stream.ts"],"sourcesContent":["/**\n * In-process transport: the host dispatcher in the window's own process, and\n * `IpcClient`s that call it directly instead of over a unix socket.\n *\n * For a window that runs its own host (TUI local mode on the shared engine):\n * the same dispatcher, method table and signal fan-out a daemon serves, with\n * no socket, no spawn and no second process. A caller sees what a socket\n * client would, so the daemon-mode code paths run on it unchanged:\n * - params, results and signals are JSON copies (as on the wire: a top-level\n * `undefined` result arrives as `null`, nested `undefined` fields are\n * dropped, and nothing is shared between the window and the host);\n * - a failed request rejects with `JsonRpcRemoteError` carrying the\n * dispatcher's code; a closed connection rejects with\n * `JsonRpcConnectionClosedError`, in-flight requests included;\n * - responses and signals arrive asynchronously, through one queue in the\n * order the host produced them (a socket reads them in write order);\n * - `close()` detaches quietly; the host shutting down calls `onClose`.\n *\n * Two socket behaviors are deliberately absent. Request deadlines exist on\n * the socket to recover from a wedged daemon by dropping the connection and\n * reconnecting; in-process there is nothing to reconnect to. And\n * `daemon.shutdown` from a client does not stop the host: its lifetime\n * belongs to the embedding window (`InProcessHost.close()`).\n */\nimport type { ChatHost } from '../chat/host/engine'\nimport type { IpcClient } from './client'\nimport type { HostPeer } from './daemon/dispatcher'\nimport type { DaemonEnvironment } from './daemon/environment'\nimport type { HelloResult, HostSignal } from './protocol'\nimport type { SignalListener } from './transports/client-core'\nimport { JsonRpcConnectionClosedError, JsonRpcRemoteError } from '../acp/json-rpc'\nimport { ZIDANE_VERSION } from '../version'\nimport { createHostDispatcher } from './daemon/dispatcher'\nimport { IPC_BUILD_ID } from './daemon/lifecycle'\nimport { IPC_PROTOCOL_VERSION } from './protocol'\n\n/** Options for {@link startInProcessHost}. */\nexport interface InProcessHostOptions {\n /** The host's environment, given the broadcast sink wired to client fan-out. */\n createEnvironment: (broadcast: (signal: HostSignal) => void) => DaemonEnvironment | Promise<DaemonEnvironment>\n /** Reported to clients as the host's `appVersion`. */\n appVersion?: string\n}\n\n/** Options for {@link InProcessHost.connect}. */\nexport interface InProcessClientOptions {\n /** Client version, surfaced in the host's diagnostics. */\n appVersion?: string\n /** Called when the host shuts down under a still-open client. */\n onClose?: () => void\n}\n\n/** A chat host running in the caller's process, with clients that call it directly. */\nexport interface InProcessHost {\n /** The chat host. */\n host: ChatHost\n /** A new client, already past the `ipc.hello` handshake. */\n connect: (options?: InProcessClientOptions) => Promise<IpcClient>\n /** Number of open clients. */\n peerCount: () => number\n /**\n * Shut the host down: refuse new work, abort and await every run, then\n * close the clients still open (their `onClose` fires). Idempotent.\n */\n close: () => Promise<void>\n}\n\n/** JSON round-trip: what crossing the socket does to a value. */\nfunction wire<T>(value: T): T {\n return value === undefined ? (null as T) : JSON.parse(JSON.stringify(value)) as T\n}\n\n/** One open client, from the host's side. */\ninterface Connection {\n peer: HostPeer\n /** The host is shutting down: reject what is pending, then tell the client. */\n hostClosed: () => void\n}\n\n/**\n * Starts a chat host in this process. Clients from `connect` behave like socket clients, without a socket or a second process.\n * @param options - Environment factory and version.\n * @returns The host handle.\n */\nexport async function startInProcessHost(options: InProcessHostOptions): Promise<InProcessHost> {\n const connections = new Set<Connection>()\n let closing: Promise<void> | null = null\n\n const dispatcher = await createHostDispatcher({\n createEnvironment: options.createEnvironment,\n appVersion: options.appVersion ?? 'dev',\n startedAt: Date.now(),\n identity: { kind: 'in-process' },\n lifecycle: {\n // Owned by the embedding window, see the module header.\n shutdown: () => undefined,\n // Clients are this build by construction: never a newer one to retire for.\n retireWhenIdle: () => undefined,\n isRetiring: () => false,\n },\n })\n\n async function connect(clientOptions: InProcessClientOptions = {}): Promise<IpcClient> {\n if (closing)\n throw new JsonRpcConnectionClosedError()\n const listeners = new Set<SignalListener>()\n const pending = new Set<(err: Error) => void>()\n let closed = false\n\n /*\n * Everything bound for the client goes through one FIFO drained in a\n * microtask: signals, and request outcomes once the dispatcher settles\n * them. A signal the host emits after answering a request is therefore\n * delivered after that answer, as a socket would read them.\n */\n const outbox: Array<() => void> = []\n let draining = false\n const deliver = (item: () => void): void => {\n outbox.push(item)\n if (draining)\n return\n draining = true\n queueMicrotask(() => {\n try {\n while (outbox.length > 0) {\n try {\n outbox.shift()!()\n }\n catch {\n // A throwing listener costs that one message, as on the socket\n // (the JSON-RPC reader catches it), never the connection.\n }\n }\n }\n finally {\n draining = false\n }\n })\n }\n\n const peer: HostPeer = {\n ready: false,\n watching: null,\n send(signal, seq, encoded) {\n if (closed)\n return\n const meta = seq === undefined ? undefined : { seq }\n let copy: HostSignal\n try {\n // The fan-out's one serialization, when it has one.\n const json = encoded ? encoded.json() : JSON.stringify(signal)\n if (json === undefined)\n return\n copy = JSON.parse(json) as HostSignal\n }\n catch {\n // Not JSON-able: the socket server drops it the same way, and a\n // bad signal must never break fan-out to the other clients.\n return\n }\n deliver(() => {\n if (closed)\n return\n for (const listener of listeners)\n listener(copy, meta)\n })\n },\n }\n\n const request = (method: string, params: unknown): Promise<unknown> => {\n if (closed)\n return Promise.reject(new JsonRpcConnectionClosedError())\n return new Promise((resolve, reject) => {\n pending.add(reject)\n const settle = (outcome: () => void): void => {\n deliver(() => {\n if (!pending.delete(reject))\n return\n outcome()\n })\n }\n dispatcher.handleRequest(method, params === undefined ? undefined : wire(params), peer).then(\n (result) => {\n settle(() => {\n // The reject is already out of `pending`: a throw here (a result\n // that is not JSON-able) must fail the request, not hang it.\n try {\n if (result.ok)\n resolve(wire(result.result))\n else\n reject(new JsonRpcRemoteError(result.message, result.code, result.data))\n }\n catch (err) {\n reject(err instanceof Error ? err : new Error(String(err)))\n }\n })\n },\n err => settle(() => reject(err)),\n )\n })\n }\n\n /** Stop delivering and fail what is in flight, as a socket closing does. */\n const shut = (): void => {\n closed = true\n listeners.clear()\n outbox.length = 0\n for (const reject of pending)\n reject(new JsonRpcConnectionClosedError())\n pending.clear()\n }\n\n const connection: Connection = {\n peer,\n hostClosed: () => {\n if (closed)\n return\n shut()\n clientOptions.onClose?.()\n },\n }\n\n dispatcher.addPeer(peer)\n connections.add(connection)\n const detach = (): void => {\n if (closed)\n return\n shut()\n connections.delete(connection)\n dispatcher.removePeer(peer)\n }\n\n let hello: HelloResult\n try {\n hello = await request('ipc.hello', {\n protocolVersion: IPC_PROTOCOL_VERSION,\n appVersion: clientOptions.appVersion ?? 'dev',\n pid: process.pid,\n buildId: IPC_BUILD_ID,\n codeVersion: ZIDANE_VERSION,\n }) as HelloResult\n }\n catch (err) {\n detach()\n throw err\n }\n\n return {\n hello,\n request: request as IpcClient['request'],\n notify: (method, params) => {\n if (closed)\n return\n const copy = params === undefined ? undefined : wire(params)\n // Off the caller's stack, as a socket write would be.\n queueMicrotask(() => {\n if (!closed)\n void dispatcher.handleNotification(method, copy, peer)\n })\n },\n onSignal: (listener) => {\n listeners.add(listener)\n return () => listeners.delete(listener)\n },\n close: detach,\n }\n }\n\n function close(): Promise<void> {\n // Same order as the socket server's shutdown: drain the host, close\n // every connection, then forget the peers without per-peer cleanup.\n closing ??= (async () => {\n await dispatcher.host.drain()\n for (const connection of connections)\n connection.hostClosed()\n connections.clear()\n dispatcher.detachAll()\n })()\n return closing\n }\n\n return {\n host: dispatcher.host,\n connect,\n peerCount: () => dispatcher.peerCount(),\n close,\n }\n}\n","/**\n * The client half of a remote OAuth sign-in (`auth.oauth.*`): the host runs\n * the login and keeps its secrets; this machine has the browser. For an MCP\n * server it opens a loopback listener first (any free port) and hands its\n * URI to the host; for a provider it listens on the provider's fixed\n * `redirect_uri` once the host names it (a busy port falls back to pasting\n * the address the browser lands on). It opens the URL, forwards the code\n * (or what the user pasted) to the host, and resolves with the host's\n * outcome, which never carries a token. Device and polling flows just wait.\n *\n * The provider's own questions (a choice between flows, a free-text\n * prompt: `HostOAuthStep`) come back from `begin` / `complete`; the UI\n * answers them (`select` / `prompt`; a prompt falls back to `paste`). A UI\n * that can't answers nothing: the sign-in ends with why, never a default.\n */\nimport type { McpOAuthCallbackPageRenderer, OAuthCallbackHandle } from '../mcp/oauth-callback'\nimport type { HostOAuthBegin, HostOAuthComplete, HostOAuthStep } from './protocol'\nimport type { IpcClient } from './transports/client-core'\nimport { startOAuthCallback } from '../mcp/oauth-callback'\n\n/** What to sign in to: a provider by key, or an MCP server by name. */\nexport type RemoteOAuthTarget = { provider: string } | { mcpServer: string, cwd?: string, kind?: string }\n\nexport interface RemoteOAuthStart extends HostOAuthBegin {\n /** This machine catches the redirect (else: paste, or wait for a device / polling flow). */\n listening: boolean\n /** Why it doesn't (a busy port). */\n listenError?: string\n}\n\n/** Hooks a window supplies to {@link runRemoteOAuth}: open the browser, take pasted input, answer the provider's questions, and abort. */\nexport interface RemoteOAuthUi {\n /** Open the browser here (best effort; the URL is shown too). */\n openUrl: (url: string) => void | Promise<void>\n /** The flow started: the URL, the mode, a device code, whether the loopback listens. */\n onStart?: (start: RemoteOAuthStart) => void\n /** What the user pastes (a code or the address the browser landed on); offered in every mode. */\n paste?: () => Promise<string>\n /** Aborts the sign-in. The run rejects with \"OAuth login aborted\". */\n signal?: AbortSignal\n /** The page the browser lands on at the loopback. */\n renderPage?: McpOAuthCallbackPageRenderer\n /** The provider asks the user to choose (its option id; `undefined` cancels). */\n select?: (step: Extract<HostOAuthStep, { kind: 'select' }>) => Promise<string | undefined>\n /** The provider asks the user a question (default: {@link paste}). */\n prompt?: (step: Extract<HostOAuthStep, { kind: 'prompt' }>) => Promise<string>\n}\n\n/** The UI's answer to `step`, or why it can't give one. */\nasync function answerStep(ui: RemoteOAuthUi, step: HostOAuthStep): Promise<string | undefined> {\n if (step.kind === 'select' && ui.select)\n return ui.select(step)\n if (step.kind === 'prompt' && (ui.prompt || ui.paste))\n return ui.prompt ? ui.prompt(step) : ui.paste!()\n throw new Error(`The sign-in asks \"${step.message}\", and this window can't answer it here: sign in on the server machine or use an API key.`)\n}\n\nconst abortError = (): Error => new Error('OAuth login aborted')\n\nfunction whenAborted(signal: AbortSignal | undefined): Promise<never> {\n return new Promise<never>((_, reject) => {\n if (signal?.aborted)\n reject(abortError())\n signal?.addEventListener('abort', () => reject(abortError()), { once: true })\n })\n}\n\n/**\n * Runs the client half of a remote OAuth sign-in against a host.\n * Starts the flow on the host, opens the URL through the UI, forwards the code from the loopback listener or from `paste`, and resolves with the host's outcome, which never carries a token. Rejects when aborted or when the UI cannot answer a question the provider asks.\n * @param client - Client used for the `auth.oauth.*` requests.\n * @param target - Provider or MCP server to sign in to.\n * @param ui - Browser, prompt and abort hooks.\n * @returns The sign-in outcome: the provider status or the MCP server name.\n */\nexport async function runRemoteOAuth(\n client: Pick<IpcClient, 'request'>,\n target: RemoteOAuthTarget,\n ui: RemoteOAuthUi,\n): Promise<HostOAuthComplete> {\n const { signal } = ui\n signal?.throwIfAborted()\n const isMcp = 'mcpServer' in target\n let loopback: OAuthCallbackHandle | undefined\n const listenOptions = { ...(signal ? { signal } : {}), ...(ui.renderPage ? { renderPage: ui.renderPage } : {}), provider: isMcp ? target.mcpServer : target.provider }\n if (isMcp)\n loopback = await startOAuthCallback({ ...listenOptions, port: 0 })\n let begin: HostOAuthBegin | undefined\n try {\n begin = await client.request('auth.oauth.begin', isMcp\n ? { mcpServer: target.mcpServer, ...(target.cwd !== undefined ? { cwd: target.cwd } : {}), ...(target.kind !== undefined ? { kind: target.kind } : {}), redirectUri: loopback!.redirectUri }\n : { provider: target.provider })\n const flowId = begin.flowId\n const respond = async (step: HostOAuthStep): Promise<HostOAuthBegin> => {\n const value = await answerStep(ui, step)\n signal?.throwIfAborted()\n return client.request('auth.oauth.respond', { flowId, stepId: step.id, ...(value !== undefined ? { value } : {}) })\n }\n // Questions before the URL.\n while (begin.step)\n begin = await respond(begin.step)\n let listenError: string | undefined\n // The host pinned another redirect (an MCP server's pre-registered\n // client, `oauth.callbackPort`): listen there instead.\n if (loopback && begin.redirectUri && begin.redirectUri !== loopback.redirectUri) {\n loopback.promise.catch(() => undefined) // closing rejects it; nothing waits on it\n await loopback.close()\n loopback = undefined\n }\n if (!loopback && begin.mode === 'loopback' && begin.redirectUri) {\n const redirect = new URL(begin.redirectUri)\n try {\n loopback = await startOAuthCallback({ ...listenOptions, port: Number(redirect.port), path: redirect.pathname })\n }\n catch (err) {\n listenError = `Port ${redirect.port} is busy on this computer (${err instanceof Error ? err.message : String(err)}): paste the address the browser lands on instead.`\n }\n }\n ui.onStart?.({ ...begin, listening: loopback !== undefined, ...(listenError ? { listenError } : {}) })\n await ui.openUrl(begin.url)\n\n /** Deliver (once), then wait; a question after the URL is answered and the wait goes on. */\n const complete = async (params: { code?: string, state?: string, input?: string }): Promise<HostOAuthComplete> => {\n let outcome = await client.request('auth.oauth.complete', { flowId, ...params })\n while (outcome.step) {\n await respond(outcome.step)\n outcome = await client.request('auth.oauth.complete', { flowId })\n }\n return outcome\n }\n const ways: Promise<HostOAuthComplete>[] = [whenAborted(signal)]\n if (loopback) {\n const handle = loopback\n ways.push(handle.promise.then(({ code, state }) => complete({ code, ...(state !== undefined ? { state } : {}) })))\n }\n if (ui.paste)\n ways.push(ui.paste().then(input => complete({ input })))\n // Device and polling flows finish on the host's side: wait for it.\n if (begin.mode !== 'loopback')\n ways.push(complete({}))\n for (const way of ways)\n way.catch(() => undefined)\n return await Promise.race(ways)\n }\n catch (err) {\n if (begin)\n void client.request('auth.oauth.cancel', { flowId: begin.flowId }).catch(() => undefined)\n throw err\n }\n finally {\n await loopback?.close()\n }\n}\n","/**\n * The client half of a streamed workspace command (`!` on a remote host):\n * starts `sessions.workspaceExecStream`, gathers its `workspace:exec:*`\n * signals (which may beat the reply) into one output in arrival order, and\n * cancels on the host when `signal` aborts. The result has the shape of a\n * local `!` run (`BashRunResult`), so both format and persist alike. A host\n * without the method gets the buffered `sessions.workspaceExec`, where an\n * abort stops waiting, not the command.\n */\nimport type { HostSignal } from './protocol'\nimport type { IpcClient } from './transports/client-core'\nimport { isMethodNotFound } from '../chat/hosts/connection'\n\n/** Outcome of {@link runWorkspaceExecStream}, shaped like a local `!` run. */\nexport interface WorkspaceExecStreamResult {\n /** stdout and stderr in arrival order (the buffered fallback: stdout, then stderr). */\n output: string\n /** `null` when the host killed it (cancel, output cap). */\n exitCode: number | null\n /** Wall-clock time of the run in milliseconds. */\n durationMs: number\n /** Cancelled through `signal`. */\n aborted: boolean\n /** The host's output cap was reached and the process stopped. */\n overflowed: boolean\n /** `false`: an older host answered with the buffered exec. */\n streamed: boolean\n}\n\n/** Options for {@link runWorkspaceExecStream}. */\nexport interface WorkspaceExecStreamOptions {\n /** Cancels the command on the host when aborted. */\n signal?: AbortSignal\n /** The whole output so far, on every chunk. */\n onChunk?: (accumulated: string) => void\n /** The buffered fallback's bound. Default 600 s. */\n fallbackTimeoutSeconds?: number\n /** How long to wait for the host's exit after a cancel before giving up on it. Default 10 s. */\n cancelGraceMs?: number\n}\n\ntype ExecSignal = Extract<HostSignal, { kind: 'workspace:exec:data' | 'workspace:exec:exit' }>\n\n/**\n * Runs a command in a session's workspace on a host and streams its output.\n * The result has the shape of a local `!` run. A host without `sessions.workspaceExecStream` gets the buffered `sessions.workspaceExec` instead, and then an abort stops the wait, not the command.\n * @param client - Client used for requests and signals.\n * @param params - Session, command and optional working directory.\n * @param options - Abort signal, chunk callback and timeouts.\n * @returns The output, exit code and flags describing how it ended.\n */\nexport async function runWorkspaceExecStream(\n client: Pick<IpcClient, 'request' | 'onSignal'>,\n params: { sessionId: string, command: string, cwd?: string },\n options: WorkspaceExecStreamOptions = {},\n): Promise<WorkspaceExecStreamResult> {\n const { signal } = options\n const started = Date.now()\n signal?.throwIfAborted()\n\n let execId: string | null = null\n /** Signals that arrived before the reply named the exec. */\n const early: ExecSignal[] = []\n let output = ''\n let finish: (exit: Extract<ExecSignal, { kind: 'workspace:exec:exit' }> | null) => void = () => undefined\n const exited = new Promise<Extract<ExecSignal, { kind: 'workspace:exec:exit' }> | null>((resolve) => {\n finish = resolve\n })\n const apply = (event: ExecSignal): void => {\n if (event.kind === 'workspace:exec:data') {\n output += event.chunk\n options.onChunk?.(output)\n return\n }\n finish(event)\n }\n const unsubscribe = client.onSignal((event) => {\n if (event.kind !== 'workspace:exec:data' && event.kind !== 'workspace:exec:exit')\n return\n if (execId === null)\n early.push(event)\n else if (event.execId === execId)\n apply(event)\n })\n\n try {\n try {\n execId = (await client.request('sessions.workspaceExecStream', { sessionId: params.sessionId, command: params.command, ...(params.cwd !== undefined ? { cwd: params.cwd } : {}) })).execId\n }\n catch (err) {\n if (!isMethodNotFound(err))\n throw err\n return await buffered(client, params, options, started)\n }\n for (const event of early.splice(0)) {\n if (event.execId === execId)\n apply(event)\n }\n\n const id = execId\n const onAbort = (): void => {\n void client.request('sessions.workspaceExecCancel', { execId: id }).catch(() => undefined)\n // The exit normally follows the kill; a connection lost meanwhile must not hang the caller.\n setTimeout(finish, options.cancelGraceMs ?? 10_000, null).unref?.()\n }\n signal?.addEventListener('abort', onAbort, { once: true })\n if (signal?.aborted)\n onAbort()\n let exit: Awaited<typeof exited>\n try {\n exit = await exited\n }\n finally {\n signal?.removeEventListener('abort', onAbort)\n }\n return {\n output,\n exitCode: exit === null || exit.signal !== null ? null : exit.code,\n durationMs: Date.now() - started,\n aborted: signal?.aborted === true,\n overflowed: exit?.truncated === true,\n streamed: true,\n }\n }\n finally {\n unsubscribe()\n }\n}\n\n/** An older host: one buffered exec; `signal` stops waiting for it. */\nasync function buffered(\n client: Pick<IpcClient, 'request'>,\n params: { sessionId: string, command: string, cwd?: string },\n options: WorkspaceExecStreamOptions,\n started: number,\n): Promise<WorkspaceExecStreamResult> {\n const { signal } = options\n const request = client.request('sessions.workspaceExec', {\n sessionId: params.sessionId,\n command: params.command,\n ...(params.cwd !== undefined ? { cwd: params.cwd } : {}),\n timeoutSeconds: options.fallbackTimeoutSeconds ?? 600,\n })\n const stopped = new Promise<null>((resolve) => {\n if (signal?.aborted)\n resolve(null)\n signal?.addEventListener('abort', () => resolve(null), { once: true })\n })\n request.catch(() => undefined)\n const result = await Promise.race([request, stopped])\n if (!result)\n return { output: '', exitCode: null, durationMs: Date.now() - started, aborted: true, overflowed: false, streamed: false }\n const output = [result.stdout, result.stderr].filter(part => part.trim() !== '').map(part => part.replace(/\\n$/, '')).join('\\n')\n options.onChunk?.(output)\n return { output, exitCode: result.exitCode, durationMs: Date.now() - started, aborted: false, overflowed: false, streamed: false }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"workspace-exec-stream-CyfYgqAh.js","names":[],"sources":["../src/ipc/memory.ts","../src/ipc/remote-oauth.ts","../src/ipc/workspace-exec-stream.ts"],"sourcesContent":["/**\n * In-process transport: the host dispatcher in the window's own process, and\n * `IpcClient`s that call it directly instead of over a unix socket.\n *\n * For a window that runs its own host (TUI local mode on the shared engine):\n * the same dispatcher, method table and signal fan-out a daemon serves, with\n * no socket, no spawn and no second process. A caller sees what a socket\n * client would, so the daemon-mode code paths run on it unchanged:\n * - params, results and signals are JSON copies (as on the wire: a top-level\n * `undefined` result arrives as `null`, nested `undefined` fields are\n * dropped, and nothing is shared between the window and the host);\n * - a failed request rejects with `JsonRpcRemoteError` carrying the\n * dispatcher's code; a closed connection rejects with\n * `JsonRpcConnectionClosedError`, in-flight requests included;\n * - responses and signals arrive asynchronously, through one queue in the\n * order the host produced them (a socket reads them in write order);\n * - `close()` detaches quietly; the host shutting down calls `onClose`.\n *\n * Two socket behaviors are deliberately absent. Request deadlines exist on\n * the socket to recover from a wedged daemon by dropping the connection and\n * reconnecting; in-process there is nothing to reconnect to. And\n * `daemon.shutdown` from a client does not stop the host: its lifetime\n * belongs to the embedding window (`InProcessHost.close()`).\n */\nimport type { ChatHost } from '../chat/host/engine'\nimport type { IpcClient } from './client'\nimport type { HostPeer } from './daemon/dispatcher'\nimport type { DaemonEnvironment } from './daemon/environment'\nimport type { HelloResult, HostSignal } from './protocol'\nimport type { SignalListener } from './transports/client-core'\nimport { JsonRpcConnectionClosedError, JsonRpcRemoteError } from '../acp/json-rpc'\nimport { ZIDANE_VERSION } from '../version'\nimport { createHostDispatcher } from './daemon/dispatcher'\nimport { IPC_BUILD_ID } from './daemon/lifecycle'\nimport { IPC_PROTOCOL_VERSION } from './protocol'\n\n/** Options for {@link startInProcessHost}. */\nexport interface InProcessHostOptions {\n /** The host's environment, given the broadcast sink wired to client fan-out. */\n createEnvironment: (broadcast: (signal: HostSignal) => void) => DaemonEnvironment | Promise<DaemonEnvironment>\n /** Reported to clients as the host's `appVersion`. */\n appVersion?: string\n}\n\n/** Options for {@link InProcessHost.connect}. */\nexport interface InProcessClientOptions {\n /** Client version, surfaced in the host's diagnostics. */\n appVersion?: string\n /** Called when the host shuts down under a still-open client. */\n onClose?: () => void\n}\n\n/** A chat host running in the caller's process, with clients that call it directly. */\nexport interface InProcessHost {\n /** The chat host. */\n host: ChatHost\n /** A new client, already past the `ipc.hello` handshake. */\n connect: (options?: InProcessClientOptions) => Promise<IpcClient>\n /** Number of open clients. */\n peerCount: () => number\n /**\n * Shut the host down: refuse new work, abort and await every run, then\n * close the clients still open (their `onClose` fires). Idempotent.\n */\n close: () => Promise<void>\n}\n\n/** JSON round-trip: what crossing the socket does to a value. */\nfunction wire<T>(value: T): T {\n return value === undefined ? (null as T) : JSON.parse(JSON.stringify(value)) as T\n}\n\n/** One open client, from the host's side. */\ninterface Connection {\n peer: HostPeer\n /** The host is shutting down: reject what is pending, then tell the client. */\n hostClosed: () => void\n}\n\n/**\n * Starts a chat host in this process. Clients from `connect` behave like socket clients, without a socket or a second process.\n * @param options - Environment factory and version.\n * @returns The host handle.\n */\nexport async function startInProcessHost(options: InProcessHostOptions): Promise<InProcessHost> {\n const connections = new Set<Connection>()\n let closing: Promise<void> | null = null\n\n const dispatcher = await createHostDispatcher({\n createEnvironment: options.createEnvironment,\n appVersion: options.appVersion ?? 'dev',\n startedAt: Date.now(),\n identity: { kind: 'in-process' },\n lifecycle: {\n // Owned by the embedding window, see the module header.\n shutdown: () => undefined,\n // Clients are this build by construction: never a newer one to retire for.\n retireWhenIdle: () => undefined,\n isRetiring: () => false,\n },\n })\n\n async function connect(clientOptions: InProcessClientOptions = {}): Promise<IpcClient> {\n if (closing)\n throw new JsonRpcConnectionClosedError()\n const listeners = new Set<SignalListener>()\n const pending = new Set<(err: Error) => void>()\n let closed = false\n\n /*\n * Everything bound for the client goes through one FIFO drained in a\n * microtask: signals, and request outcomes once the dispatcher settles\n * them. A signal the host emits after answering a request is therefore\n * delivered after that answer, as a socket would read them.\n */\n const outbox: Array<() => void> = []\n let draining = false\n const deliver = (item: () => void): void => {\n outbox.push(item)\n if (draining)\n return\n draining = true\n queueMicrotask(() => {\n try {\n while (outbox.length > 0) {\n try {\n outbox.shift()!()\n }\n catch {\n // A throwing listener costs that one message, as on the socket\n // (the JSON-RPC reader catches it), never the connection.\n }\n }\n }\n finally {\n draining = false\n }\n })\n }\n\n const peer: HostPeer = {\n ready: false,\n watching: null,\n send(signal, seq, encoded) {\n if (closed)\n return\n const meta = seq === undefined ? undefined : { seq }\n let copy: HostSignal\n try {\n // The fan-out's one serialization, when it has one.\n const json = encoded ? encoded.json() : JSON.stringify(signal)\n if (json === undefined)\n return\n copy = JSON.parse(json) as HostSignal\n }\n catch {\n // Not JSON-able: the socket server drops it the same way, and a\n // bad signal must never break fan-out to the other clients.\n return\n }\n deliver(() => {\n if (closed)\n return\n for (const listener of listeners)\n listener(copy, meta)\n })\n },\n }\n\n const request = (method: string, params: unknown): Promise<unknown> => {\n if (closed)\n return Promise.reject(new JsonRpcConnectionClosedError())\n return new Promise((resolve, reject) => {\n pending.add(reject)\n const settle = (outcome: () => void): void => {\n deliver(() => {\n if (!pending.delete(reject))\n return\n outcome()\n })\n }\n dispatcher.handleRequest(method, params === undefined ? undefined : wire(params), peer).then(\n (result) => {\n settle(() => {\n // The reject is already out of `pending`: a throw here (a result\n // that is not JSON-able) must fail the request, not hang it.\n try {\n if (result.ok)\n resolve(wire(result.result))\n else\n reject(new JsonRpcRemoteError(result.message, result.code, result.data))\n }\n catch (err) {\n reject(err instanceof Error ? err : new Error(String(err)))\n }\n })\n },\n err => settle(() => reject(err)),\n )\n })\n }\n\n /** Stop delivering and fail what is in flight, as a socket closing does. */\n const shut = (): void => {\n closed = true\n listeners.clear()\n outbox.length = 0\n for (const reject of pending)\n reject(new JsonRpcConnectionClosedError())\n pending.clear()\n }\n\n const connection: Connection = {\n peer,\n hostClosed: () => {\n if (closed)\n return\n shut()\n clientOptions.onClose?.()\n },\n }\n\n dispatcher.addPeer(peer)\n connections.add(connection)\n const detach = (): void => {\n if (closed)\n return\n shut()\n connections.delete(connection)\n dispatcher.removePeer(peer)\n }\n\n let hello: HelloResult\n try {\n hello = await request('ipc.hello', {\n protocolVersion: IPC_PROTOCOL_VERSION,\n appVersion: clientOptions.appVersion ?? 'dev',\n pid: process.pid,\n buildId: IPC_BUILD_ID,\n codeVersion: ZIDANE_VERSION,\n }) as HelloResult\n }\n catch (err) {\n detach()\n throw err\n }\n\n return {\n hello,\n request: request as IpcClient['request'],\n notify: (method, params) => {\n if (closed)\n return\n const copy = params === undefined ? undefined : wire(params)\n // Off the caller's stack, as a socket write would be.\n queueMicrotask(() => {\n if (!closed)\n void dispatcher.handleNotification(method, copy, peer)\n })\n },\n onSignal: (listener) => {\n listeners.add(listener)\n return () => listeners.delete(listener)\n },\n close: detach,\n }\n }\n\n function close(): Promise<void> {\n // Same order as the socket server's shutdown: drain the host, close\n // every connection, then forget the peers without per-peer cleanup.\n closing ??= (async () => {\n await dispatcher.host.drain()\n for (const connection of connections)\n connection.hostClosed()\n connections.clear()\n dispatcher.detachAll()\n })()\n return closing\n }\n\n return {\n host: dispatcher.host,\n connect,\n peerCount: () => dispatcher.peerCount(),\n close,\n }\n}\n","/**\n * The client half of a remote OAuth sign-in (`auth.oauth.*`): the host runs\n * the login and keeps its secrets; this machine has the browser. For an MCP\n * server it opens a loopback listener first (any free port) and hands its\n * URI to the host; for a provider it listens on the provider's fixed\n * `redirect_uri` once the host names it (a busy port falls back to pasting\n * the address the browser lands on). It opens the URL, forwards the code\n * (or what the user pasted) to the host, and resolves with the host's\n * outcome, which never carries a token. Device and polling flows just wait.\n *\n * The provider's own questions (a choice between flows, a free-text\n * prompt: `HostOAuthStep`) come back from `begin` / `complete`; the UI\n * answers them (`select` / `prompt`; a prompt falls back to `paste`). A UI\n * that can't answers nothing: the sign-in ends with why, never a default.\n */\nimport type { McpOAuthCallbackPageRenderer, OAuthCallbackHandle } from '../mcp/oauth-callback'\nimport type { HostOAuthBegin, HostOAuthComplete, HostOAuthStep } from './protocol'\nimport type { IpcClient } from './transports/client-core'\nimport { startOAuthCallback } from '../mcp/oauth-callback'\n\n/** What to sign in to: a provider by key, or an MCP server by name. */\nexport type RemoteOAuthTarget = { provider: string } | { mcpServer: string, cwd?: string, kind?: string }\n\nexport interface RemoteOAuthStart extends HostOAuthBegin {\n /** This machine catches the redirect (else: paste, or wait for a device / polling flow). */\n listening: boolean\n /** Why it doesn't (a busy port). */\n listenError?: string\n}\n\n/** Hooks a window supplies to {@link runRemoteOAuth}: open the browser, take pasted input, answer the provider's questions, and abort. */\nexport interface RemoteOAuthUi {\n /** Open the browser here (best effort; the URL is shown too). */\n openUrl: (url: string) => void | Promise<void>\n /** The flow started: the URL, the mode, a device code, whether the loopback listens. */\n onStart?: (start: RemoteOAuthStart) => void\n /** What the user pastes (a code or the address the browser landed on); offered in every mode. */\n paste?: () => Promise<string>\n /** Aborts the sign-in. The run rejects with \"OAuth login aborted\". */\n signal?: AbortSignal\n /** The page the browser lands on at the loopback. */\n renderPage?: McpOAuthCallbackPageRenderer\n /** The provider asks the user to choose (its option id; `undefined` cancels). */\n select?: (step: Extract<HostOAuthStep, { kind: 'select' }>) => Promise<string | undefined>\n /** The provider asks the user a question (default: {@link paste}). */\n prompt?: (step: Extract<HostOAuthStep, { kind: 'prompt' }>) => Promise<string>\n}\n\n/** The UI's answer to `step`, or why it can't give one. */\nasync function answerStep(ui: RemoteOAuthUi, step: HostOAuthStep): Promise<string | undefined> {\n if (step.kind === 'select' && ui.select)\n return ui.select(step)\n if (step.kind === 'prompt' && (ui.prompt || ui.paste))\n return ui.prompt ? ui.prompt(step) : ui.paste!()\n throw new Error(`The sign-in asks \"${step.message}\", and this window can't answer it here: sign in on the server machine or use an API key.`)\n}\n\nconst abortError = (): Error => new Error('OAuth login aborted')\n\nfunction whenAborted(signal: AbortSignal | undefined): Promise<never> {\n return new Promise<never>((_, reject) => {\n if (signal?.aborted)\n reject(abortError())\n signal?.addEventListener('abort', () => reject(abortError()), { once: true })\n })\n}\n\n/**\n * Runs the client half of a remote OAuth sign-in against a host.\n * Starts the flow on the host, opens the URL through the UI, forwards the code from the loopback listener or from `paste`, and resolves with the host's outcome, which never carries a token. Rejects when aborted or when the UI cannot answer a question the provider asks.\n * @param client - Client used for the `auth.oauth.*` requests.\n * @param target - Provider or MCP server to sign in to.\n * @param ui - Browser, prompt and abort hooks.\n * @returns The sign-in outcome: the provider status or the MCP server name.\n */\nexport async function runRemoteOAuth(\n client: Pick<IpcClient, 'request'>,\n target: RemoteOAuthTarget,\n ui: RemoteOAuthUi,\n): Promise<HostOAuthComplete> {\n const { signal } = ui\n signal?.throwIfAborted()\n const isMcp = 'mcpServer' in target\n let loopback: OAuthCallbackHandle | undefined\n const listenOptions = { ...(signal ? { signal } : {}), ...(ui.renderPage ? { renderPage: ui.renderPage } : {}), provider: isMcp ? target.mcpServer : target.provider }\n if (isMcp)\n loopback = await startOAuthCallback({ ...listenOptions, port: 0 })\n let begin: HostOAuthBegin | undefined\n try {\n begin = await client.request('auth.oauth.begin', isMcp\n ? { mcpServer: target.mcpServer, ...(target.cwd !== undefined ? { cwd: target.cwd } : {}), ...(target.kind !== undefined ? { kind: target.kind } : {}), redirectUri: loopback!.redirectUri }\n : { provider: target.provider })\n const flowId = begin.flowId\n const respond = async (step: HostOAuthStep): Promise<HostOAuthBegin> => {\n const value = await answerStep(ui, step)\n signal?.throwIfAborted()\n return client.request('auth.oauth.respond', { flowId, stepId: step.id, ...(value !== undefined ? { value } : {}) })\n }\n // Questions before the URL.\n while (begin.step)\n begin = await respond(begin.step)\n let listenError: string | undefined\n // The host pinned another redirect (an MCP server's pre-registered\n // client, `oauth.callbackPort`): listen there instead.\n if (loopback && begin.redirectUri && begin.redirectUri !== loopback.redirectUri) {\n loopback.promise.catch(() => undefined) // closing rejects it; nothing waits on it\n await loopback.close()\n loopback = undefined\n }\n if (!loopback && begin.mode === 'loopback' && begin.redirectUri) {\n const redirect = new URL(begin.redirectUri)\n try {\n loopback = await startOAuthCallback({ ...listenOptions, port: Number(redirect.port), path: redirect.pathname })\n }\n catch (err) {\n listenError = `Port ${redirect.port} is busy on this computer (${err instanceof Error ? err.message : String(err)}): paste the address the browser lands on instead.`\n }\n }\n ui.onStart?.({ ...begin, listening: loopback !== undefined, ...(listenError ? { listenError } : {}) })\n await ui.openUrl(begin.url)\n\n /** Deliver (once), then wait; a question after the URL is answered and the wait goes on. */\n const complete = async (params: { code?: string, state?: string, input?: string }): Promise<HostOAuthComplete> => {\n let outcome = await client.request('auth.oauth.complete', { flowId, ...params })\n while (outcome.step) {\n await respond(outcome.step)\n outcome = await client.request('auth.oauth.complete', { flowId })\n }\n return outcome\n }\n const ways: Promise<HostOAuthComplete>[] = [whenAborted(signal)]\n if (loopback) {\n const handle = loopback\n ways.push(handle.promise.then(({ code, state }) => complete({ code, ...(state !== undefined ? { state } : {}) })))\n }\n if (ui.paste)\n ways.push(ui.paste().then(input => complete({ input })))\n // Device and polling flows finish on the host's side: wait for it.\n if (begin.mode !== 'loopback')\n ways.push(complete({}))\n for (const way of ways)\n way.catch(() => undefined)\n return await Promise.race(ways)\n }\n catch (err) {\n if (begin)\n void client.request('auth.oauth.cancel', { flowId: begin.flowId }).catch(() => undefined)\n throw err\n }\n finally {\n await loopback?.close()\n }\n}\n","/**\n * The client half of a streamed workspace command (`!` on a remote host):\n * starts `sessions.workspaceExecStream`, gathers its `workspace:exec:*`\n * signals (which may beat the reply) into one output in arrival order, and\n * cancels on the host when `signal` aborts. The result has the shape of a\n * local `!` run (`BashRunResult`), so both format and persist alike. A host\n * without the method gets the buffered `sessions.workspaceExec`, where an\n * abort stops waiting, not the command.\n */\nimport type { HostSignal } from './protocol'\nimport type { IpcClient } from './transports/client-core'\nimport { isMethodNotFound } from '../chat/hosts/connection'\n\n/** Outcome of {@link runWorkspaceExecStream}, shaped like a local `!` run. */\nexport interface WorkspaceExecStreamResult {\n /** stdout and stderr in arrival order (the buffered fallback: stdout, then stderr). */\n output: string\n /** `null` when the host killed it (cancel, output cap). */\n exitCode: number | null\n /** Wall-clock time of the run in milliseconds. */\n durationMs: number\n /** Cancelled through `signal`. */\n aborted: boolean\n /** The host's output cap was reached and the process stopped. */\n overflowed: boolean\n /** `false`: an older host answered with the buffered exec. */\n streamed: boolean\n}\n\n/** Options for {@link runWorkspaceExecStream}. */\nexport interface WorkspaceExecStreamOptions {\n /** Cancels the command on the host when aborted. */\n signal?: AbortSignal\n /** The whole output so far, on every chunk. */\n onChunk?: (accumulated: string) => void\n /** The buffered fallback's bound. Default 600 s. */\n fallbackTimeoutSeconds?: number\n /** How long to wait for the host's exit after a cancel before giving up on it. Default 10 s. */\n cancelGraceMs?: number\n}\n\ntype ExecSignal = Extract<HostSignal, { kind: 'workspace:exec:data' | 'workspace:exec:exit' }>\n\n/**\n * Runs a command in a session's workspace on a host and streams its output.\n * The result has the shape of a local `!` run. A host without `sessions.workspaceExecStream` gets the buffered `sessions.workspaceExec` instead, and then an abort stops the wait, not the command.\n * @param client - Client used for requests and signals.\n * @param params - Session, command and optional working directory.\n * @param options - Abort signal, chunk callback and timeouts.\n * @returns The output, exit code and flags describing how it ended.\n */\nexport async function runWorkspaceExecStream(\n client: Pick<IpcClient, 'request' | 'onSignal'>,\n params: { sessionId: string, command: string, cwd?: string },\n options: WorkspaceExecStreamOptions = {},\n): Promise<WorkspaceExecStreamResult> {\n const { signal } = options\n const started = Date.now()\n signal?.throwIfAborted()\n\n let execId: string | null = null\n /** Signals that arrived before the reply named the exec. */\n const early: ExecSignal[] = []\n let output = ''\n let finish: (exit: Extract<ExecSignal, { kind: 'workspace:exec:exit' }> | null) => void = () => undefined\n const exited = new Promise<Extract<ExecSignal, { kind: 'workspace:exec:exit' }> | null>((resolve) => {\n finish = resolve\n })\n const apply = (event: ExecSignal): void => {\n if (event.kind === 'workspace:exec:data') {\n output += event.chunk\n options.onChunk?.(output)\n return\n }\n finish(event)\n }\n const unsubscribe = client.onSignal((event) => {\n if (event.kind !== 'workspace:exec:data' && event.kind !== 'workspace:exec:exit')\n return\n if (execId === null)\n early.push(event)\n else if (event.execId === execId)\n apply(event)\n })\n\n try {\n try {\n execId = (await client.request('sessions.workspaceExecStream', { sessionId: params.sessionId, command: params.command, ...(params.cwd !== undefined ? { cwd: params.cwd } : {}) })).execId\n }\n catch (err) {\n if (!isMethodNotFound(err))\n throw err\n return await buffered(client, params, options, started)\n }\n for (const event of early.splice(0)) {\n if (event.execId === execId)\n apply(event)\n }\n\n const id = execId\n const onAbort = (): void => {\n void client.request('sessions.workspaceExecCancel', { execId: id }).catch(() => undefined)\n // The exit normally follows the kill; a connection lost meanwhile must not hang the caller.\n setTimeout(finish, options.cancelGraceMs ?? 10_000, null).unref?.()\n }\n signal?.addEventListener('abort', onAbort, { once: true })\n if (signal?.aborted)\n onAbort()\n let exit: Awaited<typeof exited>\n try {\n exit = await exited\n }\n finally {\n signal?.removeEventListener('abort', onAbort)\n }\n return {\n output,\n exitCode: exit === null || exit.signal !== null ? null : exit.code,\n durationMs: Date.now() - started,\n aborted: signal?.aborted === true,\n overflowed: exit?.truncated === true,\n streamed: true,\n }\n }\n finally {\n unsubscribe()\n }\n}\n\n/** An older host: one buffered exec; `signal` stops waiting for it. */\nasync function buffered(\n client: Pick<IpcClient, 'request'>,\n params: { sessionId: string, command: string, cwd?: string },\n options: WorkspaceExecStreamOptions,\n started: number,\n): Promise<WorkspaceExecStreamResult> {\n const { signal } = options\n const request = client.request('sessions.workspaceExec', {\n sessionId: params.sessionId,\n command: params.command,\n ...(params.cwd !== undefined ? { cwd: params.cwd } : {}),\n timeoutSeconds: options.fallbackTimeoutSeconds ?? 600,\n })\n const stopped = new Promise<null>((resolve) => {\n if (signal?.aborted)\n resolve(null)\n signal?.addEventListener('abort', () => resolve(null), { once: true })\n })\n request.catch(() => undefined)\n const result = await Promise.race([request, stopped])\n if (!result)\n return { output: '', exitCode: null, durationMs: Date.now() - started, aborted: true, overflowed: false, streamed: false }\n const output = [result.stdout, result.stderr].filter(part => part.trim() !== '').map(part => part.replace(/\\n$/, '')).join('\\n')\n options.onChunk?.(output)\n return { output, exitCode: result.exitCode, durationMs: Date.now() - started, aborted: false, overflowed: false, streamed: false }\n}\n"],"mappings":"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"}