@peac/schema 0.11.2 → 0.11.3

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.
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Issuer Configuration Schema Extensions (v0.11.3+, DD-148)
3
+ *
4
+ * Zod schemas for revoked_keys field in peac-issuer.json.
5
+ * Reason values aligned with RFC 5280 CRLReason subset
6
+ * (only values meaningful for receipt signing keys).
7
+ *
8
+ * @packageDocumentation
9
+ */
10
+ import { z } from 'zod';
11
+ /**
12
+ * Revocation reasons: RFC 5280 CRLReason subset relevant to receipt signing keys.
13
+ */
14
+ export declare const REVOCATION_REASONS: readonly ["key_compromise", "superseded", "cessation_of_operation", "privilege_withdrawn"];
15
+ export type RevocationReason = (typeof REVOCATION_REASONS)[number];
16
+ /**
17
+ * Schema for a single revoked key entry.
18
+ */
19
+ export declare const RevokedKeyEntrySchema: z.ZodObject<{
20
+ kid: z.ZodString;
21
+ revoked_at: z.ZodString;
22
+ reason: z.ZodOptional<z.ZodEnum<{
23
+ key_compromise: "key_compromise";
24
+ superseded: "superseded";
25
+ cessation_of_operation: "cessation_of_operation";
26
+ privilege_withdrawn: "privilege_withdrawn";
27
+ }>>;
28
+ }, z.core.$strict>;
29
+ export type RevokedKeyEntryInput = z.input<typeof RevokedKeyEntrySchema>;
30
+ export type RevokedKeyEntryOutput = z.output<typeof RevokedKeyEntrySchema>;
31
+ /**
32
+ * Schema for the revoked_keys array in issuer configuration.
33
+ * Maximum 100 entries to prevent unbounded growth.
34
+ */
35
+ export declare const RevokedKeysArraySchema: z.ZodArray<z.ZodObject<{
36
+ kid: z.ZodString;
37
+ revoked_at: z.ZodString;
38
+ reason: z.ZodOptional<z.ZodEnum<{
39
+ key_compromise: "key_compromise";
40
+ superseded: "superseded";
41
+ cessation_of_operation: "cessation_of_operation";
42
+ privilege_withdrawn: "privilege_withdrawn";
43
+ }>>;
44
+ }, z.core.$strict>>;
45
+ /**
46
+ * Validate a revoked_keys array.
47
+ * Returns a discriminated result (no exceptions).
48
+ */
49
+ export declare function validateRevokedKeys(data: unknown): {
50
+ ok: true;
51
+ value: RevokedKeyEntryOutput[];
52
+ } | {
53
+ ok: false;
54
+ error: string;
55
+ };
56
+ /**
57
+ * Check if a kid is present in a revoked_keys array.
58
+ * Returns the revocation entry if found, null otherwise.
59
+ */
60
+ export declare function findRevokedKey(revokedKeys: RevokedKeyEntryOutput[], kid: string): RevokedKeyEntryOutput | null;
61
+ //# sourceMappingURL=issuer-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issuer-config.d.ts","sourceRoot":"","sources":["../src/issuer-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,kBAAkB,4FAKrB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;kBASvB,CAAC;AAEZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACzE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE3E;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;mBAA0C,CAAC;AAE9E;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,OAAO,GACZ;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,qBAAqB,EAAE,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAM7E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,qBAAqB,EAAE,EACpC,GAAG,EAAE,MAAM,GACV,qBAAqB,GAAG,IAAI,CAE9B"}
package/dist/types.d.ts CHANGED
@@ -159,6 +159,23 @@ export interface PEACIssuerConfig {
159
159
  payment_rails?: string[];
160
160
  /** Security contact email or URL (optional) */
161
161
  security_contact?: string;
162
+ /** Revoked keys list (DD-148, v0.11.3+) */
163
+ revoked_keys?: RevokedKeyEntry[];
164
+ }
165
+ /**
166
+ * Entry in the revoked_keys array of issuer configuration.
167
+ * Reason values aligned with RFC 5280 CRLReason subset
168
+ * (only values meaningful for receipt signing keys).
169
+ *
170
+ * @see docs/specs/KEY-ROTATION.md
171
+ */
172
+ export interface RevokedKeyEntry {
173
+ /** Key ID that was revoked */
174
+ kid: string;
175
+ /** ISO 8601 timestamp of revocation */
176
+ revoked_at: string;
177
+ /** Revocation reason (RFC 5280 CRLReason subset) */
178
+ reason?: 'key_compromise' | 'superseded' | 'cessation_of_operation' | 'privilege_withdrawn';
162
179
  }
163
180
  /**
164
181
  * Policy Manifest (/.well-known/peac.txt)
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peac/schema",
3
- "version": "0.11.2",
3
+ "version": "0.11.3",
4
4
  "description": "PEAC Protocol JSON schemas, OpenAPI specs, and TypeScript types",
5
5
  "main": "dist/index.cjs",
6
6
  "types": "dist/index.d.ts",
@@ -63,7 +63,7 @@
63
63
  },
64
64
  "dependencies": {
65
65
  "zod": "^4.3.6",
66
- "@peac/kernel": "0.11.2"
66
+ "@peac/kernel": "0.11.3"
67
67
  },
68
68
  "devDependencies": {
69
69
  "@types/node": "^22.19.11",