p-spore 0.1.4 → 0.1.42

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 (393) hide show
  1. package/README.md +110 -15
  2. package/dist/agents/agent-manager.d.ts +3 -3
  3. package/dist/agents/agent-manager.d.ts.map +1 -1
  4. package/dist/agents/agent-manager.js +3 -2
  5. package/dist/agents/agent-manager.js.map +1 -1
  6. package/dist/application/agent-application.d.ts +29 -5
  7. package/dist/application/agent-application.d.ts.map +1 -1
  8. package/dist/application/agent-application.js +444 -14
  9. package/dist/application/agent-application.js.map +1 -1
  10. package/dist/articles/diff.d.ts +70 -0
  11. package/dist/articles/diff.d.ts.map +1 -0
  12. package/dist/articles/diff.js +330 -0
  13. package/dist/articles/diff.js.map +1 -0
  14. package/dist/articles/docx.d.ts +10 -0
  15. package/dist/articles/docx.d.ts.map +1 -0
  16. package/dist/articles/docx.js +219 -0
  17. package/dist/articles/docx.js.map +1 -0
  18. package/dist/articles/draft.d.ts +18 -0
  19. package/dist/articles/draft.d.ts.map +1 -0
  20. package/dist/articles/draft.js +88 -0
  21. package/dist/articles/draft.js.map +1 -0
  22. package/dist/articles/edits.d.ts +24 -0
  23. package/dist/articles/edits.d.ts.map +1 -0
  24. package/dist/articles/edits.js +54 -0
  25. package/dist/articles/edits.js.map +1 -0
  26. package/dist/articles/html.d.ts +10 -0
  27. package/dist/articles/html.d.ts.map +1 -0
  28. package/dist/articles/html.js +122 -0
  29. package/dist/articles/html.js.map +1 -0
  30. package/dist/articles/plain.d.ts +8 -0
  31. package/dist/articles/plain.d.ts.map +1 -0
  32. package/dist/articles/plain.js +69 -0
  33. package/dist/articles/plain.js.map +1 -0
  34. package/dist/articles/preview.d.ts +43 -0
  35. package/dist/articles/preview.d.ts.map +1 -0
  36. package/dist/articles/preview.js +90 -0
  37. package/dist/articles/preview.js.map +1 -0
  38. package/dist/articles/publish.d.ts +10 -0
  39. package/dist/articles/publish.d.ts.map +1 -0
  40. package/dist/articles/publish.js +54 -0
  41. package/dist/articles/publish.js.map +1 -0
  42. package/dist/articles/receipt.d.ts +16 -0
  43. package/dist/articles/receipt.d.ts.map +1 -0
  44. package/dist/articles/receipt.js +27 -0
  45. package/dist/articles/receipt.js.map +1 -0
  46. package/dist/articles/store.d.ts +78 -0
  47. package/dist/articles/store.d.ts.map +1 -0
  48. package/dist/articles/store.js +308 -0
  49. package/dist/articles/store.js.map +1 -0
  50. package/dist/articles/tool.d.ts +14 -0
  51. package/dist/articles/tool.d.ts.map +1 -0
  52. package/dist/articles/tool.js +175 -0
  53. package/dist/articles/tool.js.map +1 -0
  54. package/dist/articles/writer-context.d.ts +5 -0
  55. package/dist/articles/writer-context.d.ts.map +1 -0
  56. package/dist/articles/writer-context.js +56 -0
  57. package/dist/articles/writer-context.js.map +1 -0
  58. package/dist/articles/writer.d.ts +18 -0
  59. package/dist/articles/writer.d.ts.map +1 -0
  60. package/dist/articles/writer.js +79 -0
  61. package/dist/articles/writer.js.map +1 -0
  62. package/dist/articles/zip-write.d.ts +11 -0
  63. package/dist/articles/zip-write.d.ts.map +1 -0
  64. package/dist/articles/zip-write.js +63 -0
  65. package/dist/articles/zip-write.js.map +1 -0
  66. package/dist/bundled-skills/README.md +17 -0
  67. package/dist/bundled-skills/aegis-search/SKILL.md +59 -0
  68. package/dist/bundled-skills/aegis-search/bin/.gitkeep +0 -0
  69. package/dist/bundled-skills/article-canvas/SKILL.md +28 -0
  70. package/dist/bundled-skills/binaries.json +23 -0
  71. package/dist/bundled-skills/doc-extract/SKILL.md +56 -0
  72. package/dist/cli/main.d.ts.map +1 -1
  73. package/dist/cli/main.js +407 -54
  74. package/dist/cli/main.js.map +1 -1
  75. package/dist/config/config.d.ts +43 -0
  76. package/dist/config/config.d.ts.map +1 -1
  77. package/dist/config/config.js +150 -6
  78. package/dist/config/config.js.map +1 -1
  79. package/dist/daemon/daemon.d.ts.map +1 -1
  80. package/dist/daemon/daemon.js +80 -11
  81. package/dist/daemon/daemon.js.map +1 -1
  82. package/dist/desktop/application.d.ts +4 -0
  83. package/dist/desktop/application.d.ts.map +1 -0
  84. package/dist/desktop/application.js +1688 -0
  85. package/dist/desktop/application.js.map +1 -0
  86. package/dist/desktop/article-export.d.ts +12 -0
  87. package/dist/desktop/article-export.d.ts.map +1 -0
  88. package/dist/desktop/article-export.js +87 -0
  89. package/dist/desktop/article-export.js.map +1 -0
  90. package/dist/desktop/assets/pspore.png +0 -0
  91. package/dist/desktop/assets/pspore.svg +24 -0
  92. package/dist/desktop/conversation-smoke.d.ts +5 -0
  93. package/dist/desktop/conversation-smoke.d.ts.map +1 -0
  94. package/dist/desktop/conversation-smoke.js +93 -0
  95. package/dist/desktop/conversation-smoke.js.map +1 -0
  96. package/dist/desktop/daemon-bridge.d.ts.map +1 -1
  97. package/dist/desktop/daemon-bridge.js +62 -17
  98. package/dist/desktop/daemon-bridge.js.map +1 -1
  99. package/dist/desktop/ipc-contract.d.ts +124 -0
  100. package/dist/desktop/ipc-contract.d.ts.map +1 -1
  101. package/dist/desktop/ipc-contract.js +191 -12
  102. package/dist/desktop/ipc-contract.js.map +1 -1
  103. package/dist/desktop/local-path.d.ts +15 -0
  104. package/dist/desktop/local-path.d.ts.map +1 -0
  105. package/dist/desktop/local-path.js +59 -0
  106. package/dist/desktop/local-path.js.map +1 -0
  107. package/dist/desktop/main.d.ts +10 -1
  108. package/dist/desktop/main.d.ts.map +1 -1
  109. package/dist/desktop/main.js +122 -530
  110. package/dist/desktop/main.js.map +1 -1
  111. package/dist/desktop/native-startup.d.ts +4 -0
  112. package/dist/desktop/native-startup.d.ts.map +1 -0
  113. package/dist/desktop/native-startup.js +57 -0
  114. package/dist/desktop/native-startup.js.map +1 -0
  115. package/dist/desktop/preload.cjs +28 -1
  116. package/dist/desktop/renderer/article-panel.d.ts +45 -0
  117. package/dist/desktop/renderer/article-panel.d.ts.map +1 -0
  118. package/dist/desktop/renderer/article-panel.js +1126 -0
  119. package/dist/desktop/renderer/article-panel.js.map +1 -0
  120. package/dist/desktop/renderer/article-split.d.ts +32 -0
  121. package/dist/desktop/renderer/article-split.d.ts.map +1 -0
  122. package/dist/desktop/renderer/article-split.js +48 -0
  123. package/dist/desktop/renderer/article-split.js.map +1 -0
  124. package/dist/desktop/renderer/composer-file-references.d.ts +23 -0
  125. package/dist/desktop/renderer/composer-file-references.d.ts.map +1 -0
  126. package/dist/desktop/renderer/composer-file-references.js +51 -0
  127. package/dist/desktop/renderer/composer-file-references.js.map +1 -0
  128. package/dist/desktop/renderer/conversation.d.ts +23 -0
  129. package/dist/desktop/renderer/conversation.d.ts.map +1 -0
  130. package/dist/desktop/renderer/conversation.js +66 -0
  131. package/dist/desktop/renderer/conversation.js.map +1 -0
  132. package/dist/desktop/renderer/dom-reconcile.d.ts +15 -0
  133. package/dist/desktop/renderer/dom-reconcile.d.ts.map +1 -0
  134. package/dist/desktop/renderer/dom-reconcile.js +33 -0
  135. package/dist/desktop/renderer/dom-reconcile.js.map +1 -0
  136. package/dist/desktop/renderer/index.html +211 -34
  137. package/dist/desktop/renderer/indexing-view.d.ts +22 -0
  138. package/dist/desktop/renderer/indexing-view.d.ts.map +1 -0
  139. package/dist/desktop/renderer/indexing-view.js +115 -0
  140. package/dist/desktop/renderer/indexing-view.js.map +1 -0
  141. package/dist/desktop/renderer/markdown-view.d.ts +23 -0
  142. package/dist/desktop/renderer/markdown-view.d.ts.map +1 -0
  143. package/dist/desktop/renderer/markdown-view.js +436 -0
  144. package/dist/desktop/renderer/markdown-view.js.map +1 -0
  145. package/dist/desktop/renderer/motion.d.ts +67 -0
  146. package/dist/desktop/renderer/motion.d.ts.map +1 -0
  147. package/dist/desktop/renderer/motion.js +296 -0
  148. package/dist/desktop/renderer/motion.js.map +1 -0
  149. package/dist/desktop/renderer/renderer.js +1788 -151
  150. package/dist/desktop/renderer/renderer.js.map +1 -1
  151. package/dist/desktop/renderer/session-find.d.ts +18 -0
  152. package/dist/desktop/renderer/session-find.d.ts.map +1 -0
  153. package/dist/desktop/renderer/session-find.js +29 -0
  154. package/dist/desktop/renderer/session-find.js.map +1 -0
  155. package/dist/desktop/renderer/session-search.d.ts +30 -0
  156. package/dist/desktop/renderer/session-search.d.ts.map +1 -0
  157. package/dist/desktop/renderer/session-search.js +296 -0
  158. package/dist/desktop/renderer/session-search.js.map +1 -0
  159. package/dist/desktop/renderer/store.d.ts +33 -0
  160. package/dist/desktop/renderer/store.d.ts.map +1 -1
  161. package/dist/desktop/renderer/store.js +92 -19
  162. package/dist/desktop/renderer/store.js.map +1 -1
  163. package/dist/desktop/renderer/styles.css +910 -268
  164. package/dist/desktop/renderer/vendor/gsap.min.js +11 -0
  165. package/dist/desktop/renderer-diagnostics.d.ts +5 -0
  166. package/dist/desktop/renderer-diagnostics.d.ts.map +1 -0
  167. package/dist/desktop/renderer-diagnostics.js +47 -0
  168. package/dist/desktop/renderer-diagnostics.js.map +1 -0
  169. package/dist/desktop/security.d.ts +26 -1
  170. package/dist/desktop/security.d.ts.map +1 -1
  171. package/dist/desktop/security.js +26 -6
  172. package/dist/desktop/security.js.map +1 -1
  173. package/dist/desktop/smoke-fixture.d.ts.map +1 -1
  174. package/dist/desktop/smoke-fixture.js +77 -3
  175. package/dist/desktop/smoke-fixture.js.map +1 -1
  176. package/dist/desktop/splash/index.html +25 -0
  177. package/dist/desktop/splash/splash.d.ts +2 -0
  178. package/dist/desktop/splash/splash.d.ts.map +1 -0
  179. package/dist/desktop/splash/splash.js +8 -0
  180. package/dist/desktop/splash/splash.js.map +1 -0
  181. package/dist/desktop/splash/styles.css +24 -0
  182. package/dist/desktop/system-open.d.ts +16 -0
  183. package/dist/desktop/system-open.d.ts.map +1 -0
  184. package/dist/desktop/system-open.js +90 -0
  185. package/dist/desktop/system-open.js.map +1 -0
  186. package/dist/desktop/validation.d.ts.map +1 -1
  187. package/dist/desktop/validation.js +99 -21
  188. package/dist/desktop/validation.js.map +1 -1
  189. package/dist/desktop/window-security.d.ts +4 -0
  190. package/dist/desktop/window-security.d.ts.map +1 -0
  191. package/dist/desktop/window-security.js +26 -0
  192. package/dist/desktop/window-security.js.map +1 -0
  193. package/dist/documents/errors.d.ts +12 -0
  194. package/dist/documents/errors.d.ts.map +1 -0
  195. package/dist/documents/errors.js +12 -0
  196. package/dist/documents/errors.js.map +1 -0
  197. package/dist/documents/extract.d.ts +37 -0
  198. package/dist/documents/extract.d.ts.map +1 -0
  199. package/dist/documents/extract.js +90 -0
  200. package/dist/documents/extract.js.map +1 -0
  201. package/dist/documents/legacy-office.d.ts +23 -0
  202. package/dist/documents/legacy-office.d.ts.map +1 -0
  203. package/dist/documents/legacy-office.js +439 -0
  204. package/dist/documents/legacy-office.js.map +1 -0
  205. package/dist/documents/ole.d.ts +20 -0
  206. package/dist/documents/ole.d.ts.map +1 -0
  207. package/dist/documents/ole.js +189 -0
  208. package/dist/documents/ole.js.map +1 -0
  209. package/dist/documents/ooxml.d.ts +23 -0
  210. package/dist/documents/ooxml.d.ts.map +1 -0
  211. package/dist/documents/ooxml.js +197 -0
  212. package/dist/documents/ooxml.js.map +1 -0
  213. package/dist/documents/pdf.d.ts +20 -0
  214. package/dist/documents/pdf.d.ts.map +1 -0
  215. package/dist/documents/pdf.js +95 -0
  216. package/dist/documents/pdf.js.map +1 -0
  217. package/dist/documents/plain-text.d.ts +22 -0
  218. package/dist/documents/plain-text.d.ts.map +1 -0
  219. package/dist/documents/plain-text.js +57 -0
  220. package/dist/documents/plain-text.js.map +1 -0
  221. package/dist/documents/zip.d.ts +15 -0
  222. package/dist/documents/zip.d.ts.map +1 -0
  223. package/dist/documents/zip.js +137 -0
  224. package/dist/documents/zip.js.map +1 -0
  225. package/dist/domain/indexing.d.ts +60 -0
  226. package/dist/domain/indexing.d.ts.map +1 -0
  227. package/dist/domain/indexing.js +13 -0
  228. package/dist/domain/indexing.js.map +1 -0
  229. package/dist/domain/runtime.d.ts +133 -5
  230. package/dist/domain/runtime.d.ts.map +1 -1
  231. package/dist/gateway/local-gateway.d.ts +8 -0
  232. package/dist/gateway/local-gateway.d.ts.map +1 -1
  233. package/dist/gateway/local-gateway.js +105 -21
  234. package/dist/gateway/local-gateway.js.map +1 -1
  235. package/dist/indexing/index-service.d.ts +56 -0
  236. package/dist/indexing/index-service.d.ts.map +1 -0
  237. package/dist/indexing/index-service.js +262 -0
  238. package/dist/indexing/index-service.js.map +1 -0
  239. package/dist/kernel/loop.d.ts +10 -0
  240. package/dist/kernel/loop.d.ts.map +1 -1
  241. package/dist/kernel/loop.js +6 -2
  242. package/dist/kernel/loop.js.map +1 -1
  243. package/dist/kernel/reducer.d.ts.map +1 -1
  244. package/dist/kernel/reducer.js +17 -1
  245. package/dist/kernel/reducer.js.map +1 -1
  246. package/dist/kernel/state.d.ts +17 -4
  247. package/dist/kernel/state.d.ts.map +1 -1
  248. package/dist/kernel/state.js +2 -0
  249. package/dist/kernel/state.js.map +1 -1
  250. package/dist/pi/context-budget.d.ts +8 -0
  251. package/dist/pi/context-budget.d.ts.map +1 -0
  252. package/dist/pi/context-budget.js +62 -0
  253. package/dist/pi/context-budget.js.map +1 -0
  254. package/dist/pi/pi-runtime-adapter.d.ts +38 -3
  255. package/dist/pi/pi-runtime-adapter.d.ts.map +1 -1
  256. package/dist/pi/pi-runtime-adapter.js +551 -56
  257. package/dist/pi/pi-runtime-adapter.js.map +1 -1
  258. package/dist/plugins/bundled-skills.d.ts +56 -0
  259. package/dist/plugins/bundled-skills.d.ts.map +1 -0
  260. package/dist/plugins/bundled-skills.js +243 -0
  261. package/dist/plugins/bundled-skills.js.map +1 -0
  262. package/dist/plugins/extension-manager.d.ts +23 -1
  263. package/dist/plugins/extension-manager.d.ts.map +1 -1
  264. package/dist/plugins/extension-manager.js +117 -0
  265. package/dist/plugins/extension-manager.js.map +1 -1
  266. package/dist/plugins/types.d.ts +29 -0
  267. package/dist/plugins/types.d.ts.map +1 -1
  268. package/dist/plugins/workspace-skills.d.ts +36 -0
  269. package/dist/plugins/workspace-skills.d.ts.map +1 -0
  270. package/dist/plugins/workspace-skills.js +309 -0
  271. package/dist/plugins/workspace-skills.js.map +1 -0
  272. package/dist/policy/policy.d.ts.map +1 -1
  273. package/dist/policy/policy.js +22 -3
  274. package/dist/policy/policy.js.map +1 -1
  275. package/dist/protocol/client.d.ts +1 -0
  276. package/dist/protocol/client.d.ts.map +1 -1
  277. package/dist/protocol/client.js +49 -24
  278. package/dist/protocol/client.js.map +1 -1
  279. package/dist/protocol/limits.d.ts +69 -0
  280. package/dist/protocol/limits.d.ts.map +1 -0
  281. package/dist/protocol/limits.js +166 -0
  282. package/dist/protocol/limits.js.map +1 -0
  283. package/dist/protocol/schema.d.ts +6 -0
  284. package/dist/protocol/schema.d.ts.map +1 -1
  285. package/dist/protocol/schema.js.map +1 -1
  286. package/dist/protocol/server-frame-codec.d.ts +18 -0
  287. package/dist/protocol/server-frame-codec.d.ts.map +1 -0
  288. package/dist/protocol/server-frame-codec.js +211 -0
  289. package/dist/protocol/server-frame-codec.js.map +1 -0
  290. package/dist/service/legacy-daemon.d.ts +6 -0
  291. package/dist/service/legacy-daemon.d.ts.map +1 -0
  292. package/dist/service/legacy-daemon.js +42 -0
  293. package/dist/service/legacy-daemon.js.map +1 -0
  294. package/dist/service/service-launch.d.ts +10 -0
  295. package/dist/service/service-launch.d.ts.map +1 -0
  296. package/dist/service/service-launch.js +56 -0
  297. package/dist/service/service-launch.js.map +1 -0
  298. package/dist/service/system-service.d.ts +57 -0
  299. package/dist/service/system-service.d.ts.map +1 -0
  300. package/dist/service/system-service.js +263 -0
  301. package/dist/service/system-service.js.map +1 -0
  302. package/dist/sessions/session-catalog.d.ts +45 -0
  303. package/dist/sessions/session-catalog.d.ts.map +1 -0
  304. package/dist/sessions/session-catalog.js +270 -0
  305. package/dist/sessions/session-catalog.js.map +1 -0
  306. package/dist/sessions/session-file.d.ts +12 -0
  307. package/dist/sessions/session-file.d.ts.map +1 -0
  308. package/dist/sessions/session-file.js +47 -0
  309. package/dist/sessions/session-file.js.map +1 -0
  310. package/dist/settings/compaction-settings.d.ts +10 -0
  311. package/dist/settings/compaction-settings.d.ts.map +1 -0
  312. package/dist/settings/compaction-settings.js +8 -0
  313. package/dist/settings/compaction-settings.js.map +1 -0
  314. package/dist/settings/indexing-settings-service.d.ts +16 -0
  315. package/dist/settings/indexing-settings-service.d.ts.map +1 -0
  316. package/dist/settings/indexing-settings-service.js +57 -0
  317. package/dist/settings/indexing-settings-service.js.map +1 -0
  318. package/dist/settings/indexing-settings.d.ts +30 -0
  319. package/dist/settings/indexing-settings.d.ts.map +1 -0
  320. package/dist/settings/indexing-settings.js +58 -0
  321. package/dist/settings/indexing-settings.js.map +1 -0
  322. package/dist/settings/llm-settings-service.d.ts +6 -0
  323. package/dist/settings/llm-settings-service.d.ts.map +1 -1
  324. package/dist/settings/llm-settings-service.js +137 -12
  325. package/dist/settings/llm-settings-service.js.map +1 -1
  326. package/dist/settings/llm-settings.d.ts +68 -2
  327. package/dist/settings/llm-settings.d.ts.map +1 -1
  328. package/dist/settings/llm-settings.js +119 -17
  329. package/dist/settings/llm-settings.js.map +1 -1
  330. package/dist/settings/model-api.d.ts +10 -0
  331. package/dist/settings/model-api.d.ts.map +1 -0
  332. package/dist/settings/model-api.js +10 -0
  333. package/dist/settings/model-api.js.map +1 -0
  334. package/dist/storage/home.d.ts +1 -0
  335. package/dist/storage/home.d.ts.map +1 -1
  336. package/dist/storage/home.js +37 -2
  337. package/dist/storage/home.js.map +1 -1
  338. package/dist/tools/core-tools.d.ts +2 -0
  339. package/dist/tools/core-tools.d.ts.map +1 -1
  340. package/dist/tools/core-tools.js +91 -1
  341. package/dist/tools/core-tools.js.map +1 -1
  342. package/dist/ui/shared/activity.d.ts +2 -0
  343. package/dist/ui/shared/activity.d.ts.map +1 -1
  344. package/dist/ui/shared/activity.js +18 -4
  345. package/dist/ui/shared/activity.js.map +1 -1
  346. package/dist/ui/shared/full-message.d.ts +22 -0
  347. package/dist/ui/shared/full-message.d.ts.map +1 -0
  348. package/dist/ui/shared/full-message.js +40 -0
  349. package/dist/ui/shared/full-message.js.map +1 -0
  350. package/dist/ui/shared/local-links.d.ts +7 -0
  351. package/dist/ui/shared/local-links.d.ts.map +1 -0
  352. package/dist/ui/shared/local-links.js +24 -0
  353. package/dist/ui/shared/local-links.js.map +1 -0
  354. package/dist/ui/shared/markdown-stream.d.ts +25 -0
  355. package/dist/ui/shared/markdown-stream.d.ts.map +1 -0
  356. package/dist/ui/shared/markdown-stream.js +35 -0
  357. package/dist/ui/shared/markdown-stream.js.map +1 -0
  358. package/dist/ui/shared/markdown.d.ts +70 -0
  359. package/dist/ui/shared/markdown.d.ts.map +1 -0
  360. package/dist/ui/shared/markdown.js +434 -0
  361. package/dist/ui/shared/markdown.js.map +1 -0
  362. package/dist/ui/shared/presentation.d.ts +10 -2
  363. package/dist/ui/shared/presentation.d.ts.map +1 -1
  364. package/dist/ui/shared/presentation.js +83 -22
  365. package/dist/ui/shared/presentation.js.map +1 -1
  366. package/dist/ui/shared/protocol-state.d.ts +19 -0
  367. package/dist/ui/shared/protocol-state.d.ts.map +1 -1
  368. package/dist/ui/shared/protocol-state.js +188 -26
  369. package/dist/ui/shared/protocol-state.js.map +1 -1
  370. package/dist/ui/shared/virtual-list.d.ts +34 -0
  371. package/dist/ui/shared/virtual-list.d.ts.map +1 -0
  372. package/dist/ui/shared/virtual-list.js +143 -0
  373. package/dist/ui/shared/virtual-list.js.map +1 -0
  374. package/dist/ui/tui/commands.d.ts +1 -1
  375. package/dist/ui/tui/commands.d.ts.map +1 -1
  376. package/dist/ui/tui/commands.js +8 -3
  377. package/dist/ui/tui/commands.js.map +1 -1
  378. package/dist/ui/tui/store.d.ts +22 -1
  379. package/dist/ui/tui/store.d.ts.map +1 -1
  380. package/dist/ui/tui/store.js +50 -3
  381. package/dist/ui/tui/store.js.map +1 -1
  382. package/dist/ui/tui/tui-app.d.ts.map +1 -1
  383. package/dist/ui/tui/tui-app.js +231 -31
  384. package/dist/ui/tui/tui-app.js.map +1 -1
  385. package/dist/ui/tui/view.d.ts +7 -0
  386. package/dist/ui/tui/view.d.ts.map +1 -1
  387. package/dist/ui/tui/view.js +161 -57
  388. package/dist/ui/tui/view.js.map +1 -1
  389. package/dist/version.d.ts +1 -1
  390. package/dist/version.d.ts.map +1 -1
  391. package/dist/version.js +1 -1
  392. package/dist/version.js.map +1 -1
  393. package/package.json +13 -2
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Reports whether a scroll viewport is close enough to its lower boundary to
3
+ * keep following newly appended content. Non-scrollable viewports are at end.
4
+ */
5
+ export function isScrollNearEnd(scrollHeight, scrollTop, clientHeight, threshold = 24) {
6
+ if (![scrollHeight, scrollTop, clientHeight, threshold].every(Number.isFinite))
7
+ return false;
8
+ const maximumTop = Math.max(0, scrollHeight - Math.max(0, clientHeight));
9
+ const currentTop = Math.min(maximumTop, Math.max(0, scrollTop));
10
+ return maximumTop - currentTop <= Math.max(0, threshold);
11
+ }
12
+ /**
13
+ * How far outside the viewport an item may be dragged back in by `keep`.
14
+ *
15
+ * Keeping one item means keeping everything between it and the viewport, since
16
+ * the window is contiguous. A reader holding a selection is looking at
17
+ * something near what is on screen; past this many items it is scrollback they
18
+ * have left behind, and the list stops paying to render the gap.
19
+ */
20
+ const KEEP_SPAN_LIMIT = 40;
21
+ /**
22
+ * Variable-height list index backed by a Fenwick tree. Message measurements are
23
+ * retained by stable key, while viewport lookup and height updates stay O(log n).
24
+ */
25
+ export class VirtualHeightIndex {
26
+ #estimatedSize;
27
+ #measured = new Map();
28
+ #keys = [];
29
+ #positions = new Map();
30
+ #sizes = [];
31
+ #tree = [0];
32
+ constructor(estimatedSize = 160) {
33
+ if (!Number.isFinite(estimatedSize) || estimatedSize <= 0) {
34
+ throw new Error("estimatedSize must be positive");
35
+ }
36
+ this.#estimatedSize = estimatedSize;
37
+ }
38
+ get count() {
39
+ return this.#keys.length;
40
+ }
41
+ sync(keys) {
42
+ if (sameKeys(this.#keys, keys))
43
+ return;
44
+ this.#keys = [...keys];
45
+ this.#positions = new Map(keys.map((key, index) => [key, index]));
46
+ this.#sizes = keys.map((key) => this.#measured.get(key) ?? this.#estimatedSize);
47
+ this.#tree = Array.from({ length: keys.length + 1 }, () => 0);
48
+ for (const [index, size] of this.#sizes.entries())
49
+ this.#add(index, size);
50
+ // Measurements from replaced/compacted histories should not retain DOM-sized
51
+ // state forever. Keep only keys that still exist in the current transcript.
52
+ for (const key of this.#measured.keys()) {
53
+ if (!this.#positions.has(key))
54
+ this.#measured.delete(key);
55
+ }
56
+ }
57
+ update(key, size) {
58
+ const index = this.#positions.get(key);
59
+ if (index === undefined || !Number.isFinite(size) || size <= 0)
60
+ return false;
61
+ const previous = this.#sizes[index] ?? this.#estimatedSize;
62
+ if (Math.abs(previous - size) < 0.5)
63
+ return false;
64
+ this.#sizes[index] = size;
65
+ this.#measured.set(key, size);
66
+ this.#add(index, size - previous);
67
+ return true;
68
+ }
69
+ /**
70
+ * `keep` names one item that must stay in the window even if the viewport has
71
+ * moved off it — the item holding the reader's selection. Dropping its element
72
+ * would collapse the selection, and a growing message at the tail is enough to
73
+ * shift the window by an item while they are still dragging.
74
+ */
75
+ range(scrollTop, viewportSize, overscan = 600, keep) {
76
+ const count = this.#keys.length;
77
+ const totalSize = this.totalSize();
78
+ if (count === 0)
79
+ return { start: 0, end: 0, paddingStart: 0, paddingEnd: 0, totalSize: 0 };
80
+ const safeTop = Math.max(0, Number.isFinite(scrollTop) ? scrollTop : 0);
81
+ const safeViewport = Math.max(0, Number.isFinite(viewportSize) ? viewportSize : 0);
82
+ const safeOverscan = Math.max(0, Number.isFinite(overscan) ? overscan : 0);
83
+ let start = this.#indexAtOffset(Math.max(0, safeTop - safeOverscan));
84
+ const last = this.#indexAtOffset(Math.min(totalSize, safeTop + safeViewport + safeOverscan));
85
+ let end = Math.min(count, last + 1);
86
+ if (keep !== undefined && Number.isInteger(keep) && keep >= 0 && keep < count) {
87
+ if (keep < start && start - keep <= KEEP_SPAN_LIMIT)
88
+ start = keep;
89
+ if (keep >= end && keep - end < KEEP_SPAN_LIMIT)
90
+ end = keep + 1;
91
+ }
92
+ const paddingStart = this.#prefix(start);
93
+ const paddingEnd = Math.max(0, totalSize - this.#prefix(end));
94
+ return { start, end, paddingStart, paddingEnd, totalSize };
95
+ }
96
+ totalSize() {
97
+ return this.#prefix(this.#keys.length);
98
+ }
99
+ /** Pixel offset of an item, used to scroll a match into the virtual window. */
100
+ offsetAt(index) {
101
+ if (!Number.isInteger(index) || index <= 0)
102
+ return 0;
103
+ return this.#prefix(Math.min(index, this.#keys.length));
104
+ }
105
+ #add(index, delta) {
106
+ for (let cursor = index + 1; cursor < this.#tree.length; cursor += cursor & -cursor) {
107
+ this.#tree[cursor] = (this.#tree[cursor] ?? 0) + delta;
108
+ }
109
+ }
110
+ #prefix(end) {
111
+ let total = 0;
112
+ for (let cursor = Math.min(end, this.#keys.length); cursor > 0; cursor -= cursor & -cursor) {
113
+ total += this.#tree[cursor] ?? 0;
114
+ }
115
+ return total;
116
+ }
117
+ #indexAtOffset(offset) {
118
+ if (offset <= 0)
119
+ return 0;
120
+ let index = 0;
121
+ let accumulated = 0;
122
+ let bit = highestPowerOfTwoAtMost(this.#keys.length);
123
+ while (bit > 0) {
124
+ const next = index + bit;
125
+ const value = next < this.#tree.length ? this.#tree[next] ?? 0 : 0;
126
+ if (next <= this.#keys.length && accumulated + value <= offset) {
127
+ index = next;
128
+ accumulated += value;
129
+ }
130
+ bit >>= 1;
131
+ }
132
+ return Math.min(this.#keys.length - 1, index);
133
+ }
134
+ }
135
+ function sameKeys(left, right) {
136
+ return left.length === right.length && left.every((key, index) => key === right[index]);
137
+ }
138
+ function highestPowerOfTwoAtMost(value) {
139
+ if (value <= 0)
140
+ return 0;
141
+ return 2 ** Math.floor(Math.log2(value));
142
+ }
143
+ //# sourceMappingURL=virtual-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"virtual-list.js","sourceRoot":"","sources":["../../../src/ui/shared/virtual-list.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const TUI_HELP_LINES: readonly ["CONVERSATION", " text Send to selected target", " /steer TEXT Interrupt with guidance", " /follow TEXT Queue after current turn", " /abort /compact /select ID", " /work [STEP_ID] Work history or step details", "", "MODEL SETTINGS", " /config Show current settings", " /config wizard Launch guided setup", " /config set PROVIDER [MODEL] [THINKING]", " /config set custom-openai MODEL BASE_URL [chat|responses] [THINKING]", " /config provider deepseek|openai", " /config model MODEL /config thinking LEVEL", " /config endpoint BASE_URL [chat|responses]", " /config key /config clear-key", "", "AGENTS & AUTOMATION", " /agents /agent-spawn TEXT /agent ID MESSAGE", " /agent-join ID... /agent-cancel ID", " /jobs /runs /notifications /run JOB /cancel RUN", "", "INTEGRATIONS & RESOURCES", " /mcp /mcp-tools /mcp-discover ID /mcp-ping ID", " /resources /skills /plugins", " /resource-inspect NAME /resource-install NAME SHA256", " /resource-disable KIND NAME SHA256", "", "APPROVAL & NAVIGATION", " /approve [ID] [once|session|job] /deny [ID]", " /back /help /quit PgUp/PgDn Ctrl+C"];
1
+ export declare const TUI_HELP_LINES: readonly ["CONVERSATION", " text Send to selected target", " /new [TITLE] Create a persistent session", " /select ID Switch session and history", " /delete [ID] 删除会话及其聊天记录(默认当前会话)", " /send-now N 直接发送消息(否则继续排队)", " /abort /compact", " /work [STEP_ID] Work history or step details", "", "MODEL SETTINGS", " /config Show current settings", " /config wizard Launch guided setup", " /config set PROVIDER [MODEL] [THINKING]", " /config set custom-openai MODEL BASE_URL [chat|responses] [THINKING]", " /config provider deepseek|openai", " /config model MODEL /config thinking LEVEL", " /config endpoint BASE_URL [chat|responses]", " /config permissions ask_risky|ask_all|allow_all|deny", " /config compact on|off [RESERVE] [KEEP] [TRIGGER]", " /config key /config clear-key", " /config cookie /config clear-cookie", "", "AGENTS & AUTOMATION", " /agents /agent-spawn TEXT /agent ID MESSAGE", " /agent-join ID... /agent-cancel ID", " /jobs /runs /notifications /run JOB /cancel RUN", "", "INTEGRATIONS & RESOURCES", " /mcp /mcp-tools /mcp-discover ID /mcp-ping ID", " /resources /skills /plugins", " /resource-inspect NAME /resource-install NAME SHA256", " /resource-disable KIND NAME SHA256", "", "APPROVAL & NAVIGATION", " /approve [ID] [once|session|job] /deny [ID]", " /back /help /quit PgUp/PgDn Ctrl+C"];
2
2
  //# sourceMappingURL=commands.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/ui/tui/commands.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,wtCAgCjB,CAAC"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/ui/tui/commands.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,m9CAqCjB,CAAC"}
@@ -1,9 +1,11 @@
1
1
  export const TUI_HELP_LINES = [
2
2
  "CONVERSATION",
3
3
  " text Send to selected target",
4
- " /steer TEXT Interrupt with guidance",
5
- " /follow TEXT Queue after current turn",
6
- " /abort /compact /select ID",
4
+ " /new [TITLE] Create a persistent session",
5
+ " /select ID Switch session and history",
6
+ " /delete [ID] 删除会话及其聊天记录(默认当前会话)",
7
+ " /send-now N 直接发送消息(否则继续排队)",
8
+ " /abort /compact",
7
9
  " /work [STEP_ID] Work history or step details",
8
10
  "",
9
11
  "MODEL SETTINGS",
@@ -14,7 +16,10 @@ export const TUI_HELP_LINES = [
14
16
  " /config provider deepseek|openai",
15
17
  " /config model MODEL /config thinking LEVEL",
16
18
  " /config endpoint BASE_URL [chat|responses]",
19
+ " /config permissions ask_risky|ask_all|allow_all|deny",
20
+ " /config compact on|off [RESERVE] [KEEP] [TRIGGER]",
17
21
  " /config key /config clear-key",
22
+ " /config cookie /config clear-cookie",
18
23
  "",
19
24
  "AGENTS & AUTOMATION",
20
25
  " /agents /agent-spawn TEXT /agent ID MESSAGE",
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/ui/tui/commands.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,cAAc;IACd,wDAAwD;IACxD,wDAAwD;IACxD,yDAAyD;IACzD,gCAAgC;IAChC,6DAA6D;IAC7D,EAAE;IACF,gBAAgB;IAChB,sDAAsD;IACtD,oDAAoD;IACpD,2CAA2C;IAC3C,wEAAwE;IACxE,oCAAoC;IACpC,+CAA+C;IAC/C,8CAA8C;IAC9C,kCAAkC;IAClC,EAAE;IACF,qBAAqB;IACrB,iDAAiD;IACjD,uCAAuC;IACvC,uDAAuD;IACvD,EAAE;IACF,0BAA0B;IAC1B,oDAAoD;IACpD,iCAAiC;IACjC,yDAAyD;IACzD,sCAAsC;IACtC,EAAE;IACF,uBAAuB;IACvB,gDAAgD;IAChD,0CAA0C;CAClC,CAAC"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/ui/tui/commands.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,cAAc;IACd,wDAAwD;IACxD,4DAA4D;IAC5D,2DAA2D;IAC3D,mDAAmD;IACnD,+CAA+C;IAC/C,oBAAoB;IACpB,6DAA6D;IAC7D,EAAE;IACF,gBAAgB;IAChB,sDAAsD;IACtD,oDAAoD;IACpD,2CAA2C;IAC3C,wEAAwE;IACxE,oCAAoC;IACpC,+CAA+C;IAC/C,8CAA8C;IAC9C,wDAAwD;IACxD,qDAAqD;IACrD,kCAAkC;IAClC,wCAAwC;IACxC,EAAE;IACF,qBAAqB;IACrB,iDAAiD;IACjD,uCAAuC;IACvC,uDAAuD;IACvD,EAAE;IACF,0BAA0B;IAC1B,oDAAoD;IACpD,iCAAiC;IACjC,yDAAyD;IACzD,sCAAsC;IACtC,EAAE;IACF,uBAAuB;IACvB,gDAAgD;IAChD,0CAA0C;CAClC,CAAC"}
@@ -1,9 +1,14 @@
1
- import type { ModelRef } from "../../domain/runtime.js";
1
+ import type { ModelRef, RuntimeMessage } from "../../domain/runtime.js";
2
2
  import type { KernelState } from "../../kernel/state.js";
3
3
  import type { EventEnvelope, ServerHelloFrame } from "../../protocol/schema.js";
4
4
  import { type CoworkActivity } from "../shared/activity.js";
5
+ /** Matches the desktop settle window so both shells report outages alike. */
6
+ export declare const TUI_CONNECTION_SETTLE_MS = 2000;
5
7
  export interface TuiStoreSnapshot {
8
+ /** Presented connection state: a reconnect inside the settle window stays true. */
6
9
  connected: boolean;
10
+ /** True while a short reconnect is in flight but still presented as connected. */
11
+ reconnecting: boolean;
7
12
  instanceId?: string;
8
13
  selectedSessionId: string;
9
14
  kernel: KernelState;
@@ -14,6 +19,9 @@ export interface TuiStoreSnapshot {
14
19
  received: number;
15
20
  };
16
21
  streamingText: Readonly<Record<string, string>>;
22
+ streamingThinking: Readonly<Record<string, string>>;
23
+ /** Transcript item each session is streaming, keyed by session id. */
24
+ streamingItems: Readonly<Record<string, string>>;
17
25
  activities: readonly CoworkActivity[];
18
26
  configuredModel?: ModelRef;
19
27
  notice: string;
@@ -24,6 +32,12 @@ export interface TuiStoreSnapshot {
24
32
  }
25
33
  export declare class TuiStore {
26
34
  #private;
35
+ constructor(now?: () => number);
36
+ /**
37
+ * Re-checks the settle window from a timer so a real outage still surfaces
38
+ * once the masking window expires. Returns true when the view changed.
39
+ */
40
+ settleConnection(): boolean;
27
41
  snapshot(): TuiStoreSnapshot;
28
42
  applyHello(hello: ServerHelloFrame): void;
29
43
  disconnected(message: string): void;
@@ -32,6 +46,13 @@ export declare class TuiStore {
32
46
  setPanel(title: string, lines: readonly string[]): void;
33
47
  clearPanel(): void;
34
48
  selectSession(id: string): string;
49
+ /** Merges an older page of history fetched by the scrollback request. */
50
+ applyTranscriptPage(page: {
51
+ sessionId: string;
52
+ from: number;
53
+ count: number;
54
+ messages: readonly RuntimeMessage[];
55
+ }): boolean;
35
56
  applyEvent(event: EventEnvelope): void;
36
57
  }
37
58
  //# sourceMappingURL=store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/ui/tui/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAA4B,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAStF,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1C,GAAG,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD,UAAU,EAAE,SAAS,cAAc,EAAE,CAAC;IACtC,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;CACrD;AAED,qBAAa,QAAQ;;IAQnB,QAAQ,IAAI,gBAAgB;IAI5B,UAAU,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAczC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAInC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,kBAAkB,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI;IASrD,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAIvD,UAAU,IAAI,IAAI;IAOlB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAMjC,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;CAavC"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/ui/tui/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAA4B,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAUtF,6EAA6E;AAC7E,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,mFAAmF;IACnF,SAAS,EAAE,OAAO,CAAC;IACnB,kFAAkF;IAClF,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1C,GAAG,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,sEAAsE;IACtE,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,UAAU,EAAE,SAAS,cAAc,EAAE,CAAC;IACtC,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;CACrD;AAED,qBAAa,QAAQ;;gBAYP,GAAG,GAAE,MAAM,MAAyB;IAIhD;;;OAGG;IACH,gBAAgB,IAAI,OAAO;IAO3B,QAAQ,IAAI,gBAAgB;IAM5B,UAAU,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAiBzC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAanC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,kBAAkB,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI;IASrD,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAIvD,UAAU,IAAI,IAAI;IAOlB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAMjC,yEAAyE;IACzE,mBAAmB,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAA;KAAE,GAAG,OAAO;IAQ3H,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;CAavC"}
@@ -1,14 +1,37 @@
1
1
  import { applyCoworkActivityEvent } from "../shared/activity.js";
2
- import { applyProtocolEvent, initialProtocolUiState, replaceProtocolSnapshot, selectProtocolSession, } from "../shared/protocol-state.js";
2
+ import { applyProtocolEvent, applyTranscriptPage as mergeTranscriptPage, initialProtocolUiState, replaceProtocolSnapshot, selectProtocolSession, } from "../shared/protocol-state.js";
3
+ /** Matches the desktop settle window so both shells report outages alike. */
4
+ export const TUI_CONNECTION_SETTLE_MS = 2_000;
3
5
  export class TuiStore {
6
+ #now;
7
+ #unsettledSince;
8
+ #everConnected = false;
4
9
  #state = {
5
10
  connected: false,
11
+ reconnecting: false,
6
12
  ...initialProtocolUiState(),
7
13
  activities: [],
8
14
  notice: "Connecting to daemon…",
9
15
  };
16
+ constructor(now = () => Date.now()) {
17
+ this.#now = now;
18
+ }
19
+ /**
20
+ * Re-checks the settle window from a timer so a real outage still surfaces
21
+ * once the masking window expires. Returns true when the view changed.
22
+ */
23
+ settleConnection() {
24
+ if (!this.#state.reconnecting)
25
+ return false;
26
+ if (this.#unsettledSince !== undefined && this.#now() - this.#unsettledSince < TUI_CONNECTION_SETTLE_MS)
27
+ return false;
28
+ this.#state = { ...this.#state, connected: false, reconnecting: false };
29
+ return true;
30
+ }
10
31
  snapshot() {
11
- return structuredClone(this.#state);
32
+ // Protocol reducers replace state immutably and clone IPC payloads at the
33
+ // boundary. Avoid copying every historical message on each terminal frame.
34
+ return this.#state;
12
35
  }
13
36
  applyHello(hello) {
14
37
  const cursors = { ...this.#state.cursors, [hello.streamId]: hello.latestSeq };
@@ -18,13 +41,26 @@ export class TuiStore {
18
41
  ...replaceProtocolSnapshot(protocolState(this.#state), hello.snapshot, cursors),
19
42
  activities,
20
43
  connected: true,
44
+ reconnecting: false,
21
45
  instanceId: hello.instanceId,
22
46
  notice: "Connected",
23
47
  };
24
48
  delete this.#state.gap;
49
+ this.#everConnected = true;
50
+ this.#unsettledSince = undefined;
25
51
  }
26
52
  disconnected(message) {
27
- this.#state = { ...this.#state, connected: false, notice: message };
53
+ if (this.#unsettledSince === undefined)
54
+ this.#unsettledSince = this.#now();
55
+ // Long runs briefly drop and re-establish the socket. Masking that for the
56
+ // settle window keeps the status line steady instead of flapping.
57
+ const masked = this.#everConnected && this.#now() - this.#unsettledSince < TUI_CONNECTION_SETTLE_MS;
58
+ this.#state = {
59
+ ...this.#state,
60
+ connected: masked,
61
+ reconnecting: masked,
62
+ ...(masked ? {} : { notice: message }),
63
+ };
28
64
  }
29
65
  setNotice(notice) {
30
66
  this.#state = { ...this.#state, notice };
@@ -53,6 +89,15 @@ export class TuiStore {
53
89
  this.#state = { ...this.#state, ...protocol, notice: `Selected ${id}` };
54
90
  return protocol.selectedSessionId;
55
91
  }
92
+ /** Merges an older page of history fetched by the scrollback request. */
93
+ applyTranscriptPage(page) {
94
+ const current = protocolState(this.#state);
95
+ const next = mergeTranscriptPage(current, page);
96
+ if (next === current)
97
+ return false;
98
+ this.#state = { ...this.#state, ...next };
99
+ return true;
100
+ }
56
101
  applyEvent(event) {
57
102
  const result = applyProtocolEvent(protocolState(this.#state), event);
58
103
  const activities = result.applied
@@ -72,6 +117,8 @@ function protocolState(state) {
72
117
  kernel: state.kernel,
73
118
  cursors: state.cursors,
74
119
  streamingText: state.streamingText,
120
+ streamingThinking: state.streamingThinking,
121
+ streamingItems: state.streamingItems,
75
122
  selectedSessionId: state.selectedSessionId,
76
123
  ...(state.gap ? { gap: state.gap } : {}),
77
124
  };
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/ui/tui/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/ui/tui/store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tui-app.d.ts","sourceRoot":"","sources":["../../../src/ui/tui/tui-app.ts"],"names":[],"mappings":"AAMA,OAAO,EAML,KAAK,WAAW,EAChB,KAAK,iBAAiB,EAIvB,MAAM,gCAAgC,CAAC;AAOxC,MAAM,WAAW,eAAe;IAC9B,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5B,IAAI,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACtD,iBAAiB,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACxC;AAED,eAAO,MAAM,wBAAwB,0CAA0C,CAAC;AAEhF,eAAO,MAAM,uBAAuB,UAOnC,CAAC;AAEF,4EAA4E;AAC5E,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAI1E;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,eAAe,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClG;AAED,qBAAa,YAAY;;gBAcX,OAAO,EAAE,aAAa;IAK5B,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA+oB3B"}
1
+ {"version":3,"file":"tui-app.d.ts","sourceRoot":"","sources":["../../../src/ui/tui/tui-app.ts"],"names":[],"mappings":"AAOA,OAAO,EASL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EAIvB,MAAM,gCAAgC,CAAC;AASxC,MAAM,WAAW,eAAe;IAC9B,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5B,IAAI,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACtD,iBAAiB,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACxC;AAED,eAAO,MAAM,wBAAwB,0CAA0C,CAAC;AAEhF,eAAO,MAAM,uBAAuB,UAOnC,CAAC;AAEF,4EAA4E;AAC5E,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAI1E;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,eAAe,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClG;AAKD,qBAAa,YAAY;;gBAgBX,OAAO,EAAE,aAAa;IAK5B,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsyB3B"}