@maudecode/talaria-web 1.16.1 → 1.17.2

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 (328) hide show
  1. package/_release.json +4 -4
  2. package/dist/api/automation-raw.js +6 -3
  3. package/dist/api/automation-raw.js.map +1 -1
  4. package/dist/api/automation-router.d.ts +137 -9
  5. package/dist/api/automation-router.js +9 -6
  6. package/dist/api/automation-router.js.map +1 -1
  7. package/dist/api/chat-router.d.ts +51 -0
  8. package/dist/api/chat-router.js +29 -12
  9. package/dist/api/chat-router.js.map +1 -1
  10. package/dist/api/git-router.d.ts +12 -1
  11. package/dist/api/git-router.js +17 -7
  12. package/dist/api/git-router.js.map +1 -1
  13. package/dist/api/raw-routes.d.ts +6 -0
  14. package/dist/api/raw-routes.js +30 -0
  15. package/dist/api/raw-routes.js.map +1 -1
  16. package/dist/api/sessions-router.d.ts +260 -0
  17. package/dist/api/sessions-router.js +30 -2
  18. package/dist/api/sessions-router.js.map +1 -1
  19. package/dist/api/settings-router.d.ts +101 -2
  20. package/dist/api/settings-router.js +7 -2
  21. package/dist/api/settings-router.js.map +1 -1
  22. package/dist/api/sse-routes.d.ts +11 -3
  23. package/dist/api/sse-routes.js +144 -64
  24. package/dist/api/sse-routes.js.map +1 -1
  25. package/dist/api/tools-raw.js +6 -2
  26. package/dist/api/tools-raw.js.map +1 -1
  27. package/dist/api/tools-router.d.ts +73 -8
  28. package/dist/api/tools-router.js +9 -7
  29. package/dist/api/tools-router.js.map +1 -1
  30. package/dist/app.d.ts +0 -9377
  31. package/dist/app.js +7 -2
  32. package/dist/app.js.map +1 -1
  33. package/dist/auth/gate.js +3 -0
  34. package/dist/auth/gate.js.map +1 -1
  35. package/dist/config/agent-config.d.ts +2 -0
  36. package/dist/config/agent-config.js +9 -0
  37. package/dist/config/agent-config.js.map +1 -1
  38. package/dist/http/context.d.ts +3 -0
  39. package/dist/http/context.js +10 -4
  40. package/dist/http/context.js.map +1 -1
  41. package/dist/onboarding.js +4 -0
  42. package/dist/onboarding.js.map +1 -1
  43. package/dist/providers/catalog.d.ts +96 -7
  44. package/dist/providers/catalog.js +434 -113
  45. package/dist/providers/catalog.js.map +1 -1
  46. package/dist/redact.d.ts +1 -0
  47. package/dist/redact.js +27 -4
  48. package/dist/redact.js.map +1 -1
  49. package/dist/runtime.js +27 -9
  50. package/dist/runtime.js.map +1 -1
  51. package/dist/sessions/anchor.d.ts +2 -0
  52. package/dist/sessions/anchor.js +8 -3
  53. package/dist/sessions/anchor.js.map +1 -1
  54. package/dist/sessions/claude-code.d.ts +19 -0
  55. package/dist/sessions/claude-code.js +250 -0
  56. package/dist/sessions/claude-code.js.map +1 -0
  57. package/dist/sessions/completions.d.ts +13 -1
  58. package/dist/sessions/completions.js +63 -11
  59. package/dist/sessions/completions.js.map +1 -1
  60. package/dist/sessions/compress.d.ts +14 -1
  61. package/dist/sessions/compress.js +52 -11
  62. package/dist/sessions/compress.js.map +1 -1
  63. package/dist/sessions/journal.d.ts +8 -0
  64. package/dist/sessions/journal.js +44 -10
  65. package/dist/sessions/journal.js.map +1 -1
  66. package/dist/sessions/list.d.ts +6 -2
  67. package/dist/sessions/list.js +33 -10
  68. package/dist/sessions/list.js.map +1 -1
  69. package/dist/sessions/merge.d.ts +52 -2
  70. package/dist/sessions/merge.js +213 -10
  71. package/dist/sessions/merge.js.map +1 -1
  72. package/dist/sessions/service.d.ts +44 -2
  73. package/dist/sessions/service.js +251 -57
  74. package/dist/sessions/service.js.map +1 -1
  75. package/dist/sessions/session.d.ts +11 -1
  76. package/dist/sessions/session.js +23 -2
  77. package/dist/sessions/session.js.map +1 -1
  78. package/dist/sessions/state-db.d.ts +26 -4
  79. package/dist/sessions/state-db.js +126 -8
  80. package/dist/sessions/state-db.js.map +1 -1
  81. package/dist/sessions/store.js +5 -0
  82. package/dist/sessions/store.js.map +1 -1
  83. package/dist/sessions/streams.d.ts +10 -0
  84. package/dist/sessions/streams.js +14 -3
  85. package/dist/sessions/streams.js.map +1 -1
  86. package/dist/sessions/todo.d.ts +6 -1
  87. package/dist/sessions/todo.js +11 -4
  88. package/dist/sessions/todo.js.map +1 -1
  89. package/dist/sessions/tool-display.d.ts +12 -1
  90. package/dist/sessions/tool-display.js +76 -1
  91. package/dist/sessions/tool-display.js.map +1 -1
  92. package/dist/sessions/turn.d.ts +30 -9
  93. package/dist/sessions/turn.js +247 -78
  94. package/dist/sessions/turn.js.map +1 -1
  95. package/dist/settings.d.ts +20 -2
  96. package/dist/settings.js +40 -2
  97. package/dist/settings.js.map +1 -1
  98. package/dist/sidecar/fake.d.ts +2 -2
  99. package/dist/sidecar/fake.js +5 -2
  100. package/dist/sidecar/fake.js.map +1 -1
  101. package/dist/spa.js +2 -1
  102. package/dist/spa.js.map +1 -1
  103. package/dist/test/harness.js +2 -0
  104. package/dist/test/harness.js.map +1 -1
  105. package/dist/tools/insights.d.ts +8 -2
  106. package/dist/tools/insights.js +18 -2
  107. package/dist/tools/insights.js.map +1 -1
  108. package/dist/tools/kanban.d.ts +41 -1
  109. package/dist/tools/kanban.js +113 -2
  110. package/dist/tools/kanban.js.map +1 -1
  111. package/dist/tools/mcp.d.ts +2 -1
  112. package/dist/tools/mcp.js +11 -5
  113. package/dist/tools/mcp.js.map +1 -1
  114. package/dist/tools/terminal.d.ts +1 -0
  115. package/dist/tools/terminal.js +1 -1
  116. package/dist/tools/terminal.js.map +1 -1
  117. package/dist/tools/updates.d.ts +7 -0
  118. package/dist/tools/updates.js +74 -7
  119. package/dist/tools/updates.js.map +1 -1
  120. package/dist/workspace/fs.d.ts +7 -3
  121. package/dist/workspace/fs.js +5 -1
  122. package/dist/workspace/fs.js.map +1 -1
  123. package/dist/workspace/media.js +2 -0
  124. package/dist/workspace/media.js.map +1 -1
  125. package/dist/workspace/preview.d.ts +28 -0
  126. package/dist/workspace/preview.js +110 -0
  127. package/dist/workspace/preview.js.map +1 -0
  128. package/dist/workspace/rollback.d.ts +5 -4
  129. package/dist/workspace/rollback.js +12 -9
  130. package/dist/workspace/rollback.js.map +1 -1
  131. package/dist/workspace/upload.d.ts +2 -0
  132. package/dist/workspace/upload.js +4 -1
  133. package/dist/workspace/upload.js.map +1 -1
  134. package/package.json +2 -2
  135. package/sidecar/scripts/replay_sidecar.py +1 -1
  136. package/sidecar/talaria_sidecar/__init__.py +1 -1
  137. package/sidecar/talaria_sidecar/__main__.py +7 -1
  138. package/sidecar/talaria_sidecar/home.py +39 -0
  139. package/sidecar/talaria_sidecar/methods/chat.py +422 -38
  140. package/sidecar/talaria_sidecar/methods/commands.py +15 -2
  141. package/sidecar/talaria_sidecar/methods/cron.py +10 -6
  142. package/sidecar/talaria_sidecar/methods/kanban.py +115 -15
  143. package/sidecar/talaria_sidecar/methods/process.py +60 -1
  144. package/sidecar/talaria_sidecar/methods/profiles.py +7 -1
  145. package/sidecar/talaria_sidecar/methods/runtime.py +3 -0
  146. package/sidecar/talaria_sidecar/methods/text.py +17 -1
  147. package/sidecar/talaria_sidecar/methods/usage.py +257 -4
  148. package/static/dist/FILES.txt +126 -125
  149. package/static/dist/assets/AppShell-fb2td9zi.js +1 -0
  150. package/static/dist/assets/ChatPage-cj96kiy9.js +25 -0
  151. package/static/dist/assets/Dialog-kxcg7ard.js +1 -0
  152. package/static/dist/assets/ExtensionRoute-jf7h0754.js +1 -0
  153. package/static/dist/assets/HubRoute-gmanpd5y.js +2 -0
  154. package/static/dist/assets/{Markdown-jqrx5es0.js → Markdown-mdwlvj3w.js} +29 -29
  155. package/static/dist/assets/RightPanel-ftvrjlcp.js +1 -0
  156. package/static/dist/assets/Select-bilaypej.js +1 -0
  157. package/static/dist/assets/SessionListPanel-og8n36qs.js +1 -0
  158. package/static/dist/assets/SettingsLayout-jonjefmj.js +1 -0
  159. package/static/dist/assets/States-nmejrwrm.js +1 -0
  160. package/static/dist/assets/Toaster-nnl8zkt9.js +1 -0
  161. package/static/dist/assets/_app-gdidzd94.js +1 -0
  162. package/static/dist/assets/_app.ext._extensionId-opyh9y0v.js +1 -0
  163. package/static/dist/assets/_app.index-hbarzbjx.js +1 -0
  164. package/static/dist/assets/_app.insights-luywlarz.js +1 -0
  165. package/static/dist/assets/_app.kanban-kincnbr8.js +1 -0
  166. package/static/dist/assets/_app.logs-oi2gr3gs.js +1 -0
  167. package/static/dist/assets/_app.memory-b6jfivt6.js +1 -0
  168. package/static/dist/assets/_app.profiles-lpvixmqp.js +1 -0
  169. package/static/dist/assets/{_app.session._sessionId-hh27wwu2.js → _app.session._sessionId-bfd4h3id.js} +1 -1
  170. package/static/dist/assets/_app.settings-vowx3iq0.js +1 -0
  171. package/static/dist/assets/_app.settings._section-cnntg1tu.js +3 -0
  172. package/static/dist/assets/_app.skills-fb57lpau.js +1 -0
  173. package/static/dist/assets/_app.tasks-eszpx1q7.js +2 -0
  174. package/static/dist/assets/_app.todos-nr05ac6w.js +1 -0
  175. package/static/dist/assets/_app.workspaces-d2luomu6.js +1 -0
  176. package/static/dist/assets/{abnfDiagram-VCTEODGH-oity9y4o.js → abnfDiagram-VCTEODGH-b2x1lqot.js} +1 -1
  177. package/static/dist/assets/architecture-7GRP2DOG-hd0o7bde.js +1 -0
  178. package/static/dist/assets/{architectureDiagram-5GKGNRK7-ceaepnyr.js → architectureDiagram-5GKGNRK7-h38o5l7b.js} +1 -1
  179. package/static/dist/assets/{back-eu64w89w.js → back-bemaer09.js} +1 -1
  180. package/static/dist/assets/{blockDiagram-I7D4REHJ-n79st4pj.js → blockDiagram-I7D4REHJ-bqquxv2u.js} +1 -1
  181. package/static/dist/assets/{c4Diagram-7LVT6UL2-mi73akzk.js → c4Diagram-7LVT6UL2-f3fb8w6z.js} +1 -1
  182. package/static/dist/assets/{cancel-mzvkdjg8.js → cancel-drd0g6d9.js} +1 -1
  183. package/static/dist/assets/channel-cpdgf867.js +1 -0
  184. package/static/dist/assets/{chunk-4HAMMTFA-laat0g1q.js → chunk-4HAMMTFA-bzfyyzp3.js} +1 -1
  185. package/static/dist/assets/{chunk-75Z2AOVW-0psy1tr2.js → chunk-75Z2AOVW-ly99rfx5.js} +1 -1
  186. package/static/dist/assets/{chunk-DU6HZSFF-lw8uox8x.js → chunk-DU6HZSFF-bg6ecfqf.js} +3 -3
  187. package/static/dist/assets/{chunk-F27PBJKO-erassib3.js → chunk-F27PBJKO-e8k7mmqw.js} +1 -1
  188. package/static/dist/assets/{chunk-GMAD6QVW-fz7rx619.js → chunk-GMAD6QVW-cmalnoaj.js} +1 -1
  189. package/static/dist/assets/{chunk-GVQU2GXP-gdb0epb2.js → chunk-GVQU2GXP-gmif5o01.js} +1 -1
  190. package/static/dist/assets/{chunk-IMKFNOWR-ea8t26qw.js → chunk-IMKFNOWR-f1nwwh6u.js} +1 -1
  191. package/static/dist/assets/{chunk-L3NEJ4N5-mb1gu9kz.js → chunk-L3NEJ4N5-oktfh5v7.js} +1 -1
  192. package/static/dist/assets/{chunk-OSK3NFVY-eovmccvy.js → chunk-OSK3NFVY-b1sdx96z.js} +1 -1
  193. package/static/dist/assets/{chunk-P2QGCYS3-bo55zjo5.js → chunk-P2QGCYS3-fhu4nzxt.js} +1 -1
  194. package/static/dist/assets/{chunk-POPQ4Y6H-ja7ohe4h.js → chunk-POPQ4Y6H-em31rnef.js} +1 -1
  195. package/static/dist/assets/{chunk-PWAF6VOD-e30g9nus.js → chunk-PWAF6VOD-bxhhyftw.js} +1 -1
  196. package/static/dist/assets/{chunk-SHT3W25Y-gbb798f7.js → chunk-SHT3W25Y-fmrvwcav.js} +1 -1
  197. package/static/dist/assets/{chunk-SVP7TREG-h2iw8urm.js → chunk-SVP7TREG-lymukl2j.js} +1 -1
  198. package/static/dist/assets/{chunk-TICWLB2K-fd2cottz.js → chunk-TICWLB2K-lmza6k23.js} +1 -1
  199. package/static/dist/assets/classDiagram-ZZMXUADV-ko09sguk.js +1 -0
  200. package/static/dist/assets/classDiagram-v2-VYDZK3BY-ko09sguk.js +1 -0
  201. package/static/dist/assets/{copied-h65fc3cx.js → copied-ima3pysb.js} +1 -1
  202. package/static/dist/assets/copy-fw5b1pc6.js +1 -0
  203. package/static/dist/assets/{cynefin-OW5HDTMX-lbltyl5j.js → cynefin-OW5HDTMX-czlhbyhs.js} +1 -1
  204. package/static/dist/assets/{cynefinDiagram-5FMLGOSQ-lxhsqq4a.js → cynefinDiagram-5FMLGOSQ-gq7mvswb.js} +1 -1
  205. package/static/dist/assets/{dagre-GXQ25YYZ-gn4nnaln.js → dagre-GXQ25YYZ-cqdbf7dr.js} +1 -1
  206. package/static/dist/assets/{diagram-S7CK7UJ4-pa3ij6q7.js → diagram-S7CK7UJ4-o6arxa58.js} +1 -1
  207. package/static/dist/assets/{diagram-UQ7AKVKN-zbipyz57.js → diagram-UQ7AKVKN-nhnd68tz.js} +1 -1
  208. package/static/dist/assets/{diagram-VSXAHHWV-d1kbpzgf.js → diagram-VSXAHHWV-dk2sclzn.js} +1 -1
  209. package/static/dist/assets/{diagram-VX7I27RA-i3ty14xl.js → diagram-VX7I27RA-n3k5nyx3.js} +1 -1
  210. package/static/dist/assets/{diagram-Z3DM3KII-m8xefqa7.js → diagram-Z3DM3KII-m6q9cwdh.js} +1 -1
  211. package/static/dist/assets/{ebnfDiagram-PWID7BFC-nz7wj05l.js → ebnfDiagram-PWID7BFC-lsa5641p.js} +1 -1
  212. package/static/dist/assets/endpoints-d33siokx.js +64 -0
  213. package/static/dist/assets/{erDiagram-RLTQ6QDP-fa41ib83.js → erDiagram-RLTQ6QDP-fo2ckbe6.js} +1 -1
  214. package/static/dist/assets/eventmodeling-NTZA5JFV-emctlo64.js +1 -0
  215. package/static/dist/assets/flowDiagram-HODETNUW-bfi3moqa.js +1 -0
  216. package/static/dist/assets/{ganttDiagram-EL5Y4UJY-n7zq01qu.js → ganttDiagram-EL5Y4UJY-nzqz6x9g.js} +1 -1
  217. package/static/dist/assets/{gitGraph-4MIJSDKK-c89emb07.js → gitGraph-4MIJSDKK-gukvcxe6.js} +1 -1
  218. package/static/dist/assets/{gitGraphDiagram-WWUBYQGX-cz7cgr6w.js → gitGraphDiagram-WWUBYQGX-lqhdp8f0.js} +1 -1
  219. package/static/dist/assets/{highlighted-body-KPVGNVTW-d9bapmni.js → highlighted-body-KPVGNVTW-igw6cp39.js} +1 -1
  220. package/static/dist/assets/index-cxq58xb1.js +11 -0
  221. package/static/dist/assets/index-hgtx08n5.css +2 -0
  222. package/static/dist/assets/{info-A6RAGUB7-ndddhhhh.js → info-A6RAGUB7-gvu7a93l.js} +1 -1
  223. package/static/dist/assets/{infoDiagram-27XIBGKW-ccxigcpf.js → infoDiagram-27XIBGKW-m8t8g6w1.js} +1 -1
  224. package/static/dist/assets/{ishikawaDiagram-5VMMS53U-le0z9vtc.js → ishikawaDiagram-5VMMS53U-l07vkbgj.js} +1 -1
  225. package/static/dist/assets/{journeyDiagram-3NMN7TZE-ivsmb26o.js → journeyDiagram-3NMN7TZE-hybkgj8l.js} +1 -1
  226. package/static/dist/assets/{kanban-definition-UXKFOSKX-h6n2awt0.js → kanban-definition-UXKFOSKX-by13uvtn.js} +1 -1
  227. package/static/dist/assets/lazyRouteComponent-af0lvgjx.js +1 -0
  228. package/static/dist/assets/{line-dmzlfe0u.js → line-osxq6fq7.js} +1 -1
  229. package/static/dist/assets/link-jyxicdhg.js +1 -0
  230. package/static/dist/assets/{login-kjhasvp8.js → login-ec21t39x.js} +1 -1
  231. package/static/dist/assets/mermaid-HWGCJPDP-gfl8z3ep.js +1 -0
  232. package/static/dist/assets/{mermaid-parser.core-gwyd5bnq.js → mermaid-parser.core-i91oxmou.js} +3 -3
  233. package/static/dist/assets/{mindmap-definition-YA3MSWOX-l68gg5h7.js → mindmap-definition-YA3MSWOX-m82mx8ww.js} +1 -1
  234. package/static/dist/assets/onboarding-btnltvyz.js +1 -0
  235. package/static/dist/assets/onboarding_model_label-dp7xffoh.js +1 -0
  236. package/static/dist/assets/{packet-AYTQ26CC-gpv06065.js → packet-AYTQ26CC-nbtgge2o.js} +1 -1
  237. package/static/dist/assets/{pegDiagram-XKGWAZYB-e52vs23u.js → pegDiagram-XKGWAZYB-f1zxzga1.js} +1 -1
  238. package/static/dist/assets/{pie-WAS4IAKB-l6m7nz5s.js → pie-WAS4IAKB-of8vuhxs.js} +1 -1
  239. package/static/dist/assets/{pieDiagram-E7YTZNPT-b4is36bq.js → pieDiagram-E7YTZNPT-o7y8ftio.js} +1 -1
  240. package/static/dist/assets/{quadrantDiagram-AXDQQJYC-m8vt2788.js → quadrantDiagram-AXDQQJYC-iqiwia1t.js} +1 -1
  241. package/static/dist/assets/{radar-RG4KPBEZ-nxbrhiov.js → radar-RG4KPBEZ-delnsy2v.js} +1 -1
  242. package/static/dist/assets/{railroad-74A4TZTK-222mu9hi.js → railroad-74A4TZTK-nspnyq9u.js} +1 -1
  243. package/static/dist/assets/railroad-abnf-HS5TGJTU-nst1qxyn.js +1 -0
  244. package/static/dist/assets/railroad-ebnf-LZEXJU2U-ci37x8qy.js +1 -0
  245. package/static/dist/assets/railroad-peg-WCYAUIDC-aimkk07z.js +1 -0
  246. package/static/dist/assets/{railroadDiagram-O6MQD6OU-o8lldfzv.js → railroadDiagram-O6MQD6OU-z41tqx5z.js} +1 -1
  247. package/static/dist/assets/refresh-b4uams1i.js +1 -0
  248. package/static/dist/assets/refresh-cw-nt1dtsx4.js +1 -0
  249. package/static/dist/assets/{requirementDiagram-BXWQKSXE-ovyq38kv.js → requirementDiagram-BXWQKSXE-bdvif194.js} +1 -1
  250. package/static/dist/assets/{sankeyDiagram-P5KCCOFB-ou7lznor.js → sankeyDiagram-P5KCCOFB-h73e0rol.js} +1 -1
  251. package/static/dist/assets/{saved-bazmcup9.js → saved-kg52csy7.js} +1 -1
  252. package/static/dist/assets/{sequenceDiagram-WJ2MYXX4-ovckdzf2.js → sequenceDiagram-WJ2MYXX4-iv95mb1z.js} +1 -1
  253. package/static/dist/assets/{settings_section_extensions_title-ertwwhlx.js → settings_section_extensions_title-ej0iapxe.js} +1 -1
  254. package/static/dist/assets/share._token-f97e94r0.js +2 -0
  255. package/static/dist/assets/sliders-horizontal-fj18it47.js +1 -0
  256. package/static/dist/assets/sse-fwpqtzbg.js +1 -0
  257. package/static/dist/assets/{stateDiagram-D77RDMKH-fcrexkkv.js → stateDiagram-D77RDMKH-k417ixmf.js} +1 -1
  258. package/static/dist/assets/stateDiagram-v2-MP3YSRHH-hwn4apct.js +1 -0
  259. package/static/dist/assets/{swimlanes-42K2YHIH-f7usu8fw.js → swimlanes-42K2YHIH-esola70w.js} +1 -1
  260. package/static/dist/assets/swimlanesDiagram-VR7AAH4N-d1h97oyg.js +8 -0
  261. package/static/dist/assets/{timeline-definition-24CTP7MA-gp1hvz9f.js → timeline-definition-24CTP7MA-getrz2y8.js} +1 -1
  262. package/static/dist/assets/todoStore-eginf9h4.js +1 -0
  263. package/static/dist/assets/{treeView-Q6P3EWNA-gb9gf11u.js → treeView-Q6P3EWNA-hc7ap1q7.js} +1 -1
  264. package/static/dist/assets/{treemap-WGGIJYW6-nuvfnvvi.js → treemap-WGGIJYW6-b7k1syy5.js} +1 -1
  265. package/static/dist/assets/tts-lxdxnmjd.js +1 -0
  266. package/static/dist/assets/{untitled-htelhc68.js → untitled-ovpfthg4.js} +1 -1
  267. package/static/dist/assets/{useForm-h2t0u14e.js → useForm-bcblv1rx.js} +1 -1
  268. package/static/dist/assets/useLocale-fi5jb8ma.js +1 -0
  269. package/static/dist/assets/{useParams-dqd64jv7.js → useParams-lhg566ew.js} +1 -1
  270. package/static/dist/assets/{useSearch-j30pvsy7.js → useSearch-lbrh6ejn.js} +1 -1
  271. package/static/dist/assets/{vennDiagram-4TSXK5OY-fzchbzaj.js → vennDiagram-4TSXK5OY-n6pcy5qb.js} +1 -1
  272. package/static/dist/assets/{wardley-WFR3VGLG-m47mhfbh.js → wardley-WFR3VGLG-lpa18vz1.js} +1 -1
  273. package/static/dist/assets/{wardleyDiagram-VM6X3IG4-odg6ct1z.js → wardleyDiagram-VM6X3IG4-kpclwwg7.js} +1 -1
  274. package/static/dist/assets/{xychartDiagram-S5SC5T6Z-mrhms5um.js → xychartDiagram-S5SC5T6Z-paa2n8y0.js} +1 -1
  275. package/static/dist/index.html +1 -1
  276. package/static/dist/sw.js +2 -2
  277. package/static/dist/assets/AppShell-ef3bhu32.js +0 -1
  278. package/static/dist/assets/Button-nx37f4u1.js +0 -1
  279. package/static/dist/assets/ChatPage-cdcpykcg.js +0 -25
  280. package/static/dist/assets/Dialog-mec42hvb.js +0 -1
  281. package/static/dist/assets/HubRoute-ecb65zpr.js +0 -2
  282. package/static/dist/assets/RightPanel-d1lgvk4s.js +0 -1
  283. package/static/dist/assets/Select-h4ivl9qf.js +0 -1
  284. package/static/dist/assets/SessionListPanel-ewib046b.js +0 -1
  285. package/static/dist/assets/SettingsLayout-lx654cup.js +0 -1
  286. package/static/dist/assets/States-ehsb6lzo.js +0 -1
  287. package/static/dist/assets/Toaster-mch1pa3t.js +0 -1
  288. package/static/dist/assets/_app-m8d961ef.js +0 -1
  289. package/static/dist/assets/_app.ext._extensionId-mp33hbzi.js +0 -1
  290. package/static/dist/assets/_app.index-dk6zp7e0.js +0 -1
  291. package/static/dist/assets/_app.insights-jt2fk4i1.js +0 -1
  292. package/static/dist/assets/_app.kanban-if4pubeu.js +0 -1
  293. package/static/dist/assets/_app.logs-mfaw9m6g.js +0 -1
  294. package/static/dist/assets/_app.memory-h3eaarb6.js +0 -1
  295. package/static/dist/assets/_app.profiles-ienktovs.js +0 -1
  296. package/static/dist/assets/_app.settings-dpoe0bzf.js +0 -1
  297. package/static/dist/assets/_app.settings._section-l468ynag.js +0 -3
  298. package/static/dist/assets/_app.skills-kcbncc8i.js +0 -1
  299. package/static/dist/assets/_app.tasks-occdrqhw.js +0 -2
  300. package/static/dist/assets/_app.todos-nnke2rcc.js +0 -1
  301. package/static/dist/assets/_app.workspaces-cdlatvwj.js +0 -1
  302. package/static/dist/assets/architecture-7GRP2DOG-hj11333z.js +0 -1
  303. package/static/dist/assets/channel-mbvmf2vv.js +0 -1
  304. package/static/dist/assets/classDiagram-ZZMXUADV-o8r05k0n.js +0 -1
  305. package/static/dist/assets/classDiagram-v2-VYDZK3BY-o8r05k0n.js +0 -1
  306. package/static/dist/assets/copy-e6977uwq.js +0 -1
  307. package/static/dist/assets/endpoints-k7yf25m0.js +0 -64
  308. package/static/dist/assets/eventmodeling-NTZA5JFV-kpbq09bx.js +0 -1
  309. package/static/dist/assets/flowDiagram-HODETNUW-lcz0kx14.js +0 -1
  310. package/static/dist/assets/index-h00usru2.js +0 -11
  311. package/static/dist/assets/index-n73ijkv2.css +0 -2
  312. package/static/dist/assets/lazyRouteComponent-m1rtyk4t.js +0 -1
  313. package/static/dist/assets/link-budeg5t9.js +0 -1
  314. package/static/dist/assets/matchContext-f8oy3lo7.js +0 -1
  315. package/static/dist/assets/mermaid-HWGCJPDP-jb5d211j.js +0 -1
  316. package/static/dist/assets/onboarding-cdfrk0pj.js +0 -1
  317. package/static/dist/assets/railroad-abnf-HS5TGJTU-kdvgl6x8.js +0 -1
  318. package/static/dist/assets/railroad-ebnf-LZEXJU2U-itiqslby.js +0 -1
  319. package/static/dist/assets/railroad-peg-WCYAUIDC-go7kov78.js +0 -1
  320. package/static/dist/assets/refresh-cw-kbcje1uy.js +0 -1
  321. package/static/dist/assets/search-jen74z4u.js +0 -1
  322. package/static/dist/assets/share._token-dan9hgvj.js +0 -2
  323. package/static/dist/assets/sliders-horizontal-f9cb3lh3.js +0 -1
  324. package/static/dist/assets/stateDiagram-v2-MP3YSRHH-lcfraua2.js +0 -1
  325. package/static/dist/assets/swimlanesDiagram-VR7AAH4N-ogmanni0.js +0 -8
  326. package/static/dist/assets/todoStore-eqtid4r4.js +0 -1
  327. package/static/dist/assets/useLocale-hcsb84pj.js +0 -1
  328. package/static/dist/assets/useNavigate-nwy70ztj.js +0 -1
