agent-comms 9.0.10 → 9.0.12

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 (1148) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.md +10 -6
  4. package/dist/account-cli.d.ts.map +1 -1
  5. package/dist/account-cli.js +4 -1
  6. package/dist/account-cli.js.map +1 -1
  7. package/dist/bridges/user/web/dist/mesh-worker.js +4 -4
  8. package/dist/bridges/user/web/dist/sw.js +1 -1
  9. package/dist/cli-main.d.ts.map +1 -1
  10. package/dist/cli-main.js +9 -12
  11. package/dist/cli-main.js.map +1 -1
  12. package/dist/core/account-bundle.d.ts +1 -1
  13. package/dist/core/account-bundle.d.ts.map +1 -1
  14. package/dist/core/account-bundle.js +26 -19
  15. package/dist/core/account-bundle.js.map +1 -1
  16. package/dist/core/account-join.d.ts.map +1 -1
  17. package/dist/core/account-join.js +5 -2
  18. package/dist/core/account-join.js.map +1 -1
  19. package/dist/core/account-ledger-crypto.d.ts.map +1 -1
  20. package/dist/core/account-ledger-crypto.js +4 -1
  21. package/dist/core/account-ledger-crypto.js.map +1 -1
  22. package/dist/core/account-ledger-store.d.ts +3 -1
  23. package/dist/core/account-ledger-store.d.ts.map +1 -1
  24. package/dist/core/account-ledger-store.js +6 -3
  25. package/dist/core/account-ledger-store.js.map +1 -1
  26. package/dist/core/account-ledger.d.ts +51 -4
  27. package/dist/core/account-ledger.d.ts.map +1 -1
  28. package/dist/core/account-ledger.js +102 -15
  29. package/dist/core/account-ledger.js.map +1 -1
  30. package/dist/core/bridge-mesh.d.ts.map +1 -1
  31. package/dist/core/bridge-mesh.js +3 -0
  32. package/dist/core/bridge-mesh.js.map +1 -1
  33. package/dist/core/bridge.d.ts.map +1 -1
  34. package/dist/core/bridge.js +16 -4
  35. package/dist/core/bridge.js.map +1 -1
  36. package/dist/core/capability-ask.d.ts.map +1 -1
  37. package/dist/core/capability-ask.js +10 -2
  38. package/dist/core/capability-ask.js.map +1 -1
  39. package/dist/core/connection-code-tool.d.ts +1 -1
  40. package/dist/core/connection-code-tool.js +2 -2
  41. package/dist/core/connection-code-tool.js.map +1 -1
  42. package/dist/core/connection-code.d.ts +5 -5
  43. package/dist/core/connection-code.d.ts.map +1 -1
  44. package/dist/core/connection-code.js +22 -6
  45. package/dist/core/connection-code.js.map +1 -1
  46. package/dist/core/device-membership.d.ts +8 -3
  47. package/dist/core/device-membership.d.ts.map +1 -1
  48. package/dist/core/device-membership.js +4 -4
  49. package/dist/core/device-membership.js.map +1 -1
  50. package/dist/core/dm-grant-actions.d.ts.map +1 -1
  51. package/dist/core/dm-grant-actions.js +7 -1
  52. package/dist/core/dm-grant-actions.js.map +1 -1
  53. package/dist/core/error-reporting.d.ts.map +1 -1
  54. package/dist/core/error-reporting.js +5 -0
  55. package/dist/core/error-reporting.js.map +1 -1
  56. package/dist/core/gateway-trust.d.ts +1 -1
  57. package/dist/core/gateway-trust.d.ts.map +1 -1
  58. package/dist/core/gateway-trust.js +4 -4
  59. package/dist/core/gateway-trust.js.map +1 -1
  60. package/dist/core/group-proofs.d.ts.map +1 -1
  61. package/dist/core/group-proofs.js +2 -2
  62. package/dist/core/group-proofs.js.map +1 -1
  63. package/dist/core/identity-store.d.ts +13 -9
  64. package/dist/core/identity-store.d.ts.map +1 -1
  65. package/dist/core/identity-store.js +122 -147
  66. package/dist/core/identity-store.js.map +1 -1
  67. package/dist/core/index.d.ts +1 -0
  68. package/dist/core/index.d.ts.map +1 -1
  69. package/dist/core/index.js +1 -0
  70. package/dist/core/index.js.map +1 -1
  71. package/dist/core/iso-timestamp.d.ts +10 -0
  72. package/dist/core/iso-timestamp.d.ts.map +1 -0
  73. package/dist/core/iso-timestamp.js +19 -0
  74. package/dist/core/iso-timestamp.js.map +1 -0
  75. package/dist/core/issuer-identity-file.d.ts +15 -0
  76. package/dist/core/issuer-identity-file.d.ts.map +1 -1
  77. package/dist/core/issuer-identity-file.js +69 -20
  78. package/dist/core/issuer-identity-file.js.map +1 -1
  79. package/dist/core/machine-identity.d.ts +1 -1
  80. package/dist/core/machine-identity.d.ts.map +1 -1
  81. package/dist/core/machine-identity.js +14 -11
  82. package/dist/core/machine-identity.js.map +1 -1
  83. package/dist/core/mesh-store.d.ts +2 -2
  84. package/dist/core/mesh-store.d.ts.map +1 -1
  85. package/dist/core/mesh-store.js.map +1 -1
  86. package/dist/core/peer-lifecycle.d.ts.map +1 -1
  87. package/dist/core/peer-lifecycle.js +8 -2
  88. package/dist/core/peer-lifecycle.js.map +1 -1
  89. package/dist/core/pid-lock-file.d.ts +27 -4
  90. package/dist/core/pid-lock-file.d.ts.map +1 -1
  91. package/dist/core/pid-lock-file.js +120 -11
  92. package/dist/core/pid-lock-file.js.map +1 -1
  93. package/dist/core/process-start.d.ts +10 -0
  94. package/dist/core/process-start.d.ts.map +1 -0
  95. package/dist/core/process-start.js +43 -0
  96. package/dist/core/process-start.js.map +1 -0
  97. package/dist/core/room-lifecycle.d.ts +3 -2
  98. package/dist/core/room-lifecycle.d.ts.map +1 -1
  99. package/dist/core/room-lifecycle.js +9 -8
  100. package/dist/core/room-lifecycle.js.map +1 -1
  101. package/dist/core/room-protocol.d.ts.map +1 -1
  102. package/dist/core/room-protocol.js +25 -3
  103. package/dist/core/room-protocol.js.map +1 -1
  104. package/dist/core/stale-agent-checker.d.ts.map +1 -1
  105. package/dist/core/stale-agent-checker.js +3 -1
  106. package/dist/core/stale-agent-checker.js.map +1 -1
  107. package/dist/core/store.d.ts +3 -0
  108. package/dist/core/store.d.ts.map +1 -1
  109. package/dist/core/store.js +42 -20
  110. package/dist/core/store.js.map +1 -1
  111. package/dist/core/tool.d.ts +5 -1
  112. package/dist/core/tool.d.ts.map +1 -1
  113. package/dist/core/tool.js +7 -1
  114. package/dist/core/tool.js.map +1 -1
  115. package/dist/core/types.d.ts +1 -1
  116. package/dist/core/types.d.ts.map +1 -1
  117. package/dist/core/types.js +8 -3
  118. package/dist/core/types.js.map +1 -1
  119. package/dist/core/user-identity.d.ts +5 -5
  120. package/dist/core/user-identity.d.ts.map +1 -1
  121. package/dist/core/user-identity.js +59 -45
  122. package/dist/core/user-identity.js.map +1 -1
  123. package/package.json +9 -4
  124. package/src/account-cli.ts +4 -1
  125. package/src/bridges/user/web/dist/mesh-worker.js +4 -4
  126. package/src/bridges/user/web/dist/sw.js +1 -1
  127. package/src/cli-main.ts +10 -12
  128. package/src/core/account-bundle.ts +36 -25
  129. package/src/core/account-join.ts +5 -2
  130. package/src/core/account-ledger-crypto.ts +4 -1
  131. package/src/core/account-ledger-store.ts +11 -3
  132. package/src/core/account-ledger.ts +142 -20
  133. package/src/core/bridge-mesh.ts +4 -0
  134. package/src/core/bridge.ts +24 -4
  135. package/src/core/capability-ask.ts +16 -1
  136. package/src/core/connection-code-tool.ts +2 -2
  137. package/src/core/connection-code.ts +34 -8
  138. package/src/core/device-membership.ts +12 -8
  139. package/src/core/dm-grant-actions.ts +7 -1
  140. package/src/core/error-reporting.ts +5 -0
  141. package/src/core/gateway-trust.ts +4 -4
  142. package/src/core/group-proofs.ts +5 -2
  143. package/src/core/identity-store.ts +182 -191
  144. package/src/core/index.ts +1 -0
  145. package/src/core/iso-timestamp.ts +21 -0
  146. package/src/core/issuer-identity-file.ts +87 -23
  147. package/src/core/machine-identity.ts +15 -12
  148. package/src/core/mesh-store.ts +2 -1
  149. package/src/core/peer-lifecycle.ts +9 -4
  150. package/src/core/pid-lock-file.ts +139 -11
  151. package/src/core/process-start.ts +45 -0
  152. package/src/core/room-lifecycle.ts +12 -9
  153. package/src/core/room-protocol.ts +23 -3
  154. package/src/core/stale-agent-checker.ts +3 -1
  155. package/src/core/store.ts +48 -23
  156. package/src/core/tool.ts +14 -1
  157. package/src/core/types.ts +9 -3
  158. package/src/core/user-identity.ts +65 -51
  159. package/dist/bridges/user/web/frontend/boot-logic.d.ts +0 -18
  160. package/dist/bridges/user/web/frontend/boot-logic.d.ts.map +0 -1
  161. package/dist/bridges/user/web/frontend/boot-logic.js +0 -20
  162. package/dist/bridges/user/web/frontend/boot-logic.js.map +0 -1
  163. package/dist/bridges/user/web/frontend/components/App.d.ts +0 -26
  164. package/dist/bridges/user/web/frontend/components/App.d.ts.map +0 -1
  165. package/dist/bridges/user/web/frontend/components/App.js +0 -25
  166. package/dist/bridges/user/web/frontend/components/App.js.map +0 -1
  167. package/dist/bridges/user/web/frontend/components/ChatArea.d.ts +0 -19
  168. package/dist/bridges/user/web/frontend/components/ChatArea.d.ts.map +0 -1
  169. package/dist/bridges/user/web/frontend/components/ChatArea.js +0 -32
  170. package/dist/bridges/user/web/frontend/components/ChatArea.js.map +0 -1
  171. package/dist/bridges/user/web/frontend/components/CreateRoomForm.d.ts +0 -11
  172. package/dist/bridges/user/web/frontend/components/CreateRoomForm.d.ts.map +0 -1
  173. package/dist/bridges/user/web/frontend/components/CreateRoomForm.js +0 -39
  174. package/dist/bridges/user/web/frontend/components/CreateRoomForm.js.map +0 -1
  175. package/dist/bridges/user/web/frontend/components/JoinForm.d.ts +0 -11
  176. package/dist/bridges/user/web/frontend/components/JoinForm.d.ts.map +0 -1
  177. package/dist/bridges/user/web/frontend/components/JoinForm.js +0 -12
  178. package/dist/bridges/user/web/frontend/components/JoinForm.js.map +0 -1
  179. package/dist/bridges/user/web/frontend/components/MeshGraphView.d.ts +0 -16
  180. package/dist/bridges/user/web/frontend/components/MeshGraphView.d.ts.map +0 -1
  181. package/dist/bridges/user/web/frontend/components/MeshGraphView.js +0 -56
  182. package/dist/bridges/user/web/frontend/components/MeshGraphView.js.map +0 -1
  183. package/dist/bridges/user/web/frontend/components/MeshPanel.d.ts +0 -13
  184. package/dist/bridges/user/web/frontend/components/MeshPanel.d.ts.map +0 -1
  185. package/dist/bridges/user/web/frontend/components/MeshPanel.js +0 -36
  186. package/dist/bridges/user/web/frontend/components/MeshPanel.js.map +0 -1
  187. package/dist/bridges/user/web/frontend/components/MeshTraceView.d.ts +0 -20
  188. package/dist/bridges/user/web/frontend/components/MeshTraceView.d.ts.map +0 -1
  189. package/dist/bridges/user/web/frontend/components/MeshTraceView.js +0 -27
  190. package/dist/bridges/user/web/frontend/components/MeshTraceView.js.map +0 -1
  191. package/dist/bridges/user/web/frontend/components/Message.d.ts +0 -8
  192. package/dist/bridges/user/web/frontend/components/Message.d.ts.map +0 -1
  193. package/dist/bridges/user/web/frontend/components/Message.js +0 -19
  194. package/dist/bridges/user/web/frontend/components/Message.js.map +0 -1
  195. package/dist/bridges/user/web/frontend/components/MessageList.d.ts +0 -8
  196. package/dist/bridges/user/web/frontend/components/MessageList.d.ts.map +0 -1
  197. package/dist/bridges/user/web/frontend/components/MessageList.js +0 -18
  198. package/dist/bridges/user/web/frontend/components/MessageList.js.map +0 -1
  199. package/dist/bridges/user/web/frontend/components/ProjectTree.d.ts +0 -16
  200. package/dist/bridges/user/web/frontend/components/ProjectTree.d.ts.map +0 -1
  201. package/dist/bridges/user/web/frontend/components/ProjectTree.js +0 -78
  202. package/dist/bridges/user/web/frontend/components/ProjectTree.js.map +0 -1
  203. package/dist/bridges/user/web/frontend/components/Sidebar.d.ts +0 -19
  204. package/dist/bridges/user/web/frontend/components/Sidebar.d.ts.map +0 -1
  205. package/dist/bridges/user/web/frontend/components/Sidebar.js +0 -39
  206. package/dist/bridges/user/web/frontend/components/Sidebar.js.map +0 -1
  207. package/dist/bridges/user/web/frontend/dispatch-action.d.ts +0 -10
  208. package/dist/bridges/user/web/frontend/dispatch-action.d.ts.map +0 -1
  209. package/dist/bridges/user/web/frontend/dispatch-action.js +0 -62
  210. package/dist/bridges/user/web/frontend/dispatch-action.js.map +0 -1
  211. package/dist/bridges/user/web/frontend/event-pump.d.ts +0 -24
  212. package/dist/bridges/user/web/frontend/event-pump.d.ts.map +0 -1
  213. package/dist/bridges/user/web/frontend/event-pump.js +0 -91
  214. package/dist/bridges/user/web/frontend/event-pump.js.map +0 -1
  215. package/dist/bridges/user/web/frontend/input.d.ts +0 -37
  216. package/dist/bridges/user/web/frontend/input.d.ts.map +0 -1
  217. package/dist/bridges/user/web/frontend/input.js +0 -173
  218. package/dist/bridges/user/web/frontend/input.js.map +0 -1
  219. package/dist/bridges/user/web/frontend/main.d.ts +0 -7
  220. package/dist/bridges/user/web/frontend/main.d.ts.map +0 -1
  221. package/dist/bridges/user/web/frontend/main.js +0 -203
  222. package/dist/bridges/user/web/frontend/main.js.map +0 -1
  223. package/dist/bridges/user/web/frontend/mesh-client.d.ts +0 -86
  224. package/dist/bridges/user/web/frontend/mesh-client.d.ts.map +0 -1
  225. package/dist/bridges/user/web/frontend/mesh-client.js +0 -274
  226. package/dist/bridges/user/web/frontend/mesh-client.js.map +0 -1
  227. package/dist/bridges/user/web/frontend/mesh-invalidation.d.ts +0 -11
  228. package/dist/bridges/user/web/frontend/mesh-invalidation.d.ts.map +0 -1
  229. package/dist/bridges/user/web/frontend/mesh-invalidation.js +0 -26
  230. package/dist/bridges/user/web/frontend/mesh-invalidation.js.map +0 -1
  231. package/dist/bridges/user/web/frontend/mesh-worker.d.ts +0 -129
  232. package/dist/bridges/user/web/frontend/mesh-worker.d.ts.map +0 -1
  233. package/dist/bridges/user/web/frontend/mesh-worker.js +0 -344
  234. package/dist/bridges/user/web/frontend/mesh-worker.js.map +0 -1
  235. package/dist/bridges/user/web/frontend/messages.d.ts +0 -18
  236. package/dist/bridges/user/web/frontend/messages.d.ts.map +0 -1
  237. package/dist/bridges/user/web/frontend/messages.js +0 -91
  238. package/dist/bridges/user/web/frontend/messages.js.map +0 -1
  239. package/dist/bridges/user/web/frontend/project-tree.d.ts +0 -9
  240. package/dist/bridges/user/web/frontend/project-tree.d.ts.map +0 -1
  241. package/dist/bridges/user/web/frontend/project-tree.js +0 -174
  242. package/dist/bridges/user/web/frontend/project-tree.js.map +0 -1
  243. package/dist/bridges/user/web/frontend/served-by-bridge.d.ts +0 -10
  244. package/dist/bridges/user/web/frontend/served-by-bridge.d.ts.map +0 -1
  245. package/dist/bridges/user/web/frontend/served-by-bridge.js +0 -10
  246. package/dist/bridges/user/web/frontend/served-by-bridge.js.map +0 -1
  247. package/dist/bridges/user/web/frontend/state.d.ts +0 -39
  248. package/dist/bridges/user/web/frontend/state.d.ts.map +0 -1
  249. package/dist/bridges/user/web/frontend/state.js +0 -82
  250. package/dist/bridges/user/web/frontend/state.js.map +0 -1
  251. package/dist/bridges/user/web/frontend/sw.d.ts +0 -13
  252. package/dist/bridges/user/web/frontend/sw.d.ts.map +0 -1
  253. package/dist/bridges/user/web/frontend/sw.js +0 -91
  254. package/dist/bridges/user/web/frontend/sw.js.map +0 -1
  255. package/dist/bridges/user/web/frontend/tab-contract.d.ts +0 -802
  256. package/dist/bridges/user/web/frontend/tab-contract.d.ts.map +0 -1
  257. package/dist/bridges/user/web/frontend/tab-contract.js +0 -13
  258. package/dist/bridges/user/web/frontend/tab-contract.js.map +0 -1
  259. package/dist/bridges/user/web/frontend/theme.d.ts +0 -154
  260. package/dist/bridges/user/web/frontend/theme.d.ts.map +0 -1
  261. package/dist/bridges/user/web/frontend/theme.js +0 -36
  262. package/dist/bridges/user/web/frontend/theme.js.map +0 -1
  263. package/dist/bridges/user/web/frontend/types.d.ts +0 -189
  264. package/dist/bridges/user/web/frontend/types.d.ts.map +0 -1
  265. package/dist/bridges/user/web/frontend/types.js +0 -7
  266. package/dist/bridges/user/web/frontend/types.js.map +0 -1
  267. package/dist/bridges/user/web/frontend/url-sync.d.ts +0 -48
  268. package/dist/bridges/user/web/frontend/url-sync.d.ts.map +0 -1
  269. package/dist/bridges/user/web/frontend/url-sync.js +0 -76
  270. package/dist/bridges/user/web/frontend/url-sync.js.map +0 -1
  271. package/dist/bridges/user/web/frontend/use-client-state.d.ts +0 -6
  272. package/dist/bridges/user/web/frontend/use-client-state.d.ts.map +0 -1
  273. package/dist/bridges/user/web/frontend/use-client-state.js +0 -8
  274. package/dist/bridges/user/web/frontend/use-client-state.js.map +0 -1
  275. package/dist/bridges/user/web/test/bridge-port-range.integration.test.d.ts +0 -2
  276. package/dist/bridges/user/web/test/bridge-port-range.integration.test.d.ts.map +0 -1
  277. package/dist/bridges/user/web/test/bridge-port-range.integration.test.js +0 -281
  278. package/dist/bridges/user/web/test/bridge-port-range.integration.test.js.map +0 -1
  279. package/dist/bridges/user/web/test/bridge-web-server.helper.d.ts +0 -13
  280. package/dist/bridges/user/web/test/bridge-web-server.helper.d.ts.map +0 -1
  281. package/dist/bridges/user/web/test/bridge-web-server.helper.js +0 -46
  282. package/dist/bridges/user/web/test/bridge-web-server.helper.js.map +0 -1
  283. package/dist/bridges/user/web/test/bridge-web-server.integration.test.d.ts +0 -2
  284. package/dist/bridges/user/web/test/bridge-web-server.integration.test.d.ts.map +0 -1
  285. package/dist/bridges/user/web/test/bridge-web-server.integration.test.js +0 -49
  286. package/dist/bridges/user/web/test/bridge-web-server.integration.test.js.map +0 -1
  287. package/dist/bridges/user/web/test/contract.unit.test.d.ts +0 -2
  288. package/dist/bridges/user/web/test/contract.unit.test.d.ts.map +0 -1
  289. package/dist/bridges/user/web/test/contract.unit.test.js +0 -56
  290. package/dist/bridges/user/web/test/contract.unit.test.js.map +0 -1
  291. package/dist/bridges/user/web/test/event-publisher.unit.test.d.ts +0 -2
  292. package/dist/bridges/user/web/test/event-publisher.unit.test.d.ts.map +0 -1
  293. package/dist/bridges/user/web/test/event-publisher.unit.test.js +0 -245
  294. package/dist/bridges/user/web/test/event-publisher.unit.test.js.map +0 -1
  295. package/dist/bridges/user/web/test/lan-web-server.integration.test.d.ts +0 -7
  296. package/dist/bridges/user/web/test/lan-web-server.integration.test.d.ts.map +0 -1
  297. package/dist/bridges/user/web/test/lan-web-server.integration.test.js +0 -275
  298. package/dist/bridges/user/web/test/lan-web-server.integration.test.js.map +0 -1
  299. package/dist/bridges/user/web/test/orpc-router.integration.test.d.ts +0 -7
  300. package/dist/bridges/user/web/test/orpc-router.integration.test.d.ts.map +0 -1
  301. package/dist/bridges/user/web/test/orpc-router.integration.test.js +0 -264
  302. package/dist/bridges/user/web/test/orpc-router.integration.test.js.map +0 -1
  303. package/dist/bridges/user/web/test/web-access.unit.test.d.ts +0 -5
  304. package/dist/bridges/user/web/test/web-access.unit.test.d.ts.map +0 -1
  305. package/dist/bridges/user/web/test/web-access.unit.test.js +0 -40
  306. package/dist/bridges/user/web/test/web-access.unit.test.js.map +0 -1
  307. package/dist/bridges/user/web/test/web-assets.unit.test.d.ts +0 -5
  308. package/dist/bridges/user/web/test/web-assets.unit.test.d.ts.map +0 -1
  309. package/dist/bridges/user/web/test/web-assets.unit.test.js +0 -90
  310. package/dist/bridges/user/web/test/web-assets.unit.test.js.map +0 -1
  311. package/dist/bridges/user/web/test/web-beacon.unit.test.d.ts +0 -5
  312. package/dist/bridges/user/web/test/web-beacon.unit.test.d.ts.map +0 -1
  313. package/dist/bridges/user/web/test/web-beacon.unit.test.js +0 -40
  314. package/dist/bridges/user/web/test/web-beacon.unit.test.js.map +0 -1
  315. package/dist/bridges/user/web/test/web-console-route.integration.test.d.ts +0 -5
  316. package/dist/bridges/user/web/test/web-console-route.integration.test.d.ts.map +0 -1
  317. package/dist/bridges/user/web/test/web-console-route.integration.test.js +0 -112
  318. package/dist/bridges/user/web/test/web-console-route.integration.test.js.map +0 -1
  319. package/dist/bridges/user/web/test/web-console-static.unit.test.d.ts +0 -5
  320. package/dist/bridges/user/web/test/web-console-static.unit.test.d.ts.map +0 -1
  321. package/dist/bridges/user/web/test/web-console-static.unit.test.js +0 -135
  322. package/dist/bridges/user/web/test/web-console-static.unit.test.js.map +0 -1
  323. package/dist/bridges/user/web/test/web-server-unbuilt-frontend.integration.test.d.ts +0 -2
  324. package/dist/bridges/user/web/test/web-server-unbuilt-frontend.integration.test.d.ts.map +0 -1
  325. package/dist/bridges/user/web/test/web-server-unbuilt-frontend.integration.test.js +0 -77
  326. package/dist/bridges/user/web/test/web-server-unbuilt-frontend.integration.test.js.map +0 -1
  327. package/dist/bridges/user/web/test/web-server.integration.test.d.ts +0 -7
  328. package/dist/bridges/user/web/test/web-server.integration.test.d.ts.map +0 -1
  329. package/dist/bridges/user/web/test/web-server.integration.test.js +0 -266
  330. package/dist/bridges/user/web/test/web-server.integration.test.js.map +0 -1
  331. package/dist/bridges/user/web/vite.config.d.ts +0 -10
  332. package/dist/bridges/user/web/vite.config.d.ts.map +0 -1
  333. package/dist/bridges/user/web/vite.config.js +0 -68
  334. package/dist/bridges/user/web/vite.config.js.map +0 -1
  335. package/dist/core/test/build-action.unit.test.d.ts +0 -2
  336. package/dist/core/test/build-action.unit.test.d.ts.map +0 -1
  337. package/dist/core/test/build-action.unit.test.js +0 -26
  338. package/dist/core/test/build-action.unit.test.js.map +0 -1
  339. package/dist/core/test/identity.unit.test.d.ts +0 -5
  340. package/dist/core/test/identity.unit.test.d.ts.map +0 -1
  341. package/dist/core/test/identity.unit.test.js +0 -168
  342. package/dist/core/test/identity.unit.test.js.map +0 -1
  343. package/dist/core/test/package-version.unit.test.d.ts +0 -5
  344. package/dist/core/test/package-version.unit.test.d.ts.map +0 -1
  345. package/dist/core/test/package-version.unit.test.js +0 -30
  346. package/dist/core/test/package-version.unit.test.js.map +0 -1
  347. package/dist/core/test/version-check.unit.test.d.ts +0 -5
  348. package/dist/core/test/version-check.unit.test.d.ts.map +0 -1
  349. package/dist/core/test/version-check.unit.test.js +0 -191
  350. package/dist/core/test/version-check.unit.test.js.map +0 -1
  351. package/dist/test/account-join.integration.test.d.ts +0 -5
  352. package/dist/test/account-join.integration.test.d.ts.map +0 -1
  353. package/dist/test/account-join.integration.test.js +0 -279
  354. package/dist/test/account-join.integration.test.js.map +0 -1
  355. package/dist/test/account-ledger-helpers.d.ts +0 -35
  356. package/dist/test/account-ledger-helpers.d.ts.map +0 -1
  357. package/dist/test/account-ledger-helpers.js +0 -81
  358. package/dist/test/account-ledger-helpers.js.map +0 -1
  359. package/dist/test/account-ledger-hub-replication.integration.test.d.ts +0 -5
  360. package/dist/test/account-ledger-hub-replication.integration.test.d.ts.map +0 -1
  361. package/dist/test/account-ledger-hub-replication.integration.test.js +0 -100
  362. package/dist/test/account-ledger-hub-replication.integration.test.js.map +0 -1
  363. package/dist/test/account-ledger-lock-worker.d.ts +0 -9
  364. package/dist/test/account-ledger-lock-worker.d.ts.map +0 -1
  365. package/dist/test/account-ledger-lock-worker.js +0 -34
  366. package/dist/test/account-ledger-lock-worker.js.map +0 -1
  367. package/dist/test/account-ledger-lock.integration.test.d.ts +0 -5
  368. package/dist/test/account-ledger-lock.integration.test.d.ts.map +0 -1
  369. package/dist/test/account-ledger-lock.integration.test.js +0 -71
  370. package/dist/test/account-ledger-lock.integration.test.js.map +0 -1
  371. package/dist/test/account-ledger-replication.integration.test.d.ts +0 -5
  372. package/dist/test/account-ledger-replication.integration.test.d.ts.map +0 -1
  373. package/dist/test/account-ledger-replication.integration.test.js +0 -83
  374. package/dist/test/account-ledger-replication.integration.test.js.map +0 -1
  375. package/dist/test/account-ledger.unit.test.d.ts +0 -5
  376. package/dist/test/account-ledger.unit.test.d.ts.map +0 -1
  377. package/dist/test/account-ledger.unit.test.js +0 -317
  378. package/dist/test/account-ledger.unit.test.js.map +0 -1
  379. package/dist/test/account-transfer.unit.test.d.ts +0 -5
  380. package/dist/test/account-transfer.unit.test.d.ts.map +0 -1
  381. package/dist/test/account-transfer.unit.test.js +0 -232
  382. package/dist/test/account-transfer.unit.test.js.map +0 -1
  383. package/dist/test/agent-comms-version-gossip.integration.test.d.ts +0 -5
  384. package/dist/test/agent-comms-version-gossip.integration.test.d.ts.map +0 -1
  385. package/dist/test/agent-comms-version-gossip.integration.test.js +0 -112
  386. package/dist/test/agent-comms-version-gossip.integration.test.js.map +0 -1
  387. package/dist/test/agent-details-hub.integration.test.d.ts +0 -2
  388. package/dist/test/agent-details-hub.integration.test.d.ts.map +0 -1
  389. package/dist/test/agent-details-hub.integration.test.js +0 -64
  390. package/dist/test/agent-details-hub.integration.test.js.map +0 -1
  391. package/dist/test/agent-details-refresh.unit.test.d.ts +0 -5
  392. package/dist/test/agent-details-refresh.unit.test.d.ts.map +0 -1
  393. package/dist/test/agent-details-refresh.unit.test.js +0 -108
  394. package/dist/test/agent-details-refresh.unit.test.js.map +0 -1
  395. package/dist/test/agent-details.unit.test.d.ts +0 -5
  396. package/dist/test/agent-details.unit.test.d.ts.map +0 -1
  397. package/dist/test/agent-details.unit.test.js +0 -86
  398. package/dist/test/agent-details.unit.test.js.map +0 -1
  399. package/dist/test/agent-registry.unit.test.d.ts +0 -2
  400. package/dist/test/agent-registry.unit.test.d.ts.map +0 -1
  401. package/dist/test/agent-registry.unit.test.js +0 -507
  402. package/dist/test/agent-registry.unit.test.js.map +0 -1
  403. package/dist/test/agent-self-gossip.integration.test.d.ts +0 -5
  404. package/dist/test/agent-self-gossip.integration.test.d.ts.map +0 -1
  405. package/dist/test/agent-self-gossip.integration.test.js +0 -102
  406. package/dist/test/agent-self-gossip.integration.test.js.map +0 -1
  407. package/dist/test/approval.integration.test.d.ts +0 -9
  408. package/dist/test/approval.integration.test.d.ts.map +0 -1
  409. package/dist/test/approval.integration.test.js +0 -516
  410. package/dist/test/approval.integration.test.js.map +0 -1
  411. package/dist/test/become-coordinator-actual-port.integration.test.d.ts +0 -5
  412. package/dist/test/become-coordinator-actual-port.integration.test.d.ts.map +0 -1
  413. package/dist/test/become-coordinator-actual-port.integration.test.js +0 -74
  414. package/dist/test/become-coordinator-actual-port.integration.test.js.map +0 -1
  415. package/dist/test/bridge-mesh-data-directory.integration.test.d.ts +0 -2
  416. package/dist/test/bridge-mesh-data-directory.integration.test.d.ts.map +0 -1
  417. package/dist/test/bridge-mesh-data-directory.integration.test.js +0 -234
  418. package/dist/test/bridge-mesh-data-directory.integration.test.js.map +0 -1
  419. package/dist/test/bridge-mesh-version-drift.integration.test.d.ts +0 -7
  420. package/dist/test/bridge-mesh-version-drift.integration.test.d.ts.map +0 -1
  421. package/dist/test/bridge-mesh-version-drift.integration.test.js +0 -98
  422. package/dist/test/bridge-mesh-version-drift.integration.test.js.map +0 -1
  423. package/dist/test/bridge-mesh.integration.test.d.ts +0 -5
  424. package/dist/test/bridge-mesh.integration.test.d.ts.map +0 -1
  425. package/dist/test/bridge-mesh.integration.test.js +0 -206
  426. package/dist/test/bridge-mesh.integration.test.js.map +0 -1
  427. package/dist/test/bridge-stdout.runner.d.ts +0 -5
  428. package/dist/test/bridge-stdout.runner.d.ts.map +0 -1
  429. package/dist/test/bridge-stdout.runner.js +0 -54
  430. package/dist/test/bridge-stdout.runner.js.map +0 -1
  431. package/dist/test/broadcast-window.integration.test.d.ts +0 -7
  432. package/dist/test/broadcast-window.integration.test.d.ts.map +0 -1
  433. package/dist/test/broadcast-window.integration.test.js +0 -74
  434. package/dist/test/broadcast-window.integration.test.js.map +0 -1
  435. package/dist/test/capability-admission-tool-actions.integration.test.d.ts +0 -5
  436. package/dist/test/capability-admission-tool-actions.integration.test.d.ts.map +0 -1
  437. package/dist/test/capability-admission-tool-actions.integration.test.js +0 -198
  438. package/dist/test/capability-admission-tool-actions.integration.test.js.map +0 -1
  439. package/dist/test/capability-ask.unit.test.d.ts +0 -2
  440. package/dist/test/capability-ask.unit.test.d.ts.map +0 -1
  441. package/dist/test/capability-ask.unit.test.js +0 -300
  442. package/dist/test/capability-ask.unit.test.js.map +0 -1
  443. package/dist/test/capability-bubble-up.unit.test.d.ts +0 -2
  444. package/dist/test/capability-bubble-up.unit.test.d.ts.map +0 -1
  445. package/dist/test/capability-bubble-up.unit.test.js +0 -350
  446. package/dist/test/capability-bubble-up.unit.test.js.map +0 -1
  447. package/dist/test/cc-peer-alias-reply-routing.integration.test.d.ts +0 -5
  448. package/dist/test/cc-peer-alias-reply-routing.integration.test.d.ts.map +0 -1
  449. package/dist/test/cc-peer-alias-reply-routing.integration.test.js +0 -149
  450. package/dist/test/cc-peer-alias-reply-routing.integration.test.js.map +0 -1
  451. package/dist/test/cc-peer-approval-commands.unit.test.d.ts +0 -2
  452. package/dist/test/cc-peer-approval-commands.unit.test.d.ts.map +0 -1
  453. package/dist/test/cc-peer-approval-commands.unit.test.js +0 -110
  454. package/dist/test/cc-peer-approval-commands.unit.test.js.map +0 -1
  455. package/dist/test/cc-peer-bridge.unit.test.d.ts +0 -2
  456. package/dist/test/cc-peer-bridge.unit.test.d.ts.map +0 -1
  457. package/dist/test/cc-peer-bridge.unit.test.js +0 -361
  458. package/dist/test/cc-peer-bridge.unit.test.js.map +0 -1
  459. package/dist/test/cc-peer-default-front.unit.test.d.ts +0 -2
  460. package/dist/test/cc-peer-default-front.unit.test.d.ts.map +0 -1
  461. package/dist/test/cc-peer-default-front.unit.test.js +0 -83
  462. package/dist/test/cc-peer-default-front.unit.test.js.map +0 -1
  463. package/dist/test/cc-peer-front-controller.unit.test.d.ts +0 -2
  464. package/dist/test/cc-peer-front-controller.unit.test.d.ts.map +0 -1
  465. package/dist/test/cc-peer-front-controller.unit.test.js +0 -398
  466. package/dist/test/cc-peer-front-controller.unit.test.js.map +0 -1
  467. package/dist/test/cc-peer-front-relay.unit.test.d.ts +0 -2
  468. package/dist/test/cc-peer-front-relay.unit.test.d.ts.map +0 -1
  469. package/dist/test/cc-peer-front-relay.unit.test.js +0 -725
  470. package/dist/test/cc-peer-front-relay.unit.test.js.map +0 -1
  471. package/dist/test/cc-peer-front-runtime-mesh.unit.test.d.ts +0 -2
  472. package/dist/test/cc-peer-front-runtime-mesh.unit.test.d.ts.map +0 -1
  473. package/dist/test/cc-peer-front-runtime-mesh.unit.test.js +0 -57
  474. package/dist/test/cc-peer-front-runtime-mesh.unit.test.js.map +0 -1
  475. package/dist/test/cc-peer-front-runtime.unit.test.d.ts +0 -2
  476. package/dist/test/cc-peer-front-runtime.unit.test.d.ts.map +0 -1
  477. package/dist/test/cc-peer-front-runtime.unit.test.js +0 -72
  478. package/dist/test/cc-peer-front-runtime.unit.test.js.map +0 -1
  479. package/dist/test/cc-peer-front.unit.test.d.ts +0 -2
  480. package/dist/test/cc-peer-front.unit.test.d.ts.map +0 -1
  481. package/dist/test/cc-peer-front.unit.test.js +0 -109
  482. package/dist/test/cc-peer-front.unit.test.js.map +0 -1
  483. package/dist/test/cc-peer-fronted-approval.integration.test.d.ts +0 -5
  484. package/dist/test/cc-peer-fronted-approval.integration.test.d.ts.map +0 -1
  485. package/dist/test/cc-peer-fronted-approval.integration.test.js +0 -138
  486. package/dist/test/cc-peer-fronted-approval.integration.test.js.map +0 -1
  487. package/dist/test/cc-peer-reply-aliases.unit.test.d.ts +0 -2
  488. package/dist/test/cc-peer-reply-aliases.unit.test.d.ts.map +0 -1
  489. package/dist/test/cc-peer-reply-aliases.unit.test.js +0 -142
  490. package/dist/test/cc-peer-reply-aliases.unit.test.js.map +0 -1
  491. package/dist/test/cc-peer-shared-peer.unit.test.d.ts +0 -2
  492. package/dist/test/cc-peer-shared-peer.unit.test.d.ts.map +0 -1
  493. package/dist/test/cc-peer-shared-peer.unit.test.js +0 -48
  494. package/dist/test/cc-peer-shared-peer.unit.test.js.map +0 -1
  495. package/dist/test/chat-controller-mesh-errors.integration.test.d.ts +0 -2
  496. package/dist/test/chat-controller-mesh-errors.integration.test.d.ts.map +0 -1
  497. package/dist/test/chat-controller-mesh-errors.integration.test.js +0 -50
  498. package/dist/test/chat-controller-mesh-errors.integration.test.js.map +0 -1
  499. package/dist/test/ci-required-checks.unit.test.d.ts +0 -2
  500. package/dist/test/ci-required-checks.unit.test.d.ts.map +0 -1
  501. package/dist/test/ci-required-checks.unit.test.js +0 -137
  502. package/dist/test/ci-required-checks.unit.test.js.map +0 -1
  503. package/dist/test/claude-command.unit.test.d.ts +0 -2
  504. package/dist/test/claude-command.unit.test.d.ts.map +0 -1
  505. package/dist/test/claude-command.unit.test.js +0 -11
  506. package/dist/test/claude-command.unit.test.js.map +0 -1
  507. package/dist/test/conformance/corpus-files.d.ts +0 -11
  508. package/dist/test/conformance/corpus-files.d.ts.map +0 -1
  509. package/dist/test/conformance/corpus-files.js +0 -71
  510. package/dist/test/conformance/corpus-files.js.map +0 -1
  511. package/dist/test/conformance/corpus-types.d.ts +0 -62
  512. package/dist/test/conformance/corpus-types.d.ts.map +0 -1
  513. package/dist/test/conformance/corpus-types.js +0 -8
  514. package/dist/test/conformance/corpus-types.js.map +0 -1
  515. package/dist/test/conformance/corpus.d.ts +0 -34
  516. package/dist/test/conformance/corpus.d.ts.map +0 -1
  517. package/dist/test/conformance/corpus.js +0 -134
  518. package/dist/test/conformance/corpus.js.map +0 -1
  519. package/dist/test/conformance/read-json.d.ts +0 -4
  520. package/dist/test/conformance/read-json.d.ts.map +0 -1
  521. package/dist/test/conformance/read-json.js +0 -11
  522. package/dist/test/conformance/read-json.js.map +0 -1
  523. package/dist/test/conformance/test-titles.d.ts +0 -4
  524. package/dist/test/conformance/test-titles.d.ts.map +0 -1
  525. package/dist/test/conformance/test-titles.js +0 -86
  526. package/dist/test/conformance/test-titles.js.map +0 -1
  527. package/dist/test/conformance/text.d.ts +0 -10
  528. package/dist/test/conformance/text.d.ts.map +0 -1
  529. package/dist/test/conformance/text.js +0 -64
  530. package/dist/test/conformance/text.js.map +0 -1
  531. package/dist/test/conformance/validate.d.ts +0 -24
  532. package/dist/test/conformance/validate.d.ts.map +0 -1
  533. package/dist/test/conformance/validate.js +0 -153
  534. package/dist/test/conformance/validate.js.map +0 -1
  535. package/dist/test/conformance-functions.helper.d.ts +0 -19
  536. package/dist/test/conformance-functions.helper.d.ts.map +0 -1
  537. package/dist/test/conformance-functions.helper.js +0 -586
  538. package/dist/test/conformance-functions.helper.js.map +0 -1
  539. package/dist/test/conformance-kept-tests.unit.test.d.ts +0 -2
  540. package/dist/test/conformance-kept-tests.unit.test.d.ts.map +0 -1
  541. package/dist/test/conformance-kept-tests.unit.test.js +0 -220
  542. package/dist/test/conformance-kept-tests.unit.test.js.map +0 -1
  543. package/dist/test/conformance.unit.test.d.ts +0 -2
  544. package/dist/test/conformance.unit.test.d.ts.map +0 -1
  545. package/dist/test/conformance.unit.test.js +0 -371
  546. package/dist/test/conformance.unit.test.js.map +0 -1
  547. package/dist/test/connection-approval.unit.test.d.ts +0 -2
  548. package/dist/test/connection-approval.unit.test.d.ts.map +0 -1
  549. package/dist/test/connection-approval.unit.test.js +0 -194
  550. package/dist/test/connection-approval.unit.test.js.map +0 -1
  551. package/dist/test/connection-code-ledger-persistence.unit.test.d.ts +0 -5
  552. package/dist/test/connection-code-ledger-persistence.unit.test.d.ts.map +0 -1
  553. package/dist/test/connection-code-ledger-persistence.unit.test.js +0 -84
  554. package/dist/test/connection-code-ledger-persistence.unit.test.js.map +0 -1
  555. package/dist/test/connection-code-tool.e2e.test.d.ts +0 -2
  556. package/dist/test/connection-code-tool.e2e.test.d.ts.map +0 -1
  557. package/dist/test/connection-code-tool.e2e.test.js +0 -300
  558. package/dist/test/connection-code-tool.e2e.test.js.map +0 -1
  559. package/dist/test/connection-code.unit.test.d.ts +0 -5
  560. package/dist/test/connection-code.unit.test.d.ts.map +0 -1
  561. package/dist/test/connection-code.unit.test.js +0 -234
  562. package/dist/test/connection-code.unit.test.js.map +0 -1
  563. package/dist/test/coordinator-claim-sessions.integration.test.d.ts +0 -5
  564. package/dist/test/coordinator-claim-sessions.integration.test.d.ts.map +0 -1
  565. package/dist/test/coordinator-claim-sessions.integration.test.js +0 -276
  566. package/dist/test/coordinator-claim-sessions.integration.test.js.map +0 -1
  567. package/dist/test/coordinator-election.integration.test.d.ts +0 -5
  568. package/dist/test/coordinator-election.integration.test.d.ts.map +0 -1
  569. package/dist/test/coordinator-election.integration.test.js +0 -182
  570. package/dist/test/coordinator-election.integration.test.js.map +0 -1
  571. package/dist/test/coordinator-failover-hub.integration.test.d.ts +0 -5
  572. package/dist/test/coordinator-failover-hub.integration.test.d.ts.map +0 -1
  573. package/dist/test/coordinator-failover-hub.integration.test.js +0 -84
  574. package/dist/test/coordinator-failover-hub.integration.test.js.map +0 -1
  575. package/dist/test/coordinator-failover.integration.test.d.ts +0 -5
  576. package/dist/test/coordinator-failover.integration.test.d.ts.map +0 -1
  577. package/dist/test/coordinator-failover.integration.test.js +0 -150
  578. package/dist/test/coordinator-failover.integration.test.js.map +0 -1
  579. package/dist/test/coordinator-failover.unit.test.d.ts +0 -5
  580. package/dist/test/coordinator-failover.unit.test.d.ts.map +0 -1
  581. package/dist/test/coordinator-failover.unit.test.js +0 -377
  582. package/dist/test/coordinator-failover.unit.test.js.map +0 -1
  583. package/dist/test/coordinator-role.unit.test.d.ts +0 -5
  584. package/dist/test/coordinator-role.unit.test.d.ts.map +0 -1
  585. package/dist/test/coordinator-role.unit.test.js +0 -410
  586. package/dist/test/coordinator-role.unit.test.js.map +0 -1
  587. package/dist/test/coordinator-socket-error.integration.test.d.ts +0 -8
  588. package/dist/test/coordinator-socket-error.integration.test.d.ts.map +0 -1
  589. package/dist/test/coordinator-socket-error.integration.test.js +0 -47
  590. package/dist/test/coordinator-socket-error.integration.test.js.map +0 -1
  591. package/dist/test/create-room-mints-owner-grant.integration.test.d.ts +0 -5
  592. package/dist/test/create-room-mints-owner-grant.integration.test.d.ts.map +0 -1
  593. package/dist/test/create-room-mints-owner-grant.integration.test.js +0 -54
  594. package/dist/test/create-room-mints-owner-grant.integration.test.js.map +0 -1
  595. package/dist/test/create-room-name-sanitisation.integration.test.d.ts +0 -5
  596. package/dist/test/create-room-name-sanitisation.integration.test.d.ts.map +0 -1
  597. package/dist/test/create-room-name-sanitisation.integration.test.js +0 -51
  598. package/dist/test/create-room-name-sanitisation.integration.test.js.map +0 -1
  599. package/dist/test/data-directory.unit.test.d.ts +0 -2
  600. package/dist/test/data-directory.unit.test.d.ts.map +0 -1
  601. package/dist/test/data-directory.unit.test.js +0 -27
  602. package/dist/test/data-directory.unit.test.js.map +0 -1
  603. package/dist/test/data-frame-routing.unit.test.d.ts +0 -5
  604. package/dist/test/data-frame-routing.unit.test.d.ts.map +0 -1
  605. package/dist/test/data-frame-routing.unit.test.js +0 -79
  606. package/dist/test/data-frame-routing.unit.test.js.map +0 -1
  607. package/dist/test/data-sync-frame-handling.integration.test.d.ts +0 -5
  608. package/dist/test/data-sync-frame-handling.integration.test.d.ts.map +0 -1
  609. package/dist/test/data-sync-frame-handling.integration.test.js +0 -118
  610. package/dist/test/data-sync-frame-handling.integration.test.js.map +0 -1
  611. package/dist/test/delivery-engine-delivery.unit.test.d.ts +0 -2
  612. package/dist/test/delivery-engine-delivery.unit.test.d.ts.map +0 -1
  613. package/dist/test/delivery-engine-delivery.unit.test.js +0 -729
  614. package/dist/test/delivery-engine-delivery.unit.test.js.map +0 -1
  615. package/dist/test/delivery-engine-directed-notify.unit.test.d.ts +0 -2
  616. package/dist/test/delivery-engine-directed-notify.unit.test.d.ts.map +0 -1
  617. package/dist/test/delivery-engine-directed-notify.unit.test.js +0 -319
  618. package/dist/test/delivery-engine-directed-notify.unit.test.js.map +0 -1
  619. package/dist/test/delivery-engine-own-agent.unit.test.d.ts +0 -2
  620. package/dist/test/delivery-engine-own-agent.unit.test.d.ts.map +0 -1
  621. package/dist/test/delivery-engine-own-agent.unit.test.js +0 -144
  622. package/dist/test/delivery-engine-own-agent.unit.test.js.map +0 -1
  623. package/dist/test/delivery-engine.unit.test.d.ts +0 -2
  624. package/dist/test/delivery-engine.unit.test.d.ts.map +0 -1
  625. package/dist/test/delivery-engine.unit.test.js +0 -711
  626. package/dist/test/delivery-engine.unit.test.js.map +0 -1
  627. package/dist/test/delivery-receipt.helper.d.ts +0 -16
  628. package/dist/test/delivery-receipt.helper.d.ts.map +0 -1
  629. package/dist/test/delivery-receipt.helper.js +0 -480
  630. package/dist/test/delivery-receipt.helper.js.map +0 -1
  631. package/dist/test/delivery-receipt.runner.d.ts +0 -8
  632. package/dist/test/delivery-receipt.runner.d.ts.map +0 -1
  633. package/dist/test/delivery-receipt.runner.js +0 -46
  634. package/dist/test/delivery-receipt.runner.js.map +0 -1
  635. package/dist/test/device-membership-verification.unit.test.d.ts +0 -2
  636. package/dist/test/device-membership-verification.unit.test.d.ts.map +0 -1
  637. package/dist/test/device-membership-verification.unit.test.js +0 -214
  638. package/dist/test/device-membership-verification.unit.test.js.map +0 -1
  639. package/dist/test/device-membership.unit.test.d.ts +0 -2
  640. package/dist/test/device-membership.unit.test.d.ts.map +0 -1
  641. package/dist/test/device-membership.unit.test.js +0 -250
  642. package/dist/test/device-membership.unit.test.js.map +0 -1
  643. package/dist/test/directory-admission.unit.test.d.ts +0 -2
  644. package/dist/test/directory-admission.unit.test.d.ts.map +0 -1
  645. package/dist/test/directory-admission.unit.test.js +0 -300
  646. package/dist/test/directory-admission.unit.test.js.map +0 -1
  647. package/dist/test/discovery-mdns.unit.test.d.ts +0 -2
  648. package/dist/test/discovery-mdns.unit.test.d.ts.map +0 -1
  649. package/dist/test/discovery-mdns.unit.test.js +0 -123
  650. package/dist/test/discovery-mdns.unit.test.js.map +0 -1
  651. package/dist/test/dm-admission.integration.test.d.ts +0 -7
  652. package/dist/test/dm-admission.integration.test.d.ts.map +0 -1
  653. package/dist/test/dm-admission.integration.test.js +0 -90
  654. package/dist/test/dm-admission.integration.test.js.map +0 -1
  655. package/dist/test/dm-delivery-status.integration.test.d.ts +0 -5
  656. package/dist/test/dm-delivery-status.integration.test.d.ts.map +0 -1
  657. package/dist/test/dm-delivery-status.integration.test.js +0 -72
  658. package/dist/test/dm-delivery-status.integration.test.js.map +0 -1
  659. package/dist/test/dm-first-contact.integration.test.d.ts +0 -5
  660. package/dist/test/dm-first-contact.integration.test.d.ts.map +0 -1
  661. package/dist/test/dm-first-contact.integration.test.js +0 -100
  662. package/dist/test/dm-first-contact.integration.test.js.map +0 -1
  663. package/dist/test/dm-grant-actions.unit.test.d.ts +0 -2
  664. package/dist/test/dm-grant-actions.unit.test.d.ts.map +0 -1
  665. package/dist/test/dm-grant-actions.unit.test.js +0 -78
  666. package/dist/test/dm-grant-actions.unit.test.js.map +0 -1
  667. package/dist/test/dm-grant-tool.integration.test.d.ts +0 -5
  668. package/dist/test/dm-grant-tool.integration.test.d.ts.map +0 -1
  669. package/dist/test/dm-grant-tool.integration.test.js +0 -253
  670. package/dist/test/dm-grant-tool.integration.test.js.map +0 -1
  671. package/dist/test/dm-send-capability-admission.integration.test.d.ts +0 -5
  672. package/dist/test/dm-send-capability-admission.integration.test.d.ts.map +0 -1
  673. package/dist/test/dm-send-capability-admission.integration.test.js +0 -165
  674. package/dist/test/dm-send-capability-admission.integration.test.js.map +0 -1
  675. package/dist/test/dm-send-delegation.unit.test.d.ts +0 -2
  676. package/dist/test/dm-send-delegation.unit.test.d.ts.map +0 -1
  677. package/dist/test/dm-send-delegation.unit.test.js +0 -180
  678. package/dist/test/dm-send-delegation.unit.test.js.map +0 -1
  679. package/dist/test/dm-send-principal-delegation.integration.test.d.ts +0 -2
  680. package/dist/test/dm-send-principal-delegation.integration.test.d.ts.map +0 -1
  681. package/dist/test/dm-send-principal-delegation.integration.test.js +0 -90
  682. package/dist/test/dm-send-principal-delegation.integration.test.js.map +0 -1
  683. package/dist/test/dm-token-verification.unit.test.d.ts +0 -5
  684. package/dist/test/dm-token-verification.unit.test.d.ts.map +0 -1
  685. package/dist/test/dm-token-verification.unit.test.js +0 -164
  686. package/dist/test/dm-token-verification.unit.test.js.map +0 -1
  687. package/dist/test/election-sessions.unit.test.d.ts +0 -5
  688. package/dist/test/election-sessions.unit.test.d.ts.map +0 -1
  689. package/dist/test/election-sessions.unit.test.js +0 -104
  690. package/dist/test/election-sessions.unit.test.js.map +0 -1
  691. package/dist/test/error-reporting.unit.test.d.ts +0 -2
  692. package/dist/test/error-reporting.unit.test.d.ts.map +0 -1
  693. package/dist/test/error-reporting.unit.test.js +0 -20
  694. package/dist/test/error-reporting.unit.test.js.map +0 -1
  695. package/dist/test/filestore.unit.test.d.ts +0 -5
  696. package/dist/test/filestore.unit.test.d.ts.map +0 -1
  697. package/dist/test/filestore.unit.test.js +0 -175
  698. package/dist/test/filestore.unit.test.js.map +0 -1
  699. package/dist/test/first-contact.unit.test.d.ts +0 -2
  700. package/dist/test/first-contact.unit.test.d.ts.map +0 -1
  701. package/dist/test/first-contact.unit.test.js +0 -209
  702. package/dist/test/first-contact.unit.test.js.map +0 -1
  703. package/dist/test/front-real-bridge-identity-overlap.integration.test.d.ts +0 -7
  704. package/dist/test/front-real-bridge-identity-overlap.integration.test.d.ts.map +0 -1
  705. package/dist/test/front-real-bridge-identity-overlap.integration.test.js +0 -95
  706. package/dist/test/front-real-bridge-identity-overlap.integration.test.js.map +0 -1
  707. package/dist/test/gateway-trust-recheck.unit.test.d.ts +0 -2
  708. package/dist/test/gateway-trust-recheck.unit.test.d.ts.map +0 -1
  709. package/dist/test/gateway-trust-recheck.unit.test.js +0 -75
  710. package/dist/test/gateway-trust-recheck.unit.test.js.map +0 -1
  711. package/dist/test/gateway-trust-tool.integration.test.d.ts +0 -2
  712. package/dist/test/gateway-trust-tool.integration.test.d.ts.map +0 -1
  713. package/dist/test/gateway-trust-tool.integration.test.js +0 -352
  714. package/dist/test/gateway-trust-tool.integration.test.js.map +0 -1
  715. package/dist/test/gateway-trust.integration.test.d.ts +0 -5
  716. package/dist/test/gateway-trust.integration.test.d.ts.map +0 -1
  717. package/dist/test/gateway-trust.integration.test.js +0 -200
  718. package/dist/test/gateway-trust.integration.test.js.map +0 -1
  719. package/dist/test/gateway-trust.unit.test.d.ts +0 -2
  720. package/dist/test/gateway-trust.unit.test.d.ts.map +0 -1
  721. package/dist/test/gateway-trust.unit.test.js +0 -387
  722. package/dist/test/gateway-trust.unit.test.js.map +0 -1
  723. package/dist/test/gossip-directory-aggregation.integration.test.d.ts +0 -5
  724. package/dist/test/gossip-directory-aggregation.integration.test.d.ts.map +0 -1
  725. package/dist/test/gossip-directory-aggregation.integration.test.js +0 -98
  726. package/dist/test/gossip-directory-aggregation.integration.test.js.map +0 -1
  727. package/dist/test/gossip-directory.unit.test.d.ts +0 -2
  728. package/dist/test/gossip-directory.unit.test.d.ts.map +0 -1
  729. package/dist/test/gossip-directory.unit.test.js +0 -192
  730. package/dist/test/gossip-directory.unit.test.js.map +0 -1
  731. package/dist/test/gossip-listener-addresses.integration.test.d.ts +0 -5
  732. package/dist/test/gossip-listener-addresses.integration.test.d.ts.map +0 -1
  733. package/dist/test/gossip-listener-addresses.integration.test.js +0 -90
  734. package/dist/test/gossip-listener-addresses.integration.test.js.map +0 -1
  735. package/dist/test/handshake.integration.test.d.ts +0 -5
  736. package/dist/test/handshake.integration.test.d.ts.map +0 -1
  737. package/dist/test/handshake.integration.test.js +0 -211
  738. package/dist/test/handshake.integration.test.js.map +0 -1
  739. package/dist/test/hidden-line.unit.test.d.ts +0 -5
  740. package/dist/test/hidden-line.unit.test.d.ts.map +0 -1
  741. package/dist/test/hidden-line.unit.test.js +0 -40
  742. package/dist/test/hidden-line.unit.test.js.map +0 -1
  743. package/dist/test/hosted-rooms-gossip.integration.test.d.ts +0 -5
  744. package/dist/test/hosted-rooms-gossip.integration.test.d.ts.map +0 -1
  745. package/dist/test/hosted-rooms-gossip.integration.test.js +0 -103
  746. package/dist/test/hosted-rooms-gossip.integration.test.js.map +0 -1
  747. package/dist/test/hub-exposure.integration.test.d.ts +0 -5
  748. package/dist/test/hub-exposure.integration.test.d.ts.map +0 -1
  749. package/dist/test/hub-exposure.integration.test.js +0 -165
  750. package/dist/test/hub-exposure.integration.test.js.map +0 -1
  751. package/dist/test/hub-helpers.d.ts +0 -45
  752. package/dist/test/hub-helpers.d.ts.map +0 -1
  753. package/dist/test/hub-helpers.js +0 -245
  754. package/dist/test/hub-helpers.js.map +0 -1
  755. package/dist/test/hub-link.unit.test.d.ts +0 -2
  756. package/dist/test/hub-link.unit.test.d.ts.map +0 -1
  757. package/dist/test/hub-link.unit.test.js +0 -256
  758. package/dist/test/hub-link.unit.test.js.map +0 -1
  759. package/dist/test/hub-mode-session.integration.test.d.ts +0 -2
  760. package/dist/test/hub-mode-session.integration.test.d.ts.map +0 -1
  761. package/dist/test/hub-mode-session.integration.test.js +0 -173
  762. package/dist/test/hub-mode-session.integration.test.js.map +0 -1
  763. package/dist/test/hub-peer-per-store.integration.test.d.ts +0 -9
  764. package/dist/test/hub-peer-per-store.integration.test.d.ts.map +0 -1
  765. package/dist/test/hub-peer-per-store.integration.test.js +0 -218
  766. package/dist/test/hub-peer-per-store.integration.test.js.map +0 -1
  767. package/dist/test/hub-room-domain-verb-trust-bypass.integration.test.d.ts +0 -7
  768. package/dist/test/hub-room-domain-verb-trust-bypass.integration.test.d.ts.map +0 -1
  769. package/dist/test/hub-room-domain-verb-trust-bypass.integration.test.js +0 -93
  770. package/dist/test/hub-room-domain-verb-trust-bypass.integration.test.js.map +0 -1
  771. package/dist/test/hub-session-close.integration.test.d.ts +0 -5
  772. package/dist/test/hub-session-close.integration.test.d.ts.map +0 -1
  773. package/dist/test/hub-session-close.integration.test.js +0 -38
  774. package/dist/test/hub-session-close.integration.test.js.map +0 -1
  775. package/dist/test/hub-session-dispatch.unit.test.d.ts +0 -5
  776. package/dist/test/hub-session-dispatch.unit.test.d.ts.map +0 -1
  777. package/dist/test/hub-session-dispatch.unit.test.js +0 -192
  778. package/dist/test/hub-session-dispatch.unit.test.js.map +0 -1
  779. package/dist/test/identity-cert.unit.test.d.ts +0 -7
  780. package/dist/test/identity-cert.unit.test.d.ts.map +0 -1
  781. package/dist/test/identity-cert.unit.test.js +0 -19
  782. package/dist/test/identity-cert.unit.test.js.map +0 -1
  783. package/dist/test/identity-device-id.unit.test.d.ts +0 -5
  784. package/dist/test/identity-device-id.unit.test.d.ts.map +0 -1
  785. package/dist/test/identity-device-id.unit.test.js +0 -34
  786. package/dist/test/identity-device-id.unit.test.js.map +0 -1
  787. package/dist/test/identity-restart.integration.test.d.ts +0 -7
  788. package/dist/test/identity-restart.integration.test.d.ts.map +0 -1
  789. package/dist/test/identity-restart.integration.test.js +0 -173
  790. package/dist/test/identity-restart.integration.test.js.map +0 -1
  791. package/dist/test/identity-store-race-worker.d.ts +0 -7
  792. package/dist/test/identity-store-race-worker.d.ts.map +0 -1
  793. package/dist/test/identity-store-race-worker.js +0 -33
  794. package/dist/test/identity-store-race-worker.js.map +0 -1
  795. package/dist/test/identity-store-race.integration.test.d.ts +0 -5
  796. package/dist/test/identity-store-race.integration.test.d.ts.map +0 -1
  797. package/dist/test/identity-store-race.integration.test.js +0 -47
  798. package/dist/test/identity-store-race.integration.test.js.map +0 -1
  799. package/dist/test/identity-store-wait.unit.test.d.ts +0 -2
  800. package/dist/test/identity-store-wait.unit.test.d.ts.map +0 -1
  801. package/dist/test/identity-store-wait.unit.test.js +0 -75
  802. package/dist/test/identity-store-wait.unit.test.js.map +0 -1
  803. package/dist/test/identity-store.integration.test.d.ts +0 -5
  804. package/dist/test/identity-store.integration.test.d.ts.map +0 -1
  805. package/dist/test/identity-store.integration.test.js +0 -376
  806. package/dist/test/identity-store.integration.test.js.map +0 -1
  807. package/dist/test/issuer-grouping.unit.test.d.ts +0 -2
  808. package/dist/test/issuer-grouping.unit.test.d.ts.map +0 -1
  809. package/dist/test/issuer-grouping.unit.test.js +0 -137
  810. package/dist/test/issuer-grouping.unit.test.js.map +0 -1
  811. package/dist/test/lan-web-uis.unit.test.d.ts +0 -5
  812. package/dist/test/lan-web-uis.unit.test.d.ts.map +0 -1
  813. package/dist/test/lan-web-uis.unit.test.js +0 -72
  814. package/dist/test/lan-web-uis.unit.test.js.map +0 -1
  815. package/dist/test/listener-policy.integration.test.d.ts +0 -9
  816. package/dist/test/listener-policy.integration.test.d.ts.map +0 -1
  817. package/dist/test/listener-policy.integration.test.js +0 -310
  818. package/dist/test/listener-policy.integration.test.js.map +0 -1
  819. package/dist/test/loopback-address.unit.test.d.ts +0 -5
  820. package/dist/test/loopback-address.unit.test.d.ts.map +0 -1
  821. package/dist/test/loopback-address.unit.test.js +0 -28
  822. package/dist/test/loopback-address.unit.test.js.map +0 -1
  823. package/dist/test/machine-identity.unit.test.d.ts +0 -5
  824. package/dist/test/machine-identity.unit.test.d.ts.map +0 -1
  825. package/dist/test/machine-identity.unit.test.js +0 -80
  826. package/dist/test/machine-identity.unit.test.js.map +0 -1
  827. package/dist/test/machine-membership-trust.integration.test.d.ts +0 -5
  828. package/dist/test/machine-membership-trust.integration.test.d.ts.map +0 -1
  829. package/dist/test/machine-membership-trust.integration.test.js +0 -151
  830. package/dist/test/machine-membership-trust.integration.test.js.map +0 -1
  831. package/dist/test/manual-clock.d.ts +0 -7
  832. package/dist/test/manual-clock.d.ts.map +0 -1
  833. package/dist/test/manual-clock.js +0 -10
  834. package/dist/test/manual-clock.js.map +0 -1
  835. package/dist/test/mcp-stdout-channel.integration.test.d.ts +0 -5
  836. package/dist/test/mcp-stdout-channel.integration.test.d.ts.map +0 -1
  837. package/dist/test/mcp-stdout-channel.integration.test.js +0 -123
  838. package/dist/test/mcp-stdout-channel.integration.test.js.map +0 -1
  839. package/dist/test/mcp-tool-action-enum.unit.test.d.ts +0 -2
  840. package/dist/test/mcp-tool-action-enum.unit.test.d.ts.map +0 -1
  841. package/dist/test/mcp-tool-action-enum.unit.test.js +0 -12
  842. package/dist/test/mcp-tool-action-enum.unit.test.js.map +0 -1
  843. package/dist/test/membership-proof.unit.test.d.ts +0 -2
  844. package/dist/test/membership-proof.unit.test.d.ts.map +0 -1
  845. package/dist/test/membership-proof.unit.test.js +0 -238
  846. package/dist/test/membership-proof.unit.test.js.map +0 -1
  847. package/dist/test/mesh-e2e.integration.test.d.ts +0 -8
  848. package/dist/test/mesh-e2e.integration.test.d.ts.map +0 -1
  849. package/dist/test/mesh-e2e.integration.test.js +0 -177
  850. package/dist/test/mesh-e2e.integration.test.js.map +0 -1
  851. package/dist/test/mesh-graph-trace-tool.e2e.test.d.ts +0 -2
  852. package/dist/test/mesh-graph-trace-tool.e2e.test.d.ts.map +0 -1
  853. package/dist/test/mesh-graph-trace-tool.e2e.test.js +0 -99
  854. package/dist/test/mesh-graph-trace-tool.e2e.test.js.map +0 -1
  855. package/dist/test/mesh-graph-trace.integration.test.d.ts +0 -5
  856. package/dist/test/mesh-graph-trace.integration.test.d.ts.map +0 -1
  857. package/dist/test/mesh-graph-trace.integration.test.js +0 -153
  858. package/dist/test/mesh-graph-trace.integration.test.js.map +0 -1
  859. package/dist/test/mesh-graph.unit.test.d.ts +0 -5
  860. package/dist/test/mesh-graph.unit.test.d.ts.map +0 -1
  861. package/dist/test/mesh-graph.unit.test.js +0 -121
  862. package/dist/test/mesh-graph.unit.test.js.map +0 -1
  863. package/dist/test/mesh-smoke.runner.d.ts +0 -9
  864. package/dist/test/mesh-smoke.runner.d.ts.map +0 -1
  865. package/dist/test/mesh-smoke.runner.js +0 -262
  866. package/dist/test/mesh-smoke.runner.js.map +0 -1
  867. package/dist/test/mesh-store-delivery-listeners.integration.test.d.ts +0 -2
  868. package/dist/test/mesh-store-delivery-listeners.integration.test.d.ts.map +0 -1
  869. package/dist/test/mesh-store-delivery-listeners.integration.test.js +0 -160
  870. package/dist/test/mesh-store-delivery-listeners.integration.test.js.map +0 -1
  871. package/dist/test/mesh-store-durable-send.integration.test.d.ts +0 -2
  872. package/dist/test/mesh-store-durable-send.integration.test.d.ts.map +0 -1
  873. package/dist/test/mesh-store-durable-send.integration.test.js +0 -55
  874. package/dist/test/mesh-store-durable-send.integration.test.js.map +0 -1
  875. package/dist/test/mesh-store-orchestration.unit.test.d.ts +0 -2
  876. package/dist/test/mesh-store-orchestration.unit.test.d.ts.map +0 -1
  877. package/dist/test/mesh-store-orchestration.unit.test.js +0 -662
  878. package/dist/test/mesh-store-orchestration.unit.test.js.map +0 -1
  879. package/dist/test/mesh-store-shared.unit.test.d.ts +0 -2
  880. package/dist/test/mesh-store-shared.unit.test.d.ts.map +0 -1
  881. package/dist/test/mesh-store-shared.unit.test.js +0 -107
  882. package/dist/test/mesh-store-shared.unit.test.js.map +0 -1
  883. package/dist/test/name-claim.unit.test.d.ts +0 -5
  884. package/dist/test/name-claim.unit.test.d.ts.map +0 -1
  885. package/dist/test/name-claim.unit.test.js +0 -135
  886. package/dist/test/name-claim.unit.test.js.map +0 -1
  887. package/dist/test/naming.integration.test.d.ts +0 -5
  888. package/dist/test/naming.integration.test.d.ts.map +0 -1
  889. package/dist/test/naming.integration.test.js +0 -231
  890. package/dist/test/naming.integration.test.js.map +0 -1
  891. package/dist/test/peer-lifecycle.unit.test.d.ts +0 -2
  892. package/dist/test/peer-lifecycle.unit.test.d.ts.map +0 -1
  893. package/dist/test/peer-lifecycle.unit.test.js +0 -252
  894. package/dist/test/peer-lifecycle.unit.test.js.map +0 -1
  895. package/dist/test/peer-link-error.integration.test.d.ts +0 -2
  896. package/dist/test/peer-link-error.integration.test.d.ts.map +0 -1
  897. package/dist/test/peer-link-error.integration.test.js +0 -33
  898. package/dist/test/peer-link-error.integration.test.js.map +0 -1
  899. package/dist/test/peer-versions.unit.test.d.ts +0 -5
  900. package/dist/test/peer-versions.unit.test.d.ts.map +0 -1
  901. package/dist/test/peer-versions.unit.test.js +0 -68
  902. package/dist/test/peer-versions.unit.test.js.map +0 -1
  903. package/dist/test/petnames.unit.test.d.ts +0 -5
  904. package/dist/test/petnames.unit.test.d.ts.map +0 -1
  905. package/dist/test/petnames.unit.test.js +0 -94
  906. package/dist/test/petnames.unit.test.js.map +0 -1
  907. package/dist/test/pgp-keyserver.unit.test.d.ts +0 -5
  908. package/dist/test/pgp-keyserver.unit.test.d.ts.map +0 -1
  909. package/dist/test/pgp-keyserver.unit.test.js +0 -24
  910. package/dist/test/pgp-keyserver.unit.test.js.map +0 -1
  911. package/dist/test/pi-manifest-packed.integration.test.d.ts +0 -2
  912. package/dist/test/pi-manifest-packed.integration.test.d.ts.map +0 -1
  913. package/dist/test/pi-manifest-packed.integration.test.js +0 -68
  914. package/dist/test/pi-manifest-packed.integration.test.js.map +0 -1
  915. package/dist/test/plugin-hooks.unit.test.d.ts +0 -2
  916. package/dist/test/plugin-hooks.unit.test.d.ts.map +0 -1
  917. package/dist/test/plugin-hooks.unit.test.js +0 -99
  918. package/dist/test/plugin-hooks.unit.test.js.map +0 -1
  919. package/dist/test/presence-readvertise.integration.test.d.ts +0 -5
  920. package/dist/test/presence-readvertise.integration.test.d.ts.map +0 -1
  921. package/dist/test/presence-readvertise.integration.test.js +0 -139
  922. package/dist/test/presence-readvertise.integration.test.js.map +0 -1
  923. package/dist/test/principal-membership-trust.integration.test.d.ts +0 -5
  924. package/dist/test/principal-membership-trust.integration.test.d.ts.map +0 -1
  925. package/dist/test/principal-membership-trust.integration.test.js +0 -169
  926. package/dist/test/principal-membership-trust.integration.test.js.map +0 -1
  927. package/dist/test/query-version.integration.test.d.ts +0 -5
  928. package/dist/test/query-version.integration.test.d.ts.map +0 -1
  929. package/dist/test/query-version.integration.test.js +0 -68
  930. package/dist/test/query-version.integration.test.js.map +0 -1
  931. package/dist/test/random-id.unit.test.d.ts +0 -2
  932. package/dist/test/random-id.unit.test.d.ts.map +0 -1
  933. package/dist/test/random-id.unit.test.js +0 -16
  934. package/dist/test/random-id.unit.test.js.map +0 -1
  935. package/dist/test/relay-role.integration.test.d.ts +0 -5
  936. package/dist/test/relay-role.integration.test.d.ts.map +0 -1
  937. package/dist/test/relay-role.integration.test.js +0 -134
  938. package/dist/test/relay-role.integration.test.js.map +0 -1
  939. package/dist/test/room-admission-tool-actions.integration.test.d.ts +0 -5
  940. package/dist/test/room-admission-tool-actions.integration.test.d.ts.map +0 -1
  941. package/dist/test/room-admission-tool-actions.integration.test.js +0 -166
  942. package/dist/test/room-admission-tool-actions.integration.test.js.map +0 -1
  943. package/dist/test/room-destroy-revocation.integration.test.d.ts +0 -5
  944. package/dist/test/room-destroy-revocation.integration.test.d.ts.map +0 -1
  945. package/dist/test/room-destroy-revocation.integration.test.js +0 -62
  946. package/dist/test/room-destroy-revocation.integration.test.js.map +0 -1
  947. package/dist/test/room-invite-directed.integration.test.d.ts +0 -5
  948. package/dist/test/room-invite-directed.integration.test.d.ts.map +0 -1
  949. package/dist/test/room-invite-directed.integration.test.js +0 -94
  950. package/dist/test/room-invite-directed.integration.test.js.map +0 -1
  951. package/dist/test/room-join-admission.integration.test.d.ts +0 -7
  952. package/dist/test/room-join-admission.integration.test.d.ts.map +0 -1
  953. package/dist/test/room-join-admission.integration.test.js +0 -228
  954. package/dist/test/room-join-admission.integration.test.js.map +0 -1
  955. package/dist/test/room-join-approval-timeout.integration.test.d.ts +0 -5
  956. package/dist/test/room-join-approval-timeout.integration.test.d.ts.map +0 -1
  957. package/dist/test/room-join-approval-timeout.integration.test.js +0 -77
  958. package/dist/test/room-join-approval-timeout.integration.test.js.map +0 -1
  959. package/dist/test/room-join-by-bare-name.integration.test.d.ts +0 -5
  960. package/dist/test/room-join-by-bare-name.integration.test.d.ts.map +0 -1
  961. package/dist/test/room-join-by-bare-name.integration.test.js +0 -128
  962. package/dist/test/room-join-by-bare-name.integration.test.js.map +0 -1
  963. package/dist/test/room-kick-revocation.integration.test.d.ts +0 -7
  964. package/dist/test/room-kick-revocation.integration.test.d.ts.map +0 -1
  965. package/dist/test/room-kick-revocation.integration.test.js +0 -78
  966. package/dist/test/room-kick-revocation.integration.test.js.map +0 -1
  967. package/dist/test/room-leave-revocation.integration.test.d.ts +0 -5
  968. package/dist/test/room-leave-revocation.integration.test.d.ts.map +0 -1
  969. package/dist/test/room-leave-revocation.integration.test.js +0 -95
  970. package/dist/test/room-leave-revocation.integration.test.js.map +0 -1
  971. package/dist/test/room-lifecycle-bare-name.unit.test.d.ts +0 -2
  972. package/dist/test/room-lifecycle-bare-name.unit.test.d.ts.map +0 -1
  973. package/dist/test/room-lifecycle-bare-name.unit.test.js +0 -181
  974. package/dist/test/room-lifecycle-bare-name.unit.test.js.map +0 -1
  975. package/dist/test/room-lifecycle-membership.unit.test.d.ts +0 -2
  976. package/dist/test/room-lifecycle-membership.unit.test.d.ts.map +0 -1
  977. package/dist/test/room-lifecycle-membership.unit.test.js +0 -551
  978. package/dist/test/room-lifecycle-membership.unit.test.js.map +0 -1
  979. package/dist/test/room-lifecycle-remote.unit.test.d.ts +0 -2
  980. package/dist/test/room-lifecycle-remote.unit.test.d.ts.map +0 -1
  981. package/dist/test/room-lifecycle-remote.unit.test.js +0 -388
  982. package/dist/test/room-lifecycle-remote.unit.test.js.map +0 -1
  983. package/dist/test/room-lifecycle.unit.test.d.ts +0 -2
  984. package/dist/test/room-lifecycle.unit.test.d.ts.map +0 -1
  985. package/dist/test/room-lifecycle.unit.test.js +0 -561
  986. package/dist/test/room-lifecycle.unit.test.js.map +0 -1
  987. package/dist/test/room-messaging-durable-send.unit.test.d.ts +0 -2
  988. package/dist/test/room-messaging-durable-send.unit.test.d.ts.map +0 -1
  989. package/dist/test/room-messaging-durable-send.unit.test.js +0 -122
  990. package/dist/test/room-messaging-durable-send.unit.test.js.map +0 -1
  991. package/dist/test/room-messaging.unit.test.d.ts +0 -2
  992. package/dist/test/room-messaging.unit.test.d.ts.map +0 -1
  993. package/dist/test/room-messaging.unit.test.js +0 -495
  994. package/dist/test/room-messaging.unit.test.js.map +0 -1
  995. package/dist/test/room-notice-log.unit.test.d.ts +0 -5
  996. package/dist/test/room-notice-log.unit.test.d.ts.map +0 -1
  997. package/dist/test/room-notice-log.unit.test.js +0 -100
  998. package/dist/test/room-notice-log.unit.test.js.map +0 -1
  999. package/dist/test/room-protocol-admission.unit.test.d.ts +0 -2
  1000. package/dist/test/room-protocol-admission.unit.test.d.ts.map +0 -1
  1001. package/dist/test/room-protocol-admission.unit.test.js +0 -432
  1002. package/dist/test/room-protocol-admission.unit.test.js.map +0 -1
  1003. package/dist/test/room-protocol-notify.unit.test.d.ts +0 -2
  1004. package/dist/test/room-protocol-notify.unit.test.d.ts.map +0 -1
  1005. package/dist/test/room-protocol-notify.unit.test.js +0 -184
  1006. package/dist/test/room-protocol-notify.unit.test.js.map +0 -1
  1007. package/dist/test/room-protocol-retry-queue.unit.test.d.ts +0 -2
  1008. package/dist/test/room-protocol-retry-queue.unit.test.d.ts.map +0 -1
  1009. package/dist/test/room-protocol-retry-queue.unit.test.js +0 -275
  1010. package/dist/test/room-protocol-retry-queue.unit.test.js.map +0 -1
  1011. package/dist/test/room-protocol.helper.d.ts +0 -60
  1012. package/dist/test/room-protocol.helper.d.ts.map +0 -1
  1013. package/dist/test/room-protocol.helper.js +0 -169
  1014. package/dist/test/room-protocol.helper.js.map +0 -1
  1015. package/dist/test/room-protocol.unit.test.d.ts +0 -2
  1016. package/dist/test/room-protocol.unit.test.d.ts.map +0 -1
  1017. package/dist/test/room-protocol.unit.test.js +0 -431
  1018. package/dist/test/room-protocol.unit.test.js.map +0 -1
  1019. package/dist/test/room-read-directed.integration.test.d.ts +0 -7
  1020. package/dist/test/room-read-directed.integration.test.d.ts.map +0 -1
  1021. package/dist/test/room-read-directed.integration.test.js +0 -136
  1022. package/dist/test/room-read-directed.integration.test.js.map +0 -1
  1023. package/dist/test/room-router.unit.test.d.ts +0 -2
  1024. package/dist/test/room-router.unit.test.d.ts.map +0 -1
  1025. package/dist/test/room-router.unit.test.js +0 -235
  1026. package/dist/test/room-router.unit.test.js.map +0 -1
  1027. package/dist/test/room-send-directed.integration.test.d.ts +0 -7
  1028. package/dist/test/room-send-directed.integration.test.d.ts.map +0 -1
  1029. package/dist/test/room-send-directed.integration.test.js +0 -129
  1030. package/dist/test/room-send-directed.integration.test.js.map +0 -1
  1031. package/dist/test/room-send-retry-queue.integration.test.d.ts +0 -5
  1032. package/dist/test/room-send-retry-queue.integration.test.d.ts.map +0 -1
  1033. package/dist/test/room-send-retry-queue.integration.test.js +0 -152
  1034. package/dist/test/room-send-retry-queue.integration.test.js.map +0 -1
  1035. package/dist/test/room-send-retry.integration.test.d.ts +0 -5
  1036. package/dist/test/room-send-retry.integration.test.d.ts.map +0 -1
  1037. package/dist/test/room-send-retry.integration.test.js +0 -154
  1038. package/dist/test/room-send-retry.integration.test.js.map +0 -1
  1039. package/dist/test/room-state-sync.integration.test.d.ts +0 -5
  1040. package/dist/test/room-state-sync.integration.test.d.ts.map +0 -1
  1041. package/dist/test/room-state-sync.integration.test.js +0 -105
  1042. package/dist/test/room-state-sync.integration.test.js.map +0 -1
  1043. package/dist/test/room-token-store.unit.test.d.ts +0 -5
  1044. package/dist/test/room-token-store.unit.test.d.ts.map +0 -1
  1045. package/dist/test/room-token-store.unit.test.js +0 -124
  1046. package/dist/test/room-token-store.unit.test.js.map +0 -1
  1047. package/dist/test/room-token-verification.unit.test.d.ts +0 -2
  1048. package/dist/test/room-token-verification.unit.test.d.ts.map +0 -1
  1049. package/dist/test/room-token-verification.unit.test.js +0 -238
  1050. package/dist/test/room-token-verification.unit.test.js.map +0 -1
  1051. package/dist/test/scratch-directory.helper.d.ts +0 -18
  1052. package/dist/test/scratch-directory.helper.d.ts.map +0 -1
  1053. package/dist/test/scratch-directory.helper.js +0 -35
  1054. package/dist/test/scratch-directory.helper.js.map +0 -1
  1055. package/dist/test/scratch-directory.setup.d.ts +0 -2
  1056. package/dist/test/scratch-directory.setup.d.ts.map +0 -1
  1057. package/dist/test/scratch-directory.setup.js +0 -7
  1058. package/dist/test/scratch-directory.setup.js.map +0 -1
  1059. package/dist/test/scratch-directory.unit.test.d.ts +0 -2
  1060. package/dist/test/scratch-directory.unit.test.d.ts.map +0 -1
  1061. package/dist/test/scratch-directory.unit.test.js +0 -78
  1062. package/dist/test/scratch-directory.unit.test.js.map +0 -1
  1063. package/dist/test/send-by-room-name.integration.test.d.ts +0 -5
  1064. package/dist/test/send-by-room-name.integration.test.d.ts.map +0 -1
  1065. package/dist/test/send-by-room-name.integration.test.js +0 -77
  1066. package/dist/test/send-by-room-name.integration.test.js.map +0 -1
  1067. package/dist/test/shutdown-signals.unit.test.d.ts +0 -5
  1068. package/dist/test/shutdown-signals.unit.test.d.ts.map +0 -1
  1069. package/dist/test/shutdown-signals.unit.test.js +0 -110
  1070. package/dist/test/shutdown-signals.unit.test.js.map +0 -1
  1071. package/dist/test/stale-agent-checker.unit.test.d.ts +0 -2
  1072. package/dist/test/stale-agent-checker.unit.test.d.ts.map +0 -1
  1073. package/dist/test/stale-agent-checker.unit.test.js +0 -267
  1074. package/dist/test/stale-agent-checker.unit.test.js.map +0 -1
  1075. package/dist/test/state-sync-convergence.integration.test.d.ts +0 -7
  1076. package/dist/test/state-sync-convergence.integration.test.d.ts.map +0 -1
  1077. package/dist/test/state-sync-convergence.integration.test.js +0 -263
  1078. package/dist/test/state-sync-convergence.integration.test.js.map +0 -1
  1079. package/dist/test/synthetic-advert.d.ts +0 -8
  1080. package/dist/test/synthetic-advert.d.ts.map +0 -1
  1081. package/dist/test/synthetic-advert.js +0 -16
  1082. package/dist/test/synthetic-advert.js.map +0 -1
  1083. package/dist/test/test-transport.d.ts +0 -43
  1084. package/dist/test/test-transport.d.ts.map +0 -1
  1085. package/dist/test/test-transport.js +0 -122
  1086. package/dist/test/test-transport.js.map +0 -1
  1087. package/dist/test/token-text.unit.test.d.ts +0 -2
  1088. package/dist/test/token-text.unit.test.d.ts.map +0 -1
  1089. package/dist/test/token-text.unit.test.js +0 -46
  1090. package/dist/test/token-text.unit.test.js.map +0 -1
  1091. package/dist/test/tool-version-reporting.integration.test.d.ts +0 -5
  1092. package/dist/test/tool-version-reporting.integration.test.d.ts.map +0 -1
  1093. package/dist/test/tool-version-reporting.integration.test.js +0 -105
  1094. package/dist/test/tool-version-reporting.integration.test.js.map +0 -1
  1095. package/dist/test/user-identity.unit.test.d.ts +0 -5
  1096. package/dist/test/user-identity.unit.test.d.ts.map +0 -1
  1097. package/dist/test/user-identity.unit.test.js +0 -224
  1098. package/dist/test/user-identity.unit.test.js.map +0 -1
  1099. package/dist/test/user-principal-mints-device-grant.unit.test.d.ts +0 -7
  1100. package/dist/test/user-principal-mints-device-grant.unit.test.d.ts.map +0 -1
  1101. package/dist/test/user-principal-mints-device-grant.unit.test.js +0 -62
  1102. package/dist/test/user-principal-mints-device-grant.unit.test.js.map +0 -1
  1103. package/dist/test/version-report-actions.unit.test.d.ts +0 -5
  1104. package/dist/test/version-report-actions.unit.test.d.ts.map +0 -1
  1105. package/dist/test/version-report-actions.unit.test.js +0 -35
  1106. package/dist/test/version-report-actions.unit.test.js.map +0 -1
  1107. package/dist/test/visibility.integration.test.d.ts +0 -12
  1108. package/dist/test/visibility.integration.test.d.ts.map +0 -1
  1109. package/dist/test/visibility.integration.test.js +0 -259
  1110. package/dist/test/visibility.integration.test.js.map +0 -1
  1111. package/dist/test/web-url-tool-action.integration.test.d.ts +0 -2
  1112. package/dist/test/web-url-tool-action.integration.test.d.ts.map +0 -1
  1113. package/dist/test/web-url-tool-action.integration.test.js +0 -69
  1114. package/dist/test/web-url-tool-action.integration.test.js.map +0 -1
  1115. package/dist/test/wire-mesh-core-version.unit.test.d.ts +0 -5
  1116. package/dist/test/wire-mesh-core-version.unit.test.d.ts.map +0 -1
  1117. package/dist/test/wire-mesh-core-version.unit.test.js +0 -14
  1118. package/dist/test/wire-mesh-core-version.unit.test.js.map +0 -1
  1119. package/dist/test/wire-mesh-identity.unit.test.d.ts +0 -5
  1120. package/dist/test/wire-mesh-identity.unit.test.d.ts.map +0 -1
  1121. package/dist/test/wire-mesh-identity.unit.test.js +0 -26
  1122. package/dist/test/wire-mesh-identity.unit.test.js.map +0 -1
  1123. package/dist/test/wire-mesh-transport-gateway-trust.integration.test.d.ts +0 -2
  1124. package/dist/test/wire-mesh-transport-gateway-trust.integration.test.d.ts.map +0 -1
  1125. package/dist/test/wire-mesh-transport-gateway-trust.integration.test.js +0 -56
  1126. package/dist/test/wire-mesh-transport-gateway-trust.integration.test.js.map +0 -1
  1127. package/dist/test/wire-mesh-transport-hub.integration.test.d.ts +0 -5
  1128. package/dist/test/wire-mesh-transport-hub.integration.test.d.ts.map +0 -1
  1129. package/dist/test/wire-mesh-transport-hub.integration.test.js +0 -140
  1130. package/dist/test/wire-mesh-transport-hub.integration.test.js.map +0 -1
  1131. package/dist/test/wire-mesh-transport-shutdown-unref.integration.test.d.ts +0 -5
  1132. package/dist/test/wire-mesh-transport-shutdown-unref.integration.test.d.ts.map +0 -1
  1133. package/dist/test/wire-mesh-transport-shutdown-unref.integration.test.js +0 -316
  1134. package/dist/test/wire-mesh-transport-shutdown-unref.integration.test.js.map +0 -1
  1135. package/dist/test/wire-mesh-transport.integration.test.d.ts +0 -5
  1136. package/dist/test/wire-mesh-transport.integration.test.d.ts.map +0 -1
  1137. package/dist/test/wire-mesh-transport.integration.test.js +0 -659
  1138. package/dist/test/wire-mesh-transport.integration.test.js.map +0 -1
  1139. package/dist/test/ws-dial.integration.test.d.ts +0 -2
  1140. package/dist/test/ws-dial.integration.test.d.ts.map +0 -1
  1141. package/dist/test/ws-dial.integration.test.js +0 -112
  1142. package/dist/test/ws-dial.integration.test.js.map +0 -1
  1143. package/dist/test/wss-remote-connect.integration.test.d.ts +0 -2
  1144. package/dist/test/wss-remote-connect.integration.test.d.ts.map +0 -1
  1145. package/dist/test/wss-remote-connect.integration.test.js +0 -122
  1146. package/dist/test/wss-remote-connect.integration.test.js.map +0 -1
  1147. package/src/bridges/user/web/test/bridge-web-server.helper.ts +0 -54
  1148. package/src/bridges/user/web/vite.config.ts +0 -71
