zidane 5.14.5 → 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 (198) hide show
  1. package/dist/{acp-BpFEbCMQ.js → acp-Irby04Us.js} +7 -8
  2. package/dist/{acp-BpFEbCMQ.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-DyI0YsAR.js → agent-DkSmGkDM.js} +10873 -5437
  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-cbfW2RGg.js → anthropic-CTHsdFG9.js} +5 -4
  12. package/dist/{anthropic-cbfW2RGg.js.map → anthropic-CTHsdFG9.js.map} +1 -1
  13. package/dist/{auth-D9uj0nNr.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 +29 -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-CozesxbB.js → messages-CwujiS74.js} +4 -4
  69. package/dist/messages-CwujiS74.js.map +1 -0
  70. package/dist/{openai-compat-FII_9wJP.js → openai-compat-BvgYGSR1.js} +5 -4
  71. package/dist/{openai-compat-FII_9wJP.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 +1 -1
  81. package/dist/providers/anthropic.js +1 -1
  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 +3 -3
  94. package/dist/providers/openrouter.d.ts +1 -1
  95. package/dist/providers/openrouter.js +1 -1
  96. package/dist/providers/xai.d.ts +1 -1
  97. package/dist/providers/xai.js +1 -1
  98. package/dist/{providers-DYXj2LcE.js → providers-z6LDMAr3.js} +3 -3
  99. package/dist/{providers-DYXj2LcE.js.map → providers-z6LDMAr3.js.map} +1 -1
  100. package/dist/providers.d.ts +1 -1
  101. package/dist/providers.js +4 -4
  102. package/dist/{read-state-BymF41Jb.js → read-state-Dq_TXUX1.js} +2 -2
  103. package/dist/{read-state-BymF41Jb.js.map → read-state-Dq_TXUX1.js.map} +1 -1
  104. package/dist/{interpolate-BtIgcCuz.js → resolve-Cr8JSL_O.js} +562 -136
  105. package/dist/resolve-Cr8JSL_O.js.map +1 -0
  106. package/dist/restate.d.ts +2 -2
  107. package/dist/restate.js +2 -2
  108. package/dist/{sandbox-Dgy-m6UF.d.ts → sandbox-CgjG2VvQ.d.ts} +2 -2
  109. package/dist/{sandbox-Dgy-m6UF.d.ts.map → sandbox-CgjG2VvQ.d.ts.map} +1 -1
  110. package/dist/session/sqlite.d.ts +1 -1
  111. package/dist/{session-BRCsZsXa.js → session-CsdDIPY8.js} +108 -3
  112. package/dist/session-CsdDIPY8.js.map +1 -0
  113. package/dist/session.d.ts +2 -2
  114. package/dist/session.js +3 -3
  115. package/dist/skills-Bsb0rvWI.js +295 -0
  116. package/dist/skills-Bsb0rvWI.js.map +1 -0
  117. package/dist/skills.d.ts +2 -3
  118. package/dist/skills.js +3 -24
  119. package/dist/{errors-CkTvg97v.d.ts → timeout-8vSIRjzl.d.ts} +10 -2
  120. package/dist/timeout-8vSIRjzl.d.ts.map +1 -0
  121. package/dist/{timeout-kGGSXagK.js → timeout-BDetbuN6.js} +59 -2
  122. package/dist/timeout-BDetbuN6.js.map +1 -0
  123. package/dist/tool-formatters-DY0TDb1r.d.ts +378 -0
  124. package/dist/tool-formatters-DY0TDb1r.d.ts.map +1 -0
  125. package/dist/tools/fetch-url.d.ts +1 -1
  126. package/dist/tools/web-search.d.ts +1 -1
  127. package/dist/tools.d.ts +2 -3
  128. package/dist/tools.js +3 -4
  129. package/dist/{transcript-anchors-BEKMYhfo.d.ts → transcript-anchors-Cb-bDbNH.d.ts} +231 -638
  130. package/dist/transcript-anchors-Cb-bDbNH.d.ts.map +1 -0
  131. package/dist/{transcript-anchors-DR4URysA.js → transcript-anchors-DSRPWjiH.js} +189 -984
  132. package/dist/transcript-anchors-DSRPWjiH.js.map +1 -0
  133. package/dist/tui.d.ts +329 -11
  134. package/dist/tui.d.ts.map +1 -1
  135. package/dist/tui.js +5367 -1418
  136. package/dist/tui.js.map +1 -1
  137. package/dist/{turn-operations-BhglWus_.d.ts → turn-operations-CgMROLsr.d.ts} +29 -4
  138. package/dist/turn-operations-CgMROLsr.d.ts.map +1 -0
  139. package/dist/{turn-operations-tG0vuBNc.js → turn-operations-Dq9Kx7m2.js} +321 -81
  140. package/dist/turn-operations-Dq9Kx7m2.js.map +1 -0
  141. package/dist/{types-BqdTeBaC.d.ts → types-BDccavwj.d.ts} +42 -1
  142. package/dist/types-BDccavwj.d.ts.map +1 -0
  143. package/dist/{types-CyVGdbia.js → types-BIarq1qE.js} +90 -2
  144. package/dist/types-BIarq1qE.js.map +1 -0
  145. package/dist/types.d.ts +5 -6
  146. package/dist/types.js +1 -1
  147. package/dist/{xai-D9tfkrIe.js → xai-B_e6TOA8.js} +2 -2
  148. package/dist/{xai-D9tfkrIe.js.map → xai-B_e6TOA8.js.map} +1 -1
  149. package/docs/EXECUTION_CONTEXT.md +16 -0
  150. package/docs/EXTENSIONS.md +1063 -0
  151. package/docs/SKILL.md +16 -0
  152. package/docs/TUI.md +4 -0
  153. package/package.json +12 -3
  154. package/dist/agent-DCtsviti.d.ts +0 -6955
  155. package/dist/agent-DCtsviti.d.ts.map +0 -1
  156. package/dist/agent-DyI0YsAR.js.map +0 -1
  157. package/dist/auth-D9uj0nNr.js.map +0 -1
  158. package/dist/context-breakdown-kO-pDsay.js.map +0 -1
  159. package/dist/contexts-Lzf5huID.js.map +0 -1
  160. package/dist/errors-CkTvg97v.d.ts.map +0 -1
  161. package/dist/glob-DluQFSw1.js.map +0 -1
  162. package/dist/glob-shell-rJMoCIGb.js +0 -21
  163. package/dist/glob-shell-rJMoCIGb.js.map +0 -1
  164. package/dist/index-B3ciFUZx.d.ts.map +0 -1
  165. package/dist/index-CIbemeZd.d.ts +0 -316
  166. package/dist/index-CIbemeZd.d.ts.map +0 -1
  167. package/dist/index-DsIW6pmv.d.ts +0 -2738
  168. package/dist/index-DsIW6pmv.d.ts.map +0 -1
  169. package/dist/interpolate-BtIgcCuz.js.map +0 -1
  170. package/dist/logger-Ktm-lj1s.js.map +0 -1
  171. package/dist/logger-mw-311EC.d.ts +0 -102
  172. package/dist/logger-mw-311EC.d.ts.map +0 -1
  173. package/dist/login-CCA-1lgK.js +0 -267
  174. package/dist/login-CCA-1lgK.js.map +0 -1
  175. package/dist/messages-CozesxbB.js.map +0 -1
  176. package/dist/policy-DcGlpaNs.d.ts +0 -129
  177. package/dist/policy-DcGlpaNs.d.ts.map +0 -1
  178. package/dist/presets-DtyUA1-S.js +0 -114
  179. package/dist/presets-DtyUA1-S.js.map +0 -1
  180. package/dist/run-summary-BExU5Flb.d.ts +0 -249
  181. package/dist/run-summary-BExU5Flb.d.ts.map +0 -1
  182. package/dist/session-BRCsZsXa.js.map +0 -1
  183. package/dist/shell-quote-BmnhZmdM.js +0 -33
  184. package/dist/shell-quote-BmnhZmdM.js.map +0 -1
  185. package/dist/skills.js.map +0 -1
  186. package/dist/timeout-CpFm0jJ6.d.ts +0 -10
  187. package/dist/timeout-CpFm0jJ6.d.ts.map +0 -1
  188. package/dist/timeout-kGGSXagK.js.map +0 -1
  189. package/dist/tool-formatters-CpCEWwKt.d.ts +0 -1525
  190. package/dist/tool-formatters-CpCEWwKt.d.ts.map +0 -1
  191. package/dist/tools-NSzbC6Nr.js +0 -1739
  192. package/dist/tools-NSzbC6Nr.js.map +0 -1
  193. package/dist/transcript-anchors-BEKMYhfo.d.ts.map +0 -1
  194. package/dist/transcript-anchors-DR4URysA.js.map +0 -1
  195. package/dist/turn-operations-BhglWus_.d.ts.map +0 -1
  196. package/dist/turn-operations-tG0vuBNc.js.map +0 -1
  197. package/dist/types-BqdTeBaC.d.ts.map +0 -1
  198. package/dist/types-CyVGdbia.js.map +0 -1
package/dist/tui.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { L as SkillConfig, U as Session, W as SessionData, Xn as McpToolSchema, gr as SessionTurn, yr as ThinkingLevel } from "./agent-DCtsviti.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-BEKMYhfo.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-CpCEWwKt.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
@@ -806,10 +921,15 @@ interface SessionDetailsModalActions {
806
921
  * `signal` is provided so a parent unmount (modal closed, session
807
922
  * switched) can abort the in-flight summary call.
808
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
+ *
809
929
  * Omit when compaction isn't wired (no provider picked yet, or the
810
930
  * host opted out) — the modal hides the `k` shortcut.
811
931
  */
812
- onCompact?: (sessionId: string, signal: AbortSignal) => Promise<SessionCompactResult>;
932
+ onCompact?: (sessionId: string, signal: AbortSignal, onProgress?: (estOutputTokens: number) => void) => Promise<SessionCompactResult>;
813
933
  }
