zidane 5.14.4 → 6.0.0

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 (202) hide show
  1. package/dist/{acp-24uU2WDs.js → acp-Irby04Us.js} +7 -8
  2. package/dist/{acp-24uU2WDs.js.map → acp-Irby04Us.js.map} +1 -1
  3. package/dist/acp-cli.js +7 -7
  4. package/dist/acp.d.ts +2 -3
  5. package/dist/acp.d.ts.map +1 -1
  6. package/dist/acp.js +1 -1
  7. package/dist/{agent-Cch2ayTt.js → agent-DkSmGkDM.js} +10871 -5411
  8. package/dist/agent-DkSmGkDM.js.map +1 -0
  9. package/dist/agent.d.ts +1 -2
  10. package/dist/agent.js +2 -2
  11. package/dist/{anthropic-RGqsJlC8.js → anthropic-CTHsdFG9.js} +46 -6
  12. package/dist/anthropic-CTHsdFG9.js.map +1 -0
  13. package/dist/{auth-C-ms5N2x.js → auth-BDSu_0t3.js} +13 -86
  14. package/dist/auth-BDSu_0t3.js.map +1 -0
  15. package/dist/chat/pure.d.ts +4 -4
  16. package/dist/chat/pure.js +4 -3
  17. package/dist/chat.d.ts +45 -8
  18. package/dist/chat.d.ts.map +1 -1
  19. package/dist/chat.js +9 -6
  20. package/dist/chat.js.map +1 -1
  21. package/dist/completion-core-CXYSVhZo.js +147 -0
  22. package/dist/completion-core-CXYSVhZo.js.map +1 -0
  23. package/dist/{context-breakdown-kO-pDsay.js → context-breakdown-Dzo25N45.js} +2 -23
  24. package/dist/context-breakdown-Dzo25N45.js.map +1 -0
  25. package/dist/contexts/daytona.d.ts +3 -3
  26. package/dist/contexts/daytona.js +1 -1
  27. package/dist/contexts/docker.d.ts +10 -2
  28. package/dist/contexts/docker.d.ts.map +1 -1
  29. package/dist/contexts/docker.js +142 -103
  30. package/dist/contexts/docker.js.map +1 -1
  31. package/dist/contexts/e2b.d.ts +2 -2
  32. package/dist/contexts/e2b.js +1 -1
  33. package/dist/contexts/sandbox.d.ts +1 -1
  34. package/dist/contexts/sandbox.js +4 -1
  35. package/dist/contexts/sandbox.js.map +1 -1
  36. package/dist/{contexts-Lzf5huID.js → contexts-Vone3qQQ.js} +26 -37
  37. package/dist/contexts-Vone3qQQ.js.map +1 -0
  38. package/dist/contexts.d.ts +3 -3
  39. package/dist/contexts.js +1 -1
  40. package/dist/errors.d.ts +1 -2
  41. package/dist/errors.js +1 -1
  42. package/dist/eval.d.ts +1 -1
  43. package/dist/eval.js +3 -3
  44. package/dist/exec-file-size-PXkr-MGA.js +63 -0
  45. package/dist/exec-file-size-PXkr-MGA.js.map +1 -0
  46. package/dist/extensions.d.ts +2 -0
  47. package/dist/extensions.js +2 -0
  48. package/dist/generate-data-WL_yGVL6.js +324 -0
  49. package/dist/generate-data-WL_yGVL6.js.map +1 -0
  50. package/dist/headless.d.ts +1 -1
  51. package/dist/headless.js +15 -10
  52. package/dist/headless.js.map +1 -1
  53. package/dist/index-B8UtiZy7.d.ts +14967 -0
  54. package/dist/index-B8UtiZy7.d.ts.map +1 -0
  55. package/dist/{index-B3ciFUZx.d.ts → index-DsPQbyUn.d.ts} +2 -2
  56. package/dist/index-DsPQbyUn.d.ts.map +1 -0
  57. package/dist/index.d.ts +6 -12
  58. package/dist/index.js +20 -43
  59. package/dist/index.js.map +1 -1
  60. package/dist/{logger-Ktm-lj1s.js → logger-DBX9uYOw.js} +108 -5
  61. package/dist/logger-DBX9uYOw.js.map +1 -0
  62. package/dist/login-DOF8pMVM.js +539 -0
  63. package/dist/login-DOF8pMVM.js.map +1 -0
  64. package/dist/{mcp-Dn5W65Lv.js → mcp-CcvuVXB9.js} +2 -2
  65. package/dist/{mcp-Dn5W65Lv.js.map → mcp-CcvuVXB9.js.map} +1 -1
  66. package/dist/mcp.d.ts +1 -1
  67. package/dist/mcp.js +1 -1
  68. package/dist/{messages-YZQLKaz2.js → messages-CwujiS74.js} +4 -4
  69. package/dist/messages-CwujiS74.js.map +1 -0
  70. package/dist/{openai-compat-0Y7jcncn.js → openai-compat-BvgYGSR1.js} +7 -6
  71. package/dist/{openai-compat-0Y7jcncn.js.map → openai-compat-BvgYGSR1.js.map} +1 -1
  72. package/dist/output/stream-json.d.ts +1 -2
  73. package/dist/output/stream-json.d.ts.map +1 -1
  74. package/dist/output/terminal.d.ts +1 -2
  75. package/dist/output/terminal.d.ts.map +1 -1
  76. package/dist/{glob-DluQFSw1.js → output-cap-kBUHBlnq.js} +50 -2
  77. package/dist/output-cap-kBUHBlnq.js.map +1 -0
  78. package/dist/presets.d.ts +1 -2
  79. package/dist/presets.js +1 -1
  80. package/dist/providers/anthropic.d.ts +2 -2
  81. package/dist/providers/anthropic.js +2 -2
  82. package/dist/providers/arcee.d.ts +1 -1
  83. package/dist/providers/arcee.js +1 -1
  84. package/dist/providers/baseten.d.ts +1 -1
  85. package/dist/providers/baseten.js +1 -1
  86. package/dist/providers/cerebras.d.ts +1 -1
  87. package/dist/providers/cerebras.js +1 -1
  88. package/dist/providers/local.d.ts +1 -1
  89. package/dist/providers/local.js +1 -1
  90. package/dist/providers/openai-compat.d.ts +1 -1
  91. package/dist/providers/openai-compat.js +1 -1
  92. package/dist/providers/openai.d.ts +1 -1
  93. package/dist/providers/openai.js +4 -4
  94. package/dist/providers/openai.js.map +1 -1
  95. package/dist/providers/openrouter.d.ts +1 -1
  96. package/dist/providers/openrouter.js +1 -1
  97. package/dist/providers/xai.d.ts +1 -1
  98. package/dist/providers/xai.js +1 -1
  99. package/dist/{providers-DgmdYGKm.js → providers-z6LDMAr3.js} +3 -3
  100. package/dist/{providers-DgmdYGKm.js.map → providers-z6LDMAr3.js.map} +1 -1
  101. package/dist/providers.d.ts +1 -1
  102. package/dist/providers.js +4 -4
  103. package/dist/{read-state-BymF41Jb.js → read-state-Dq_TXUX1.js} +2 -2
  104. package/dist/{read-state-BymF41Jb.js.map → read-state-Dq_TXUX1.js.map} +1 -1
  105. package/dist/{interpolate-BtIgcCuz.js → resolve-Cr8JSL_O.js} +562 -136
  106. package/dist/resolve-Cr8JSL_O.js.map +1 -0
  107. package/dist/restate.d.ts +2 -2
  108. package/dist/restate.js +2 -2
  109. package/dist/{sandbox-Dgy-m6UF.d.ts → sandbox-CgjG2VvQ.d.ts} +2 -2
  110. package/dist/{sandbox-Dgy-m6UF.d.ts.map → sandbox-CgjG2VvQ.d.ts.map} +1 -1
  111. package/dist/session/sqlite.d.ts +1 -1
  112. package/dist/{session-CqrAFAKJ.js → session-CsdDIPY8.js} +108 -3
  113. package/dist/session-CsdDIPY8.js.map +1 -0
  114. package/dist/session.d.ts +2 -2
  115. package/dist/session.js +3 -3
  116. package/dist/skills-Bsb0rvWI.js +295 -0
  117. package/dist/skills-Bsb0rvWI.js.map +1 -0
  118. package/dist/skills.d.ts +2 -3
  119. package/dist/skills.js +3 -24
  120. package/dist/{errors-CkTvg97v.d.ts → timeout-8vSIRjzl.d.ts} +10 -2
  121. package/dist/timeout-8vSIRjzl.d.ts.map +1 -0
  122. package/dist/{timeout-kGGSXagK.js → timeout-BDetbuN6.js} +59 -2
  123. package/dist/timeout-BDetbuN6.js.map +1 -0
  124. package/dist/tool-formatters-DY0TDb1r.d.ts +378 -0
  125. package/dist/tool-formatters-DY0TDb1r.d.ts.map +1 -0
  126. package/dist/tools/fetch-url.d.ts +1 -1
  127. package/dist/tools/web-search.d.ts +1 -1
  128. package/dist/tools.d.ts +2 -3
  129. package/dist/tools.js +3 -4
  130. package/dist/{transcript-anchors-BHIgMlPq.d.ts → transcript-anchors-Cb-bDbNH.d.ts} +233 -640
  131. package/dist/transcript-anchors-Cb-bDbNH.d.ts.map +1 -0
  132. package/dist/{transcript-anchors-DsoBHg43.js → transcript-anchors-DSRPWjiH.js} +391 -961
  133. package/dist/transcript-anchors-DSRPWjiH.js.map +1 -0
  134. package/dist/tui.d.ts +335 -11
  135. package/dist/tui.d.ts.map +1 -1
  136. package/dist/tui.js +6375 -1892
  137. package/dist/tui.js.map +1 -1
  138. package/dist/{turn-operations-Dw02ZoSQ.d.ts → turn-operations-CgMROLsr.d.ts} +29 -4
  139. package/dist/turn-operations-CgMROLsr.d.ts.map +1 -0
  140. package/dist/{turn-operations-tG0vuBNc.js → turn-operations-Dq9Kx7m2.js} +321 -81
  141. package/dist/turn-operations-Dq9Kx7m2.js.map +1 -0
  142. package/dist/{types-BqdTeBaC.d.ts → types-BDccavwj.d.ts} +42 -1
  143. package/dist/types-BDccavwj.d.ts.map +1 -0
  144. package/dist/{types-CyVGdbia.js → types-BIarq1qE.js} +90 -2
  145. package/dist/types-BIarq1qE.js.map +1 -0
  146. package/dist/types.d.ts +5 -6
  147. package/dist/types.js +1 -1
  148. package/dist/{xai-tPdbAGkq.js → xai-B_e6TOA8.js} +2 -2
  149. package/dist/{xai-tPdbAGkq.js.map → xai-B_e6TOA8.js.map} +1 -1
  150. package/docs/ARCHITECTURE.md +1 -1
  151. package/docs/CHAT.md +7 -6
  152. package/docs/EXECUTION_CONTEXT.md +16 -0
  153. package/docs/EXTENSIONS.md +1063 -0
  154. package/docs/SKILL.md +16 -0
  155. package/docs/TUI.md +10 -3
  156. package/package.json +12 -3
  157. package/dist/agent-Cch2ayTt.js.map +0 -1
  158. package/dist/agent-EFWt6uQ_.d.ts +0 -6914
  159. package/dist/agent-EFWt6uQ_.d.ts.map +0 -1
  160. package/dist/anthropic-RGqsJlC8.js.map +0 -1
  161. package/dist/auth-C-ms5N2x.js.map +0 -1
  162. package/dist/context-breakdown-kO-pDsay.js.map +0 -1
  163. package/dist/contexts-Lzf5huID.js.map +0 -1
  164. package/dist/errors-CkTvg97v.d.ts.map +0 -1
  165. package/dist/glob-DluQFSw1.js.map +0 -1
  166. package/dist/glob-shell-rJMoCIGb.js +0 -21
  167. package/dist/glob-shell-rJMoCIGb.js.map +0 -1
  168. package/dist/index-B3ciFUZx.d.ts.map +0 -1
  169. package/dist/index-BtzE3Uaq.d.ts +0 -2738
  170. package/dist/index-BtzE3Uaq.d.ts.map +0 -1
  171. package/dist/index-tSzOaWNt.d.ts +0 -316
  172. package/dist/index-tSzOaWNt.d.ts.map +0 -1
  173. package/dist/interpolate-BtIgcCuz.js.map +0 -1
  174. package/dist/logger-DGiGf7DW.d.ts +0 -102
  175. package/dist/logger-DGiGf7DW.d.ts.map +0 -1
  176. package/dist/logger-Ktm-lj1s.js.map +0 -1
  177. package/dist/login-CCA-1lgK.js +0 -267
  178. package/dist/login-CCA-1lgK.js.map +0 -1
  179. package/dist/messages-YZQLKaz2.js.map +0 -1
  180. package/dist/policy-DcGlpaNs.d.ts +0 -129
  181. package/dist/policy-DcGlpaNs.d.ts.map +0 -1
  182. package/dist/presets-BQWYMHdd.js +0 -114
  183. package/dist/presets-BQWYMHdd.js.map +0 -1
  184. package/dist/run-summary-DkN8KsHM.d.ts +0 -249
  185. package/dist/run-summary-DkN8KsHM.d.ts.map +0 -1
  186. package/dist/session-CqrAFAKJ.js.map +0 -1
  187. package/dist/shell-quote-BmnhZmdM.js +0 -33
  188. package/dist/shell-quote-BmnhZmdM.js.map +0 -1
  189. package/dist/skills.js.map +0 -1
  190. package/dist/timeout-CpFm0jJ6.d.ts +0 -10
  191. package/dist/timeout-CpFm0jJ6.d.ts.map +0 -1
  192. package/dist/timeout-kGGSXagK.js.map +0 -1
  193. package/dist/tool-formatters-C6iLgc9f.d.ts +0 -1454
  194. package/dist/tool-formatters-C6iLgc9f.d.ts.map +0 -1
  195. package/dist/tools-CCd8e-HT.js +0 -1739
  196. package/dist/tools-CCd8e-HT.js.map +0 -1
  197. package/dist/transcript-anchors-BHIgMlPq.d.ts.map +0 -1
  198. package/dist/transcript-anchors-DsoBHg43.js.map +0 -1
  199. package/dist/turn-operations-Dw02ZoSQ.d.ts.map +0 -1
  200. package/dist/turn-operations-tG0vuBNc.js.map +0 -1
  201. package/dist/types-BqdTeBaC.d.ts.map +0 -1
  202. package/dist/types-CyVGdbia.js.map +0 -1
