@contentauth/c2pa-web 0.8.4 → 0.10.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.
@@ -134,7 +134,8 @@ export interface ManifestAndAssetBytes {
134
134
  }
135
135
  /**
136
136
  * @param worker - Worker (via WorkerManager) to be associated with this reader factory.
137
+ * @param settings - Optional settings to be used for all builders.
137
138
  * @returns A {@link BuilderFactory} object containing builder creation methods.
138
139
  */
139
- export declare function createBuilderFactory(worker: WorkerManager): BuilderFactory;
140
+ export declare function createBuilderFactory(worker: WorkerManager, settings?: Settings): BuilderFactory;
140
141
  //# sourceMappingURL=builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/lib/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/lib/builder.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,15 @@ export interface Config {
6
6
  * URL to fetch the WASM binary or an already-instantiated WASM module.
7
7
  */
8
8
  wasmSrc: string | WebAssembly.Module;
9
+ /**
10
+ * HTTPS URL to the worker script. When provided the worker is loaded from this
11
+ * URL instead of an inline blob URL, which is required in environments
12
+ * with a strict Content Security Policy that disallows blob: worker sources.
13
+ *
14
+ * Host the file exported as `@contentauth/c2pa-web/worker` alongside your
15
+ * application and pass its URL here.
16
+ */
17
+ workerSrc?: URL;
9
18
  /**
10
19
  * Settings for the SDK. Will be inherited by created builders and readers.
11
20
  */
@@ -1 +1 @@
1
- {"version":3,"file":"c2pa.d.ts","sourceRoot":"","sources":["../../src/lib/c2pa.ts"],"names":[],"mappings":"AASA,OAAO,EAAuB,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAsB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAwB,MAAM,cAAc,CAAC;AAEpE,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,MAAM,EAAE,aAAa,CAAC;IAEtB;;OAEG;IACH,OAAO,EAAE,cAAc,CAAC;IAExB;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAgBjE"}
1
+ {"version":3,"file":"c2pa.d.ts","sourceRoot":"","sources":["../../src/lib/c2pa.ts"],"names":[],"mappings":"AASA,OAAO,EAAuB,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAmB,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAwB,MAAM,cAAc,CAAC;AAEpE,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IAErC;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,GAAG,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,MAAM,EAAE,aAAa,CAAC;IAEtB;;OAEG;IACH,OAAO,EAAE,cAAc,CAAC;IAExB;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAcjE"}
@@ -81,7 +81,8 @@ export interface Reader {
81
81
  }
82
82
  /**
83
83
  * @param worker - Worker (via WorkerManager) to be associated with this reader factory.
84
+ * @param settings - Optional settings to be used for all readers.
84
85
  * @returns A {@link ReaderFactory} object containing reader creation methods.
85
86
  */
86
- export declare function createReaderFactory(worker: WorkerManager): ReaderFactory;
87
+ export declare function createReaderFactory(worker: WorkerManager, settings?: Settings): ReaderFactory;
87
88
  //# sourceMappingURL=reader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/lib/reader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGlE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAsB,MAAM,eAAe,CAAC;AAG7D,eAAO,MAAM,iBAAiB,QAAU,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;;OAOG;IACH,QAAQ,EAAE,CACR,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,QAAQ,CAAC,EAAE,QAAQ,KAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE5B;;;;;;;OAOG;IACH,gBAAgB,EAAE,CAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,IAAI,EACd,QAAQ,CAAC,EAAE,QAAQ,KAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,WAAW,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE1C;;OAEG;IACH,aAAa,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAE5C;;OAEG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;IAExC;;;;OAIG;IACH,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAEzB;;OAEG;IACH,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAE3B;;;;;;;;;;;;;;OAcG;IACH,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IAEnE;;OAEG;IACH,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CAwExE"}
1
+ {"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/lib/reader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGlE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAmB,MAAM,eAAe,CAAC;AAG1D,eAAO,MAAM,iBAAiB,QAAU,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;;OAOG;IACH,QAAQ,EAAE,CACR,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,QAAQ,CAAC,EAAE,QAAQ,KAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE5B;;;;;;;OAOG;IACH,gBAAgB,EAAE,CAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,IAAI,EACd,QAAQ,CAAC,EAAE,QAAQ,KAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,WAAW,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE1C;;OAEG;IACH,aAAa,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAE5C;;OAEG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;IAExC;;;;OAIG;IACH,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAEzB;;OAEG;IACH,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAE3B;;;;;;;;;;;;;;OAcG;IACH,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IAEnE;;OAEG;IACH,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,aAAa,CAyE7F"}
@@ -93,11 +93,13 @@ export interface BuilderSettings {
93
93
  }
94
94
  export declare const MAX_RESPONSE_SIZE: number;
