@workglow/util 0.2.30 → 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.
Files changed (35) hide show
  1. package/dist/browser.js +71 -34
  2. package/dist/browser.js.map +8 -8
  3. package/dist/bun.js +71 -34
  4. package/dist/bun.js.map +8 -8
  5. package/dist/credentials/CredentialStoreRegistry.d.ts +19 -6
  6. package/dist/credentials/CredentialStoreRegistry.d.ts.map +1 -1
  7. package/dist/di/InputCompactorRegistry.d.ts +8 -4
  8. package/dist/di/InputCompactorRegistry.d.ts.map +1 -1
  9. package/dist/di/InputResolverRegistry.d.ts +8 -4
  10. package/dist/di/InputResolverRegistry.d.ts.map +1 -1
  11. package/dist/logging/LoggerRegistry.d.ts +10 -4
  12. package/dist/logging/LoggerRegistry.d.ts.map +1 -1
  13. package/dist/media/imageHydrationResolver.d.ts +6 -1
  14. package/dist/media/imageHydrationResolver.d.ts.map +1 -1
  15. package/dist/media-browser.d.ts +1 -0
  16. package/dist/media-browser.d.ts.map +1 -1
  17. package/dist/media-browser.js +17 -8
  18. package/dist/media-browser.js.map +5 -5
  19. package/dist/media-node.d.ts +1 -0
  20. package/dist/media-node.d.ts.map +1 -1
  21. package/dist/media-node.js +17 -8
  22. package/dist/media-node.js.map +5 -5
  23. package/dist/node.js +71 -34
  24. package/dist/node.js.map +8 -8
  25. package/dist/telemetry/TelemetryRegistry.d.ts +10 -4
  26. package/dist/telemetry/TelemetryRegistry.d.ts.map +1 -1
  27. package/dist/worker/WorkerManager.d.ts +5 -0
  28. package/dist/worker/WorkerManager.d.ts.map +1 -1
  29. package/dist/worker-browser.js +42 -17
  30. package/dist/worker-browser.js.map +6 -6
  31. package/dist/worker-bun.js +42 -17
  32. package/dist/worker-bun.js.map +6 -6
  33. package/dist/worker-node.js +42 -17
  34. package/dist/worker-node.js.map +6 -6
  35. 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 global credential store instance
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 global credential store instance
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
- * falling back to the global credential store.
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;AAU3D;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,gBAAgB,CAE3D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAEtE;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAO7B"}
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
- * Gets the global input compactor registry
23
- * @returns Map of format prefix to compactor function
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 getInputCompactors(): Map<string, InputCompactorFn>;
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;AAS7E;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAElE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAG9F"}
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
- * Gets the global input resolver registry
24
- * @returns Map of format prefix to resolver function
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 getInputResolvers(): Map<string, InputResolverFn>;
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;AAS3E;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAEhE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CAG3F"}
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
- * Returns the current global logger.
12
+ * Registers the default logger factory on the given registry if absent.
13
+ * Called by `bootstrapWorkglow` / `createOrchestrationContext`.
13
14
  */
14
- export declare function getLogger(): ILogger;
15
+ export declare function registerLoggerDefaults(registry?: import("../di/ServiceRegistry").ServiceRegistry): void;
15
16
  /**
16
- * Replaces the global logger instance.
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 setLogger(logger: ILogger): void;
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;AAkC5D;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAE/C"}
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
- export {};
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"}
@@ -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;AAExC,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"}
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"}
@@ -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
- globalServiceRegistry.registerIfAbsent(INPUT_RESOLVERS, () => new Map, true);
522
- function getInputResolvers() {
523
- return globalServiceRegistry.get(INPUT_RESOLVERS);
521
+ function registerInputResolverDefaults(registry = globalServiceRegistry) {
522
+ registry.registerIfAbsent(INPUT_RESOLVERS, () => new Map, true);
524
523
  }
525
- function registerInputResolver(formatPrefix, resolver) {
526
- const resolvers = getInputResolvers();
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
- registerInputResolver("image", resolveImage);
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=DBD4B12E61C4A72264756E2164756E21
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// Register default factory if not already registered\nglobalServiceRegistry.registerIfAbsent(\n INPUT_RESOLVERS,\n (): Map<string, InputResolverFn> => new Map(),\n true\n);\n\n/**\n * Gets the global input resolver registry\n * @returns Map of format prefix to resolver function\n */\nexport function getInputResolvers(): Map<string, InputResolverFn> {\n return globalServiceRegistry.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(formatPrefix: string, resolver: InputResolverFn): void {\n const resolvers = getInputResolvers();\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 { 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\nregisterInputResolver(\"image\", resolveImage);\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": "DBD4B12E61C4A72264756E2164756E21",
26
+ "mappings": "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",
27
+ "debugId": "07C0E8D36A5124C264756E2164756E21",
28
28
  "names": []
29
29
  }
@@ -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";
@@ -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;AAExC,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"}
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"}
@@ -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
- globalServiceRegistry.registerIfAbsent(INPUT_RESOLVERS, () => new Map, true);
332
- function getInputResolvers() {
333
- return globalServiceRegistry.get(INPUT_RESOLVERS);
331
+ function registerInputResolverDefaults(registry = globalServiceRegistry) {
332
+ registry.registerIfAbsent(INPUT_RESOLVERS, () => new Map, true);
334
333
  }
335
- function registerInputResolver(formatPrefix, resolver) {
336
- const resolvers = getInputResolvers();
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
- registerInputResolver("image", resolveImage);
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=49C9406160EA2AA164756E2164756E21
1068
+ //# debugId=3055B08723AB7B0364756E2164756E21