zidane 7.0.8 → 7.0.10

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 (77) hide show
  1. package/dist/{acp-Wr8l4IDI.js → acp-bTPYx7Sd.js} +2 -2
  2. package/dist/{acp-Wr8l4IDI.js.map → acp-bTPYx7Sd.js.map} +1 -1
  3. package/dist/acp-cli.js +3 -3
  4. package/dist/acp.d.ts +1 -1
  5. package/dist/acp.js +1 -1
  6. package/dist/{agent-C-camKQW.js → agent-DRNT6DbC.js} +5 -2
  7. package/dist/agent-DRNT6DbC.js.map +1 -0
  8. package/dist/agent.d.ts +1 -1
  9. package/dist/agent.js +1 -1
  10. package/dist/{approvals-BF15XIhM.js → approvals-B4PYwOnW.js} +333 -95
  11. package/dist/approvals-B4PYwOnW.js.map +1 -0
  12. package/dist/{auth-BdwDROYg.js → auth-BcG1Y3QL.js} +2 -2
  13. package/dist/{auth-BdwDROYg.js.map → auth-BcG1Y3QL.js.map} +1 -1
  14. package/dist/chat/pure.d.ts +3 -3
  15. package/dist/chat.d.ts +6 -6
  16. package/dist/chat.js +4 -4
  17. package/dist/contexts/daytona.d.ts +1 -1
  18. package/dist/contexts/e2b.d.ts +1 -1
  19. package/dist/daemon-cli.js +1 -1
  20. package/dist/eval.d.ts +1 -1
  21. package/dist/extensions.d.ts +1 -1
  22. package/dist/extensions.js +1 -1
  23. package/dist/headless.d.ts +1 -1
  24. package/dist/headless.js +1 -1
  25. package/dist/{index-B-FSaM3_.d.ts → index-DFGECPfm.d.ts} +13 -1
  26. package/dist/{index-B-FSaM3_.d.ts.map → index-DFGECPfm.d.ts.map} +1 -1
  27. package/dist/{index-Dju2gu3w.d.ts → index-DP7xYXr9.d.ts} +74 -7
  28. package/dist/index-DP7xYXr9.d.ts.map +1 -0
  29. package/dist/index.d.ts +1 -1
  30. package/dist/index.js +1 -1
  31. package/dist/{ipc-3Pb7G8JY.js → ipc-CB6NoNxG.js} +2 -2
  32. package/dist/{ipc-3Pb7G8JY.js.map → ipc-CB6NoNxG.js.map} +1 -1
  33. package/dist/ipc.d.ts +25 -7
  34. package/dist/ipc.d.ts.map +1 -1
  35. package/dist/ipc.js +4 -4
  36. package/dist/mcp.d.ts +1 -1
  37. package/dist/output/stream-json.d.ts +1 -1
  38. package/dist/output/terminal.d.ts +1 -1
  39. package/dist/plugins.d.ts +1 -1
  40. package/dist/presets.d.ts +1 -1
  41. package/dist/presets.js +1 -1
  42. package/dist/providers/anthropic.d.ts +1 -1
  43. package/dist/providers/arcee.d.ts +1 -1
  44. package/dist/providers/baseten.d.ts +1 -1
  45. package/dist/providers/cerebras.d.ts +1 -1
  46. package/dist/providers/local.d.ts +1 -1
  47. package/dist/providers/openai-compat.d.ts +1 -1
  48. package/dist/providers/openai.d.ts +1 -1
  49. package/dist/providers/openrouter.d.ts +1 -1
  50. package/dist/providers/xai.d.ts +1 -1
  51. package/dist/providers.d.ts +1 -1
  52. package/dist/restate.d.ts +1 -1
  53. package/dist/restate.js +1 -1
  54. package/dist/{server-CcqxlLf3.js → server-BuqLVgQA.js} +27 -12
  55. package/dist/server-BuqLVgQA.js.map +1 -0
  56. package/dist/session/sqlite.d.ts +1 -1
  57. package/dist/session.d.ts +1 -1
  58. package/dist/skills.d.ts +1 -1
  59. package/dist/{tool-formatters-DO56YBBw.d.ts → tool-formatters-C-s_-u0v.d.ts} +2 -2
  60. package/dist/{tool-formatters-DO56YBBw.d.ts.map → tool-formatters-C-s_-u0v.d.ts.map} +1 -1
  61. package/dist/tools/fetch-url.d.ts +1 -1
  62. package/dist/tools/web-search.d.ts +1 -1
  63. package/dist/tools.d.ts +1 -1
  64. package/dist/tools.js +1 -1
  65. package/dist/{transcript-anchors-DXqWWGbq.d.ts → transcript-anchors-D1ToF-EW.d.ts} +2 -2
  66. package/dist/{transcript-anchors-DXqWWGbq.d.ts.map → transcript-anchors-D1ToF-EW.d.ts.map} +1 -1
  67. package/dist/tui.d.ts +3 -3
  68. package/dist/tui.js +4 -4
  69. package/dist/{turn-operations-DKFYWP3O.d.ts → turn-operations-Bp5-BAki.d.ts} +3 -3
  70. package/dist/{turn-operations-DKFYWP3O.d.ts.map → turn-operations-Bp5-BAki.d.ts.map} +1 -1
  71. package/dist/types.d.ts +1 -1
  72. package/docs/IPC.md +5 -0
  73. package/package.json +1 -1
  74. package/dist/agent-C-camKQW.js.map +0 -1
  75. package/dist/approvals-BF15XIhM.js.map +0 -1
  76. package/dist/index-Dju2gu3w.d.ts.map +0 -1
  77. package/dist/server-CcqxlLf3.js.map +0 -1
@@ -1,7 +1,7 @@
1
- import { B as McpCredentialStore, Cd as ProviderKey, Cl as ThemeSurfaces, Cu as StreamEvent, Eu as ProjectBrief, Gi as AgentHookMap, Gp as Provider, Hg as TurnUsage, Jc as SourcedScanPath, Ki as AgentHooks, Np as CacheBreakInfo, Qh as McpServerConfig, Rh as AgentStats, Sg as SessionTurn, Sl as ThemeSelect, Su as Settings, T_ as SessionStore, Vg as TurnFinishReason, Wi as Agent, Zh as JsonValue, ad as ModelChainEntry, bl as Theme, bu as Screen, eg as McpToolSchema, gu as EditPayload, if as InteractionResponse, kd as ProviderDescriptor, m_ as SkillConfig, mp as ContextSegment, mu as EditOutcome, qg as ToolDef, rf as InteractionRequest, v_ as SkillsConfig, vl as SyntaxStyles, x_ as Session, xl as ThemeColors, xu as SessionMeta, yp as ContextBreakdown, z as McpCredentialEntry, zh as AutoCompact } from "./index-B-FSaM3_.js";
2
- import { O as ResolvedConfig, _ as DiscoveredMcp, f as DiscoveredPlugin, it as KeyBindings, v as DiscoveryError, yt as Hint } from "./transcript-anchors-DXqWWGbq.js";
3
- import { P as ProviderUsageSnapshot, Rt as FileEntry, a as ActiveTodosState, ct as HunkResolution, dt as PreviewResult, h as TodoTally, p as TodoItem } from "./turn-operations-DKFYWP3O.js";
4
- import { H as ApprovalRequest, V as ApprovalDecision, tt as PromptTurnRef } from "./tool-formatters-DO56YBBw.js";
1
+ import { B as McpCredentialStore, Cd as ProviderKey, Cl as ThemeSurfaces, Cu as StreamEvent, Eu as ProjectBrief, Gi as AgentHookMap, Gp as Provider, Hg as TurnUsage, Jc as SourcedScanPath, Ki as AgentHooks, Np as CacheBreakInfo, Qh as McpServerConfig, Rh as AgentStats, Sg as SessionTurn, Sl as ThemeSelect, Su as Settings, T_ as SessionStore, Vg as TurnFinishReason, Wi as Agent, Zh as JsonValue, ad as ModelChainEntry, bl as Theme, bu as Screen, eg as McpToolSchema, es as ExtensionHostRuntimeBridge, gu as EditPayload, if as InteractionResponse, kd as ProviderDescriptor, m_ as SkillConfig, mp as ContextSegment, mu as EditOutcome, qg as ToolDef, rf as InteractionRequest, v_ as SkillsConfig, vl as SyntaxStyles, x_ as Session, xl as ThemeColors, xu as SessionMeta, yp as ContextBreakdown, z as McpCredentialEntry, zh as AutoCompact } from "./index-DFGECPfm.js";
2
+ import { O as ResolvedConfig, _ as DiscoveredMcp, f as DiscoveredPlugin, it as KeyBindings, v as DiscoveryError, yt as Hint } from "./transcript-anchors-D1ToF-EW.js";
3
+ import { P as ProviderUsageSnapshot, Rt as FileEntry, a as ActiveTodosState, ct as HunkResolution, dt as PreviewResult, h as TodoTally, p as TodoItem } from "./turn-operations-Bp5-BAki.js";
4
+ import { H as ApprovalRequest, V as ApprovalDecision, tt as PromptTurnRef } from "./tool-formatters-C-s_-u0v.js";
5
5
  import { Hookable } from "hookable";
6
6
  import { spawn } from "node:child_process";
7
7
  import { Dispatch, ReactNode, SetStateAction } from "react";
@@ -508,6 +508,27 @@ declare function compareSemver(a: string, b: string): -1 | 0 | 1;
508
508
  */
509
509
  declare function checkForUpdate(options: CheckForUpdateOptions): Promise<UpdateStatus>;
510
510
  declare function detectPackageManager(opts?: DetectPackageManagerOptions): PackageManagerCommand;
