stitchkit 0.122.1 → 0.123.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 (201) hide show
  1. package/CHANGELOG.md +93 -0
  2. package/dist/agent-runtime/deferred-tool-search.d.ts.map +1 -1
  3. package/dist/agent-runtime/deferred-tool-types.d.ts.map +1 -1
  4. package/dist/browser/client.d.ts.map +1 -1
  5. package/dist/browser/contract-identity.d.ts +21 -0
  6. package/dist/browser/contract-identity.d.ts.map +1 -0
  7. package/dist/browser/unknown-operation.d.ts +3 -0
  8. package/dist/browser/unknown-operation.d.ts.map +1 -0
  9. package/dist/contract/define.d.ts +6 -2
  10. package/dist/contract/define.d.ts.map +1 -1
  11. package/dist/contract/endpoint-capabilities.d.ts.map +1 -1
  12. package/dist/contract/errors.d.ts +4 -0
  13. package/dist/contract/errors.d.ts.map +1 -1
  14. package/dist/contract/fingerprint.d.ts +51 -0
  15. package/dist/contract/fingerprint.d.ts.map +1 -0
  16. package/dist/contract/identity.d.ts +21 -0
  17. package/dist/contract/identity.d.ts.map +1 -0
  18. package/dist/contract/stream.d.ts +32 -0
  19. package/dist/contract/stream.d.ts.map +1 -1
  20. package/dist/entrypoints/agent-runtime/browser.js +2 -2
  21. package/dist/entrypoints/agent-runtime/coding-tools.js +11 -11
  22. package/dist/entrypoints/agent-runtime/harness.js +12 -12
  23. package/dist/entrypoints/agent-runtime/openrouter.js +1 -1
  24. package/dist/entrypoints/agent-runtime/realtime.js +2 -2
  25. package/dist/entrypoints/agent-runtime/sandbox.js +11 -11
  26. package/dist/entrypoints/agent-runtime/sqlite/bun.js +15 -15
  27. package/dist/entrypoints/agent-runtime/sqlite/node.js +15 -15
  28. package/dist/entrypoints/agent-runtime/testing.js +15 -15
  29. package/dist/entrypoints/agent-runtime.js +26 -25
  30. package/dist/entrypoints/application/diagnostic-journal.js +5 -5
  31. package/dist/entrypoints/application/directory-inbox.js +5 -5
  32. package/dist/entrypoints/application/grammy.js +1 -1
  33. package/dist/entrypoints/application.js +7 -7
  34. package/dist/entrypoints/cli/publish.js +5 -5
  35. package/dist/entrypoints/cli.d.ts +1 -1
  36. package/dist/entrypoints/cli.d.ts.map +1 -1
  37. package/dist/entrypoints/cli.js +20 -17
  38. package/dist/entrypoints/contract.d.ts +2 -0
  39. package/dist/entrypoints/contract.d.ts.map +1 -1
  40. package/dist/entrypoints/contract.js +11 -5
  41. package/dist/entrypoints/files/packaging.d.ts +1 -0
  42. package/dist/entrypoints/files/packaging.d.ts.map +1 -1
  43. package/dist/entrypoints/files/packaging.js +230 -61
  44. package/dist/entrypoints/files.js +5 -5
  45. package/dist/entrypoints/geo.js +3 -3
  46. package/dist/entrypoints/http.js +3 -3
  47. package/dist/entrypoints/index.d.ts +1 -0
  48. package/dist/entrypoints/index.d.ts.map +1 -1
  49. package/dist/entrypoints/index.js +45 -24
  50. package/dist/entrypoints/live.js +2 -2
  51. package/dist/entrypoints/node.js +11 -11
  52. package/dist/entrypoints/observability.js +4 -4
  53. package/dist/entrypoints/primitives.js +1 -1
  54. package/dist/entrypoints/process/owner-loss.js +2 -2
  55. package/dist/entrypoints/process.d.ts +6 -1
  56. package/dist/entrypoints/process.d.ts.map +1 -1
  57. package/dist/entrypoints/process.js +370 -9
  58. package/dist/entrypoints/react.js +2 -2
  59. package/dist/entrypoints/realtime.js +3 -3
  60. package/dist/entrypoints/remote.js +20 -10
  61. package/dist/entrypoints/server.d.ts +1 -0
  62. package/dist/entrypoints/server.d.ts.map +1 -1
  63. package/dist/entrypoints/server.js +56 -20
  64. package/dist/entrypoints/telegram/screens.js +4 -4
  65. package/dist/entrypoints/telegram.js +6 -6
  66. package/dist/entrypoints/testing.js +10 -10
  67. package/dist/entrypoints/tools/agent.js +9 -9
  68. package/dist/entrypoints/tools/connections.js +7 -7
  69. package/dist/entrypoints/tools/contract.js +1 -1
  70. package/dist/entrypoints/tools/invoker.js +7 -7
  71. package/dist/entrypoints/tools/mcp.js +9 -9
  72. package/dist/entrypoints/tools/toolkit.js +15 -14
  73. package/dist/entrypoints/tools.js +17 -17
  74. package/dist/entrypoints/tracking/contract.js +2 -2
  75. package/dist/entrypoints/tracking.js +1 -1
  76. package/dist/files/client-artifact.d.ts +75 -0
  77. package/dist/files/client-artifact.d.ts.map +1 -0
  78. package/dist/{index-am1h8c9v.js → index-0d3sm0m9.js} +5 -5
  79. package/dist/{index-72xtvcvr.js → index-0ndz5r8z.js} +1 -1
  80. package/dist/index-0v9xb8pz.js +66 -0
  81. package/dist/{index-qcn84byh.js → index-0w0hxp7n.js} +4 -0
  82. package/dist/{index-3za04re9.js → index-1c945ten.js} +1 -1
  83. package/dist/{index-r6v4mc67.js → index-1d7s7da0.js} +1 -1
  84. package/dist/{index-zsvzhjtk.js → index-20hn8pbh.js} +1 -1
  85. package/dist/{index-f6pw75e1.js → index-2x2ch0bt.js} +2 -2
  86. package/dist/{index-61hve0ez.js → index-303qne11.js} +1 -1
  87. package/dist/{index-g149e9pk.js → index-3bzk2645.js} +1 -1
  88. package/dist/index-45dyex0j.js +119 -0
  89. package/dist/{index-nwm3ww60.js → index-64b2dxqz.js} +1 -1
  90. package/dist/{index-aqwg2dm5.js → index-6k47xdtt.js} +2 -2
  91. package/dist/index-7q05ag0z.js +10 -0
  92. package/dist/{index-kz9734jc.js → index-96yjwwgf.js} +6 -5
  93. package/dist/{index-ff39f9dr.js → index-993vtv1w.js} +3 -3
  94. package/dist/{index-4jpykzvw.js → index-99nnsz39.js} +2 -2
  95. package/dist/{index-pfvde2fz.js → index-9ypczvpj.js} +1 -1
  96. package/dist/{index-qch1vcaa.js → index-a7ebd769.js} +2 -2
  97. package/dist/{index-98hv3sba.js → index-aw6kx2e6.js} +1 -1
  98. package/dist/{index-yj6saztf.js → index-bz9cmnqq.js} +96 -14
  99. package/dist/{index-mtwh9hyp.js → index-cjzaj7ev.js} +1 -1
  100. package/dist/{index-gtx3eknx.js → index-dv7pa9w6.js} +2 -2
  101. package/dist/{index-sa99p98w.js → index-eabx6qjh.js} +3 -3
  102. package/dist/{index-8yxgcyt6.js → index-egg0yp2j.js} +1 -1
  103. package/dist/{index-h1j71dr1.js → index-enkc9pem.js} +1 -1
  104. package/dist/{index-aqmadanx.js → index-fa53vygr.js} +2 -2
  105. package/dist/{index-e6c2spsd.js → index-fpwbskp2.js} +1 -1
  106. package/dist/{index-m8a44e64.js → index-ftk3838x.js} +1 -1
  107. package/dist/{index-j95jp7ee.js → index-gdqawggb.js} +1 -1
  108. package/dist/{index-9dyd8xzf.js → index-hkw233vx.js} +2 -2
  109. package/dist/{index-9jfdm5tg.js → index-hkxgennw.js} +7 -1
  110. package/dist/{index-qaqxdbxf.js → index-j8rda9n6.js} +7 -7
  111. package/dist/{index-4tyt1qya.js → index-jc5xgkpk.js} +2 -2
  112. package/dist/{index-s9a0fjh3.js → index-kffm4r8w.js} +1 -1
  113. package/dist/{index-5w6t91ze.js → index-m8ddk770.js} +1 -1
  114. package/dist/{index-2fc1k9k2.js → index-mdyhr36s.js} +32 -122
  115. package/dist/{index-r7a7r7ha.js → index-mfntvj58.js} +6 -3
  116. package/dist/{index-gq3fnq3f.js → index-n90tkkcv.js} +2 -2
  117. package/dist/{index-k42ckyzx.js → index-ndjzbt2v.js} +2 -2
  118. package/dist/{index-ycqhyars.js → index-qc7tq0za.js} +3 -3
  119. package/dist/{index-9frf01t9.js → index-r0xr7y4m.js} +1 -1
  120. package/dist/{index-s3yxw6kt.js → index-s512scra.js} +9 -7
  121. package/dist/{index-1h2zv8rx.js → index-sqc6ezrb.js} +41 -1
  122. package/dist/{index-2bqf0a74.js → index-sqkttz7z.js} +1 -1
  123. package/dist/{index-rbzq0q16.js → index-t8jz0e20.js} +1 -1
  124. package/dist/{index-8ryydawp.js → index-tt3ej8r3.js} +1 -1
  125. package/dist/{index-x4p3kw1p.js → index-tynna0n4.js} +6 -6
  126. package/dist/{index-72r9k0av.js → index-v62cpkx3.js} +1 -1
  127. package/dist/{index-10rg78vf.js → index-v8xm2s9v.js} +2 -2
  128. package/dist/{index-y6ye582c.js → index-w0wy05gr.js} +10 -10
  129. package/dist/{index-kw1ws0cs.js → index-w3nv6kr8.js} +1 -1
  130. package/dist/{index-eeahxwvg.js → index-ww3gss55.js} +1 -1
  131. package/dist/{index-6j15ktag.js → index-wzqd6pen.js} +1 -1
  132. package/dist/{index-aswegq1r.js → index-xjb131sc.js} +367 -131
  133. package/dist/{index-1fyea34p.js → index-yebkpytc.js} +5 -5
  134. package/dist/{index-bgcwxhxh.js → index-yfpt7sxr.js} +24 -46
  135. package/dist/{index-69t14s4a.js → index-yt1gg11x.js} +3 -2
  136. package/dist/{index-jk29rwkr.js → index-zfncctjp.js} +1 -1
  137. package/dist/internal/stable-digest.d.ts +5 -0
  138. package/dist/internal/stable-digest.d.ts.map +1 -1
  139. package/dist/internal/typed.d.ts +2 -0
  140. package/dist/internal/typed.d.ts.map +1 -1
  141. package/dist/process/operation-child.d.ts +38 -0
  142. package/dist/process/operation-child.d.ts.map +1 -0
  143. package/dist/process/operation-wire.d.ts +68 -0
  144. package/dist/process/operation-wire.d.ts.map +1 -0
  145. package/dist/process/operation.d.ts +74 -0
  146. package/dist/process/operation.d.ts.map +1 -0
  147. package/dist/server/contract-identity.d.ts +10 -0
  148. package/dist/server/contract-identity.d.ts.map +1 -0
  149. package/dist/server/contract-stream.d.ts.map +1 -1
  150. package/dist/server/endpoint-response.d.ts.map +1 -1
  151. package/dist/server/error-hook.d.ts +1 -0
  152. package/dist/server/error-hook.d.ts.map +1 -1
  153. package/dist/tools/cli/args-route.d.ts.map +1 -1
  154. package/dist/tools/cli/args-tokens.d.ts.map +1 -1
  155. package/dist/tools/cli/command.d.ts +39 -18
  156. package/dist/tools/cli/command.d.ts.map +1 -1
  157. package/dist/tools/cli/format.d.ts.map +1 -1
  158. package/dist/tools/cli/help.d.ts.map +1 -1
  159. package/dist/tools/cli/invoke.d.ts +3 -1
  160. package/dist/tools/cli/invoke.d.ts.map +1 -1
  161. package/dist/tools/cli/io.d.ts +6 -0
  162. package/dist/tools/cli/io.d.ts.map +1 -1
  163. package/dist/tools/cli/managed-surface.d.ts +2 -0
  164. package/dist/tools/cli/managed-surface.d.ts.map +1 -1
  165. package/dist/tools/cli/policy.d.ts +14 -0
  166. package/dist/tools/cli/policy.d.ts.map +1 -1
  167. package/dist/tools/cli/run-managed.d.ts.map +1 -1
  168. package/dist/tools/cli/run-native.d.ts.map +1 -1
  169. package/dist/tools/cli/run-stream.d.ts +23 -0
  170. package/dist/tools/cli/run-stream.d.ts.map +1 -0
  171. package/dist/tools/cli/session.d.ts +8 -0
  172. package/dist/tools/cli/session.d.ts.map +1 -1
  173. package/dist/tools/cli/stream-surface.d.ts +17 -0
  174. package/dist/tools/cli/stream-surface.d.ts.map +1 -0
  175. package/dist/tools/execute.d.ts +7 -1
  176. package/dist/tools/execute.d.ts.map +1 -1
  177. package/dist/tools/invoker.d.ts.map +1 -1
  178. package/dist/tools/remote.d.ts.map +1 -1
  179. package/llms/agent-runtime.2.txt +632 -745
  180. package/llms/agent-runtime.3.txt +733 -492
  181. package/llms/agent-runtime.4.txt +521 -88
  182. package/llms/agent-runtime.5.txt +114 -0
  183. package/llms/agent-runtime.txt +4 -655
  184. package/llms/cli.2.txt +56 -1
  185. package/llms/cli.txt +68 -1
  186. package/llms/contract.txt +4 -1
  187. package/llms/files-packaging.txt +10 -0
  188. package/llms/process.2.txt +75 -1
  189. package/llms/process.txt +59 -25
  190. package/llms/server.4.txt +8 -4
  191. package/llms/server.5.txt +1 -0
  192. package/llms/stitchkit.2.txt +74 -0
  193. package/llms/stitchkit.txt +5 -5
  194. package/llms/tools.txt +1 -1
  195. package/llms/{upgrading-0.106.0-0.122.0.txt → upgrading-0.106.0-0.123.0.txt} +50 -3
  196. package/llms/upgrading.txt +1 -1
  197. package/llms-full.txt +384 -14
  198. package/llms.txt +8 -8
  199. package/package.json +1 -1
  200. package/dist/index-h2fhjqy7.js +0 -19
  201. package/dist/index-m5m9rmvt.js +0 -44
