@maudecode/talaria-web 1.16.1 → 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 (445) 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 +59 -9
  7. package/dist/api/automation-raw.js.map +1 -1
  8. package/dist/api/automation-router.d.ts +163 -10
  9. package/dist/api/automation-router.js +25 -8
  10. package/dist/api/automation-router.js.map +1 -1
  11. package/dist/api/chat-router.d.ts +700 -15
  12. package/dist/api/chat-router.js +74 -55
  13. package/dist/api/chat-router.js.map +1 -1
  14. package/dist/api/git-router.d.ts +47 -2
  15. package/dist/api/git-router.js +31 -22
  16. package/dist/api/git-router.js.map +1 -1
  17. package/dist/api/raw-routes.d.ts +14 -0
  18. package/dist/api/raw-routes.js +277 -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 +1710 -73
  24. package/dist/api/sessions-router.js +164 -10
  25. package/dist/api/sessions-router.js.map +1 -1
  26. package/dist/api/settings-router.d.ts +132 -2
  27. package/dist/api/settings-router.js +15 -5
  28. package/dist/api/settings-router.js.map +1 -1
  29. package/dist/api/sse-routes.d.ts +16 -3
  30. package/dist/api/sse-routes.js +194 -67
  31. package/dist/api/sse-routes.js.map +1 -1
  32. package/dist/api/tools-raw.js +12 -25
  33. package/dist/api/tools-raw.js.map +1 -1
  34. package/dist/api/tools-router.d.ts +425 -19
  35. package/dist/api/tools-router.js +157 -26
  36. package/dist/api/tools-router.js.map +1 -1
  37. package/dist/app.d.ts +0 -9377
  38. package/dist/app.js +42 -17
  39. package/dist/app.js.map +1 -1
  40. package/dist/auth/gate.js +8 -2
  41. package/dist/auth/gate.js.map +1 -1
  42. package/dist/auth/oidc.d.ts +5 -2
  43. package/dist/auth/oidc.js +8 -7
  44. package/dist/auth/oidc.js.map +1 -1
  45. package/dist/bin/talaria-web.js +1 -1
  46. package/dist/bin/talaria-web.js.map +1 -1
  47. package/dist/cli/dotenv.js +1 -0
  48. package/dist/cli/dotenv.js.map +1 -1
  49. package/dist/config/agent-config.d.ts +2 -0
  50. package/dist/config/agent-config.js +12 -2
  51. package/dist/config/agent-config.js.map +1 -1
  52. package/dist/config.d.ts +2 -0
  53. package/dist/config.js +5 -1
  54. package/dist/config.js.map +1 -1
  55. package/dist/http/context.d.ts +20 -3
  56. package/dist/http/context.js +41 -8
  57. package/dist/http/context.js.map +1 -1
  58. package/dist/http/csp.d.ts +2 -1
  59. package/dist/http/csp.js +3 -2
  60. package/dist/http/csp.js.map +1 -1
  61. package/dist/onboarding.js +4 -0
  62. package/dist/onboarding.js.map +1 -1
  63. package/dist/profiles/profiles.d.ts +10 -0
  64. package/dist/profiles/profiles.js +40 -2
  65. package/dist/profiles/profiles.js.map +1 -1
  66. package/dist/providers/catalog.d.ts +101 -8
  67. package/dist/providers/catalog.js +463 -123
  68. package/dist/providers/catalog.js.map +1 -1
  69. package/dist/raster-image.d.ts +7 -0
  70. package/dist/raster-image.js +267 -0
  71. package/dist/raster-image.js.map +1 -0
  72. package/dist/redact.d.ts +1 -0
  73. package/dist/redact.js +354 -44
  74. package/dist/redact.js.map +1 -1
  75. package/dist/runtime.js +111 -27
  76. package/dist/runtime.js.map +1 -1
  77. package/dist/server.js +5 -0
  78. package/dist/server.js.map +1 -1
  79. package/dist/sessions/anchor.d.ts +2 -0
  80. package/dist/sessions/anchor.js +8 -3
  81. package/dist/sessions/anchor.js.map +1 -1
  82. package/dist/sessions/background-tasks.d.ts +2 -9
  83. package/dist/sessions/background-tasks.js +2 -12
  84. package/dist/sessions/background-tasks.js.map +1 -1
  85. package/dist/sessions/claude-code.d.ts +19 -0
  86. package/dist/sessions/claude-code.js +250 -0
  87. package/dist/sessions/claude-code.js.map +1 -0
  88. package/dist/sessions/cli-sessions.d.ts +15 -4
  89. package/dist/sessions/cli-sessions.js +120 -29
  90. package/dist/sessions/cli-sessions.js.map +1 -1
  91. package/dist/sessions/completions.d.ts +61 -9
  92. package/dist/sessions/completions.js +282 -34
  93. package/dist/sessions/completions.js.map +1 -1
  94. package/dist/sessions/compress.d.ts +14 -1
  95. package/dist/sessions/compress.js +52 -11
  96. package/dist/sessions/compress.js.map +1 -1
  97. package/dist/sessions/export.d.ts +5 -0
  98. package/dist/sessions/export.js +30 -0
  99. package/dist/sessions/export.js.map +1 -1
  100. package/dist/sessions/gateway-watcher.d.ts +7 -3
  101. package/dist/sessions/gateway-watcher.js +31 -19
  102. package/dist/sessions/gateway-watcher.js.map +1 -1
  103. package/dist/sessions/handoff.d.ts +32 -0
  104. package/dist/sessions/handoff.js +114 -0
  105. package/dist/sessions/handoff.js.map +1 -0
  106. package/dist/sessions/journal.d.ts +8 -0
  107. package/dist/sessions/journal.js +44 -10
  108. package/dist/sessions/journal.js.map +1 -1
  109. package/dist/sessions/list.d.ts +13 -3
  110. package/dist/sessions/list.js +46 -15
  111. package/dist/sessions/list.js.map +1 -1
  112. package/dist/sessions/merge.d.ts +53 -5
  113. package/dist/sessions/merge.js +219 -23
  114. package/dist/sessions/merge.js.map +1 -1
  115. package/dist/sessions/recovery.d.ts +22 -0
  116. package/dist/sessions/recovery.js +506 -0
  117. package/dist/sessions/recovery.js.map +1 -0
  118. package/dist/sessions/relay.d.ts +21 -2
  119. package/dist/sessions/relay.js +156 -11
  120. package/dist/sessions/relay.js.map +1 -1
  121. package/dist/sessions/service.d.ts +152 -8
  122. package/dist/sessions/service.js +640 -72
  123. package/dist/sessions/service.js.map +1 -1
  124. package/dist/sessions/session.d.ts +17 -1
  125. package/dist/sessions/session.js +63 -4
  126. package/dist/sessions/session.js.map +1 -1
  127. package/dist/sessions/state-db-worker.d.ts +1 -0
  128. package/dist/sessions/state-db-worker.js +33 -0
  129. package/dist/sessions/state-db-worker.js.map +1 -0
  130. package/dist/sessions/state-db.d.ts +87 -4
  131. package/dist/sessions/state-db.js +417 -8
  132. package/dist/sessions/state-db.js.map +1 -1
  133. package/dist/sessions/store.d.ts +7 -0
  134. package/dist/sessions/store.js +36 -22
  135. package/dist/sessions/store.js.map +1 -1
  136. package/dist/sessions/streams.d.ts +10 -0
  137. package/dist/sessions/streams.js +14 -3
  138. package/dist/sessions/streams.js.map +1 -1
  139. package/dist/sessions/titles.d.ts +2 -0
  140. package/dist/sessions/titles.js +4 -0
  141. package/dist/sessions/titles.js.map +1 -1
  142. package/dist/sessions/todo.d.ts +6 -1
  143. package/dist/sessions/todo.js +11 -4
  144. package/dist/sessions/todo.js.map +1 -1
  145. package/dist/sessions/tool-display.d.ts +12 -1
  146. package/dist/sessions/tool-display.js +50 -1
  147. package/dist/sessions/tool-display.js.map +1 -1
  148. package/dist/sessions/turn-context.d.ts +1 -1
  149. package/dist/sessions/turn-context.js +11 -7
  150. package/dist/sessions/turn-context.js.map +1 -1
  151. package/dist/sessions/turn.d.ts +67 -11
  152. package/dist/sessions/turn.js +413 -111
  153. package/dist/sessions/turn.js.map +1 -1
  154. package/dist/sessions/wakeup-pause.d.ts +59 -0
  155. package/dist/sessions/wakeup-pause.js +181 -0
  156. package/dist/sessions/wakeup-pause.js.map +1 -0
  157. package/dist/settings.d.ts +20 -2
  158. package/dist/settings.js +45 -9
  159. package/dist/settings.js.map +1 -1
  160. package/dist/sidecar/fake.d.ts +4 -4
  161. package/dist/sidecar/fake.js +5 -2
  162. package/dist/sidecar/fake.js.map +1 -1
  163. package/dist/spa.js +2 -1
  164. package/dist/spa.js.map +1 -1
  165. package/dist/startup.d.ts +13 -5
  166. package/dist/startup.js +48 -0
  167. package/dist/startup.js.map +1 -1
  168. package/dist/test/harness.js +2 -0
  169. package/dist/test/harness.js.map +1 -1
  170. package/dist/test/ts-worker-hooks.d.ts +1 -0
  171. package/dist/test/ts-worker-hooks.js +24 -0
  172. package/dist/test/ts-worker-hooks.js.map +1 -0
  173. package/dist/text/diff.d.ts +9 -14
  174. package/dist/text/diff.js +74 -108
  175. package/dist/text/diff.js.map +1 -1
  176. package/dist/tools/crons.js +45 -8
  177. package/dist/tools/crons.js.map +1 -1
  178. package/dist/tools/dashboard-plugins.d.ts +53 -0
  179. package/dist/tools/dashboard-plugins.js +188 -0
  180. package/dist/tools/dashboard-plugins.js.map +1 -0
  181. package/dist/tools/extensions.d.ts +13 -1
  182. package/dist/tools/extensions.js +132 -60
  183. package/dist/tools/extensions.js.map +1 -1
  184. package/dist/tools/health.d.ts +32 -0
  185. package/dist/tools/health.js +111 -19
  186. package/dist/tools/health.js.map +1 -1
  187. package/dist/tools/insights.d.ts +8 -2
  188. package/dist/tools/insights.js +18 -2
  189. package/dist/tools/insights.js.map +1 -1
  190. package/dist/tools/kanban.d.ts +41 -1
  191. package/dist/tools/kanban.js +113 -2
  192. package/dist/tools/kanban.js.map +1 -1
  193. package/dist/tools/mcp.d.ts +15 -1
  194. package/dist/tools/mcp.js +99 -5
  195. package/dist/tools/mcp.js.map +1 -1
  196. package/dist/tools/project-os.d.ts +11 -0
  197. package/dist/tools/project-os.js +267 -0
  198. package/dist/tools/project-os.js.map +1 -0
  199. package/dist/tools/skills.d.ts +5 -1
  200. package/dist/tools/skills.js +5 -3
  201. package/dist/tools/skills.js.map +1 -1
  202. package/dist/tools/terminal.d.ts +1 -0
  203. package/dist/tools/terminal.js +1 -1
  204. package/dist/tools/terminal.js.map +1 -1
  205. package/dist/tools/updates.d.ts +33 -8
  206. package/dist/tools/updates.js +236 -57
  207. package/dist/tools/updates.js.map +1 -1
  208. package/dist/tools/wiki.d.ts +68 -0
  209. package/dist/tools/wiki.js +413 -0
  210. package/dist/tools/wiki.js.map +1 -0
  211. package/dist/workspace/escape.d.ts +61 -0
  212. package/dist/workspace/escape.js +149 -0
  213. package/dist/workspace/escape.js.map +1 -0
  214. package/dist/workspace/extract.d.ts +22 -0
  215. package/dist/workspace/extract.js +308 -0
  216. package/dist/workspace/extract.js.map +1 -0
  217. package/dist/workspace/fs.d.ts +19 -3
  218. package/dist/workspace/fs.js +96 -23
  219. package/dist/workspace/fs.js.map +1 -1
  220. package/dist/workspace/git.d.ts +18 -0
  221. package/dist/workspace/git.js +38 -25
  222. package/dist/workspace/git.js.map +1 -1
  223. package/dist/workspace/media.d.ts +4 -4
  224. package/dist/workspace/media.js +18 -45
  225. package/dist/workspace/media.js.map +1 -1
  226. package/dist/workspace/preview.d.ts +28 -0
  227. package/dist/workspace/preview.js +110 -0
  228. package/dist/workspace/preview.js.map +1 -0
  229. package/dist/workspace/rollback.d.ts +36 -21
  230. package/dist/workspace/rollback.js +179 -270
  231. package/dist/workspace/rollback.js.map +1 -1
  232. package/dist/workspace/unzip.js +4 -1
  233. package/dist/workspace/unzip.js.map +1 -1
  234. package/dist/workspace/upload.d.ts +9 -4
  235. package/dist/workspace/upload.js +9 -3
  236. package/dist/workspace/upload.js.map +1 -1
  237. package/dist/workspace/worktrees.d.ts +2 -1
  238. package/dist/workspace/worktrees.js +14 -15
  239. package/dist/workspace/worktrees.js.map +1 -1
  240. package/package.json +4 -2
  241. package/sidecar/agent_dependency.json +4 -4
  242. package/sidecar/scripts/replay_sidecar.py +25 -1
  243. package/sidecar/talaria_sidecar/__init__.py +1 -1
  244. package/sidecar/talaria_sidecar/__main__.py +7 -1
  245. package/sidecar/talaria_sidecar/home.py +52 -2
  246. package/sidecar/talaria_sidecar/methods/__init__.py +2 -2
  247. package/sidecar/talaria_sidecar/methods/aux.py +39 -5
  248. package/sidecar/talaria_sidecar/methods/chat.py +431 -43
  249. package/sidecar/talaria_sidecar/methods/checkpoints.py +89 -0
  250. package/sidecar/talaria_sidecar/methods/commands.py +96 -2
  251. package/sidecar/talaria_sidecar/methods/cron.py +39 -8
  252. package/sidecar/talaria_sidecar/methods/gateway.py +32 -15
  253. package/sidecar/talaria_sidecar/methods/kanban.py +140 -19
  254. package/sidecar/talaria_sidecar/methods/mcp.py +1 -1
  255. package/sidecar/talaria_sidecar/methods/process.py +115 -2
  256. package/sidecar/talaria_sidecar/methods/profiles.py +84 -8
  257. package/sidecar/talaria_sidecar/methods/providers.py +27 -8
  258. package/sidecar/talaria_sidecar/methods/runtime.py +3 -0
  259. package/sidecar/talaria_sidecar/methods/state_db.py +39 -5
  260. package/sidecar/talaria_sidecar/methods/text.py +17 -1
  261. package/sidecar/talaria_sidecar/methods/usage.py +257 -4
  262. package/sidecar/talaria_sidecar/runtime.py +17 -1
  263. package/static/dist/FILES.txt +127 -125
  264. package/static/dist/assets/AppShell-g3bkgnvt.js +1 -0
  265. package/static/dist/assets/ChatPage-oo7bdan6.js +25 -0
  266. package/static/dist/assets/Dialog-g355qxhp.js +1 -0
  267. package/static/dist/assets/ExtensionRoute-i2y9fvjm.js +1 -0
  268. package/static/dist/assets/HubRoute-lmkrbw47.js +2 -0
  269. package/static/dist/assets/{Markdown-jqrx5es0.js → Markdown-j4kut4j2.js} +125 -125
  270. package/static/dist/assets/RightPanel-ohlsdzfl.js +1 -0
  271. package/static/dist/assets/Select-kddq75qc.js +1 -0
  272. package/static/dist/assets/SessionListPanel-lu3oy0hw.js +1 -0
  273. package/static/dist/assets/SettingsLayout-o9bv4mgb.js +1 -0
  274. package/static/dist/assets/States-eq6fe29m.js +1 -0
  275. package/static/dist/assets/Toaster-pc247u9f.js +1 -0
  276. package/static/dist/assets/_app-f8n1i0m1.js +1 -0
  277. package/static/dist/assets/_app.ext._extensionId-gfbzpoou.js +1 -0
  278. package/static/dist/assets/_app.index-bzzv80hk.js +1 -0
  279. package/static/dist/assets/_app.insights-dzixbryi.js +1 -0
  280. package/static/dist/assets/_app.kanban-c6hep2us.js +1 -0
  281. package/static/dist/assets/_app.logs-i69qds98.js +1 -0
  282. package/static/dist/assets/_app.memory-kl4vf0gd.js +1 -0
  283. package/static/dist/assets/_app.profiles-b8zinmyp.js +1 -0
  284. package/static/dist/assets/{_app.session._sessionId-hh27wwu2.js → _app.session._sessionId-fn1bhde6.js} +1 -1
  285. package/static/dist/assets/_app.settings-cg8plwmf.js +1 -0
  286. package/static/dist/assets/_app.settings._section-bkwbi9zn.js +3 -0
  287. package/static/dist/assets/_app.skills-cs47sbvs.js +1 -0
  288. package/static/dist/assets/_app.tasks-dwvk64tc.js +1 -0
  289. package/static/dist/assets/_app.todos-c8xjm8p3.js +1 -0
  290. package/static/dist/assets/_app.workspaces-ehvd1gds.js +1 -0
  291. package/static/dist/assets/{abnfDiagram-VCTEODGH-oity9y4o.js → abnfDiagram-VCTEODGH-c8kdixke.js} +1 -1
  292. package/static/dist/assets/architecture-7GRP2DOG-6crvnylg.js +1 -0
  293. package/static/dist/assets/{architectureDiagram-5GKGNRK7-ceaepnyr.js → architectureDiagram-5GKGNRK7-cku06x1p.js} +1 -1
  294. package/static/dist/assets/{back-eu64w89w.js → back-h7aun7ew.js} +1 -1
  295. package/static/dist/assets/{blockDiagram-I7D4REHJ-n79st4pj.js → blockDiagram-I7D4REHJ-jzthp1wa.js} +1 -1
  296. package/static/dist/assets/{c4Diagram-7LVT6UL2-mi73akzk.js → c4Diagram-7LVT6UL2-mwr67mt8.js} +1 -1
  297. package/static/dist/assets/{cancel-mzvkdjg8.js → cancel-fhi0vcnu.js} +1 -1
  298. package/static/dist/assets/channel-b2zo73z1.js +1 -0
  299. package/static/dist/assets/{chunk-4HAMMTFA-laat0g1q.js → chunk-4HAMMTFA-gpq1y228.js} +1 -1
  300. package/static/dist/assets/{chunk-75Z2AOVW-0psy1tr2.js → chunk-75Z2AOVW-ktje58c4.js} +1 -1
  301. package/static/dist/assets/{chunk-DU6HZSFF-lw8uox8x.js → chunk-DU6HZSFF-ofajdixh.js} +3 -3
  302. package/static/dist/assets/{chunk-F27PBJKO-erassib3.js → chunk-F27PBJKO-cmev85ti.js} +1 -1
  303. package/static/dist/assets/{chunk-GMAD6QVW-fz7rx619.js → chunk-GMAD6QVW-htjgt22y.js} +1 -1
  304. package/static/dist/assets/{chunk-GVQU2GXP-gdb0epb2.js → chunk-GVQU2GXP-qndvoxl7.js} +1 -1
  305. package/static/dist/assets/{chunk-IMKFNOWR-ea8t26qw.js → chunk-IMKFNOWR-e5bkd5q6.js} +1 -1
  306. package/static/dist/assets/{chunk-L3NEJ4N5-mb1gu9kz.js → chunk-L3NEJ4N5-mj1155r6.js} +1 -1
  307. package/static/dist/assets/{chunk-OSK3NFVY-eovmccvy.js → chunk-OSK3NFVY-e7gkikcw.js} +1 -1
  308. package/static/dist/assets/{chunk-P2QGCYS3-bo55zjo5.js → chunk-P2QGCYS3-f7t54xfm.js} +1 -1
  309. package/static/dist/assets/{chunk-POPQ4Y6H-ja7ohe4h.js → chunk-POPQ4Y6H-i927v9oa.js} +1 -1
  310. package/static/dist/assets/{chunk-PWAF6VOD-e30g9nus.js → chunk-PWAF6VOD-m84lmnyt.js} +1 -1
  311. package/static/dist/assets/{chunk-SHT3W25Y-gbb798f7.js → chunk-SHT3W25Y-mi0tlcu9.js} +1 -1
  312. package/static/dist/assets/{chunk-SVP7TREG-h2iw8urm.js → chunk-SVP7TREG-dnau702j.js} +1 -1
  313. package/static/dist/assets/{chunk-TICWLB2K-fd2cottz.js → chunk-TICWLB2K-edem1gkg.js} +1 -1
  314. package/static/dist/assets/classDiagram-ZZMXUADV-oe99st8x.js +1 -0
  315. package/static/dist/assets/classDiagram-v2-VYDZK3BY-oe99st8x.js +1 -0
  316. package/static/dist/assets/{copied-h65fc3cx.js → copied-hcplv46p.js} +1 -1
  317. package/static/dist/assets/copy-magtofyp.js +1 -0
  318. package/static/dist/assets/{cynefin-OW5HDTMX-lbltyl5j.js → cynefin-OW5HDTMX-siqlulkl.js} +1 -1
  319. package/static/dist/assets/{cynefinDiagram-5FMLGOSQ-lxhsqq4a.js → cynefinDiagram-5FMLGOSQ-i648tah9.js} +1 -1
  320. package/static/dist/assets/{dagre-GXQ25YYZ-gn4nnaln.js → dagre-GXQ25YYZ-mwn6uc17.js} +1 -1
  321. package/static/dist/assets/{diagram-S7CK7UJ4-pa3ij6q7.js → diagram-S7CK7UJ4-l8abxaes.js} +1 -1
  322. package/static/dist/assets/{diagram-UQ7AKVKN-zbipyz57.js → diagram-UQ7AKVKN-mekq7zgq.js} +1 -1
  323. package/static/dist/assets/{diagram-VSXAHHWV-d1kbpzgf.js → diagram-VSXAHHWV-fnky6lvc.js} +1 -1
  324. package/static/dist/assets/{diagram-VX7I27RA-i3ty14xl.js → diagram-VX7I27RA-xe6r5qfw.js} +1 -1
  325. package/static/dist/assets/{diagram-Z3DM3KII-m8xefqa7.js → diagram-Z3DM3KII-nq07dg7k.js} +1 -1
  326. package/static/dist/assets/{ebnfDiagram-PWID7BFC-nz7wj05l.js → ebnfDiagram-PWID7BFC-c62ipm3g.js} +1 -1
  327. package/static/dist/assets/endpoints-klbxod4t.js +64 -0
  328. package/static/dist/assets/{erDiagram-RLTQ6QDP-fa41ib83.js → erDiagram-RLTQ6QDP-h39kmnzy.js} +1 -1
  329. package/static/dist/assets/eventmodeling-NTZA5JFV-obfede4u.js +1 -0
  330. package/static/dist/assets/flowDiagram-HODETNUW-kdpsp1je.js +1 -0
  331. package/static/dist/assets/{ganttDiagram-EL5Y4UJY-n7zq01qu.js → ganttDiagram-EL5Y4UJY-ngbsyp37.js} +1 -1
  332. package/static/dist/assets/{gitGraph-4MIJSDKK-c89emb07.js → gitGraph-4MIJSDKK-fr2i7caa.js} +1 -1
  333. package/static/dist/assets/{gitGraphDiagram-WWUBYQGX-cz7cgr6w.js → gitGraphDiagram-WWUBYQGX-eravdti4.js} +1 -1
  334. package/static/dist/assets/{highlighted-body-KPVGNVTW-d9bapmni.js → highlighted-body-KPVGNVTW-jwpop9p8.js} +1 -1
  335. package/static/dist/assets/host-i828xuo7.js +1 -0
  336. package/static/dist/assets/index-eh8zilnv.css +2 -0
  337. package/static/dist/assets/index-r648f4o1.js +11 -0
  338. package/static/dist/assets/{info-A6RAGUB7-ndddhhhh.js → info-A6RAGUB7-h11x0dxo.js} +1 -1
  339. package/static/dist/assets/{infoDiagram-27XIBGKW-ccxigcpf.js → infoDiagram-27XIBGKW-dfh47dw9.js} +1 -1
  340. package/static/dist/assets/{ishikawaDiagram-5VMMS53U-le0z9vtc.js → ishikawaDiagram-5VMMS53U-i6ypq351.js} +1 -1
  341. package/static/dist/assets/{journeyDiagram-3NMN7TZE-ivsmb26o.js → journeyDiagram-3NMN7TZE-lduf1z95.js} +1 -1
  342. package/static/dist/assets/{kanban-definition-UXKFOSKX-h6n2awt0.js → kanban-definition-UXKFOSKX-e18bu4pg.js} +1 -1
  343. package/static/dist/assets/lazyRouteComponent-e1y4t2i9.js +1 -0
  344. package/static/dist/assets/{line-dmzlfe0u.js → line-meizqsvn.js} +1 -1
  345. package/static/dist/assets/link-oot2yn73.js +1 -0
  346. package/static/dist/assets/login-gu28l9ou.js +1 -0
  347. package/static/dist/assets/mermaid-HWGCJPDP-mtwrj8fn.js +1 -0
  348. package/static/dist/assets/{mermaid-parser.core-gwyd5bnq.js → mermaid-parser.core-ntne45i9.js} +3 -3
  349. package/static/dist/assets/{mindmap-definition-YA3MSWOX-l68gg5h7.js → mindmap-definition-YA3MSWOX-27b26eok.js} +1 -1
  350. package/static/dist/assets/onboarding-lkphzu1s.js +1 -0
  351. package/static/dist/assets/onboarding_model_label-ftpjdwqk.js +1 -0
  352. package/static/dist/assets/{packet-AYTQ26CC-gpv06065.js → packet-AYTQ26CC-l6jdka8p.js} +1 -1
  353. package/static/dist/assets/{pegDiagram-XKGWAZYB-e52vs23u.js → pegDiagram-XKGWAZYB-g1er3bxj.js} +1 -1
  354. package/static/dist/assets/{pie-WAS4IAKB-l6m7nz5s.js → pie-WAS4IAKB-i0ylcrt9.js} +1 -1
  355. package/static/dist/assets/{pieDiagram-E7YTZNPT-b4is36bq.js → pieDiagram-E7YTZNPT-fbz1e55z.js} +1 -1
  356. package/static/dist/assets/{quadrantDiagram-AXDQQJYC-m8vt2788.js → quadrantDiagram-AXDQQJYC-hhue7d8o.js} +1 -1
  357. package/static/dist/assets/{radar-RG4KPBEZ-nxbrhiov.js → radar-RG4KPBEZ-f9b70aa4.js} +1 -1
  358. package/static/dist/assets/{railroad-74A4TZTK-222mu9hi.js → railroad-74A4TZTK-lgsuoeda.js} +1 -1
  359. package/static/dist/assets/railroad-abnf-HS5TGJTU-nf9d6pdx.js +1 -0
  360. package/static/dist/assets/railroad-ebnf-LZEXJU2U-f7ummkt5.js +1 -0
  361. package/static/dist/assets/railroad-peg-WCYAUIDC-oczq5tqs.js +1 -0
  362. package/static/dist/assets/{railroadDiagram-O6MQD6OU-o8lldfzv.js → railroadDiagram-O6MQD6OU-eqpy9fnz.js} +1 -1
  363. package/static/dist/assets/refresh-abtu93ke.js +1 -0
  364. package/static/dist/assets/refresh-cw-hlwb02qv.js +1 -0
  365. package/static/dist/assets/{requirementDiagram-BXWQKSXE-ovyq38kv.js → requirementDiagram-BXWQKSXE-ogf6puhi.js} +1 -1
  366. package/static/dist/assets/{sankeyDiagram-P5KCCOFB-ou7lznor.js → sankeyDiagram-P5KCCOFB-fqb8xcjf.js} +1 -1
  367. package/static/dist/assets/{saved-bazmcup9.js → saved-girnabkf.js} +1 -1
  368. package/static/dist/assets/{sequenceDiagram-WJ2MYXX4-ovckdzf2.js → sequenceDiagram-WJ2MYXX4-dlcz6qjz.js} +1 -1
  369. package/static/dist/assets/{settings_section_extensions_title-ertwwhlx.js → settings_section_extensions_title-h14cwk6f.js} +1 -1
  370. package/static/dist/assets/share._token-kl0r7ido.js +2 -0
  371. package/static/dist/assets/sliders-horizontal-n1zm34qq.js +1 -0
  372. package/static/dist/assets/sse-iwku0sjo.js +1 -0
  373. package/static/dist/assets/{stateDiagram-D77RDMKH-fcrexkkv.js → stateDiagram-D77RDMKH-fyoznpcs.js} +1 -1
  374. package/static/dist/assets/stateDiagram-v2-MP3YSRHH-ixhx8r46.js +1 -0
  375. package/static/dist/assets/{swimlanes-42K2YHIH-f7usu8fw.js → swimlanes-42K2YHIH-oefldhfy.js} +1 -1
  376. package/static/dist/assets/swimlanesDiagram-VR7AAH4N-h9ersk2e.js +8 -0
  377. package/static/dist/assets/{timeline-definition-24CTP7MA-gp1hvz9f.js → timeline-definition-24CTP7MA-b1vl2zil.js} +1 -1
  378. package/static/dist/assets/todoStore-jjr5yr78.js +1 -0
  379. package/static/dist/assets/{treeView-Q6P3EWNA-gb9gf11u.js → treeView-Q6P3EWNA-f7hcci5o.js} +1 -1
  380. package/static/dist/assets/{treemap-WGGIJYW6-nuvfnvvi.js → treemap-WGGIJYW6-nl85071a.js} +1 -1
  381. package/static/dist/assets/units-kgxzxfhi.js +1 -0
  382. package/static/dist/assets/{untitled-htelhc68.js → untitled-cikfjntn.js} +1 -1
  383. package/static/dist/assets/{useForm-h2t0u14e.js → useForm-kqoqg0k9.js} +1 -1
  384. package/static/dist/assets/useLocale-o59tbiea.js +1 -0
  385. package/static/dist/assets/{useParams-dqd64jv7.js → useParams-b4dq6n4q.js} +1 -1
  386. package/static/dist/assets/{useSearch-j30pvsy7.js → useSearch-ipfmv3he.js} +1 -1
  387. package/static/dist/assets/{vennDiagram-4TSXK5OY-fzchbzaj.js → vennDiagram-4TSXK5OY-h5hzbk0n.js} +1 -1
  388. package/static/dist/assets/{wardley-WFR3VGLG-m47mhfbh.js → wardley-WFR3VGLG-jftvpm3e.js} +1 -1
  389. package/static/dist/assets/{wardleyDiagram-VM6X3IG4-odg6ct1z.js → wardleyDiagram-VM6X3IG4-hedh85ge.js} +1 -1
  390. package/static/dist/assets/{xychartDiagram-S5SC5T6Z-mrhms5um.js → xychartDiagram-S5SC5T6Z-e49523ab.js} +1 -1
  391. package/static/dist/index.html +1 -1
  392. package/static/dist/sw.js +2 -2
  393. package/static/dist/assets/AppShell-ef3bhu32.js +0 -1
  394. package/static/dist/assets/Button-nx37f4u1.js +0 -1
  395. package/static/dist/assets/ChatPage-cdcpykcg.js +0 -25
  396. package/static/dist/assets/Dialog-mec42hvb.js +0 -1
  397. package/static/dist/assets/HubRoute-ecb65zpr.js +0 -2
  398. package/static/dist/assets/RightPanel-d1lgvk4s.js +0 -1
  399. package/static/dist/assets/Select-h4ivl9qf.js +0 -1
  400. package/static/dist/assets/SessionListPanel-ewib046b.js +0 -1
  401. package/static/dist/assets/SettingsLayout-lx654cup.js +0 -1
  402. package/static/dist/assets/States-ehsb6lzo.js +0 -1
  403. package/static/dist/assets/Toaster-mch1pa3t.js +0 -1
  404. package/static/dist/assets/_app-m8d961ef.js +0 -1
  405. package/static/dist/assets/_app.ext._extensionId-mp33hbzi.js +0 -1
  406. package/static/dist/assets/_app.index-dk6zp7e0.js +0 -1
  407. package/static/dist/assets/_app.insights-jt2fk4i1.js +0 -1
  408. package/static/dist/assets/_app.kanban-if4pubeu.js +0 -1
  409. package/static/dist/assets/_app.logs-mfaw9m6g.js +0 -1
  410. package/static/dist/assets/_app.memory-h3eaarb6.js +0 -1
  411. package/static/dist/assets/_app.profiles-ienktovs.js +0 -1
  412. package/static/dist/assets/_app.settings-dpoe0bzf.js +0 -1
  413. package/static/dist/assets/_app.settings._section-l468ynag.js +0 -3
  414. package/static/dist/assets/_app.skills-kcbncc8i.js +0 -1
  415. package/static/dist/assets/_app.tasks-occdrqhw.js +0 -2
  416. package/static/dist/assets/_app.todos-nnke2rcc.js +0 -1
  417. package/static/dist/assets/_app.workspaces-cdlatvwj.js +0 -1
  418. package/static/dist/assets/architecture-7GRP2DOG-hj11333z.js +0 -1
  419. package/static/dist/assets/channel-mbvmf2vv.js +0 -1
  420. package/static/dist/assets/classDiagram-ZZMXUADV-o8r05k0n.js +0 -1
  421. package/static/dist/assets/classDiagram-v2-VYDZK3BY-o8r05k0n.js +0 -1
  422. package/static/dist/assets/copy-e6977uwq.js +0 -1
  423. package/static/dist/assets/endpoints-k7yf25m0.js +0 -64
  424. package/static/dist/assets/eventmodeling-NTZA5JFV-kpbq09bx.js +0 -1
  425. package/static/dist/assets/flowDiagram-HODETNUW-lcz0kx14.js +0 -1
  426. package/static/dist/assets/index-h00usru2.js +0 -11
  427. package/static/dist/assets/index-n73ijkv2.css +0 -2
  428. package/static/dist/assets/lazyRouteComponent-m1rtyk4t.js +0 -1
  429. package/static/dist/assets/link-budeg5t9.js +0 -1
  430. package/static/dist/assets/login-kjhasvp8.js +0 -1
  431. package/static/dist/assets/matchContext-f8oy3lo7.js +0 -1
  432. package/static/dist/assets/mermaid-HWGCJPDP-jb5d211j.js +0 -1
  433. package/static/dist/assets/onboarding-cdfrk0pj.js +0 -1
  434. package/static/dist/assets/railroad-abnf-HS5TGJTU-kdvgl6x8.js +0 -1
  435. package/static/dist/assets/railroad-ebnf-LZEXJU2U-itiqslby.js +0 -1
  436. package/static/dist/assets/railroad-peg-WCYAUIDC-go7kov78.js +0 -1
  437. package/static/dist/assets/refresh-cw-kbcje1uy.js +0 -1
  438. package/static/dist/assets/search-jen74z4u.js +0 -1
  439. package/static/dist/assets/share._token-dan9hgvj.js +0 -2
  440. package/static/dist/assets/sliders-horizontal-f9cb3lh3.js +0 -1
  441. package/static/dist/assets/stateDiagram-v2-MP3YSRHH-lcfraua2.js +0 -1
  442. package/static/dist/assets/swimlanesDiagram-VR7AAH4N-ogmanni0.js +0 -8
  443. package/static/dist/assets/todoStore-eqtid4r4.js +0 -1
  444. package/static/dist/assets/useLocale-hcsb84pj.js +0 -1
  445. package/static/dist/assets/useNavigate-nwy70ztj.js +0 -1
