@peac/protocol 0.10.9 → 0.10.11

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 (45) hide show
  1. package/LICENSE +1 -1
  2. package/dist/discovery.d.ts.map +1 -1
  3. package/dist/index.cjs +2694 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.mjs +2612 -0
  6. package/dist/index.mjs.map +1 -0
  7. package/dist/verification-report.d.ts.map +1 -1
  8. package/dist/verifier-types.d.ts +42 -2
  9. package/dist/verifier-types.d.ts.map +1 -1
  10. package/dist/verify-local.cjs +164 -0
  11. package/dist/verify-local.cjs.map +1 -0
  12. package/dist/verify-local.d.ts +15 -0
  13. package/dist/verify-local.d.ts.map +1 -1
  14. package/dist/verify-local.mjs +160 -0
  15. package/dist/verify-local.mjs.map +1 -0
  16. package/dist/verify.d.ts.map +1 -1
  17. package/package.json +20 -13
  18. package/dist/crypto-utils.js +0 -21
  19. package/dist/crypto-utils.js.map +0 -1
  20. package/dist/discovery.js +0 -405
  21. package/dist/discovery.js.map +0 -1
  22. package/dist/headers.js +0 -110
  23. package/dist/headers.js.map +0 -1
  24. package/dist/index.js +0 -44
  25. package/dist/index.js.map +0 -1
  26. package/dist/issue.js +0 -198
  27. package/dist/issue.js.map +0 -1
  28. package/dist/pointer-fetch.js +0 -305
  29. package/dist/pointer-fetch.js.map +0 -1
  30. package/dist/ssrf-safe-fetch.js +0 -671
  31. package/dist/ssrf-safe-fetch.js.map +0 -1
  32. package/dist/telemetry.js +0 -43
  33. package/dist/telemetry.js.map +0 -1
  34. package/dist/transport-profiles.js +0 -424
  35. package/dist/transport-profiles.js.map +0 -1
  36. package/dist/verification-report.js +0 -322
  37. package/dist/verification-report.js.map +0 -1
  38. package/dist/verifier-core.js +0 -578
  39. package/dist/verifier-core.js.map +0 -1
  40. package/dist/verifier-types.js +0 -161
  41. package/dist/verifier-types.js.map +0 -1
  42. package/dist/verify-local.js +0 -230
  43. package/dist/verify-local.js.map +0 -1
  44. package/dist/verify.js +0 -213
  45. package/dist/verify.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"ssrf-safe-fetch.js","sourceRoot":"","sources":["../src/ssrf-safe-fetch.ts"],"names":[],"mappings":"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"}
