@trylimbo/sdk-verifier-wasm 0.3.0-canary.41 → 0.3.0-canary.44

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.
@@ -24,20 +24,9 @@ export interface Block {
24
24
  }
25
25
 
26
26
  /**
27
- * A `soft-binding-scope-map`.
27
+ * A `soft-binding-scope-map`, tagged by `kind`.
28
28
  */
29
- export interface Scope {
30
- timespan?: Timespan;
31
- }
32
-
33
- /**
34
- * A `soft-binding-timespan-map`: where the range starts in the media and how long it lasts, in
35
- * milliseconds.
36
- */
37
- export interface Timespan {
38
- start: number;
39
- duration: number;
40
- }
29
+ export type Scope = { kind: "timespan"; start: number; duration: number };
41
30
 
42
31
  /**
43
32
  * A canonical gRPC/Connect status code: the coarse, closed failure class.
@@ -69,7 +58,7 @@ export interface ReasonError {
69
58
  }
70
59
 
71
60
  /**
72
- * A session signing key from the init manifest\'s roster (spec §19.4.4).
61
+ * A session signing key from the init manifest\'s roster (spec C2PA 2.3 section 19.4.4).
73
62
  */
74
63
  export interface SessionKey {
75
64
  /**
@@ -110,7 +99,7 @@ export interface Reference {
110
99
  }
111
100
 
112
101
  /**
113
- * C2PA validation state of a manifest (spec §14.3).
102
+ * C2PA validation state of a manifest (C2PA 2.3 section 14.3).
114
103
  */
115
104
  export type ValidationState = "Invalid" | "Valid" | "Trusted";
116
105
 
@@ -120,7 +109,7 @@ export type ValidationState = "Invalid" | "Valid" | "Trusted";
120
109
  export type Repository = { kind: "named"; url: string; algorithms: string[] } | { kind: "registered"; alg: string };
121
110
 
122
111
  /**
123
- * One C2PA validation status entry (spec §15.3): the registered code, its kind, and the
112
+ * One C2PA validation status entry (C2PA 2.3 section 15.2.2): the registered code, its kind, and the
124
113
  * spec\'s own free-text `explanation`, which is where anything finer than the code lives.
125
114
  */
126
115
  export interface ValidationCode {
@@ -382,7 +371,7 @@ export type CredentialOrigin = { kind: "embedded" } | { kind: "recovered"; disco
382
371
  * Where one byBinding query\'s value comes from. A browser has no host engine: a vendor\'s
383
372
  * detector runs repository-side, through `byContent`.
384
373
  */
385
- export type SoftBindingSource = { kind: "builtin"; alg: string } | { kind: "held"; alg: string; value: Uint8Array };
374
+ export type SoftBindingSource = { kind: "builtin"; alg: string } | { kind: "hint"; alg: string; value: Uint8Array };
386
375
 
387
376
  /**
388
377
  * Whether a code is a success, an informational note, or a failure.
@@ -683,38 +672,46 @@ export function parse(manifest: Uint8Array): Promise<import('@contentauth/c2pa-t
683
672
  */
684
673
  export function resource(manifest: Uint8Array, uri: string): Promise<Uint8Array | undefined>;
685
674
 
675
+ /**
676
+ * The failure codes that say a manifest's asset bytes or its claim signature no longer match what
677
+ * was signed, as against a credential that is otherwise not good. A code absent here is never
678
+ * tampering.
679
+ */
680
+ export function tamperCodes(): string[];
681
+
686
682
  export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
687
683
 
688
684
  export interface InitOutput {
689
685
  readonly memory: WebAssembly.Memory;
690
686
  readonly parse: (a: number, b: number) => any;
691
687
  readonly resource: (a: number, b: number, c: number, d: number) => any;
688
+ readonly __wbg_blobsource_free: (a: number, b: number) => void;
689
+ readonly __wbg_memorysource_free: (a: number, b: number) => void;
690
+ readonly blobsource_length: (a: number) => number;
691
+ readonly blobsource_new: (a: any) => [number, number, number];
692
+ readonly blobsource_readAt: (a: number, b: number, c: number) => [number, number, number];
693
+ readonly memorysource_length: (a: number) => number;
694
+ readonly memorysource_new: (a: any) => number;
695
+ readonly memorysource_readAt: (a: number, b: number, c: number) => any;
696
+ readonly computeSoftBinding: (a: number, b: number, c: any, d: number, e: number) => any;
692
697
  readonly __wbg_assetverifier_free: (a: number, b: number) => void;
693
698
  readonly __wbg_streamsession_free: (a: number, b: number) => void;
694
699
  readonly __wbg_streamverifier_free: (a: number, b: number) => void;
695
700
  readonly __wbg_verification_free: (a: number, b: number) => void;
696
701
  readonly assetverifier_create: (a: any) => [number, number, number];
697
702
  readonly assetverifier_verify: (a: number, b: any, c: number, d: number, e: number) => any;
703
+ readonly c2paTrustList: () => [number, number];
704
+ readonly c2paTsaTrustList: () => [number, number];
705
+ readonly devCa: () => [number, number];
706
+ readonly init_panic_hook: () => void;
698
707
  readonly streamsession_export: (a: number) => [number, number, number, number];
699
708
  readonly streamsession_validate: (a: number, b: any) => any;
700
709
  readonly streamverifier_create: (a: any) => [number, number, number];
701
710
  readonly streamverifier_open: (a: number, b: number, c: number) => number;
702
711
  readonly streamverifier_resume: (a: number, b: number, c: number) => any;
712
+ readonly tamperCodes: () => [number, number];
703
713
  readonly verification_report: (a: number) => any;
704
714
  readonly verification_resource: (a: number, b: number, c: number, d: number) => [number, number, number, number];
705
- readonly computeSoftBinding: (a: number, b: number, c: any, d: number, e: number) => any;
706
- readonly __wbg_blobsource_free: (a: number, b: number) => void;
707
- readonly __wbg_memorysource_free: (a: number, b: number) => void;
708
- readonly blobsource_length: (a: number) => number;
709
- readonly blobsource_new: (a: any) => [number, number, number];
710
- readonly blobsource_readAt: (a: number, b: number, c: number) => [number, number, number];
711
- readonly memorysource_length: (a: number) => number;
712
- readonly memorysource_new: (a: any) => number;
713
- readonly memorysource_readAt: (a: number, b: number, c: number) => any;
714
- readonly c2paTrustList: () => [number, number];
715
- readonly c2paTsaTrustList: () => [number, number];
716
- readonly devCa: () => [number, number];
717
- readonly init_panic_hook: () => void;
718
715
  readonly __wbg_intounderlyingbytesource_free: (a: number, b: number) => void;
719
716
  readonly intounderlyingbytesource_autoAllocateChunkSize: (a: number) => number;
720
717
  readonly intounderlyingbytesource_cancel: (a: number) => void;
@@ -731,7 +728,7 @@ export interface InitOutput {
731
728
  readonly wasm_bindgen__convert__closures_____invoke__hfa954cb356c7e7e1: (a: number, b: number, c: any) => [number, number];
732
729
  readonly wasm_bindgen__convert__closures_____invoke__h32a4f2e7671466cf: (a: number, b: number, c: any, d: any) => void;
733
730
  readonly wasm_bindgen__convert__closures_____invoke__hbfbf6526ca40dbc0: (a: number, b: number, c: any) => void;
734
- readonly wasm_bindgen__convert__closures_____invoke__h66de60f9da4a5479: (a: number, b: number) => void;
731
+ readonly wasm_bindgen__convert__closures_____invoke__h8d57e83b7be17e50: (a: number, b: number) => void;
735
732
  readonly __wbindgen_malloc: (a: number, b: number) => number;
736
733
  readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
737
734
  readonly __wbindgen_exn_store: (a: number) => void;
@@ -595,6 +595,19 @@ export function resource(manifest, uri) {
595
595
  const ret = wasm.resource(ptr0, len0, ptr1, len1);
596
596
  return ret;
597
597
  }
598
+
599
+ /**
600
+ * The failure codes that say a manifest's asset bytes or its claim signature no longer match what
601
+ * was signed, as against a credential that is otherwise not good. A code absent here is never
602
+ * tampering.
603
+ * @returns {string[]}
604
+ */
605
+ export function tamperCodes() {
606
+ const ret = wasm.tamperCodes();
607
+ var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
608
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
609
+ return v1;
610
+ }
598
611
  function __wbg_get_imports() {
599
612
  const import0 = {
600
613
  __proto__: null,
@@ -1199,18 +1212,18 @@ function __wbg_get_imports() {
1199
1212
  return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);
1200
1213
  },
1201
1214
  __wbindgen_cast_0000000000000001: function(arg0, arg1) {
1202
- // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 2292, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
1215
+ // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 2303, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
1203
1216
  const ret = makeMutClosure(arg0, arg1, wasm_bindgen__convert__closures_____invoke__hfa954cb356c7e7e1);
1204
1217
  return ret;
1205
1218
  },
1206
1219
  __wbindgen_cast_0000000000000002: function(arg0, arg1) {
1207
- // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 6094, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1220
+ // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 6120, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1208
1221
  const ret = makeMutClosure(arg0, arg1, wasm_bindgen__convert__closures_____invoke__hbfbf6526ca40dbc0);
1209
1222
  return ret;
1210
1223
  },
1211
1224
  __wbindgen_cast_0000000000000003: function(arg0, arg1) {
1212
- // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 3579, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1213
- const ret = makeMutClosure(arg0, arg1, wasm_bindgen__convert__closures_____invoke__h66de60f9da4a5479);
1225
+ // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 3611, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1226
+ const ret = makeMutClosure(arg0, arg1, wasm_bindgen__convert__closures_____invoke__h8d57e83b7be17e50);
1214
1227
  return ret;
1215
1228
  },
1216
1229
  __wbindgen_cast_0000000000000004: function(arg0) {
@@ -1268,8 +1281,8 @@ function __wbg_get_imports() {
1268
1281
  };
1269
1282
  }
1270
1283
 
1271
- function wasm_bindgen__convert__closures_____invoke__h66de60f9da4a5479(arg0, arg1) {
1272
- wasm.wasm_bindgen__convert__closures_____invoke__h66de60f9da4a5479(arg0, arg1);
1284
+ function wasm_bindgen__convert__closures_____invoke__h8d57e83b7be17e50(arg0, arg1) {
1285
+ wasm.wasm_bindgen__convert__closures_____invoke__h8d57e83b7be17e50(arg0, arg1);
1273
1286
  }
1274
1287
 
1275
1288
  function wasm_bindgen__convert__closures_____invoke__hbfbf6526ca40dbc0(arg0, arg1, arg2) {
@@ -3,32 +3,33 @@
3
3
  export const memory: WebAssembly.Memory;
4
4
  export const parse: (a: number, b: number) => any;
5
5
  export const resource: (a: number, b: number, c: number, d: number) => any;
6
+ export const __wbg_blobsource_free: (a: number, b: number) => void;
7
+ export const __wbg_memorysource_free: (a: number, b: number) => void;
8
+ export const blobsource_length: (a: number) => number;
9
+ export const blobsource_new: (a: any) => [number, number, number];
10
+ export const blobsource_readAt: (a: number, b: number, c: number) => [number, number, number];
11
+ export const memorysource_length: (a: number) => number;
12
+ export const memorysource_new: (a: any) => number;
13
+ export const memorysource_readAt: (a: number, b: number, c: number) => any;
14
+ export const computeSoftBinding: (a: number, b: number, c: any, d: number, e: number) => any;
6
15
  export const __wbg_assetverifier_free: (a: number, b: number) => void;
7
16
  export const __wbg_streamsession_free: (a: number, b: number) => void;
8
17
  export const __wbg_streamverifier_free: (a: number, b: number) => void;
9
18
  export const __wbg_verification_free: (a: number, b: number) => void;
10
19
  export const assetverifier_create: (a: any) => [number, number, number];
11
20
  export const assetverifier_verify: (a: number, b: any, c: number, d: number, e: number) => any;
21
+ export const c2paTrustList: () => [number, number];
22
+ export const c2paTsaTrustList: () => [number, number];
23
+ export const devCa: () => [number, number];
24
+ export const init_panic_hook: () => void;
12
25
  export const streamsession_export: (a: number) => [number, number, number, number];
13
26
  export const streamsession_validate: (a: number, b: any) => any;
14
27
  export const streamverifier_create: (a: any) => [number, number, number];
15
28
  export const streamverifier_open: (a: number, b: number, c: number) => number;
16
29
  export const streamverifier_resume: (a: number, b: number, c: number) => any;
30
+ export const tamperCodes: () => [number, number];
17
31
  export const verification_report: (a: number) => any;
18
32
  export const verification_resource: (a: number, b: number, c: number, d: number) => [number, number, number, number];
19
- export const computeSoftBinding: (a: number, b: number, c: any, d: number, e: number) => any;
20
- export const __wbg_blobsource_free: (a: number, b: number) => void;
21
- export const __wbg_memorysource_free: (a: number, b: number) => void;
22
- export const blobsource_length: (a: number) => number;
23
- export const blobsource_new: (a: any) => [number, number, number];
24
- export const blobsource_readAt: (a: number, b: number, c: number) => [number, number, number];
25
- export const memorysource_length: (a: number) => number;
26
- export const memorysource_new: (a: any) => number;
27
- export const memorysource_readAt: (a: number, b: number, c: number) => any;
28
- export const c2paTrustList: () => [number, number];
29
- export const c2paTsaTrustList: () => [number, number];
30
- export const devCa: () => [number, number];
31
- export const init_panic_hook: () => void;
32
33
  export const __wbg_intounderlyingbytesource_free: (a: number, b: number) => void;
33
34
  export const intounderlyingbytesource_autoAllocateChunkSize: (a: number) => number;
34
35
  export const intounderlyingbytesource_cancel: (a: number) => void;
@@ -45,7 +46,7 @@ export const intounderlyingsink_write: (a: number, b: any) => any;
45
46
  export const wasm_bindgen__convert__closures_____invoke__hfa954cb356c7e7e1: (a: number, b: number, c: any) => [number, number];
46
47
  export const wasm_bindgen__convert__closures_____invoke__h32a4f2e7671466cf: (a: number, b: number, c: any, d: any) => void;
47
48
  export const wasm_bindgen__convert__closures_____invoke__hbfbf6526ca40dbc0: (a: number, b: number, c: any) => void;
48
- export const wasm_bindgen__convert__closures_____invoke__h66de60f9da4a5479: (a: number, b: number) => void;
49
+ export const wasm_bindgen__convert__closures_____invoke__h8d57e83b7be17e50: (a: number, b: number) => void;
49
50
  export const __wbindgen_malloc: (a: number, b: number) => number;
50
51
  export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
51
52
  export const __wbindgen_exn_store: (a: number) => void;
@@ -516,6 +516,18 @@ function resource(manifest, uri) {
516
516
  const len1 = WASM_VECTOR_LEN;
517
517
  return wasm.resource(ptr0, len0, ptr1, len1);
518
518
  }
519
+ /**
520
+ * The failure codes that say a manifest's asset bytes or its claim signature no longer match what
521
+ * was signed, as against a credential that is otherwise not good. A code absent here is never
522
+ * tampering.
523
+ * @returns {string[]}
524
+ */
525
+ function tamperCodes() {
526
+ const ret = wasm.tamperCodes();
527
+ var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
528
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
529
+ return v1;
530
+ }
519
531
  function __wbg_get_imports() {
520
532
  return {
521
533
  __proto__: null,
@@ -1087,7 +1099,7 @@ function __wbg_get_imports() {
1087
1099
  return makeMutClosure(arg0, arg1, wasm_bindgen__convert__closures_____invoke__hbfbf6526ca40dbc0);
1088
1100
  },
1089
1101
  __wbindgen_cast_0000000000000003: function(arg0, arg1) {
1090
- return makeMutClosure(arg0, arg1, wasm_bindgen__convert__closures_____invoke__h66de60f9da4a5479);
1102
+ return makeMutClosure(arg0, arg1, wasm_bindgen__convert__closures_____invoke__h8d57e83b7be17e50);
1091
1103
  },
1092
1104
  __wbindgen_cast_0000000000000004: function(arg0) {
1093
1105
  return arg0;
@@ -1126,8 +1138,8 @@ function __wbg_get_imports() {
1126
1138
  }
1127
1139
  };
1128
1140
  }
1129
- function wasm_bindgen__convert__closures_____invoke__h66de60f9da4a5479(arg0, arg1) {
1130
- wasm.wasm_bindgen__convert__closures_____invoke__h66de60f9da4a5479(arg0, arg1);
1141
+ function wasm_bindgen__convert__closures_____invoke__h8d57e83b7be17e50(arg0, arg1) {
1142
+ wasm.wasm_bindgen__convert__closures_____invoke__h8d57e83b7be17e50(arg0, arg1);
1131
1143
  }
1132
1144
  function wasm_bindgen__convert__closures_____invoke__hbfbf6526ca40dbc0(arg0, arg1, arg2) {
1133
1145
  wasm.wasm_bindgen__convert__closures_____invoke__hbfbf6526ca40dbc0(arg0, arg1, arg2);
@@ -1548,6 +1560,7 @@ const sdk = {
1548
1560
  return resource(await bytes(manifest), uri);
1549
1561
  },
1550
1562
  devCa,
1563
+ tamperCodes,
1551
1564
  close() {
1552
1565
  setTimeout(() => self.close(), 0);
1553
1566
  }
@@ -170,21 +170,15 @@ interface Block {
170
170
  scope?: Scope;
171
171
  }
172
172
  /**
173
- * A `soft-binding-scope-map`.
173
+ * A `soft-binding-scope-map`, tagged by `kind`.
174
174
  */
175
- interface Scope {
176
- timespan?: Timespan;
177
- }
178
- /**
179
- * A `soft-binding-timespan-map`: where the range starts in the media and how long it lasts, in
180
- * milliseconds.
181
- */
182
- interface Timespan {
175
+ type Scope = {
176
+ kind: "timespan";
183
177
  start: number;
184
178
  duration: number;
185
- }
179
+ };
186
180
  /**
187
- * A session signing key from the init manifest\'s roster (spec §19.4.4).
181
+ * A session signing key from the init manifest\'s roster (spec C2PA 2.3 section 19.4.4).
188
182
  */
189
183
  interface SessionKey {
190
184
  /**
@@ -215,7 +209,7 @@ interface Reference {
215
209
  ranges?: import('@contentauth/c2pa-types').Range[];
216
210
  }
217
211
  /**
218
- * C2PA validation state of a manifest (spec §14.3).
212
+ * C2PA validation state of a manifest (C2PA 2.3 section 14.3).
219
213
  */
220
214
  type ValidationState = "Invalid" | "Valid" | "Trusted";
221
215
  /**
@@ -230,7 +224,7 @@ type Repository = {
230
224
  alg: string;
231
225
  };
232
226
  /**
233
- * One C2PA validation status entry (spec §15.3): the registered code, its kind, and the
227
+ * One C2PA validation status entry (C2PA 2.3 section 15.2.2): the registered code, its kind, and the
234
228
  * spec\'s own free-text `explanation`, which is where anything finer than the code lives.
235
229
  */
236
230
  interface ValidationCode {
@@ -506,7 +500,7 @@ type SoftBindingSource = {
506
500
  kind: "builtin";
507
501
  alg: string;
508
502
  } | {
509
- kind: "held";
503
+ kind: "hint";
510
504
  alg: string;
511
505
  value: Uint8Array;
512
506
  };
@@ -720,6 +714,12 @@ declare class Verification {
720
714
  * release.
721
715
  */
722
716
  declare function devCa(): string;
717
+ /**
718
+ * The failure codes that say a manifest's asset bytes or its claim signature no longer match what
719
+ * was signed, as against a credential that is otherwise not good. A code absent here is never
720
+ * tampering.
721
+ */
722
+ declare function tamperCodes(): string[];
723
723
  //#endregion
724
724
  //#region src/worker-thread.d.ts
725
725
  /**
@@ -797,6 +797,7 @@ declare const sdk: {
797
797
  */
798
798
  resource(manifest: Asset, uri: string): Promise<Uint8Array<ArrayBufferLike> | undefined>;
799
799
  devCa: typeof devCa;
800
+ tamperCodes: typeof tamperCodes;
800
801
  close(): void;
801
802
  };
802
803
  /** What the caller's thread holds a `Comlink.Remote` of. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trylimbo/sdk-verifier-wasm",
3
- "version": "0.3.0-canary.41",
3
+ "version": "0.3.0-canary.44",
4
4
  "license": "UNLICENSED",
5
5
  "repository": {
6
6
  "type": "git",