agent-comms 8.7.0 → 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 +8 -3
- package/dist/account-cli.js +5 -5
- package/dist/account-cli.js.map +1 -1
- package/dist/account-join-cli.d.ts +1 -1
- package/dist/account-join-cli.d.ts.map +1 -1
- package/dist/account-join-cli.js +8 -4
- package/dist/account-join-cli.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/core/account-bundle.d.ts +13 -8
- package/dist/core/account-bundle.d.ts.map +1 -1
- package/dist/core/account-bundle.js +44 -14
- package/dist/core/account-bundle.js.map +1 -1
- package/dist/core/account-join.d.ts +11 -3
- package/dist/core/account-join.d.ts.map +1 -1
- package/dist/core/account-join.js +47 -14
- package/dist/core/account-join.js.map +1 -1
- 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.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/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 +10 -6
- package/dist/core/group-proofs.d.ts.map +1 -1
- package/dist/core/group-proofs.js +69 -18
- package/dist/core/group-proofs.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/mesh-store.d.ts.map +1 -1
- package/dist/core/mesh-store.js +3 -1
- 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/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/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 +9 -4
- package/dist/core/user-identity.d.ts.map +1 -1
- package/dist/core/user-identity.js +38 -9
- package/dist/core/user-identity.js.map +1 -1
- package/dist/test/account-join.integration.test.js +98 -1
- package/dist/test/account-join.integration.test.js.map +1 -1
- package/dist/test/account-transfer.unit.test.js +41 -13
- package/dist/test/account-transfer.unit.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/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/user-identity.unit.test.js +25 -1
- 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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This device's membership proofs under both of its grouping issuers, its user principal (agent-comms#266) and its machine (agent-comms#343), and the
|
|
2
|
+
* This device's membership proofs under both of its grouping issuers, its user principal (agent-comms#266) and its machine (agent-comms#343), and the self display name claims of both (agent-comms#345 for the machine, agent-comms#359 for the principal), with the checks for other devices' proofs and claims and the machine grouping and names list_agents shows. Split out of MeshStore, which hands it its identity, peer id, transport and error sink.
|
|
3
3
|
*/
|
|
4
4
|
import type { MeshStoreIdentity } from "./mesh-store-shared.js";
|
|
5
5
|
import type { MeshTransport } from "./transport.js";
|
|
@@ -19,8 +19,10 @@ export interface GroupProofsDeps {
|
|
|
19
19
|
export declare class GroupProofs {
|
|
20
20
|
private readonly principal;
|
|
21
21
|
private readonly machine;
|
|
22
|
-
private readonly
|
|
22
|
+
private readonly machineGrouping;
|
|
23
|
+
private readonly principalGrouping;
|
|
23
24
|
private readonly machineName;
|
|
25
|
+
private readonly principalName;
|
|
24
26
|
private readonly getIdentity;
|
|
25
27
|
constructor(deps: Readonly<GroupProofsDeps>);
|
|
26
28
|
/** Whether a gossiped proof shows that deviceHex belongs to the account this store holds, judged against the user principal's own proofs (MembershipProofs.isAccountMember). */
|
|
@@ -29,12 +31,14 @@ export declare class GroupProofs {
|
|
|
29
31
|
deviceHex: string;
|
|
30
32
|
}>): Promise<boolean>;
|
|
31
33
|
/** The agent/self advert fields carrying this device's current proofs, each absent until it has first been minted. */
|
|
32
|
-
advertFields(): Pick<AgentSelfSummary, "membership" | "machine" | "machineName">;
|
|
33
|
-
/** Starts keeping both proofs fresh; called once the store's identity is attached. */
|
|
34
|
+
advertFields(): Pick<AgentSelfSummary, "membership" | "machine" | "machineName" | "principalName">;
|
|
35
|
+
/** Starts keeping both proofs and both name claims fresh; called once the store's identity is attached. */
|
|
34
36
|
start(): void;
|
|
35
37
|
stop(): void;
|
|
36
38
|
/** Sets (or, given undefined, clears) this machine's self display name and re-mints its claim now rather than on the next refresh. Throws if the store has no identity yet. */
|
|
37
39
|
saveMachineName(name: string | undefined): Promise<void>;
|
|
40
|
+
/** Sets (or, given undefined, clears) this account's self display name and re-mints its claim now rather than on the next refresh. Throws if the store has no identity yet. */
|
|
41
|
+
saveUserName(name: string | undefined): Promise<void>;
|
|
38
42
|
/** Whether a gossiped proof shows that issuerHex, a principal or a machine, vouches for deviceHex. */
|
|
39
43
|
verify(claim: Readonly<{
|
|
40
44
|
proof: string;
|
|
@@ -48,7 +52,7 @@ export declare class GroupProofs {
|
|
|
48
52
|
}>): Promise<IdentifiedMembershipProof>;
|
|
49
53
|
/** The machine (hex) of each device this side can place on one, keyed by device id. */
|
|
50
54
|
machinesByDevice(): Promise<Map<string, string>>;
|
|
51
|
-
/** The self display name of each
|
|
52
|
-
|
|
55
|
+
/** The self display name of each grouping issuer this side can place a device under, machines and user principals together, keyed by issuer id. The two kinds of id never collide, since each is the hash of a different key. */
|
|
56
|
+
issuerNames(): Promise<Map<string, string>>;
|
|
53
57
|
}
|
|
54
58
|
//# sourceMappingURL=group-proofs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group-proofs.d.ts","sourceRoot":"","sources":["../../src/core/group-proofs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"group-proofs.d.ts","sourceRoot":"","sources":["../../src/core/group-proofs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAWpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EACV,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,WAAW,EAAE,MAAM,iBAAiB,CAAC;IACrC,iEAAiE;IACjE,YAAY,EAAE,MAAM,iBAAiB,GAAG,SAAS,CAAC;IAClD,kCAAkC;IAClC,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,aAAa,CAAC;IACtC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACjC;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAiB;IACnD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;gBAE1C,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC;IAmF3C,gLAAgL;IAC1K,eAAe,CACnB,KAAK,EAAE,QAAQ,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,GACpD,OAAO,CAAC,OAAO,CAAC;IAInB,sHAAsH;IACtH,YAAY,IAAI,IAAI,CAClB,gBAAgB,EAChB,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,eAAe,CAC3D;IAaD,2GAA2G;IAC3G,KAAK,IAAI,IAAI;IAOb,IAAI,IAAI,IAAI;IAOZ,+KAA+K;IACzK,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9D,+KAA+K;IACzK,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3D,sGAAsG;IAChG,MAAM,CACV,KAAK,EAAE,QAAQ,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,GACvE,OAAO,CAAC,sBAAsB,CAAC;IAIlC,qLAAqL;IAC/K,QAAQ,CACZ,KAAK,EAAE,QAAQ,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,GACpD,OAAO,CAAC,yBAAyB,CAAC;IAIrC,uFAAuF;IACjF,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAItD,iOAAiO;IAC3N,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAMlD"}
|
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This device's membership proofs under both of its grouping issuers, its user principal (agent-comms#266) and its machine (agent-comms#343), and the
|
|
2
|
+
* This device's membership proofs under both of its grouping issuers, its user principal (agent-comms#266) and its machine (agent-comms#343), and the self display name claims of both (agent-comms#345 for the machine, agent-comms#359 for the principal), with the checks for other devices' proofs and claims and the machine grouping and names list_agents shows. Split out of MeshStore, which hands it its identity, peer id, transport and error sink.
|
|
3
3
|
*/
|
|
4
4
|
import { deviceIdToHex } from "wire-mesh-core/domain/device-id";
|
|
5
5
|
import { MembershipProofs } from "./membership-proofs.js";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { IssuerGrouping } from "./issuer-grouping.js";
|
|
7
|
+
import { SelfNameClaim } from "./self-name-claim.js";
|
|
8
8
|
import { loadMachineDisplayName, saveMachineDisplayName, } from "./machine-identity.js";
|
|
9
|
+
import { readNameClaim } from "./gossip-directory.js";
|
|
9
10
|
import { verifyNameClaim } from "./name-claim.js";
|
|
11
|
+
import { loadUserDisplayName, saveUserDisplayName } from "./user-identity.js";
|
|
10
12
|
export class GroupProofs {
|
|
11
13
|
principal;
|
|
12
14
|
machine;
|
|
13
|
-
|
|
15
|
+
machineGrouping;
|
|
16
|
+
principalGrouping;
|
|
14
17
|
machineName;
|
|
18
|
+
principalName;
|
|
15
19
|
getIdentity;
|
|
16
20
|
constructor(deps) {
|
|
17
21
|
this.getIdentity = deps.getIdentity;
|
|
@@ -28,30 +32,65 @@ export class GroupProofs {
|
|
|
28
32
|
...shared,
|
|
29
33
|
issuerOf: (identity) => identity.machineIdentity,
|
|
30
34
|
});
|
|
31
|
-
|
|
35
|
+
const grouping = {
|
|
32
36
|
listKnownDevices: () => deps.requireTransport().listKnownDevices?.() ?? [],
|
|
33
37
|
identify: async (claim) => this.identify(claim),
|
|
34
38
|
getPeerId: deps.getPeerId,
|
|
35
|
-
|
|
39
|
+
onError: deps.onError,
|
|
40
|
+
verifyName: async (claim) => {
|
|
41
|
+
const { identity, clock } = deps.getIdentity();
|
|
42
|
+
return verifyNameClaim({
|
|
43
|
+
claim: claim.claim,
|
|
44
|
+
subject: claim.subject,
|
|
45
|
+
identity,
|
|
46
|
+
clock,
|
|
47
|
+
});
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
this.machineGrouping = new IssuerGrouping({
|
|
51
|
+
...grouping,
|
|
52
|
+
field: "machine",
|
|
53
|
+
readNameClaim: (advert) => readNameClaim(advert, "machineName"),
|
|
54
|
+
getOwnIssuerId: () => {
|
|
36
55
|
const identity = deps.peekIdentity();
|
|
37
56
|
return identity === undefined
|
|
38
57
|
? undefined
|
|
39
58
|
: deviceIdToHex(identity.machineIdentity.deviceId);
|
|
40
59
|
},
|
|
41
|
-
|
|
42
|
-
verifyName: async ({ claim, subject }) => {
|
|
43
|
-
const { identity, clock } = deps.getIdentity();
|
|
44
|
-
return verifyNameClaim({ claim, subject, identity, clock });
|
|
45
|
-
},
|
|
46
|
-
getOwnMachineName: () => {
|
|
60
|
+
getOwnName: () => {
|
|
47
61
|
const identity = deps.peekIdentity();
|
|
48
62
|
return identity === undefined
|
|
49
63
|
? undefined
|
|
50
64
|
: loadMachineDisplayName(identity.machineIdentityOptions);
|
|
51
65
|
},
|
|
52
66
|
});
|
|
53
|
-
this.
|
|
67
|
+
this.principalGrouping = new IssuerGrouping({
|
|
68
|
+
...grouping,
|
|
69
|
+
field: "membership",
|
|
70
|
+
readNameClaim: (advert) => readNameClaim(advert, "principalName"),
|
|
71
|
+
getOwnIssuerId: () => {
|
|
72
|
+
const identity = deps.peekIdentity();
|
|
73
|
+
return identity === undefined
|
|
74
|
+
? undefined
|
|
75
|
+
: deviceIdToHex(identity.userIdentity.deviceId);
|
|
76
|
+
},
|
|
77
|
+
getOwnName: () => {
|
|
78
|
+
const identity = deps.peekIdentity();
|
|
79
|
+
return identity === undefined
|
|
80
|
+
? undefined
|
|
81
|
+
: loadUserDisplayName(identity.userIdentityOptions);
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
this.machineName = new SelfNameClaim({
|
|
54
85
|
getIdentity: deps.getIdentity,
|
|
86
|
+
issuerOf: (identity) => identity.machineIdentity,
|
|
87
|
+
loadName: (identity) => loadMachineDisplayName(identity.machineIdentityOptions),
|
|
88
|
+
onError: deps.onError,
|
|
89
|
+
});
|
|
90
|
+
this.principalName = new SelfNameClaim({
|
|
91
|
+
getIdentity: deps.getIdentity,
|
|
92
|
+
issuerOf: (identity) => identity.userIdentity,
|
|
93
|
+
loadName: (identity) => loadUserDisplayName(identity.userIdentityOptions),
|
|
55
94
|
onError: deps.onError,
|
|
56
95
|
});
|
|
57
96
|
}
|
|
@@ -64,28 +103,37 @@ export class GroupProofs {
|
|
|
64
103
|
const membership = this.principal.current();
|
|
65
104
|
const machine = this.machine.current();
|
|
66
105
|
const machineName = this.machineName.current();
|
|
106
|
+
const principalName = this.principalName.current();
|
|
67
107
|
return {
|
|
68
108
|
...(membership !== undefined ? { membership } : {}),
|
|
69
109
|
...(machine !== undefined ? { machine } : {}),
|
|
70
110
|
...(machineName !== undefined ? { machineName } : {}),
|
|
111
|
+
...(principalName !== undefined ? { principalName } : {}),
|
|
71
112
|
};
|
|
72
113
|
}
|
|
73
|
-
/** Starts keeping both proofs fresh; called once the store's identity is attached. */
|
|
114
|
+
/** Starts keeping both proofs and both name claims fresh; called once the store's identity is attached. */
|
|
74
115
|
start() {
|
|
75
116
|
this.principal.start();
|
|
76
117
|
this.machine.start();
|
|
77
118
|
this.machineName.start();
|
|
119
|
+
this.principalName.start();
|
|
78
120
|
}
|
|
79
121
|
stop() {
|
|
80
122
|
this.principal.stop();
|
|
81
123
|
this.machine.stop();
|
|
82
124
|
this.machineName.stop();
|
|
125
|
+
this.principalName.stop();
|
|
83
126
|
}
|
|
84
127
|
/** Sets (or, given undefined, clears) this machine's self display name and re-mints its claim now rather than on the next refresh. Throws if the store has no identity yet. */
|
|
85
128
|
async saveMachineName(name) {
|
|
86
129
|
saveMachineDisplayName(this.getIdentity().machineIdentityOptions, name);
|
|
87
130
|
return this.machineName.refresh();
|
|
88
131
|
}
|
|
132
|
+
/** Sets (or, given undefined, clears) this account's self display name and re-mints its claim now rather than on the next refresh. Throws if the store has no identity yet. */
|
|
133
|
+
async saveUserName(name) {
|
|
134
|
+
saveUserDisplayName(this.getIdentity().userIdentityOptions, name);
|
|
135
|
+
return this.principalName.refresh();
|
|
136
|
+
}
|
|
89
137
|
/** Whether a gossiped proof shows that issuerHex, a principal or a machine, vouches for deviceHex. */
|
|
90
138
|
async verify(claim) {
|
|
91
139
|
return this.principal.verify(claim);
|
|
@@ -96,11 +144,14 @@ export class GroupProofs {
|
|
|
96
144
|
}
|
|
97
145
|
/** The machine (hex) of each device this side can place on one, keyed by device id. */
|
|
98
146
|
async machinesByDevice() {
|
|
99
|
-
return this.
|
|
147
|
+
return this.machineGrouping.issuersByDevice();
|
|
100
148
|
}
|
|
101
|
-
/** The self display name of each
|
|
102
|
-
async
|
|
103
|
-
return
|
|
149
|
+
/** The self display name of each grouping issuer this side can place a device under, machines and user principals together, keyed by issuer id. The two kinds of id never collide, since each is the hash of a different key. */
|
|
150
|
+
async issuerNames() {
|
|
151
|
+
return new Map([
|
|
152
|
+
...(await this.machineGrouping.issuerNames()),
|
|
153
|
+
...(await this.principalGrouping.issuerNames()),
|
|
154
|
+
]);
|
|
104
155
|
}
|
|
105
156
|
}
|
|
106
157
|
//# sourceMappingURL=group-proofs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group-proofs.js","sourceRoot":"","sources":["../../src/core/group-proofs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAGhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"group-proofs.js","sourceRoot":"","sources":["../../src/core/group-proofs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which grouping issuer each known device belongs to, for one kind of issuer: the machine (agent-comms#343, list_agents' machine-grouped output) or the user principal (agent-comms#266). This device's own issuer is known directly; every other device's is read from the proof of that kind in its gossiped agent/self advert and identified cryptographically (membership-proof.ts's identifyMembershipProofIssuer), so a device is placed under an issuer only when that issuer's key signed a current proof for it. A device with no such proof (a hidden agent, which sends no agent/self advert, or a bridge that predates the proof) has no issuer here.
|
|
3
|
+
*
|
|
4
|
+
* The same pass reads each issuer's self display name claim (agent-comms#345, agent-comms#359) from the adverts of the devices it vouches for, and keeps a name only when the claim is signed by that very issuer's key: the issuer is authentic, the content is its own choice.
|
|
5
|
+
*
|
|
6
|
+
* Grouping is display, not trust: a proof names who vouches for a device id, not that the device gossiping it is that device, so nothing here is used to authorise anything. Identifying a proof is cryptography, so verdicts are remembered per proof text until the proof lapses, and the cache is bounded. For the same reason a failure to identify one proof is reported and leaves that device unplaced rather than failing the listing it feeds.
|
|
7
|
+
*/
|
|
8
|
+
import { type MembershipProofField } from "./gossip-directory.js";
|
|
9
|
+
import type { IdentifiedMembershipProof } from "./membership-proof.js";
|
|
10
|
+
import type { NameClaimVerdict } from "./name-claim.js";
|
|
11
|
+
export interface IssuerGroupingDeps {
|
|
12
|
+
/** Which agent/self field carries the proofs of the issuer kind this grouping places devices under. */
|
|
13
|
+
field: MembershipProofField;
|
|
14
|
+
/** The name claim a peer gossiped for this kind of issuer, read from its advert. */
|
|
15
|
+
readNameClaim: (advert: Readonly<Record<string, unknown>>) => string | undefined;
|
|
16
|
+
/** Every device this side has heard gossip from, with its latest advert. */
|
|
17
|
+
listKnownDevices: () => readonly {
|
|
18
|
+
deviceId: string;
|
|
19
|
+
advert: Readonly<Record<string, unknown>>;
|
|
20
|
+
}[];
|
|
21
|
+
/** Identifies which issuer a proof shows vouching for a device (MembershipProofs.identify). Called only once getMachineId answers, so the store's identity is attached. */
|
|
22
|
+
identify: (claim: Readonly<{
|
|
23
|
+
proof: string;
|
|
24
|
+
deviceHex: string;
|
|
25
|
+
}>) => Promise<IdentifiedMembershipProof>;
|
|
26
|
+
/** This device's own id (hex). */
|
|
27
|
+
getPeerId: () => string;
|
|
28
|
+
/** This device's own issuer's id (hex), undefined before the store's identity is attached. */
|
|
29
|
+
getOwnIssuerId: () => string | undefined;
|
|
30
|
+
/** Where a proof that could not be identified at all (identify rejected) is reported. */
|
|
31
|
+
onError: (error: Error) => void;
|
|
32
|
+
/** Verifies a gossiped name claim about subject (name-claim.ts's verifyNameClaim, as this node sees it). */
|
|
33
|
+
verifyName: (claim: Readonly<{
|
|
34
|
+
claim: string;
|
|
35
|
+
subject: string;
|
|
36
|
+
}>) => Promise<NameClaimVerdict>;
|
|
37
|
+
/** This device's own issuer's name, read locally. */
|
|
38
|
+
getOwnName: () => string | undefined;
|
|
39
|
+
}
|
|
40
|
+
export declare class IssuerGrouping {
|
|
41
|
+
private readonly deps;
|
|
42
|
+
private readonly verdicts;
|
|
43
|
+
private readonly names;
|
|
44
|
+
constructor(deps: Readonly<IssuerGroupingDeps>);
|
|
45
|
+
/** The issuer (hex) of each device this side can place under one, keyed by device id: this device's own, and every gossiped device with a current, valid proof of this kind. */
|
|
46
|
+
issuersByDevice(): Promise<Map<string, string>>;
|
|
47
|
+
/** The self display name of each issuer this side can place a device under, keyed by issuer id: this device's own from its file, every other one from a claim its own key signed, gossiped by a device it vouches for. */
|
|
48
|
+
issuerNames(): Promise<Map<string, string>>;
|
|
49
|
+
private nameFor;
|
|
50
|
+
private issuerFor;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=issuer-grouping.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issuer-grouping.d.ts","sourceRoot":"","sources":["../../src/core/issuer-grouping.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAKxD,MAAM,WAAW,kBAAkB;IACjC,uGAAuG;IACvG,KAAK,EAAE,oBAAoB,CAAC;IAC5B,oFAAoF;IACpF,aAAa,EAAE,CACb,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KACtC,MAAM,GAAG,SAAS,CAAC;IACxB,4EAA4E;IAC5E,gBAAgB,EAAE,MAAM,SAAS;QAC/B,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KAC3C,EAAE,CAAC;IACJ,2KAA2K;IAC3K,QAAQ,EAAE,CACR,KAAK,EAAE,QAAQ,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,KAClD,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACxC,kCAAkC;IAClC,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,8FAA8F;IAC9F,cAAc,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACzC,yFAAyF;IACzF,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAChC,4GAA4G;IAC5G,UAAU,EAAE,CACV,KAAK,EAAE,QAAQ,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,KAChD,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/B,qDAAqD;IACrD,UAAU,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACtC;AAgBD,qBAAa,cAAc;IAIb,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAC7D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;gBAE1B,IAAI,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IAE/D,gLAAgL;IAC1K,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAgBrD,0NAA0N;IACpN,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAiBnC,OAAO;YAmBP,SAAS;CAgCxB"}
|
|
@@ -1,58 +1,58 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Which
|
|
2
|
+
* Which grouping issuer each known device belongs to, for one kind of issuer: the machine (agent-comms#343, list_agents' machine-grouped output) or the user principal (agent-comms#266). This device's own issuer is known directly; every other device's is read from the proof of that kind in its gossiped agent/self advert and identified cryptographically (membership-proof.ts's identifyMembershipProofIssuer), so a device is placed under an issuer only when that issuer's key signed a current proof for it. A device with no such proof (a hidden agent, which sends no agent/self advert, or a bridge that predates the proof) has no issuer here.
|
|
3
3
|
*
|
|
4
|
-
* The same pass reads each
|
|
4
|
+
* The same pass reads each issuer's self display name claim (agent-comms#345, agent-comms#359) from the adverts of the devices it vouches for, and keeps a name only when the claim is signed by that very issuer's key: the issuer is authentic, the content is its own choice.
|
|
5
5
|
*
|
|
6
6
|
* Grouping is display, not trust: a proof names who vouches for a device id, not that the device gossiping it is that device, so nothing here is used to authorise anything. Identifying a proof is cryptography, so verdicts are remembered per proof text until the proof lapses, and the cache is bounded. For the same reason a failure to identify one proof is reported and leaves that device unplaced rather than failing the listing it feeds.
|
|
7
7
|
*/
|
|
8
|
-
import {
|
|
8
|
+
import { readMembershipProof, } from "./gossip-directory.js";
|
|
9
9
|
/** The most proofs, and separately the most name claims, whose verdict is remembered. */
|
|
10
10
|
const VERDICT_CACHE_LIMIT = 1024;
|
|
11
|
-
export class
|
|
11
|
+
export class IssuerGrouping {
|
|
12
12
|
deps;
|
|
13
13
|
verdicts = new Map();
|
|
14
14
|
names = new Map();
|
|
15
15
|
constructor(deps) {
|
|
16
16
|
this.deps = deps;
|
|
17
17
|
}
|
|
18
|
-
/** The
|
|
19
|
-
async
|
|
20
|
-
const
|
|
21
|
-
const own = this.deps.
|
|
22
|
-
// Without an identity attached there is no clock or revocation view to identify a proof against, and no own
|
|
18
|
+
/** The issuer (hex) of each device this side can place under one, keyed by device id: this device's own, and every gossiped device with a current, valid proof of this kind. */
|
|
19
|
+
async issuersByDevice() {
|
|
20
|
+
const issuers = new Map();
|
|
21
|
+
const own = this.deps.getOwnIssuerId();
|
|
22
|
+
// Without an identity attached there is no clock or revocation view to identify a proof against, and no own issuer either.
|
|
23
23
|
if (own === undefined)
|
|
24
|
-
return
|
|
25
|
-
|
|
24
|
+
return issuers;
|
|
25
|
+
issuers.set(this.deps.getPeerId(), own);
|
|
26
26
|
for (const { deviceId, advert } of this.deps.listKnownDevices()) {
|
|
27
|
-
if (
|
|
27
|
+
if (issuers.has(deviceId))
|
|
28
28
|
continue;
|
|
29
|
-
const proof = readMembershipProof(advert,
|
|
29
|
+
const proof = readMembershipProof(advert, this.deps.field);
|
|
30
30
|
if (proof === undefined)
|
|
31
31
|
continue;
|
|
32
|
-
const
|
|
33
|
-
if (
|
|
34
|
-
|
|
32
|
+
const issuer = await this.issuerFor(proof, deviceId);
|
|
33
|
+
if (issuer !== undefined)
|
|
34
|
+
issuers.set(deviceId, issuer);
|
|
35
35
|
}
|
|
36
|
-
return
|
|
36
|
+
return issuers;
|
|
37
37
|
}
|
|
38
|
-
/** The self display name of each
|
|
39
|
-
async
|
|
38
|
+
/** The self display name of each issuer this side can place a device under, keyed by issuer id: this device's own from its file, every other one from a claim its own key signed, gossiped by a device it vouches for. */
|
|
39
|
+
async issuerNames() {
|
|
40
40
|
const names = new Map();
|
|
41
|
-
const
|
|
42
|
-
const own = this.deps.
|
|
43
|
-
const ownName = this.deps.
|
|
41
|
+
const issuers = await this.issuersByDevice();
|
|
42
|
+
const own = this.deps.getOwnIssuerId();
|
|
43
|
+
const ownName = this.deps.getOwnName();
|
|
44
44
|
if (own !== undefined && ownName !== undefined)
|
|
45
45
|
names.set(own, ownName);
|
|
46
46
|
for (const { deviceId, advert } of this.deps.listKnownDevices()) {
|
|
47
|
-
const
|
|
48
|
-
if (
|
|
47
|
+
const issuer = issuers.get(deviceId);
|
|
48
|
+
if (issuer === undefined || names.has(issuer))
|
|
49
49
|
continue;
|
|
50
|
-
const claim =
|
|
50
|
+
const claim = this.deps.readNameClaim(advert);
|
|
51
51
|
if (claim === undefined)
|
|
52
52
|
continue;
|
|
53
|
-
const name = await this.nameFor(claim,
|
|
53
|
+
const name = await this.nameFor(claim, issuer);
|
|
54
54
|
if (name !== undefined)
|
|
55
|
-
names.set(
|
|
55
|
+
names.set(issuer, name);
|
|
56
56
|
}
|
|
57
57
|
return names;
|
|
58
58
|
}
|
|
@@ -67,10 +67,10 @@ export class MachineGrouping {
|
|
|
67
67
|
: { subject, name: undefined, until: Number.POSITIVE_INFINITY });
|
|
68
68
|
return verdict.ok ? verdict.name : undefined;
|
|
69
69
|
}
|
|
70
|
-
async
|
|
70
|
+
async issuerFor(proof, deviceHex) {
|
|
71
71
|
const cached = this.verdicts.get(proof);
|
|
72
72
|
if (cached?.deviceHex === deviceHex && cached.until > Date.now()) {
|
|
73
|
-
return cached.
|
|
73
|
+
return cached.issuer;
|
|
74
74
|
}
|
|
75
75
|
let verdict;
|
|
76
76
|
try {
|
|
@@ -78,14 +78,14 @@ export class MachineGrouping {
|
|
|
78
78
|
}
|
|
79
79
|
catch (err) {
|
|
80
80
|
// Not remembered: the failure is in this side's own view (a revocation view that threw, say), not a verdict on the proof, so the next listing tries again.
|
|
81
|
-
this.deps.onError(new Error(`could not identify the
|
|
81
|
+
this.deps.onError(new Error(`could not identify the ${this.deps.field} proof of ${deviceHex}`, {
|
|
82
82
|
cause: err,
|
|
83
83
|
}));
|
|
84
84
|
return undefined;
|
|
85
85
|
}
|
|
86
86
|
remember(this.verdicts, proof, verdict.ok
|
|
87
|
-
? { deviceHex,
|
|
88
|
-
: { deviceHex,
|
|
87
|
+
? { deviceHex, issuer: verdict.issuerHex, until: verdict.expires }
|
|
88
|
+
: { deviceHex, issuer: undefined, until: Number.POSITIVE_INFINITY });
|
|
89
89
|
return verdict.ok ? verdict.issuerHex : undefined;
|
|
90
90
|
}
|
|
91
91
|
}
|
|
@@ -99,4 +99,4 @@ function remember(cache, key, verdict) {
|
|
|
99
99
|
cache.delete(oldest.value);
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
|
-
//# sourceMappingURL=
|
|
102
|
+
//# sourceMappingURL=issuer-grouping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issuer-grouping.js","sourceRoot":"","sources":["../../src/core/issuer-grouping.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh-store.d.ts","sourceRoot":"","sources":["../../src/core/mesh-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mesh-store.d.ts","sourceRoot":"","sources":["../../src/core/mesh-store.ts"],"names":[],"mappings":"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"}
|
package/dist/core/mesh-store.js
CHANGED
|
@@ -207,9 +207,10 @@ export class MeshStore {
|
|
|
207
207
|
this.gatewayTrust = new GatewayTrust(slot);
|
|
208
208
|
this.naming = new Naming({
|
|
209
209
|
petnames: new Petnames(slot),
|
|
210
|
-
|
|
210
|
+
issuerNames: async () => this.membership.issuerNames(),
|
|
211
211
|
listAgents: async (requesterId) => this.listAgents(requesterId),
|
|
212
212
|
saveMachineName: async (name) => this.membership.saveMachineName(name),
|
|
213
|
+
saveUserName: async (name) => this.membership.saveUserName(name),
|
|
213
214
|
});
|
|
214
215
|
this.connectionCodes = new ConnectionCodeLedger(slot);
|
|
215
216
|
this.account = new AccountJoin({
|
|
@@ -219,6 +220,7 @@ export class MeshStore {
|
|
|
219
220
|
connectionCodes: this.connectionCodes,
|
|
220
221
|
gatewayTrust: this.gatewayTrust,
|
|
221
222
|
reconsiderHub: this.reconsiderHub.bind(this),
|
|
223
|
+
setPetname: (deviceHex, name) => this.naming.setPetname(deviceHex, name),
|
|
222
224
|
redeemConnectionCode: this.redeemConnectionCode.bind(this),
|
|
223
225
|
setIdentity: this.setIdentity.bind(this),
|
|
224
226
|
});
|