@oxyhq/crowdsource-contracts 0.1.0 → 0.3.0

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.
@@ -26,6 +26,7 @@
26
26
  * avatar — since a dangling id is the same defect wherever it appears.
27
27
  */
28
28
  import { z } from 'zod';
29
+ import type { Closed } from './closed';
29
30
  /**
30
31
  * The contract version carried inside the payload.
31
32
  *
@@ -302,7 +303,7 @@ export declare const CaseEnvelopeSchema: z.ZodObject<{
302
303
  }, z.core.$strict>, z.ZodObject<{
303
304
  type: z.ZodLiteral<"image">;
304
305
  asset: z.ZodObject<{
305
- uploadId: z.ZodOptional<z.ZodString>;
306
+ fileId: z.ZodString;
306
307
  url: z.ZodOptional<z.ZodURL>;
307
308
  mimeType: z.ZodString;
308
309
  sha256: z.ZodString;
@@ -330,7 +331,7 @@ export declare const CaseEnvelopeSchema: z.ZodObject<{
330
331
  }, z.core.$strict>, z.ZodObject<{
331
332
  type: z.ZodLiteral<"video">;
332
333
  asset: z.ZodObject<{
333
- uploadId: z.ZodOptional<z.ZodString>;
334
+ fileId: z.ZodString;
334
335
  url: z.ZodOptional<z.ZodURL>;
335
336
  mimeType: z.ZodString;
336
337
  sha256: z.ZodString;
@@ -364,7 +365,7 @@ export declare const CaseEnvelopeSchema: z.ZodObject<{
364
365
  }, z.core.$strict>, z.ZodObject<{
365
366
  type: z.ZodLiteral<"audio">;
366
367
  asset: z.ZodObject<{
367
- uploadId: z.ZodOptional<z.ZodString>;
368
+ fileId: z.ZodString;
368
369
  url: z.ZodOptional<z.ZodURL>;
369
370
  mimeType: z.ZodString;
370
371
  sha256: z.ZodString;
@@ -395,7 +396,7 @@ export declare const CaseEnvelopeSchema: z.ZodObject<{
395
396
  }, z.core.$strict>, z.ZodObject<{
396
397
  type: z.ZodLiteral<"document">;
397
398
  asset: z.ZodObject<{
398
- uploadId: z.ZodOptional<z.ZodString>;
399
+ fileId: z.ZodString;
399
400
  url: z.ZodOptional<z.ZodURL>;
400
401
  mimeType: z.ZodString;
401
402
  sha256: z.ZodString;
@@ -752,7 +753,7 @@ export declare const CreateReportRequestSchema: z.ZodObject<{
752
753
  }, z.core.$strict>, z.ZodObject<{
753
754
  type: z.ZodLiteral<"image">;
754
755
  asset: z.ZodObject<{
755
- uploadId: z.ZodOptional<z.ZodString>;
756
+ fileId: z.ZodString;
756
757
  url: z.ZodOptional<z.ZodURL>;
757
758
  mimeType: z.ZodString;
758
759
  sha256: z.ZodString;
@@ -780,7 +781,7 @@ export declare const CreateReportRequestSchema: z.ZodObject<{
780
781
  }, z.core.$strict>, z.ZodObject<{
781
782
  type: z.ZodLiteral<"video">;
782
783
  asset: z.ZodObject<{
783
- uploadId: z.ZodOptional<z.ZodString>;
784
+ fileId: z.ZodString;
784
785
  url: z.ZodOptional<z.ZodURL>;
785
786
  mimeType: z.ZodString;
786
787
  sha256: z.ZodString;
@@ -814,7 +815,7 @@ export declare const CreateReportRequestSchema: z.ZodObject<{
814
815
  }, z.core.$strict>, z.ZodObject<{
815
816
  type: z.ZodLiteral<"audio">;
816
817
  asset: z.ZodObject<{
817
- uploadId: z.ZodOptional<z.ZodString>;
818
+ fileId: z.ZodString;
818
819
  url: z.ZodOptional<z.ZodURL>;
819
820
  mimeType: z.ZodString;
820
821
  sha256: z.ZodString;
@@ -845,7 +846,7 @@ export declare const CreateReportRequestSchema: z.ZodObject<{
845
846
  }, z.core.$strict>, z.ZodObject<{
846
847
  type: z.ZodLiteral<"document">;
847
848
  asset: z.ZodObject<{
848
- uploadId: z.ZodOptional<z.ZodString>;
849
+ fileId: z.ZodString;
849
850
  url: z.ZodOptional<z.ZodURL>;
850
851
  mimeType: z.ZodString;
851
852
  sha256: z.ZodString;
@@ -1126,5 +1127,5 @@ export declare const CreateReportResponseSchema: z.ZodObject<{
1126
1127
  }>;
1127
1128
  merged: z.ZodBoolean;
1128
1129
  }, z.core.$loose>;
1129
- export type CreateReportResponse = z.infer<typeof CreateReportResponseSchema>;
1130
+ export type CreateReportResponse = Closed<z.infer<typeof CreateReportResponseSchema>>;
1130
1131
  //# sourceMappingURL=case-envelope.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"case-envelope.d.ts","sourceRoot":"","sources":["../src/case-envelope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"case-envelope.d.ts","sourceRoot":"","sources":["../src/case-envelope.ts"],"names":[],"mappings":"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"}
@@ -325,7 +325,7 @@ exports.CaseEnvelopeSchema = zod_1.z
325
325
  });
326
326
  }
327
327
  }
328
- const key = `${relation.from}${relation.type}${relation.to}`;
328
+ const key = `${relation.from}\u0000${relation.type}\u0000${relation.to}`;
329
329
  if (seenRelations.has(key)) {
330
330
  ctx.addIssue({
331
331
  code: 'custom',
@@ -1 +1 @@
1
- {"version":3,"file":"case-envelope.js","sourceRoot":"","sources":["../src/case-envelope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"case-envelope.js","sourceRoot":"","sources":["../src/case-envelope.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Closing the forward-compatibility catchall, at the type level only.
3
+ *
4
+ * The outbound schemas in this package are deliberately loose — see the note in
5
+ * `index.ts`. A decision, a webhook envelope and an event payload all pass
6
+ * unknown fields through, so a newer CrowdSource never breaks an older client
7
+ * and a receiver that persists `event.data` keeps all of it. That runtime
8
+ * behaviour is a requirement (§10.11) and nothing here changes it.
9
+ *
10
+ * What it costs, unmodified, is every field-name check the compiler could have
11
+ * given an integrator. `z.infer` of a loose object carries an index signature,
12
+ * and an index signature makes ANY property access legal:
13
+ *
14
+ * receipt.externalReportId // compiles clean. `undefined` at runtime.
15
+ * decision.decisionId // compiles clean. The field is `id`.
16
+ * decision.policyVersion // compiles clean. The field is `policyVersions`.
17
+ *
18
+ * That is not a rough edge. It silently produces wrong code in the integrator's
19
+ * repository, with no error anywhere, and it is the same shape of defect as a
20
+ * duplicated dependency: the compiler reports success and the failure surfaces
21
+ * later as a value that is mysteriously absent.
22
+ *
23
+ * So the schema stays loose and the exported TYPE is closed. `Closed<T>` strips
24
+ * index signatures from `T` and from everything nested inside it, leaving the
25
+ * fields the contract actually declares — with their optionality, their
26
+ * `readonly` modifiers, and any discriminated union intact. A parse still
27
+ * accepts and preserves unknown fields; naming one you invented no longer
28
+ * compiles. Reaching a field the contract does not declare, deliberately, is
29
+ * what an index-signature access on the parsed value is for.
30
+ */
31
+ /** `T` without the index signatures a loose object contributes. */
32
+ type StripIndex<T> = {
33
+ [K in keyof T as string extends K ? never : number extends K ? never : symbol extends K ? never : K]: T[K];
34
+ };
35
+ /**
36
+ * `T` with every index signature removed, recursively.
37
+ *
38
+ * Functions and `Date` are returned untouched — mapping over their members would
39
+ * replace them with a structurally similar object that is no longer callable or
40
+ * no longer a `Date`. Arrays are rebuilt so their element type is closed too,
41
+ * preserving whether the array was readonly. Unions distribute, which is what
42
+ * keeps `KnownWebhookEvent` a discriminated union that still narrows on `type`.
43
+ */
44
+ export type Closed<T> = T extends (...args: never[]) => unknown ? T : T extends readonly (infer E)[] ? T extends unknown[] ? Closed<E>[] : readonly Closed<E>[] : T extends Date ? T : T extends object ? {
45
+ [K in keyof StripIndex<T>]: Closed<StripIndex<T>[K]>;
46
+ } : T;
47
+ export {};
48
+ //# sourceMappingURL=closed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closed.d.ts","sourceRoot":"","sources":["../src/closed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,mEAAmE;AACnE,KAAK,UAAU,CAAC,CAAC,IAAI;KAClB,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,SAAS,CAAC,GAC7B,KAAK,GACL,MAAM,SAAS,CAAC,GACd,KAAK,GACL,MAAM,SAAS,CAAC,GACd,KAAK,GACL,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACjB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,GAC3D,CAAC,GACD,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAC5B,CAAC,SAAS,OAAO,EAAE,GACjB,MAAM,CAAC,CAAC,CAAC,EAAE,GACX,SAAS,MAAM,CAAC,CAAC,CAAC,EAAE,GACtB,CAAC,SAAS,IAAI,GACZ,CAAC,GACD,CAAC,SAAS,MAAM,GACd;KAAG,CAAC,IAAI,MAAM,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACxD,CAAC,CAAC"}
package/dist/closed.js ADDED
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ /**
3
+ * Closing the forward-compatibility catchall, at the type level only.
4
+ *
5
+ * The outbound schemas in this package are deliberately loose — see the note in
6
+ * `index.ts`. A decision, a webhook envelope and an event payload all pass
7
+ * unknown fields through, so a newer CrowdSource never breaks an older client
8
+ * and a receiver that persists `event.data` keeps all of it. That runtime
9
+ * behaviour is a requirement (§10.11) and nothing here changes it.
10
+ *
11
+ * What it costs, unmodified, is every field-name check the compiler could have
12
+ * given an integrator. `z.infer` of a loose object carries an index signature,
13
+ * and an index signature makes ANY property access legal:
14
+ *
15
+ * receipt.externalReportId // compiles clean. `undefined` at runtime.
16
+ * decision.decisionId // compiles clean. The field is `id`.
17
+ * decision.policyVersion // compiles clean. The field is `policyVersions`.
18
+ *
19
+ * That is not a rough edge. It silently produces wrong code in the integrator's
20
+ * repository, with no error anywhere, and it is the same shape of defect as a
21
+ * duplicated dependency: the compiler reports success and the failure surfaces
22
+ * later as a value that is mysteriously absent.
23
+ *
24
+ * So the schema stays loose and the exported TYPE is closed. `Closed<T>` strips
25
+ * index signatures from `T` and from everything nested inside it, leaving the
26
+ * fields the contract actually declares — with their optionality, their
27
+ * `readonly` modifiers, and any discriminated union intact. A parse still
28
+ * accepts and preserves unknown fields; naming one you invented no longer
29
+ * compiles. Reaching a field the contract does not declare, deliberately, is
30
+ * what an index-signature access on the parsed value is for.
31
+ */
32
+ Object.defineProperty(exports, "__esModule", { value: true });
33
+ //# sourceMappingURL=closed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closed.js","sourceRoot":"","sources":["../src/closed.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG"}
@@ -19,6 +19,7 @@
19
19
  * the inbound rule in `case-envelope.ts`, for the opposite reason.
