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