@@ -1,6 +1,6 @@
1
- /** Health, logs, dashboard probe, and diagnostics (Python `api/agent_health.py`, `api/system_health.py`, `api/dashboard_probe.py`, `_handle_logs`). */
1
+ /** Health, gateway status, logs, dashboard probe and link settings, and diagnostics (Python `api/agent_health.py`, `api/system_health.py`, `api/dashboard_probe.py`, `_handle_logs`). */
2
2
  import { readCapped } from '../http/capped.js';
3
- import { existsSync, openSync, readSync, readFileSync, closeSync, statSync, statfsSync } from 'node:fs';
3
+ import { constants, existsSync, fstatSync, openSync, readSync, readFileSync, closeSync, statSync, statfsSync } from 'node:fs';
4
4
  import { cpus, loadavg, freemem, totalmem } from 'node:os';
5
5
  import { dirname, join, resolve } from 'node:path';
6
6
  import { dict } from '../config/agent-config.js';
@@ -9,6 +9,8 @@ import { str } from '../util.js';
9
9
  const LOG_FILES = { agent: 'agent.log', errors: 'errors.log', gateway: 'gateway.log' };
10
10
  const LOG_TAILS = new Set([100, 200, 500, 1000]);
11
11
  const LOG_MAX_BYTES = 4 * 1024 * 1024;