20
20
  */
21
21
  import { z } from 'zod';
22
+ import type { Closed } from './closed';
22
23
  /** §3.2 decision states. */
23
24
  export declare const DECISION_STATUSES: readonly ["provisional", "final", "superseded", "corrected"];
24
25
  export declare const DecisionStatusSchema: z.ZodEnum<{
@@ -138,7 +139,7 @@ export declare const DecisionFindingSchema: z.ZodObject<{
138
139
  }>>;
139
140
  policyRuleIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
140
141
  }, z.core.$loose>;
141
- export type DecisionFinding = z.infer<typeof DecisionFindingSchema>;
142
+ export type DecisionFinding = Closed<z.infer<typeof DecisionFindingSchema>>;
142
143
  /**
143
144
  * A recommended action bound to what it applies to (Appendix B).
144
145
  *
@@ -180,7 +181,7 @@ export declare const DecisionRecommendedActionSchema: z.ZodObject<{
180
181
  }>;
181
182
  targetResourceIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
182
183
  }, z.core.$loose>;
183
- export type DecisionRecommendedAction = z.infer<typeof DecisionRecommendedActionSchema>;
184
+ export type DecisionRecommendedAction = Closed<z.infer<typeof DecisionRecommendedActionSchema>>;
184
185
  /**
185
186
  * The panel that produced the decision (Appendix B).
186
187
  *
@@ -201,7 +202,7 @@ export declare const DecisionJurySchema: z.ZodObject<{
201
202
  agreement: z.ZodNumber;
202
203
  specialistPresent: z.ZodBoolean;
203
204
  }, z.core.$loose>;
204
- export type DecisionJury = z.infer<typeof DecisionJurySchema>;
205
+ export type DecisionJury = Closed<z.infer<typeof DecisionJurySchema>>;
205
206
  /**
206
207
  * One immutable revision of a case's outcome (Appendix B).
207
208
  *
@@ -349,5 +350,5 @@ export declare const DecisionSchema: z.ZodObject<{
349
350
  supersedesDecisionId: z.ZodOptional<z.ZodString>;
350
351
  publishedAt: z.ZodISODateTime;
351
352
  }, z.core.$loose>;
352
- export type Decision = z.infer<typeof DecisionSchema>;
353
+ export type Decision = Closed<z.infer<typeof DecisionSchema>>;
353
354
  //# sourceMappingURL=decisions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decisions.d.ts","sourceRoot":"","sources":["../src/decisions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,4BAA4B;AAC5B,eAAO,MAAM,iBAAiB,8DAA+D,CAAC;AAC9F,eAAO,MAAM,oBAAoB;;;;;EAA4B,CAAC;AAC9D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,iIAQpB,CAAC;AACX,eAAO,MAAM,qBAAqB;;;;;;;;EAA4B,CAAC;AAC/D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;iBAM1C,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAKxF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB;;;;;;iBAkC3B,CAAC;AACL,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAwCvB,CAAC;AACL,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"decisions.d.ts","sourceRoot":"","sources":["../src/decisions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,4BAA4B;AAC5B,eAAO,MAAM,iBAAiB,8DAA+D,CAAC;AAC9F,eAAO,MAAM,oBAAoB;;;;;EAA4B,CAAC;AAC9D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,iIAQpB,CAAC;AACX,eAAO,MAAM,qBAAqB;;;;;;;;EAA4B,CAAC;AAC/D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC;AAE5E;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;iBAM1C,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC,CAAC;AAKhG;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB;;;;;;iBAkC3B,CAAC;AACL,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC;AAEtE;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAwCvB,CAAC;AACL,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"decisions.js","sourceRoot":"","sources":["../src/decisions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decisions.js","sourceRoot":"","sources":["../src/decisions.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -32,6 +32,7 @@
32
32
  * depth-bounded, scalar-typed, key-restricted and free of prototype-bearing
33
33
  * names.
34
34
  */
35
+ export * from './closed';
35
36
  export * from './primitives';
36
37
  export * from './taxonomy';
37
38
  export * from './policies';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -48,6 +48,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
48
48
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
49
49
  };
50
50
  Object.defineProperty(exports, "__esModule", { value: true });
51
+ __exportStar(require("./closed"), exports);
51
52
  __exportStar(require("./primitives"), exports);
52
53
  __exportStar(require("./taxonomy"), exports);
