@peac/schema 0.9.18

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 (50) hide show
  1. package/README.md +23 -0
  2. package/dist/constants.d.ts +28 -0
  3. package/dist/constants.d.ts.map +1 -0
  4. package/dist/constants.js +32 -0
  5. package/dist/constants.js.map +1 -0
  6. package/dist/control.d.ts +155 -0
  7. package/dist/control.d.ts.map +1 -0
  8. package/dist/control.js +9 -0
  9. package/dist/control.js.map +1 -0
  10. package/dist/envelope.d.ts +62 -0
  11. package/dist/envelope.d.ts.map +1 -0
  12. package/dist/envelope.js +9 -0
  13. package/dist/envelope.js.map +1 -0
  14. package/dist/errors.d.ts +134 -0
  15. package/dist/errors.d.ts.map +1 -0
  16. package/dist/errors.js +51 -0
  17. package/dist/errors.js.map +1 -0
  18. package/dist/evidence.d.ts +267 -0
  19. package/dist/evidence.d.ts.map +1 -0
  20. package/dist/evidence.js +8 -0
  21. package/dist/evidence.js.map +1 -0
  22. package/dist/index.d.ts +15 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +57 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/normalize.d.ts +92 -0
  27. package/dist/normalize.d.ts.map +1 -0
  28. package/dist/normalize.js +102 -0
  29. package/dist/normalize.js.map +1 -0
  30. package/dist/schemas.d.ts +3 -0
  31. package/dist/schemas.d.ts.map +1 -0
  32. package/dist/schemas.js +7 -0
  33. package/dist/schemas.js.map +1 -0
  34. package/dist/subject.d.ts +111 -0
  35. package/dist/subject.d.ts.map +1 -0
  36. package/dist/subject.js +9 -0
  37. package/dist/subject.js.map +1 -0
  38. package/dist/types.d.ts +139 -0
  39. package/dist/types.d.ts.map +1 -0
  40. package/dist/types.js +6 -0
  41. package/dist/types.js.map +1 -0
  42. package/dist/validators.d.ts +656 -0
  43. package/dist/validators.d.ts.map +1 -0
  44. package/dist/validators.js +290 -0
  45. package/dist/validators.js.map +1 -0
  46. package/dist/version.d.ts +4 -0
  47. package/dist/version.d.ts.map +1 -0
  48. package/dist/version.js +7 -0
  49. package/dist/version.js.map +1 -0
  50. package/package.json +40 -0
