@ibgib/core-gib 0.1.62 → 0.1.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/dist/keystone/keystone-constants.d.mts +1 -0
  2. package/dist/keystone/keystone-constants.d.mts.map +1 -1
  3. package/dist/keystone/keystone-constants.mjs +1 -0
  4. package/dist/keystone/keystone-constants.mjs.map +1 -1
  5. package/dist/keystone/keystone-helpers.d.mts +19 -1
  6. package/dist/keystone/keystone-helpers.d.mts.map +1 -1
  7. package/dist/keystone/keystone-helpers.mjs +191 -16
  8. package/dist/keystone/keystone-helpers.mjs.map +1 -1
  9. package/dist/keystone/keystone-service-v1.d.mts +84 -2
  10. package/dist/keystone/keystone-service-v1.d.mts.map +1 -1
  11. package/dist/keystone/keystone-service-v1.mjs +324 -28
  12. package/dist/keystone/keystone-service-v1.mjs.map +1 -1
  13. package/dist/keystone/keystone-service-v1.respec.mjs +447 -2
  14. package/dist/keystone/keystone-service-v1.respec.mjs.map +1 -1
  15. package/dist/keystone/keystone-types.d.mts +31 -2
  16. package/dist/keystone/keystone-types.d.mts.map +1 -1
  17. package/dist/keystone/keystone-types.mjs +13 -0
  18. package/dist/keystone/keystone-types.mjs.map +1 -1
  19. package/dist/keystone/policy/keystone-profile-builder.d.mts +1 -1
  20. package/dist/keystone/policy/keystone-profile-builder.d.mts.map +1 -1
  21. package/dist/keystone/policy/keystone-profile-builder.mjs +8 -0
  22. package/dist/keystone/policy/keystone-profile-builder.mjs.map +1 -1
  23. package/dist/keystone/policy/profiles/profile-domain.json +69 -0
  24. package/dist/keystone/policy/profiles/profile-sync.json +84 -0
  25. package/dist/keystone/policy/schemas/keystone.high.schema.json +1 -1
  26. package/dist/keystone/policy/schemas/keystone.medium.schema.json +1 -1
  27. package/dist/keystone/strategy/hash-reveal-v1/hash-reveal-v1.d.mts +8 -0
  28. package/dist/keystone/strategy/hash-reveal-v1/hash-reveal-v1.d.mts.map +1 -1
  29. package/dist/keystone/strategy/hash-reveal-v1/hash-reveal-v1.mjs +15 -1
  30. package/dist/keystone/strategy/hash-reveal-v1/hash-reveal-v1.mjs.map +1 -1
  31. package/dist/sync/sync-conflict-adv-multitimelines.withid.respec.mjs +16 -4
  32. package/dist/sync/sync-conflict-adv-multitimelines.withid.respec.mjs.map +1 -1
  33. package/dist/sync/sync-conflict-basic-divergence.withid.respec.mjs +4 -1
  34. package/dist/sync/sync-conflict-basic-divergence.withid.respec.mjs.map +1 -1
  35. package/dist/sync/sync-conflict-basic-multitimelines.withid.respec.mjs +4 -1
  36. package/dist/sync/sync-conflict-basic-multitimelines.withid.respec.mjs.map +1 -1
  37. package/dist/sync/sync-conflict-text-merge.withid.respec.mjs +10 -4
  38. package/dist/sync/sync-conflict-text-merge.withid.respec.mjs.map +1 -1
  39. package/dist/sync/sync-innerspace-constants.withid.respec.mjs +12 -3
  40. package/dist/sync/sync-innerspace-constants.withid.respec.mjs.map +1 -1
  41. package/dist/sync/sync-innerspace-deep-updates.withid.respec.mjs +4 -1
  42. package/dist/sync/sync-innerspace-deep-updates.withid.respec.mjs.map +1 -1
  43. package/dist/sync/sync-innerspace-dest-ahead.withid.respec.mjs +4 -1
  44. package/dist/sync/sync-innerspace-dest-ahead.withid.respec.mjs.map +1 -1
  45. package/dist/sync/sync-innerspace-multiple-timelines.withid.respec.mjs +4 -1
  46. package/dist/sync/sync-innerspace-multiple-timelines.withid.respec.mjs.map +1 -1
  47. package/dist/sync/sync-innerspace-partial-update.withid.respec.mjs +4 -1
  48. package/dist/sync/sync-innerspace-partial-update.withid.respec.mjs.map +1 -1
  49. package/dist/sync/sync-innerspace.withid.respec.mjs +4 -1
  50. package/dist/sync/sync-innerspace.withid.respec.mjs.map +1 -1
  51. package/dist/sync/sync-peer/sync-peer-types.d.mts +4 -0
  52. package/dist/sync/sync-peer/sync-peer-types.d.mts.map +1 -1
  53. package/dist/sync/sync-peer/sync-peer-v1.d.mts.map +1 -1
  54. package/dist/sync/sync-peer/sync-peer-v1.mjs +4 -1
  55. package/dist/sync/sync-peer/sync-peer-v1.mjs.map +1 -1
  56. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-websocket-peer-helpers.d.mts.map +1 -1
  57. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-websocket-peer-helpers.mjs +90 -22
  58. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-websocket-peer-helpers.mjs.map +1 -1
  59. package/dist/sync/sync-saga-coordinator.d.mts +7 -10
  60. package/dist/sync/sync-saga-coordinator.d.mts.map +1 -1
  61. package/dist/sync/sync-saga-coordinator.mjs +14 -5
  62. package/dist/sync/sync-saga-coordinator.mjs.map +1 -1
  63. package/dist/sync/sync-types.d.mts +5 -0
  64. package/dist/sync/sync-types.d.mts.map +1 -1
  65. package/dist/sync/sync-types.mjs.map +1 -1
  66. package/dist/sync/sync-withid.connect.respec.mjs +4 -1
  67. package/dist/sync/sync-withid.connect.respec.mjs.map +1 -1
  68. package/dist/sync/sync-withid.establish.respec.mjs +4 -1
  69. package/dist/sync/sync-withid.establish.respec.mjs.map +1 -1
  70. package/dist/sync/sync-withid.pingpong.respec.mjs +4 -1
  71. package/dist/sync/sync-withid.pingpong.respec.mjs.map +1 -1
  72. package/package.json +2 -2
  73. package/src/keystone/keystone-constants.mts +1 -0
  74. package/src/keystone/keystone-helpers.mts +223 -15
  75. package/src/keystone/keystone-service-v1.mts +391 -28
  76. package/src/keystone/keystone-service-v1.respec.mts +1990 -1479
  77. package/src/keystone/keystone-types.mts +48 -2
  78. package/src/keystone/policy/keystone-profile-builder.mts +9 -1
  79. package/src/keystone/policy/profiles/profile-domain.json +69 -0
  80. package/src/keystone/policy/profiles/profile-sync.json +84 -0
  81. package/src/keystone/policy/schemas/keystone.high.schema.json +1 -1
  82. package/src/keystone/policy/schemas/keystone.medium.schema.json +1 -1
  83. package/src/keystone/strategy/hash-reveal-v1/hash-reveal-v1.mts +20 -1
  84. package/src/sync/sync-conflict-adv-multitimelines.withid.respec.mts +16 -4
  85. package/src/sync/sync-conflict-basic-divergence.withid.respec.mts +4 -1
  86. package/src/sync/sync-conflict-basic-multitimelines.withid.respec.mts +4 -1
  87. package/src/sync/sync-conflict-text-merge.withid.respec.mts +10 -4
  88. package/src/sync/sync-innerspace-constants.withid.respec.mts +12 -3
  89. package/src/sync/sync-innerspace-deep-updates.withid.respec.mts +4 -1
  90. package/src/sync/sync-innerspace-dest-ahead.withid.respec.mts +4 -1
  91. package/src/sync/sync-innerspace-multiple-timelines.withid.respec.mts +4 -1
  92. package/src/sync/sync-innerspace-partial-update.withid.respec.mts +4 -1
  93. package/src/sync/sync-innerspace.withid.respec.mts +4 -1
  94. package/src/sync/sync-peer/sync-peer-types.mts +4 -0
  95. package/src/sync/sync-peer/sync-peer-v1.mts +5 -1
  96. package/src/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-websocket-peer-helpers.mts +96 -22
  97. package/src/sync/sync-saga-coordinator.mts +17 -12
  98. package/src/sync/sync-types.mts +6 -0
  99. package/src/sync/sync-withid.connect.respec.mts +5 -2
  100. package/src/sync/sync-withid.establish.respec.mts +4 -1
  101. package/src/sync/sync-withid.pingpong.respec.mts +4 -1
  102. package/src/sync/unused-identity-backup.mts.md +0 -311
