@sagmans/dsh-tui 0.6.0 → 0.8.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 (271) hide show
  1. package/.agents/skills/dsh-tui-dogfood/SKILL.md +83 -0
  2. package/.agents/skills/dsh-tui-dogfood/references/home-state.md +78 -0
  3. package/.agents/skills/dsh-tui-dogfood/scripts/clone-links.mjs +133 -0
  4. package/.agents/skills/dsh-tui-dogfood/scripts/run-plugin-from-worktree.sh +417 -0
  5. package/.agents/skills/dsh-tui-update-models/SKILL.md +199 -0
  6. package/.agents/skills/dsh-tui-update-models/references/model-wiring.md +292 -0
  7. package/.agents/skills/dsh-tui-update-models/scripts/dump-model-catalog.mjs +314 -0
  8. package/README.md +154 -27
  9. package/lib/agent/present.d.ts.map +1 -1
  10. package/lib/agent/present.js +2 -1
  11. package/lib/agent/present.js.map +1 -1
  12. package/lib/cards/composition.d.ts +68 -0
  13. package/lib/cards/composition.d.ts.map +1 -0
  14. package/lib/cards/composition.js +117 -0
  15. package/lib/cards/composition.js.map +1 -0
  16. package/lib/cards/presenter.d.ts +23 -0
  17. package/lib/cards/presenter.d.ts.map +1 -0
  18. package/lib/cards/presenter.js +394 -0
  19. package/lib/cards/presenter.js.map +1 -0
  20. package/lib/cards/preview.d.ts +42 -0
  21. package/lib/cards/preview.d.ts.map +1 -0
  22. package/lib/cards/preview.js +51 -0
  23. package/lib/cards/preview.js.map +1 -0
  24. package/lib/cards.d.ts +12 -120
  25. package/lib/cards.d.ts.map +1 -1
  26. package/lib/cards.js +4 -556
  27. package/lib/cards.js.map +1 -1
  28. package/lib/compat/section.d.ts +29 -0
  29. package/lib/compat/section.d.ts.map +1 -0
  30. package/lib/compat/section.js +82 -0
  31. package/lib/compat/section.js.map +1 -0
  32. package/lib/config.d.ts +27 -2
  33. package/lib/config.d.ts.map +1 -1
  34. package/lib/config.js +61 -1
  35. package/lib/config.js.map +1 -1
  36. package/lib/contracts.d.ts +28 -0
  37. package/lib/contracts.d.ts.map +1 -1
  38. package/lib/fold-cursor.d.ts +8 -0
  39. package/lib/fold-cursor.d.ts.map +1 -1
  40. package/lib/fold-cursor.js +18 -0
  41. package/lib/fold-cursor.js.map +1 -1
  42. package/lib/gates/question-card.d.ts +77 -0
  43. package/lib/gates/question-card.d.ts.map +1 -0
  44. package/lib/gates/question-card.js +113 -0
  45. package/lib/gates/question-card.js.map +1 -0
  46. package/lib/gates/questions.d.ts +127 -0
  47. package/lib/gates/questions.d.ts.map +1 -0
  48. package/lib/gates/questions.js +418 -0
  49. package/lib/gates/questions.js.map +1 -0
  50. package/lib/gates.d.ts +1 -113
  51. package/lib/gates.d.ts.map +1 -1
  52. package/lib/gates.js +1 -484
  53. package/lib/gates.js.map +1 -1
  54. package/lib/herdr/client.d.ts +8 -0
  55. package/lib/herdr/client.d.ts.map +1 -1
  56. package/lib/herdr/client.js +13 -1
  57. package/lib/herdr/client.js.map +1 -1
  58. package/lib/herdr/constants.d.ts +18 -0
  59. package/lib/herdr/constants.d.ts.map +1 -1
  60. package/lib/herdr/constants.js +18 -0
  61. package/lib/herdr/constants.js.map +1 -1
  62. package/lib/herdr/reporter.d.ts +20 -4
  63. package/lib/herdr/reporter.d.ts.map +1 -1
  64. package/lib/herdr/reporter.js +70 -20
  65. package/lib/herdr/reporter.js.map +1 -1
  66. package/lib/herdr/state.d.ts +10 -0
  67. package/lib/herdr/state.d.ts.map +1 -1
  68. package/lib/herdr/state.js +21 -4
  69. package/lib/herdr/state.js.map +1 -1
  70. package/lib/index.d.ts +1 -0
  71. package/lib/index.d.ts.map +1 -1
  72. package/lib/index.js +348 -2602
  73. package/lib/index.js.map +1 -1
  74. package/lib/input/action-catalog.d.ts +74 -0
  75. package/lib/input/action-catalog.d.ts.map +1 -0
  76. package/lib/input/action-catalog.js +137 -0
  77. package/lib/input/action-catalog.js.map +1 -0
  78. package/lib/input/actions.d.ts +5 -81
  79. package/lib/input/actions.d.ts.map +1 -1
  80. package/lib/input/actions.js +4 -625
  81. package/lib/input/actions.js.map +1 -1
  82. package/lib/input/completion.d.ts +1 -1
  83. package/lib/input/completion.d.ts.map +1 -1
  84. package/lib/input/completion.js +2 -1
  85. package/lib/input/completion.js.map +1 -1
  86. package/lib/input/file-index.d.ts +40 -0
  87. package/lib/input/file-index.d.ts.map +1 -0
  88. package/lib/input/file-index.js +141 -0
  89. package/lib/input/file-index.js.map +1 -0
  90. package/lib/input/file-search.d.ts +1 -38
  91. package/lib/input/file-search.d.ts.map +1 -1
  92. package/lib/input/file-search.js +1 -487
  93. package/lib/input/file-search.js.map +1 -1
  94. package/lib/input/key-press.d.ts +57 -0
  95. package/lib/input/key-press.d.ts.map +1 -0
  96. package/lib/input/key-press.js +218 -0
  97. package/lib/input/key-press.js.map +1 -0
  98. package/lib/input/keymap-conflicts.d.ts +59 -0
  99. package/lib/input/keymap-conflicts.d.ts.map +1 -0
  100. package/lib/input/keymap-conflicts.js +292 -0
  101. package/lib/input/keymap-conflicts.js.map +1 -0
  102. package/lib/input/keymap-settings.js +1 -1
  103. package/lib/input/keymap-settings.js.map +1 -1
  104. package/lib/input/keymap.d.ts.map +1 -1
  105. package/lib/input/keymap.js +3 -1
  106. package/lib/input/keymap.js.map +1 -1
  107. package/lib/input/workspace-files.d.ts +10 -0
  108. package/lib/input/workspace-files.d.ts.map +1 -0
  109. package/lib/input/workspace-files.js +359 -0
  110. package/lib/input/workspace-files.js.map +1 -0
  111. package/lib/install-skills.d.ts +39 -0
  112. package/lib/install-skills.d.ts.map +1 -0
  113. package/lib/install-skills.js +273 -0
  114. package/lib/install-skills.js.map +1 -0
  115. package/lib/keys-command.d.ts +2 -1
  116. package/lib/keys-command.d.ts.map +1 -1
  117. package/lib/keys-command.js +2 -1
  118. package/lib/keys-command.js.map +1 -1
  119. package/lib/model-list.d.ts +37 -0
  120. package/lib/model-list.d.ts.map +1 -0
  121. package/lib/model-list.js +60 -0
  122. package/lib/model-list.js.map +1 -0
  123. package/lib/startup.d.ts +8 -0
  124. package/lib/startup.d.ts.map +1 -1
  125. package/lib/startup.js +120 -24
  126. package/lib/startup.js.map +1 -1
  127. package/lib/subagents.d.ts +7 -3
  128. package/lib/subagents.d.ts.map +1 -1
  129. package/lib/subagents.js +28 -4
  130. package/lib/subagents.js.map +1 -1
  131. package/lib/surface/appearance-preferences.d.ts +26 -0
  132. package/lib/surface/appearance-preferences.d.ts.map +1 -0
  133. package/lib/surface/appearance-preferences.js +139 -0
  134. package/lib/surface/appearance-preferences.js.map +1 -0
  135. package/lib/surface/appearance.d.ts +87 -0
  136. package/lib/surface/appearance.d.ts.map +1 -0
  137. package/lib/surface/appearance.js +353 -0
  138. package/lib/surface/appearance.js.map +1 -0
  139. package/lib/surface/background-work.d.ts +51 -0
  140. package/lib/surface/background-work.d.ts.map +1 -0
  141. package/lib/surface/background-work.js +172 -0
  142. package/lib/surface/background-work.js.map +1 -0
  143. package/lib/surface/commands.d.ts +82 -0
  144. package/lib/surface/commands.d.ts.map +1 -0
  145. package/lib/surface/commands.js +370 -0
  146. package/lib/surface/commands.js.map +1 -0
  147. package/lib/surface/modal-input.d.ts +59 -0
  148. package/lib/surface/modal-input.d.ts.map +1 -0
  149. package/lib/surface/modal-input.js +243 -0
  150. package/lib/surface/modal-input.js.map +1 -0
  151. package/lib/surface/model-choice.d.ts +54 -0
  152. package/lib/surface/model-choice.d.ts.map +1 -0
  153. package/lib/surface/model-choice.js +325 -0
  154. package/lib/surface/model-choice.js.map +1 -0
  155. package/lib/surface/preset-choice.d.ts +78 -0
  156. package/lib/surface/preset-choice.d.ts.map +1 -0
  157. package/lib/surface/preset-choice.js +163 -0
  158. package/lib/surface/preset-choice.js.map +1 -0
  159. package/lib/surface/prompt-input.d.ts +97 -0
  160. package/lib/surface/prompt-input.d.ts.map +1 -0
  161. package/lib/surface/prompt-input.js +215 -0
  162. package/lib/surface/prompt-input.js.map +1 -0
  163. package/lib/surface/prompt-memory.d.ts +76 -0
  164. package/lib/surface/prompt-memory.d.ts.map +1 -0
  165. package/lib/surface/prompt-memory.js +167 -0
  166. package/lib/surface/prompt-memory.js.map +1 -0
  167. package/lib/surface/session-lifecycle.d.ts +120 -0
  168. package/lib/surface/session-lifecycle.d.ts.map +1 -0
  169. package/lib/surface/session-lifecycle.js +324 -0
  170. package/lib/surface/session-lifecycle.js.map +1 -0
  171. package/lib/surface/session-picker.d.ts +39 -0
  172. package/lib/surface/session-picker.d.ts.map +1 -0
  173. package/lib/surface/session-picker.js +107 -0
  174. package/lib/surface/session-picker.js.map +1 -0
  175. package/lib/surface/session-view.d.ts +86 -0
  176. package/lib/surface/session-view.d.ts.map +1 -0
  177. package/lib/surface/session-view.js +215 -0
  178. package/lib/surface/session-view.js.map +1 -0
  179. package/lib/surface/staged-turns.d.ts +81 -0
  180. package/lib/surface/staged-turns.d.ts.map +1 -0
  181. package/lib/surface/staged-turns.js +206 -0
  182. package/lib/surface/staged-turns.js.map +1 -0
  183. package/lib/surface/terminal-lifecycle.d.ts +76 -0
  184. package/lib/surface/terminal-lifecycle.d.ts.map +1 -0
  185. package/lib/surface/terminal-lifecycle.js +222 -0
  186. package/lib/surface/terminal-lifecycle.js.map +1 -0
  187. package/lib/terminal-text/scan.d.ts +44 -0
  188. package/lib/terminal-text/scan.d.ts.map +1 -0
  189. package/lib/terminal-text/scan.js +195 -0
  190. package/lib/terminal-text/scan.js.map +1 -0
  191. package/lib/terminal-text/sgr.d.ts +32 -0
  192. package/lib/terminal-text/sgr.d.ts.map +1 -0
  193. package/lib/terminal-text/sgr.js +203 -0
  194. package/lib/terminal-text/sgr.js.map +1 -0
  195. package/lib/terminal-text.d.ts +1 -1
  196. package/lib/terminal-text.d.ts.map +1 -1
  197. package/lib/terminal-text.js +2 -379
  198. package/lib/terminal-text.js.map +1 -1
  199. package/lib/theme-command.js +2 -1
  200. package/lib/theme-command.js.map +1 -1
  201. package/lib/theme-defaults.d.ts +64 -0
  202. package/lib/theme-defaults.d.ts.map +1 -0
  203. package/lib/theme-defaults.js +248 -0
  204. package/lib/theme-defaults.js.map +1 -0
  205. package/lib/theme-files.d.ts +1 -1
  206. package/lib/theme-files.d.ts.map +1 -1
  207. package/lib/theme-files.js +1 -1
  208. package/lib/theme-files.js.map +1 -1
  209. package/lib/theme-resolver.d.ts +36 -0
  210. package/lib/theme-resolver.d.ts.map +1 -0
  211. package/lib/theme-resolver.js +112 -0
  212. package/lib/theme-resolver.js.map +1 -0
  213. package/lib/theme-schema.d.ts.map +1 -1
  214. package/lib/theme-schema.js +3 -2
  215. package/lib/theme-schema.js.map +1 -1
  216. package/lib/theme-settings.d.ts +5 -7
  217. package/lib/theme-settings.d.ts.map +1 -1
  218. package/lib/theme-settings.js +37 -21
  219. package/lib/theme-settings.js.map +1 -1
  220. package/lib/theme-tokens.d.ts +0 -89
  221. package/lib/theme-tokens.d.ts.map +1 -1
  222. package/lib/theme-tokens.js +0 -356
  223. package/lib/theme-tokens.js.map +1 -1
  224. package/lib/theme.d.ts +1 -1
  225. package/lib/theme.d.ts.map +1 -1
  226. package/lib/theme.js +2 -1
  227. package/lib/theme.js.map +1 -1
  228. package/lib/tool-display.d.ts.map +1 -1
  229. package/lib/tool-display.js +2 -1
  230. package/lib/tool-display.js.map +1 -1
  231. package/lib/transcript/message-content.d.ts +21 -0
  232. package/lib/transcript/message-content.d.ts.map +1 -0
  233. package/lib/transcript/message-content.js +61 -0
  234. package/lib/transcript/message-content.js.map +1 -0
  235. package/lib/transcript/tool-calls.d.ts +106 -0
  236. package/lib/transcript/tool-calls.d.ts.map +1 -0
  237. package/lib/transcript/tool-calls.js +254 -0
  238. package/lib/transcript/tool-calls.js.map +1 -0
  239. package/lib/transcript.d.ts +14 -55
  240. package/lib/transcript.d.ts.map +1 -1
  241. package/lib/transcript.js +31 -253
  242. package/lib/transcript.js.map +1 -1
  243. package/lib/ui/dock.d.ts +14 -2
  244. package/lib/ui/dock.d.ts.map +1 -1
  245. package/lib/ui/dock.js +52 -10
  246. package/lib/ui/dock.js.map +1 -1
  247. package/lib/ui/editor.d.ts.map +1 -1
  248. package/lib/ui/editor.js +2 -1
  249. package/lib/ui/editor.js.map +1 -1
  250. package/lib/ui/keymap-picker.d.ts +2 -1
  251. package/lib/ui/keymap-picker.d.ts.map +1 -1
  252. package/lib/ui/keymap-picker.js +1 -0
  253. package/lib/ui/keymap-picker.js.map +1 -1
  254. package/lib/ui/view/gate-card.d.ts +21 -0
  255. package/lib/ui/view/gate-card.d.ts.map +1 -0
  256. package/lib/ui/view/gate-card.js +104 -0
  257. package/lib/ui/view/gate-card.js.map +1 -0
  258. package/lib/ui/view/tool-card.d.ts +149 -0
  259. package/lib/ui/view/tool-card.d.ts.map +1 -0
  260. package/lib/ui/view/tool-card.js +429 -0
  261. package/lib/ui/view/tool-card.js.map +1 -0
  262. package/lib/ui/view/transcript-message.d.ts +62 -0
  263. package/lib/ui/view/transcript-message.d.ts.map +1 -0
  264. package/lib/ui/view/transcript-message.js +158 -0
  265. package/lib/ui/view/transcript-message.js.map +1 -0
  266. package/lib/ui/view.d.ts +105 -223
  267. package/lib/ui/view.d.ts.map +1 -1
  268. package/lib/ui/view.js +132 -679
  269. package/lib/ui/view.js.map +1 -1
  270. package/package.json +3 -1
  271. package/themes/violet-orbit.yaml +7 -5