@@ -0,0 +1,250 @@
1
+ /**
2
+ * TAL-551: read-only Claude Code transcripts (Python `get_claude_code_sessions`). Each top-level `*.jsonl` in a
3
+ * project directory under `~/.claude/projects` (or `HERMES_WEBUI_CLAUDE_PROJECTS_DIR`) is one imported session. The
4
+ * scan skips symlinks, oversized files, malformed lines and unreadable files, and caches each parse on the file's stat
5
+ * signature, so a sidebar refresh re-reads only transcripts that changed.
6
+ */
7
+ import { createHash } from 'node:crypto';
8
+ import { closeSync, constants, fstatSync, lstatSync, openSync, readdirSync, readSync, realpathSync, statSync } from 'node:fs';
9
+ import { join } from 'node:path';
10
+ import { str } from '../util.js';
11
+ export const CLAUDE_CODE_SOURCE = 'claude_code';
12
+ const MAX_FILES = 200;
13
+ const MAX_FILE_BYTES = 10 * 1024 * 1024;
14
+ const MAX_MESSAGES_PER_FILE = 1000;
15
+ const MAX_CONTENT_CHARS = 200_000;
16
+ const ROLES = new Set(['user', 'assistant', 'system', 'tool']);
17
+ /** The projects directory: the env override (`~` expanded), else `<home>/.claude/projects`. */
18
+ export function claudeCodeProjectsDir(env, home) {
19
+ const override = (env.HERMES_WEBUI_CLAUDE_PROJECTS_DIR ?? '').trim();
20
+ return override ? override.replace(/^~(?=$|\/)/, home) : join(home, '.claude', 'projects');
21
+ }
22
+ export function isClaudeCodeSessionId(sid) {
23
+ return sid.startsWith(`${CLAUDE_CODE_SOURCE}_`);
24
+ }
25
+ function sessionId(path) {
26
+ return `${CLAUDE_CODE_SOURCE}_${createHash('sha256').update(path, 'utf8').digest('hex').slice(0, 24)}`;
27
+ }
28
+ function timestamp(value) {
29
+ if (typeof value === 'number')
30
+ return Number.isFinite(value) ? value : null;
31
+ if (typeof value !== 'string' || !value.trim())
32
+ return null;
33
+ const text = value.trim();
34
+ const n = Number(text);
35
+ if (Number.isFinite(n))
36
+ return n;
37
+ const ms = Date.parse(text);
38
+ return Number.isNaN(ms) ? null : ms / 1000;
39
+ }
40
+ function text(content) {
41
+ if (content === null || content === undefined)
42
+ return '';
43
+ if (typeof content === 'string')
44
+ return content.slice(0, MAX_CONTENT_CHARS);
45
+ if (Array.isArray(content)) {
46
+ const parts = [];
47
+ let used = 0;
48
+ for (const item of content) {
49
+ const raw = typeof item === 'string' ? item : item && typeof item === 'object' ? item.text || item.content || '' : '';
50
+ if (!raw)
51
+ continue;
52
+ const remaining = MAX_CONTENT_CHARS - used;
53
+ if (remaining <= 0)
54
+ break;
55
+ const part = (typeof raw === 'string' ? raw : JSON.stringify(raw)).slice(0, remaining);
56
+ parts.push(part);
57
+ used += part.length;
58
+ }
59
+ return parts.join('\n');
60
+ }
61
+ if (typeof content === 'object')
62
+ return text(content.text || content.content);
63
+ return str(content).slice(0, MAX_CONTENT_CHARS);
64
+ }
65
+ const asDict = (v) => (v && typeof v === 'object' && !Array.isArray(v) ? v : null);
66
+ /** Python `_parse_claude_code_jsonl`: user/assistant/system/tool rows with text, a summary title, and the time span. */
67
+ function parse(path) {
68
+ const messages = [];
69
+ let summaryTitle = null;
70
+ let firstTs = null;
71
+ let lastTs = null;
72
+ let body;
73
+ // One bounded read without following links: a transcript swapped for a symlink, or grown past the cap since the scan,
74
+ // is skipped rather than read in full.
75
+ let fd = null;
76
+ try {
77
+ fd = openSync(path, constants.O_RDONLY | constants.O_NOFOLLOW);
78
+ // One byte past the size it has now (at most the cap) shows whether it has outgrown the cap since.
79
+ const buf = Buffer.alloc(Math.min(fstatSync(fd).size, MAX_FILE_BYTES) + 1);
80
+ let n = 0;
81
+ for (let got = -1; got !== 0 && n < buf.length;) {
82
+ got = readSync(fd, buf, n, buf.length - n, n);
83
+ n += got;
84
+ }
85
+ if (n > MAX_FILE_BYTES)
86
+ return { messages, summaryTitle, firstTs, lastTs };
87
+ body = buf.toString('utf8', 0, n);
88
+ }
89
+ catch {
90
+ return { messages, summaryTitle, firstTs, lastTs };
91
+ }
92
+ finally {
93
+ if (fd !== null)
94
+ closeSync(fd);
95
+ }
96
+ for (const line of body.split('\n')) {
97
+ if (messages.length >= MAX_MESSAGES_PER_FILE)
98
+ break;
99
+ if (!line.trim())
100
+ continue;
101
+ let raw;
102
+ try {
103
+ raw = asDict(JSON.parse(line));
104
+ }
105
+ catch {
106
+ continue;
107
+ }
108
+ if (!raw)
109
+ continue;
110
+ if (!summaryTitle) {
111
+ const summary = raw.summary || raw.title;
112
+ if (typeof summary === 'string' && summary.trim())
113
+ summaryTitle = summary.split(/\s+/).filter(Boolean).join(' ').slice(0, 80);
114
+ }
115
+ const records = Array.isArray(raw.messages) ? raw.messages : [asDict(raw.message) ?? raw];
116
+ for (const record of records) {
117
+ if (messages.length >= MAX_MESSAGES_PER_FILE)
118
+ break;
119
+ const rec = asDict(record);
120
+ if (!rec)
121
+ continue;
122
+ const msg = asDict(rec.message) ?? rec;
123
+ let role = str(msg.role || rec.role || raw.role || raw.type).trim().toLowerCase();
124
+ if (role === 'human')
125
+ role = 'user';
126
+ if (!ROLES.has(role))
127
+ continue;
128
+ const content = text('content' in msg ? msg.content : rec.content);
129
+ if (!content.trim())
130
+ continue;
131
+ const ts = timestamp(msg.timestamp || rec.timestamp || raw.timestamp || raw.created_at);
132
+ if (ts !== null) {
133
+ firstTs = firstTs === null ? ts : Math.min(firstTs, ts);
134
+ lastTs = lastTs === null ? ts : Math.max(lastTs, ts);
135
+ }
136
+ messages.push(ts === null ? { role, content } : { role, content, timestamp: ts });
137
+ }
138
+ }
139
+ return { messages, summaryTitle, firstTs, lastTs };
140
+ }
141
+ function title(parsed) {
142
+ if (parsed.summaryTitle)
143
+ return parsed.summaryTitle;
144
+ for (const m of parsed.messages) {
145
+ if (m.role !== 'user')
146
+ continue;
147
+ const t = str(m.content).split(/\s+/).filter(Boolean).join(' ');
148
+ if (t)
149
+ return t.slice(0, 80);
150
+ }
151
+ return 'Claude Code Session';
152
+ }
153
+ export class ClaudeCodeSessionSource {
154
+ dir;
155
+ cache = new Map();
156
+ constructor(dir) {
157
+ this.dir = dir;
158
+ }
159
+ /** Python `_iter_claude_code_jsonl_files`: the 200 most recently modified regular `*.jsonl` files. */
160
+ files() {
161
+ const out = [];
162
+ let root;
163
+ try {
164
+ if (lstatSync(this.dir()).isSymbolicLink())
165
+ return out;
166
+ root = realpathSync(this.dir());
167
+ if (!statSync(root).isDirectory())
168
+ return out;
169
+ }
170
+ catch {
171
+ return out;
172
+ }
173
+ let projects;
174
+ try {
175
+ projects = readdirSync(root).sort();
176
+ }
177
+ catch {
178
+ return out;
179
+ }
180
+ for (const project of projects) {
181
+ const projectDir = join(root, project);
182
+ let names;
183
+ try {
184
+ if (!lstatSync(projectDir).isDirectory())
185
+ continue;
186
+ names = readdirSync(projectDir).sort();
187
+ }
188
+ catch {
189
+ continue;
190
+ }
191
+ for (const name of names) {
192
+ if (!name.toLowerCase().endsWith('.jsonl'))
193
+ continue;
194
+ const path = join(projectDir, name);
195
+ try {
196
+ const st = lstatSync(path, { bigint: true });
197
+ if (!st.isFile() || st.size > BigInt(MAX_FILE_BYTES))
198
+ continue;
199
+ out.push({ path, stamp: `${st.size.toString()}:${st.mtimeNs.toString()}:${st.ctimeNs.toString()}`, mtime: Number(st.mtimeMs) / 1000 });
200
+ }
201
+ catch {
202
+ continue;
203
+ }
204
+ }
205
+ }
206
+ // The cap keeps the newest transcripts, so a new conversation is never crowded out by older ones.
207
+ return out.sort((a, b) => b.mtime - a.mtime).slice(0, MAX_FILES);
208
+ }
209
+ parsed(file) {
210
+ const hit = this.cache.get(file.path);
211
+ if (hit?.stamp === file.stamp)
212
+ return hit.parsed;
213
+ const parsed = parse(file.path);
214
+ this.cache.set(file.path, { stamp: file.stamp, parsed });
215
+ return parsed;
216
+ }
217
+ /** The sidebar rows, newest first: read-only external-agent sessions that belong to no Hermes profile. */
218
+ rows(workspace) {
219
+ const files = this.files();
220
+ // Drop cache entries for transcripts that left the scan, so the cache stays bounded by it.
221
+ const live = new Set(files.map((f) => f.path));
222
+ for (const path of this.cache.keys())
223
+ if (!live.has(path))
224
+ this.cache.delete(path);
225
+ const rows = [];
226
+ for (const file of files) {
227
+ const parsed = this.parsed(file);
228
+ if (!parsed.messages.length)
229
+ continue;
230
+ const fallback = !parsed.firstTs && !parsed.lastTs ? file.mtime : null;
231
+ const createdAt = parsed.firstTs || parsed.lastTs || fallback;
232
+ const updatedAt = parsed.lastTs || parsed.firstTs || fallback;
233
+ rows.push({
234
+ session_id: sessionId(file.path), title: title(parsed), workspace, model: 'claude-code', message_count: parsed.messages.length,
235
+ created_at: createdAt, updated_at: updatedAt, last_message_at: updatedAt, pinned: false, archived: false, project_id: null, profile: null,
236
+ source_tag: CLAUDE_CODE_SOURCE, raw_source: CLAUDE_CODE_SOURCE, session_source: 'external_agent', source_label: 'Claude Code',
237
+ is_cli_session: true, read_only: true,
238
+ });
239
+ }
240
+ return rows.sort((a, b) => Number(b.last_message_at ?? 0) - Number(a.last_message_at ?? 0));
241
+ }
242
+ /** One transcript's messages, or none when no scanned file has this id. */
243
+ messages(sid) {
244
+ if (!isClaudeCodeSessionId(sid))
245
+ return [];
246
+ const file = this.files().find((f) => sessionId(f.path) === sid);
247
+ return file ? [...this.parsed(file).messages] : [];
248
+ }
249
+ }
250
+ //# sourceMappingURL=claude-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/sessions/claude-code.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ type Dict = Record<string, unknown>;
7
7
  export declare const COMPLETION_POLL_MS = 1000;
