@workglow/util 0.2.15 → 0.2.17
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 +49 -39
- package/dist/browser.js.map +8 -7
- package/dist/bun.js +49 -39
- package/dist/bun.js.map +8 -7
- package/dist/logging/LoggerRegistry.d.ts.map +1 -1
- package/dist/media/Image.d.ts.map +1 -1
- package/dist/media-browser.js.map +3 -3
- package/dist/media-node.js.map +2 -2
- package/dist/node.js +49 -39
- package/dist/node.js.map +8 -7
- package/dist/telemetry/TelemetryRegistry.d.ts.map +1 -1
- package/dist/utilities/runtimeEnv.d.ts +18 -0
- package/dist/utilities/runtimeEnv.d.ts.map +1 -0
- 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 +47 -31
- package/dist/worker-browser.js.map +7 -6
- package/dist/worker-bun.js +47 -31
- package/dist/worker-bun.js.map +7 -6
- package/dist/worker-node.js +47 -31
- package/dist/worker-node.js.map +7 -6
- package/package.json +2 -2
package/dist/bun.js
CHANGED
|
@@ -471,6 +471,28 @@ class NullLogger {
|
|
|
471
471
|
return this;
|
|
472
472
|
}
|
|
473
473
|
}
|
|
474
|
+
// src/utilities/runtimeEnv.ts
|
|
475
|
+
function readRuntimeEnv(name) {
|
|
476
|
+
if (typeof process !== "undefined" && process.env) {
|
|
477
|
+
const fromProcess = process.env[name];
|
|
478
|
+
if (fromProcess !== undefined) {
|
|
479
|
+
return fromProcess;
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
const meta = import.meta.env;
|
|
483
|
+
if (!meta) {
|
|
484
|
+
return;
|
|
485
|
+
}
|
|
486
|
+
const value = meta[name];
|
|
487
|
+
if (value === undefined || value === null) {
|
|
488
|
+
return;
|
|
489
|
+
}
|
|
490
|
+
if (typeof value === "boolean") {
|
|
491
|
+
return value ? "true" : undefined;
|
|
492
|
+
}
|
|
493
|
+
return String(value);
|
|
494
|
+
}
|
|
495
|
+
|
|
474
496
|
// src/logging/LoggerRegistry.ts
|
|
475
497
|
var LOGGER = createServiceToken("logger");
|
|
476
498
|
var VALID_LOG_LEVELS = new Set([
|
|
@@ -480,24 +502,18 @@ var VALID_LOG_LEVELS = new Set([
|
|
|
480
502
|
"error",
|
|
481
503
|
"fatal"
|
|
482
504
|
]);
|
|
483
|
-
function getEnv(name) {
|
|
484
|
-
if (typeof process !== "undefined" && process.env) {
|
|
485
|
-
return process.env[name];
|
|
486
|
-
}
|
|
487
|
-
return import.meta.env[name];
|
|
488
|
-
}
|
|
489
505
|
function isTruthy(value) {
|
|
490
506
|
return value !== undefined && value !== "" && value !== "0" && value !== "false";
|
|
491
507
|
}
|
|
492
508
|
function createDefaultLogger() {
|
|
493
|
-
const levelEnv =
|
|
509
|
+
const levelEnv = readRuntimeEnv("LOGGER_LEVEL")?.toLowerCase();
|
|
494
510
|
if (levelEnv && VALID_LOG_LEVELS.has(levelEnv)) {
|
|
495
511
|
return new ConsoleLogger({
|
|
496
512
|
level: levelEnv,
|
|
497
|
-
timings: isTruthy(
|
|
513
|
+
timings: isTruthy(readRuntimeEnv("LOGGER_TIMINGS"))
|
|
498
514
|
});
|
|
499
515
|
}
|
|
500
|
-
if (
|
|
516
|
+
if (isTruthy(readRuntimeEnv("DEV"))) {
|
|
501
517
|
return new ConsoleLogger({
|
|
502
518
|
level: "debug",
|
|
503
519
|
timings: true
|
|
@@ -852,7 +868,7 @@ class WorkerManager {
|
|
|
852
868
|
readyWorkers = new Map;
|
|
853
869
|
workerFunctions = new Map;
|
|
854
870
|
workerStreamFunctions = new Map;
|
|
855
|
-
|
|
871
|
+
workerPreviewFunctions = new Map;
|
|
856
872
|
workerFactories = new Map;
|
|
857
873
|
idleTimeouts = new Map;
|
|
858
874
|
lazyInitPromises = new Map;
|
|
@@ -901,7 +917,7 @@ class WorkerManager {
|
|
|
901
917
|
worker.removeEventListener("error", handleError);
|
|
902
918
|
this.workerFunctions.set(name, new Set(event.data.functions ?? []));
|
|
903
919
|
this.workerStreamFunctions.set(name, new Set(event.data.streamFunctions ?? []));
|
|
904
|
-
this.
|
|
920
|
+
this.workerPreviewFunctions.set(name, new Set(event.data.previewFunctions ?? []));
|
|
905
921
|
resolve();
|
|
906
922
|
}
|
|
907
923
|
};
|
|
@@ -991,7 +1007,7 @@ class WorkerManager {
|
|
|
991
1007
|
this.readyWorkers.delete(name);
|
|
992
1008
|
this.workerFunctions.delete(name);
|
|
993
1009
|
this.workerStreamFunctions.delete(name);
|
|
994
|
-
this.
|
|
1010
|
+
this.workerPreviewFunctions.delete(name);
|
|
995
1011
|
this.activeCallCounts.delete(name);
|
|
996
1012
|
if (worker && "terminate" in worker && typeof worker.terminate === "function") {
|
|
997
1013
|
try {
|
|
@@ -1012,7 +1028,7 @@ class WorkerManager {
|
|
|
1012
1028
|
this.readyWorkers.delete(name);
|
|
1013
1029
|
this.workerFunctions.delete(name);
|
|
1014
1030
|
this.workerStreamFunctions.delete(name);
|
|
1015
|
-
this.
|
|
1031
|
+
this.workerPreviewFunctions.delete(name);
|
|
1016
1032
|
this.activeCallCounts.delete(name);
|
|
1017
1033
|
try {
|
|
1018
1034
|
if (worker && "terminate" in worker && typeof worker.terminate === "function") {
|
|
@@ -1080,15 +1096,15 @@ class WorkerManager {
|
|
|
1080
1096
|
this.endWorkerActivity(workerName);
|
|
1081
1097
|
}
|
|
1082
1098
|
}
|
|
1083
|
-
async
|
|
1099
|
+
async callWorkerPreviewFunction(workerName, functionName, args) {
|
|
1084
1100
|
await this.ensureWorkerReady(workerName);
|
|
1085
1101
|
const worker = this.workers.get(workerName);
|
|
1086
1102
|
if (!worker)
|
|
1087
1103
|
return;
|
|
1088
1104
|
this.beginWorkerActivity(workerName);
|
|
1089
1105
|
try {
|
|
1090
|
-
const
|
|
1091
|
-
if (
|
|
1106
|
+
const knownPreview = this.workerPreviewFunctions.get(workerName);
|
|
1107
|
+
if (knownPreview && !knownPreview.has(functionName))
|
|
1092
1108
|
return;
|
|
1093
1109
|
return await new Promise((resolve) => {
|
|
1094
1110
|
const requestId = crypto.randomUUID();
|
|
@@ -1101,7 +1117,7 @@ class WorkerManager {
|
|
|
1101
1117
|
resolve(data);
|
|
1102
1118
|
} else if (type === "error") {
|
|
1103
1119
|
cleanup();
|
|
1104
|
-
getLogger().warn(`Worker ${workerName}
|
|
1120
|
+
getLogger().warn(`Worker ${workerName} preview function ${functionName} error:`, {
|
|
1105
1121
|
error: data
|
|
1106
1122
|
});
|
|
1107
1123
|
resolve(undefined);
|
|
@@ -1111,9 +1127,9 @@ class WorkerManager {
|
|
|
1111
1127
|
worker.removeEventListener("message", handleMessage);
|
|
1112
1128
|
};
|
|
1113
1129
|
worker.addEventListener("message", handleMessage);
|
|
1114
|
-
const message = { id: requestId, type: "call", functionName, args,
|
|
1130
|
+
const message = { id: requestId, type: "call", functionName, args, preview: true };
|
|
1115
1131
|
worker.postMessage(message);
|
|
1116
|
-
getLogger().info(`Worker ${workerName}
|
|
1132
|
+
getLogger().info(`Worker ${workerName} preview function ${functionName} called.`);
|
|
1117
1133
|
});
|
|
1118
1134
|
} finally {
|
|
1119
1135
|
this.endWorkerActivity(workerName);
|
|
@@ -1728,20 +1744,14 @@ class OTelTelemetryProvider {
|
|
|
1728
1744
|
}
|
|
1729
1745
|
// src/telemetry/TelemetryRegistry.ts
|
|
1730
1746
|
var TELEMETRY_PROVIDER = createServiceToken("telemetry");
|
|
1731
|
-
function getEnv2(name) {
|
|
1732
|
-
if (typeof process !== "undefined" && process.env) {
|
|
1733
|
-
return process.env[name];
|
|
1734
|
-
}
|
|
1735
|
-
return import.meta.env[name];
|
|
1736
|
-
}
|
|
1737
1747
|
function isTruthy2(value) {
|
|
1738
1748
|
return value !== undefined && value !== "" && value !== "0" && value !== "false";
|
|
1739
1749
|
}
|
|
1740
1750
|
function createDefaultTelemetryProvider() {
|
|
1741
|
-
if (
|
|
1751
|
+
if (readRuntimeEnv("TELEMETRY")?.toLowerCase() === "console") {
|
|
1742
1752
|
return new ConsoleTelemetryProvider;
|
|
1743
1753
|
}
|
|
1744
|
-
if (isTruthy2(
|
|
1754
|
+
if (isTruthy2(readRuntimeEnv("DEV")) && readRuntimeEnv("NODE_ENV") !== "test" && !isTruthy2(readRuntimeEnv("VITEST")) && !isTruthy2(readRuntimeEnv("CI"))) {
|
|
1745
1755
|
return new ConsoleTelemetryProvider;
|
|
1746
1756
|
}
|
|
1747
1757
|
return new NoopTelemetryProvider;
|
|
@@ -1826,7 +1836,7 @@ class WorkerServerBase {
|
|
|
1826
1836
|
constructor() {}
|
|
1827
1837
|
functions = {};
|
|
1828
1838
|
streamFunctions = {};
|
|
1829
|
-
|
|
1839
|
+
previewFunctions = {};
|
|
1830
1840
|
requestControllers = new Map;
|
|
1831
1841
|
completedRequests = new Set;
|
|
1832
1842
|
postResult = (id, result) => {
|
|
@@ -1864,20 +1874,20 @@ class WorkerServerBase {
|
|
|
1864
1874
|
type: "ready",
|
|
1865
1875
|
functions: Object.keys(this.functions),
|
|
1866
1876
|
streamFunctions: Object.keys(this.streamFunctions),
|
|
1867
|
-
|
|
1877
|
+
previewFunctions: Object.keys(this.previewFunctions)
|
|
1868
1878
|
});
|
|
1869
1879
|
}
|
|
1870
1880
|
registerFunction(name, fn) {
|
|
1871
1881
|
this.functions[name] = fn;
|
|
1872
1882
|
}
|
|
1873
|
-
|
|
1874
|
-
this.
|
|
1883
|
+
registerPreviewFunction(name, fn) {
|
|
1884
|
+
this.previewFunctions[name] = fn;
|
|
1875
1885
|
}
|
|
1876
1886
|
registerStreamFunction(name, fn) {
|
|
1877
1887
|
this.streamFunctions[name] = fn;
|
|
1878
1888
|
}
|
|
1879
1889
|
async handleMessage(event) {
|
|
1880
|
-
const { id, type, functionName, args, stream,
|
|
1890
|
+
const { id, type, functionName, args, stream, preview } = event.data;
|
|
1881
1891
|
if (type === "abort") {
|
|
1882
1892
|
return await this.handleAbort(id);
|
|
1883
1893
|
}
|
|
@@ -1885,8 +1895,8 @@ class WorkerServerBase {
|
|
|
1885
1895
|
if (stream) {
|
|
1886
1896
|
return await this.handleStreamCall(id, functionName, args);
|
|
1887
1897
|
}
|
|
1888
|
-
if (
|
|
1889
|
-
return await this.
|
|
1898
|
+
if (preview) {
|
|
1899
|
+
return await this.handlePreviewCall(id, functionName, args);
|
|
1890
1900
|
}
|
|
1891
1901
|
return await this.handleCall(id, functionName, args);
|
|
1892
1902
|
}
|
|
@@ -1900,14 +1910,14 @@ class WorkerServerBase {
|
|
|
1900
1910
|
this.scheduleCompletedRequestCleanup(id);
|
|
1901
1911
|
}
|
|
1902
1912
|
}
|
|
1903
|
-
async
|
|
1904
|
-
if (!(functionName in this.
|
|
1913
|
+
async handlePreviewCall(id, functionName, [input, model]) {
|
|
1914
|
+
if (!(functionName in this.previewFunctions)) {
|
|
1905
1915
|
this.postResult(id, undefined);
|
|
1906
1916
|
return;
|
|
1907
1917
|
}
|
|
1908
1918
|
try {
|
|
1909
|
-
const fn = this.
|
|
1910
|
-
const result = await fn(input,
|
|
1919
|
+
const fn = this.previewFunctions[functionName];
|
|
1920
|
+
const result = await fn(input, model);
|
|
1911
1921
|
this.postResult(id, result);
|
|
1912
1922
|
} catch (error) {
|
|
1913
1923
|
this.postError(id, error);
|
|
@@ -2071,4 +2081,4 @@ export {
|
|
|
2071
2081
|
BaseError
|
|
2072
2082
|
};
|
|
2073
2083
|
|
|
2074
|
-
//# debugId=
|
|
2084
|
+
//# debugId=C4E8F1A8A036C08B64756E2164756E21
|