@@ -1,67 +1,3 @@
1
- import { sgrBackgroundPrefix, sgrPrefix } from "./theme-capability.js";
2
- const RESET = '\u001B[0m';
3
- /**
4
- * The reset sequence, for the code that has to recognise one.
5
- *
6
- * pi-tui closes a truncated row with a reset whether or not it opened a style,
7
- * so a renderer that turns styling off still has to remove the ones it did not
8
- * ask for.
9
- */
10
- export function resetSequence() {
11
- return RESET;
12
- }
13
- /**
14
- * The muted shade every receding element shares.
15
- *
16
- * An explicit grey rather than a palette slot: slot 8 is whatever the reader's
17
- * terminal maps it to, which on the reader's own phone was close enough to
18
- * ordinary text that dimming looked like it had not been applied at all.
19
- */
20
- export const MUTED_GREY = '#8a8a8a';
21
- /**
22
- * The shade the reasoning signpost recedes to.
23
- *
24
- * The row naming a thought is a signpost, not the thought: it sits below the
25
- * muted family so the body it introduces stays the thing being read.
26
- */
27
- export const FAINT_GREY = '#666666';
28
- /**
29
- * The shade a tool's argument takes.
30
- *
31
- * A call's argument is the one part of a card the reader scans for, and it must
32
- * read as neither the tool's own label (warn) nor ordinary output (the default
33
- * foreground); a pale blue sits between them without competing for attention.
34
- */
35
- export const ARGUMENT_BLUE = '#8db3d9';
36
- /**
37
- * The shade a submitted prompt takes.
38
- *
39
- * A reader's own turns and the assistant's reply both shipped on the default
40
- * foreground, so telling the two apart meant reading them; a mint keeps them
41
- * apart at a glance without the pink cast a rose gave every prompt.
42
- */
43
- export const USER_PROMPT_MINT = '#27f5c8';
44
- /**
45
- * The band a changed run sits on inside an added line.
46
- *
47
- * The characters that changed are why a paired line is on screen at all, and
48
- * they must stand out without leaving the row's own hue: a reader scanning a
49
- * green row should not have to compare it against a second, unrelated colour to
50
- * find what moved. An explicit dark shade rather than a palette slot, for the
51
- * same reason the muted grey is one.
52
- */
53
- export const DIFF_ADDED_BAND = '#1e3d24';
54
- /** The band a changed run sits on inside a removed line; the pair of {@link DIFF_ADDED_BAND}. */
55
- export const DIFF_REMOVED_BAND = '#472424';
56
- /**
57
- * The shade the frame around an assistant reply is drawn in.
58
- *
59
- * A reply is boxed so one exchange reads as two objects rather than as a box and
60
- * then a stream, and its frame must not be mistaken for the bar the reader types
61
- * into: a warm gold sits apart from the prompt's mint and the brand-blue editor,
62
- * without borrowing the warning amber that means a state.
63
- */
64
- export const ASSISTANT_FRAME_GOLD = '#d6c29a';
65
1
  /** Palette entries a token may name instead of a literal colour. */
