@workglow/util 0.2.16 → 0.2.18

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 (66) hide show
  1. package/dist/browser.js +54 -23
  2. package/dist/browser.js.map +7 -6
  3. package/dist/bun.js +54 -23
  4. package/dist/bun.js.map +7 -6
  5. package/dist/di/Container.d.ts +0 -3
  6. package/dist/di/Container.d.ts.map +1 -1
  7. package/dist/di/PortCodecRegistry.d.ts +14 -0
  8. package/dist/di/PortCodecRegistry.d.ts.map +1 -0
  9. package/dist/di/index.d.ts +1 -0
  10. package/dist/di/index.d.ts.map +1 -1
  11. package/dist/media/color.d.ts +3 -3
  12. package/dist/media/color.d.ts.map +1 -1
  13. package/dist/media/cpuImage.d.ts +29 -0
  14. package/dist/media/cpuImage.d.ts.map +1 -0
  15. package/dist/media/encode.d.ts +11 -0
  16. package/dist/media/encode.d.ts.map +1 -0
  17. package/dist/media/filterRegistry.d.ts +13 -0
  18. package/dist/media/filterRegistry.d.ts.map +1 -0
  19. package/dist/media/gpuDevice.browser.d.ts +8 -0
  20. package/dist/media/gpuDevice.browser.d.ts.map +1 -0
  21. package/dist/media/gpuImage.d.ts +50 -0
  22. package/dist/media/gpuImage.d.ts.map +1 -0
  23. package/dist/media/gpuImageSchema.d.ts +8 -0
  24. package/dist/media/gpuImageSchema.d.ts.map +1 -0
  25. package/dist/media/imageCacheCodec.d.ts +9 -0
  26. package/dist/media/imageCacheCodec.d.ts.map +1 -0
  27. package/dist/media/imageHydrationResolver.d.ts +2 -0
  28. package/dist/media/imageHydrationResolver.d.ts.map +1 -0
  29. package/dist/media/imageRasterCodecRegistry.d.ts.map +1 -1
  30. package/dist/media/previewBudget.d.ts +23 -0
  31. package/dist/media/previewBudget.d.ts.map +1 -0
  32. package/dist/media/shaderRegistry.browser.d.ts +13 -0
  33. package/dist/media/shaderRegistry.browser.d.ts.map +1 -0
  34. package/dist/media/sharpImage.bun.d.ts +7 -0
  35. package/dist/media/sharpImage.bun.d.ts.map +1 -0
  36. package/dist/media/sharpImage.node.d.ts +93 -0
  37. package/dist/media/sharpImage.node.d.ts.map +1 -0
  38. package/dist/media/texturePool.browser.d.ts +17 -0
  39. package/dist/media/texturePool.browser.d.ts.map +1 -0
  40. package/dist/media/webGpuImage.browser.d.ts +40 -0
  41. package/dist/media/webGpuImage.browser.d.ts.map +1 -0
  42. package/dist/media-browser.d.ts +18 -3
  43. package/dist/media-browser.d.ts.map +1 -1
  44. package/dist/media-browser.js +850 -404
  45. package/dist/media-browser.js.map +21 -7
  46. package/dist/media-node.d.ts +21 -2
  47. package/dist/media-node.d.ts.map +1 -1
  48. package/dist/media-node.js +695 -312
  49. package/dist/media-node.js.map +20 -6
  50. package/dist/node.js +54 -23
  51. package/dist/node.js.map +7 -6
  52. package/dist/worker/WorkerManager.d.ts +6 -6
  53. package/dist/worker/WorkerManager.d.ts.map +1 -1
  54. package/dist/worker/WorkerServerBase.d.ts +8 -8
  55. package/dist/worker/WorkerServerBase.d.ts.map +1 -1
  56. package/dist/worker-browser.js +54 -23
  57. package/dist/worker-browser.js.map +7 -6
  58. package/dist/worker-bun.js +54 -23
  59. package/dist/worker-bun.js.map +7 -6
  60. package/dist/worker-node.js +54 -23
  61. package/dist/worker-node.js.map +7 -6
  62. package/package.json +4 -1
  63. package/dist/media/Image.browser.d.ts +0 -24
  64. package/dist/media/Image.browser.d.ts.map +0 -1
  65. package/dist/media/Image.d.ts +0 -100
  66. package/dist/media/Image.d.ts.map +0 -1
package/dist/browser.js CHANGED
@@ -181,7 +181,12 @@ class Container {
181
181
  return child;
182
182
  }
183
183
  }
184
- var globalContainer = new Container;
184
+ var GLOBAL_CONTAINER_KEY = Symbol.for("@workglow/util/di/globalContainer");
185
+ var _g = globalThis;
186
+ if (!_g[GLOBAL_CONTAINER_KEY]) {
187
+ _g[GLOBAL_CONTAINER_KEY] = new Container;
188
+ }
189
+ var globalContainer = _g[GLOBAL_CONTAINER_KEY];
185
190
  // src/di/ServiceRegistry.ts