8
8
  export interface CompletionDrainDeps {
9
9
  sidecar: () => SidecarLike | null;
10
+ /** The base Hermes home: every profile under it has its background processes recovered in a new sidecar (TAL-533). */
11
+ baseHome: string;
10
12
  profileHome: (profile: string | null) => string;
11
13
  activeProfile: () => string;
12
14
  store: SessionStore;
@@ -37,6 +39,10 @@ export declare class CompletionDrain {
37
39
  private readonly retryTimers;
38
40
  private readonly lastEmitAt;
39
41
  private readonly pendingEmit;
42
+ /** The handshake of the sidecar whose process registry already recovered every profile's checkpoint. */
43
+ private recoveredFor;
44
+ private recoveryWarnedFor;
45
+ private lastDrainError;
40
46
  constructor(deps: CompletionDrainDeps);
41
47
  start(): void;
42
48
  stop(): void;
@@ -66,10 +72,16 @@ export declare class CompletionDrain {
66
72
  * lease bounds a lost hand-back.
67
73
  */
68
74
  private settleClaims;
69
- private profileHome;
70
75
  private scheduleRetry;
71
76
  /** Python `_start_server_side_wakeup_turn`: one batched turn; 409 re-defers, other failures re-defer with a timed retry. */
72
77
  private startWakeup;
78
+ /**
79
+ * TAL-532: the deferred process completions the agent already holds from its own turn (wait/log or poll). Checked at
80
+ * delivery, not drain: the completion is usually drained seconds before the agent's wait returns. Only completions:
81
+ * consuming the exit says nothing about a watch match or notice, and async delegations settle in their delivery ledger.
82
+ * A failed check delivers everything rather than lose a result.
83
+ */
84
+ private alreadyConsumed;
73
85
  /** Python `drain_deferred_wakeups_for_session`: turn-teardown idle hook; only the last active stream's teardown fires. */
74
86
  drainDeferred(sid: string): Promise<number>;
75
87
  /** Reaper sweep: forget dedupe sets for sessions with nothing pending. */
@@ -48,6 +48,10 @@ export class CompletionDrain {
48
48
  retryTimers = new Map();
49
49
  lastEmitAt = new Map();
50
50
  pendingEmit = new Map();
51
+ /** The handshake of the sidecar whose process registry already recovered every profile's checkpoint. */
52
+ recoveredFor = null;
53
+ recoveryWarnedFor = null;
54
+ lastDrainError = null;
51
55
  constructor(deps) {
52
56
  this.deps = deps;
53
57
  }
@@ -57,7 +61,13 @@ export class CompletionDrain {
57
61
  const tick = () => {
58
62
  if (this.stopped)
59
63
  return;
60
- void this.drainOnce().catch((error) => { this.deps.log(`[webui] WARNING: bg_task_complete drain failed: ${error.message}`); }).finally(() => {
64
+ // A lasting failure (an unrecoverable checkpoint fails every call in its home, TAL-533) is logged once, not every poll.
65
+ void this.drainOnce().then(() => { this.lastDrainError = null; }, (error) => {
66
+ const message = error.message;
67
+ if (message !== this.lastDrainError)
68
+ this.deps.log(`[webui] WARNING: bg_task_complete drain failed: ${message}`);
69
+ this.lastDrainError = message;
70
+ }).finally(() => {
61
71
  if (this.stopped)
62
72
  return;
63
73
  this.timer = setTimeout(tick, this.deps.pollMs ?? COMPLETION_POLL_MS);
@@ -82,6 +92,21 @@ export class CompletionDrain {
82
92
  const sidecar = this.deps.sidecar();
83
93
  if (!sidecar)
84
94
  return 0;
95
+ // Each sidecar handshake is a fresh process registry: re-adopt every profile's checkpointed processes before the first
96
+ // drain, so one that exits in a profile nobody has used since the restart still reports its completion.
97
+ const describe = sidecar.describe;
98
+ if (describe && describe !== this.recoveredFor) {
99
+ try {
100
+ await sidecar.call('process.recover', { base_home: this.deps.baseHome });
101
+ this.recoveredFor = describe;
102
+ }
103
+ catch (error) {
104
+ // Retried on every pass; reported once per sidecar so a lasting failure does not flood the log.
105
+ if (this.recoveryWarnedFor !== describe)
106
+ this.deps.log(`[webui] WARNING: background process recovery failed; retrying: ${error.message}`);
107
+ this.recoveryWarnedFor = describe;
108
+ }
109
+ }
85
110
  const { events } = await sidecar.call('process.drain', { profile_home: this.deps.profileHome(this.deps.activeProfile()), max_events: 256 });
86
111
  let routed = 0;
87
112
  const unrouted = [];
@@ -244,7 +269,7 @@ export class CompletionDrain {
244
269
  * another consumer delivered (or holds) it, so it leaves the batch; a sidecar failure returns null so the caller keeps
245
270
  * every entry pending. Claims are taken at delivery, never while deferred, so a long turn cannot outlive the lease.
246
271
  */
247
- async claimBatch(batched) {
272
+ async claimBatch(home, batched) {
248
273
  const deliver = [];
249
274
  const held = [];
250
275
  for (const entry of batched) {
@@ -257,10 +282,10 @@ export class CompletionDrain {
257
282
  try {
258
283
  if (!sidecar)
259
284
  throw new Error('sidecar unavailable');
260
- claimId = (await sidecar.call('process.claim_delivery', { profile_home: this.profileHome(), event: entry.event, consumer: DELIVERY_CONSUMER })).claim_id;
285
+ claimId = (await sidecar.call('process.claim_delivery', { profile_home: home, event: entry.event, consumer: DELIVERY_CONSUMER })).claim_id;
261
286
  }
262
287
  catch (error) {
263
- await this.settleClaims('process.release_delivery', held);
288
+ await this.settleClaims(home, 'process.release_delivery', held);
264
289
  this.deps.log(`[webui] WARNING: async delegation delivery claim failed for ${entry.process_id}: ${error.message}; kept pending`);
265
290
  return null;
266
291
  }
@@ -277,20 +302,19 @@ export class CompletionDrain {
277
302
  * attempt spent), `release` when it failed (spends one; the Agent drops a row past its budget). Best effort: the Agent's
278
303
  * lease bounds a lost hand-back.
279
304
  */
280
- async settleClaims(method, held) {
305
+ async settleClaims(home, method, held) {
281
306
  const sidecar = this.deps.sidecar();
282
307
  if (!sidecar)
283
308
  return;
284
309
  for (const claim of held) {
285
310
  try {
286
- await sidecar.call(method, { profile_home: this.profileHome(), event: claim.event, claim_id: claim.claim_id });
311
+ await sidecar.call(method, { profile_home: home, event: claim.event, claim_id: claim.claim_id });
287
312
  }
288
313
  catch (error) {
289
314
  this.deps.log(`[webui] WARNING: ${method} failed for ${str(claim.event.delegation_id)}: ${error.message}`);
290
315
  }
291
316
  }
292
317
  }
293
- profileHome() { return this.deps.profileHome(this.deps.activeProfile()); }
294
318
  scheduleRetry(sid) {
295
319
  const attempts = (this.retryAttempts.get(sid) ?? 0) + 1;
296
320
  this.retryAttempts.set(sid, attempts);
@@ -323,7 +347,9 @@ export class CompletionDrain {
323
347
  this.deps.log(`[webui] WARNING: automatic wakeup retained: sealed snapshot ${sid} cannot own a turn`);
324
348
  return false;
325
349
  }
326
- const claimed = await this.claimBatch(batched);
350
+ // TAL-534: the delegation's ledger row lives in the session's own profile, whichever profile is active now.
351
+ const home = this.deps.profileHome(session.profile ?? this.deps.activeProfile());
352
+ const claimed = await this.claimBatch(home, batched);
327
353
  if (!claimed) {
328
354
  redefer(batched);
329
355
  this.scheduleRetry(sid);
@@ -336,7 +362,7 @@ export class CompletionDrain {
336
362
  return true;
337
363
  }
338
364
  // A wakeup that does not start hands its claims back, so those rows stay pending for the retry or the next restart.
339
- const giveBack = async (method = 'process.release_delivery') => { await this.settleClaims(method, held); redefer(deliver); };
365
+ const giveBack = async (method = 'process.release_delivery') => { await this.settleClaims(home, method, held); redefer(deliver); };
340
366
  const prompt = deliver.length === 1 ? deliver[0].wakeup_prompt : deliver.map((e) => e.wakeup_prompt).join('\n\n');
341
367
  let resp;
342
368
  try {
@@ -361,11 +387,30 @@ export class CompletionDrain {
361
387
  }
362
388
  this.retryAttempts.delete(sid);
363
389
  recordBackgroundUpdate(session, str(resp.stream_id), batchUpdate(deliver.map((e) => ({ event: e.event ?? {}, prompt: e.wakeup_prompt }))));
364
- await this.settleClaims('process.complete_delivery', held);
390
+ await this.settleClaims(home, 'process.complete_delivery', held);
365
391
  await this.markConsumed(batched.map((e) => e.process_id));
366
392
  this.deps.log(`[webui] server-side wakeup turn started for session ${sid} (stream_id=${str(resp.stream_id)})`);
367
393
  return true;
368
394
  }
395
+ /**
396
+ * TAL-532: the deferred process completions the agent already holds from its own turn (wait/log or poll). Checked at
397
+ * delivery, not drain: the completion is usually drained seconds before the agent's wait returns. Only completions:
398
+ * consuming the exit says nothing about a watch match or notice, and async delegations settle in their delivery ledger.
399
+ * A failed check delivers everything rather than lose a result.
400
+ */
401
+ async alreadyConsumed(entries) {
402
+ const completions = entries.filter((e) => e.process_id && str(e.event?.type ?? 'completion') === 'completion');
403
+ const sidecar = this.deps.sidecar();
404
+ if (!completions.length || !sidecar)
405
+ return new Set();
406
+ try {
407
+ const { consumed } = await sidecar.call('process.consumed', { process_ids: completions.map((e) => e.process_id) });
408
+ return new Set(completions.filter((e) => consumed.includes(e.process_id)));
409
+ }
410
+ catch {
411
+ return new Set();
412
+ }
413
+ }
369
414
  /** Python `drain_deferred_wakeups_for_session`: turn-teardown idle hook; only the last active stream's teardown fires. */
370
415
  async drainDeferred(sid) {
371
416
  if (!sid || this.hasActiveTurn(sid))
@@ -375,7 +420,14 @@ export class CompletionDrain {
375
420
  return 0;
376
421
  this.deferred.delete(sid);
377
422
  this.pendingSessions.delete(sid);
378
- const pending = entries.filter((e) => e.wakeup_prompt.trim());
423
+ const prompted = entries.filter((e) => e.wakeup_prompt.trim());
424
+ const held = await this.alreadyConsumed(prompted);
425
+ if (held.size) {
426
+ const ids = [...held].map((e) => e.process_id);
427
+ await this.markConsumed(ids);
428
+ this.deps.log(`[webui] dropped ${String(held.size)} deferred wakeup(s) already consumed by the agent's own turn for session ${sid}: ${ids.join(', ')}`);
429
+ }
430
+ const pending = prompted.filter((e) => !held.has(e));
379
431
  if (!pending.length) {
380
432
  this.retryAttempts.delete(sid);
381
433
  return 0;
@@ -1 +1 @@
1
- {"version":3,"file":"completions.js","sourceRoot":"","sources":["../../src/sessions/completions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completions.js","sourceRoot":"","sources":["../../src/sessions/completions.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,23 @@
1
- import type { Message } from './session.js';
1
+ import type { Message, Session } from './session.js';
2
2
  /** Python `visible_messages_for_anchor(auto_compression=False)`: the transcript rows a manual compression anchors to. */
3
3
  export declare function visibleMessagesForAnchor(messages: Message[]): Message[];
4
4
  /** Python `_anchor_message_key`: the identity a client matches the anchor row by. */
5
5
  export declare function anchorMessageKey(m: Message | undefined): Record<string, unknown> | null;
6
6
  /** Python: the anchor summary is the reference line, else the token line or headline, else the compressor's own summary row. */
7
7
  export declare function anchorSummary(summary: Record<string, unknown> | null, compressed: Message[]): string | null;
8
+ export interface CompressionReference {
9
+ text: string;
10
+ after_message_index: number | null;
11
+ }
12
+ /**
13
+ * TAL-560: the "Context compaction · Reference only" card: the compaction summary and the row of `messages` (a full
14
+ * display transcript, so the index is in the `_messages_offset` space of every window) it renders after; null there puts
15
+ * it above the transcript. The anchor key's newest match wins, else the stored visible index. Null without a summary or
16
+ * when a compaction marker row in the transcript already shows it.
17
+ */
18
+ export declare function compressionReference(s: Session, messages: unknown[]): CompressionReference | null;
19
+ /** TAL-540, Python `_compression_summary_from_messages`: an auto-compression's anchor summary is its newest marker's text. */
20
+ export declare function markerSummary(messages: Message[]): string | null;
8
21
  /** Old `_MANUAL_COMPRESSION_JOB_TTL_SECONDS`: a finished job stays readable so every open tab sees one result. */
9
22
  export declare const COMPRESSION_JOB_TTL_SECONDS: number;
10
23
  export interface CompressionJob {