@maudecode/talaria-web 1.19.0 → 1.21.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 (616) hide show
  1. package/_release.json +8 -8
  2. package/dist/api/automation-raw.js +61 -6
  3. package/dist/api/automation-raw.js.map +1 -1
  4. package/dist/api/automation-router.d.ts +309 -2
  5. package/dist/api/automation-router.js +28 -2
  6. package/dist/api/automation-router.js.map +1 -1
  7. package/dist/api/chat-router.d.ts +646 -24
  8. package/dist/api/chat-router.js +54 -167
  9. package/dist/api/chat-router.js.map +1 -1
  10. package/dist/api/git-router.d.ts +54 -0
  11. package/dist/api/git-router.js +18 -5
  12. package/dist/api/git-router.js.map +1 -1
  13. package/dist/api/raw-routes.js +13 -1
  14. package/dist/api/raw-routes.js.map +1 -1
  15. package/dist/api/router.d.ts +3 -3
  16. package/dist/api/session-visibility.js +2 -2
  17. package/dist/api/session-visibility.js.map +1 -1
  18. package/dist/api/sessions-router.d.ts +1868 -79
  19. package/dist/api/sessions-router.js +72 -43
  20. package/dist/api/sessions-router.js.map +1 -1
  21. package/dist/api/settings-router.d.ts +34 -13
  22. package/dist/api/settings-router.js +54 -17
  23. package/dist/api/settings-router.js.map +1 -1
  24. package/dist/api/sse-routes.js +45 -21
  25. package/dist/api/sse-routes.js.map +1 -1
  26. package/dist/api/tools-router.d.ts +773 -39
  27. package/dist/api/tools-router.js +167 -45
  28. package/dist/api/tools-router.js.map +1 -1
  29. package/dist/app.js +15 -11
  30. package/dist/app.js.map +1 -1
  31. package/dist/auth/crypto.d.ts +3 -0
  32. package/dist/auth/crypto.js +18 -0
  33. package/dist/auth/crypto.js.map +1 -1
  34. package/dist/auth/gate.js +5 -1
  35. package/dist/auth/gate.js.map +1 -1
  36. package/dist/cli/ctl.js +6 -1
  37. package/dist/cli/ctl.js.map +1 -1
  38. package/dist/cli/main.js +23 -18
  39. package/dist/cli/main.js.map +1 -1
  40. package/dist/cli/supervise.d.ts +22 -0
  41. package/dist/cli/supervise.js +80 -2
  42. package/dist/cli/supervise.js.map +1 -1
  43. package/dist/config/agent-config.d.ts +3 -0
  44. package/dist/config/agent-config.js +36 -9
  45. package/dist/config/agent-config.js.map +1 -1
  46. package/dist/fs/atomic.d.ts +3 -0
  47. package/dist/fs/atomic.js +19 -5
  48. package/dist/fs/atomic.js.map +1 -1
  49. package/dist/fs/stat.d.ts +6 -0
  50. package/dist/fs/stat.js +18 -2
  51. package/dist/fs/stat.js.map +1 -1
  52. package/dist/http/context.d.ts +16 -0
  53. package/dist/http/context.js +48 -5
  54. package/dist/http/context.js.map +1 -1
  55. package/dist/profiles/profiles.d.ts +2 -0
  56. package/dist/profiles/profiles.js +1 -0
  57. package/dist/profiles/profiles.js.map +1 -1
  58. package/dist/providers/catalog.d.ts +11 -6
  59. package/dist/providers/catalog.js +76 -24
  60. package/dist/providers/catalog.js.map +1 -1
  61. package/dist/redact.d.ts +2 -0
  62. package/dist/redact.js +55 -16
  63. package/dist/redact.js.map +1 -1
  64. package/dist/release.js +5 -3
  65. package/dist/release.js.map +1 -1
  66. package/dist/runtime.js +118 -26
  67. package/dist/runtime.js.map +1 -1
  68. package/dist/server.js +25 -21
  69. package/dist/server.js.map +1 -1
  70. package/dist/sessions/admission.d.ts +21 -0
  71. package/dist/sessions/admission.js +176 -0
  72. package/dist/sessions/admission.js.map +1 -0
  73. package/dist/sessions/anchor.d.ts +4 -1
  74. package/dist/sessions/anchor.js +9 -5
  75. package/dist/sessions/anchor.js.map +1 -1
  76. package/dist/sessions/background-tasks.d.ts +41 -3
  77. package/dist/sessions/background-tasks.js +110 -10
  78. package/dist/sessions/background-tasks.js.map +1 -1
  79. package/dist/sessions/cli-sessions.d.ts +9 -2
  80. package/dist/sessions/cli-sessions.js +38 -57
  81. package/dist/sessions/cli-sessions.js.map +1 -1
  82. package/dist/sessions/completions.d.ts +8 -0
  83. package/dist/sessions/completions.js +55 -25
  84. package/dist/sessions/completions.js.map +1 -1
  85. package/dist/sessions/events.d.ts +3 -0
  86. package/dist/sessions/events.js +4 -0
  87. package/dist/sessions/events.js.map +1 -1
  88. package/dist/sessions/export.d.ts +2 -0
  89. package/dist/sessions/export.js +6 -2
  90. package/dist/sessions/export.js.map +1 -1
  91. package/dist/sessions/gateway-sessions.d.ts +92 -4
  92. package/dist/sessions/gateway-sessions.js +762 -93
  93. package/dist/sessions/gateway-sessions.js.map +1 -1
  94. package/dist/sessions/gateway-watcher.d.ts +10 -11
  95. package/dist/sessions/gateway-watcher.js +25 -21
  96. package/dist/sessions/gateway-watcher.js.map +1 -1
  97. package/dist/sessions/list.d.ts +9 -2
  98. package/dist/sessions/list.js +38 -26
  99. package/dist/sessions/list.js.map +1 -1
  100. package/dist/sessions/merge.d.ts +12 -5
  101. package/dist/sessions/merge.js +65 -18
  102. package/dist/sessions/merge.js.map +1 -1
  103. package/dist/sessions/prefix-index.d.ts +15 -4
  104. package/dist/sessions/prefix-index.js +35 -13
  105. package/dist/sessions/prefix-index.js.map +1 -1
  106. package/dist/sessions/prompt-queues.d.ts +36 -0
  107. package/dist/sessions/prompt-queues.js +318 -0
  108. package/dist/sessions/prompt-queues.js.map +1 -0
  109. package/dist/sessions/recovery.d.ts +1 -1
  110. package/dist/sessions/recovery.js +4 -3
  111. package/dist/sessions/recovery.js.map +1 -1
  112. package/dist/sessions/relay.d.ts +12 -1
  113. package/dist/sessions/relay.js +75 -17
  114. package/dist/sessions/relay.js.map +1 -1
  115. package/dist/sessions/service.d.ts +132 -37
  116. package/dist/sessions/service.js +688 -160
  117. package/dist/sessions/service.js.map +1 -1
  118. package/dist/sessions/session.d.ts +2 -0
  119. package/dist/sessions/session.js +5 -0
  120. package/dist/sessions/session.js.map +1 -1
  121. package/dist/sessions/state-db-worker.js +22 -5
  122. package/dist/sessions/state-db-worker.js.map +1 -1
  123. package/dist/sessions/state-db.d.ts +106 -15
  124. package/dist/sessions/state-db.js +651 -236
  125. package/dist/sessions/state-db.js.map +1 -1
  126. package/dist/sessions/state-saved.d.ts +1 -1
  127. package/dist/sessions/state-saved.js +35 -11
  128. package/dist/sessions/state-saved.js.map +1 -1
  129. package/dist/sessions/storage/backend.d.ts +10 -1
  130. package/dist/sessions/storage/backend.js.map +1 -1
  131. package/dist/sessions/storage/conformance.js +1 -1
  132. package/dist/sessions/storage/conformance.js.map +1 -1
  133. package/dist/sessions/storage/json-documents.d.ts +2 -0
  134. package/dist/sessions/storage/json-documents.js +71 -26
  135. package/dist/sessions/storage/json-documents.js.map +1 -1
  136. package/dist/sessions/storage/json-files.d.ts +13 -2
  137. package/dist/sessions/storage/json-files.js +126 -6
  138. package/dist/sessions/storage/json-files.js.map +1 -1
  139. package/dist/sessions/storage/json-journal.d.ts +6 -7
  140. package/dist/sessions/storage/json-journal.js +143 -73
  141. package/dist/sessions/storage/json-journal.js.map +1 -1
  142. package/dist/sessions/storage/json.d.ts +15 -1
  143. package/dist/sessions/storage/json.js +125 -33
  144. package/dist/sessions/storage/json.js.map +1 -1
  145. package/dist/sessions/store.d.ts +6 -1
  146. package/dist/sessions/store.js +68 -27
  147. package/dist/sessions/store.js.map +1 -1
  148. package/dist/sessions/streams.d.ts +10 -7
  149. package/dist/sessions/streams.js +49 -14
  150. package/dist/sessions/streams.js.map +1 -1
  151. package/dist/sessions/tool-display.d.ts +11 -2
  152. package/dist/sessions/tool-display.js +45 -4
  153. package/dist/sessions/tool-display.js.map +1 -1
  154. package/dist/sessions/turn-context.js +6 -2
  155. package/dist/sessions/turn-context.js.map +1 -1
  156. package/dist/sessions/turn.d.ts +27 -6
  157. package/dist/sessions/turn.js +186 -89
  158. package/dist/sessions/turn.js.map +1 -1
  159. package/dist/sidecar/client.d.ts +24 -1
  160. package/dist/sidecar/client.js +118 -38
  161. package/dist/sidecar/client.js.map +1 -1
  162. package/dist/sidecar/fake.d.ts +6 -2
  163. package/dist/sidecar/fake.js +15 -2
  164. package/dist/sidecar/fake.js.map +1 -1
  165. package/dist/spa.d.ts +9 -4
  166. package/dist/spa.js +36 -12
  167. package/dist/spa.js.map +1 -1
  168. package/dist/startup-timing.d.ts +66 -0
  169. package/dist/startup-timing.js +129 -0
  170. package/dist/startup-timing.js.map +1 -0
  171. package/dist/test/fs-handles.d.ts +11 -0
  172. package/dist/test/fs-handles.js +31 -0
  173. package/dist/test/fs-handles.js.map +1 -0
  174. package/dist/tools/connectors.d.ts +1 -1
  175. package/dist/tools/connectors.js +2 -2
  176. package/dist/tools/connectors.js.map +1 -1
  177. package/dist/tools/crons.d.ts +8 -4
  178. package/dist/tools/crons.js +25 -18
  179. package/dist/tools/crons.js.map +1 -1
  180. package/dist/tools/dashboard-plugins.d.ts +29 -0
  181. package/dist/tools/dashboard-plugins.js +132 -0
  182. package/dist/tools/dashboard-plugins.js.map +1 -1
  183. package/dist/tools/gateway-restart.d.ts +25 -5
  184. package/dist/tools/gateway-restart.js +103 -23
  185. package/dist/tools/gateway-restart.js.map +1 -1
  186. package/dist/tools/health.d.ts +13 -1
  187. package/dist/tools/health.js +80 -22
  188. package/dist/tools/health.js.map +1 -1
  189. package/dist/tools/insights.d.ts +1 -1
  190. package/dist/tools/insights.js +2 -2
  191. package/dist/tools/insights.js.map +1 -1
  192. package/dist/tools/kanban.d.ts +10 -1
  193. package/dist/tools/kanban.js +73 -1
  194. package/dist/tools/kanban.js.map +1 -1
  195. package/dist/tools/mcp-health.js +74 -24
  196. package/dist/tools/mcp-health.js.map +1 -1
  197. package/dist/tools/mcp.d.ts +3 -1
  198. package/dist/tools/mcp.js +92 -1
  199. package/dist/tools/mcp.js.map +1 -1
  200. package/dist/tools/memory.d.ts +28 -0
  201. package/dist/tools/memory.js +120 -14
  202. package/dist/tools/memory.js.map +1 -1
  203. package/dist/tools/plugin-oauth.d.ts +14 -0
  204. package/dist/tools/plugin-oauth.js +53 -0
  205. package/dist/tools/plugin-oauth.js.map +1 -0
  206. package/dist/tools/prune-advice.d.ts +50 -0
  207. package/dist/tools/prune-advice.js +114 -0
  208. package/dist/tools/prune-advice.js.map +1 -0
  209. package/dist/tools/skills.d.ts +5 -2
  210. package/dist/tools/skills.js +9 -6
  211. package/dist/tools/skills.js.map +1 -1
  212. package/dist/tools/update-notifications.d.ts +77 -9
  213. package/dist/tools/update-notifications.js +390 -46
  214. package/dist/tools/update-notifications.js.map +1 -1
  215. package/dist/tools/updates.d.ts +29 -3
  216. package/dist/tools/updates.js +166 -34
  217. package/dist/tools/updates.js.map +1 -1
  218. package/dist/workspace/managed-buffers.d.ts +58 -0
  219. package/dist/workspace/managed-buffers.js +76 -0
  220. package/dist/workspace/managed-buffers.js.map +1 -0
  221. package/dist/workspace/media.js +69 -20
  222. package/dist/workspace/media.js.map +1 -1
  223. package/dist/workspace/preview.js +4 -14
  224. package/dist/workspace/preview.js.map +1 -1
  225. package/dist/workspace/rollback.d.ts +6 -2
  226. package/dist/workspace/rollback.js +18 -8
  227. package/dist/workspace/rollback.js.map +1 -1
  228. package/package.json +3 -3
  229. package/sidecar/agent_dependency.json +4 -4
  230. package/sidecar/agent_support.json +30 -15
  231. package/sidecar/scripts/suite_runner.py +183 -27
  232. package/sidecar/scripts/test.sh +5 -7
  233. package/sidecar/talaria_sidecar/__init__.py +1 -1
  234. package/sidecar/talaria_sidecar/__main__.py +10 -3
  235. package/sidecar/talaria_sidecar/agent_mutation.py +246 -32
  236. package/sidecar/talaria_sidecar/agent_services.py +157 -34
  237. package/sidecar/talaria_sidecar/context_detail.py +59 -0
  238. package/sidecar/talaria_sidecar/home.py +97 -20
  239. package/sidecar/talaria_sidecar/methods/__init__.py +2 -2
  240. package/sidecar/talaria_sidecar/methods/aux.py +80 -18
  241. package/sidecar/talaria_sidecar/methods/chat.py +571 -106
  242. package/sidecar/talaria_sidecar/methods/checkpoints.py +29 -4
  243. package/sidecar/talaria_sidecar/methods/commands.py +277 -16
  244. package/sidecar/talaria_sidecar/methods/config.py +73 -3
  245. package/sidecar/talaria_sidecar/methods/connectors.py +45 -13
  246. package/sidecar/talaria_sidecar/methods/cron.py +8 -2
  247. package/sidecar/talaria_sidecar/methods/dashboard_plugins.py +301 -0
  248. package/sidecar/talaria_sidecar/methods/gateway.py +24 -4
  249. package/sidecar/talaria_sidecar/methods/gateway_sessions.py +304 -30
  250. package/sidecar/talaria_sidecar/methods/kanban.py +50 -3
  251. package/sidecar/talaria_sidecar/methods/managed_buffers.py +110 -0
  252. package/sidecar/talaria_sidecar/methods/mcp.py +55 -0
  253. package/sidecar/talaria_sidecar/methods/oauth.py +139 -11
  254. package/sidecar/talaria_sidecar/methods/outbound_drafts.py +165 -0
  255. package/sidecar/talaria_sidecar/methods/plugin_catalog.py +198 -0
  256. package/sidecar/talaria_sidecar/methods/plugin_oauth.py +234 -0
  257. package/sidecar/talaria_sidecar/methods/process.py +70 -6
  258. package/sidecar/talaria_sidecar/methods/profiles.py +4 -3
  259. package/sidecar/talaria_sidecar/methods/runtime.py +2 -0
  260. package/sidecar/talaria_sidecar/methods/skills.py +22 -7
  261. package/sidecar/talaria_sidecar/methods/state_db.py +128 -42
  262. package/sidecar/talaria_sidecar/methods/toolsets.py +4 -2
  263. package/sidecar/talaria_sidecar/methods/worktree.py +121 -2
  264. package/sidecar/talaria_sidecar/rpc.py +25 -3
  265. package/sidecar/talaria_sidecar/runtime.py +42 -3
  266. package/sidecar/talaria_sidecar/speed.py +13 -1
  267. package/sidecar/talaria_sidecar/startup_timing.py +119 -0
  268. package/static/dist/FILES.txt +240 -213
  269. package/static/dist/THIRD_PARTY_LICENSES.md +6 -22
  270. package/static/dist/assets/AppShell-c5989995.js +8 -0
  271. package/static/dist/assets/Button-nuaikybd.js +1 -0
  272. package/static/dist/assets/ChatPage-bfg4khph.js +6 -0
  273. package/static/dist/assets/ConnectTargets-k5wo9yo8.js +1 -0
  274. package/static/dist/assets/Dialog-o8vo2aws.js +1 -0
  275. package/static/dist/assets/ExtensionRoute-l1yjrso4.js +1 -0
  276. package/static/dist/assets/Field-j7o8cfps.js +1 -0
  277. package/static/dist/assets/HubRoute-efnwe4xz.js +2 -0
  278. package/static/dist/assets/LinkCheckContext-ix6zqqkk.js +1 -0
  279. package/static/dist/assets/Markdown-clqf5m22.js +2 -0
  280. package/static/dist/assets/MarkdownRenderer-ccgqrza3.js +302 -0
  281. package/static/dist/assets/MarkdownRenderer-i9o6nr38.css +1 -0
  282. package/static/dist/assets/OAuthSignIn-h7bjaqp6.js +1 -0
  283. package/static/dist/assets/ResourceSwitch-oai2zqaj.js +1 -0
  284. package/static/dist/assets/RightPanel-ho161a45.js +1 -0
  285. package/static/dist/assets/Select-d1g5a8bm.js +1 -0
  286. package/static/dist/assets/SessionListPanel-i7kaokhi.js +1 -0
  287. package/static/dist/assets/SettingsLayout-lnecm87w.js +1 -0
  288. package/static/dist/assets/States-easntmry.js +1 -0
  289. package/static/dist/assets/TerminalPanel-lxhwd4jl.js +16 -0
  290. package/static/dist/assets/Toaster-l4sciy8t.js +1 -0
  291. package/static/dist/assets/_app-mqexqbg8.js +1 -0
  292. package/static/dist/assets/_app.ext._extensionId-n797jp72.js +1 -0
  293. package/static/dist/assets/_app.index-ne43mdw2.js +1 -0
  294. package/static/dist/assets/_app.insights-fqonovb4.js +1 -0
  295. package/static/dist/assets/_app.kanban-kysliv19.js +1 -0
  296. package/static/dist/assets/_app.logs-febut82r.js +1 -0
  297. package/static/dist/assets/_app.memory-ha86oj1c.js +1 -0
  298. package/static/dist/assets/_app.profiles-cnu3gxxq.js +1 -0
  299. package/static/dist/assets/_app.session._sessionId-ifzjpcgn.js +1 -0
  300. package/static/dist/assets/_app.settings-nmakdiaf.js +1 -0
  301. package/static/dist/assets/_app.settings._section-djglnjmi.js +3 -0
  302. package/static/dist/assets/_app.skills-f3wad8yo.js +1 -0
  303. package/static/dist/assets/_app.tasks-l10py1c0.js +1 -0
  304. package/static/dist/assets/_app.todos-bml1m3r1.js +1 -0
  305. package/static/dist/assets/_app.workspaces-f3d066lx.js +1 -0
  306. package/static/dist/assets/abnfDiagram-VCTEODGH-i53jc4yp.js +1 -0
  307. package/static/dist/assets/{angular-html-nu6l31w3.js → angular-html-l28bd5fo.js} +1 -1
  308. package/static/dist/assets/{angular-ts-fbx4f8mm.js → angular-ts-ffzx1vj0.js} +1 -1
  309. package/static/dist/assets/{apl-bx2xr7dh.js → apl-b7h7mmy4.js} +1 -1
  310. package/static/dist/assets/{arc-7popfhbk.js → arc-fk1b21lm.js} +1 -1
  311. package/static/dist/assets/architecture-7GRP2DOG-e3bv5m6f.js +1 -0
  312. package/static/dist/assets/architectureDiagram-5GKGNRK7-pakekxu2.js +36 -0
  313. package/static/dist/assets/archive-ihqi7z2x.js +1 -0
  314. package/static/dist/assets/{astro-g77i97cb.js → astro-k117fy0t.js} +1 -1
  315. package/static/dist/assets/back-gu3nu279.js +1 -0
  316. package/static/dist/assets/{blade-boo0u92y.js → blade-npefsmn8.js} +1 -1
  317. package/static/dist/assets/{blockDiagram-I7D4REHJ-joedghi3.js → blockDiagram-I7D4REHJ-bc6bo1n6.js} +4 -4
  318. package/static/dist/assets/{c-cat0w3sc.js → c-2umg6kbn.js} +1 -1
  319. package/static/dist/assets/{c4Diagram-7LVT6UL2-hyrjrohe.js → c4Diagram-7LVT6UL2-btvwk2qx.js} +1 -1
  320. package/static/dist/assets/channel-jn4f8443.js +1 -0
  321. package/static/dist/assets/{chunk-4HAMMTFA-koouqbut.js → chunk-4HAMMTFA-dlwab11c.js} +20 -20
  322. package/static/dist/assets/{chunk-75Z2AOVW-bl4bhdnt.js → chunk-75Z2AOVW-dp5gh7i8.js} +1 -1
  323. package/static/dist/assets/chunk-DU6HZSFF-bi06zl1c.js +128 -0
  324. package/static/dist/assets/{chunk-F27PBJKO-d8xxi0zi.js → chunk-F27PBJKO-kvv1rnlh.js} +1 -1
  325. package/static/dist/assets/{chunk-FOHPRMQF-opuflp73.js → chunk-FOHPRMQF-ipewusgj.js} +8 -8
  326. package/static/dist/assets/{chunk-GMAD6QVW-jro0hl73.js → chunk-GMAD6QVW-ji0rx9by.js} +6 -6
  327. package/static/dist/assets/{chunk-GVQU2GXP-djn6gbyu.js → chunk-GVQU2GXP-nmz0j82p.js} +1 -1
  328. package/static/dist/assets/{chunk-IMKFNOWR-vw4p5p7o.js → chunk-IMKFNOWR-kmi1qx88.js} +5 -5
  329. package/static/dist/assets/{chunk-L3NEJ4N5-n1hj77q8.js → chunk-L3NEJ4N5-xhb7mebj.js} +1 -1
  330. package/static/dist/assets/chunk-OSK3NFVY-5a9sgscq.js +10 -0
  331. package/static/dist/assets/{chunk-P2QGCYS3-onf1hz6c.js → chunk-P2QGCYS3-dfezp4vu.js} +1 -1
  332. package/static/dist/assets/{chunk-POPQ4Y6H-m8sqn7cs.js → chunk-POPQ4Y6H-gd2vq3c0.js} +1 -1
  333. package/static/dist/assets/{chunk-PWAF6VOD-ek4smc8x.js → chunk-PWAF6VOD-wvw2nksf.js} +1 -1
  334. package/static/dist/assets/{chunk-SHT3W25Y-g9gfvefo.js → chunk-SHT3W25Y-f58q97px.js} +13 -13
  335. package/static/dist/assets/{chunk-SVP7TREG-f9nfv2cu.js → chunk-SVP7TREG-abgwpyz9.js} +4 -4
  336. package/static/dist/assets/{chunk-TICWLB2K-bnk3m1mq.js → chunk-TICWLB2K-h4sbs8ds.js} +6 -6
  337. package/static/dist/assets/{chunk-XXDRQBXY-n40pf9vy.js → chunk-XXDRQBXY-jkmnqu65.js} +1 -1
  338. package/static/dist/assets/classDiagram-ZZMXUADV-dzrw66se.js +1 -0
  339. package/static/dist/assets/classDiagram-v2-VYDZK3BY-dzrw66se.js +1 -0
  340. package/static/dist/assets/{cobol-go622aep.js → cobol-ssf9hkh7.js} +1 -1
  341. package/static/dist/assets/{coffee-jwo1xjhq.js → coffee-lsi9fwae.js} +1 -1
  342. package/static/dist/assets/completionAudio-ce86msbu.js +1 -0
  343. package/static/dist/assets/copied-bz3gkazh.js +1 -0
  344. package/static/dist/assets/copy-m9h56qa8.js +1 -0
  345. package/static/dist/assets/cose-bilkent-JH36ORCC-layy2r27.js +1 -0
  346. package/static/dist/assets/{cpp-nre7j0kq.js → cpp-lfrh4y55.js} +1 -1
  347. package/static/dist/assets/{crystal-lviso2je.js → crystal-efh4pte7.js} +1 -1
  348. package/static/dist/assets/{css-ywz9j4hb.js → css-i82qdo89.js} +1 -1
  349. package/static/dist/assets/cynefin-OW5HDTMX-g081vffs.js +1 -0
  350. package/static/dist/assets/cynefinDiagram-5FMLGOSQ-odxvjesk.js +62 -0
  351. package/static/dist/assets/cytoscape.esm-fjn2algp.js +321 -0
  352. package/static/dist/assets/dagre-GXQ25YYZ-cpdwzjs4.js +4 -0
  353. package/static/dist/assets/dagre-o5jmjz46.js +1 -0
  354. package/static/dist/assets/{diagram-S7CK7UJ4-m6aeoe7c.js → diagram-S7CK7UJ4-clv5mxvu.js} +4 -4
  355. package/static/dist/assets/diagram-UQ7AKVKN-m2ia1mbf.js +41 -0
  356. package/static/dist/assets/{diagram-VSXAHHWV-hbawi7hn.js → diagram-VSXAHHWV-ea6zv636.js} +1 -1
  357. package/static/dist/assets/diagram-VX7I27RA-oqlef685.js +24 -0
  358. package/static/dist/assets/diagram-Z3DM3KII-kjubcbwu.js +24 -0
  359. package/static/dist/assets/dist-carq1azj.js +44 -0
  360. package/static/dist/assets/dist-crc46di9.js +7 -0
  361. package/static/dist/assets/{dist-c4c2m3kv.js → dist-nb670eu6.js} +1 -1
  362. package/static/dist/assets/ebnfDiagram-PWID7BFC-fg0zri3e.js +1 -0
  363. package/static/dist/assets/{edge-dvv35byi.js → edge-lrob635n.js} +1 -1
  364. package/static/dist/assets/{elixir-i2f1ki1g.js → elixir-kdpxeq93.js} +1 -1
  365. package/static/dist/assets/{elm-cpepyjm4.js → elm-c8irj9uh.js} +1 -1
  366. package/static/dist/assets/erDiagram-RLTQ6QDP-eb7pmk3x.js +99 -0
  367. package/static/dist/assets/{erb-idlyfheg.js → erb-flwsv146.js} +1 -1
  368. package/static/dist/assets/eventmodeling-NTZA5JFV-gvi1fxhn.js +1 -0
  369. package/static/dist/assets/flowDiagram-HODETNUW-abekab15.js +1 -0
  370. package/static/dist/assets/folder-plus-ksaons88.js +1 -0
  371. package/static/dist/assets/{ganttDiagram-EL5Y4UJY-ma6jxj5i.js → ganttDiagram-EL5Y4UJY-jmisowrc.js} +1 -1
  372. package/static/dist/assets/{git-rebase-d9lpfpbn.js → git-rebase-bli19aoq.js} +1 -1
  373. package/static/dist/assets/gitGraph-4MIJSDKK-m7kt3u6e.js +1 -0
  374. package/static/dist/assets/{gitGraphDiagram-WWUBYQGX-hzltvsod.js → gitGraphDiagram-WWUBYQGX-nq7vfzh2.js} +1 -1
  375. package/static/dist/assets/{glimmer-js-39i0urfb.js → glimmer-js-d4icg38p.js} +1 -1
  376. package/static/dist/assets/{glimmer-ts-gdtd6n73.js → glimmer-ts-bk75772u.js} +1 -1
  377. package/static/dist/assets/{glsl-o1djm5pp.js → glsl-lqormp2b.js} +1 -1
  378. package/static/dist/assets/{graphql-kj6rz55t.js → graphql-hw6s5qzd.js} +1 -1
  379. package/static/dist/assets/{hack-pe1qqr2i.js → hack-ozrv6l4d.js} +1 -1
  380. package/static/dist/assets/{haml-cknnbcqs.js → haml-gytfosdt.js} +1 -1
  381. package/static/dist/assets/{handlebars-hwq64orh.js → handlebars-b6g7jffd.js} +1 -1
  382. package/static/dist/assets/highlighted-body-KPVGNVTW-gcu017ay.js +1 -0
  383. package/static/dist/assets/host-ipp4e84c.js +1 -0
  384. package/static/dist/assets/{html-derivative-h2i2pyjc.js → html-derivative-f1tqcroo.js} +1 -1
  385. package/static/dist/assets/{html-ha05xtvt.js → html-on6oj6yj.js} +1 -1
  386. package/static/dist/assets/{http-cf94zu27.js → http-odhufsl7.js} +1 -1
  387. package/static/dist/assets/{hurl-lslax568.js → hurl-mu680336.js} +1 -1
  388. package/static/dist/assets/index-d6vbxlra.js +13 -0
  389. package/static/dist/assets/index-ey6qo0zx.css +2 -0
  390. package/static/dist/assets/info-A6RAGUB7-idazwfqe.js +1 -0
  391. package/static/dist/assets/infoDiagram-27XIBGKW-bb9jh8gl.js +2 -0
  392. package/static/dist/assets/{ishikawaDiagram-5VMMS53U-e7bnwq7h.js → ishikawaDiagram-5VMMS53U-nqc132rv.js} +6 -6
  393. package/static/dist/assets/{java-ndjf2o89.js → java-nxbe8uju.js} +1 -1
  394. package/static/dist/assets/{javascript-coftlwy3.js → javascript-lz3kxcyz.js} +1 -1
  395. package/static/dist/assets/{jinja-etei9wy7.js → jinja-l5pk84gt.js} +1 -1
  396. package/static/dist/assets/{jison-hyekgft1.js → jison-jdutdwyy.js} +1 -1
  397. package/static/dist/assets/{journeyDiagram-3NMN7TZE-etd1bi6p.js → journeyDiagram-3NMN7TZE-fpvnhy44.js} +1 -1
  398. package/static/dist/assets/{json-lok0yaho.js → json-dnge4ssf.js} +1 -1
  399. package/static/dist/assets/{jsx-b64w0nbx.js → jsx-c3lwhkep.js} +1 -1
  400. package/static/dist/assets/{jsx-runtime-eu92a5pu.js → jsx-runtime-o40ukmjl.js} +1 -1
  401. package/static/dist/assets/{julia-jxxzz2yn.js → julia-hwd4rrcb.js} +1 -1
  402. package/static/dist/assets/{just-mc29iw9t.js → just-nka3oxdx.js} +1 -1
  403. package/static/dist/assets/{kanban-definition-UXKFOSKX-emb1g9dz.js → kanban-definition-UXKFOSKX-ndzqm6fu.js} +28 -28
  404. package/static/dist/assets/katex-cbdd1ohw.css +1 -0
  405. package/static/dist/assets/katex-pbij2oo6.js +257 -0
  406. package/static/dist/assets/{latex-pafa03ft.js → latex-iqmr7e40.js} +1 -1
  407. package/static/dist/assets/lazyRouteComponent-javud235.js +1 -0
  408. package/static/dist/assets/{line-h0ojzsvs.js → line-g625e7cj.js} +1 -1
  409. package/static/dist/assets/linear-jlwrvvy6.js +1 -0
  410. package/static/dist/assets/link-gfdaho08.js +2 -0
  411. package/static/dist/assets/{liquid-hz5c2pov.js → liquid-okmk9tbp.js} +1 -1
  412. package/static/dist/assets/locale-cs-n41hptse.js +5 -0
  413. package/static/dist/assets/locale-de-k7ht47ew.js +5 -0
  414. package/static/dist/assets/locale-es-ih078lco.js +5 -0
  415. package/static/dist/assets/locale-fr-ojabnf41.js +5 -0
  416. package/static/dist/assets/locale-it-kb96jufy.js +5 -0
  417. package/static/dist/assets/locale-ja-jpsp3xs1.js +7 -0
  418. package/static/dist/assets/locale-ko-cpzuy0n7.js +5 -0
  419. package/static/dist/assets/locale-pl-dbap4leu.js +5 -0
  420. package/static/dist/assets/locale-pt-nci7w72x.js +5 -0
  421. package/static/dist/assets/locale-ru-soghe4cs.js +7 -0
  422. package/static/dist/assets/locale-tr-ks00mu68.js +5 -0
  423. package/static/dist/assets/locale-vi-ij7twfm6.js +5 -0
  424. package/static/dist/assets/locale-zh-Hant-feakwr7a.js +5 -0
  425. package/static/dist/assets/locale-zh-ren0vjyv.js +7 -0
  426. package/static/dist/assets/login-iv6yq4xf.js +1 -0
  427. package/static/dist/assets/{lua-leyf8mlb.js → lua-krx4xj5h.js} +1 -1
  428. package/static/dist/assets/{marko-cn1fzpdv.js → marko-gbvpfehz.js} +1 -1
  429. package/static/dist/assets/{mdc-huhy88df.js → mdc-c21zlyi5.js} +1 -1
  430. package/static/dist/assets/mermaid-HWGCJPDP-cwj5cl6k.js +1 -0
  431. package/static/dist/assets/mermaid-parser.core-plzkuzov.js +7 -0
  432. package/static/dist/assets/micromark-factory-space-fnmnpi6s.js +1 -0
  433. package/static/dist/assets/{mindmap-definition-YA3MSWOX-o1vathns.js → mindmap-definition-YA3MSWOX-ojrgs569.js} +28 -28
  434. package/static/dist/assets/{nginx-e7lvhsmn.js → nginx-f3d68ed4.js} +1 -1
  435. package/static/dist/assets/{nim-dun5d8mk.js → nim-dw0jcy70.js} +1 -1
  436. package/static/dist/assets/onboarding-ff4emacu.js +1 -0
  437. package/static/dist/assets/packet-AYTQ26CC-gyaf9s8h.js +1 -0
  438. package/static/dist/assets/pegDiagram-XKGWAZYB-bf6xj8mq.js +1 -0
  439. package/static/dist/assets/{perl-bj3oqtet.js → perl-3c0r45c8.js} +1 -1
  440. package/static/dist/assets/{php-buzp12r0.js → php-rznhidvp.js} +1 -1
  441. package/static/dist/assets/pie-WAS4IAKB-f5ymzelo.js +1 -0
  442. package/static/dist/assets/pieDiagram-E7YTZNPT-d0qjl3zi.js +39 -0
  443. package/static/dist/assets/{pug-mjad7he9.js → pug-f2le4f3y.js} +1 -1
  444. package/static/dist/assets/{qml-d1gdp10s.js → qml-e2wbq9cr.js} +1 -1
  445. package/static/dist/assets/{quadrantDiagram-AXDQQJYC-owqc4uqn.js → quadrantDiagram-AXDQQJYC-oqy1mras.js} +1 -1
  446. package/static/dist/assets/queryKeys-x8fjxhut.js +9 -0
  447. package/static/dist/assets/{r-o3r9c7ao.js → r-epfzuw6q.js} +1 -1
  448. package/static/dist/assets/radar-RG4KPBEZ-b6jcjvda.js +1 -0
  449. package/static/dist/assets/railroad-74A4TZTK-e3a6lk5k.js +1 -0
  450. package/static/dist/assets/railroad-abnf-HS5TGJTU-ff5hocrx.js +1 -0
  451. package/static/dist/assets/railroad-ebnf-LZEXJU2U-exkhyw4n.js +1 -0
  452. package/static/dist/assets/railroad-peg-WCYAUIDC-jefk9b7c.js +1 -0
  453. package/static/dist/assets/railroadDiagram-O6MQD6OU-e4amks1i.js +1 -0
  454. package/static/dist/assets/{razor-ilc585yr.js → razor-pea1u1d0.js} +1 -1
  455. package/static/dist/assets/refresh-cw-lfp4u1oh.js +1 -0
  456. package/static/dist/assets/{regexp-mpjtcvwm.js → regexp-hzte0a5x.js} +1 -1
  457. package/static/dist/assets/registry-g7w3353u.js +1 -0
  458. package/static/dist/assets/requirementDiagram-BXWQKSXE-c77k1e2y.js +84 -0
  459. package/static/dist/assets/rolldown-runtime-bnnw9q4a.js +1 -0
  460. package/static/dist/assets/{rst-jrkwjdyi.js → rst-m6tugj5o.js} +1 -1
  461. package/static/dist/assets/{ruby-n4tjcbpz.js → ruby-l19vq3w1.js} +1 -1
  462. package/static/dist/assets/runtime-nlxpnegr.js +1 -0
  463. package/static/dist/assets/{sankeyDiagram-P5KCCOFB-iqc02emv.js → sankeyDiagram-P5KCCOFB-oa1cc52s.js} +1 -1
  464. package/static/dist/assets/{sas-hjo6y93k.js → sas-ktdxo397.js} +1 -1
  465. package/static/dist/assets/{scss-ncidjv48.js → scss-kn3oxfwf.js} +1 -1
  466. package/static/dist/assets/{sequenceDiagram-WJ2MYXX4-i0v116q0.js → sequenceDiagram-WJ2MYXX4-j20gqt22.js} +11 -11
  467. package/static/dist/assets/settings_section_extensions_title-fadc7o65.js +1 -0
  468. package/static/dist/assets/share._token-kmfoflw6.js +2 -0
  469. package/static/dist/assets/{shellscript-m8whjpqd.js → shellscript-l100jtrg.js} +1 -1
  470. package/static/dist/assets/{shellsession-i5bj6syz.js → shellsession-m5qukwow.js} +1 -1
  471. package/static/dist/assets/sizeCapture-INFHLROL-dk1io13w.js +1 -0
  472. package/static/dist/assets/sliders-horizontal-g5jkzd9k.js +1 -0
  473. package/static/dist/assets/{soy-hhh36ysq.js → soy-mexlscur.js} +1 -1
  474. package/static/dist/assets/{sql-j21bzcl6.js → sql-o0ho5suh.js} +1 -1
  475. package/static/dist/assets/src-h89s0hs4.js +1 -0
  476. package/static/dist/assets/{stata-bbu2onh1.js → stata-be9ck1q3.js} +1 -1
  477. package/static/dist/assets/stateDiagram-D77RDMKH-co2ghkdp.js +1 -0
  478. package/static/dist/assets/stateDiagram-v2-MP3YSRHH-faw1opgh.js +1 -0
  479. package/static/dist/assets/{surrealql-l5vczuco.js → surrealql-gk1xkkyy.js} +1 -1
  480. package/static/dist/assets/{svelte-idn422g6.js → svelte-k6ecjilf.js} +1 -1
  481. package/static/dist/assets/swimlanes-42K2YHIH-m30cktqe.js +1 -0
  482. package/static/dist/assets/swimlanesDiagram-VR7AAH4N-hfil433g.js +8 -0
  483. package/static/dist/assets/{templ-e22qou3c.js → templ-gf3bftk6.js} +1 -1
  484. package/static/dist/assets/{tex-deqpc5ee.js → tex-d21fqv1z.js} +1 -1
  485. package/static/dist/assets/{timeline-definition-24CTP7MA-ol2hnvma.js → timeline-definition-24CTP7MA-liuep6fl.js} +8 -8
  486. package/static/dist/assets/toast-zmb35u3r.js +56 -0
  487. package/static/dist/assets/treeView-Q6P3EWNA-np5d2jv2.js +1 -0
  488. package/static/dist/assets/treemap-WGGIJYW6-cmpltxh1.js +1 -0
  489. package/static/dist/assets/{ts-tags-ctnibc27.js → ts-tags-n0g61gr6.js} +1 -1
  490. package/static/dist/assets/{tsx-i163n32g.js → tsx-cvv7wv6q.js} +1 -1
  491. package/static/dist/assets/{twig-x0fi7wm8.js → twig-n1f67204.js} +1 -1
  492. package/static/dist/assets/{typescript-g18c34xz.js → typescript-og7o55cx.js} +1 -1
  493. package/static/dist/assets/untitled-mj86r4gz.js +1 -0
  494. package/static/dist/assets/useDebounced-g8r0ggve.js +1 -0
  495. package/static/dist/assets/useForm-f1udzsjf.js +1 -0
  496. package/static/dist/assets/{useParams-gjc70qru.js → useParams-ierevvts.js} +1 -1
  497. package/static/dist/assets/{useSearch-e6ae539u.js → useSearch-i7nr9ypl.js} +1 -1
  498. package/static/dist/assets/vennDiagram-4TSXK5OY-b2g42qrg.js +34 -0
  499. package/static/dist/assets/{vue-mwu5l1bb.js → vue-ej4xpwqw.js} +1 -1
  500. package/static/dist/assets/{vue-html-nskj3du0.js → vue-html-d48xsjuo.js} +1 -1
  501. package/static/dist/assets/{vue-vine-cqe77smq.js → vue-vine-pev88ip6.js} +1 -1
  502. package/static/dist/assets/wardley-WFR3VGLG-lb0eqbff.js +1 -0
  503. package/static/dist/assets/wardleyDiagram-VM6X3IG4-ermwaqha.js +78 -0
  504. package/static/dist/assets/with-selector-nu1b5z0v.js +1 -0
  505. package/static/dist/assets/{xml-gau7gvrv.js → xml-ifxp6gqb.js} +1 -1
  506. package/static/dist/assets/{xsl-ew09zq8b.js → xsl-fug2cckc.js} +1 -1
  507. package/static/dist/assets/{xychartDiagram-S5SC5T6Z-aqbgvujg.js → xychartDiagram-S5SC5T6Z-dll0jldk.js} +6 -6
  508. package/static/dist/assets/{yaml-ofnrxtvf.js → yaml-fjmafnlo.js} +1 -1
  509. package/static/dist/extension-sdk.js +1 -1
  510. package/static/dist/index.html +1 -1
  511. package/static/dist/sw.js +180 -136
  512. package/static/dist/assets/AppShell-cey33v9s.js +0 -8
  513. package/static/dist/assets/ChatPage-i8wnugr7.js +0 -18
  514. package/static/dist/assets/ConnectTargets-hg19553x.js +0 -1
  515. package/static/dist/assets/ExtensionRoute-cly4apm5.js +0 -1
  516. package/static/dist/assets/Field-j8uqoigz.js +0 -9
  517. package/static/dist/assets/HubRoute-e4bgz41j.js +0 -2
  518. package/static/dist/assets/Markdown-lahuichm.js +0 -598
  519. package/static/dist/assets/Markdown-lwviulmg.css +0 -1
  520. package/static/dist/assets/RightPanel-lbo4i0fn.js +0 -1
  521. package/static/dist/assets/Select-gqatm2e0.js +0 -1
  522. package/static/dist/assets/SessionListPanel-mfqayfjh.js +0 -1
  523. package/static/dist/assets/SettingsLayout-b8980u7k.js +0 -1
  524. package/static/dist/assets/States-e7dkgtxf.js +0 -1
  525. package/static/dist/assets/Toaster-bfqqy786.js +0 -1
  526. package/static/dist/assets/_app-n1n6pfx1.js +0 -1
  527. package/static/dist/assets/_app.ext._extensionId-buxjxav3.js +0 -1
  528. package/static/dist/assets/_app.index-jt8zwiu2.js +0 -1
  529. package/static/dist/assets/_app.insights-cv76ml71.js +0 -1
  530. package/static/dist/assets/_app.kanban-h6ts53j7.js +0 -1
  531. package/static/dist/assets/_app.logs-dm873z90.js +0 -1
  532. package/static/dist/assets/_app.memory-glk5y6m8.js +0 -1
  533. package/static/dist/assets/_app.profiles-ka6zpstq.js +0 -1
  534. package/static/dist/assets/_app.session._sessionId-g2vzghvc.js +0 -1
  535. package/static/dist/assets/_app.settings-hgjdhzcd.js +0 -1
  536. package/static/dist/assets/_app.settings._section-jf2kmhae.js +0 -3
  537. package/static/dist/assets/_app.skills-cii852yq.js +0 -1
  538. package/static/dist/assets/_app.tasks-fp9q7atm.js +0 -1
  539. package/static/dist/assets/_app.todos-dw94qzue.js +0 -1
  540. package/static/dist/assets/_app.workspaces-inyygzze.js +0 -1
  541. package/static/dist/assets/abnfDiagram-VCTEODGH-gjayq3ra.js +0 -1
  542. package/static/dist/assets/architecture-7GRP2DOG-lp56972r.js +0 -1
  543. package/static/dist/assets/architectureDiagram-5GKGNRK7-nwb3xovn.js +0 -36
  544. package/static/dist/assets/archive-b1j004vn.js +0 -1
  545. package/static/dist/assets/back-g74gkozu.js +0 -1
  546. package/static/dist/assets/channel-es95o4y8.js +0 -1
  547. package/static/dist/assets/chunk-DU6HZSFF-gpedttsp.js +0 -128
  548. package/static/dist/assets/chunk-OSK3NFVY-oy0gwn2n.js +0 -10
  549. package/static/dist/assets/classDiagram-ZZMXUADV-kmihoqxh.js +0 -1
  550. package/static/dist/assets/classDiagram-v2-VYDZK3BY-kmihoqxh.js +0 -1
  551. package/static/dist/assets/copied-bli9tbcx.js +0 -1
  552. package/static/dist/assets/copy-jamtd1pf.js +0 -1
  553. package/static/dist/assets/cose-bilkent-JH36ORCC-eclcy6ja.js +0 -1
  554. package/static/dist/assets/cynefin-OW5HDTMX-f8xfdd3f.js +0 -1
  555. package/static/dist/assets/cynefinDiagram-5FMLGOSQ-n9lb99h9.js +0 -62
  556. package/static/dist/assets/cytoscape.esm-bqu53u12.js +0 -321
  557. package/static/dist/assets/dagre-GXQ25YYZ-dgailddi.js +0 -4
  558. package/static/dist/assets/dagre-lkoknbjn.js +0 -1
  559. package/static/dist/assets/diagram-UQ7AKVKN-jall3j0x.js +0 -41
  560. package/static/dist/assets/diagram-VX7I27RA-hendl2tt.js +0 -24
  561. package/static/dist/assets/diagram-Z3DM3KII-igwc35p3.js +0 -24
  562. package/static/dist/assets/ebnfDiagram-PWID7BFC-c64knz08.js +0 -1
  563. package/static/dist/assets/erDiagram-RLTQ6QDP-brdu9lcm.js +0 -99
  564. package/static/dist/assets/eventmodeling-NTZA5JFV-njk1j8wl.js +0 -1
  565. package/static/dist/assets/flowDiagram-HODETNUW-nma6f0ga.js +0 -1
  566. package/static/dist/assets/folder-plus-lvt9kudb.js +0 -1
  567. package/static/dist/assets/gitGraph-4MIJSDKK-naa9w6xa.js +0 -1
  568. package/static/dist/assets/highlighted-body-KPVGNVTW-ghoavj8d.js +0 -1
  569. package/static/dist/assets/host-hzm8n85n.js +0 -1
  570. package/static/dist/assets/index-drdcaqeq.css +0 -2
  571. package/static/dist/assets/index-jzm844he.js +0 -11
  572. package/static/dist/assets/info-A6RAGUB7-mn2ut5ko.js +0 -1
  573. package/static/dist/assets/infoDiagram-27XIBGKW-h6kuqvsb.js +0 -2
  574. package/static/dist/assets/lazyRouteComponent-o816ytzl.js +0 -1
  575. package/static/dist/assets/linear-becwlnhk.js +0 -1
  576. package/static/dist/assets/link-k01ryaf9.js +0 -1
  577. package/static/dist/assets/login-bsae49ew.js +0 -1
  578. package/static/dist/assets/mermaid-HWGCJPDP-ihl34s74.js +0 -1
  579. package/static/dist/assets/mermaid-parser.core-bnre27u8.js +0 -7
  580. package/static/dist/assets/not-found-ccnnac39.js +0 -1
  581. package/static/dist/assets/onboarding-c65tysya.js +0 -1
  582. package/static/dist/assets/onboarding_model_label-gpn28uix.js +0 -1
  583. package/static/dist/assets/packet-AYTQ26CC-hatq7m2e.js +0 -1
  584. package/static/dist/assets/pegDiagram-XKGWAZYB-gwisz8jv.js +0 -1
  585. package/static/dist/assets/pie-WAS4IAKB-fpftf0mk.js +0 -1
  586. package/static/dist/assets/pieDiagram-E7YTZNPT-khm1o9a6.js +0 -39
  587. package/static/dist/assets/radar-RG4KPBEZ-cntfwjpq.js +0 -1
  588. package/static/dist/assets/railroad-74A4TZTK-a7t5eibp.js +0 -1
  589. package/static/dist/assets/railroad-abnf-HS5TGJTU-ol8cdktf.js +0 -1
  590. package/static/dist/assets/railroad-ebnf-LZEXJU2U-i8vzd429.js +0 -1
  591. package/static/dist/assets/railroad-peg-WCYAUIDC-nw3ulewz.js +0 -1
  592. package/static/dist/assets/railroadDiagram-O6MQD6OU-etuh0qa0.js +0 -1
  593. package/static/dist/assets/refresh-cw-mqbkv2a3.js +0 -1
  594. package/static/dist/assets/refresh-l29ljp76.js +0 -1
  595. package/static/dist/assets/requirementDiagram-BXWQKSXE-oq2ulk22.js +0 -84
  596. package/static/dist/assets/rolldown-runtime-b9miacsj.js +0 -1
  597. package/static/dist/assets/root-mbklpuv4.js +0 -1
  598. package/static/dist/assets/saved-ndd4t2xb.js +0 -1
  599. package/static/dist/assets/settings_section_extensions_title-jhfo6o8z.js +0 -1
  600. package/static/dist/assets/share._token-c1ri0hy1.js +0 -2
  601. package/static/dist/assets/sizeCapture-INFHLROL-g612l48j.js +0 -1
  602. package/static/dist/assets/sliders-horizontal-j3jjt9tv.js +0 -1
  603. package/static/dist/assets/src-hjyib4mu.js +0 -1
  604. package/static/dist/assets/stateDiagram-D77RDMKH-dnpt1ato.js +0 -1
  605. package/static/dist/assets/stateDiagram-v2-MP3YSRHH-bxjacpk6.js +0 -1
  606. package/static/dist/assets/swimlanes-42K2YHIH-loqbdazb.js +0 -1
  607. package/static/dist/assets/swimlanesDiagram-VR7AAH4N-id62p9hz.js +0 -8
  608. package/static/dist/assets/toast-i3h34v6o.js +0 -64
  609. package/static/dist/assets/treeView-Q6P3EWNA-idrj6iox.js +0 -1
  610. package/static/dist/assets/treemap-WGGIJYW6-lzr49vv5.js +0 -1
  611. package/static/dist/assets/untitled-oaoya4qj.js +0 -1
  612. package/static/dist/assets/useForm-nfaxgmsk.js +0 -1
  613. package/static/dist/assets/vennDiagram-4TSXK5OY-bvwr9o2z.js +0 -34
  614. package/static/dist/assets/wardley-WFR3VGLG-31ui8tma.js +0 -1
  615. package/static/dist/assets/wardleyDiagram-VM6X3IG4-k5wqtx4b.js +0 -78
  616. /package/static/dist/assets/{ChatPage-gmu5c7lf.css → TerminalPanel-gmu5c7lf.css} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maudecode/talaria-web",
