@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/browser.js
CHANGED
|
@@ -181,7 +181,12 @@ class Container {
|
|
|
181
181
|
return child;
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
|
-
var
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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
|
|
1106
|
-
if (
|
|
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}
|
|
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,
|
|
1157
|
+
const message = { id: requestId, type: "call", functionName, args, preview: true };
|
|
1130
1158
|
worker.postMessage(message);
|
|
1131
|
-
getLogger().info(`Worker ${workerName}
|
|
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
|
-
|
|
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
|
-
|
|
1904
|
+
previewFunctions: Object.keys(this.previewFunctions)
|
|
1877
1905
|
});
|
|
1878
1906
|
}
|
|
1879
1907
|
registerFunction(name, fn) {
|
|
1880
1908
|
this.functions[name] = fn;
|
|
1881
1909
|
}
|
|
1882
|
-
|
|
1883
|
-
this.
|
|
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,
|
|
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 (
|
|
1898
|
-
return await this.
|
|
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
|
|
1913
|
-
if (!(functionName in this.
|
|
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.
|
|
1919
|
-
const result = await fn(input,
|
|
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=
|
|
2114
|
+
//# debugId=A24D1810E4F2F3A564756E2164756E21
|