66
2
  export const PALETTE_NAMES = ['default', 'muted', 'faint', 'accent', 'arg', 'warn', 'added', 'removed', 'user', 'assistant'];
67
3
  /** A row class a tool card can carry, so styling follows what the row means. */
@@ -249,296 +185,4 @@ export const CARD_ROW_TOKEN = {
249
185
  web: { url: 'tool.web.url', source: 'tool.web.source', truncated: 'tool.web.truncated' },
250
186
  generic: { detail: 'tool.generic.detail' },
251
187
  };
252
- /** The colours a token can name, so a shade is changed in one place. */
253
- export const DEFAULT_PALETTE = {
254
- default: '#d0d0d0',
255
- muted: MUTED_GREY,
256
- faint: FAINT_GREY,
257
- accent: '#5fafd7',
258
- arg: ARGUMENT_BLUE,
259
- warn: '#d7af5f',
260
- added: '#5faf5f',
261
- removed: '#d75f5f',
262
- user: USER_PROMPT_MINT,
263
- assistant: '#d0d0d0',
264
- };
265
- /**
266
- * Muted elements share one shade, which is what makes the surface coherent.
267
- *
268
- * It names the palette entry rather than repeating the hex, so a reader who
269
- * changes `palette.muted` once quiets every receding element together instead
270
- * of hunting the tokens down. No `dim` either: faint is dropped the moment a
271
- * colour is named, so carrying it would be a setting that does nothing.
272
- */
273
- const muted = { fg: 'muted' };
274
- /**
275
- * The reasoning row recedes past the muted family, hence its own entry.
276
- *
277
- * Italic is what separates the signpost from the thought it introduces; the
278
- * darker grey is what makes the thought itself the brightest thing there.
279
- */
280
- const signpost = { fg: 'faint', italic: true };
281
- /**
282
- * A thought shares the signpost's shade but not its slant.
283
- *
284
- * The body is read rather than scanned, so it keeps an upright face while the
285
- * row naming it stays italic; one shade for both is what makes a thought read
286
- * as one element instead of two colours arguing.
287
- */
288
- const thought = { fg: 'faint' };
289
- const plain = {};
290
- /**
291
- * The shipped appearance of every token.
292
- *
293
- * Defaults reproduce the surface as it looked before tokens existed, except the
294
- * muted family, which moves from faint-on-a-palette-slot to an explicit grey.
295
- * A test asserts every token in {@link TUI_TOKENS} appears here.
296
- */
297
- export const DEFAULT_TOKENS = {
298
- 'transcript.user': { fg: 'user' },
299
- 'transcript.assistant.border': { fg: ASSISTANT_FRAME_GOLD },
300
- 'transcript.notice': muted,
301
- 'transcript.marker': muted,
302
- 'transcript.reasoning.summary': signpost,
303
- 'transcript.reasoning.body': thought,
304
- 'transcript.reasoning.hint': signpost,
305
- // The tool's own name is not a state: a running call is the one painted in the
306
- // running colour, so the name it wears when nothing is happening has to be a
307
- // colour of its own.
308
- 'tool.title': { fg: 'accent' },
309
- 'tool.glyph': { fg: 'warn' },
310
- 'tool.args': { fg: 'arg' },
311
- 'tool.stat.added': { fg: 'added' },
312
- 'tool.stat.changed': { fg: 'warn' },
313
- 'tool.stat.removed': { fg: 'removed' },
314
- 'tool.stat.size': muted,
315
- 'tool.stat.separator': muted,
316
- 'tool.detail': muted,
317
- 'tool.hint': muted,
318
- 'tool.failed.title': { fg: 'removed' },
319
- 'tool.failed.glyph': { fg: 'removed' },
320
- 'tool.running.title': { fg: 'warn' },
321
- 'tool.running.elapsed': { fg: 'warn' },
322
- // Quiet and slanted: a measurement of something already over must not read as
323
- // loudly as the facts the result reported.
324
- 'tool.elapsed.done': { fg: 'muted', italic: true },
325
- 'tool.subcall.title': muted,
326
- 'tool.subcall.running': { fg: 'warn' },
327
- 'tool.subcall.args': { fg: 'arg' },
328
- 'tool.diff.header': muted,
329
- 'tool.diff.hunk': muted,
330
- 'tool.diff.added': { fg: 'added' },
331
- 'tool.diff.removed': { fg: 'removed' },
332
- 'tool.read.header': muted,
333
- 'tool.read.lineNumber': muted,
334
- 'tool.read.line': muted,
335
- 'tool.search.path': muted,
336
- 'tool.search.lineNumber': muted,
337
- 'tool.search.match': muted,
338
- 'tool.search.truncated': muted,
339
- 'tool.terminal.cwd': muted,
340
- 'tool.terminal.status': muted,
341
- 'tool.terminal.output': muted,
342
- 'tool.web.url': muted,
343
- 'tool.web.source': muted,
344
- 'tool.web.truncated': muted,
345
- 'tool.generic.detail': muted,
346
- 'markdown.heading': { fg: 'accent', bold: true },
347
- 'markdown.link': { fg: 'accent', underline: true },
348
- 'markdown.linkUrl': muted,
349
- 'markdown.code': { fg: 'accent' },
350
- 'markdown.codeBlock': plain,
351
- 'markdown.codeBlockBorder': muted,
352
- 'markdown.quote': muted,
353
- 'markdown.quoteBorder': muted,
354
- 'markdown.hr': muted,
355
- 'markdown.listBullet': { fg: 'accent' },
356
- 'markdown.bold': { bold: true },
357
- 'markdown.italic': { italic: true },
358
- 'markdown.strikethrough': { strike: true },
359
- 'markdown.underline': { underline: true },
360
- // A diff's scaffolding recedes the way a card's does, and its unchanged code
361
- // keeps the plain shade a fence already had, so a reply without a diff fence
362
- // draws exactly as it did.
363
- 'markdown.diff.header': muted,
364
- 'markdown.diff.hunk': muted,
365
- 'markdown.diff.context': plain,
366
- 'markdown.diff.added': { fg: 'added' },
367
- 'markdown.diff.removed': { fg: 'removed' },
368
- // The band is the emphasis and the foreground is inherited from the row, so a
369
- // palette move carries both without the reader restating either.
370
- 'markdown.diff.addedEmphasis': { inherit: 'markdown.diff.added', bg: DIFF_ADDED_BAND },
371
- 'markdown.diff.removedEmphasis': { inherit: 'markdown.diff.removed', bg: DIFF_REMOVED_BAND },
372
- 'markdown.diagram.border': muted,
373
- 'markdown.diagram.text': plain,
374
- 'markdown.diagram.edge': { fg: 'accent' },
375
- 'markdown.diagram.edgeLabel': muted,
376
- 'markdown.diagram.title': { fg: 'accent', bold: true },
377
- 'markdown.diagram.warning': { fg: 'warn' },
378
- 'picker.title': { bold: true },
379
- 'picker.glyph': { bold: true },
380
- 'picker.note': { bold: true },
381
- 'picker.filter': muted,
382
- 'picker.row': plain,
383
- 'picker.rowCurrent': { bold: true },
384
- 'picker.scrollNewer': muted,
385
- 'picker.scrollOlder': muted,
386
- 'picker.hint': muted,
387
- 'picker.cursor': plain,
388
- 'picker.border': muted,
389
- 'gate.title': { bold: true },
390
- 'gate.glyphApproval': { bold: true },
391
- 'gate.glyphQuestion': { bold: true },
392
- 'gate.detail': muted,
393
- 'gate.option': plain,
394
- 'gate.optionCurrent': { bold: true },
395
- 'gate.cursor': plain,
396
- 'gate.hint': muted,
397
- 'dock.goal': { bold: true },
398
- 'dock.planMode': { bold: true },
399
- // Each section's rule carries that section's own hue, so which list a row
400
- // belongs to is read off the edge of it rather than off the row itself: the
401
- // rows keep the muted family that lets a long command stay legible.
402
- 'dock.todos.border': { fg: 'accent' },
403
- 'dock.todos.heading': { bold: true },
404
- 'dock.todos.pending': muted,
405
- 'dock.todos.inProgress': muted,
406
- 'dock.todos.overflow': muted,
407
- 'dock.subagents.border': { fg: 'user' },
408
- 'dock.subagents.heading': { bold: true },
409
- 'dock.subagents.running': muted,
410
- 'dock.subagents.overflow': muted,
411
- 'dock.jobs.border': { fg: 'warn' },
412
- 'dock.jobs.heading': { bold: true },
413
- 'dock.jobs.running': muted,
414
- 'dock.jobs.overflow': muted,
415
- 'status.prefix': { fg: 'accent' },
416
- // The way back is a key the reader presses, so it carries the weight of an
417
- // armed chord rather than toning down with the facts.
418
- 'status.back': { fg: 'accent' },
419
- 'status.activity.working': muted,
420
- 'status.activity.ready': muted,
421
- 'status.elapsed': muted,
422
- 'status.agentPreset': muted,
423
- 'status.model': muted,
424
- 'status.effort': muted,
425
- 'status.permission': muted,
426
- 'status.context': muted,
427
- 'status.cache': muted,
428
- // Accented, unlike the facts around it: a parked draft is something the
429
- // reader left behind and may want back, not another measurement.
430
- 'status.stash': { fg: 'accent' },
431
- 'status.cwd': muted,
432
- 'status.separator': muted,
433
- 'editor.border': muted,
434
- // No colour: a faint is dropped the moment a colour is named, and faint is
435
- // what makes queued text read as not-yet-sent rather than as being typed.
436
- 'editor.queued': { dim: true, italic: true },
437
- 'editor.queued.more': muted,
438
- // Faint only: the ghost is a suggestion, and a named colour would drop the
439
- // faint that makes it read as not-yet-typed.
440
- 'editor.ghost': { dim: true },
441
- 'editor.selectList.selectedPrefix': { fg: 'accent' },
442
- 'editor.selectList.selectedText': { bold: true },
443
- 'editor.selectList.description': muted,
444
- 'editor.selectList.scrollInfo': muted,
445
- 'editor.selectList.noMatch': muted,
446
- };
447
- /** Map a colour specification through the palette, leaving literals alone. */
448
- function resolveColour(spec, palette) {
449
- if (typeof spec === 'string' && PALETTE_NAMES.includes(spec)) {
450
- return palette[spec];
451
- }
452
- return spec;
453
- }
454
- /** Drop the routing field, so a merged spec carries only what it draws. */
455
- function withoutInherit(spec) {
456
- const { inherit: _routing, ...rest } = spec;
457
- return rest;
458
- }
459
- /** The fields an override really wrote, so an explicit `undefined` cannot shadow a default. */
460
- function writtenFields(spec) {
461
- if (spec === undefined)
462
- return {};
463
- const written = {};
464
- for (const [key, value] of Object.entries(spec)) {
465
- if (value !== undefined)
466
- written[key] = value;
467
- }
468
- return written;
469
- }
470
- /**
471
- * Merge one token's default, its `inherit` target, a theme, and the reader.
472
- *
473
- * The inherited token's fields replace this token's defaults, because that is
474
- * what "start from another token" means. A theme sits between the two because
475
- * it is a layer the reader chose rather than one they wrote: it moves every
476
- * element it names, and their own fields still have the last word.
477
- * A path-scoped set turns a cycle into a stop, and still lets two branches
478
- * inherit one token rather than sharing a single visit.
479
- */
480
- export function mergeTokenSpec(token, overrides, themed) {
481
- const visiting = new Set();
482
- const merge = (name) => {
483
- if (visiting.has(name))
484
- return {};
485
- visiting.add(name);
486
- const own = DEFAULT_TOKENS[name];
487
- const fromTheme = themed?.[name];
488
- const override = overrides.get(name);
489
- const parent = override?.inherit ?? fromTheme?.inherit ?? own.inherit;
490
- const inherited = parent === undefined ? {} : merge(parent);
491
- visiting.delete(name);
492
- return {
493
- ...withoutInherit(own),
494
- ...inherited,
495
- ...withoutInherit(writtenFields(fromTheme)),
496
- ...withoutInherit(writtenFields(override)),
497
- };
498
- };
499
- return merge(token);
500
- }
501
- /** Turn a colour SGR sequence into the parameter list it belongs to. */
502
- function colourParams(sequence) {
503
- return sequence === '' ? undefined : sequence.slice('\u001B['.length, -1);
504
- }
505
- /**
506
- * Resolve one token into the escapes a renderer needs.
507
- *
508
- * Faint is dropped once a colour is chosen: stacking it on a deliberate grey is
509
- * what made the old output differ per terminal.
510
- */
511
- export function resolveToken(token, overrides, palette, mode, themed) {
512
- const merged = mergeTokenSpec(token, overrides, themed);
513
- if (merged.hidden === true)
514
- return { prefix: '', suffix: '', glyph: '', hidden: true };
515
- // With no colour capability the whole promise is "emit nothing", which
516
- // includes attributes: a bold word is still styling a reader turned off.
517
- if (mode === 'none')
518
- return { prefix: '', suffix: '', glyph: merged.glyph ?? '', hidden: false };
519
- const fg = merged.fg;
520
- const bg = merged.bg;
521
- const codes = [];
522
- if (merged.bold === true)
523
- codes.push('1');
524
- if (merged.dim === true && fg === undefined)
525
- codes.push('2');
526
- if (merged.italic === true)
527
- codes.push('3');
528
- if (merged.underline === true)
529
- codes.push('4');
530
- if (merged.strike === true)
531
- codes.push('9');
532
- for (const params of [
533
- fg === undefined ? undefined : colourParams(sgrPrefix(resolveColour(fg, palette), mode)),
534
- bg === undefined ? undefined : colourParams(sgrBackgroundPrefix(resolveColour(bg, palette), mode)),
535
- ]) {
536
- if (params !== undefined)
537
- codes.push(params);
538
- }
539
- // One sequence for attributes and colours together: two escapes in a row would
540
- // let a renderer that re-orders them drop half the style.
541
- const prefix = codes.length === 0 ? '' : `\u001B[${codes.join(';')}m`;
542
- return { prefix, suffix: prefix === '' ? '' : RESET, glyph: merged.glyph ?? '', hidden: false };
543
- }
544
188
  //# sourceMappingURL=theme-tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme-tokens.js","sourceRoot":"","sources":["../src/theme-tokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme-tokens.js","sourceRoot":"","sources":["../src/theme-tokens.ts"],"names":[],"mappings":"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"}