3
- "version": "1.19.0",
3
+ "version": "1.21.0",
4
4
  "type": "module",
5
5
  "description": "Talaria Web server: Node 24 HTTP server for the Hermes Agent browser workbench, with the talaria-web launcher, daemon control, self-update, and MCP bins.",
6
6
  "bin": {
@@ -25,8 +25,8 @@
25
25
  "postpack": "node scripts/prepack.mjs --clean"
26
26
  },
27
27
  "dependencies": {
28
- "@maudecode/talaria-web-contracts": "1.19.0",
29
- "@modelcontextprotocol/sdk": "1.30.0",
28
+ "@maudecode/talaria-web-contracts": "1.21.0",
29
+ "@modelcontextprotocol/sdk": "1.32.0",
30
30
  "@orpc/contract": "1.15.2",
31
31
  "@orpc/openapi": "1.15.2",
32
32
  "@orpc/server": "1.15.2",
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "x-talaria": {
3
- "releaseTag": "v0.22.2",
4
- "version": "0.22.2",
5
- "sourceRevision": "d923a5eb487a17c0a68801bba9ef0f56c81040a8"
3
+ "releaseTag": "v0.22.5",
4
+ "version": "0.22.5",
5
+ "sourceRevision": "bf0203a794a07aac3ff764972ab9087baa4e4f4e"
6
6
  },
7
7
  "services": {
8
8
  "hermes-agent": {
9
- "image": "docker.io/nousresearch/hermes-agent@sha256:36099926da316742423544e055d4734777105ffe6341873af5459b957d0c2919"
9
+ "image": "docker.io/nousresearch/hermes-agent@sha256:9c5561579f3ffdf333401797094ac3a743738d6c25d40f4331c7bf77b694238d"
10
10
  }
11
11
  }
12
12
  }
