agent-comms 8.7.0 → 8.8.1
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 +2 -2
- 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.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.js
CHANGED
|
@@ -408,6 +408,11 @@ export const CommsActionSchema = defineSchema(z.discriminatedUnion("action", [
|
|
|
408
408
|
/** The name this machine asserts for itself, signed by its machine key into every bridge's advert. Omitted clears it. */
|
|
409
409
|
name: z.string().optional(),
|
|
410
410
|
}),
|
|
411
|
+
z.object({
|
|
412
|
+
action: z.literal("principal_name"),
|
|
413
|
+
/** The name this account (user principal) asserts for itself, signed by its user key into every device's advert. Omitted clears it. */
|
|
414
|
+
name: z.string().optional(),
|
|
415
|
+
}),
|
|
411
416
|
z.object({
|
|
412
417
|
action: z.literal("dm_admit"),
|
|
413
418
|
target: z.string(),
|
package/dist/core/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,8EAA8E;AAC9E,oCAAoC;AACpC,8EAA8E;AAE9E,gOAAgO;AAChO,SAAS,UAAU,CACjB,KAAQ;IAER,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,OAAO,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC;AACxC,CAAC;AAED,ulBAAulB;AACvlB,SAAS,YAAY,CACnB,MAAS;IAET,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE;QAClC,KAAK,EAAE,CAAC,KAAc,EAAuB,EAAE,CAC7C,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO;QACjC,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IACH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAYD,8EAA8E;AAC9E,QAAQ;AACR,8EAA8E;AAE9E,2mBAA2mB;AAC3mB,MAAM,oBAAoB,GAAG,YAAY,CACvC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAC5E,CAAC;AAEF,OAAO,EAAE,oBAAoB,IAAI,cAAc,EAAE,CAAC;AAElD,MAAM,gBAAgB,GAAG,YAAY,CACnC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CACzE,CAAC;AAEF,OAAO,EAAE,gBAAgB,IAAI,UAAU,EAAE,CAAC;AAE1C,MAAM,iBAAiB,GAAG,YAAY,CACpC,CAAC,CAAC,KAAK,CAAC;IACN,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACnB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACjB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACjB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;CACrB,CAAC,CACH,CAAC;AAEF,OAAO,EAAE,iBAAiB,IAAI,WAAW,EAAE,CAAC;AAE5C,MAAM,cAAc,GAAG,YAAY,CACjC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC1E,CAAC;AAEF,OAAO,EAAE,cAAc,IAAI,QAAQ,EAAE,CAAC;AAEtC,MAAM,uBAAuB,GAAG,YAAY,CAC1C,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CACxE,CAAC;AAEF,OAAO,EAAE,uBAAuB,IAAI,iBAAiB,EAAE,CAAC;AAExD,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAC7C,CAAC,CAAC,MAAM,CAAC;IACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,2FAA2F;IAC3F,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,gBAAgB;IAC5B,MAAM,EAAE,iBAAiB;IACzB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CACrC,CAAC,CACH,CAAC;AAGF,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CACpC,CAAC,CAAC,MAAM,CAAC;IACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,2FAA2F;IAC3F,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5B;;;;;;;OAOG;IACH,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7C,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9C,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9C,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;CAChD,CAAC,CACH,CAAC;AAGF,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAC3C,CAAC,CAAC,MAAM,CAAC;IACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,uBAAuB,CAAC,QAAQ,EAAE;CACtD,CAAC,CACH,CAAC;AAGF,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CACzC,CAAC,CAAC,MAAM,CAAC;IACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,uBAAuB,CAAC,QAAQ,EAAE;CACtD,CAAC,CACH,CAAC;AAGF,6YAA6Y;AAC7Y,MAAM,CAAC,MAAM,0BAA0B,GAAG,YAAY,CACpD,CAAC,CAAC,KAAK,CAAC;IACN,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IACpB,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IAC1B,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;CAC7B,CAAC,CACH,CAAC;AAGF;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAC/C,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IAC7B,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;IAC5C,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IACvC,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC3B,MAAM,EAAE,0BAA0B;KACnC,CAAC;IACF,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IAC5D,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;IAC1C,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;CAC3C,CAAC,CACH,CAAC;AAGF,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAC1C,CAAC,CAAC,MAAM,CAAC;IACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,iBAAiB;CAC1B,CAAC,CACH,CAAC;AAGF,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAC7C,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC3B,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;QAC/B,OAAO,EAAE,iBAAiB;KAC3B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QACrB,OAAO,EAAE,eAAe;KACzB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;QAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;KACpB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;QAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;QAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;KACnC,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;QAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,MAAM,EAAE,iBAAiB;KAC1B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,QAAQ,EAAE,qBAAqB;QAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC5B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KACnB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;QAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;KACpB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;QACrC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;KACxB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;KACxB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;QACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;QACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;KAC5B,CAAC;CACH,CAAC,CACH,CAAC;AAcF,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,ubAAub;AACvb,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAC9C,CAAC,CAAC,MAAM,CAAC;IACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CACH,CAAC;AAGF,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAC3C,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IAC7B,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,UAAU,EAAE,gBAAgB;QAC5B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAC1B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC3B,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;QACvC,MAAM,EAAE,iBAAiB,CAAC,QAAQ,EAAE;QACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACrC,CAAC;IACF,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;IACzC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;IAC1C,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;KACxB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;IAC7C,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;QAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACzB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,iBAAiB,EAAE,uBAAuB,CAAC,QAAQ,EAAE;KACtD,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,iBAAiB,EAAE,uBAAuB,CAAC,QAAQ,EAAE;KACtD,CAAC;IACF,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;IAC9C,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACzB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KACnB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;QACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;QACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC9B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAChC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;KACzB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAChC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KACnB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;IAC/C,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;KACxB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC9B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;IAC/C,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAClC,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC9B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;IACrD,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;QAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC9B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACnC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;QACrC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;KACf,CAAC;IACF,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;IAClD,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC9B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;QAClC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;KACf,CAAC;IACF,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;IACjD,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC;QACxC,UAAU,EAAE,oBAAoB;QAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;IACtD,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;QAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,wNAAwN;QACxN,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACjC,qNAAqN;QACrN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;QACpC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,kOAAkO;QAClO,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACjC,+NAA+N;QAC/N,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC;IACF,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAC;IACvD,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAChC,gGAAgG;QAChG,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,2FAA2F;QAC3F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IACpE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;IAC/C,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;QACjC,yHAAyH;QACzH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC5B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,oJAAoJ;QACpJ,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KAClC,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;QACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IAChE,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,kCAAkC,CAAC;QACrD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAClC,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,gCAAgC,CAAC;QACnD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACnC,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;QAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KACnB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;IAC7C,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;QAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACjC,CAAC;CACH,CAAC,CACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
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. */
|
|
@@ -26,14 +27,18 @@ export interface LegacyIssuedGrant {
|
|
|
26
27
|
export declare function readLegacyIssuedGrants(options: Readonly<UserIdentityOptions> | undefined): LegacyIssuedGrant[];
|
|
27
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. */
|
|
28
29
|
export declare function clearLegacyIssuedGrants(options: Readonly<UserIdentityOptions> | undefined, migrated: readonly Readonly<LegacyIssuedGrant>[]): void;
|
|
29
|
-
/** The
|
|
30
|
-
export declare function
|
|
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;
|
|
31
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. */
|
|
32
37
|
export declare function replacedUserIdentityFile(options: Readonly<UserIdentityOptions> | undefined, replaced: Readonly<PeerIdentity>): string;
|
|
33
38
|
/**
|
|
34
|
-
* Makes this machine hold the account whose
|
|
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.
|
|
35
40
|
*/
|
|
36
|
-
export declare function importAccountKey(options: Readonly<UserIdentityOptions> | undefined,
|
|
41
|
+
export declare function importAccountKey(options: Readonly<UserIdentityOptions> | undefined, contents: Readonly<AccountContents>): {
|
|
37
42
|
identity: PeerIdentity;
|
|
38
43
|
replacedFile?: string;
|
|
39
44
|
};
|
|
@@ -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"}
|
|
@@ -24,6 +24,8 @@ function isStoredUserIdentity(value) {
|
|
|
24
24
|
return false;
|
|
25
25
|
if ("ledgerWriter" in value && typeof value.ledgerWriter !== "string")
|
|
26
26
|
return false;
|
|
27
|
+
if ("displayName" in value && typeof value.displayName !== "string")
|
|
28
|
+
return false;
|
|
27
29
|
return true;
|
|
28
30
|
}
|
|
29
31
|
/** The directory the user identity and every other per-account file on this machine live in. */
|
|
@@ -104,9 +106,27 @@ export function clearLegacyIssuedGrants(options, migrated) {
|
|
|
104
106
|
...(dm === undefined ? {} : { issuedDmGrants: dm }),
|
|
105
107
|
});
|
|
106
108
|
}
|
|
107
|
-
/** The
|
|
108
|
-
export function
|
|
109
|
-
return
|
|
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) {
|
|
115
|
+
const file = userIdentityFile(options);
|
|
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
|
+
};
|
|
110
130
|
}
|
|
111
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. */
|
|
112
132
|
export function replacedUserIdentityFile(options, replaced) {
|
|
@@ -121,29 +141,38 @@ function setAside(replacedFile, record, currentFile) {
|
|
|
121
141
|
writeIssuerRecord(replacedFile, record);
|
|
122
142
|
}
|
|
123
143
|
/**
|
|
124
|
-
* Makes this machine hold the account whose
|
|
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.
|
|
125
145
|
*/
|
|
126
|
-
export function importAccountKey(options,
|
|
146
|
+
export function importAccountKey(options, contents) {
|
|
127
147
|
const file = userIdentityFile(options);
|
|
128
148
|
fs.mkdirSync(path.dirname(file), { recursive: true, mode: 0o700 });
|
|
129
|
-
const imported = certifyKeyPair(
|
|
149
|
+
const imported = certifyKeyPair(contents.privateKey);
|
|
150
|
+
const named = (record) => ({
|
|
151
|
+
...record,
|
|
152
|
+
...(contents.displayName === undefined
|
|
153
|
+
? {}
|
|
154
|
+
: { displayName: contents.displayName }),
|
|
155
|
+
});
|
|
130
156
|
const existing = readStoredUserIdentity(file);
|
|
131
157
|
if (existing === undefined) {
|
|
132
|
-
writeStoredUserIdentity(file, issuerKeyRecord(imported));
|
|
158
|
+
writeStoredUserIdentity(file, named(issuerKeyRecord(imported)));
|
|
133
159
|
return { identity: imported };
|
|
134
160
|
}
|
|
135
161
|
const current = issuerPeerIdentity(existing);
|
|
136
162
|
if (Buffer.from(current.deviceId).equals(Buffer.from(imported.deviceId))) {
|
|
163
|
+
if (contents.displayName !== undefined) {
|
|
164
|
+
writeStoredUserIdentity(file, named(existing));
|
|
165
|
+
}
|
|
137
166
|
return { identity: current };
|
|
138
167
|
}
|
|
139
168
|
const replacedFile = replacedUserIdentityFile(options, current);
|
|
140
169
|
setAside(replacedFile, existing, file);
|
|
141
|
-
writeStoredUserIdentity(file, {
|
|
170
|
+
writeStoredUserIdentity(file, named({
|
|
142
171
|
...issuerKeyRecord(imported),
|
|
143
172
|
...(existing.ledgerWriter === undefined
|
|
144
173
|
? {}
|
|
145
174
|
: { ledgerWriter: existing.ledgerWriter }),
|
|
146
|
-
});
|
|
175
|
+
}));
|
|
147
176
|
return { identity: imported, replacedFile };
|
|
148
177
|
}
|
|
149
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,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"user-identity.js","sourceRoot":"","sources":["../../src/core/user-identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,13 +7,18 @@ import { tmpdir } from "node:os";
|
|
|
7
7
|
import { afterEach, describe, expect, it } from "vitest";
|
|
8
8
|
import { DEFAULT_CONNECTION_CODE_TTL_MS } from "../core/connection-code.js";
|
|
9
9
|
import { MeshStore } from "../core/mesh-store.js";
|
|
10
|
+
import { loadUserDisplayName } from "../core/user-identity.js";
|
|
10
11
|
import { runAccountCommand } from "../account-cli.js";
|
|
11
12
|
import { freeLocalPort, realHubOverWs, TeardownStack } from "./hub-helpers.js";
|
|
12
13
|
import { waitFor, wireTestTransport } from "./test-transport.js";
|
|
14
|
+
/** A device-id is a 64-character lowercase hex SHA-256 digest. */
|
|
15
|
+
const DEVICE_ID_HEX_LENGTH = 64;
|
|
13
16
|
/** Short enough that a gossip re-advertisement fires within a test's own wait budget. */
|
|
14
17
|
const FAST_GOSSIP_INTERVAL_MS = 50;
|
|
15
18
|
const cleanups = new TeardownStack();
|
|
16
19
|
const dirs = [];
|
|
20
|
+
/** Each machine's user identity directory, by its store. */
|
|
21
|
+
const userDirs = new WeakMap();
|
|
17
22
|
afterEach(async () => {
|
|
18
23
|
await cleanups.run();
|
|
19
24
|
for (const dir of dirs.splice(0)) {
|
|
@@ -25,6 +30,12 @@ function userDir() {
|
|
|
25
30
|
dirs.push(dir);
|
|
26
31
|
return dir;
|
|
27
32
|
}
|
|
33
|
+
function userDirOf(store) {
|
|
34
|
+
const dir = userDirs.get(store);
|
|
35
|
+
if (dir === undefined)
|
|
36
|
+
throw new Error("store was not made by machine()");
|
|
37
|
+
return dir;
|
|
38
|
+
}
|
|
28
39
|
/** A clock a test moves forward by hand, starting at the real time. */
|
|
29
40
|
function steppingClock() {
|
|
30
41
|
let offset = 0;
|
|
@@ -42,9 +53,12 @@ async function machine(hubUrl, name, options = {}) {
|
|
|
42
53
|
hubUrl,
|
|
43
54
|
});
|
|
44
55
|
const { clock, visibility = "visible" } = options;
|
|
56
|
+
const dir = userDir();
|
|
57
|
+
userDirs.set(store, dir);
|
|
45
58
|
await wireTestTransport(store, {
|
|
46
59
|
presenceReadvertiseIntervalMs: FAST_GOSSIP_INTERVAL_MS,
|
|
47
|
-
userIdentityOptions: { dir
|
|
60
|
+
userIdentityOptions: { dir },
|
|
61
|
+
machineIdentityOptions: { dir },
|
|
48
62
|
clock,
|
|
49
63
|
});
|
|
50
64
|
await store.init();
|
|
@@ -104,6 +118,66 @@ describe("account join", () => {
|
|
|
104
118
|
kind: "principal",
|
|
105
119
|
});
|
|
106
120
|
});
|
|
121
|
+
it("hands the account's name to the machine that joins it", async () => {
|
|
122
|
+
const hub = await realHubOverWs();
|
|
123
|
+
cleanups.push(hub.close);
|
|
124
|
+
const account = await machine(hub.url, "account-home");
|
|
125
|
+
const newMachine = await machine(hub.url, "new-machine");
|
|
126
|
+
await account.naming.setPrincipalName("work account");
|
|
127
|
+
const invite = await account.account.invite();
|
|
128
|
+
await newMachine.account.join(invite.code);
|
|
129
|
+
expect(loadUserDisplayName({ dir: userDirOf(newMachine) })).toBe("work account");
|
|
130
|
+
});
|
|
131
|
+
it("keeps the label given on join as the issuing machine's petname for the joining machine", async () => {
|
|
132
|
+
const hub = await realHubOverWs();
|
|
133
|
+
cleanups.push(hub.close);
|
|
134
|
+
const account = await machine(hub.url, "account-home");
|
|
135
|
+
const newMachine = await machine(hub.url, "new-machine");
|
|
136
|
+
const newMachineId = newMachine.getMachineId();
|
|
137
|
+
const invite = await account.account.invite();
|
|
138
|
+
await newMachine.account.join(invite.code, { label: "studio mac" });
|
|
139
|
+
expect(account.naming.listPetnames().get(newMachineId ?? "")).toBe("studio mac");
|
|
140
|
+
expect(newMachine.naming.listPetnames().size).toBe(0);
|
|
141
|
+
});
|
|
142
|
+
it("refuses an unusable label before redeeming anything, leaving the invite for another try", async () => {
|
|
143
|
+
const hub = await realHubOverWs();
|
|
144
|
+
cleanups.push(hub.close);
|
|
145
|
+
const account = await machine(hub.url, "account-home");
|
|
146
|
+
const newMachine = await machine(hub.url, "new-machine");
|
|
147
|
+
const own = principalOf(newMachine);
|
|
148
|
+
const invite = await account.account.invite();
|
|
149
|
+
await expect(newMachine.account.join(invite.code, { label: "bad\u001b[2Jlabel" })).rejects.toMatchObject({ code: "INVALID_NAME" });
|
|
150
|
+
expect(newMachine.gatewayTrust.isTrusted(account.peerId)).toBe(false);
|
|
151
|
+
expect(principalOf(newMachine)).toBe(own);
|
|
152
|
+
await newMachine.account.join(invite.code, { label: "studio mac" });
|
|
153
|
+
expect(principalOf(newMachine)).toBe(principalOf(account));
|
|
154
|
+
});
|
|
155
|
+
it("refuses a join request whose label breaks the rules without spending the invite, even from a peer that skips its own check", async () => {
|
|
156
|
+
const hub = await realHubOverWs();
|
|
157
|
+
cleanups.push(hub.close);
|
|
158
|
+
const account = await machine(hub.url, "account-home");
|
|
159
|
+
const invite = await account.account.invite();
|
|
160
|
+
const request = async (params) => account.account.handleJoinRequest({
|
|
161
|
+
requestId: 1,
|
|
162
|
+
command: {
|
|
163
|
+
verb: "account:join",
|
|
164
|
+
params: { verb: "account.join", code: invite.code.code, ...params },
|
|
165
|
+
},
|
|
166
|
+
scope: { kind: "node" },
|
|
167
|
+
respond: async () => Promise.resolve(),
|
|
168
|
+
});
|
|
169
|
+
expect(await request({ label: "x", machine: "not-a-device-id" })).toMatchObject({ result: "error", code: "invalid_label" });
|
|
170
|
+
expect(await request({
|
|
171
|
+
label: "bad\u001bname",
|
|
172
|
+
machine: "a".repeat(DEVICE_ID_HEX_LENGTH),
|
|
173
|
+
})).toMatchObject({ result: "error", code: "invalid_label" });
|
|
174
|
+
expect(await request({ machine: "a".repeat(DEVICE_ID_HEX_LENGTH) })).toMatchObject({
|
|
175
|
+
result: "error",
|
|
176
|
+
code: "invalid_label",
|
|
177
|
+
});
|
|
178
|
+
expect(account.naming.listPetnames().size).toBe(0);
|
|
179
|
+
expect(await request({})).toMatchObject({ result: "ok" });
|
|
180
|
+
});
|
|
107
181
|
it("answers an invite once, so a second machine redeeming the same invite is refused", async () => {
|
|
108
182
|
const hub = await realHubOverWs();
|
|
109
183
|
cleanups.push(hub.close);
|
|
@@ -171,6 +245,29 @@ describe("account join", () => {
|
|
|
171
245
|
expect(joinOutput[0]).toBe(`This machine now holds account ${principalOf(account)}.`);
|
|
172
246
|
expect(inviteOutput.at(-1)).toBe("The invite was redeemed: the new machine now holds this account.");
|
|
173
247
|
});
|
|
248
|
+
it("takes --label on account join and the issuer keeps it as its name for the new machine", async () => {
|
|
249
|
+
const hub = await realHubOverWs();
|
|
250
|
+
cleanups.push(hub.close);
|
|
251
|
+
const account = await machine(hub.url, "account-home", {
|
|
252
|
+
visibility: "hidden",
|
|
253
|
+
});
|
|
254
|
+
const newMachine = await machine(hub.url, "new-machine", {
|
|
255
|
+
visibility: "hidden",
|
|
256
|
+
});
|
|
257
|
+
let printInvite = () => undefined;
|
|
258
|
+
const printedInvite = new Promise((resolve) => {
|
|
259
|
+
printInvite = resolve;
|
|
260
|
+
});
|
|
261
|
+
const noSecret = async () => Promise.reject(new Error("the invite command reads no secret"));
|
|
262
|
+
const inviting = runAccountCommand(["invite"], commandIo(account, noSecret, (line) => {
|
|
263
|
+
if (line.startsWith("{"))
|
|
264
|
+
printInvite(line);
|
|
265
|
+
}));
|
|
266
|
+
const invite = await printedInvite;
|
|
267
|
+
await runAccountCommand(["join", "--label", "studio mac"], commandIo(newMachine, async () => Promise.resolve(invite), () => undefined));
|
|
268
|
+
await inviting;
|
|
269
|
+
expect(account.naming.listPetnames().get(newMachine.getMachineId() ?? "")).toBe("studio mac");
|
|
270
|
+
});
|
|
174
271
|
it("refuses an account join given something that is not an invite", async () => {
|
|
175
272
|
const hub = await realHubOverWs();
|
|
176
273
|
cleanups.push(hub.close);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-join.integration.test.js","sourceRoot":"","sources":["../../src/test/account-join.integration.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"account-join.integration.test.js","sourceRoot":"","sources":["../../src/test/account-join.integration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ import { MIN_ACCOUNT_PASSPHRASE_LENGTH, openAccountBundle, openAccountKeyFromInv
|
|
|
11
11
|
import { openAccountLedger } from "../core/account-ledger-store.js";
|
|
12
12
|
import { generateIdentity } from "../core/identity.js";
|
|
13
13
|
import { randomId } from "../core/random-id.js";
|
|
14
|
-
import { importAccountKey, loadOrCreateLedgerWriterNonce, loadOrCreateUserIdentity, } from "../core/user-identity.js";
|
|
14
|
+
import { importAccountKey, loadUserDisplayName, readAccountContents, saveUserDisplayName, loadOrCreateLedgerWriterNonce, loadOrCreateUserIdentity, } from "../core/user-identity.js";
|
|
15
15
|
import { generateWriterNonce } from "../core/account-ledger-crypto.js";
|
|
16
16
|
import { ACCOUNT_PASSPHRASE_ENV, runAccountCommand, } from "../account-cli.js";
|
|
17
17
|
const PASSPHRASE = "correct horse battery staple";
|
|
@@ -35,21 +35,26 @@ function io(passphrase) {
|
|
|
35
35
|
}
|
|
36
36
|
describe("account bundle", () => {
|
|
37
37
|
const privateKey = generateIdentity().privateKey;
|
|
38
|
+
const contents = { privateKey, displayName: "work account" };
|
|
38
39
|
it("round-trips the key under the right passphrase", () => {
|
|
39
|
-
const bundle = sealAccountBundle(
|
|
40
|
-
expect(openAccountBundle(bundle, PASSPHRASE)).
|
|
40
|
+
const bundle = sealAccountBundle(contents, PASSPHRASE);
|
|
41
|
+
expect(openAccountBundle(bundle, PASSPHRASE)).toEqual(contents);
|
|
42
|
+
});
|
|
43
|
+
it("round-trips an account that has no name", () => {
|
|
44
|
+
const bundle = sealAccountBundle({ privateKey }, PASSPHRASE);
|
|
45
|
+
expect(openAccountBundle(bundle, PASSPHRASE)).toEqual({ privateKey });
|
|
41
46
|
});
|
|
42
47
|
it("never holds the key in the clear", () => {
|
|
43
|
-
const bundle = sealAccountBundle(
|
|
48
|
+
const bundle = sealAccountBundle(contents, PASSPHRASE);
|
|
44
49
|
expect(bundle).not.toContain("PRIVATE KEY");
|
|
45
50
|
expect(Buffer.from(bundle, "base64url").toString("utf-8")).not.toContain("PRIVATE KEY");
|
|
46
51
|
});
|
|
47
52
|
it("refuses the wrong passphrase", () => {
|
|
48
|
-
const bundle = sealAccountBundle(
|
|
53
|
+
const bundle = sealAccountBundle(contents, PASSPHRASE);
|
|
49
54
|
expect(() => openAccountBundle(bundle, `${PASSPHRASE}!`)).toThrow(expect.objectContaining({ code: "WRONG_PASSPHRASE" }));
|
|
50
55
|
});
|
|
51
56
|
it("refuses a passphrase shorter than the minimum", () => {
|
|
52
|
-
expect(() => sealAccountBundle(
|
|
57
|
+
expect(() => sealAccountBundle(contents, "x".repeat(MIN_ACCOUNT_PASSPHRASE_LENGTH - 1))).toThrow(expect.objectContaining({ code: "WEAK_PASSPHRASE" }));
|
|
53
58
|
});
|
|
54
59
|
it("refuses text that is not a bundle", () => {
|
|
55
60
|
expect(() => openAccountBundle("hello", PASSPHRASE)).toThrow(expect.objectContaining({ code: "INVALID_BUNDLE" }));
|
|
@@ -60,8 +65,8 @@ describe("account bundle", () => {
|
|
|
60
65
|
expiresAt: "2030-01-01T00:00:00.000Z",
|
|
61
66
|
deviceId: "aa",
|
|
62
67
|
};
|
|
63
|
-
const sealed = sealAccountKeyForInvite(
|
|
64
|
-
expect(openAccountKeyFromInvite(sealed, invite)).
|
|
68
|
+
const sealed = sealAccountKeyForInvite(contents, invite);
|
|
69
|
+
expect(openAccountKeyFromInvite(sealed, invite)).toEqual(contents);
|
|
65
70
|
expect(() => openAccountKeyFromInvite(sealed, { ...invite, code: "abd" })).toThrow(expect.objectContaining({ code: "INVALID_BUNDLE" }));
|
|
66
71
|
});
|
|
67
72
|
});
|
|
@@ -80,6 +85,29 @@ describe("account export and import", () => {
|
|
|
80
85
|
expect(principalIn(machineB)).toBe(principal);
|
|
81
86
|
expect(fs.readFileSync(file, "utf-8")).not.toContain("PRIVATE KEY");
|
|
82
87
|
});
|
|
88
|
+
it("carries the account's name to the importing machine, and keeps it when a later import names none", async () => {
|
|
89
|
+
const machineA = tempDir();
|
|
90
|
+
const machineB = tempDir();
|
|
91
|
+
const file = path.join(tempDir(), "account.bundle");
|
|
92
|
+
loadOrCreateUserIdentity({ dir: machineA });
|
|
93
|
+
saveUserDisplayName({ dir: machineA }, "work account");
|
|
94
|
+
await runAccountCommand(["export", file], io(PASSPHRASE), {
|
|
95
|
+
dir: machineA,
|
|
96
|
+
});
|
|
97
|
+
await runAccountCommand(["import", file], io(PASSPHRASE), {
|
|
98
|
+
dir: machineB,
|
|
99
|
+
});
|
|
100
|
+
expect(loadUserDisplayName({ dir: machineB })).toBe("work account");
|
|
101
|
+
importAccountKey({ dir: machineB }, { privateKey: readAccountContents({ dir: machineB }).privateKey });
|
|
102
|
+
expect(loadUserDisplayName({ dir: machineB })).toBe("work account");
|
|
103
|
+
});
|
|
104
|
+
it("refuses a bundle whose name breaks the display-name rules", () => {
|
|
105
|
+
const bundle = sealAccountBundle({
|
|
106
|
+
privateKey: generateIdentity().privateKey,
|
|
107
|
+
displayName: "bad\u001b[2J",
|
|
108
|
+
}, PASSPHRASE);
|
|
109
|
+
expect(() => openAccountBundle(bundle, PASSPHRASE)).toThrow(expect.objectContaining({ code: "INVALID_BUNDLE" }));
|
|
110
|
+
});
|
|
83
111
|
it("gives the importing machine its own ledger writer, never the exporting machine's", async () => {
|
|
84
112
|
const machineA = tempDir();
|
|
85
113
|
const machineB = tempDir();
|
|
@@ -171,9 +199,9 @@ describe("account export and import", () => {
|
|
|
171
199
|
const second = generateIdentity();
|
|
172
200
|
const firstHex = deviceIdToHex(Uint8Array.from(first.deviceId));
|
|
173
201
|
const secondHex = deviceIdToHex(Uint8Array.from(second.deviceId));
|
|
174
|
-
importAccountKey({ dir: machine }, second.privateKey);
|
|
175
|
-
importAccountKey({ dir: machine }, first.privateKey);
|
|
176
|
-
const result = importAccountKey({ dir: machine }, second.privateKey);
|
|
202
|
+
importAccountKey({ dir: machine }, { privateKey: second.privateKey });
|
|
203
|
+
importAccountKey({ dir: machine }, { privateKey: first.privateKey });
|
|
204
|
+
const result = importAccountKey({ dir: machine }, { privateKey: second.privateKey });
|
|
177
205
|
expect(principalIn(machine)).toBe(secondHex);
|
|
178
206
|
expect(result.replacedFile).toBe(path.join(machine, `user-identity.replaced-${firstHex}.json`));
|
|
179
207
|
expect(fs.readdirSync(machine).sort()).toEqual([
|
|
@@ -189,14 +217,14 @@ describe("account export and import", () => {
|
|
|
189
217
|
const setAsideFile = path.join(machine, `user-identity.replaced-${heldHex}.json`);
|
|
190
218
|
const damaged = `${JSON.stringify({ privateKey: generateIdentity().privateKey, certificate: "x", expiresAt: new Date().toISOString() })}\n`;
|
|
191
219
|
fs.writeFileSync(setAsideFile, damaged);
|
|
192
|
-
expect(() => importAccountKey({ dir: machine }, generateIdentity().privateKey)).toThrow(expect.objectContaining({ code: "ACCOUNT_SET_ASIDE_CONFLICT" }));
|
|
220
|
+
expect(() => importAccountKey({ dir: machine }, { privateKey: generateIdentity().privateKey })).toThrow(expect.objectContaining({ code: "ACCOUNT_SET_ASIDE_CONFLICT" }));
|
|
193
221
|
expect(fs.readFileSync(setAsideFile, "utf-8")).toBe(damaged);
|
|
194
222
|
expect(principalIn(machine)).toBe(heldHex);
|
|
195
223
|
});
|
|
196
224
|
it("changes nothing when the machine already holds the imported account", () => {
|
|
197
225
|
const machineA = tempDir();
|
|
198
226
|
const identity = loadOrCreateUserIdentity({ dir: machineA });
|
|
199
|
-
const result = importAccountKey({ dir: machineA }, identity.privateKey);
|
|
227
|
+
const result = importAccountKey({ dir: machineA }, { privateKey: identity.privateKey });
|
|
200
228
|
expect(result.replacedFile).toBeUndefined();
|
|
201
229
|
expect(fs.readdirSync(machineA)).toEqual(["user-identity.json"]);
|
|
202
230
|
});
|