@pentoshi/clai 4.17.0 → 4.19.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 (471) hide show
  1. package/CONTRIBUTING.md +3 -2
  2. package/PROVIDERS.md +1 -1
  3. package/README.md +108 -267
  4. package/SECURITY.md +5 -1
  5. package/dist/agent/compaction-summary.d.ts +1 -1
  6. package/dist/agent/compaction-summary.js +4 -4
  7. package/dist/agent/compaction-summary.js.map +1 -1
  8. package/dist/agent/context/compaction-user-instructions.js +1 -1
  9. package/dist/agent/context/compaction-user-instructions.js.map +1 -1
  10. package/dist/agent/durable-envelope.js +1 -1
  11. package/dist/agent/durable-envelope.js.map +1 -1
  12. package/dist/agent/turn/tool-execution/result-framing.js +8 -6
  13. package/dist/agent/turn/tool-execution/result-framing.js.map +1 -1
  14. package/dist/app/adapters/current-store-adapter.js +7 -3
  15. package/dist/app/adapters/current-store-adapter.js.map +1 -1
  16. package/dist/app/commands/catalog.js +4 -0
  17. package/dist/app/commands/catalog.js.map +1 -1
  18. package/dist/app/commands/registry.js +1 -1
  19. package/dist/app/commands/registry.js.map +1 -1
  20. package/dist/app/controllers/session-changes.d.ts +5 -0
  21. package/dist/app/controllers/session-changes.js +50 -20
  22. package/dist/app/controllers/session-changes.js.map +1 -1
  23. package/dist/app/controllers/session-controller.d.ts +8 -0
  24. package/dist/app/controllers/session-controller.js +64 -6
  25. package/dist/app/controllers/session-controller.js.map +1 -1
  26. package/dist/app/controllers/session-id.d.ts +1 -0
  27. package/dist/app/controllers/session-id.js +4 -0
  28. package/dist/app/controllers/session-id.js.map +1 -0
  29. package/dist/app/controllers/session-late-work.d.ts +27 -0
  30. package/dist/app/controllers/session-late-work.js +113 -0
  31. package/dist/app/controllers/session-late-work.js.map +1 -0
  32. package/dist/app/controllers/session-persistence.d.ts +8 -4
  33. package/dist/app/controllers/session-persistence.js +50 -14
  34. package/dist/app/controllers/session-persistence.js.map +1 -1
  35. package/dist/app/ports/persistence-port.d.ts +6 -1
  36. package/dist/classic/app/ClassicApp.js +1 -0
  37. package/dist/classic/app/ClassicApp.js.map +1 -1
  38. package/dist/classic/app/app-wiring.d.ts +5 -3
  39. package/dist/classic/app/app-wiring.js +7 -3
  40. package/dist/classic/app/app-wiring.js.map +1 -1
  41. package/dist/classic/app/use-feed.d.ts +4 -1
  42. package/dist/classic/app/use-feed.js +26 -5
  43. package/dist/classic/app/use-feed.js.map +1 -1
  44. package/dist/classic/app/wiring-interactions.d.ts +3 -2
  45. package/dist/classic/app/wiring-interactions.js +26 -23
  46. package/dist/classic/app/wiring-interactions.js.map +1 -1
  47. package/dist/classic/app/wiring-lifecycle.js +11 -1
  48. package/dist/classic/app/wiring-lifecycle.js.map +1 -1
  49. package/dist/classic/app/wiring-types.d.ts +6 -7
  50. package/dist/classic/bootstrap/renderer-handle.js +11 -3
  51. package/dist/classic/bootstrap/renderer-handle.js.map +1 -1
  52. package/dist/classic/bootstrap/start-classic.js +4 -17
  53. package/dist/classic/bootstrap/start-classic.js.map +1 -1
  54. package/dist/classic/feed/background-layout.d.ts +26 -0
  55. package/dist/classic/feed/background-layout.js +77 -0
  56. package/dist/classic/feed/background-layout.js.map +1 -0
  57. package/dist/classic/feed/block-height.js +1 -1
  58. package/dist/classic/feed/block-height.js.map +1 -1
  59. package/dist/classic/feed/estimated-height.d.ts +2 -0
  60. package/dist/classic/feed/estimated-height.js +24 -0
  61. package/dist/classic/feed/estimated-height.js.map +1 -0
  62. package/dist/classic/feed/feed-blocks.d.ts +10 -2
  63. package/dist/classic/feed/feed-blocks.js +82 -19
  64. package/dist/classic/feed/feed-blocks.js.map +1 -1
  65. package/dist/classic/feed/transcript-resources.d.ts +8 -1
  66. package/dist/classic/feed/transcript-resources.js +72 -10
  67. package/dist/classic/feed/transcript-resources.js.map +1 -1
  68. package/dist/classic/feed/transcript-selection.js +1 -1
  69. package/dist/classic/feed/transcript-selection.js.map +1 -1
  70. package/dist/classic/feed/transcript-viewport.d.ts +12 -0
  71. package/dist/classic/feed/transcript-viewport.js +28 -0
  72. package/dist/classic/feed/transcript-viewport.js.map +1 -0
  73. package/dist/classic/feed/transcript-window.d.ts +6 -0
  74. package/dist/classic/feed/transcript-window.js +50 -11
  75. package/dist/classic/feed/transcript-window.js.map +1 -1
  76. package/dist/classic/panels/pager-panel.d.ts +11 -8
  77. package/dist/classic/panels/pager-panel.js +42 -28
  78. package/dist/classic/panels/pager-panel.js.map +1 -1
  79. package/dist/classic/panels/pager-region-paint.d.ts +3 -0
  80. package/dist/classic/panels/pager-region-paint.js +43 -0
  81. package/dist/classic/panels/pager-region-paint.js.map +1 -0
  82. package/dist/classic/panels/pager-search-paint.d.ts +3 -0
  83. package/dist/classic/panels/pager-search-paint.js +59 -0
  84. package/dist/classic/panels/pager-search-paint.js.map +1 -0
  85. package/dist/classic/panels/pager-source-controller.js +2 -0
  86. package/dist/classic/panels/pager-source-controller.js.map +1 -1
  87. package/dist/classic/panels/panel-controller.js +5 -6
  88. package/dist/classic/panels/panel-controller.js.map +1 -1
  89. package/dist/classic/panels/panel-host.js +2 -2
  90. package/dist/classic/panels/panel-host.js.map +1 -1
  91. package/dist/classic/panels/panel-initial-states.d.ts +1 -0
  92. package/dist/classic/panels/panel-initial-states.js +1 -0
  93. package/dist/classic/panels/panel-initial-states.js.map +1 -1
  94. package/dist/classic/panels/panel-types.d.ts +1 -0
  95. package/dist/classic/panels/panel-wheel.js +2 -2
  96. package/dist/classic/panels/panel-wheel.js.map +1 -1
  97. package/dist/classic/panels/text-editor-panel.d.ts +2 -1
  98. package/dist/classic/panels/text-editor-panel.js +21 -12
  99. package/dist/classic/panels/text-editor-panel.js.map +1 -1
  100. package/dist/classic/render/ansi-text.js +49 -33
  101. package/dist/classic/render/ansi-text.js.map +1 -1
  102. package/dist/classic/render/ink-theme.js +1 -1
  103. package/dist/classic/render/ink-theme.js.map +1 -1
  104. package/dist/classic/render/measure.js +2 -3
  105. package/dist/classic/render/measure.js.map +1 -1
  106. package/dist/commands/current-version.d.ts +1 -0
  107. package/dist/commands/current-version.js +42 -0
  108. package/dist/commands/current-version.js.map +1 -0
  109. package/dist/commands/update.d.ts +2 -1
  110. package/dist/commands/update.js +4 -41
  111. package/dist/commands/update.js.map +1 -1
  112. package/dist/index.d.ts +1 -1
  113. package/dist/index.js +21 -12
  114. package/dist/index.js.map +1 -1
  115. package/dist/interactive-session/transport-pipe.js +9 -3
  116. package/dist/interactive-session/transport-pipe.js.map +1 -1
  117. package/dist/llm/capabilities.js +13 -6
  118. package/dist/llm/capabilities.js.map +1 -1
  119. package/dist/llm/capability/vision-patterns.js +1 -1
  120. package/dist/llm/capability/vision-patterns.js.map +1 -1
  121. package/dist/llm/freebuff-agent-prompt.d.ts +1 -0
  122. package/dist/llm/freebuff-agent-prompt.js +46 -0
  123. package/dist/llm/freebuff-agent-prompt.js.map +1 -0
  124. package/dist/llm/freebuff-auth.js +15 -3
  125. package/dist/llm/freebuff-auth.js.map +1 -1
  126. package/dist/llm/freebuff-device-key.d.ts +39 -0
  127. package/dist/llm/freebuff-device-key.js +330 -0
  128. package/dist/llm/freebuff-device-key.js.map +1 -0
  129. package/dist/llm/freebuff-env-profile.d.ts +41 -0
  130. package/dist/llm/freebuff-env-profile.js +205 -0
  131. package/dist/llm/freebuff-env-profile.js.map +1 -0
  132. package/dist/llm/freebuff-fingerprint.d.ts +21 -0
  133. package/dist/llm/freebuff-fingerprint.js +137 -0
  134. package/dist/llm/freebuff-fingerprint.js.map +1 -0
  135. package/dist/llm/freebuff-models.d.ts +26 -5
  136. package/dist/llm/freebuff-models.js +137 -80
  137. package/dist/llm/freebuff-models.js.map +1 -1
  138. package/dist/llm/freebuff-run.d.ts +2 -0
  139. package/dist/llm/freebuff-run.js +77 -24
  140. package/dist/llm/freebuff-run.js.map +1 -1
  141. package/dist/llm/freebuff-session-api.d.ts +3 -1
  142. package/dist/llm/freebuff-session-api.js +26 -18
  143. package/dist/llm/freebuff-session-api.js.map +1 -1
  144. package/dist/llm/freebuff-session.d.ts +7 -1
  145. package/dist/llm/freebuff-session.js +81 -31
  146. package/dist/llm/freebuff-session.js.map +1 -1
  147. package/dist/llm/freebuff-wire.d.ts +8 -0
  148. package/dist/llm/freebuff-wire.js +42 -20
  149. package/dist/llm/freebuff-wire.js.map +1 -1
  150. package/dist/llm/freebuff.js +79 -9
  151. package/dist/llm/freebuff.js.map +1 -1
  152. package/dist/llm/main-effort-discovery.d.ts +16 -0
  153. package/dist/llm/main-effort-discovery.js +71 -0
  154. package/dist/llm/main-effort-discovery.js.map +1 -0
  155. package/dist/llm/omnirush-session-upload.d.ts +1 -0
  156. package/dist/llm/omnirush-session-upload.js +14 -1
  157. package/dist/llm/omnirush-session-upload.js.map +1 -1
  158. package/dist/llm/provider-profiles.js +28 -2
  159. package/dist/llm/provider-profiles.js.map +1 -1
  160. package/dist/llm/provider.js +2 -1
  161. package/dist/llm/provider.js.map +1 -1
  162. package/dist/llm/request-plan.js +13 -7
  163. package/dist/llm/request-plan.js.map +1 -1
  164. package/dist/llm/responses-request.js +8 -1
  165. package/dist/llm/responses-request.js.map +1 -1
  166. package/dist/llm/river-models.js +3 -1
  167. package/dist/llm/river-models.js.map +1 -1
  168. package/dist/llm/routing/attempt-complete.js +6 -1
  169. package/dist/llm/routing/attempt-complete.js.map +1 -1
  170. package/dist/llm/routing/attempt-request.d.ts +3 -1
  171. package/dist/llm/routing/attempt-request.js +39 -5
  172. package/dist/llm/routing/attempt-request.js.map +1 -1
  173. package/dist/llm/routing/attempt-stream.js +8 -1
  174. package/dist/llm/routing/attempt-stream.js.map +1 -1
  175. package/dist/llm/routing/error-classification.d.ts +1 -0
  176. package/dist/llm/routing/error-classification.js +9 -1
  177. package/dist/llm/routing/error-classification.js.map +1 -1
  178. package/dist/llm/wire/effort-preflight.d.ts +4 -1
  179. package/dist/llm/wire/effort-preflight.js +49 -6
  180. package/dist/llm/wire/effort-preflight.js.map +1 -1
  181. package/dist/llm/wire/openai-complete.d.ts +1 -0
  182. package/dist/llm/wire/openai-complete.js +5 -1
  183. package/dist/llm/wire/openai-complete.js.map +1 -1
  184. package/dist/llm/wire/openai-stream.d.ts +1 -0
  185. package/dist/llm/wire/openai-stream.js +1 -0
  186. package/dist/llm/wire/openai-stream.js.map +1 -1
  187. package/dist/llm/wire/responses-first.js +3 -0
  188. package/dist/llm/wire/responses-first.js.map +1 -1
  189. package/dist/os/ownership-repair.d.ts +5 -0
  190. package/dist/os/ownership-repair.js +62 -0
  191. package/dist/os/ownership-repair.js.map +1 -0
  192. package/dist/os/permissions.d.ts +7 -0
  193. package/dist/os/permissions.js +27 -22
  194. package/dist/os/permissions.js.map +1 -1
  195. package/dist/os/process-identity.d.ts +8 -0
  196. package/dist/os/process-identity.js +61 -3
  197. package/dist/os/process-identity.js.map +1 -1
  198. package/dist/os/settle-within.d.ts +1 -0
  199. package/dist/os/settle-within.js +12 -0
  200. package/dist/os/settle-within.js.map +1 -0
  201. package/dist/os/user-environment.d.ts +1 -0
  202. package/dist/os/user-environment.js +3 -0
  203. package/dist/os/user-environment.js.map +1 -0
  204. package/dist/os/user-identity.d.ts +11 -0
  205. package/dist/os/user-identity.js +163 -0
  206. package/dist/os/user-identity.js.map +1 -0
  207. package/dist/safety/tool-classification.js +6 -0
  208. package/dist/safety/tool-classification.js.map +1 -1
  209. package/dist/security/known-secrets.d.ts +5 -0
  210. package/dist/security/known-secrets.js +50 -0
  211. package/dist/security/known-secrets.js.map +1 -0
  212. package/dist/session-runtime/client.d.ts +1 -1
  213. package/dist/session-runtime/client.js +8 -104
  214. package/dist/session-runtime/client.js.map +1 -1
  215. package/dist/session-runtime/discovery.js +1 -1
  216. package/dist/session-runtime/discovery.js.map +1 -1
  217. package/dist/session-runtime/host.d.ts +2 -0
  218. package/dist/session-runtime/host.js +35 -30
  219. package/dist/session-runtime/host.js.map +1 -1
  220. package/dist/session-runtime/launch.d.ts +1 -0
  221. package/dist/session-runtime/launch.js +10 -1
  222. package/dist/session-runtime/launch.js.map +1 -1
  223. package/dist/session-runtime/paths.js +14 -6
  224. package/dist/session-runtime/paths.js.map +1 -1
  225. package/dist/session-runtime/reaper.js +3 -3
  226. package/dist/session-runtime/reaper.js.map +1 -1
  227. package/dist/session-runtime/start-runtime.js +5 -8
  228. package/dist/session-runtime/start-runtime.js.map +1 -1
  229. package/dist/session-runtime/startup.d.ts +14 -0
  230. package/dist/session-runtime/startup.js +116 -0
  231. package/dist/session-runtime/startup.js.map +1 -0
  232. package/dist/session-runtime/store.js +34 -8
  233. package/dist/session-runtime/store.js.map +1 -1
  234. package/dist/store/config/endpoints.js +3 -1
  235. package/dist/store/config/endpoints.js.map +1 -1
  236. package/dist/store/credentials/crypto.d.ts +7 -0
  237. package/dist/store/credentials/crypto.js +118 -0
  238. package/dist/store/credentials/crypto.js.map +1 -0
  239. package/dist/store/credentials.d.ts +21 -0
  240. package/dist/store/credentials.js +150 -0
  241. package/dist/store/credentials.js.map +1 -0
  242. package/dist/store/history/freshness.d.ts +2 -0
  243. package/dist/store/history/freshness.js +3 -2
  244. package/dist/store/history/freshness.js.map +1 -1
  245. package/dist/store/history/jsonl-backend.d.ts +1 -1
  246. package/dist/store/history/jsonl-backend.js +22 -8
  247. package/dist/store/history/jsonl-backend.js.map +1 -1
  248. package/dist/store/history/jsonl-lock.d.ts +1 -0
  249. package/dist/store/history/jsonl-lock.js +94 -71
  250. package/dist/store/history/jsonl-lock.js.map +1 -1
  251. package/dist/store/history/recovery.d.ts +2 -0
  252. package/dist/store/history/recovery.js +2 -0
  253. package/dist/store/history/recovery.js.map +1 -1
  254. package/dist/store/history/session-queries.js +0 -3
  255. package/dist/store/history/session-queries.js.map +1 -1
  256. package/dist/store/history/sqlite-backend.js +2 -0
  257. package/dist/store/history/sqlite-backend.js.map +1 -1
  258. package/dist/store/history/transcript-merge.d.ts +2 -0
  259. package/dist/store/history/transcript-merge.js +46 -0
  260. package/dist/store/history/transcript-merge.js.map +1 -0
  261. package/dist/store/history-index.d.ts +2 -0
  262. package/dist/store/history-index.js +3 -2
  263. package/dist/store/history-index.js.map +1 -1
  264. package/dist/store/history.d.ts +2 -1
  265. package/dist/store/history.js +46 -13
  266. package/dist/store/history.js.map +1 -1
  267. package/dist/store/keys/secret-store.js +5 -2
  268. package/dist/store/keys/secret-store.js.map +1 -1
  269. package/dist/store/legacy-location.d.ts +1 -0
  270. package/dist/store/legacy-location.js +37 -0
  271. package/dist/store/legacy-location.js.map +1 -0
  272. package/dist/store/ownership.d.ts +3 -0
  273. package/dist/store/ownership.js +23 -0
  274. package/dist/store/ownership.js.map +1 -0
  275. package/dist/store/paths.js +3 -2
  276. package/dist/store/paths.js.map +1 -1
  277. package/dist/store/redaction-cache.d.ts +0 -5
  278. package/dist/store/redaction-cache.js +6 -5
  279. package/dist/store/redaction-cache.js.map +1 -1
  280. package/dist/store/scope.js +7 -2
  281. package/dist/store/scope.js.map +1 -1
  282. package/dist/store/session-prompts.d.ts +1 -0
  283. package/dist/store/session-prompts.js +34 -13
  284. package/dist/store/session-prompts.js.map +1 -1
  285. package/dist/store/session-workspace.js +3 -0
  286. package/dist/store/session-workspace.js.map +1 -1
  287. package/dist/tools/command-intent.js +7 -7
  288. package/dist/tools/command-intent.js.map +1 -1
  289. package/dist/tools/credentials.d.ts +2 -0
  290. package/dist/tools/credentials.js +27 -0
  291. package/dist/tools/credentials.js.map +1 -0
  292. package/dist/tools/definitions/aggregate.js +2 -0
  293. package/dist/tools/definitions/aggregate.js.map +1 -1
  294. package/dist/tools/definitions/credentials.d.ts +1 -0
  295. package/dist/tools/definitions/credentials.js +15 -0
  296. package/dist/tools/definitions/credentials.js.map +1 -0
  297. package/dist/tools/definitions/fs-read.js +3 -2
  298. package/dist/tools/definitions/fs-read.js.map +1 -1
  299. package/dist/tools/definitions/terminal.js +2 -1
  300. package/dist/tools/definitions/terminal.js.map +1 -1
  301. package/dist/tools/elevated-shell.js +11 -14
  302. package/dist/tools/elevated-shell.js.map +1 -1
  303. package/dist/tools/interactive-session-tools.js +20 -4
  304. package/dist/tools/interactive-session-tools.js.map +1 -1
  305. package/dist/tools/registry.js +2 -0
  306. package/dist/tools/registry.js.map +1 -1
  307. package/dist/tools/rtk/archive.d.ts +1 -0
  308. package/dist/tools/rtk/archive.js +103 -0
  309. package/dist/tools/rtk/archive.js.map +1 -0
  310. package/dist/tools/rtk/binary-placement.d.ts +1 -0
  311. package/dist/tools/rtk/binary-placement.js +46 -0
  312. package/dist/tools/rtk/binary-placement.js.map +1 -0
  313. package/dist/tools/rtk/binary.d.ts +1 -0
  314. package/dist/tools/rtk/binary.js +9 -11
  315. package/dist/tools/rtk/binary.js.map +1 -1
  316. package/dist/tools/rtk/install.js +29 -27
  317. package/dist/tools/rtk/install.js.map +1 -1
  318. package/dist/tools/sudo-session.d.ts +2 -1
  319. package/dist/tools/sudo-session.js +26 -9
  320. package/dist/tools/sudo-session.js.map +1 -1
  321. package/dist/tui-v2/app/App.js +9 -9
  322. package/dist/tui-v2/app/App.js.map +1 -1
  323. package/dist/tui-v2/app/layout-widths.js +4 -4
  324. package/dist/tui-v2/app/layout-widths.js.map +1 -1
  325. package/dist/tui-v2/bootstrap/renderer-handle.d.ts +2 -0
  326. package/dist/tui-v2/bootstrap/renderer-handle.js +21 -10
  327. package/dist/tui-v2/bootstrap/renderer-handle.js.map +1 -1
  328. package/dist/tui-v2/bootstrap/start-tui-v2.js +13 -28
  329. package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
  330. package/dist/tui-v2/components/modal/text-editor-modal.js +4 -0
  331. package/dist/tui-v2/components/modal/text-editor-modal.js.map +1 -1
  332. package/dist/tui-v2/components/overlay/overlay-host.js +1 -2
  333. package/dist/tui-v2/components/overlay/overlay-host.js.map +1 -1
  334. package/dist/tui-v2/components/pager/pager-line.d.ts +1 -0
  335. package/dist/tui-v2/components/pager/pager-line.js +46 -27
  336. package/dist/tui-v2/components/pager/pager-line.js.map +1 -1
  337. package/dist/tui-v2/components/pager/pager-rows.d.ts +3 -0
  338. package/dist/tui-v2/components/pager/pager-rows.js +18 -1
  339. package/dist/tui-v2/components/pager/pager-rows.js.map +1 -1
  340. package/dist/tui-v2/components/pager/pager.d.ts +2 -0
  341. package/dist/tui-v2/components/pager/pager.js +10 -6
  342. package/dist/tui-v2/components/pager/pager.js.map +1 -1
  343. package/dist/tui-v2/components/plan/plan-view.js +5 -3
  344. package/dist/tui-v2/components/plan/plan-view.js.map +1 -1
  345. package/dist/tui-v2/components/toast/toast-anim.d.ts +6 -0
  346. package/dist/tui-v2/components/toast/toast-anim.js +17 -0
  347. package/dist/tui-v2/components/toast/toast-anim.js.map +1 -1
  348. package/dist/tui-v2/components/toast/toast-host.js +15 -5
  349. package/dist/tui-v2/components/toast/toast-host.js.map +1 -1
  350. package/dist/tui-v2/components/transcript/assistant-message.js +2 -2
  351. package/dist/tui-v2/components/transcript/assistant-message.js.map +1 -1
  352. package/dist/tui-v2/components/transcript/styled-text-block.d.ts +6 -0
  353. package/dist/tui-v2/components/transcript/styled-text-block.js +14 -0
  354. package/dist/tui-v2/components/transcript/styled-text-block.js.map +1 -0
  355. package/dist/tui-v2/components/transcript/tool-card.js +7 -4
  356. package/dist/tui-v2/components/transcript/tool-card.js.map +1 -1
  357. package/dist/tui-v2/components/transcript/transcript-anchor.d.ts +20 -0
  358. package/dist/tui-v2/components/transcript/transcript-anchor.js +43 -0
  359. package/dist/tui-v2/components/transcript/transcript-anchor.js.map +1 -0
  360. package/dist/tui-v2/components/transcript/transcript-view.js +27 -40
  361. package/dist/tui-v2/components/transcript/transcript-view.js.map +1 -1
  362. package/dist/tui-v2/components/transcript/user-message.js +31 -21
  363. package/dist/tui-v2/components/transcript/user-message.js.map +1 -1
  364. package/dist/tui-v2/rendering/pager-markdown.d.ts +3 -2
  365. package/dist/tui-v2/rendering/pager-markdown.js +15 -11
  366. package/dist/tui-v2/rendering/pager-markdown.js.map +1 -1
  367. package/dist/tui-v2/rendering/styled-markdown.d.ts +2 -1
  368. package/dist/tui-v2/rendering/styled-markdown.js +14 -0
  369. package/dist/tui-v2/rendering/styled-markdown.js.map +1 -1
  370. package/dist/types.d.ts +1 -0
  371. package/dist/ui-core/bootstrap/composition-root.js +24 -0
  372. package/dist/ui-core/bootstrap/composition-root.js.map +1 -1
  373. package/dist/ui-core/bootstrap/lifecycle.d.ts +1 -0
  374. package/dist/ui-core/bootstrap/lifecycle.js +6 -0
  375. package/dist/ui-core/bootstrap/lifecycle.js.map +1 -1
  376. package/dist/ui-core/bootstrap/resume-option.d.ts +11 -0
  377. package/dist/ui-core/bootstrap/resume-option.js +9 -0
  378. package/dist/ui-core/bootstrap/resume-option.js.map +1 -0
  379. package/dist/ui-core/bootstrap/session-merge.d.ts +4 -0
  380. package/dist/ui-core/bootstrap/session-merge.js +19 -0
  381. package/dist/ui-core/bootstrap/session-merge.js.map +1 -0
  382. package/dist/ui-core/bootstrap/session-resume.d.ts +2 -11
  383. package/dist/ui-core/bootstrap/session-resume.js +2 -8
  384. package/dist/ui-core/bootstrap/session-resume.js.map +1 -1
  385. package/dist/ui-core/bootstrap/shutdown-services.d.ts +3 -0
  386. package/dist/ui-core/bootstrap/shutdown-services.js +24 -0
  387. package/dist/ui-core/bootstrap/shutdown-services.js.map +1 -0
  388. package/dist/ui-core/commands/change-commands.js +53 -15
  389. package/dist/ui-core/commands/change-commands.js.map +1 -1
  390. package/dist/ui-core/commands/command-handlers.js +2 -0
  391. package/dist/ui-core/commands/command-handlers.js.map +1 -1
  392. package/dist/ui-core/commands/credential-commands.d.ts +7 -0
  393. package/dist/ui-core/commands/credential-commands.js +114 -0
  394. package/dist/ui-core/commands/credential-commands.js.map +1 -0
  395. package/dist/ui-core/commands/pickers/search-reasoning.js +14 -4
  396. package/dist/ui-core/commands/pickers/search-reasoning.js.map +1 -1
  397. package/dist/ui-core/commands/rtk-commands.js +1 -1
  398. package/dist/ui-core/commands/rtk-commands.js.map +1 -1
  399. package/dist/ui-core/controllers/overlay-controller.d.ts +4 -1
  400. package/dist/ui-core/controllers/overlay-controller.js +3 -2
  401. package/dist/ui-core/controllers/overlay-controller.js.map +1 -1
  402. package/dist/ui-core/layout/compute-layout.d.ts +3 -1
  403. package/dist/ui-core/layout/compute-layout.js +4 -2
  404. package/dist/ui-core/layout/compute-layout.js.map +1 -1
  405. package/dist/{classic/render/palette.js → ui-core/rendering/ansi-palette.js} +1 -1
  406. package/dist/ui-core/rendering/ansi-palette.js.map +1 -0
  407. package/dist/ui-core/rendering/artifact-pager-source.d.ts +1 -0
  408. package/dist/ui-core/rendering/artifact-pager-source.js.map +1 -1
  409. package/dist/ui-core/rendering/markdown-diff-rows.d.ts +12 -0
  410. package/dist/ui-core/rendering/markdown-diff-rows.js +85 -0
  411. package/dist/ui-core/rendering/markdown-diff-rows.js.map +1 -0
  412. package/dist/ui-core/rendering/markdown.d.ts +1 -0
  413. package/dist/ui-core/rendering/markdown.js +12 -0
  414. package/dist/ui-core/rendering/markdown.js.map +1 -1
  415. package/dist/ui-core/rendering/object-render-cache.d.ts +2 -1
  416. package/dist/ui-core/rendering/object-render-cache.js +4 -0
  417. package/dist/ui-core/rendering/object-render-cache.js.map +1 -1
  418. package/dist/ui-core/rendering/open-tool-output.js +40 -14
  419. package/dist/ui-core/rendering/open-tool-output.js.map +1 -1
  420. package/dist/ui-core/rendering/pager-regions.d.ts +7 -0
  421. package/dist/ui-core/rendering/pager-regions.js +8 -0
  422. package/dist/ui-core/rendering/pager-regions.js.map +1 -0
  423. package/dist/ui-core/rendering/plan-view.js +5 -5
  424. package/dist/ui-core/rendering/plan-view.js.map +1 -1
  425. package/dist/ui-core/rendering/render-markdown-lines.d.ts +1 -0
  426. package/dist/ui-core/rendering/render-markdown-lines.js +5 -2
  427. package/dist/ui-core/rendering/render-markdown-lines.js.map +1 -1
  428. package/dist/ui-core/rendering/session-change-diff.d.ts +2 -0
  429. package/dist/ui-core/rendering/session-change-diff.js +85 -0
  430. package/dist/ui-core/rendering/session-change-diff.js.map +1 -0
  431. package/dist/ui-core/rendering/session-prompts-pager-source.js +1 -1
  432. package/dist/ui-core/rendering/session-prompts-pager-source.js.map +1 -1
  433. package/dist/ui-core/rendering/task-disclosure.js +3 -3
  434. package/dist/ui-core/rendering/task-disclosure.js.map +1 -1
  435. package/dist/ui-core/rendering/text-width.d.ts +1 -0
  436. package/dist/ui-core/rendering/text-width.js +80 -4
  437. package/dist/ui-core/rendering/text-width.js.map +1 -1
  438. package/dist/ui-core/rendering/tool-presenter.d.ts +2 -0
  439. package/dist/ui-core/rendering/tool-presenter.js +53 -0
  440. package/dist/ui-core/rendering/tool-presenter.js.map +1 -1
  441. package/dist/ui-core/state/hydrate/classic-transcript.js +2 -1
  442. package/dist/ui-core/state/hydrate/classic-transcript.js.map +1 -1
  443. package/dist/ui-core/state/pager-search.d.ts +8 -0
  444. package/dist/ui-core/state/pager-search.js +20 -0
  445. package/dist/ui-core/state/pager-search.js.map +1 -1
  446. package/dist/ui-core/state/semantic-document.js +1 -1
  447. package/dist/ui-core/state/semantic-document.js.map +1 -1
  448. package/dist/ui-core/state/transcript/apply-app-event.js +2 -17
  449. package/dist/ui-core/state/transcript/apply-app-event.js.map +1 -1
  450. package/dist/ui-core/state/transcript-history.d.ts +6 -0
  451. package/dist/ui-core/state/transcript-history.js +37 -0
  452. package/dist/ui-core/state/transcript-history.js.map +1 -0
  453. package/dist/ui-core/state/transcript-hydrate.js +17 -72
  454. package/dist/ui-core/state/transcript-hydrate.js.map +1 -1
  455. package/dist/ui-core/state/transcript-store.d.ts +4 -1
  456. package/dist/ui-core/state/transcript-store.js +58 -6
  457. package/dist/ui-core/state/transcript-store.js.map +1 -1
  458. package/dist/ui-core/state/transcript-window.d.ts +2 -2
  459. package/dist/ui-core/state/transcript-window.js +2 -2
  460. package/dist/ui-core/state/transcript-window.js.map +1 -1
  461. package/dist/version.generated.d.ts +2 -2
  462. package/dist/version.generated.js +2 -2
  463. package/package.json +1 -1
  464. package/dist/classic/render/palette.js.map +0 -1
  465. package/dist/tui-v2/components/modal/prompt-actions-modal.d.ts +0 -10
  466. package/dist/tui-v2/components/modal/prompt-actions-modal.js +0 -101
  467. package/dist/tui-v2/components/modal/prompt-actions-modal.js.map +0 -1
  468. package/dist/ui-core/rendering/prompt-preview.d.ts +0 -5
  469. package/dist/ui-core/rendering/prompt-preview.js +0 -27
  470. package/dist/ui-core/rendering/prompt-preview.js.map +0 -1
  471. /package/dist/{classic/render/palette.d.ts → ui-core/rendering/ansi-palette.d.ts} +0 -0