package/dist/tui.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { Jn as McpToolSchema, L as SkillConfig, U as Session, W as SessionData, _r as ThinkingLevel, mr as SessionTurn } from "./agent-EFWt6uQ_.js";
2
- import { D as InteractionRequest, Kt as KeyBindings, O as InteractionResponse, S as splitMarkdownCodeBlocks, cn as hintsLength, dt as ChatOptions, et as EnabledAllowlistKey, fn as AgentRegistry, g as SessionExportFormat, it as DiscoveryError, jt as marginTopFor, l as Theme, ln as truncateTrailing, n as computeTurnAnchors, on as Hint, pt as ResolvedConfig, rn as CompletionState, rt as DiscoveredMcp, sn as clipHintsToWidth, t as TranscriptItem, u as ThemeColors, x as MarkdownSegment, yn as accentColor } from "./transcript-anchors-BHIgMlPq.js";
3
- import { A as SessionMeta, G as ProviderKey, L as CompletionProvider, M as StreamEvent, R as CompletionReference, W as ProviderAuth, X as ModelOption, Y as ModelInfo, _ as isEditErrorResult, a as formatToolCall, b as selectableTurnIds, c as splitPromptSegments, i as displayNameFor, j as Settings, l as ApprovalDecision, n as ToolDisplayMeta, o as PromptSegment, r as ToolFormatLine, s as PromptSegmentRef, t as TOOL_DISPLAY, u as ApprovalRequest, v as isTurnHighlighted, x as turnSelectionOwnership, y as isVisible } from "./tool-formatters-C6iLgc9f.js";
1
+ import { Ac as CompletionProvider, Bl as RingBufferSink, Df as Session, Of as SessionData, Su as ModelOption, Tc as CompletionState, Vd as SessionTurn, Wd as ThinkingLevel, _u as ProviderKey, bc as ThemeColors, du as SessionMeta, el as InteractionRequest, eu as accentColor, fu as Settings, gu as ProviderAuth, io as ExtensionDefinition, jc as CompletionReference, jo as ExtensionToolRendererEntry, ka as ExtensionConfigCategory, no as ExtensionCustomRenderer, pu as StreamEvent, ql as AgentRegistry, tl as InteractionResponse, vd as JsonValue, xd as McpToolSchema, xf as SkillConfig, xu as ModelInfo, yc as Theme, yd as McpServerConfig, yo as ExtensionRegistry, za as StoredExtensionConfigItem, zo as LoadedExtension } from "./index-B8UtiZy7.js";
2
+ import { B as marginTopFor, S as ResolvedConfig, _t as clipHintsToWidth, b as ChatOptions, f as DiscoveredMcp, gt as Hint, i as SessionExportFormat, l as EnabledAllowlistKey, n as computeTurnAnchors, p as DiscoveryError, t as TranscriptItem, tt as KeyBindings, vt as hintsLength, yt as truncateTrailing } from "./transcript-anchors-Cb-bDbNH.js";
3
+ import { C as isTurnHighlighted, E as turnSelectionOwnership, S as isEditErrorResult, T as selectableTurnIds, a as formatToolCall, c as splitPromptSegments, h as ApprovalRequest, i as displayNameFor, m as ApprovalDecision, n as ToolDisplayMeta, o as PromptSegment, p as splitMarkdownCodeBlocks, r as ToolFormatLine, s as PromptSegmentRef, t as TOOL_DISPLAY, u as MarkdownSegment, w as isVisible } from "./tool-formatters-DY0TDb1r.js";
4
4
  import { Buffer } from "node:buffer";