95
95
  /**
96
- * Resolves any trust list URLs and serializes the resulting object into a JSON string of the structure expected by c2pa-rs.
97
- * Will merge any provided values on top of the default settings.
96
+ * Resolves settings by merging override settings on top of base settings, resolving any embedded
97
+ * trust list URLs on top of those, and then finally serializing the result for consumption by c2pa-rs.
98
98
  *
99
- * @param settings Settings configuration object
99
+ * @param baseSettings Settings established at SDK initialization time.
100
+ * @param overrideSettings Optional override settings. Keys present in overrideSettings win over keys in baseSettings.
100
101
  * @returns A JSON-serialized string containing all resolved settings values, ready to be consumed by c2pa-rs.
102
+ * Returns undefined when neither argument is provided.
101
103
  */
102
- export declare function settingsToWasmJson(settings: Settings): Promise<string>;
104
+ export declare function resolveSettings(baseSettings: Settings | undefined, overrideSettings: Settings | undefined): Promise<string | undefined>;
103
105
  //# sourceMappingURL=settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/lib/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B;;OAEG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB;;OAEG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAChC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACjC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAChC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACjC;AAUD,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAItB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAYD,eAAO,MAAM,iBAAiB,QAAkB,CAAC;AAEjD;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB5E"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/lib/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B;;OAEG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB;;OAEG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAChC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACjC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAChC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACjC;AAUD,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAItB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAYD,eAAO,MAAM,iBAAiB,QAAkB,CAAC;AAEjD;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,YAAY,EAAE,QAAQ,GAAG,SAAS,EAClC,gBAAgB,EAAE,QAAQ,GAAG,SAAS,GACrC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAyB7B"}
