agent-comms 8.6.2 → 8.8.0
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 +34 -3
- package/dist/account-cli.d.ts +34 -0
- package/dist/account-cli.d.ts.map +1 -0
- package/dist/account-cli.js +140 -0
- package/dist/account-cli.js.map +1 -0
- package/dist/account-join-cli.d.ts +17 -0
- package/dist/account-join-cli.d.ts.map +1 -0
- package/dist/account-join-cli.js +144 -0
- package/dist/account-join-cli.js.map +1 -0
- package/dist/bridges/mcp/server.d.ts +1 -4
- package/dist/bridges/mcp/server.d.ts.map +1 -1
- package/dist/bridges/mcp/server.js +1 -1
- package/dist/bridges/mcp/server.js.map +1 -1
- package/dist/bridges/user/web/dist/mesh-worker.js +1 -1
- package/dist/bridges/user/web/dist/sw.js +1 -1
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +24 -1
- package/dist/cli.js.map +1 -1
- package/dist/core/account-bundle.d.ts +27 -0
- package/dist/core/account-bundle.d.ts.map +1 -0
- package/dist/core/account-bundle.js +173 -0
- package/dist/core/account-bundle.js.map +1 -0
- package/dist/core/account-join.d.ts +70 -0
- package/dist/core/account-join.d.ts.map +1 -0
- package/dist/core/account-join.js +183 -0
- package/dist/core/account-join.js.map +1 -0
- package/dist/core/account-ledger-crypto.d.ts +28 -0
- package/dist/core/account-ledger-crypto.d.ts.map +1 -0
- package/dist/core/account-ledger-crypto.js +101 -0
- package/dist/core/account-ledger-crypto.js.map +1 -0
- package/dist/core/account-ledger-store.d.ts +21 -0
- package/dist/core/account-ledger-store.d.ts.map +1 -0
- package/dist/core/account-ledger-store.js +34 -0
- package/dist/core/account-ledger-store.js.map +1 -0
- package/dist/core/account-ledger.d.ts +80 -0
- package/dist/core/account-ledger.d.ts.map +1 -0
- package/dist/core/account-ledger.js +247 -0
- package/dist/core/account-ledger.js.map +1 -0
- package/dist/core/agent-registry.d.ts.map +1 -1
- package/dist/core/agent-registry.js +2 -0
- package/dist/core/agent-registry.js.map +1 -1
- package/dist/core/bridge-mesh.d.ts.map +1 -1
- package/dist/core/bridge-mesh.js +12 -1
- package/dist/core/bridge-mesh.js.map +1 -1
- package/dist/core/bridge.d.ts +1 -0
- package/dist/core/bridge.d.ts.map +1 -1
- package/dist/core/bridge.js +6 -0
- package/dist/core/bridge.js.map +1 -1
- package/dist/core/data-frame-routing.d.ts +50 -3
- package/dist/core/data-frame-routing.d.ts.map +1 -1
- package/dist/core/data-frame-routing.js +112 -5
- package/dist/core/data-frame-routing.js.map +1 -1
- package/dist/core/device-membership.d.ts +8 -8
- package/dist/core/device-membership.d.ts.map +1 -1
- package/dist/core/device-membership.js +17 -16
- package/dist/core/device-membership.js.map +1 -1
- package/dist/core/dm-send-delegation.d.ts +4 -4
- package/dist/core/dm-send-delegation.d.ts.map +1 -1
- package/dist/core/dm-send-delegation.js +2 -3
- package/dist/core/dm-send-delegation.js.map +1 -1
- package/dist/core/gossip-directory.d.ts +4 -2
- package/dist/core/gossip-directory.d.ts.map +1 -1
- package/dist/core/gossip-directory.js +4 -5
- package/dist/core/gossip-directory.js.map +1 -1
- package/dist/core/gossip-extensions.d.ts +2 -0
- package/dist/core/gossip-extensions.d.ts.map +1 -1
- package/dist/core/gossip-extensions.js +3 -0
- package/dist/core/gossip-extensions.js.map +1 -1
- package/dist/core/group-proofs.d.ts +15 -6
- package/dist/core/group-proofs.d.ts.map +1 -1
- package/dist/core/group-proofs.js +73 -18
- package/dist/core/group-proofs.js.map +1 -1
- package/dist/core/identity-store.d.ts.map +1 -1
- package/dist/core/identity-store.js +2 -62
- package/dist/core/identity-store.js.map +1 -1
- package/dist/core/issuer-grouping.d.ts +52 -0
- package/dist/core/issuer-grouping.d.ts.map +1 -0
- package/dist/core/{machine-grouping.js → issuer-grouping.js} +33 -33
- package/dist/core/issuer-grouping.js.map +1 -0
- package/dist/core/issuer-identity-file.d.ts +4 -0
- package/dist/core/issuer-identity-file.d.ts.map +1 -1
- package/dist/core/issuer-identity-file.js +7 -5
- package/dist/core/issuer-identity-file.js.map +1 -1
- package/dist/core/ledger-lock.d.ts +12 -0
- package/dist/core/ledger-lock.d.ts.map +1 -0
- package/dist/core/ledger-lock.js +62 -0
- package/dist/core/ledger-lock.js.map +1 -0
- package/dist/core/membership-proofs.d.ts +7 -0
- package/dist/core/membership-proofs.d.ts.map +1 -1
- package/dist/core/membership-proofs.js +26 -1
- package/dist/core/membership-proofs.js.map +1 -1
- package/dist/core/mesh-store-shared.d.ts +4 -1
- package/dist/core/mesh-store-shared.d.ts.map +1 -1
- package/dist/core/mesh-store-shared.js.map +1 -1
- package/dist/core/mesh-store.d.ts +17 -8
- package/dist/core/mesh-store.d.ts.map +1 -1
- package/dist/core/mesh-store.js +44 -42
- package/dist/core/mesh-store.js.map +1 -1
- package/dist/core/naming-actions.d.ts +5 -1
- package/dist/core/naming-actions.d.ts.map +1 -1
- package/dist/core/naming-actions.js +13 -1
- package/dist/core/naming-actions.js.map +1 -1
- package/dist/core/naming.d.ts +9 -5
- package/dist/core/naming.d.ts.map +1 -1
- package/dist/core/naming.js +14 -4
- package/dist/core/naming.js.map +1 -1
- package/dist/core/peer-versions.d.ts +11 -0
- package/dist/core/peer-versions.d.ts.map +1 -1
- package/dist/core/peer-versions.js +9 -0
- package/dist/core/peer-versions.js.map +1 -1
- package/dist/core/pid-lock-file.d.ts +20 -0
- package/dist/core/pid-lock-file.d.ts.map +1 -0
- package/dist/core/pid-lock-file.js +115 -0
- package/dist/core/pid-lock-file.js.map +1 -0
- package/dist/core/room-lifecycle.d.ts +2 -2
- package/dist/core/room-lifecycle.d.ts.map +1 -1
- package/dist/core/room-lifecycle.js +18 -19
- package/dist/core/room-lifecycle.js.map +1 -1
- package/dist/core/self-name-claim.d.ts +27 -0
- package/dist/core/self-name-claim.d.ts.map +1 -0
- package/dist/core/{machine-name-claim.js → self-name-claim.js} +7 -8
- package/dist/core/self-name-claim.js.map +1 -0
- package/dist/core/tool.d.ts.map +1 -1
- package/dist/core/tool.js +11 -7
- package/dist/core/tool.js.map +1 -1
- package/dist/core/transport-queries.d.ts +11 -0
- package/dist/core/transport-queries.d.ts.map +1 -0
- package/dist/core/transport-queries.js +30 -0
- package/dist/core/transport-queries.js.map +1 -0
- package/dist/core/types.d.ts +6 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +5 -0
- package/dist/core/types.js.map +1 -1
- package/dist/core/user-identity.d.ts +28 -18
- package/dist/core/user-identity.d.ts.map +1 -1
- package/dist/core/user-identity.js +126 -59
- package/dist/core/user-identity.js.map +1 -1
- package/dist/core/wire-mesh-transport-options.d.ts +11 -2
- package/dist/core/wire-mesh-transport-options.d.ts.map +1 -1
- package/dist/core/wire-mesh-transport-options.js.map +1 -1
- package/dist/core/wire-mesh-transport.d.ts +4 -6
- package/dist/core/wire-mesh-transport.d.ts.map +1 -1
- package/dist/core/wire-mesh-transport.js +16 -20
- package/dist/core/wire-mesh-transport.js.map +1 -1
- package/dist/test/account-join.integration.test.d.ts +5 -0
- package/dist/test/account-join.integration.test.d.ts.map +1 -0
- package/dist/test/account-join.integration.test.js +280 -0
- package/dist/test/account-join.integration.test.js.map +1 -0
- package/dist/test/account-ledger-lock-worker.d.ts +9 -0
- package/dist/test/account-ledger-lock-worker.d.ts.map +1 -0
- package/dist/test/account-ledger-lock-worker.js +34 -0
- package/dist/test/account-ledger-lock-worker.js.map +1 -0
- package/dist/test/account-ledger-lock.integration.test.d.ts +5 -0
- package/dist/test/account-ledger-lock.integration.test.d.ts.map +1 -0
- package/dist/test/account-ledger-lock.integration.test.js +71 -0
- package/dist/test/account-ledger-lock.integration.test.js.map +1 -0
- package/dist/test/account-ledger-replication.integration.test.d.ts +5 -0
- package/dist/test/account-ledger-replication.integration.test.d.ts.map +1 -0
- package/dist/test/account-ledger-replication.integration.test.js +145 -0
- package/dist/test/account-ledger-replication.integration.test.js.map +1 -0
- package/dist/test/account-ledger.unit.test.d.ts +5 -0
- package/dist/test/account-ledger.unit.test.d.ts.map +1 -0
- package/dist/test/account-ledger.unit.test.js +317 -0
- package/dist/test/account-ledger.unit.test.js.map +1 -0
- package/dist/test/account-transfer.unit.test.d.ts +5 -0
- package/dist/test/account-transfer.unit.test.d.ts.map +1 -0
- package/dist/test/account-transfer.unit.test.js +232 -0
- package/dist/test/account-transfer.unit.test.js.map +1 -0
- package/dist/test/delivery-engine-delivery.unit.test.js +1 -0
- package/dist/test/delivery-engine-delivery.unit.test.js.map +1 -1
- package/dist/test/delivery-engine-directed-notify.unit.test.js +1 -0
- package/dist/test/delivery-engine-directed-notify.unit.test.js.map +1 -1
- package/dist/test/delivery-engine-own-agent.unit.test.js +1 -0
- package/dist/test/delivery-engine-own-agent.unit.test.js.map +1 -1
- package/dist/test/delivery-engine.unit.test.js +1 -0
- package/dist/test/delivery-engine.unit.test.js.map +1 -1
- package/dist/test/device-membership.unit.test.js +81 -30
- package/dist/test/device-membership.unit.test.js.map +1 -1
- package/dist/test/dm-send-delegation.unit.test.js +25 -14
- package/dist/test/dm-send-delegation.unit.test.js.map +1 -1
- package/dist/test/dm-send-principal-delegation.integration.test.js +9 -2
- package/dist/test/dm-send-principal-delegation.integration.test.js.map +1 -1
- package/dist/test/hidden-line.unit.test.d.ts +5 -0
- package/dist/test/hidden-line.unit.test.d.ts.map +1 -0
- package/dist/test/hidden-line.unit.test.js +40 -0
- package/dist/test/hidden-line.unit.test.js.map +1 -0
- package/dist/test/identity-restart.integration.test.js +8 -1
- package/dist/test/identity-restart.integration.test.js.map +1 -1
- package/dist/test/issuer-grouping.unit.test.d.ts +2 -0
- package/dist/test/issuer-grouping.unit.test.d.ts.map +1 -0
- package/dist/test/issuer-grouping.unit.test.js +137 -0
- package/dist/test/issuer-grouping.unit.test.js.map +1 -0
- package/dist/test/mcp-stdout-channel.integration.test.js +2 -2
- package/dist/test/mcp-stdout-channel.integration.test.js.map +1 -1
- package/dist/test/mesh-smoke.runner.js +2 -1
- package/dist/test/mesh-smoke.runner.js.map +1 -1
- package/dist/test/naming.integration.test.d.ts +1 -1
- package/dist/test/naming.integration.test.js +45 -1
- package/dist/test/naming.integration.test.js.map +1 -1
- package/dist/test/room-join-admission.integration.test.js +8 -1
- package/dist/test/room-join-admission.integration.test.js.map +1 -1
- package/dist/test/room-lifecycle-bare-name.unit.test.js +1 -0
- package/dist/test/room-lifecycle-bare-name.unit.test.js.map +1 -1
- package/dist/test/room-lifecycle-membership.unit.test.js +1 -0
- package/dist/test/room-lifecycle-membership.unit.test.js.map +1 -1
- package/dist/test/room-lifecycle-remote.unit.test.js +1 -0
- package/dist/test/room-lifecycle-remote.unit.test.js.map +1 -1
- package/dist/test/room-lifecycle.unit.test.js +1 -0
- package/dist/test/room-lifecycle.unit.test.js.map +1 -1
- package/dist/test/room-messaging-durable-send.unit.test.js +1 -0
- package/dist/test/room-messaging-durable-send.unit.test.js.map +1 -1
- package/dist/test/room-messaging.unit.test.js +1 -0
- package/dist/test/room-messaging.unit.test.js.map +1 -1
- package/dist/test/room-protocol-notify.unit.test.js +1 -0
- package/dist/test/room-protocol-notify.unit.test.js.map +1 -1
- package/dist/test/room-protocol.helper.d.ts.map +1 -1
- package/dist/test/room-protocol.helper.js +1 -0
- package/dist/test/room-protocol.helper.js.map +1 -1
- package/dist/test/room-send-retry.integration.test.js +8 -1
- package/dist/test/room-send-retry.integration.test.js.map +1 -1
- package/dist/test/test-transport.d.ts +9 -0
- package/dist/test/test-transport.d.ts.map +1 -1
- package/dist/test/test-transport.js +14 -5
- package/dist/test/test-transport.js.map +1 -1
- package/dist/test/user-identity.unit.test.js +92 -99
- package/dist/test/user-identity.unit.test.js.map +1 -1
- package/package.json +1 -1
- package/dist/core/machine-grouping.d.ts +0 -47
- package/dist/core/machine-grouping.d.ts.map +0 -1
- package/dist/core/machine-grouping.js.map +0 -1
- package/dist/core/machine-name-claim.d.ts +0 -22
- package/dist/core/machine-name-claim.d.ts.map +0 -1
- package/dist/core/machine-name-claim.js.map +0 -1
- package/dist/test/machine-grouping.unit.test.d.ts +0 -2
- package/dist/test/machine-grouping.unit.test.d.ts.map +0 -1
- package/dist/test/machine-grouping.unit.test.js +0 -68
- package/dist/test/machine-grouping.unit.test.js.map +0 -1
package/dist/core/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,33 +3,43 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Stored at ~/.agent-comms/user-identity.json (mode 0600), sibling to but distinct from any identity-<harness>--<cwd>.json slot file and to the machine identity (machine-identity.ts). Loading, creation and renewal are issuer-identity-file.ts's, shared with the machine identity; this module adds the principal's own issued-grant bookkeeping to the same record.
|
|
5
5
|
*/
|
|
6
|
+
import type { AccountContents } from "./account-bundle.js";
|
|
6
7
|
import type { PeerIdentity } from "./identity.js";
|
|
7
8
|
export interface UserIdentityOptions {
|
|
8
9
|
/** Directory override for tests; defaults to ~/.agent-comms, the same base directory identity-store.ts's own per-slot files live in. */
|
|
9
10
|
dir?: string;
|
|
10
11
|
}
|
|
12
|
+
/** The directory the user identity and every other per-account file on this machine live in. */
|
|
13
|
+
export declare function userIdentityDir(options?: Readonly<UserIdentityOptions>): string;
|
|
11
14
|
/**
|
|
12
15
|
* Loads the persisted user-principal identity, creating it on first use (issuer-identity-file.ts: exclusive create, renewal in place that keeps the issued-grant bookkeeping, an unusable file refused rather than regenerated).
|
|
13
16
|
*/
|
|
14
17
|
export declare function loadOrCreateUserIdentity(options?: Readonly<UserIdentityOptions>): PeerIdentity;
|
|
18
|
+
/** This machine's writer nonce for the account ledger, generated and persisted on first use. Two processes racing to create it can each end up with a different one; that is harmless, since each writes its own writer log and the ledger is the union of every writer log the account key recognises. What must never happen is two machines sharing one, which is why it is not part of an exported account. */
|
|
19
|
+
export declare function loadOrCreateLedgerWriterNonce(options: Readonly<UserIdentityOptions> | undefined, generate: () => Uint8Array): Uint8Array<ArrayBuffer>;
|
|
20
|
+
/** One grant a build before the replicated ledger recorded in user-identity.json. */
|
|
21
|
+
export interface LegacyIssuedGrant {
|
|
22
|
+
kind: "device" | "dm";
|
|
23
|
+
subject: string;
|
|
24
|
+
tokenId: Uint8Array<ArrayBuffer>;
|
|
25
|
+
}
|
|
26
|
+
/** Every issued grant a pre-ledger build left in user-identity.json, still waiting to be migrated into the replicated ledger. Empty once migrated, or for an identity created by this build. */
|
|
27
|
+
export declare function readLegacyIssuedGrants(options: Readonly<UserIdentityOptions> | undefined): LegacyIssuedGrant[];
|
|
28
|
+
/** Removes exactly the given legacy grants from user-identity.json once they are in the ledger. The file is re-read first, so a grant written meanwhile by an older build still running on this machine stays for the next migration rather than being lost. */
|
|
29
|
+
export declare function clearLegacyIssuedGrants(options: Readonly<UserIdentityOptions> | undefined, migrated: readonly Readonly<LegacyIssuedGrant>[]): void;
|
|
30
|
+
/** The name this account asserts for itself, or undefined when it has none or the account has not been created yet. Read from disk on every call, so a name set by any bridge on this machine is seen by all of them. */
|
|
31
|
+
export declare function loadUserDisplayName(options?: Readonly<UserIdentityOptions>): string | undefined;
|
|
32
|
+
/** Sets (or, given undefined, clears) the name this account asserts for itself, keeping the key material and every other field. Throws if the account has not been created yet. */
|
|
33
|
+
export declare function saveUserDisplayName(options: Readonly<UserIdentityOptions> | undefined, displayName: string | undefined): void;
|
|
34
|
+
/** What an export or a join carries of the account: its PEM private key and the name it asserts for itself, if any. Throws if the principal has never been created. */
|
|
35
|
+
export declare function readAccountContents(options: Readonly<UserIdentityOptions> | undefined): AccountContents;
|
|
36
|
+
/** Where a replaced account's record is kept when a different account is imported over it: its key is still the only one that can revoke what it issued, so it is set aside rather than destroyed. */
|
|
37
|
+
export declare function replacedUserIdentityFile(options: Readonly<UserIdentityOptions> | undefined, replaced: Readonly<PeerIdentity>): string;
|
|
15
38
|
/**
|
|
16
|
-
*
|
|
17
|
-
*/
|
|
18
|
-
export declare function loadIssuedDeviceGrant(options: Readonly<UserIdentityOptions> | undefined, deviceHex: string): Uint8Array<ArrayBuffer> | undefined;
|
|
19
|
-
/**
|
|
20
|
-
* Records the token-id of a group:member grant this principal has just minted for deviceHex, surviving a restart the same way the principal's own key material does. Overwrites any earlier record for the same device -- a fresh admission always supersedes the grant it replaces, so only the current token-id is ever worth revoking. Mirrors identity-store.ts's own saveIssuedRoomGrant.
|
|
21
|
-
*/
|
|
22
|
-
export declare function saveIssuedDeviceGrant(options: Readonly<UserIdentityOptions> | undefined, deviceHex: string, tokenId: Uint8Array): void;
|
|
23
|
-
/** Removes the recorded token-id for one device's own grant, if any -- called once a removal has revoked it, so a later re-admission mints and records a genuinely fresh one rather than leaving a stale entry alongside it. A no-op if none was recorded. Mirrors identity-store.ts's own deleteIssuedRoomGrant. */
|
|
24
|
-
export declare function deleteIssuedDeviceGrant(options: Readonly<UserIdentityOptions> | undefined, deviceHex: string): void;
|
|
25
|
-
/**
|
|
26
|
-
* The token-id this principal has itself minted for bearerDeviceHex's own dm:send grant (agent-comms#162), or undefined if none is on record (this principal has never admitted that device, or the record predates this bookkeeping, or the principal identity has never been created at all). A user consults this to revoke a specific agent's own DM access later -- a token-id, unlike the token itself, is never presented on the wire and so is never obtainable except from this identity's own memory of having minted it. Mirrors loadIssuedDeviceGrant above.
|
|
27
|
-
*/
|
|
28
|
-
export declare function loadIssuedDmGrant(options: Readonly<UserIdentityOptions> | undefined, bearerDeviceHex: string): Uint8Array<ArrayBuffer> | undefined;
|
|
29
|
-
/**
|
|
30
|
-
* Records the token-id of a dm:send grant this principal has just minted for bearerDeviceHex, surviving a restart the same way the identity itself does. Overwrites any earlier record for the same bearer -- a fresh admission always supersedes the grant it replaces, so only the current token-id is ever worth revoking. Throws if this principal has never been created (call loadOrCreateUserIdentity first). Mirrors saveIssuedDeviceGrant above.
|
|
39
|
+
* Makes this machine hold the account whose contents are given, the deliberate copy that lets one principal span machines. The key is re-certified here (the device-id, which is the account's identity, depends only on the key). The name the account asserts for itself comes with it; an import carrying none leaves the name of the account already held untouched. This machine's own ledger writer nonce is kept, since it belongs to the machine, not the account. A different account already held here is moved aside to replacedUserIdentityFile first, never overwritten (see setAside for a record already set aside there); importing the account already held changes nothing but that name. Returns the imported identity and, when one was replaced, where the old record now is.
|
|
31
40
|
*/
|
|
32
|
-
export declare function
|
|
33
|
-
|
|
34
|
-
|
|
41
|
+
export declare function importAccountKey(options: Readonly<UserIdentityOptions> | undefined, contents: Readonly<AccountContents>): {
|
|
42
|
+
identity: PeerIdentity;
|
|
43
|
+
replacedFile?: string;
|
|
44
|
+
};
|
|
35
45
|
//# sourceMappingURL=user-identity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-identity.d.ts","sourceRoot":"","sources":["../../src/core/user-identity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"user-identity.d.ts","sourceRoot":"","sources":["../../src/core/user-identity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAYlD,MAAM,WAAW,mBAAmB;IAClC,wIAAwI;IACxI,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAkCD,gGAAgG;AAChG,wBAAgB,eAAe,CAC7B,OAAO,CAAC,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GACtC,MAAM,CAER;AAkBD;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,CAAC,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GACtC,YAAY,CAKd;AAaD,mZAAmZ;AACnZ,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,SAAS,EAClD,QAAQ,EAAE,MAAM,UAAU,GACzB,UAAU,CAAC,WAAW,CAAC,CAYzB;AAED,qFAAqF;AACrF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;CAClC;AAaD,gMAAgM;AAChM,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,SAAS,GACjD,iBAAiB,EAAE,CAMrB;AAsBD,gQAAgQ;AAChQ,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,SAAS,EAClD,QAAQ,EAAE,SAAS,QAAQ,CAAC,iBAAiB,CAAC,EAAE,GAC/C,IAAI,CAWN;AAED,yNAAyN;AACzN,wBAAgB,mBAAmB,CACjC,OAAO,CAAC,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GACtC,MAAM,GAAG,SAAS,CAEpB;AAED,mLAAmL;AACnL,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,SAAS,EAClD,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,IAAI,CAMN;AAED,uKAAuK;AACvK,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,SAAS,GACjD,eAAe,CAQjB;AAED,sMAAsM;AACtM,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,SAAS,EAClD,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,GAC/B,MAAM,CAKR;AAkBD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,SAAS,EAClD,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,GAClC;IAAE,QAAQ,EAAE,YAAY,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAkCnD"}
|
|
@@ -3,9 +3,12 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Stored at ~/.agent-comms/user-identity.json (mode 0600), sibling to but distinct from any identity-<harness>--<cwd>.json slot file and to the machine identity (machine-identity.ts). Loading, creation and renewal are issuer-identity-file.ts's, shared with the machine identity; this module adds the principal's own issued-grant bookkeeping to the same record.
|
|
5
5
|
*/
|
|
6
|
+
import * as fs from "node:fs";
|
|
6
7
|
import * as os from "node:os";
|
|
7
8
|
import * as path from "node:path";
|
|
8
|
-
import {
|
|
9
|
+
import { certifyKeyPair } from "./identity.js";
|
|
10
|
+
import { CommsError } from "./store.js";
|
|
11
|
+
import { isStoredIssuerKey, issuerKeyRecord, issuerPeerIdentity, loadOrCreateIssuerIdentity, readIssuerRecord, writeIssuerRecord, } from "./issuer-identity-file.js";
|
|
9
12
|
function isStringRecord(value) {
|
|
10
13
|
if (typeof value !== "object" || value === null)
|
|
11
14
|
return false;
|
|
@@ -19,11 +22,18 @@ function isStoredUserIdentity(value) {
|
|
|
19
22
|
return false;
|
|
20
23
|
if ("issuedDmGrants" in value && !isStringRecord(value.issuedDmGrants))
|
|
21
24
|
return false;
|
|
25
|
+
if ("ledgerWriter" in value && typeof value.ledgerWriter !== "string")
|
|
26
|
+
return false;
|
|
27
|
+
if ("displayName" in value && typeof value.displayName !== "string")
|
|
28
|
+
return false;
|
|
22
29
|
return true;
|
|
23
30
|
}
|
|
31
|
+
/** The directory the user identity and every other per-account file on this machine live in. */
|
|
32
|
+
export function userIdentityDir(options) {
|
|
33
|
+
return options?.dir ?? path.join(os.homedir(), ".agent-comms");
|
|
34
|
+
}
|
|
24
35
|
function userIdentityFile(options) {
|
|
25
|
-
|
|
26
|
-
return path.join(dir, "user-identity.json");
|
|
36
|
+
return path.join(userIdentityDir(options), "user-identity.json");
|
|
27
37
|
}
|
|
28
38
|
function writeStoredUserIdentity(file, stored) {
|
|
29
39
|
writeIssuerRecord(file, stored);
|
|
@@ -38,74 +48,131 @@ function readStoredUserIdentity(file) {
|
|
|
38
48
|
export function loadOrCreateUserIdentity(options) {
|
|
39
49
|
return loadOrCreateIssuerIdentity(userIdentityFile(options), isStoredUserIdentity);
|
|
40
50
|
}
|
|
41
|
-
/**
|
|
42
|
-
|
|
43
|
-
*/
|
|
44
|
-
export function loadIssuedDeviceGrant(options, deviceHex) {
|
|
45
|
-
const file = userIdentityFile(options);
|
|
51
|
+
/** Reads the persisted record, throwing if the principal has never been created: every ledger function below needs the key it belongs to. */
|
|
52
|
+
function requireStoredUserIdentity(file) {
|
|
46
53
|
const stored = readStoredUserIdentity(file);
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
54
|
+
if (stored === undefined) {
|
|
55
|
+
throw new Error(`no user identity persisted yet; call loadOrCreateUserIdentity first (${file})`);
|
|
56
|
+
}
|
|
57
|
+
return stored;
|
|
51
58
|
}
|
|
52
|
-
/**
|
|
53
|
-
|
|
54
|
-
*/
|
|
55
|
-
export function saveIssuedDeviceGrant(options, deviceHex, tokenId) {
|
|
59
|
+
/** This machine's writer nonce for the account ledger, generated and persisted on first use. Two processes racing to create it can each end up with a different one; that is harmless, since each writes its own writer log and the ledger is the union of every writer log the account key recognises. What must never happen is two machines sharing one, which is why it is not part of an exported account. */
|
|
60
|
+
export function loadOrCreateLedgerWriterNonce(options, generate) {
|
|
56
61
|
const file = userIdentityFile(options);
|
|
57
|
-
const stored =
|
|
58
|
-
if (stored
|
|
59
|
-
|
|
62
|
+
const stored = requireStoredUserIdentity(file);
|
|
63
|
+
if (stored.ledgerWriter !== undefined) {
|
|
64
|
+
return Uint8Array.from(Buffer.from(stored.ledgerWriter, "base64"));
|
|
60
65
|
}
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
+
const nonce = Uint8Array.from(generate());
|
|
67
|
+
writeStoredUserIdentity(file, {
|
|
68
|
+
...stored,
|
|
69
|
+
ledgerWriter: Buffer.from(nonce).toString("base64"),
|
|
70
|
+
});
|
|
71
|
+
return nonce;
|
|
66
72
|
}
|
|
67
|
-
|
|
68
|
-
|
|
73
|
+
function legacyEntries(kind, record) {
|
|
74
|
+
return Object.entries(record ?? {}).map(([subject, encoded]) => ({
|
|
75
|
+
kind,
|
|
76
|
+
subject,
|
|
77
|
+
tokenId: Uint8Array.from(Buffer.from(encoded, "base64")),
|
|
78
|
+
}));
|
|
79
|
+
}
|
|
80
|
+
/** Every issued grant a pre-ledger build left in user-identity.json, still waiting to be migrated into the replicated ledger. Empty once migrated, or for an identity created by this build. */
|
|
81
|
+
export function readLegacyIssuedGrants(options) {
|
|
82
|
+
const stored = requireStoredUserIdentity(userIdentityFile(options));
|
|
83
|
+
return [
|
|
84
|
+
...legacyEntries("device", stored.issuedDeviceGrants),
|
|
85
|
+
...legacyEntries("dm", stored.issuedDmGrants),
|
|
86
|
+
];
|
|
87
|
+
}
|
|
88
|
+
function withoutMigrated(record, kind, migrated) {
|
|
89
|
+
if (record === undefined)
|
|
90
|
+
return undefined;
|
|
91
|
+
const done = new Set(migrated
|
|
92
|
+
.filter((grant) => grant.kind === kind)
|
|
93
|
+
.map((grant) => `${grant.subject}:${Buffer.from(grant.tokenId).toString("base64")}`));
|
|
94
|
+
const remaining = Object.entries(record).filter(([subject, encoded]) => !done.has(`${subject}:${encoded}`));
|
|
95
|
+
return remaining.length === 0 ? undefined : Object.fromEntries(remaining);
|
|
96
|
+
}
|
|
97
|
+
/** Removes exactly the given legacy grants from user-identity.json once they are in the ledger. The file is re-read first, so a grant written meanwhile by an older build still running on this machine stays for the next migration rather than being lost. */
|
|
98
|
+
export function clearLegacyIssuedGrants(options, migrated) {
|
|
69
99
|
const file = userIdentityFile(options);
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
100
|
+
const { issuedDeviceGrants, issuedDmGrants, ...rest } = requireStoredUserIdentity(file);
|
|
101
|
+
const device = withoutMigrated(issuedDeviceGrants, "device", migrated);
|
|
102
|
+
const dm = withoutMigrated(issuedDmGrants, "dm", migrated);
|
|
103
|
+
writeStoredUserIdentity(file, {
|
|
104
|
+
...rest,
|
|
105
|
+
...(device === undefined ? {} : { issuedDeviceGrants: device }),
|
|
106
|
+
...(dm === undefined ? {} : { issuedDmGrants: dm }),
|
|
107
|
+
});
|
|
75
108
|
}
|
|
76
|
-
/**
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
109
|
+
/** The name this account asserts for itself, or undefined when it has none or the account has not been created yet. Read from disk on every call, so a name set by any bridge on this machine is seen by all of them. */
|
|
110
|
+
export function loadUserDisplayName(options) {
|
|
111
|
+
return readStoredUserIdentity(userIdentityFile(options))?.displayName;
|
|
112
|
+
}
|
|
113
|
+
/** Sets (or, given undefined, clears) the name this account asserts for itself, keeping the key material and every other field. Throws if the account has not been created yet. */
|
|
114
|
+
export function saveUserDisplayName(options, displayName) {
|
|
80
115
|
const file = userIdentityFile(options);
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
116
|
+
const next = { ...requireStoredUserIdentity(file) };
|
|
117
|
+
if (displayName === undefined)
|
|
118
|
+
delete next.displayName;
|
|
119
|
+
else
|
|
120
|
+
next.displayName = displayName;
|
|
121
|
+
writeStoredUserIdentity(file, next);
|
|
122
|
+
}
|
|
123
|
+
/** What an export or a join carries of the account: its PEM private key and the name it asserts for itself, if any. Throws if the principal has never been created. */
|
|
124
|
+
export function readAccountContents(options) {
|
|
125
|
+
const { privateKey, displayName } = requireStoredUserIdentity(userIdentityFile(options));
|
|
126
|
+
return {
|
|
127
|
+
privateKey,
|
|
128
|
+
...(displayName === undefined ? {} : { displayName }),
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
/** Where a replaced account's record is kept when a different account is imported over it: its key is still the only one that can revoke what it issued, so it is set aside rather than destroyed. */
|
|
132
|
+
export function replacedUserIdentityFile(options, replaced) {
|
|
133
|
+
return path.join(userIdentityDir(options), `user-identity.replaced-${Buffer.from(replaced.deviceId).toString("hex")}.json`);
|
|
134
|
+
}
|
|
135
|
+
/** Keeps `record`, the account being replaced in `currentFile`, at `replacedFile`. A record already there for the same key is from an earlier import that replaced this same account; it is overwritten with the current one, which may carry a renewed certificate, written to a temporary file and renamed into place so the set-aside record is never seen half-written; a file there that does not parse holds no usable record and is overwritten too. A record there holding a different key would be lost by overwriting it, and the file name derives from the key, so that file is damaged: CommsError ACCOUNT_SET_ASIDE_CONFLICT names both files rather than touching either. */
|
|
136
|
+
function setAside(replacedFile, record, currentFile) {
|
|
137
|
+
const earlier = readStoredUserIdentity(replacedFile);
|
|
138
|
+
if (earlier !== undefined && earlier.privateKey !== record.privateKey) {
|
|
139
|
+
throw new CommsError(`Cannot set aside the account in ${currentFile}: ${replacedFile} already exists and holds a different key. Move one of them away and import again.`, "ACCOUNT_SET_ASIDE_CONFLICT");
|
|
140
|
+
}
|
|
141
|
+
writeIssuerRecord(replacedFile, record);
|
|
86
142
|
}
|
|
87
143
|
/**
|
|
88
|
-
*
|
|
144
|
+
* Makes this machine hold the account whose contents are given, the deliberate copy that lets one principal span machines. The key is re-certified here (the device-id, which is the account's identity, depends only on the key). The name the account asserts for itself comes with it; an import carrying none leaves the name of the account already held untouched. This machine's own ledger writer nonce is kept, since it belongs to the machine, not the account. A different account already held here is moved aside to replacedUserIdentityFile first, never overwritten (see setAside for a record already set aside there); importing the account already held changes nothing but that name. Returns the imported identity and, when one was replaced, where the old record now is.
|
|
89
145
|
*/
|
|
90
|
-
export function
|
|
146
|
+
export function importAccountKey(options, contents) {
|
|
91
147
|
const file = userIdentityFile(options);
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
148
|
+
fs.mkdirSync(path.dirname(file), { recursive: true, mode: 0o700 });
|
|
149
|
+
const imported = certifyKeyPair(contents.privateKey);
|
|
150
|
+
const named = (record) => ({
|
|
151
|
+
...record,
|
|
152
|
+
...(contents.displayName === undefined
|
|
153
|
+
? {}
|
|
154
|
+
: { displayName: contents.displayName }),
|
|
155
|
+
});
|
|
156
|
+
const existing = readStoredUserIdentity(file);
|
|
157
|
+
if (existing === undefined) {
|
|
158
|
+
writeStoredUserIdentity(file, named(issuerKeyRecord(imported)));
|
|
159
|
+
return { identity: imported };
|
|
95
160
|
}
|
|
96
|
-
const
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
161
|
+
const current = issuerPeerIdentity(existing);
|
|
162
|
+
if (Buffer.from(current.deviceId).equals(Buffer.from(imported.deviceId))) {
|
|
163
|
+
if (contents.displayName !== undefined) {
|
|
164
|
+
writeStoredUserIdentity(file, named(existing));
|
|
165
|
+
}
|
|
166
|
+
return { identity: current };
|
|
167
|
+
}
|
|
168
|
+
const replacedFile = replacedUserIdentityFile(options, current);
|
|
169
|
+
setAside(replacedFile, existing, file);
|
|
170
|
+
writeStoredUserIdentity(file, named({
|
|
171
|
+
...issuerKeyRecord(imported),
|
|
172
|
+
...(existing.ledgerWriter === undefined
|
|
173
|
+
? {}
|
|
174
|
+
: { ledgerWriter: existing.ledgerWriter }),
|
|
175
|
+
}));
|
|
176
|
+
return { identity: imported, replacedFile };
|
|
110
177
|
}
|
|
111
178
|
//# sourceMappingURL=user-identity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-identity.js","sourceRoot":"","sources":["../../src/core/user-identity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,GAElB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"user-identity.js","sourceRoot":"","sources":["../../src/core/user-identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
* WireMeshTransport's own constructor options, split out purely to keep wire-mesh-transport.ts under the repo's max-lines cap, the same reason connection-approval.ts, room-router.ts, hub-session.ts, peer-lifecycle.ts, gossip-directory.ts, and listener-registry.ts were each split from that file.
|
|
3
3
|
*/
|
|
4
4
|
import type { KeyValueStorage } from "wire-mesh-core/ports/storage";
|
|
5
|
+
import type { AccountLedgerReplica } from "./account-ledger.js";
|
|
5
6
|
import type { GatewayTrustReader } from "./gateway-trust.js";
|
|
6
7
|
import type { RoomVerbHandler } from "./room-router.js";
|
|
7
8
|
import type { AgentStatus } from "./types.js";
|
|
8
9
|
import type { AgentSelfAdvert, HostedRoomAdvert } from "./gossip-extensions.js";
|
|
9
10
|
import type { ListenerPolicy } from "./transport.js";
|
|
10
|
-
/** roomVerbHandlers, getCurrentPresence, getHostedRooms, dataStorage, getSelfAgentAdvert, and gatewayTrust each match the field-level doc comment on the WireMeshTransport field they back; pendingConnectionTimeoutMs and presenceReadvertiseIntervalMs default to DEFAULT_PENDING_CONNECTION_TIMEOUT_MS
|
|
11
|
+
/** roomVerbHandlers, getCurrentPresence, getHostedRooms, dataStorage, getSelfAgentAdvert, and gatewayTrust each match the field-level doc comment on the WireMeshTransport field they back; accountReplication, verifyMembership and roomJoinApprovalTimeoutMs are described by their own doc comments below. pendingConnectionTimeoutMs and presenceReadvertiseIntervalMs default to DEFAULT_PENDING_CONNECTION_TIMEOUT_MS and PRESENCE_READVERTISE_INTERVAL_MS. Every field is optional and they are bundled into this one options type, so a caller needing only one of them never passes `undefined` for the rest. */
|
|
11
12
|
export interface WireMeshTransportOptions {
|
|
12
13
|
roomVerbHandlers?: Partial<Record<string, RoomVerbHandler>>;
|
|
13
14
|
pendingConnectionTimeoutMs?: number | undefined;
|
|
@@ -18,6 +19,14 @@ export interface WireMeshTransportOptions {
|
|
|
18
19
|
getHostedRooms?: () => readonly HostedRoomAdvert[];
|
|
19
20
|
dataStorage?: KeyValueStorage;
|
|
20
21
|
getSelfAgentAdvert?: () => AgentSelfAdvert | undefined;
|
|
22
|
+
/** Replicates the account's grant ledger (agent-comms#344) with peers holding the same account: the ledger, read when a data frame for one of its writer logs arrives and on each re-advertise tick, and the check of a peer's gossiped membership proof against this machine's own principal that decides which peers those are. Absent for a caller with no account ledger. */
|
|
23
|
+
accountReplication?: Readonly<{
|
|
24
|
+
getLedger: () => AccountLedgerReplica | undefined;
|
|
25
|
+
isAccountMember: (claim: Readonly<{
|
|
26
|
+
proof: string;
|
|
27
|
+
deviceHex: string;
|
|
28
|
+
}>) => Promise<boolean>;
|
|
29
|
+
}>;
|
|
21
30
|
gatewayTrust?: Readonly<GatewayTrustReader>;
|
|
22
31
|
/** Checks a gossiped membership proof against a principal or machine this side trusts (MembershipProofs.verify). Without it, a directory entry from a device not trusted by id is refused even when it carries a proof. */
|
|
23
32
|
verifyMembership?: (claim: Readonly<{
|
|
@@ -32,7 +41,7 @@ export interface WireMeshTransportOptions {
|
|
|
32
41
|
reason: string;
|
|
33
42
|
}>;
|
|
34
43
|
}
|
|
35
|
-
/** WireMeshTransport.connectToRemote's own bundled parameters
|
|
44
|
+
/** WireMeshTransport.connectToRemote's own bundled parameters: see MeshTransport's own connectToRemote doc comment (transport.ts) for what each one means. */
|
|
36
45
|
export interface ConnectToRemoteOptions {
|
|
37
46
|
host: string;
|
|
38
47
|
port: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire-mesh-transport-options.d.ts","sourceRoot":"","sources":["../../src/core/wire-mesh-transport-options.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,
|
|
1
|
+
{"version":3,"file":"wire-mesh-transport-options.d.ts","sourceRoot":"","sources":["../../src/core/wire-mesh-transport-options.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,0lBAA0lB;AAC1lB,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAC5D,0BAA0B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,gKAAgK;IAChK,yBAAyB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,kBAAkB,CAAC,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC;IACnD,6BAA6B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnD,cAAc,CAAC,EAAE,MAAM,SAAS,gBAAgB,EAAE,CAAC;IACnD,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,eAAe,GAAG,SAAS,CAAC;IACvD,iXAAiX;IACjX,kBAAkB,CAAC,EAAE,QAAQ,CAAC;QAC5B,SAAS,EAAE,MAAM,oBAAoB,GAAG,SAAS,CAAC;QAClD,eAAe,EAAE,CACf,KAAK,EAAE,QAAQ,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC,KAClD,OAAO,CAAC,OAAO,CAAC,CAAC;KACvB,CAAC,CAAC;IACH,YAAY,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC5C,2NAA2N;IAC3N,gBAAgB,CAAC,EAAE,CACjB,KAAK,EAAE,QAAQ,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,KACrE,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7E;AAED,8JAA8J;AAC9J,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,yXAAyX;AACzX,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IACnC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,4FAA4F;AAC5F,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,aAAa,CAKtD,CAAC;AAEF,mJAAmJ;AACnJ,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,aAAa,CAK3D,CAAC;AAEF,sJAAsJ;AACtJ,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,aAAa,CAO5E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire-mesh-transport-options.js","sourceRoot":"","sources":["../../src/core/wire-mesh-transport-options.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"wire-mesh-transport-options.js","sourceRoot":"","sources":["../../src/core/wire-mesh-transport-options.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqDH,4FAA4F;AAC5F,MAAM,CAAC,MAAM,kBAAkB,GAA4B;IACzD,MAAM,EAAE,SAAS;IACjB,mBAAmB,EAAE,IAAI;IACzB,gBAAgB,EAAE,KAAK;IACvB,YAAY,EAAE,IAAI;CACnB,CAAC;AAEF,mJAAmJ;AACnJ,MAAM,CAAC,MAAM,uBAAuB,GAA4B;IAC9D,MAAM,EAAE,MAAM;IACd,mBAAmB,EAAE,KAAK;IAC1B,gBAAgB,EAAE,IAAI;IACtB,YAAY,EAAE,IAAI;CACnB,CAAC;AAEF,sJAAsJ;AACtJ,MAAM,UAAU,sBAAsB,CAAC,MAAsB;IAC3D,OAAO;QACL,MAAM;QACN,mBAAmB,EAAE,KAAK;QAC1B,gBAAgB,EAAE,IAAI;QACtB,YAAY,EAAE,KAAK;KACpB,CAAC;AACJ,CAAC"}
|
|
@@ -63,24 +63,22 @@ export declare class WireMeshTransport implements MeshTransport {
|
|
|
63
63
|
private gossipInterval;
|
|
64
64
|
/** Holds this transport's session on the relay hub, once joinHub has named one. */
|
|
65
65
|
private hubLink;
|
|
66
|
-
/** Backs this side's own responder for an incoming data-have/data-request/data-entries frame (agent-comms#50's P5 integration) -- undefined for every existing construction site that predates this feature, in which case handleDataFrame is a no-op. Deciding when to proactively call sendDataFrame at all (the catch-up policy: which peers' logs to track, when to send an initial data-have) stays entirely the caller's own business; this field only ever backs the mechanical parts (answering a have/request, storing entries). */
|
|
67
|
-
private readonly dataStorage;
|
|
68
66
|
/** Reads this side's own gossip-safe agent-identity advert for the next gossip re-advertisement tick, the same pull-not-push shape getCurrentPresence/getHostedRooms already established. undefined when no agent-identity source was wired in, or when MeshStore's own getter decides this agent shouldn't advertise itself this way right now (e.g. not "visible", or no self-agent record yet). */
|
|
69
67
|
private readonly getSelfAgentAdvert;
|
|
70
68
|
/** Reads this side's own currently-running cc-peer package version for the next gossip re-advertisement tick (agent-comms#198). Unlike getCurrentPresence/getHostedRooms/getSelfAgentAdvert (constructor-injected, since MeshStore already has a real value for each at construction time), this is a plain mutable field set post-construction -- bridge-mesh.ts assigns it right after building this transport, mirroring MeshStore's own onDelivery/onError/onCoordinatorRoleChanged convention, so this transport doesn't need its own constructor parameter for a fact only two of many bridges ever have. undefined for every bridge that never loads cc-peer at all. */
|
|
71
69
|
getCcPeerVersion: (() => string | undefined) | undefined;
|
|
72
|
-
/**
|
|
73
|
-
private readonly
|
|
70
|
+
/** Answers, stores and offers this side's core/data frames: the room-notice oplog over dataStorage, and the account's replicated grant ledger (agent-comms#344). See DataFrameRouter. */
|
|
71
|
+
private readonly dataFrames;
|
|
74
72
|
/** The cross-machine trust boundary (agent-comms#156): gates outbound gossip advertisement (hasAny), inbound directory merge (bare-device trust, a principal's own device, or a verified membership proof, wired into HubSession as admitEntries), the legacy per-device frame path (isTrusted, bare-device trust only), and outbound targeted hub requests (isReachable); see GatewayTrust's own class doc. A real room-domain manage-request relayed through the hub is never gated on this at all since agent-comms#192: hub-session.ts's own dispatchHubRequest relies purely on that verb's own capability-token verification instead. Defaults to a fresh, empty (deny-all) instance when no caller wires one in, matching every existing construction site that predates this feature. */
|
|
75
73
|
private readonly gatewayTrust;
|
|
76
74
|
/** See WireMeshTransportOptions's own doc comment -- all eight fields are optional and bundled into one `options` parameter, so a caller needing only gatewayTrust no longer has to pass `undefined` for every one before it. */
|
|
77
75
|
constructor(events: Readonly<TransportEvents>, identity: Readonly<PeerIdentity>, options?: WireMeshTransportOptions);
|
|
78
76
|
/** Everything readvertiseGossip needs, read live from this transport's own fields, so the periodic tick and an on-demand readvertise (a new hub session's first advert) send the same thing. */
|
|
79
77
|
private gossipOptions;
|
|
80
|
-
/** Sends one data-have or data-request frame directly to an already-connected peer
|
|
78
|
+
/** Sends one data-have or data-request frame directly to an already-connected peer: the mechanical send primitive a future catch-up policy calls once it decides to (see DataFrameRouter's dataStorage doc comment). Throws if this side has never received any frame from that peer yet (there is no connection to send on), matching sendManageRequest's own "no reachable session" failure mode for an unknown peer. */
|
|
81
79
|
sendDataFrame(peerDeviceHex: string, frame: Readonly<DataHaveFrame> | Readonly<DataRequestFrame>): Promise<void>;
|
|
82
80
|
/** Registers (or refreshes) the raw connection a frame arrived on, then answers a data-have/data-request/data-entries frame in place, sending any resulting response frame back over the same connection -- every other frame type is ignored here (applyFrame's own dispatch already owns those). Trust-gated on peerSessions already tracking this device: a connection still in quarantine (pre-approval) gets its own frames observed here too (registration is unconditional, since a later approved sendDataFrame call still needs to find it), but never acted on until trackSession has actually run for it. A response or storage failure is reported via onError and otherwise dropped -- the peer's own next data-have/retry is what recovers, the same as any other best-effort gossip-driven exchange in this file. */
|
|
83
|
-
/** Routes one core/data frame
|
|
81
|
+
/** Routes one core/data frame: see data-frame-routing.ts's own DataFrameRouter for the actual dispatch, kept out of this already-large file. */
|
|
84
82
|
private handleDataFrame;
|
|
85
83
|
get dataPort(): number;
|
|
86
84
|
get isCoordinator(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire-mesh-transport.d.ts","sourceRoot":"","sources":["../../src/core/wire-mesh-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAgC9C,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"wire-mesh-transport.d.ts","sourceRoot":"","sources":["../../src/core/wire-mesh-transport.ts"],"names":[],"mappings":"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"}
|