53
54
  __exportStar(require("./policies"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;;;;;;;;;;;;;;;;AAEH,+CAA6B;AAC7B,6CAA2B;AAC3B,6CAA2B;AAC3B,8CAA4B;AAC5B,kDAAgC;AAChC,4CAA0B;AAC1B,8CAA4B;AAC5B,6CAA2B;AAC3B,sDAAoC;AACpC,gDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;;;;;;;;;;;;;;;;AAEH,2CAAyB;AACzB,+CAA6B;AAC7B,6CAA2B;AAC3B,6CAA2B;AAC3B,8CAA4B;AAC5B,kDAAgC;AAChC,4CAA0B;AAC1B,8CAA4B;AAC5B,6CAA2B;AAC3B,sDAAoC;AACpC,gDAA8B"}
@@ -13,7 +13,7 @@
13
13
  * * §5.5 reference resolution (relations, `primaryResourceId`, allegation
14
14
  * resource ids, author and seller refs, conversation members, avatars)
15
15
  * * the `oxy_user` binding-proof requirement
16
- * * exactly-one-of `uploadId`/`url`, media type agreement, coarse coordinates,
16
+ * * a required `fileId` on every asset, media type agreement, coarse coordinates,
17
17
  * price-with-currency
18
18
  * * `agreement = winningVotes / decisiveVotes` and the vote count nesting
19
19
  * * revision 1 supersedes nothing / later revisions must
@@ -14,7 +14,7 @@
14
14
  * * §5.5 reference resolution (relations, `primaryResourceId`, allegation
15
15
  * resource ids, author and seller refs, conversation members, avatars)
16
16
  * * the `oxy_user` binding-proof requirement
17
- * * exactly-one-of `uploadId`/`url`, media type agreement, coarse coordinates,
17
+ * * a required `fileId` on every asset, media type agreement, coarse coordinates,
18
18
  * price-with-currency
19
19
  * * `agreement = winningVotes / decisiveVotes` and the vote count nesting
20
20
  * * revision 1 supersedes nothing / later revisions must
@@ -18,6 +18,7 @@
18
18
  * decides to evaluate it.
19
19
  */
20
20
  import { z } from 'zod';
21
+ import type { Closed } from './closed';
21
22
  /** A namespaced policy set id, e.g. `mention.community`. */
22
23
  export declare const PolicySetIdSchema: z.ZodString;
23
24
  /** A rule id within a policy set, e.g. `mention.harassment.2`. */
@@ -74,7 +75,7 @@ export declare const DecisionPolicyVersionsSchema: z.ZodObject<{
74
75
  application: z.ZodString;
75
76
  oxyConduct: z.ZodString;
76
77
  }, z.core.$loose>;
77
- export type DecisionPolicyVersions = z.infer<typeof DecisionPolicyVersionsSchema>;
78
+ export type DecisionPolicyVersions = Closed<z.infer<typeof DecisionPolicyVersionsSchema>>;
78
79
  /**
79
80
  * The same three versions as carried by the internal reputation event (§11.6).
80
81
  *
@@ -1 +1 @@
1
- {"version":3,"file":"policies.d.ts","sourceRoot":"","sources":["../src/policies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,4DAA4D;AAC5D,eAAO,MAAM,iBAAiB,aAO3B,CAAC;AAEJ,kEAAkE;AAClE,eAAO,MAAM,kBAAkB,aAO5B,CAAC;AAEJ;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,aAO7B,CAAC;AAEJ;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,0BAA0B,eAAe,CAAC;AAEvD;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;;;;kBAI9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B;;;;iBAIvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,8BAA8B;;;;kBAIzC,CAAC;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,gEAAgE;AAChE,eAAO,MAAM,mBAAmB,iCAAkC,CAAC;AACnE,eAAO,MAAM,qBAAqB;;;EAA8B,CAAC;AACjE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAU3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAI1D;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAqC/B,CAAC;AACL,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"policies.d.ts","sourceRoot":"","sources":["../src/policies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,4DAA4D;AAC5D,eAAO,MAAM,iBAAiB,aAO3B,CAAC;AAEJ,kEAAkE;AAClE,eAAO,MAAM,kBAAkB,aAO5B,CAAC;AAEJ;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,aAO7B,CAAC;AAEJ;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,0BAA0B,eAAe,CAAC;AAEvD;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;;;;kBAI9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B;;;;iBAIvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC;AAE1F;;;;;;;;;;GAUG;AACH,eAAO,MAAM,8BAA8B;;;;kBAIzC,CAAC;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,gEAAgE;AAChE,eAAO,MAAM,mBAAmB,iCAAkC,CAAC;AACnE,eAAO,MAAM,qBAAqB;;;EAA8B,CAAC;AACjE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAU3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAI1D;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAqC/B,CAAC;AACL,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"policies.js","sourceRoot":"","sources":["../src/policies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policies.js","sourceRoot":"","sources":["../src/policies.ts"],"names":[],"mappings":"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"}
@@ -135,6 +135,23 @@ export declare const LanguageTagSchema: z.ZodString;
135
135
  * to be an SSRF control would be the more dangerous of the two.
136
136
  */
137
137
  export declare const HttpUrlSchema: z.ZodURL;
138
+ /**
139
+ * A bare Oxy file id — the one way bytes enter a case.
140
+ *
141
+ * Evidence goes through the Oxy media chokepoint (`getFileDownloadUrl`) rather
142
+ * than a presigned bucket, which is the §12.3 divergence recorded in
143
+ * `AGENTS.md`. A file id is what that chokepoint takes, so it is what an asset
144
+ * carries: never a URL, never a host, never a variant. The reviewer client
145
+ * resolves it once through Bloom's `ImageResolver`, so nothing downstream needs
146
+ * to know where `cloud.oxy.so` is.
147
+ *
148
+ * Deliberately opaque, for the same reason `IdentifierSchema` is: the format
149
+ * belongs to Oxy, not to CrowdSource, and pinning it here would make an Oxy
150
+ * change look like a CrowdSource contract violation. What is pinned is that it
151
+ * is a bounded, non-empty token with no separators that could smuggle a path or
152
+ * a scheme into a resolver — `..`, `/` and `:` are all excluded by the pattern.
153
+ */
154
+ export declare const OxyFileIdSchema: z.ZodString;
138
155
  /** A `type/subtype` media type, without parameters. */
139
156
  export declare const MimeTypeSchema: z.ZodString;
140
157
  /** A key in any caller-supplied open bag. */
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe;IAC1B,mEAAmE;;IAEnE,wEAAwE;;;;;;IAQxE,0EAA0E;;IAE1E,kDAAkD;;IAElD,4DAA4D;;IAE5D,gEAAgE;;;;;IAOhE,kEAAkE;;;;;;;;;;;IAclE,+EAA+E;;IAE/E,4EAA4E;;EAEnE,CAAC;AAEZ;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAIjD,CAAC;AAIH;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,aAO1B,CAAC;AAEJ,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,aAO1B,CAAC;AAEJ;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,aAE+D,CAAC;AAE/F;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,kBAAkD,CAAC;AAE/E;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,aAK3B,CAAC;AAEJ;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,UAA6C,CAAC;AAExE,uDAAuD;AACvD,eAAO,MAAM,cAAc,aAMxB,CAAC;AAIJ,6CAA6C;AAC7C,eAAO,MAAM,eAAe,aAOxB,CAAC;AAEL,sEAAsE;AACtE,eAAO,MAAM,mBAAmB,0EAK9B,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,oGAI1B,CAAC;AAEL,2DAA2D;AAC3D,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,kBAAkB,EAAE,GACpB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAA;CAAE,CAAC;AAqB1C;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,wBAAwB,+FAAkC,CAAC;AAExE,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,yHAAsD,CAAC;AAEvF,6EAA6E;AAC7E,eAAO,MAAM,kBAAkB,aAA2B,CAAC;AAE3D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe;IAC1B,mEAAmE;;IAEnE,wEAAwE;;;;;;IAQxE,0EAA0E;;IAE1E,kDAAkD;;IAElD,4DAA4D;;IAE5D,gEAAgE;;;;;IAOhE,kEAAkE;;;;;;;;;;;IAclE,+EAA+E;;IAE/E,4EAA4E;;EAEnE,CAAC;AAEZ;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAIjD,CAAC;AAIH;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,aAO1B,CAAC;AAEJ,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,aAO1B,CAAC;AAEJ;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,aAE+D,CAAC;AAE/F;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,kBAAkD,CAAC;AAE/E;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,aAK3B,CAAC;AAEJ;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,UAA6C,CAAC;AAExE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,eAAe,aAOzB,CAAC;AAEJ,uDAAuD;AACvD,eAAO,MAAM,cAAc,aAMxB,CAAC;AAIJ,6CAA6C;AAC7C,eAAO,MAAM,eAAe,aAOxB,CAAC;AAEL,sEAAsE;AACtE,eAAO,MAAM,mBAAmB,0EAK9B,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,oGAI1B,CAAC;AAEL,2DAA2D;AAC3D,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,kBAAkB,EAAE,GACpB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAA;CAAE,CAAC;AAqB1C;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,wBAAwB,+FAAkC,CAAC;AAExE,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,yHAAsD,CAAC;AAEvF,6EAA6E;AAC7E,eAAO,MAAM,kBAAkB,aAA2B,CAAC;AAE3D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -22,7 +22,7 @@
22
22
  * job ids, so this also keeps identifiers usable as dispatch keys.)
23
23
  */
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.UnitIntervalSchema = exports.CustomPayloadSchema = exports.CustomPayloadValueSchema = exports.MetadataBagSchema = exports.MetadataValueSchema = exports.ObjectKeySchema = exports.MimeTypeSchema = exports.HttpUrlSchema = exports.LanguageTagSchema = exports.TimestampSchema = exports.Sha256DigestSchema = exports.ExternalIdSchema = exports.IdentifierSchema = exports.FORBIDDEN_OBJECT_KEYS = exports.CONTRACT_LIMITS = void 0;
25
+ exports.UnitIntervalSchema = exports.CustomPayloadSchema = exports.CustomPayloadValueSchema = exports.MetadataBagSchema = exports.MetadataValueSchema = exports.ObjectKeySchema = exports.MimeTypeSchema = exports.OxyFileIdSchema = exports.HttpUrlSchema = exports.LanguageTagSchema = exports.TimestampSchema = exports.Sha256DigestSchema = exports.ExternalIdSchema = exports.IdentifierSchema = exports.FORBIDDEN_OBJECT_KEYS = exports.CONTRACT_LIMITS = void 0;
26
26
  const zod_1 = require("zod");
27
27
  /**
28
28
  * Bounds applied across the contracts.
@@ -155,6 +155,27 @@ exports.LanguageTagSchema = zod_1.z
155
155
  * to be an SSRF control would be the more dangerous of the two.
156
156
  */
157
157
  exports.HttpUrlSchema = zod_1.z.url({ protocol: /^https?$/ }).max(2048);
158
+ /**
159
+ * A bare Oxy file id — the one way bytes enter a case.
160
+ *
161
+ * Evidence goes through the Oxy media chokepoint (`getFileDownloadUrl`) rather
162
+ * than a presigned bucket, which is the §12.3 divergence recorded in
163
+ * `AGENTS.md`. A file id is what that chokepoint takes, so it is what an asset
164
+ * carries: never a URL, never a host, never a variant. The reviewer client
165
+ * resolves it once through Bloom's `ImageResolver`, so nothing downstream needs
166
+ * to know where `cloud.oxy.so` is.
167
+ *
168
+ * Deliberately opaque, for the same reason `IdentifierSchema` is: the format
169
+ * belongs to Oxy, not to CrowdSource, and pinning it here would make an Oxy
170
+ * change look like a CrowdSource contract violation. What is pinned is that it
171
+ * is a bounded, non-empty token with no separators that could smuggle a path or
172
+ * a scheme into a resolver — `..`, `/` and `:` are all excluded by the pattern.
173
+ */
174
+ exports.OxyFileIdSchema = zod_1.z
175
+ .string()
176
+ .min(1)
177
+ .max(exports.CONTRACT_LIMITS.IDENTIFIER_MAX_LENGTH)
178
+ .regex(/^[A-Za-z0-9][A-Za-z0-9_-]*$/, 'must be a bare Oxy file id: letters, digits, "_" or "-", starting with a letter or digit');
158
179
  /** A `type/subtype` media type, without parameters. */
159
180
  exports.MimeTypeSchema = zod_1.z
160
181
  .string()
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;AAEH,6BAAwB;AAExB;;;;;;;;GAQG;AACU,QAAA,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3C,mEAAmE;IACnE,qBAAqB,EAAE,GAAG;IAC1B,wEAAwE;IACxE,sBAAsB,EAAE,GAAG;IAE3B,0BAA0B,EAAE,EAAE;IAC9B,0BAA0B,EAAE,GAAG;IAC/B,4BAA4B,EAAE,EAAE;IAChC,mCAAmC,EAAE,EAAE;IAEvC,0EAA0E;IAC1E,wBAAwB,EAAE,MAAO;IACjC,kDAAkD;IAClD,qBAAqB,EAAE,GAAG;IAC1B,4DAA4D;IAC5D,oBAAoB,EAAE,IAAK;IAC3B,gEAAgE;IAChE,yBAAyB,EAAE,MAAO;IAElC,iBAAiB,EAAE,EAAE;IACrB,uBAAuB,EAAE,EAAE;IAC3B,gCAAgC,EAAE,IAAK;IAEvC,kEAAkE;IAClE,wBAAwB,EAAE,CAAC;IAC3B,+BAA+B,EAAE,GAAG;IACpC,gCAAgC,EAAE,KAAM;IAExC,yBAAyB,EAAE,EAAE;IAC7B,sBAAsB,EAAE,EAAE;IAC1B,kBAAkB,EAAE,EAAE;IAEtB,YAAY,EAAE,EAAE;IAChB,6BAA6B,EAAE,EAAE;IACjC,mBAAmB,EAAE,EAAE;IACvB,uBAAuB,EAAE,EAAE;IAE3B,+EAA+E;IAC/E,kBAAkB,EAAE,IAAK;IACzB,4EAA4E;IAC5E,aAAa,EAAE,EAAE;CACT,CAAC,CAAC;AAEZ;;;;;;;;;;;;;;;;;GAiBG;AACU,QAAA,qBAAqB,GAAsB,MAAM,CAAC,MAAM,CAAC;IACpE,WAAW;IACX,aAAa;IACb,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,8BAA8B,CAAC;AAE1D;;;;;;;GAOG;AACU,QAAA,gBAAgB,GAAG,OAAC;KAC9B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,uBAAe,CAAC,qBAAqB,CAAC;KAC1C,KAAK,CACJ,kBAAkB,EAClB,qFAAqF,CACtF,CAAC;AAEJ,gFAAgF;AACnE,QAAA,gBAAgB,GAAG,OAAC;KAC9B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,uBAAe,CAAC,sBAAsB,CAAC;KAC3C,KAAK,CACJ,kBAAkB,EAClB,qFAAqF,CACtF,CAAC;AAEJ;;;;;;;;;GASG;AACU,QAAA,kBAAkB,GAAG,OAAC;KAChC,MAAM,EAAE;KACR,KAAK,CAAC,uBAAuB,EAAE,2DAA2D,CAAC,CAAC;AAE/F;;;;;;;GAOG;AACU,QAAA,eAAe,GAAG,OAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;AAE/E;;;;;;;GAOG;AACU,QAAA,iBAAiB,GAAG,OAAC;KAC/B,MAAM,EAAE;KACR,KAAK,CACJ,gGAAgG,EAChG,uEAAuE,CACxE,CAAC;AAEJ;;;;;;;;GAQG;AACU,QAAA,aAAa,GAAG,OAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,IAAK,CAAC,CAAC;AAExE,uDAAuD;AAC1C,QAAA,cAAc,GAAG,OAAC;KAC5B,MAAM,EAAE;KACR,GAAG,CAAC,GAAG,CAAC;KACR,KAAK,CACJ,0DAA0D,EAC1D,kEAAkE,CACnE,CAAC;AAEJ,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;AAEzD,6CAA6C;AAChC,QAAA,eAAe,GAAG,OAAC;KAC7B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,uBAAe,CAAC,uBAAuB,CAAC;KAC5C,KAAK,CAAC,oBAAoB,EAAE,4EAA4E,CAAC;KACzG,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,6BAAqB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;IACrD,OAAO,EAAE,qCAAqC;CAC/C,CAAC,CAAC;AAEL,sEAAsE;AACzD,QAAA,mBAAmB,GAAG,OAAC,CAAC,KAAK,CAAC;IACzC,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,uBAAe,CAAC,gCAAgC,CAAC;IAChE,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE;IACnB,OAAC,CAAC,OAAO,EAAE;IACX,OAAC,CAAC,IAAI,EAAE;CACT,CAAC,CAAC;AAEH;;;;;;;GAOG;AACU,QAAA,iBAAiB,GAAG,OAAC;KAC/B,MAAM,CAAC,uBAAe,EAAE,2BAAmB,CAAC;KAC5C,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,uBAAe,CAAC,iBAAiB,EAAE;IAC7E,OAAO,EAAE,2BAA2B,uBAAe,CAAC,iBAAiB,OAAO;CAC7E,CAAC,CAAC;AAWL,MAAM,yBAAyB,GAAG,OAAC,CAAC,KAAK,CAAC;IACxC,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,uBAAe,CAAC,gCAAgC,CAAC;IAChE,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE;IACnB,OAAC,CAAC,OAAO,EAAE;IACX,OAAC,CAAC,IAAI,EAAE;CACT,CAAC,CAAC;AAEH,MAAM,6BAA6B,GAAG,GAAkC,EAAE;IACxE,IAAI,KAAK,GAAkC,yBAAyB,CAAC;IACrE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,uBAAe,CAAC,wBAAwB,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACjF,KAAK,GAAG,OAAC,CAAC,KAAK,CAAC;YACd,yBAAyB;YACzB,OAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,uBAAe,CAAC,+BAA+B,CAAC;YACnE,OAAC,CAAC,MAAM,CAAC,uBAAe,EAAE,KAAK,CAAC;SACjC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACU,QAAA,wBAAwB,GAAG,6BAA6B,EAAE,CAAC;AAExE,gFAAgF;AACnE,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC,uBAAe,EAAE,gCAAwB,CAAC,CAAC;AAEvF,6EAA6E;AAChE,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"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"}
@@ -80,14 +80,33 @@ export type TextFormatting = z.infer<typeof TextFormattingSchema>;
80
80
  /**
81
81
  * A reference to bytes held outside the envelope (§5.2 `asset`).
82
82
  *
83
- * Exactly one of `uploadId` and `url` never both, never neither. Two
84
- * locations for one piece of evidence means two answers to "what exactly did
85
- * the jury look at", and §5.6 requires the case to pin the exact version that
86
- * was reported. `sha256` is required for the same reason: it is what makes the
87
- * answer verifiable after the application has deleted the original.
83
+ * **`fileId` is where the bytes are. `url` is where they came from.** Those are
84
+ * not alternatives, and the earlier contract encoding them as "exactly one of
85
+ * `uploadId` or `url`" is what left an integrator with no safe way to attach an
86
+ * image at all: the `uploadId` branch needed a presigned upload route that was
87
+ * superseded by the Oxy media chokepoint before it was ever built, and the `url`
88
+ * branch put a URL on the reporting application's own host in front of a
89
+ * reviewer — breaking §9.1's branding rule and the chokepoint rule at once.
90
+ *
91
+ * So `fileId` is required and `url` is optional provenance:
92
+ *
93
+ * * **`fileId`** — a bare Oxy file id. The application uploads the bytes
94
+ * through the Oxy media chokepoint with its own Oxy credentials and passes
95
+ * the id. That is why CrowdSource serves no upload route of its own.
96
+ * * **`url`** — a PROVENANCE RECORD, and never a fetch target. A third-party
97
+ * URL is not wrong the way a first-party one is (a federated post's image
98
+ * genuinely lives elsewhere), but no reviewer client may dereference it:
99
+ * fetching it would tell that host exactly when its content is under review,
100
+ * which lets the reported party correlate reviewer accesses, and it would
101
+ * deliver bytes live rather than the pinned ones §5.6 requires.
102
+ *
103
+ * `sha256` stays required, and requiring `fileId` alongside it costs an
104
+ * integrator nothing new — an application able to compute that digest already
105
+ * holds the bytes. What changes is that it puts bytes it already has somewhere a
106
+ * reviewer can read safely, instead of pointing at its own host.
88
107
  */