@@ -8,7 +8,18 @@ export interface WorkerManager {
8
8
  export interface CreateWorkerManagerConfig {
9
9
  wasm: WebAssembly.Module;
10
10
  settingsString?: string;
11
+ workerSrc?: URL;
11
12
  }
13
+ /**
14
+ * Validates a worker source URL before it is loaded into a Worker. The value
15
+ * must be a structurally valid URL served over https, since arbitrary or
16
+ * insecure sources would let untrusted code run in the worker context.
17
+ *
18
+ * @param workerSrc - the worker source URL to validate
19
+ * @returns the normalized URL string, safe to pass to `new Worker`
20
+ * @throws if the value is not a valid URL or does not use https
21
+ */
22
+ export declare function validateWorkerSrc(workerSrc: URL): string;
12
23
  /**
13
24
  * Creates a new web worker and performs initialization steps:
14
25
  * - Compile WASM
@@ -1 +1 @@
1
- {"version":3,"file":"workerManager.d.ts","sourceRoot":"","sources":["../../../src/lib/worker/workerManager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAY,MAAM,UAAU,CAAC;AAI9C,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;IAChC,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC;IACzD,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,aAAa,CAAC,CAsCxB"}
1
+ {"version":3,"file":"workerManager.d.ts","sourceRoot":"","sources":["../../../src/lib/worker/workerManager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAY,MAAM,UAAU,CAAC;AAI9C,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;IAChC,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC;IACzD,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,GAAG,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,CAQxD;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,aAAa,CAAC,CAwCxB"}
package/dist/worker.js ADDED
@@ -0,0 +1,163 @@
1
+ import { c as _, r as v, W as l, a as f, i as w, l as B } from "./c2pa-oJwJnvn8.js";
2
+ import { transfer as a } from "highgain";
3
+ function m() {
4
+ let e = 0;
5
+ const r = /* @__PURE__ */ new Map();
6
+ return {
7
+ add(t) {
8
+ const n = e++;
9
+ return r.set(n, t), n;
10
+ },
11
+ get(t) {
12
+ const n = r.get(t);
13
+ if (!n)
14
+ throw new Error("Attempted to use an object that has been freed");
15
+ return n;
16
+ },
17
+ remove(t) {
18
+ return r.delete(t);
19
+ }
20
+ };
21
+ }
22
+ const i = m(), d = m(), g = _();
23
+ v(
24
+ I({
25
+ async initWorker(e, r) {
26
+ w({ module: e }), r && B(r);
27
+ },
28
+ async reader_fromBlob(e, r, t) {
29
+ const n = await f.fromBlob(e, r, t);
30
+ return i.add(n);
31
+ },
32
+ async reader_fromBlobFragment(e, r, t, n) {
33
+ const o = await f.fromBlobFragment(
34
+ e,
35
+ r,
36
+ t,
37
+ n
38
+ );
39
+ return i.add(o);
40
+ },
41
+ reader_activeLabel(e) {
42
+ return i.get(e).activeLabel() ?? null;
43
+ },
44
+ reader_manifestStore(e) {
45
+ return i.get(e).manifestStore();
46
+ },
47
+ reader_activeManifest(e) {
48
+ return i.get(e).activeManifest();
49
+ },
50
+ reader_json(e) {
51
+ return i.get(e).json();
52
+ },
53
+ reader_crJson(e) {
54
+ return i.get(e).crJson();
55
+ },
56
+ reader_resourceToBytes(e, r) {
57
+ const n = i.get(e).resourceToBytes(r);
58
+ return a(n, n.buffer);
59
+ },
60
+ reader_free(e) {
61
+ i.get(e).free(), i.remove(e);
62
+ },
63
+ builder_new(e) {
64
+ const r = l.new(e);
65
+ return d.add(r);
66
+ },
67
+ builder_fromJson(e, r) {
68
+ const t = l.fromJson(e, r);
69
+ return d.add(t);
70
+ },
71
+ builder_fromArchive(e, r) {
72
+ const t = l.fromArchive(e, r);
73
+ return d.add(t);
74
+ },
75
+ builder_setIntent(e, r) {
76
+ d.get(e).setIntent(r);
77
+ },
78
+ builder_addAction(e, r) {
79
+ d.get(e).addAction(r);
80
+ },
81
+ builder_addRedaction(e, r, t) {
82
+ d.get(e).addRedaction(r, t);
83
+ },
84
+ builder_setRemoteUrl(e, r) {
85
+ d.get(e).setRemoteUrl(r);
86
+ },
87
+ builder_setNoEmbed(e, r) {
88
+ d.get(e).setNoEmbed(r);
89
+ },
90
+ builder_setThumbnailFromBlob(e, r, t) {
91
+ d.get(e).setThumbnailFromBlob(r, t);
92
+ },
93
+ builder_addIngredient(e, r) {
94
+ d.get(e).addIngredient(r);
95
+ },
96
+ async builder_addIngredientFromBlob(e, r, t, n) {
97
+ await d.get(e).addIngredientFromBlob(r, t, n);
98
+ },
99
+ builder_addResourceFromBlob(e, r, t) {
100
+ d.get(e).addResourceFromBlob(r, t);
101
+ },
102
+ builder_getDefinition(e) {
103
+ return d.get(e).getDefinition();
104
+ },
105
+ builder_toArchive(e) {
106
+ const t = d.get(e).toArchive();
107
+ return a(t, t.buffer);
108
+ },
109
+ async builder_sign(e, r, t, n, o) {
110
+ const u = await d.get(e).sign(
111
+ {
112
+ reserveSize: t.reserveSize,
113
+ alg: t.alg,
114
+ sign: async (c) => await g.sign(
115
+ r,
116
+ a(c, c.buffer),
117
+ t.reserveSize
118
+ )
119
+ },
120
+ n,
121
+ o
122
+ );
123
+ return a(u, u.buffer);
124
+ },
125
+ async builder_signAndGetManifestBytes(e, r, t, n, o) {
126
+ const s = d.get(e), { manifest: u, asset: c } = await s.signAndGetManifestBytes(
127
+ {
128
+ reserveSize: t.reserveSize,
129
+ alg: t.alg,
130
+ sign: async (b) => await g.sign(
131
+ r,
132
+ a(b, b.buffer),
133
+ t.reserveSize
134
+ )
135
+ },
136
+ n,
137
+ o
138
+ );
139
+ return a(
140
+ {
141
+ manifest: u,
142
+ asset: c
143
+ },
144
+ [u.buffer, c.buffer]
145
+ );
146
+ },
147
+ builder_free(e) {
148
+ d.get(e).free(), d.remove(e);
149
+ }
150
+ })
151
+ );
152
+ function I(e) {
153
+ const r = {};
154
+ for (const [t, n] of Object.entries(e))
155
+ r[t] = async (...o) => {
156
+ try {
157
+ return await n(...o);
158
+ } catch (s) {
159
+ throw typeof s == "string" ? new Error(s) : s;
160
+ }
161
+ };
162
+ return r;
163
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contentauth/c2pa-web",
3
- "version": "0.8.4",
3
+ "version": "0.10.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,13 +24,17 @@
24
24
  "types": "./dist/inline.d.ts",
25
25
  "import": "./dist/inline.js",
26
26
  "default": "./dist/inline.js"
27
+ },
28
+ "./worker": {
29
+ "import": "./dist/worker.js",
30
+ "default": "./dist/worker.js"
27
31
  }
28
32
  },
29
33
  "dependencies": {
30
34
  "highgain": "^0.1.0",
31
35
  "ts-deepmerge": "^7.0.3",
32
- "@contentauth/c2pa-types": "0.4.6",
33
- "@contentauth/c2pa-wasm": "0.6.3"
36
+ "@contentauth/c2pa-types": "0.5.0",
37
+ "@contentauth/c2pa-wasm": "0.7.0"
34
38
  },
35
39
  "devDependencies": {
36
40
  "@playwright/test": "^1.60.0",