@ibgib/core-gib 0.1.63 → 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 (30) 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 +82 -1
  10. package/dist/keystone/keystone-service-v1.d.mts.map +1 -1
  11. package/dist/keystone/keystone-service-v1.mjs +321 -27
  12. package/dist/keystone/keystone-service-v1.mjs.map +1 -1
  13. package/dist/keystone/keystone-service-v1.respec.mjs +474 -47
  14. package/dist/keystone/keystone-service-v1.respec.mjs.map +1 -1
  15. package/dist/keystone/keystone-types.d.mts +26 -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/profiles/profile-domain.json +0 -15
  20. package/dist/keystone/policy/schemas/keystone.high.schema.json +1 -1
  21. package/dist/keystone/policy/schemas/keystone.medium.schema.json +1 -1
  22. package/package.json +2 -2
  23. package/src/keystone/keystone-constants.mts +1 -0
  24. package/src/keystone/keystone-helpers.mts +223 -15
  25. package/src/keystone/keystone-service-v1.mts +387 -28
  26. package/src/keystone/keystone-service-v1.respec.mts +1990 -1500
  27. package/src/keystone/keystone-types.mts +43 -2
  28. package/src/keystone/policy/profiles/profile-domain.json +1 -16
  29. package/src/keystone/policy/schemas/keystone.high.schema.json +1 -1
  30. package/src/keystone/policy/schemas/keystone.medium.schema.json +1 -1
@@ -256,6 +256,47 @@ export interface KeystoneChallengePool {
256
256
  metadata?: any;
257
257
  }
258
258
 
259
+ // #region KeystoneClaimType enum
260
+ export const KEYSTONE_CLAIM_TYPE_ADD_POOL = 'add-pool';
261
+ export const KEYSTONE_CLAIM_TYPE_REPLACE_POOL = 'replace-pool';
262
+ export const KEYSTONE_CLAIM_TYPE_CHANGE_PASSWORD = 'change-password';
263
+
264
+ export type KeystoneClaimType =
265
+ | typeof KEYSTONE_CLAIM_TYPE_ADD_POOL
266
+ | typeof KEYSTONE_CLAIM_TYPE_REPLACE_POOL
267
+ | typeof KEYSTONE_CLAIM_TYPE_CHANGE_PASSWORD
268
+ ;
269
+
270
+ export const KeystoneClaimType = {
271
+ add_pool: KEYSTONE_CLAIM_TYPE_ADD_POOL,
272
+ replace_pool: KEYSTONE_CLAIM_TYPE_REPLACE_POOL,
273
+ change_password: KEYSTONE_CLAIM_TYPE_CHANGE_PASSWORD,
274
+ } satisfies { readonly [key: string]: KeystoneClaimType };
275
+
276
+ export const KEYSTONE_CLAIM_TYPE_VALID_VALUES: KeystoneClaimType[] = Object.values(KeystoneClaimType);
277
+
278
+ export function isKeystoneClaimType(value: any): value is KeystoneClaimType {
279
+ return typeof value === 'string' && KEYSTONE_CLAIM_TYPE_VALID_VALUES.includes(value as any);
280
+ }
281
+ // #endregion KeystoneClaimType enum
282
+
283
+ export interface ClaimDetails {
284
+ type: KeystoneClaimType;
285
+ info: any;
286
+ }
287
+
288
+ export interface ClaimDetails_AddPool {
289
+ add: string[];
290
+ }
291
+
292
+ export interface ClaimDetails_ReplacePool {
293
+ replace: string;
294
+ }
295
+
296
+ export interface ClaimDetails_ChangePassword {
297
+ change: string[];
298
+ }
299
+
259
300
  /**
260
301
  * Describes the specific privilege that the evolution of the keystone
261
302
  * authorizes.
@@ -277,9 +318,9 @@ export interface KeystoneClaim {
277
318
  */
278
319
  target: IbGibAddr;
279
320
  /**
280
- * What limitations are narrowed down to beyond just target + verb?
321
+ * Detailed information describing the nature of the keystone evolution/transition.
281
322
  */
282
- scope?: string;
323
+ details?: ClaimDetails;
283
324
  }
284
325
 
285
326
  /**
@@ -50,21 +50,6 @@
50
50
  "targetBindingCount": 0
51
51
  }
52
52
  },
53
- "connect": {
54
- "id": "connect",
55
- "allowedVerbs": [
56
- "connect"
57
- ],
58
- "algo": "SHA-512",
59
- "rounds": 4,
60
- "behavior": {
61
- "size": 2000,
62
- "replenish": "top-up",
63
- "selectSequentially": 10,
64
- "selectRandomly": 10,
65
- "targetBindingCount": 16
66
- }
67
- },
68
53
  "sign": {
69
54
  "id": "default",
70
55
  "allowedVerbs": [
@@ -81,4 +66,4 @@
81
66
  }
82
67
  }
83
68
  }
84
- }
69
+ }
@@ -19,7 +19,7 @@
19
19
  "connect": { "$ref": "./connect-pool.high.schema.json" },
20
20
  "sign": { "$ref": "./sign-pool.high.schema.json" }
21
21
  },
22
- "required": ["sync", "manage", "revoke", "connect", "sign"]
22
+ "required": ["manage", "revoke", "sign"]
23
23
  }
24
24
  },
25
25
  "required": ["pools"]
@@ -19,7 +19,7 @@
19
19
  "connect": { "$ref": "./connect-pool.medium.schema.json" },
20
20
  "sign": { "$ref": "./sign-pool.medium.schema.json" }
21
21
  },
22
- "required": ["sync", "manage", "revoke", "connect", "sign"]
22
+ "required": ["manage", "revoke", "sign"]
23
23
  }
24
24
  },
25
25
  "required": ["pools"]