@maudecode/talaria-web 1.21.0 → 1.23.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. package/_release.json +4 -4
  2. package/dist/api/automation-router.d.ts +14 -14
  3. package/dist/api/chat-router.d.ts +225 -68
  4. package/dist/api/groups-router.d.ts +764 -0
  5. package/dist/api/groups-router.js +79 -0
  6. package/dist/api/groups-router.js.map +1 -0
  7. package/dist/api/raw-routes.d.ts +1 -1
  8. package/dist/api/raw-routes.js +15 -3
  9. package/dist/api/raw-routes.js.map +1 -1
  10. package/dist/api/router.d.ts +41 -0
  11. package/dist/api/router.js +2 -0
  12. package/dist/api/router.js.map +1 -1
  13. package/dist/api/sessions-router.d.ts +590 -160
  14. package/dist/api/sessions-router.js +14 -14
  15. package/dist/api/sessions-router.js.map +1 -1
  16. package/dist/api/settings-router.d.ts +948 -1
  17. package/dist/api/settings-router.js +54 -2
  18. package/dist/api/settings-router.js.map +1 -1
  19. package/dist/api/sse-routes.d.ts +1 -1
  20. package/dist/api/sse-routes.js +11 -3
  21. package/dist/api/sse-routes.js.map +1 -1
  22. package/dist/api/tools-raw.js +27 -136
  23. package/dist/api/tools-raw.js.map +1 -1
  24. package/dist/api/tools-router.d.ts +109 -24
  25. package/dist/api/tools-router.js +69 -9
  26. package/dist/api/tools-router.js.map +1 -1
  27. package/dist/app.js +5 -1
  28. package/dist/app.js.map +1 -1
  29. package/dist/auth/gate.js +5 -1
  30. package/dist/auth/gate.js.map +1 -1
  31. package/dist/cli/ctl.d.ts +5 -2
  32. package/dist/cli/ctl.js +90 -42
  33. package/dist/cli/ctl.js.map +1 -1
  34. package/dist/config/agent-config.d.ts +6 -1
  35. package/dist/config/agent-config.js +75 -3
  36. package/dist/config/agent-config.js.map +1 -1
  37. package/dist/feedback.d.ts +21 -0
  38. package/dist/feedback.js +328 -0
  39. package/dist/feedback.js.map +1 -0
  40. package/dist/fs/stat.d.ts +2 -0
  41. package/dist/fs/stat.js +4 -0
  42. package/dist/fs/stat.js.map +1 -1
  43. package/dist/http/context.d.ts +10 -1
  44. package/dist/http/context.js +0 -6
  45. package/dist/http/context.js.map +1 -1
  46. package/dist/http/pinned.js +19 -8
  47. package/dist/http/pinned.js.map +1 -1
  48. package/dist/providers/catalog.d.ts +10 -2
  49. package/dist/providers/catalog.js +113 -15
  50. package/dist/providers/catalog.js.map +1 -1
  51. package/dist/redact.js +9 -3
  52. package/dist/redact.js.map +1 -1
  53. package/dist/release.d.ts +14 -1
  54. package/dist/release.js +40 -2
  55. package/dist/release.js.map +1 -1
  56. package/dist/runtime.js +29 -5
  57. package/dist/runtime.js.map +1 -1
  58. package/dist/server.js +1 -0
  59. package/dist/server.js.map +1 -1
  60. package/dist/sessions/anchor.d.ts +3 -2
  61. package/dist/sessions/anchor.js +11 -10
  62. package/dist/sessions/anchor.js.map +1 -1
  63. package/dist/sessions/cli-sessions.js +11 -6
  64. package/dist/sessions/cli-sessions.js.map +1 -1
  65. package/dist/sessions/compress.d.ts +10 -9
  66. package/dist/sessions/compress.js +31 -20
  67. package/dist/sessions/compress.js.map +1 -1
  68. package/dist/sessions/gateway-sessions.d.ts +11 -0
  69. package/dist/sessions/gateway-sessions.js +79 -24
  70. package/dist/sessions/gateway-sessions.js.map +1 -1
  71. package/dist/sessions/gateway-watcher.js +8 -4
  72. package/dist/sessions/gateway-watcher.js.map +1 -1
  73. package/dist/sessions/groups.d.ts +60 -0
  74. package/dist/sessions/groups.js +339 -0
  75. package/dist/sessions/groups.js.map +1 -0
  76. package/dist/sessions/list.d.ts +8 -3
  77. package/dist/sessions/list.js +17 -6
  78. package/dist/sessions/list.js.map +1 -1
  79. package/dist/sessions/merge.d.ts +14 -5
  80. package/dist/sessions/merge.js +42 -13
  81. package/dist/sessions/merge.js.map +1 -1
  82. package/dist/sessions/pending.d.ts +1 -1
  83. package/dist/sessions/pending.js +15 -6
  84. package/dist/sessions/pending.js.map +1 -1
  85. package/dist/sessions/prefix-index.d.ts +1 -14
  86. package/dist/sessions/prefix-index.js +1 -50
  87. package/dist/sessions/prefix-index.js.map +1 -1
  88. package/dist/sessions/reasoning-display.d.ts +2 -0
  89. package/dist/sessions/reasoning-display.js +31 -0
  90. package/dist/sessions/reasoning-display.js.map +1 -0
  91. package/dist/sessions/relay.d.ts +34 -2
  92. package/dist/sessions/relay.js +84 -7
  93. package/dist/sessions/relay.js.map +1 -1
  94. package/dist/sessions/service.d.ts +7 -2
  95. package/dist/sessions/service.js +106 -64
  96. package/dist/sessions/service.js.map +1 -1
  97. package/dist/sessions/session.d.ts +6 -0
  98. package/dist/sessions/session.js +13 -0
  99. package/dist/sessions/session.js.map +1 -1
  100. package/dist/sessions/shares.d.ts +3 -1
  101. package/dist/sessions/shares.js +33 -11
  102. package/dist/sessions/shares.js.map +1 -1
  103. package/dist/sessions/source-kind.js +2 -0
  104. package/dist/sessions/source-kind.js.map +1 -1
  105. package/dist/sessions/state-db.d.ts +2 -1
  106. package/dist/sessions/state-db.js +12 -5
  107. package/dist/sessions/state-db.js.map +1 -1
  108. package/dist/sessions/storage/json-documents.js +2 -0
  109. package/dist/sessions/storage/json-documents.js.map +1 -1
  110. package/dist/sessions/store.d.ts +1 -0
  111. package/dist/sessions/store.js +10 -3
  112. package/dist/sessions/store.js.map +1 -1
  113. package/dist/sessions/streams.d.ts +7 -2
  114. package/dist/sessions/streams.js +16 -6
  115. package/dist/sessions/streams.js.map +1 -1
  116. package/dist/sessions/titles.d.ts +2 -0
  117. package/dist/sessions/titles.js +11 -0
  118. package/dist/sessions/titles.js.map +1 -1
  119. package/dist/sessions/todo.js +10 -1
  120. package/dist/sessions/todo.js.map +1 -1
  121. package/dist/sessions/turn.js +50 -21
  122. package/dist/sessions/turn.js.map +1 -1
  123. package/dist/settings.js +6 -1
  124. package/dist/settings.js.map +1 -1
  125. package/dist/sidecar/client.d.ts +3 -0
  126. package/dist/sidecar/client.js +2 -1
  127. package/dist/sidecar/client.js.map +1 -1
  128. package/dist/sidecar/discover.js +3 -2
  129. package/dist/sidecar/discover.js.map +1 -1
  130. package/dist/spa.js +1 -1
  131. package/dist/spa.js.map +1 -1
  132. package/dist/test/group-fixture.d.ts +66 -0
  133. package/dist/test/group-fixture.js +89 -0
  134. package/dist/test/group-fixture.js.map +1 -0
  135. package/dist/test/harness.d.ts +3 -0
  136. package/dist/test/harness.js +3 -0
  137. package/dist/test/harness.js.map +1 -1
  138. package/dist/tools/connectors.d.ts +9 -1
  139. package/dist/tools/connectors.js +48 -0
  140. package/dist/tools/connectors.js.map +1 -1
  141. package/dist/tools/gateway-restart.d.ts +1 -1
  142. package/dist/tools/insights.d.ts +3 -0
  143. package/dist/tools/insights.js +6 -7
  144. package/dist/tools/insights.js.map +1 -1
  145. package/dist/tools/skills.d.ts +6 -0
  146. package/dist/tools/skills.js +17 -0
  147. package/dist/tools/skills.js.map +1 -1
  148. package/dist/tools/update-notifications.d.ts +2 -0
  149. package/dist/tools/update-notifications.js +7 -3
  150. package/dist/tools/update-notifications.js.map +1 -1
  151. package/dist/tools/updates.d.ts +26 -9
  152. package/dist/tools/updates.js +144 -47
  153. package/dist/tools/updates.js.map +1 -1
  154. package/dist/workspace/fs.d.ts +2 -0
  155. package/dist/workspace/fs.js +63 -1
  156. package/dist/workspace/fs.js.map +1 -1
  157. package/dist/workspace/media-refs.js +10 -3
  158. package/dist/workspace/media-refs.js.map +1 -1
  159. package/dist/workspace/upload.d.ts +1 -1
  160. package/dist/workspace/upload.js +52 -37
  161. package/dist/workspace/upload.js.map +1 -1
  162. package/dist/workspace/workspaces.d.ts +5 -1
  163. package/dist/workspace/workspaces.js +32 -6
  164. package/dist/workspace/workspaces.js.map +1 -1
  165. package/package.json +4 -3
  166. package/sidecar/agent_importer.json +8 -0
  167. package/sidecar/scripts/agent_importer_contract.py +19 -0
  168. package/sidecar/scripts/suite_runner.py +55 -8
  169. package/sidecar/scripts/test.sh +3 -1
  170. package/sidecar/talaria_sidecar/__init__.py +1 -1
  171. package/sidecar/talaria_sidecar/home.py +12 -5
  172. package/sidecar/talaria_sidecar/methods/__init__.py +2 -2
  173. package/sidecar/talaria_sidecar/methods/agent_imports.py +346 -0
  174. package/sidecar/talaria_sidecar/methods/chat.py +141 -58
  175. package/sidecar/talaria_sidecar/methods/commands.py +6 -4
  176. package/sidecar/talaria_sidecar/methods/config.py +8 -3
  177. package/sidecar/talaria_sidecar/methods/connectors.py +138 -4
  178. package/sidecar/talaria_sidecar/methods/dashboard_plugins.py +21 -0
  179. package/sidecar/talaria_sidecar/methods/delegation.py +126 -0
  180. package/sidecar/talaria_sidecar/methods/gateway.py +5 -0
  181. package/sidecar/talaria_sidecar/methods/gateway_sessions.py +35 -6
  182. package/sidecar/talaria_sidecar/methods/groups.py +120 -0
  183. package/sidecar/talaria_sidecar/methods/memory.py +27 -3
  184. package/sidecar/talaria_sidecar/methods/nous_account.py +130 -0
  185. package/sidecar/talaria_sidecar/methods/oauth.py +25 -4
  186. package/sidecar/talaria_sidecar/methods/outbound_drafts.py +1 -19
  187. package/sidecar/talaria_sidecar/methods/plugin_catalog.py +73 -2
  188. package/sidecar/talaria_sidecar/methods/providers.py +51 -1
  189. package/sidecar/talaria_sidecar/methods/skill_revisions.py +177 -0
  190. package/sidecar/talaria_sidecar/methods/skills.py +10 -0
  191. package/sidecar/talaria_sidecar/methods/tts.py +67 -0
  192. package/sidecar/talaria_sidecar/rpc.py +11 -2
  193. package/static/dist/FILES.txt +154 -143
  194. package/static/dist/THIRD_PARTY_LICENSES.md +1 -1
  195. package/static/dist/assets/AppShell-jwd95ofg.js +8 -0
  196. package/static/dist/assets/{Button-nuaikybd.js → Button-nrcj7shj.js} +1 -1
  197. package/static/dist/assets/ChatPage-fmgk8xpk.js +2 -0
  198. package/static/dist/assets/Composer-oya4ggu7.js +5 -0
  199. package/static/dist/assets/ConnectTargets-rg90uiui.js +1 -0
  200. package/static/dist/assets/Dialog-gk0uatl8.js +1 -0
  201. package/static/dist/assets/ExtensionRoute-ji4xce9l.js +1 -0
  202. package/static/dist/assets/HubRoute-2pgy4aa2.js +2 -0
  203. package/static/dist/assets/Markdown-d6br42ts.js +2 -0
  204. package/static/dist/assets/{MarkdownRenderer-ccgqrza3.js → MarkdownRenderer-k8rmb83g.js} +6 -6
  205. package/static/dist/assets/OAuthSignIn-pbls9ljk.js +1 -0
  206. package/static/dist/assets/QueueCard-liib58ru.js +1 -0
  207. package/static/dist/assets/ResourceSwitch-gtdv2jgs.js +1 -0
  208. package/static/dist/assets/RightPanel-b89e4kx3.js +1 -0
  209. package/static/dist/assets/Select-l6qybenp.js +1 -0
  210. package/static/dist/assets/SessionListPanel-l4vy95j8.js +1 -0
  211. package/static/dist/assets/SettingsLayout-chw7pl2m.js +1 -0
  212. package/static/dist/assets/TerminalPanel-qrd0gkx7.js +16 -0
  213. package/static/dist/assets/Toaster-ihzgaq9z.js +1 -0
  214. package/static/dist/assets/_app-cn1au4zq.js +1 -0
  215. package/static/dist/assets/{_app.ext._extensionId-n797jp72.js → _app.ext._extensionId-m4npkrr0.js} +1 -1
  216. package/static/dist/assets/_app.groups-c8ycbp5n.js +1 -0
  217. package/static/dist/assets/{_app.index-ne43mdw2.js → _app.index-f1fckz3h.js} +1 -1
  218. package/static/dist/assets/{_app.insights-fqonovb4.js → _app.insights-ezivk7ad.js} +1 -1
  219. package/static/dist/assets/{_app.kanban-kysliv19.js → _app.kanban-zbkeov0f.js} +1 -1
  220. package/static/dist/assets/{_app.logs-febut82r.js → _app.logs-dqam5zyz.js} +1 -1
  221. package/static/dist/assets/{_app.memory-ha86oj1c.js → _app.memory-gzxkm3a0.js} +1 -1
  222. package/static/dist/assets/{_app.profiles-cnu3gxxq.js → _app.profiles-j28l31hl.js} +1 -1
  223. package/static/dist/assets/{_app.session._sessionId-ifzjpcgn.js → _app.session._sessionId-55egsufs.js} +1 -1
  224. package/static/dist/assets/{_app.settings-nmakdiaf.js → _app.settings-f5ltpieb.js} +1 -1
  225. package/static/dist/assets/_app.settings._section-dda0vfot.js +3 -0
  226. package/static/dist/assets/{_app.skills-f3wad8yo.js → _app.skills-kuc81hq0.js} +1 -1
  227. package/static/dist/assets/_app.tasks-gyy6vj5l.js +1 -0
  228. package/static/dist/assets/{_app.todos-bml1m3r1.js → _app.todos-d0xoy68t.js} +1 -1
  229. package/static/dist/assets/{_app.workspaces-f3d066lx.js → _app.workspaces-pawp2gxk.js} +1 -1
  230. package/static/dist/assets/_delete-qnxuo87s.js +1 -0
  231. package/static/dist/assets/{abnfDiagram-VCTEODGH-i53jc4yp.js → abnfDiagram-VCTEODGH-mhav7n5a.js} +1 -1
  232. package/static/dist/assets/{architecture-7GRP2DOG-e3bv5m6f.js → architecture-7GRP2DOG-ozbanukt.js} +1 -1
  233. package/static/dist/assets/{architectureDiagram-5GKGNRK7-pakekxu2.js → architectureDiagram-5GKGNRK7-febtor5m.js} +1 -1
  234. package/static/dist/assets/archive-gyk9c34a.js +1 -0
  235. package/static/dist/assets/autoReadClaim-nlyv8tu9.js +1 -0
  236. package/static/dist/assets/{blockDiagram-I7D4REHJ-bc6bo1n6.js → blockDiagram-I7D4REHJ-ocais2jf.js} +1 -1
  237. package/static/dist/assets/{c4Diagram-7LVT6UL2-btvwk2qx.js → c4Diagram-7LVT6UL2-cgpfjx5f.js} +1 -1
  238. package/static/dist/assets/channel-els5ri1f.js +1 -0
  239. package/static/dist/assets/{chunk-4HAMMTFA-dlwab11c.js → chunk-4HAMMTFA-hvqdiiow.js} +1 -1
  240. package/static/dist/assets/{chunk-75Z2AOVW-dp5gh7i8.js → chunk-75Z2AOVW-hxbulvtb.js} +1 -1
  241. package/static/dist/assets/{chunk-DU6HZSFF-bi06zl1c.js → chunk-DU6HZSFF-kkp6a7gp.js} +3 -3
  242. package/static/dist/assets/{chunk-F27PBJKO-kvv1rnlh.js → chunk-F27PBJKO-ljz0gssc.js} +1 -1
  243. package/static/dist/assets/{chunk-GMAD6QVW-ji0rx9by.js → chunk-GMAD6QVW-bo0enyxn.js} +1 -1
  244. package/static/dist/assets/{chunk-GVQU2GXP-nmz0j82p.js → chunk-GVQU2GXP-cnq7l2v6.js} +1 -1
  245. package/static/dist/assets/{chunk-IMKFNOWR-kmi1qx88.js → chunk-IMKFNOWR-gjnkrfu6.js} +1 -1
  246. package/static/dist/assets/{chunk-L3NEJ4N5-xhb7mebj.js → chunk-L3NEJ4N5-gjfp71qi.js} +1 -1
  247. package/static/dist/assets/{chunk-OSK3NFVY-5a9sgscq.js → chunk-OSK3NFVY-ieq5r94b.js} +1 -1
  248. package/static/dist/assets/{chunk-P2QGCYS3-dfezp4vu.js → chunk-P2QGCYS3-hdefjk56.js} +1 -1
  249. package/static/dist/assets/{chunk-POPQ4Y6H-gd2vq3c0.js → chunk-POPQ4Y6H-mcbt8wpr.js} +1 -1
  250. package/static/dist/assets/{chunk-PWAF6VOD-wvw2nksf.js → chunk-PWAF6VOD-mx2drja9.js} +1 -1
  251. package/static/dist/assets/{chunk-SHT3W25Y-f58q97px.js → chunk-SHT3W25Y-j7dd9i66.js} +1 -1
  252. package/static/dist/assets/{chunk-SVP7TREG-abgwpyz9.js → chunk-SVP7TREG-jcnt3lxt.js} +1 -1
  253. package/static/dist/assets/{chunk-TICWLB2K-h4sbs8ds.js → chunk-TICWLB2K-lrwv5hx9.js} +1 -1
  254. package/static/dist/assets/classDiagram-ZZMXUADV-krpt9pdd.js +1 -0
  255. package/static/dist/assets/classDiagram-v2-VYDZK3BY-krpt9pdd.js +1 -0
  256. package/static/dist/assets/completionAudio-fhxf0h9j.js +1 -0
  257. package/static/dist/assets/{copy-m9h56qa8.js → copy-gyzrqmyr.js} +1 -1
  258. package/static/dist/assets/{cynefin-OW5HDTMX-g081vffs.js → cynefin-OW5HDTMX-heq36srt.js} +1 -1
  259. package/static/dist/assets/{cynefinDiagram-5FMLGOSQ-odxvjesk.js → cynefinDiagram-5FMLGOSQ-crrmq338.js} +1 -1
  260. package/static/dist/assets/{dagre-GXQ25YYZ-cpdwzjs4.js → dagre-GXQ25YYZ-m7fpnt6k.js} +1 -1
  261. package/static/dist/assets/{diagram-S7CK7UJ4-clv5mxvu.js → diagram-S7CK7UJ4-ebm1ebv6.js} +1 -1
  262. package/static/dist/assets/{diagram-UQ7AKVKN-m2ia1mbf.js → diagram-UQ7AKVKN-hc0ypsp1.js} +1 -1
  263. package/static/dist/assets/{diagram-VSXAHHWV-ea6zv636.js → diagram-VSXAHHWV-mu8q5n4b.js} +1 -1
  264. package/static/dist/assets/{diagram-VX7I27RA-oqlef685.js → diagram-VX7I27RA-i488wdlb.js} +1 -1
  265. package/static/dist/assets/{diagram-Z3DM3KII-kjubcbwu.js → diagram-Z3DM3KII-gz3nwvq9.js} +1 -1
  266. package/static/dist/assets/{dist-carq1azj.js → dist-ge7hom9n.js} +4 -4
  267. package/static/dist/assets/{dist-crc46di9.js → dist-kpg5ccm9.js} +1 -1
  268. package/static/dist/assets/{ebnfDiagram-PWID7BFC-fg0zri3e.js → ebnfDiagram-PWID7BFC-lwskecx4.js} +1 -1
  269. package/static/dist/assets/{erDiagram-RLTQ6QDP-eb7pmk3x.js → erDiagram-RLTQ6QDP-c0bysigr.js} +1 -1
  270. package/static/dist/assets/{eventmodeling-NTZA5JFV-gvi1fxhn.js → eventmodeling-NTZA5JFV-k19e509j.js} +1 -1
  271. package/static/dist/assets/feedbackVideo.worker-JBVT3sDD.js +480 -0
  272. package/static/dist/assets/flowDiagram-HODETNUW-n4m8e6kq.js +1 -0
  273. package/static/dist/assets/folder-plus-m1ywe0cv.js +1 -0
  274. package/static/dist/assets/{ganttDiagram-EL5Y4UJY-jmisowrc.js → ganttDiagram-EL5Y4UJY-mz1p8yzt.js} +1 -1
  275. package/static/dist/assets/getPseudoElementBounds-ci0x9gki.js +1 -0
  276. package/static/dist/assets/{gitGraph-4MIJSDKK-m7kt3u6e.js → gitGraph-4MIJSDKK-h0uskiog.js} +1 -1
  277. package/static/dist/assets/{gitGraphDiagram-WWUBYQGX-nq7vfzh2.js → gitGraphDiagram-WWUBYQGX-e4d9um1j.js} +1 -1
  278. package/static/dist/assets/group_discussions-fk5hry4l.js +1 -0
  279. package/static/dist/assets/{highlighted-body-KPVGNVTW-gcu017ay.js → highlighted-body-KPVGNVTW-d47n6oqu.js} +1 -1
  280. package/static/dist/assets/{host-ipp4e84c.js → host-f7eudvft.js} +1 -1
  281. package/static/dist/assets/index-lab8g9gs.css +2 -0
  282. package/static/dist/assets/index-n5rg2q2r.js +13 -0
  283. package/static/dist/assets/{info-A6RAGUB7-idazwfqe.js → info-A6RAGUB7-k04of9c6.js} +1 -1
  284. package/static/dist/assets/{infoDiagram-27XIBGKW-bb9jh8gl.js → infoDiagram-27XIBGKW-l98n1tgz.js} +1 -1
  285. package/static/dist/assets/{ishikawaDiagram-5VMMS53U-nqc132rv.js → ishikawaDiagram-5VMMS53U-gkznu2d6.js} +1 -1
  286. package/static/dist/assets/{journeyDiagram-3NMN7TZE-fpvnhy44.js → journeyDiagram-3NMN7TZE-mt23qvx1.js} +1 -1
  287. package/static/dist/assets/{kanban-definition-UXKFOSKX-ndzqm6fu.js → kanban-definition-UXKFOSKX-ab93l7y5.js} +1 -1
  288. package/static/dist/assets/katex-ic33v820.js +257 -0
  289. package/static/dist/assets/katex-qcv7xo0t.css +1 -0
  290. package/static/dist/assets/{lazyRouteComponent-javud235.js → lazyRouteComponent-dt9efiqk.js} +1 -1
  291. package/static/dist/assets/{line-g625e7cj.js → line-dkm9r3as.js} +1 -1
  292. package/static/dist/assets/link-2-ozyjqwhh.js +1 -0
  293. package/static/dist/assets/{link-gfdaho08.js → link-dip3g6zs.js} +1 -1
  294. package/static/dist/assets/{locale-cs-n41hptse.js → locale-cs-brltdkcp.js} +1 -1
  295. package/static/dist/assets/{locale-de-k7ht47ew.js → locale-de-h6e9oq6v.js} +1 -1
  296. package/static/dist/assets/{locale-es-ih078lco.js → locale-es-oklmh80f.js} +1 -1
  297. package/static/dist/assets/{locale-fr-ojabnf41.js → locale-fr-b17ozoi2.js} +1 -1
  298. package/static/dist/assets/{locale-it-kb96jufy.js → locale-it-whe01eef.js} +1 -1
  299. package/static/dist/assets/{locale-ja-jpsp3xs1.js → locale-ja-g1s0rtpc.js} +1 -1
  300. package/static/dist/assets/{locale-pl-dbap4leu.js → locale-pl-d9p3lqcb.js} +1 -1
  301. package/static/dist/assets/{locale-pt-nci7w72x.js → locale-pt-l75on74f.js} +1 -1
  302. package/static/dist/assets/{locale-ru-soghe4cs.js → locale-ru-wl3mbsaw.js} +1 -1
  303. package/static/dist/assets/{locale-tr-ks00mu68.js → locale-tr-cz87itrq.js} +1 -1
  304. package/static/dist/assets/{locale-vi-ij7twfm6.js → locale-vi-elqj1y4k.js} +1 -1
  305. package/static/dist/assets/{locale-zh-Hant-feakwr7a.js → locale-zh-Hant-hf8gqm7d.js} +1 -1
  306. package/static/dist/assets/{locale-zh-ren0vjyv.js → locale-zh-cdckwb0u.js} +1 -1
  307. package/static/dist/assets/login-go5xfzkx.js +1 -0
  308. package/static/dist/assets/mermaid-HWGCJPDP-o7wh7c74.js +1 -0
  309. package/static/dist/assets/{mermaid-parser.core-plzkuzov.js → mermaid-parser.core-c4ywstu7.js} +3 -3
  310. package/static/dist/assets/{mindmap-definition-YA3MSWOX-ojrgs569.js → mindmap-definition-YA3MSWOX-mnvkgz5u.js} +1 -1
  311. package/static/dist/assets/onboarding-hbbpvp6w.js +1 -0
  312. package/static/dist/assets/{packet-AYTQ26CC-gyaf9s8h.js → packet-AYTQ26CC-dfm2ygox.js} +1 -1
  313. package/static/dist/assets/{pegDiagram-XKGWAZYB-bf6xj8mq.js → pegDiagram-XKGWAZYB-kfbyls4v.js} +1 -1
  314. package/static/dist/assets/{pie-WAS4IAKB-f5ymzelo.js → pie-WAS4IAKB-jniw7r2b.js} +1 -1
  315. package/static/dist/assets/{pieDiagram-E7YTZNPT-d0qjl3zi.js → pieDiagram-E7YTZNPT-cir9nlg4.js} +1 -1
  316. package/static/dist/assets/presence-ivo54s19.js +1 -0
  317. package/static/dist/assets/prompt_queue_cancelled-cebcuagu.js +1 -0
  318. package/static/dist/assets/{quadrantDiagram-AXDQQJYC-oqy1mras.js → quadrantDiagram-AXDQQJYC-2nnb2u4m.js} +1 -1
  319. package/static/dist/assets/queryKeys-mbi6o5vh.js +9 -0
  320. package/static/dist/assets/{radar-RG4KPBEZ-b6jcjvda.js → radar-RG4KPBEZ-jfvtqhq2.js} +1 -1
  321. package/static/dist/assets/{railroad-74A4TZTK-e3a6lk5k.js → railroad-74A4TZTK-hnm0ikx7.js} +1 -1
  322. package/static/dist/assets/{railroad-abnf-HS5TGJTU-ff5hocrx.js → railroad-abnf-HS5TGJTU-hcfz5gyc.js} +1 -1
  323. package/static/dist/assets/{railroad-ebnf-LZEXJU2U-exkhyw4n.js → railroad-ebnf-LZEXJU2U-ocbvmcwo.js} +1 -1
  324. package/static/dist/assets/{railroad-peg-WCYAUIDC-jefk9b7c.js → railroad-peg-WCYAUIDC-kkbzgo8d.js} +1 -1
  325. package/static/dist/assets/{railroadDiagram-O6MQD6OU-e4amks1i.js → railroadDiagram-O6MQD6OU-ox5v7853.js} +1 -1
  326. package/static/dist/assets/rename-ccd52yws.js +1 -0
  327. package/static/dist/assets/{requirementDiagram-BXWQKSXE-c77k1e2y.js → requirementDiagram-BXWQKSXE-e1iq54h4.js} +1 -1
  328. package/static/dist/assets/{sankeyDiagram-P5KCCOFB-oa1cc52s.js → sankeyDiagram-P5KCCOFB-mmza9r2u.js} +1 -1
  329. package/static/dist/assets/{sequenceDiagram-WJ2MYXX4-j20gqt22.js → sequenceDiagram-WJ2MYXX4-dioic69h.js} +1 -1
  330. package/static/dist/assets/{share._token-kmfoflw6.js → share._token-i51g4ccy.js} +1 -1
  331. package/static/dist/assets/sliders-horizontal-nj1dipq4.js +1 -0
  332. package/static/dist/assets/{stateDiagram-D77RDMKH-co2ghkdp.js → stateDiagram-D77RDMKH-do5wvqjw.js} +1 -1
  333. package/static/dist/assets/stateDiagram-v2-MP3YSRHH-f0sedx52.js +1 -0
  334. package/static/dist/assets/{swimlanes-42K2YHIH-m30cktqe.js → swimlanes-42K2YHIH-mhjzgtgl.js} +1 -1
  335. package/static/dist/assets/swimlanesDiagram-VR7AAH4N-n0x444kc.js +8 -0
  336. package/static/dist/assets/{timeline-definition-24CTP7MA-liuep6fl.js → timeline-definition-24CTP7MA-i5820ppg.js} +1 -1
  337. package/static/dist/assets/toast-esv4ma70.js +56 -0
  338. package/static/dist/assets/{treeView-Q6P3EWNA-np5d2jv2.js → treeView-Q6P3EWNA-btp8feob.js} +1 -1
  339. package/static/dist/assets/{treemap-WGGIJYW6-cmpltxh1.js → treemap-WGGIJYW6-lv71dt7p.js} +1 -1
  340. package/static/dist/assets/tts-bq7ax6xp.js +1 -0
  341. package/static/dist/assets/{useForm-f1udzsjf.js → useForm-d5wxx0l0.js} +1 -1
  342. package/static/dist/assets/{useParams-ierevvts.js → useParams-gk1u0y6m.js} +1 -1
  343. package/static/dist/assets/{useSearch-i7nr9ypl.js → useSearch-nsrme1pf.js} +1 -1
  344. package/static/dist/assets/useTranscript-m9ve9mml.js +1 -0
  345. package/static/dist/assets/{vennDiagram-4TSXK5OY-b2g42qrg.js → vennDiagram-4TSXK5OY-bffv7e11.js} +1 -1
  346. package/static/dist/assets/{wardley-WFR3VGLG-lb0eqbff.js → wardley-WFR3VGLG-f1m16ivx.js} +1 -1
  347. package/static/dist/assets/{wardleyDiagram-VM6X3IG4-ermwaqha.js → wardleyDiagram-VM6X3IG4-ous4pq48.js} +1 -1
  348. package/static/dist/assets/{xychartDiagram-S5SC5T6Z-dll0jldk.js → xychartDiagram-S5SC5T6Z-jxgbp4as.js} +1 -1
  349. package/static/dist/index.html +1 -1
  350. package/static/dist/sw.js +1 -1
  351. package/static/dist/assets/AppShell-c5989995.js +0 -8
  352. package/static/dist/assets/ChatPage-bfg4khph.js +0 -6
  353. package/static/dist/assets/ConnectTargets-k5wo9yo8.js +0 -1
  354. package/static/dist/assets/Dialog-o8vo2aws.js +0 -1
  355. package/static/dist/assets/ExtensionRoute-l1yjrso4.js +0 -1
  356. package/static/dist/assets/Field-j7o8cfps.js +0 -1
  357. package/static/dist/assets/HubRoute-efnwe4xz.js +0 -2
  358. package/static/dist/assets/Markdown-clqf5m22.js +0 -2
  359. package/static/dist/assets/OAuthSignIn-h7bjaqp6.js +0 -1
  360. package/static/dist/assets/ResourceSwitch-oai2zqaj.js +0 -1
  361. package/static/dist/assets/RightPanel-ho161a45.js +0 -1
  362. package/static/dist/assets/Select-d1g5a8bm.js +0 -1
  363. package/static/dist/assets/SessionListPanel-i7kaokhi.js +0 -1
  364. package/static/dist/assets/SettingsLayout-lnecm87w.js +0 -1
  365. package/static/dist/assets/States-easntmry.js +0 -1
  366. package/static/dist/assets/TerminalPanel-lxhwd4jl.js +0 -16
  367. package/static/dist/assets/Toaster-l4sciy8t.js +0 -1
  368. package/static/dist/assets/_app-mqexqbg8.js +0 -1
  369. package/static/dist/assets/_app.settings._section-djglnjmi.js +0 -3
  370. package/static/dist/assets/_app.tasks-l10py1c0.js +0 -1
  371. package/static/dist/assets/archive-ihqi7z2x.js +0 -1
  372. package/static/dist/assets/channel-jn4f8443.js +0 -1
  373. package/static/dist/assets/classDiagram-ZZMXUADV-dzrw66se.js +0 -1
  374. package/static/dist/assets/classDiagram-v2-VYDZK3BY-dzrw66se.js +0 -1
  375. package/static/dist/assets/completionAudio-ce86msbu.js +0 -1
  376. package/static/dist/assets/flowDiagram-HODETNUW-abekab15.js +0 -1
  377. package/static/dist/assets/folder-plus-ksaons88.js +0 -1
  378. package/static/dist/assets/index-d6vbxlra.js +0 -13
  379. package/static/dist/assets/index-ey6qo0zx.css +0 -2
  380. package/static/dist/assets/katex-cbdd1ohw.css +0 -1
  381. package/static/dist/assets/katex-pbij2oo6.js +0 -257
  382. package/static/dist/assets/login-iv6yq4xf.js +0 -1
  383. package/static/dist/assets/mermaid-HWGCJPDP-cwj5cl6k.js +0 -1
  384. package/static/dist/assets/onboarding-ff4emacu.js +0 -1
  385. package/static/dist/assets/queryKeys-x8fjxhut.js +0 -9
  386. package/static/dist/assets/refresh-cw-lfp4u1oh.js +0 -1
  387. package/static/dist/assets/sliders-horizontal-g5jkzd9k.js +0 -1
  388. package/static/dist/assets/stateDiagram-v2-MP3YSRHH-faw1opgh.js +0 -1
  389. package/static/dist/assets/swimlanesDiagram-VR7AAH4N-hfil433g.js +0 -8
  390. package/static/dist/assets/toast-zmb35u3r.js +0 -56