12
+ // Opening with O_NOFOLLOW refuses a symlinked log atomically; O_NONBLOCK keeps a FIFO in its place from blocking the open.
13
+ const LOG_OPEN_FLAGS = constants.O_RDONLY | (constants.O_NOFOLLOW ?? 0) | (constants.O_NONBLOCK ?? 0);
12
14
  export function readLogTail(profileHome, fileKeyRaw, tailRaw) {
13
15
  const fileKey = (str(fileKeyRaw ?? 'agent').trim().toLowerCase()) || 'agent';
14
16
  const filename = LOG_FILES[fileKey];
@@ -18,23 +20,35 @@ export function readLogTail(profileHome, fileKeyRaw, tailRaw) {
18
20
  const tail = LOG_TAILS.has(parsedTail) ? parsedTail : 200;
19
21
  const logDir = resolve(profileHome, 'logs');
20
22
  const path = resolve(logDir, filename);
21
- if (!existsSync(path) || !statSync(path).isFile())
22
- return { file: fileKey, tail, lines: [], truncated: false, total_bytes: 0, mtime: null, hint: `Log file for ${fileKey} not found yet.` };
23
- const st = statSync(path);
24
- const total = st.size;
25
- const readBytes = Math.min(total, LOG_MAX_BYTES);
26
- const buffer = Buffer.alloc(readBytes);
27
- const fd = openSync(path, 'r');
23
+ const notFound = { file: fileKey, tail, lines: [], truncated: false, total_bytes: 0, mtime: null, hint: `Log file for ${fileKey} not found yet.` };
24
+ let fd;
25
+ try {
26
+ fd = openSync(path, LOG_OPEN_FLAGS);
27
+ }
28
+ catch (error) {
29
+ // Python `_handle_logs` refused a log resolving outside the logs dir; refusing every symlink makes the open itself the check.
30
+ if (error.code === 'ELOOP')
31
+ throw new HttpFailure(400, 'Invalid log file');
32
+ return notFound;
33
+ }
34
+ let st;
35
+ let buffer;
28
36
  try {
29
- readSync(fd, buffer, 0, readBytes, total - readBytes);
37
+ st = fstatSync(fd);
38
+ if (!st.isFile())
39
+ return notFound;
40
+ const readBytes = Math.min(st.size, LOG_MAX_BYTES);
41
+ buffer = Buffer.alloc(readBytes);
42
+ readSync(fd, buffer, 0, readBytes, st.size - readBytes);
30
43
  }
31
44
  finally {
32
45
  closeSync(fd);
33
46
  }
47
+ const total = st.size;
34
48
  const lines = buffer.toString('utf8').split(/\r?\n/);
35
49
  if (lines[lines.length - 1] === '')
36
50
  lines.pop();
37
- return { file: fileKey, tail, lines: lines.slice(-tail), truncated: total > readBytes, total_bytes: total, mtime: st.mtimeMs / 1000, hint: '' };
51
+ return { file: fileKey, tail, lines: lines.slice(-tail), truncated: total > buffer.length, total_bytes: total, mtime: st.mtimeMs / 1000, hint: '' };
38
52
  }
39
53
  const checkedAt = () => new Date().toISOString().replace(/\.\d{3}Z$/, 'Z');
40
54
  const clamp = (v) => Math.max(0, Math.min(100, Math.round(v * 10) / 10));
@@ -240,6 +254,39 @@ export async function agentHealth(deps) {
240
254
  return { alive: false, checked_at: checked, details: { state: 'down', reason: 'gateway_not_running', ...safe }, gateway_chat: gatewayChat };
241
255
  return { alive: null, checked_at: checked, details: { state: 'unknown', reason: 'gateway_not_configured' }, gateway_chat: gatewayChat };
242
256
  }
257
+ const PLATFORM_LABELS = { telegram: 'Telegram', discord: 'Discord', slack: 'Slack', email: 'Email', web: 'Web', api: 'API' };
258
+ const textOrNull = (v) => (typeof v === 'string' ? v : null);
259
+ const titleCase = (name) => name.replace(/(^|[^a-z])([a-z])/g, (_, before, letter) => before + letter.toUpperCase());
260
+ /**
261
+ * Python `_gateway_status_payload`: `health` (`agentHealth`) decides running and configured; when it is inconclusive
262
+ * (`alive` null), stale running metadata or any known gateway session marks the gateway configured, and sessions mean running.
263
+ */
264
+ export function gatewayStatus(health, identity, sessionsPath) {
265
+ const details = dict(health.details);
266
+ const state = textOrNull(details.state);
267
+ const reason = textOrNull(details.reason);
268
+ const gatewayState = textOrNull(details.gateway_state);
269
+ const hasSessions = identity.size > 0;
270
+ const running = health.alive === true || (health.alive !== false && hasSessions);
271
+ const configured = health.alive === true || health.alive === false || reason === 'gateway_stale_running_state' || gatewayState === 'running' || hasSessions;
272
+ const names = new Set();
273
+ for (const meta of identity.values()) {
274
+ const name = (meta.raw_source || meta.platform).trim().toLowerCase();
275
+ if (name)
276
+ names.add(name);
277
+ }
278
+ const platforms = [...names].map((name) => ({ name, label: PLATFORM_LABELS[name] ?? titleCase(name) })).sort((a, b) => (a.label < b.label ? -1 : a.label > b.label ? 1 : 0));
279
+ let lastActive = '';
280
+ if (running) {
281
+ try {
282
+ lastActive = statSync(sessionsPath).mtime.toISOString();
283
+ }
284
+ catch {
285
+ lastActive = '';
286
+ }
287
+ }
288
+ return { running, configured, platforms, last_active: lastActive, session_count: identity.size, health: { state, reason, gateway_state: gatewayState } };
289
+ }
243
290
  const LOOPBACK = new Set(['127.0.0.1', 'localhost', '::1']);
244
291
  const DASHBOARD_PORT = 9119;
245
292
  function baseUrl(host, port, scheme = 'http') {
@@ -260,24 +307,69 @@ function normalizeDashboardUrl(raw) {
260
307
  const scheme = u.protocol.replace(':', '');
261
308
  return [host, port, scheme, baseUrl(host, port, scheme)];
262
309
  }
263
- function normalizeBrowserUrl(raw) {
310
+ /** Python `normalize_dashboard_browser_url`: an http(s) origin with no credentials, path, query, or fragment; 400 otherwise. */
311
+ export function normalizeBrowserUrl(raw) {
264
312
  const value = raw.trim();
265
313
  if (!value)
266
314
  return '';
267
- const u = new URL(value);
268
- if (!['http:', 'https:'].includes(u.protocol) || u.username || u.password || (u.pathname !== '/' && u.pathname !== '') || u.search || u.hash)
269
- throw new Error('invalid dashboard url');
315
+ let u;
316
+ try {
317
+ u = new URL(value);
318
+ }
319
+ catch {
320
+ throw new HttpFailure(400, 'invalid dashboard URL');
321
+ }
322
+ if (!['http:', 'https:'].includes(u.protocol))
323
+ throw new HttpFailure(400, 'invalid dashboard URL scheme');
324
+ if (u.username || u.password)
325
+ throw new HttpFailure(400, 'invalid dashboard URL credentials');
326
+ if ((u.pathname !== '/' && u.pathname !== '') || u.search || u.hash)
327
+ throw new HttpFailure(400, 'invalid dashboard URL path');
270
328
  return `${u.protocol}//${u.host}`;
271
329
  }
330
+ const DASHBOARD_MODES = ['auto', 'always', 'never'];
331
+ /** Python `str(value or "auto").strip().lower()` checked against the known modes; null for anything else. */
332
+ function dashboardMode(raw) {
333
+ const mode = (raw ? str(raw) : 'auto').trim().toLowerCase();
334
+ return DASHBOARD_MODES.includes(mode) ? mode : null;
335
+ }
336
+ /** The configured dashboard link: `url`, else the legacy `target`. */
337
+ const dashboardLink = (cfg) => str(cfg.url ?? cfg.target);
338
+ /** Python `get_dashboard_config`: the profile's `webui.dashboard` link settings; 400 for an invalid stored URL. */
339
+ export function dashboardConfig(config) {
340
+ const cfg = dict(dict(config.webui).dashboard);
341
+ return { enabled: dashboardMode(cfg.enabled) ?? 'auto', url: normalizeBrowserUrl(dashboardLink(cfg)) };
342
+ }
343
+ /** Python `save_dashboard_config` validation: 400 for an unknown mode or an unsafe URL; an empty URL clears it. */
344
+ export function parseDashboardConfig(body) {
345
+ const enabled = dashboardMode(body.enabled);
346
+ if (!enabled)
347
+ throw new HttpFailure(400, 'invalid dashboard enabled mode');
348
+ return { enabled, url: normalizeBrowserUrl(body.url ? str(body.url) : '') };
349
+ }
350
+ /** Writes `next` to `webui.dashboard` in place, replacing a non-object `webui` or `dashboard`. */
351
+ export function applyDashboardConfig(config, next) {
352
+ if (!config.webui || typeof config.webui !== 'object' || Array.isArray(config.webui))
353
+ config.webui = {};
354
+ const webui = config.webui;
355
+ if (!webui.dashboard || typeof webui.dashboard !== 'object' || Array.isArray(webui.dashboard))
356
+ webui.dashboard = {};
357
+ const dashboard = webui.dashboard;
358
+ dashboard.enabled = next.enabled;
359
+ // `url` replaces the legacy `target`, so clearing the URL clears the link.
360
+ Reflect.deleteProperty(dashboard, 'target');
361
+ if (next.url)
362
+ dashboard.url = next.url;
363
+ else
364
+ Reflect.deleteProperty(dashboard, 'url');
365
+ }
272
366
  /** Python `get_dashboard_status`: probe `hermes dashboard` on loopback only. */
273
367
  export async function dashboardStatus(config, env, f = fetch) {
274
368
  const cfg = dict(dict(config.webui).dashboard);
275
- let enabled = str(cfg.enabled ?? 'auto').trim().toLowerCase() || 'auto';
276
- if (!['auto', 'always', 'never'].includes(enabled))
277
- enabled = 'auto';
369
+ const enabled = dashboardMode(cfg.enabled) ?? 'auto';
278
370
  if (enabled === 'never')
279
371
  return { running: false, enabled: 'never' };
280
- const raw = str(cfg.url ?? cfg.target);
372
+ const raw = dashboardLink(cfg);
281
373
  let browserUrl = '';
282
374
  try {
283
375
  browserUrl = raw ? normalizeBrowserUrl(raw) : '';
@@ -1 +1 @@
1
- {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/tools/health.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/tools/health.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,9 @@
1
- /** Usage analytics from the session index (Python `_handle_insights`). ponytail: the state.db CLI-session merge is not ported. */
1
+ /** Usage analytics from the session index plus the Agent's state.db sessions (Python `_handle_insights`). */
2
2
  import type { Dict } from '../config/agent-config.js';
3
- export declare function buildInsights(entries: Dict[], daysRaw: unknown, nowSeconds: number): Dict;
3
+ /**
4
+ * `stateRows` reads the state.db sessions active since the window's cutoff. An id already in the index counts once with
5
+ * each counter's larger value: a claimed CLI session's index entry starts at zero while its state.db row keeps the
6
+ * usage from before the claim and the Agent's later turns. The later activity time places it in the window, and the
7
+ * snapshot with that activity names its model.
8
+ */
9
+ export declare function buildInsights(entries: Dict[], daysRaw: unknown, nowSeconds: number, stateRows?: (cutoff: number) => Dict[]): Dict;
@@ -14,13 +14,29 @@ function cacheHitPercent(cacheRead, prompt) {
14
14
  return null;
15
15
  return Math.min(100, Math.round((cacheRead / prompt) * 100));
16
16
  }
17
- export function buildInsights(entries, daysRaw, nowSeconds) {
17
+ const USAGE_FIELDS = ['message_count', 'input_tokens', 'output_tokens', 'cache_read_tokens'];
18
+ /**
19
+ * `stateRows` reads the state.db sessions active since the window's cutoff. An id already in the index counts once with
20
+ * each counter's larger value: a claimed CLI session's index entry starts at zero while its state.db row keeps the
21
+ * usage from before the claim and the Agent's later turns. The later activity time places it in the window, and the
22
+ * snapshot with that activity names its model.
23
+ */
24
+ export function buildInsights(entries, daysRaw, nowSeconds, stateRows = () => []) {
18
25
  const parsed = Number.parseInt(str(daysRaw ?? '30'), 10);
19
26
  const days = Number.isFinite(parsed) ? Math.min(Math.max(parsed, 1), 365) : 30;
20
27
  const today = new Date(nowSeconds * 1000);
21
28
  const midnight = new Date(today.getFullYear(), today.getMonth(), today.getDate()).getTime() / 1000;
22
29
  const cutoff = midnight - (days - 1) * 86_400;
23
- const sessions = entries.filter((e) => Math.max(num(e.created_at), num(e.updated_at)) >= cutoff);
30
+ const state = new Map(stateRows(cutoff).map((r) => [str(r.session_id), r]));
31
+ const merged = entries.map((e) => {
32
+ const row = state.get(str(e.session_id));
33
+ if (!row)
34
+ return e;
35
+ state.delete(str(e.session_id));
36
+ const model = num(row.updated_at) > num(e.updated_at) ? str(row.model) || str(e.model) : str(e.model) || str(row.model);
37
+ return { ...e, ...Object.fromEntries(USAGE_FIELDS.map((k) => [k, Math.max(num(e[k]), num(row[k]))])), estimated_cost: Math.max(cost(e.estimated_cost), cost(row.estimated_cost)), updated_at: Math.max(num(e.updated_at), num(row.updated_at)), model };
38
+ });
39
+ const sessions = [...merged, ...state.values()].filter((e) => Math.max(num(e.created_at), num(e.updated_at)) >= cutoff);
24
40
  let totalMessages = 0;
25
41
  let totalInput = 0;
26
42
  let totalOutput = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"insights.js","sourceRoot":"","sources":["../../src/tools/insights.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"insights.js","sourceRoot":"","sources":["../../src/tools/insights.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,46 @@
1
- /** Kanban HTTP shapes over the sidecar `kanban.*` namespace (Python `api/kanban_bridge.py`). */
2
1
  import type { SidecarLike } from '../sidecar/client.js';
3
2
  import type { AgentConfig, Dict } from '../config/agent-config.js';
4
3
  export declare const truthyQuery: (v: unknown) => boolean;
5
4
  export declare function intQuery(raw: unknown, fallback: number | null, min?: number, max?: number): number | null;
6
5
  /** Sidecar `InvalidParams` → 400, `not_found` → 404, `RuntimeError`-class refusals → 409 (Python dispatcher mapping). */
7
6
  export declare function kanbanFailure(error: unknown): never;
7
+ /** Every board column except `running`; the sidecar applies each row through the same transitions. */
8
+ export declare const KANBAN_BULK_MOVE_TARGETS: string[];
9
+ export interface KanbanTaskActions {
10
+ block: boolean;
11
+ unblock: boolean;
12
+ complete: boolean;
13
+ archive: boolean;
14
+ move_to: string[];
15
+ }
16
+ /** The card actions offered for a sidecar task; an unknown status offers none. */
17
+ export declare function kanbanTaskActions(task: Dict): KanbanTaskActions;
18
+ /** One task with its server-owned card policy. */
19
+ export declare function withTaskPolicy(task: unknown): unknown;
20
+ /** The newest Block or Unblock recorded in a task's events, so a client can confirm its own write landed (TAL-557). */
21
+ export declare function lastCardAction(events: unknown[]): {
22
+ action: 'block' | 'unblock';
23
+ event_id: number;
24
+ } | null;
25
+ /** Adds the card policy to a payload's `task` and `columns[].tasks`, and a detail's `last_card_action`; anything else passes through. */
26
+ export declare function withKanbanPolicy<T>(payload: T): T;
27
+ interface Column {
28
+ name: string;
29
+ tasks: Dict[];
30
+ }
31
+ /** Columns keeping only the tasks whose id, title, body (or description/prompt), assignee or tenant contains `query` (case-insensitive). */
32
+ export declare function searchColumns(columns: Column[], query: string): Column[];
33
+ /** One lane per assignee in name order, unassigned (`null`) last, each holding every column; never empty. */
34
+ export declare function profileLanes(columns: Column[]): {
35
+ assignee: string | null;
36
+ count: number;
37
+ columns: Column[];
38
+ }[];
39
+ /** Stats with the total and the per-status counts in board-column order, unknown statuses after by name. */
40
+ export declare function withStatsTotals(stats: Dict): Dict;
41
+ /** A board slug from a display name, within the Agent's `^[a-z0-9][a-z0-9\-_]{0,63}$`. A name with no ASCII letters or digits
42
+ * gets `board-` and a hash of the name, so it is valid and stable; an empty name stays empty for the Agent to refuse. */
43
+ export declare function boardSlug(name: string): string;
8
44
  export declare class KanbanService {
9
45
  private readonly deps;
10
46
  constructor(deps: {
@@ -19,7 +55,11 @@ export declare class KanbanService {
19
55
  include_archived?: string | undefined;
20
56
  only_mine?: string | undefined;
21
57
  since?: string | undefined;
58
+ search?: string | undefined;
22
59
  }, activeProfile: string): Promise<Dict>;
60
+ /** `dashboard.kanban.lane_by_profile`, defaulting to lanes like the Agent's own `kanban.config`; an unreadable config keeps that default. */
61
+ private laneByProfile;
23
62
  events(home: string, board: string | null, since: unknown, limit: unknown): Promise<Dict>;
24
63
  updateConfig(home: string, body: Dict): Promise<Dict>;
25
64
  }
65
+ export {};
@@ -1,3 +1,5 @@
1
+ /** Kanban HTTP shapes over the sidecar `kanban.*` namespace (Python `api/kanban_bridge.py`). */
2
+ import { createHash } from 'node:crypto';
1
3
  import { SidecarError } from '../sidecar/client.js';
2
4
  import { dict } from '../config/agent-config.js';
3
5
  import { HttpFailure } from '../sessions/service.js';
@@ -43,6 +45,100 @@ export function kanbanFailure(error) {
43
45
  throw new HttpFailure(400, error.message);
44
46
  throw error;
45
47
  }
48
+ /** Where a Move may take a task, by its current status (TAL-557). Block, Unblock, Complete, and Archive are separate actions;
49
+ * the gates mirror the Agent's `kanban_db` transitions (`block_task` takes running/ready, `complete_task` running/ready/blocked
50
+ * with stored evidence, `unblock_task` blocked), so a client never offers a write the Agent refuses. `running` is reachable only
51
+ * through the dispatcher. */
52
+ const MOVE_TARGETS = {
53
+ triage: ['todo', 'ready'], todo: ['triage', 'ready'], ready: ['triage', 'todo'], running: ['triage', 'todo', 'ready'],
54
+ // Ready from blocked is Unblock, which re-gates on parents.
55
+ blocked: ['triage', 'todo'], done: ['triage', 'todo', 'ready'], archived: ['triage', 'todo', 'ready'],
56
+ };
57
+ /** Every board column except `running`; the sidecar applies each row through the same transitions. */
58
+ export const KANBAN_BULK_MOVE_TARGETS = ['triage', 'todo', 'ready', 'blocked', 'done'];
59
+ /** The card actions offered for a sidecar task; an unknown status offers none. */
60
+ export function kanbanTaskActions(task) {
61
+ const s = str(task.status);
62
+ // Block and a direct status change release a live worker's claim without stopping it, and the Agent refuses to complete
63
+ // under a live claim, so such a card offers only Archive, which terminates the worker. Unknown liveness counts as live.
64
+ const live = s === 'running' && task.claim_live !== false;
65
+ return {
66
+ block: !live && (s === 'ready' || s === 'running'),
67
+ unblock: s === 'blocked',
68
+ complete: !live && task.has_completion_evidence === true && (s === 'ready' || s === 'running' || s === 'blocked'),
69
+ archive: s in MOVE_TARGETS && s !== 'archived',
70
+ move_to: live ? [] : [...(MOVE_TARGETS[s] ?? [])],
71
+ };
72
+ }
73
+ /** One task with its server-owned card policy. */
74
+ export function withTaskPolicy(task) {
75
+ if (!task || typeof task !== 'object' || Array.isArray(task))
76
+ return task;
77
+ const t = task;
78
+ return { ...t, available_actions: kanbanTaskActions(t), requires_running_exit_confirmation: str(t.status) === 'running' };
79
+ }
80
+ /** Agent event kinds a Block or Unblock writes (`block_task` routes a block to `blocked`, or to `triage`/`todo` with its own kind). */
81
+ const CARD_ACTION_EVENTS = { blocked: 'block', block_loop_detected: 'block', dependency_wait: 'block', unblocked: 'unblock' };
82
+ /** The newest Block or Unblock recorded in a task's events, so a client can confirm its own write landed (TAL-557). */
83
+ export function lastCardAction(events) {
84
+ let last = null;
85
+ for (const e of events) {
86
+ const event = e && typeof e === 'object' ? e : {};
87
+ const action = CARD_ACTION_EVENTS[str(event.kind)];
88
+ if (action && typeof event.id === 'number' && (!last || event.id > last.event_id))
89
+ last = { action, event_id: event.id };
90
+ }
91
+ return last;
92
+ }
93
+ /** Adds the card policy to a payload's `task` and `columns[].tasks`, and a detail's `last_card_action`; anything else passes through. */
94
+ export function withKanbanPolicy(payload) {
95
+ const p = payload;
96
+ if (!p || typeof p !== 'object' || Array.isArray(p))
97
+ return payload;
98
+ const out = { ...p };
99
+ if ('task' in p)
100
+ out.task = withTaskPolicy(p.task);
101
+ if ('task' in p && Array.isArray(p.events))
102
+ out.last_card_action = lastCardAction(p.events);
103
+ if (Array.isArray(p.columns))
104
+ out.columns = p.columns.map((c) => (c && typeof c === 'object' && Array.isArray(c.tasks) ? { ...c, tasks: c.tasks.map(withTaskPolicy) } : c));
105
+ return out;
106
+ }
107
+ /** The Agent's board columns (`kanban_db.BOARD_COLUMNS`), the order stats and lanes follow. */
108
+ const BOARD_COLUMNS = ['triage', 'todo', 'ready', 'running', 'blocked', 'done', 'archived'];
109
+ /** Columns keeping only the tasks whose id, title, body (or description/prompt), assignee or tenant contains `query` (case-insensitive). */
110
+ export function searchColumns(columns, query) {
111
+ const q = query.trim().toLowerCase();
112
+ if (!q)
113
+ return columns;
114
+ return columns.map((c) => ({ ...c, tasks: c.tasks.filter((t) => [t.id, t.title, t.body, t.description, t.prompt, t.assignee, t.tenant].some((v) => typeof v === 'string' && v.toLowerCase().includes(q))) }));
115
+ }
116
+ /** One lane per assignee in name order, unassigned (`null`) last, each holding every column; never empty. */
117
+ export function profileLanes(columns) {
118
+ const key = (t) => str(t.assignee).trim() || null;
119
+ const named = [...new Set(columns.flatMap((c) => c.tasks.map(key)).filter((a) => a !== null))].sort((a, b) => a.localeCompare(b));
120
+ // With no tasks at all, one empty unassigned lane still carries the columns and their empty states.
121
+ const keys = columns.some((c) => c.tasks.some((t) => key(t) === null)) || named.length === 0 ? [...named, null] : named;
122
+ return keys.map((assignee) => {
123
+ const laneColumns = columns.map((c) => ({ ...c, tasks: c.tasks.filter((t) => key(t) === assignee) }));
124
+ return { assignee, count: laneColumns.reduce((n, c) => n + c.tasks.length, 0), columns: laneColumns };
125
+ });
126
+ }
127
+ /** Stats with the total and the per-status counts in board-column order, unknown statuses after by name. */
128
+ export function withStatsTotals(stats) {
129
+ const byStatus = dict(stats.by_status);
130
+ const rank = (s) => { const i = BOARD_COLUMNS.indexOf(s); return i === -1 ? BOARD_COLUMNS.length : i; };
131
+ const status_counts = Object.entries(byStatus).map(([status, n]) => ({ status, count: Number(n) || 0 })).sort((a, b) => rank(a.status) - rank(b.status) || a.status.localeCompare(b.status));
132
+ return { ...stats, by_status: byStatus, total: status_counts.reduce((n, c) => n + c.count, 0), status_counts };
133
+ }
134
+ /** A board slug from a display name, within the Agent's `^[a-z0-9][a-z0-9\-_]{0,63}$`. A name with no ASCII letters or digits
135
+ * gets `board-` and a hash of the name, so it is valid and stable; an empty name stays empty for the Agent to refuse. */
136
+ export function boardSlug(name) {
137
+ const ascii = name.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-+|-+$/g, '').slice(0, 64).replace(/-+$/, '');
138
+ if (ascii || !name.trim())
139
+ return ascii;
140
+ return `board-${createHash('sha256').update(name.trim()).digest('hex').slice(0, 8)}`;
141
+ }
46
142
  export class KanbanService {
47
143
  deps;
48
144
  constructor(deps) {
@@ -54,9 +150,24 @@ export class KanbanService {
54
150
  throw new HttpFailure(503, 'kanban unavailable: Hermes Agent sidecar is not running');
55
151
  return s;
56
152
  }
57
- board(home, q, activeProfile) {
153
+ async board(home, q, activeProfile) {
58
154
  const since = intQuery(q.since, null, 0);
59
- return this.sidecar().call('kanban.board', { profile_home: home, board: str(q.board).trim() || null, tenant: str(q.tenant).trim() || null, assignee: str(q.assignee).trim() || null, include_archived: truthyQuery(q.include_archived), only_mine: truthyQuery(q.only_mine), since, profile: activeProfile || 'default' }).catch(kanbanFailure);
155
+ // Only mine filters by the active profile, so it replaces any chosen assignee.
156
+ const onlyMine = truthyQuery(q.only_mine);
157
+ const board = await this.sidecar().call('kanban.board', { profile_home: home, board: str(q.board).trim() || null, tenant: str(q.tenant).trim() || null, assignee: onlyMine ? null : str(q.assignee).trim() || null, include_archived: truthyQuery(q.include_archived), only_mine: onlyMine, since, profile: activeProfile || 'default' }).catch(kanbanFailure);
158
+ const lane_by_profile = await this.laneByProfile(home);
159
+ const out = { ...withKanbanPolicy(board), bulk_move_targets: [...KANBAN_BULK_MOVE_TARGETS], lane_by_profile };
160
+ if (!Array.isArray(out.columns))
161
+ return out;
162
+ out.columns = searchColumns(out.columns, str(q.search));
163
+ if (lane_by_profile)
164
+ out.lanes = profileLanes(out.columns);
165
+ return out;
166
+ }
167
+ /** `dashboard.kanban.lane_by_profile`, defaulting to lanes like the Agent's own `kanban.config`; an unreadable config keeps that default. */
168
+ async laneByProfile(home) {
169
+ const config = await this.deps.config.read(home).catch(() => ({}));
170
+ return dict(dict(dict(config).dashboard).kanban).lane_by_profile !== false;
60
171
  }
61
172
  events(home, board, since, limit) {
62
173
  return this.sidecar().call('kanban.events', { profile_home: home, board, since: intQuery(since, 0, 0) ?? 0, limit: intQuery(limit, 200, 1, 200) ?? 200 }).catch(kanbanFailure);
@@ -1 +1 @@
1
- {"version":3,"file":"kanban.js","sourceRoot":"","sources":["../../src/tools/kanban.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kanban.js","sourceRoot":"","sources":["../../src/tools/kanban.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,8 @@ export declare class McpService {
16
16
  private runtime;
17
17
  private inventory;
18
18
  servers(profileHome: string): Promise<Dict>;
19
- tools(profileHome: string): Promise<Dict>;
19
+ /** `q` keeps tools whose name, server, or description contains it (case-insensitive); `total` counts the unfiltered inventory. */
20
+ tools(profileHome: string, q?: string): Promise<Dict>;
20
21
  delete(profileHome: string, name: string): Promise<{
21
22
  ok: true;
22
23
  deleted: string;
@@ -32,3 +33,16 @@ export declare class McpService {
32
33
  }>;
33
34
  }
34
35
  export declare function notesSources(config: Config, enabled: boolean): Dict;
36
+ /** A Joplin call that failed; its message is fixed text safe to return to the client (Python `ValueError`). */
37
+ export declare class JoplinError extends Error {
38
+ }
39
+ export interface JoplinDeps {
40
+ config: Config;
41
+ env: Record<string, string | undefined>;
42
+ fetch: typeof fetch;
43
+ redact: boolean;
44
+ }
45
+ /** Python `_joplin_search_notes`: up to `limit` (1-50) notes; an empty query asks Joplin nothing. */
46
+ export declare function joplinSearch(deps: JoplinDeps, rawQuery: string, limit: number): Promise<Dict[]>;
47
+ /** Python `_joplin_get_note`: the id is checked before it reaches the URL; the body is cut at 50,000 characters, then redacted. */
48
+ export declare function joplinNote(deps: JoplinDeps, rawId: string): Promise<Dict>;