89
108
  export declare const AssetRefSchema: z.ZodObject<{
90
- uploadId: z.ZodOptional<z.ZodString>;
109
+ fileId: z.ZodString;
91
110
  url: z.ZodOptional<z.ZodURL>;
92
111
  mimeType: z.ZodString;
93
112
  sha256: z.ZodString;
@@ -132,7 +151,7 @@ export declare const ResourceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
132
151
  }, z.core.$strict>, z.ZodObject<{
133
152
  type: z.ZodLiteral<"image">;
134
153
  asset: z.ZodObject<{
135
- uploadId: z.ZodOptional<z.ZodString>;
154
+ fileId: z.ZodString;
136
155
  url: z.ZodOptional<z.ZodURL>;
137
156
  mimeType: z.ZodString;
138
157
  sha256: z.ZodString;
@@ -160,7 +179,7 @@ export declare const ResourceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
160
179
  }, z.core.$strict>, z.ZodObject<{
161
180
  type: z.ZodLiteral<"video">;
162
181
  asset: z.ZodObject<{
163
- uploadId: z.ZodOptional<z.ZodString>;
182
+ fileId: z.ZodString;
164
183
  url: z.ZodOptional<z.ZodURL>;
165
184
  mimeType: z.ZodString;
166
185
  sha256: z.ZodString;
@@ -194,7 +213,7 @@ export declare const ResourceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
194
213
  }, z.core.$strict>, z.ZodObject<{
195
214
  type: z.ZodLiteral<"audio">;
196
215
  asset: z.ZodObject<{
197
- uploadId: z.ZodOptional<z.ZodString>;
216
+ fileId: z.ZodString;
198
217
  url: z.ZodOptional<z.ZodURL>;
199
218
  mimeType: z.ZodString;
200
219
  sha256: z.ZodString;
@@ -225,7 +244,7 @@ export declare const ResourceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
225
244
  }, z.core.$strict>, z.ZodObject<{
226
245
  type: z.ZodLiteral<"document">;
227
246
  asset: z.ZodObject<{
228
- uploadId: z.ZodOptional<z.ZodString>;
247
+ fileId: z.ZodString;
229
248
  url: z.ZodOptional<z.ZodURL>;
230
249
  mimeType: z.ZodString;
231
250
  sha256: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,6DAA6D;AAC7D,eAAO,MAAM,gBAAgB,aAAmB,CAAC;AACjD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,aAAmB,CAAC;AACnD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,qDAAqD;AACrD,eAAO,MAAM,cAAc,6GASjB,CAAC;AACX,eAAO,MAAM,kBAAkB;;;;;;;;;EAAyB,CAAC;AACzD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,oCAAoC;AACpC,eAAO,MAAM,cAAc,0IAajB,CAAC;AACX,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;EAAyB,CAAC;AACzD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,uCAAwC,CAAC;AACtE,eAAO,MAAM,oBAAoB;;;EAA2B,CAAC;AAC7D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc;;;;;;;;;kBAqBvB,CAAC;AACL,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAoRtD;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAazB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,2BAA2B;AAC3B,eAAO,MAAM,cAAc,mIASjB,CAAC;AACX,eAAO,MAAM,kBAAkB;;;;;;;;;EAAyB,CAAC;AACzD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;;;;;;GASG;AACH,eAAO,MAAM,iCAAiC,0BAA2B,CAAC;AAE1E;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;kBAIzB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gCAAgC;;;;;;kBAM3C,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC"}
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiBxB,6DAA6D;AAC7D,eAAO,MAAM,gBAAgB,aAAmB,CAAC;AACjD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,aAAmB,CAAC;AACnD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,qDAAqD;AACrD,eAAO,MAAM,cAAc,6GASjB,CAAC;AACX,eAAO,MAAM,kBAAkB;;;;;;;;;EAAyB,CAAC;AACzD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,oCAAoC;AACpC,eAAO,MAAM,cAAc,0IAajB,CAAC;AACX,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;EAAyB,CAAC;AACzD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,uCAAwC,CAAC;AACtE,eAAO,MAAM,oBAAoB;;;EAA2B,CAAC;AAC7D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,cAAc;;;;;;;;;kBAWzB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAoRtD;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAazB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,2BAA2B;AAC3B,eAAO,MAAM,cAAc,mIASjB,CAAC;AACX,eAAO,MAAM,kBAAkB;;;;;;;;;EAAyB,CAAC;AACzD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;;;;;;GASG;AACH,eAAO,MAAM,iCAAiC,0BAA2B,CAAC;AAE1E;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;kBAIzB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gCAAgC;;;;;;kBAM3C,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC"}
package/dist/resources.js CHANGED
@@ -78,15 +78,35 @@ exports.TextFormattingSchema = zod_1.z.enum(exports.TEXT_FORMATTINGS);
78
78
  /**
79
79
  * A reference to bytes held outside the envelope (§5.2 `asset`).
80
80
  *
81
- * Exactly one of `uploadId` and `url` never both, never neither. Two
82
- * locations for one piece of evidence means two answers to "what exactly did
83
- * the jury look at", and §5.6 requires the case to pin the exact version that
84
- * was reported. `sha256` is required for the same reason: it is what makes the
85
- * answer verifiable after the application has deleted the original.
81
+ * **`fileId` is where the bytes are. `url` is where they came from.** Those are
82
+ * not alternatives, and the earlier contract encoding them as "exactly one of
83
+ * `uploadId` or `url`" is what left an integrator with no safe way to attach an
84
+ * image at all: the `uploadId` branch needed a presigned upload route that was
85
+ * superseded by the Oxy media chokepoint before it was ever built, and the `url`
86
+ * branch put a URL on the reporting application's own host in front of a
87
+ * reviewer — breaking §9.1's branding rule and the chokepoint rule at once.
88
+ *
89
+ * So `fileId` is required and `url` is optional provenance:
90
+ *
91
+ * * **`fileId`** — a bare Oxy file id. The application uploads the bytes
92
+ * through the Oxy media chokepoint with its own Oxy credentials and passes
93
+ * the id. That is why CrowdSource serves no upload route of its own.
94
+ * * **`url`** — a PROVENANCE RECORD, and never a fetch target. A third-party
95
+ * URL is not wrong the way a first-party one is (a federated post's image
96
+ * genuinely lives elsewhere), but no reviewer client may dereference it:
97
+ * fetching it would tell that host exactly when its content is under review,
98
+ * which lets the reported party correlate reviewer accesses, and it would
99
+ * deliver bytes live rather than the pinned ones §5.6 requires.
100
+ *
101
+ * `sha256` stays required, and requiring `fileId` alongside it costs an
102
+ * integrator nothing new — an application able to compute that digest already
103
+ * holds the bytes. What changes is that it puts bytes it already has somewhere a
104
+ * reviewer can read safely, instead of pointing at its own host.
86
105
  */
87
- exports.AssetRefSchema = zod_1.z
88
- .strictObject({
89
- uploadId: primitives_1.IdentifierSchema.optional(),
106
+ exports.AssetRefSchema = zod_1.z.strictObject({
107
+ /** Bare Oxy file id. The only source of the bytes a jury sees. */
108
+ fileId: primitives_1.OxyFileIdSchema,
109
+ /** Where the material was found. Recorded, never fetched — see above. */
90
110
  url: primitives_1.HttpUrlSchema.optional(),
91
111
  mimeType: primitives_1.MimeTypeSchema,
92
112
  sha256: primitives_1.Sha256DigestSchema,
@@ -94,17 +114,6 @@ exports.AssetRefSchema = zod_1.z
94
114
  width: zod_1.z.number().int().positive().optional(),
95
115
  height: zod_1.z.number().int().positive().optional(),
96
116
  durationSeconds: zod_1.z.number().positive().optional(),
97
- })
98
- .superRefine((asset, ctx) => {
99
- const hasUpload = asset.uploadId !== undefined;
100
- const hasUrl = asset.url !== undefined;
101
- if (hasUpload === hasUrl) {
102
- ctx.addIssue({
103
- code: 'custom',
104
- path: ['uploadId'],
105
- message: 'an asset must reference exactly one of uploadId or url',
106
- });
107
- }
108
117
  });
109
118
  const mediaTypeMismatch = (ctx, mimeType, allowedPrefixes) => {
110
119
  if (!allowedPrefixes.some((prefix) => mimeType.startsWith(prefix))) {
@@ -1 +1 @@
1
- {"version":3,"file":"resources.js","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@
20
20
  * queue the processing" tells receivers to do.
21
21
  */
22
22
  import { z } from 'zod';
23
+ import type { Closed } from './closed';
23
24
  /** §10.6. */
24
25
  export declare const WEBHOOK_EVENT_TYPES: readonly ["report.received", "case.created", "case.escalated", "case.decided", "decision.corrected", "appeal.created", "appeal.decided", "case.closed"];
25
26
  export declare const WebhookEventTypeSchema: z.ZodEnum<{
@@ -55,7 +56,7 @@ export declare const WebhookEventEnvelopeSchema: z.ZodObject<{
55
56
  organizationId: z.ZodString;
56
57
  applicationId: z.ZodString;
57
58
  }, z.core.$loose>;
58
- export type WebhookEventEnvelope = z.infer<typeof WebhookEventEnvelopeSchema>;
59
+ export type WebhookEventEnvelope = Closed<z.infer<typeof WebhookEventEnvelopeSchema>>;
59
60
  /**
60
61
  * The eight events of §10.6, discriminated on `type`.
61
62
  *
@@ -565,7 +566,7 @@ export declare const KnownWebhookEventSchema: z.ZodDiscriminatedUnion<[z.ZodObje
565
566
  organizationId: z.ZodString;
566
567
  applicationId: z.ZodString;
567
568
  }, z.core.$loose>], "type">;
568
- export type KnownWebhookEvent = z.infer<typeof KnownWebhookEventSchema>;
569
+ export type KnownWebhookEvent = Closed<z.infer<typeof KnownWebhookEventSchema>>;
569
570
  /** §10.8 headers, in their canonical casing. HTTP header names are case-insensitive; look them up accordingly. */
570
571
  export declare const WEBHOOK_EVENT_ID_HEADER = "X-CrowdSource-Event-Id";
571
572
  export declare const WEBHOOK_TIMESTAMP_HEADER = "X-CrowdSource-Timestamp";
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,aAAa;AACb,eAAO,MAAM,mBAAmB,yJAStB,CAAC;AACX,eAAO,MAAM,sBAAsB;;;;;;;;;EAA8B,CAAC;AAClE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,aAI+C,CAAC;AAStF;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B;;;;;;;iBAIrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAoE9E;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BASlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,kHAAkH;AAClH,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAChE,eAAO,MAAM,wBAAwB,4BAA4B,CAAC;AAClE,eAAO,MAAM,wBAAwB,4BAA4B,CAAC;AAElE,qDAAqD;AACrD,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAE9C,qEAAqE;AACrE,eAAO,MAAM,mCAAmC,MAAM,CAAC;AAEvD,gDAAgD;AAChD,eAAO,MAAM,4BAA4B,aAEQ,CAAC;AAElD,mEAAmE;AACnE,eAAO,MAAM,4BAA4B,aAE6C,CAAC;AAEvF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpF;AAED;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,EAAE,SAAS,MAAM,EAO1D,CAAC"}
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,aAAa;AACb,eAAO,MAAM,mBAAmB,yJAStB,CAAC;AACX,eAAO,MAAM,sBAAsB;;;;;;;;;EAA8B,CAAC;AAClE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,aAI+C,CAAC;AAStF;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B;;;;;;;iBAIrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC;AAoEtF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BASlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC;AAEhF,kHAAkH;AAClH,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAChE,eAAO,MAAM,wBAAwB,4BAA4B,CAAC;AAClE,eAAO,MAAM,wBAAwB,4BAA4B,CAAC;AAElE,qDAAqD;AACrD,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAE9C,qEAAqE;AACrE,eAAO,MAAM,mCAAmC,MAAM,CAAC;AAEvD,gDAAgD;AAChD,eAAO,MAAM,4BAA4B,aAEQ,CAAC;AAElD,mEAAmE;AACnE,eAAO,MAAM,4BAA4B,aAE6C,CAAC;AAEvF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpF;AAED;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,EAAE,SAAS,MAAM,EAO1D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/crowdsource-contracts",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "description": "Versioned CrowdSource contracts: case envelope, resources, taxonomy, policies, reviews, decisions, webhooks and reputation events",
5
5
  "type": "commonjs",
6
6
  "main": "dist/index.js",
@@ -11,7 +11,8 @@
11
11
  "import": "./dist/index.js",
12
12
  "require": "./dist/index.js",
13
13
  "default": "./dist/index.js"
14
- }
14
+ },
15
+ "./package.json": "./package.json"
15
16
  },
16
17
  "scripts": {
17
18
  "build": "tsc",
@@ -45,6 +45,7 @@ import {
45
45
  ResourceSchema,
46
46
  } from './resources';
47
47
  import { SensitivityHintSchema, TaxonomyCodeSchema } from './taxonomy';
48
+ import type { Closed } from './closed';
48
49
 
49
50
  /**
50
51
  * The contract version carried inside the payload.
@@ -368,7 +369,7 @@ export const CaseEnvelopeSchema = z
368
369
  });
369
370
  }
370
371
  }
371
- const key = `${relation.from}${relation.type}${relation.to}`;
372
+ const key = `${relation.from}\u0000${relation.type}\u0000${relation.to}`;
372
373
  if (seenRelations.has(key)) {
373
374
  ctx.addIssue({
374
375
  code: 'custom',
@@ -430,4 +431,4 @@ export const CreateReportResponseSchema = z.looseObject({
430
431
  status: ReportStatusSchema,
431
432
  merged: z.boolean(),
432
433
  });
433
- export type CreateReportResponse = z.infer<typeof CreateReportResponseSchema>;
434
+ export type CreateReportResponse = Closed<z.infer<typeof CreateReportResponseSchema>>;
package/src/closed.ts ADDED
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Closing the forward-compatibility catchall, at the type level only.
3
+ *
4
+ * The outbound schemas in this package are deliberately loose — see the note in
5
+ * `index.ts`. A decision, a webhook envelope and an event payload all pass
6
+ * unknown fields through, so a newer CrowdSource never breaks an older client
7
+ * and a receiver that persists `event.data` keeps all of it. That runtime
8
+ * behaviour is a requirement (§10.11) and nothing here changes it.
9
+ *
10
+ * What it costs, unmodified, is every field-name check the compiler could have
11
+ * given an integrator. `z.infer` of a loose object carries an index signature,
12
+ * and an index signature makes ANY property access legal:
13
+ *
14
+ * receipt.externalReportId // compiles clean. `undefined` at runtime.
15
+ * decision.decisionId // compiles clean. The field is `id`.
16
+ * decision.policyVersion // compiles clean. The field is `policyVersions`.
17
+ *
18
+ * That is not a rough edge. It silently produces wrong code in the integrator's
19
+ * repository, with no error anywhere, and it is the same shape of defect as a
20
+ * duplicated dependency: the compiler reports success and the failure surfaces
21
+ * later as a value that is mysteriously absent.
22
+ *
23
+ * So the schema stays loose and the exported TYPE is closed. `Closed<T>` strips
24
+ * index signatures from `T` and from everything nested inside it, leaving the
25
+ * fields the contract actually declares — with their optionality, their
26
+ * `readonly` modifiers, and any discriminated union intact. A parse still
27
+ * accepts and preserves unknown fields; naming one you invented no longer
28
+ * compiles. Reaching a field the contract does not declare, deliberately, is
29
+ * what an index-signature access on the parsed value is for.
30
+ */
31
+
32
+ /** `T` without the index signatures a loose object contributes. */
33
+ type StripIndex<T> = {
34
+ [K in keyof T as string extends K
35
+ ? never
36
+ : number extends K
37
+ ? never
38
+ : symbol extends K
39
+ ? never
40
+ : K]: T[K];
41
+ };
42
+
43
+ /**
44
+ * `T` with every index signature removed, recursively.
45
+ *
46
+ * Functions and `Date` are returned untouched — mapping over their members would
47
+ * replace them with a structurally similar object that is no longer callable or
48
+ * no longer a `Date`. Arrays are rebuilt so their element type is closed too,
49
+ * preserving whether the array was readonly. Unions distribute, which is what
50
+ * keeps `KnownWebhookEvent` a discriminated union that still narrows on `type`.
51
+ */
52
+ export type Closed<T> = T extends (...args: never[]) => unknown
53
+ ? T
54
+ : T extends readonly (infer E)[]
55
+ ? T extends unknown[]
56
+ ? Closed<E>[]
57
+ : readonly Closed<E>[]
58
+ : T extends Date
59
+ ? T
60
+ : T extends object
61
+ ? { [K in keyof StripIndex<T>]: Closed<StripIndex<T>[K]> }
62
+ : T;
package/src/decisions.ts CHANGED
@@ -33,6 +33,7 @@ import {
33
33
  SeveritySchema,
34
34
  TaxonomyCodeSchema,
35
35
  } from './taxonomy';
36
+ import type { Closed } from './closed';
36
37
 
37
38
  /** §3.2 decision states. */
38
39
  export const DECISION_STATUSES = ['provisional', 'final', 'superseded', 'corrected'] as const;
@@ -86,7 +87,7 @@ export const DecisionFindingSchema = z.looseObject({
86
87
  attribution: FindingAttributionSchema.optional(),
87
88
  policyRuleIds: z.array(PolicyRuleIdSchema).max(CONTRACT_LIMITS.POLICY_RULE_IDS_MAX).optional(),
88
89
  });
89
- export type DecisionFinding = z.infer<typeof DecisionFindingSchema>;
90
+ export type DecisionFinding = Closed<z.infer<typeof DecisionFindingSchema>>;
90
91
 
91
92
  /**
92
93
  * A recommended action bound to what it applies to (Appendix B).
@@ -109,7 +110,7 @@ export const DecisionRecommendedActionSchema = z.looseObject({
109
110
  .max(CONTRACT_LIMITS.RESOURCE_REFS_PER_FINDING_MAX)
110
111
  .optional(),
111
112
  });
112
- export type DecisionRecommendedAction = z.infer<typeof DecisionRecommendedActionSchema>;
113
+ export type DecisionRecommendedAction = Closed<z.infer<typeof DecisionRecommendedActionSchema>>;
113
114
 
114
115
  /** Floating point: `winningVotes / decisiveVotes` will not be exact. */
115
116
  const AGREEMENT_TOLERANCE = 1e-6;
@@ -162,7 +163,7 @@ export const DecisionJurySchema = z
162
163
  });
163
164
  }
164
165
  });
165
- export type DecisionJury = z.infer<typeof DecisionJurySchema>;
166
+ export type DecisionJury = Closed<z.infer<typeof DecisionJurySchema>>;
166
167
 
167
168
  /**
168
169
  * One immutable revision of a case's outcome (Appendix B).
@@ -213,4 +214,4 @@ export const DecisionSchema = z
213
214
  });
214
215
  }
215
216
  });
216
- export type Decision = z.infer<typeof DecisionSchema>;
217
+ export type Decision = Closed<z.infer<typeof DecisionSchema>>;
package/src/index.ts CHANGED
@@ -33,6 +33,7 @@
33
33
  * names.
34
34
  */
35
35
 
36
+ export * from './closed';
36
37
  export * from './primitives';
37
38
  export * from './taxonomy';
38
39
  export * from './policies';
@@ -13,7 +13,7 @@
13
13
  * * §5.5 reference resolution (relations, `primaryResourceId`, allegation
14
14
  * resource ids, author and seller refs, conversation members, avatars)
15
15
  * * the `oxy_user` binding-proof requirement
16
- * * exactly-one-of `uploadId`/`url`, media type agreement, coarse coordinates,
16
+ * * a required `fileId` on every asset, media type agreement, coarse coordinates,
17
17
  * price-with-currency
18
18
  * * `agreement = winningVotes / decisiveVotes` and the vote count nesting
19
19
  * * revision 1 supersedes nothing / later revisions must
package/src/policies.ts CHANGED
@@ -22,6 +22,7 @@ import { z } from 'zod';
22
22
 
23
23
  import { CONTRACT_LIMITS, LanguageTagSchema, TimestampSchema } from './primitives';
24
24
  import { RecommendedActionSchema, SeveritySchema, TaxonomyCodeSchema } from './taxonomy';
25
+ import type { Closed } from './closed';
25
26
 
26
27
  /** A namespaced policy set id, e.g. `mention.community`. */
27
28
  export const PolicySetIdSchema = z
@@ -105,7 +106,7 @@ export const DecisionPolicyVersionsSchema = z.looseObject({
105
106
  application: PolicyVersionSchema,
106
107
  oxyConduct: PolicyVersionSchema,
107
108
  });
108
- export type DecisionPolicyVersions = z.infer<typeof DecisionPolicyVersionsSchema>;
109
+ export type DecisionPolicyVersions = Closed<z.infer<typeof DecisionPolicyVersionsSchema>>;
109
110
 
110
111
  /**
111
112
  * The same three versions as carried by the internal reputation event (§11.6).
package/src/primitives.ts CHANGED
@@ -179,6 +179,31 @@ export const LanguageTagSchema = z
179
179
  */
180
180
  export const HttpUrlSchema = z.url({ protocol: /^https?$/ }).max(2_048);
181
181
 
182
+ /**
183
+ * A bare Oxy file id — the one way bytes enter a case.
184
+ *
185
+ * Evidence goes through the Oxy media chokepoint (`getFileDownloadUrl`) rather
186
+ * than a presigned bucket, which is the §12.3 divergence recorded in
187
+ * `AGENTS.md`. A file id is what that chokepoint takes, so it is what an asset
188
+ * carries: never a URL, never a host, never a variant. The reviewer client
189
+ * resolves it once through Bloom's `ImageResolver`, so nothing downstream needs
190
+ * to know where `cloud.oxy.so` is.
191
+ *
192
+ * Deliberately opaque, for the same reason `IdentifierSchema` is: the format
193
+ * belongs to Oxy, not to CrowdSource, and pinning it here would make an Oxy
194
+ * change look like a CrowdSource contract violation. What is pinned is that it
195
+ * is a bounded, non-empty token with no separators that could smuggle a path or
196
+ * a scheme into a resolver — `..`, `/` and `:` are all excluded by the pattern.
197
+ */
198
+ export const OxyFileIdSchema = z
199
+ .string()
200
+ .min(1)
201
+ .max(CONTRACT_LIMITS.IDENTIFIER_MAX_LENGTH)
202
+ .regex(
203
+ /^[A-Za-z0-9][A-Za-z0-9_-]*$/,
204
+ 'must be a bare Oxy file id: letters, digits, "_" or "-", starting with a letter or digit',
205
+ );
206
+
182
207
  /** A `type/subtype` media type, without parameters. */
183
208
  export const MimeTypeSchema = z
184
209
  .string()
package/src/resources.ts CHANGED
@@ -38,6 +38,7 @@ import {
38
38
  LanguageTagSchema,
39
39
  MetadataBagSchema,
40
40
  MimeTypeSchema,
41
+ OxyFileIdSchema,
41
42
  Sha256DigestSchema,
42
43
  TimestampSchema,
43
44
  } from './primitives';
@@ -98,34 +99,43 @@ export type TextFormatting = z.infer<typeof TextFormattingSchema>;
98
99
  /**
99
100
  * A reference to bytes held outside the envelope (§5.2 `asset`).
100
101
  *
101
- * Exactly one of `uploadId` and `url` never both, never neither. Two
102
- * locations for one piece of evidence means two answers to "what exactly did
103
- * the jury look at", and §5.6 requires the case to pin the exact version that
104
- * was reported. `sha256` is required for the same reason: it is what makes the
105
- * answer verifiable after the application has deleted the original.
102
+ * **`fileId` is where the bytes are. `url` is where they came from.** Those are
103
+ * not alternatives, and the earlier contract encoding them as "exactly one of
104
+ * `uploadId` or `url`" is what left an integrator with no safe way to attach an
105
+ * image at all: the `uploadId` branch needed a presigned upload route that was
106
+ * superseded by the Oxy media chokepoint before it was ever built, and the `url`
107
+ * branch put a URL on the reporting application's own host in front of a
108
+ * reviewer — breaking §9.1's branding rule and the chokepoint rule at once.
109
+ *
110
+ * So `fileId` is required and `url` is optional provenance:
111
+ *
112
+ * * **`fileId`** — a bare Oxy file id. The application uploads the bytes
113
+ * through the Oxy media chokepoint with its own Oxy credentials and passes
114
+ * the id. That is why CrowdSource serves no upload route of its own.
115
+ * * **`url`** — a PROVENANCE RECORD, and never a fetch target. A third-party
116
+ * URL is not wrong the way a first-party one is (a federated post's image
117
+ * genuinely lives elsewhere), but no reviewer client may dereference it:
118
+ * fetching it would tell that host exactly when its content is under review,
119
+ * which lets the reported party correlate reviewer accesses, and it would
120
+ * deliver bytes live rather than the pinned ones §5.6 requires.
121
+ *
122
+ * `sha256` stays required, and requiring `fileId` alongside it costs an
123
+ * integrator nothing new — an application able to compute that digest already
124
+ * holds the bytes. What changes is that it puts bytes it already has somewhere a
125
+ * reviewer can read safely, instead of pointing at its own host.
106
126
  */
107
- export const AssetRefSchema = z
108
- .strictObject({
109
- uploadId: IdentifierSchema.optional(),
110
- url: HttpUrlSchema.optional(),
111
- mimeType: MimeTypeSchema,
112
- sha256: Sha256DigestSchema,
113
- sizeBytes: z.number().int().positive().optional(),
114
- width: z.number().int().positive().optional(),
115
- height: z.number().int().positive().optional(),
116
- durationSeconds: z.number().positive().optional(),
117
- })
118
- .superRefine((asset, ctx) => {
119
- const hasUpload = asset.uploadId !== undefined;
120
- const hasUrl = asset.url !== undefined;
121
- if (hasUpload === hasUrl) {
122
- ctx.addIssue({
123
- code: 'custom',
124
- path: ['uploadId'],
125
- message: 'an asset must reference exactly one of uploadId or url',
126
- });
127
- }
128
- });
127
+ export const AssetRefSchema = z.strictObject({
128
+ /** Bare Oxy file id. The only source of the bytes a jury sees. */
129
+ fileId: OxyFileIdSchema,
130
+ /** Where the material was found. Recorded, never fetched — see above. */
131
+ url: HttpUrlSchema.optional(),
132
+ mimeType: MimeTypeSchema,
133
+ sha256: Sha256DigestSchema,
134
+ sizeBytes: z.number().int().positive().optional(),
135
+ width: z.number().int().positive().optional(),
136
+ height: z.number().int().positive().optional(),
137
+ durationSeconds: z.number().positive().optional(),
138
+ });
129
139
  export type AssetRef = z.infer<typeof AssetRefSchema>;
130
140
 
131
141
  const mediaTypeMismatch = (
package/src/webhooks.ts CHANGED
@@ -25,6 +25,7 @@ import { z } from 'zod';
25
25
  import { CreateReportResponseSchema } from './case-envelope';
26
26
  import { DecisionSchema } from './decisions';
27
27
  import { IdentifierSchema, TimestampSchema } from './primitives';
28
+ import type { Closed } from './closed';
28
29
 
29
30
  /** §10.6. */
30
31
  export const WEBHOOK_EVENT_TYPES = [
@@ -71,7 +72,7 @@ export const WebhookEventEnvelopeSchema = z.looseObject({
71
72
  type: AnyWebhookEventTypeSchema,
72
73
  data: z.record(z.string(), z.unknown()),
73
74
  });
74
- export type WebhookEventEnvelope = z.infer<typeof WebhookEventEnvelopeSchema>;
75
+ export type WebhookEventEnvelope = Closed<z.infer<typeof WebhookEventEnvelopeSchema>>;
75
76
 
76
77
  const ReportReceivedEventSchema = z.looseObject({
77
78
  ...webhookEnvelopeShape,
@@ -157,7 +158,7 @@ export const KnownWebhookEventSchema = z.discriminatedUnion('type', [
157
158
  AppealDecidedEventSchema,
158
159
  CaseClosedEventSchema,
159
160
  ]);
160
- export type KnownWebhookEvent = z.infer<typeof KnownWebhookEventSchema>;
161
+ export type KnownWebhookEvent = Closed<z.infer<typeof KnownWebhookEventSchema>>;
161
162
 
162
163
  /** §10.8 headers, in their canonical casing. HTTP header names are case-insensitive; look them up accordingly. */
163
164
  export const WEBHOOK_EVENT_ID_HEADER = 'X-CrowdSource-Event-Id';