@@ -15,7 +15,11 @@ const PROJECTION_PARITY_INTERVAL_S = 300;
15
15
  const ERROR_LOG_INTERVAL_S = 60;
16
16
  const SUBSCRIBER_QUEUE_MAX = 10;
17
17
  export function snapshotHash(sessions) {
18
- const key = [...sessions].sort((a, b) => str(a.session_id).localeCompare(str(b.session_id))).map((s) => `${str(s.session_id)}:${str(s.updated_at ?? 0)}:${str(s.message_count ?? 0)}`).join('|');
18
+ // The public row shaper fixes field order and defaults before comparison.
19
+ const key = JSON.stringify([...sessions].sort((a, b) => {
20
+ const aId = str(a.session_id), bId = str(b.session_id);
21
+ return aId < bId ? -1 : aId > bId ? 1 : 0;
22
+ }));
19
23
  return createHash('md5').update(key).digest('hex');
20
24
  }
21
25
  /** Keep the gateway event's compact row shape while sharing the sidebar's projection. */
@@ -37,7 +41,7 @@ export class GatewayWatcher {
37
41
  running = false;
38
42
  stopping = false;
39
43
  lastHash = '';
40
- lastCheapFp = '';
44
+ lastCheapFp = null;
41
45
  lastFullProjectionAt = null;
42
46
  lastErrorLogAt = Number.NEGATIVE_INFINITY;
43
47
  polling = null;
@@ -166,8 +170,8 @@ export class GatewayWatcher {
166
170
  if (this.stopping)
167
171
  return false;
168
172
  const hash = snapshotHash(sessions);
169
- if (cheapFp !== null)
170
- this.lastCheapFp = cheapFp;
173
+ // Keep uncertainty distinct from both a settled signature and a missing database.
174
+ this.lastCheapFp = cheapFp;
171
175
  this.lastFullProjectionAt = now;
172
176
  if (hash !== this.lastHash) {
173
177
  this.lastHash = hash;
@@ -1 +1 @@
1
- {"version":3,"file":"gateway-watcher.js","sourceRoot":"","sources":["../../src/sessions/gateway-watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway-watcher.js","sourceRoot":"","sources":["../../src/sessions/gateway-watcher.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,2BAA2B,EAAa,MAAM,eAAe,CAAA;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAGhC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAA;AACxC,MAAM,4BAA4B,GAAG,GAAG,CAAA;AACxC,MAAM,oBAAoB,GAAG,EAAE,CAAA;AAC/B,MAAM,oBAAoB,GAAG,EAAE,CAAA;AAc/B,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,0EAA0E;IAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACrD,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;QACtD,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAC,CAAA;IACH,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACpD,CAAC;AAED,yFAAyF;AACzF,SAAS,qBAAqB,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxB,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,eAAe,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI;QACzF,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,IAAI,KAAK;QACvF,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,IAAI,EAAE,cAAc,EAAE,GAAG,CAAC,cAAc,IAAI,IAAI,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,IAAI;KACvH,CAAC,CAAC,CAAA;AACL,CAAC;AASD,MAAM,OAAO,cAAc;IAYJ;IAA8B;IAAqC;IAX/E,WAAW,CAAQ;IACX,WAAW,GAAG,IAAI,GAAG,EAAS,CAAA;IACvC,KAAK,GAA0B,IAAI,CAAA;IACnC,OAAO,GAAG,KAAK,CAAA;IACf,QAAQ,GAAG,KAAK,CAAA;IAChB,QAAQ,GAAG,EAAE,CAAA;IACb,WAAW,GAAkB,IAAI,CAAA;IACjC,oBAAoB,GAAkB,IAAI,CAAA;IAC1C,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAA;IACzC,OAAO,GAA4B,IAAI,CAAA;IAE/C,YAAqB,WAAmB,EAAW,UAAkB,EAAmB,IAAwB;QAA3F,gBAAW,GAAX,WAAW,CAAQ;QAAW,eAAU,GAAV,UAAU,CAAQ;QAAmB,SAAI,GAAJ,IAAI,CAAoB;QAC9G,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IACjD,CAAC;IAED,OAAO,KAAc,OAAO,IAAI,CAAC,OAAO,CAAA,CAAC,CAAC;IAC1C,cAAc,KAAc,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAA,CAAC,CAAC;IAE9D,KAAK;QACH,IAAI,IAAI,CAAC,OAAO;YAAE,OAAM;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QACrB,MAAM,IAAI,GAAG,GAAS,EAAE;YACtB,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAM;YACzB,uFAAuF;YACvF,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACxG,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;oBAAE,OAAM;gBAChD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,uBAAuB,GAAG,IAAI,CAAC,CAAA;gBACxH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;YACpB,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA;QACD,IAAI,EAAE,CAAA;IACR,CAAC;IAED,IAAI;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QAAC,CAAC;QAC/D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IACtD,CAAC;IAED,SAAS;QACP,MAAM,CAAC,GAAU,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;QACxD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACvB,wHAAwH;QACxH,IAAI,IAAI,CAAC,QAAQ;YAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrC,OAAO;YACL,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACxC,MAAM,OAAO,GAAG,GAAS,EAAE;oBACzB,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,CAAA;oBACpC,IAAI,IAAI,KAAK,IAAI;wBAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAA;oBACjC,OAAO,CAAC,IAAI,CAAC,CAAA;gBACf,CAAC,CAAA;gBACD,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBAAC,OAAO,EAAE,CAAC;oBAAC,OAAM;gBAAC,CAAC;gBACzC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAAC,OAAM;gBAAC,CAAC;gBAC9C,MAAM,OAAO,GAAG,GAAS,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC,CAAA;gBAC5D,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC1D,CAAC,CAAC,IAAI,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA,CAAC,CAAC,CAAA;YAC7E,CAAC,CAAC;YACF,IAAI,KAAK,KAAK,OAAO,CAAC,CAAC,KAAK,CAAA,CAAC,CAAC;YAC9B,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC;SAC5C,CAAA;IACH,CAAC;IAEO,IAAI,CAAC,CAAQ,EAAE,KAAkC;QACvD,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAA;QACnB,CAAC,CAAC,IAAI,GAAG,IAAI,CAAA;QACb,IAAI,EAAE,EAAE,CAAA;IACV,CAAC;IAEO,MAAM,CAAC,QAAgB;QAC7B,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,oBAAoB,EAAE,CAAC;gBAC3C,kFAAkF;gBAClF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;gBAC1B,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;gBAClB,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;gBAClB,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,MAAc,EAAE,KAAc;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;QAC3B,IAAI,GAAG,GAAG,IAAI,CAAC,cAAc,IAAI,oBAAoB,EAAE,CAAC;YACtD,IAAI,CAAC,cAAc,GAAG,GAAG,CAAA;YACzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,oCAAoC,MAAM,QAAQ,IAAI,CAAC,WAAW,4DAA6D,KAAe,CAAC,OAAO,EAAE,CAAC,CAAA;QACzK,CAAC;IACH,CAAC;IAED,uHAAuH;IACvH,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;QAC5B,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA,CAAC,CAAC,CAAC,CAAA;QAClE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,GAAW;QAC5B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC3C,+EAA+E;QAC/E,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAA;QACjF,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,2BAA2B,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACzI,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,KAAK,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,oBAAoB,IAAI,4BAA4B,CAAA;QACvH,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAA;QAChF,IAAI,IAAoB,CAAA;QACxB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAC7C,IAAI,CAAC,IAAI,CAAC,cAAc;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;YACrE,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,aAAa;gBAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC1I,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAA;YACpD,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjD,gFAAgF;QAChF,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAA;QAC/B,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;QACnC,kFAAkF;QAClF,IAAI,CAAC,WAAW,GAAG,OAAO,CAAA;QAC1B,IAAI,CAAC,oBAAoB,GAAG,GAAG,CAAA;QAC/B,IAAI,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;YACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAED,kEAAkE;AAClE,MAAM,OAAO,sBAAsB;IAEJ;IADZ,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAA;IAC7D,YAA6B,IAAuE;QAAvE,SAAI,GAAJ,IAAI,CAAmE;IAAG,CAAC;IAExG,GAAG,CAAC,OAAe;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAC3C,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;YACxB,OAAO,EAAE,IAAI,EAAE,CAAA;YACf,OAAO,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;YACtD,OAAO,CAAC,KAAK,EAAE,CAAA;YACf,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,uGAAuG;IACvG,iBAAiB,CAAC,OAAe;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1D,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACxC,MAAM,KAAK,GAAqB,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QACjM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC9B,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAC/B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO;QACL,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAChD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IACvB,CAAC;CACF"}
@@ -0,0 +1,60 @@
1
+ import { z } from 'zod';
2
+ import { NativeGroupLogSchema, type GroupCatalog, type GroupOperation, type GroupView, type GroupWriteResult } from '@maudecode/talaria-web-contracts';
3
+ import type { AppDeps } from '../http/context.js';
4
+ import { type StreamSubscriber } from './streams.js';
5
+ export interface GroupScope {
6
+ home: string;
7
+ subject: string;
8
+ profile: string;
9
+ }
10
+ type NativeEvent = z.infer<typeof NativeGroupLogSchema>['events'][number];
11
+ interface Observation {
12
+ identity: string;
13
+ cursor: number;
14
+ events: NativeEvent[];
15
+ }
16
+ export declare class Groups {
17
+ private readonly deps;
18
+ private readonly pollMs;
19
+ private readonly watchers;
20
+ constructor(deps: () => AppDeps, pollMs?: number);
21
+ /** Resolve protocol identity before dispatch so SSE can confirm an in-flight occurrence. No owner access. */
22
+ sendIdentity(requestId: string): {
23
+ event_id: string;
24
+ };
25
+ scope(profile: string, owner: string): GroupScope;
26
+ private call;
27
+ private supported;
28
+ private profiles;
29
+ private authorityIdentity;
30
+ private identity;
31
+ private project;
32
+ catalog(scope: GroupScope, offset?: number): Promise<GroupCatalog>;
33
+ private state;
34
+ private rows;
35
+ private log;
36
+ view(scope: GroupScope, roomId: string, before?: number, signal?: AbortSignal, observation?: Observation): Promise<GroupView>;
37
+ write(scope: GroupScope, identity: string | null, operation: GroupOperation): Promise<GroupWriteResult>;
38
+ private validReceipt;
39
+ private findEvent;
40
+ receipt(scope: GroupScope, roomId: string, requestId: string): Promise<GroupWriteResult>;
41
+ download(scope: GroupScope, roomId: string, identity: string, eventId: string, attachmentId: string): Promise<{
42
+ attachment: {
43
+ attachment_id: string;
44
+ kind: "image" | "file" | "pdf";
45
+ name: string;
46
+ mime: string;
47
+ size: number;
48
+ data_base64: string;
49
+ sha256: string;
50
+ event_id: string;
51
+ };
52
+ bytes: Buffer<ArrayBuffer>;
53
+ }>;
54
+ watch(scope: GroupScope, roomId: string): {
55
+ subscriber: StreamSubscriber;
56
+ release: () => void;
57
+ };
58
+ close(): Promise<void>;
59
+ }
60
+ export {};
@@ -0,0 +1,339 @@
1
+ /** Native rooms own their durable log/tasks; this service owns bounded display observations only. */
2
+ import { createHash } from 'node:crypto';
3
+ import { isDeepStrictEqual } from 'node:util';
4
+ import { z } from 'zod';
5
+ import { GROUP_ATTACHMENT_BYTES, GROUP_ATTACHMENT_LIMIT, GROUP_ATTACHMENT_BASE64_LIMIT, GroupAttachmentSchema, GroupMemberSchema, NativeGroupCapabilitiesSchema, NativeGroupListSchema, NativeGroupLogSchema, NativeGroupStateSchema, NativeGroupEventSchema } from '@maudecode/talaria-web-contracts';
6
+ import { HttpFailure } from './service.js';
7
+ import { StreamChannel } from './streams.js';
8
+ import { redactString } from '../redact.js';
9
+ const hash = (value) => createHash('sha256').update(JSON.stringify(value)).digest('hex');
10
+ const nativeEventId = (requestId) => `user:${createHash('sha256').update(requestId).digest('hex')}`;
11
+ const empty = (reason) => ({ available: false, reason, room: null, rows: [], cursor: 0, has_more: false, next_before_seq: null });
12
+ const reasons = new Set(['unsupported', 'stopped', 'refused', 'unavailable', 'unknown', 'driver_inactive']);
13
+ const safeReason = (reason) => reasons.has(reason ?? '') ? reason : 'unavailable';
14
+ const sameMembers = (left, right) => left.length === right.length && left.every((m, i) => m.member_id === right[i]?.member_id && m.profile === right[i]?.profile && m.handle === right[i]?.handle);
15
+ const localMembers = (members) => members.every((m) => !m.target || m.target.kind === 'local' && m.target.profile === m.profile);
16
+ export class Groups {
17
+ deps;
18
+ pollMs;
19
+ watchers = new Map();
20
+ constructor(deps, pollMs = 1000) {
21
+ this.deps = deps;
22
+ this.pollMs = pollMs;
23
+ }
24
+ /** Resolve protocol identity before dispatch so SSE can confirm an in-flight occurrence. No owner access. */
25
+ sendIdentity(requestId) { return { event_id: nativeEventId(requestId) }; }
26
+ scope(profile, owner) {
27
+ return { home: this.deps().profileHome(profile), subject: hash(['talaria', owner]), profile };
28
+ }
29
+ async call(scope, operation, signal, expectedRoom) {
30
+ const sidecar = this.deps().sidecar();
31
+ if (!sidecar)
32
+ return { state: 'unavailable', reason: 'unsupported', value: null };
33
+ try {
34
+ return await sidecar.call('gateway.groups', { profile_home: scope.home, subject: scope.subject, operation, ...(expectedRoom ? { expected_room: expectedRoom } : {}) }, { timeoutMs: 35_000, ...(signal ? { signal } : {}) });
35
+ }
36
+ catch {
37
+ return { state: ['capabilities', 'list', 'state', 'log', 'attachment.download'].includes(operation.action) ? 'unavailable' : 'unknown', reason: 'unknown', value: null };
38
+ }
39
+ }
40
+ async supported(scope, signal) {
41
+ const response = await this.call(scope, { action: 'capabilities' }, signal);
42
+ if (response.state !== 'available')
43
+ return { caps: null, reason: safeReason(response.reason) };
44
+ const parsed = NativeGroupCapabilitiesSchema.safeParse(response.value);
45
+ if (!parsed.success)
46
+ return { caps: null, reason: 'unsupported' };
47
+ if (!parsed.data.driver)
48
+ return { caps: null, reason: 'driver_inactive' };
49
+ return { caps: parsed.data, reason: null };
50
+ }
51
+ async profiles(scope) {
52
+ const rows = await this.deps().profiles.list(scope.profile);
53
+ return rows.flatMap((row) => typeof row.name === 'string' ? [{ profile: row.is_default === true ? 'default' : row.name, label: typeof row.display_name === 'string' && row.display_name ? redactString(row.display_name) : row.name }] : []);
54
+ }
55
+ authorityIdentity(scope, gatewayId) { return hash([scope, gatewayId]); }
56
+ identity(scope, room) { return hash([this.authorityIdentity(scope, room.authority_gateway_id), room.room_id, room.authority_epoch]); }
57
+ project(scope, state, caps, events = []) {
58
+ const room = state.room, driver = state.driver_status;
59
+ const active = !room.disbanded_at && driver?.running === true;
60
+ const actions = new Set(caps.methods);
61
+ return { id: room.room_id, name: redactString(room.name), identity: this.identity(scope, room), revision: room.revision, disbanded: room.disbanded_at !== undefined,
62
+ max_upload_bytes: Math.min(GROUP_ATTACHMENT_BYTES, this.deps().config.maxUploadBytes), attachment_limit: GROUP_ATTACHMENT_LIMIT,
63
+ members: room.members.map((member) => {
64
+ const pending = active ? (driver?.pending_actions ?? []).filter((a) => a.member_id === member.member_id && actions.has(`groups.${a.kind === 'approval' ? 'approve' : a.kind}`)) : [];
65
+ const status = driver?.member_activity?.find((a) => a.member_id === member.member_id)?.status;
66
+ const terminal = events.findLast((e) => e.payload.member_id === member.member_id && ['turn.failed', 'turn.settled', 'turn.cancelled', 'turn.deferred'].includes(e.kind));
67
+ const phase = pending.some((a) => a.kind === 'approval') ? 'approval' : status === 'indeterminate' || pending.some((a) => a.kind === 'discard') ? 'unknown' : status === 'deferred' || pending.some((a) => a.kind === 'retry') ? 'failed' : status ?? (driver?.working && driver.member_activity === undefined ? 'unknown' : terminal?.kind === 'turn.failed' ? 'failed' : 'idle');
68
+ return { ...GroupMemberSchema.parse(member), display_name: redactString(member.display_name || member.profile), phase,
69
+ actions: pending.map((a) => ({ ...a, approval: a.approval ? { ...a.approval, command: a.approval.command ? redactString(a.approval.command) : undefined, description: a.approval.description ? redactString(a.approval.description) : undefined } : undefined })) };
70
+ }),
71
+ actions: active ? ['send', 'rename', 'disband', 'stop'].filter((action) => actions.has(`groups.${action}`) && (action !== 'stop' || driver.working || driver.blocked)) : [],
72
+ };
73
+ }
74
+ async catalog(scope, offset = 0) {
75
+ const { caps, reason } = await this.supported(scope);
76
+ const unavailable = { identity: null, available: false, reason, profiles: [], rooms: [], actions: [], next_offset: null };
77
+ if (!caps)
78
+ return unavailable;
79
+ const [profiles, response] = await Promise.all([this.profiles(scope), this.call(scope, { action: 'list', offset, limit: 50 })]);
80
+ const parsed = NativeGroupListSchema.safeParse(response.value);
81
+ if (response.state !== 'available' || !parsed.success)
82
+ return { ...unavailable, reason: safeReason(response.reason) };
83
+ const managed = new Set(profiles.map((p) => p.profile));
84
+ return { identity: this.authorityIdentity(scope, caps.authority_gateway_id), available: true, reason: null, profiles: profiles.filter((p) => caps.seatable_profiles.includes(p.profile)),
85
+ rooms: parsed.data.rooms.filter((r) => localMembers(r.members) && r.members.every((m) => managed.has(m.profile))).map((room) => this.project(scope, { room }, caps)), actions: caps.methods.includes('groups.create') ? ['create'] : [], next_offset: parsed.data.next_offset };
86
+ }
87
+ async state(scope, roomId, caps, signal) {
88
+ const response = await this.call(scope, { action: 'state', room_id: roomId, include_disbanded: true }, signal);
89
+ if (response.state !== 'available')
90
+ throw new HttpFailure(409, 'Discussion unavailable', { reason: safeReason(response.reason) });
91
+ const state = NativeGroupStateSchema.parse(response.value);
92
+ const managed = new Set((await this.profiles(scope)).map((p) => p.profile));
93
+ if (state.room.room_id !== roomId || state.room.authority_gateway_id !== caps.authority_gateway_id || !localMembers(state.room.members) || !state.room.members.every((m) => managed.has(m.profile)))
94
+ throw new HttpFailure(404, 'Discussion not found');
95
+ return state;
96
+ }
97
+ rows(scope, state, events) {
98
+ return events.flatMap((event) => {
99
+ const member = state.room.members.find((m) => m.member_id === event.actor.id && m.member_id === event.payload.member_id && m.profile === event.actor.profile);
100
+ const user = event.kind === 'message.user' && event.actor.kind === 'user';
101
+ if (!user && (event.kind !== 'message.member' || event.actor.kind !== 'member' || !member))
102
+ return [];
103
+ const attachments = (event.payload.attachments ?? []).map((a) => ({ ...a, event_id: event.event_id, download_url: `/api/groups/file?${new URLSearchParams({ room_id: state.room.room_id, event_id: event.event_id, attachment_id: a.attachment_id, identity: this.identity(scope, state.room) }).toString()}` }));
104
+ return [{ key: `${event.seq}:${event.event_id}`, index: event.seq, author: user ? '' : redactString(member?.display_name || member?.profile || ''),
105
+ message: { role: user ? 'user' : 'assistant', content: redactString(event.payload.text ?? ''), message_id: event.event_id, timestamp: event.created_at, _turn_id: event.event_id, attachments: attachments.map((a) => ({ name: a.name, mime: a.mime, size: a.size, is_image: a.kind === 'image', download_url: a.download_url })) }, attachments }];
106
+ });
107
+ }
108
+ async log(scope, room, cursor, limit, signal) {
109
+ const response = await this.call(scope, { action: 'log', room_id: room.room_id, since_seq: cursor, limit }, signal);
110
+ const parsed = NativeGroupLogSchema.safeParse(response.value);
111
+ if (response.state !== 'available' || !parsed.success)
112
+ return null;
113
+ const log = parsed.data;
114
+ if (log.authority.gateway_id !== room.authority_gateway_id || log.authority.epoch !== room.authority_epoch)
115
+ return null;
116
+ let seq = cursor;
117
+ for (const event of log.events) {
118
+ if (event.room_id !== room.room_id || event.seq !== seq + 1)
119
+ return null;
120
+ seq = event.seq;
121
+ }
122
+ return log.cursor === seq ? log : null;
123
+ }
124
+ async view(scope, roomId, before, signal, observation) {
125
+ const { caps, reason } = await this.supported(scope, signal);
126
+ if (!caps)
127
+ return empty(reason);
128
+ const state = await this.state(scope, roomId, caps, signal);
129
+ if (state.room.disbanded_at !== undefined)
130
+ return { available: true, reason: null, room: this.project(scope, state, caps), rows: [], cursor: state.room.latest_seq ?? 0, has_more: false, next_before_seq: null };
131
+ const latest = state.room.latest_seq ?? 0;
132
+ const end = Math.min(before === undefined ? latest : before - 1, latest);
133
+ const identity = this.identity(scope, state.room);
134
+ const resumed = observation?.identity === identity && observation.cursor <= latest && latest - observation.cursor <= 100;
135
+ const start = resumed ? observation.cursor : Math.max(0, end - 100);
136
+ const events = resumed ? [...observation.events] : [];
137
+ let seq = start;
138
+ // Native byte caps can shorten a page. Drain this bounded window without skipping its tail.
139
+ do {
140
+ const log = await this.log(scope, state.room, seq, Math.min(caps.max_log_limit, 100), signal);
141
+ if (!log) {
142
+ if (observation) {
143
+ observation.identity = '';
144
+ return this.view(scope, roomId, before, signal);
145
+ }
146
+ return empty('unavailable');
147
+ }
148
+ const page = log.events.filter((e) => e.seq <= end);
149
+ for (const event of page) {
150
+ if (event.room_id !== roomId || event.seq !== seq + 1) {
151
+ if (observation) {
152
+ observation.identity = '';
153
+ return this.view(scope, roomId, before, signal);
154
+ }
155
+ return empty('unavailable');
156
+ }
157
+ seq = event.seq;
158
+ events.push(event);
159
+ }
160
+ if (!page.length || seq >= end)
161
+ break;
162
+ } while (!signal?.aborted);
163
+ const retained = events.slice(-100);
164
+ if (observation)
165
+ Object.assign(observation, { identity, cursor: seq, events: retained });
166
+ const previous = (retained[0]?.seq ?? 1) > 1 ? retained[0].seq : null;
167
+ return { available: true, reason: null, room: this.project(scope, state, caps, retained), rows: this.rows(scope, state, retained), cursor: seq, has_more: previous !== null, next_before_seq: previous };
168
+ }
169
+ async write(scope, identity, operation) {
170
+ if (!('room_id' in operation) || ['state', 'log', 'attachment.download'].includes(operation.action))
171
+ throw new HttpFailure(400, 'Invalid discussion action');
172
+ const result = { outcome: 'refused', reason: 'unavailable', room_id: operation.room_id, event_id: 'event_id' in operation ? operation.action === 'send' ? nativeEventId(operation.event_id) : operation.event_id : null, attachment: null };
173
+ let forwarded = operation;
174
+ let expectedRoom;
175
+ if (operation.action === 'attachment.upload' && Buffer.from(operation.data_base64, 'base64').length > Math.min(GROUP_ATTACHMENT_BYTES, this.deps().config.maxUploadBytes))
176
+ throw new HttpFailure(413, 'Discussion attachment exceeds the upload limit');
177
+ const { caps, reason } = await this.supported(scope);
178
+ if (!caps)
179
+ return { ...result, reason };
180
+ if (!caps.methods.includes(`groups.${operation.action}`))
181
+ return { ...result, reason: 'unsupported' };
182
+ if (operation.action === 'create') {
183
+ if (identity !== this.authorityIdentity(scope, caps.authority_gateway_id))
184
+ throw new HttpFailure(409, 'Discussion profile changed');
185
+ const profiles = await this.profiles(scope);
186
+ const managed = new Set(profiles.map((p) => p.profile));
187
+ if (operation.members.some((m) => !managed.has(m.profile) || !caps.seatable_profiles.includes(m.profile)) || new Set(operation.members.map((m) => m.member_id)).size !== operation.members.length)
188
+ throw new HttpFailure(400, 'Ineligible discussion member');
189
+ forwarded = { ...operation, members: operation.members.map((member) => ({ ...member, display_name: profiles.find((p) => p.profile === member.profile)?.label ?? member.profile })) };
190
+ }
191
+ else {
192
+ const current = await this.state(scope, operation.room_id, caps);
193
+ expectedRoom = { room_id: current.room.room_id, gateway_id: current.room.authority_gateway_id, authority_epoch: current.room.authority_epoch };
194
+ if (!identity || identity !== this.identity(scope, current.room))
195
+ throw new HttpFailure(409, 'Discussion identity changed');
196
+ const room = this.project(scope, current, caps);
197
+ if (['send', 'rename', 'disband', 'stop'].includes(operation.action) && !room.actions.includes(operation.action))
198
+ return { ...result, reason: 'refused' };
199
+ if (['retry', 'discard', 'approve'].includes(operation.action) && 'task_id' in operation) {
200
+ const permitted = room.members.flatMap((m) => m.actions).some((a) => a.kind === (operation.action === 'approve' ? 'approval' : operation.action) && a.member_id === operation.member_id && a.task_id === operation.task_id && a.execution_generation === operation.execution_generation && (operation.action !== 'approve' || a.request_id === operation.request_id));
201
+ if (!permitted)
202
+ throw new HttpFailure(409, 'Discussion task changed');
203
+ }
204
+ }
205
+ let response = await this.call(scope, forwarded, undefined, expectedRoom);
206
+ if (response.state === 'available' && !this.validReceipt(forwarded, response.value))
207
+ response = { state: 'unknown', reason: 'unknown', value: null };
208
+ if (response.state !== 'available') {
209
+ // Reconcile durable send/create identities; a transport loss never triggers another write.
210
+ if (response.state === 'unknown' && ['send', 'create', 'rename', 'disband'].includes(operation.action)) {
211
+ if (operation.action === 'send') {
212
+ const event = await this.findEvent(scope, operation.room_id, nativeEventId(operation.event_id)).catch(() => null);
213
+ if (event?.payload.text === operation.payload.text.trim() && isDeepStrictEqual(event.payload.attachments ?? [], operation.payload.attachments ?? []))
214
+ return { ...result, outcome: 'confirmed', reason: null };
215
+ }
216
+ const read = await this.view(scope, operation.room_id).catch(() => null);
217
+ if (read?.available && read.room && ((operation.action === 'create' && read.room.name === redactString(operation.name) && sameMembers(read.room.members, operation.members)) || (operation.action === 'rename' && read.room.name === redactString(operation.name)) || (operation.action === 'disband' && read.room.disbanded)))
218
+ return { ...result, outcome: 'confirmed', reason: null };
219
+ }
220
+ return { ...result, outcome: response.state === 'unknown' ? 'unknown' : 'refused', reason: safeReason(response.reason) };
221
+ }
222
+ const attachment = operation.action === 'attachment.upload' ? GroupAttachmentSchema.parse(response.value) : null;
223
+ return { ...result, outcome: 'confirmed', reason: null, attachment };
224
+ }
225
+ validReceipt(operation, value) {
226
+ try {
227
+ switch (operation.action) {
228
+ case 'create':
229
+ case 'rename': {
230
+ const state = NativeGroupStateSchema.parse(value);
231
+ return state.room.room_id === operation.room_id && state.room.name === operation.name && localMembers(state.room.members) && (operation.action !== 'create' || sameMembers(state.room.members, operation.members));
232
+ }
233
+ case 'send': {
234
+ const receipt = z.object({ accepted: z.literal(true), client_event_id: z.string(), event: NativeGroupEventSchema }).parse(value);
235
+ return receipt.client_event_id === operation.event_id && receipt.event.room_id === operation.room_id && receipt.event.event_id === nativeEventId(operation.event_id);
236
+ }
237
+ case 'stop': return z.object({ cancelled: z.number().int().nonnegative() }).safeParse(value).success;
238
+ case 'disband': return z.object({ tombstone: z.object({ room_id: z.literal(operation.room_id), disbanded_at: z.number() }) }).safeParse(value).success;
239
+ case 'approve': return z.object({ approved: z.literal(true) }).safeParse(value).success;
240
+ case 'retry': return z.object({ retried: z.literal(true) }).safeParse(value).success;
241
+ case 'discard': return z.object({ discarded: z.literal(true) }).safeParse(value).success;
242
+ case 'attachment.upload': {
243
+ const receipt = GroupAttachmentSchema.extend({ sha256: z.string().regex(/^[0-9a-f]{64}$/) }).parse(value);
244
+ const bytes = Buffer.from(operation.data_base64, 'base64');
245
+ return receipt.size === bytes.length && receipt.sha256 === createHash('sha256').update(bytes).digest('hex') && receipt.kind === operation.kind && receipt.name === operation.name && receipt.mime === operation.mime;
246
+ }
247
+ default: return false;
248
+ }
249
+ }
250
+ catch {
251
+ return false;
252
+ }
253
+ }
254
+ async findEvent(scope, roomId, eventId) {
255
+ const { caps } = await this.supported(scope);
256
+ if (!caps)
257
+ return null;
258
+ const { room } = await this.state(scope, roomId, caps);
259
+ const tail = Math.max(0, (room.latest_seq ?? 0) - 100);
260
+ const match = (events) => events.find((e) => e.event_id === eventId && e.kind === 'message.user' && e.actor.kind === 'user') ?? null;
261
+ // A bounded search may remain unknown; it never grants a resend.
262
+ let remaining = 100;
263
+ for (const [start, end] of [[tail, room.latest_seq ?? 0], [0, tail]]) {
264
+ let cursor = start;
265
+ while (remaining-- > 0 && cursor < end) {
266
+ const log = await this.log(scope, room, cursor, Math.min(caps.max_log_limit, 100));
267
+ if (!log || log.cursor <= cursor)
268
+ break;
269
+ const event = match(log.events);
270
+ if (event)
271
+ return event;
272
+ cursor = log.cursor;
273
+ }
274
+ }
275
+ return null;
276
+ }
277
+ async receipt(scope, roomId, requestId) {
278
+ const eventId = nativeEventId(requestId);
279
+ const observed = await this.findEvent(scope, roomId, eventId) !== null;
280
+ return { outcome: observed ? 'confirmed' : 'unknown', reason: observed ? null : 'unknown', room_id: roomId, event_id: eventId, attachment: null };
281
+ }
282
+ async download(scope, roomId, identity, eventId, attachmentId) {
283
+ const { caps } = await this.supported(scope);
284
+ if (!caps)
285
+ throw new HttpFailure(409, 'Discussion unavailable');
286
+ const state = await this.state(scope, roomId, caps);
287
+ if (identity !== this.identity(scope, state.room))
288
+ throw new HttpFailure(409, 'Discussion identity changed');
289
+ const response = await this.call(scope, { action: 'attachment.download', room_id: roomId, event_id: eventId, attachment_id: attachmentId }, undefined, { room_id: roomId, gateway_id: state.room.authority_gateway_id, authority_epoch: state.room.authority_epoch });
290
+ if (response.state !== 'available')
291
+ throw new HttpFailure(404, 'Attachment unavailable');
292
+ const attachment = GroupAttachmentSchema.extend({ data_base64: z.string().max(GROUP_ATTACHMENT_BASE64_LIMIT), sha256: z.string().regex(/^[0-9a-f]{64}$/), event_id: z.literal(eventId) }).parse(response.value);
293
+ const bytes = Buffer.from(attachment.data_base64, 'base64');
294
+ if (attachment.attachment_id !== attachmentId || bytes.length !== attachment.size || createHash('sha256').update(bytes).digest('hex') !== attachment.sha256 || bytes.toString('base64') !== attachment.data_base64)
295
+ throw new HttpFailure(404, 'Attachment unavailable');
296
+ return { attachment, bytes };
297
+ }
298
+ watch(scope, roomId) {
299
+ const key = hash([scope, roomId]);
300
+ let watcher = this.watchers.get(key);
301
+ if (!watcher) {
302
+ const channel = new StreamChannel(), controller = new AbortController();
303
+ watcher = { channel, controller, done: Promise.resolve() };
304
+ this.watchers.set(key, watcher);
305
+ const run = async () => {
306
+ const observation = { identity: '', cursor: 0, events: [] };
307
+ while (!controller.signal.aborted) {
308
+ const view = await this.view(scope, roomId, undefined, controller.signal, observation).catch(() => empty('unavailable'));
309
+ if (controller.signal.aborted)
310
+ break;
311
+ channel.replace(['snapshot', view, view.room ? `${view.room.identity}:${view.cursor}` : null]);
312
+ await new Promise((resolve) => {
313
+ const finish = () => { clearTimeout(timer); controller.signal.removeEventListener('abort', finish); resolve(); };
314
+ const timer = setTimeout(finish, this.pollMs);
315
+ controller.signal.addEventListener('abort', finish, { once: true });
316
+ });
317
+ }
318
+ };
319
+ watcher.done = run();
320
+ }
321
+ const [subscriber] = watcher.channel.subscribeWithSnapshot();
322
+ const current = watcher;
323
+ let released = false;
324
+ return { subscriber, release: () => {
325
+ if (released)
326
+ return;
327
+ released = true;
328
+ current.channel.unsubscribe(subscriber);
329
+ if (!current.channel.subscriberCount) {
330
+ current.controller.abort();
331
+ if (this.watchers.get(key) === current)
332
+ this.watchers.delete(key);
333
+ }
334
+ } };
335
+ }
336
+ async close() { const watchers = [...this.watchers.values()]; this.watchers.clear(); for (const w of watchers)
337
+ w.controller.abort(); await Promise.all(watchers.map((w) => w.done)); }
338
+ }
339
+ //# sourceMappingURL=groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups.js","sourceRoot":"","sources":["../../src/sessions/groups.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Session } from './session.js';
2
2
  import type { SessionStore } from './store.js';
3
3
  import { type StateDbSessionSource } from './state-db.js';
4
- import { type AgentStorage } from '@maudecode/talaria-web-contracts';
4
+ import { type AgentStorage, type SidebarGroup } from '@maudecode/talaria-web-contracts';
5
5
  export type Row = Record<string, unknown>;
6
6
  export { sanitizeSessionRow } from './storage/row.js';
7
7
  export declare function sessionSortTimestamp(row: Row): number;
@@ -93,7 +93,7 @@ export declare function isSubagentRow(row: Row): boolean;
93
93
  * TAL-312: the streaming and read-only flags every session payload ships. `is_streaming` holds only while the row's
94
94
  * `active_stream_id` is a live runtime stream, and a stale id goes out as `null`; `read_only` folds the persisted flag
95
95
  * with the view-only subagent rule (a not-claimable foreign row or owner-locked sidecar arrives already marked); the
96
- * `can_*` flags mirror the branch, pin, archive, delete and duplicate gates; `sort_ts` is the time the row sorts and
96
+ * `can_*` flags mirror the branch, pin, archive, delete, duplicate and share gates; `sort_ts` is the time the row sorts and
97
97
  * date-buckets by (TAL-306). Clients render these as-is.
98
98
  */
99
99
  export declare function withSessionWireFlags<T extends Row>(row: T, activeStreamIds: ReadonlySet<string>): T;
@@ -154,7 +154,11 @@ export declare function buildSessionListPayload(store: SessionStore, params: Lis
154
154
  export interface RuntimeOverlay {
155
155
  activeStreamIds: Set<string>;
156
156
  runningCronJobs: Map<string, number>;
157
- live: (sid: string) => Session | undefined;
157
+ /** The session's registered run stream, with its Web session when a direct turn owns it. */
158
+ live: (sid: string) => {
159
+ stream_id: string;
160
+ session: Session | undefined;
161
+ } | undefined;
158
162
  attention: (sid: string) => Row | null;
159
163
  }
160
164
  /** Overlay live runtime state and cron liveness, then sort canonically (Python `_session_list_cache_overlay_runtime_rows`). */
@@ -179,6 +183,7 @@ export interface ListResponse extends Record<string, unknown> {
179
183
  scheduled_sessions_truncated: boolean;
180
184
  webhook_session_count: number;
181
185
  webhook_sessions_truncated: boolean;
186
+ sidebar_groups: SidebarGroup[];
182
187
  agent_storage: AgentStorage;
183
188
  archived_limit?: number;
184
189
  archived_offset?: number;