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