@maudecode/talaria-web 1.17.2 → 1.18.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 (387) hide show
  1. package/_release.json +8 -8
  2. package/dist/api/auth-raw.d.ts +1 -1
  3. package/dist/api/auth-raw.js +4 -4
  4. package/dist/api/auth-raw.js.map +1 -1
  5. package/dist/api/automation-raw.d.ts +6 -0
  6. package/dist/api/automation-raw.js +53 -6
  7. package/dist/api/automation-raw.js.map +1 -1
  8. package/dist/api/automation-router.d.ts +26 -1
  9. package/dist/api/automation-router.js +16 -2
  10. package/dist/api/automation-router.js.map +1 -1
  11. package/dist/api/chat-router.d.ts +649 -15
  12. package/dist/api/chat-router.js +52 -50
  13. package/dist/api/chat-router.js.map +1 -1
  14. package/dist/api/git-router.d.ts +35 -1
  15. package/dist/api/git-router.js +18 -19
  16. package/dist/api/git-router.js.map +1 -1
  17. package/dist/api/raw-routes.d.ts +8 -0
  18. package/dist/api/raw-routes.js +247 -36
  19. package/dist/api/raw-routes.js.map +1 -1
  20. package/dist/api/router.d.ts +10 -0
  21. package/dist/api/router.js +10 -8
  22. package/dist/api/router.js.map +1 -1
  23. package/dist/api/sessions-router.d.ts +1492 -115
  24. package/dist/api/sessions-router.js +134 -8
  25. package/dist/api/sessions-router.js.map +1 -1
  26. package/dist/api/settings-router.d.ts +31 -0
  27. package/dist/api/settings-router.js +8 -3
  28. package/dist/api/settings-router.js.map +1 -1
  29. package/dist/api/sse-routes.d.ts +5 -0
  30. package/dist/api/sse-routes.js +50 -3
  31. package/dist/api/sse-routes.js.map +1 -1
  32. package/dist/api/tools-raw.js +6 -23
  33. package/dist/api/tools-raw.js.map +1 -1
  34. package/dist/api/tools-router.d.ts +356 -15
  35. package/dist/api/tools-router.js +148 -19
  36. package/dist/api/tools-router.js.map +1 -1
  37. package/dist/app.js +35 -15
  38. package/dist/app.js.map +1 -1
  39. package/dist/auth/gate.js +5 -2
  40. package/dist/auth/gate.js.map +1 -1
  41. package/dist/auth/oidc.d.ts +5 -2
  42. package/dist/auth/oidc.js +8 -7
  43. package/dist/auth/oidc.js.map +1 -1
  44. package/dist/bin/talaria-web.js +1 -1
  45. package/dist/bin/talaria-web.js.map +1 -1
  46. package/dist/cli/dotenv.js +1 -0
  47. package/dist/cli/dotenv.js.map +1 -1
  48. package/dist/config/agent-config.js +3 -2
  49. package/dist/config/agent-config.js.map +1 -1
  50. package/dist/config.d.ts +2 -0
  51. package/dist/config.js +5 -1
  52. package/dist/config.js.map +1 -1
  53. package/dist/http/context.d.ts +17 -3
  54. package/dist/http/context.js +31 -4
  55. package/dist/http/context.js.map +1 -1
  56. package/dist/http/csp.d.ts +2 -1
  57. package/dist/http/csp.js +3 -2
  58. package/dist/http/csp.js.map +1 -1
  59. package/dist/profiles/profiles.d.ts +10 -0
  60. package/dist/profiles/profiles.js +40 -2
  61. package/dist/profiles/profiles.js.map +1 -1
  62. package/dist/providers/catalog.d.ts +6 -2
  63. package/dist/providers/catalog.js +30 -11
  64. package/dist/providers/catalog.js.map +1 -1
  65. package/dist/raster-image.d.ts +7 -0
  66. package/dist/raster-image.js +267 -0
  67. package/dist/raster-image.js.map +1 -0
  68. package/dist/redact.js +327 -40
  69. package/dist/redact.js.map +1 -1
  70. package/dist/runtime.js +89 -23
  71. package/dist/runtime.js.map +1 -1
  72. package/dist/server.js +5 -0
  73. package/dist/server.js.map +1 -1
  74. package/dist/sessions/background-tasks.d.ts +2 -9
  75. package/dist/sessions/background-tasks.js +2 -12
  76. package/dist/sessions/background-tasks.js.map +1 -1
  77. package/dist/sessions/cli-sessions.d.ts +15 -4
  78. package/dist/sessions/cli-sessions.js +120 -29
  79. package/dist/sessions/cli-sessions.js.map +1 -1
  80. package/dist/sessions/completions.d.ts +48 -8
  81. package/dist/sessions/completions.js +222 -26
  82. package/dist/sessions/completions.js.map +1 -1
  83. package/dist/sessions/export.d.ts +5 -0
  84. package/dist/sessions/export.js +30 -0
  85. package/dist/sessions/export.js.map +1 -1
  86. package/dist/sessions/gateway-watcher.d.ts +7 -3
  87. package/dist/sessions/gateway-watcher.js +31 -19
  88. package/dist/sessions/gateway-watcher.js.map +1 -1
  89. package/dist/sessions/handoff.d.ts +32 -0
  90. package/dist/sessions/handoff.js +114 -0
  91. package/dist/sessions/handoff.js.map +1 -0
  92. package/dist/sessions/list.d.ts +7 -1
  93. package/dist/sessions/list.js +13 -5
  94. package/dist/sessions/list.js.map +1 -1
  95. package/dist/sessions/merge.d.ts +2 -4
  96. package/dist/sessions/merge.js +8 -15
  97. package/dist/sessions/merge.js.map +1 -1
  98. package/dist/sessions/recovery.d.ts +22 -0
  99. package/dist/sessions/recovery.js +506 -0
  100. package/dist/sessions/recovery.js.map +1 -0
  101. package/dist/sessions/relay.d.ts +21 -2
  102. package/dist/sessions/relay.js +156 -11
  103. package/dist/sessions/relay.js.map +1 -1
  104. package/dist/sessions/service.d.ts +108 -6
  105. package/dist/sessions/service.js +403 -29
  106. package/dist/sessions/service.js.map +1 -1
  107. package/dist/sessions/session.d.ts +6 -0
  108. package/dist/sessions/session.js +40 -2
  109. package/dist/sessions/session.js.map +1 -1
  110. package/dist/sessions/state-db-worker.d.ts +1 -0
  111. package/dist/sessions/state-db-worker.js +33 -0
  112. package/dist/sessions/state-db-worker.js.map +1 -0
  113. package/dist/sessions/state-db.d.ts +61 -0
  114. package/dist/sessions/state-db.js +291 -0
  115. package/dist/sessions/state-db.js.map +1 -1
  116. package/dist/sessions/store.d.ts +7 -0
  117. package/dist/sessions/store.js +31 -22
  118. package/dist/sessions/store.js.map +1 -1
  119. package/dist/sessions/titles.d.ts +2 -0
  120. package/dist/sessions/titles.js +4 -0
  121. package/dist/sessions/titles.js.map +1 -1
  122. package/dist/sessions/tool-display.d.ts +3 -3
  123. package/dist/sessions/tool-display.js +11 -37
  124. package/dist/sessions/tool-display.js.map +1 -1
  125. package/dist/sessions/turn-context.d.ts +1 -1
  126. package/dist/sessions/turn-context.js +11 -7
  127. package/dist/sessions/turn-context.js.map +1 -1
  128. package/dist/sessions/turn.d.ts +37 -2
  129. package/dist/sessions/turn.js +182 -49
  130. package/dist/sessions/turn.js.map +1 -1
  131. package/dist/sessions/wakeup-pause.d.ts +59 -0
  132. package/dist/sessions/wakeup-pause.js +181 -0
  133. package/dist/sessions/wakeup-pause.js.map +1 -0
  134. package/dist/settings.js +5 -7
  135. package/dist/settings.js.map +1 -1
  136. package/dist/sidecar/fake.d.ts +2 -2
  137. package/dist/sidecar/fake.js.map +1 -1
  138. package/dist/startup.d.ts +13 -5
  139. package/dist/startup.js +48 -0
  140. package/dist/startup.js.map +1 -1
  141. package/dist/test/ts-worker-hooks.d.ts +1 -0
  142. package/dist/test/ts-worker-hooks.js +24 -0
  143. package/dist/test/ts-worker-hooks.js.map +1 -0
  144. package/dist/text/diff.d.ts +9 -14
  145. package/dist/text/diff.js +74 -108
  146. package/dist/text/diff.js.map +1 -1
  147. package/dist/tools/crons.js +45 -8
  148. package/dist/tools/crons.js.map +1 -1
  149. package/dist/tools/dashboard-plugins.d.ts +53 -0
  150. package/dist/tools/dashboard-plugins.js +188 -0
  151. package/dist/tools/dashboard-plugins.js.map +1 -0
  152. package/dist/tools/extensions.d.ts +13 -1
  153. package/dist/tools/extensions.js +132 -60
  154. package/dist/tools/extensions.js.map +1 -1
  155. package/dist/tools/health.d.ts +32 -0
  156. package/dist/tools/health.js +111 -19
  157. package/dist/tools/health.js.map +1 -1
  158. package/dist/tools/mcp.d.ts +13 -0
  159. package/dist/tools/mcp.js +88 -0
  160. package/dist/tools/mcp.js.map +1 -1
  161. package/dist/tools/project-os.d.ts +11 -0
  162. package/dist/tools/project-os.js +267 -0
  163. package/dist/tools/project-os.js.map +1 -0
  164. package/dist/tools/skills.d.ts +5 -1
  165. package/dist/tools/skills.js +5 -3
  166. package/dist/tools/skills.js.map +1 -1
  167. package/dist/tools/updates.d.ts +27 -9
  168. package/dist/tools/updates.js +163 -51
  169. package/dist/tools/updates.js.map +1 -1
  170. package/dist/tools/wiki.d.ts +68 -0
  171. package/dist/tools/wiki.js +413 -0
  172. package/dist/tools/wiki.js.map +1 -0
  173. package/dist/workspace/escape.d.ts +61 -0
  174. package/dist/workspace/escape.js +149 -0
  175. package/dist/workspace/escape.js.map +1 -0
  176. package/dist/workspace/extract.d.ts +22 -0
  177. package/dist/workspace/extract.js +308 -0
  178. package/dist/workspace/extract.js.map +1 -0
  179. package/dist/workspace/fs.d.ts +12 -0
  180. package/dist/workspace/fs.js +92 -23
  181. package/dist/workspace/fs.js.map +1 -1
  182. package/dist/workspace/git.d.ts +18 -0
  183. package/dist/workspace/git.js +38 -25
  184. package/dist/workspace/git.js.map +1 -1
  185. package/dist/workspace/media.d.ts +4 -4
  186. package/dist/workspace/media.js +16 -45
  187. package/dist/workspace/media.js.map +1 -1
  188. package/dist/workspace/rollback.d.ts +34 -20
  189. package/dist/workspace/rollback.js +171 -265
  190. package/dist/workspace/rollback.js.map +1 -1
  191. package/dist/workspace/unzip.js +4 -1
  192. package/dist/workspace/unzip.js.map +1 -1
  193. package/dist/workspace/upload.d.ts +7 -4
  194. package/dist/workspace/upload.js +5 -2
  195. package/dist/workspace/upload.js.map +1 -1
  196. package/dist/workspace/worktrees.d.ts +2 -1
  197. package/dist/workspace/worktrees.js +14 -15
  198. package/dist/workspace/worktrees.js.map +1 -1
  199. package/package.json +4 -2
  200. package/sidecar/agent_dependency.json +4 -4
  201. package/sidecar/scripts/replay_sidecar.py +24 -0
  202. package/sidecar/talaria_sidecar/__init__.py +1 -1
  203. package/sidecar/talaria_sidecar/home.py +13 -2
  204. package/sidecar/talaria_sidecar/methods/__init__.py +2 -2
  205. package/sidecar/talaria_sidecar/methods/aux.py +39 -5
  206. package/sidecar/talaria_sidecar/methods/chat.py +9 -5
  207. package/sidecar/talaria_sidecar/methods/checkpoints.py +89 -0
  208. package/sidecar/talaria_sidecar/methods/commands.py +81 -0
  209. package/sidecar/talaria_sidecar/methods/cron.py +29 -2
  210. package/sidecar/talaria_sidecar/methods/gateway.py +32 -15
  211. package/sidecar/talaria_sidecar/methods/kanban.py +28 -7
  212. package/sidecar/talaria_sidecar/methods/mcp.py +1 -1
  213. package/sidecar/talaria_sidecar/methods/process.py +58 -4
  214. package/sidecar/talaria_sidecar/methods/profiles.py +77 -7
  215. package/sidecar/talaria_sidecar/methods/providers.py +27 -8
  216. package/sidecar/talaria_sidecar/methods/state_db.py +39 -5
  217. package/sidecar/talaria_sidecar/runtime.py +17 -1
  218. package/static/dist/FILES.txt +127 -126
  219. package/static/dist/assets/AppShell-g3bkgnvt.js +1 -0
  220. package/static/dist/assets/ChatPage-oo7bdan6.js +25 -0
  221. package/static/dist/assets/Dialog-g355qxhp.js +1 -0
  222. package/static/dist/assets/ExtensionRoute-i2y9fvjm.js +1 -0
  223. package/static/dist/assets/HubRoute-lmkrbw47.js +2 -0
  224. package/static/dist/assets/{Markdown-mdwlvj3w.js → Markdown-j4kut4j2.js} +114 -114
  225. package/static/dist/assets/{RightPanel-ftvrjlcp.js → RightPanel-ohlsdzfl.js} +1 -1
  226. package/static/dist/assets/Select-kddq75qc.js +1 -0
  227. package/static/dist/assets/SessionListPanel-lu3oy0hw.js +1 -0
  228. package/static/dist/assets/{SettingsLayout-jonjefmj.js → SettingsLayout-o9bv4mgb.js} +1 -1
  229. package/static/dist/assets/{States-nmejrwrm.js → States-eq6fe29m.js} +1 -1
  230. package/static/dist/assets/Toaster-pc247u9f.js +1 -0
  231. package/static/dist/assets/{_app-gdidzd94.js → _app-f8n1i0m1.js} +1 -1
  232. package/static/dist/assets/{_app.ext._extensionId-opyh9y0v.js → _app.ext._extensionId-gfbzpoou.js} +1 -1
  233. package/static/dist/assets/_app.index-bzzv80hk.js +1 -0
  234. package/static/dist/assets/_app.insights-dzixbryi.js +1 -0
  235. package/static/dist/assets/_app.kanban-c6hep2us.js +1 -0
  236. package/static/dist/assets/_app.logs-i69qds98.js +1 -0
  237. package/static/dist/assets/_app.memory-kl4vf0gd.js +1 -0
  238. package/static/dist/assets/_app.profiles-b8zinmyp.js +1 -0
  239. package/static/dist/assets/{_app.session._sessionId-bfd4h3id.js → _app.session._sessionId-fn1bhde6.js} +1 -1
  240. package/static/dist/assets/_app.settings-cg8plwmf.js +1 -0
  241. package/static/dist/assets/_app.settings._section-bkwbi9zn.js +3 -0
  242. package/static/dist/assets/_app.skills-cs47sbvs.js +1 -0
  243. package/static/dist/assets/_app.tasks-dwvk64tc.js +1 -0
  244. package/static/dist/assets/_app.todos-c8xjm8p3.js +1 -0
  245. package/static/dist/assets/_app.workspaces-ehvd1gds.js +1 -0
  246. package/static/dist/assets/{abnfDiagram-VCTEODGH-b2x1lqot.js → abnfDiagram-VCTEODGH-c8kdixke.js} +1 -1
  247. package/static/dist/assets/architecture-7GRP2DOG-6crvnylg.js +1 -0
  248. package/static/dist/assets/{architectureDiagram-5GKGNRK7-h38o5l7b.js → architectureDiagram-5GKGNRK7-cku06x1p.js} +1 -1
  249. package/static/dist/assets/{back-bemaer09.js → back-h7aun7ew.js} +1 -1
  250. package/static/dist/assets/{blockDiagram-I7D4REHJ-bqquxv2u.js → blockDiagram-I7D4REHJ-jzthp1wa.js} +1 -1
  251. package/static/dist/assets/{c4Diagram-7LVT6UL2-f3fb8w6z.js → c4Diagram-7LVT6UL2-mwr67mt8.js} +1 -1
  252. package/static/dist/assets/{cancel-drd0g6d9.js → cancel-fhi0vcnu.js} +1 -1
  253. package/static/dist/assets/channel-b2zo73z1.js +1 -0
  254. package/static/dist/assets/{chunk-4HAMMTFA-bzfyyzp3.js → chunk-4HAMMTFA-gpq1y228.js} +1 -1
  255. package/static/dist/assets/{chunk-75Z2AOVW-ly99rfx5.js → chunk-75Z2AOVW-ktje58c4.js} +1 -1
  256. package/static/dist/assets/{chunk-DU6HZSFF-bg6ecfqf.js → chunk-DU6HZSFF-ofajdixh.js} +3 -3
  257. package/static/dist/assets/{chunk-F27PBJKO-e8k7mmqw.js → chunk-F27PBJKO-cmev85ti.js} +1 -1
  258. package/static/dist/assets/{chunk-GMAD6QVW-cmalnoaj.js → chunk-GMAD6QVW-htjgt22y.js} +1 -1
  259. package/static/dist/assets/{chunk-GVQU2GXP-gmif5o01.js → chunk-GVQU2GXP-qndvoxl7.js} +1 -1
  260. package/static/dist/assets/{chunk-IMKFNOWR-f1nwwh6u.js → chunk-IMKFNOWR-e5bkd5q6.js} +1 -1
  261. package/static/dist/assets/{chunk-L3NEJ4N5-oktfh5v7.js → chunk-L3NEJ4N5-mj1155r6.js} +1 -1
  262. package/static/dist/assets/{chunk-OSK3NFVY-b1sdx96z.js → chunk-OSK3NFVY-e7gkikcw.js} +1 -1
  263. package/static/dist/assets/{chunk-P2QGCYS3-fhu4nzxt.js → chunk-P2QGCYS3-f7t54xfm.js} +1 -1
  264. package/static/dist/assets/{chunk-POPQ4Y6H-em31rnef.js → chunk-POPQ4Y6H-i927v9oa.js} +1 -1
  265. package/static/dist/assets/{chunk-PWAF6VOD-bxhhyftw.js → chunk-PWAF6VOD-m84lmnyt.js} +1 -1
  266. package/static/dist/assets/{chunk-SHT3W25Y-fmrvwcav.js → chunk-SHT3W25Y-mi0tlcu9.js} +1 -1
  267. package/static/dist/assets/{chunk-SVP7TREG-lymukl2j.js → chunk-SVP7TREG-dnau702j.js} +1 -1
  268. package/static/dist/assets/{chunk-TICWLB2K-lmza6k23.js → chunk-TICWLB2K-edem1gkg.js} +1 -1
  269. package/static/dist/assets/classDiagram-ZZMXUADV-oe99st8x.js +1 -0
  270. package/static/dist/assets/classDiagram-v2-VYDZK3BY-oe99st8x.js +1 -0
  271. package/static/dist/assets/{copied-ima3pysb.js → copied-hcplv46p.js} +1 -1
  272. package/static/dist/assets/{copy-fw5b1pc6.js → copy-magtofyp.js} +1 -1
  273. package/static/dist/assets/{cynefin-OW5HDTMX-czlhbyhs.js → cynefin-OW5HDTMX-siqlulkl.js} +1 -1
  274. package/static/dist/assets/{cynefinDiagram-5FMLGOSQ-gq7mvswb.js → cynefinDiagram-5FMLGOSQ-i648tah9.js} +1 -1
  275. package/static/dist/assets/{dagre-GXQ25YYZ-cqdbf7dr.js → dagre-GXQ25YYZ-mwn6uc17.js} +1 -1
  276. package/static/dist/assets/{diagram-S7CK7UJ4-o6arxa58.js → diagram-S7CK7UJ4-l8abxaes.js} +1 -1
  277. package/static/dist/assets/{diagram-UQ7AKVKN-nhnd68tz.js → diagram-UQ7AKVKN-mekq7zgq.js} +1 -1
  278. package/static/dist/assets/{diagram-VSXAHHWV-dk2sclzn.js → diagram-VSXAHHWV-fnky6lvc.js} +1 -1
  279. package/static/dist/assets/{diagram-VX7I27RA-n3k5nyx3.js → diagram-VX7I27RA-xe6r5qfw.js} +1 -1
  280. package/static/dist/assets/{diagram-Z3DM3KII-m6q9cwdh.js → diagram-Z3DM3KII-nq07dg7k.js} +1 -1
  281. package/static/dist/assets/{ebnfDiagram-PWID7BFC-lsa5641p.js → ebnfDiagram-PWID7BFC-c62ipm3g.js} +1 -1
  282. package/static/dist/assets/endpoints-klbxod4t.js +64 -0
  283. package/static/dist/assets/{erDiagram-RLTQ6QDP-fo2ckbe6.js → erDiagram-RLTQ6QDP-h39kmnzy.js} +1 -1
  284. package/static/dist/assets/eventmodeling-NTZA5JFV-obfede4u.js +1 -0
  285. package/static/dist/assets/flowDiagram-HODETNUW-kdpsp1je.js +1 -0
  286. package/static/dist/assets/{ganttDiagram-EL5Y4UJY-nzqz6x9g.js → ganttDiagram-EL5Y4UJY-ngbsyp37.js} +1 -1
  287. package/static/dist/assets/{gitGraph-4MIJSDKK-gukvcxe6.js → gitGraph-4MIJSDKK-fr2i7caa.js} +1 -1
  288. package/static/dist/assets/{gitGraphDiagram-WWUBYQGX-lqhdp8f0.js → gitGraphDiagram-WWUBYQGX-eravdti4.js} +1 -1
  289. package/static/dist/assets/{highlighted-body-KPVGNVTW-igw6cp39.js → highlighted-body-KPVGNVTW-jwpop9p8.js} +1 -1
  290. package/static/dist/assets/host-i828xuo7.js +1 -0
  291. package/static/dist/assets/index-eh8zilnv.css +2 -0
  292. package/static/dist/assets/{index-cxq58xb1.js → index-r648f4o1.js} +5 -5
  293. package/static/dist/assets/{info-A6RAGUB7-gvu7a93l.js → info-A6RAGUB7-h11x0dxo.js} +1 -1
  294. package/static/dist/assets/{infoDiagram-27XIBGKW-m8t8g6w1.js → infoDiagram-27XIBGKW-dfh47dw9.js} +1 -1
  295. package/static/dist/assets/{ishikawaDiagram-5VMMS53U-l07vkbgj.js → ishikawaDiagram-5VMMS53U-i6ypq351.js} +1 -1
  296. package/static/dist/assets/{journeyDiagram-3NMN7TZE-hybkgj8l.js → journeyDiagram-3NMN7TZE-lduf1z95.js} +1 -1
  297. package/static/dist/assets/{kanban-definition-UXKFOSKX-by13uvtn.js → kanban-definition-UXKFOSKX-e18bu4pg.js} +1 -1
  298. package/static/dist/assets/{lazyRouteComponent-af0lvgjx.js → lazyRouteComponent-e1y4t2i9.js} +1 -1
  299. package/static/dist/assets/{line-osxq6fq7.js → line-meizqsvn.js} +1 -1
  300. package/static/dist/assets/{link-jyxicdhg.js → link-oot2yn73.js} +1 -1
  301. package/static/dist/assets/login-gu28l9ou.js +1 -0
  302. package/static/dist/assets/mermaid-HWGCJPDP-mtwrj8fn.js +1 -0
  303. package/static/dist/assets/{mermaid-parser.core-i91oxmou.js → mermaid-parser.core-ntne45i9.js} +3 -3
  304. package/static/dist/assets/{mindmap-definition-YA3MSWOX-m82mx8ww.js → mindmap-definition-YA3MSWOX-27b26eok.js} +1 -1
  305. package/static/dist/assets/onboarding-lkphzu1s.js +1 -0
  306. package/static/dist/assets/{onboarding_model_label-dp7xffoh.js → onboarding_model_label-ftpjdwqk.js} +1 -1
  307. package/static/dist/assets/{packet-AYTQ26CC-nbtgge2o.js → packet-AYTQ26CC-l6jdka8p.js} +1 -1
  308. package/static/dist/assets/{pegDiagram-XKGWAZYB-f1zxzga1.js → pegDiagram-XKGWAZYB-g1er3bxj.js} +1 -1
  309. package/static/dist/assets/{pie-WAS4IAKB-of8vuhxs.js → pie-WAS4IAKB-i0ylcrt9.js} +1 -1
  310. package/static/dist/assets/{pieDiagram-E7YTZNPT-o7y8ftio.js → pieDiagram-E7YTZNPT-fbz1e55z.js} +1 -1
  311. package/static/dist/assets/{quadrantDiagram-AXDQQJYC-iqiwia1t.js → quadrantDiagram-AXDQQJYC-hhue7d8o.js} +1 -1
  312. package/static/dist/assets/{radar-RG4KPBEZ-delnsy2v.js → radar-RG4KPBEZ-f9b70aa4.js} +1 -1
  313. package/static/dist/assets/{railroad-74A4TZTK-nspnyq9u.js → railroad-74A4TZTK-lgsuoeda.js} +1 -1
  314. package/static/dist/assets/railroad-abnf-HS5TGJTU-nf9d6pdx.js +1 -0
  315. package/static/dist/assets/railroad-ebnf-LZEXJU2U-f7ummkt5.js +1 -0
  316. package/static/dist/assets/railroad-peg-WCYAUIDC-oczq5tqs.js +1 -0
  317. package/static/dist/assets/{railroadDiagram-O6MQD6OU-z41tqx5z.js → railroadDiagram-O6MQD6OU-eqpy9fnz.js} +1 -1
  318. package/static/dist/assets/{refresh-b4uams1i.js → refresh-abtu93ke.js} +1 -1
  319. package/static/dist/assets/{refresh-cw-nt1dtsx4.js → refresh-cw-hlwb02qv.js} +1 -1
  320. package/static/dist/assets/{requirementDiagram-BXWQKSXE-bdvif194.js → requirementDiagram-BXWQKSXE-ogf6puhi.js} +1 -1
  321. package/static/dist/assets/{sankeyDiagram-P5KCCOFB-h73e0rol.js → sankeyDiagram-P5KCCOFB-fqb8xcjf.js} +1 -1
  322. package/static/dist/assets/{saved-kg52csy7.js → saved-girnabkf.js} +1 -1
  323. package/static/dist/assets/{sequenceDiagram-WJ2MYXX4-iv95mb1z.js → sequenceDiagram-WJ2MYXX4-dlcz6qjz.js} +1 -1
  324. package/static/dist/assets/{settings_section_extensions_title-ej0iapxe.js → settings_section_extensions_title-h14cwk6f.js} +1 -1
  325. package/static/dist/assets/share._token-kl0r7ido.js +2 -0
  326. package/static/dist/assets/{sliders-horizontal-fj18it47.js → sliders-horizontal-n1zm34qq.js} +1 -1
  327. package/static/dist/assets/sse-iwku0sjo.js +1 -0
  328. package/static/dist/assets/{stateDiagram-D77RDMKH-k417ixmf.js → stateDiagram-D77RDMKH-fyoznpcs.js} +1 -1
  329. package/static/dist/assets/stateDiagram-v2-MP3YSRHH-ixhx8r46.js +1 -0
  330. package/static/dist/assets/{swimlanes-42K2YHIH-esola70w.js → swimlanes-42K2YHIH-oefldhfy.js} +1 -1
  331. package/static/dist/assets/swimlanesDiagram-VR7AAH4N-h9ersk2e.js +8 -0
  332. package/static/dist/assets/{timeline-definition-24CTP7MA-getrz2y8.js → timeline-definition-24CTP7MA-b1vl2zil.js} +1 -1
  333. package/static/dist/assets/todoStore-jjr5yr78.js +1 -0
  334. package/static/dist/assets/{treeView-Q6P3EWNA-hc7ap1q7.js → treeView-Q6P3EWNA-f7hcci5o.js} +1 -1
  335. package/static/dist/assets/{treemap-WGGIJYW6-b7k1syy5.js → treemap-WGGIJYW6-nl85071a.js} +1 -1
  336. package/static/dist/assets/{tts-lxdxnmjd.js → units-kgxzxfhi.js} +1 -1
  337. package/static/dist/assets/{untitled-ovpfthg4.js → untitled-cikfjntn.js} +1 -1
  338. package/static/dist/assets/{useForm-bcblv1rx.js → useForm-kqoqg0k9.js} +1 -1
  339. package/static/dist/assets/useLocale-o59tbiea.js +1 -0
  340. package/static/dist/assets/{useParams-lhg566ew.js → useParams-b4dq6n4q.js} +1 -1
  341. package/static/dist/assets/{useSearch-lbrh6ejn.js → useSearch-ipfmv3he.js} +1 -1
  342. package/static/dist/assets/{vennDiagram-4TSXK5OY-n6pcy5qb.js → vennDiagram-4TSXK5OY-h5hzbk0n.js} +1 -1
  343. package/static/dist/assets/{wardley-WFR3VGLG-lpa18vz1.js → wardley-WFR3VGLG-jftvpm3e.js} +1 -1
  344. package/static/dist/assets/{wardleyDiagram-VM6X3IG4-kpclwwg7.js → wardleyDiagram-VM6X3IG4-hedh85ge.js} +1 -1
  345. package/static/dist/assets/{xychartDiagram-S5SC5T6Z-paa2n8y0.js → xychartDiagram-S5SC5T6Z-e49523ab.js} +1 -1
  346. package/static/dist/index.html +1 -1
  347. package/static/dist/sw.js +1 -1
  348. package/static/dist/assets/AppShell-fb2td9zi.js +0 -1
  349. package/static/dist/assets/ChatPage-cj96kiy9.js +0 -25
  350. package/static/dist/assets/Dialog-kxcg7ard.js +0 -1
  351. package/static/dist/assets/ExtensionRoute-jf7h0754.js +0 -1
  352. package/static/dist/assets/HubRoute-gmanpd5y.js +0 -2
  353. package/static/dist/assets/Select-bilaypej.js +0 -1
  354. package/static/dist/assets/SessionListPanel-og8n36qs.js +0 -1
  355. package/static/dist/assets/Toaster-nnl8zkt9.js +0 -1
  356. package/static/dist/assets/_app.index-hbarzbjx.js +0 -1
  357. package/static/dist/assets/_app.insights-luywlarz.js +0 -1
  358. package/static/dist/assets/_app.kanban-kincnbr8.js +0 -1
  359. package/static/dist/assets/_app.logs-oi2gr3gs.js +0 -1
  360. package/static/dist/assets/_app.memory-b6jfivt6.js +0 -1
  361. package/static/dist/assets/_app.profiles-lpvixmqp.js +0 -1
  362. package/static/dist/assets/_app.settings-vowx3iq0.js +0 -1
  363. package/static/dist/assets/_app.settings._section-cnntg1tu.js +0 -3
  364. package/static/dist/assets/_app.skills-fb57lpau.js +0 -1
  365. package/static/dist/assets/_app.tasks-eszpx1q7.js +0 -2
  366. package/static/dist/assets/_app.todos-nr05ac6w.js +0 -1
  367. package/static/dist/assets/_app.workspaces-d2luomu6.js +0 -1
  368. package/static/dist/assets/architecture-7GRP2DOG-hd0o7bde.js +0 -1
  369. package/static/dist/assets/channel-cpdgf867.js +0 -1
  370. package/static/dist/assets/classDiagram-ZZMXUADV-ko09sguk.js +0 -1
  371. package/static/dist/assets/classDiagram-v2-VYDZK3BY-ko09sguk.js +0 -1
  372. package/static/dist/assets/endpoints-d33siokx.js +0 -64
  373. package/static/dist/assets/eventmodeling-NTZA5JFV-emctlo64.js +0 -1
  374. package/static/dist/assets/flowDiagram-HODETNUW-bfi3moqa.js +0 -1
  375. package/static/dist/assets/index-hgtx08n5.css +0 -2
  376. package/static/dist/assets/login-ec21t39x.js +0 -1
  377. package/static/dist/assets/mermaid-HWGCJPDP-gfl8z3ep.js +0 -1
  378. package/static/dist/assets/onboarding-btnltvyz.js +0 -1
  379. package/static/dist/assets/railroad-abnf-HS5TGJTU-nst1qxyn.js +0 -1
  380. package/static/dist/assets/railroad-ebnf-LZEXJU2U-ci37x8qy.js +0 -1
  381. package/static/dist/assets/railroad-peg-WCYAUIDC-aimkk07z.js +0 -1
  382. package/static/dist/assets/share._token-f97e94r0.js +0 -2
  383. package/static/dist/assets/sse-fwpqtzbg.js +0 -1
  384. package/static/dist/assets/stateDiagram-v2-MP3YSRHH-hwn4apct.js +0 -1
  385. package/static/dist/assets/swimlanesDiagram-VR7AAH4N-d1h97oyg.js +0 -8
  386. package/static/dist/assets/todoStore-eginf9h4.js +0 -1
  387. package/static/dist/assets/useLocale-fi5jb8ma.js +0 -1