@@ -1,26 +1,41 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
+ "nativeContracts": {
4
+ "served-local-policy-v1": [
5
+ "4d04303818b61bf3aa09278af48356315515965b",
6
+ "bf0203a794a07aac3ff764972ab9087baa4e4f4e"
7
+ ],
8
+ "captured-command-v1": [
9
+ "5b147ab036d6d19131bff8d20701b5001eab844a",
10
+ "4d04303818b61bf3aa09278af48356315515965b",
11
+ "bf0203a794a07aac3ff764972ab9087baa4e4f4e"
12
+ ],
13
+ "message-reactions-v1": [
14
+ "4d04303818b61bf3aa09278af48356315515965b",
15
+ "bf0203a794a07aac3ff764972ab9087baa4e4f4e"
16
+ ]
17
+ },
3
18
  "releases": [
4
19
  {
5
- "releaseTag": "v0.22.0",
6
- "version": "0.22.0",
7
- "sourceRevision": "e06df9c2eae6901f4c88f464e0ae6e753c0428b8",
8
- "image": "docker.io/nousresearch/hermes-agent@sha256:c69536a39e885b8943329bda68cdf44492458b96aa74a212239bde9d2aeb406a",
9
- "validatedBy": "TAL-986"
20
+ "releaseTag": "v0.22.3",
21
+ "version": "0.22.3",
22
+ "sourceRevision": "5b147ab036d6d19131bff8d20701b5001eab844a",
23
+ "image": "docker.io/nousresearch/hermes-agent@sha256:2f305c9bdc81731f48664586d23cb6a6f838a15ad7be1bfabe0c3c269d8e09b9",
24
+ "validatedBy": "TAL-1251"
10
25
  },
11
26
  {
12
- "releaseTag": "v0.22.1",
13
- "version": "0.22.1",
14
- "sourceRevision": "297552a9d646119871391d202509822cd86330df",
15
- "image": "docker.io/nousresearch/hermes-agent@sha256:861c9756ed6c558530c73d5c27860343b00c0d5efd6997a1d8ec6416c8a2b485",
16
- "validatedBy": "TAL-1048"
27
+ "releaseTag": "v0.22.4",
28
+ "version": "0.22.4",
29
+ "sourceRevision": "4d04303818b61bf3aa09278af48356315515965b",
30
+ "image": "docker.io/nousresearch/hermes-agent@sha256:7a69201726bc64db2072a1371557137c23312d29705cda2b8ea2a0214a50a4cf",
31
+ "validatedBy": "TAL-1307"
17
32
  },
18
33
  {
19
- "releaseTag": "v0.22.2",
20
- "version": "0.22.2",
21
- "sourceRevision": "d923a5eb487a17c0a68801bba9ef0f56c81040a8",
22
- "image": "docker.io/nousresearch/hermes-agent@sha256:36099926da316742423544e055d4734777105ffe6341873af5459b957d0c2919",
23
- "validatedBy": "TAL-1061"
34
+ "releaseTag": "v0.22.5",
35
+ "version": "0.22.5",
36
+ "sourceRevision": "bf0203a794a07aac3ff764972ab9087baa4e4f4e",
37
+ "image": "docker.io/nousresearch/hermes-agent@sha256:9c5561579f3ffdf333401797094ac3a743738d6c25d40f4331c7bf77b694238d",
38
+ "validatedBy": "TAL-1511"
24
39
  }
25
40
  ]