814
934
  /** What `onCompact` returns. Drives the modal's success banner. */
815
935
  interface SessionCompactResult {
@@ -890,6 +1010,12 @@ interface SettingsActions {
890
1010
  * the modal as a side effect.
891
1011
  */
892
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;
893
1019
  /** Open `~/.zidane/keybindings.json` in `$EDITOR`. */
894
1020
  onOpenKeybindings?: () => void;
895
1021
  /** Start an MCP OAuth flow. Resolves once tokens land or the flow aborts. */
@@ -924,6 +1050,67 @@ interface SettingsActions {
924
1050
  * whatever the on-disk cache last captured.
925
1051
  */
926
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>;
927
1114
  }
928
1115
  /**
929
1116
  * Snapshot of the host's auth state for the Authentication tab.
@@ -949,8 +1136,16 @@ declare function SettingsModal({
949
1136
  mcpsErrors: mcpsErrorsProp,
950
1137
  keybindings,
951
1138
  keybindingsPath,
1139
+ extensionKeybindings,
1140
+ extensionThemes: extensionThemesProp,
1141
+ extensionsCatalog: extensionsCatalogProp,
1142
+ extensionsInactive: extensionsInactiveProp,
1143
+ extensionConfigCategories: extensionConfigCategoriesProp,
1144
+ extensionConfigItems: extensionConfigItemsProp,
1145
+ logs,
952
1146
  authentication,
953
- actions
1147
+ actions,
1148
+ version
954
1149
  }?: {
955
1150
  /**
956
1151
  * Embedder fallback — discovered skills when no `<DiscoveryProvider>`
@@ -958,6 +1153,12 @@ declare function SettingsModal({
958
1153
  * live state from `useDiscovery()` so a `ctrl+R` rescan surfaces
959
1154
  * immediately even with the modal already open.
960
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;
961
1162
  skillsCatalog?: readonly SkillConfig[]; /** Embedder fallback — discovered MCP servers; superseded by context when present. */
962
1163
  mcpsCatalog?: readonly DiscoveredMcp[]; /** Embedder fallback — `mcps.json` parse errors; superseded by context when present. */
963
1164
  mcpsErrors?: readonly DiscoveryError[];
@@ -969,6 +1170,68 @@ declare function SettingsModal({
969
1170
  */
970
1171
  keybindings?: KeyBindings; /** Absolute path to `keybindings.json`. Surfaced on the pinned edit-file button. */
971
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
+ };
972
1235
  /**
973
1236
  * Auth state snapshot. When provided, an "Authentication" tab
974
1237
  * appears with the current provider/model header + a navigable list of
@@ -1072,6 +1335,7 @@ declare function ToggleListModal<T>({
1072
1335
  catalog,
1073
1336
  keyOf,
1074
1337
  settingKey,
1338
+ gcKeys,
1075
1339
  title,
1076
1340
  renderDetail,
1077
1341
  emptyState,
@@ -1080,7 +1344,8 @@ declare function ToggleListModal<T>({
1080
1344
  }: {
1081
1345
  catalog: readonly T[];
1082
1346
  keyOf: (entry: T) => string;
1083
- 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. */
1084
1349
  title: string; /** Mute-colored trailing copy for each row (description, transport, …). */
1085
1350
  renderDetail?: (entry: T) => ReactNode; /** What to render when `catalog` is empty (hint about where to drop config). */
1086
1351
  emptyState: ReactNode;
@@ -1124,6 +1389,33 @@ declare function TurnDetailsModal({
1124
1389
  }): import("react").ReactNode;
1125
1390
  //#endregion
1126
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
+ }
1127
1419
  /**
1128
1420
  * Boot a full chat TUI with sensible defaults. **Does not return** under
1129
1421
  * normal use — it terminates the host process via `process.exit(0)` once
@@ -1159,7 +1451,7 @@ declare function TurnDetailsModal({
1159
1451
  * to `runTui({ storageDir, prefix })`.
1160
1452
  *
1161
1453
  * ```ts
1162
- * import { BUILTIN_AGENTS, BUILTIN_PROVIDERS } from 'zidane/chat'
1454
+ * import { BUILTIN_AGENTS, BUILTIN_PROVIDERS, defineExtension } from 'zidane/chat'
1163
1455
  * import { runTui } from 'zidane/tui'
1164
1456
  * import { createRemoteStore } from 'zidane/session' // for the `store` option
1165
1457
  *
@@ -1169,9 +1461,35 @@ declare function TurnDetailsModal({
1169
1461
  * await runTui({ providers: { ...BUILTIN_PROVIDERS, mine: myDescriptor } })
1170
1462
  * await runTui({ store: createRemoteStore({ url: '…' }) })
1171
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
+ * })
1172
1476
  * ```
1173
1477
  */
1174
- 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>;
1175
1493
  //#endregion
1176
- 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 };
1177
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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"}