511
+ interface TarballAvailabilityOptions {
512
+ packageName: string;
513
+ version: string;
514
+ registry?: string;
515
+ timeoutMs?: number;
516
+ /** Inject for tests. */
517
+ fetcher?: typeof fetch;
518
+ }
519
+ /**
520
+ * Whether `<packageName>@<version>` can actually be DOWNLOADED right now, not
521
+ * merely resolved. Right after a publish the registry serves the new
522
+ * manifest minutes before the tarball reaches the CDN; a package manager
523
+ * that hits that window on an `optionalDependencies` platform binary
524
+ * silently skips it and leaves a bin with nothing behind it. `upgrade` asks
525
+ * this before spawning the PM so it can wait instead of breaking the install.
526
+ *
527
+ * - `'ok'` tarball responds 2xx
528
+ * - `'missing'` manifest or tarball 404 (published, not propagated)
529
+ * - `'unknown'` network / registry error; the caller decides
530
+ */
531
+ declare function checkTarballAvailable(opts: TarballAvailabilityOptions): Promise<'ok' | 'missing' | 'unknown'>;
511
532
  interface PerformSelfUpdateOptions {
512
533
  packageName: string;
513
534
  channel?: string;
@@ -649,10 +670,19 @@ interface RunUpdateCommandOptions {
649
670
  * Absent companions are silently skipped; `--tui-only` skips them all.
650
671
  */
651
672
  companions?: readonly CompanionSpec[];
673
+ /**
674
+ * Reports the version now installed for `packageName` (e.g. by running the
675
+ * bin with `--version`), `null` when nothing usable is there, `undefined`
676
+ * to skip verification. The host wires this; the library cannot know how
677
+ * its own bin is invoked.
678
+ */
679
+ verifyInstalled?: (packageName: string) => string | null | undefined;
652
680
  /** Inject for tests. */
653
681
  findCompanion?: typeof findInstalledCompanion;
654
682
  /** Inject for tests. */
655
683
  performSelfUpdate?: typeof performSelfUpdate;
684
+ /** Inject for tests. */
685
+ checkTarballAvailable?: typeof checkTarballAvailable;
656
686
  }
657
687
  interface RunUpdateCommandResult {
658
688
  exitCode: number;
@@ -662,8 +692,16 @@ interface RunUpdateCommandResult {
662
692
  * - `0` — update succeeded, `--check` reported no update, or `--check`
663
693
  * reported an update (informational only).
664
694
  * - `1` — update failed (PM exit non-zero, in-place download failed,
665
- * registry returned non-2xx).
695
+ * registry returned non-2xx, release not downloadable yet).
666
696
  * - `2` — argv parse error (unknown flag).
697
+ *
698
+ * Output is a short ledger, one line per package, ASCII-only apart from the
699
+ * arrow:
700
+ * zidane-tui 7.0.7 → 7.0.8
701
+ * $ volta install zidane-tui@latest
702
+ * …
703
+ * zidane-tui 7.0.8 ok
704
+ * Diagnostics go to stderr and say what to do next.
667
705
  */
668
706
  declare function runUpdateCommand(options: RunUpdateCommandOptions): Promise<RunUpdateCommandResult>;
669
707
  //#endregion
@@ -1536,6 +1574,16 @@ type HostSettings = Settings & {
1536
1574
  interface QueuedItem {
1537
1575
  id: string;
1538
1576
  text: string;
1577
+ /**
1578
+ * What rides with the text, WITHOUT the bytes — enough for a queue row to
1579
+ * show "+2 attachments" chips the way the echoed prompt will. The payload
1580
+ * itself stays host-side until the entry is sent.
1581
+ */
1582
+ attachments?: QueuedAttachment[];
1583
+ }
1584
+ interface QueuedAttachment {
1585
+ mediaType: string;
1586
+ name?: string;
1539
1587
  }
1540
1588
  /**
1541
1589
  * Live per-session presence — which sessions have attached windows and
@@ -1920,6 +1968,15 @@ interface ChatHostEnvironment {
1920
1968
  * Hosts own caching/invalidation — the engine calls this per agent build.
1921
1969
  */
1922
1970
  runtimeConfig: (cwd: string) => Promise<ResolvedConfig>;
1971
+ /**
1972
+ * The extension host-runtime bridge the host passed to its registry
1973
+ * builds (`discoverAndBuildExtensionRegistry({ hostRuntime })`). The
1974
+ * engine scopes a per-session impl onto it for the duration of each `/`
1975
+ * command, so `ctx.workspace` / `ctx.runtime` / `ctx.sessions` resolve to
1976
+ * the invoking session instead of reading as detached. Absent → those
1977
+ * surfaces stay detached (extensions get the documented guard error).
1978
+ */
1979
+ hostRuntime?: ExtensionHostRuntimeBridge;
1923
1980
  /** Base user-data directory (`~/.zidane`) — safelist, tool-result blobs. */
1924
1981
  userDataDir: () => string;
1925
1982
  /** Re-apply provider auth env right before building a provider. */
@@ -2031,6 +2088,14 @@ declare function createInteractionHub(options: {
2031
2088
  * silently stops applying on one surface.
2032
2089
  */
2033
2090
  readSettings: () => Settings;
2091
+ /**
2092
+ * Called after a LIVE plan is answered `reject`. The TUI's in-process
2093
+ * flow aborts the run at that point (the model records the rejection as
2094
+ * its tool_result, then the loop unwinds) — the hub does the same for
2095
+ * every host surface so a rejected plan means "stop", not "carry on
2096
+ * without approval", in the GUI and over the daemon alike.
2097
+ */
2098
+ onPlanRejected?: (sessionId: string) => void;
2034
2099
  }): InteractionHub;
2035
2100
  //#endregion
2036
2101
  //#region src/chat/host/orchestration.d.ts
@@ -2152,6 +2217,8 @@ interface ChatHost {
2152
2217
  delivered: 'queued' | 'sent';
2153
2218
  }>;
2154
2219
  queueRemove: (sessionId: string, id: string) => boolean;
2220
+ /** Edit a queued entry's text in place (keeps its position). `false` when the id is gone. */
2221
+ queueUpdate: (sessionId: string, id: string, text: string) => boolean;
2155
2222
  queueList: (sessionId: string) => QueuedItem[];
2156
2223
  /**
2157
2224
  * The `SYSTEM.md` override composing this session's prompt, for windows
@@ -3626,5 +3693,5 @@ declare function renderActiveTodoAnchor(todos: readonly TodoItem[], options?: Ac
3626
3693
  */
3627
3694
  declare function createActiveTodoAnchorHooks(options?: ActiveTodoAnchorOptions): AgentHookMap;
3628
3695
  //#endregion
3629
- export { ProjectsFile as $, shortChord as $n, PackageManagerCommand as $r, createFileMcpCredentialStore as $t, buildSkillsConfig as A, SUBAGENT_GUIDANCE as Ai, ChatHostEnvironment as An, ClaudeCopyResult as Ar, sessionModelFallbacks as At, SettingsCategoryDescriptor as B, RunningWorkItem as Bn, BuildUpdateHintOptions as Br, loadMcpToolsCache as Bt, userSystemMdPath as C, DOING_TASKS_DOCTRINE as Ci, PendingAnnotation as Cn, setProviderCredential as Cr, OAuthFlowOptions as Ct, SpawnStartRecord as D, INTERACTION_GUIDANCE_NO_PROMPTS as Di, ApprovalRequestInput as Dn, isReservedCredKey as Dr, supportsOAuth as Dt, useStreamBuffer as E, INTERACTION_GUIDANCE as Ei, ApprovalHub as En, alternateCredKey as Er, runOAuthLogin as Et, SETTINGS_CATEGORIES as F, ChatTurnsReadToolOptions as Fi, HostSettings as Fn, hasClaudeCodeSetup as Fr, removeMcpServer as Ft, StringSettingKey as G, WireApprovalRequest as Gn, RunUpdateCommandResult as Gr, McpToolToggleSet as Gt, SettingsInput as H, SerializedPreview as Hn, buildUpdateHint as Hr, refreshMcpToolsCatalog as Ht, SETTINGS_CHOICES as I, chatReferenceTokensForPrompt as Ii, HostSignal as In, importFromClaudeCode as Ir, upsertMcpServer as It, folderlessCwd as J, cleanTitle as Jn, InstalledCompanion as Jr, useMcpToolToggleSet as Jt, enforceSettingsInvariants as K, toTodosSnapshot as Kn, runUpdateCommand as Kr, buildToolToggle as Kt, SETTINGS_INPUTS as L, createChatTurnsReadTool as Li, PendingInteraction as Ln, tryOpenBrowser as Lr, CachedMcpToolList as Lt, discoverProjectSkills as M, buildBuildSystem as Mi, ApprovalOriginator as Mn, ClaudeImportSummary as Mr, RemoveMcpResult as Mt, BooleanSettingKey as N, buildPlanSystem as Ni, CommandArgSuggestionSummary as Nn, ClaudeSessionImportResult as Nr, UpsertMcpResult as Nt, buildSpawnEndEvent as O, PLAN_MODE_DOCTRINE as Oi, createApprovalHub as On, ConfigProvider as Or, ModelFallbackTarget as Ot, DEFAULT_SETTINGS as P, envSection as Pi, CommandSummary as Pn, countClaudeSessionFiles as Pr, mcpsWritePath as Pt, ProjectEntry as Q, buildHints as Qn, InPlaceUpdateResult as Qr, parentServerName as Qt, SETTINGS_TOGGLES as R, PromptAttachment as Rn, bootProfileEnabled as Rr, McpToolsCache as Rt, userScopeOverridesLoad as S, COMMUNICATION_DOCTRINE as Si, EditOutcomeLedger as Sn, setPreferredCredential as Sr, redirectUriFromAuthUrl as St, StreamSource as T, IDENTITY_PREFIX as Ti, runCompaction as Tn, ALTERNATE_CRED_KEY_SUFFIX as Tr, oauthUsesManualCodePaste as Tt, SettingsProvider as U, SessionPresence as Un, useUpdateCheck as Ur, saveMcpToolsCache as Ut, SettingsChoice as V, SendOptions as Vn, UseUpdateCheckOptions as Vr, mcpToolsCachePath as Vt, SettingsToggle as W, TodosSnapshot as Wn, RunUpdateCommandOptions as Wr, subscribeMcpToolsCache as Wt, scopeCwd as X, shouldAutoGenerateTitle as Xn, CheckForUpdateOptions as Xr, buildVisibleMcpRows as Xt, resolveSessionCwd as Y, generateSessionTitle as Yn, findInstalledCompanion as Yr, VisibleMcpRow as Yt, IMPLICITLY_SAFE_TOOLS as Z, BuildHintsOptions as Zn, DetectPackageManagerOptions as Zr, indexOfServerRow as Zt, DiscoverSystemMdOptions as _, DiscoverAgentsMdOptions as _i, CreateWorkerParams as _n, credentialsPath as _r, findGitRoot as _t, GRUVBOX_DARK as a, UpdateStatus as ai, McpAuthEvent as an, Walk as ar, readProjects as at, discoverSystemMd as b, ACTIONS_WITH_CARE_DOCTRINE as bi, InteractionHub as bn, readProviderCredentialPair as br, fetchOAuthRedirect as bt, CATPPUCCIN_LATTE as c, detectLibc as ci, getMcpAuthStatus as cn, DiscoveryProvider as cr, runEndNotice as ct, ThemeProvider as d, performInPlaceSelfUpdate as di, readFileSafe as dn, ApiKeyCredential as dr, clearProviderUsageCache as dt, PackageManagerId as ei, mcpCredentialsPath as en, parseEditorCommand as er, addToSafelist as et, useColors as f, performSelfUpdate as fi, resolveCwdPath as fn, CredentialsFile as fr, fetchAllProviderUsage as ft, useTheme as g, AgentsMdResult as gi, createChatHost as gn, applyApiKeyEnv as gr, usageSourceFor as gt, useSyntaxStyles as h, AgentsMdFile as hi, ContextSegmentsReport as hn, ProviderCredential as hr, usageChecksOptedOut as ht, VAPORWAVE_THEME as i, SelfUpdateResult as ii, useMcpAuthState as in, DiscoverySlotOptions as ir, projectsFilePath as it, defaultSkillScanPaths as j, TOKEN_DISCIPLINE_DOCTRINE as ji, PendingApprovalsStore as jn, ClaudeImportOptions as jr, McpConfigScope as jt, buildSpawnStartEvent as k, PLAN_MODE_DOCTRINE_NO_PROMPTS as ki, createMemoryApprovalsStore as kn, useConfig as kr, modelChainMetadata as kt, CATPPUCCIN_MACCHIATO as l, detectPackageManager as li, reduceMcpAuth as ln, useDiscovery as lr, FetchProviderUsageOptions as lt, useSurfaces as m, chatAutoCompactBehavior as mi, ChatHost as mn, PreferCredentialResult as mr, providerUsageSupported as mt, createActiveTodoAnchorHooks as n, PerformSelfUpdateOptions as ni, McpAuthProvider as nn, Commit as nr, isOnSafelist as nt, GRUVBOX_LIGHT as o, checkForUpdate as oi, McpAuthStateMap as on, createDiscoverySlot as or, suggestSafelistEntries as ot, useSelectStyle as p, resolvePlatformPackage as pi, serializePreview as pn, OAuthCredential as pr, fetchProviderUsage as pt, useSettings as q, GenerateSessionTitleOptions as qn, CompanionSpec as qr, useMcpToolToggleMap as qt, renderActiveTodoAnchor as r, PlatformTarballOptions as ri, useMcpAuthDispatch as rn, DiscoverySlot as rr, matchesSafelistEntry as rt, CATPPUCCIN_FRAPPE as s, compareSemver as si, McpAuthStatus as sn, DiscoveryContextValue as sr, writeProjects as st, ActiveTodoAnchorOptions as t, PerformInPlaceUpdateOptions as ti, patchMcpCredential as tn, quoteForShell as tr, getSafelist as tt, CATPPUCCIN_MOCHA as u, parseSemver as ui, extractEditPayloadForGate as un, useDiscoveryOptional as ur, USAGE_CACHE_TTL_MS as ut, SystemMdFile as v, discoverAgentsMd as vi, WorkerRow as vn, readCredentials as vr, formatPathForCwd as vt, StreamBuffer as w, EnvSectionOptions as wi, CompactionEntry as wn, writeCredentials as wr, OAuthPrompt$1 as wt, renderSystemMdSeed as x, BuildSystemOptions as xi, createInteractionHub as xn, removeProviderCredential as xr, normalizeRedirectPaste as xt, SystemMdResult as y, renderAgentsMdBlock as yi, WorkerSummary as yn, readProviderCredential as yr, FetchOAuthRedirectResult as yt, SettingsCategory as z, QueuedItem as zn, bootTick as zr, clearMcpToolsCache as zt };
3630
- //# sourceMappingURL=index-Dju2gu3w.d.ts.map
3696
+ export { ProjectsFile as $, buildHints as $n, InPlaceUpdateResult as $r, createFileMcpCredentialStore as $t, buildSkillsConfig as A, INTERACTION_GUIDANCE_NO_PROMPTS as Ai, ChatHostEnvironment as An, useConfig as Ar, sessionModelFallbacks as At, SettingsCategoryDescriptor as B, createChatTurnsReadTool as Bi, QueuedItem as Bn, bootTick as Br, loadMcpToolsCache as Bt, userSystemMdPath as C, ACTIONS_WITH_CARE_DOCTRINE as Ci, PendingAnnotation as Cn, setPreferredCredential as Cr, OAuthFlowOptions as Ct, SpawnStartRecord as D, EnvSectionOptions as Di, ApprovalRequestInput as Dn, alternateCredKey as Dr, supportsOAuth as Dt, useStreamBuffer as E, DOING_TASKS_DOCTRINE as Ei, ApprovalHub as En, ALTERNATE_CRED_KEY_SUFFIX as Er, runOAuthLogin as Et, SETTINGS_CATEGORIES as F, buildBuildSystem as Fi, HostSettings as Fn, countClaudeSessionFiles as Fr, removeMcpServer as Ft, StringSettingKey as G, TodosSnapshot as Gn, RunUpdateCommandOptions as Gr, McpToolToggleSet as Gt, SettingsInput as H, SendOptions as Hn, UseUpdateCheckOptions as Hr, refreshMcpToolsCatalog as Ht, SETTINGS_CHOICES as I, buildPlanSystem as Ii, HostSignal as In, hasClaudeCodeSetup as Ir, upsertMcpServer as It, folderlessCwd as J, GenerateSessionTitleOptions as Jn, CompanionSpec as Jr, useMcpToolToggleSet as Jt, enforceSettingsInvariants as K, WireApprovalRequest as Kn, RunUpdateCommandResult as Kr, buildToolToggle as Kt, SETTINGS_INPUTS as L, envSection as Li, PendingInteraction as Ln, importFromClaudeCode as Lr, CachedMcpToolList as Lt, discoverProjectSkills as M, PLAN_MODE_DOCTRINE_NO_PROMPTS as Mi, ApprovalOriginator as Mn, ClaudeImportOptions as Mr, RemoveMcpResult as Mt, BooleanSettingKey as N, SUBAGENT_GUIDANCE as Ni, CommandArgSuggestionSummary as Nn, ClaudeImportSummary as Nr, UpsertMcpResult as Nt, buildSpawnEndEvent as O, IDENTITY_PREFIX as Oi, createApprovalHub as On, isReservedCredKey as Or, ModelFallbackTarget as Ot, DEFAULT_SETTINGS as P, TOKEN_DISCIPLINE_DOCTRINE as Pi, CommandSummary as Pn, ClaudeSessionImportResult as Pr, mcpsWritePath as Pt, ProjectEntry as Q, BuildHintsOptions as Qn, DetectPackageManagerOptions as Qr, parentServerName as Qt, SETTINGS_TOGGLES as R, ChatTurnsReadToolOptions as Ri, PromptAttachment as Rn, tryOpenBrowser as Rr, McpToolsCache as Rt, userScopeOverridesLoad as S, renderAgentsMdBlock as Si, EditOutcomeLedger as Sn, removeProviderCredential as Sr, redirectUriFromAuthUrl as St, StreamSource as T, COMMUNICATION_DOCTRINE as Ti, runCompaction as Tn, writeCredentials as Tr, oauthUsesManualCodePaste as Tt, SettingsProvider as U, SerializedPreview as Un, buildUpdateHint as Ur, saveMcpToolsCache as Ut, SettingsChoice as V, RunningWorkItem as Vn, BuildUpdateHintOptions as Vr, mcpToolsCachePath as Vt, SettingsToggle as W, SessionPresence as Wn, useUpdateCheck as Wr, subscribeMcpToolsCache as Wt, scopeCwd as X, generateSessionTitle as Xn, findInstalledCompanion as Xr, buildVisibleMcpRows as Xt, resolveSessionCwd as Y, cleanTitle as Yn, InstalledCompanion as Yr, VisibleMcpRow as Yt, IMPLICITLY_SAFE_TOOLS as Z, shouldAutoGenerateTitle as Zn, CheckForUpdateOptions as Zr, indexOfServerRow as Zt, DiscoverSystemMdOptions as _, chatAutoCompactBehavior as _i, CreateWorkerParams as _n, applyApiKeyEnv as _r, findGitRoot as _t, GRUVBOX_DARK as a, SelfUpdateResult as ai, McpAuthEvent as an, DiscoverySlotOptions as ar, readProjects as at, discoverSystemMd as b, DiscoverAgentsMdOptions as bi, InteractionHub as bn, readProviderCredential as br, fetchOAuthRedirect as bt, CATPPUCCIN_LATTE as c, checkForUpdate as ci, getMcpAuthStatus as cn, DiscoveryContextValue as cr, runEndNotice as ct, ThemeProvider as d, detectLibc as di, readFileSafe as dn, useDiscoveryOptional as dr, clearProviderUsageCache as dt, PackageManagerCommand as ei, mcpCredentialsPath as en, shortChord as er, addToSafelist as et, useColors as f, detectPackageManager as fi, resolveCwdPath as fn, ApiKeyCredential as fr, fetchAllProviderUsage as ft, useTheme as g, resolvePlatformPackage as gi, createChatHost as gn, ProviderCredential as gr, usageSourceFor as gt, useSyntaxStyles as h, performSelfUpdate as hi, ContextSegmentsReport as hn, PreferCredentialResult as hr, usageChecksOptedOut as ht, VAPORWAVE_THEME as i, PlatformTarballOptions as ii, useMcpAuthState as in, DiscoverySlot as ir, projectsFilePath as it, defaultSkillScanPaths as j, PLAN_MODE_DOCTRINE as ji, PendingApprovalsStore as jn, ClaudeCopyResult as jr, McpConfigScope as jt, buildSpawnStartEvent as k, INTERACTION_GUIDANCE as ki, createMemoryApprovalsStore as kn, ConfigProvider as kr, modelChainMetadata as kt, CATPPUCCIN_MACCHIATO as l, checkTarballAvailable as li, reduceMcpAuth as ln, DiscoveryProvider as lr, FetchProviderUsageOptions as lt, useSurfaces as m, performInPlaceSelfUpdate as mi, ChatHost as mn, OAuthCredential as mr, providerUsageSupported as mt, createActiveTodoAnchorHooks as n, PerformInPlaceUpdateOptions as ni, McpAuthProvider as nn, quoteForShell as nr, isOnSafelist as nt, GRUVBOX_LIGHT as o, TarballAvailabilityOptions as oi, McpAuthStateMap as on, Walk as or, suggestSafelistEntries as ot, useSelectStyle as p, parseSemver as pi, serializePreview as pn, CredentialsFile as pr, fetchProviderUsage as pt, useSettings as q, toTodosSnapshot as qn, runUpdateCommand as qr, useMcpToolToggleMap as qt, renderActiveTodoAnchor as r, PerformSelfUpdateOptions as ri, useMcpAuthDispatch as rn, Commit as rr, matchesSafelistEntry as rt, CATPPUCCIN_FRAPPE as s, UpdateStatus as si, McpAuthStatus as sn, createDiscoverySlot as sr, writeProjects as st, ActiveTodoAnchorOptions as t, PackageManagerId as ti, patchMcpCredential as tn, parseEditorCommand as tr, getSafelist as tt, CATPPUCCIN_MOCHA as u, compareSemver as ui, extractEditPayloadForGate as un, useDiscovery as ur, USAGE_CACHE_TTL_MS as ut, SystemMdFile as v, AgentsMdFile as vi, WorkerRow as vn, credentialsPath as vr, formatPathForCwd as vt, StreamBuffer as w, BuildSystemOptions as wi, CompactionEntry as wn, setProviderCredential as wr, OAuthPrompt$1 as wt, renderSystemMdSeed as x, discoverAgentsMd as xi, createInteractionHub as xn, readProviderCredentialPair as xr, normalizeRedirectPaste as xt, SystemMdResult as y, AgentsMdResult as yi, WorkerSummary as yn, readCredentials as yr, FetchOAuthRedirectResult as yt, SettingsCategory as z, chatReferenceTokensForPrompt as zi, QueuedAttachment as zn, bootProfileEnabled as zr, clearMcpToolsCache as zt };
3697
+ //# sourceMappingURL=index-DP7xYXr9.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DP7xYXr9.d.ts","names":[],"sources":["../src/tools/read-chat-turns.ts","../src/chat/agent-prompt.ts","../src/chat/agents-md.ts","../src/chat/auto-compact.ts","../src/chat/auto-update.ts","../src/chat/auto-update-companion.ts","../src/chat/auto-update-cli.ts","../src/chat/auto-update-hook.ts","../src/chat/boot-profiler.ts","../src/chat/browser.ts","../src/chat/claude-import.ts","../src/chat/config-context.tsx","../src/chat/cred-keys.ts","../src/chat/credentials.ts","../src/chat/discovery-context.tsx","../src/chat/discovery-slot.ts","../src/chat/editor-command.ts","../src/chat/footer-hints.ts","../src/chat/generate-title.ts","../src/chat/host/signals.ts","../src/chat/host/environment.ts","../src/chat/host/approvals.ts","../src/chat/host/compaction.ts","../src/chat/host/edit-outcome-ledger.ts","../src/chat/host/interactions.ts","../src/chat/host/orchestration.ts","../src/chat/host/engine.ts","../src/chat/host/helpers.ts","../src/chat/mcp-auth-state.ts","../src/chat/mcp-auth-context.tsx","../src/chat/mcp-credentials.ts","../src/chat/mcp-rows.ts","../src/chat/mcp-tool-toggle.ts","../src/chat/mcp-tools-cache.ts","../src/chat/mcps-write.ts","../src/chat/model-chain-metadata.ts","../src/chat/oauth.ts","../src/chat/oauth-redirect.ts","../src/chat/path-display.ts","../src/chat/project-root.ts","../src/chat/provider-usage.ts","../src/chat/run-end-notice.ts","../src/chat/safe-mode.ts","../src/chat/session-cwd.ts","../src/chat/settings-context.tsx","../src/chat/skills-discovery.ts","../src/chat/spawn-markers.ts","../src/chat/streaming.ts","../src/chat/system-md.ts","../src/chat/theme-context.tsx","../src/chat/themes/catppuccin.ts","../src/chat/themes/gruvbox.ts","../src/chat/themes/vaporwave.ts","../src/chat/todo-anchor.ts"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { a as AgentLengthResumeExhaustedError, c as AgentToolPairingError, d as ClassifiedErrorKind, f as errorMessage, i as AgentContextExceededError, l as CONTEXT_EXCEEDED_MESSAGE_PATTERNS, m as toTypedError, n as AgentAbortedError, o as AgentProviderError, p as matchesContextExceeded, r as AgentBudgetExceededError, s as AgentToolNotAllowedError, t as OperationTimeoutError, u as ClassifiedError } from "./timeout-DEaqslLO.js";
2
- import { $ as SessionArtifactDirMigration, $_ as autoDetectAndConvert, $a as ExtensionBusSurface, $c as parseSkillFile, $d as ConfirmQuestion, $g as hashContent, $h as McpToolHookContext, $i as ExtensionCatalogPartition, $l as CommandInteraction, $m as arcee, $n as HeadlessResult, $o as createExtensionHud, $p as ToolSpec, $r as createRunSummaryCollector, $s as PLUGIN_SKILLS_DIR, $t as EvalRunUsage, A as Meter, Aa as discoverExtensions, Ac as validateSkillForWrite, Ag as ToolHookContext, Ah as getOAuthApiKey, Ai as CompactionSlice, Al as patchInlineGhost, An as efficiencyMetricValues, Ao as ExtensionToolPolicy, Ap as ContextSnapshot, Ar as createSkillsReadTool, As as coerceExtensionConfigInput, At as resolveExtensionDocsDir, Av as originPinnedFetch, B as McpCredentialStore, B_ as createFileMapStore, Ba as defineExtension, Bc as SkillInstallErrorCode, Bf as LogRecord, Bg as ToolResultVideoContent, Bh as AutoCompactConfig, Bi as defaultRepeatGuardTracked, Bl as CompletionSubmitContext, Bm as MistralParams, Bn as functionalityMetric, Bo as GuiContributions, Bp as fnv1a32, Br as grep, Bs as SpawnTaskOutcome, Bt as EvalAgentStats, C as SuccessfulMutationOutcome, C_ as SessionMetaRow, Ca as readExtensionInstallProvenance, Cc as SkillValidationIssue, Cg as SpawnHookContext, Ch as extractRuntimeCredentials, Ci as buildCompactPrompt, Cn as clearRegisteredEvals, Co as ExtensionRuntimeEnv, Cp as ContextCategory, Cs as ExtensionConfigSurface, Ct as ZIDANE_SKILL_EDIT_SKILL_NAME, Cv as normalizeMcpBlocks, D as Counter, Da as ENTRY_CANDIDATES, Dc as parseAllowedToolPattern, Dd as ModelInfo, Dg as ThinkingDecay, Dh as resolveOAuthApiKey, Di as buildUpToCompactPrompt, Dl as InlineAutocompleteProvider, Dn as createReusableExecutionContext, Do as ExtensionStorageScope, Dp as ContextExtensionSection, Dr as SkillsRunScriptToolOptions, Ds as WireExtensionConfigItem, Dt as extensionDirForCwd, E as resolveModelTargets, E_ as createSession, Ea as registerExtensionHostModules, Ec as matchesAllowedTool, Ed as CustomField, Eg as StreamHookContext, Eh as registerCustomOAuthProvider, Ei as buildTailCompactPrompt, El as InlineAutocompleteContext, Em as classifyOpenAICompatError, En as createEvalRunReporter, Eo as ExtensionSource, Ep as ContextExtensionRow, Er as createSkillsUseTool, Es as StoredExtensionConfigItem, Et as editSessionMetadata, Ev as resultToString, F as createMetricsHooks, F_ as RemoteStoreOptions, Fa as DiscoverAndBuildExtensionRegistryOptions, Fc as stripShellInterpolations, Ff as isStandardSchema, Fg as ToolResultDocumentRefContent, Fh as AgentBehavior, Fi as summaryToTurn, Fm as OpenAIParams, Fn as fileExistsOneOf, Fo as ExtensionToolResultMetadataRegistration, Fp as CacheDimensionDiff, Fs as sanitizeExtensionConfigActionPatch, Ft as EvalAgent, Fv as setModelCatalog, G as OAuthCallbackHandle, G_ as PairingRepair, Ga as createExtensionBus, Gc as listSkillCandidates, Gd as AutoCompactDecision, Gf as RingBufferSink, Gg as toolResultToText, Gh as CompactHookContext, Gi as AgentHookMap, Gn as runEvalCase, Go as ExtensionHud, Gp as Provider, Gr as RunSummaryBudget, Gs as SubagentOverride, Gt as EvalDefinitionContext, H as McpOAuthProviderOptions, H_ as ORPHANED_TOOL_RESULT_MARKER, Ha as ExtensionBus, Hc as SkillInstallResult, Hf as Logger, Hg as TurnUsage, Hi as stableStringify, Hn as normalizeMetric, Ho as LoadedPluginRecord, Hp as installCacheBreakLogger, Hr as edit, Hs as SpawnToolOptions, Ht as EvalCaseOptions, I as LoginMcpServerOptions, I_ as createRemoteStore, Ia as discoverAndBuildExtensionRegistry, If as resolveSchemaInput, Ig as ToolResultImageContent, Ii as truncateHeadForPtlRetry, Il as CompletionContext, In as finalizeEvalMetrics, Io as ExtensionToolResultPatch, Ip as CacheDimensionName, Ir as multiEdit, Is as toWireConfigSchema, It as EvalAgentMcpServers, J as startOAuthCallback, J_ as RemintResult, Ja as ExtensionAgentPluginOptions, Jc as SourcedScanPath, Jd as effectiveContextWindow, Jf as createLoggingHooks, Jg as ToolMap, Jh as DedupHasher, Ji as McpConnector, Jl as CommandAgentResult, Jm as cerebras, Jo as ExtensionHudWriter, Jp as StreamCallbacks, Jr as RunSummaryCollectorOptions, Js as isSpawnTool, Jt as EvalRunMetricAggregate, K as OAuthCallbackOptions, K_ as PairingRepairMode, Kc as parseSkillInstallSpec, Kd as AutoCompactInput, Kf as consoleSink, Kg as ToolContext, Kh as CompactStartHookContext, Ki as AgentHooks, Kl as resolveCompletionSubmit, Kn as statusCompleted, Ko as ExtensionHudState, Kp as ProviderCapabilities, Kr as RunSummaryByModel, Ks as SubagentRegistry, Kt as EvalMetric, L as LoginMcpServerResult, L_ as createMemoryStore, La as ExtensionPromptBridge, Lf as zodToJsonSchema, Lg as ToolResultImageRefContent, Lh as AgentRunOptions, Li as GenerateStructuredDataOptions, Ll as CompletionItem, Ln as formatEvalCaseSummary, Lo as ExtensionToolResultTransform, Lp as CacheDimensionSnapshot, Ls as ChildAgent, Lt as EvalAgentRunOptions, M as MetricsHookSet, Ma as isExtensionDefinition, Mc as resolveSkills, Mf as InferSchemaOutput, Mg as ToolResultAudioContent, Mh as refreshAnthropicToken, Mi as anchorPreviewFor, Mn as fileContains, Mo as ExtensionToolRenderer, Mr as CreateShellToolOptions, Ms as isValidExtensionConfigValue, Mt as withZidaneSkillEditSkill, Mv as ModelCatalogEntry, N as MetricsHooksOptions, Na as parseExtensionScanPathEnv, Nc as InterpolateShellCommandsOptions, Nf as SchemaInput, Ng as ToolResultContent, Nh as refreshOpenAICodexToken, Ni as sliceForCompaction, Nn as fileContentQuality, No as ExtensionToolRendererEntry, Np as CacheBreakInfo, Nr as createShellTool, Ns as resolveExtensionConfig, Nt as CreateEvalAgentOptions, Nv as ModelCatalogSource, O as Histogram, Oa as ExtensionScanEntry, Oc as validateResourcePath, Od as ModelOption, Og as ThinkingLevel, Oh as writeOAuthCredentials, Oi as ANCHOR_PREVIEW_MAX_CHARS, Ol as InlineGhost, On as defineEval, Oo as ExtensionStorageSurface, Op as ContextItem, Or as createSkillsRunScriptTool, Os as WireExtensionConfigSchema, Ot as extensionScaffold, P as UpDownCounter, Pa as scanExtensionDirectories, Pc as interpolateShellCommands, Pf as StandardSchemaLike, Pg as ToolResultDocumentContent, Ph as registerOAuthProvider, Pi as stripImagesFromTurns, Pn as fileExists, Po as ExtensionToolRendererRegistration, Pp as CacheBreakLoggerOptions, Ps as resolveExtensionConfigValue, Pt as EFFICIENCY_METRICS, Pv as getModelCatalog, Q as PersistOutcome, Q_ as TurnInterruptionState, Qa as ExtensionBusMessage, Qd as AnswerValue, Qg as getReadState, Qh as McpServerConfig, Qi as BuildExtensionRegistryOptions, Ql as CommandGenerateDataOptions, Qm as ArceeParams, Qo as ExtensionStatusOptions, Qp as ToolResult, Qr as RunSummaryValidation, Qs as matchModelEntries, Qt as EvalRunSummaryCase, R as loginMcpServer, R_ as FileMapAdapter, Ra as ExtensionPromptDelivery, Rc as SkillInstallCandidate, Rf as ConsoleSinkOptions, Rg as ToolResultMetadata, Rh as AgentStats, Ri as generateStructuredData, Rl as CompletionProvider, Rm as openai, Rn as formatEvalRunSummary, Ro as ExtensionToolVerdict, Rp as CacheDriftInfo, Rr as InteractionToolOptions, Rs as ExtensionSubagentDef, Rt as EvalAgentRunResult, S as MutationValidationResult, S_ as SessionData, Sa as parseExtensionInstallSource, Sc as writeSkillsToDisk, Sg as SessionTurn, Sh as credentialsFromParams, Si as TRAILER, Sn as buildTrajectory, So as ExtensionRunTransform, Sp as ContextBreakdownOptions, Ss as ExtensionConfigStringItem, St as ZIDANE_EXTENSION_SKILL_NAME, T as normalizeProviders, T_ as SessionStore, Ta as updateInstalledExtension, Tc as isToolAllowedByUnion, Tg as StepThinkingDecay, Th as readOAuthCredentials, Ti as buildFullCompactPrompt, Tn as createEvalAgent, To as ExtensionSkillPolicy, Tp as ContextExactCounts, Tr as SkillsUseToolOptions, Ts as ExtensionConfigValueItem, Tt as buildZidaneSkillEditSkill, Tv as resolveTransportConfig, U as createMemoryMcpCredentialStore, U_ as PairingDrop, Ua as ExtensionBusChannel, Uc as SkillInstallSpec, Uf as LoggingHookSet, Ug as toolOutputBudgetByteLength, Uh as CompactEndHookContext, Ui as localReliabilityBehavior, Um as LocalParams, Un as registerEvalTests, Uo as TuiContributions, Up as snapshotCacheDimensions, Ur as RunSummary, Us as SpawnToolState, Ut as EvalCaseResult, V as McpOAuthProvider, V_ as EnsureToolResultPairingOptions, Va as EXTENSION_BUS_MAX_PAYLOAD_BYTES, Vc as SkillInstallOptions, Vf as LogSink, Vg as TurnFinishReason, Vh as CacheTtl, Vi as normalizeShellCommand, Vm as mistral, Vn as llmJudge, Vo as LoadedExtension, Vp as hashMessages, Vr as glob, Vs as SpawnTool, Vt as EvalArtifacts, W as hasAuthorizationHeader, W_ as PairingDropKind, Wa as ExtensionBusEnvelope, Wc as installSkillFromSpec, Wd as AUTO_COMPACT_MIN_GROWTH_FRACTION, Wf as LoggingHooksOptions, Wg as toolOutputByteLength, Wh as CompactFunction, Wi as Agent, Wm as local, Wn as relativeArtifactPath, Wo as ExtensionBannerOptions, Wp as HistoryRepair, Wr as RunSummaryBlock, Ws as SubagentDef, Wt as EvalDefinition, X as PERSISTENCE_PREVIEW_BYTES, X_ as TOOL_USE_INTERRUPTED_MARKER, Xa as ExtensionBehaviorTransform, Xf as fanoutSink, Xg as ReadStateEntry, Xh as GeometricThinkingDecay, Xi as McpToolWrap, Xl as CommandAttachment, Xm as baseten, Xn as HeadlessEvent, Xo as ExtensionNotifyOptions, Xr as RunSummaryRepeatGuard, Xs as createModelSearchTool, Xt as EvalRunReporterOptions, Y as PERSISTED_STUB_PREFIX, Y_ as SYNTHETIC_TOOL_RESULT_PLACEHOLDER, Ya as ExtensionApiVersion, Yc as discoverSkills, Yd as shouldAutoCompact, Yf as createRingBufferSink, Yg as HydrateReadStateOptions, Yh as DedupToolConfig, Yi as McpToolMeta, Yl as CommandArgSuggestion, Ym as BasetenParams, Yn as HeadlessErrorInfo, Yo as ExtensionNotification, Yp as StreamOptions, Yr as RunSummaryError, Ys as SpawnModelEntry, Yt as EvalRunReporter, Z as PersistInput, Z_ as ToWireMessagesOptions, Za as ExtensionBusEmitOptions, Zf as jsonSink, Zg as ReadStateMap, Zi as createAgent, Zl as CommandExecution, Zn as HeadlessOptions, Zo as ExtensionNotifyTone, Zp as ToolCall, Zr as RunSummaryTokens, Zs as formatModelLine, Zt as EvalRunSummary, _ as statsByModel, __ as SkillSource, _a as InstallExtensionFromSpecOptions, _c as agentPluginsSchemaId, _g as RunHookMap, _i as BASE_INSTRUCTIONS, _m as OpenAICompatAuthHeader, _n as TrajectoryStep, _o as ExtensionPaths, _p as ContextSegmentsInput, _r as waitTask, _s as ExtensionConfigItem, _t as EXTENSION_EDIT_METADATA_KEY, _v as connectMcpServers, a as basicTools, a_ as StagedToolState, ac as PLUGIN_MANIFEST_FILE, ag as ProgressNudgeMessage, ah as anthropic, ai as RecentFile, al as DeactivationReason, am as xai, an as EvalWorkspaceFile, ao as ExtensionCustomRendererEntry, as as ExtensionSessionsSurface, at as resolveLegacySessionDir, au as CommandStepContext, av as fromAnthropic, b as MutationValidationHooksOptions, b_ as LoadSessionOptions, ba as installExtensionFromSpec, bc as defineSkill, bf as SelectQuestion, bg as SessionHookContext, bh as ResolveOAuthApiKeyOptions, bi as CompactPromptOptions, bn as buildEvalRunSummary, bo as ExtensionProviderMiddleware, bp as ContextBreakdownContributionContext, bs as ExtensionConfigNumberItem, bt as SKILL_EDIT_METADATA_KEY, bv as expandEnvPlaceholders, c as StartSpan, c_ as ToolStateStore, ca as ExtensionFetchResult, cc as AgentPluginsVersion, cg as PromptImagePart, ci as selectFilesFromSession, cl as createSkillActivationState, cm as SchemaSanitizeResult, cn as LlmJudgeOptions, co as ExtensionGuiPanel, cs as createExtensionHostRuntimeBridge, ct as resolveSessionDir, cu as commandBlocksToContent, cv as remintDuplicateToolCallIds, d as TracingHooksOptions, d_ as isToolStateOps, da as ExtensionInstallErrorCode, dc as PluginAuthor, dg as PromptVideoPart, di as CompactOptions, dm as OpenRouterParams, dn as MetricSpec, do as ExtensionKeybindingDispatchContext, ds as ExtensionConfigActionResult, dt as SHELL_CASCADE_CANCEL_MESSAGE, du as parseCommandInvocation, dv as toOpenAI, e_ as hydrateReadStateFromSession, ea as buildExtensionPreset, ec as PLUGIN_MCP_FILE, ei as BYTES_PER_TOKEN, el as buildCatalog, em as TurnResult, en as EvalScore, eo as ExtensionCapability, ep as formatLogLine, er as HeadlessStatus, es as ExtensionHostRuntimeBridge, et as buildPersistedStub, eu as CommandInvocation, ev as detectTurnInterruption, f as createTracingHooks, f_ as stagedToolState, fa as ExtensionInstallIo, fc as PluginComponentStatus, ff as PlanResponse, fg as RepeatGuardConfig, fi as CompactResult, fn as MetricSpecMap, fo as ExtensionManifest, fr as runHeadless, fs as ExtensionConfigActionStatus, ft as TOOL_USE_CANCELLED_MESSAGE, fv as toWireMessages, g as formatTokenUsage, g_ as SkillResource, ga as ExtensionInstallSource, gc as SUPPORTED_AGENT_PLUGINS_VERSIONS, gf as QuestionPayload, gg as RetryConfig, gi as CompactPromptTooLongError, gn as Trajectory, go as ExtensionOrderedContribution, gp as ContextSegmentOrigin, gs as ExtensionConfigEnumItem, gt as renderStaleReadNotice, h as flattenTurns, h_ as SkillDiagnostic, ha as ExtensionInstallScope, hc as PluginSchemaKind, hf as QuestionChoice, hg as ResolveContentRefBlock, hi as CompactInvalidInputError, hn as ReusableExecutionContext, ho as ExtensionModalNode, hp as ContextSegmentFile, hs as ExtensionConfigChangeBehavior, ht as collectNewlyStaleReadPaths, hv as McpExecutionBinding, i as _default, i_ as DEFAULT_MAX_VALUE_BYTES, ia as filterExtensionRegistry, ic as validatePluginManifest, ig as ProgressNudgeKind, ii as PostCompactRestoreOptions, il as ActiveSkill, im as XaiParams, in as EvalVariantSummary, io as ExtensionCustomRenderer, is as ExtensionSessionSummary, it as resolveLegacyPersistDir, iu as CommandStep, iv as filterUnresolvedToolUses, j as MetricAttributes, j_ as loadSession, ja as inlineLoadedExtension, jc as validateSkillName, jg as ToolOutcome, jh as getOAuthProvider, ji as SummaryToTurnInput, jl as resolveInlineSuggestion, jm as openaiCompat, jn as emitEfficiencyMetrics, jo as ExtensionToolRenderProps, jp as ContextUsageSplit, js as isValidExtensionConfigItem, jt as withZidaneExtensionSkill, jv as ModelCatalog, k as InstrumentOptions, ka as defaultExtensionScanPaths, kc as validateResourcePathReal, kd as ProviderDescriptor, kh as OAuthProviderInterface, ki as CompactScope, kl as createPathAutocompleteProvider, km as mapOAIFinishReason, kn as defineMetrics, ko as ExtensionToolCatalogTransform, kp as ContextMcpGroup, kr as SkillsReadToolOptions, ks as clampExtensionConfigNumber, kt as readSkillEditMarker, l as TracingConventions, l_ as ToolStateView, la as ExtensionInstallCandidate, lc as LoadAgentPluginOptions, lg as PromptPart, li as selectRecentFiles, lm as sanitizeToolSchema, ln as MetricDirection, lo as ExtensionGuiSurface, lr as headlessEventToJsonl, ls as createWorkspaceSurface, lt as resolveTasksDir, lu as commandSteps, lv as sanitizeHistoryForProvider, m as TokenUsageLike, m_ as SkillConfig, ma as ExtensionInstallResult, mc as PluginManifest, mf as Question, mg as ResolveContentRef, mi as compactConversation, mn as RegisterEvalTestsOptions, mo as ExtensionModal, mp as ContextSegment, ms as ExtensionConfigCategory, mt as applyCompactSummaryCutoff, mv as McpConnection, n_ as readStateKey, na as composeExtensionPreset, nc as ManifestValidation, ng as ModelTargetSpec, nh as AnthropicParams, ni as utf8ByteLength, nl as installAllowedToolsGate, nn as EvalScorerContext, no as ExtensionContextTransform, ns as ExtensionModelEntry, nt as maybePersistToolResult, nu as CommandSpawnResult, nv as ensureEndsWithUserMessage, o as GEN_AI_ATTRIBUTES, o_ as ToolStateController, oa as mergeContributions, oc as defaultPluginDataRoot, og as PromptAudioPart, oh as applyAnthropicCacheBreakpoints, oi as buildPostCompactAttachments, ol as SkillActivationState, om as SchemaSanitizeOptions, on as EvalWorkspaceOptions, oo as ExtensionDefinition, os as ExtensionWorkspacePair, ot as resolveMcpWarningsDir, ou as CommandStepFn, ov as fromOpenAI, p as ModelUsage, p_ as ShellInterpolationApproval, pa as ExtensionInstallProvenance, pc as PluginDiagnostic, pg as RepeatGuardToolMatcher, pi as CompactStartEvent, pm as openrouter, pn as MetricStats, po as ExtensionMcpConfigTransform, pr as transcriptToOpenAIMessages, ps as ExtensionConfigBooleanItem, pt as TOOL_USE_SKIPPED_MESSAGE, pv as ConnectMcpServersOptions, q as OAuthCallbackResult, q_ as ReasoningWireAction, qa as EMPTY_EXTENSION_REGISTRY, qc as readSkillProvenance, qd as OUTPUT_RESERVE_TOKENS, qf as createLogger, qg as ToolDef, qi as AgentOptions, ql as Command, qm as CerebrasParams, qo as ExtensionHudStatus, qp as ProviderMeta, qr as RunSummaryCollector, qs as createSpawnTool, qt as EvalMetricError, r as definePreset, r_ as resolveReadStateMap, ra as disposeExtensionRegistry, rc as parsePluginManifest, rg as OAuthRefreshHookContext, ri as PostCompactAttachments, rl as ActivationVia, rn as EvalTestRunner, ro as ExtensionContributions, rr as OpenAIChatMessage, rs as ExtensionRuntimeSurface, rt as migrateSessionArtifactDirs, ru as CommandSpawnTask, rv as ensureToolResultPairing, s as Span, s_ as ToolStateOp, sa as partitionExtensionCatalog, sc as loadAgentPlugin, sg as PromptDocumentPart, si as selectFilesFromReadState, sl as SkillActivationStateOptions, sm as SchemaSanitizeProfile, sn as EvalWorkspaceSnapshot, so as ExtensionFooterHint, ss as ExtensionWorkspaceSurface, st as resolvePersistDir, su as commandBlockToEvent, sv as reasoningWireAction, t as Preset, t_ as hydrateReadStateFromSessionAsync, ta as buildExtensionRegistry, tc as expandPluginVars, tg as ModelTarget, ti as estimateTokens, tl as IMPLICITLY_ALLOWED_SKILL_TOOLS, tn as EvalScorer, to as ExtensionContext, tr as HeadlessUsage, ts as ExtensionHostRuntimeImpl, tt as cleanupPersistedSession, tu as CommandOutputBlock, tv as dropInvalidToolPairings, u as TracingHookSet, u_ as createToolStateController, ua as ExtensionInstallError, uc as LoadedPlugin, uf as PlanPayload, ug as PromptTextPart, ui as CompactEndEvent, um as sanitizeToolSpecs, un as MetricEmitter, uo as ExtensionKeybinding, us as ExtensionConfigActionItem, ut as INTERRUPT_MESSAGE_FOR_TOOL_USE, uu as executeCommand, uv as toAnthropic, v as MutationValidationBatch, v_ as SkillsConfig, va as InstalledExtensionTargetOptions, vc as isSupportedAgentPluginsVersion, vg as SessionContentBlock, vi as CompactDirection, vm as OpenAICompatHttpError, vn as TrajectoryStepKind, vo as ExtensionPermission, vr as ValidationResult, vs as ExtensionConfigItemBase, vt as EditSessionTarget, w as createMutationValidationHooks, w_ as SessionRun, wa as removeInstalledExtension, wc as SkillValidationResult, wg as StaleReadPolicy, wh as isOAuthAccessToken, wi as buildFromCompactPrompt, wn as computeEvalTagScores, wo as ExtensionSessionStateSurface, wp as ContextCategoryId, ws as ExtensionConfigValue, wt as buildZidaneExtensionSkill, wv as normalizeMcpServers, x as MutationValidationMutation, x_ as Session, xa as listExtensionCandidates, xc as writeSkillToDisk, xf as TextQuestion, xg as SessionMessage, xh as credentialsFilePath, xi as NO_TOOLS_PREAMBLE, xn as buildRegisteredEvals, xo as ExtensionRegistry, xp as ContextBreakdownContributor, xs as ExtensionConfigScope, xt as SkillEditMarker, xv as expandMcpConfigEnv, y as MutationValidationFailure, y_ as CreateSessionOptions, ya as fetchExtensionSource, yc as parseSchemaId, yg as SessionEndStatus, yh as OAuthParams, yi as CompactPromptBuilder, ym as OpenAICompatParams, yn as artifactPath, yo as ExtensionPromptTransform, yp as ContextBreakdown, yr as validateToolArgs, ys as ExtensionConfigModelItem, yt as ExtensionEditMarker, z as McpCredentialEntry, z_ as FileMapStoreOptions, za as createExtensionPromptBridge, zc as SkillInstallError, zf as LogLevel, zg as ToolResultTextContent, zh as AutoCompact, zi as defaultRepeatGuardNormalize, zl as CompletionReference, zn as formatTrajectoryLine, zo as ExtensionTuiSurface, zp as diffCacheDimensions, zr as createInteractionTool, zs as SpawnTaskInput, zt as EvalAgentRunStats } from "./index-B-FSaM3_.js";
2
+ import { $ as SessionArtifactDirMigration, $_ as autoDetectAndConvert, $a as ExtensionBusSurface, $c as parseSkillFile, $d as ConfirmQuestion, $g as hashContent, $h as McpToolHookContext, $i as ExtensionCatalogPartition, $l as CommandInteraction, $m as arcee, $n as HeadlessResult, $o as createExtensionHud, $p as ToolSpec, $r as createRunSummaryCollector, $s as PLUGIN_SKILLS_DIR, $t as EvalRunUsage, A as Meter, Aa as discoverExtensions, Ac as validateSkillForWrite, Ag as ToolHookContext, Ah as getOAuthApiKey, Ai as CompactionSlice, Al as patchInlineGhost, An as efficiencyMetricValues, Ao as ExtensionToolPolicy, Ap as ContextSnapshot, Ar as createSkillsReadTool, As as coerceExtensionConfigInput, At as resolveExtensionDocsDir, Av as originPinnedFetch, B as McpCredentialStore, B_ as createFileMapStore, Ba as defineExtension, Bc as SkillInstallErrorCode, Bf as LogRecord, Bg as ToolResultVideoContent, Bh as AutoCompactConfig, Bi as defaultRepeatGuardTracked, Bl as CompletionSubmitContext, Bm as MistralParams, Bn as functionalityMetric, Bo as GuiContributions, Bp as fnv1a32, Br as grep, Bs as SpawnTaskOutcome, Bt as EvalAgentStats, C as SuccessfulMutationOutcome, C_ as SessionMetaRow, Ca as readExtensionInstallProvenance, Cc as SkillValidationIssue, Cg as SpawnHookContext, Ch as extractRuntimeCredentials, Ci as buildCompactPrompt, Cn as clearRegisteredEvals, Co as ExtensionRuntimeEnv, Cp as ContextCategory, Cs as ExtensionConfigSurface, Ct as ZIDANE_SKILL_EDIT_SKILL_NAME, Cv as normalizeMcpBlocks, D as Counter, Da as ENTRY_CANDIDATES, Dc as parseAllowedToolPattern, Dd as ModelInfo, Dg as ThinkingDecay, Dh as resolveOAuthApiKey, Di as buildUpToCompactPrompt, Dl as InlineAutocompleteProvider, Dn as createReusableExecutionContext, Do as ExtensionStorageScope, Dp as ContextExtensionSection, Dr as SkillsRunScriptToolOptions, Ds as WireExtensionConfigItem, Dt as extensionDirForCwd, E as resolveModelTargets, E_ as createSession, Ea as registerExtensionHostModules, Ec as matchesAllowedTool, Ed as CustomField, Eg as StreamHookContext, Eh as registerCustomOAuthProvider, Ei as buildTailCompactPrompt, El as InlineAutocompleteContext, Em as classifyOpenAICompatError, En as createEvalRunReporter, Eo as ExtensionSource, Ep as ContextExtensionRow, Er as createSkillsUseTool, Es as StoredExtensionConfigItem, Et as editSessionMetadata, Ev as resultToString, F as createMetricsHooks, F_ as RemoteStoreOptions, Fa as DiscoverAndBuildExtensionRegistryOptions, Fc as stripShellInterpolations, Ff as isStandardSchema, Fg as ToolResultDocumentRefContent, Fh as AgentBehavior, Fi as summaryToTurn, Fm as OpenAIParams, Fn as fileExistsOneOf, Fo as ExtensionToolResultMetadataRegistration, Fp as CacheDimensionDiff, Fs as sanitizeExtensionConfigActionPatch, Ft as EvalAgent, Fv as setModelCatalog, G as OAuthCallbackHandle, G_ as PairingRepair, Ga as createExtensionBus, Gc as listSkillCandidates, Gd as AutoCompactDecision, Gf as RingBufferSink, Gg as toolResultToText, Gh as CompactHookContext, Gi as AgentHookMap, Gn as runEvalCase, Go as ExtensionHud, Gp as Provider, Gr as RunSummaryBudget, Gs as SubagentOverride, Gt as EvalDefinitionContext, H as McpOAuthProviderOptions, H_ as ORPHANED_TOOL_RESULT_MARKER, Ha as ExtensionBus, Hc as SkillInstallResult, Hf as Logger, Hg as TurnUsage, Hi as stableStringify, Hn as normalizeMetric, Ho as LoadedPluginRecord, Hp as installCacheBreakLogger, Hr as edit, Hs as SpawnToolOptions, Ht as EvalCaseOptions, I as LoginMcpServerOptions, I_ as createRemoteStore, Ia as discoverAndBuildExtensionRegistry, If as resolveSchemaInput, Ig as ToolResultImageContent, Ii as truncateHeadForPtlRetry, Il as CompletionContext, In as finalizeEvalMetrics, Io as ExtensionToolResultPatch, Ip as CacheDimensionName, Ir as multiEdit, Is as toWireConfigSchema, It as EvalAgentMcpServers, J as startOAuthCallback, J_ as RemintResult, Ja as ExtensionAgentPluginOptions, Jc as SourcedScanPath, Jd as effectiveContextWindow, Jf as createLoggingHooks, Jg as ToolMap, Jh as DedupHasher, Ji as McpConnector, Jl as CommandAgentResult, Jm as cerebras, Jo as ExtensionHudWriter, Jp as StreamCallbacks, Jr as RunSummaryCollectorOptions, Js as isSpawnTool, Jt as EvalRunMetricAggregate, K as OAuthCallbackOptions, K_ as PairingRepairMode, Kc as parseSkillInstallSpec, Kd as AutoCompactInput, Kf as consoleSink, Kg as ToolContext, Kh as CompactStartHookContext, Ki as AgentHooks, Kl as resolveCompletionSubmit, Kn as statusCompleted, Ko as ExtensionHudState, Kp as ProviderCapabilities, Kr as RunSummaryByModel, Ks as SubagentRegistry, Kt as EvalMetric, L as LoginMcpServerResult, L_ as createMemoryStore, La as ExtensionPromptBridge, Lf as zodToJsonSchema, Lg as ToolResultImageRefContent, Lh as AgentRunOptions, Li as GenerateStructuredDataOptions, Ll as CompletionItem, Ln as formatEvalCaseSummary, Lo as ExtensionToolResultTransform, Lp as CacheDimensionSnapshot, Ls as ChildAgent, Lt as EvalAgentRunOptions, M as MetricsHookSet, Ma as isExtensionDefinition, Mc as resolveSkills, Mf as InferSchemaOutput, Mg as ToolResultAudioContent, Mh as refreshAnthropicToken, Mi as anchorPreviewFor, Mn as fileContains, Mo as ExtensionToolRenderer, Mr as CreateShellToolOptions, Ms as isValidExtensionConfigValue, Mt as withZidaneSkillEditSkill, Mv as ModelCatalogEntry, N as MetricsHooksOptions, Na as parseExtensionScanPathEnv, Nc as InterpolateShellCommandsOptions, Nf as SchemaInput, Ng as ToolResultContent, Nh as refreshOpenAICodexToken, Ni as sliceForCompaction, Nn as fileContentQuality, No as ExtensionToolRendererEntry, Np as CacheBreakInfo, Nr as createShellTool, Ns as resolveExtensionConfig, Nt as CreateEvalAgentOptions, Nv as ModelCatalogSource, O as Histogram, Oa as ExtensionScanEntry, Oc as validateResourcePath, Od as ModelOption, Og as ThinkingLevel, Oh as writeOAuthCredentials, Oi as ANCHOR_PREVIEW_MAX_CHARS, Ol as InlineGhost, On as defineEval, Oo as ExtensionStorageSurface, Op as ContextItem, Or as createSkillsRunScriptTool, Os as WireExtensionConfigSchema, Ot as extensionScaffold, P as UpDownCounter, Pa as scanExtensionDirectories, Pc as interpolateShellCommands, Pf as StandardSchemaLike, Pg as ToolResultDocumentContent, Ph as registerOAuthProvider, Pi as stripImagesFromTurns, Pn as fileExists, Po as ExtensionToolRendererRegistration, Pp as CacheBreakLoggerOptions, Ps as resolveExtensionConfigValue, Pt as EFFICIENCY_METRICS, Pv as getModelCatalog, Q as PersistOutcome, Q_ as TurnInterruptionState, Qa as ExtensionBusMessage, Qd as AnswerValue, Qg as getReadState, Qh as McpServerConfig, Qi as BuildExtensionRegistryOptions, Ql as CommandGenerateDataOptions, Qm as ArceeParams, Qo as ExtensionStatusOptions, Qp as ToolResult, Qr as RunSummaryValidation, Qs as matchModelEntries, Qt as EvalRunSummaryCase, R as loginMcpServer, R_ as FileMapAdapter, Ra as ExtensionPromptDelivery, Rc as SkillInstallCandidate, Rf as ConsoleSinkOptions, Rg as ToolResultMetadata, Rh as AgentStats, Ri as generateStructuredData, Rl as CompletionProvider, Rm as openai, Rn as formatEvalRunSummary, Ro as ExtensionToolVerdict, Rp as CacheDriftInfo, Rr as InteractionToolOptions, Rs as ExtensionSubagentDef, Rt as EvalAgentRunResult, S as MutationValidationResult, S_ as SessionData, Sa as parseExtensionInstallSource, Sc as writeSkillsToDisk, Sg as SessionTurn, Sh as credentialsFromParams, Si as TRAILER, Sn as buildTrajectory, So as ExtensionRunTransform, Sp as ContextBreakdownOptions, Ss as ExtensionConfigStringItem, St as ZIDANE_EXTENSION_SKILL_NAME, T as normalizeProviders, T_ as SessionStore, Ta as updateInstalledExtension, Tc as isToolAllowedByUnion, Tg as StepThinkingDecay, Th as readOAuthCredentials, Ti as buildFullCompactPrompt, Tn as createEvalAgent, To as ExtensionSkillPolicy, Tp as ContextExactCounts, Tr as SkillsUseToolOptions, Ts as ExtensionConfigValueItem, Tt as buildZidaneSkillEditSkill, Tv as resolveTransportConfig, U as createMemoryMcpCredentialStore, U_ as PairingDrop, Ua as ExtensionBusChannel, Uc as SkillInstallSpec, Uf as LoggingHookSet, Ug as toolOutputBudgetByteLength, Uh as CompactEndHookContext, Ui as localReliabilityBehavior, Um as LocalParams, Un as registerEvalTests, Uo as TuiContributions, Up as snapshotCacheDimensions, Ur as RunSummary, Us as SpawnToolState, Ut as EvalCaseResult, V as McpOAuthProvider, V_ as EnsureToolResultPairingOptions, Va as EXTENSION_BUS_MAX_PAYLOAD_BYTES, Vc as SkillInstallOptions, Vf as LogSink, Vg as TurnFinishReason, Vh as CacheTtl, Vi as normalizeShellCommand, Vm as mistral, Vn as llmJudge, Vo as LoadedExtension, Vp as hashMessages, Vr as glob, Vs as SpawnTool, Vt as EvalArtifacts, W as hasAuthorizationHeader, W_ as PairingDropKind, Wa as ExtensionBusEnvelope, Wc as installSkillFromSpec, Wd as AUTO_COMPACT_MIN_GROWTH_FRACTION, Wf as LoggingHooksOptions, Wg as toolOutputByteLength, Wh as CompactFunction, Wi as Agent, Wm as local, Wn as relativeArtifactPath, Wo as ExtensionBannerOptions, Wp as HistoryRepair, Wr as RunSummaryBlock, Ws as SubagentDef, Wt as EvalDefinition, X as PERSISTENCE_PREVIEW_BYTES, X_ as TOOL_USE_INTERRUPTED_MARKER, Xa as ExtensionBehaviorTransform, Xf as fanoutSink, Xg as ReadStateEntry, Xh as GeometricThinkingDecay, Xi as McpToolWrap, Xl as CommandAttachment, Xm as baseten, Xn as HeadlessEvent, Xo as ExtensionNotifyOptions, Xr as RunSummaryRepeatGuard, Xs as createModelSearchTool, Xt as EvalRunReporterOptions, Y as PERSISTED_STUB_PREFIX, Y_ as SYNTHETIC_TOOL_RESULT_PLACEHOLDER, Ya as ExtensionApiVersion, Yc as discoverSkills, Yd as shouldAutoCompact, Yf as createRingBufferSink, Yg as HydrateReadStateOptions, Yh as DedupToolConfig, Yi as McpToolMeta, Yl as CommandArgSuggestion, Ym as BasetenParams, Yn as HeadlessErrorInfo, Yo as ExtensionNotification, Yp as StreamOptions, Yr as RunSummaryError, Ys as SpawnModelEntry, Yt as EvalRunReporter, Z as PersistInput, Z_ as ToWireMessagesOptions, Za as ExtensionBusEmitOptions, Zf as jsonSink, Zg as ReadStateMap, Zi as createAgent, Zl as CommandExecution, Zn as HeadlessOptions, Zo as ExtensionNotifyTone, Zp as ToolCall, Zr as RunSummaryTokens, Zs as formatModelLine, Zt as EvalRunSummary, _ as statsByModel, __ as SkillSource, _a as InstallExtensionFromSpecOptions, _c as agentPluginsSchemaId, _g as RunHookMap, _i as BASE_INSTRUCTIONS, _m as OpenAICompatAuthHeader, _n as TrajectoryStep, _o as ExtensionPaths, _p as ContextSegmentsInput, _r as waitTask, _s as ExtensionConfigItem, _t as EXTENSION_EDIT_METADATA_KEY, _v as connectMcpServers, a as basicTools, a_ as StagedToolState, ac as PLUGIN_MANIFEST_FILE, ag as ProgressNudgeMessage, ah as anthropic, ai as RecentFile, al as DeactivationReason, am as xai, an as EvalWorkspaceFile, ao as ExtensionCustomRendererEntry, as as ExtensionSessionsSurface, at as resolveLegacySessionDir, au as CommandStepContext, av as fromAnthropic, b as MutationValidationHooksOptions, b_ as LoadSessionOptions, ba as installExtensionFromSpec, bc as defineSkill, bf as SelectQuestion, bg as SessionHookContext, bh as ResolveOAuthApiKeyOptions, bi as CompactPromptOptions, bn as buildEvalRunSummary, bo as ExtensionProviderMiddleware, bp as ContextBreakdownContributionContext, bs as ExtensionConfigNumberItem, bt as SKILL_EDIT_METADATA_KEY, bv as expandEnvPlaceholders, c as StartSpan, c_ as ToolStateStore, ca as ExtensionFetchResult, cc as AgentPluginsVersion, cg as PromptImagePart, ci as selectFilesFromSession, cl as createSkillActivationState, cm as SchemaSanitizeResult, cn as LlmJudgeOptions, co as ExtensionGuiPanel, cs as createExtensionHostRuntimeBridge, ct as resolveSessionDir, cu as commandBlocksToContent, cv as remintDuplicateToolCallIds, d as TracingHooksOptions, d_ as isToolStateOps, da as ExtensionInstallErrorCode, dc as PluginAuthor, dg as PromptVideoPart, di as CompactOptions, dm as OpenRouterParams, dn as MetricSpec, do as ExtensionKeybindingDispatchContext, ds as ExtensionConfigActionResult, dt as SHELL_CASCADE_CANCEL_MESSAGE, du as parseCommandInvocation, dv as toOpenAI, e_ as hydrateReadStateFromSession, ea as buildExtensionPreset, ec as PLUGIN_MCP_FILE, ei as BYTES_PER_TOKEN, el as buildCatalog, em as TurnResult, en as EvalScore, eo as ExtensionCapability, ep as formatLogLine, er as HeadlessStatus, es as ExtensionHostRuntimeBridge, et as buildPersistedStub, eu as CommandInvocation, ev as detectTurnInterruption, f as createTracingHooks, f_ as stagedToolState, fa as ExtensionInstallIo, fc as PluginComponentStatus, ff as PlanResponse, fg as RepeatGuardConfig, fi as CompactResult, fn as MetricSpecMap, fo as ExtensionManifest, fr as runHeadless, fs as ExtensionConfigActionStatus, ft as TOOL_USE_CANCELLED_MESSAGE, fv as toWireMessages, g as formatTokenUsage, g_ as SkillResource, ga as ExtensionInstallSource, gc as SUPPORTED_AGENT_PLUGINS_VERSIONS, gf as QuestionPayload, gg as RetryConfig, gi as CompactPromptTooLongError, gn as Trajectory, go as ExtensionOrderedContribution, gp as ContextSegmentOrigin, gs as ExtensionConfigEnumItem, gt as renderStaleReadNotice, h as flattenTurns, h_ as SkillDiagnostic, ha as ExtensionInstallScope, hc as PluginSchemaKind, hf as QuestionChoice, hg as ResolveContentRefBlock, hi as CompactInvalidInputError, hn as ReusableExecutionContext, ho as ExtensionModalNode, hp as ContextSegmentFile, hs as ExtensionConfigChangeBehavior, ht as collectNewlyStaleReadPaths, hv as McpExecutionBinding, i as _default, i_ as DEFAULT_MAX_VALUE_BYTES, ia as filterExtensionRegistry, ic as validatePluginManifest, ig as ProgressNudgeKind, ii as PostCompactRestoreOptions, il as ActiveSkill, im as XaiParams, in as EvalVariantSummary, io as ExtensionCustomRenderer, is as ExtensionSessionSummary, it as resolveLegacyPersistDir, iu as CommandStep, iv as filterUnresolvedToolUses, j as MetricAttributes, j_ as loadSession, ja as inlineLoadedExtension, jc as validateSkillName, jg as ToolOutcome, jh as getOAuthProvider, ji as SummaryToTurnInput, jl as resolveInlineSuggestion, jm as openaiCompat, jn as emitEfficiencyMetrics, jo as ExtensionToolRenderProps, jp as ContextUsageSplit, js as isValidExtensionConfigItem, jt as withZidaneExtensionSkill, jv as ModelCatalog, k as InstrumentOptions, ka as defaultExtensionScanPaths, kc as validateResourcePathReal, kd as ProviderDescriptor, kh as OAuthProviderInterface, ki as CompactScope, kl as createPathAutocompleteProvider, km as mapOAIFinishReason, kn as defineMetrics, ko as ExtensionToolCatalogTransform, kp as ContextMcpGroup, kr as SkillsReadToolOptions, ks as clampExtensionConfigNumber, kt as readSkillEditMarker, l as TracingConventions, l_ as ToolStateView, la as ExtensionInstallCandidate, lc as LoadAgentPluginOptions, lg as PromptPart, li as selectRecentFiles, lm as sanitizeToolSchema, ln as MetricDirection, lo as ExtensionGuiSurface, lr as headlessEventToJsonl, ls as createWorkspaceSurface, lt as resolveTasksDir, lu as commandSteps, lv as sanitizeHistoryForProvider, m as TokenUsageLike, m_ as SkillConfig, ma as ExtensionInstallResult, mc as PluginManifest, mf as Question, mg as ResolveContentRef, mi as compactConversation, mn as RegisterEvalTestsOptions, mo as ExtensionModal, mp as ContextSegment, ms as ExtensionConfigCategory, mt as applyCompactSummaryCutoff, mv as McpConnection, n_ as readStateKey, na as composeExtensionPreset, nc as ManifestValidation, ng as ModelTargetSpec, nh as AnthropicParams, ni as utf8ByteLength, nl as installAllowedToolsGate, nn as EvalScorerContext, no as ExtensionContextTransform, ns as ExtensionModelEntry, nt as maybePersistToolResult, nu as CommandSpawnResult, nv as ensureEndsWithUserMessage, o as GEN_AI_ATTRIBUTES, o_ as ToolStateController, oa as mergeContributions, oc as defaultPluginDataRoot, og as PromptAudioPart, oh as applyAnthropicCacheBreakpoints, oi as buildPostCompactAttachments, ol as SkillActivationState, om as SchemaSanitizeOptions, on as EvalWorkspaceOptions, oo as ExtensionDefinition, os as ExtensionWorkspacePair, ot as resolveMcpWarningsDir, ou as CommandStepFn, ov as fromOpenAI, p as ModelUsage, p_ as ShellInterpolationApproval, pa as ExtensionInstallProvenance, pc as PluginDiagnostic, pg as RepeatGuardToolMatcher, pi as CompactStartEvent, pm as openrouter, pn as MetricStats, po as ExtensionMcpConfigTransform, pr as transcriptToOpenAIMessages, ps as ExtensionConfigBooleanItem, pt as TOOL_USE_SKIPPED_MESSAGE, pv as ConnectMcpServersOptions, q as OAuthCallbackResult, q_ as ReasoningWireAction, qa as EMPTY_EXTENSION_REGISTRY, qc as readSkillProvenance, qd as OUTPUT_RESERVE_TOKENS, qf as createLogger, qg as ToolDef, qi as AgentOptions, ql as Command, qm as CerebrasParams, qo as ExtensionHudStatus, qp as ProviderMeta, qr as RunSummaryCollector, qs as createSpawnTool, qt as EvalMetricError, r as definePreset, r_ as resolveReadStateMap, ra as disposeExtensionRegistry, rc as parsePluginManifest, rg as OAuthRefreshHookContext, ri as PostCompactAttachments, rl as ActivationVia, rn as EvalTestRunner, ro as ExtensionContributions, rr as OpenAIChatMessage, rs as ExtensionRuntimeSurface, rt as migrateSessionArtifactDirs, ru as CommandSpawnTask, rv as ensureToolResultPairing, s as Span, s_ as ToolStateOp, sa as partitionExtensionCatalog, sc as loadAgentPlugin, sg as PromptDocumentPart, si as selectFilesFromReadState, sl as SkillActivationStateOptions, sm as SchemaSanitizeProfile, sn as EvalWorkspaceSnapshot, so as ExtensionFooterHint, ss as ExtensionWorkspaceSurface, st as resolvePersistDir, su as commandBlockToEvent, sv as reasoningWireAction, t as Preset, t_ as hydrateReadStateFromSessionAsync, ta as buildExtensionRegistry, tc as expandPluginVars, tg as ModelTarget, ti as estimateTokens, tl as IMPLICITLY_ALLOWED_SKILL_TOOLS, tn as EvalScorer, to as ExtensionContext, tr as HeadlessUsage, ts as ExtensionHostRuntimeImpl, tt as cleanupPersistedSession, tu as CommandOutputBlock, tv as dropInvalidToolPairings, u as TracingHookSet, u_ as createToolStateController, ua as ExtensionInstallError, uc as LoadedPlugin, uf as PlanPayload, ug as PromptTextPart, ui as CompactEndEvent, um as sanitizeToolSpecs, un as MetricEmitter, uo as ExtensionKeybinding, us as ExtensionConfigActionItem, ut as INTERRUPT_MESSAGE_FOR_TOOL_USE, uu as executeCommand, uv as toAnthropic, v as MutationValidationBatch, v_ as SkillsConfig, va as InstalledExtensionTargetOptions, vc as isSupportedAgentPluginsVersion, vg as SessionContentBlock, vi as CompactDirection, vm as OpenAICompatHttpError, vn as TrajectoryStepKind, vo as ExtensionPermission, vr as ValidationResult, vs as ExtensionConfigItemBase, vt as EditSessionTarget, w as createMutationValidationHooks, w_ as SessionRun, wa as removeInstalledExtension, wc as SkillValidationResult, wg as StaleReadPolicy, wh as isOAuthAccessToken, wi as buildFromCompactPrompt, wn as computeEvalTagScores, wo as ExtensionSessionStateSurface, wp as ContextCategoryId, ws as ExtensionConfigValue, wt as buildZidaneExtensionSkill, wv as normalizeMcpServers, x as MutationValidationMutation, x_ as Session, xa as listExtensionCandidates, xc as writeSkillToDisk, xf as TextQuestion, xg as SessionMessage, xh as credentialsFilePath, xi as NO_TOOLS_PREAMBLE, xn as buildRegisteredEvals, xo as ExtensionRegistry, xp as ContextBreakdownContributor, xs as ExtensionConfigScope, xt as SkillEditMarker, xv as expandMcpConfigEnv, y as MutationValidationFailure, y_ as CreateSessionOptions, ya as fetchExtensionSource, yc as parseSchemaId, yg as SessionEndStatus, yh as OAuthParams, yi as CompactPromptBuilder, ym as OpenAICompatParams, yn as artifactPath, yo as ExtensionPromptTransform, yp as ContextBreakdown, yr as validateToolArgs, ys as ExtensionConfigModelItem, yt as ExtensionEditMarker, z as McpCredentialEntry, z_ as FileMapStoreOptions, za as createExtensionPromptBridge, zc as SkillInstallError, zf as LogLevel, zg as ToolResultTextContent, zh as AutoCompact, zi as defaultRepeatGuardNormalize, zl as CompletionReference, zn as formatTrajectoryLine, zo as ExtensionTuiSurface, zp as diffCacheDimensions, zr as createInteractionTool, zs as SpawnTaskInput, zt as EvalAgentRunStats } from "./index-DFGECPfm.js";
3
3
  import { _ as TaskHandle, a as ContextType, c as ExecutionContext, d as ListFilesEntry, f as ListFilesOptions, g as TaskExitInfo, h as TaskEntry, i as ContextMount, l as ExecutionHandle, m as StreamHandle, n as ContextCapabilities, o as DetachedTasksCapability, p as SpawnConfig, r as ContextHardening, s as ExecResult, t as BackgroundTaskStatus, u as ListFileMetadata, v as TaskStallInfo, y as resolveDetachedTasksCapability } from "./types-U-rIVUDw.js";
4
4
  import { t as createProcessContext } from "./index-B6FkK6ZN.js";
5
5
  import { n as createSandboxContext, t as SandboxProvider } from "./sandbox-CDl9tfTo.js";
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { E as getModelCatalog, b as sanitizeToolSpecs, f as mapOAIFinishReason, j as setModelCatalog, l as classifyOpenAICompatError, m as openaiCompat, n as OpenAICompatHttpError, y as sanitizeToolSchema } from "./openai-compat-DY-AKxCg.js";
2
2
  import { c as toolOutputBudgetByteLength, l as toolOutputByteLength, u as toolResultToText } from "./types-CWgENVLY.js";
3
- import { $ as installExtensionFromSpec, A as selectFilesFromSession, An as EXTENSION_BUS_MAX_PAYLOAD_BYTES, At as createSkillsReadTool, B as buildUpToCompactPrompt, Bn as stableStringify, Bt as matchModelEntries, C as resolveLegacySessionDir, Cn as coerceExtensionConfigInput, Ct as waitTask, D as resolveTasksDir, Dn as resolveExtensionConfigValue, E as resolveSessionDir, En as resolveExtensionConfig, Et as isSpawnTool, F as TRAILER, Fn as effectiveContextWindow, G as summaryToTurn, Gn as readStateKey, Gt as edit, H as anchorPreviewFor, Hn as hashContent, Ht as createInteractionTool, I as buildCompactPrompt, In as shouldAutoCompact, J as CompactPromptTooLongError, K as truncateHeadForPtlRetry, Kn as resolveReadStateMap, Kt as validateToolArgs, L as buildFromCompactPrompt, Ln as defaultRepeatGuardNormalize, Lt as multiEdit, M as compactConversation, Mt as createShellTool, N as BASE_INSTRUCTIONS, Nn as AUTO_COMPACT_MIN_GROWTH_FRACTION, O as buildPostCompactAttachments, On as sanitizeExtensionConfigActionPatch, Ot as createSkillsUseTool, P as NO_TOOLS_PREAMBLE, Pn as OUTPUT_RESERVE_TOKENS, Q as fetchExtensionSource, R as buildFullCompactPrompt, Rn as defaultRepeatGuardTracked, Rt as createModelSearchTool, S as resolveLegacyPersistDir, Sn as clampExtensionConfigNumber, T as resolvePersistDir, Tn as isValidExtensionConfigValue, Tt as createSpawnTool, U as sliceForCompaction, Un as hydrateReadStateFromSession, Ut as grep, V as ANCHOR_PREVIEW_MAX_CHARS, Vn as getReadState, W as stripImagesFromTurns, Wn as hydrateReadStateFromSessionAsync, Wt as glob, X as createExtensionPromptBridge, Y as EMPTY_EXTENSION_REGISTRY, Z as ExtensionInstallError, _ as buildPersistedStub, _n as parseExtensionScanPathEnv, a as stagedToolState, at as createExtensionHud, b as migrateSessionArtifactDirs, bt as basic_default, c as INTERRUPT_MESSAGE_FOR_TOOL_USE, ct as buildExtensionRegistry, d as TOOL_USE_SKIPPED_MESSAGE, dn as registerExtensionHostModules, dt as filterExtensionRegistry, et as listExtensionCandidates, f as applyCompactSummaryCutoff, fn as ENTRY_CANDIDATES, g as PERSISTENCE_PREVIEW_BYTES, gn as isExtensionDefinition, gt as createWorkspaceSurface, h as PERSISTED_STUB_PREFIX, hn as inlineLoadedExtension, ht as createExtensionHostRuntimeBridge, i as isToolStateOps, it as updateInstalledExtension, j as selectRecentFiles, jn as createExtensionBus, k as selectFilesFromReadState, kn as toWireConfigSchema, kt as createSkillsRunScriptTool, l as SHELL_CASCADE_CANCEL_MESSAGE, lt as composeExtensionPreset, m as renderStaleReadNotice, mn as discoverExtensions, mt as partitionExtensionCatalog, n as DEFAULT_MAX_VALUE_BYTES, nt as readExtensionInstallProvenance, o as normalizeProviders, ot as discoverAndBuildExtensionRegistry, p as collectNewlyStaleReadPaths, pn as defaultExtensionScanPaths, pt as mergeContributions, q as CompactInvalidInputError, r as createToolStateController, rt as removeInstalledExtension, s as resolveModelTargets, st as buildExtensionPreset, t as createAgent, tt as parseExtensionInstallSource, u as TOOL_USE_CANCELLED_MESSAGE, ut as disposeExtensionRegistry, v as cleanupPersistedSession, vn as scanExtensionDirectories, vt as definePreset, w as resolveMcpWarningsDir, wn as isValidExtensionConfigItem, xn as defineExtension, y as maybePersistToolResult, yt as basicTools, z as buildTailCompactPrompt, zn as normalizeShellCommand, zt as formatModelLine } from "./agent-C-camKQW.js";
3
+ import { $ as installExtensionFromSpec, A as selectFilesFromSession, An as EXTENSION_BUS_MAX_PAYLOAD_BYTES, At as createSkillsReadTool, B as buildUpToCompactPrompt, Bn as stableStringify, Bt as matchModelEntries, C as resolveLegacySessionDir, Cn as coerceExtensionConfigInput, Ct as waitTask, D as resolveTasksDir, Dn as resolveExtensionConfigValue, E as resolveSessionDir, En as resolveExtensionConfig, Et as isSpawnTool, F as TRAILER, Fn as effectiveContextWindow, G as summaryToTurn, Gn as readStateKey, Gt as edit, H as anchorPreviewFor, Hn as hashContent, Ht as createInteractionTool, I as buildCompactPrompt, In as shouldAutoCompact, J as CompactPromptTooLongError, K as truncateHeadForPtlRetry, Kn as resolveReadStateMap, Kt as validateToolArgs, L as buildFromCompactPrompt, Ln as defaultRepeatGuardNormalize, Lt as multiEdit, M as compactConversation, Mt as createShellTool, N as BASE_INSTRUCTIONS, Nn as AUTO_COMPACT_MIN_GROWTH_FRACTION, O as buildPostCompactAttachments, On as sanitizeExtensionConfigActionPatch, Ot as createSkillsUseTool, P as NO_TOOLS_PREAMBLE, Pn as OUTPUT_RESERVE_TOKENS, Q as fetchExtensionSource, R as buildFullCompactPrompt, Rn as defaultRepeatGuardTracked, Rt as createModelSearchTool, S as resolveLegacyPersistDir, Sn as clampExtensionConfigNumber, T as resolvePersistDir, Tn as isValidExtensionConfigValue, Tt as createSpawnTool, U as sliceForCompaction, Un as hydrateReadStateFromSession, Ut as grep, V as ANCHOR_PREVIEW_MAX_CHARS, Vn as getReadState, W as stripImagesFromTurns, Wn as hydrateReadStateFromSessionAsync, Wt as glob, X as createExtensionPromptBridge, Y as EMPTY_EXTENSION_REGISTRY, Z as ExtensionInstallError, _ as buildPersistedStub, _n as parseExtensionScanPathEnv, a as stagedToolState, at as createExtensionHud, b as migrateSessionArtifactDirs, bt as basic_default, c as INTERRUPT_MESSAGE_FOR_TOOL_USE, ct as buildExtensionRegistry, d as TOOL_USE_SKIPPED_MESSAGE, dn as registerExtensionHostModules, dt as filterExtensionRegistry, et as listExtensionCandidates, f as applyCompactSummaryCutoff, fn as ENTRY_CANDIDATES, g as PERSISTENCE_PREVIEW_BYTES, gn as isExtensionDefinition, gt as createWorkspaceSurface, h as PERSISTED_STUB_PREFIX, hn as inlineLoadedExtension, ht as createExtensionHostRuntimeBridge, i as isToolStateOps, it as updateInstalledExtension, j as selectRecentFiles, jn as createExtensionBus, k as selectFilesFromReadState, kn as toWireConfigSchema, kt as createSkillsRunScriptTool, l as SHELL_CASCADE_CANCEL_MESSAGE, lt as composeExtensionPreset, m as renderStaleReadNotice, mn as discoverExtensions, mt as partitionExtensionCatalog, n as DEFAULT_MAX_VALUE_BYTES, nt as readExtensionInstallProvenance, o as normalizeProviders, ot as discoverAndBuildExtensionRegistry, p as collectNewlyStaleReadPaths, pn as defaultExtensionScanPaths, pt as mergeContributions, q as CompactInvalidInputError, r as createToolStateController, rt as removeInstalledExtension, s as resolveModelTargets, st as buildExtensionPreset, t as createAgent, tt as parseExtensionInstallSource, u as TOOL_USE_CANCELLED_MESSAGE, ut as disposeExtensionRegistry, v as cleanupPersistedSession, vn as scanExtensionDirectories, vt as definePreset, w as resolveMcpWarningsDir, wn as isValidExtensionConfigItem, xn as defineExtension, y as maybePersistToolResult, yt as basicTools, z as buildTailCompactPrompt, zn as normalizeShellCommand, zt as formatModelLine } from "./agent-DRNT6DbC.js";
4
4
  import { A as zodToJsonSchema, F as parseCommandInvocation, I as localReliabilityBehavior, M as commandBlocksToContent, N as commandSteps, O as isStandardSchema, P as executeCommand, S as resolveInlineSuggestion, _ as resolveExtensionDocsDir, a as loginMcpServer, b as createPathAutocompleteProvider, c as SKILL_EDIT_METADATA_KEY, d as buildZidaneExtensionSkill, f as buildZidaneSkillEditSkill, g as readSkillEditMarker, h as extensionScaffold, i as createMetricsHooks, j as commandBlockToEvent, k as resolveSchemaInput, l as ZIDANE_EXTENSION_SKILL_NAME, m as extensionDirForCwd, n as createTracingHooks, o as startOAuthCallback, p as editSessionMetadata, r as createMutationValidationHooks, s as EXTENSION_EDIT_METADATA_KEY, t as GEN_AI_ATTRIBUTES, u as ZIDANE_SKILL_EDIT_SKILL_NAME, v as withZidaneExtensionSkill, w as generateStructuredData, x as patchInlineGhost, y as withZidaneSkillEditSkill } from "./src-DzzhE2YO.js";
5
5
  import { n as estimateTokens, r as utf8ByteLength, t as BYTES_PER_TOKEN } from "./utils-ngQzYzZD.js";
6
6
  import { r as createProcessContext, t as resolveDetachedTasksCapability } from "./contexts-BSFQVclW.js";
@@ -1,5 +1,5 @@
1
1
  import { R as findGitRoot } from "./skills-PJyiSRCp.js";
2
- import { o as connectOrSpawnDaemon, u as defaultSocketPath } from "./server-CcqxlLf3.js";
2
+ import { d as defaultSocketPath, o as connectOrSpawnDaemon } from "./server-BuqLVgQA.js";
3
3
  import process from "node:process";
4
4
  import { createInterface } from "node:readline";
5
5
  //#region src/ipc/attach.ts
@@ -328,4 +328,4 @@ function clipLines(text, max) {
328
328
  //#endregion
329
329
  export { runAttach as t };
330
330
 
331
- //# sourceMappingURL=ipc-3Pb7G8JY.js.map
331
+ //# sourceMappingURL=ipc-CB6NoNxG.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ipc-3Pb7G8JY.js","names":[],"sources":["../src/ipc/attach.ts"],"sourcesContent":["/**\n * `zidane attach` — a thin terminal client over the daemon protocol.\n *\n * Deliberately minimal (readline, no TUI framework): it exists to prove and\n * exercise the multi-window contract — several attach clients plus the GUI\n * can watch the SAME session converge live, answer each other's approvals,\n * and steer the same run. The full OpenTUI front-end migrates onto\n * `connectIpcClient` separately.\n *\n * Everything here is presentation: all state lives in the daemon.\n */\nimport type { InteractionRequest, StreamEvent } from '../chat/index'\nimport type { AnswerValue } from '../chat/interactions'\nimport type { IpcClient } from './client'\nimport type { EnsureDaemonOptions } from './daemon/lifecycle'\nimport type { HostSignal, SessionRow, WireApprovalRequest } from './protocol'\nimport process from 'node:process'\nimport { createInterface } from 'node:readline'\nimport { findGitRoot } from '../chat/index'\nimport { connectOrSpawnDaemon } from './client'\nimport { defaultSocketPath } from './daemon/lifecycle'\n\nconst DIM = '\\u001B[2m'\nconst BOLD = '\\u001B[1m'\nconst CYAN = '\\u001B[36m'\nconst YELLOW = '\\u001B[33m'\nconst RED = '\\u001B[31m'\nconst RESET = '\\u001B[0m'\n\nexport interface AttachOptions {\n socketPath?: string\n /** Attach to this session id (prefix match against the list). */\n sessionId?: string\n /** Create a fresh session instead of picking. */\n createNew?: boolean\n cwd?: string\n appVersion?: string\n /** Spawn-on-demand command when no daemon is listening. */\n spawnCommand?: string[]\n /** Injectable streams for tests. */\n stdin?: NodeJS.ReadableStream\n stdout?: NodeJS.WritableStream\n}\n\ninterface PendingAsk {\n resolve: (line: string) => void\n}\n\nexport async function runAttach(options: AttachOptions = {}): Promise<void> {\n const out = options.stdout ?? process.stdout\n const write = (text: string): void => void out.write(text)\n const cwd = options.cwd ?? process.cwd()\n\n const ensureOptions: EnsureDaemonOptions = {\n socketPath: options.socketPath ?? defaultSocketPath(),\n ...(options.spawnCommand ? { spawnCommand: options.spawnCommand } : {}),\n }\n /*\n * Library-safe failure: `runAttach` is exported from `zidane/ipc`, so a\n * dropped daemon REJECTS (the CLI wrapper owns the exit code) instead\n * of killing an embedder's process from inside the library.\n */\n let failRun: ((error: Error) => void) | null = null\n\n // Drain-and-respawn on version mismatch — a stale daemon self-heals\n // instead of hard-failing the window.\n const client = await connectOrSpawnDaemon({\n ...ensureOptions,\n ...(options.appVersion ? { appVersion: options.appVersion } : {}),\n onClose: () => {\n write(`\\n${RED}daemon connection lost${RESET}\\n`)\n failRun?.(new Error('daemon connection lost'))\n },\n })\n\n write(`${DIM}connected to zidane daemon (pid ${client.hello.pid}, v${client.hello.appVersion})${RESET}\\n`)\n\n const rl = createInterface({\n input: (options.stdin ?? process.stdin) as NodeJS.ReadableStream,\n output: out as NodeJS.WritableStream,\n prompt: `${BOLD}> ${RESET}`,\n })\n\n /*\n * Line routing: normally a line is a prompt for the model, but while an\n * approval / interaction / picker question is pending, the next line\n * answers it instead. One slot suffices — questions are asked serially.\n * Registered BEFORE the session picker so `ask` works during picking.\n */\n let pendingAsk: PendingAsk | null = null\n let submitLine: ((line: string) => void) | null = null\n /** Prompt lines typed before the input loop is armed (mid-boot) queue up. */\n const earlyLines: string[] = []\n\n rl.on('line', (line) => {\n if (pendingAsk) {\n const slot = pendingAsk\n pendingAsk = null\n slot.resolve(line)\n return\n }\n if (submitLine)\n submitLine(line)\n else\n earlyLines.push(line)\n })\n\n const ask = (prompt: string): Promise<string> => {\n write(prompt)\n return new Promise<string>((resolve) => {\n pendingAsk = { resolve }\n })\n }\n\n /*\n * HITL prompts share the single `pendingAsk` slot, so approvals /\n * interactions MUST be asked one at a time — the startup rehydrate loops\n * and live signals can otherwise fire several handlers at once, each\n * overwriting the previous resolver and leaving those prompts hung\n * forever (unanswerable from this window). Chain every handler on the\n * previous one so they run strictly sequentially.\n */\n let hitlQueue: Promise<void> = Promise.resolve()\n\n /*\n * De-dup + resolution tracking for HITL prompts. A request can arrive\n * both via `*:listPending` backfill AND a live `*:request` signal, and\n * another window can answer it while it's still queued here. We track\n * every id we've queued (so we never prompt twice) and every id the host\n * reported resolved (so a queued-but-not-yet-prompted request is skipped\n * instead of blocking the queue on a no-op stdin answer).\n */\n const queuedHitlIds = new Set<string>()\n const resolvedHitlIds = new Set<string>()\n\n const enqueueHitl = (requestId: string, task: () => Promise<void>): void => {\n if (queuedHitlIds.has(requestId) || resolvedHitlIds.has(requestId))\n return\n queuedHitlIds.add(requestId)\n hitlQueue = hitlQueue.then(async () => {\n // Another window may have answered it while it waited in the queue.\n if (resolvedHitlIds.has(requestId))\n return\n await task()\n }, () => undefined)\n }\n\n const session = await pickSession(client, { ask, write, cwd, ...options })\n if (!session) {\n rl.close()\n client.close()\n return\n }\n\n write(`${BOLD}session${RESET} ${session.id} ${DIM}(${session.title})${RESET}\\n`)\n write(`${DIM}tools run in ${session.cwd} — /interrupt to stop a run, /exit to detach (run keeps going)${RESET}\\n\\n`)\n\n /*\n * Subscribe BEFORE replaying the transcript / snapshotting run state so\n * stream events emitted in that window aren't permanently lost from this\n * client's view. Signals that arrive during replay buffer here and drain\n * once the replay completes.\n */\n const bufferedSignals: HostSignal[] = []\n let signalSink: (signal: HostSignal) => void = s => bufferedSignals.push(s)\n const unsubscribe = client.onSignal(s => signalSink(s))\n\n await replayTranscript(client, session.id, write)\n\n let running = await client.request('chat.isRunning', { sessionId: session.id })\n if (running)\n write(`${DIM}a run is in flight — attaching to the live stream${RESET}\\n`)\n\n /* ----------------------------------------------------------------------\n * Signal rendering\n * -------------------------------------------------------------------- */\n\n let lastEventKind: StreamEvent['kind'] | null = null\n\n /**\n * The host broadcasts every window's user message as a `user-prompt`\n * event — render it so this window sees prompts posted elsewhere. Our\n * OWN just-sent messages are skipped once each (readline already echoed\n * them). A multiset (text → count) handles rapid identical sends and\n * never suppresses another window's matching message beyond our own\n * outstanding count.\n */\n const ownEchoes = new Map<string, number>()\n\n const renderEvent = (event: StreamEvent): void => {\n switch (event.kind) {\n case 'user-prompt': {\n const outstanding = ownEchoes.get(event.text) ?? 0\n if (outstanding > 0) {\n if (outstanding === 1)\n ownEchoes.delete(event.text)\n else\n ownEchoes.set(event.text, outstanding - 1)\n break\n }\n write(`\\n${BOLD}> ${event.text}${RESET}\\n`)\n break\n }\n case 'markdown':\n if (lastEventKind !== 'markdown' && lastEventKind !== null)\n write('\\n')\n write(event.text)\n break\n case 'thinking':\n // Streamed reasoning stays out of the transcript — show a pulse once.\n if (lastEventKind !== 'thinking')\n write(`${DIM}(thinking…)${RESET}\\n`)\n break\n case 'tool':\n write(`\\n${CYAN}▸ ${event.text}${RESET}\\n`)\n break\n case 'tool-result':\n write(`${DIM}${clipLines(event.text, 3)}${RESET}\\n`)\n break\n case 'task-notification':\n case 'info':\n write(`${DIM}${event.text}${RESET}\\n`)\n break\n case 'error':\n write(`${RED}${event.text}${RESET}\\n`)\n break\n default:\n break\n }\n lastEventKind = event.kind\n }\n\n const handleApproval = async (request: WireApprovalRequest): Promise<void> => {\n write(`\\n${YELLOW}approval needed${RESET} — ${BOLD}${request.tool}${RESET}\\n`)\n write(`${DIM}${clipLines(JSON.stringify(request.input, null, 2), 12)}${RESET}\\n`)\n const answer = await ask(`${YELLOW}[y]es once / [s]ession / [a]lways (safelist) / [n]o: ${RESET}`)\n const decision\n = answer.trim().toLowerCase() === 'y'\n ? 'accept-once'\n : answer.trim().toLowerCase() === 's'\n ? 'accept-session'\n : answer.trim().toLowerCase() === 'a'\n ? 'accept-safelist'\n : 'deny'\n await client.request('approvals.resolve', { requestId: request.id, decision })\n }\n\n const handleInteraction = async (request: InteractionRequest): Promise<void> => {\n if (request.kind === 'plan') {\n write(`\\n${YELLOW}plan:${RESET} ${BOLD}${request.payload.title}${RESET}\\n${request.payload.plan}\\n`)\n const answer = await ask(`${YELLOW}[a]pprove / [r]eject / re[v]ise (with comment): ${RESET}`)\n const c = answer.trim().toLowerCase()\n if (c === 'v') {\n const comment = await ask('comment: ')\n await client.request('interactions.respond', {\n requestId: request.id,\n response: { kind: 'plan', decision: 'revise', comment },\n })\n return\n }\n await client.request('interactions.respond', {\n requestId: request.id,\n response: { kind: 'plan', decision: c === 'a' ? 'approve' : 'reject' },\n })\n return\n }\n\n if (request.payload.intro)\n write(`\\n${request.payload.intro}\\n`)\n const answers: Record<string, AnswerValue> = {}\n for (const question of request.payload.questions) {\n if (question.type === 'confirm') {\n const answer = await ask(`${YELLOW}${question.prompt}${RESET} [y/n]: `)\n answers[question.id] = answer.trim().toLowerCase().startsWith('y')\n continue\n }\n if (question.type === 'select') {\n write(`${YELLOW}${question.prompt}${RESET}\\n`)\n question.choices.forEach((choice, i) => write(` ${i + 1}. ${choice.label}\\n`))\n const answer = await ask(question.multi ? 'pick (comma-separated numbers): ' : 'pick a number: ')\n const picks = answer\n .split(',')\n .map(part => question.choices[Number.parseInt(part.trim(), 10) - 1]?.id)\n .filter((id): id is string => typeof id === 'string')\n answers[question.id] = question.multi ? picks : (picks[0] ?? '')\n continue\n }\n answers[question.id] = await ask(`${YELLOW}${question.prompt}${RESET}: `)\n }\n await client.request('interactions.respond', {\n requestId: request.id,\n response: { kind: 'question', answers },\n })\n }\n\n const onSignal = (signal: HostSignal): void => {\n // Converge on resolution: mark the id answered so a queued-but-not-yet-\n // prompted request is skipped instead of blocking on stdin, and record\n // it so late backfill can't re-raise it.\n if (signal.kind === 'approval:resolved' || signal.kind === 'interaction:resolved') {\n resolvedHitlIds.add(signal.requestId)\n return\n }\n\n if (signal.kind === 'approval:request') {\n // Only surface approvals for the attached session — other windows'\n // sessions raise their own prompts in their own windows.\n if (signal.request.sessionId === session.id)\n enqueueHitl(signal.request.id, () => handleApproval(signal.request))\n return\n }\n\n if ('sessionId' in signal && signal.sessionId !== session.id)\n return\n\n switch (signal.kind) {\n case 'run:start':\n running = true\n lastEventKind = null\n break\n case 'run:end':\n running = false\n write(signal.ok ? '\\n' : `\\n${RED}run failed: ${signal.error ?? 'unknown error'}${RESET}\\n`)\n if (!pendingAsk)\n rl.prompt()\n break\n case 'event':\n renderEvent(signal.event)\n break\n case 'compacting:start':\n write(`${DIM}compacting…${RESET}\\n`)\n break\n case 'interaction:request':\n enqueueHitl(signal.request.id, () => handleInteraction(signal.request))\n break\n default:\n break\n }\n }\n\n // Surface HITL state left pending before this window attached. Done\n // BEFORE draining buffered signals so a live `*:request` that arrived\n // during backfill de-dups against the same id (via `queuedHitlIds`).\n for (const request of await client.request('approvals.listPending', {})) {\n if (request.sessionId === session.id)\n enqueueHitl(request.id, () => handleApproval(request))\n }\n for (const pending of await client.request('interactions.list', { sessionId: session.id })) {\n if (pending.live)\n enqueueHitl(pending.request.id, () => handleInteraction(pending.request))\n }\n\n // Drain signals buffered during replay/backfill, then hand live signals\n // straight to `onSignal`.\n signalSink = onSignal\n for (const buffered of bufferedSignals.splice(0))\n onSignal(buffered)\n\n /* ----------------------------------------------------------------------\n * Input loop\n * -------------------------------------------------------------------- */\n\n const detach = (): void => {\n unsubscribe()\n rl.close()\n client.close()\n write(`\\n${DIM}detached — the session keeps running in the daemon${RESET}\\n`)\n }\n\n rl.on('SIGINT', () => {\n if (running) {\n // Fire-and-forget: a dead daemon rejects the request, and an\n // uncaught rejection would crash the attach client.\n client.request('chat.interrupt', { sessionId: session.id }).catch(() => undefined)\n write(`\\n${DIM}interrupt sent${RESET}\\n`)\n return\n }\n detach()\n })\n\n await new Promise<void>((resolve, reject) => {\n failRun = (error) => {\n unsubscribe()\n rl.close()\n client.close()\n reject(error)\n }\n rl.on('close', () => resolve())\n\n const handleLine = (line: string): void => {\n const text = line.trim()\n if (text.length === 0) {\n rl.prompt()\n return\n }\n if (text === '/exit' || text === '/quit') {\n detach()\n resolve()\n return\n }\n if (text === '/interrupt') {\n client.request('chat.interrupt', { sessionId: session.id }).catch(() => undefined)\n return\n }\n\n ownEchoes.set(text, (ownEchoes.get(text) ?? 0) + 1)\n void client.request('chat.pushQueued', { sessionId: session.id, message: text }).then(({ delivered }) => {\n if (delivered === 'steer')\n write(`${DIM}(steered into the live run)${RESET}\\n`)\n }).catch((err) => {\n // Send failed: the host never broadcast the prompt, so release the\n // pending echo suppression to avoid eating a later identical one.\n const outstanding = ownEchoes.get(text) ?? 0\n if (outstanding <= 1)\n ownEchoes.delete(text)\n else\n ownEchoes.set(text, outstanding - 1)\n write(`${RED}${err instanceof Error ? err.message : String(err)}${RESET}\\n`)\n rl.prompt()\n })\n }\n\n submitLine = handleLine\n while (earlyLines.length > 0)\n handleLine(earlyLines.shift()!)\n\n if (!running)\n rl.prompt()\n })\n}\n\n/* --------------------------------------------------------------------------\n * Session picking\n * ------------------------------------------------------------------------ */\n\nasync function pickSession(\n client: IpcClient,\n ctx: {\n ask: (prompt: string) => Promise<string>\n write: (text: string) => void\n cwd: string\n sessionId?: string\n createNew?: boolean\n },\n): Promise<SessionRow | null> {\n const projectRoot = findGitRoot(ctx.cwd) ?? ctx.cwd\n\n if (ctx.createNew)\n return client.request('sessions.create', { cwd: ctx.cwd })\n\n const rows = await client.request('sessions.list', { projectRoot, archive: 'active' })\n\n if (ctx.sessionId) {\n const match = rows.find(r => r.id === ctx.sessionId || r.id.startsWith(ctx.sessionId!))\n if (match)\n return match\n // Not in this project — try the full list before giving up.\n const all = await client.request('sessions.list', {})\n const global = all.find(r => r.id === ctx.sessionId || r.id.startsWith(ctx.sessionId!))\n if (global)\n return global\n ctx.write(`${RED}no session matching \"${ctx.sessionId}\"${RESET}\\n`)\n return null\n }\n\n if (rows.length === 0)\n return client.request('sessions.create', { cwd: ctx.cwd })\n\n ctx.write(`${BOLD}sessions in ${projectRoot}:${RESET}\\n`)\n rows.slice(0, 15).forEach((row, i) => {\n const status = row.status === 'running' ? ` ${YELLOW}● running${RESET}` : ''\n ctx.write(` ${i + 1}. ${row.title} ${DIM}(${row.id.slice(0, 8)})${RESET}${status}\\n`)\n })\n\n const answer = await ctx.ask('pick a number, or [n]ew: ')\n if (answer.trim().toLowerCase() === 'n')\n return client.request('sessions.create', { cwd: ctx.cwd })\n\n const picked = rows[Number.parseInt(answer.trim(), 10) - 1]\n if (!picked) {\n ctx.write(`${RED}invalid pick${RESET}\\n`)\n return null\n }\n return picked\n}\n\n/* --------------------------------------------------------------------------\n * Transcript replay\n * ------------------------------------------------------------------------ */\n\nconst REPLAY_EVENT_CAP = 60\n\nasync function replayTranscript(\n client: IpcClient,\n sessionId: string,\n write: (text: string) => void,\n): Promise<void> {\n const events = await client.request('sessions.loadEvents', { sessionId })\n if (events.length === 0)\n return\n\n const tail = events.slice(-REPLAY_EVENT_CAP)\n if (events.length > tail.length)\n write(`${DIM}… ${events.length - tail.length} earlier events omitted${RESET}\\n`)\n\n for (const event of tail) {\n if (event.kind === 'user-prompt')\n write(`\\n${BOLD}> ${event.text}${RESET}\\n`)\n else if (event.kind === 'markdown')\n write(`${event.text}\\n`)\n else if (event.kind === 'tool')\n write(`${CYAN}▸ ${event.text}${RESET}\\n`)\n }\n write('\\n')\n}\n\nfunction clipLines(text: string, max: number): string {\n const lines = text.split('\\n')\n if (lines.length <= max)\n return text\n return `${lines.slice(0, max).join('\\n')}\\n${DIM}… ${lines.length - max} more lines${RESET}`\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ipc-CB6NoNxG.js","names":[],"sources":["../src/ipc/attach.ts"],"sourcesContent":["/**\n * `zidane attach` — a thin terminal client over the daemon protocol.\n *\n * Deliberately minimal (readline, no TUI framework): it exists to prove and\n * exercise the multi-window contract — several attach clients plus the GUI\n * can watch the SAME session converge live, answer each other's approvals,\n * and steer the same run. The full OpenTUI front-end migrates onto\n * `connectIpcClient` separately.\n *\n * Everything here is presentation: all state lives in the daemon.\n */\nimport type { InteractionRequest, StreamEvent } from '../chat/index'\nimport type { AnswerValue } from '../chat/interactions'\nimport type { IpcClient } from './client'\nimport type { EnsureDaemonOptions } from './daemon/lifecycle'\nimport type { HostSignal, SessionRow, WireApprovalRequest } from './protocol'\nimport process from 'node:process'\nimport { createInterface } from 'node:readline'\nimport { findGitRoot } from '../chat/index'\nimport { connectOrSpawnDaemon } from './client'\nimport { defaultSocketPath } from './daemon/lifecycle'\n\nconst DIM = '\\u001B[2m'\nconst BOLD = '\\u001B[1m'\nconst CYAN = '\\u001B[36m'\nconst YELLOW = '\\u001B[33m'\nconst RED = '\\u001B[31m'\nconst RESET = '\\u001B[0m'\n\nexport interface AttachOptions {\n socketPath?: string\n /** Attach to this session id (prefix match against the list). */\n sessionId?: string\n /** Create a fresh session instead of picking. */\n createNew?: boolean\n cwd?: string\n appVersion?: string\n /** Spawn-on-demand command when no daemon is listening. */\n spawnCommand?: string[]\n /** Injectable streams for tests. */\n stdin?: NodeJS.ReadableStream\n stdout?: NodeJS.WritableStream\n}\n\ninterface PendingAsk {\n resolve: (line: string) => void\n}\n\nexport async function runAttach(options: AttachOptions = {}): Promise<void> {\n const out = options.stdout ?? process.stdout\n const write = (text: string): void => void out.write(text)\n const cwd = options.cwd ?? process.cwd()\n\n const ensureOptions: EnsureDaemonOptions = {\n socketPath: options.socketPath ?? defaultSocketPath(),\n ...(options.spawnCommand ? { spawnCommand: options.spawnCommand } : {}),\n }\n /*\n * Library-safe failure: `runAttach` is exported from `zidane/ipc`, so a\n * dropped daemon REJECTS (the CLI wrapper owns the exit code) instead\n * of killing an embedder's process from inside the library.\n */\n let failRun: ((error: Error) => void) | null = null\n\n // Drain-and-respawn on version mismatch — a stale daemon self-heals\n // instead of hard-failing the window.\n const client = await connectOrSpawnDaemon({\n ...ensureOptions,\n ...(options.appVersion ? { appVersion: options.appVersion } : {}),\n onClose: () => {\n write(`\\n${RED}daemon connection lost${RESET}\\n`)\n failRun?.(new Error('daemon connection lost'))\n },\n })\n\n write(`${DIM}connected to zidane daemon (pid ${client.hello.pid}, v${client.hello.appVersion})${RESET}\\n`)\n\n const rl = createInterface({\n input: (options.stdin ?? process.stdin) as NodeJS.ReadableStream,\n output: out as NodeJS.WritableStream,\n prompt: `${BOLD}> ${RESET}`,\n })\n\n /*\n * Line routing: normally a line is a prompt for the model, but while an\n * approval / interaction / picker question is pending, the next line\n * answers it instead. One slot suffices — questions are asked serially.\n * Registered BEFORE the session picker so `ask` works during picking.\n */\n let pendingAsk: PendingAsk | null = null\n let submitLine: ((line: string) => void) | null = null\n /** Prompt lines typed before the input loop is armed (mid-boot) queue up. */\n const earlyLines: string[] = []\n\n rl.on('line', (line) => {\n if (pendingAsk) {\n const slot = pendingAsk\n pendingAsk = null\n slot.resolve(line)\n return\n }\n if (submitLine)\n submitLine(line)\n else\n earlyLines.push(line)\n })\n\n const ask = (prompt: string): Promise<string> => {\n write(prompt)\n return new Promise<string>((resolve) => {\n pendingAsk = { resolve }\n })\n }\n\n /*\n * HITL prompts share the single `pendingAsk` slot, so approvals /\n * interactions MUST be asked one at a time — the startup rehydrate loops\n * and live signals can otherwise fire several handlers at once, each\n * overwriting the previous resolver and leaving those prompts hung\n * forever (unanswerable from this window). Chain every handler on the\n * previous one so they run strictly sequentially.\n */\n let hitlQueue: Promise<void> = Promise.resolve()\n\n /*\n * De-dup + resolution tracking for HITL prompts. A request can arrive\n * both via `*:listPending` backfill AND a live `*:request` signal, and\n * another window can answer it while it's still queued here. We track\n * every id we've queued (so we never prompt twice) and every id the host\n * reported resolved (so a queued-but-not-yet-prompted request is skipped\n * instead of blocking the queue on a no-op stdin answer).\n */\n const queuedHitlIds = new Set<string>()\n const resolvedHitlIds = new Set<string>()\n\n const enqueueHitl = (requestId: string, task: () => Promise<void>): void => {\n if (queuedHitlIds.has(requestId) || resolvedHitlIds.has(requestId))\n return\n queuedHitlIds.add(requestId)\n hitlQueue = hitlQueue.then(async () => {\n // Another window may have answered it while it waited in the queue.\n if (resolvedHitlIds.has(requestId))\n return\n await task()\n }, () => undefined)\n }\n\n const session = await pickSession(client, { ask, write, cwd, ...options })\n if (!session) {\n rl.close()\n client.close()\n return\n }\n\n write(`${BOLD}session${RESET} ${session.id} ${DIM}(${session.title})${RESET}\\n`)\n write(`${DIM}tools run in ${session.cwd} — /interrupt to stop a run, /exit to detach (run keeps going)${RESET}\\n\\n`)\n\n /*\n * Subscribe BEFORE replaying the transcript / snapshotting run state so\n * stream events emitted in that window aren't permanently lost from this\n * client's view. Signals that arrive during replay buffer here and drain\n * once the replay completes.\n */\n const bufferedSignals: HostSignal[] = []\n let signalSink: (signal: HostSignal) => void = s => bufferedSignals.push(s)\n const unsubscribe = client.onSignal(s => signalSink(s))\n\n await replayTranscript(client, session.id, write)\n\n let running = await client.request('chat.isRunning', { sessionId: session.id })\n if (running)\n write(`${DIM}a run is in flight — attaching to the live stream${RESET}\\n`)\n\n /* ----------------------------------------------------------------------\n * Signal rendering\n * -------------------------------------------------------------------- */\n\n let lastEventKind: StreamEvent['kind'] | null = null\n\n /**\n * The host broadcasts every window's user message as a `user-prompt`\n * event — render it so this window sees prompts posted elsewhere. Our\n * OWN just-sent messages are skipped once each (readline already echoed\n * them). A multiset (text → count) handles rapid identical sends and\n * never suppresses another window's matching message beyond our own\n * outstanding count.\n */\n const ownEchoes = new Map<string, number>()\n\n const renderEvent = (event: StreamEvent): void => {\n switch (event.kind) {\n case 'user-prompt': {\n const outstanding = ownEchoes.get(event.text) ?? 0\n if (outstanding > 0) {\n if (outstanding === 1)\n ownEchoes.delete(event.text)\n else\n ownEchoes.set(event.text, outstanding - 1)\n break\n }\n write(`\\n${BOLD}> ${event.text}${RESET}\\n`)\n break\n }\n case 'markdown':\n if (lastEventKind !== 'markdown' && lastEventKind !== null)\n write('\\n')\n write(event.text)\n break\n case 'thinking':\n // Streamed reasoning stays out of the transcript — show a pulse once.\n if (lastEventKind !== 'thinking')\n write(`${DIM}(thinking…)${RESET}\\n`)\n break\n case 'tool':\n write(`\\n${CYAN}▸ ${event.text}${RESET}\\n`)\n break\n case 'tool-result':\n write(`${DIM}${clipLines(event.text, 3)}${RESET}\\n`)\n break\n case 'task-notification':\n case 'info':\n write(`${DIM}${event.text}${RESET}\\n`)\n break\n case 'error':\n write(`${RED}${event.text}${RESET}\\n`)\n break\n default:\n break\n }\n lastEventKind = event.kind\n }\n\n const handleApproval = async (request: WireApprovalRequest): Promise<void> => {\n write(`\\n${YELLOW}approval needed${RESET} — ${BOLD}${request.tool}${RESET}\\n`)\n write(`${DIM}${clipLines(JSON.stringify(request.input, null, 2), 12)}${RESET}\\n`)\n const answer = await ask(`${YELLOW}[y]es once / [s]ession / [a]lways (safelist) / [n]o: ${RESET}`)\n const decision\n = answer.trim().toLowerCase() === 'y'\n ? 'accept-once'\n : answer.trim().toLowerCase() === 's'\n ? 'accept-session'\n : answer.trim().toLowerCase() === 'a'\n ? 'accept-safelist'\n : 'deny'\n await client.request('approvals.resolve', { requestId: request.id, decision })\n }\n\n const handleInteraction = async (request: InteractionRequest): Promise<void> => {\n if (request.kind === 'plan') {\n write(`\\n${YELLOW}plan:${RESET} ${BOLD}${request.payload.title}${RESET}\\n${request.payload.plan}\\n`)\n const answer = await ask(`${YELLOW}[a]pprove / [r]eject / re[v]ise (with comment): ${RESET}`)\n const c = answer.trim().toLowerCase()\n if (c === 'v') {\n const comment = await ask('comment: ')\n await client.request('interactions.respond', {\n requestId: request.id,\n response: { kind: 'plan', decision: 'revise', comment },\n })\n return\n }\n await client.request('interactions.respond', {\n requestId: request.id,\n response: { kind: 'plan', decision: c === 'a' ? 'approve' : 'reject' },\n })\n return\n }\n\n if (request.payload.intro)\n write(`\\n${request.payload.intro}\\n`)\n const answers: Record<string, AnswerValue> = {}\n for (const question of request.payload.questions) {\n if (question.type === 'confirm') {\n const answer = await ask(`${YELLOW}${question.prompt}${RESET} [y/n]: `)\n answers[question.id] = answer.trim().toLowerCase().startsWith('y')\n continue\n }\n if (question.type === 'select') {\n write(`${YELLOW}${question.prompt}${RESET}\\n`)\n question.choices.forEach((choice, i) => write(` ${i + 1}. ${choice.label}\\n`))\n const answer = await ask(question.multi ? 'pick (comma-separated numbers): ' : 'pick a number: ')\n const picks = answer\n .split(',')\n .map(part => question.choices[Number.parseInt(part.trim(), 10) - 1]?.id)\n .filter((id): id is string => typeof id === 'string')\n answers[question.id] = question.multi ? picks : (picks[0] ?? '')\n continue\n }\n answers[question.id] = await ask(`${YELLOW}${question.prompt}${RESET}: `)\n }\n await client.request('interactions.respond', {\n requestId: request.id,\n response: { kind: 'question', answers },\n })\n }\n\n const onSignal = (signal: HostSignal): void => {\n // Converge on resolution: mark the id answered so a queued-but-not-yet-\n // prompted request is skipped instead of blocking on stdin, and record\n // it so late backfill can't re-raise it.\n if (signal.kind === 'approval:resolved' || signal.kind === 'interaction:resolved') {\n resolvedHitlIds.add(signal.requestId)\n return\n }\n\n if (signal.kind === 'approval:request') {\n // Only surface approvals for the attached session — other windows'\n // sessions raise their own prompts in their own windows.\n if (signal.request.sessionId === session.id)\n enqueueHitl(signal.request.id, () => handleApproval(signal.request))\n return\n }\n\n if ('sessionId' in signal && signal.sessionId !== session.id)\n return\n\n switch (signal.kind) {\n case 'run:start':\n running = true\n lastEventKind = null\n break\n case 'run:end':\n running = false\n write(signal.ok ? '\\n' : `\\n${RED}run failed: ${signal.error ?? 'unknown error'}${RESET}\\n`)\n if (!pendingAsk)\n rl.prompt()\n break\n case 'event':\n renderEvent(signal.event)\n break\n case 'compacting:start':\n write(`${DIM}compacting…${RESET}\\n`)\n break\n case 'interaction:request':\n enqueueHitl(signal.request.id, () => handleInteraction(signal.request))\n break\n default:\n break\n }\n }\n\n // Surface HITL state left pending before this window attached. Done\n // BEFORE draining buffered signals so a live `*:request` that arrived\n // during backfill de-dups against the same id (via `queuedHitlIds`).\n for (const request of await client.request('approvals.listPending', {})) {\n if (request.sessionId === session.id)\n enqueueHitl(request.id, () => handleApproval(request))\n }\n for (const pending of await client.request('interactions.list', { sessionId: session.id })) {\n if (pending.live)\n enqueueHitl(pending.request.id, () => handleInteraction(pending.request))\n }\n\n // Drain signals buffered during replay/backfill, then hand live signals\n // straight to `onSignal`.\n signalSink = onSignal\n for (const buffered of bufferedSignals.splice(0))\n onSignal(buffered)\n\n /* ----------------------------------------------------------------------\n * Input loop\n * -------------------------------------------------------------------- */\n\n const detach = (): void => {\n unsubscribe()\n rl.close()\n client.close()\n write(`\\n${DIM}detached — the session keeps running in the daemon${RESET}\\n`)\n }\n\n rl.on('SIGINT', () => {\n if (running) {\n // Fire-and-forget: a dead daemon rejects the request, and an\n // uncaught rejection would crash the attach client.\n client.request('chat.interrupt', { sessionId: session.id }).catch(() => undefined)\n write(`\\n${DIM}interrupt sent${RESET}\\n`)\n return\n }\n detach()\n })\n\n await new Promise<void>((resolve, reject) => {\n failRun = (error) => {\n unsubscribe()\n rl.close()\n client.close()\n reject(error)\n }\n rl.on('close', () => resolve())\n\n const handleLine = (line: string): void => {\n const text = line.trim()\n if (text.length === 0) {\n rl.prompt()\n return\n }\n if (text === '/exit' || text === '/quit') {\n detach()\n resolve()\n return\n }\n if (text === '/interrupt') {\n client.request('chat.interrupt', { sessionId: session.id }).catch(() => undefined)\n return\n }\n\n ownEchoes.set(text, (ownEchoes.get(text) ?? 0) + 1)\n void client.request('chat.pushQueued', { sessionId: session.id, message: text }).then(({ delivered }) => {\n if (delivered === 'steer')\n write(`${DIM}(steered into the live run)${RESET}\\n`)\n }).catch((err) => {\n // Send failed: the host never broadcast the prompt, so release the\n // pending echo suppression to avoid eating a later identical one.\n const outstanding = ownEchoes.get(text) ?? 0\n if (outstanding <= 1)\n ownEchoes.delete(text)\n else\n ownEchoes.set(text, outstanding - 1)\n write(`${RED}${err instanceof Error ? err.message : String(err)}${RESET}\\n`)\n rl.prompt()\n })\n }\n\n submitLine = handleLine\n while (earlyLines.length > 0)\n handleLine(earlyLines.shift()!)\n\n if (!running)\n rl.prompt()\n })\n}\n\n/* --------------------------------------------------------------------------\n * Session picking\n * ------------------------------------------------------------------------ */\n\nasync function pickSession(\n client: IpcClient,\n ctx: {\n ask: (prompt: string) => Promise<string>\n write: (text: string) => void\n cwd: string\n sessionId?: string\n createNew?: boolean\n },\n): Promise<SessionRow | null> {\n const projectRoot = findGitRoot(ctx.cwd) ?? ctx.cwd\n\n if (ctx.createNew)\n return client.request('sessions.create', { cwd: ctx.cwd })\n\n const rows = await client.request('sessions.list', { projectRoot, archive: 'active' })\n\n if (ctx.sessionId) {\n const match = rows.find(r => r.id === ctx.sessionId || r.id.startsWith(ctx.sessionId!))\n if (match)\n return match\n // Not in this project — try the full list before giving up.\n const all = await client.request('sessions.list', {})\n const global = all.find(r => r.id === ctx.sessionId || r.id.startsWith(ctx.sessionId!))\n if (global)\n return global\n ctx.write(`${RED}no session matching \"${ctx.sessionId}\"${RESET}\\n`)\n return null\n }\n\n if (rows.length === 0)\n return client.request('sessions.create', { cwd: ctx.cwd })\n\n ctx.write(`${BOLD}sessions in ${projectRoot}:${RESET}\\n`)\n rows.slice(0, 15).forEach((row, i) => {\n const status = row.status === 'running' ? ` ${YELLOW}● running${RESET}` : ''\n ctx.write(` ${i + 1}. ${row.title} ${DIM}(${row.id.slice(0, 8)})${RESET}${status}\\n`)\n })\n\n const answer = await ctx.ask('pick a number, or [n]ew: ')\n if (answer.trim().toLowerCase() === 'n')\n return client.request('sessions.create', { cwd: ctx.cwd })\n\n const picked = rows[Number.parseInt(answer.trim(), 10) - 1]\n if (!picked) {\n ctx.write(`${RED}invalid pick${RESET}\\n`)\n return null\n }\n return picked\n}\n\n/* --------------------------------------------------------------------------\n * Transcript replay\n * ------------------------------------------------------------------------ */\n\nconst REPLAY_EVENT_CAP = 60\n\nasync function replayTranscript(\n client: IpcClient,\n sessionId: string,\n write: (text: string) => void,\n): Promise<void> {\n const events = await client.request('sessions.loadEvents', { sessionId })\n if (events.length === 0)\n return\n\n const tail = events.slice(-REPLAY_EVENT_CAP)\n if (events.length > tail.length)\n write(`${DIM}… ${events.length - tail.length} earlier events omitted${RESET}\\n`)\n\n for (const event of tail) {\n if (event.kind === 'user-prompt')\n write(`\\n${BOLD}> ${event.text}${RESET}\\n`)\n else if (event.kind === 'markdown')\n write(`${event.text}\\n`)\n else if (event.kind === 'tool')\n write(`${CYAN}▸ ${event.text}${RESET}\\n`)\n }\n write('\\n')\n}\n\nfunction clipLines(text: string, max: number): string {\n const lines = text.split('\\n')\n if (lines.length <= max)\n return text\n return `${lines.slice(0, max).join('\\n')}\\n${DIM}… ${lines.length - max} more lines${RESET}`\n}\n"],"mappings":"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"}
package/dist/ipc.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { Cd as ProviderKey, Cu as StreamEvent, Ha as ExtensionBus, Og as ThinkingLevel, Sg as SessionTurn, Zh as JsonValue, if as InteractionResponse, yp as ContextBreakdown } from "./index-B-FSaM3_.js";
2
- import { An as ChatHostEnvironment, Bn as RunningWorkItem, Cn as PendingAnnotation, Dn as ApprovalRequestInput, En as ApprovalHub, Fn as HostSettings, Gn as WireApprovalRequest, Hn as SerializedPreview, In as HostSignal, Ln as PendingInteraction, Mn as ApprovalOriginator, Nn as CommandArgSuggestionSummary, On as createApprovalHub, Pn as CommandSummary, Rn as PromptAttachment, Sn as EditOutcomeLedger, Tn as runCompaction, Un as SessionPresence, Vn as SendOptions, Wn as TodosSnapshot, _n as CreateWorkerParams, bn as InteractionHub, dn as readFileSafe, fn as resolveCwdPath, gn as createChatHost, hn as ContextSegmentsReport, jn as PendingApprovalsStore, kn as createMemoryApprovalsStore, mn as ChatHost, pn as serializePreview, un as extractEditPayloadForGate, v as SystemMdFile, vn as WorkerRow, wn as CompactionEntry, xn as createInteractionHub, yn as WorkerSummary, zn as QueuedItem } from "./index-Dju2gu3w.js";
3
- import { O as ResolvedConfig } from "./transcript-anchors-DXqWWGbq.js";
4
- import { p as TodoItem } from "./turn-operations-DKFYWP3O.js";
5
- import { T as SessionHistoryMatch, V as ApprovalDecision, w as SearchTurnResult } from "./tool-formatters-DO56YBBw.js";
1
+ import { Cd as ProviderKey, Cu as StreamEvent, Ha as ExtensionBus, Og as ThinkingLevel, Sg as SessionTurn, Zh as JsonValue, if as InteractionResponse, yp as ContextBreakdown } from "./index-DFGECPfm.js";
2
+ import { An as ChatHostEnvironment, Bn as QueuedItem, Cn as PendingAnnotation, Dn as ApprovalRequestInput, En as ApprovalHub, Fn as HostSettings, Gn as TodosSnapshot, Hn as SendOptions, In as HostSignal, Kn as WireApprovalRequest, Ln as PendingInteraction, Mn as ApprovalOriginator, Nn as CommandArgSuggestionSummary, On as createApprovalHub, Pn as CommandSummary, Rn as PromptAttachment, Sn as EditOutcomeLedger, Tn as runCompaction, Un as SerializedPreview, Vn as RunningWorkItem, Wn as SessionPresence, _n as CreateWorkerParams, bn as InteractionHub, dn as readFileSafe, fn as resolveCwdPath, gn as createChatHost, hn as ContextSegmentsReport, jn as PendingApprovalsStore, kn as createMemoryApprovalsStore, mn as ChatHost, pn as serializePreview, un as extractEditPayloadForGate, v as SystemMdFile, vn as WorkerRow, wn as CompactionEntry, xn as createInteractionHub, yn as WorkerSummary } from "./index-DP7xYXr9.js";
3
+ import { O as ResolvedConfig } from "./transcript-anchors-D1ToF-EW.js";
4
+ import { p as TodoItem } from "./turn-operations-Bp5-BAki.js";
5
+ import { T as SessionHistoryMatch, V as ApprovalDecision, w as SearchTurnResult } from "./tool-formatters-C-s_-u0v.js";
6
6
 
7
7
  //#region src/ipc/attach.d.ts
8
8
  interface AttachOptions {
@@ -37,6 +37,15 @@ declare function runAttach(options?: AttachOptions): Promise<void>;
37
37
  * since their code only changes when the version does.
38
38
  */
39
39
  declare const IPC_BUILD_ID: string;
40
+ /**
41
+ * Socket file name. Dev builds (`ZIDANE_DEV=1`, set by every `dev` script
42
+ * in the repo) get their OWN socket so a checkout's TUI, GUI and `zidane
43
+ * daemon` pair up among themselves and never attach to — or get refused by
44
+ * — the installed daemon. Without this, a protocol bump in the working
45
+ * tree turned the dev GUI's dot red against the stable daemon, and a dev
46
+ * daemon could drain the one the installed TUI relies on.
47
+ */
48
+ declare function daemonSocketName(env?: NodeJS.ProcessEnv): 'daemon.sock' | 'dev.sock';
40
49
  declare function defaultSocketPath(): string;
41
50
  /**
42
51
  * Spawn command that re-enters the CURRENT zidane program as `… daemon`.
@@ -108,7 +117,7 @@ declare function ensureDaemonRunning(options?: EnsureDaemonOptions): Promise<str
108
117
  * resolver's full ordered `candidates` list so daemon mode keeps
109
118
  * ↑/↓ candidate rotation instead of degrading to one suggestion.
110
119
  */
111
- declare const IPC_PROTOCOL_VERSION = 8;
120
+ declare const IPC_PROTOCOL_VERSION = 9;
112
121
  /**
113
122
  * JSON-RPC error codes specific to the zidane daemon. Lives here (not in
114
123
  * `daemon/server.ts`) so clients can import the codes without pulling the
@@ -548,6 +557,15 @@ interface IpcMethods {
548
557
  };
549
558
  result: boolean;
550
559
  };
560
+ /** Edit a queued entry in place; order is kept. `false` when already sent / dropped. */
561
+ 'queue.update': {
562
+ params: {
563
+ sessionId: string;
564
+ id: string;
565
+ text: string;
566
+ };
567
+ result: boolean;
568
+ };
551
569
  /** Steer a queued entry into the live run now (falls back to send when idle). */
552
570
  'queue.pushNow': {
553
571
  params: {
@@ -845,5 +863,5 @@ interface IpcDaemon {
845
863
  }
846
864
  declare function startIpcDaemon(options: IpcDaemonOptions): Promise<IpcDaemon>;
847
865
  //#endregion
848
- export { type ApprovalHub, type ApprovalOriginator, type ApprovalRequestInput, type AttachOptions, type ChatHost, type ChatHostEnvironment, type CompactionEntry, type CreateSessionParams, type DaemonEnvironment, EditOutcomeLedger, type EnsureDaemonOptions, type HelloParams, type HelloResult, type HostSettings, type HostSignal, IPC_BUILD_ID, IPC_PROTOCOL_VERSION, type InteractionHub, type IpcClient, type IpcClientOptions, type IpcDaemon, type IpcDaemonOptions, IpcErrorCode, type IpcMethodName, type IpcMethods, type IpcParams, type IpcResult, IpcVersionMismatchError, type PendingAnnotation, type PendingApprovalsStore, type PendingInteraction, type PromptAttachment, type QueuedItem, type RunningWorkItem, type SendOptions, type SerializedPreview, type SessionPresence, type SessionRow, type TodosSnapshot, type WireApprovalRequest, connectIpcClient, connectOrSpawnDaemon, createApprovalHub, createChatHost, createDaemonEnvironment, createFileApprovalsStore, createInteractionHub, createMemoryApprovalsStore, defaultSocketPath, ensureDaemonRunning, extractEditPayloadForGate, probeSocket, readFileSafe, resolveCwdPath, runAttach, runCompaction, selfDaemonSpawnCommand, serializePreview, startIpcDaemon };
866
+ export { type ApprovalHub, type ApprovalOriginator, type ApprovalRequestInput, type AttachOptions, type ChatHost, type ChatHostEnvironment, type CompactionEntry, type CreateSessionParams, type DaemonEnvironment, EditOutcomeLedger, type EnsureDaemonOptions, type HelloParams, type HelloResult, type HostSettings, type HostSignal, IPC_BUILD_ID, IPC_PROTOCOL_VERSION, type InteractionHub, type IpcClient, type IpcClientOptions, type IpcDaemon, type IpcDaemonOptions, IpcErrorCode, type IpcMethodName, type IpcMethods, type IpcParams, type IpcResult, IpcVersionMismatchError, type PendingAnnotation, type PendingApprovalsStore, type PendingInteraction, type PromptAttachment, type QueuedItem, type RunningWorkItem, type SendOptions, type SerializedPreview, type SessionPresence, type SessionRow, type TodosSnapshot, type WireApprovalRequest, connectIpcClient, connectOrSpawnDaemon, createApprovalHub, createChatHost, createDaemonEnvironment, createFileApprovalsStore, createInteractionHub, createMemoryApprovalsStore, daemonSocketName, defaultSocketPath, ensureDaemonRunning, extractEditPayloadForGate, probeSocket, readFileSafe, resolveCwdPath, runAttach, runCompaction, selfDaemonSpawnCommand, serializePreview, startIpcDaemon };
849
867
  //# sourceMappingURL=ipc.d.ts.map