@@ -7,6 +7,7 @@
7
7
  */
8
8
  import { existsSync, openSync, readSync, closeSync, statSync } from 'node:fs';
9
9
  import { DatabaseSync } from 'node:sqlite';
10
+ import { Worker } from 'node:worker_threads';
10
11
  import { str } from '../util.js';
11
12
  import { MESSAGING_SOURCES } from './source-kind.js';
12
13
  import { looksLikeDefaultCliTitle, normalizeSourceName } from './titles.js';
@@ -255,6 +256,9 @@ function tableColumns(db, table) {
255
256
  }
256
257
  }
257
258
  const warnedNoSourceColumn = new Set();
259
+ let readDelayMs = 0;
260
+ /** Test hook: each listing read (and each listing worker request) blocks its thread this long first, standing in for a slow `state.db` (TAL-920). */
261
+ export function setStateDbReadDelayForTests(ms) { readDelayMs = ms; }
258
262
  /**
259
263
  * Python `read_importable_agent_session_rows`. The recency slice is bounded to
260
264
  * `limit * 8` candidates before the messages aggregate runs; subagent parents
@@ -269,6 +273,8 @@ export function readImportableAgentSessionRows(dbPath, opts = {}) {
269
273
  const limit = opts.limit === undefined ? 200 : opts.limit;
270
274
  const exclude = opts.excludeSources === undefined ? ['cron', 'webui'] : opts.excludeSources;
271
275
  const include = opts.includeSources ?? null;
276
+ if (readDelayMs > 0)
277
+ Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, readDelayMs);
272
278
  const db = openStateDbReadonly(dbPath);
273
279
  try {
274
280
  const sessionCols = tableColumns(db, 'sessions');
@@ -579,6 +585,114 @@ export function cheapChangeFingerprint(dbPath, onError) {
579
585
  return null;
580
586
  }
581
587
  }
588
+ let listingWorker = null;
589
+ let nextCallId = 0;
590
+ /** Set while `stopStateDbWorker` waits for the worker to exit; calls then reject instead of starting another worker. */
591
+ let stoppingWorker = false;
592
+ /** Reject every call still waiting on `current` and forget it, so the next call starts a fresh worker. */
593
+ function retireListingWorker(current, error) {
594
+ if (listingWorker === current)
595
+ listingWorker = null;
596
+ for (const call of current.pending.values())
597
+ call.reject(error);
598
+ current.pending.clear();
599
+ }
600
+ /** The lazily started, long-lived listing worker; requests run one at a time in arrival order. */
601
+ function startedListingWorker() {
602
+ if (listingWorker)
603
+ return listingWorker;
604
+ // Source runs (vitest) load the TypeScript worker; the build runs the compiled one beside this module.
605
+ const ext = import.meta.url.endsWith('.ts') ? 'ts' : 'js';
606
+ const current = { worker: new Worker(new URL(`./state-db-worker.${ext}`, import.meta.url)), pending: new Map() };
607
+ current.worker.unref();
608
+ current.worker.on('message', (reply) => {
609
+ const call = current.pending.get(reply.id);
610
+ if (!call)
611
+ return;
612
+ current.pending.delete(reply.id);
613
+ if (!current.pending.size)
614
+ current.worker.unref();
615
+ call.resolve(reply);
616
+ });
617
+ current.worker.on('error', (error) => { retireListingWorker(current, error); });
618
+ current.worker.on('exit', (code) => { retireListingWorker(current, new Error(`state.db worker exited with code ${String(code)}`)); });
619
+ listingWorker = current;
620
+ return current;
621
+ }
622
+ function callListingWorker(call) {
623
+ // A multi-read caller the stop interrupted goes on to its next read; that read must not restart the worker.
624
+ if (stoppingWorker)
625
+ return Promise.reject(new Error('state.db worker stopped'));
626
+ const current = startedListingWorker();
627
+ const id = ++nextCallId;
628
+ return new Promise((resolve, reject) => {
629
+ current.pending.set(id, { resolve, reject });
630
+ // A call in flight keeps the process alive until it settles; an idle worker never does.
631
+ current.worker.ref();
632
+ current.worker.postMessage({ ...call, id, delayMs: readDelayMs });
633
+ });
634
+ }
635
+ /** `readImportableAgentSessionRows` on the listing worker, so a slow `state.db` never blocks the event loop. Rejects when the worker fails. */
636
+ export async function readImportableAgentSessionRowsAsync(dbPath, opts = {}) {
637
+ const { log, ...query } = opts;
638
+ const reply = await callListingWorker({ op: 'rows', dbPath, opts: query });
639
+ for (const line of reply.logs)
640
+ log?.(line);
641
+ if (reply.error !== undefined)
642
+ throw new Error(reply.error);
643
+ return reply.value;
644
+ }
645
+ /** `cheapChangeFingerprint` on the listing worker; a worker failure reports as a failed change check. */
646
+ export async function cheapChangeFingerprintAsync(dbPath, onError) {
647
+ let reply;
648
+ try {
649
+ reply = await callListingWorker({ op: 'fingerprint', dbPath });
650
+ }
651
+ catch (error) {
652
+ onError?.('change check failed', error);
653
+ return null;
654
+ }
655
+ for (const [reason, message] of reply.failures)
656
+ onError?.(reason, new Error(message));
657
+ return reply.value;
658
+ }
659
+ /** `stateDbSessionSources` on the listing worker; a worker failure is an unreadable state.db (null), so owners stay locked. */
660
+ export async function stateDbSessionSourcesAsync(dbPath, sessionIds) {
661
+ try {
662
+ return (await callListingWorker({ op: 'sources', dbPath, ids: [...sessionIds] })).value;
663
+ }
664
+ catch {
665
+ return null;
666
+ }
667
+ }
668
+ /** `agentSessionRowsExisting` on the listing worker; a worker failure assumes every row present, so nothing is pruned. */
669
+ export async function agentSessionRowsExistingAsync(dbPath, sessionIds) {
670
+ const ids = [...sessionIds];
671
+ try {
672
+ return (await callListingWorker({ op: 'existing', dbPath, ids })).value;
673
+ }
674
+ catch {
675
+ return new Set(ids.map((s) => s.trim()).filter(Boolean));
676
+ }
677
+ }
678
+ /** Test hook: the listing worker exits abruptly while this call is in flight. */
679
+ export function crashStateDbWorkerForTests() {
680
+ return callListingWorker({ op: 'crash' });
681
+ }
682
+ /** Stop the listing worker (server shutdown). Calls in flight reject; a later call starts a new worker. */
683
+ export async function stopStateDbWorker() {
684
+ const current = listingWorker;
685
+ if (!current)
686
+ return;
687
+ stoppingWorker = true;
688
+ try {
689
+ retireListingWorker(current, new Error('state.db worker stopped'));
690
+ await current.worker.terminate();
691
+ }
692
+ finally {
693
+ stoppingWorker = false;
694
+ }
695
+ }
582
696
  // ── message reader ────────────────────────────────────────────────────────