package/lib/theme.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type EditorTheme, type MarkdownTheme } from '@earendil-works/pi-tui';
2
2
  import { type ColourMode } from './theme-capability.ts';
3
- import { type TuiToken } from './theme-tokens.ts';
3
+ import type { TuiToken } from './theme-tokens.ts';
4
4
  import { type ThemeOverrides } from './theme-settings.ts';
5
5
  /** What a drawn fragment needs to know: the element it belongs to, and where it starts. */
6
6
  export interface RichTextOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,WAAW,EAAE,KAAK,aAAa,EAAwB,MAAM,wBAAwB,CAAA;AAIpH,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACzE,OAAO,EAAoF,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACnI,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAarE,2FAA2F;AAC3F,MAAM,WAAW,eAAe;IAC9B,0FAA0F;IAC1F,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;IACzB,6FAA6F;IAC7F,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,8BAA8B;IAC9B,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IAC5C;;;;;;;OAOG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAAA;IACpD,4EAA4E;IAC5E,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3D,4EAA4E;IAC5E,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAA;IAC9B,0CAA0C;IAC1C,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;CACjC;AAoDD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,GAAE,UAA0C,EAAE,SAAS,GAAE,cAA6B,GAAG,QAAQ,CAyDhI;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,WAAW,GAAG,WAAW,CAWzE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,aAAa,GAAG,aAAa,CAkB/E"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,WAAW,EAAE,KAAK,aAAa,EAAwB,MAAM,wBAAwB,CAAA;AAIpH,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAGzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAarE,2FAA2F;AAC3F,MAAM,WAAW,eAAe;IAC9B,0FAA0F;IAC1F,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;IACzB,6FAA6F;IAC7F,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,8BAA8B;IAC9B,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IAC5C;;;;;;;OAOG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAAA;IACpD,4EAA4E;IAC5E,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3D,4EAA4E;IAC5E,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAA;IAC9B,0CAA0C;IAC1C,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;CACjC;AAoDD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,GAAE,UAA0C,EAAE,SAAS,GAAE,cAA6B,GAAG,QAAQ,CAyDhI;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,WAAW,GAAG,WAAW,CAWzE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,aAAa,GAAG,aAAa,CAkB/E"}
