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,276 +0,0 @@
1
- /**
2
- * Which sessions a store accepts coordinator claims from, and announces its own over (agent-comms#341), against real sockets. A claim is a bid for this machine's coordinator duties, so it may only come from a trusted session to a peer on this machine: never from a session that may cross machines (an addListener listener, a connectToRemote dial, a data dial at an address other than a loopback one), and never from a session on the well-known port before it has introduced itself. A hand-built peer on the far end of each session sends a claim at a term above the store's own, so an accepted claim would visibly replace the store's; a manage-request sent after the claim over the same session, and answered, proves the store has read the claim before the test looks at its state.
3
- */
4
- import * as os from "node:os";
5
- import { test, expect } from "vitest";
6
- import { createTlsTransport } from "wire-mesh-core/adapters/tls-transport";
7
- import { acceptMeshSession, } from "wire-mesh-core/domain/mesh-session";
8
- import { deviceIdFromHex, deviceIdToHex, } from "wire-mesh-core/domain/device-id";
9
- import { generateIdentity } from "../core/identity.js";
10
- import { listenerPort } from "../core/listener-registry.js";
11
- import { MeshStore } from "../core/mesh-store.js";
12
- import { DOMAIN, FRAME_SCOPE, buildCommand, } from "../core/wire-mesh-transport.js";
13
- import { toIdentityPort } from "../core/wire-mesh-identity.js";
14
- import { TeardownStack, freeLocalPort } from "./hub-helpers.js";
15
- import { wireTestTransport } from "./test-transport.js";
16
- /** Above the term 0 a lone store claims at, so accepting this claim would supersede the store's own. */
17
- const ROGUE_TERM = 7;
18
- function rawPeer() {
19
- const identity = generateIdentity();
20
- return {
21
- deviceHex: deviceIdToHex(Uint8Array.from(identity.deviceId)),
22
- identity,
23
- transport: createTlsTransport({
24
- certificatePem: identity.certificate,
25
- privateKeyPem: identity.privateKey,
26
- }),
27
- };
28
- }
29
- async function openSession(peer, connection, teardown) {
30
- const session = await acceptMeshSession(connection, await toIdentityPort(peer.identity), [DOMAIN]);
31
- teardown.push(async () => {
32
- await session.close();
33
- });
34
- return session;
35
- }
36
- async function dialAsRawPeer(peer, port, teardown) {
37
- const connection = await peer.transport.connect(`127.0.0.1:${String(port)}`);
38
- return openSession(peer, connection, teardown);
39
- }
40
- /** A lone store on its own well-known port, holding the role at term 0 as it claims when nothing else could reach it. */
41
- async function startLoneHolder(teardown) {
42
- const store = new MeshStore({ coordinatorPort: await freeLocalPort() });
43
- await wireTestTransport(store);
44
- teardown.push(async () => {
45
- await store.shutdown();
46
- });
47
- await store.init();
48
- expect(store.coordinatorClaim).toEqual({ term: 0, holder: store.peerId });
49
- return store;
50
- }
51
- function rogueClaim(holderHex) {
52
- return {
53
- type: "coordinator",
54
- term: ROGUE_TERM,
55
- coordinator: deviceIdFromHex(holderHex),
56
- };
57
- }
58
- /** Sends a request the store answers once it has read everything sent before it on this session. */
59
- async function roundTrip(session) {
60
- const outcome = await session.sendManageRequest(buildCommand({ method: "peer_list", peers: [] }), FRAME_SCOPE);
61
- expect(outcome.result).toBe("ok");
62
- }
63
- async function introduce(session, peer) {
64
- // Nothing listens on this port, so the store's dial back at the raw peer's data server fails, which none of these tests depend on.
65
- const dataPort = await freeLocalPort();
66
- const outcome = await session.sendManageRequest(buildCommand({ method: "introduce", peerId: peer.deviceHex, dataPort }), FRAME_SCOPE);
67
- expect(outcome.result).toBe("ok");
68
- }
69
- async function firstCoordinatorFrame(session) {
70
- for await (const frame of session.coordinatorFrames)
71
- return frame;
72
- throw new Error("the session ended before any coordinator-frame arrived");
73
- }
74
- test("a claim from a peer introduced on the well-known port is accepted", async () => {
75
- const teardown = new TeardownStack();
76
- try {
77
- const store = await startLoneHolder(teardown);
78
- const peer = rawPeer();
79
- const session = await dialAsRawPeer(peer, store.coordinatorPort, teardown);
80
- await introduce(session, peer);
81
- await session.sendCoordinatorClaim(rogueClaim(peer.deviceHex));
82
- await roundTrip(session);
83
- expect(store.coordinatorClaim).toEqual({
84
- term: ROGUE_TERM,
85
- holder: peer.deviceHex,
86
- });
87
- expect(store.holdsCoordinatorRole).toBe(false);
88
- }
89
- finally {
90
- await teardown.run();
91
- }
92
- });
93
- test("a claim sent on the well-known port before introduce is dropped, and the peer is told the incumbent once it introduces itself", async () => {
94
- const teardown = new TeardownStack();
95
- try {
96
- const store = await startLoneHolder(teardown);
97
- const peer = rawPeer();
98
- const session = await dialAsRawPeer(peer, store.coordinatorPort, teardown);
99
- const announced = firstCoordinatorFrame(session);
100
- await session.sendCoordinatorClaim(rogueClaim(peer.deviceHex));
101
- await introduce(session, peer);
102
- await roundTrip(session);
103
- expect(store.coordinatorClaim).toEqual({ term: 0, holder: store.peerId });
104
- expect(store.holdsCoordinatorRole).toBe(true);
105
- expect(await announced).toEqual({
106
- type: "coordinator",
107
- term: 0,
108
- coordinator: deviceIdFromHex(store.peerId),
109
- });
110
- }
111
- finally {
112
- await teardown.run();
113
- }
114
- });
115
- test("a claim from a peer introduced on an addListener listener is dropped, since that listener may be reached from another machine", async () => {
116
- const teardown = new TeardownStack();
117
- try {
118
- const store = await startLoneHolder(teardown);
119
- const listenerId = await store.addListener("127.0.0.1", 0, "full");
120
- const listener = store
121
- .listListeners()
122
- .find((entry) => entry.id === listenerId);
123
- if (listener === undefined)
124
- throw new Error("expected the added listener");
125
- const peer = rawPeer();
126
- const session = await dialAsRawPeer(peer, listener.port, teardown);
127
- await introduce(session, peer);
128
- await session.sendCoordinatorClaim(rogueClaim(peer.deviceHex));
129
- await roundTrip(session);
130
- expect(store.coordinatorClaim).toEqual({ term: 0, holder: store.peerId });
131
- expect(store.holdsCoordinatorRole).toBe(true);
132
- }
133
- finally {
134
- await teardown.run();
135
- }
136
- });
137
- test("a claim from the far end of a connectToRemote dial is dropped, since that dial may reach another machine", async () => {
138
- const teardown = new TeardownStack();
139
- try {
140
- const store = await startLoneHolder(teardown);
141
- const peer = rawPeer();
142
- const accepted = new Promise((resolve, reject) => {
143
- void peer.transport
144
- .listen("127.0.0.1:0", (connection) => {
145
- openSession(peer, connection, teardown).then(resolve, reject);
146
- })
147
- .then(async (listener) => {
148
- teardown.push(async () => {
149
- await listener.close();
150
- });
151
- await store.connectToRemote("127.0.0.1", listenerPort(listener));
152
- })
153
- .catch(reject);
154
- });
155
- const session = await accepted;
156
- for await (const request of session.incomingManageRequests) {
157
- // The dial's connect_request, answered as an approving operator would.
158
- await request.respond({ result: "ok" });
159
- break;
160
- }
161
- // Answered only once the store is reading this session, so the claim below cannot arrive before the store has decided whether to enrol it.
162
- await roundTrip(session);
163
- await session.sendCoordinatorClaim(rogueClaim(peer.deviceHex));
164
- await roundTrip(session);
165
- expect(store.coordinatorClaim).toEqual({ term: 0, holder: store.peerId });
166
- expect(store.holdsCoordinatorRole).toBe(true);
167
- }
168
- finally {
169
- await teardown.run();
170
- }
171
- });
172
- test("a store that dials a peer's data server tells it the incumbent, not only the side that accepted", async () => {
173
- const teardown = new TeardownStack();
174
- try {
175
- const store = await startLoneHolder(teardown);
176
- const peer = rawPeer();
177
- const accepted = new Promise((resolve, reject) => {
178
- void peer.transport
179
- .listen("127.0.0.1:0", (connection) => {
180
- openSession(peer, connection, teardown).then(resolve, reject);
181
- })
182
- .then((listener) => {
183
- teardown.push(async () => {
184
- await listener.close();
185
- });
186
- store.events.onPeerList([
187
- {
188
- id: peer.deviceHex,
189
- port: listenerPort(listener),
190
- startedAt: new Date().toISOString(),
191
- },
192
- ]);
193
- })
194
- .catch(reject);
195
- });
196
- const session = await accepted;
197
- expect(await firstCoordinatorFrame(session)).toEqual({
198
- type: "coordinator",
199
- term: 0,
200
- coordinator: deviceIdFromHex(store.peerId),
201
- });
202
- }
203
- finally {
204
- await teardown.run();
205
- }
206
- });
207
- /** An address of this machine's own that is not a loopback one, so a dial at it reaches a listener here while naming an address another machine on the LAN could equally hold. */
208
- function nonLoopbackAddress() {
209
- const address = Object.values(os.networkInterfaces())
210
- .flat()
211
- .find((entry) => entry?.family === "IPv4" && !entry.internal);
212
- if (address === undefined) {
213
- throw new Error("this test needs a non-loopback IPv4 interface to dial a listener through");
214
- }
215
- return address.address;
216
- }
217
- /** Has the store dial a raw peer's listener at the given host through the ordinary peer-list path (the one first contact feeds discovered peers into), returning the raw peer's end of the session once the store is reading it. */
218
- async function dialedByStore(store, peer, host, teardown) {
219
- const session = await new Promise((resolve, reject) => {
220
- void peer.transport
221
- .listen("0.0.0.0:0", (connection) => {
222
- openSession(peer, connection, teardown).then(resolve, reject);
223
- })
224
- .then((listener) => {
225
- teardown.push(async () => {
226
- await listener.close();
227
- });
228
- store.events.onPeerList([
229
- {
230
- id: peer.deviceHex,
231
- host,
232
- port: listenerPort(listener),
233
- startedAt: new Date().toISOString(),
234
- },
235
- ]);
236
- })
237
- .catch(reject);
238
- });
239
- // Answered only once the store is reading this session, so the claim the caller sends next cannot arrive before the store has decided whether to enrol it.
240
- await roundTrip(session);
241
- return session;
242
- }
243
- test("a claim over a data dial at a non-loopback address is dropped, since that address may belong to another machine on the LAN", async () => {
244
- const teardown = new TeardownStack();
245
- try {
246
- const store = await startLoneHolder(teardown);
247
- const peer = rawPeer();
248
- const session = await dialedByStore(store, peer, nonLoopbackAddress(), teardown);
249
- await session.sendCoordinatorClaim(rogueClaim(peer.deviceHex));
250
- await roundTrip(session);
251
- expect(store.coordinatorClaim).toEqual({ term: 0, holder: store.peerId });
252
- expect(store.holdsCoordinatorRole).toBe(true);
253
- }
254
- finally {
255
- await teardown.run();
256
- }
257
- });
258
- test("a claim over a data dial at a loopback address is accepted", async () => {
259
- const teardown = new TeardownStack();
260
- try {
261
- const store = await startLoneHolder(teardown);
262
- const peer = rawPeer();
263
- const session = await dialedByStore(store, peer, "127.0.0.1", teardown);
264
- await session.sendCoordinatorClaim(rogueClaim(peer.deviceHex));
265
- await roundTrip(session);
266
- expect(store.coordinatorClaim).toEqual({
267
- term: ROGUE_TERM,
268
- holder: peer.deviceHex,
269
- });
270
- expect(store.holdsCoordinatorRole).toBe(false);
271
- }
272
- finally {
273
- await teardown.run();
274
- }
275
- });
276
- //# sourceMappingURL=coordinator-claim-sessions.integration.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coordinator-claim-sessions.integration.test.js","sourceRoot":"","sources":["../../src/test/coordinator-claim-sessions.integration.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * The elected coordinator role over real localhost sockets (agent-comms#341): several MeshStore instances, each on its own WireMeshTransport, gossiping coordinator claims over their machine-local sessions. Asserts that exactly one store holds the role and every store agrees which, that a store which never bound the well-known port can hold it and keeps it when lower-id stores arrive, that stores which each claimed alone converge, and that the holder's loss is recovered by a survivor raising the term. Which sessions a claim is accepted from is covered by coordinator-claim-sessions.integration.test.ts; the decision logic is unit-tested against fakes in coordinator-role.unit.test.ts and coordinator-failover.unit.test.ts.
3
- */
4
- export {};
5
- //# sourceMappingURL=coordinator-election.integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coordinator-election.integration.test.d.ts","sourceRoot":"","sources":["../../src/test/coordinator-election.integration.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,182 +0,0 @@
1
- /**
2
- * The elected coordinator role over real localhost sockets (agent-comms#341): several MeshStore instances, each on its own WireMeshTransport, gossiping coordinator claims over their machine-local sessions. Asserts that exactly one store holds the role and every store agrees which, that a store which never bound the well-known port can hold it and keeps it when lower-id stores arrive, that stores which each claimed alone converge, and that the holder's loss is recovered by a survivor raising the term. Which sessions a claim is accepted from is covered by coordinator-claim-sessions.integration.test.ts; the decision logic is unit-tested against fakes in coordinator-role.unit.test.ts and coordinator-failover.unit.test.ts.
3
- */
4
- import * as net from "node:net";
5
- import { test, expect } from "vitest";
6
- import { deviceIdToHex } from "wire-mesh-core/domain/device-id";
7
- import { generateIdentity } from "../core/identity.js";
8
- import { MeshStore } from "../core/mesh-store.js";
9
- import { TeardownStack, freeLocalPort } from "./hub-helpers.js";
10
- import { waitFor, wireTestTransportWithHub } from "./test-transport.js";
11
- /** A claim wait for a store the test starts with nobody else to meet: there is no incumbent it could hear, so waiting any longer would only slow the test. */
12
- const NOTHING_TO_WAIT_FOR_MS = 0;
13
- async function startNode(name, options, teardown, identity) {
14
- const store = new MeshStore(options);
15
- const { transport } = await wireTestTransportWithHub(store, identity === undefined ? undefined : { identityLoader: () => identity });
16
- const roleChanges = [];
17
- store.onCoordinatorRoleChanged = (isCoordinator) => {
18
- roleChanges.push(isCoordinator);
19
- };
20
- teardown.push(async () => {
21
- await store.shutdown().catch(() => undefined);
22
- });
23
- await store.init();
24
- return { name, store, transport, roleChanges };
25
- }
26
- function holders(nodes) {
27
- return nodes.filter((node) => node.store.holdsCoordinatorRole);
28
- }
29
- /** Whether every node accepts the same claim and exactly one of them is the holder that claim names. */
30
- function settledOnOneHolder(nodes) {
31
- const [first, ...rest] = nodes;
32
- const claim = first?.store.coordinatorClaim;
33
- if (claim === undefined)
34
- return false;
35
- const agreed = rest.every((node) => node.store.coordinatorClaim?.holder === claim.holder &&
36
- node.store.coordinatorClaim.term === claim.term);
37
- const held = holders(nodes);
38
- return agreed && held.length === 1 && held[0]?.store.peerId === claim.holder;
39
- }
40
- /** A TCP server on the given port that drops every connection at once, standing in for a stale process holding the well-known port: nothing on it ever answers as a port holder, and nobody else can bind it. */
41
- async function occupyPort(port, teardown) {
42
- const squatter = net.createServer((socket) => {
43
- socket.destroy();
44
- });
45
- await new Promise((resolve, reject) => {
46
- squatter.once("error", reject);
47
- squatter.listen(port, "127.0.0.1", () => {
48
- resolve();
49
- });
50
- });
51
- teardown.push(async () => {
52
- await new Promise((resolve) => {
53
- squatter.close(() => {
54
- resolve();
55
- });
56
- });
57
- });
58
- }
59
- test("exactly one of three stores holds the elected coordinator role, and every store agrees which", async () => {
60
- const teardown = new TeardownStack();
61
- try {
62
- const coordinatorPort = await freeLocalPort();
63
- const first = await startNode("first", { coordinatorPort }, teardown);
64
- const second = await startNode("second", { coordinatorPort }, teardown);
65
- const third = await startNode("third", { coordinatorPort }, teardown);
66
- const nodes = [first, second, third];
67
- await waitFor(() => settledOnOneHolder(nodes), "every store accepts one claim naming a single holder");
68
- // Only the first store was alone when it started, so it is the only one that claimed; the joiners learned its claim instead of contesting it.
69
- expect(first.store.holdsCoordinatorRole).toBe(true);
70
- expect(first.store.coordinatorClaim).toEqual({
71
- term: 0,
72
- holder: first.store.peerId,
73
- });
74
- expect(first.roleChanges).toEqual([true]);
75
- expect(second.roleChanges).toEqual([]);
76
- expect(third.roleChanges).toEqual([]);
77
- }
78
- finally {
79
- await teardown.run();
80
- }
81
- });
82
- /** Three fresh identities, in ascending device-id order. */
83
- function identitiesByDeviceId() {
84
- const hex = (identity) => deviceIdToHex(Uint8Array.from(identity.deviceId));
85
- const [lowest, middle, highest] = [
86
- generateIdentity(),
87
- generateIdentity(),
88
- generateIdentity(),
89
- ].sort((a, b) => (hex(a) < hex(b) ? -1 : 1));
90
- if (lowest === undefined || middle === undefined || highest === undefined) {
91
- throw new Error("expected three identities");
92
- }
93
- return [lowest, middle, highest];
94
- }
95
- test("an existing mesh behind a squatted port keeps its holder when a lower-id store joins through first contact", async () => {
96
- const teardown = new TeardownStack();
97
- try {
98
- const coordinatorPort = await freeLocalPort();
99
- const firstContactPort = await freeLocalPort();
100
- await occupyPort(coordinatorPort, teardown);
101
- const [lowest, middle, highest] = identitiesByDeviceId();
102
- const holder = await startNode("holder", {
103
- coordinatorPort,
104
- firstContactPort,
105
- coordinatorClaimWaitMs: NOTHING_TO_WAIT_FOR_MS,
106
- }, teardown, highest);
107
- await waitFor(() => holder.store.holdsCoordinatorRole, "the store started alone behind the squatted port claims the role");
108
- // The joiners keep the default claim wait, which is what gives the holder's announcement time to reach each of them over first contact before it would claim.
109
- const member = await startNode("member", { coordinatorPort, firstContactPort }, teardown, middle);
110
- await waitFor(() => settledOnOneHolder([holder, member]), "the second store learned the incumbent through first contact");
111
- const newcomer = await startNode("newcomer", { coordinatorPort, firstContactPort }, teardown, lowest);
112
- const nodes = [holder, member, newcomer];
113
- await waitFor(() => settledOnOneHolder(nodes), "the newcomer learned the incumbent through first contact");
114
- expect(newcomer.store.peerId < member.store.peerId).toBe(true);
115
- expect(member.store.peerId < holder.store.peerId).toBe(true);
116
- for (const node of nodes) {
117
- expect(node.transport.isCoordinator).toBe(false);
118
- expect(node.store.coordinatorClaim).toEqual({
119
- term: 0,
120
- holder: holder.store.peerId,
121
- });
122
- }
123
- expect(holder.roleChanges).toEqual([true]);
124
- expect(member.roleChanges).toEqual([]);
125
- expect(newcomer.roleChanges).toEqual([]);
126
- }
127
- finally {
128
- await teardown.run();
129
- }
130
- });
131
- test("two stores that each claimed alone behind a squatted port converge on the lower device-id once first contact joins them", async () => {
132
- const teardown = new TeardownStack();
133
- try {
134
- const coordinatorPort = await freeLocalPort();
135
- const firstContactPort = await freeLocalPort();
136
- await occupyPort(coordinatorPort, teardown);
137
- const options = {
138
- coordinatorPort,
139
- firstContactPort,
140
- coordinatorClaimWaitMs: NOTHING_TO_WAIT_FOR_MS,
141
- };
142
- const left = await startNode("left", options, teardown);
143
- const right = await startNode("right", options, teardown);
144
- const nodes = [left, right];
145
- await waitFor(() => settledOnOneHolder(nodes), "first contact brought both claims together and one superseded the other");
146
- const [holder] = holders(nodes);
147
- if (holder === undefined)
148
- throw new Error("expected a holder");
149
- // Both claimed term 0 while alone, so the equal-term tiebreak by lowest device-id decided it.
150
- expect(holder.store.peerId).toBe([left.store.peerId, right.store.peerId].sort()[0]);
151
- expect(holder.store.coordinatorClaim?.term).toBe(0);
152
- expect(holder.roleChanges).toEqual([true]);
153
- }
154
- finally {
155
- await teardown.run();
156
- }
157
- });
158
- test("the holder's loss is recovered by a surviving store raising the term, and every survivor agrees on it", async () => {
159
- const teardown = new TeardownStack();
160
- try {
161
- const coordinatorPort = await freeLocalPort();
162
- const first = await startNode("first", { coordinatorPort }, teardown);
163
- const second = await startNode("second", { coordinatorPort }, teardown);
164
- const third = await startNode("third", { coordinatorPort }, teardown);
165
- await waitFor(() => settledOnOneHolder([first, second, third]), "the mesh settled on the first store as holder before it is lost");
166
- const lostTerm = first.store.coordinatorClaim?.term;
167
- expect(first.store.holdsCoordinatorRole).toBe(true);
168
- // A crash, not a shutdown: the transport goes down without the store giving anything up, as when the process is killed.
169
- await first.transport.shutdown();
170
- const survivors = [second, third];
171
- await waitFor(() => settledOnOneHolder(survivors), "the survivors settled on one new holder");
172
- const claim = second.store.coordinatorClaim;
173
- expect(claim?.term).toBe((lostTerm ?? 0) + 1);
174
- expect(claim?.holder).toBe([second.store.peerId, third.store.peerId].sort()[0]);
175
- const [holder] = holders(survivors);
176
- expect(holder?.roleChanges).toEqual([true]);
177
- }
178
- finally {
179
- await teardown.run();
180
- }
181
- });
182
- //# sourceMappingURL=coordinator-election.integration.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coordinator-election.integration.test.js","sourceRoot":"","sources":["../../src/test/coordinator-election.integration.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * The hub session across a local coordinator handover (agent-comms#293), against a real relay hub. Every store holds its own hub session from init, so losing the coordinator, gracefully or abruptly, must neither cost a surviving store its session nor make another machine lose sight of it. This is the property the coordinator-only gateway lacked: reachability from another machine followed whichever store won the coordinator role.
3
- */
4
- export {};
5
- //# sourceMappingURL=coordinator-failover-hub.integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coordinator-failover-hub.integration.test.d.ts","sourceRoot":"","sources":["../../src/test/coordinator-failover-hub.integration.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,84 +0,0 @@
1
- /**
2
- * The hub session across a local coordinator handover (agent-comms#293), against a real relay hub. Every store holds its own hub session from init, so losing the coordinator, gracefully or abruptly, must neither cost a surviving store its session nor make another machine lose sight of it. This is the property the coordinator-only gateway lacked: reachability from another machine followed whichever store won the coordinator role.
3
- */
4
- import { expect, test } from "vitest";
5
- import { MeshStore } from "../core/mesh-store.js";
6
- import { TeardownStack, freeLocalPort, realHubOverWs } from "./hub-helpers.js";
7
- import { waitFor, wireTestTransportWithHub } from "./test-transport.js";
8
- /** Short enough that a re-advertised agent reaches the other machine within a test's own wait, unlike the production default. */
9
- const FAST_GOSSIP_INTERVAL_MS = 50;
10
- async function startNode(name, coordinatorPort, hubUrl, teardown) {
11
- const store = new MeshStore({ coordinatorPort, hubUrl });
12
- const { transport } = await wireTestTransportWithHub(store, {
13
- presenceReadvertiseIntervalMs: FAST_GOSSIP_INTERVAL_MS,
14
- });
15
- // Set after wiring, because wireTestTransportWithHub installs its own console-logging onError and would replace this one.
16
- const errors = [];
17
- const logError = store.onError;
18
- store.onError = (error) => {
19
- errors.push(error);
20
- logError?.(error);
21
- };
22
- await store.init();
23
- await store.registerAgent({
24
- name,
25
- harness: `test-${name}`,
26
- cwd: `/test/${name}`,
27
- pid: process.pid,
28
- visibility: "visible",
29
- tags: [],
30
- });
31
- teardown.push(async () => {
32
- await store.shutdown().catch(() => undefined);
33
- });
34
- return { store, transport, errors };
35
- }
36
- /** Two stores on one machine (first is the coordinator) and one store on another machine, all on one hub, with both local stores trusting the remote one and the remote one trusting the survivor. */
37
- async function startMachines(teardown) {
38
- const hub = await realHubOverWs();
39
- teardown.push(hub.close);
40
- const port = await freeLocalPort();
41
- const first = await startNode("first", port, hub.url, teardown);
42
- const second = await startNode("second", port, hub.url, teardown);
43
- const remote = await startNode("remote", await freeLocalPort(), hub.url, teardown);
44
- first.store.addTrustedGateway(remote.store.peerId);
45
- second.store.addTrustedGateway(remote.store.peerId);
46
- remote.store.addTrustedGateway(second.store.peerId);
47
- await waitFor(() => first.transport.hub.isConnected && second.transport.hub.isConnected, "both local stores hold their own hub session");
48
- await waitFor(async () => (await remote.store.listAgents(remote.store.peerId)).some((agent) => agent.id === second.store.peerId), "the remote store sees the second store's agent before the coordinator is lost");
49
- return { first, second, remote };
50
- }
51
- async function remoteSees(remote, agentId) {
52
- const agents = await remote.store.listAgents(remote.store.peerId);
53
- return agents.some((agent) => agent.id === agentId && agent.status !== "offline");
54
- }
55
- test("a surviving store keeps its own hub session and stays visible to another machine after the coordinator shuts down gracefully", async () => {
56
- const teardown = new TeardownStack();
57
- try {
58
- const { first, second, remote } = await startMachines(teardown);
59
- await first.store.shutdown();
60
- await waitFor(() => second.transport.isCoordinator, "the survivor took the coordinator role");
61
- expect(second.transport.hub.isConnected).toBe(true);
62
- await waitFor(async () => remoteSees(remote, second.store.peerId), "the remote store still sees the survivor's agent");
63
- }
64
- finally {
65
- await teardown.run();
66
- }
67
- });
68
- test("a surviving store keeps its own hub session and stays visible to another machine after the coordinator is lost abruptly", async () => {
69
- const teardown = new TeardownStack();
70
- try {
71
- const { first, second, remote } = await startMachines(teardown);
72
- await first.transport.shutdown();
73
- await waitFor(() => second.transport.isCoordinator, "the survivor rebound the vacated coordinator port").catch((error) => {
74
- const reported = second.errors.map((reportedError) => reportedError.message);
75
- throw new Error(`${error instanceof Error ? error.message : String(error)}; the survivor reported: ${JSON.stringify(reported)}`);
76
- });
77
- expect(second.transport.hub.isConnected).toBe(true);
78
- await waitFor(async () => remoteSees(remote, second.store.peerId), "the remote store still sees the survivor's agent");
79
- }
80
- finally {
81
- await teardown.run();
82
- }
83
- });
84
- //# sourceMappingURL=coordinator-failover-hub.integration.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coordinator-failover-hub.integration.test.js","sourceRoot":"","sources":["../../src/test/coordinator-failover-hub.integration.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Coordinator failover over real localhost sockets (agent-comms#285): several MeshStore instances, each on its own WireMeshTransport, with the coordinator's transport torn down abruptly (no handover, the way a killed process behaves) and again gracefully. Asserts what a survivor of either kind of loss actually ends up with -- a rebound coordinator port, a mesh a fresh store can still join, and no dead agent left listed as active. The decision logic these exercise is unit-tested against fakes in coordinator-failover.unit.test.ts.
3
- */
4
- export {};
5
- //# sourceMappingURL=coordinator-failover.integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coordinator-failover.integration.test.d.ts","sourceRoot":"","sources":["../../src/test/coordinator-failover.integration.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}