@@ -20,6 +20,7 @@ import { EMPTY_SCROLL_METRICS, publishTranscriptScrollMetrics, registerTranscrip
20
20
  import { useNativeSelectionCopy } from "./use-native-selection-copy.js";
21
21
  import { useTranscriptSelection } from "./use-transcript-selection.js";
22
22
  import { transcriptFollowKey } from "../../../ui-core/state/transcript-follow-key.js";
23
+ import { applyTranscriptWindowJump, captureTranscriptAnchor, settleTranscriptLayout, } from "./transcript-anchor.js";
23
24
  const HIDDEN_SCROLLBARS = {
24
25
  visible: false,
25
26
  showArrows: false,
@@ -295,7 +296,7 @@ function TranscriptViewImpl(props) {
295
296
  }
296
297
  const tail = resolveTranscriptMountWindow(itemCount, undefined, DEFAULT_TRANSCRIPT_MOUNT_ROWS);
297
298
  if (mountWindow.start !== tail.start) {
298
- pendingWindowJump.current = { edge: "bottom" };
299
+ pendingWindowJump.current = { kind: "edge", edge: "bottom" };
299
300
  windowShiftPending.current = true;
300
301
  }
301
302
  else {
@@ -318,19 +319,24 @@ function TranscriptViewImpl(props) {
318
319
  followBottom.current = false;
319
320
  return true;
320
321
  }
321
- function showOlderWindow() {
322
+ function anchoredJump(sb, candidates, delta, fallback) {
323
+ settleTranscriptLayout(renderer);
324
+ const anchor = captureTranscriptAnchor(sb, candidates);
325
+ return anchor ? { kind: "anchor", anchor, delta } : fallback;
326
+ }
327
+ function showOlderWindow(sb, delta) {
322
328
  if (mountWindow.olderCount === 0 || windowShiftPending.current)
323
329
  return false;
324
330
  const next = shiftTranscriptWindowStart(itemCount, mountWindow.start, "older", DEFAULT_TRANSCRIPT_MOUNT_ROWS);
325
- const itemId = mountedItems[0]?.id;
326
- return changeWindow(next, itemId ? { itemId } : { edge: "bottom" });
331
+ const ids = mountedItems.map((item) => item.id);
332
+ return changeWindow(next, anchoredJump(sb, ids, delta, { kind: "edge", edge: "bottom" }));
327
333
  }
328
- function showNewerWindow() {
334
+ function showNewerWindow(sb, delta) {
329
335
  if (mountWindow.newerCount === 0 || windowShiftPending.current)
330
336
  return false;
331
337
  const next = shiftTranscriptWindowStart(itemCount, mountWindow.start, "newer", DEFAULT_TRANSCRIPT_MOUNT_ROWS);
332
- const itemId = mountedItems.at(-1)?.id;
333
- return changeWindow(next, itemId ? { itemId } : { edge: "top" });
338
+ const ids = mountedItems.map((item) => item.id).reverse();
339
+ return changeWindow(next, anchoredJump(sb, ids, delta, { kind: "edge", edge: "top" }));
334
340
  }
335
341
  useLayoutEffect(() => {
336
342
  const jump = pendingWindowJump.current;
@@ -339,12 +345,8 @@ function TranscriptViewImpl(props) {
339
345
  const frame = requestAnimationFrame(() => {
340
346
  const sb = scrollRef.current;
341
347
  if (sb) {
342
- if (jump.itemId)
343
- sb.scrollChildIntoView(jump.itemId);
344
- else if (jump.edge === "top")
345
- sb.scrollTo(0);
346
- else if (jump.edge === "bottom")
347
- sb.scrollTo(maxScrollTop(sb));
348
+ settleTranscriptLayout(renderer);
349
+ applyTranscriptWindowJump(sb, pendingWindowJump.current ?? jump);
348
350
  publishScrollRemainder(sb, mountWindow.newerCount > 0);
349
351
  }
350
352
  pendingWindowJump.current = undefined;
@@ -415,10 +417,15 @@ function TranscriptViewImpl(props) {
415
417
  const sb = scrollRef.current;
416
418
  if (!sb)
417
419
  return;
420
+ const pending = pendingWindowJump.current;
421
+ if (windowShiftPending.current && pending?.kind === "anchor") {
422
+ pendingWindowJump.current = { ...pending, delta: pending.delta + dy };
423
+ return;
424
+ }
418
425
  const intent = resolveTranscriptScrollIntent(sb.scrollTop, maxScrollTop(sb), dy);
419
- if (intent.reachedOlderEdge && showOlderWindow())
426
+ if (intent.reachedOlderEdge && showOlderWindow(sb, dy))
420
427
  return;
421
- if (intent.reachedNewerEdge && showNewerWindow())
428
+ if (intent.reachedNewerEdge && showNewerWindow(sb, dy))
422
429
  return;
423
430
  sb.scrollTo(intent.nextScrollTop);
424
431
  if (!intent.leaveTail)
@@ -432,7 +439,7 @@ function TranscriptViewImpl(props) {
432
439
  return registerTranscriptJumpHandlers(() => {
433
440
  clearNativeSelection();
434
441
  if (mountWindow.start > 0) {
435
- changeWindow(0, { edge: "top" });
442
+ changeWindow(0, { kind: "edge", edge: "top" });
436
443
  return;
437
444
  }
438
445
  const sb = scrollRef.current;
@@ -529,7 +536,7 @@ function TranscriptViewImpl(props) {
529
536
  if (itemIndex >= 0 &&
530
537
  (itemIndex < mountWindow.start || itemIndex >= mountWindow.end)) {
531
538
  const start = transcriptWindowStartForItem(itemCount, itemIndex, DEFAULT_TRANSCRIPT_MOUNT_ROWS);
532
- if (changeWindow(start, { itemId: match.itemId }))
539
+ if (changeWindow(start, { kind: "item", itemId: match.itemId }))
533
540
  return;
534
541
  }
535
542
  queueMicrotask(() => {
@@ -565,29 +572,9 @@ function TranscriptViewImpl(props) {
565
572
  return;
566
573
  jumpToMatch(prevMatchIndex(matches, matchIndex));
567
574
  }
568
- const resendPrompt = useCallback((prompt) => {
569
- void (async () => {
570
- const trimmed = prompt.trim();
571
- if (services.commands.looksLikeCommand(trimmed)) {
572
- const invocation = services.commands.parse(trimmed);
573
- if (!invocation) {
574
- services.session.notice("warn", `unknown command: ${trimmed.split(/\s/, 1)[0] ?? trimmed}. Try /help`);
575
- return;
576
- }
577
- if (!(await services.commands.dispatch(invocation))) {
578
- services.session.notice("warn", `command /${invocation.name} is not available right now`);
579
- }
580
- return;
581
- }
582
- if (services.session.getState().running)
583
- services.session.enqueue(prompt);
584
- else
585
- await services.session.submit(prompt);
586
- })();
587
- }, [services]);
588
575
  const openUserPrompt = useCallback((prompt) => {
589
- services.overlay.openPromptActions({ prompt, onResend: () => resendPrompt(prompt) });
590
- }, [services, resendPrompt]);
576
+ services.overlay.openPager("Prompt", prompt, undefined, undefined, "plain");
577
+ }, [services]);
591
578
  function onWheelScroll(event) {
592
579
  if (!event.scroll)
593
580
  return;
@@ -708,7 +695,7 @@ function TranscriptViewImpl(props) {
708
695
  key.preventDefault();
709
696
  clearNativeSelection();
710
697
  if (mountWindow.start > 0) {
711
- changeWindow(0, { edge: "top" });
698
+ changeWindow(0, { kind: "edge", edge: "top" });
712
699
  return;
713
700
  }
714
701
  setFollowing(false);
@@ -1 +1 @@
1
- {"version":3,"file":"transcript-view.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/transcript-view.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transcript-view.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/transcript-view.tsx"],"names":[],"mappings":"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"}
@@ -6,36 +6,46 @@ import { useTerminalDimensionsContext } from "../../hooks/terminal-dimensions.js
6
6
  import { wrapUserPrompt } from "../../../ui-core/rendering/user-message-wrap.js";
7
7
  import { LinkableText } from "./linkable-text.js";
8
8
  import { useClickWithoutDrag } from "./use-click-without-drag.js";
9
- import { DiffActionButton } from "./file-diff-card.js";
10
- const COLLAPSED_PROMPT_LINES = 6;
9
+ const USER_PROMPT_COLLAPSE_ROWS = 6;
10
+ const USER_PROMPT_KEPT_ROWS = USER_PROMPT_COLLAPSE_ROWS - 1;
11
+ const USER_BADGE = " YOU ";
11
12
  export function UserMessage(props) {
12
13
  const { item, theme, onOpen, contentWidth } = props;
13
14
  const [expanded, setExpanded] = useState(false);
14
15
  const { width: termWidth } = useTerminalDimensionsContext();
15
- const wrapBudget = Math.max(20, contentWidth != null ? contentWidth : Math.max(40, termWidth - 8));
16
- const lines = useMemo(() => wrapUserPrompt(item.text, wrapBudget), [item.text, wrapBudget]);
16
+ const wrapBudget = Math.max(20, contentWidth ?? Math.max(40, termWidth - 8));
17
+ const lines = useMemo(() => wrapUserPrompt(item.text.trimEnd(), wrapBudget), [item.text, wrapBudget]);
17
18
  const click = useClickWithoutDrag(() => onOpen(item.text));
18
- const canToggle = lines.length > COLLAPSED_PROMPT_LINES;
19
- const visibleLines = expanded ? lines : lines.slice(0, COLLAPSED_PROMPT_LINES);
19
+ const collapsible = lines.length > USER_PROMPT_COLLAPSE_ROWS;
20
+ const visibleLines = collapsible && !expanded ? lines.slice(0, USER_PROMPT_KEPT_ROWS) : lines;
20
21
  return (_jsxs("box", { id: item.id, border: true, borderStyle: "rounded", style: {
21
22
  flexDirection: "row",
23
+ width: "100%",
24
+ flexShrink: 0,
22
25
  marginBottom: 1,
23
- borderColor: theme.userBorder,
24
- backgroundColor: theme.statusBackground,
25
26
  paddingLeft: 1,
26
27
  paddingRight: 1,
27
- width: "100%",
28
- }, onMouseDown: click.onMouseDown, onMouseUp: click.onMouseUp, children: [_jsx("text", { selectable: true, style: {
29
- fg: theme.white,
30
- bg: theme.prompt,
31
- attributes: TextAttributes.BOLD,
32
- flexShrink: 0,
33
- }, children: " YOU " }), _jsx("text", { content: " ", selectable: true, style: { flexShrink: 0 } }), _jsxs("box", { style: {
34
- flexGrow: 1,
35
- flexShrink: 1,
36
- minWidth: 0,
37
- flexDirection: "column",
38
- width: "100%",
39
- }, children: [visibleLines.map((line, i) => (_jsx(LinkableText, { text: line, theme: theme, selectable: true, wrapMode: "none" }, i))), canToggle ? (_jsxs("box", { style: { flexDirection: "row", alignItems: "center", marginTop: 1 }, children: [_jsx("text", { selectable: false, style: { fg: theme.muted, flexGrow: 1 }, children: expanded ? "full prompt" : `+${lines.length - visibleLines.length} more lines` }), _jsx(DiffActionButton, { label: expanded ? "collapse" : "expand", theme: theme, onClick: () => setExpanded((value) => !value) })] })) : null] })] }));
28
+ borderColor: theme.userBorder,
29
+ backgroundColor: theme.statusBackground,
30
+ }, onMouseDown: click.onMouseDown, onMouseUp: click.onMouseUp, children: [_jsxs("box", { style: { flexDirection: "row", flexShrink: 0, height: 1 }, children: [_jsx("text", { selectable: false, content: USER_BADGE, style: { fg: theme.white, bg: theme.prompt, attributes: TextAttributes.BOLD } }), _jsx("text", { selectable: false, content: " " })] }), _jsxs("box", { style: { flexDirection: "column", flexGrow: 1, flexShrink: 1, minWidth: 0 }, children: [visibleLines.map((line, index) => (_jsx(LinkableText, { text: line, theme: theme, selectable: true, wrapMode: "none" }, index))), collapsible ? (_jsx(PromptDisclosure, { id: `${item.id}-disclosure`, theme: theme, expanded: expanded, hiddenLines: lines.length - visibleLines.length, onToggle: () => setExpanded((value) => !value) })) : null] })] }));
31
+ }
32
+ function PromptDisclosure(props) {
33
+ const { id, theme, expanded, hiddenLines, onToggle } = props;
34
+ const [hovered, setHovered] = useState(false);
35
+ const label = expanded ? "- click to collapse" : "+ click to expand";
36
+ const detail = expanded ? "" : ` (${hiddenLines} more ${hiddenLines === 1 ? "line" : "lines"})`;
37
+ const swallow = (event) => {
38
+ event.preventDefault();
39
+ event.stopPropagation();
40
+ };
41
+ return (_jsxs("box", { style: { flexDirection: "row", height: 1, flexShrink: 0 }, children: [_jsx("box", { id: id, onMouseOver: () => setHovered(true), onMouseOut: () => setHovered(false), onMouseDown: (event) => {
42
+ if (event.button !== 0)
43
+ return;
44
+ swallow(event);
45
+ onToggle();
46
+ }, onMouseUp: swallow, style: { flexShrink: 0, height: 1 }, children: _jsx("text", { selectable: false, content: label, style: {
47
+ fg: hovered ? theme.cyan : theme.hint,
48
+ attributes: hovered ? TextAttributes.BOLD : TextAttributes.NONE,
49
+ } }) }), detail ? _jsx("text", { selectable: false, content: detail, style: { fg: theme.hint } }) : null] }));
40
50
  }
41
51
  //# sourceMappingURL=user-message.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-message.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/user-message.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-message.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/user-message.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import type { ColorMode } from "../../app/ports/terminal-port.js";
2
- import { renderStyledMarkdownLines } from "./styled-markdown.js";
2
+ import { type StyledLine } from "./styled-markdown.js";
3
3
  import { type SubagentSpanPaint } from "../../ui-core/rendering/subagent-presentation.js";
4
4
  import type { Theme } from "../../ui-core/rendering/theme.js";
5
5
  export type PagerMarkdownMode = "auto" | "force" | "plain";
6
- export type PagerStyledLine = ReturnType<typeof renderStyledMarkdownLines>[number];
6
+ export type PagerStyledLine = StyledLine;
7
7
  export interface PagerDisplayLine {
8
8
  readonly plain: string;
9
9
  readonly styled?: PagerStyledLine | undefined;
@@ -18,6 +18,7 @@ export interface PreparePagerDisplayOptions {
18
18
  readonly quotePrefix?: string | undefined;
19
19
  readonly literalQuotes?: boolean | undefined;
20
20
  readonly lineChangeColors?: boolean | undefined;
21
+ readonly diffLines?: boolean | undefined;
21
22
  readonly subagentPaint?: SubagentSpanPaint | undefined;
22
23
  }
23
24
  export declare function preparePagerDisplay(options: PreparePagerDisplayOptions): {
@@ -1,7 +1,15 @@
1
- import { renderStyledMarkdownLines, styleAnsiLines } from "./styled-markdown.js";
1
+ import { styleAnsiLine } from "./styled-markdown.js";
2
+ import { renderMarkdownLines } from "../../ui-core/rendering/render-markdown-lines.js";
2
3
  import { sanitizeDisplayText } from "../../ui-core/rendering/sanitize-display.js";
3
4
  import { looksLikeMarkdown } from "../../ui-core/rendering/pager-source.js";
4
5
  import { renderSubagentMarkdownLines, } from "../../ui-core/rendering/subagent-presentation.js";
6
+ const SGR_SEQUENCE = /\x1b\[[^m]*m/g;
7
+ function lazyStyledLine(ansi, defaultFg) {
8
+ return {
9
+ plain: sanitizeDisplayText(ansi.replace(SGR_SEQUENCE, "")) || " ",
10
+ get styled() { return styleAnsiLine(ansi, defaultFg); },
11
+ };
12
+ }
5
13
  function plainLines(body) {
6
14
  const raw = body.replace(/\n+$/, "");
7
15
  if (!raw)
@@ -29,19 +37,15 @@ export function preparePagerDisplay(options) {
29
37
  quotePrefix: options.quotePrefix,
30
38
  literalQuotes: options.literalQuotes,
31
39
  lineChangeColors: options.lineChangeColors,
40
+ diffLines: options.diffLines,
32
41
  };
33
- const styled = options.subagentPaint
34
- ? styleAnsiLines(renderSubagentMarkdownLines(sanitized, appearance, options.subagentPaint), options.defaultFg)
35
- : renderStyledMarkdownLines(sanitized, appearance);
36
- if (styled.length === 0) {
42
+ const ansi = options.subagentPaint
43
+ ? renderSubagentMarkdownLines(sanitized, appearance, options.subagentPaint)
44
+ : renderMarkdownLines(sanitized, appearance);
45
+ if (ansi.length === 0) {
37
46
  return { mode: "plain", lines: plainLines(sanitized) };
38
47
  }
39
- const lines = styled.map((st) => {
40
- const joined = st.chunks.map((c) => c.text).join("");
41
- const plain = sanitizeDisplayText(joined) || " ";
42
- return { plain, styled: st };
43
- });
44
- return { mode: "markdown", lines };
48
+ return { mode: "markdown", lines: ansi.map((line) => lazyStyledLine(line, options.defaultFg)) };
45
49
  }
46
50
  catch {
47
51
  return { mode: "plain", lines: plainLines(sanitized) };
@@ -1 +1 @@
1
- {"version":3,"file":"pager-markdown.js","sourceRoot":"","sources":["../../../src/tui-v2/rendering/pager-markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pager-markdown.js","sourceRoot":"","sources":["../../../src/tui-v2/rendering/pager-markdown.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- import type { StyledText } from "@opentui/core";
1
+ import { StyledText } from "@opentui/core";
2
2
  import { type AnsiLine, type RenderMarkdownLinesOptions } from "../../ui-core/rendering/render-markdown-lines.js";
3
3
  import { type MarkdownStreamCache } from "../../ui-core/rendering/streaming-markdown.js";
4
4
  export type StyledLine = StyledText;
5
+ export declare function joinStyledLines(lines: readonly StyledLine[]): StyledText;
5
6
  export interface StyledMarkdownOptions extends RenderMarkdownLinesOptions {
6
7
  readonly defaultFg?: string | undefined;
7
8
  }
@@ -1,7 +1,21 @@
1
+ import { StyledText } from "@opentui/core";
1
2
  import { renderMarkdownLines, } from "../../ui-core/rendering/render-markdown-lines.js";
2
3
  import { renderStreamingMarkdown, } from "../../ui-core/rendering/streaming-markdown.js";
3
4
  import { ansiToStyledText } from "./ansi-to-styled.js";
4
5
  import { RenderCache } from "../../ui-core/rendering/render-cache.js";
6
+ export function joinStyledLines(lines) {
7
+ const chunks = [];
8
+ for (const [index, line] of lines.entries()) {
9
+ if (index > 0)
10
+ chunks.push({ __isChunk: true, text: "\n" });
11
+ if (line.chunks.length === 0)
12
+ chunks.push({ __isChunk: true, text: " " });
13
+ else
14
+ for (const chunk of line.chunks)
15
+ chunks.push(chunk);
16
+ }
17
+ return new StyledText(chunks);
18
+ }
5
19
  const styledCache = new RenderCache(4096, 8 * 1024 * 1024);
6
20
  export function styledLinesWeight(lines) {
7
21
  let weight = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"styled-markdown.js","sourceRoot":"","sources":["../../../src/tui-v2/rendering/styled-markdown.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,GAGpB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EACL,uBAAuB,GAExB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAQtE,MAAM,WAAW,GAAG,IAAI,WAAW,CAAa,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AAEvE,MAAM,UAAU,iBAAiB,CAAC,KAA4B;IAC5D,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,EAAE,CAAC;QACb,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;IACxE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAc,EAAE,SAA6B;IACzE,MAAM,GAAG,GAAG,GAAG,SAAS,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;IAC9C,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IACpB,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CACjC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,EACrD,EAAE,CACH,CAAC;IACF,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAA0B,EAC1B,SAA6B;IAE7B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,IAAY,EACZ,OAA8B;IAE9B,OAAO,cAAc,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;AAC/E,CAAC;AAOD,MAAM,UAAU,6BAA6B,CAAC,KAK7C;IACC,MAAM,MAAM,GAAG,uBAAuB,CAAC;QACrC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAC5D,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"styled-markdown.js","sourceRoot":"","sources":["../../../src/tui-v2/rendering/styled-markdown.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -305,6 +305,7 @@ export interface ToolResult {
305
305
  exitCode?: number | undefined;
306
306
  runFailure?: boolean | undefined;
307
307
  outputPath?: string | undefined;
308
+ sensitive?: boolean | undefined;
308
309
  backgroundJob?: BackgroundJobReceipt | undefined;
309
310
  truncated?: boolean | undefined;
310
311
  suppressedRepeat?: boolean | undefined;
@@ -20,11 +20,16 @@ import { getSkillIndex } from "../../skills/registry.js";
20
20
  import { safeCwd } from "../../os/cwd.js";
21
21
  import { TranscriptStore } from "../state/transcript-store.js";
22
22
  import { serializeForHistory } from "../state/transcript-hydrate.js";
23
+ import { absorbPersistedTranscript } from "./session-merge.js";
23
24
  import { PlanController } from "../../app/controllers/plan-controller.js";
24
25
  import { createOverlayConfirmPort, createOverlaySecretPort } from "./overlay-ports.js";
25
26
  import { detectCapabilities, readCapabilitiesFromProcess, } from "./capabilities.js";
26
27
  import { onTransportEvent } from "../../llm/transport-events.js";
28
+ import { onOwnershipFailure } from "../../os/permissions.js";
29
+ import { repairClaiOwnership } from "../../store/ownership.js";
27
30
  import { bindOmnirushSessionUpload, } from "../../llm/omnirush-session-upload.js";
31
+ const STARTUP_OWNERSHIP_REPAIR_DELAY_MS = 2_000;
32
+ const STARTUP_OWNERSHIP_REPAIR_MS = 1_500;
28
33
  export function createCompositionRoot(options = {}) {
29
34
  let sessionRef;
30
35
  let overlay;
@@ -219,6 +224,13 @@ export function createCompositionRoot(options = {}) {
219
224
  return undefined;
220
225
  return transcript.mergePersistSnapshot(serializeForHistory(transcript.getState(), (id) => live.spool.peekTail(id)));
221
226
  },
227
+ absorbPersistedTranscript: (incoming) => {
228
+ const live = sessionRef;
229
+ if (!live)
230
+ return [];
231
+ const current = transcript.mergePersistSnapshot(serializeForHistory(transcript.getState(), (id) => live.spool.peekTail(id)));
232
+ return absorbPersistedTranscript(transcript, live.spool, current, incoming);
233
+ },
222
234
  });
223
235
  sessionRef = session;
224
236
  const omnirushSessionUpload = bindOmnirushSessionUpload({
@@ -232,6 +244,15 @@ export function createCompositionRoot(options = {}) {
232
244
  jobs: ports.jobs,
233
245
  interruptible,
234
246
  });
247
+ let ownershipReported = false;
248
+ const unsubscribeOwnership = onOwnershipFailure((failure) => {
249
+ if (ownershipReported)
250
+ return;
251
+ ownershipReported = true;
252
+ session.notice("warn", `Could not return ${failure.path} to ${failure.username} (${failure.code}); other clai sessions may not be able to read it. Fix with: sudo chown -R ${failure.username} "${failure.path}"`);
253
+ });
254
+ const startupRepair = setTimeout(() => { void repairClaiOwnership(STARTUP_OWNERSHIP_REPAIR_MS).catch(() => undefined); }, STARTUP_OWNERSHIP_REPAIR_DELAY_MS);
255
+ startupRepair.unref?.();
235
256
  const unsubscribePlanJobs = ports.jobs.subscribe((change) => {
236
257
  if (change.type !== "notification")
237
258
  return;
@@ -281,6 +302,8 @@ export function createCompositionRoot(options = {}) {
281
302
  disposed = true;
282
303
  unsubscribeTransport();
283
304
  unsubscribePlanJobs();
305
+ unsubscribeOwnership();
306
+ clearTimeout(startupRepair);
284
307
  interruptible.cancelAll();
285
308
  overlay.dispose();
286
309
  selection.dispose();
@@ -288,6 +311,7 @@ export function createCompositionRoot(options = {}) {
288
311
  plan.dispose();
289
312
  omnirushSessionUpload.dispose();
290
313
  session.dispose();
314
+ transcript.dispose();
291
315
  void mcp.closeAll();
292
316
  },
293
317
  };