package/lib/theme.js CHANGED
@@ -3,7 +3,8 @@ import { codeBlockLines, plainCodeLines } from "./ui/diff.js";
3
3
  import { oneRow } from "./text.js";
4
4
  import { renderTerminalText } from "./terminal-text.js";
5
5
  import { detectColourMode } from "./theme-capability.js";
6
- import { DEFAULT_PALETTE, DEFAULT_TOKENS, resetSequence, resolveToken } from "./theme-tokens.js";
6
+ import { DEFAULT_PALETTE, DEFAULT_TOKENS } from "./theme-defaults.js";
7
+ import { resetSequence, resolveToken } from "./theme-resolver.js";
7
8
  import { themeLayer } from "./theme-settings.js";
8
9
  /** What a caller gets when it has written no settings at all. */
9
10
  const NO_OVERRIDES = { palette: DEFAULT_PALETTE, tokens: new Map() };
package/lib/theme.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-display.d.ts","sourceRoot":"","sources":["../src/tool-display.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;IAClC,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,6GAA6G;AAC7G,MAAM,MAAM,kBAAkB,GAAG;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,eAAe,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;CAAE,CAAA;AAEhG,iGAAiG;AACjG,eAAO,MAAM,oBAAoB,6BAA8B,CAAA;AAC/D,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAA;AAErE,4FAA4F;AAC5F,eAAO,MAAM,mBAAmB;;;;;CAEtB,CAAA;AAEV,8FAA8F;AAC9F,eAAO,MAAM,oBAAoB,EAAE,eAIlC,CAAA;AAED,oFAAoF;AACpF,eAAO,MAAM,kBAAkB,YAAY,CAAA;AAE3C,4FAA4F;AAC5F,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAA;CAC1D;AAED,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAErF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,EAC7C,QAAQ,GAAE,eAAsC,GAC/C,eAAe,CAMjB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAM,GAAG,gBAAgB,CAQjH"}
1
+ {"version":3,"file":"tool-display.d.ts","sourceRoot":"","sources":["../src/tool-display.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;IAClC,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,6GAA6G;AAC7G,MAAM,MAAM,kBAAkB,GAAG;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,eAAe,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;CAAE,CAAA;AAEhG,iGAAiG;AACjG,eAAO,MAAM,oBAAoB,6BAA8B,CAAA;AAC/D,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAA;AAErE,4FAA4F;AAC5F,eAAO,MAAM,mBAAmB;;;;;CAEtB,CAAA;AAEV,8FAA8F;AAC9F,eAAO,MAAM,oBAAoB,EAAE,eAIlC,CAAA;AAED,oFAAoF;AACpF,eAAO,MAAM,kBAAkB,YAAY,CAAA;AAE3C,4FAA4F;AAC5F,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAA;CAC1D;AAED,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAErF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,EAC7C,QAAQ,GAAE,eAAsC,GAC/C,eAAe,CAMjB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAM,GAAG,gBAAgB,CAQjH"}
@@ -1,4 +1,5 @@
1
- import { CARD_DETAIL_MAX, CARD_SHELL_PREVIEW } from "./cards.js";
1
+ import { CARD_DETAIL_MAX } from "./cards.js";
2
+ import { CARD_SHELL_PREVIEW } from "./cards/preview.js";
2
3
  /** The values the `output` key accepts, declared once for the schema and the refusal message. */
3
4
  export const TOOL_OUTPUT_DISPLAYS = ['hidden', 'tail'];
4
5
  /** Bounds the schema and the refusal message share, so neither can drift from the other. */
@@ -1 +1 @@
1
- {"version":3,"file":"tool-display.js","sourceRoot":"","sources":["../src/tool-display.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAqBhE,iGAAiG;AACjG,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAU,CAAA;AAG/D,4FAA4F;AAC5F,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE;CAC9B,CAAA;AAEV,8FAA8F;AAC9F,MAAM,CAAC,MAAM,oBAAoB,GAAoB;IACnD,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,kBAAkB;CACzB,CAAA;AAED,oFAAoF;AACpF,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAA;AAQ3C,gFAAgF;AAChF,MAAM,UAAU,cAAc,CAAC,KAAuB,EAAE,IAAY;IAClE,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAA;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAA6C,EAC7C,WAA4B,oBAAoB;IAEhD,OAAO;QACL,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,QAAQ,CAAC,SAAS;QACnD,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,QAAQ,CAAC,MAAM;QAC1C,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,QAAQ,CAAC,IAAI;KACrC,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAA4D,EAAE;IAC7F,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAA;IAC1D,MAAM,KAAK,GAAoC,EAAE,CAAA;IACjD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,IAAI,IAAI,KAAK,kBAAkB;YAAE,SAAQ;QACzC,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;AACjC,CAAC"}
1
+ {"version":3,"file":"tool-display.js","sourceRoot":"","sources":["../src/tool-display.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAqBvD,iGAAiG;AACjG,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAU,CAAA;AAG/D,4FAA4F;AAC5F,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE;CAC9B,CAAA;AAEV,8FAA8F;AAC9F,MAAM,CAAC,MAAM,oBAAoB,GAAoB;IACnD,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,kBAAkB;CACzB,CAAA;AAED,oFAAoF;AACpF,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAA;AAQ3C,gFAAgF;AAChF,MAAM,UAAU,cAAc,CAAC,KAAuB,EAAE,IAAY;IAClE,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAA;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAA6C,EAC7C,WAA4B,oBAAoB;IAEhD,OAAO;QACL,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,QAAQ,CAAC,SAAS;QACnD,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,QAAQ,CAAC,MAAM;QAC1C,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,QAAQ,CAAC,IAAI;KACrC,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAA4D,EAAE;IAC7F,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAA;IAC1D,MAAM,KAAK,GAAoC,EAAE,CAAA;IACjD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,IAAI,IAAI,KAAK,kBAAkB;YAAE,SAAQ;QACzC,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;AACjC,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * What a durable message says, read out of its content blocks.
3
+ *
4
+ * A block is whatever the harness recorded — text, a thought, or a tool result
5
+ * that carries its model-facing content one level deeper — and a reader is shown
6
+ * only the few shapes this module recognises. It sits apart from the fold
7
+ * because reading a recorded message is the same whether the message arrived
8
+ * live or came back out of a log.
9
+ */
10
+ /** The visible lines a content block list holds, thoughts excluded. */
11
+ export declare function contentLinesOf(content: unknown): string[];
12
+ /** The same lines as one string, for the callers that store text rather than rows. */
13
+ export declare function textOfContent(content: unknown): string;
14
+ /**
15
+ * The thoughts a durable message carries, in the order they were recorded.
16
+ *
17
+ * A recorded thought is the only path a resumed session has to the model's
18
+ * reasoning, and the live stream does not outlive the turn that produced it.
19
+ */
20
+ export declare function reasoningTextsOf(content: unknown): string[];
21
+ //# sourceMappingURL=message-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-content.d.ts","sourceRoot":"","sources":["../../src/transcript/message-content.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,uEAAuE;AACvE,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAezD;AAED,sFAAsF;AACtF,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAEtD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAU3D"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * What a durable message says, read out of its content blocks.
3
+ *
4
+ * A block is whatever the harness recorded — text, a thought, or a tool result
5
+ * that carries its model-facing content one level deeper — and a reader is shown
6
+ * only the few shapes this module recognises. It sits apart from the fold
7
+ * because reading a recorded message is the same whether the message arrived
8
+ * live or came back out of a log.
9
+ */
10
+ /** Narrowing for the structural event reads below; each reader keeps its own copy rather than sharing one. */
11
+ function asRecord(value) {
12
+ return typeof value === 'object' && value !== null ? value : undefined;
13
+ }
14
+ /** The visible lines a content block list holds, thoughts excluded. */
15
+ export function contentLinesOf(content) {
16
+ if (!Array.isArray(content))
17
+ return [];
18
+ const lines = [];
19
+ for (const block of content) {
20
+ const record = asRecord(block);
21
+ if (record === undefined)
22
+ continue;
23
+ // A thought is a row of its own; reading it here would hand the model's
24
+ // private reasoning to the reader as though it had been said out loud.
25
+ if (record.type === 'reasoning')
26
+ continue;
27
+ // Any block that carries text counts; a tool-result block also holds its
28
+ // model-facing content one level deeper.
29
+ if (typeof record.text === 'string')
30
+ lines.push(...record.text.split('\n'));
31
+ if (Array.isArray(record.content))
32
+ lines.push(...contentLinesOf(record.content));
33
+ }
34
+ return lines;
35
+ }
36
+ /** The same lines as one string, for the callers that store text rather than rows. */
37
+ export function textOfContent(content) {
38
+ return contentLinesOf(content).join('\n');
39
+ }
40
+ /**
41
+ * The thoughts a durable message carries, in the order they were recorded.
42
+ *
43
+ * A recorded thought is the only path a resumed session has to the model's
44
+ * reasoning, and the live stream does not outlive the turn that produced it.
45
+ */
46
+ export function reasoningTextsOf(content) {
47
+ if (!Array.isArray(content))
48
+ return [];
49
+ const thoughts = [];
50
+ for (const block of content) {
51
+ const record = asRecord(block);
52
+ if (record === undefined)
53
+ continue;
54
+ if (record.type === 'reasoning' && typeof record.text === 'string')
55
+ thoughts.push(record.text);
56
+ if (Array.isArray(record.content))
57
+ thoughts.push(...reasoningTextsOf(record.content));
58
+ }
59
+ return thoughts;
60
+ }
61
+ //# sourceMappingURL=message-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-content.js","sourceRoot":"","sources":["../../src/transcript/message-content.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,8GAA8G;AAC9G,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAE,KAAiC,CAAC,CAAC,CAAC,SAAS,CAAA;AACrG,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAA;IACtC,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC9B,IAAI,MAAM,KAAK,SAAS;YAAE,SAAQ;QAClC,wEAAwE;QACxE,uEAAuE;QACvE,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;YAAE,SAAQ;QACzC,yEAAyE;QACzE,yCAAyC;QACzC,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QAC3E,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;IAClF,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAA;IACtC,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC9B,IAAI,MAAM,KAAK,SAAS;YAAE,SAAQ;QAClC,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC9F,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;IACvF,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC"}