@workglow/util 0.2.29 → 0.2.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.js +71 -34
- package/dist/browser.js.map +8 -8
- package/dist/bun.js +71 -34
- package/dist/bun.js.map +8 -8
- package/dist/credentials/CredentialStoreRegistry.d.ts +19 -6
- package/dist/credentials/CredentialStoreRegistry.d.ts.map +1 -1
- package/dist/di/InputCompactorRegistry.d.ts +8 -4
- package/dist/di/InputCompactorRegistry.d.ts.map +1 -1
- package/dist/di/InputResolverRegistry.d.ts +8 -4
- package/dist/di/InputResolverRegistry.d.ts.map +1 -1
- package/dist/logging/LoggerRegistry.d.ts +10 -4
- package/dist/logging/LoggerRegistry.d.ts.map +1 -1
- package/dist/media/imageHydrationResolver.d.ts +6 -1
- package/dist/media/imageHydrationResolver.d.ts.map +1 -1
- package/dist/media-browser.d.ts +1 -0
- package/dist/media-browser.d.ts.map +1 -1
- package/dist/media-browser.js +17 -8
- package/dist/media-browser.js.map +5 -5
- package/dist/media-node.d.ts +1 -0
- package/dist/media-node.d.ts.map +1 -1
- package/dist/media-node.js +17 -8
- package/dist/media-node.js.map +5 -5
- package/dist/node.js +71 -34
- package/dist/node.js.map +8 -8
- package/dist/telemetry/TelemetryRegistry.d.ts +10 -4
- package/dist/telemetry/TelemetryRegistry.d.ts.map +1 -1
- package/dist/worker/WorkerManager.d.ts +5 -0
- package/dist/worker/WorkerManager.d.ts.map +1 -1
- package/dist/worker-browser.js +42 -17
- package/dist/worker-browser.js.map +6 -6
- package/dist/worker-bun.js +42 -17
- package/dist/worker-bun.js.map +6 -6
- package/dist/worker-node.js +42 -17
- package/dist/worker-node.js.map +6 -6
- package/package.json +1 -1
|
@@ -6,16 +6,24 @@
|
|
|
6
6
|
import type { ServiceRegistry } from "../di/ServiceRegistry";
|
|
7
7
|
import type { ICredentialStore } from "./ICredentialStore";
|
|
8
8
|
/**
|
|
9
|
-
* Gets the
|
|
9
|
+
* Gets the credential store from the given registry (defaults to global).
|
|
10
|
+
* If the registry hasn't had `registerCredentialDefaults(registry)` run yet,
|
|
11
|
+
* the default in-memory store is registered lazily — same pattern as
|
|
12
|
+
* `getLogger` / `getTelemetryProvider`. Makes scoped registries returned by
|
|
13
|
+
* `createOrchestrationContext` safe to use without an explicit bootstrap.
|
|
10
14
|
*/
|
|
11
|
-
export declare function getGlobalCredentialStore(): ICredentialStore;
|
|
15
|
+
export declare function getGlobalCredentialStore(registry?: ServiceRegistry): ICredentialStore;
|
|
12
16
|
/**
|
|
13
|
-
* Sets the
|
|
17
|
+
* Sets the credential store on the given registry (defaults to global).
|
|
14
18
|
*/
|
|
15
|
-
export declare function setGlobalCredentialStore(store: ICredentialStore): void;
|
|
19
|
+
export declare function setGlobalCredentialStore(store: ICredentialStore, registry?: ServiceRegistry): void;
|
|
16
20
|
/**
|
|
17
|
-
* Resolves a credential from the store registered in the given registry
|
|
18
|
-
*
|
|
21
|
+
* Resolves a credential from the store registered in the given registry.
|
|
22
|
+
*
|
|
23
|
+
* If `registry` is omitted, uses the global registry. If a `registry` is
|
|
24
|
+
* passed but doesn't yet have `CREDENTIAL_STORE`, `getGlobalCredentialStore`
|
|
25
|
+
* lazily registers the default in-memory store on it — so scoped registries
|
|
26
|
+
* stay isolated from the global one.
|
|
19
27
|
*
|
|
20
28
|
* Intended for use in provider `getClient` functions and tasks.
|
|
21
29
|
*
|
|
@@ -24,4 +32,9 @@ export declare function setGlobalCredentialStore(store: ICredentialStore): void;
|
|
|
24
32
|
* @returns The credential value, or undefined if not found
|
|
25
33
|
*/
|
|
26
34
|
export declare function resolveCredential(key: string, registry?: ServiceRegistry): Promise<string | undefined>;
|
|
35
|
+
/**
|
|
36
|
+
* Registers the credential store default factory and the "credential" input resolver/compactor
|
|
37
|
+
* on the given registry. Called by `bootstrapWorkglow` and `createOrchestrationContext`.
|
|
38
|
+
*/
|
|
39
|
+
export declare function registerCredentialDefaults(registry?: ServiceRegistry): void;
|
|
27
40
|
//# sourceMappingURL=CredentialStoreRegistry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CredentialStoreRegistry.d.ts","sourceRoot":"","sources":["../../src/credentials/CredentialStoreRegistry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"CredentialStoreRegistry.d.ts","sourceRoot":"","sources":["../../src/credentials/CredentialStoreRegistry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,GAAE,eAAuC,GAChD,gBAAgB,CAKlB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,gBAAgB,EACvB,QAAQ,GAAE,eAAuC,GAChD,IAAI,CAEN;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAG7B;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,GAAE,eAAuC,GAChD,IAAI,CAkBN"}
|
|
@@ -19,10 +19,14 @@ export type InputCompactorFn = (value: unknown, format: string, registry: Servic
|
|
|
19
19
|
*/
|
|
20
20
|
export declare const INPUT_COMPACTORS: import("./ServiceRegistry").ServiceToken<Map<string, InputCompactorFn>>;
|
|
21
21
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
22
|
+
* Registers an empty compactor map on the given registry if absent.
|
|
23
|
+
* Called as part of `bootstrapWorkglow` / `createOrchestrationContext`.
|
|
24
24
|
*/
|
|
25
|
-
export declare function
|
|
25
|
+
export declare function registerInputCompactorDefaults(registry?: ServiceRegistry): void;
|
|
26
|
+
/**
|
|
27
|
+
* Gets the input compactor registry from the given registry (defaults to global).
|
|
28
|
+
*/
|
|
29
|
+
export declare function getInputCompactors(registry?: ServiceRegistry): Map<string, InputCompactorFn>;
|
|
26
30
|
/**
|
|
27
31
|
* Registers an input compactor for a format prefix.
|
|
28
32
|
* The compactor will be called to convert resolved instances back to string IDs.
|
|
@@ -42,5 +46,5 @@ export declare function getInputCompactors(): Map<string, InputCompactorFn>;
|
|
|
42
46
|
* });
|
|
43
47
|
* ```
|
|
44
48
|
*/
|
|
45
|
-
export declare function registerInputCompactor(formatPrefix: string, compactor: InputCompactorFn): void;
|
|
49
|
+
export declare function registerInputCompactor(formatPrefix: string, compactor: InputCompactorFn, registry?: ServiceRegistry): void;
|
|
46
50
|
//# sourceMappingURL=InputCompactorRegistry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputCompactorRegistry.d.ts","sourceRoot":"","sources":["../../src/di/InputCompactorRegistry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,eAAe,KACtB,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,yEAC+C,CAAC;
|
|
1
|
+
{"version":3,"file":"InputCompactorRegistry.d.ts","sourceRoot":"","sources":["../../src/di/InputCompactorRegistry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,eAAe,KACtB,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,yEAC+C,CAAC;AAE7E;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,GAAE,eAAuC,GAChD,IAAI,CAEN;AAKD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,GAAE,eAAuC,GAChD,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAK/B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,gBAAgB,EAC3B,QAAQ,GAAE,eAAuC,GAChD,IAAI,CAGN"}
|
|
@@ -20,10 +20,14 @@ export type InputResolverFn = (id: string, format: string, registry: ServiceRegi
|
|
|
20
20
|
*/
|
|
21
21
|
export declare const INPUT_RESOLVERS: import("./ServiceRegistry").ServiceToken<Map<string, InputResolverFn>>;
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
23
|
+
* Registers an empty resolver map on the given registry if absent.
|
|
24
|
+
* Called as part of `bootstrapWorkglow` / `createOrchestrationContext`.
|
|
25
25
|
*/
|
|
26
|
-
export declare function
|
|
26
|
+
export declare function registerInputResolverDefaults(registry?: ServiceRegistry): void;
|
|
27
|
+
/**
|
|
28
|
+
* Gets the input resolver registry from the given registry (defaults to global).
|
|
29
|
+
*/
|
|
30
|
+
export declare function getInputResolvers(registry?: ServiceRegistry): Map<string, InputResolverFn>;
|
|
27
31
|
/**
|
|
28
32
|
* Registers an input resolver for a format prefix.
|
|
29
33
|
* The resolver will be called for any format that starts with this prefix.
|
|
@@ -54,5 +58,5 @@ export declare function getInputResolvers(): Map<string, InputResolverFn>;
|
|
|
54
58
|
* });
|
|
55
59
|
* ```
|
|
56
60
|
*/
|
|
57
|
-
export declare function registerInputResolver(formatPrefix: string, resolver: InputResolverFn): void;
|
|
61
|
+
export declare function registerInputResolver(formatPrefix: string, resolver: InputResolverFn, registry?: ServiceRegistry): void;
|
|
58
62
|
//# sourceMappingURL=InputResolverRegistry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputResolverRegistry.d.ts","sourceRoot":"","sources":["../../src/di/InputResolverRegistry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAAG,CAC5B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,eAAe,KACtB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhC;;;GAGG;AACH,eAAO,MAAM,eAAe,wEAC8C,CAAC;
|
|
1
|
+
{"version":3,"file":"InputResolverRegistry.d.ts","sourceRoot":"","sources":["../../src/di/InputResolverRegistry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAAG,CAC5B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,eAAe,KACtB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhC;;;GAGG;AACH,eAAO,MAAM,eAAe,wEAC8C,CAAC;AAE3E;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,GAAE,eAAuC,GAChD,IAAI,CAEN;AAKD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,GAAE,eAAuC,GAChD,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAK9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,eAAe,EACzB,QAAQ,GAAE,eAAuC,GAChD,IAAI,CAGN"}
|
|
@@ -9,11 +9,17 @@ import type { ILogger } from "./ILogger";
|
|
|
9
9
|
*/
|
|
10
10
|
export declare const LOGGER: import("../di").ServiceToken<ILogger>;
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Registers the default logger factory on the given registry if absent.
|
|
13
|
+
* Called by `bootstrapWorkglow` / `createOrchestrationContext`.
|
|
13
14
|
*/
|
|
14
|
-
export declare function
|
|
15
|
+
export declare function registerLoggerDefaults(registry?: import("../di/ServiceRegistry").ServiceRegistry): void;
|
|
15
16
|
/**
|
|
16
|
-
*
|
|
17
|
+
* Returns the logger from the given registry (defaults to global).
|
|
18
|
+
* If no logger is registered yet, a NullLogger is returned via the default factory.
|
|
17
19
|
*/
|
|
18
|
-
export declare function
|
|
20
|
+
export declare function getLogger(registry?: import("../di/ServiceRegistry").ServiceRegistry): ILogger;
|
|
21
|
+
/**
|
|
22
|
+
* Replaces the logger instance on the given registry (defaults to global).
|
|
23
|
+
*/
|
|
24
|
+
export declare function setLogger(logger: ILogger, registry?: import("../di/ServiceRegistry").ServiceRegistry): void;
|
|
19
25
|
//# sourceMappingURL=LoggerRegistry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoggerRegistry.d.ts","sourceRoot":"","sources":["../../src/logging/LoggerRegistry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC;;GAEG;AACH,eAAO,MAAM,MAAM,uCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"LoggerRegistry.d.ts","sourceRoot":"","sources":["../../src/logging/LoggerRegistry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC;;GAEG;AACH,eAAO,MAAM,MAAM,uCAAwC,CAAC;AA+B5D;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,GAAE,OAAO,uBAAuB,EAAE,eAAuC,GAChF,IAAI,CAEN;AAKD;;;GAGG;AACH,wBAAgB,SAAS,CACvB,QAAQ,GAAE,OAAO,uBAAuB,EAAE,eAAuC,GAChF,OAAO,CAKT;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,OAAO,EACf,QAAQ,GAAE,OAAO,uBAAuB,EAAE,eAAuC,GAChF,IAAI,CAEN"}
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import type { ServiceRegistry } from "../di/ServiceRegistry";
|
|
2
|
+
/**
|
|
3
|
+
* Registers the "image" input resolver on the given registry.
|
|
4
|
+
* Called by `bootstrapWorkglow` and `createOrchestrationContext`.
|
|
5
|
+
*/
|
|
6
|
+
export declare function registerImageDefaults(registry?: ServiceRegistry): void;
|
|
2
7
|
//# sourceMappingURL=imageHydrationResolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imageHydrationResolver.d.ts","sourceRoot":"","sources":["../../src/media/imageHydrationResolver.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"imageHydrationResolver.d.ts","sourceRoot":"","sources":["../../src/media/imageHydrationResolver.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAwB7D;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,GAAE,eAAuC,GAAG,IAAI,CAE7F"}
|
package/dist/media-browser.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import "./media/imageCacheCodec";
|
|
7
7
|
import "./media/imageHydrationResolver";
|
|
8
|
+
export { registerImageDefaults } from "./media/imageHydrationResolver";
|
|
8
9
|
import type { EncodeRawPixelsOptions } from "./media/sharpImage.server";
|
|
9
10
|
export * from "./media/color";
|
|
10
11
|
export { CpuImage } from "./media/cpuImage";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-browser.d.ts","sourceRoot":"","sources":["../src/media-browser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,yBAAyB,CAAC;AACjC,OAAO,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"media-browser.d.ts","sourceRoot":"","sources":["../src/media-browser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,yBAAyB,CAAC;AACjC,OAAO,gCAAgC,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAGxE,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EACL,4BAA4B,EAC5B,WAAW,EACX,WAAW,EACX,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EACL,kBAAkB,EAClB,QAAQ,IAAI,eAAe,EAC3B,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,QAAQ,EACR,eAAe,EACf,oBAAoB,EACpB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,cAAc,kCAAkC,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,cAAc,GACf,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,wBAAwB,GACzB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,YAAY,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAM/D,wBAAsB,oBAAoB,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAE/D;AACD,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAE5D;AACD,wBAAsB,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,CAE5F"}
|
package/dist/media-browser.js
CHANGED
|
@@ -518,12 +518,18 @@ var globalServiceRegistry = new ServiceRegistry(globalContainer);
|
|
|
518
518
|
|
|
519
519
|
// src/di/InputResolverRegistry.ts
|
|
520
520
|
var INPUT_RESOLVERS = createServiceToken("task.input.resolvers");
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
return globalServiceRegistry.get(INPUT_RESOLVERS);
|
|
521
|
+
function registerInputResolverDefaults(registry = globalServiceRegistry) {
|
|
522
|
+
registry.registerIfAbsent(INPUT_RESOLVERS, () => new Map, true);
|
|
524
523
|
}
|
|
525
|
-
|
|
526
|
-
|
|
524
|
+
registerInputResolverDefaults();
|
|
525
|
+
function getInputResolvers(registry = globalServiceRegistry) {
|
|
526
|
+
if (!registry.has(INPUT_RESOLVERS)) {
|
|
527
|
+
registerInputResolverDefaults(registry);
|
|
528
|
+
}
|
|
529
|
+
return registry.get(INPUT_RESOLVERS);
|
|
530
|
+
}
|
|
531
|
+
function registerInputResolver(formatPrefix, resolver, registry = globalServiceRegistry) {
|
|
532
|
+
const resolvers = getInputResolvers(registry);
|
|
527
533
|
resolvers.set(formatPrefix, resolver);
|
|
528
534
|
}
|
|
529
535
|
|
|
@@ -538,8 +544,10 @@ async function resolveImage(id, _format, _registry) {
|
|
|
538
544
|
}
|
|
539
545
|
return id;
|
|
540
546
|
}
|
|
541
|
-
|
|
542
|
-
|
|
547
|
+
function registerImageDefaults(registry = globalServiceRegistry) {
|
|
548
|
+
registerInputResolver("image", resolveImage, registry);
|
|
549
|
+
}
|
|
550
|
+
registerImageDefaults();
|
|
543
551
|
// src/media/texturePool.browser.ts
|
|
544
552
|
var DEFAULT_CAPACITY_PER_SIZE = 8;
|
|
545
553
|
var TEXTURE_USAGE = 4 | 16 | 1 | 2;
|
|
@@ -1060,6 +1068,7 @@ export {
|
|
|
1060
1068
|
resetGpuDeviceForTests,
|
|
1061
1069
|
registerPreviewResizeFn,
|
|
1062
1070
|
registerImageRasterCodec,
|
|
1071
|
+
registerImageDefaults,
|
|
1063
1072
|
registerGpuImageFactory,
|
|
1064
1073
|
registerFilterOp,
|
|
1065
1074
|
rawPixelBufferToDataUri,
|
|
@@ -1098,4 +1107,4 @@ export {
|
|
|
1098
1107
|
CpuImage
|
|
1099
1108
|
};
|
|
1100
1109
|
|
|
1101
|
-
//# debugId=
|
|
1110
|
+
//# debugId=07C0E8D36A5124C264756E2164756E21
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
"/**\n * @copyright\n * Copyright 2026 Steven Roussey\n * All Rights Reserved\n */\nimport { registerPortCodec } from \"@workglow/util\";\nimport type { BrowserImageValue, ImageValue, NodeImageFormat } from \"./imageValue\";\nimport { imageValueFromBuffer, isBrowserImageValue, isNodeImageValue } from \"./imageValue\";\n\n/**\n * Cache codec for `format: \"image\"` ports.\n *\n * Produces a JSON-safe wire form so persistent caches (e.g. `TaskOutputTabularRepository`,\n * which stringifies before writing to disk) can round-trip image outputs. The wire form\n * carries encoded bytes plus dimensions and `previewScale`; the decoded shape is the\n * platform-native `ImageValue` (browser → `BrowserImageValue`, node/bun → `NodeImageValue`).\n *\n * Cross-platform read is supported: a node-written cache entry decodes to a\n * `BrowserImageValue` when read in the browser (via `createImageBitmap`), and vice versa.\n */\nexport interface ImageValueWire {\n readonly __imageValueWire: 1;\n readonly format: NodeImageFormat;\n readonly base64: string;\n readonly width: number;\n readonly height: number;\n readonly previewScale: number;\n}\n\nfunction isImageValueWire(v: unknown): v is ImageValueWire {\n if (v === null || typeof v !== \"object\") return false;\n const o = v as Record<string, unknown>;\n return (\n o.__imageValueWire === 1 &&\n typeof o.base64 === \"string\" &&\n (o.format === \"png\" || o.format === \"jpeg\" || o.format === \"raw-rgba\") &&\n typeof o.width === \"number\" &&\n typeof o.height === \"number\" &&\n typeof o.previewScale === \"number\"\n );\n}\n\nfunction bytesToBase64(bytes: Uint8Array): string {\n if (typeof Buffer !== \"undefined\") {\n return Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength).toString(\"base64\");\n }\n let bin = \"\";\n for (let i = 0; i < bytes.length; i++) bin += String.fromCharCode(bytes[i] ?? 0);\n return btoa(bin);\n}\n\nfunction base64ToBytes(b64: string): Uint8Array {\n if (typeof Buffer !== \"undefined\") {\n const buf = Buffer.from(b64, \"base64\");\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);\n }\n const bin = atob(b64);\n const out = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; i++) out[i] = bin.charCodeAt(i);\n return out;\n}\n\nasync function browserToPngBase64(value: BrowserImageValue): Promise<string> {\n if (typeof OffscreenCanvas === \"undefined\") {\n throw new Error(\"imageCacheCodec.serialize: BrowserImageValue requires OffscreenCanvas\");\n }\n const off = new OffscreenCanvas(value.width, value.height);\n const ctx = off.getContext(\"2d\");\n if (!ctx) throw new Error(\"imageCacheCodec.serialize: could not acquire 2D context\");\n ctx.drawImage(value.bitmap, 0, 0);\n const blob = await off.convertToBlob({ type: \"image/png\" });\n const bytes = new Uint8Array(await blob.arrayBuffer());\n return bytesToBase64(bytes);\n}\n\nasync function wireToBrowserImageValue(wire: ImageValueWire): Promise<BrowserImageValue> {\n if (typeof createImageBitmap !== \"function\") {\n throw new Error(\"imageCacheCodec.deserialize: browser path requires createImageBitmap\");\n }\n const bytes = base64ToBytes(wire.base64);\n if (wire.format === \"raw-rgba\") {\n if (typeof ImageData === \"undefined\") {\n throw new Error(\"imageCacheCodec.deserialize: raw-rgba decode requires ImageData\");\n }\n // The DOM `ImageData` constructor wants `Uint8ClampedArray<ArrayBuffer>`\n // but `bytes.buffer` widens to `ArrayBufferLike`. Cast through unknown:\n // we just produced these bytes via base64 decode, so they're not a\n // SharedArrayBuffer at runtime.\n const data = new Uint8ClampedArray(\n bytes.buffer,\n bytes.byteOffset,\n bytes.byteLength\n ) as unknown as Uint8ClampedArray<ArrayBuffer>;\n const imageData = new ImageData(data, wire.width, wire.height);\n const bitmap = await createImageBitmap(imageData);\n return { bitmap, width: wire.width, height: wire.height, previewScale: wire.previewScale };\n }\n const mime = wire.format === \"jpeg\" ? \"image/jpeg\" : \"image/png\";\n const blob = new Blob([bytes.buffer as ArrayBuffer], { type: mime });\n const bitmap = await createImageBitmap(blob);\n return { bitmap, width: wire.width, height: wire.height, previewScale: wire.previewScale };\n}\n\n/**\n * The codec is registered for the `image` format prefix, so it also receives\n * sub-formats like `image:data-uri` (used by `FileLoaderTask` to emit base64\n * data URLs). Strings are already JSON-safe, so they pass through both\n * directions unchanged. The wire form is only used for live `ImageValue`\n * inputs that need to survive `JSON.stringify`.\n */\nregisterPortCodec<ImageValue | string, ImageValueWire | string>(\"image\", {\n async serialize(value): Promise<ImageValueWire | string> {\n if (typeof value === \"string\") return value;\n if (isNodeImageValue(value)) {\n return {\n __imageValueWire: 1,\n format: value.format,\n base64: value.buffer.toString(\"base64\"),\n width: value.width,\n height: value.height,\n previewScale: value.previewScale,\n };\n }\n if (isBrowserImageValue(value)) {\n const base64 = await browserToPngBase64(value);\n return {\n __imageValueWire: 1,\n format: \"png\",\n base64,\n width: value.width,\n height: value.height,\n previewScale: value.previewScale,\n };\n }\n throw new Error(\"imageCacheCodec.serialize: value is not an ImageValue or string\");\n },\n\n async deserialize(wire): Promise<ImageValue | string> {\n if (typeof wire === \"string\") return wire;\n if (!isImageValueWire(wire)) {\n throw new Error(\"imageCacheCodec.deserialize: input is not an ImageValueWire or string\");\n }\n if (typeof Buffer !== \"undefined\") {\n return imageValueFromBuffer(\n Buffer.from(wire.base64, \"base64\"),\n wire.format,\n wire.width,\n wire.height,\n wire.previewScale\n );\n }\n return wireToBrowserImageValue(wire);\n },\n});\n",
|
|
11
11
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * Simple dependency injection container for managing service instances and dependencies\n */\nexport class Container {\n private services: Map<string, any> = new Map();\n private factories: Map<string, () => any> = new Map();\n private singletons: Set<string> = new Set();\n private resolving: string[] = [];\n\n /**\n * Register a service factory\n * @param token The identifier token for the service\n * @param factory A factory function that creates the service\n * @param singleton Whether the service should be a singleton (created once)\n */\n register<T>(token: string, factory: () => T, singleton = true): void {\n this.factories.set(token, factory);\n if (singleton) {\n this.singletons.add(token);\n }\n }\n\n /**\n * Register a service factory only if the token is not already registered.\n * This is an atomic check-and-register to avoid TOCTOU races.\n * @param token The identifier token for the service\n * @param factory A factory function that creates the service\n * @param singleton Whether the service should be a singleton (created once)\n */\n registerIfAbsent<T>(token: string, factory: () => T, singleton = true): void {\n if (this.factories.has(token) || this.services.has(token)) {\n return;\n }\n this.register(token, factory, singleton);\n }\n\n /**\n * Register an instance as a service\n * @param token The identifier token for the service\n * @param instance The instance to register\n */\n registerInstance<T>(token: string, instance: T): void {\n this.services.set(token, instance);\n this.singletons.add(token);\n }\n\n /**\n * Get a service by its token\n * @param token The identifier token for the service\n * @returns The service instance\n */\n get<T>(token: string): T {\n if (this.services.has(token)) {\n return this.services.get(token) as T;\n }\n\n const factory = this.factories.get(token);\n if (!factory) {\n throw new Error(`Service not registered: ${String(token)}`);\n }\n\n if (this.resolving.includes(token)) {\n const cycle = [...this.resolving.slice(this.resolving.indexOf(token)), token];\n throw new Error(`Circular dependency detected: ${cycle.join(\" -> \")}`);\n }\n\n this.resolving.push(token);\n try {\n const instance = factory();\n\n if (this.singletons.has(token)) {\n this.services.set(token, instance);\n }\n\n return instance as T;\n } finally {\n this.resolving.pop();\n }\n }\n\n /**\n * Check if a service is registered\n * @param token The identifier token for the service\n * @returns True if the service is registered\n */\n has(token: string): boolean {\n return this.services.has(token) || this.factories.has(token);\n }\n\n /**\n * Remove a service registration\n * @param token The identifier token for the service\n */\n remove(token: string): void {\n this.services.delete(token);\n this.factories.delete(token);\n this.singletons.delete(token);\n }\n\n /**\n * Dispose all instantiated singleton services and clear registrations.\n * Services implementing dispose(), Symbol.asyncDispose, or Symbol.dispose will be cleaned up.\n */\n async dispose(): Promise<void> {\n const errors: unknown[] = [];\n try {\n for (const service of this.services.values()) {\n if (service == null) continue;\n try {\n if (typeof service[Symbol.asyncDispose] === \"function\") {\n await service[Symbol.asyncDispose]();\n } else if (typeof service[Symbol.dispose] === \"function\") {\n service[Symbol.dispose]();\n } else if (typeof service.dispose === \"function\") {\n await service.dispose();\n }\n } catch (err) {\n errors.push(err);\n }\n }\n } finally {\n this.services.clear();\n this.factories.clear();\n this.singletons.clear();\n }\n if (errors.length > 0) {\n throw new AggregateError(errors, \"One or more services failed to dispose\");\n }\n }\n\n async [Symbol.asyncDispose](): Promise<void> {\n await this.dispose();\n }\n\n /**\n * Create a child container that inherits registrations from the parent\n * @returns A new child container\n */\n createChildContainer(): Container {\n const child = new Container();\n\n // Copy all registrations to the child\n this.factories.forEach((factory, token) => {\n child.factories.set(token, factory);\n if (this.singletons.has(token)) {\n child.singletons.add(token);\n }\n });\n\n // Copy all singleton instances to the child\n this.services.forEach((service, token) => {\n if (this.singletons.has(token)) {\n child.services.set(token, service);\n child.singletons.add(token);\n }\n });\n\n return child;\n }\n}\n\n/**\n * Global container instance — shared across all bundle copies of this module\n * via a Symbol.for key so that split entry points (e.g. @workglow/util/media)\n * resolve to the same DI registry as @workglow/util.\n */\nconst GLOBAL_CONTAINER_KEY = Symbol.for(\"@workglow/util/di/globalContainer\");\nconst _g = globalThis as Record<symbol, unknown>;\nif (!_g[GLOBAL_CONTAINER_KEY]) {\n _g[GLOBAL_CONTAINER_KEY] = new Container();\n}\nexport const globalContainer = _g[GLOBAL_CONTAINER_KEY] as Container;\n",
|
|
12
12
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Container, globalContainer } from \"./Container\";\n\n/**\n * Service token type for type-safe dependency injection\n */\nexport interface ServiceToken<T> {\n readonly _type: T;\n readonly id: string;\n}\n\n/**\n * Create a typed service token\n * @param id Unique identifier for the service\n * @returns A typed service token\n */\nexport function createServiceToken<T>(id: string): ServiceToken<T> {\n return { id, _type: null as any };\n}\n\n/**\n * Service registry for managing and accessing services\n */\nexport class ServiceRegistry {\n public container: Container;\n\n /**\n * Create a new service registry\n * @param container Optional container to use (defaults to global container)\n */\n constructor(container: Container = globalContainer) {\n this.container = container;\n }\n\n /**\n * Register a service factory\n * @param token Service token\n * @param factory Factory function to create the service\n * @param singleton Whether the service should be a singleton\n */\n register<T>(token: ServiceToken<T>, factory: () => T, singleton = true): void {\n this.container.register(token.id, factory, singleton);\n }\n\n /**\n * Register a service factory only if the token is not already registered.\n * @param token Service token\n * @param factory Factory function to create the service\n * @param singleton Whether the service should be a singleton\n */\n registerIfAbsent<T>(token: ServiceToken<T>, factory: () => T, singleton = true): void {\n this.container.registerIfAbsent(token.id, factory, singleton);\n }\n\n /**\n * Register a service instance\n * @param token Service token\n * @param instance Service instance to register\n */\n registerInstance<T>(token: ServiceToken<T>, instance: T): void {\n this.container.registerInstance(token.id, instance);\n }\n\n /**\n * Get a service by its token\n * @param token Service token\n * @returns The service instance\n */\n get<T>(token: ServiceToken<T>): T {\n return this.container.get<T>(token.id);\n }\n\n /**\n * Check if a service is registered\n * @param token Service token\n * @returns True if the service is registered\n */\n has<T>(token: ServiceToken<T>): boolean {\n return this.container.has(token.id);\n }\n\n /**\n * Dispose all instantiated services and clear registrations.\n */\n async dispose(): Promise<void> {\n await this.container.dispose();\n }\n}\n\n/**\n * Global service registry instance\n */\nexport const globalServiceRegistry = new ServiceRegistry(globalContainer);\n",
|
|
13
|
-
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { ServiceRegistry } from \"./ServiceRegistry\";\nimport { createServiceToken, globalServiceRegistry } from \"./ServiceRegistry\";\n\n/**\n * A resolver function that converts a string ID to an instance.\n * Returns undefined if the resolver cannot handle this format.\n * Throws an error if the ID is not found.\n *\n * @param id The string ID to resolve\n * @param format The full format string (e.g., \"model:TextEmbedding\", \"storage:tabular\")\n * @param registry The service registry to use for lookups\n */\nexport type InputResolverFn = (\n id: string,\n format: string,\n registry: ServiceRegistry\n) => unknown | Promise<unknown>;\n\n/**\n * Service token for the input resolver registry.\n * Maps format prefixes to resolver functions.\n */\nexport const INPUT_RESOLVERS =\n createServiceToken<Map<string, InputResolverFn>>(\"task.input.resolvers\");\n\n
|
|
14
|
-
"/**\n * @copyright\n * Copyright 2026 Steven Roussey\n * All Rights Reserved\n */\nimport { registerInputResolver } from \"../di/InputResolverRegistry\";\nimport { normalizeToImageValue } from \"./imageValue\";\nimport type { ServiceRegistry } from \"../di/ServiceRegistry\";\n\n/**\n * Resolver for `format: \"image\"` ports. Accepts the cross-boundary wire\n * forms and normalizes to `ImageValue`. Non-string non-recognized shapes\n * pass through (consumers normalize at their boundary).\n */\nasync function resolveImage(\n id: unknown,\n _format: string,\n _registry: ServiceRegistry\n): Promise<unknown> {\n const normalized = await normalizeToImageValue(id);\n if (normalized !== undefined) return normalized;\n if (typeof id === \"string\") {\n const preview = id.length > 32 ? `${id.slice(0, 32)}...` : id;\n throw new Error(\n `format:\"image\" resolver received an unsupported string \"${preview}\". ` +\n `Only data: URIs are handled. Register a sub-resolver for other schemes.`\n );\n }\n return id;\n}\n\
|
|
13
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { ServiceRegistry } from \"./ServiceRegistry\";\nimport { createServiceToken, globalServiceRegistry } from \"./ServiceRegistry\";\n\n/**\n * A resolver function that converts a string ID to an instance.\n * Returns undefined if the resolver cannot handle this format.\n * Throws an error if the ID is not found.\n *\n * @param id The string ID to resolve\n * @param format The full format string (e.g., \"model:TextEmbedding\", \"storage:tabular\")\n * @param registry The service registry to use for lookups\n */\nexport type InputResolverFn = (\n id: string,\n format: string,\n registry: ServiceRegistry\n) => unknown | Promise<unknown>;\n\n/**\n * Service token for the input resolver registry.\n * Maps format prefixes to resolver functions.\n */\nexport const INPUT_RESOLVERS =\n createServiceToken<Map<string, InputResolverFn>>(\"task.input.resolvers\");\n\n/**\n * Registers an empty resolver map on the given registry if absent.\n * Called as part of `bootstrapWorkglow` / `createOrchestrationContext`.\n */\nexport function registerInputResolverDefaults(\n registry: ServiceRegistry = globalServiceRegistry\n): void {\n registry.registerIfAbsent(INPUT_RESOLVERS, (): Map<string, InputResolverFn> => new Map(), true);\n}\n\n// Self-register on the global registry. Idempotent.\nregisterInputResolverDefaults();\n\n/**\n * Gets the input resolver registry from the given registry (defaults to global).\n */\nexport function getInputResolvers(\n registry: ServiceRegistry = globalServiceRegistry\n): Map<string, InputResolverFn> {\n if (!registry.has(INPUT_RESOLVERS)) {\n registerInputResolverDefaults(registry);\n }\n return registry.get(INPUT_RESOLVERS);\n}\n\n/**\n * Registers an input resolver for a format prefix.\n * The resolver will be called for any format that starts with this prefix.\n *\n * @param formatPrefix The format prefix to match (e.g., \"model\", \"dataset\")\n * @param resolver The resolver function\n *\n * @example\n * ```typescript\n * // Register model resolver\n * registerInputResolver(\"model\", async (id, format, registry) => {\n * const modelRepo = registry.get(MODEL_REPOSITORY);\n * const model = await modelRepo.findByName(id);\n * if (!model) throw new Error(`Model \"${id}\" not found`);\n * return model;\n * });\n *\n * // Register dataset resolver\n * registerInputResolver(\"dataset\", (id, format, registry) => {\n * const datasetType = format.split(\":\")[1]; // \"tabular\", \"vector\", etc.\n * if (datasetType === \"tabular\") {\n * const datasets = registry.get(TABULAR_DATASETS);\n * const dataset = datasets.get(id);\n * if (!dataset) throw new Error(`Dataset \"${id}\" not found`);\n * return dataset;\n * }\n * throw new Error(`Unknown dataset type: ${datasetType}`);\n * });\n * ```\n */\nexport function registerInputResolver(\n formatPrefix: string,\n resolver: InputResolverFn,\n registry: ServiceRegistry = globalServiceRegistry\n): void {\n const resolvers = getInputResolvers(registry);\n resolvers.set(formatPrefix, resolver);\n}\n",
|
|
14
|
+
"/**\n * @copyright\n * Copyright 2026 Steven Roussey\n * All Rights Reserved\n */\nimport { registerInputResolver } from \"../di/InputResolverRegistry\";\nimport { globalServiceRegistry } from \"../di/ServiceRegistry\";\nimport { normalizeToImageValue } from \"./imageValue\";\nimport type { ServiceRegistry } from \"../di/ServiceRegistry\";\n\n/**\n * Resolver for `format: \"image\"` ports. Accepts the cross-boundary wire\n * forms and normalizes to `ImageValue`. Non-string non-recognized shapes\n * pass through (consumers normalize at their boundary).\n */\nasync function resolveImage(\n id: unknown,\n _format: string,\n _registry: ServiceRegistry\n): Promise<unknown> {\n const normalized = await normalizeToImageValue(id);\n if (normalized !== undefined) return normalized;\n if (typeof id === \"string\") {\n const preview = id.length > 32 ? `${id.slice(0, 32)}...` : id;\n throw new Error(\n `format:\"image\" resolver received an unsupported string \"${preview}\". ` +\n `Only data: URIs are handled. Register a sub-resolver for other schemes.`\n );\n }\n return id;\n}\n\n/**\n * Registers the \"image\" input resolver on the given registry.\n * Called by `bootstrapWorkglow` and `createOrchestrationContext`.\n */\nexport function registerImageDefaults(registry: ServiceRegistry = globalServiceRegistry): void {\n registerInputResolver(\"image\", resolveImage, registry);\n}\n\n// Self-register on the global registry. Idempotent.\nregisterImageDefaults();\n",
|
|
15
15
|
"/**\n * @copyright\n * Copyright 2026 Steven Roussey\n * All Rights Reserved\n */\n\nexport interface TexturePoolOptions {\n capacityPerSize?: number;\n}\n\nexport interface TexturePool {\n acquire(width: number, height: number, format: GPUTextureFormat): GPUTexture;\n release(texture: GPUTexture): void;\n drain(): void;\n}\n\ninterface PooledTexture {\n texture: GPUTexture;\n width: number;\n height: number;\n format: GPUTextureFormat;\n inPool: boolean;\n}\n\nconst DEFAULT_CAPACITY_PER_SIZE = 8;\nconst TEXTURE_USAGE = 0x04 | 0x10 | 0x01 | 0x02; // TEXTURE_BINDING | RENDER_ATTACHMENT | COPY_SRC | COPY_DST\n\nexport function createTexturePool(device: GPUDevice, opts: TexturePoolOptions = {}): TexturePool {\n const capacity = opts.capacityPerSize ?? DEFAULT_CAPACITY_PER_SIZE;\n const buckets = new Map<string, PooledTexture[]>();\n const owners = new WeakMap<GPUTexture, PooledTexture>();\n\n const sizeClassKey = (w: number, h: number, f: GPUTextureFormat) => `${w}x${h}:${f}`;\n\n return {\n acquire(width, height, format) {\n const k = sizeClassKey(width, height, format);\n const bucket = buckets.get(k);\n if (bucket && bucket.length > 0) {\n const reused = bucket.pop()!;\n reused.inPool = false;\n return reused.texture;\n }\n const texture = device.createTexture({\n size: [width, height, 1],\n format,\n usage: TEXTURE_USAGE,\n });\n const entry: PooledTexture = { texture, width, height, format, inPool: false };\n owners.set(texture, entry);\n return texture;\n },\n\n release(texture) {\n const entry = owners.get(texture);\n if (!entry) return;\n if (entry.inPool) return;\n const k = sizeClassKey(entry.width, entry.height, entry.format);\n let bucket = buckets.get(k);\n if (!bucket) {\n bucket = [];\n buckets.set(k, bucket);\n }\n if (bucket.length >= capacity) {\n owners.delete(texture);\n texture.destroy();\n return;\n }\n entry.inPool = true;\n bucket.push(entry);\n },\n\n drain() {\n for (const bucket of buckets.values()) {\n for (const entry of bucket) {\n owners.delete(entry.texture);\n entry.texture.destroy();\n }\n }\n buckets.clear();\n },\n };\n}\n\nlet singleton: { device: GPUDevice; pool: TexturePool } | null = null;\n\nexport function getTexturePool(device: GPUDevice): TexturePool {\n if (!singleton || singleton.device !== device) {\n singleton?.pool.drain();\n singleton = { device, pool: createTexturePool(device) };\n }\n return singleton.pool;\n}\n\nexport function resetTexturePoolForTests(): void {\n singleton?.pool.drain();\n singleton = null;\n}\n",
|
|
16
16
|
"/**\n * @copyright\n * Copyright 2026 Steven Roussey\n * All Rights Reserved\n */\n\nexport const VERTEX_PRELUDE = `\n@group(0) @binding(0) var src: texture_2d<f32>;\n@group(0) @binding(1) var src_sampler: sampler;\n\nstruct VsOut {\n @builtin(position) pos: vec4f,\n @location(0) uv: vec2f,\n};\n\n@vertex\nfn vs(@builtin(vertex_index) vid: u32) -> VsOut {\n let xy = vec2f(f32((vid << 1u) & 2u), f32(vid & 2u));\n var out: VsOut;\n out.pos = vec4f(xy * 2.0 - 1.0, 0.0, 1.0);\n out.uv = vec2f(xy.x, 1.0 - xy.y);\n return out;\n}`;\n\n// Used by WebGpuImage.toCanvas to blit a texture to the swap-chain image.\nexport const PASSTHROUGH_SHADER_SRC = `${VERTEX_PRELUDE}\n@fragment\nfn fs(in: VsOut) -> @location(0) vec4f {\n return textureSample(src, src_sampler, in.uv);\n}\n`;\n\nexport interface ShaderCache {\n get(source: string): GPUShaderModule;\n}\n\nexport function createShaderCache(device: GPUDevice): ShaderCache {\n const map = new Map<string, GPUShaderModule>();\n return {\n get(source) {\n let mod = map.get(source);\n if (!mod) {\n mod = device.createShaderModule({ code: source });\n map.set(source, mod);\n }\n return mod;\n },\n };\n}\n\nlet singleton: { device: GPUDevice; cache: ShaderCache } | null = null;\n\nexport function getShaderCache(device: GPUDevice): ShaderCache {\n if (!singleton || singleton.device !== device) {\n singleton = { device, cache: createShaderCache(device) };\n }\n return singleton.cache;\n}\n",
|
|
17
17
|
"/**\n * @copyright\n * Copyright 2026 Steven Roussey\n * All Rights Reserved\n */\nimport type { ImageChannels } from \"./imageTypes\";\nimport type { GpuImage as IGpuImage, GpuImageEncodeFormat } from \"./gpuImage\";\nimport { registerGpuImageFactory } from \"./gpuImage\";\nimport type { ImageValue } from \"./imageValue\";\nimport { imageValueFromBitmap, isBrowserImageValue, isNodeImageValue } from \"./imageValue\";\nimport { getGpuDevice } from \"./gpuDevice.browser\";\nimport { getTexturePool } from \"./texturePool.browser\";\nimport { getShaderCache, PASSTHROUGH_SHADER_SRC } from \"./shaderRegistry.browser\";\n\nconst TEX_FORMAT: GPUTextureFormat = \"rgba8unorm\";\n\nexport interface ApplyParams {\n shader: string;\n uniforms: ArrayBuffer | undefined;\n outSize?: { width: number; height: number };\n}\n\nexport class WebGpuImage implements IGpuImage {\n readonly backend = \"webgpu\" as const;\n readonly channels: ImageChannels = 4;\n\n private constructor(\n private device: GPUDevice,\n private texture: GPUTexture | null,\n readonly width: number,\n readonly height: number\n ) {}\n\n static async from(value: ImageValue): Promise<WebGpuImage> {\n const dev = await getGpuDevice();\n if (!dev) throw new Error(\"WebGpuImage.from: WebGPU device unavailable\");\n if (isNodeImageValue(value)) {\n throw new Error(\"WebGpuImage.from: NodeImageValue not supported in browser runtime\");\n }\n if (!isBrowserImageValue(value)) {\n throw new Error(\"WebGpuImage.from: unrecognized ImageValue shape\");\n }\n // Now we know value is BrowserImageValue.\n const tex = getTexturePool(dev).acquire(value.width, value.height, TEX_FORMAT);\n dev.queue.copyExternalImageToTexture({ source: value.bitmap }, { texture: tex }, [\n value.width,\n value.height,\n 1,\n ]);\n return new WebGpuImage(dev, tex, value.width, value.height);\n }\n\n apply(params: ApplyParams): WebGpuImage {\n if (!this.texture) throw new Error(\"WebGpuImage.apply called on a disposed image\");\n const outW = params.outSize?.width ?? this.width;\n const outH = params.outSize?.height ?? this.height;\n const out = getTexturePool(this.device).acquire(outW, outH, TEX_FORMAT);\n const shaderModule = getShaderCache(this.device).get(params.shader);\n const pipeline = this.device.createRenderPipeline({\n layout: \"auto\",\n vertex: { module: shaderModule, entryPoint: \"vs\" },\n fragment: { module: shaderModule, entryPoint: \"fs\", targets: [{ format: TEX_FORMAT }] },\n primitive: { topology: \"triangle-list\" },\n });\n const sampler = this.device.createSampler({ magFilter: \"linear\", minFilter: \"linear\" });\n const bindEntries: GPUBindGroupEntry[] = [\n { binding: 0, resource: this.texture.createView() },\n { binding: 1, resource: sampler },\n ];\n if (params.uniforms) {\n const ubo = this.device.createBuffer({\n size: params.uniforms.byteLength,\n usage: 0x40 | 0x08,\n });\n this.device.queue.writeBuffer(ubo, 0, params.uniforms);\n bindEntries.push({ binding: 2, resource: { buffer: ubo } });\n }\n const bindGroup = this.device.createBindGroup({\n layout: pipeline.getBindGroupLayout(0),\n entries: bindEntries,\n });\n const enc = this.device.createCommandEncoder();\n const pass = enc.beginRenderPass({\n colorAttachments: [\n {\n view: out.createView(),\n loadOp: \"clear\",\n storeOp: \"store\",\n clearValue: [0, 0, 0, 0],\n },\n ],\n });\n pass.setPipeline(pipeline);\n pass.setBindGroup(0, bindGroup);\n pass.draw(3);\n pass.end();\n this.device.queue.submit([enc.finish()]);\n return new WebGpuImage(this.device, out, outW, outH);\n }\n\n /** Synchronous transfer to ImageBitmap via OffscreenCanvas. The transfer\n * drains the texture; this image is disposed afterward. */\n async transferToImageBitmap(): Promise<ImageBitmap> {\n if (!this.texture) throw new Error(\"WebGpuImage.transferToImageBitmap on a disposed image\");\n if (typeof OffscreenCanvas === \"undefined\") {\n throw new Error(\"WebGpuImage.transferToImageBitmap requires OffscreenCanvas\");\n }\n const off = new OffscreenCanvas(this.width, this.height);\n const ctx = off.getContext(\"webgpu\") as GPUCanvasContext | null;\n if (!ctx) throw new Error(\"WebGpuImage.transferToImageBitmap: no webgpu context\");\n const presentationFormat = (\n navigator.gpu as unknown as { getPreferredCanvasFormat(): GPUTextureFormat }\n ).getPreferredCanvasFormat();\n ctx.configure({ device: this.device, format: presentationFormat, alphaMode: \"premultiplied\" });\n const view = ctx.getCurrentTexture().createView();\n const shaderModule = getShaderCache(this.device).get(PASSTHROUGH_SHADER_SRC);\n const pipeline = this.device.createRenderPipeline({\n layout: \"auto\",\n vertex: { module: shaderModule, entryPoint: \"vs\" },\n fragment: {\n module: shaderModule,\n entryPoint: \"fs\",\n targets: [{ format: presentationFormat }],\n },\n primitive: { topology: \"triangle-list\" },\n });\n const sampler = this.device.createSampler({ magFilter: \"linear\", minFilter: \"linear\" });\n const bindGroup = this.device.createBindGroup({\n layout: pipeline.getBindGroupLayout(0),\n entries: [\n { binding: 0, resource: this.texture.createView() },\n { binding: 1, resource: sampler },\n ],\n });\n const enc = this.device.createCommandEncoder();\n const pass = enc.beginRenderPass({\n colorAttachments: [{ view, loadOp: \"clear\", storeOp: \"store\", clearValue: [0, 0, 0, 0] }],\n });\n pass.setPipeline(pipeline);\n pass.setBindGroup(0, bindGroup);\n pass.draw(3);\n pass.end();\n this.device.queue.submit([enc.finish()]);\n try {\n return await createImageBitmap(off);\n } finally {\n this.dispose();\n }\n }\n\n async toImageValue(previewScale: number): Promise<ImageValue> {\n const bitmap = await this.transferToImageBitmap();\n return imageValueFromBitmap(bitmap, this.width, this.height, previewScale);\n }\n\n /** Encode the image to a compressed format. Single-use: the underlying\n * texture is disposed during encoding (via `transferToImageBitmap`); a\n * second call on the same instance throws. */\n async encode(format: GpuImageEncodeFormat, quality?: number): Promise<Uint8Array> {\n if (!this.texture) throw new Error(\"WebGpuImage.encode on a disposed image\");\n const off = new OffscreenCanvas(this.width, this.height);\n const ctx = off.getContext(\"2d\");\n if (!ctx) throw new Error(\"WebGpuImage.encode could not acquire a 2D context\");\n const bitmap = await this.transferToImageBitmap();\n ctx.drawImage(bitmap, 0, 0);\n const blob = await off.convertToBlob({ type: `image/${format}`, quality });\n return new Uint8Array(await blob.arrayBuffer());\n }\n\n dispose(): void {\n if (!this.texture) return;\n const tex = this.texture;\n this.texture = null;\n try {\n getTexturePool(this.device).release(tex);\n } catch {\n // device lost or pool drained\n }\n }\n}\n\nregisterGpuImageFactory(\"from\", WebGpuImage.from.bind(WebGpuImage));\n",
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
"/**\n * @copyright\n * Copyright 2026 Steven Roussey\n * All Rights Reserved\n */\nimport type { DataPortSchema } from \"../json-schema/DataPortSchema\";\n\n/**\n * Schema annotation for `ImageValue` ports. Multi-type form so the\n * validator accepts the wire forms an `ImageValue` port may receive\n * before hydration: `string` (data: URI), `object` (Blob, ImageBitmap, an\n * ImageValue, or a `Buffer`-like). The `format: \"image\"` annotation drives\n * the input resolver.\n */\nexport function ImageValueSchema(annotations: Record<string, unknown> = {}): DataPortSchema {\n return {\n type: [\"string\", \"object\"],\n properties: {},\n title: \"Image\",\n description: \"Image (hydrated to ImageValue at task entry)\",\n ...annotations,\n format: \"image\",\n } as unknown as DataPortSchema;\n}\n",
|
|
22
22
|
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * Structural match for `RawImage` from `@huggingface/transformers`. The HF\n * class carries helpers (`save`, `toCanvas`, `rgb`, ...) that the provider\n * runtime does not invoke on inputs, so a minimal shim over the four data\n * fields is sufficient. If a consumer later needs HF-specific methods we can\n * widen this shim lazily — no need to pull the transformers dep into\n * `@workglow/util/media` today.\n */\nexport class MediaRawImage {\n readonly data: Uint8ClampedArray;\n readonly width: number;\n readonly height: number;\n readonly channels: number;\n\n constructor(data: Uint8ClampedArray, width: number, height: number, channels: number) {\n this.data = data;\n this.width = width;\n this.height = height;\n this.channels = channels;\n }\n}\n\nexport function isMediaRawImageShape(\n value: unknown\n): value is { data: Uint8ClampedArray; width: number; height: number; channels: number } {\n if (!value || typeof value !== \"object\") return false;\n const v = value as Record<string, unknown>;\n return (\n v.data instanceof Uint8ClampedArray &&\n typeof v.width === \"number\" &&\n typeof v.height === \"number\" &&\n typeof v.channels === \"number\"\n );\n}\n",
|
|
23
23
|
"/**\n * @copyright\n * Copyright 2026 Steven Roussey\n * All Rights Reserved\n */\nimport type { ImageValue } from \"./imageValue\";\n\n// Cross-bundle singleton — Vite/Rolldown can produce multiple bundle copies of\n// this file (one per consumer, browser/node entry, the builder web app, etc.).\n// Without sharing through `globalThis`, `setPreviewBudget` / `registerPreview-\n// ResizeFn` would silently no-op in any bundle that didn't perform the call,\n// because each bundle would hold its own module-private slot. Same pattern as\n// the codec / GpuImage factory registries (see `imageRasterCodecRegistry.ts`\n// and `gpuImage.ts`). The `Symbol.for` keys are stable across realms so every\n// bundle hits the same record.\nconst GLOBAL_RESIZE_KEY = Symbol.for(\"@workglow/util/media/previewResizeFn\");\nconst GLOBAL_BUDGET_KEY = Symbol.for(\"@workglow/util/media/previewBudget\");\nconst _g = globalThis as Record<symbol, unknown>;\n\nexport type PreviewResizeFn = (\n image: ImageValue,\n width: number,\n height: number\n) => Promise<ImageValue>;\n\nconst DEFAULT_BUDGET = 512;\n\nif (typeof _g[GLOBAL_BUDGET_KEY] !== \"number\") {\n _g[GLOBAL_BUDGET_KEY] = DEFAULT_BUDGET;\n}\n\nexport function registerPreviewResizeFn(fn: PreviewResizeFn | undefined): void {\n _g[GLOBAL_RESIZE_KEY] = fn;\n}\n\nfunction getPreviewResizeFn(): PreviewResizeFn | undefined {\n return _g[GLOBAL_RESIZE_KEY] as PreviewResizeFn | undefined;\n}\n\nexport function getPreviewBudget(): number {\n return _g[GLOBAL_BUDGET_KEY] as number;\n}\n\nexport function setPreviewBudget(px: number): void {\n if (!Number.isFinite(px) || px <= 0) {\n throw new Error(`setPreviewBudget: invalid value ${px}; expected a positive finite number`);\n }\n _g[GLOBAL_BUDGET_KEY] = Math.floor(px);\n}\n\n/**\n * Engine-applied chain-head downscale for `runPreview`. Idempotent: when\n * the input is already within budget, returns the input unchanged\n * (referential equality is the no-op signal). When over budget, calls the\n * registered resize fn (typically routed through Sharp on node and an\n * OffscreenCanvas/WebGPU resize on browser) and composes `previewScale`:\n * `out.previewScale = in.previewScale × downscaleRatio`.\n */\nexport async function previewSource(image: ImageValue): Promise<ImageValue> {\n const budget = getPreviewBudget();\n const long = Math.max(image.width, image.height);\n if (long <= budget) return image;\n const ratio = budget / long;\n const resize = getPreviewResizeFn();\n if (!resize) return image;\n const targetW = Math.max(1, Math.round(image.width * ratio));\n const targetH = Math.max(1, Math.round(image.height * ratio));\n const result = await resize(image, targetW, targetH);\n const composedScale = image.previewScale * ratio;\n return {\n ...result,\n previewScale: composedScale,\n } as ImageValue;\n}\n",
|
|
24
|
-
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CpuImage as _CpuImage } from \"./media/cpuImage\";\nimport { getGpuDevice as _getGpuDevice } from \"./media/gpuDevice.browser\";\nimport { registerGpuImageFactory as _registerGpuImageFactory } from \"./media/gpuImage\";\nimport \"./media/imageCacheCodec\";\nimport \"./media/imageHydrationResolver\";\nimport type { ImageValue as _ImageValue } from \"./media/imageValue\";\nimport type { EncodeRawPixelsOptions } from \"./media/sharpImage.server\";\nimport { WebGpuImage as _WebGpuImage } from \"./media/webGpuImage.browser\";\n\nexport * from \"./media/color\";\nexport { CpuImage } from \"./media/cpuImage\";\nexport { rawPixelBufferToBlob, rawPixelBufferToDataUri } from \"./media/encode\";\nexport {\n _resetFilterRegistryForTests,\n applyFilter,\n hasFilterOp,\n registerFilterOp,\n} from \"./media/filterRegistry\";\nexport type { FilterOpFn } from \"./media/filterRegistry\";\nexport { getGpuDevice, resetGpuDeviceForTests } from \"./media/gpuDevice.browser\";\nexport {\n getGpuImageFactory,\n GpuImage as GpuImageFactory,\n registerGpuImageFactory,\n} from \"./media/gpuImage\";\nexport type {\n GpuImage,\n GpuImageBackend,\n GpuImageEncodeFormat,\n GpuImageStatic,\n} from \"./media/gpuImage\";\nexport * from \"./media/imageRasterCodecRegistry\";\nexport type { ImageChannels } from \"./media/imageTypes\";\nexport {\n imageValueFromBitmap,\n imageValueFromBuffer,\n isBrowserImageValue,\n isImageValue,\n isNodeImageValue,\n normalizeToImageValue,\n} from \"./media/imageValue\";\nexport type {\n BrowserImageValue,\n ImageValue,\n ImageValueBase,\n NodeImageFormat,\n NodeImageValue,\n} from \"./media/imageValue\";\nexport { ImageValueSchema } from \"./media/imageValueSchema\";\nexport * from \"./media/MediaRawImage\";\nexport {\n getPreviewBudget,\n previewSource,\n registerPreviewResizeFn,\n setPreviewBudget,\n} from \"./media/previewBudget\";\nexport type { RawPixelBuffer, RgbaPixelBuffer } from \"./media/rawPixelBuffer\";\nexport {\n createShaderCache,\n getShaderCache,\n PASSTHROUGH_SHADER_SRC,\n VERTEX_PRELUDE,\n} from \"./media/shaderRegistry.browser\";\nexport type { ShaderCache } from \"./media/shaderRegistry.browser\";\nexport {\n createTexturePool,\n getTexturePool,\n resetTexturePoolForTests,\n} from \"./media/texturePool.browser\";\nexport type { TexturePool, TexturePoolOptions } from \"./media/texturePool.browser\";\nexport { WebGpuImage } from \"./media/webGpuImage.browser\";\nexport type { ApplyParams } from \"./media/webGpuImage.browser\";\n\n// Throwing stubs for server-only sharp helpers. These exist so cross-platform\n// consumers (e.g. `@workglow/ai-provider/common/imageOutputHelpers`) can\n// statically import the helpers without browser bundlers tripping on missing\n// exports.\nexport async function probeImageDimensions(_: any): Promise<any> {\n throw new Error(\"probeImageDimensions: not available in browser runtime\");\n}\nexport async function decodeBufferToRaw(_: any): Promise<any> {\n throw new Error(\"decodeBufferToRaw: not available in browser runtime\");\n}\nexport async function encodeRawPixels(_: any, _options: EncodeRawPixelsOptions): Promise<any> {\n throw new Error(\"encodeRawPixels: not available in browser runtime\");\n}\n\nasync function _preferGpu(value: _ImageValue) {\n const dev = await _getGpuDevice();\n return dev ? _WebGpuImage.from(value) : _CpuImage.from(value);\n}\n\n_registerGpuImageFactory(\"from\", _preferGpu);\n"
|
|
24
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CpuImage as _CpuImage } from \"./media/cpuImage\";\nimport { getGpuDevice as _getGpuDevice } from \"./media/gpuDevice.browser\";\nimport { registerGpuImageFactory as _registerGpuImageFactory } from \"./media/gpuImage\";\nimport \"./media/imageCacheCodec\";\nimport \"./media/imageHydrationResolver\";\nexport { registerImageDefaults } from \"./media/imageHydrationResolver\";\nimport type { ImageValue as _ImageValue } from \"./media/imageValue\";\nimport type { EncodeRawPixelsOptions } from \"./media/sharpImage.server\";\nimport { WebGpuImage as _WebGpuImage } from \"./media/webGpuImage.browser\";\n\nexport * from \"./media/color\";\nexport { CpuImage } from \"./media/cpuImage\";\nexport { rawPixelBufferToBlob, rawPixelBufferToDataUri } from \"./media/encode\";\nexport {\n _resetFilterRegistryForTests,\n applyFilter,\n hasFilterOp,\n registerFilterOp,\n} from \"./media/filterRegistry\";\nexport type { FilterOpFn } from \"./media/filterRegistry\";\nexport { getGpuDevice, resetGpuDeviceForTests } from \"./media/gpuDevice.browser\";\nexport {\n getGpuImageFactory,\n GpuImage as GpuImageFactory,\n registerGpuImageFactory,\n} from \"./media/gpuImage\";\nexport type {\n GpuImage,\n GpuImageBackend,\n GpuImageEncodeFormat,\n GpuImageStatic,\n} from \"./media/gpuImage\";\nexport * from \"./media/imageRasterCodecRegistry\";\nexport type { ImageChannels } from \"./media/imageTypes\";\nexport {\n imageValueFromBitmap,\n imageValueFromBuffer,\n isBrowserImageValue,\n isImageValue,\n isNodeImageValue,\n normalizeToImageValue,\n} from \"./media/imageValue\";\nexport type {\n BrowserImageValue,\n ImageValue,\n ImageValueBase,\n NodeImageFormat,\n NodeImageValue,\n} from \"./media/imageValue\";\nexport { ImageValueSchema } from \"./media/imageValueSchema\";\nexport * from \"./media/MediaRawImage\";\nexport {\n getPreviewBudget,\n previewSource,\n registerPreviewResizeFn,\n setPreviewBudget,\n} from \"./media/previewBudget\";\nexport type { RawPixelBuffer, RgbaPixelBuffer } from \"./media/rawPixelBuffer\";\nexport {\n createShaderCache,\n getShaderCache,\n PASSTHROUGH_SHADER_SRC,\n VERTEX_PRELUDE,\n} from \"./media/shaderRegistry.browser\";\nexport type { ShaderCache } from \"./media/shaderRegistry.browser\";\nexport {\n createTexturePool,\n getTexturePool,\n resetTexturePoolForTests,\n} from \"./media/texturePool.browser\";\nexport type { TexturePool, TexturePoolOptions } from \"./media/texturePool.browser\";\nexport { WebGpuImage } from \"./media/webGpuImage.browser\";\nexport type { ApplyParams } from \"./media/webGpuImage.browser\";\n\n// Throwing stubs for server-only sharp helpers. These exist so cross-platform\n// consumers (e.g. `@workglow/ai-provider/common/imageOutputHelpers`) can\n// statically import the helpers without browser bundlers tripping on missing\n// exports.\nexport async function probeImageDimensions(_: any): Promise<any> {\n throw new Error(\"probeImageDimensions: not available in browser runtime\");\n}\nexport async function decodeBufferToRaw(_: any): Promise<any> {\n throw new Error(\"decodeBufferToRaw: not available in browser runtime\");\n}\nexport async function encodeRawPixels(_: any, _options: EncodeRawPixelsOptions): Promise<any> {\n throw new Error(\"encodeRawPixels: not available in browser runtime\");\n}\n\nasync function _preferGpu(value: _ImageValue) {\n const dev = await _getGpuDevice();\n return dev ? _WebGpuImage.from(value) : _CpuImage.from(value);\n}\n\n_registerGpuImageFactory(\"from\", _preferGpu);\n"
|
|
25
25
|
],
|
|
26
|
-
"mappings": "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",
|
|
27
|
-
"debugId": "
|
|
26
|
+
"mappings": "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",
|
|
27
|
+
"debugId": "07C0E8D36A5124C264756E2164756E21",
|
|
28
28
|
"names": []
|
|
29
29
|
}
|
package/dist/media-node.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import "./media/imageCacheCodec";
|
|
7
7
|
import "./media/imageHydrationResolver";
|
|
8
|
+
export { registerImageDefaults } from "./media/imageHydrationResolver";
|
|
8
9
|
export * from "./media/color";
|
|
9
10
|
export { CpuImage } from "./media/cpuImage";
|
|
10
11
|
export { rawPixelBufferToBlob, rawPixelBufferToDataUri } from "./media/encode";
|
package/dist/media-node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-node.d.ts","sourceRoot":"","sources":["../src/media-node.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,yBAAyB,CAAC;AACjC,OAAO,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"media-node.d.ts","sourceRoot":"","sources":["../src/media-node.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,yBAAyB,CAAC;AACjC,OAAO,gCAAgC,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EACL,4BAA4B,EAC5B,WAAW,EACX,WAAW,EACX,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,kBAAkB,EAClB,QAAQ,IAAI,eAAe,EAC3B,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,QAAQ,EACR,eAAe,EACf,oBAAoB,EACpB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,cAAc,kCAAkC,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAElD;AACD,wBAAgB,sBAAsB,IAAI,IAAI,CAAG;AACjD,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,cAAc,GACf,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,wBAAwB,GACzB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGnF,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,wBAAwB,EACxB,sBAAsB,EACtB,aAAa,GACd,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC"}
|
package/dist/media-node.js
CHANGED
|
@@ -328,12 +328,18 @@ var globalServiceRegistry = new ServiceRegistry(globalContainer);
|
|
|
328
328
|
|
|
329
329
|
// src/di/InputResolverRegistry.ts
|
|
330
330
|
var INPUT_RESOLVERS = createServiceToken("task.input.resolvers");
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
return globalServiceRegistry.get(INPUT_RESOLVERS);
|
|
331
|
+
function registerInputResolverDefaults(registry = globalServiceRegistry) {
|
|
332
|
+
registry.registerIfAbsent(INPUT_RESOLVERS, () => new Map, true);
|
|
334
333
|
}
|
|
335
|
-
|
|
336
|
-
|
|
334
|
+
registerInputResolverDefaults();
|
|
335
|
+
function getInputResolvers(registry = globalServiceRegistry) {
|
|
336
|
+
if (!registry.has(INPUT_RESOLVERS)) {
|
|
337
|
+
registerInputResolverDefaults(registry);
|
|
338
|
+
}
|
|
339
|
+
return registry.get(INPUT_RESOLVERS);
|
|
340
|
+
}
|
|
341
|
+
function registerInputResolver(formatPrefix, resolver, registry = globalServiceRegistry) {
|
|
342
|
+
const resolvers = getInputResolvers(registry);
|
|
337
343
|
resolvers.set(formatPrefix, resolver);
|
|
338
344
|
}
|
|
339
345
|
|
|
@@ -348,8 +354,10 @@ async function resolveImage(id, _format, _registry) {
|
|
|
348
354
|
}
|
|
349
355
|
return id;
|
|
350
356
|
}
|
|
351
|
-
|
|
352
|
-
|
|
357
|
+
function registerImageDefaults(registry = globalServiceRegistry) {
|
|
358
|
+
registerInputResolver("image", resolveImage, registry);
|
|
359
|
+
}
|
|
360
|
+
registerImageDefaults();
|
|
353
361
|
// src/media/color.ts
|
|
354
362
|
var HEX_PATTERN = /^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/;
|
|
355
363
|
var CSS_RGB_CHANNEL = "(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)";
|
|
@@ -1018,6 +1026,7 @@ export {
|
|
|
1018
1026
|
resetGpuDeviceForTests,
|
|
1019
1027
|
registerPreviewResizeFn,
|
|
1020
1028
|
registerImageRasterCodec,
|
|
1029
|
+
registerImageDefaults,
|
|
1021
1030
|
registerGpuImageFactory,
|
|
1022
1031
|
registerFilterOp,
|
|
1023
1032
|
rawPixelBufferToDataUri,
|
|
@@ -1056,4 +1065,4 @@ export {
|
|
|
1056
1065
|
CpuImage
|
|
1057
1066
|
};
|
|
1058
1067
|
|
|
1059
|
-
//# debugId=
|
|
1068
|
+
//# debugId=3055B08723AB7B0364756E2164756E21
|