@@ -13,12 +13,13 @@ export declare class KeystoneService_V1 {
13
13
  /**
14
14
  * Creates a brand new Keystone Identity Timeline.
15
15
  */
16
- genesis({ masterSecret, frameDetails, configs, metaspace, space, }: {
16
+ genesis({ masterSecret, frameDetails, configs, metaspace, space, isPrimary, }: {
17
17
  masterSecret: string;
18
18
  frameDetails?: any;
19
19
  configs: KeystonePoolConfig[];
20
20
  metaspace: MetaspaceService;
21
21
  space: IbGibSpaceAny;
22
+ isPrimary?: boolean;
22
23
  }): Promise<KeystoneIbGib_V1>;
23
24
  /**
24
25
  * Signs a claim by solving challenges from a specific pool and evolving the Keystone timeline.
@@ -74,13 +75,14 @@ export declare class KeystoneService_V1 {
74
75
  * to the parent's `delegates` map. This operation is signed using the parent's `manage` pool.
75
76
  * Validates the delegate keystone's entire graph/timeline before registering.
76
77
  */
77
- registerDelegate({ parentKeystone, delegateKeystone, masterSecret, frameDetails, metaspace, space, }: {
78
+ registerDelegate({ parentKeystone, delegateKeystone, masterSecret, frameDetails, metaspace, space, allowedVerbs, }: {
78
79
  parentKeystone: KeystoneIbGib_V1;
79
80
  delegateKeystone: KeystoneIbGib_V1;
80
81
  masterSecret: string;
81
82
  frameDetails?: any;
82
83
  metaspace: MetaspaceService;
83
84
  space: IbGibSpaceAny;
85
+ allowedVerbs: string[];
84
86
  }): Promise<KeystoneIbGib_V1>;
85
87
  /**
86
88
  * Unregisters a delegate keystone from the parent keystone by removing its entry
@@ -196,5 +198,85 @@ export declare class KeystoneService_V1 {
196
198
  metaspace: MetaspaceService;
197
199
  space?: IbGibSpaceAny;
198
200
  }): Promise<any>;
201
+ /**
202
+ * Retrieves common aggregated info for a keystone timeline.
203
+ */
204
+ getKeystoneCommonInfo({ addr, ibGib, metaspace, space, }: {
205
+ addr?: string;
206
+ ibGib?: KeystoneIbGib_V1;
207
+ metaspace: MetaspaceService;
208
+ space: IbGibSpaceAny;
209
+ }): Promise<{
210
+ name: string;
211
+ description: string;
212
+ isPrimary: boolean;
213
+ aggregateDetails: any;
214
+ latestFrameDetails: any;
215
+ n: number;
216
+ timestamp?: string;
217
+ timestampMs?: number;
218
+ } | null>;
219
+ /**
220
+ * Replaces a challenge pool (such as manage or custodian-manage) with a new pool,
221
+ * authorizing the transition via the specified signing pool.
222
+ *
223
+ * @param latestKeystone The current tip frame of the keystone timeline.
224
+ * - Visibility: Public (Public Merkle frame, safe for logs/ledger).
225
+ * - Generator: Client/Server (Constructed locally and synced).
226
+ *
227
+ * @param newPool The fully constructed new pool to place in the next frame.
228
+ * - Visibility: Public (Public configuration and public challenges, safe for ledger).
229
+ * - Generator: Client/Server (Generated dynamically by the party proposing the update).
230
+ *
231
+ * @param signingSecret The master secret or derived KDF secret of the pool authorizing the change.
232
+ * - Visibility: Private (Confidential secret credential. Must never go over the wire).
233
+ * - Generator: Client/Server (Known only to the signing party).
234
+ *
235
+ * @param signingPoolId The ID of the pool used to authorize the transition (defaults to 'manage').
236
+ * - Visibility: Public (Non-sensitive configuration string).
237
+ * - Generator: Client/Server (From pool configuration).
238
+ */
239
+ replacePool({ latestKeystone, newPool, signingSecret, signingPoolId, frameDetails, metaspace, space, }: {
240
+ latestKeystone: KeystoneIbGib_V1;
241
+ newPool: KeystoneChallengePool;
242
+ signingSecret: string;
243
+ signingPoolId?: string;
244
+ frameDetails?: any;
245
+ metaspace: MetaspaceService;
246
+ space: IbGibSpaceAny;
247
+ }): Promise<KeystoneIbGib_V1>;
248
+ /**
249
+ * Evolve the keystone by rotating the primary user manage pool (`manage`) to a new master secret (passphrase).
250
+ * This creates a new frame signed by the specified `signingPoolId` using `signingSecret`.
251
+ *
252
+ * Supports recovery (signing via `custodian-manage` using the custodian secret) and normal rotation
253
+ * (signing via `manage` using the old password).
254
+ *
255
+ * @param latestKeystone The current tip frame of the keystone.
256
+ * - Visibility: Public (Public Merkle frame, safe for ledger).
257
+ * - Generator: Client/Server (Constructed locally and synced).
258
+ *
259
+ * @param newMasterSecret The new passphrase/master secret to set for the user's primary pools.
260
+ * - Visibility: Private (Confidential secret credential. Must never go over the wire).
261
+ * - Generator: Client (From user input in settings).
262
+ *
263
+ * @param signingSecret The secret of the pool authorizing this change (either old passphrase or derived custodian secret).
264
+ * - Visibility: Private (Confidential secret. Must never go over the wire).
265
+ * - Generator: Client/Server (Known only to the signing party).
266
+ *
267
+ * @param signingPoolId The ID of the pool used to authorize the rotation (defaults to 'manage').
268
+ * - Visibility: Public (Non-sensitive ID string).
269
+ * - Generator: Client/Server (From pool configuration).
270
+ */
271
+ changePassword({ latestKeystone, newMasterSecret, signingSecret, signingPoolId, poolIds, frameDetails, metaspace, space, }: {
272
+ latestKeystone: KeystoneIbGib_V1;
273
+ newMasterSecret: string;
274
+ signingSecret: string;
275
+ signingPoolId?: string;
276
+ poolIds?: string[];
277
+ frameDetails?: any;
278
+ metaspace: MetaspaceService;
279
+ space: IbGibSpaceAny;
280
+ }): Promise<KeystoneIbGib_V1>;
199
281
  }
200
282
  //# sourceMappingURL=keystone-service-v1.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keystone-service-v1.d.mts","sourceRoot":"","sources":["../../src/keystone/keystone-service-v1.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keystone-service-v1.d.mts","sourceRoot":"","sources":["../../src/keystone/keystone-service-v1.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAIzD,OAAO,EACH,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,aAAa,EACpE,qBAAqB,EACrB,sBAAsB,EAEzB,MAAM,sBAAsB,CAAC;AAkB9B,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAKjE;;;;GAIG;AACH,qBAAa,kBAAkB;IAC3B,SAAS,CAAC,EAAE,EAAE,MAAM,CAAkC;IAEtD;;OAEG;IACG,OAAO,CAAC,EACV,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,SAAS,EACT,KAAK,EACL,SAAS,GACZ,EAAE;QACC,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,GAAG,CAAC;QACnB,OAAO,EAAE,kBAAkB,EAAE,CAAC;QAC9B,SAAS,EAAE,gBAAgB,CAAC;QAC5B,KAAK,EAAE,aAAa,CAAC;QACrB,SAAS,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuC7B;;;;;;;;OAQG;IACG,IAAI,CAAC,EACP,cAAc,EACd,YAAY,EACZ,KAAK,EACL,MAAM,EACN,UAAU,EACV,oBAAyB,EACzB,YAAY,EACZ,SAAS,EACT,KAAK,EACL,WAAW,GACd,EAAE;QACC,cAAc,EAAE,gBAAgB,CAAC;QACjC;;;;WAIG;QACH,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9B;;WAEG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB;;;;WAIG;QACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,OAAO,CAAC;QACtD,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;QAChC,YAAY,CAAC,EAAE,GAAG,CAAC;QACnB,SAAS,EAAE,gBAAgB,CAAC;QAC5B,KAAK,EAAE,aAAa,CAAC;QACrB,WAAW,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;KAC1C,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiF7B;;;;;;;;;;OAUG;IACG,QAAQ,CAAC,EACX,YAAY,EACZ,SAAS,GACZ,EAAE;QACC,YAAY,EAAE,gBAAgB,CAAC;QAC/B,SAAS,EAAE,gBAAgB,CAAC;KAC/B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAOrB;;;;OAIG;IACG,gBAAgB,CAAC,EACnB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,KAAK,EACL,YAAY,GACf,EAAE;QACC,cAAc,EAAE,gBAAgB,CAAC;QACjC,gBAAgB,EAAE,gBAAgB,CAAC;QACnC,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,GAAG,CAAC;QACnB,SAAS,EAAE,gBAAgB,CAAC;QAC5B,KAAK,EAAE,aAAa,CAAC;QACrB,YAAY,EAAE,MAAM,EAAE,CAAC;KAC1B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiE7B;;;OAGG;IACG,kBAAkB,CAAC,EACrB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,KAAK,GACR,EAAE;QACC,cAAc,EAAE,gBAAgB,CAAC;QACjC,eAAe,EAAE,SAAS,CAAC;QAC3B,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,GAAG,CAAC;QACnB,SAAS,EAAE,gBAAgB,CAAC;QAC5B,KAAK,EAAE,aAAa,CAAC;KACxB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgD7B;;OAEG;IACG,iBAAiB,CAAC,EACpB,aAAa,EACb,eAAe,EACf,SAAS,EACT,KAAK,GACR,EAAE;QACC,aAAa,EAAE,SAAS,CAAC;QACzB,eAAe,EAAE,SAAS,CAAC;QAC3B,SAAS,EAAE,gBAAgB,CAAC;QAC5B,KAAK,EAAE,aAAa,CAAC;KACxB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA0CnC;;;;OAIG;IACG,uBAAuB,CAAC,EAC1B,aAAa,GAChB,EAAE;QACC,aAAa,EAAE,gBAAgB,CAAC;KACnC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIrB;;;;;;;OAOG;IACG,iBAAiB,CAAC,EACpB,IAAI,EACJ,SAAS,EACT,KAAK,GACR,EAAE;QACC,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,gBAAgB,CAAC;QAC5B,KAAK,EAAE,aAAa,CAAC;KACxB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0B7B;;;;OAIG;IACG,qBAAqB,CAAC,EACxB,aAAa,EACb,eAAe,EACf,SAAS,EACT,uCAAuC,EACvC,KAAK,GACR,EAAE;QACC,aAAa,EAAE,gBAAgB,CAAC;QAChC;;;WAGG;QACH,eAAe,CAAC,EAAE,cAAc,CAAC;QACjC;;;WAGG;QACH,SAAS,EAAE,OAAO,CAAC;QACnB,uCAAuC,EAAE,OAAO,CAAC;QACjD,KAAK,EAAE,aAAa,CAAC;KACxB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAoBrB;;;;;;;;OAQG;IACG,MAAM,CAAC,EACT,cAAc,EACd,YAAY,EACZ,MAAoC,EACpC,YAAY,EACZ,SAAS,EACT,KAAK,GACR,EAAE;QACC,cAAc,EAAE,gBAAgB,CAAC;QACjC,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,GAAG,CAAC;QACnB,SAAS,EAAE,gBAAgB,CAAC;QAC5B,KAAK,EAAE,aAAa,CAAC;KACxB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0F7B;;;;;;;;OAQG;IACG,QAAQ,CAAC,EACX,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,KAAK,GACR,EAAE;QACC,cAAc,EAAE,gBAAgB,CAAC;QACjC;;;WAGG;QACH,YAAY,EAAE,MAAM,CAAC;QACrB;;;;;WAKG;QACH,QAAQ,EAAE,qBAAqB,EAAE,CAAC;QAClC,SAAS,EAAE,gBAAgB,CAAC;QAC5B,KAAK,EAAE,aAAa,CAAC;KACxB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkG7B;;;OAGG;IACG,mBAAmB,CAAC,EACtB,cAAc,EACd,SAAS,EACT,KAAK,GACR,EAAE;QACC,cAAc,EAAE,gBAAgB,CAAC;QACjC,SAAS,EAAE,gBAAgB,CAAC;QAC5B,KAAK,CAAC,EAAE,aAAa,CAAC;KACzB,GAAG,OAAO,CAAC,GAAG,CAAC;IAgDhB;;OAEG;IACG,qBAAqB,CAAC,EACxB,IAAI,EACJ,KAAK,EACL,SAAS,EACT,KAAK,GACR,EAAE;QACC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,gBAAgB,CAAC;QACzB,SAAS,EAAE,gBAAgB,CAAC;QAC5B,KAAK,EAAE,aAAa,CAAC;KACxB,GAAG,OAAO,CAAC;QACR,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;QACnB,gBAAgB,EAAE,GAAG,CAAC;QACtB,kBAAkB,EAAE,GAAG,CAAC;QACxB,CAAC,EAAE,MAAM,CAAC;QACV,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,IAAI,CAAC;IAyDT;;;;;;;;;;;;;;;;;;;OAmBG;IACG,WAAW,CAAC,EACd,cAAc,EACd,OAAO,EACP,aAAa,EACb,aAA8B,EAC9B,YAAY,EACZ,SAAS,EACT,KAAK,GACR,EAAE;QACC,cAAc,EAAE,gBAAgB,CAAC;QACjC,OAAO,EAAE,qBAAqB,CAAC;QAC/B,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,GAAG,CAAC;QACnB,SAAS,EAAE,gBAAgB,CAAC;QAC5B,KAAK,EAAE,aAAa,CAAC;KACxB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0F7B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,cAAc,CAAC,EACjB,cAAc,EACd,eAAe,EACf,aAAa,EACb,aAA8B,EAC9B,OAAO,EACP,YAAY,EACZ,SAAS,EACT,KAAK,GACR,EAAE;QACC,cAAc,EAAE,gBAAgB,CAAC;QACjC,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,YAAY,CAAC,EAAE,GAAG,CAAC;QACnB,SAAS,EAAE,gBAAgB,CAAC;QAC5B,KAAK,EAAE,aAAa,CAAC;KACxB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CA+GhC"}
@@ -1,10 +1,9 @@
1
1
  import { extractErrorMsg, mergeMapsOrArrays_Naive } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
2
2
  import { getIbGibAddr, getIbAndGib } from '@ibgib/ts-gib/dist/helper.mjs';
3
3
  import { GLOBAL_LOG_A_LOT } from '../core-constants.mjs';
4
- import { KeystoneReplenishStrategy, } from './keystone-types.mjs';
5
- import { KeystoneStrategyFactory } from './strategy/keystone-strategy-factory.mjs';
6
- import { POOL_ID_REVOKE, KEYSTONE_VERB_REVOKE, KEYSTONE_VERB_MANAGE, KEYSTONE_CHECKPOINT_FREQUENCY, POOL_ID_MANAGE } from './keystone-constants.mjs';
7
- import { createKeystoneIbGibImpl, evolvePersistAndRegisterKeystone, generateOpaqueChallengeId, resolveTargetPool, selectChallengeIds, solveAndReplenish, validateKeystoneTransition, validateGenesisKeystone, validateKeystoneGraph } from './keystone-helpers.mjs';
4
+ import { KeystoneReplenishStrategy, KeystoneClaimType } from './keystone-types.mjs';
5
+ import { KEYSTONE_VERB_REVOKE, KEYSTONE_VERB_MANAGE, KEYSTONE_CHECKPOINT_FREQUENCY, POOL_ID_MANAGE } from './keystone-constants.mjs';
6
+ import { createKeystoneIbGibImpl, evolvePersistAndRegisterKeystone, resolveTargetPool, selectChallengeIds, solveAndReplenish, validateKeystoneTransition, validateGenesisKeystone, validateKeystoneGraph, generatePoolChallenges, rotatePoolChallenges } from './keystone-helpers.mjs';
8
7
  import { getLatestAddrs } from '../witness/space/space-helper.mjs';
9
8
  import { getTjpAddr } from '../common/other/ibgib-helper.mjs';
10
9
  const logalot = GLOBAL_LOG_A_LOT;
@@ -18,7 +17,7 @@ export class KeystoneService_V1 {
18
17
  /**
19
18
  * Creates a brand new Keystone Identity Timeline.
20
19
  */
21
- async genesis({ masterSecret, frameDetails, configs, metaspace, space, }) {
20
+ async genesis({ masterSecret, frameDetails, configs, metaspace, space, isPrimary, }) {
22
21
  const lc = `${this.lc}[${this.genesis.name}]`;
23
22
  try {
24
23
  if (logalot) {
@@ -26,21 +25,10 @@ export class KeystoneService_V1 {
26
25
  }
27
26
  const challengePools = [];
28
27
  for (const config of configs) {
29
- const strategy = KeystoneStrategyFactory.create({ config });
30
- const poolSecret = await strategy.derivePoolSecret({ masterSecret });
31
- const challenges = {};
32
- const targetSize = config.behavior.size;
33
- const timestamp = Date.now().toString();
34
- for (let i = 0; i < targetSize; i++) {
35
- const challengeId = await generateOpaqueChallengeId({
36
- salt: config.salt, timestamp, index: i
37
- });
38
- const solution = await strategy.generateSolution({
39
- poolSecret, poolId: config.id, challengeId,
40
- });
41
- const challenge = await strategy.generateChallenge({ solution });
42
- challenges[challengeId] = challenge;
43
- }
28
+ const challenges = await generatePoolChallenges({
29
+ config,
30
+ masterSecret
31
+ });
44
32
  challengePools.push({
45
33
  id: config.id,
46
34
  config,
@@ -51,8 +39,11 @@ export class KeystoneService_V1 {
51
39
  throw new Error(`No challenge pools created. (E: 38e538530996940e1f16a8b199995825)`);
52
40
  }
53
41
  const data = { challengePools, proofs: [] };
54
- if (frameDetails) {
55
- data.frameDetails = frameDetails;
42
+ if (frameDetails || isPrimary !== undefined) {
43
+ data.frameDetails = { ...(frameDetails || {}) };
44
+ if (isPrimary !== undefined) {
45
+ data.frameDetails.isPrimary = isPrimary;
46
+ }
56
47
  }
57
48
  const keystoneIbGib = await createKeystoneIbGibImpl({ data, metaspace, space });
58
49
  return keystoneIbGib;
@@ -178,7 +169,7 @@ export class KeystoneService_V1 {
178
169
  * to the parent's `delegates` map. This operation is signed using the parent's `manage` pool.
179
170
  * Validates the delegate keystone's entire graph/timeline before registering.
180
171
  */
181
- async registerDelegate({ parentKeystone, delegateKeystone, masterSecret, frameDetails, metaspace, space, }) {
172
+ async registerDelegate({ parentKeystone, delegateKeystone, masterSecret, frameDetails, metaspace, space, allowedVerbs, }) {
182
173
  const lc = `${this.lc}[${this.registerDelegate.name}]`;
183
174
  try {
184
175
  if (logalot) {
@@ -215,6 +206,8 @@ export class KeystoneService_V1 {
215
206
  delegateTjpAddr,
216
207
  delegateAddr: getIbGibAddr({ ibGib: delegateKeystone }),
217
208
  thisAddr: getIbGibAddr({ ibGib: parentKeystone }),
209
+ // allowedVerbs: allowedVerbs ?? [KEYSTONE_VERB_SYNC], // NO! We cannot default to sync just to get things to work right now
210
+ allowedVerbs,
218
211
  };
219
212
  // 5. Sign & evolve parent keystone using the 'manage' pool
220
213
  const evolved = await this.sign({
@@ -428,10 +421,10 @@ export class KeystoneService_V1 {
428
421
  console.log(`${lc} starting...`);
429
422
  }
430
423
  const prevData = latestKeystone.data;
431
- // 1. Identify Authority (Resolve Revoke Pool)
424
+ // 1. Identify Authority (Resolve Revoke Pool by verb)
432
425
  const pool = resolveTargetPool({
433
426
  pools: prevData.challengePools,
434
- poolId: POOL_ID_REVOKE // Explicitly require the special revoke pool
427
+ verb: KEYSTONE_VERB_REVOKE
435
428
  });
436
429
  // 2. Construct Claim
437
430
  const claim = {
@@ -541,13 +534,15 @@ export class KeystoneService_V1 {
541
534
  if (logalot) {
542
535
  console.log(`${lc} Authorized via pool: ${adminPool.id}`);
543
536
  }
544
- // 2. Construct the Management Claim
537
+ // 2. Construct the Management Claim with typed details
545
538
  const target = getIbGibAddr({ ibGib: latestKeystone });
546
539
  const claim = {
547
540
  verb: KEYSTONE_VERB_MANAGE,
548
541
  target, // I am managing myself
549
- // Scope creates a cryptographic commitment to WHICH pools are being added
550
- scope: JSON.stringify({ add: newPools.map(p => p.id) })
542
+ details: {
543
+ type: KeystoneClaimType.add_pool,
544
+ info: { add: newPools.map(p => p.id) }
545
+ }
551
546
  };
552
547
  // 3. Calculate Costs
553
548
  const idsToSolve = await selectChallengeIds({
@@ -660,5 +655,306 @@ export class KeystoneService_V1 {
660
655
  throw error;
661
656
  }
662
657
  }
658
+ /**
659
+ * Retrieves common aggregated info for a keystone timeline.
660
+ */
661
+ async getKeystoneCommonInfo({ addr, ibGib, metaspace, space, }) {
662
+ const lc = `${this.lc}[getKeystoneCommonInfo]`;
663
+ try {
664
+ let targetAddr = addr;
665
+ let targetIbGib = ibGib;
666
+ if (!targetAddr) {
667
+ if (!targetIbGib) {
668
+ return null;
669
+ }
670
+ targetAddr = getIbGibAddr({ ibGib: targetIbGib });
671
+ }
672
+ if (!targetIbGib) {
673
+ const { ib, gib } = getIbAndGib({ ibGibAddr: targetAddr });
674
+ targetIbGib = { ib, gib };
675
+ }
676
+ const resGetLatest = await getLatestAddrs({
677
+ ibGibs: [targetIbGib],
678
+ space,
679
+ });
680
+ if (!resGetLatest.data?.latestAddrsMap) {
681
+ return null;
682
+ }
683
+ const latestAddr = resGetLatest.data.latestAddrsMap[targetAddr] || Object.values(resGetLatest.data.latestAddrsMap)[0];
684
+ if (!latestAddr) {
685
+ return null;
686
+ }
687
+ const resGet = await metaspace.get({ addr: latestAddr, space });
688
+ const latestKeystone = resGet.ibGibs?.at(0);
689
+ if (!latestKeystone || !latestKeystone.data) {
690
+ return null;
691
+ }
692
+ const aggregateDetails = await this.getAggregateDetails({
693
+ latestKeystone,
694
+ metaspace,
695
+ space
696
+ });
697
+ const name = aggregateDetails?.username || aggregateDetails?.profile?.name || aggregateDetails?.name || '';
698
+ const description = aggregateDetails?.description || aggregateDetails?.profile?.description || '';
699
+ const isPrimary = !!aggregateDetails?.isPrimary || !!aggregateDetails?.profile?.isPrimary;
700
+ const latestFrameDetails = latestKeystone.data.frameDetails || {};
701
+ const n = latestKeystone.data.n ?? 0;
702
+ const timestamp = latestFrameDetails?.timestamp || aggregateDetails?.timestamp || '';
703
+ const timestampMs = latestFrameDetails?.timestampMs || aggregateDetails?.timestampMs || undefined;
704
+ return {
705
+ name,
706
+ description,
707
+ isPrimary,
708
+ aggregateDetails,
709
+ latestFrameDetails,
710
+ n,
711
+ timestamp,
712
+ timestampMs
713
+ };
714
+ }
715
+ catch (error) {
716
+ console.error(`${lc} ${extractErrorMsg(error)}`);
717
+ return null;
718
+ }
719
+ }
720
+ /**
721
+ * Replaces a challenge pool (such as manage or custodian-manage) with a new pool,
722
+ * authorizing the transition via the specified signing pool.
723
+ *
724
+ * @param latestKeystone The current tip frame of the keystone timeline.
725
+ * - Visibility: Public (Public Merkle frame, safe for logs/ledger).
726
+ * - Generator: Client/Server (Constructed locally and synced).
727
+ *
728
+ * @param newPool The fully constructed new pool to place in the next frame.
729
+ * - Visibility: Public (Public configuration and public challenges, safe for ledger).
730
+ * - Generator: Client/Server (Generated dynamically by the party proposing the update).
731
+ *
732
+ * @param signingSecret The master secret or derived KDF secret of the pool authorizing the change.
733
+ * - Visibility: Private (Confidential secret credential. Must never go over the wire).
734
+ * - Generator: Client/Server (Known only to the signing party).
735
+ *
736
+ * @param signingPoolId The ID of the pool used to authorize the transition (defaults to 'manage').
737
+ * - Visibility: Public (Non-sensitive configuration string).
738
+ * - Generator: Client/Server (From pool configuration).
739
+ */
740
+ async replacePool({ latestKeystone, newPool, signingSecret, signingPoolId = POOL_ID_MANAGE, frameDetails, metaspace, space, }) {
741
+ const lc = `${this.lc}[${this.replacePool.name}]`;
742
+ try {
743
+ if (logalot) {
744
+ console.log(`${lc} starting... replacing pool: ${newPool.id}`);
745
+ }
746
+ if (!latestKeystone.data) {
747
+ throw new Error(`(UNEXPECTED) latestKeystone.data falsy? (E: 1334c8faed128166a999d428c7805b25)`);
748
+ }
749
+ const prevData = latestKeystone.data;
750
+ if (prevData.revocationInfo) {
751
+ throw new Error(`Keystone has been revoked. Cannot replace pool. (E: 2599f8f51c78d722252ddb2894fdbe25)`);
752
+ }
753
+ // 1. Identify Authority (Resolve Signing Pool)
754
+ const prevPools = prevData.challengePools;
755
+ const signingPool = prevPools.find(p => p.id === signingPoolId);
756
+ if (!signingPool) {
757
+ throw new Error(`Signing pool not found: ${signingPoolId} (E: 3599f8f51c78d722252ddb2894fdbe25)`);
758
+ }
759
+ // 2. Construct the Management Claim with typed details
760
+ const target = getIbGibAddr({ ibGib: latestKeystone });
761
+ const claim = {
762
+ verb: KEYSTONE_VERB_MANAGE,
763
+ target,
764
+ details: {
765
+ type: KeystoneClaimType.replace_pool,
766
+ info: { replace: newPool.id }
767
+ }
768
+ };
769
+ // 3. Calculate Costs
770
+ const idsToSolve = await selectChallengeIds({
771
+ pool: signingPool,
772
+ targetAddr: target
773
+ });
774
+ // 4. Pay the Cost (Solve & Replenish)
775
+ const { proof, nextPools } = await solveAndReplenish({
776
+ targetPoolId: signingPoolId,
777
+ prevPools,
778
+ masterSecret: signingSecret,
779
+ challengeIds: idsToSolve,
780
+ claim,
781
+ });
782
+ // 5. Replace target pool in nextPools
783
+ const targetIdx = nextPools.findIndex(p => p.id === newPool.id);
784
+ if (targetIdx === -1) {
785
+ throw new Error(`Target pool to replace '${newPool.id}' not found in keystone challenge pools.`);
786
+ }
787
+ nextPools[targetIdx] = newPool;
788
+ // 6. Construct New Data
789
+ const n = (prevData.n ?? 0) + 1;
790
+ let checkpointDetails;
791
+ if (n % KEYSTONE_CHECKPOINT_FREQUENCY === 0) {
792
+ const currentFrameView = {
793
+ ...latestKeystone,
794
+ data: { ...prevData, frameDetails }
795
+ };
796
+ checkpointDetails = await this.getAggregateDetails({
797
+ latestKeystone: currentFrameView,
798
+ metaspace,
799
+ space
800
+ });
801
+ }
802
+ const newData = {
803
+ challengePools: nextPools,
804
+ proofs: [proof],
805
+ frameDetails,
806
+ checkpointDetails,
807
+ ...(prevData.delegates ? { delegates: prevData.delegates } : {}),
808
+ };
809
+ // 7. Commit
810
+ const newKeystone = await evolvePersistAndRegisterKeystone({
811
+ prevIbGib: latestKeystone,
812
+ newData,
813
+ metaspace,
814
+ space
815
+ });
816
+ return newKeystone;
817
+ }
818
+ catch (error) {
819
+ console.error(`${lc} ${extractErrorMsg(error)}`);
820
+ throw error;
821
+ }
822
+ finally {
823
+ if (logalot) {
824
+ console.log(`${lc} complete.`);
825
+ }
826
+ }
827
+ }
828
+ /**
829
+ * Evolve the keystone by rotating the primary user manage pool (`manage`) to a new master secret (passphrase).
830
+ * This creates a new frame signed by the specified `signingPoolId` using `signingSecret`.
831
+ *
832
+ * Supports recovery (signing via `custodian-manage` using the custodian secret) and normal rotation
833
+ * (signing via `manage` using the old password).
834
+ *
835
+ * @param latestKeystone The current tip frame of the keystone.
836
+ * - Visibility: Public (Public Merkle frame, safe for ledger).
837
+ * - Generator: Client/Server (Constructed locally and synced).
838
+ *
839
+ * @param newMasterSecret The new passphrase/master secret to set for the user's primary pools.
840
+ * - Visibility: Private (Confidential secret credential. Must never go over the wire).
841
+ * - Generator: Client (From user input in settings).
842
+ *
843
+ * @param signingSecret The secret of the pool authorizing this change (either old passphrase or derived custodian secret).
844
+ * - Visibility: Private (Confidential secret. Must never go over the wire).
845
+ * - Generator: Client/Server (Known only to the signing party).
846
+ *
847
+ * @param signingPoolId The ID of the pool used to authorize the rotation (defaults to 'manage').
848
+ * - Visibility: Public (Non-sensitive ID string).
849
+ * - Generator: Client/Server (From pool configuration).
850
+ */
851
+ async changePassword({ latestKeystone, newMasterSecret, signingSecret, signingPoolId = POOL_ID_MANAGE, poolIds, frameDetails, metaspace, space, }) {
852
+ const lc = `${this.lc}[${this.changePassword.name}]`;
853
+ try {
854
+ if (logalot) {
855
+ console.log(`${lc} starting...`);
856
+ }
857
+ if (!latestKeystone.data) {
858
+ throw new Error(`latestKeystone.data falsy`);
859
+ }
860
+ if (latestKeystone.data.revocationInfo) {
861
+ throw new Error(`Keystone has been revoked. Cannot change password. (E: 8599f8f51c78d722252ddb2894fdbe25)`);
862
+ }
863
+ const prevPools = latestKeystone.data.challengePools;
864
+ const signingPool = prevPools.find(p => p.id === signingPoolId);
865
+ if (!signingPool) {
866
+ throw new Error(`Signing pool not found: ${signingPoolId} (E: 3599f8f51c78d722252ddb2894fdbe25)`);
867
+ }
868
+ // 1. Resolve target pools to rotate
869
+ let targets = [];
870
+ if (poolIds && poolIds.length > 0) {
871
+ for (const id of poolIds) {
872
+ const found = prevPools.find(p => p.id === id);
873
+ if (!found) {
874
+ throw new Error(`Target pool to rotate not found: ${id} (E: 4599f8f51c78d722252ddb2894fdbe25)`);
875
+ }
876
+ targets.push(found);
877
+ }
878
+ }
879
+ else {
880
+ targets = prevPools.filter(p => !p.isForeign);
881
+ if (targets.length === 0) {
882
+ throw new Error(`No non-foreign pools found to rotate. (E: 5599f8f51c78d722252ddb2894fdbe25)`);
883
+ }
884
+ }
885
+ // 2. Rotate the target pools
886
+ const rotatedPools = [];
887
+ for (const targetPool of targets) {
888
+ const rotated = await rotatePoolChallenges({
889
+ prevPool: targetPool,
890
+ newMasterSecret
891
+ });
892
+ rotatedPools.push(rotated);
893
+ }
894
+ // 3. Construct Management Claim with typed details
895
+ const target = getIbGibAddr({ ibGib: latestKeystone });
896
+ const claim = {
897
+ verb: KEYSTONE_VERB_MANAGE,
898
+ target,
899
+ details: {
900
+ type: KeystoneClaimType.change_password,
901
+ info: { change: rotatedPools.map(p => p.id) }
902
+ }
903
+ };
904
+ // 4. Calculate Costs
905
+ const idsToSolve = await selectChallengeIds({
906
+ pool: signingPool,
907
+ targetAddr: target
908
+ });
909
+ // 5. Pay the Cost (Solve & Replenish)
910
+ const { proof, nextPools } = await solveAndReplenish({
911
+ targetPoolId: signingPoolId,
912
+ prevPools,
913
+ masterSecret: signingSecret,
914
+ challengeIds: idsToSolve,
915
+ claim
916
+ });
917
+ // 6. Swap the rotated pools in nextPools
918
+ for (const rotated of rotatedPools) {
919
+ const idx = nextPools.findIndex(p => p.id === rotated.id);
920
+ if (idx === -1) {
921
+ throw new Error(`Rotated pool ${rotated.id} not found in next pools list. (E: 6599f8f51c78d722252ddb2894fdbe25)`);
922
+ }
923
+ nextPools[idx] = rotated;
924
+ }
925
+ // 7. Construct New Data
926
+ const n = (latestKeystone.data.n ?? 0) + 1;
927
+ let checkpointDetails;
928
+ if (n % KEYSTONE_CHECKPOINT_FREQUENCY === 0) {
929
+ const currentFrameView = {
930
+ ...latestKeystone,
931
+ data: { ...latestKeystone.data, challengePools: nextPools }
932
+ };
933
+ checkpointDetails = await this.getAggregateDetails({
934
+ latestKeystone: currentFrameView,
935
+ metaspace,
936
+ space
937
+ });
938
+ }
939
+ const newData = {
940
+ challengePools: nextPools,
941
+ proofs: [proof],
942
+ frameDetails,
943
+ checkpointDetails,
944
+ ...(latestKeystone.data.delegates ? { delegates: latestKeystone.data.delegates } : {}),
945
+ };
946
+ // 8. Commit
947
+ return await evolvePersistAndRegisterKeystone({
948
+ prevIbGib: latestKeystone,
949
+ newData,
950
+ metaspace,
951
+ space
952
+ });
953
+ }
954
+ catch (error) {
955
+ console.error(`${lc} ${extractErrorMsg(error)}`);
956
+ throw error;
957
+ }
958
+ }
663
959
  }
664
960
  //# sourceMappingURL=keystone-service-v1.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"keystone-service-v1.mjs","sourceRoot":"","sources":["../../src/keystone/keystone-service-v1.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keystone-service-v1.mjs","sourceRoot":"","sources":["../../src/keystone/keystone-service-v1.mts"],"names":[],"mappings":"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"}