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,86 +0,0 @@
1
- /**
2
- * The agent-comms/agent-details verb and its cache (agent-comms#323): a trusted peer asking over a relay pairing gets the details a hub session withholds, and anyone else is refused.
3
- */
4
- import { describe, expect, it } from "vitest";
5
- import { AGENT_DETAILS_VERB, AgentDetailsCache, agentDetailsVerbHandler, parseAgentDetails, } from "../core/agent-details.js";
6
- const TRUSTED_PEER = "aa"; // deviceIdToHex of a one-byte DeviceId, for fromDevice
7
- const UNTRUSTED_PEER = "bb";
8
- function deviceOf(hex) {
9
- return new Uint8Array(hex.match(/../g)?.map((b) => Number.parseInt(b, 16)) ?? []);
10
- }
11
- const DETAILS = {
12
- cwd: "/test/machine-b",
13
- tags: ["nightly"],
14
- rooms: [{ path: "b-room", name: "B Room", description: "where B works" }],
15
- };
16
- function handlerDeps(overrides = {}) {
17
- return {
18
- details: () => DETAILS,
19
- isTrusted: (deviceHex) => deviceHex === TRUSTED_PEER,
20
- ...overrides,
21
- };
22
- }
23
- function requestFrom(peerHex) {
24
- const scope = { kind: "node" };
25
- return {
26
- requestId: 1,
27
- command: { verb: "agent:details", params: { verb: AGENT_DETAILS_VERB } },
28
- scope,
29
- ...(peerHex === undefined ? {} : { fromDevice: deviceOf(peerHex) }),
30
- respond: async () => undefined,
31
- };
32
- }
33
- /** The handle a direct session's dispatch carries: the connection's own authenticated peer. */
34
- const TRUSTED_HANDLE = { id: TRUSTED_PEER };
35
- const UNTRUSTED_HANDLE = { id: UNTRUSTED_PEER };
36
- describe("agentDetailsVerbHandler", () => {
37
- it("answers a trusted requester with the cwd, tags and hosted rooms", async () => {
38
- const handler = agentDetailsVerbHandler(handlerDeps());
39
- const outcome = await handler(requestFrom(TRUSTED_PEER), TRUSTED_HANDLE);
40
- expect(outcome).toEqual({ result: "ok", ...DETAILS });
41
- });
42
- it("refuses a requester this machine does not trust", async () => {
43
- const handler = agentDetailsVerbHandler(handlerDeps());
44
- const outcome = await handler(requestFrom(UNTRUSTED_PEER), UNTRUSTED_HANDLE);
45
- expect(outcome).toEqual({ result: "error", code: "untrusted_requester" });
46
- });
47
- it("answers a direct session whose authenticated peer this machine trusts", async () => {
48
- const handler = agentDetailsVerbHandler(handlerDeps());
49
- const outcome = await handler(requestFrom(undefined), TRUSTED_HANDLE);
50
- expect(outcome).toEqual({ result: "ok", ...DETAILS });
51
- });
52
- it("refuses a direct session whose peer this machine does not trust", async () => {
53
- const handler = agentDetailsVerbHandler(handlerDeps());
54
- const outcome = await handler(requestFrom(undefined), UNTRUSTED_HANDLE);
55
- expect(outcome).toEqual({ result: "error", code: "untrusted_requester" });
56
- });
57
- it("answers no_agent while this bridge has no registered agent", async () => {
58
- const handler = agentDetailsVerbHandler(handlerDeps({ details: () => undefined }));
59
- const outcome = await handler(requestFrom(TRUSTED_PEER), TRUSTED_HANDLE);
60
- expect(outcome).toEqual({ result: "error", code: "no_agent" });
61
- });
62
- });
63
- describe("parseAgentDetails", () => {
64
- it("parses an ok outcome with every field present", () => {
65
- expect(parseAgentDetails({
66
- result: "ok",
67
- ...DETAILS,
68
- rooms: [...DETAILS.rooms],
69
- })).toEqual(DETAILS);
70
- });
71
- it("refuses an error outcome and a malformed ok", () => {
72
- expect(parseAgentDetails({ result: "error", code: "x" })).toBeUndefined();
73
- expect(parseAgentDetails({ result: "ok", cwd: "/x", tags: "nope", rooms: [] })).toBeUndefined();
74
- });
75
- });
76
- describe("AgentDetailsCache", () => {
77
- it("drops entries whose agent the last listing did not include", () => {
78
- const cache = new AgentDetailsCache();
79
- cache.set("gone", DETAILS);
80
- cache.set("kept", DETAILS);
81
- cache.retain(new Set(["kept"]));
82
- expect(cache.get("gone")).toBeUndefined();
83
- expect(cache.get("kept")).toBeDefined();
84
- });
85
- });
86
- //# sourceMappingURL=agent-details.unit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-details.unit.test.js","sourceRoot":"","sources":["../../src/test/agent-details.unit.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=agent-registry.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-registry.unit.test.d.ts","sourceRoot":"","sources":["../../src/test/agent-registry.unit.test.ts"],"names":[],"mappings":""}
@@ -1,507 +0,0 @@
1
- /**
2
- * Direct, DI-based unit tests for AgentRegistry -- it was previously exercised only indirectly through MeshStore/room-kick-revocation integration tests, which left many individual branches, string literals, and array literals unobserved. AgentRegistryDeps is a narrow, injectable surface built exactly for this: a fake deps object with vi.fn() collaborators lets every branch be asserted on directly.
3
- *
4
- * One mutant Stryker raises against setAgentOffline is a true equivalent, not a gap -- documented here rather than chased with a contrived test, matching stale-agent-checker.test.ts's own precedent for the identical pattern: `this.deps.agents.set(id, agent)` right after `agent.status = "offline"` re-sets the same key to the exact same object reference `this.deps.agents.get(id)` already returned, so mutating `.status` on it has already mutated what the Map holds. No test can observe removing that call.
5
- */
6
- import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
7
- import { AgentRegistry, detailsShared, } from "../core/agent-registry.js";
8
- import { CommsError } from "../core/store.js";
9
- import { DEFAULT_PRESENCE_STALE_AFTER_MS } from "../core/gossip-extensions.js";
10
- const OWNER_ID = "owner-device";
11
- const OTHER_ID = "other-device";
12
- const STARTED_AT = "2026-01-01T00:00:00.000Z";
13
- /** An arbitrary, distinctive pid used only to prove updateAgent's patch actually lands -- no significance beyond "not the seeded pid". */
14
- const UPDATED_PID = 999;
15
- function agent(overrides = {}) {
16
- return {
17
- id: OWNER_ID,
18
- version: 1,
19
- name: "agent-name",
20
- harness: "pi",
21
- cwd: "/tmp",
22
- pid: 111,
23
- startedAt: STARTED_AT,
24
- visibility: "visible",
25
- status: "active",
26
- tags: [],
27
- subscribedRooms: [],
28
- ...overrides,
29
- };
30
- }
31
- function makeHarness(peerId = OWNER_ID) {
32
- const bump = vi.fn();
33
- const broadcastPatch = vi.fn().mockResolvedValue(undefined);
34
- const notifyRoomsOfStatus = vi.fn().mockResolvedValue(undefined);
35
- const notifyRoomsOfNameChange = vi.fn().mockResolvedValue(undefined);
36
- const deps = {
37
- agents: new Map(),
38
- identityCache: new Map(),
39
- startedAt: STARTED_AT,
40
- getPeerId: () => peerId,
41
- requireTransport: () => ({ listKnownDevices: undefined }),
42
- presenceStaleAfterMs: DEFAULT_PRESENCE_STALE_AFTER_MS,
43
- deliveryEngine: {
44
- bump,
45
- broadcastPatch,
46
- notifyRoomsOfStatus,
47
- notifyRoomsOfNameChange,
48
- },
49
- };
50
- return {
51
- deps,
52
- registry: new AgentRegistry(deps),
53
- bump,
54
- broadcastPatch,
55
- notifyRoomsOfStatus,
56
- notifyRoomsOfNameChange,
57
- };
58
- }
59
- describe("AgentRegistry — identity cache", () => {
60
- it("readIdentity keys by the exact harness+cwd pair, not a blank or partial key", async () => {
61
- const { registry, deps } = makeHarness();
62
- deps.identityCache.set("pi--/tmp/a", { id: "agent-a" });
63
- deps.identityCache.set("codex--/tmp/a", { id: "agent-b" });
64
- await expect(registry.readIdentity("pi", "/tmp/a")).resolves.toEqual({
65
- id: "agent-a",
66
- });
67
- await expect(registry.readIdentity("codex", "/tmp/a")).resolves.toEqual({
68
- id: "agent-b",
69
- });
70
- await expect(registry.readIdentity("pi", "/tmp/other")).resolves.toBeUndefined();
71
- });
72
- it("writeIdentity stores under the harness+cwd composite key, readable back by readIdentity", async () => {
73
- const { registry } = makeHarness();
74
- await registry.writeIdentity("pi", "/tmp/a", "written-id");
75
- await expect(registry.readIdentity("pi", "/tmp/a")).resolves.toEqual({
76
- id: "written-id",
77
- });
78
- });
79
- });
80
- describe("AgentRegistry — registerAgent", () => {
81
- it("a brand-new (harness, cwd) pair creates a fresh agent with an empty subscribedRooms array", async () => {
82
- const { registry, deps } = makeHarness();
83
- const created = await registry.registerAgent({
84
- name: "fresh",
85
- harness: "pi",
86
- cwd: "/tmp/fresh",
87
- pid: 1,
88
- visibility: "visible",
89
- tags: ["x"],
90
- });
91
- expect(created.subscribedRooms).toEqual([]);
92
- expect(deps.agents.get(OWNER_ID)).toEqual(created);
93
- await expect(registry.readIdentity("pi", "/tmp/fresh")).resolves.toEqual({
94
- id: OWNER_ID,
95
- });
96
- });
97
- it("re-registering an already-known (harness, cwd) pair updates the existing agent by its original id rather than minting a fresh one", async () => {
98
- let nextId = 0;
99
- const peerIds = ["first-id", "second-id"];
100
- const { registry, deps } = makeHarness();
101
- deps.getPeerId = () => {
102
- const id = peerIds[nextId];
103
- nextId += 1;
104
- if (id === undefined)
105
- throw new Error("getPeerId called more times than expected");
106
- return id;
107
- };
108
- const first = await registry.registerAgent({
109
- name: "one",
110
- harness: "pi",
111
- cwd: "/tmp/same",
112
- pid: 1,
113
- visibility: "visible",
114
- tags: [],
115
- });
116
- const second = await registry.registerAgent({
117
- name: "two",
118
- harness: "pi",
119
- cwd: "/tmp/same",
120
- pid: 2,
121
- visibility: "hidden",
122
- tags: ["updated"],
123
- });
124
- expect(second.id).toBe(first.id);
125
- expect(nextId).toBe(1);
126
- expect(second.name).toBe("two");
127
- expect(second.visibility).toBe("hidden");
128
- expect(second.pid).toBe(2);
129
- expect(second.tags).toEqual(["updated"]);
130
- });
131
- });
132
- describe("AgentRegistry — getAgent", () => {
133
- it("returns the stored agent for a known id, undefined for an unknown one", async () => {
134
- const { registry, deps } = makeHarness();
135
- const a = agent();
136
- deps.agents.set(a.id, a);
137
- await expect(registry.getAgent(a.id)).resolves.toEqual(a);
138
- await expect(registry.getAgent("nobody")).resolves.toBeUndefined();
139
- });
140
- it("falls back to a gossip-discovered device not locally registered, as the same placeholder shape listAgents synthesises (agent-comms#155: a remote, hub-learned agent never lands in deps.agents at all)", async () => {
141
- const { registry, deps } = makeHarness();
142
- deps.requireTransport = () => ({
143
- listKnownDevices: () => [
144
- {
145
- deviceId: "remote-device",
146
- advert: {
147
- "agent/self": {
148
- name: "remote-agent",
149
- harness: "codex",
150
- cwd: "/tmp/remote",
151
- pid: 42,
152
- startedAt: "2026-03-03T00:00:00.000Z",
153
- tags: ["from-hub"],
154
- subscribedRooms: [],
155
- },
156
- "presence/status": "idle",
157
- },
158
- },
159
- ],
160
- });
161
- await expect(registry.getAgent("remote-device")).resolves.toMatchObject({
162
- id: "remote-device",
163
- name: "remote-agent",
164
- harness: "codex",
165
- cwd: "/tmp/remote",
166
- pid: 42,
167
- visibility: "visible",
168
- status: "idle",
169
- tags: ["from-hub"],
170
- });
171
- });
172
- it("prefers a locally-known agent over a same-id gossip-discovered placeholder", async () => {
173
- const { registry, deps } = makeHarness();
174
- const local = agent({ id: "dual-known", name: "local-copy" });
175
- deps.agents.set(local.id, local);
176
- deps.requireTransport = () => ({
177
- listKnownDevices: () => [
178
- {
179
- deviceId: "dual-known",
180
- advert: {
181
- "agent/self": {
182
- name: "stale-gossip-copy",
183
- harness: "codex",
184
- cwd: "/tmp",
185
- pid: 1,
186
- startedAt: "2026-01-01T00:00:00.000Z",
187
- tags: [],
188
- subscribedRooms: [],
189
- },
190
- },
191
- },
192
- ],
193
- });
194
- await expect(registry.getAgent("dual-known")).resolves.toEqual(local);
195
- });
196
- });
197
- describe("AgentRegistry — updateAgent", () => {
198
- let h;
199
- beforeEach(() => {
200
- h = makeHarness();
201
- h.deps.agents.set(OWNER_ID, agent({ name: "old-name", status: "active" }));
202
- });
203
- it("throws a CommsError naming the exact missing agent id when the target doesn't exist", async () => {
204
- await expect(h.registry.updateAgent("missing-id", {})).rejects.toMatchObject(new CommsError("Agent missing-id not found", "AGENT_NOT_FOUND"));
205
- });
206
- it("bumps and persists the merged patch into the agents map", async () => {
207
- const updated = await h.registry.updateAgent(OWNER_ID, {
208
- pid: UPDATED_PID,
209
- });
210
- expect(h.bump).toHaveBeenCalledWith(updated);
211
- expect(h.deps.agents.get(OWNER_ID)).toEqual(updated);
212
- expect(updated.pid).toBe(UPDATED_PID);
213
- });
214
- it("notifies rooms of a name change only when the patch actually changes the name", async () => {
215
- await h.registry.updateAgent(OWNER_ID, { name: "new-name" });
216
- expect(h.notifyRoomsOfNameChange).toHaveBeenCalledWith(OWNER_ID, "old-name", "new-name");
217
- });
218
- it("does not notify of a name change when the patch omits name", async () => {
219
- await h.registry.updateAgent(OWNER_ID, { pid: 1 });
220
- expect(h.notifyRoomsOfNameChange).not.toHaveBeenCalled();
221
- });
222
- it("does not notify of a name change when the patch repeats the current name", async () => {
223
- await h.registry.updateAgent(OWNER_ID, { name: "old-name" });
224
- expect(h.notifyRoomsOfNameChange).not.toHaveBeenCalled();
225
- });
226
- it("notifies rooms of a status change only when the patch actually changes the status", async () => {
227
- await h.registry.updateAgent(OWNER_ID, { status: "offline" });
228
- expect(h.notifyRoomsOfStatus).toHaveBeenCalledWith(OWNER_ID, "offline");
229
- });
230
- it("does not notify of a status change when the patch omits status", async () => {
231
- await h.registry.updateAgent(OWNER_ID, { pid: 1 });
232
- expect(h.notifyRoomsOfStatus).not.toHaveBeenCalled();
233
- });
234
- it("does not notify of a status change when the patch repeats the current status", async () => {
235
- await h.registry.updateAgent(OWNER_ID, { status: "active" });
236
- expect(h.notifyRoomsOfStatus).not.toHaveBeenCalled();
237
- });
238
- });
239
- describe("AgentRegistry — listAgents", () => {
240
- it("excludes a ghost agent from a different requester's view", async () => {
241
- const { registry, deps } = makeHarness();
242
- deps.agents.set("ghost-agent", agent({ id: "ghost-agent", visibility: "ghost" }));
243
- deps.agents.set("visible-agent", agent({ id: "visible-agent", visibility: "visible" }));
244
- const result = await registry.listAgents("some-requester");
245
- expect(result.map((a) => a.id)).toEqual(["visible-agent"]);
246
- });
247
- it("includes a ghost agent in its own view of itself", async () => {
248
- const { registry, deps } = makeHarness();
249
- deps.agents.set("ghost-agent", agent({ id: "ghost-agent", visibility: "ghost" }));
250
- const result = await registry.listAgents("ghost-agent");
251
- expect(result.map((a) => a.id)).toEqual(["ghost-agent"]);
252
- });
253
- it("always includes a non-ghost agent regardless of who's asking", async () => {
254
- const { registry, deps } = makeHarness();
255
- deps.agents.set("visible-agent", agent({ id: "visible-agent", visibility: "visible" }));
256
- const result = await registry.listAgents("anyone-else");
257
- expect(result.map((a) => a.id)).toEqual(["visible-agent"]);
258
- });
259
- it("merges in a gossip-discovered agent not otherwise locally known, as a placeholder-shaped AgentIdentity", async () => {
260
- const { registry, deps } = makeHarness();
261
- deps.requireTransport = () => ({
262
- listKnownDevices: () => [
263
- {
264
- deviceId: "discovered-device",
265
- advert: {
266
- "agent/self": {
267
- name: "discovered-agent",
268
- harness: "codex",
269
- cwd: "/tmp/discovered",
270
- pid: 7,
271
- startedAt: "2026-02-02T00:00:00.000Z",
272
- tags: ["from-gossip"],
273
- subscribedRooms: [],
274
- },
275
- "presence/status": "busy",
276
- },
277
- },
278
- ],
279
- });
280
- const result = await registry.listAgents("some-requester");
281
- const discovered = result.find((a) => a.id === "discovered-device");
282
- expect(discovered).toMatchObject({
283
- id: "discovered-device",
284
- name: "discovered-agent",
285
- harness: "codex",
286
- cwd: "/tmp/discovered",
287
- pid: 7,
288
- startedAt: "2026-02-02T00:00:00.000Z",
289
- visibility: "visible",
290
- status: "busy",
291
- tags: ["from-gossip"],
292
- subscribedRooms: [],
293
- });
294
- });
295
- it("lists an agent that came through a hub by its summary alone, and records that its details were not shared", async () => {
296
- const { registry, deps } = makeHarness();
297
- deps.requireTransport = () => ({
298
- listKnownDevices: () => [
299
- {
300
- deviceId: "hub-device",
301
- advert: {
302
- "agent/self": { name: "hub-agent", harness: "codex" },
303
- "presence/status": "idle",
304
- },
305
- },
306
- ],
307
- });
308
- const result = await registry.listAgents("some-requester");
309
- const discovered = result.find((a) => a.id === "hub-device");
310
- expect(discovered).toMatchObject({
311
- name: "hub-agent",
312
- harness: "codex",
313
- status: "idle",
314
- cwd: "",
315
- pid: 0,
316
- tags: [],
317
- subscribedRooms: [],
318
- });
319
- expect(discovered !== undefined && detailsShared(discovered)).toBe(false);
320
- });
321
- it("treats a peer's advert that shares its details as shared", async () => {
322
- const { registry, deps } = makeHarness();
323
- deps.requireTransport = () => ({
324
- listKnownDevices: () => [
325
- {
326
- deviceId: "direct-device",
327
- advert: {
328
- "agent/self": {
329
- name: "direct-agent",
330
- harness: "codex",
331
- cwd: "/tmp/direct",
332
- pid: 9,
333
- startedAt: "2026-02-02T00:00:00.000Z",
334
- tags: [],
335
- subscribedRooms: [],
336
- },
337
- },
338
- },
339
- ],
340
- });
341
- const result = await registry.listAgents("some-requester");
342
- const discovered = result.find((a) => a.id === "direct-device");
343
- expect(discovered !== undefined && detailsShared(discovered)).toBe(true);
344
- });
345
- it("ignores an advert whose optional details have the wrong type", async () => {
346
- const { registry, deps } = makeHarness();
347
- deps.requireTransport = () => ({
348
- listKnownDevices: () => [
349
- {
350
- deviceId: "bad-device",
351
- advert: {
352
- "agent/self": { name: "n", harness: "h", cwd: 42 },
353
- },
354
- },
355
- ],
356
- });
357
- const result = await registry.listAgents("some-requester");
358
- expect(result.some((a) => a.id === "bad-device")).toBe(false);
359
- });
360
- it("never lets a gossip-discovered agent shadow an agent this store already knows locally", async () => {
361
- const { registry, deps } = makeHarness();
362
- deps.agents.set("already-known", agent({ id: "already-known", name: "real-agent" }));
363
- deps.requireTransport = () => ({
364
- listKnownDevices: () => [
365
- {
366
- deviceId: "already-known",
367
- advert: {
368
- "agent/self": {
369
- name: "stale-gossip-copy",
370
- harness: "codex",
371
- cwd: "/tmp",
372
- pid: 1,
373
- startedAt: "2026-01-01T00:00:00.000Z",
374
- tags: [],
375
- subscribedRooms: [],
376
- },
377
- },
378
- },
379
- ],
380
- });
381
- const result = await registry.listAgents("some-requester");
382
- expect(result.filter((a) => a.id === "already-known")).toHaveLength(1);
383
- expect(result.find((a) => a.id === "already-known")?.name).toBe("real-agent");
384
- });
385
- it("ignores a transport with no listKnownDevices capability, matching every construction site that predates this feature", async () => {
386
- const { registry, deps } = makeHarness();
387
- deps.agents.set("visible-agent", agent({ id: "visible-agent", visibility: "visible" }));
388
- const result = await registry.listAgents("anyone-else");
389
- expect(result.map((a) => a.id)).toEqual(["visible-agent"]);
390
- });
391
- });
392
- describe("AgentRegistry — gossip-discovered presence staleness (agent-comms#301)", () => {
393
- const NOW_MS = new Date("2026-06-01T00:00:00.000Z").getTime();
394
- const MS_PER_SECOND = 1000;
395
- beforeEach(() => {
396
- vi.useFakeTimers();
397
- vi.setSystemTime(NOW_MS);
398
- });
399
- afterEach(() => {
400
- vi.useRealTimers();
401
- });
402
- /** A discovered-device advert whose snapshot-seconds is ageMs old as of NOW_MS, carrying whatever presence status (or none) the test passes. */
403
- function advertAgedMs(ageMs, presenceStatus) {
404
- return {
405
- "agent/self": {
406
- name: "discovered-agent",
407
- harness: "codex",
408
- cwd: "/tmp/discovered",
409
- pid: 7,
410
- startedAt: "2026-02-02T00:00:00.000Z",
411
- tags: [],
412
- subscribedRooms: [],
413
- },
414
- "snapshot-seconds": Math.floor((NOW_MS - ageMs) / MS_PER_SECOND),
415
- ...(presenceStatus !== undefined
416
- ? { "presence/status": presenceStatus }
417
- : {}),
418
- };
419
- }
420
- function withKnownDevice(deps, advert) {
421
- deps.requireTransport = () => ({
422
- listKnownDevices: () => [{ deviceId: "discovered-device", advert }],
423
- });
424
- }
425
- it("trusts a fresh advert's own presence status", async () => {
426
- const { registry, deps } = makeHarness();
427
- withKnownDevice(deps, advertAgedMs(0, "busy"));
428
- const result = await registry.listAgents("some-requester");
429
- expect(result.find((a) => a.id === "discovered-device")?.status).toBe("busy");
430
- });
431
- it("still trusts the advert's own presence status exactly at the staleness boundary", async () => {
432
- const { registry, deps } = makeHarness();
433
- withKnownDevice(deps, advertAgedMs(DEFAULT_PRESENCE_STALE_AFTER_MS, "busy"));
434
- const result = await registry.listAgents("some-requester");
435
- expect(result.find((a) => a.id === "discovered-device")?.status).toBe("busy");
436
- });
437
- it("reports offline once the advert is older than the staleness window, regardless of the presence status it carried", async () => {
438
- const { registry, deps } = makeHarness();
439
- withKnownDevice(deps, advertAgedMs(DEFAULT_PRESENCE_STALE_AFTER_MS + 1, "active"));
440
- const result = await registry.listAgents("some-requester");
441
- expect(result.find((a) => a.id === "discovered-device")?.status).toBe("offline");
442
- });
443
- it("reports offline for a stale advert that never carried a presence status at all, rather than defaulting to active", async () => {
444
- const { registry, deps } = makeHarness();
445
- withKnownDevice(deps, advertAgedMs(DEFAULT_PRESENCE_STALE_AFTER_MS + 1));
446
- const result = await registry.listAgents("some-requester");
447
- expect(result.find((a) => a.id === "discovered-device")?.status).toBe("offline");
448
- });
449
- it("defaults a fresh advert with no presence status to active, unchanged from before agent-comms#301", async () => {
450
- const { registry, deps } = makeHarness();
451
- withKnownDevice(deps, advertAgedMs(0));
452
- const result = await registry.listAgents("some-requester");
453
- expect(result.find((a) => a.id === "discovered-device")?.status).toBe("active");
454
- });
455
- it("leaves staleness unjudged for an advert with no snapshot-seconds at all, trusting whatever presence status it carries", async () => {
456
- const { registry, deps } = makeHarness();
457
- const advert = advertAgedMs(0, "idle");
458
- delete advert["snapshot-seconds"];
459
- withKnownDevice(deps, advert);
460
- const result = await registry.listAgents("some-requester");
461
- expect(result.find((a) => a.id === "discovered-device")?.status).toBe("idle");
462
- });
463
- it("reads the staleness window from deps.presenceStaleAfterMs, not a hardcoded default", async () => {
464
- const SHORT_STALE_AFTER_MS = 5000;
465
- const { registry, deps } = makeHarness();
466
- deps.presenceStaleAfterMs = SHORT_STALE_AFTER_MS;
467
- withKnownDevice(deps, advertAgedMs(SHORT_STALE_AFTER_MS + 1, "active"));
468
- const result = await registry.listAgents("some-requester");
469
- expect(result.find((a) => a.id === "discovered-device")?.status).toBe("offline");
470
- });
471
- });
472
- describe("AgentRegistry — setAgentOffline", () => {
473
- it("is a no-op for an unknown agent id", async () => {
474
- const h = makeHarness();
475
- await h.registry.setAgentOffline("unknown");
476
- expect(h.bump).not.toHaveBeenCalled();
477
- });
478
- it("is a no-op for an agent already offline", async () => {
479
- const h = makeHarness();
480
- h.deps.agents.set(OWNER_ID, agent({ status: "offline" }));
481
- await h.registry.setAgentOffline(OWNER_ID);
482
- expect(h.bump).not.toHaveBeenCalled();
483
- expect(h.notifyRoomsOfStatus).not.toHaveBeenCalled();
484
- });
485
- it("for the owning peer's own agent, sets status offline, bumps, persists, and broadcasts to rooms/mesh", async () => {
486
- const h = makeHarness(OWNER_ID);
487
- h.deps.agents.set(OWNER_ID, agent({ status: "active" }));
488
- await h.registry.setAgentOffline(OWNER_ID);
489
- expect(h.deps.agents.get(OWNER_ID)?.status).toBe("offline");
490
- expect(h.bump).toHaveBeenCalledTimes(1);
491
- expect(h.notifyRoomsOfStatus).toHaveBeenCalledWith(OWNER_ID, "offline");
492
- expect(h.broadcastPatch).toHaveBeenCalledWith({
493
- type: "agent_offline",
494
- agentId: OWNER_ID,
495
- });
496
- });
497
- it("for a non-owning peer's agent, updates local state but does not broadcast anything", async () => {
498
- const h = makeHarness(OWNER_ID);
499
- h.deps.agents.set(OTHER_ID, agent({ id: OTHER_ID, status: "active" }));
500
- await h.registry.setAgentOffline(OTHER_ID);
501
- expect(h.deps.agents.get(OTHER_ID)?.status).toBe("offline");
502
- expect(h.bump).toHaveBeenCalledTimes(1);
503
- expect(h.notifyRoomsOfStatus).not.toHaveBeenCalled();
504
- expect(h.broadcastPatch).not.toHaveBeenCalled();
505
- });
506
- });
507
- //# sourceMappingURL=agent-registry.unit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-registry.unit.test.js","sourceRoot":"","sources":["../../src/test/agent-registry.unit.test.ts"],"names":[],"mappings":"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"}