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
@@ -1,218 +0,0 @@
1
- /**
2
- * Integration tests for every store being its own peer on the relay hub (agent-comms#293), the cross-machine leg of the mesh epic (#153). Two independent local meshes ("machine A" and "machine B") on a shared real relay hub (createRelayHub, the same domain logic the production mesh.exadev.io Durable Object runs, served over local WebSockets via hub-helpers.ts): neither mesh is ever directly connected to the other, so anything either side learns about the other arrived via the hub.
3
- *
4
- * Machine A has a coordinator (a1) and an ordinary local peer (a2). The point of the tests is that a2, which is not the coordinator, is reachable and can reach out with its own identity, exactly as a1 is: no store depends on the coordinator to speak to another machine.
5
- *
6
- * Trust is deny-all by default (agent-comms#156), so every test trusts the specific device ids it needs. See gateway-trust.integration.test.ts for the deny-by-default behaviour itself.
7
- */
8
- import { afterEach, describe, expect, it } from "vitest";
9
- import { detailsShared } from "../core/agent-registry.js";
10
- import { buildAction } from "../core/bridge.js";
11
- import { MeshStore } from "../core/mesh-store.js";
12
- import { CommsTool } from "../core/tool.js";
13
- import { dmRoomPath } from "../core/room-path.js";
14
- import { freeLocalPort, realHubOverWs, TeardownStack } from "./hub-helpers.js";
15
- import { wireTestTransport } from "./test-transport.js";
16
- /** Short enough that a gossip re-advertisement (which carries the registerAgent'd agent/self extension) fires within a test's own poll budget, unlike the 20s production default. */
17
- const FAST_GOSSIP_INTERVAL_MS = 50;
18
- const POLL_ATTEMPTS = 100;
19
- const POLL_INTERVAL_MS = 50;
20
- const sleep = async (ms) => new Promise((resolve) => {
21
- setTimeout(resolve, ms);
22
- });
23
- /** Polls an async predicate until it holds, matching broadcast-window.integration.test.ts's own established pattern for this -- the shared test-transport.ts waitFor takes a synchronous condition, which can't await a MeshStore's own async listAgents/serialise-derived checks. */
24
- async function waitFor(what, check) {
25
- for (let i = 0; i < POLL_ATTEMPTS; i++) {
26
- if (await check())
27
- return;
28
- await sleep(POLL_INTERVAL_MS);
29
- }
30
- expect(false, `timed out waiting for ${what}`).toBeTruthy();
31
- }
32
- const cleanups = new TeardownStack();
33
- afterEach(async () => {
34
- await cleanups.run();
35
- });
36
- /** Starts one store on the local mesh at coordinatorPort, dialling hubUrl itself, and registers a visible agent for it unless told otherwise. */
37
- async function startStore(options) {
38
- const { coordinatorPort, hubUrl, name, visibility = "visible" } = options;
39
- const store = new MeshStore({ coordinatorPort, hubUrl });
40
- await wireTestTransport(store, {
41
- presenceReadvertiseIntervalMs: FAST_GOSSIP_INTERVAL_MS,
42
- });
43
- await store.init();
44
- cleanups.push(async () => store.shutdown());
45
- await store.registerAgent({
46
- name,
47
- harness: "test",
48
- cwd: `/test/${name}`,
49
- pid: process.pid,
50
- visibility,
51
- tags: [name],
52
- });
53
- return store;
54
- }
55
- describe("every store is its own hub peer", () => {
56
- it("discovers a store that is not its machine's coordinator from another machine, by name and harness but not by where it runs", async () => {
57
- const hub = await realHubOverWs();
58
- cleanups.push(hub.close);
59
- const a1 = await startStore({
60
- coordinatorPort: await freeLocalPort(),
61
- hubUrl: hub.url,
62
- name: "a1",
63
- });
64
- const a2 = await startStore({
65
- coordinatorPort: a1.coordinatorPort,
66
- hubUrl: hub.url,
67
- name: "a2",
68
- });
69
- const b1 = await startStore({
70
- coordinatorPort: await freeLocalPort(),
71
- hubUrl: hub.url,
72
- name: "b1",
73
- });
74
- a2.addTrustedGateway(b1.peerId);
75
- b1.addTrustedGateway(a2.peerId);
76
- await waitFor("b1 to learn of a2 via the hub", async () => {
77
- const agents = await b1.listAgents(b1.peerId);
78
- return agents.some((agent) => agent.id === a2.peerId);
79
- });
80
- const discovered = (await b1.listAgents(b1.peerId)).find((agent) => agent.id === a2.peerId);
81
- expect(discovered).toMatchObject({
82
- id: a2.peerId,
83
- name: "a2",
84
- harness: "test",
85
- visibility: "visible",
86
- });
87
- // What reached b1 travelled through a hub, so the agent's working directory, process id, tags and rooms were never sent.
88
- expect(discovered).toMatchObject({ cwd: "", pid: 0, tags: [] });
89
- expect(discovered !== undefined && detailsShared(discovered)).toBe(false);
90
- const listing = await new CommsTool(b1).handle({
91
- agentId: b1.peerId,
92
- harness: "test",
93
- cwd: "/test/b1",
94
- pid: process.pid,
95
- }, buildAction({ action: "list_agents" }));
96
- expect(listing.content).toContain("(not shared)");
97
- expect(listing.content).not.toContain("/test/a2");
98
- });
99
- it("lets a store that is not its machine's coordinator see a remote agent", async () => {
100
- const hub = await realHubOverWs();
101
- cleanups.push(hub.close);
102
- const a1 = await startStore({
103
- coordinatorPort: await freeLocalPort(),
104
- hubUrl: hub.url,
105
- name: "a1",
106
- });
107
- const a2 = await startStore({
108
- coordinatorPort: a1.coordinatorPort,
109
- hubUrl: hub.url,
110
- name: "a2",
111
- });
112
- const b1 = await startStore({
113
- coordinatorPort: await freeLocalPort(),
114
- hubUrl: hub.url,
115
- name: "b1",
116
- });
117
- a2.addTrustedGateway(b1.peerId);
118
- b1.addTrustedGateway(a2.peerId);
119
- await waitFor("a2 to learn of b1 via the hub", async () => {
120
- const agents = await a2.listAgents(a2.peerId);
121
- return agents.some((agent) => agent.id === b1.peerId);
122
- });
123
- });
124
- it("never advertises a hidden or ghost agent across the hub", async () => {
125
- const hub = await realHubOverWs();
126
- cleanups.push(hub.close);
127
- const a1 = await startStore({
128
- coordinatorPort: await freeLocalPort(),
129
- hubUrl: hub.url,
130
- name: "a1",
131
- });
132
- const aHidden = await startStore({
133
- coordinatorPort: a1.coordinatorPort,
134
- hubUrl: hub.url,
135
- name: "hidden-peer",
136
- visibility: "hidden",
137
- });
138
- const aGhost = await startStore({
139
- coordinatorPort: a1.coordinatorPort,
140
- hubUrl: hub.url,
141
- name: "ghost-peer",
142
- visibility: "ghost",
143
- });
144
- // A visible control peer registered after the hidden and ghost ones: its arrival on b1's side proves gossip had time to propagate, ruling out "nothing arrived at all" as a false-negative explanation.
145
- const aVisible = await startStore({
146
- coordinatorPort: a1.coordinatorPort,
147
- hubUrl: hub.url,
148
- name: "visible-peer",
149
- });
150
- const b1 = await startStore({
151
- coordinatorPort: await freeLocalPort(),
152
- hubUrl: hub.url,
153
- name: "b1",
154
- });
155
- // Every store trusts b1 and b1 trusts every one of them, so trust is never the reason a hidden or ghost agent fails to appear.
156
- for (const store of [a1, aHidden, aGhost, aVisible]) {
157
- store.addTrustedGateway(b1.peerId);
158
- b1.addTrustedGateway(store.peerId);
159
- }
160
- await waitFor("b1 to see the visible control peer, proving gossip had time to propagate", async () => {
161
- const agents = await b1.listAgents(b1.peerId);
162
- return agents.some((agent) => agent.id === aVisible.peerId);
163
- });
164
- const agents = await b1.listAgents(b1.peerId);
165
- expect(agents.some((agent) => agent.id === aHidden.peerId)).toBe(false);
166
- expect(agents.some((agent) => agent.id === aGhost.peerId)).toBe(false);
167
- });
168
- it("delivers a direct message from a store that is not its machine's coordinator, attributed to that store's own agent", async () => {
169
- const hub = await realHubOverWs();
170
- cleanups.push(hub.close);
171
- const a1 = await startStore({
172
- coordinatorPort: await freeLocalPort(),
173
- hubUrl: hub.url,
174
- name: "a1",
175
- });
176
- const a2 = await startStore({
177
- coordinatorPort: a1.coordinatorPort,
178
- hubUrl: hub.url,
179
- name: "a2",
180
- });
181
- const b1 = await startStore({
182
- coordinatorPort: await freeLocalPort(),
183
- hubUrl: hub.url,
184
- name: "b1",
185
- });
186
- // Mutual trust: b1 must trust a2 to accept a2's request, and a2 must trust b1 to route to it at all.
187
- a2.addTrustedGateway(b1.peerId);
188
- b1.addTrustedGateway(a2.peerId);
189
- await waitFor("a2 to learn of b1 via the hub", async () => {
190
- const agents = await a2.listAgents(a2.peerId);
191
- return agents.some((agent) => agent.id === b1.peerId);
192
- });
193
- // Two-round DM consent, exactly like the local-mesh-only dm-admission.integration.test.ts.
194
- const dmPath = dmRoomPath(a2.peerId, b1.peerId);
195
- const requestPromise = a2.requestDmAccess(b1.peerId);
196
- await waitFor("b1 to see a2's pending DM request via the hub", async () => {
197
- await Promise.resolve();
198
- return b1.listPendingRoomJoins().length === 1;
199
- });
200
- const [pending] = b1.listPendingRoomJoins();
201
- expect(pending?.roomPath).toBe(dmPath);
202
- expect(pending?.requesterId).toBe(a2.peerId);
203
- b1.acceptRoomJoin(dmPath, a2.peerId);
204
- await requestPromise;
205
- const message = await a2.sendDm(a2.peerId, b1.peerId, "hello from a2");
206
- await waitFor("b1 to receive the DM via the hub", async () => {
207
- const b1Dms = b1.serialise().dms[dmPath] ?? [];
208
- return b1Dms.some((m) => m.id === message.message.id);
209
- });
210
- const delivered = (b1.serialise().dms[dmPath] ?? []).find((m) => m.id === message.message.id);
211
- expect(delivered).toMatchObject({
212
- from: a2.peerId,
213
- to: b1.peerId,
214
- content: "hello from a2",
215
- });
216
- });
217
- });
218
- //# sourceMappingURL=hub-peer-per-store.integration.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hub-peer-per-store.integration.test.js","sourceRoot":"","sources":["../../src/test/hub-peer-per-store.integration.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * End-to-end proof of agent-comms#192 over a real wire-mesh relay hub (the same domain logic the production mesh.exadev.io Durable Object runs, served over local WebSockets via hub-helpers.ts): a real room.join from a device the receiving gateway's own GatewayTrust does NOT trust reaches the deliberate human-approval flow instead of being rejected outright by the coarse bare-device gateway allowlist. Under the pre-#192 code, the owner's own consume() would answer this request with an immediate unauthorized outcome, and owner.listPendingRoomJoins() would never show it at all.
3
- *
4
- * Only a hub connection between owner and requester is ever established, deliberately never a direct local peer connection: hub mode carries no legacy full-state-sync (room-join-admission.test.ts's own header comment explains why that path makes "a room I've never heard of" untestable over an ordinary two-peer local mesh), so this is the one topology where the requester genuinely has never heard of the owner's room before sending a real wire-level room.join for it.
5
- */
6
- export {};
7
- //# sourceMappingURL=hub-room-domain-verb-trust-bypass.integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hub-room-domain-verb-trust-bypass.integration.test.d.ts","sourceRoot":"","sources":["../../src/test/hub-room-domain-verb-trust-bypass.integration.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -1,93 +0,0 @@
1
- /**
2
- * End-to-end proof of agent-comms#192 over a real wire-mesh relay hub (the same domain logic the production mesh.exadev.io Durable Object runs, served over local WebSockets via hub-helpers.ts): a real room.join from a device the receiving gateway's own GatewayTrust does NOT trust reaches the deliberate human-approval flow instead of being rejected outright by the coarse bare-device gateway allowlist. Under the pre-#192 code, the owner's own consume() would answer this request with an immediate unauthorized outcome, and owner.listPendingRoomJoins() would never show it at all.
3
- *
4
- * Only a hub connection between owner and requester is ever established, deliberately never a direct local peer connection: hub mode carries no legacy full-state-sync (room-join-admission.test.ts's own header comment explains why that path makes "a room I've never heard of" untestable over an ordinary two-peer local mesh), so this is the one topology where the requester genuinely has never heard of the owner's room before sending a real wire-level room.join for it.
5
- */
6
- import { afterEach, describe, expect, it } from "vitest";
7
- import { MeshStore } from "../core/mesh-store.js";
8
- import { wireTestTransportWithHub } from "./test-transport.js";
9
- import { realHubOverWs, TeardownStack, waitForCondition, } from "./hub-helpers.js";
10
- const cleanups = new TeardownStack();
11
- afterEach(async () => {
12
- await cleanups.run();
13
- });
14
- /** Wires up an owner and a requester MeshStore, each connected to the same real hub, with the requester trusting the owner's device (the outbound leg WireMeshTransport.sendRoomRequest needs before it will even attempt routing via the hub) but the owner trusting nothing at all -- the absence that is the whole point of every test in this file. Deliberately never calls MeshStore.init(): that method's own local-mesh coordinator election (connectToCoordinator/becomeCoordinator against the real, well-known port 19876) has nothing to do with hub mode and risks colliding with an unrelated coordinator already running on the machine -- hub-mode-session.integration.test.ts's own raw-WireMeshTransport tests never call it either, for the same reason. */
15
- async function connectedOwnerAndRequester(hubUrl) {
16
- const owner = new MeshStore();
17
- const { transport: ownerTransport } = await wireTestTransportWithHub(owner);
18
- await owner.registerAgent({
19
- name: "owner",
20
- harness: "test",
21
- cwd: "/test/owner",
22
- pid: process.pid,
23
- visibility: "visible",
24
- tags: [],
25
- });
26
- const requester = new MeshStore();
27
- const { transport: requesterTransport } = await wireTestTransportWithHub(requester);
28
- await requester.registerAgent({
29
- name: "requester",
30
- harness: "test",
31
- cwd: "/test/requester",
32
- pid: process.pid,
33
- visibility: "visible",
34
- tags: [],
35
- });
36
- requester.gatewayTrust.add(owner.peerId);
37
- expect(owner.gatewayTrust.hasAny()).toBe(false);
38
- await ownerTransport.hub.connect(hubUrl);
39
- await requesterTransport.hub.connect(hubUrl);
40
- // The requester's own directory surfacing the owner means the hub verified and registered the owner's advert, which a relay-connect naming the owner needs before it is routed rather than silently dropped. Being connected is not enough.
41
- await waitForCondition(() => ownerTransport.hub.isConnected &&
42
- requesterTransport.hub.peers().includes(owner.peerId));
43
- return { owner, requester };
44
- }
45
- describe("hub-relayed room.join versus the gateway trust boundary", () => {
46
- it("reaches the owner's human-approval flow, and grants membership on acceptance, even though the owner's gateway does not trust the requester's device at all", async () => {
47
- const hub = await realHubOverWs();
48
- cleanups.push(hub.close);
49
- const { owner, requester } = await connectedOwnerAndRequester(hub.url);
50
- const room = await owner.createRoom({
51
- name: "general",
52
- type: "public",
53
- owner: owner.peerId,
54
- description: "",
55
- });
56
- expect(await requester.getRoom(room.id)).toBeUndefined();
57
- const joinPromise = requester.joinRoom(room.id, requester.peerId);
58
- await waitForCondition(() => owner
59
- .listPendingRoomJoins()
60
- .some((pending) => pending.roomPath === room.id &&
61
- pending.requesterId === requester.peerId));
62
- owner.acceptRoomJoin(room.id, requester.peerId);
63
- const joined = await joinPromise;
64
- expect(joined.id).toBe(room.id);
65
- expect(joined.members.includes(requester.peerId)).toBe(true);
66
- // hubPeersKnown (peers()) stays "gateway-trusted hub peers" even after a real, successful room-domain admission: the requester's own device was never on the owner's bare-device allowlist, only its capability token was ever verified, so it must never surface as a "known" hub peer just because a room-domain request from it happened to succeed.
67
- expect(owner.gatewayTrust.hasAny()).toBe(false);
68
- await requester.shutdown();
69
- await owner.shutdown();
70
- });
71
- it("still lets the owner reject the same untrusted-gateway request through the ordinary human-decision outcome, not a gateway-level error", async () => {
72
- const hub = await realHubOverWs();
73
- cleanups.push(hub.close);
74
- const { owner, requester } = await connectedOwnerAndRequester(hub.url);
75
- const room = await owner.createRoom({
76
- name: "private-room",
77
- type: "public",
78
- owner: owner.peerId,
79
- description: "",
80
- });
81
- const joinPromise = requester.joinRoom(room.id, requester.peerId);
82
- await waitForCondition(() => owner
83
- .listPendingRoomJoins()
84
- .some((pending) => pending.roomPath === room.id &&
85
- pending.requesterId === requester.peerId));
86
- owner.rejectRoomJoin(room.id, requester.peerId, "not today");
87
- await expect(joinPromise).rejects.toThrow();
88
- expect(await requester.getRoom(room.id)).toBeUndefined();
89
- await requester.shutdown();
90
- await owner.shutdown();
91
- });
92
- });
93
- //# sourceMappingURL=hub-room-domain-verb-trust-bypass.integration.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hub-room-domain-verb-trust-bypass.integration.test.js","sourceRoot":"","sources":["../../src/test/hub-room-domain-verb-trust-bypass.integration.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * What a gateway does once the hub goes away (agent-comms#285): the held connection is dropped, so isConnected answers honestly and nothing keeps sending on a socket that is already gone. Runs against a real relay hub over local WebSockets rather than a fake, because the bug this covers was in which consumer of the session's own event stream observed the close.
3
- */
4
- export {};
5
- //# sourceMappingURL=hub-session-close.integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hub-session-close.integration.test.d.ts","sourceRoot":"","sources":["../../src/test/hub-session-close.integration.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,38 +0,0 @@
1
- /**
2
- * What a gateway does once the hub goes away (agent-comms#285): the held connection is dropped, so isConnected answers honestly and nothing keeps sending on a socket that is already gone. Runs against a real relay hub over local WebSockets rather than a fake, because the bug this covers was in which consumer of the session's own event stream observed the close.
3
- */
4
- import { test, expect } from "vitest";
5
- import { MeshStore } from "../core/mesh-store.js";
6
- import { realHubOverWs, TeardownStack, waitForCondition, } from "./hub-helpers.js";
7
- import { wireTestTransportWithHub } from "./test-transport.js";
8
- test("a gateway drops its held hub connection when the hub goes away", async () => {
9
- const teardown = new TeardownStack();
10
- try {
11
- const hub = await realHubOverWs();
12
- teardown.push(async () => {
13
- await hub.close();
14
- });
15
- const store = new MeshStore({ hubUrl: hub.url });
16
- const { transport } = await wireTestTransportWithHub(store);
17
- const errors = [];
18
- store.onError = (error) => {
19
- errors.push(error);
20
- };
21
- teardown.push(async () => {
22
- await store.shutdown();
23
- });
24
- await transport.hub.connect(hub.url);
25
- expect(transport.hub.isConnected).toBe(true);
26
- await waitForCondition(() => hub.connectionCount() === 1);
27
- await hub.close();
28
- await waitForCondition(() => !transport.hub.isConnected);
29
- // A gateway that still believed the connection was live would keep advertising onto it, and each attempt would report a send on a closed socket.
30
- const advertised = await store.listAgents("nobody");
31
- expect(advertised).toEqual([]);
32
- expect(errors.map((error) => error.message)).toEqual([]);
33
- }
34
- finally {
35
- await teardown.run();
36
- }
37
- });
38
- //# sourceMappingURL=hub-session-close.integration.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hub-session-close.integration.test.js","sourceRoot":"","sources":["../../src/test/hub-session-close.integration.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EACL,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,IAAI,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;IAChF,MAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,aAAa,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACvB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACjD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,KAAK,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;YACxB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACvB,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;QAE1D,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QAElB,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEzD,iJAAiJ;QACjJ,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;YAAS,CAAC;QACT,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Unit tests for dispatchHubRequest (agent-comms#192): the per-request trust decision hub-session.ts's own consume() loop delegates to, exercised directly against fake requests and fake deps rather than a real hub connection, mirroring hub-forwarding.test.ts's own fake-object approach for the sibling gateway-trust gates. hub-mode-session.integration.test.ts already proves the legacy FRAME_VERB gate end to end over a real hub; this file is what actually exercises the fix itself, that a real room-domain verb (room.send, room.join, room.notify, ...) is no longer rejected by the coarse per-device isTrusted allowlist at all, and the edge case that gate's removal would otherwise expose: a request with no fromDevice at all still has to be refused before ever reaching a room-verb handler, since resolveHandle/verifyRoomToken would call deviceIdFromHex on a non-hex placeholder and throw synchronously rather than answering with an ordinary unauthorized outcome.
3
- */
4
- export {};
5
- //# sourceMappingURL=hub-session-dispatch.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hub-session-dispatch.unit.test.d.ts","sourceRoot":"","sources":["../../src/test/hub-session-dispatch.unit.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,192 +0,0 @@
1
- /**
2
- * Unit tests for dispatchHubRequest (agent-comms#192): the per-request trust decision hub-session.ts's own consume() loop delegates to, exercised directly against fake requests and fake deps rather than a real hub connection, mirroring hub-forwarding.test.ts's own fake-object approach for the sibling gateway-trust gates. hub-mode-session.integration.test.ts already proves the legacy FRAME_VERB gate end to end over a real hub; this file is what actually exercises the fix itself, that a real room-domain verb (room.send, room.join, room.notify, ...) is no longer rejected by the coarse per-device isTrusted allowlist at all, and the edge case that gate's removal would otherwise expose: a request with no fromDevice at all still has to be refused before ever reaching a room-verb handler, since resolveHandle/verifyRoomToken would call deviceIdFromHex on a non-hex placeholder and throw synchronously rather than answering with an ordinary unauthorized outcome.
3
- */
4
- import { describe, expect, it, vi } from "vitest";
5
- import { deviceIdToHex } from "wire-mesh-core/domain/device-id";
6
- import { dispatchHubRequest } from "../core/hub-session.js";
7
- import { FRAME_VERB } from "../core/wire-mesh-transport.js";
8
- const DEVICE_ID_HEX_LENGTH = 64;
9
- const SENDER_HEX = "a".repeat(DEVICE_ID_HEX_LENGTH);
10
- function deviceIdBytes(hex) {
11
- const bytes = new Uint8Array(new ArrayBuffer(hex.length / 2));
12
- for (let i = 0; i < bytes.length; i += 1) {
13
- bytes[i] = Number.parseInt(hex.slice(i * 2, i * 2 + 2), 16);
14
- }
15
- // A fixture device-id: the real DeviceId type wire-mesh-core mints only through its own deviceIdFromHex/generateIdentity is structurally just a Uint8Array of the right length, and every dispatchHubRequest call site only ever round-trips this value back through deviceIdToHex, so a plain byte array is a faithful stand-in for a test fixture with no cast needed.
16
- return bytes;
17
- }
18
- function fakeOnKnownPeer() {
19
- return vi.fn();
20
- }
21
- function noopEvents() {
22
- return {
23
- onMessage: () => undefined,
24
- onPeerConnected: () => undefined,
25
- onPeerDisconnected: () => undefined,
26
- onIntroduction: () => undefined,
27
- onConnectionRequest: () => undefined,
28
- onPeerList: () => undefined,
29
- onPeerJoined: () => undefined,
30
- onBecomeCoordinator: () => undefined,
31
- onRevocationAnnounce: () => undefined,
32
- onCoordinatorClaim: () => undefined,
33
- onElectionSessionEnrolled: () => undefined,
34
- onPresenceAdvert: () => undefined,
35
- onDeviceReachable: () => undefined,
36
- };
37
- }
38
- function fakeRequest(options) {
39
- const responses = [];
40
- const scope = { kind: "room", path: "owner/room" };
41
- const request = {
42
- requestId: 1,
43
- command: { verb: options.verb ?? "room:member", params: {} },
44
- scope,
45
- ...(options.fromDevice !== undefined
46
- ? { fromDevice: deviceIdBytes(options.fromDevice) }
47
- : {}),
48
- respond: async (outcome) => {
49
- responses.push(outcome);
50
- },
51
- };
52
- return { request, responses };
53
- }
54
- function fakeDeps(overrides = {}) {
55
- return {
56
- isTrusted: () => false,
57
- handleRoomRequest: vi.fn().mockResolvedValue(undefined),
58
- ...overrides,
59
- };
60
- }
61
- describe("dispatchHubRequest", () => {
62
- it("refuses a room-domain verb with no fromDevice with an ordinary unauthorized outcome, never dispatching to handleRoomRequest", async () => {
63
- const { request, responses } = fakeRequest({ verb: "room:member" });
64
- const deps = fakeDeps();
65
- const onKnownPeer = fakeOnKnownPeer();
66
- await dispatchHubRequest({
67
- request,
68
- deps,
69
- onKnownPeer: onKnownPeer,
70
- });
71
- expect(responses).toEqual([{ result: "error", code: "unauthorized" }]);
72
- expect(deps.handleRoomRequest).not.toHaveBeenCalled();
73
- expect(onKnownPeer).not.toHaveBeenCalled();
74
- });
75
- it.each([
76
- { label: "an untrusted device", fromDevice: SENDER_HEX, trusted: false },
77
- { label: "a trusted device", fromDevice: SENDER_HEX, trusted: true },
78
- { label: "no identified device", fromDevice: undefined, trusted: false },
79
- ])("refuses a legacy FRAME_VERB request from $label with unsupported_verb, never dispatching it or recording a known peer (agent-comms#169, agent-comms#268)", async ({ fromDevice, trusted }) => {
80
- const { request, responses } = fakeRequest({
81
- verb: FRAME_VERB,
82
- ...(fromDevice !== undefined ? { fromDevice } : {}),
83
- });
84
- request.command.params = {
85
- message: {
86
- method: "state_update",
87
- patch: { type: "agent_offline", agentId: "spoofed" },
88
- },
89
- };
90
- const deps = fakeDeps({ isTrusted: () => trusted });
91
- const onKnownPeer = fakeOnKnownPeer();
92
- await dispatchHubRequest({
93
- request,
94
- deps,
95
- onKnownPeer,
96
- });
97
- expect(responses).toEqual([
98
- { result: "error", code: "unsupported_verb" },
99
- ]);
100
- expect(deps.handleRoomRequest).not.toHaveBeenCalled();
101
- expect(onKnownPeer).not.toHaveBeenCalled();
102
- });
103
- it("dispatches a room-domain verb from an UNTRUSTED but identified device straight to handleRoomRequest, never rejecting it as unauthorized (the actual agent-comms#192 fix)", async () => {
104
- const { request, responses } = fakeRequest({
105
- verb: "room:member",
106
- fromDevice: SENDER_HEX,
107
- });
108
- const handleRoomRequest = vi
109
- .fn()
110
- .mockImplementation(async (req) => {
111
- await req.respond({ result: "ok" });
112
- });
113
- const deps = fakeDeps({ isTrusted: () => false, handleRoomRequest });
114
- const onKnownPeer = fakeOnKnownPeer();
115
- await dispatchHubRequest({
116
- request,
117
- deps,
118
- onKnownPeer: onKnownPeer,
119
- });
120
- expect(handleRoomRequest).toHaveBeenCalledTimes(1);
121
- const [dispatchedRequest, dispatchedHandle] = handleRoomRequest.mock.calls[0] ?? [];
122
- expect(dispatchedRequest).toBe(request);
123
- expect(dispatchedHandle).toEqual({ id: SENDER_HEX });
124
- expect(responses).toEqual([{ result: "ok" }]);
125
- // hubPeersKnown stays "gateway-trusted hub peers": a room-domain sender's own capability token hasn't been verified yet at this point (that happens inside handleRoomRequest), so an untrusted sender reaching this branch must not be recorded as known just because it presented a syntactically valid device-id.
126
- expect(onKnownPeer).not.toHaveBeenCalled();
127
- });
128
- it("still records a TRUSTED room-domain sender as a known hub peer", async () => {
129
- const { request } = fakeRequest({
130
- verb: "room:member",
131
- fromDevice: SENDER_HEX,
132
- });
133
- const deps = fakeDeps({ isTrusted: () => true });
134
- const onKnownPeer = fakeOnKnownPeer();
135
- await dispatchHubRequest({
136
- request,
137
- deps,
138
- onKnownPeer: onKnownPeer,
139
- });
140
- expect(onKnownPeer).toHaveBeenCalledWith(SENDER_HEX);
141
- });
142
- it("uses deviceIdToHex(request.fromDevice) as the resolved handle id for a room-domain verb ", async () => {
143
- const { request } = fakeRequest({
144
- verb: "room:member",
145
- fromDevice: SENDER_HEX,
146
- });
147
- const handleRoomRequest = vi.fn().mockResolvedValue(undefined);
148
- const deps = fakeDeps({ isTrusted: () => true, handleRoomRequest });
149
- await dispatchHubRequest({
150
- request,
151
- deps,
152
- onKnownPeer: fakeOnKnownPeer(),
153
- });
154
- expect(handleRoomRequest).toHaveBeenCalledTimes(1);
155
- const [, handleArg] = handleRoomRequest.mock.calls[0] ?? [];
156
- expect(handleArg).toEqual({ id: deviceIdToHex(deviceIdBytes(SENDER_HEX)) });
157
- });
158
- it("threads the given hubAddress through to handleRoomRequest as origin.relayHubAddress (agent-comms#216)", async () => {
159
- const { request } = fakeRequest({
160
- verb: "room:member",
161
- fromDevice: SENDER_HEX,
162
- });
163
- const handleRoomRequest = vi.fn().mockResolvedValue(undefined);
164
- const deps = fakeDeps({ isTrusted: () => false, handleRoomRequest });
165
- await dispatchHubRequest({
166
- request,
167
- deps,
168
- onKnownPeer: fakeOnKnownPeer(),
169
- hubAddress: "wss://hub.example/",
170
- });
171
- expect(handleRoomRequest).toHaveBeenCalledTimes(1);
172
- const [, , originArg] = handleRoomRequest.mock.calls[0] ?? [];
173
- expect(originArg).toEqual({ relayHubAddress: "wss://hub.example/" });
174
- });
175
- it("passes an empty origin to handleRoomRequest when no hubAddress was given", async () => {
176
- const { request } = fakeRequest({
177
- verb: "room:member",
178
- fromDevice: SENDER_HEX,
179
- });
180
- const handleRoomRequest = vi.fn().mockResolvedValue(undefined);
181
- const deps = fakeDeps({ isTrusted: () => false, handleRoomRequest });
182
- await dispatchHubRequest({
183
- request,
184
- deps,
185
- onKnownPeer: fakeOnKnownPeer(),
186
- });
187
- expect(handleRoomRequest).toHaveBeenCalledTimes(1);
188
- const [, , originArg] = handleRoomRequest.mock.calls[0] ?? [];
189
- expect(originArg).toEqual({});
190
- });
191
- });
192
- //# sourceMappingURL=hub-session-dispatch.unit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hub-session-dispatch.unit.test.js","sourceRoot":"","sources":["../../src/test/hub-session-dispatch.unit.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Regression test: every generated certificate must be loadable by tls.createServer.
3
- *
4
- * The hand-rolled DER serial number could begin with a zero byte whenever clearing the sign bit produced 0x00 — a non-minimal INTEGER, which OpenSSL rejects as "illegal padding" when the certificate is loaded. That made tls.createServer fail (even across its retries) for roughly one bridge start in 128. Loading a batch of generated identities catches a reintroduction with high probability while never failing once the encoding is minimal.
5
- */
6
- export {};
7
- //# sourceMappingURL=identity-cert.unit.test.d.ts.map