@@ -0,0 +1,114 @@
1
+ # stitchkit/agent-runtime — stitchkit docs slice, part 5 of 5
2
+
3
+ > Generated from the `docs/` tree by `bun run gen:llms`. The index of all slices is
4
+ > `llms.txt` in this package.
5
+
6
+ Parts of this slice:
7
+ - `llms/agent-runtime.txt`: Guide: Agent application runtime (docs/guide/agent-runtime.md)
8
+ - `llms/agent-runtime.2.txt`: Guide: Agent application runtime (docs/guide/agent-runtime.md)
9
+ - `llms/agent-runtime.3.txt`: Guide: Agent application runtime (docs/guide/agent-runtime.md)
10
+ - `llms/agent-runtime.4.txt`: Guide: Agent application runtime (docs/guide/agent-runtime.md) · API reference: `stitchkit/agent-runtime` (docs/api/reference.md)
11
+ - `llms/agent-runtime.5.txt`: API reference: `stitchkit-tui` (docs/api/reference.md)
12
+
13
+ ==============================================================================
14
+ # API reference: `stitchkit-tui` (docs/api/reference.md)
15
+ ==============================================================================
16
+
17
+ ## `stitchkit-tui`
18
+
19
+ Separate optional evolving Bun/OpenTUI package over a caller-composed headless harness.
20
+
21
+ | Export | Kind | Summary |
22
+ |--------|------|---------|
23
+ | `defineAgentTui` | function | typed config for title, `theme` (a `TerminalPalette` override) and `themeMode`, status rows, model catalog, context, commands, runtime bundle and optional host-evidenced recovery policy; the default never requeues acquired effects |
24
+ | `runAgentTui` | function | start one fresh durable conversation and terminal controller, recover durable work and publish its authenticated local session; `initialConversationId` is an explicit resume override; it closes the session and exits the process on Ctrl-C and every signal OpenTUI catches unless `exitSignals: []` |
25
+ | `defineTuiCommand` / `resolveTuiCommand` | function | typed composable slash-command registry; unknown slash input remains an ordinary model prompt |
26
+ | `createAgentTuiController` | function | single admission, selection, approval, interruption and conversation-switch owner over the harness |
27
+ | `startAgentTuiSessionHost` / `createAgentTuiClient` | function | authenticated mode-`0600` Unix-socket host/client for status, submit and interrupt through that controller |
28
+ | `listAgentTuiSessions` | function | discover live local terminal session IDs and their current conversation |
29
+ | `createAgentTuiComposer` / `navigateAgentTuiHistory` | function | multiline draft and reversible prompt-history state |
30
+ | `defaultAgentTuiStatusLine` / `AgentTuiStatusLineFormatter` | function / _type_ | terminal-native default rows and a host formatter over model capacity, durable snapshot, activity, workspace and local identities; `statusLine: false` hides the rows |
31
+ | `createAgentTuiDiagnosticRecorder` / `AgentTuiDiagnosticEventSchema` | function / schema | bounded per-session metadata journal that rejects prompt, reasoning, tool-input and provider-cause payloads before disk admission |
32
+
33
+ The `stitchkit-agent` binary runs React's production build unless `NODE_ENV` says otherwise and loads `stitchkit.agent.ts` by default and also exposes `sessions`,
34
+ `status`, `send` and `interrupt`. `--workspace` addresses a host outside the caller's cwd,
35
+ `send --idempotency-key` accepts caller-owned retry identity, and `interrupt` defaults to the
36
+ active run returned by `status`. Session descriptors and sockets are local control credentials,
37
+ not a remote API.
38
+ Interactive `/resume` and `/sessions` open the durable conversation picker. `/clear` creates a new
39
+ conversation and keeps the previous one available there; it is not a viewport-only operation.
40
+ The slash palette owns its highlighted selection: Up/Down move it, Tab completes it, Enter runs
41
+ the exact command and Escape dismisses it. Partial input is never submitted while the palette is
42
+ active; unknown slash text with no match remains an ordinary model prompt.
43
+
44
+ ### `stitchkit-tui/core`
45
+
46
+ Renderer-neutral state only. This entrypoint imports neither React/OpenTUI nor the agent runtime.
47
+
48
+ | Export | Kind | Summary |
49
+ |--------|------|---------|
50
+ | `createTerminalCollection` / `reduceTerminalCollection` | function | identity-stable live collection selection, reconciliation, windowing and resize |
51
+ | `createTerminalFeedViewport` / `reduceTerminalFeedViewport` | function | generic follow-tail, history anchoring, unseen and bounded visible-range state |
52
+ | `createTerminalPaneState` / `reduceTerminalPaneState` | function | bounded split-pane focus, resize and single-pane collapse |
53
+ | `createTerminalCommandPalette` / `terminalCommandMatches` | function | bounded command filtering and keyboard selection over a collision-validated registry |
54
+ | `resolveExactTerminalCommand` / `validateTerminalCommands` | function | exact dispatch and fail-closed name/alias validation |
55
+ | `createTerminalOperationState` / `reduceTerminalOperationState` | function | confirmation and single-pending-operation lifecycle |
56
+ | `createTerminalTable` / `reduceTerminalTable` / `projectTerminalTable` | function | live table: typed columns, rows validated on entry, sort with key tie-break and missing values last, tree expansion pruned to present rows, filter on displayed text, selection kept across data; a row's `tone` and a column's `tone(value, row)` colour state |
57
+ | `layoutTerminalTableColumns` / `formatTerminalTableCell` / `visibleTerminalTableRows` / `terminalTableTreePrefix` | function | fixed and flexible column widths, `—` for missing values, the virtualized window, tree indentation |
58
+ | `createTerminalList` / `reduceTerminalList` / `visibleTerminalListLines` | function | picker with sections, fuzzy query with title highlight ranges, multi-select, disabled items and "more above/below" counts |
59
+ | `createTerminalForm` / `reduceTerminalForm` / `readTerminalForm` / `terminalFormFieldsFromJsonSchema` | function | typed fields (text, secret, number, integer, boolean, choice, JSON) from a JSON Schema, relative text edits, validation on leave and submit |
60
+ | `createTerminalTabs` / `reduceTerminalTabs` | function | tabs with badges, wrap-around movement, digit selection and reconcile that keeps the selected tab |
61
+ | `createTerminalNavigation` / `reduceTerminalNavigation` / `terminalBreadcrumbs` | function | screen stack keeping each level's state, root never popped |
62
+ | `createTerminalFocus` / `reduceTerminalFocus` | function | focus ring plus layers that take the keyboard and give it back |
63
+ | `createTerminalNotices` / `reduceTerminalNotices` / `nextTerminalNoticeExpiry` | function | bounded toasts on a caller clock, replaced by id |
64
+ | `createTerminalTimeSeries` / `appendTerminalSample` / `sampleTerminalTimeSeries` | function | time window bounded by duration and sample count, value-in-force sampling with explicit gaps |
65
+ | `terminalBrailleChart` / `terminalSparkline` / `terminalTimeAxis` / `terminalChartScale` | function | multi-series braille line or area chart as toned runs, sparkline, time axis |
66
+ | `terminalMeter` / `layoutTerminalMeterGrid` | function | eighth-block bar toned by thresholds, unmeasured as muted; column-major core grid |
67
+ | `terminalProgress` / `terminalSpinnerFrame` / `terminalIndeterminateBlock` / `formatTerminalDuration` | function | ratio, rate and ETA only when knowable; spinner frames; indeterminate bar; elapsed time |
68
+ | `defineTerminalKeymap` / `matchTerminalKey` / `fitTerminalKeyHints` | function | conflict-checked bindings that both answer keys and draw a footer fitted to the width |
69
+ | `terminalTableKeymap` / `terminalTableKey` / `terminalTabsKeymap` / `terminalTabsKey` | function | htop-style table bindings and tab bindings as keymaps |
70
+ | `matchTerminalSearch` / `searchTerminalItems` / `terminalHighlightRuns` | function | multi-word fuzzy match with ranges, stable ranking, highlight runs |
71
+ | `sanitizeTerminalText` / `terminalTextWidth` / `truncateTerminalText` / `fitTerminalText` / `wrapTerminalText` | function | strip escape and control sequences; measure, cut, pad and wrap by terminal cells |
72
+ | `terminalTextEdit` / `applyTerminalTextEdit` | function | one-line edits as relative actions, so fast input is never lost |
73
+ | `terminalJsonLines` / `layoutTerminalDetails` | function | toned, sanitized JSON lines; aligned key/value pairs |
74
+ | `terminalPalettes` / `resolveTerminalPalette` / `TerminalPalette` / `TerminalTone` | value / function / _type_ | one semantic palette (surfaces plus `primary`, `muted`, `accent`, `success`, `warning`, `danger`) for dark and light terminals |
75
+ | `terminalLabelsEn` / `terminalLabelsRu` / `TerminalLabels` | value / _type_ | every word the widgets draw |
76
+
77
+ ### `stitchkit-tui/widgets`
78
+
79
+ OpenTUI React widgets over the core state. React, `@opentui/core` and `@opentui/react` are peers;
80
+ this entrypoint never loads `stitchkit`.
81
+
82
+ | Export | Kind | Summary |
83
+ |--------|------|---------|
84
+ | `TerminalAppShell` / `TerminalPanel` / `TerminalStatusBar` / `TerminalKeyHints` | component | breadcrumbs, status lines, body, fitted key hints and toast overlay; titled rounded panels with a focus frame |
85
+ | `TerminalTable` | component | virtualized live table with header sort marks, tree, filter line and htop keys; row and cell tones in the palette, bold or dim where colour is missing |
86
+ | `terminalToneAttributes` | function | the text attribute that carries a tone without colour: `danger` and `warning` bold, `muted` dim |
87
+ | `TerminalList` | component | sections, fuzzy search line with highlights, `›` cursor, meta, badges, multi-select, description |
88
+ | `runTerminalApp` / `RunTerminalAppOptions` / `RunningTerminalApp` | function / _type_ | start an application: renderer, theme and labels providers, the error boundary, and an exit with 128 + signal after `onClose` on Ctrl-C and every signal OpenTUI catches — a closed window leaves no orphan |
89
+ | `TerminalErrorBoundary` / `TERMINAL_EXIT_SIGNALS` / `TerminalExitSignal` | component / value / _type_ | draws a render error and its stack in place of the screen, where OpenTUI's own boundary renders nothing under production React |
90
+ | `TerminalForm` | component | fields edited in place, cycling choices, masked secrets, inline errors; a form without fields says so and submits `{}` on Enter |
91
+ | `TerminalTextView` / `TerminalJsonView` | component | pager over sanitized wrapped text or toned JSON |
92
+ | `TerminalMeter` / `TerminalMeterGrid` / `TerminalChart` / `TerminalSparkline` | component | htop meters and core grid; btop braille charts with axis |
93
+ | `TerminalTabs` / `TerminalDialog` / `TerminalSpinner` / `TerminalProgressBar` / `TerminalAsyncView` / `TerminalDetails` / `TerminalNotices` / `TerminalHelp` | component | views, confirmation, loading, progress, async states, details, toasts, key help |
94
+ | `TerminalThemeProvider` / `useTerminalPalette` / `useTerminalThemeMode` | component / hook | palette from the terminal's reported background (`auto`) or a fixed mode |
95
+ | `TerminalLabelsProvider` / `TerminalFocusProvider` / `useTerminalFocused` | component / hook | product language and shared focus |
96
+
97
+ The `stitchkit-tui-gallery` binary shows every widget live.
98
+
99
+ ### `stitchkit-tui/build`
100
+
101
+ Build-time only; imports Bun and no React.
102
+
103
+ | Export | Kind | Summary |
104
+ |--------|------|---------|
105
+ | `compileTerminalApp` / `CompileTerminalAppOptions` | function / _type_ | one standalone executable for any Bun compile target, from any machine, with React's production build defined |
106
+ | `terminalNativePlugin` / `TerminalNativePluginOptions` | function / _type_ | the `Bun.build` plugin behind it: the target's `@opentui/core-<os>-<arch>` at the pinned version from the registry, verified against `bun.lock`; other platforms' packages throw; musl refused |
107
+ | `terminalNativeTarget` / `TerminalNativeTarget` | function / _type_ | the native package a compile target needs |
108
+
109
+ ### `stitchkit-tui/testing`
110
+
111
+ | Export | Kind | Summary |
112
+ |--------|------|---------|
113
+ | `renderTerminalTest` / `TerminalTestScreen` / `TerminalTestOptions` | function / _type_ | a screen inside the kit's providers on a test terminal; `press`, `type`, `burst`, `advance`, `waitForText`, `resize` run inside React's `act` and wait out a lone Esc |
114
+ | `TerminalTestKey` / `TerminalTestModifiers` | _type_ | the mock input's key names and modifiers |