583
697
  const STATE_DB_CONTENT_JSON_PREFIX = '\0json:';
584
698
  // `display_kind` / `display_metadata`: the Agent's own tag for rows it writes itself (steers, delivered notifications; TAL-371).
@@ -689,6 +803,24 @@ export function stateDbSessionRead(dbPath, sid, opts = {}) {
689
803
  const order = hasId ? 'id' : 'timestamp';
690
804
  const rows = db.prepare(`SELECT ${selected.join(', ')}, session_id FROM messages WHERE session_id IN (${chain.map(() => '?').join(', ')})${activeClause} ORDER BY ${order} ASC`).all(...chain);
691
805
  const projected = rows.map((row) => projectStateDbMessage(row, hasId));
806
+ // TAL-709: an in-place compaction archives the live rows and re-inserts each as a copy that keeps its role and timestamp
807
+ // (content may be pruned). A copy takes the id of the oldest archived row it copies, so the merge sees a row it has
808
+ // already read instead of a new one. Only a compaction archive (`compacted = 1`) vouches for a changed copy: a rewound
809
+ // row (`compacted = 0`, also the compaction's carried tail) counts only for the same tool call or the same content, so
810
+ // an edit that kept its timestamp stays new.
811
+ if (hasId && available.has('active')) {
812
+ // One indexed lookup per live row ((session_id, active, timestamp)): the archive is never loaded, however many
813
+ // compactions it holds.
814
+ const sameCall = available.has('tool_call_id') ? " AND COALESCE(a.tool_call_id, '') = COALESCE(m.tool_call_id, '')" : '';
815
+ const vouched = [available.has('compacted') ? 'a.compacted = 1' : '', available.has('tool_call_id') ? 'm.tool_call_id IS NOT NULL' : '', 'a.content = m.content'].filter(Boolean).join(' OR ');
816
+ const twins = db.prepare(`SELECT m.id AS id, MIN(a.id) AS twin FROM messages m JOIN messages a ON a.session_id = m.session_id AND a.active = 0 AND a.role = m.role AND a.timestamp = m.timestamp AND a.id < m.id${sameCall} WHERE m.session_id IN (${chain.map(() => '?').join(', ')}) AND (m.active IS NULL OR m.active != 0) AND (${vouched}) GROUP BY m.id`).all(...chain);
817
+ const twinOf = new Map(twins.map((row) => [row.id, row.twin]));
818
+ for (const [i, row] of rows.entries()) {
819
+ const twin = twinOf.get(row.id);
820
+ if (typeof twin === 'number')
821
+ projected[i]._state_db_row_id = twin;
822
+ }
823
+ }
692
824
  // TAL-493: the database file's identity, so a marker taken in a replaced state.db is never applied to its successor.
693
825
  if (hasId) {
694
826
  const generation = stateDbGeneration(dbPath);
@@ -745,6 +877,91 @@ export function stateDbCompressionLineage(dbPath, sid) {
745
877
  db.close();
746
878
  }
747
879
  }
880
+ function lineageReportRow(row, role) {
881
+ const ended = row.ended_at ?? null;
882
+ return {
883
+ session_id: row.id, role, title: row.title ?? null, source: row.source ?? null, started_at: row.started_at ?? null, updated_at: ended ?? row.started_at ?? null,
884
+ end_reason: row.end_reason ?? null, active: ended === null, archived: false,
885
+ };
886
+ }
887
+ const emptyLineageReport = (sid) => ({
888
+ mutation: false, found: false, session_id: sid, lineage_key: sid, tip_session_id: sid, total_segments: 0, materialized_segments: 0, segments: [], children: [], manual_review: false,
889
+ });
890
+ /**
891
+ * Python `read_session_lineage_report`: a read-only report of `sid`'s compression lineage. The walk follows up to
892
+ * `maxHops` continuation parents (the tip first, the root last), then lists each segment's non-continuation children,
893
+ * newest first. A cycle, a hop limit hit, or a continuation off the walked path marks `manual_review`. A missing,
894
+ * unreadable, or too-old database, or an unknown id, answers `found: false`.
895
+ */
896
+ export function stateDbLineageReport(dbPath, rawSid, maxHops = 20) {
897
+ const sid = rawSid.trim();
898
+ if (!sid || !existsSync(dbPath))
899
+ return emptyLineageReport(sid);
900
+ let db;
901
+ try {
902
+ db = openStateDbReadonly(dbPath);
903
+ }
904
+ catch {
905
+ return emptyLineageReport(sid);
906
+ }
907
+ try {
908
+ const cols = tableColumns(db, 'sessions');
909
+ if (!['id', 'parent_session_id', 'end_reason'].every((c) => cols.has(c)))
910
+ return emptyLineageReport(sid);
911
+ const col = (name, fallback = 'NULL') => (cols.has(name) ? `s.${name}` : `${fallback} AS ${name}`);
912
+ const select = `SELECT s.id, ${col('source')}, ${col('session_source')}, ${col('title')}, ${col('started_at', '0')}, s.parent_session_id, ${col('ended_at')}, s.end_reason FROM sessions s`;
913
+ const byId = db.prepare(`${select} WHERE s.id = ?`);
914
+ const fetch = (id) => (id ? byId.get(str(id)) ?? null : null);
915
+ const target = fetch(sid);
916
+ if (!target)
917
+ return emptyLineageReport(sid);
918
+ const segments = [target];
919
+ const seen = new Set([sid]);
920
+ let manualReview = true;
921
+ for (let hop = 0; hop < maxHops; hop += 1) {
922
+ const current = segments[segments.length - 1];
923
+ const parentId = str(current.parent_session_id);
924
+ const parent = fetch(parentId);
925
+ if (!parent || seen.has(parentId)) {
926
+ manualReview = Boolean(parentId && seen.has(parentId));
927
+ break;
928
+ }
929
+ if (!isContinuationSession(parent, current)) {
930
+ manualReview = false;
931
+ break;
932
+ }
933
+ segments.push(parent);
934
+ seen.add(parentId);
935
+ }
936
+ const segmentIds = segments.map((row) => str(row.id));
937
+ const children = db.prepare(`${select} WHERE s.parent_session_id IN (${segmentIds.map(() => '?').join(', ')})`).all(...segmentIds);
938
+ const childRows = [];
939
+ for (const parent of segments) {
940
+ const own = children.filter((child) => str(child.parent_session_id) === str(parent.id) && !seen.has(str(child.id)));
941
+ own.sort((a, b) => (Number(b.started_at) || 0) - (Number(a.started_at) || 0));
942
+ for (const child of own) {
943
+ // A continuation off the walked path means a branched lineage or an older selected segment: flag it, list nothing.
944
+ if (isContinuationSession(parent, child))
945
+ manualReview = true;
946
+ else
947
+ childRows.push(child);
948
+ }
949
+ }
950
+ return {
951
+ mutation: false, found: true, session_id: sid, lineage_key: segments[segments.length - 1].id, tip_session_id: segments[0].id,
952
+ total_segments: segments.length, materialized_segments: segments.length,
953
+ segments: segments.map((row, idx) => lineageReportRow(row, idx === 0 ? 'tip' : 'hidden_segment')),
954
+ children: childRows.map((row) => lineageReportRow(row, 'child_session')),
955
+ manual_review: manualReview,
956
+ };
957
+ }
958
+ catch {
959
+ return emptyLineageReport(sid);
960
+ }
961
+ finally {
962
+ db.close();
963
+ }
964
+ }
748
965
  /** The `sessions` row for `sid` (source and lifecycle columns), or null. */
749
966
  export function stateDbSessionRow(dbPath, sid) {
750
967
  const id = sid.trim();
@@ -821,4 +1038,78 @@ export function insightsSessionRows(dbPath, cutoff) {
821
1038
  db.close();
822
1039
  }
823
1040
  }
1041
+ /** A state.db `timestamp` in unix seconds: a number, or an ISO-8601 string (Python `fromisoformat`); null when unreadable. */
1042
+ export function stateDbTimestampSeconds(value) {
1043
+ if (typeof value === 'number')
1044
+ return Number.isFinite(value) ? value : null;
1045
+ if (typeof value !== 'string' || !value.trim())
1046
+ return null;
1047
+ const ms = Date.parse(value.trim());
1048
+ return Number.isFinite(ms) ? ms / 1000 : null;
1049
+ }
1050
+ /** Python `CONVERSATION_ROUND_THRESHOLD`: the handoff dock is offered from this many rounds. */
1051
+ export const CONVERSATION_ROUND_THRESHOLD = 10;
1052
+ /**
1053
+ * Python `count_conversation_rounds` (TAL-258): a round is a user message answered by the assistant; consecutive user
1054
+ * messages merge into one. With `since`, only rows stamped after it count (an unreadable stamp still counts). A missing
1055
+ * or unreadable database is 0.
1056
+ */
1057
+ export function countConversationRounds(dbPath, sid, since = null) {
1058
+ if (!existsSync(dbPath))
1059
+ return 0;
1060
+ let rows;
1061
+ try {
1062
+ const db = openStateDbReadonly(dbPath);
1063
+ try {
1064
+ rows = db.prepare('SELECT role, timestamp FROM messages WHERE session_id = ? ORDER BY timestamp ASC').all(sid);
1065
+ }
1066
+ finally {
1067
+ db.close();
1068
+ }
1069
+ }
1070
+ catch {
1071
+ return 0;
1072
+ }
1073
+ let rounds = 0;
1074
+ let seenUser = false;
1075
+ let answered = false;
1076
+ for (const row of rows) {
1077
+ if (since !== null) {
1078
+ const ts = stateDbTimestampSeconds(row.timestamp);
1079
+ if (ts !== null && ts <= since)
1080
+ continue;
1081
+ }
1082
+ const role = lower(row.role);
1083
+ if (role === 'user') {
1084
+ if (seenUser && answered) {
1085
+ rounds += 1;
1086
+ answered = false;
1087
+ }
1088
+ seenUser = true;
1089
+ }
1090
+ else if (role === 'assistant' && seenUser) {
1091
+ answered = true;
1092
+ }
1093
+ }
1094
+ return seenUser && answered ? rounds + 1 : rounds;
1095
+ }
1096
+ /** The content of the session's newest row when that row is a `tool` row (the handoff marker's tail dedupe, TAL-258); else null. */
1097
+ export function stateDbTailToolContent(dbPath, sid) {
1098
+ if (!existsSync(dbPath))
1099
+ return null;
1100
+ try {
1101
+ const db = openStateDbReadonly(dbPath);
1102
+ try {
1103
+ const row = db.prepare('SELECT role, content FROM messages WHERE session_id = ? ORDER BY rowid DESC LIMIT 1').get(sid);
1104
+ const content = row?.role === 'tool' ? decodeStateDbContent(row.content) : null;
1105
+ return typeof content === 'string' ? content : null;
1106
+ }
1107
+ finally {
1108
+ db.close();
1109
+ }
1110
+ }
1111
+ catch {
1112
+ return null;
1113
+ }
1114
+ }
824
1115
  //# sourceMappingURL=state-db.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"state-db.js","sourceRoot":"","sources":["../../src/sessions/state-db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state-db.js","sourceRoot":"","sources":["../../src/sessions/state-db.ts"],"names":[],"mappings":"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"}
@@ -95,6 +95,13 @@ export declare class SessionStore {
95
95
  indexMessageCounts(entries?: Record<string, unknown>[]): Map<string, number>;
96
96
  private writeIndexPayload;
97
97
  private loadSessionFromPath;
98
+ /**
99
+ * Rebuild `_index.json` from scratch. Resident sessions without a sidecar join it unless `diskOnly` (TAL-259: a recovery
100
+ * rebuild lists only persisted sessions, so an unsaved shell never reads as index drift).
101
+ */
102
+ rebuildIndex(opts?: {
103
+ diskOnly?: boolean;
104
+ }): void;
98
105
  /** Rebuild or patch `_index.json` (Python `_write_session_index`). */
99
106
  writeIndex(updates?: (Session | Record<string, unknown>)[]): void;
100
107
  /** Coalesce index rewrites from concurrent saves (Python `_queue_session_index_update`). */
@@ -547,32 +547,41 @@ export class SessionStore {
547
547
  return null;
548
548
  }
549
549
  }
550
- /** Rebuild or patch `_index.json` (Python `_write_session_index`). */
551
- writeIndex(updates) {
550
+ /**
551
+ * Rebuild `_index.json` from scratch. Resident sessions without a sidecar join it unless `diskOnly` (TAL-259: a recovery
552
+ * rebuild lists only persisted sessions, so an unsaved shell never reads as index drift).
553
+ */
554
+ rebuildIndex(opts = {}) {
552
555
  mkdirSync(this.sessionDir, { recursive: true });
553
- if (!updates || !existsSync(this.indexFile)) {
554
- this.cleanupStaleTmpFiles();
555
- const entryMap = new Map();
556
- for (const name of readdirSync(this.sessionDir)) {
557
- if (!name.endsWith('.json') || name.startsWith('_'))
558
- continue;
559
- const s = this.loadSessionFromPath(join(this.sessionDir, name));
560
- if (!s)
561
- continue;
562
- const c = s.compact();
563
- const sid = str(c.session_id);
564
- if (!sid)
565
- continue;
566
- const existing = entryMap.get(sid);
567
- if (!existing || Number(c.message_count ?? 0) > Number(existing.message_count ?? 0))
568
- entryMap.set(sid, c);
569
- }
570
- const entries = [...entryMap.values()];
556
+ this.cleanupStaleTmpFiles();
557
+ const entryMap = new Map();
558
+ for (const name of readdirSync(this.sessionDir)) {
559
+ if (!name.endsWith('.json') || name.startsWith('_'))
560
+ continue;
561
+ const s = this.loadSessionFromPath(join(this.sessionDir, name));
562
+ if (!s)
563
+ continue;
564
+ const c = s.compact();
565
+ const sid = str(c.session_id);
566
+ if (!sid)
567
+ continue;
568
+ const existing = entryMap.get(sid);
569
+ if (!existing || Number(c.message_count ?? 0) > Number(existing.message_count ?? 0))
570
+ entryMap.set(sid, c);
571
+ }
572
+ const entries = [...entryMap.values()];
573
+ if (!opts.diskOnly)
571
574
  for (const s of this.sessions.values())
572
575
  if (!entryMap.has(s.session_id))
573
576
  entries.push(s.compact());
574
- entries.sort((a, b) => Number(b.updated_at ?? 0) - Number(a.updated_at ?? 0));
575
- this.writeIndexPayload(entries);
577
+ entries.sort((a, b) => Number(b.updated_at ?? 0) - Number(a.updated_at ?? 0));
578
+ this.writeIndexPayload(entries);
579
+ }
580
+ /** Rebuild or patch `_index.json` (Python `_write_session_index`). */
581
+ writeIndex(updates) {
582
+ mkdirSync(this.sessionDir, { recursive: true });
583
+ if (!updates || !existsSync(this.indexFile)) {
584
+ this.rebuildIndex();
576
585
  return;
577
586
  }
578
587
  try {