package/src/core/store.ts CHANGED
@@ -73,6 +73,16 @@ export function requireDisplayName(raw: string, what: string): string {
73
73
  return name;
74
74
  }
75
75
 
76
+ /** The delivery files already reported by this process, each with the reason given, so a file that stays where it is is reported once and not on every drain. */
77
+ const reportedDeliveryFiles = new Set<string>();
78
+
79
+ function reportDeliveryFileOnce(filePath: string, problem: string): void {
80
+ const key = `${filePath}\n${problem}`;
81
+ if (reportedDeliveryFiles.has(key)) return;
82
+ reportedDeliveryFiles.add(key);
83
+ process.stderr.write(`agent-comms: ${filePath} ${problem}\n`);
84
+ }
85
+
76
86
  /** An agent's registered name is its self-asserted name (display-name.ts), so it is held to the same rules as it is registered or changed: requireDisplayName for "An agent name". */
77
87
  export function requireAgentName(raw: string): string {
78
88
  return requireDisplayName(raw, "An agent name");
@@ -642,35 +652,50 @@ export class FileStore implements CommsStore {
642
652
  await this.writeJsonFile(path.join(dir, `${id}.json`), event);
643
653
  }
644
654
 
655
+ /**
656
+ * Returns the events queued for agentId, oldest message first, and removes each from the queue as it is returned. A file that cannot be read or parsed is left in place and reported on stderr with its name, and every other file is still drained, so one bad file never costs the events around it; a file that cannot be removed is reported the same way and its event is not returned, so it is delivered once, on a later drain, not twice. Each file is reported once per process however often the queue is drained, since a file that stays in place would otherwise be reported on every drain.
657
+ */
645
658
  async drainDelivery(agentId: string): Promise<DeliveryEvent[]> {
646
659
  const dir = this.deliveryDir(agentId);
660
+ let files: string[];
647
661
  try {
648
- const files = await fs.readdir(dir);
649
- const events: DeliveryEvent[] = [];
650
- for (const file of files) {
651
- if (!file.endsWith(".json")) continue;
652
- const event = DeliveryEventSchema.parse(
653
- await this.readJsonFile(path.join(dir, file)),
654
- );
655
- events.push(event);
656
- await fs.unlink(path.join(dir, file));
657
- }
658
- // Same fixed timestamp form as readRoomMessages sorts on.
659
- events.sort((a, b) => {
660
- const ta =
661
- a.type === "room_message" || a.type === "dm"
662
- ? a.message.timestamp
663
- : "";
664
- const tb =
665
- b.type === "room_message" || b.type === "dm"
666
- ? b.message.timestamp
667
- : "";
668
- return compareCodeUnits(ta, tb);
669
- });
670
- return events;
662
+ files = await fs.readdir(dir);
671
663
  } catch {
672
664
  return [];
673
665
  }
666
+ const events: DeliveryEvent[] = [];
667
+ for (const file of files) {
668
+ if (!file.endsWith(".json")) continue;
669
+ const filePath = path.join(dir, file);
670
+ let event: DeliveryEvent;
671
+ try {
672
+ event = DeliveryEventSchema.parse(await this.readJsonFile(filePath));
673
+ } catch {
674
+ reportDeliveryFileOnce(
675
+ filePath,
676
+ "is not a readable delivery event; it was left in place",
677
+ );
678
+ continue;
679
+ }
680
+ try {
681
+ await fs.unlink(filePath);
682
+ } catch {
683
+ reportDeliveryFileOnce(
684
+ filePath,
685
+ "could not be removed; its event was not returned",
686
+ );
687
+ continue;
688
+ }
689
+ events.push(event);
690
+ }
691
+ events.sort((a, b) => {
692
+ const ta =
693
+ a.type === "room_message" || a.type === "dm" ? a.message.timestamp : "";
694
+ const tb =
695
+ b.type === "room_message" || b.type === "dm" ? b.message.timestamp : "";
696
+ return compareCodeUnits(ta, tb);
697
+ });
698
+ return events;
674
699
  }
675
700
 
676
701
  private async deliverToMembers(
package/src/core/tool.ts CHANGED
@@ -36,6 +36,7 @@ import type { CommsStore } from "./comms-store.js";
36
36
  import type { CapabilityToken } from "wire-mesh-core/generated/protocol";
37
37
  import type { DiscoveryManager } from "./discovery.js";
38
38
  import { CommsError } from "./store.js";
39
+ import type { LedgerGaps } from "./account-ledger.js";
39
40
  import { getOwnPackageVersion } from "./package-version.js";
40
41
  import { describeDeliveryFor } from "./send-outcome.js";
41
42
  import {
@@ -178,7 +179,8 @@ export interface MeshOnlyFeatures {
178
179
  removeTrustedGatewayMachine?: (deviceHex: string) => void;
179
180
  listTrustedGatewayMachines?: () => string[];
180
181
  /** Withdraws the dm:send grant issued for bearerId. */
181
- revokeAgentDmAccess?: (bearerId: string) => Promise<void>;
182
+ revokeAgentDmAccess?: (bearerId: string) => Promise<LedgerGaps>;
183
+
182
184
  removeTrustedGatewayPrincipal?: (deviceHex: string) => void;
183
185
  listTrustedGatewayPrincipals?: () => string[];
184
186
  /** Devices trusted only because a trusted principal or machine vouches for them (a verified membership proof), with that issuer. */
@@ -248,6 +250,8 @@ export interface CommsToolOptions {
248
250
  readonly naming?: Naming;
249
251
  /** Returns the newest npm release known to be available, or undefined when none is known (no checker wired up, no successful check yet, or this bridge is already current). Wired at bridge construction time by a VersionDriftChecker (see version-check.ts) -- optional so every call site, and every test that has no interest in drift reporting, is unaffected. */
250
252
  readonly getNewerVersionIfAny?: () => string | undefined;
253
+ /** How many stored account ledger entries cannot be read, for whoami; omitted when the store has no account ledger. */
254
+ readonly getUnreadableLedgerEntries?: () => number;
251
255
  /** Fetches a signer's armored PGP public key by fingerprint, used by gateway_redeem_connection_code when the caller supplies a fingerprint but not the key text itself. Defaults to the real keys.openpgp.org lookup (pgp-keyserver.ts); a test that would otherwise trigger real network I/O injects a fake resolver instead, the same reasoning bridge-mesh.ts's own fetchLatestVersion override already establishes for getNewerVersionIfAny above. */
252
256
  readonly fetchPgpPublicKeyByFingerprintImpl?: (
253
257
  fingerprint: string,
@@ -261,6 +265,7 @@ export class CommsTool {
261
265
  private readonly discovery: DiscoveryManager | undefined;
262
266
  private readonly naming: Naming | undefined;
263
267
  private readonly getNewerVersionIfAny: (() => string | undefined) | undefined;
268
+ private readonly getUnreadableLedgerEntries: (() => number) | undefined;
264
269
  private readonly fetchPgpPublicKeyByFingerprintImpl: (
265
270
  fingerprint: string,
266
271
  ) => Promise<string>;
@@ -273,11 +278,13 @@ export class CommsTool {
273
278
  discovery,
274
279
  naming,
275
280
  getNewerVersionIfAny,
281
+ getUnreadableLedgerEntries,
276
282
  fetchPgpPublicKeyByFingerprintImpl = fetchPgpPublicKeyByFingerprint,
277
283
  } = options ?? {};
278
284
  this.discovery = discovery;
279
285
  this.naming = naming;
280
286
  this.getNewerVersionIfAny = getNewerVersionIfAny;
287
+ this.getUnreadableLedgerEntries = getUnreadableLedgerEntries;
281
288
  this.fetchPgpPublicKeyByFingerprintImpl =
282
289
  fetchPgpPublicKeyByFingerprintImpl;
283
290
  }
@@ -456,6 +463,12 @@ export class CommsTool {
456
463
  const lines = [
457
464
  `Updated: name=${agent.name}, visibility=${agent.visibility}, status=${agent.status}, version=${getOwnPackageVersion()}${formatSelfVersionSuffix(this.store.getCcPeerVersion)}`,
458
465
  ];
466
+ const unreadableLedger = this.getUnreadableLedgerEntries?.() ?? 0;
467
+ if (unreadableLedger > 0) {
468
+ lines.push(
469
+ `Account ledger: ${String(unreadableLedger)} unreadable entries; a grant or revocation recorded only in them is not applied here until they are repaired or replaced from another machine's replica`,
470
+ );
471
+ }
459
472
  const updateAvailable = this.formatUpdateAvailableLine();
460
473
  if (updateAvailable !== undefined) lines.push(updateAvailable);
461
474
  return {
package/src/core/types.ts CHANGED
@@ -7,6 +7,7 @@
7
7
  */
8
8
 
9
9
  import { z } from "zod";
10
+ import { isIsoTimestamp } from "./iso-timestamp.js";
10
11
 
11
12
  // ---------------------------------------------------------------------------
12
13
  // Schema-attached type guard helper
@@ -312,11 +313,16 @@ export interface NetworkInterface {
312
313
  // ConnectionCode
313
314
  // ---------------------------------------------------------------------------
314
315
 
315
- /** A single-use, short-lived artifact bootstrapping GatewayTrust between two devices that have never established a mesh connection (agent-comms#188): `code`/`expiresAt` answer freshness/liveness and are always checked; `signature` is an optional detached PGP signature (armored) over `${code}:${expiresAt}:${deviceId}`, checked only when present, never required -- a device with no PGP identity still generates and redeems a bare code. */
316
+ /** An ISO 8601 timestamp (iso-timestamp.ts): text that names no instant is refused where it enters, so it can never be compared against the clock as if it were one. */
317
+ const IsoTimestampSchema = z
318
+ .string()
319
+ .refine(isIsoTimestamp, "must be an ISO 8601 timestamp");
320
+
321
+ /** A single-use, short-lived artifact bootstrapping GatewayTrust between two devices that have never established a mesh connection (agent-comms#188): `code`/`expiresAt` answer freshness/liveness and are always checked, and `expiresAt` must be an ISO 8601 timestamp; `signature` is an optional detached PGP signature (armored) over `${code}:${expiresAt}:${deviceId}`. An unsigned code is a bearer hint, not authentication of whoever issued it: redeeming one trusts whatever device-id it names. A redeemer who supplies a public key or fingerprint to check it against requires a signature, and the code is refused without one. */
316
322
  export const ConnectionCodeSchema = defineSchema(
317
323
  z.object({
318
324
  code: z.string(),
319
- expiresAt: z.string(),
325
+ expiresAt: IsoTimestampSchema,
320
326
  deviceId: z.string(),
321
327
  signature: z.string().optional(),
322
328
  }),
@@ -529,7 +535,7 @@ export const CommsActionSchema = defineSchema(
529
535
  z.object({
530
536
  action: z.literal("gateway_redeem_connection_code"),
531
537
  code: z.string(),
532
- expiresAt: z.string(),
538
+ expiresAt: IsoTimestampSchema,
533
539
  device: z.string(),
534
540
  signature: z.string().optional(),
535
541
  publicKey: z.string().optional(),
@@ -7,6 +7,7 @@
7
7
  import * as fs from "node:fs";
8
8
  import * as path from "node:path";
9
9
  import { resolveDataDir } from "./data-directory.js";
10
+ import { withWriteLockAsync } from "./pid-lock-file.js";
10
11
  import type { AccountContents } from "./account-bundle.js";
11
12
  import { certifyKeyPair } from "./identity.js";
12
13
  import type { PeerIdentity } from "./identity.js";
@@ -105,21 +106,28 @@ function requireStoredUserIdentity(file: string): StoredUserIdentity {
105
106
  }
106
107
 
107
108
  /** This machine's writer nonce for the account ledger, generated and persisted on first use. Two processes racing to create it can each end up with a different one; that is harmless, since each writes its own writer log and the ledger is the union of every writer log the account key recognises. What must never happen is two machines sharing one, which is why it is not part of an exported account. */
108
- export function loadOrCreateLedgerWriterNonce(
109
+ export async function loadOrCreateLedgerWriterNonce(
109
110
  options: Readonly<UserIdentityOptions> | undefined,
110
111
  generate: () => Uint8Array,
111
- ): Uint8Array<ArrayBuffer> {
112
+ ): Promise<Uint8Array<ArrayBuffer>> {
112
113
  const file = userIdentityFile(options);
113
- const stored = requireStoredUserIdentity(file);
114
- if (stored.ledgerWriter !== undefined) {
115
- return Uint8Array.from(Buffer.from(stored.ledgerWriter, "base64"));
114
+ const existing = requireStoredUserIdentity(file).ledgerWriter;
115
+ if (existing !== undefined) {
116
+ return Uint8Array.from(Buffer.from(existing, "base64"));
116
117
  }
117
- const nonce = Uint8Array.from(generate());
118
- writeStoredUserIdentity(file, {
119
- ...stored,
120
- ledgerWriter: Buffer.from(nonce).toString("base64"),
118
+ // Read again under the lock: another process may have stored one meanwhile, and two would each keep its own, forking the writer log.
119
+ return withWriteLockAsync(file, () => {
120
+ const stored = requireStoredUserIdentity(file);
121
+ if (stored.ledgerWriter !== undefined) {
122
+ return Uint8Array.from(Buffer.from(stored.ledgerWriter, "base64"));
123
+ }
124
+ const nonce = Uint8Array.from(generate());
125
+ writeStoredUserIdentity(file, {
126
+ ...stored,
127
+ ledgerWriter: Buffer.from(nonce).toString("base64"),
128
+ });
129
+ return nonce;
121
130
  });
122
- return nonce;
123
131
  }
124
132
 
125
133
  /** One grant a build before the replicated ledger recorded in user-identity.json. */
@@ -172,19 +180,21 @@ function withoutMigrated(
172
180
  }
173
181
 
174
182
  /** Removes exactly the given legacy grants from user-identity.json once they are in the ledger. The file is re-read first, so a grant written meanwhile by an older build still running on this machine stays for the next migration rather than being lost. */
175
- export function clearLegacyIssuedGrants(
183
+ export async function clearLegacyIssuedGrants(
176
184
  options: Readonly<UserIdentityOptions> | undefined,
177
185
  migrated: readonly Readonly<LegacyIssuedGrant>[],
178
- ): void {
186
+ ): Promise<void> {
179
187
  const file = userIdentityFile(options);
180
- const { issuedDeviceGrants, issuedDmGrants, ...rest } =
181
- requireStoredUserIdentity(file);
182
- const device = withoutMigrated(issuedDeviceGrants, "device", migrated);
183
- const dm = withoutMigrated(issuedDmGrants, "dm", migrated);
184
- writeStoredUserIdentity(file, {
185
- ...rest,
186
- ...(device === undefined ? {} : { issuedDeviceGrants: device }),
187
- ...(dm === undefined ? {} : { issuedDmGrants: dm }),
188
+ await withWriteLockAsync(file, () => {
189
+ const { issuedDeviceGrants, issuedDmGrants, ...rest } =
190
+ requireStoredUserIdentity(file);
191
+ const device = withoutMigrated(issuedDeviceGrants, "device", migrated);
192
+ const dm = withoutMigrated(issuedDmGrants, "dm", migrated);
193
+ writeStoredUserIdentity(file, {
194
+ ...rest,
195
+ ...(device === undefined ? {} : { issuedDeviceGrants: device }),
196
+ ...(dm === undefined ? {} : { issuedDmGrants: dm }),
197
+ });
188
198
  });
189
199
  }
190
200
 
@@ -196,15 +206,17 @@ export function loadUserDisplayName(
196
206
  }
197
207
 
198
208
  /** Sets (or, given undefined, clears) the name this account asserts for itself, keeping the key material and every other field. Throws if the account has not been created yet. */
199
- export function saveUserDisplayName(
209
+ export async function saveUserDisplayName(
200
210
  options: Readonly<UserIdentityOptions> | undefined,
201
211
  displayName: string | undefined,
202
- ): void {
212
+ ): Promise<void> {
203
213
  const file = userIdentityFile(options);
204
- const next: StoredUserIdentity = { ...requireStoredUserIdentity(file) };
205
- if (displayName === undefined) delete next.displayName;
206
- else next.displayName = displayName;
207
- writeStoredUserIdentity(file, next);
214
+ await withWriteLockAsync(file, () => {
215
+ const next: StoredUserIdentity = { ...requireStoredUserIdentity(file) };
216
+ if (displayName === undefined) delete next.displayName;
217
+ else next.displayName = displayName;
218
+ writeStoredUserIdentity(file, next);
219
+ });
208
220
  }
209
221
 
210
222
  /** What an export or a join carries of the account: its PEM private key and the name it asserts for itself, if any. Throws if the principal has never been created. */
@@ -250,10 +262,10 @@ function setAside(
250
262
  /**
251
263
  * Makes this machine hold the account whose contents are given, the deliberate copy that lets one principal span machines. The key is re-certified here (the device-id, which is the account's identity, depends only on the key). The name the account asserts for itself comes with it; an import carrying none leaves the name of the account already held untouched. This machine's own ledger writer nonce is kept, since it belongs to the machine, not the account. A different account already held here is moved aside to replacedUserIdentityFile first, never overwritten (see setAside for a record already set aside there); importing the account already held changes nothing but that name. Returns the imported identity and, when one was replaced, where the old record now is.
252
264
  */
253
- export function importAccountKey(
265
+ export async function importAccountKey(
254
266
  options: Readonly<UserIdentityOptions> | undefined,
255
267
  contents: Readonly<AccountContents>,
256
- ): { identity: PeerIdentity; replacedFile?: string } {
268
+ ): Promise<{ identity: PeerIdentity; replacedFile?: string }> {
257
269
  const file = userIdentityFile(options);
258
270
  fs.mkdirSync(path.dirname(file), { recursive: true, mode: 0o700 });
259
271
  const imported = certifyKeyPair(contents.privateKey);
@@ -263,28 +275,30 @@ export function importAccountKey(
263
275
  ? {}
264
276
  : { displayName: contents.displayName }),
265
277
  });
266
- const existing = readStoredUserIdentity(file);
267
- if (existing === undefined) {
268
- writeStoredUserIdentity(file, named(issuerKeyRecord(imported)));
269
- return { identity: imported };
270
- }
271
- const current = issuerPeerIdentity(existing);
272
- if (Buffer.from(current.deviceId).equals(Buffer.from(imported.deviceId))) {
273
- if (contents.displayName !== undefined) {
274
- writeStoredUserIdentity(file, named(existing));
278
+ return withWriteLockAsync(file, () => {
279
+ const existing = readStoredUserIdentity(file);
280
+ if (existing === undefined) {
281
+ writeStoredUserIdentity(file, named(issuerKeyRecord(imported)));
282
+ return { identity: imported };
275
283
  }
276
- return { identity: current };
277
- }
278
- const replacedFile = replacedUserIdentityFile(options, current);
279
- setAside(replacedFile, existing, file);
280
- writeStoredUserIdentity(
281
- file,
282
- named({
283
- ...issuerKeyRecord(imported),
284
- ...(existing.ledgerWriter === undefined
285
- ? {}
286
- : { ledgerWriter: existing.ledgerWriter }),
287
- }),
288
- );
289
- return { identity: imported, replacedFile };
284
+ const current = issuerPeerIdentity(existing);
285
+ if (Buffer.from(current.deviceId).equals(Buffer.from(imported.deviceId))) {
286
+ if (contents.displayName !== undefined) {
287
+ writeStoredUserIdentity(file, named(existing));
288
+ }
289
+ return { identity: current };
290
+ }
291
+ const replacedFile = replacedUserIdentityFile(options, current);
292
+ setAside(replacedFile, existing, file);
293
+ writeStoredUserIdentity(
294
+ file,
295
+ named({
296
+ ...issuerKeyRecord(imported),
297
+ ...(existing.ledgerWriter === undefined
298
+ ? {}
299
+ : { ledgerWriter: existing.ledgerWriter }),
300
+ }),
301
+ );
302
+ return { identity: imported, replacedFile };
303
+ });
290
304
  }
@@ -1,18 +0,0 @@
1
- /**
2
- * Boot logic helpers, extracted from main.tsx for testability.
3
- *
4
- * Determines whether the app should connect to a mesh on load: when a bridge served the page, or when the user has connected before.
5
- */
6
- /**
7
- * Check whether the user has previously connected to a mesh.
8
- * Reads the "agent-comms-connected" flag from the given storage.
9
- */
10
- export declare function hasConnectedBefore(storage: Storage): boolean;
11
- /**
12
- * Whether to connect on load without waiting for the user. A page served by a bridge dials its own origin, which cannot raise Chrome's local-access prompt, so it connects at once; a standalone deployment connects on load only for a user who has connected before, and otherwise shows a connect prompt.
13
- */
14
- export declare function shouldAutoConnect(location: {
15
- readonly host: string;
16
- readonly protocol: string;
17
- }, storage: Storage): boolean;
18
- //# sourceMappingURL=boot-logic.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"boot-logic.d.ts","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/boot-logic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAC9D,OAAO,EAAE,OAAO,GACf,OAAO,CAET"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Boot logic helpers, extracted from main.tsx for testability.
3
- *
4
- * Determines whether the app should connect to a mesh on load: when a bridge served the page, or when the user has connected before.
5
- */
6
- import { isServedByBridge } from "./served-by-bridge.js";
7
- /**
8
- * Check whether the user has previously connected to a mesh.
9
- * Reads the "agent-comms-connected" flag from the given storage.
10
- */
11
- export function hasConnectedBefore(storage) {
12
- return storage.getItem("agent-comms-connected") === "true";
13
- }
14
- /**
15
- * Whether to connect on load without waiting for the user. A page served by a bridge dials its own origin, which cannot raise Chrome's local-access prompt, so it connects at once; a standalone deployment connects on load only for a user who has connected before, and otherwise shows a connect prompt.
16
- */
17
- export function shouldAutoConnect(location, storage) {
18
- return isServedByBridge(location) || hasConnectedBefore(storage);
19
- }
20
- //# sourceMappingURL=boot-logic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"boot-logic.js","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/boot-logic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,OAAO,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,KAAK,MAAM,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAA8D,EAC9D,OAAgB;IAEhB,OAAO,gBAAgB,CAAC,QAAQ,CAAC,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACnE,CAAC"}
@@ -1,26 +0,0 @@
1
- /**
2
- * App — root React component.
3
- *
4
- * Renders sidebar + chat area inside an AppShell. Receives state and action callbacks from the imperative shell in main.tsx.
5
- */
6
- import type { Agent, DisplayMessage, Room } from "../types.js";
7
- import type { MeshClient } from "../mesh-client.js";
8
- export interface AppProps {
9
- rooms: readonly Room[];
10
- agents: readonly Agent[];
11
- currentRoom: string | undefined;
12
- dmTarget: string | undefined;
13
- messages: readonly DisplayMessage[];
14
- connected: boolean;
15
- queryUtils: MeshClient["queryUtils"];
16
- onJoinRoom: (roomId: string) => void;
17
- onSelectAgent: (agentId: string) => void;
18
- onRenameAgent: (agentId: string, newName: string) => void;
19
- onLeaveRoom: () => void;
20
- onSendAction: (text: string) => void;
21
- onCreateRoom: (name: string, type: "public" | "private" | "secret", description: string) => void;
22
- onJoinRoomInput: (roomName: string) => void;
23
- onConnectToMesh: () => void;
24
- }
25
- export declare function App(props: AppProps): import("react").JSX.Element;
26
- //# sourceMappingURL=App.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../../../../src/bridges/user/web/frontend/components/App.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAOpD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IACvB,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IACrC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,CACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,EACrC,WAAW,EAAE,MAAM,KAChB,IAAI,CAAC;IACV,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,+BAuDlC"}
@@ -1,25 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * App — root React component.
4
- *
5
- * Renders sidebar + chat area inside an AppShell. Receives state and action callbacks from the imperative shell in main.tsx.
6
- */
7
- import { AppShell, SegmentedControl } from "@mantine/core";
8
- import { useDisclosure } from "@mantine/hooks";
9
- import { useState } from "react";
10
- import { ChatArea } from "./ChatArea.js";
11
- import { MeshPanel } from "./MeshPanel.js";
12
- import { Sidebar } from "./Sidebar.js";
13
- export function App(props) {
14
- const [navOpened, { toggle: toggleNav }] = useDisclosure(true);
15
- const [mainView, setMainView] = useState("chat");
16
- return (_jsxs(AppShell, { navbar: {
17
- width: 260,
18
- breakpoint: "sm",
19
- collapsed: { desktop: !navOpened, mobile: !navOpened },
20
- }, children: [_jsxs(AppShell.Navbar, { children: [_jsx(Sidebar, { rooms: props.rooms, agents: props.agents, currentRoom: props.currentRoom, onJoinRoom: props.onJoinRoom, onSelectAgent: props.onSelectAgent, onRenameAgent: props.onRenameAgent, onCreateRoom: props.onCreateRoom, onJoinRoomInput: props.onJoinRoomInput }), _jsx(SegmentedControl, { m: "xs", size: "xs", fullWidth: true, value: mainView, onChange: setMainView, data: [
21
- { label: "Chat", value: "chat" },
22
- { label: "Mesh", value: "mesh" },
23
- ] })] }), _jsx(AppShell.Main, { h: "100vh", children: mainView === "chat" ? (_jsx(ChatArea, { messages: props.messages, rooms: props.rooms, currentRoom: props.currentRoom, dmTarget: props.dmTarget, connected: props.connected, sidebarOpened: navOpened, onToggleSidebar: toggleNav, onSendAction: props.onSendAction, onLeaveRoom: props.onLeaveRoom, onConnectToMesh: props.onConnectToMesh })) : (_jsx(MeshPanel, { queryUtils: props.queryUtils })) })] }));
24
- }
25
- //# sourceMappingURL=App.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../../../../src/bridges/user/web/frontend/components/App.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AA0BvC,MAAM,UAAU,GAAG,CAAC,KAAe;IACjC,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAW,MAAM,CAAC,CAAC;IAE3D,OAAO,CACL,MAAC,QAAQ,IACP,MAAM,EAAE;YACN,KAAK,EAAE,GAAG;YACV,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE;SACvD,aAED,MAAC,QAAQ,CAAC,MAAM,eACd,KAAC,OAAO,IACN,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,eAAe,EAAE,KAAK,CAAC,eAAe,GACtC,EACF,KAAC,gBAAgB,IACf,CAAC,EAAC,IAAI,EACN,IAAI,EAAC,IAAI,EACT,SAAS,QACT,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,WAAW,EACrB,IAAI,EAAE;4BACJ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;4BAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;yBACjC,GACD,IACc,EAClB,KAAC,QAAQ,CAAC,IAAI,IAAC,CAAC,EAAC,OAAO,YACrB,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,CACrB,KAAC,QAAQ,IACP,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,aAAa,EAAE,SAAS,EACxB,eAAe,EAAE,SAAS,EAC1B,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,eAAe,EAAE,KAAK,CAAC,eAAe,GACtC,CACH,CAAC,CAAC,CAAC,CACF,KAAC,SAAS,IAAC,UAAU,EAAE,KAAK,CAAC,UAAU,GAAI,CAC5C,GACa,IACP,CACZ,CAAC;AACJ,CAAC"}
@@ -1,19 +0,0 @@
1
- /**
2
- * ChatArea — main chat panel with header, messages, and input.
3
- */
4
- import type { DisplayMessage, Room } from "../types.js";
5
- interface ChatAreaProps {
6
- messages: readonly DisplayMessage[];
7
- rooms: readonly Room[];
8
- currentRoom: string | undefined;
9
- dmTarget: string | undefined;
10
- connected: boolean;
11
- sidebarOpened: boolean;
12
- onToggleSidebar: () => void;
13
- onSendAction: (text: string) => void;
14
- onLeaveRoom: () => void;
15
- onConnectToMesh: () => void;
16
- }
17
- export declare function ChatArea({ messages, rooms, currentRoom, dmTarget, connected, sidebarOpened, onToggleSidebar, onSendAction, onLeaveRoom, onConnectToMesh, }: ChatAreaProps): import("react").JSX.Element;
18
- export {};
19
- //# sourceMappingURL=ChatArea.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatArea.d.ts","sourceRoot":"","sources":["../../../../../../src/bridges/user/web/frontend/components/ChatArea.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAIxD,UAAU,aAAa;IACrB,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IACpC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,KAAK,EACL,WAAW,EACX,QAAQ,EACR,SAAS,EACT,aAAa,EACb,eAAe,EACf,YAAY,EACZ,WAAW,EACX,eAAe,GAChB,EAAE,aAAa,+BAuEf"}
@@ -1,32 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * ChatArea — main chat panel with header, messages, and input.
4
- */
5
- import { Burger, Button, Group, Stack, Text } from "@mantine/core";
6
- import { SubmitRow } from "web-ui-primitives";
7
- import { parseInput } from "../input.js";
8
- import { MessageList } from "./MessageList.js";
9
- export function ChatArea({ messages, rooms, currentRoom, dmTarget, connected, sidebarOpened, onToggleSidebar, onSendAction, onLeaveRoom, onConnectToMesh, }) {
10
- // currentRoom is the room's real owner-qualified id (`<owner-hex>/<local-name>`), not something meant for display -- resolve it back to the plain name the room was created with, the same name the sidebar list already shows, rather than surfacing the internal id verbatim.
11
- const currentRoomName = currentRoom === undefined
12
- ? undefined
13
- : (rooms.find((room) => room.id === currentRoom)?.name ?? currentRoom);
14
- const headerText = currentRoomName ??
15
- (dmTarget !== undefined ? `DM with ${dmTarget}` : "Select a room");
16
- const handleSend = (trimmed) => {
17
- const result = parseInput(trimmed, currentRoom, dmTarget);
18
- switch (result.kind) {
19
- case "action":
20
- onSendAction(trimmed);
21
- break;
22
- case "local":
23
- // Local commands are handled by adding a system message
24
- onSendAction(trimmed);
25
- break;
26
- case "ignored":
27
- break;
28
- }
29
- };
30
- return (_jsxs(Stack, { h: "100%", gap: 0, children: [_jsxs(Group, { component: "header", justify: "space-between", px: "md", py: "sm", bg: "dark.6", children: [_jsxs(Group, { gap: "sm", children: [_jsx(Burger, { opened: sidebarOpened, onClick: onToggleSidebar, size: "sm", "aria-label": "Toggle sidebar" }), _jsx(Text, { fw: 600, children: headerText })] }), currentRoom !== undefined && (_jsx(Button, { size: "xs", variant: "subtle", onClick: onLeaveRoom, children: "Leave" }))] }), _jsx(MessageList, { messages: messages }), !connected && messages.length === 0 && (_jsxs(Stack, { align: "center", justify: "center", gap: "md", p: "xl", children: [_jsx(Text, { c: "dimmed", children: "Connect to a local mesh to discover agents and rooms." }), _jsx(Button, { variant: "outline", onClick: onConnectToMesh, children: "Connect to local mesh" })] })), _jsx(Group, { px: "md", py: "sm", bg: "dark.6", children: _jsx(SubmitRow, { ariaLabel: "Message", placeholder: "Type a message or /command...", submitLabel: "Send", onSubmit: handleSend }) })] }));
31
- }
32
- //# sourceMappingURL=ChatArea.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatArea.js","sourceRoot":"","sources":["../../../../../../src/bridges/user/web/frontend/components/ChatArea.tsx"],"names":[],"mappings":";AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAe/C,MAAM,UAAU,QAAQ,CAAC,EACvB,QAAQ,EACR,KAAK,EACL,WAAW,EACX,QAAQ,EACR,SAAS,EACT,aAAa,EACb,eAAe,EACf,YAAY,EACZ,WAAW,EACX,eAAe,GACD;IACd,gRAAgR;IAChR,MAAM,eAAe,GACnB,WAAW,KAAK,SAAS;QACvB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,IAAI,IAAI,WAAW,CAAC,CAAC;IAE3E,MAAM,UAAU,GACd,eAAe;QACf,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,QAAQ,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IAErE,MAAM,UAAU,GAAG,CAAC,OAAe,EAAQ,EAAE;QAC3C,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC1D,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,QAAQ;gBACX,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,MAAM;YACR,KAAK,OAAO;gBACV,wDAAwD;gBACxD,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,MAAM;YACR,KAAK,SAAS;gBACZ,MAAM;QACV,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,KAAK,IAAC,CAAC,EAAC,MAAM,EAAC,GAAG,EAAE,CAAC,aACpB,MAAC,KAAK,IACJ,SAAS,EAAC,QAAQ,EAClB,OAAO,EAAC,eAAe,EACvB,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,QAAQ,aAEX,MAAC,KAAK,IAAC,GAAG,EAAC,IAAI,aACb,KAAC,MAAM,IACL,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,eAAe,EACxB,IAAI,EAAC,IAAI,gBACE,gBAAgB,GAC3B,EACF,KAAC,IAAI,IAAC,EAAE,EAAE,GAAG,YAAG,UAAU,GAAQ,IAC5B,EACP,WAAW,KAAK,SAAS,IAAI,CAC5B,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,QAAQ,EAAC,OAAO,EAAE,WAAW,sBAE9C,CACV,IACK,EACR,KAAC,WAAW,IAAC,QAAQ,EAAE,QAAQ,GAAI,EAClC,CAAC,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CACtC,MAAC,KAAK,IAAC,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,QAAQ,EAAC,GAAG,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,aACpD,KAAC,IAAI,IAAC,CAAC,EAAC,QAAQ,sEAET,EACP,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,eAAe,sCAEzC,IACH,CACT,EACD,KAAC,KAAK,IAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,QAAQ,YAChC,KAAC,SAAS,IACR,SAAS,EAAC,SAAS,EACnB,WAAW,EAAC,+BAA+B,EAC3C,WAAW,EAAC,MAAM,EAClB,QAAQ,EAAE,UAAU,GACpB,GACI,IACF,CACT,CAAC;AACJ,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * CreateRoomForm — inline form for creating a new room.
3
- */
4
- interface CreateRoomFormProps {
5
- visible: boolean;
6
- onSubmit: (name: string, type: "public" | "private" | "secret", description: string) => void;
7
- onCancel: () => void;
8
- }
9
- export declare function CreateRoomForm({ visible, onSubmit, onCancel, }: CreateRoomFormProps): import("react").JSX.Element | null;
10
- export {};
11
- //# sourceMappingURL=CreateRoomForm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CreateRoomForm.d.ts","sourceRoot":"","sources":["../../../../../../src/bridges/user/web/frontend/components/CreateRoomForm.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAKH,UAAU,mBAAmB;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,CACR,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,EACrC,WAAW,EAAE,MAAM,KAChB,IAAI,CAAC;IACV,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAcD,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,QAAQ,EACR,QAAQ,GACT,EAAE,mBAAmB,sCAsErB"}
@@ -1,39 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * CreateRoomForm — inline form for creating a new room.
4
- */
5
- import { Button, Group, Select, Stack, TextInput } from "@mantine/core";
6
- import { useState } from "react";
7
- const ROOM_TYPE_OPTIONS = [
8
- { value: "public", label: "Public" },
9
- { value: "private", label: "Private" },
10
- { value: "secret", label: "Secret" },
11
- ];
12
- function isRoomType(value) {
13
- return value === "public" || value === "private" || value === "secret";
14
- }
15
- export function CreateRoomForm({ visible, onSubmit, onCancel, }) {
16
- const [name, setName] = useState("");
17
- const [roomType, setRoomType] = useState("public");
18
- const [description, setDescription] = useState("");
19
- if (!visible)
20
- return null;
21
- const handleSubmit = (e) => {
22
- e.preventDefault();
23
- if (!name.trim())
24
- return;
25
- onSubmit(name.trim(), roomType, description.trim());
26
- setName("");
27
- setRoomType("public");
28
- setDescription("");
29
- };
30
- return (_jsx("form", { onSubmit: handleSubmit, children: _jsxs(Stack, { gap: "xs", p: "xs", children: [_jsx(TextInput, { label: "Room name", name: "room-name", required: true, placeholder: "e.g. project-alpha", size: "xs", value: name, onChange: (e) => {
31
- setName(e.target.value);
32
- } }), _jsx(Select, { label: "Type", name: "room-type", size: "xs", data: ROOM_TYPE_OPTIONS, value: roomType, allowDeselect: false, onChange: (value) => {
33
- if (isRoomType(value))
34
- setRoomType(value);
35
- } }), _jsx(TextInput, { label: "Description (optional)", name: "room-description", placeholder: "What is this room about?", size: "xs", value: description, onChange: (e) => {
36
- setDescription(e.target.value);
37
- } }), _jsxs(Group, { gap: "xs", children: [_jsx(Button, { type: "submit", size: "xs", flex: 1, children: "Create" }), _jsx(Button, { type: "button", size: "xs", flex: 1, variant: "default", onClick: onCancel, children: "Cancel" })] })] }) }));
38
- }
39
- //# sourceMappingURL=CreateRoomForm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CreateRoomForm.js","sourceRoot":"","sources":["../../../../../../src/bridges/user/web/frontend/components/CreateRoomForm.tsx"],"names":[],"mappings":";AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAYjC,MAAM,iBAAiB,GAAG;IACxB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IACtC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;CACrC,CAAC;AAEF,SAAS,UAAU,CACjB,KAAoB;IAEpB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,QAAQ,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAC7B,OAAO,EACP,QAAQ,EACR,QAAQ,GACY;IACpB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CACtC,QAAQ,CACT,CAAC;IACF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEnD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,YAAY,GAAG,CAAC,CAAqC,EAAE,EAAE;QAC7D,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO;QACzB,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,EAAE,CAAC,CAAC;QACZ,WAAW,CAAC,QAAQ,CAAC,CAAC;QACtB,cAAc,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,OAAO,CACL,eAAM,QAAQ,EAAE,YAAY,YAC1B,MAAC,KAAK,IAAC,GAAG,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,aACpB,KAAC,SAAS,IACR,KAAK,EAAC,WAAW,EACjB,IAAI,EAAC,WAAW,EAChB,QAAQ,QACR,WAAW,EAAC,oBAAoB,EAChC,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;wBACd,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC1B,CAAC,GACD,EACF,KAAC,MAAM,IACL,KAAK,EAAC,MAAM,EACZ,IAAI,EAAC,WAAW,EAChB,IAAI,EAAC,IAAI,EACT,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,QAAQ,EACf,aAAa,EAAE,KAAK,EACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;wBAClB,IAAI,UAAU,CAAC,KAAK,CAAC;4BAAE,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC5C,CAAC,GACD,EACF,KAAC,SAAS,IACR,KAAK,EAAC,wBAAwB,EAC9B,IAAI,EAAC,kBAAkB,EACvB,WAAW,EAAC,0BAA0B,EACtC,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;wBACd,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACjC,CAAC,GACD,EACF,MAAC,KAAK,IAAC,GAAG,EAAC,IAAI,aACb,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAE,CAAC,uBAE9B,EACT,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,IAAI,EACT,IAAI,EAAE,CAAC,EACP,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,QAAQ,uBAGV,IACH,IACF,GACH,CACR,CAAC;AACJ,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * JoinForm — inline form for joining a room by name.
3
- */
4
- interface JoinFormProps {
5
- visible: boolean;
6
- onSubmit: (roomName: string) => void;
7
- onCancel: () => void;
8
- }
9
- export declare function JoinForm({ visible, onSubmit, onCancel }: JoinFormProps): import("react").JSX.Element | null;
10
- export {};
11
- //# sourceMappingURL=JoinForm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"JoinForm.d.ts","sourceRoot":"","sources":["../../../../../../src/bridges/user/web/frontend/components/JoinForm.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAKH,UAAU,aAAa;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,aAAa,sCAetE"}