@@ -0,0 +1,290 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SubjectProfileSnapshotSchema = exports.SubjectProfileSchema = exports.SubjectTypeSchema = exports.PaymentEvidenceSchema = exports.PaymentRoutingSchema = exports.PaymentSplitSchema = exports.ControlBlockSchema = exports.ControlStepSchema = exports.ControlDecisionSchema = exports.ControlLicensingModeSchema = exports.ControlPurposeSchema = exports.VerifyRequest = exports.ReceiptClaims = exports.JWSHeader = exports.Extensions = exports.AIPREFSnapshot = exports.Subject = exports.NormalizedPayment = void 0;
4
+ exports.validateSubjectSnapshot = validateSubjectSnapshot;
5
+ /**
6
+ * Zod validators for PEAC protocol types
7
+ */
8
+ const zod_1 = require("zod");
9
+ const constants_1 = require("./constants");
10
+ const httpsUrl = zod_1.z
11
+ .string()
12
+ .url()
13
+ .refine((u) => u.startsWith('https://'), 'must be https://');
14
+ const iso4217 = zod_1.z.string().regex(/^[A-Z]{3}$/);
15
+ const uuidv7 = zod_1.z
16
+ .string()
17
+ .regex(/^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i);
18
+ exports.NormalizedPayment = zod_1.z
19
+ .object({
20
+ rail: zod_1.z.string().min(1),
21
+ reference: zod_1.z.string().min(1),
22
+ amount: zod_1.z.number().int().nonnegative(),
23
+ currency: iso4217,
24
+ asset: zod_1.z.string().optional(),
25
+ env: zod_1.z.string().optional(),
26
+ evidence: zod_1.z.record(zod_1.z.unknown()).optional(),
27
+ metadata: zod_1.z.record(zod_1.z.unknown()).optional(),
28
+ })
29
+ .strict();
30
+ exports.Subject = zod_1.z.object({ uri: httpsUrl }).strict();
31
+ exports.AIPREFSnapshot = zod_1.z
32
+ .object({
33
+ url: httpsUrl,
34
+ hash: zod_1.z.string().min(8),
35
+ })
36
+ .strict();
37
+ // Note: Extensions uses a forward reference pattern since ControlBlockSchema
38
+ // is defined after this. We use catchall for now and validate control separately.
39
+ exports.Extensions = zod_1.z
40
+ .object({
41
+ aipref_snapshot: exports.AIPREFSnapshot.optional(),
42
+ // control block validated via ControlBlockSchema when present
43
+ })
44
+ .catchall(zod_1.z.unknown());
45
+ exports.JWSHeader = zod_1.z
46
+ .object({
47
+ typ: zod_1.z.literal(constants_1.PEAC_WIRE_TYP),
48
+ alg: zod_1.z.literal(constants_1.PEAC_ALG),
49
+ kid: zod_1.z.string().min(8),
50
+ })
51
+ .strict();
52
+ exports.ReceiptClaims = zod_1.z
53
+ .object({
54
+ iss: httpsUrl,
55
+ aud: httpsUrl,
56
+ iat: zod_1.z.number().int().nonnegative(),
57
+ exp: zod_1.z.number().int().optional(),
58
+ rid: uuidv7,
59
+ amt: zod_1.z.number().int().nonnegative(),
60
+ cur: iso4217,
61
+ payment: exports.NormalizedPayment,
62
+ subject: exports.Subject.optional(),
63
+ ext: exports.Extensions.optional(),
64
+ })
65
+ .strict();
66
+ exports.VerifyRequest = zod_1.z
67
+ .object({
68
+ receipt_jws: zod_1.z.string().min(16),
69
+ })
70
+ .strict();
71
+ // -----------------------------------------------------------------------------
72
+ // Control Abstraction Layer (CAL) Validators (v0.9.16+)
73
+ // -----------------------------------------------------------------------------
74
+ /**
75
+ * Control purpose - what the access is for
76
+ *
77
+ * v0.9.17+: Added ai_input, search for RSL alignment
78
+ * v0.9.18+: Added ai_index (RSL 1.0 canonical token). Removed ai_search.
79
+ *
80
+ * @see https://rslstandard.org/rsl for RSL 1.0 specification
81
+ */
82
+ exports.ControlPurposeSchema = zod_1.z.enum([
83
+ 'crawl',
84
+ 'index',
85
+ 'train',
86
+ 'inference',
87
+ 'ai_input',
88
+ 'ai_index',
89
+ 'search',
90
+ ]);
91
+ /**
92
+ * Control licensing mode - how access is licensed
93
+ */
94
+ exports.ControlLicensingModeSchema = zod_1.z.enum([
95
+ 'subscription',
96
+ 'pay_per_crawl',
97
+ 'pay_per_inference',
98
+ ]);
99
+ /**
100
+ * Control decision type
101
+ */
102
+ exports.ControlDecisionSchema = zod_1.z.enum(['allow', 'deny', 'review']);
103
+ /**
104
+ * Single control step in governance chain
105
+ */
106
+ exports.ControlStepSchema = zod_1.z.object({
107
+ engine: zod_1.z.string().min(1),
108
+ version: zod_1.z.string().optional(),
109
+ policy_id: zod_1.z.string().optional(),
110
+ result: exports.ControlDecisionSchema,
111
+ reason: zod_1.z.string().optional(),
112
+ purpose: exports.ControlPurposeSchema.optional(),
113
+ licensing_mode: exports.ControlLicensingModeSchema.optional(),
114
+ scope: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]).optional(),
115
+ limits_snapshot: zod_1.z.unknown().optional(),
116
+ evidence_ref: zod_1.z.string().optional(),
117
+ });
118
+ /**
119
+ * Composable control block - multi-party governance
120
+ */
121
+ exports.ControlBlockSchema = zod_1.z
122
+ .object({
123
+ chain: zod_1.z.array(exports.ControlStepSchema).min(1),
124
+ decision: exports.ControlDecisionSchema,
125
+ combinator: zod_1.z.literal('any_can_veto').optional(),
126
+ })
127
+ .refine((data) => {
128
+ // Validate decision consistency with chain
129
+ const hasAnyDeny = data.chain.some((step) => step.result === 'deny');
130
+ const allAllow = data.chain.every((step) => step.result === 'allow');
131
+ const hasReview = data.chain.some((step) => step.result === 'review');
132
+ if (hasAnyDeny && data.decision !== 'deny') {
133
+ return false;
134
+ }
135
+ if (allAllow && data.decision !== 'allow') {
136
+ return false;
137
+ }
138
+ // If has review but no deny, decision can be review or allow
139
+ if (hasReview && !hasAnyDeny && data.decision === 'deny') {
140
+ return false;
141
+ }
142
+ return true;
143
+ }, {
144
+ message: 'Control block decision must be consistent with chain results',
145
+ });
146
+ // -----------------------------------------------------------------------------
147
+ // Payment Evidence Validators (v0.9.16+)
148
+ // -----------------------------------------------------------------------------
149
+ /**
150
+ * Payment split schema
151
+ *
152
+ * Invariants:
153
+ * - party is required (non-empty string)
154
+ * - amount if present must be >= 0
155
+ * - share if present must be in [0,1]
156
+ * - At least one of amount or share must be specified
157
+ */
158
+ exports.PaymentSplitSchema = zod_1.z
159
+ .object({
160
+ party: zod_1.z.string().min(1),
161
+ amount: zod_1.z.number().int().nonnegative().optional(),
162
+ currency: iso4217.optional(),
163
+ share: zod_1.z.number().min(0).max(1).optional(),
164
+ rail: zod_1.z.string().min(1).optional(),
165
+ account_ref: zod_1.z.string().min(1).optional(),
166
+ metadata: zod_1.z.record(zod_1.z.unknown()).optional(),
167
+ })
168
+ .strict()
169
+ .refine((data) => data.amount !== undefined || data.share !== undefined, {
170
+ message: 'At least one of amount or share must be specified',
171
+ });
172
+ /**
173
+ * Payment routing mode schema (rail-agnostic)
174
+ *
175
+ * Describes how the payment is routed between payer, aggregator, and merchant.
176
+ * This is a generic hint - specific rails populate it from their native formats.
177
+ *
178
+ * Values:
179
+ * - "direct": Direct payment to merchant (no intermediary)
180
+ * - "callback": Routed via callback URL / payment service
181
+ * - "role": Role-based routing (e.g., "publisher", "platform")
182
+ *
183
+ * Examples of producers:
184
+ * - x402 v2 `payTo.mode` -> routing
185
+ * - Stripe Connect `destination` -> routing = 'direct' or 'callback'
186
+ * - UPI `pa` (payee address) -> routing = 'direct'
187
+ */
188
+ exports.PaymentRoutingSchema = zod_1.z.enum(['direct', 'callback', 'role']);
189
+ /**
190
+ * Payment evidence schema
191
+ *
192
+ * Full schema for PaymentEvidence including aggregator/splits support.
193
+ */
194
+ exports.PaymentEvidenceSchema = zod_1.z
195
+ .object({
196
+ rail: zod_1.z.string().min(1),
197
+ reference: zod_1.z.string().min(1),
198
+ amount: zod_1.z.number().int().nonnegative(),
199
+ currency: iso4217,
200
+ asset: zod_1.z.string().min(1),
201
+ env: zod_1.z.enum(['live', 'test']),
202
+ network: zod_1.z.string().min(1).optional(),
203
+ facilitator_ref: zod_1.z.string().min(1).optional(),
204
+ evidence: zod_1.z.unknown(),
205
+ aggregator: zod_1.z.string().min(1).optional(),
206
+ splits: zod_1.z.array(exports.PaymentSplitSchema).optional(),
207
+ routing: exports.PaymentRoutingSchema.optional(),
208
+ })
209
+ .strict();
210
+ // -----------------------------------------------------------------------------
211
+ // Subject Profile Validators (v0.9.16+)
212
+ // -----------------------------------------------------------------------------
213
+ /**
214
+ * Subject type schema
215
+ */
216
+ exports.SubjectTypeSchema = zod_1.z.enum(['human', 'org', 'agent']);
217
+ /**
218
+ * Subject profile schema
219
+ *
220
+ * Invariants:
221
+ * - id is required (non-empty string)
222
+ * - type is required (human, org, or agent)
223
+ * - labels if present must be non-empty strings
224
+ */
225
+ exports.SubjectProfileSchema = zod_1.z
226
+ .object({
227
+ id: zod_1.z.string().min(1),
228
+ type: exports.SubjectTypeSchema,
229
+ labels: zod_1.z.array(zod_1.z.string().min(1)).optional(),
230
+ metadata: zod_1.z.record(zod_1.z.unknown()).optional(),
231
+ })
232
+ .strict();
233
+ /**
234
+ * Subject profile snapshot schema
235
+ *
236
+ * Invariants:
237
+ * - subject is required (valid SubjectProfile)
238
+ * - captured_at is required (non-empty string)
239
+ * MUST be RFC 3339 / ISO 8601 UTC; format not enforced in schema for v0.9.16
240
+ */
241
+ exports.SubjectProfileSnapshotSchema = zod_1.z
242
+ .object({
243
+ subject: exports.SubjectProfileSchema,
244
+ captured_at: zod_1.z.string().min(1),
245
+ source: zod_1.z.string().min(1).optional(),
246
+ version: zod_1.z.string().min(1).optional(),
247
+ })
248
+ .strict();
249
+ // -----------------------------------------------------------------------------
250
+ // Subject Snapshot Validation Helper (v0.9.17+)
251
+ // -----------------------------------------------------------------------------
252
+ // Module-level set for PII warning deduplication
253
+ const warnedSubjectIds = new Set();
254
+ /**
255
+ * Heuristic check if a subject ID looks like PII (email/phone)
256
+ */
257
+ function looksLikePII(id) {
258
+ // Email pattern
259
+ if (/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(id)) {
260
+ return true;
261
+ }
262
+ // Phone pattern (starts with + followed by digits)
263
+ if (/^\+?\d{10,15}$/.test(id.replace(/[\s\-()]/g, ''))) {
264
+ return true;
265
+ }
266
+ return false;
267
+ }
268
+ /**
269
+ * Validate a subject snapshot (if present)
270
+ *
271
+ * - Returns validated snapshot or null if absent
272
+ * - Throws ZodError for malformed data
273
+ * - Logs advisory warning if id looks like PII (deduplicated)
274
+ */
275
+ function validateSubjectSnapshot(snapshot) {
276
+ if (snapshot === undefined || snapshot === null) {
277
+ return null;
278
+ }
279
+ // Validate against schema (throws on malformed data)
280
+ const validated = exports.SubjectProfileSnapshotSchema.parse(snapshot);
281
+ // Advisory PII warning (deduplicated)
282
+ const subjectId = validated.subject.id;
283
+ if (looksLikePII(subjectId) && !warnedSubjectIds.has(subjectId)) {
284
+ warnedSubjectIds.add(subjectId);
285
+ console.warn(`[peac:subject] Advisory: subject.id "${subjectId}" looks like PII. ` +
286
+ 'Prefer opaque identifiers (e.g., "user:abc123").');
287
+ }
288
+ return validated;
289
+ }
290
+ //# sourceMappingURL=validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../src/validators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare const WIRE_VERSION = "0.9.11";
2
+ export declare const DOCS_TRAIN = "0.9.11";
3
+ export declare const POLICY_VERSION = "0.9.11";
4
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,WAAW,CAAC;AACrC,eAAO,MAAM,UAAU,WAAW,CAAC;AACnC,eAAO,MAAM,cAAc,WAAW,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POLICY_VERSION = exports.DOCS_TRAIN = exports.WIRE_VERSION = void 0;
4
+ exports.WIRE_VERSION = '0.9.11';
5
+ exports.DOCS_TRAIN = '0.9.11';
6
+ exports.POLICY_VERSION = '0.9.11';
7
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG,QAAQ,CAAC;AACxB,QAAA,UAAU,GAAG,QAAQ,CAAC;AACtB,QAAA,cAAc,GAAG,QAAQ,CAAC"}
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@peac/schema",
3
+ "version": "0.9.18",
4
+ "description": "PEAC Protocol JSON schemas, OpenAPI specs, and TypeScript types",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/peacprotocol/peac.git",
10
+ "directory": "packages/schema"
11
+ },
12
+ "author": "jithinraj <7850727+jithinraj@users.noreply.github.com>",
13
+ "license": "Apache-2.0",
14
+ "bugs": {
15
+ "url": "https://github.com/peacprotocol/peac/issues"
16
+ },
17
+ "homepage": "https://github.com/peacprotocol/peac#readme",
18
+ "files": [
19
+ "dist",
20
+ "README.md"
21
+ ],
22
+ "publishConfig": {
23
+ "access": "public"
24
+ },
25
+ "scripts": {
26
+ "build": "tsc",
27
+ "test": "vitest run",
28
+ "test:watch": "vitest",
29
+ "clean": "rm -rf dist"
30
+ },
31
+ "dependencies": {
32
+ "@peac/kernel": "workspace:*",
33
+ "zod": "^3.22.4"
34
+ },
35
+ "devDependencies": {
36
+ "@types/node": "^20.10.0",
37
+ "typescript": "^5.3.3",
38
+ "vitest": "^1.1.0"
39
+ }
40
+ }