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