package/dist/telemetry.js DELETED
@@ -1,43 +0,0 @@
1
- "use strict";
2
- /**
3
- * Telemetry utilities for protocol package
4
- *
5
- * TelemetryHook is the protocol-local interface for observability.
6
- * Hooks are best-effort side effects: fire-and-forget, never awaited,
7
- * guarded against both sync throws and async rejections.
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.fireTelemetryHook = fireTelemetryHook;
11
- exports.hashReceipt = hashReceipt;
12
- const node_crypto_1 = require("node:crypto");
13
- /**
14
- * Safely invoke a telemetry hook (fire-and-forget)
15
- *
16
- * Guards both sync throws and async rejections.
17
- * Telemetry MUST NOT break core flow.
18
- */
19
- function fireTelemetryHook(fn, input) {
20
- if (!fn)
21
- return;
22
- try {
23
- const result = fn(input);
24
- // Swallow async rejections
25
- if (result && typeof result.catch === 'function') {
26
- result.catch(() => { });
27
- }
28
- }
29
- catch {
30
- // Telemetry MUST NOT break core flow
31
- }
32
- }
33
- /**
34
- * Compute a SHA-256 hash of a receipt JWS
35
- *
36
- * Returns format: sha256:{hex prefix}
37
- * Uses first 16 chars of hex for brevity in logs/spans.
38
- */
39
- function hashReceipt(jws) {
40
- const hash = (0, node_crypto_1.createHash)('sha256').update(jws).digest('hex');
41
- return `sha256:${hash.slice(0, 16)}`;
42
- }
43
- //# sourceMappingURL=telemetry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AA6CH,8CAcC;AAQD,kCAGC;AApED,6CAAyC;AAqCzC;;;;;GAKG;AACH,SAAgB,iBAAiB,CAC/B,EAAoD,EACpD,KAAQ;IAER,IAAI,CAAC,EAAE;QAAE,OAAO;IAChB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACzB,2BAA2B;QAC3B,IAAI,MAAM,IAAI,OAAQ,MAAwB,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACnE,MAAwB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qCAAqC;IACvC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,GAAW;IACrC,MAAM,IAAI,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5D,OAAO,UAAU,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AACvC,CAAC"}
@@ -1,424 +0,0 @@
1
- "use strict";
2
- /**
3
- * PEAC Transport Profile Parsers
4
- *
5
- * Implements parsing for transport profiles per TRANSPORT-PROFILES.md:
6
- * - Header profile (PEAC-Receipt header)
7
- * - Pointer profile (PEAC-Receipt-Pointer header)
8
- * - Body profile (peac_receipt/peac_receipts in JSON body)
9
- *
10
- * @packageDocumentation
11
- */
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.parseHeaderProfile = parseHeaderProfile;
14
- exports.parsePointerProfile = parsePointerProfile;
15
- exports.parseBodyProfile = parseBodyProfile;
16
- exports.parseTransportProfile = parseTransportProfile;
17
- // ---------------------------------------------------------------------------
18
- // Header Profile Parser
19
- // ---------------------------------------------------------------------------
20
- /**
21
- * Parse PEAC-Receipt header
22
- *
23
- * Per TRANSPORT-PROFILES.md:
24
- * - Multiple headers MUST be rejected
25
- * - Comma-separated values MUST be rejected
26
- * - Value MUST be JWS compact serialization (three dot-separated segments)
27
- *
28
- * @param headerValue - PEAC-Receipt header value (string or array if multiple)
29
- * @returns Parse result
30
- */
31
- function parseHeaderProfile(headerValue) {
32
- // Check for missing header
33
- if (headerValue === undefined || headerValue === '') {
34
- return {
35
- ok: false,
36
- reason: 'invalid_transport',
37
- errorCode: 'E_VERIFY_INVALID_TRANSPORT',
38
- message: 'PEAC-Receipt header is missing',
39
- };
40
- }
41
- // Check for multiple headers (array)
42
- if (Array.isArray(headerValue)) {
43
- return {
44
- ok: false,
45
- reason: 'invalid_transport',
46
- errorCode: 'E_VERIFY_INVALID_TRANSPORT',
47
- message: 'Multiple PEAC-Receipt headers are not allowed',
48
- };
49
- }
50
- // Check for comma-separated values (HTTP header list syntax)
51
- if (headerValue.includes(',')) {
52
- // Could be comma in base64url, but JWS compact has exactly 2 periods
53
- // If there are commas between periods, it's likely multiple values
54
- const parts = headerValue.split('.');
55
- if (parts.length !== 3 || parts.some((p) => p.includes(','))) {
56
- return {
57
- ok: false,
58
- reason: 'invalid_transport',
59
- errorCode: 'E_VERIFY_INVALID_TRANSPORT',
60
- message: 'Comma-separated PEAC-Receipt values are not allowed',
61
- };
62
- }
63
- }
64
- // Validate JWS compact serialization structure (three segments)
65
- const segments = headerValue.split('.');
66
- if (segments.length !== 3) {
67
- return {
68
- ok: false,
69
- reason: 'malformed_receipt',
70
- errorCode: 'E_VERIFY_MALFORMED_RECEIPT',
71
- message: `Invalid JWS compact serialization: expected 3 segments, got ${segments.length}`,
72
- };
73
- }
74
- // All segments must be non-empty base64url strings
75
- const base64urlRegex = /^[A-Za-z0-9_-]*$/;
76
- for (let i = 0; i < segments.length; i++) {
77
- const segment = segments[i];
78
- if (segment.length === 0) {
79
- return {
80
- ok: false,
81
- reason: 'malformed_receipt',
82
- errorCode: 'E_VERIFY_MALFORMED_RECEIPT',
83
- message: `Invalid JWS compact serialization: segment ${i + 1} is empty`,
84
- };
85
- }
86
- if (!base64urlRegex.test(segment)) {
87
- return {
88
- ok: false,
89
- reason: 'malformed_receipt',
90
- errorCode: 'E_VERIFY_MALFORMED_RECEIPT',
91
- message: `Invalid JWS compact serialization: segment ${i + 1} contains invalid characters`,
92
- };
93
- }
94
- }
95
- return {
96
- ok: true,
97
- result: {
98
- profile: 'header',
99
- receipt: headerValue,
100
- },
101
- };
102
- }
103
- // ---------------------------------------------------------------------------
104
- // Pointer Profile Parser
105
- // ---------------------------------------------------------------------------
106
- /**
107
- * Parse PEAC-Receipt-Pointer header
108
- *
109
- * Per TRANSPORT-PROFILES.md:
110
- * - Format: RFC 8941 dictionary with sha256 and url parameters
111
- * - Multiple headers MUST be rejected
112
- * - URL MUST be HTTPS
113
- *
114
- * Example: sha256="7d8f...", url="https://receipts.example.com/abc123"
115
- *
116
- * @param headerValue - PEAC-Receipt-Pointer header value (string or array if multiple)
117
- * @returns Parse result
118
- */
119
- function parsePointerProfile(headerValue) {
120
- // Check for missing header
121
- if (headerValue === undefined || headerValue === '') {
122
- return {
123
- ok: false,
124
- reason: 'invalid_transport',
125
- errorCode: 'E_VERIFY_INVALID_TRANSPORT',
126
- message: 'PEAC-Receipt-Pointer header is missing',
127
- };
128
- }
129
- // Check for multiple headers (array)
130
- if (Array.isArray(headerValue)) {
131
- return {
132
- ok: false,
133
- reason: 'invalid_transport',
134
- errorCode: 'E_VERIFY_INVALID_TRANSPORT',
135
- message: 'Multiple PEAC-Receipt-Pointer headers are not allowed',
136
- };
137
- }
138
- // Parse RFC 8941 dictionary format
139
- // Format: sha256="<hex>", url="<url>"
140
- // We use a simple parser here instead of a full RFC 8941 implementation
141
- const parseResult = parseSimpleDictionary(headerValue);
142
- // Strict: Reject duplicate parameters
143
- if (parseResult.duplicates.length > 0) {
144
- return {
145
- ok: false,
146
- reason: 'invalid_transport',
147
- errorCode: 'E_VERIFY_INVALID_TRANSPORT',
148
- message: `PEAC-Receipt-Pointer has duplicate parameter: ${parseResult.duplicates[0]}`,
149
- };
150
- }
151
- // Strict: Reject unknown parameters (only sha256, url, and ext_* are valid)
152
- // Extension keys (ext_*) are allowed for forward-compatibility
153
- const ALLOWED_KEYS = new Set(['sha256', 'url']);
154
- const unknownKeys = parseResult.keys.filter((k) => !ALLOWED_KEYS.has(k) && !k.startsWith('ext_'));
155
- if (unknownKeys.length > 0) {
156
- return {
157
- ok: false,
158
- reason: 'invalid_transport',
159
- errorCode: 'E_VERIFY_INVALID_TRANSPORT',
160
- message: `PEAC-Receipt-Pointer has unknown parameter: ${unknownKeys[0]}`,
161
- };
162
- }
163
- const params = parseResult.params;
164
- if (!params.sha256) {
165
- return {
166
- ok: false,
167
- reason: 'invalid_transport',
168
- errorCode: 'E_VERIFY_INVALID_TRANSPORT',
169
- message: 'PEAC-Receipt-Pointer missing sha256 parameter',
170
- };
171
- }
172
- if (!params.url) {
173
- return {
174
- ok: false,
175
- reason: 'invalid_transport',
176
- errorCode: 'E_VERIFY_INVALID_TRANSPORT',
177
- message: 'PEAC-Receipt-Pointer missing url parameter',
178
- };
179
- }
180
- // Validate digest is lowercase hex
181
- const hexRegex = /^[0-9a-f]{64}$/;
182
- if (!hexRegex.test(params.sha256)) {
183
- return {
184
- ok: false,
185
- reason: 'invalid_transport',
186
- errorCode: 'E_VERIFY_INVALID_TRANSPORT',
187
- message: 'PEAC-Receipt-Pointer sha256 must be 64 lowercase hex characters',
188
- };
189
- }
190
- // Validate URL is HTTPS
191
- try {
192
- const url = new URL(params.url);
193
- if (url.protocol !== 'https:') {
194
- return {
195
- ok: false,
196
- reason: 'pointer_fetch_blocked',
197
- errorCode: 'E_VERIFY_POINTER_FETCH_BLOCKED',
198
- message: 'Pointer URL must use HTTPS',
199
- };
200
- }
201
- }
202
- catch {
203
- return {
204
- ok: false,
205
- reason: 'invalid_transport',
206
- errorCode: 'E_VERIFY_INVALID_TRANSPORT',
207
- message: 'PEAC-Receipt-Pointer url is not a valid URL',
208
- };
209
- }
210
- // Extract extension keys (ext_*) for forward-compatibility
211
- const extensions = {};
212
- for (const key of parseResult.keys) {
213
- if (key.startsWith('ext_')) {
214
- extensions[key] = params[key];
215
- }
216
- }
217
- return {
218
- ok: true,
219
- result: {
220
- profile: 'pointer',
221
- digestAlg: 'sha256',
222
- digestValue: params.sha256,
223
- url: params.url,
224
- ...(Object.keys(extensions).length > 0 && { extensions }),
225
- },
226
- };
227
- }
228
- /**
229
- * Simple RFC 8941-like dictionary parser (ReDoS-safe)
230
- *
231
- * Parses: key1="value1", key2="value2"
232
- * Returns map of key -> value (unquoted) plus metadata for strict validation
233
- *
234
- * Uses explicit character-by-character parsing to avoid ReDoS vulnerabilities
235
- * from regex alternation patterns.
236
- */
237
- function parseSimpleDictionary(input) {
238
- const params = {};
239
- const duplicates = [];
240
- const keys = [];
241
- let i = 0;
242
- const len = input.length;
243
- while (i < len) {
244
- // Skip whitespace and commas
245
- while (i < len && (input[i] === ' ' || input[i] === ',' || input[i] === '\t')) {
246
- i++;
247
- }
248
- if (i >= len)
249
- break;
250
- // Parse key (word characters only)
251
- const keyStart = i;
252
- while (i < len && /\w/.test(input[i])) {
253
- i++;
254
- }
255
- const key = input.slice(keyStart, i);
256
- if (!key)
257
- break;
258
- // Skip whitespace before '='
259
- while (i < len && input[i] === ' ')
260
- i++;
261
- // Expect '='
262
- if (i >= len || input[i] !== '=')
263
- break;
264
- i++; // skip '='
265
- // Skip whitespace after '='
266
- while (i < len && input[i] === ' ')
267
- i++;
268
- // Parse value (quoted or unquoted)
269
- let value;
270
- if (input[i] === '"') {
271
- // Quoted value - find closing quote
272
- i++; // skip opening quote
273
- const valueStart = i;
274
- while (i < len && input[i] !== '"') {
275
- i++;
276
- }
277
- value = input.slice(valueStart, i);
278
- if (i < len)
279
- i++; // skip closing quote
280
- }
281
- else {
282
- // Unquoted value - read until comma or whitespace
283
- const valueStart = i;
284
- while (i < len && input[i] !== ',' && input[i] !== ' ' && input[i] !== '\t') {
285
- i++;
286
- }
287
- value = input.slice(valueStart, i);
288
- }
289
- keys.push(key);
290
- // Track duplicates
291
- if (key in params) {
292
- duplicates.push(key);
293
- }
294
- params[key] = value;
295
- }
296
- return { params, duplicates, keys };
297
- }
298
- // ---------------------------------------------------------------------------
299
- // Body Profile Parser
300
- // ---------------------------------------------------------------------------
301
- /**
302
- * Parse body profile (JSON body with peac_receipt or peac_receipts)
303
- *
304
- * Per TRANSPORT-PROFILES.md:
305
- * - peac_receipt: single receipt (string)
306
- * - peac_receipts: multiple receipts (array of strings)
307
- *
308
- * @param body - Parsed JSON body object
309
- * @returns Parse result
310
- */
311
- function parseBodyProfile(body) {
312
- if (body === null || typeof body !== 'object') {
313
- return {
314
- ok: false,
315
- reason: 'invalid_transport',
316
- errorCode: 'E_VERIFY_INVALID_TRANSPORT',
317
- message: 'Body must be a JSON object',
318
- };
319
- }
320
- const obj = body;
321
- // Check for peac_receipts (array, takes precedence)
322
- if ('peac_receipts' in obj) {
323
- if (!Array.isArray(obj.peac_receipts)) {
324
- return {
325
- ok: false,
326
- reason: 'invalid_transport',
327
- errorCode: 'E_VERIFY_INVALID_TRANSPORT',
328
- message: 'peac_receipts must be an array',
329
- };
330
- }
331
- const receipts = [];
332
- for (let i = 0; i < obj.peac_receipts.length; i++) {
333
- const receipt = obj.peac_receipts[i];
334
- if (typeof receipt !== 'string') {
335
- return {
336
- ok: false,
337
- reason: 'invalid_transport',
338
- errorCode: 'E_VERIFY_INVALID_TRANSPORT',
339
- message: `peac_receipts[${i}] must be a string`,
340
- };
341
- }
342
- receipts.push(receipt);
343
- }
344
- if (receipts.length === 0) {
345
- return {
346
- ok: false,
347
- reason: 'invalid_transport',
348
- errorCode: 'E_VERIFY_INVALID_TRANSPORT',
349
- message: 'peac_receipts array is empty',
350
- };
351
- }
352
- return {
353
- ok: true,
354
- result: {
355
- profile: 'body',
356
- receipts,
357
- },
358
- };
359
- }
360
- // Check for peac_receipt (single)
361
- if ('peac_receipt' in obj) {
362
- if (typeof obj.peac_receipt !== 'string') {
363
- return {
364
- ok: false,
365
- reason: 'invalid_transport',
366
- errorCode: 'E_VERIFY_INVALID_TRANSPORT',
367
- message: 'peac_receipt must be a string',
368
- };
369
- }
370
- if (obj.peac_receipt.length === 0) {
371
- return {
372
- ok: false,
373
- reason: 'invalid_transport',
374
- errorCode: 'E_VERIFY_INVALID_TRANSPORT',
375
- message: 'peac_receipt is empty',
376
- };
377
- }
378
- return {
379
- ok: true,
380
- result: {
381
- profile: 'body',
382
- receipts: [obj.peac_receipt],
383
- },
384
- };
385
- }
386
- return {
387
- ok: false,
388
- reason: 'invalid_transport',
389
- errorCode: 'E_VERIFY_INVALID_TRANSPORT',
390
- message: 'Body must contain peac_receipt or peac_receipts',
391
- };
392
- }
393
- // ---------------------------------------------------------------------------
394
- // Auto-detect Parser
395
- // ---------------------------------------------------------------------------
396
- /**
397
- * Auto-detect and parse transport profile from request context
398
- *
399
- * @param context - Request context with headers and optional body
400
- * @returns Parse result
401
- */
402
- function parseTransportProfile(context) {
403
- const peacReceipt = context.headers['peac-receipt'] ?? context.headers['PEAC-Receipt'];
404
- const peacPointer = context.headers['peac-receipt-pointer'] ?? context.headers['PEAC-Receipt-Pointer'];
405
- // Header profile takes precedence
406
- if (peacReceipt !== undefined) {
407
- return parseHeaderProfile(peacReceipt);
408
- }
409
- // Pointer profile second
410
- if (peacPointer !== undefined) {
411
- return parsePointerProfile(peacPointer);
412
- }
413
- // Body profile last (if body provided)
414
- if (context.body !== undefined) {
415
- return parseBodyProfile(context.body);
416
- }
417
- return {
418
- ok: false,
419
- reason: 'invalid_transport',
420
- errorCode: 'E_VERIFY_INVALID_TRANSPORT',
421
- message: 'No transport profile detected (missing PEAC-Receipt, PEAC-Receipt-Pointer, or body receipt)',
422
- };
423
- }
424
- //# sourceMappingURL=transport-profiles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transport-profiles.js","sourceRoot":"","sources":["../src/transport-profiles.ts"],"names":[],"mappings":"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"}