5
5
  import { ReactNode } from "react";
6
6
  import { RGBA, SyntaxStyle } from "@opentui/core";
@@ -99,7 +99,9 @@ declare function Footer({
99
99
  hints,
100
100
  context,
101
101
  cost,
102
- status
102
+ status,
103
+ compactionTokens,
104
+ compactionStartedAt
103
105
  }: {
104
106
  hints: Hint[];
105
107
  context: ContextUsage | null;
@@ -116,6 +118,14 @@ declare function Footer({
116
118
  * the previous title-overlay logic: asking > compacting > busy.
117
119
  */
118
120
  status?: 'busy' | 'compacting' | 'asking' | null;
121
+ /**
122
+ * Rough token estimate of the in-flight compaction summary. Rendered
123
+ * after the "Compacting…" label (`Compacting… ~2.1k`) so the user sees
124
+ * the stream making progress instead of an opaque spinner. Ignored
125
+ * unless `status === 'compacting'`.
126
+ */
127
+ compactionTokens?: number | null; /** Wall-clock start of the in-flight compaction — drives the elapsed suffix. */
128
+ compactionStartedAt?: number | null;
119
129
  }): ReactNode;
120
130
  /**
121
131
  * Pure renderer for a list of {@link Hint}s as colored spans —
@@ -277,6 +287,92 @@ declare function EffortPickerModal({
277
287
  onPick: (effort: ThinkingLevel) => void;
278
288
  }): import("react").ReactNode;
279
289
  //#endregion
290
+ //#region src/tui/extension-renderers.d.ts
291
+ interface ExtensionRenderers {
292
+ /** Resolve a namespaced custom-renderer id, `null` when unavailable. */
293
+ custom: (id: string) => ExtensionCustomRenderer | null;
294
+ /**
295
+ * Tool renderers to consult for a tool's result row, in registration
296
+ * order — specific claims first, then wildcards. The row takes the
297
+ * first non-null render; an empty array means default rendering.
298
+ * Entries carry `owner` so hooks inside the winning renderer can
299
+ * persist under the right extension namespace.
300
+ */
301
+ tool: (tool: string) => readonly ExtensionToolRendererEntry[];
302
+ }
303
+ /** Live renderer tables for the transcript. Empty (all-fallback) when unmounted. */
304
+ declare function useExtensionRenderers(): ExtensionRenderers;
305
+ /**
306
+ * Derive renderer lookup tables from the LIVE FILTERED registry (pass the
307
+ * output of `filterExtensionRegistry` so Settings toggles apply). Mounted
308
+ * once near the app root; identity changes only when the registry or the
309
+ * enabled set actually change, so transcript re-renders stay scoped to
310
+ * real swaps.
311
+ */
312
+ declare function ExtensionRenderersProvider({
313
+ registry,
314
+ children
315
+ }: {
316
+ registry: ExtensionRegistry;
317
+ children: ReactNode;
318
+ }): ReactNode;
319
+ /** The scrollbox viewport's absolute rect. */
320
+ interface RowViewportWindow {
321
+ top: number;
322
+ height: number;
323
+ }
324
+ /**
325
+ * Durable per-row state for renderer components — the cache that lets an
326
+ * async row fetch ONCE and rehydrate on reload instead of refetching:
327
+ *
328
+ * const [data, setData] = useSessionState<Pr | null>('pr', null)
329
+ * useEffect(() => { if (visible && !data) fetchPr().then(setData) }, [visible, data])
330
+ *
331
+ * Persisted in the session's extension-state bag under the OWNING
332
+ * extension's namespace, keyed `renderer:<localId>:<turnId>:<id>` — the
333
+ * same value the extension can inspect via `ctx.session.get`. Values must
334
+ * be JSON-safe (enforced by the type). Rows without a turn id (shouldn't
335
+ * exist — live rows pre-mint theirs) degrade to volatile memory state.
336
+ * Throws when called outside an extension-rendered row.
337
+ */
338
+ declare function useSessionState<T extends JsonValue>(id: string, initial: T): [T, (next: T) => void];
339
+ /**
340
+ * `true` once the row has been scrolled into the viewport (± `margin`
341
+ * rows of warm-up) — LATCHED: it never flips back to `false`, because
342
+ * its job is gating a row's INITIAL async work, not re-triggering on
343
+ * every scroll flicker (re-run-on-revisit belongs to the author's own
344
+ * state keys). Reports `true` immediately when no visibility tracker is
345
+ * mounted. Throws outside an extension-rendered row.
346
+ */
347
+ declare function useRowVisible(margin?: number): boolean;
348
+ //#endregion
349
+ //#region src/tui/extensions-settings.d.ts
350
+ /**
351
+ * List + toggle modal for discovered extensions. Mirrors the Skills /
352
+ * MCP pickers in shape:
353
+ *
354
+ * - **Toggleable** rows: every extension that loaded its module
355
+ * successfully — both the ones currently running (`loaded`) AND the
356
+ * ones the user already toggled off (`inactive` without an error).
357
+ * Without surfacing the latter the user can't flip them back on.
358
+ * - **Preamble** rows: extensions whose import or `setup()` threw.
359
+ * Read-only diagnostic so the user can fix the bug or `rm` the
360
+ * folder without leaving the TUI.
361
+ *
362
+ * Enabled state lives in `settings.enabledExtensions` (mirrors
363
+ * `enabledSkills` / `enabledMcps`). Toggling takes effect on the NEXT
364
+ * launch — extension registration is a boot-time concern (themes /
365
+ * agents / providers / keybindings all fold into the resolved config
366
+ * at `resolveConfig` time).
367
+ */
368
+ declare function ExtensionsSettingsModal({
369
+ catalog,
370
+ inactive
371
+ }: {
372
+ /** Successfully-loaded + currently-active extensions. */catalog: readonly LoadedExtension[]; /** Inactive entries — disabled-via-allowlist + load failures. */
373
+ inactive?: readonly LoadedExtension[];
374
+ }): import("react").ReactNode;
375
+ //#endregion
280
376
  //#region src/tui/interaction-block.d.ts
281
377
  /**
282
378
  * InteractionBlock — picker UI for `present_plan` and `ask_user` tool calls.
@@ -386,6 +482,15 @@ interface ModalApi {
386
482
  /** Signal "modal-like UI is on screen" without rendering an overlay. */
387
483
  lock: () => void;
388
484
  unlock: () => void;
485
+ /**
486
+ * Suppress {@link ModalRoot}'s baseline `esc` → close handler while
487
+ * something is open. Used by {@link Modal} when `disableEscape` is on
488
+ * so the child can fully own esc semantics (e.g. cancel a pending
489
+ * confirmation without dismissing the panel). Refcounted so nested
490
+ * locks compose correctly.
491
+ */
492
+ lockEscape: () => void;
493
+ unlockEscape: () => void;
389
494
  isOpen: boolean;
390
495
  }
