@peac/schema 0.11.1 → 0.11.2

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.
package/dist/carrier.d.ts CHANGED
@@ -33,10 +33,16 @@ export declare const CarrierFormatSchema: z.ZodEnum<{
33
33
  embed: "embed";
34
34
  reference: "reference";
35
35
  }>;
36
+ /**
37
+ * Validates receipt_url: HTTPS-only, max 2048 chars, no credentials (DD-135).
38
+ * Validation only (DD-141): no I/O, no fetch. Resolution lives in Layer 4.
39
+ */
40
+ export declare const ReceiptUrlSchema: z.ZodString;
36
41
  /** Schema for PeacEvidenceCarrier */
37
42
  export declare const PeacEvidenceCarrierSchema: z.ZodObject<{
38
43
  receipt_ref: z.ZodString;
39
44
  receipt_jws: z.ZodOptional<z.ZodString>;
45
+ receipt_url: z.ZodOptional<z.ZodString>;
40
46
  policy_binding: z.ZodOptional<z.ZodString>;
41
47
  actor_binding: z.ZodOptional<z.ZodString>;
42
48
  request_nonce: z.ZodOptional<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"carrier.d.ts","sourceRoot":"","sources":["../src/carrier.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAEV,WAAW,EACX,uBAAuB,EACvB,mBAAmB,EACnB,UAAU,EACX,MAAM,cAAc,CAAC;AAQtB,kDAAkD;AAClD,eAAO,MAAM,wBAAwB;IACnC,uBAAuB;;IAEvB,0BAA0B;;IAE1B,mDAAmD;;;IAGnD,8BAA8B;;IAE9B,oDAAoD;;;IAGpD,8BAA8B;;CAEtB,CAAC;AAMX,6EAA6E;AAC7E,eAAO,MAAM,gBAAgB,aAEiD,CAAC;AAE/E,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB,aAK1B,CAAC;AAEJ,4BAA4B;AAC5B,eAAO,MAAM,mBAAmB;;;EAAiC,CAAC;AAElE,qCAAqC;AACrC,eAAO,MAAM,yBAAyB;;;;;;;;;;iBAUpC,CAAC;AAEH,6BAA6B;AAC7B,eAAO,MAAM,iBAAiB;;;;;;;;iBAK5B,CAAC;AAMH;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAaxE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,mBAAmB,EAC5B,IAAI,EAAE,WAAW,GAChB,uBAAuB,CA8CzB;AAED;;;;;;;;;GASG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CASxB;AAMD,YAAY,EACV,aAAa,EACb,WAAW,EACX,uBAAuB,EACvB,mBAAmB,EACnB,UAAU,EACV,cAAc,GACf,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"carrier.d.ts","sourceRoot":"","sources":["../src/carrier.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAEV,WAAW,EACX,uBAAuB,EACvB,mBAAmB,EACnB,UAAU,EACX,MAAM,cAAc,CAAC;AAQtB,kDAAkD;AAClD,eAAO,MAAM,wBAAwB;IACnC,uBAAuB;;IAEvB,0BAA0B;;IAE1B,mDAAmD;;;IAGnD,8BAA8B;;IAE9B,oDAAoD;;;IAGpD,8BAA8B;;CAEtB,CAAC;AAMX,6EAA6E;AAC7E,eAAO,MAAM,gBAAgB,aAEiD,CAAC;AAE/E,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB,aAK1B,CAAC;AAEJ,4BAA4B;AAC5B,eAAO,MAAM,mBAAmB;;;EAAiC,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,gBAAgB,aAmB1B,CAAC;AAEJ,qCAAqC;AACrC,eAAO,MAAM,yBAAyB;;;;;;;;;;;iBAWpC,CAAC;AAEH,6BAA6B;AAC7B,eAAO,MAAM,iBAAiB;;;;;;;;iBAK5B,CAAC;AAMH;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAaxE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,mBAAmB,EAC5B,IAAI,EAAE,WAAW,GAChB,uBAAuB,CAwDzB;AAED;;;;;;;;;GASG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CASxB;AAMD,YAAY,EACV,aAAa,EACb,WAAW,EACX,uBAAuB,EACvB,mBAAmB,EACnB,UAAU,EACV,cAAc,GACf,MAAM,cAAc,CAAC"}
package/dist/index.cjs CHANGED
@@ -1872,7 +1872,8 @@ var WELL_KNOWN_KINDS = [
1872
1872
  "http.request",
1873
1873
  "fs.read",
1874
1874
  "fs.write",
1875
- "message"
1875
+ "message",
1876
+ "inference.chat_completion"
1876
1877
  ];
1877
1878
  var RESERVED_KIND_PREFIXES = ["peac.", "org.peacprotocol."];
1878
1879
  var INTERACTION_LIMITS = {
@@ -2672,9 +2673,25 @@ var CompactJwsSchema = zod.z.string().regex(
2672
2673
  "receipt_jws must be a valid compact JWS (header.payload.signature)"
2673
2674
  );
2674
2675
  var CarrierFormatSchema = zod.z.enum(["embed", "reference"]);
2676
+ var ReceiptUrlSchema = zod.z.string().url().max(2048).refine((url) => url.startsWith("https://"), {
2677
+ message: "receipt_url must use HTTPS scheme"
2678
+ }).refine(
2679
+ (url) => {
2680
+ try {
2681
+ const parsed = new URL(url);
2682
+ return !parsed.username && !parsed.password;
2683
+ } catch {
2684
+ return false;
2685
+ }
2686
+ },
2687
+ {
2688
+ message: "receipt_url must not contain credentials"
2689
+ }
2690
+ );
2675
2691
  var PeacEvidenceCarrierSchema = zod.z.object({
2676
2692
  receipt_ref: ReceiptRefSchema2,
2677
2693
  receipt_jws: CompactJwsSchema.optional(),
2694
+ receipt_url: ReceiptUrlSchema.optional(),
2678
2695
  policy_binding: zod.z.string().max(KERNEL_CONSTRAINTS.MAX_STRING_LENGTH).optional(),
2679
2696
  actor_binding: zod.z.string().max(KERNEL_CONSTRAINTS.MAX_STRING_LENGTH).optional(),
2680
2697
  request_nonce: zod.z.string().max(KERNEL_CONSTRAINTS.MAX_STRING_LENGTH).optional(),
@@ -2719,6 +2736,14 @@ function validateCarrierConstraints(carrier, meta) {
2719
2736
  `carrier size ${sizeBytes} bytes exceeds transport limit ${meta.max_size} bytes for ${meta.transport}`
2720
2737
  );
2721
2738
  }
2739
+ if (carrier.receipt_url !== void 0) {
2740
+ const urlResult = ReceiptUrlSchema.safeParse(carrier.receipt_url);
2741
+ if (!urlResult.success) {
2742
+ for (const issue of urlResult.error.issues) {
2743
+ violations.push(`invalid receipt_url: ${issue.message}`);
2744
+ }
2745
+ }
2746
+ }
2722
2747
  const stringFields = [
2723
2748
  ["policy_binding", carrier.policy_binding],
2724
2749
  ["actor_binding", carrier.actor_binding],
@@ -2936,6 +2961,7 @@ exports.RESULT_STATUSES = RESULT_STATUSES;
2936
2961
  exports.ReceiptClaims = ReceiptClaims;
2937
2962
  exports.ReceiptClaimsSchema = ReceiptClaimsSchema;
2938
2963
  exports.ReceiptRefSchema = ReceiptRefSchema2;
2964
+ exports.ReceiptUrlSchema = ReceiptUrlSchema;
2939
2965
  exports.RefsSchema = RefsSchema;
2940
2966
  exports.RemediationSchema = RemediationSchema;
2941
2967
  exports.RemediationTypeSchema = RemediationTypeSchema;