186
191
  function createServiceToken(id) {
187
192
  return { id, _type: null };
@@ -233,6 +238,29 @@ function registerInputResolver(formatPrefix, resolver) {
233
238
  const resolvers = getInputResolvers();
234
239
  resolvers.set(formatPrefix, resolver);
235
240
  }
241
+ // src/di/PortCodecRegistry.ts
242
+ var GLOBAL_CODECS_KEY = Symbol.for("@workglow/util/di/portCodecs");
243
+ var _g2 = globalThis;
244
+ if (!_g2[GLOBAL_CODECS_KEY]) {
245
+ _g2[GLOBAL_CODECS_KEY] = new Map;
246
+ }
247
+ var codecs = _g2[GLOBAL_CODECS_KEY];
248
+ function registerPortCodec(formatPrefix, codec) {
249
+ codecs.set(formatPrefix, codec);
250
+ }
251
+ function getPortCodec(format) {
252
+ if (codecs.has(format))
253
+ return codecs.get(format);
254
+ const colon = format.indexOf(":");
255
+ if (colon > 0) {
256
+ const prefix = format.slice(0, colon);
257
+ return codecs.get(prefix);
258
+ }
259
+ return;
260
+ }
261
+ function _resetPortCodecsForTests() {
262
+ codecs.clear();
263
+ }
236
264
  // src/events/EventEmitter.ts
237
265
  class EventEmitter {
238
266
  listeners = {};
@@ -867,7 +895,7 @@ class WorkerManager {
867
895
  readyWorkers = new Map;
868
896
  workerFunctions = new Map;
869
897
  workerStreamFunctions = new Map;
870
- workerReactiveFunctions = new Map;
898
+ workerPreviewFunctions = new Map;
871
899
  workerFactories = new Map;
872
900
  idleTimeouts = new Map;
873
901
  lazyInitPromises = new Map;
@@ -916,7 +944,7 @@ class WorkerManager {
916
944
  worker.removeEventListener("error", handleError);
917
945
  this.workerFunctions.set(name, new Set(event.data.functions ?? []));
918
946
  this.workerStreamFunctions.set(name, new Set(event.data.streamFunctions ?? []));
919
- this.workerReactiveFunctions.set(name, new Set(event.data.reactiveFunctions ?? []));
947
+ this.workerPreviewFunctions.set(name, new Set(event.data.previewFunctions ?? []));
920
948
  resolve();
921
949
  }
922
950
  };
@@ -1006,7 +1034,7 @@ class WorkerManager {
1006
1034
  this.readyWorkers.delete(name);
1007
1035
  this.workerFunctions.delete(name);
1008
1036
  this.workerStreamFunctions.delete(name);
1009
- this.workerReactiveFunctions.delete(name);
1037
+ this.workerPreviewFunctions.delete(name);
1010
1038
  this.activeCallCounts.delete(name);
1011
1039
  if (worker && "terminate" in worker && typeof worker.terminate === "function") {
1012
1040
  try {
@@ -1027,7 +1055,7 @@ class WorkerManager {
1027
1055
  this.readyWorkers.delete(name);
1028
1056
  this.workerFunctions.delete(name);
1029
1057
  this.workerStreamFunctions.delete(name);
1030
- this.workerReactiveFunctions.delete(name);
1058
+ this.workerPreviewFunctions.delete(name);
1031
1059
  this.activeCallCounts.delete(name);
1032
1060
  try {
1033
1061
  if (worker && "terminate" in worker && typeof worker.terminate === "function") {
@@ -1095,15 +1123,15 @@ class WorkerManager {
1095
1123
  this.endWorkerActivity(workerName);
1096
1124
  }
1097
1125
  }
1098
- async callWorkerReactiveFunction(workerName, functionName, args) {
1126
+ async callWorkerPreviewFunction(workerName, functionName, args) {
1099
1127
  await this.ensureWorkerReady(workerName);
1100
1128
  const worker = this.workers.get(workerName);
1101
1129
  if (!worker)
1102
1130
  return;
1103
1131
  this.beginWorkerActivity(workerName);
1104
1132
  try {
1105
- const knownReactive = this.workerReactiveFunctions.get(workerName);
1106
- if (knownReactive && !knownReactive.has(functionName))
1133
+ const knownPreview = this.workerPreviewFunctions.get(workerName);
1134
+ if (knownPreview && !knownPreview.has(functionName))
1107
1135
  return;
1108
1136
  return await new Promise((resolve) => {
1109
1137
  const requestId = crypto.randomUUID();
@@ -1116,7 +1144,7 @@ class WorkerManager {
1116
1144
  resolve(data);
1117
1145
  } else if (type === "error") {
1118
1146
  cleanup();
1119
- getLogger().warn(`Worker ${workerName} reactive function ${functionName} error:`, {
1147
+ getLogger().warn(`Worker ${workerName} preview function ${functionName} error:`, {
1120
1148
  error: data
1121
1149
  });
1122
1150
  resolve(undefined);
@@ -1126,9 +1154,9 @@ class WorkerManager {
1126
1154
  worker.removeEventListener("message", handleMessage);
1127
1155
  };
1128
1156
  worker.addEventListener("message", handleMessage);
1129
- const message = { id: requestId, type: "call", functionName, args, reactive: true };
1157
+ const message = { id: requestId, type: "call", functionName, args, preview: true };
1130
1158
  worker.postMessage(message);
1131
- getLogger().info(`Worker ${workerName} reactive function ${functionName} called.`);
1159
+ getLogger().info(`Worker ${workerName} preview function ${functionName} called.`);
1132
1160
  });
1133
1161
  } finally {
1134
1162
  this.endWorkerActivity(workerName);
@@ -1835,7 +1863,7 @@ class WorkerServerBase {
1835
1863
  constructor() {}
1836
1864
  functions = {};
1837
1865
  streamFunctions = {};
1838
- reactiveFunctions = {};
1866
+ previewFunctions = {};
1839
1867
  requestControllers = new Map;
1840
1868
  completedRequests = new Set;
1841
1869
  postResult = (id, result) => {
@@ -1873,20 +1901,20 @@ class WorkerServerBase {
1873
1901
  type: "ready",
1874
1902
  functions: Object.keys(this.functions),
1875
1903
  streamFunctions: Object.keys(this.streamFunctions),
1876
- reactiveFunctions: Object.keys(this.reactiveFunctions)
1904
+ previewFunctions: Object.keys(this.previewFunctions)
1877
1905
  });
1878
1906
  }
1879
1907
  registerFunction(name, fn) {
1880
1908
  this.functions[name] = fn;
1881
1909
  }
1882
- registerReactiveFunction(name, fn) {
1883
- this.reactiveFunctions[name] = fn;
1910
+ registerPreviewFunction(name, fn) {
1911
+ this.previewFunctions[name] = fn;
1884
1912
  }
1885
1913
  registerStreamFunction(name, fn) {
1886
1914
  this.streamFunctions[name] = fn;
1887
1915
  }
1888
1916
  async handleMessage(event) {
1889
- const { id, type, functionName, args, stream, reactive } = event.data;
1917
+ const { id, type, functionName, args, stream, preview } = event.data;
1890
1918
  if (type === "abort") {
1891
1919
  return await this.handleAbort(id);
1892
1920
  }
@@ -1894,8 +1922,8 @@ class WorkerServerBase {
1894
1922
  if (stream) {
1895
1923
  return await this.handleStreamCall(id, functionName, args);
1896
1924
  }
1897
- if (reactive) {
1898
- return await this.handleReactiveCall(id, functionName, args);
1925
+ if (preview) {
1926
+ return await this.handlePreviewCall(id, functionName, args);
1899
1927
  }
1900
1928
  return await this.handleCall(id, functionName, args);
1901
1929
  }
@@ -1909,14 +1937,14 @@ class WorkerServerBase {
1909
1937
  this.scheduleCompletedRequestCleanup(id);
1910
1938
  }
1911
1939
  }
1912
- async handleReactiveCall(id, functionName, [input, output, model]) {
1913
- if (!(functionName in this.reactiveFunctions)) {
1940
+ async handlePreviewCall(id, functionName, [input, model]) {
1941
+ if (!(functionName in this.previewFunctions)) {
1914
1942
  this.postResult(id, undefined);
1915
1943
  return;
1916
1944
  }
1917
1945
  try {
1918
- const fn = this.reactiveFunctions[functionName];
1919
- const result = await fn(input, output, model);
1946
+ const fn = this.previewFunctions[functionName];
1947
+ const result = await fn(input, model);
1920
1948
  this.postResult(id, result);
1921
1949
  } catch (error) {
1922
1950
  this.postError(id, error);
@@ -2027,6 +2055,7 @@ export {
2027
2055
  serialize,
2028
2056
  resolveHumanConnector,
2029
2057
  resolveCredential,
2058
+ registerPortCodec,
2030
2059
  registerInputResolver,
2031
2060
  registerInputCompactor,
2032
2061
  parentPort,
@@ -2035,6 +2064,7 @@ export {
2035
2064
  globalServiceRegistry,
2036
2065
  globalContainer,
2037
2066
  getTelemetryProvider,
2067
+ getPortCodec,
2038
2068
  getLogger,
2039
2069
  getInputResolvers,
2040
2070
  getInputCompactors,
@@ -2048,6 +2078,7 @@ export {
2048
2078
  collectPropertyValues,
2049
2079
  bufToBase64,
2050
2080
  base64ToBuf,
2081
+ _resetPortCodecsForTests,
2051
2082
  WorkerServer,
2052
2083
  WorkerManager,
2053
2084
  Worker,
@@ -2080,4 +2111,4 @@ export {
2080
2111
  BaseError
2081
2112
  };
2082
2113
 
2083
- //# debugId=4F55B11BAC0DA1A864756E2164756E21
2114
+ //# debugId=A24D1810E4F2F3A564756E2164756E21