26
41
  }
@@ -5,7 +5,9 @@ the existing pytest dependency is used; orchestration itself is Python stdlib.
5
5
  """
6
6
 
7
7
  from collections import Counter, defaultdict
8
+ import atexit
8
9
  import json
10
+ import contextlib
9
11
  import os
10
12
  from pathlib import Path
11
13
  import signal
@@ -42,21 +44,143 @@ def partition(nodeids, count):
42
44
 
43
45
  # Pytest plugin hooks. The collection and execution journal is independent of
44
46
  # JUnit, which can contain an extra testcase for a teardown error.
45
- _collected, _started = [], []
47
+ _collected, _started, _layers = [], [], {}
48
+ _inventory, _active_case, _harness_launch = {}, None, False
49
+ _launches, _violations = [], []
50
+ _active_phase = 'collection'
51
+
52
+
53
+ def pytest_addoption(parser):
54
+ parser.addoption('--talaria-layer', choices=('all', 'fast', 'process', 'compatibility'), default='all')
55
+
56
+
57
+ def pytest_configure(config):
58
+ global _inventory
59
+ path = Path(config.rootpath) / 'tests/process_inventory.json'
60
+ if path.exists():
61
+ data = json.loads(path.read_text())
62
+ if data.get('schemaVersion') != 1 or not isinstance(data.get('families'), dict):
63
+ raise ValueError('invalid process inventory')
64
+ _inventory = data['families']
65
+ for family, entry in _inventory.items():
66
+ if (not isinstance(entry, dict) or entry.get('layer') not in ('process', 'compatibility')
67
+ or not isinstance(entry.get('reason'), str) or not entry['reason'].strip()
68
+ or not isinstance(entry.get('cases'), list) or not entry['cases']
69
+ or any(not isinstance(case, str) or (case and not (case.startswith('[') and case.endswith(']'))) for case in entry['cases'])
70
+ or len(entry['cases']) != len(set(entry['cases']))):
71
+ raise ValueError(f'invalid process inventory family: {family}')
72
+ sys.addaudithook(_audit_launch)
73
+ def final_policy_check():
74
+ if _violations:
75
+ try:
76
+ pytest_sessionfinish(None)
77
+ finally:
78
+ os._exit(1)
79
+ atexit.register(final_policy_check)
80
+
81
+
82
+ def _audit_launch(event, args):
83
+ if event not in ('subprocess.Popen', 'os.fork', 'os.forkpty', 'os.posix_spawn', 'os.exec',
84
+ 'os.system', 'os.startfile', 'os.startfile/2', 'socket.connect', 'socket.bind',
85
+ 'socket.getaddrinfo', 'socket.gethostbyname', 'socket.gethostbyname_ex',
86
+ 'socket.gethostbyaddr', 'socket.getnameinfo', 'socket.sendto', 'socket.sendmsg'):
87
+ return
88
+ family = (_active_case or '').split('[', 1)[0]
89
+ if family not in _inventory:
90
+ boundary = 'network access' if event.startswith('socket.') else 'process launch'
91
+ violation = f'unclassified {boundary} in {_active_case or "collection"}: {event} {args[:2]!r}'
92
+ _violations.append(violation)
93
+ raise RuntimeError(violation)
94
+ _launches.append({'nodeid': _active_case, 'phase': _active_phase, 'harness': _harness_launch, 'event': event, 'args': repr(args[:2])})
95
+
96
+
97
+ @contextlib.contextmanager
98
+ def harness_process_scan():
99
+ global _harness_launch
100
+ previous, _harness_launch = _harness_launch, True
101
+ try:
102
+ yield
103
+ finally:
104
+ _harness_launch = previous
46
105
 
47
106
 
48
- def pytest_collection_modifyitems(items):
49
- _collected.extend(item.nodeid for item in items)
107
+ def pytest_runtest_logreport(report):
108
+ global _active_case, _active_phase
109
+ _active_phase = {'setup': 'call', 'call': 'teardown', 'teardown': 'collection'}[report.when]
110
+ if report.when == 'teardown':
111
+ _active_case = None
112
+
113
+
114
+ def case_layer(nodeid):
115
+ return _inventory.get(nodeid.split('[', 1)[0], {}).get('layer', 'fast')
116
+
117
+
118
+ def pytest_collection_modifyitems(items, config):
119
+ selected, deselected = [], []
120
+ layer = config.getoption('--talaria-layer')
121
+ for item in items:
122
+ family, bracket, case = item.nodeid.partition('[')
123
+ entry = _inventory.get(family)
124
+ agent = ({'sidecar', 'handshaken'} & set(item.fixturenames) or any(
125
+ mark.kwargs.get('reason') == 'pinned Hermes Agent checkout with venv not found'
126
+ for mark in item.iter_markers('skipif')))
127
+ if agent and case_layer(item.nodeid) != 'compatibility':
128
+ raise ValueError(f'unclassified Agent case: {item.nodeid}')
129
+ if entry and ('[' + case if bracket else '') not in entry['cases']:
130
+ raise ValueError(f'unreviewed process case: {item.nodeid}')
131
+ target = selected if layer == 'all' or layer == case_layer(item.nodeid) else deselected
132
+ target.append(item)
133
+ config.hook.pytest_deselected(items=deselected)
134
+ items[:] = selected
50
135
  for item in items:
51
136
  item.user_properties.append(("talaria_nodeid", item.nodeid))
52
137
 
53
138
 
139
+ def pytest_collection_finish(session):
140
+ _collected.extend(item.nodeid for item in session.items)
141
+ for item in session.items:
142
+ _layers[item.nodeid] = case_layer(item.nodeid)
143
+ if os.environ.get('TALARIA_POLICY_CHECK_ALL') == '1':
144
+ reviewed = {family + case
145
+ for family, entry in _inventory.items() for case in entry['cases']}
146
+ missing = reviewed - set(_collected)
147
+ if missing:
148
+ raise ValueError(f'missing reviewed coverage: {sorted(missing)}')
149
+
150
+
54
151
  def pytest_runtest_logstart(nodeid):
152
+ global _active_case, _active_phase
153
+ _active_case, _active_phase = nodeid, 'setup'
55
154
  _started.append(nodeid)
56
155
 
57
156
 
58
- def pytest_sessionfinish():
59
- Path(os.environ["TALARIA_PYTEST_MANIFEST"]).write_text(json.dumps({"collected": _collected, "started": _started}))
157
+ def pytest_sessionfinish(session):
158
+ if _violations:
159
+ print('\n'.join(_violations), file=sys.stderr, flush=True)
160
+ if session is not None:
161
+ session.exitstatus = 1
162
+ if path := os.environ.get('TALARIA_PYTEST_MANIFEST'):
163
+ Path(path).write_text(json.dumps({'collected': _collected, 'started': _started, 'layers': _layers, 'launches': _launches, 'violations': _violations}))
164
+
165
+
166
+ def layer_arguments(args):
167
+ remaining, layer, release = [], 'all', None
168
+ for arg in args:
169
+ if arg.startswith('--layer='):
170
+ layer = arg.split('=', 1)[1]
171
+ elif arg.startswith('--agent-release='):
172
+ release = arg.split('=', 1)[1]
173
+ else:
174
+ remaining.append(arg)
175
+ if layer not in ('all', 'fast', 'process', 'compatibility'):
176
+ raise ValueError('layer must be all, fast, process or compatibility')
177
+ layers = ['fast', 'process', 'compatibility'] if layer == 'all' else [layer]
178
+ if release and layer == 'all':
179
+ pin = Path(__file__).resolve().parents[1] / 'agent_dependency.json'
180
+ active = json.loads(pin.read_text())['x-talaria']['releaseTag']
181
+ if release != active:
182
+ layers = ['compatibility']
183
+ return remaining, layers
60
184
 
61
185
 
62
186
  def report_argument(args):
@@ -119,7 +243,8 @@ def wait_for(proc, processes):
119
243
  def process_snapshot():
120
244
  # Readline can set native COLUMNS behind os.environ's back. Ownership paths
121
245
  # must survive that terminal width in both pytest fixtures and final cleanup.
122
- listing = subprocess.check_output(["ps", "-ww", "-eo", "pid=,ppid=,pgid=,args="], text=True)
246
+ with harness_process_scan():
247
+ listing = subprocess.check_output(["ps", "-ww", "-eo", "pid=,ppid=,pgid=,args="], text=True)
123
248
  return [(int(row[0]), int(row[1]), int(row[2]), row[3])
124
249
  for row in (line.split(None, 3) for line in listing.splitlines()) if len(row) == 4]
125
250
 
@@ -162,9 +287,12 @@ def cleanup(processes, state):
162
287
 
163
288
  def merge_reports(jobs, destination):
164
289
  merged = ET.Element("testsuites")
165
- durations, modules = [], defaultdict(float)
290
+ durations, modules, manifests = [], defaultdict(float), []
166
291
  for job, expected in jobs:
167
292
  manifest = json.loads((job / "manifest.json").read_text())
293
+ if manifest.get('violations'):
294
+ raise ValueError('; '.join(manifest['violations']))
295
+ manifests.append(manifest)
168
296
  if Counter(manifest["collected"]) != Counter(expected) or Counter(manifest["started"]) != Counter(expected):
169
297
  raise ValueError(f"incomplete or duplicate test coverage in {job}")
170
298
  report = ET.parse(job / "junit.xml").getroot()
@@ -199,6 +327,14 @@ def merge_reports(jobs, destination):
199
327
  modules[nodeid.split("::", 1)[0]] += duration
200
328
  destination.parent.mkdir(parents=True, exist_ok=True)
201
329
  temporary = destination.with_suffix(".tmp")
330
+ coverage = {'collected': [node for manifest in manifests for node in manifest['collected']],
331
+ 'started': [node for manifest in manifests for node in manifest['started']],
332
+ 'layers': {node: layer for manifest in manifests for node, layer in manifest.get('layers', {}).items()},
333
+ 'launches': [launch for manifest in manifests for launch in manifest.get('launches', [])]}
334
+ coverage_path = Path(str(destination) + '.coverage.json')
335
+ coverage_temporary = coverage_path.with_suffix('.tmp')
336
+ coverage_temporary.write_text(json.dumps(coverage))
337
+ coverage_temporary.replace(coverage_path)
202
338
  ET.ElementTree(merged).write(temporary, encoding="utf-8", xml_declaration=True)
203
339
  temporary.replace(destination)
204
340
  for label, entries in (("Slow tests", durations), ("Slow modules", [(seconds, name) for name, seconds in modules.items()])):
@@ -209,12 +345,14 @@ def merge_reports(jobs, destination):
209
345
 
210
346
 
211
347
  def run(args):
212
- count = worker_count(os.environ.get(WORKERS))
213
348
  remaining, report = report_argument(args)
214
- selected = 1 if remaining else count
215
- print(f"Sidecar pytest: workers={selected}, host budget={os.environ.get('TALARIA_SIDECAR_TOTAL_WORKERS', count)}", flush=True)
216
349
  if report:
217
350
  report.unlink(missing_ok=True) # A stale report must never prove this run passed.
351
+ Path(str(report) + '.coverage.json').unlink(missing_ok=True)
352
+ remaining, layers = layer_arguments(remaining)
353
+ count = worker_count(os.environ.get(WORKERS))
354
+ selected = 1 if remaining else count
355
+ print(f"Sidecar pytest: workers={selected}, host budget={os.environ.get('TALARIA_SIDECAR_TOTAL_WORKERS', count)}", flush=True)
218
356
  diagnostics = Path(str(report) + ".workers") if report else Path(__file__).resolve().parents[2] / ".codex-tmp/sidecar-pytest"
219
357
  diagnostics.mkdir(parents=True, exist_ok=True)
220
358
  # A unique invocation directory also prevents reusing evidence on retries.
@@ -223,7 +361,7 @@ def run(args):
223
361
  with tempfile.TemporaryDirectory(prefix="talaria-pytest-state-") as directory:
224
362
  state = Path(directory)
225
363
 
226
- def launch(name, arguments):
364
+ def launch(name, arguments, layer=None, complete=False):
227
365
  job, home = output / name, state / name
228
366
  job.mkdir()
229
367
  for child in ("home", "tmp"):
@@ -231,6 +369,11 @@ def run(args):
231
369
  env = {**os.environ, "HOME": str(home / "home"), "TMPDIR": str(home / "tmp"),
232
370
  "PYTHONPATH": str(Path(__file__).parent) + os.pathsep + os.environ.get("PYTHONPATH", ""),
233
371
  "TALARIA_PYTEST_MANIFEST": str(job / "manifest.json")}
372
+ if layer in ('fast', 'process'):
373
+ env.pop('HERMES_WEBUI_AGENT_DIR', None)
374
+ env.pop('HERMES_WEBUI_PYTHON', None)
375
+ env['TALARIA_TEST_LAYER'] = layer or 'collection'
376
+ env['TALARIA_POLICY_CHECK_ALL'] = '1' if complete else '0'
234
377
  log = (job / "output.log").open("w")
235
378
  streams.append(log)
236
379
  proc = subprocess.Popen([sys.executable, "-m", "pytest", "-p", "suite_runner", "-q",
@@ -240,28 +383,38 @@ def run(args):
240
383
  return job, proc
241
384
 
242
385
  try:
243
- if remaining:
244
- job, proc = launch("serial", args)
245
- return wait_for(proc, processes)
246
- job, collection = launch("collection", ["--collect-only"])
386
+ job, collection = launch("collection", [*remaining, "--collect-only"], complete=not remaining)
247
387
  if wait_for(collection, processes):
248
388
  raise ValueError("pytest collection failed")
249
- nodeids = json.loads((job / "manifest.json").read_text())["collected"]
389
+ collected = json.loads((job / "manifest.json").read_text())
390
+ nodeids = collected['collected']
250
391
  if not nodeids or len(nodeids) != len(set(nodeids)):
251
392
  raise ValueError("empty or duplicate pytest collection")
252
- groups = partition(nodeids, count)
253
- print(f"Collected {len(nodeids)} cases in {len(groups)} module groups; diagnostics: {output}", flush=True)
393
+ expected = [node for node in nodeids if collected['layers'][node] in layers]
394
+ if not expected:
395
+ raise ValueError('empty selected layer coverage')
396
+ if any(arg in ('--collect-only', '--collectonly', '--co') for arg in remaining):
397
+ print('\n'.join(expected), flush=True)
398
+ return 0
399
+ print(f"Collected {len(nodeids)} cases; selected {len(expected)} in {layers}; diagnostics: {output}", flush=True)
254
400
  jobs = []
255
- for index, group in enumerate(groups):
256
- name = f"worker-{index + 1}"
257
- job, proc = launch(name, [f"--junitxml={output / name / 'junit.xml'}",
258
- *dict.fromkeys(nodeid.split("::", 1)[0] for nodeid in group)])
259
- jobs.append((job, group, proc))
260
401
  failed = False
261
- for job, _, proc in jobs:
262
- code = wait_for(proc, processes)
263
- print(f"{job.name}: exit={code}", flush=True)
264
- failed |= code != 0
402
+ for layer in layers:
403
+ groups = partition([node for node in expected if collected['layers'][node] == layer], selected)
404
+ current = []
405
+ for group in groups:
406
+ name = f'worker-{len(jobs) + 1}'
407
+ selection = remaining if remaining else list(dict.fromkeys(node.split('::', 1)[0] for node in group))
408
+ job, proc = launch(name, [f"--junitxml={output / name / 'junit.xml'}",
409
+ f'--talaria-layer={layer}', *selection], layer)
410
+ jobs.append((job, group, proc))
411
+ current.append((job, proc))
412
+ for job, proc in current:
413
+ code = wait_for(proc, processes)
414
+ print(f'{job.name} ({layer}): exit={code}', flush=True)
415
+ failed |= code != 0
416
+ if Counter(node for _, group, _ in jobs for node in group) != Counter(expected):
417
+ raise ValueError('missing or duplicate selected layer coverage')
265
418
  report_failed = merge_reports([(job, group) for job, group, _ in jobs], report or output / "junit.xml")
266
419
  return int(failed or report_failed)
267
420
  finally:
@@ -280,6 +433,9 @@ def run(args):
280
433
 
281
434
 
282
435
  def main():
436
+ if sys.argv[1:2] == ['--requires-agent']:
437
+ print(str('compatibility' in layer_arguments(sys.argv[2:])[1]).lower())
438
+ return 0
283
439
  if sys.platform == "linux":
284
440
  import ctypes
285
441
  if ctypes.CDLL(None, use_errno=True).prctl(36, 1, 0, 0, 0): # PR_SET_CHILD_SUBREAPER
@@ -1,13 +1,11 @@
1
1
  #!/usr/bin/env bash
2
- # Run the sidecar pytest suite. pytest runs on any Python >= 3.11 (a private
3
- # venv under sidecar/.venv); the sidecar itself is spawned on the Agent venv in
4
- # HERMES_WEBUI_AGENT_DIR, else on the active pinned release: the script re-runs
5
- # itself under scripts/check-agent-compatibility.py, which provisions that
6
- # release once into a shared cache and holds it for the whole run.
2
+ # Run the shared fast/process/compatibility suite. Fast and synthetic process
3
+ # layers need only pytest; compatibility uses the selected Agent interpreter.
4
+ # Without an Agent checkout, the existing checker provisions the active pin.
7
5
  set -euo pipefail
8
6
  here="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
9
7
  runner="${HERMES_WEBUI_TEST_PYTHON:-python3}"
10
- if [[ -z "${HERMES_WEBUI_AGENT_DIR:-}" ]]; then
8
+ if [[ -z "${HERMES_WEBUI_AGENT_DIR:-}" && "$("$runner" "$here/scripts/suite_runner.py" --requires-agent "$@")" == true ]]; then
11
9
  exec "$runner" "$here/../../scripts/check-agent-compatibility.py" --skip-docker --skip-sidecar-tests \
12
10
  --command "$here/scripts/test.sh" "$@"
13
11
  fi
@@ -22,7 +20,7 @@ trap 'rm -rf -- "$state"' EXIT
22
20
  cd "$here"
23
21
  # GitHub's relocated Linux Python needs LD_LIBRARY_PATH; nothing else from the caller's environment leaks in.
24
22
  env -i PATH="$PATH" HOME="$state" TMPDIR="$state" ${LD_LIBRARY_PATH:+LD_LIBRARY_PATH="$LD_LIBRARY_PATH"} \
25
- HERMES_WEBUI_AGENT_DIR="$HERMES_WEBUI_AGENT_DIR" \
23
+ HERMES_WEBUI_AGENT_DIR="${HERMES_WEBUI_AGENT_DIR:-}" \
26
24
  HERMES_WEBUI_PYTHON="${HERMES_WEBUI_PYTHON:-}" \
27
25
  ${TALARIA_SIDECAR_WORKERS+TALARIA_SIDECAR_WORKERS="$TALARIA_SIDECAR_WORKERS"} \
28
26
  ${TALARIA_SIDECAR_TOTAL_WORKERS:+TALARIA_SIDECAR_TOTAL_WORKERS="$TALARIA_SIDECAR_TOTAL_WORKERS"} \
@@ -12,4 +12,4 @@ import os
12
12
  # Also protect direct Python entry points before any method imports the Agent.
13
13
  os.environ["HERMES_DISABLE_LAZY_INSTALLS"] = "1"
14
14
 
15
- SIDECAR_RPC_VERSION = 44
15
+ SIDECAR_RPC_VERSION = 58
@@ -45,9 +45,16 @@ def main() -> int:
45
45
  # The server closes stdin to stop the sidecar: end every cached agent's memory session on the way out.
46
46
  from .methods.chat import drain_agents
47
47
  from .agent_mutation import close_all
48
-
49
- close_all()
50
- drain_agents()
48
+ from .methods.dashboard_plugins import close_dashboard_sources
49
+
50
+ try:
51
+ close_all()
52
+ drain_agents()
53
+ finally:
54
+ try:
55
+ runtime.retire()
56
+ finally:
57
+ close_dashboard_sources()
51
58
 
52
59
 
53
60
  if __name__ == "__main__":