391
496
  declare function ModalRoot({
@@ -454,6 +559,15 @@ interface ModalProps {
454
559
  horizontalMargin?: number;
455
560
  /** Rows of breathing room kept above + below the modal when `maxHeight` is set. */
456
561
  verticalMargin?: number;
562
+ /**
563
+ * Fill the terminal edge-to-edge (minus margins), tracking the live
564
+ * terminal size exactly. Overrides the `maxWidth` / `minWidth` /
565
+ * `maxHeight` tiers — for workbench-style surfaces (settings) where
566
+ * more room is strictly better and a centered floating panel wastes
567
+ * the margins. Content must still bring its own `scrollbox` for
568
+ * overflow, same as `maxHeight`.
569
+ */
570
+ fullscreen?: boolean;
457
571
  }
458
572
  /**
459
573
  * Responsive modal — picks a width (and optionally a height) based on the
@@ -480,7 +594,8 @@ declare function Modal({
480
594
  minWidth,
481
595
  maxHeight,
482
596
  horizontalMargin,
483
- verticalMargin
597
+ verticalMargin,
598
+ fullscreen
484
599
  }: ModalProps): ReactNode;
485
600
  //#endregion
486
601
  //#region src/tui/model-options-picker.d.ts
@@ -606,6 +721,7 @@ declare function ChatScreen({
606
721
  selectedTurnId,
607
722
  promptTriggerHints,
608
723
  attachImageBinding,
724
+ editorBinding,
609
725
  liveSession
610
726
  }: {
611
727
  cwd: string;
@@ -701,6 +817,11 @@ declare function ChatScreen({
701
817
  * into {@link PromptBlock} so it can read the OS clipboard on that key.
702
818
  */
703
819
  attachImageBinding?: string;
820
+ /**
821
+ * Resolved keybinding spec for "edit prompt in $EDITOR", threaded into
822
+ * {@link PromptBlock}. Absent when the `externalEditor` setting is off.
823
+ */
824
+ editorBinding?: string;
704
825
  /**
705
826
  * Live `Session` reference for surfaces that read metadata directly
706
827
  * (currently {@link TodoIndicator}'s `useActiveTodos` slice). The
@@ -800,10 +921,15 @@ interface SessionDetailsModalActions {
800
921
  * `signal` is provided so a parent unmount (modal closed, session
801
922
  * switched) can abort the in-flight summary call.
802
923
  *
924
+ * `onProgress` (optional for hosts) receives a rough cumulative
925
+ * output-token estimate while the summary streams — the modal renders
926
+ * it next to the running spinner so a multi-minute compaction shows
927
+ * visible progress. Hosts should throttle before invoking.
928
+ *
803
929
  * Omit when compaction isn't wired (no provider picked yet, or the
804
930
  * host opted out) — the modal hides the `k` shortcut.
805
931
  */
806
- onCompact?: (sessionId: string, signal: AbortSignal) => Promise<SessionCompactResult>;
932
+ onCompact?: (sessionId: string, signal: AbortSignal, onProgress?: (estOutputTokens: number) => void) => Promise<SessionCompactResult>;
807
933
  }
808
934
  /** What `onCompact` returns. Drives the modal's success banner. */
809
935
  interface SessionCompactResult {
@@ -884,6 +1010,12 @@ interface SettingsActions {
884
1010
  * the modal as a side effect.
885
1011
  */
886
1012
  onConfigureProvider?: (provider: ProviderAuth) => void;
1013
+ /**
1014
+ * Open the cross-provider model picker to choose the model the
1015
+ * compaction summary call runs on (`Settings.compactionModel`).
1016
+ * Closes the modal as a side effect — the picker owns the modal slot.
1017
+ */
1018
+ onPickCompactionModel?: () => void;
887
1019
  /** Open `~/.zidane/keybindings.json` in `$EDITOR`. */
888
1020
  onOpenKeybindings?: () => void;
889
1021
  /** Start an MCP OAuth flow. Resolves once tokens land or the flow aborts. */
@@ -918,6 +1050,67 @@ interface SettingsActions {
918
1050
  * whatever the on-disk cache last captured.
919
1051
  */
920
1052
  onRefreshMcpTools?: () => Promise<void> | void;
1053
+ /**
1054
+ * Open an "edit extension" session rooted at `dir` (`ctrl+e` on a
1055
+ * focused extension row). The host chdir's into the dir, opens a fresh
1056
+ * session marked as an extension-edit, and auto-activates the docs
1057
+ * skill. Works on errored extensions too — they still carry a `dir`.
1058
+ * Inline / builtin extensions have no `dir`, so the row's `ctrl+e` is
1059
+ * a no-op for them.
1060
+ */
1061
+ onEditExtension?: (dir: string) => void;
1062
+ /**
1063
+ * Open the "create extension" flow (`ctrl+a` on the Extensions tab):
1064
+ * prompt for a name + scope, scaffold `index.ts`, then route into the
1065
+ * same edit-session path as {@link onEditExtension}.
1066
+ */
1067
+ onCreateExtension?: () => void;
1068
+ /**
1069
+ * Update the focused extension from its `.install.json` provenance
1070
+ * (`ctrl+u`): re-fetch the recorded source, replace the install in
1071
+ * place, hot-reload the registry. Resolves to the feedback line the
1072
+ * modal shows; rejects with the reason (no provenance, fetch failure,
1073
+ * …) which renders as an error notice.
1074
+ */
1075
+ onUpdateExtension?: (ext: LoadedExtension) => Promise<string>;
1076
+ /**
1077
+ * Delete the focused extension's directory and hot-reload (`ctrl+x`,
1078
+ * pressed twice — the modal owns the arm/confirm step). Same
1079
+ * resolve/reject contract as {@link onUpdateExtension}.
1080
+ */
1081
+ onRemoveExtension?: (ext: LoadedExtension) => Promise<string>;
1082
+ /**
1083
+ * Install an extension from GitHub / npm (`ctrl+g` on the Extensions
1084
+ * tab — the modal owns the two-step source → scope flow). Same
1085
+ * resolve/reject contract as the other extension actions; `onProgress`
1086
+ * streams fetch/validate/install stages into the busy line.
1087
+ */
1088
+ onInstallExtension?: (req: {
1089
+ source: string;
1090
+ extension?: string;
1091
+ scope: 'project' | 'user';
1092
+ onProgress?: (message: string) => void;
1093
+ }) => Promise<string>;
1094
+ /**
1095
+ * Install a skill from GitHub / npm / skills.sh (`ctrl+g` on the
1096
+ * Skills tab — same two-step source → scope flow as extensions).
1097
+ * Accepts everything `parseSkillInstallSpec` does, including pasted
1098
+ * skills.sh catalog URLs. Resolves to a success message; rejects with
1099
+ * the failure (surfaced on the tab's op line). The host decides the
1100
+ * engine (skills.sh CLI when on PATH, else the native fetch).
1101
+ */
1102
+ onInstallSkill?: (req: {
1103
+ source: string;
1104
+ skill?: string;
1105
+ scope: 'project' | 'user';
1106
+ onProgress?: (message: string) => void;
1107
+ }) => Promise<string>;
1108
+ /**
1109
+ * Persist a new MCP server (`ctrl+g` on the MCPs tab — inline form).
1110
+ * The host upserts into the scope's `mcps.json` and refreshes the
1111
+ * catalog. Resolves to a success message; rejects with the failure.
1112
+ */
1113
+ onAddMcp?: (entry: McpServerConfig, scope: 'project' | 'user') => Promise<string>;
921
1114
  }
922
1115
  /**
923
1116
  * Snapshot of the host's auth state for the Authentication tab.
@@ -943,8 +1136,16 @@ declare function SettingsModal({
943
1136
  mcpsErrors: mcpsErrorsProp,
944
1137
  keybindings,
945
1138
  keybindingsPath,
1139
+ extensionKeybindings,
1140
+ extensionThemes: extensionThemesProp,
1141
+ extensionsCatalog: extensionsCatalogProp,
1142
+ extensionsInactive: extensionsInactiveProp,
1143
+ extensionConfigCategories: extensionConfigCategoriesProp,
1144
+ extensionConfigItems: extensionConfigItemsProp,
1145
+ logs,
946
1146
  authentication,
947
- actions
1147
+ actions,
1148
+ version
948
1149
  }?: {
949
1150
  /**
950
1151
  * Embedder fallback — discovered skills when no `<DiscoveryProvider>`
@@ -952,6 +1153,12 @@ declare function SettingsModal({
952
1153
  * live state from `useDiscovery()` so a `ctrl+R` rescan surfaces
953
1154
  * immediately even with the modal already open.
954
1155
  */
1156
+ /**
1157
+ * Host build version (e.g. `pkg.version` inlined by the CLI — the same
1158
+ * value `AutoUpdateConfig.currentVersion` carries). Rendered on the
1159
+ * modal's bottom border as `zidane v…`. Omitted → no version chip.
1160
+ */
1161
+ version?: string;
955
1162
  skillsCatalog?: readonly SkillConfig[]; /** Embedder fallback — discovered MCP servers; superseded by context when present. */
956
1163
  mcpsCatalog?: readonly DiscoveredMcp[]; /** Embedder fallback — `mcps.json` parse errors; superseded by context when present. */
957
1164
  mcpsErrors?: readonly DiscoveryError[];
@@ -963,6 +1170,68 @@ declare function SettingsModal({
963
1170
  */
964
1171
  keybindings?: KeyBindings; /** Absolute path to `keybindings.json`. Surfaced on the pinned edit-file button. */
965
1172
  keybindingsPath?: string;
1173
+ /**
1174
+ * Extension-contributed keybindings, already resolved against the
1175
+ * user's `keybindings.json` overrides. Rendered as an "Extensions"
1176
+ * section at the bottom of the Keybindings tab so users can
1177
+ * discover what extensions bound and how to rebind them.
1178
+ */
1179
+ extensionKeybindings?: readonly {
1180
+ id: string;
1181
+ label: string;
1182
+ description: string;
1183
+ spec: string;
1184
+ }[];
1185
+ /**
1186
+ * Extension-contributed themes. Folded into the `theme` choice's
1187
+ * options so the user can pick them from the same picker the
1188
+ * built-ins ride. Built-in `Theme` ids shadow extension ids on
1189
+ * collision (the same precedence rule `resolveTheme` follows).
1190
+ */
1191
+ extensionThemes?: ReadonlyArray<{
1192
+ id: string;
1193
+ label: string;
1194
+ }>;
1195
+ /**
1196
+ * Successfully-loaded extensions (`registry.loaded`). When provided
1197
+ * an "Extensions" tab appears alongside Skills + MCPs with the same
1198
+ * checkbox-list shape; the user toggles `Settings.enabledExtensions`
1199
+ * directly from there. Toggles take effect on the NEXT launch —
1200
+ * see the JSDoc on `Settings.enabledExtensions`.
1201
+ */
1202
+ extensionsCatalog?: readonly LoadedExtension[];
1203
+ /**
1204
+ * Inactive extensions — disabled-via-allowlist + load failures
1205
+ * (`registry.inactive`). Disabled-no-error entries still toggle in
1206
+ * the tab (so the user can flip them back on). Errored entries
1207
+ * render as a preamble warning inside the tab body.
1208
+ */
1209
+ extensionsInactive?: readonly LoadedExtension[];
1210
+ /**
1211
+ * Extension-contributed config categories, keyed by category id
1212
+ * (`ResolvedConfig.extensionConfigCategories` / the live registry's
1213
+ * `configCategories`). Used to label the category sub-headers in the
1214
+ * "Extension config" tab.
1215
+ */
1216
+ extensionConfigCategories?: Readonly<Record<string, ExtensionConfigCategory>>;
1217
+ /**
1218
+ * Extension-contributed config items, namespaced `extName → itemKey →
1219
+ * item`. When non-empty an "Extension config" tab appears; the user
1220
+ * edits values that persist under `Settings.extensionConfig`. Displayed
1221
+ * values run through the core resolver so an unset / malformed value
1222
+ * shows the item's default.
1223
+ */
1224
+ extensionConfigItems?: Readonly<Record<string, Readonly<Record<string, StoredExtensionConfigItem>>>>;
1225
+ /**
1226
+ * Live session log funnel. When provided, a "Logs" tab appears that
1227
+ * streams the in-memory ring buffer (the same funnel the opt-in file
1228
+ * sink writes). `filePath` is the resolved log-file location shown in
1229
+ * the tab's header.
1230
+ */
1231
+ logs?: {
1232
+ buffer: Pick<RingBufferSink, 'getRecords' | 'subscribe'>;
1233
+ filePath: string;
1234
+ };
966
1235
  /**
967
1236
  * Auth state snapshot. When provided, an "Authentication" tab
968
1237
  * appears with the current provider/model header + a navigable list of
@@ -1066,6 +1335,7 @@ declare function ToggleListModal<T>({
1066
1335
  catalog,
1067
1336
  keyOf,
1068
1337
  settingKey,
1338
+ gcKeys,
1069
1339
  title,
1070
1340
  renderDetail,
1071
1341
  emptyState,
@@ -1074,7 +1344,8 @@ declare function ToggleListModal<T>({
1074
1344
  }: {
1075
1345
  catalog: readonly T[];
1076
1346
  keyOf: (entry: T) => string;
1077
- settingKey: EnabledAllowlistKey; /** Modal title stemrendered as `${title} · N / M enabled` in non-empty mode. */
1347
+ settingKey: EnabledAllowlistKey; /** Forwarded to `useEnabledToggleSet`names that survive allowlist GC beyond the catalog. */
1348
+ gcKeys?: readonly string[]; /** Modal title stem — rendered as `${title} · N / M enabled` in non-empty mode. */
1078
1349
  title: string; /** Mute-colored trailing copy for each row (description, transport, …). */
1079
1350
  renderDetail?: (entry: T) => ReactNode; /** What to render when `catalog` is empty (hint about where to drop config). */
1080
1351
  emptyState: ReactNode;
@@ -1118,6 +1389,33 @@ declare function TurnDetailsModal({
1118
1389
  }): import("react").ReactNode;
1119
1390
  //#endregion
1120
1391
  //#region src/tui/index.d.ts
1392
+ /**
1393
+ * Options accepted by {@link runTui}. Extends {@link ChatOptions} with the
1394
+ * launcher-only fields that hosts can't carry through the synchronous
1395
+ * `resolveConfig` surface (extension loading is async because user
1396
+ * `setup()` can be async).
1397
+ */
1398
+ interface RunTuiOptions extends Partial<ChatOptions> {
1399
+ /**
1400
+ * Inline extensions the host wants `runTui` to load alongside any
1401
+ * disk-discovered ones. The launcher runs `setup()` on every entry,
1402
+ * folds the result into a single {@link ExtensionRegistry}, and
1403
+ * threads it through `resolveConfig` for you.
1404
+ *
1405
+ * Use this for extensions bundled with a custom CLI binary; for
1406
+ * user-installed extensions, drop them in
1407
+ * `.zidane/extensions/<name>/index.ts` and let auto-discovery pick
1408
+ * them up.
1409
+ *
1410
+ * Inline definitions honor the same user-toggle allowlist
1411
+ * (`Settings.enabledExtensions`) as disk extensions: a toggled-off
1412
+ * inline extension's `setup()` is skipped at boot and its
1413
+ * contributions never reach `ResolvedConfig`. The only difference is
1414
+ * load mechanics — inline modules are already imported by the host,
1415
+ * while disabled disk extensions are never imported at all.
1416
+ */
1417
+ extensions?: readonly ExtensionDefinition[];
1418
+ }
1121
1419
  /**
1122
1420
  * Boot a full chat TUI with sensible defaults. **Does not return** under
1123
1421
  * normal use — it terminates the host process via `process.exit(0)` once
@@ -1153,7 +1451,7 @@ declare function TurnDetailsModal({
1153
1451
  * to `runTui({ storageDir, prefix })`.
1154
1452
  *
1155
1453
  * ```ts
1156
- * import { BUILTIN_AGENTS, BUILTIN_PROVIDERS } from 'zidane/chat'
1454
+ * import { BUILTIN_AGENTS, BUILTIN_PROVIDERS, defineExtension } from 'zidane/chat'
1157
1455
  * import { runTui } from 'zidane/tui'
1158
1456
  * import { createRemoteStore } from 'zidane/session' // for the `store` option
1159
1457
  *
@@ -1163,9 +1461,35 @@ declare function TurnDetailsModal({
1163
1461
  * await runTui({ providers: { ...BUILTIN_PROVIDERS, mine: myDescriptor } })
1164
1462
  * await runTui({ store: createRemoteStore({ url: '…' }) })
1165
1463
  * await runTui({ agents: { ...BUILTIN_AGENTS, debug: myDebugProfile } })
1464
+ *
1465
+ * // Inline extension bundled with a custom CLI binary. Disk discovery
1466
+ * // (.zidane/extensions/<name>/) still runs alongside; this just adds
1467
+ * // host-shipped defs to the catalog.
1468
+ * await runTui({
1469
+ * extensions: [
1470
+ * defineExtension({
1471
+ * name: 'my-host-ext',
1472
+ * setup(ctx) { ctx.registerHook('tool:after', e => ctx.logger.info('ran', e)) },
1473
+ * }),
1474
+ * ],
1475
+ * })
1166
1476
  * ```
1167
1477
  */
1168
- declare function runTui(options?: Partial<ChatOptions>): Promise<never>;
1478
+ /**
1479
+ * Map `react` / `@opentui/*` bare imports to THIS module's live instances
1480
+ * for everything imported afterwards — extensions included. Exported (and
1481
+ * idempotent) because ordering is the whole game: any host that imports
1482
+ * extension modules BEFORE `runTui()` (the dev CLI builds its inline
1483
+ * dev-extension list up front) must call this first, or those modules
1484
+ * resolve their own react copy and cache it forever — hooks then throw
1485
+ * against the reconciler's copy ("Invalid hook call" → failed renderer).
1486
+ * And it must live HERE, not in the caller: the caller's own `react`
1487
+ * import may itself resolve a different copy (the dev CLI's does — the
1488
+ * tui workspace carries its own node_modules/react), while this module's
1489
+ * static imports are by definition the ones the reconciler runs.
1490
+ */
1491
+ declare function registerTuiHostModules(): void;
1492
+ declare function runTui(options?: RunTuiOptions): Promise<never>;
1169
1493
  //#endregion
1170
- export { AgentPickerModal, App, AuthScreen, ChatScreen, CompletionPopup, type ContextUsage, EffortPickerModal, Footer, type Hint, InteractionBlock, type MarkdownSegment, McpsSettingsModal, type MetaSegment, Modal, type ModalProps, ModalRoot, ModelOptionsPickerModal, ModelPickerModal, type PickedModel, type PromptSegment, type PromptSegmentRef, type QueueShortcuts, type QueuedPreview, type SessionCompactResult, SessionDetailsModal, type SessionDetailsModalActions, type SessionExportResult, SessionsScreen, type SettingsActions, SettingsModal, SkillsSettingsModal, Spinner, StatusSpinner, TOOL_DISPLAY, TitleOverlay, ToggleListModal, type ToolDisplayMeta, type ToolFormatLine, Transcript, type TranscriptItem, TurnDetailsModal, type TurnDetailsModalActions, accentColor, buildMdStyle, clipHintsToWidth, computeTurnAnchors, displayNameFor, formatToolCall, hintsLength, isEditErrorResult, isTurnHighlighted, isVisible, marginTopFor, onInputSubmit, renderHintSpans, runTui, selectableTurnIds, splitMarkdownCodeBlocks, splitPromptSegments, truncateTrailing, turnSelectionOwnership, useMdStyle, useModal, useModalAwareFocus };
1494
+ export { AgentPickerModal, App, AuthScreen, ChatScreen, CompletionPopup, type ContextUsage, EffortPickerModal, type ExtensionRenderers, ExtensionRenderersProvider, ExtensionsSettingsModal, Footer, type Hint, InteractionBlock, type MarkdownSegment, McpsSettingsModal, type MetaSegment, Modal, type ModalProps, ModalRoot, ModelOptionsPickerModal, ModelPickerModal, type PickedModel, type PromptSegment, type PromptSegmentRef, type QueueShortcuts, type QueuedPreview, type RowViewportWindow, RunTuiOptions, type SessionCompactResult, SessionDetailsModal, type SessionDetailsModalActions, type SessionExportResult, SessionsScreen, type SettingsActions, SettingsModal, SkillsSettingsModal, Spinner, StatusSpinner, TOOL_DISPLAY, TitleOverlay, ToggleListModal, type ToolDisplayMeta, type ToolFormatLine, Transcript, type TranscriptItem, TurnDetailsModal, type TurnDetailsModalActions, accentColor, buildMdStyle, clipHintsToWidth, computeTurnAnchors, displayNameFor, formatToolCall, hintsLength, isEditErrorResult, isTurnHighlighted, isVisible, marginTopFor, onInputSubmit, registerTuiHostModules, renderHintSpans, runTui, selectableTurnIds, splitMarkdownCodeBlocks, splitPromptSegments, truncateTrailing, turnSelectionOwnership, useExtensionRenderers, useMdStyle, useModal, useModalAwareFocus, useRowVisible, useSessionState };
1171
1495
  //# sourceMappingURL=tui.d.ts.map
package/dist/tui.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.d.ts","names":[],"sources":["../src/tui/agent-picker.tsx","../src/tui/app.tsx","../src/tui/completion-popup.tsx","../src/tui/components.tsx","../src/tui/effort-picker.tsx","../src/tui/interaction-block.tsx","../src/tui/mcps-settings.tsx","../src/tui/modal.tsx","../src/tui/model-options-picker.tsx","../src/tui/model-picker.tsx","../src/tui/screens.tsx","../src/tui/session-details-modal.tsx","../src/tui/settings-modal.tsx","../src/tui/skills-settings.tsx","../src/tui/theme.ts","../src/tui/toggle-list-modal.tsx","../src/tui/turn-details-modal.tsx","../src/tui/index.tsx"],"mappings":"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"}
1
+ {"version":3,"file":"tui.d.ts","names":[],"sources":["../src/tui/agent-picker.tsx","../src/tui/app.tsx","../src/tui/completion-popup.tsx","../src/tui/components.tsx","../src/tui/effort-picker.tsx","../src/tui/extension-renderers.tsx","../src/tui/extensions-settings.tsx","../src/tui/interaction-block.tsx","../src/tui/mcps-settings.tsx","../src/tui/modal.tsx","../src/tui/model-options-picker.tsx","../src/tui/model-picker.tsx","../src/tui/screens.tsx","../src/tui/session-details-modal.tsx","../src/tui/settings-modal.tsx","../src/tui/skills-settings.tsx","../src/tui/theme.ts","../src/tui/toggle-list-modal.tsx","../src/tui/turn-details-modal.tsx","../src/tui/index.tsx"],"mappings":"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"}