@workglow/openai 0.3.39 → 0.3.41
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/ai/OpenAiProvider.d.ts +2 -1
- package/dist/ai/OpenAiProvider.d.ts.map +1 -1
- package/dist/ai/OpenAiQueuedProvider.d.ts +2 -1
- package/dist/ai/OpenAiQueuedProvider.d.ts.map +1 -1
- package/dist/ai/common/OpenAI_EffortPolicy.d.ts +8 -0
- package/dist/ai/common/OpenAI_EffortPolicy.d.ts.map +1 -0
- package/dist/ai/common/OpenAI_ModelSchema.d.ts +16 -0
- package/dist/ai/common/OpenAI_ModelSchema.d.ts.map +1 -1
- package/dist/ai/common/OpenAI_ModelSearch.d.ts.map +1 -1
- package/dist/ai/index.browser.d.ts +1 -0
- package/dist/ai/index.browser.d.ts.map +1 -1
- package/dist/ai/index.d.ts +1 -0
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/runtime.browser.d.ts +1 -0
- package/dist/ai/runtime.browser.d.ts.map +1 -1
- package/dist/ai/runtime.d.ts +1 -0
- package/dist/ai/runtime.d.ts.map +1 -1
- package/dist/ai-runtime.browser.js +60 -30
- package/dist/ai-runtime.browser.js.map +7 -6
- package/dist/ai-runtime.js +63 -33
- package/dist/ai-runtime.js.map +7 -6
- package/dist/ai.browser.js +29 -4
- package/dist/ai.browser.js.map +5 -4
- package/dist/ai.js +59 -33
- package/dist/ai.js.map +7 -6
- package/package.json +11 -11
package/dist/ai.js
CHANGED
|
@@ -107,16 +107,37 @@ function finalizeResponsesRequest(model, params) {
|
|
|
107
107
|
}
|
|
108
108
|
// src/ai/common/OpenAI_Constants.ts
|
|
109
109
|
var OPENAI = "OPENAI";
|
|
110
|
+
// src/ai/common/OpenAI_EffortPolicy.ts
|
|
111
|
+
import { MODEL_EFFORTS } from "@workglow/ai";
|
|
112
|
+
var ALL = { supported: MODEL_EFFORTS, default: undefined };
|
|
113
|
+
var REASONING = {
|
|
114
|
+
supported: MODEL_EFFORTS,
|
|
115
|
+
default: "medium"
|
|
116
|
+
};
|
|
117
|
+
var NONE = { supported: [], default: undefined };
|
|
118
|
+
function modelName(model) {
|
|
119
|
+
return String(model.provider_config?.model_name ?? "").trim();
|
|
120
|
+
}
|
|
121
|
+
function openaiEffortPolicy(model) {
|
|
122
|
+
const id = modelName(model);
|
|
123
|
+
if (!id)
|
|
124
|
+
return ALL;
|
|
125
|
+
if (/^text-embedding/i.test(id) || /^gpt-image/i.test(id) || /^dall-e/i.test(id))
|
|
126
|
+
return NONE;
|
|
127
|
+
if (/^gpt-5/i.test(id) || /^o[134]/i.test(id))
|
|
128
|
+
return REASONING;
|
|
129
|
+
return NONE;
|
|
130
|
+
}
|
|
110
131
|
// src/ai/common/OpenAI_ImageValidation.ts
|
|
111
132
|
import { AiImageOutputTask, ProviderUnsupportedFeatureError } from "@workglow/ai";
|
|
112
133
|
function registerOpenAiImageValidator() {
|
|
113
134
|
AiImageOutputTask.registerProviderImageValidator(OPENAI, (taskType, input, model) => {
|
|
114
135
|
if (taskType !== "ImageEditTask")
|
|
115
136
|
return;
|
|
116
|
-
const
|
|
137
|
+
const modelName2 = model.provider_config?.model_name ?? "";
|
|
117
138
|
const additional = input["additionalImages"];
|
|
118
|
-
if (
|
|
119
|
-
throw new ProviderUnsupportedFeatureError("additionalImages", model.model_id ??
|
|
139
|
+
if (modelName2.startsWith("dall-e-2") && Array.isArray(additional) && additional.length > 0) {
|
|
140
|
+
throw new ProviderUnsupportedFeatureError("additionalImages", model.model_id ?? modelName2, "DALL-E 2 only supports single-image edits");
|
|
120
141
|
}
|
|
121
142
|
});
|
|
122
143
|
}
|
|
@@ -208,6 +229,7 @@ var OpenAiModelConfigSchema = {
|
|
|
208
229
|
};
|
|
209
230
|
// src/ai/common/OpenAI_ModelSearch.ts
|
|
210
231
|
import { filterLabeledModelsByQuery } from "@workglow/ai/provider-utils";
|
|
232
|
+
import { stampEffortOptions } from "@workglow/ai/worker";
|
|
211
233
|
var OPENAI_FALLBACK = [
|
|
212
234
|
{ label: "gpt-image-2", value: "gpt-image-2" },
|
|
213
235
|
{ label: "dall-e-3", value: "dall-e-3" },
|
|
@@ -256,7 +278,7 @@ function mapModelList(models) {
|
|
|
256
278
|
id: m.value,
|
|
257
279
|
label: m.label,
|
|
258
280
|
description: m.description ?? "",
|
|
259
|
-
record: {
|
|
281
|
+
record: stampEffortOptions({
|
|
260
282
|
model_id: m.value,
|
|
261
283
|
provider: OPENAI,
|
|
262
284
|
title: m.value,
|
|
@@ -264,7 +286,7 @@ function mapModelList(models) {
|
|
|
264
286
|
capabilities: imageEntry?.capabilities ?? [],
|
|
265
287
|
provider_config: { model_name: m.value },
|
|
266
288
|
metadata: {}
|
|
267
|
-
},
|
|
289
|
+
}, openaiEffortPolicy({ provider: OPENAI, provider_config: { model_name: m.value } })),
|
|
268
290
|
raw: m
|
|
269
291
|
};
|
|
270
292
|
});
|
|
@@ -362,6 +384,9 @@ class OpenAiQueuedProvider extends createCloudProviderClass(AiProvider, {
|
|
|
362
384
|
inferCapabilities(model) {
|
|
363
385
|
return inferOpenAiCapabilities(model);
|
|
364
386
|
}
|
|
387
|
+
effortPolicy(model) {
|
|
388
|
+
return openaiEffortPolicy(model);
|
|
389
|
+
}
|
|
365
390
|
workerRunFnSpecs() {
|
|
366
391
|
return openAiWorkerRunFnSpecs();
|
|
367
392
|
}
|
|
@@ -433,20 +458,20 @@ async function loadTiktoken() {
|
|
|
433
458
|
return _tiktoken;
|
|
434
459
|
}
|
|
435
460
|
var _encoderCache = new Map;
|
|
436
|
-
async function getEncoder(
|
|
461
|
+
async function getEncoder(modelName2) {
|
|
437
462
|
const tiktoken = await loadTiktoken();
|
|
438
|
-
if (!_encoderCache.has(
|
|
463
|
+
if (!_encoderCache.has(modelName2)) {
|
|
439
464
|
try {
|
|
440
|
-
_encoderCache.set(
|
|
465
|
+
_encoderCache.set(modelName2, tiktoken.encoding_for_model(modelName2));
|
|
441
466
|
} catch {
|
|
442
467
|
const fallback = "cl100k_base";
|
|
443
468
|
if (!_encoderCache.has(fallback)) {
|
|
444
469
|
_encoderCache.set(fallback, tiktoken.get_encoding(fallback));
|
|
445
470
|
}
|
|
446
|
-
_encoderCache.set(
|
|
471
|
+
_encoderCache.set(modelName2, _encoderCache.get(fallback));
|
|
447
472
|
}
|
|
448
473
|
}
|
|
449
|
-
return _encoderCache.get(
|
|
474
|
+
return _encoderCache.get(modelName2);
|
|
450
475
|
}
|
|
451
476
|
async function countTokens(input, model) {
|
|
452
477
|
const enc = await getEncoder(getModelName(model));
|
|
@@ -494,12 +519,12 @@ async function decodeB64Png(b64) {
|
|
|
494
519
|
return dataUriToImageValue(`data:image/png;base64,${b64}`);
|
|
495
520
|
}
|
|
496
521
|
async function buildEditPayload(input, model) {
|
|
497
|
-
const
|
|
522
|
+
const modelName2 = getModelName(model);
|
|
498
523
|
const primary = await gpuImageToOpenAiFile(input.image, "image.png");
|
|
499
524
|
const additionalFiles = input.additionalImages && input.additionalImages.length > 0 ? await Promise.all(input.additionalImages.map((g, i) => gpuImageToOpenAiFile(g, `image-${i + 1}.png`))) : [];
|
|
500
525
|
const imageField = additionalFiles.length === 0 ? primary : [primary, ...additionalFiles];
|
|
501
526
|
const payload = {
|
|
502
|
-
model:
|
|
527
|
+
model: modelName2,
|
|
503
528
|
prompt: input.prompt,
|
|
504
529
|
image: imageField,
|
|
505
530
|
size: aspectRatioToSize(input.aspectRatio),
|
|
@@ -562,12 +587,12 @@ async function decodeB64Png2(b64) {
|
|
|
562
587
|
}
|
|
563
588
|
var OpenAI_ImageGenerate_Stream = async (input, model, signal, emit) => {
|
|
564
589
|
const client = await getClient(model);
|
|
565
|
-
const
|
|
590
|
+
const modelName2 = getModelName(model);
|
|
566
591
|
const size = aspectRatioToSize2(input.aspectRatio);
|
|
567
|
-
if (
|
|
592
|
+
if (modelName2.startsWith("dall-e")) {
|
|
568
593
|
try {
|
|
569
594
|
const resp = await client.images.generate({
|
|
570
|
-
model:
|
|
595
|
+
model: modelName2,
|
|
571
596
|
prompt: input.prompt,
|
|
572
597
|
size,
|
|
573
598
|
quality: input.quality,
|
|
@@ -598,7 +623,7 @@ var OpenAI_ImageGenerate_Stream = async (input, model, signal, emit) => {
|
|
|
598
623
|
}
|
|
599
624
|
try {
|
|
600
625
|
const stream = await client.images.generate({
|
|
601
|
-
model:
|
|
626
|
+
model: modelName2,
|
|
602
627
|
prompt: input.prompt,
|
|
603
628
|
size,
|
|
604
629
|
quality: input.quality,
|
|
@@ -653,17 +678,17 @@ function isNotFoundError(err) {
|
|
|
653
678
|
return status === 404 || statusCode === 404 || code === "model_not_found";
|
|
654
679
|
}
|
|
655
680
|
async function assertOpenAiModelExists(model, signal) {
|
|
656
|
-
const
|
|
681
|
+
const modelName2 = modelNameOf(model);
|
|
657
682
|
const client = await getClient(model);
|
|
658
683
|
try {
|
|
659
|
-
await client.models.retrieve(
|
|
684
|
+
await client.models.retrieve(modelName2, signal ? { signal } : undefined);
|
|
660
685
|
} catch (err) {
|
|
661
686
|
if (isNotFoundError(err)) {
|
|
662
|
-
throw new Error(`${OPENAI} model "${
|
|
687
|
+
throw new Error(`${OPENAI} model "${modelName2}" was not found (provider API returned not found)`);
|
|
663
688
|
}
|
|
664
689
|
throw err;
|
|
665
690
|
}
|
|
666
|
-
return
|
|
691
|
+
return modelName2;
|
|
667
692
|
}
|
|
668
693
|
function remoteInfoBase(input) {
|
|
669
694
|
return {
|
|
@@ -678,14 +703,14 @@ function remoteInfoBase(input) {
|
|
|
678
703
|
};
|
|
679
704
|
}
|
|
680
705
|
var OpenAI_ModelInfo_Stream = async (input, model, signal, emit) => {
|
|
681
|
-
const
|
|
706
|
+
const modelName2 = await assertOpenAiModelExists(model, signal);
|
|
682
707
|
const base = remoteInfoBase(input);
|
|
683
708
|
if (input.detail === "dimensions") {
|
|
684
709
|
const pc = model?.provider_config;
|
|
685
710
|
let native_dimensions = typeof pc?.native_dimensions === "number" ? pc.native_dimensions : undefined;
|
|
686
711
|
let mrl = typeof pc?.mrl === "boolean" ? pc.mrl : undefined;
|
|
687
712
|
if (native_dimensions === undefined) {
|
|
688
|
-
const known = OPENAI_EMBEDDING_DIMENSIONS[
|
|
713
|
+
const known = OPENAI_EMBEDDING_DIMENSIONS[modelName2];
|
|
689
714
|
if (known) {
|
|
690
715
|
native_dimensions = known.native_dimensions;
|
|
691
716
|
mrl = mrl ?? known.mrl;
|
|
@@ -738,15 +763,15 @@ function _resetOpenAIResponsesWarnings() {
|
|
|
738
763
|
// src/ai/common/OpenAI_StructuredGeneration.ts
|
|
739
764
|
var OpenAI_StructuredGeneration_Stream = async (input, model, signal, emit, outputSchema) => {
|
|
740
765
|
const client = await getClient(model);
|
|
741
|
-
const
|
|
766
|
+
const modelName2 = getModelName(model);
|
|
742
767
|
const schema = input.outputSchema ?? outputSchema;
|
|
743
768
|
const strict = isStrictCompatibleSchema(schema);
|
|
744
769
|
if (!strict) {
|
|
745
770
|
const reason = firstNonStrictReason(schema) ?? "unknown reason";
|
|
746
|
-
warnStrictDowngradedOnce(
|
|
771
|
+
warnStrictDowngradedOnce(modelName2, reason);
|
|
747
772
|
}
|
|
748
773
|
const params = {
|
|
749
|
-
model:
|
|
774
|
+
model: modelName2,
|
|
750
775
|
input: input.prompt,
|
|
751
776
|
text: {
|
|
752
777
|
format: {
|
|
@@ -804,9 +829,9 @@ var OpenAI_TextEmbedding_Stream = async (input, model, signal, emit) => {
|
|
|
804
829
|
logger.time(timerLabel, { model: getModelName(model) });
|
|
805
830
|
try {
|
|
806
831
|
const client = await getClient(model);
|
|
807
|
-
const
|
|
832
|
+
const modelName2 = getModelName(model);
|
|
808
833
|
const response = await client.embeddings.create({
|
|
809
|
-
model:
|
|
834
|
+
model: modelName2,
|
|
810
835
|
input: input.text
|
|
811
836
|
}, { signal });
|
|
812
837
|
const result = Array.isArray(input.text) ? {
|
|
@@ -863,12 +888,12 @@ function buildResponsesParams(input, model) {
|
|
|
863
888
|
params.temperature = input.temperature;
|
|
864
889
|
if (input.topP !== undefined)
|
|
865
890
|
params.top_p = input.topP;
|
|
866
|
-
const
|
|
891
|
+
const modelName2 = getModelName(model);
|
|
867
892
|
if (input.frequencyPenalty !== undefined) {
|
|
868
|
-
warnPenaltyDroppedOnce(
|
|
893
|
+
warnPenaltyDroppedOnce(modelName2, "frequencyPenalty");
|
|
869
894
|
}
|
|
870
895
|
if (input.presencePenalty !== undefined) {
|
|
871
|
-
warnPenaltyDroppedOnce(
|
|
896
|
+
warnPenaltyDroppedOnce(modelName2, "presencePenalty");
|
|
872
897
|
}
|
|
873
898
|
return params;
|
|
874
899
|
}
|
|
@@ -956,7 +981,7 @@ import {
|
|
|
956
981
|
import { filterValidToolCalls, toOpenAIMessages as toOpenAIMessages3 } from "@workglow/ai/worker";
|
|
957
982
|
var OpenAI_ToolCalling_Stream = async (input, model, signal, emit, _outputSchema, sessionContext) => {
|
|
958
983
|
const client = await getClient(model);
|
|
959
|
-
const
|
|
984
|
+
const modelName2 = getModelName(model);
|
|
960
985
|
const merged = mergeOpenAICheckpointPrefix(sessionContext, input);
|
|
961
986
|
const toolDefinitions = merged?.tools ?? input.tools;
|
|
962
987
|
const tools = buildResponsesTools3(toolDefinitions);
|
|
@@ -970,7 +995,7 @@ var OpenAI_ToolCalling_Stream = async (input, model, signal, emit, _outputSchema
|
|
|
970
995
|
});
|
|
971
996
|
const toolChoice = mapResponsesToolChoice(input.toolChoice);
|
|
972
997
|
const params = {
|
|
973
|
-
model:
|
|
998
|
+
model: modelName2,
|
|
974
999
|
input: responsesInput,
|
|
975
1000
|
tools,
|
|
976
1001
|
tool_choice: toolChoice
|
|
@@ -1034,6 +1059,7 @@ var _testOnly2 = {
|
|
|
1034
1059
|
export {
|
|
1035
1060
|
registerOpenAiImageValidator,
|
|
1036
1061
|
registerOpenAi,
|
|
1062
|
+
openaiEffortPolicy,
|
|
1037
1063
|
_testOnly2 as _testOnly,
|
|
1038
1064
|
OpenAiModelSchema,
|
|
1039
1065
|
OpenAiModelRecordSchema,
|
|
@@ -1043,4 +1069,4 @@ export {
|
|
|
1043
1069
|
OPENAI
|
|
1044
1070
|
};
|
|
1045
1071
|
|
|
1046
|
-
//# debugId=
|
|
1072
|
+
//# debugId=DBF9B40419E62C1164756E2164756E21
|
package/dist/ai.js.map
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/ai/common/OpenAI_Client.ts", "../src/ai/common/OpenAI_Constants.ts", "../src/ai/common/OpenAI_ImageValidation.ts", "../src/ai/common/OpenAI_ModelSchema.ts", "../src/ai/common/OpenAI_ModelSearch.ts", "../src/ai/registerOpenAi.ts", "../src/ai/OpenAiQueuedProvider.ts", "../src/ai/common/OpenAI_CapabilitySets.ts", "../src/ai/common/OpenAI_Capabilities.ts", "../src/ai/common/OpenAI_CacheCheckpoint.ts", "../src/ai/common/OpenAI_CountTokens.ts", "../src/ai/common/OpenAI_ImageEdit.ts", "../src/ai/common/OpenAI_ImageGenerate.ts", "../src/ai/common/OpenAI_ModelInfo.ts", "../src/ai/common/OpenAI_StructuredGeneration.ts", "../src/ai/common/OpenAI_ResponsesWarnings.ts", "../src/ai/common/OpenAI_TextEmbedding.ts", "../src/ai/common/OpenAI_TextGeneration.ts", "../src/ai/common/OpenAI_TextRewriter.ts", "../src/ai/common/OpenAI_TextSummary.ts", "../src/ai/common/OpenAI_ToolCalling.ts", "../src/ai/common/OpenAI_JobRunFns.ts", "../src/ai/index.ts"],
|
|
3
|
+
"sources": ["../src/ai/common/OpenAI_Client.ts", "../src/ai/common/OpenAI_Constants.ts", "../src/ai/common/OpenAI_EffortPolicy.ts", "../src/ai/common/OpenAI_ImageValidation.ts", "../src/ai/common/OpenAI_ModelSchema.ts", "../src/ai/common/OpenAI_ModelSearch.ts", "../src/ai/registerOpenAi.ts", "../src/ai/OpenAiQueuedProvider.ts", "../src/ai/common/OpenAI_CapabilitySets.ts", "../src/ai/common/OpenAI_Capabilities.ts", "../src/ai/common/OpenAI_CacheCheckpoint.ts", "../src/ai/common/OpenAI_CountTokens.ts", "../src/ai/common/OpenAI_ImageEdit.ts", "../src/ai/common/OpenAI_ImageGenerate.ts", "../src/ai/common/OpenAI_ModelInfo.ts", "../src/ai/common/OpenAI_StructuredGeneration.ts", "../src/ai/common/OpenAI_ResponsesWarnings.ts", "../src/ai/common/OpenAI_TextEmbedding.ts", "../src/ai/common/OpenAI_TextGeneration.ts", "../src/ai/common/OpenAI_TextRewriter.ts", "../src/ai/common/OpenAI_TextSummary.ts", "../src/ai/common/OpenAI_ToolCalling.ts", "../src/ai/common/OpenAI_JobRunFns.ts", "../src/ai/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { isModelEffort, type ModelEffort } from \"@workglow/ai\";\nimport { isBrowserLike, resolveApiKey, validateProviderBaseUrl } from \"@workglow/ai/provider-utils\";\nimport type { OpenAiModelConfig } from \"./OpenAI_ModelSchema\";\n\n/** Maps coarse {@link ModelEffort} to OpenAI Responses `reasoning.effort`. */\nconst EFFORT_TO_OPENAI: Record<ModelEffort, string> = {\n none: \"none\",\n low: \"low\",\n medium: \"medium\",\n high: \"high\",\n extra: \"xhigh\",\n ultra: \"max\",\n};\n\n/**\n * Hostnames (or hostname suffixes) accepted for OpenAI `base_url` without\n * the explicit `trustedBaseUrl` opt-out. Includes Azure OpenAI tenants.\n */\nexport const OPENAI_ALLOWED_HOSTS: readonly string[] = [\"api.openai.com\", \".openai.azure.com\"];\n\ntype OpenAIClientClass = new (config: any) => any;\n\nlet _loadPromise: Promise<OpenAIClientClass> | undefined;\n\n// NOTE: we do not want to de-dup this in the provider-utils, vite wants direct import with string literals.\nexport async function loadOpenAISDK(): Promise<OpenAIClientClass> {\n _loadPromise ??= import(/* @vite-ignore */ \"openai\")\n\n .then((mod) => mod.default as OpenAIClientClass)\n .catch(() => {\n _loadPromise = undefined;\n throw new Error(\"openai is required for OpenAI tasks. Install it with: bun add openai\");\n });\n return _loadPromise;\n}\n\ninterface ResolvedProviderConfig {\n readonly credential_key?: string;\n readonly api_key?: string;\n readonly model_name?: string;\n readonly base_url?: string;\n readonly organization?: string;\n readonly prompt_cache_key?: string;\n readonly reasoning?: { readonly effort?: string; readonly mode?: string };\n /**\n * When `true`, accept the `base_url` even if its hostname is not in\n * {@link OPENAI_ALLOWED_HOSTS}. Use only for known-good custom enterprise\n * gateways. The URL still has to parse and use a safe scheme.\n */\n readonly trustedBaseUrl?: boolean;\n}\n\nlet _testClient: unknown;\n\n/**\n * Override the client returned by {@link getClient} so runtime tests can\n * capture the requests the OpenAI run-fns build without a live SDK, API key,\n * or network call. Pass `undefined` to restore normal SDK-backed creation.\n * This lives in the runtime module (not a `vi.mock` of `openai`) so it works\n * identically whether the provider resolves to `src` or the bundled `dist`,\n * and is immune to duplicate SDK copies across the workspace defeating\n * module-level mocks.\n */\nfunction setOpenAIClientForTests(client: unknown): void {\n _testClient = client;\n}\n\n/**\n * @internal Symbols exported only for use by `@workglow/test`. Not part of the\n * stable public API. Surfaced on the `ai-runtime` barrel (via `export *`) and\n * merged into the `/ai` barrel's `_testOnly`.\n */\nexport const _testOnly = {\n setOpenAIClientForTests,\n} as const;\n\nexport async function getClient(model: OpenAiModelConfig | undefined) {\n if (_testClient) return _testClient as InstanceType<OpenAIClientClass>;\n const OpenAI = await loadOpenAISDK();\n const config = model?.provider_config as ResolvedProviderConfig | undefined;\n const apiKey = resolveApiKey({\n config,\n envVar: \"OPENAI_API_KEY\",\n providerLabel: \"OpenAI\",\n });\n // Throw before SDK construction on a rejected base_url so the API key is\n // never sent to an unvalidated host.\n const baseURL = validateProviderBaseUrl(config?.base_url, {\n vendor: \"openai\",\n allowHosts: OPENAI_ALLOWED_HOSTS,\n trustedBaseUrl: config?.trustedBaseUrl,\n providerLabel: \"OpenAI\",\n });\n try {\n return new OpenAI({\n apiKey,\n baseURL,\n organization: config?.organization || undefined,\n dangerouslyAllowBrowser: isBrowserLike(),\n });\n } catch (err) {\n throw new Error(\n `Failed to create OpenAI client: ${err instanceof Error ? err.message : \"unknown error\"}`\n );\n }\n}\n\nexport function getModelName(model: OpenAiModelConfig | undefined): string {\n const name = model?.provider_config?.model_name;\n if (!name) {\n throw new Error(\"Missing model name in provider_config.model_name.\");\n }\n return name;\n}\n\n/**\n * Resolves the `reasoning` object for reasoning-capable models (GPT-5.6\n * sol/terra/luna and the o-series). Native `provider_config.reasoning` wins;\n * otherwise map `model.effort`. Returns `undefined` when neither is set.\n */\nexport function getReasoningConfig(\n model: OpenAiModelConfig | undefined\n): { effort?: string; mode?: string } | undefined {\n const reasoning = (model?.provider_config as ResolvedProviderConfig | undefined)?.reasoning;\n if (reasoning && (reasoning.effort !== undefined || reasoning.mode !== undefined)) {\n return reasoning;\n }\n if (isModelEffort(model?.effort)) {\n return { effort: EFFORT_TO_OPENAI[model.effort] };\n }\n return undefined;\n}\n\n/** Deterministic 32-bit FNV-1a hash → 8-char hex. Worker-safe (no crypto import). */\nfunction fnv1aHex(input: string): string {\n let hash = 0x811c9dc5;\n for (let i = 0; i < input.length; i++) {\n hash ^= input.charCodeAt(i);\n hash = Math.imul(hash, 0x01000193);\n }\n return (hash >>> 0).toString(16).padStart(8, \"0\");\n}\n\n/**\n * Resolves the Responses `prompt_cache_key`. Uses an explicit\n * `provider_config.prompt_cache_key` override when set, otherwise derives a\n * stable key from the request's cache-relevant prefix (model + system\n * instructions + tools) so requests sharing that prefix converge on one key and\n * hit the cache. GPT-5.6 bills cache writes, so a stable key (not a random one)\n * is the cost-correct default.\n */\nexport function resolvePromptCacheKey(\n model: OpenAiModelConfig | undefined,\n params: { model?: unknown; instructions?: unknown; tools?: unknown }\n): string {\n const override = (model?.provider_config as ResolvedProviderConfig | undefined)?.prompt_cache_key;\n if (override) return override;\n const material = JSON.stringify([\n params.model ?? \"\",\n params.instructions ?? \"\",\n params.tools ?? null,\n ]);\n return `wg-${fnv1aHex(material)}`;\n}\n\n/**\n * Applies the per-request Responses fields common to every OpenAI text run-fn:\n * the model's `reasoning` config and a stable `prompt_cache_key`. Mutates and\n * returns `params` so callers can inline it into the create call. Call this\n * last, after model/instructions/tools/temperature are populated, so the cache\n * key sees the full prefix and the reasoning default can see the temperature.\n *\n * When the caller pinned a `temperature` but expressed no reasoning preference,\n * reasoning is forced off. The two are not independently selectable on the\n * reasoning families: `gpt-5.6-luna` answers `temperature` alone with\n * `400 Unsupported parameter: 'temperature' is not supported with this model`,\n * yet accepts `{reasoning: {effort: \"none\"}, temperature: 0}`. A caller asking\n * for a specific temperature is asking for controlled sampling, so honouring\n * that request — rather than failing it — is the useful reading. An explicit\n * `reasoning` in the model config always wins.\n */\nexport function finalizeResponsesRequest(\n model: OpenAiModelConfig | undefined,\n params: Record<string, unknown>\n): Record<string, unknown> {\n const reasoning = getReasoningConfig(model);\n if (reasoning !== undefined) params.reasoning = reasoning;\n else if (params.temperature !== undefined) params.reasoning = { effort: \"none\" };\n params.prompt_cache_key = resolvePromptCacheKey(model, params);\n return params;\n}\n",
|
|
6
6
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const OPENAI = \"OPENAI\";\n",
|
|
7
|
+
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { MODEL_EFFORTS, type ModelConfig, type ModelEffortPolicy } from \"@workglow/ai\";\n\nconst ALL = { supported: MODEL_EFFORTS, default: undefined } as const satisfies ModelEffortPolicy;\nconst REASONING = {\n supported: MODEL_EFFORTS,\n default: \"medium\",\n} as const satisfies ModelEffortPolicy;\nconst NONE = { supported: [], default: undefined } as const satisfies ModelEffortPolicy;\n\nfunction modelName(model: ModelConfig): string {\n return String(\n (model.provider_config as { model_name?: string } | undefined)?.model_name ?? \"\"\n ).trim();\n}\n\nexport function openaiEffortPolicy(model: ModelConfig): ModelEffortPolicy {\n const id = modelName(model);\n if (!id) return ALL;\n if (/^text-embedding/i.test(id) || /^gpt-image/i.test(id) || /^dall-e/i.test(id)) return NONE;\n if (/^gpt-5/i.test(id) || /^o[134]/i.test(id)) return REASONING;\n return NONE;\n}\n",
|
|
7
8
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { ModelConfig } from \"@workglow/ai\";\nimport { AiImageOutputTask, ProviderUnsupportedFeatureError } from \"@workglow/ai\";\n\nimport { OPENAI } from \"./OpenAI_Constants\";\n\n/**\n * Registers the OpenAI per-provider image validator. Called at provider registration time\n * (both inline and worker-backed paths) so it runs on the main thread before any dispatch.\n *\n * Currently validates:\n * - DALL-E 2 + non-empty `additionalImages` → throws (single-image edit only).\n * DALL-E 3 + ImageEditTask is rejected upstream by the model registry task-array check.\n */\nexport function registerOpenAiImageValidator(): void {\n AiImageOutputTask.registerProviderImageValidator(\n OPENAI,\n (taskType, input, model: ModelConfig) => {\n if (taskType !== \"ImageEditTask\") return;\n const modelName =\n (model.provider_config as { model_name?: string } | undefined)?.model_name ?? \"\";\n const additional = input[\"additionalImages\"] as unknown[] | undefined;\n if (modelName.startsWith(\"dall-e-2\") && Array.isArray(additional) && additional.length > 0) {\n throw new ProviderUnsupportedFeatureError(\n \"additionalImages\",\n model.model_id ?? modelName,\n \"DALL-E 2 only supports single-image edits\"\n );\n }\n }\n );\n}\n",
|
|
8
9
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { WithModelPricing } from \"@workglow/ai/worker\";\nimport { ModelConfigSchema, ModelRecordSchema } from \"@workglow/ai/worker\";\nimport type { DataPortSchemaObject, FromSchema } from \"@workglow/util/worker\";\nimport { OPENAI } from \"./OpenAI_Constants\";\n\nexport const OpenAiModelSchema = {\n type: \"object\",\n properties: {\n provider: {\n const: OPENAI,\n description: \"Discriminator: OpenAI cloud provider.\",\n },\n provider_config: {\n type: \"object\",\n description: \"OpenAI-specific configuration.\",\n properties: {\n model_name: {\n type: \"string\",\n description: \"The OpenAI model identifier (e.g., 'gpt-4o', 'text-embedding-3-small').\",\n },\n credential_key: {\n type: \"string\",\n format: \"credential\",\n description: \"Key to look up in the credential store for the API key.\",\n \"x-ui-hidden\": true,\n },\n base_url: {\n type: \"string\",\n description: \"Base URL for the OpenAI API. Useful for Azure OpenAI or proxy servers.\",\n default: \"https://api.openai.com/v1\",\n },\n trustedBaseUrl: {\n type: \"boolean\",\n description:\n \"When true, accept a base_url whose hostname is not in the built-in allow-list. Use only for known-good custom enterprise gateways — otherwise an attacker can exfiltrate the API key by pointing base_url at their own server.\",\n default: false,\n \"x-ui-hidden\": true,\n },\n organization: {\n type: \"string\",\n description: \"OpenAI organization ID (optional).\",\n },\n prompt_cache_key: {\n type: \"string\",\n description:\n \"Overrides the auto-derived Responses prompt_cache_key. Requests sharing a key share a cached prefix; leave unset to derive a stable key from the model + system instructions + tools.\",\n \"x-ui-hidden\": true,\n },\n reasoning: {\n type: \"object\",\n description:\n \"Reasoning controls for reasoning-capable models (e.g. the GPT-5.6 sol/terra/luna family), sent on the Responses API.\",\n properties: {\n effort: {\n type: \"string\",\n enum: [\"none\", \"minimal\", \"low\", \"medium\", \"high\", \"xhigh\", \"max\"],\n description: \"Reasoning effort. Higher effort trades latency and cost for quality.\",\n },\n mode: {\n type: \"string\",\n enum: [\"pro\"],\n description:\n \"Set to 'pro' for the quality-first pro configuration on supported models.\",\n },\n },\n additionalProperties: false,\n },\n },\n required: [\"model_name\"],\n additionalProperties: false,\n },\n },\n required: [\"provider\", \"provider_config\"],\n additionalProperties: true,\n} as const satisfies DataPortSchemaObject;\n\nexport const OpenAiModelRecordSchema = {\n type: \"object\",\n properties: {\n ...ModelRecordSchema.properties,\n ...OpenAiModelSchema.properties,\n },\n required: [...ModelRecordSchema.required, ...OpenAiModelSchema.required],\n additionalProperties: false,\n} as const satisfies DataPortSchemaObject;\n\nexport type OpenAiModelRecord = WithModelPricing<FromSchema<typeof OpenAiModelRecordSchema>>;\n\nexport const OpenAiModelConfigSchema = {\n type: \"object\",\n properties: {\n ...ModelConfigSchema.properties,\n ...OpenAiModelSchema.properties,\n },\n required: [...ModelConfigSchema.required, ...OpenAiModelSchema.required],\n additionalProperties: false,\n} as const satisfies DataPortSchemaObject;\n\nexport type OpenAiModelConfig = WithModelPricing<FromSchema<typeof OpenAiModelConfigSchema>>;\n",
|
|
9
|
-
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n ModelSearchResultItem,\n ModelSearchTaskInput,\n ModelSearchTaskOutput,\n} from \"@workglow/ai\";\nimport { filterLabeledModelsByQuery } from \"@workglow/ai/provider-utils\";\nimport { getClient } from \"./OpenAI_Client\";\nimport { OPENAI } from \"./OpenAI_Constants\";\n\ninterface OpenAiModelListItem {\n readonly label: string;\n readonly value: string;\n readonly description?: string;\n}\n\nconst OPENAI_FALLBACK: Array<{ label: string; value: string }> = [\n { label: \"gpt-image-2\", value: \"gpt-image-2\" },\n { label: \"dall-e-3\", value: \"dall-e-3\" },\n { label: \"gpt-5.6\", value: \"gpt-5.6\" },\n { label: \"gpt-5.6-sol\", value: \"gpt-5.6-sol\" },\n { label: \"gpt-5.6-terra\", value: \"gpt-5.6-terra\" },\n { label: \"gpt-5.6-luna\", value: \"gpt-5.6-luna\" },\n { label: \"gpt-5.5\", value: \"gpt-5.5\" },\n { label: \"gpt-5.4-mini\", value: \"gpt-5.4-mini\" },\n { label: \"gpt-5.4-nano\", value: \"gpt-5.4-nano\" },\n { label: \"gpt-5\", value: \"gpt-5\" },\n { label: \"gpt-5-mini\", value: \"gpt-5-mini\" },\n { label: \"gpt-4o-mini\", value: \"gpt-4o-mini\" },\n { label: \"gpt-4-turbo\", value: \"gpt-4-turbo\" },\n { label: \"o3\", value: \"o3\" },\n { label: \"o3-mini\", value: \"o3-mini\" },\n { label: \"o1\", value: \"o1\" },\n { label: \"o1-mini\", value: \"o1-mini\" },\n];\n\nconst OPENAI_IMAGE_MODELS: Array<{ value: string; capabilities: string[] }> = [\n { value: \"gpt-image-2\", capabilities: [\"image.generation\", \"image.editing\"] },\n { value: \"dall-e-3\", capabilities: [\"image.generation\"] },\n];\n\nasync function listOpenAiModels(credentialKey: string): Promise<OpenAiModelListItem[]> {\n const client = await getClient({\n provider: OPENAI,\n provider_config: { model_name: \"\", credential_key: credentialKey },\n });\n const models: OpenAiModelListItem[] = [];\n for await (const m of client.models.list()) {\n models.push({ label: m.id, value: m.id, description: m.owned_by });\n }\n models.sort((a, b) => {\n const aGpt = a.value.startsWith(\"gpt\") || a.value.startsWith(\"o1\") ? 0 : 1;\n const bGpt = b.value.startsWith(\"gpt\") || b.value.startsWith(\"o1\") ? 0 : 1;\n if (aGpt !== bGpt) return aGpt - bGpt;\n return a.value.localeCompare(b.value);\n });\n return models;\n}\n\nfunction mapModelList(models: OpenAiModelListItem[]): ModelSearchResultItem[] {\n return models.map((m) => {\n const imageEntry = OPENAI_IMAGE_MODELS.find((i) => i.value === m.value);\n return {\n id: m.value,\n label: m.label,\n description: m.description ?? \"\",\n record: {\n
|
|
10
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n ModelSearchResultItem,\n ModelSearchTaskInput,\n ModelSearchTaskOutput,\n} from \"@workglow/ai\";\nimport { filterLabeledModelsByQuery } from \"@workglow/ai/provider-utils\";\nimport { stampEffortOptions } from \"@workglow/ai/worker\";\nimport { getClient } from \"./OpenAI_Client\";\nimport { OPENAI } from \"./OpenAI_Constants\";\nimport { openaiEffortPolicy } from \"./OpenAI_EffortPolicy\";\n\ninterface OpenAiModelListItem {\n readonly label: string;\n readonly value: string;\n readonly description?: string;\n}\n\nconst OPENAI_FALLBACK: Array<{ label: string; value: string }> = [\n { label: \"gpt-image-2\", value: \"gpt-image-2\" },\n { label: \"dall-e-3\", value: \"dall-e-3\" },\n { label: \"gpt-5.6\", value: \"gpt-5.6\" },\n { label: \"gpt-5.6-sol\", value: \"gpt-5.6-sol\" },\n { label: \"gpt-5.6-terra\", value: \"gpt-5.6-terra\" },\n { label: \"gpt-5.6-luna\", value: \"gpt-5.6-luna\" },\n { label: \"gpt-5.5\", value: \"gpt-5.5\" },\n { label: \"gpt-5.4-mini\", value: \"gpt-5.4-mini\" },\n { label: \"gpt-5.4-nano\", value: \"gpt-5.4-nano\" },\n { label: \"gpt-5\", value: \"gpt-5\" },\n { label: \"gpt-5-mini\", value: \"gpt-5-mini\" },\n { label: \"gpt-4o-mini\", value: \"gpt-4o-mini\" },\n { label: \"gpt-4-turbo\", value: \"gpt-4-turbo\" },\n { label: \"o3\", value: \"o3\" },\n { label: \"o3-mini\", value: \"o3-mini\" },\n { label: \"o1\", value: \"o1\" },\n { label: \"o1-mini\", value: \"o1-mini\" },\n];\n\nconst OPENAI_IMAGE_MODELS: Array<{ value: string; capabilities: string[] }> = [\n { value: \"gpt-image-2\", capabilities: [\"image.generation\", \"image.editing\"] },\n { value: \"dall-e-3\", capabilities: [\"image.generation\"] },\n];\n\nasync function listOpenAiModels(credentialKey: string): Promise<OpenAiModelListItem[]> {\n const client = await getClient({\n provider: OPENAI,\n provider_config: { model_name: \"\", credential_key: credentialKey },\n });\n const models: OpenAiModelListItem[] = [];\n for await (const m of client.models.list()) {\n models.push({ label: m.id, value: m.id, description: m.owned_by });\n }\n models.sort((a, b) => {\n const aGpt = a.value.startsWith(\"gpt\") || a.value.startsWith(\"o1\") ? 0 : 1;\n const bGpt = b.value.startsWith(\"gpt\") || b.value.startsWith(\"o1\") ? 0 : 1;\n if (aGpt !== bGpt) return aGpt - bGpt;\n return a.value.localeCompare(b.value);\n });\n return models;\n}\n\nfunction mapModelList(models: OpenAiModelListItem[]): ModelSearchResultItem[] {\n return models.map((m) => {\n const imageEntry = OPENAI_IMAGE_MODELS.find((i) => i.value === m.value);\n return {\n id: m.value,\n label: m.label,\n description: m.description ?? \"\",\n record: stampEffortOptions(\n {\n model_id: m.value,\n provider: OPENAI,\n title: m.value,\n description: \"\",\n capabilities: imageEntry?.capabilities ?? [],\n provider_config: { model_name: m.value },\n metadata: {},\n },\n openaiEffortPolicy({ provider: OPENAI, provider_config: { model_name: m.value } })\n ),\n raw: m,\n };\n });\n}\n\n/**\n * One-shot run-fn for `[\"model.search\"]`. Emits a\n * single `finish` event with the search results. When no credential key is\n * provided, falls back to a curated static list of well-known OpenAI models.\n */\nexport const OpenAI_ModelSearch_Stream: AiProviderRunFn<\n ModelSearchTaskInput,\n ModelSearchTaskOutput\n> = async (input, _model, _signal, emit) => {\n let models: OpenAiModelListItem[];\n if (!input.credential_key) {\n models = OPENAI_FALLBACK;\n } else {\n models = await listOpenAiModels(input.credential_key);\n }\n models = filterLabeledModelsByQuery(models, input.query);\n emit({ type: \"finish\", data: { results: mapModelList(models) } });\n};\n",
|
|
10
11
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRegisterOptions } from \"@workglow/ai\";\nimport { registerProviderWithWorker } from \"@workglow/ai/provider-utils\";\nimport { OpenAiQueuedProvider } from \"./OpenAiQueuedProvider\";\nimport { registerOpenAiImageValidator } from \"./common/OpenAI_ImageValidation\";\n\nexport async function registerOpenAi(\n options: AiProviderRegisterOptions & {\n worker: Worker | (() => Worker);\n }\n): Promise<void> {\n registerOpenAiImageValidator();\n await registerProviderWithWorker(new OpenAiQueuedProvider(), \"OpenAI\", options);\n}\n",
|
|
11
|
-
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Capability, ModelRecord } from \"@workglow/ai\";\nimport { AiProvider } from \"@workglow/ai\";\nimport { createCloudProviderClass } from \"@workglow/ai/provider-utils\";\nimport { inferOpenAiCapabilities, openAiWorkerRunFnSpecs } from \"./common/OpenAI_Capabilities\";\nimport { OPENAI } from \"./common/OpenAI_Constants\";\nimport type { OpenAiModelConfig } from \"./common/OpenAI_ModelSchema\";\n\n/**\n * Main-thread registration shell for OpenAI. Used both for inline mode\n * (constructed with the run-fn registrations array) and worker-backed mode\n * (constructed empty so the base class registers worker proxies). No queue\n * is created — OpenAI uses {@link DirectExecutionStrategy}.\n */\nexport class OpenAiQueuedProvider extends createCloudProviderClass<OpenAiModelConfig>(AiProvider, {\n name: OPENAI,\n displayName: \"OpenAI\",\n}) {\n override inferCapabilities(model: ModelRecord): readonly Capability[] {\n return inferOpenAiCapabilities(model);\n }\n\n protected override workerRunFnSpecs(): readonly { serves: readonly Capability[] }[] {\n return openAiWorkerRunFnSpecs();\n }\n}\n",
|
|
12
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Capability, ModelEffortPolicy, ModelRecord } from \"@workglow/ai\";\nimport { AiProvider } from \"@workglow/ai\";\nimport { createCloudProviderClass } from \"@workglow/ai/provider-utils\";\nimport { inferOpenAiCapabilities, openAiWorkerRunFnSpecs } from \"./common/OpenAI_Capabilities\";\nimport { OPENAI } from \"./common/OpenAI_Constants\";\nimport { openaiEffortPolicy } from \"./common/OpenAI_EffortPolicy\";\nimport type { OpenAiModelConfig } from \"./common/OpenAI_ModelSchema\";\n\n/**\n * Main-thread registration shell for OpenAI. Used both for inline mode\n * (constructed with the run-fn registrations array) and worker-backed mode\n * (constructed empty so the base class registers worker proxies). No queue\n * is created — OpenAI uses {@link DirectExecutionStrategy}.\n */\nexport class OpenAiQueuedProvider extends createCloudProviderClass<OpenAiModelConfig>(AiProvider, {\n name: OPENAI,\n displayName: \"OpenAI\",\n}) {\n override inferCapabilities(model: ModelRecord): readonly Capability[] {\n return inferOpenAiCapabilities(model);\n }\n\n override effortPolicy(model: OpenAiModelConfig): ModelEffortPolicy | undefined {\n return openaiEffortPolicy(model);\n }\n\n protected override workerRunFnSpecs(): readonly { serves: readonly Capability[] }[] {\n return openAiWorkerRunFnSpecs();\n }\n}\n",
|
|
12
13
|
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Capability } from \"@workglow/ai/worker\";\n\n/**\n * Single source of truth for OpenAI's capability sets.\n *\n * Both `OPENAI_RUN_FNS` (the worker-side registration list) and\n * `workerRunFnSpecs()` (the main-thread proxy declaration) derive their\n * `serves` arrays from these named exports. SDK-free so the main thread\n * can import without paying the OpenAI client cost.\n *\n * To add a new capability set: declare a new `as const` constant here,\n * then reference it from both `OPENAI_RUN_FNS` and `OPENAI_RUN_FN_SPECS`.\n */\nexport const OPENAI_TEXT_GENERATION = [\"text.generation\"] as const satisfies Capability[];\nexport const OPENAI_TOOL_USE = [\"text.generation\", \"tool-use\"] as const satisfies Capability[];\nexport const OPENAI_JSON_MODE = [\"text.generation\", \"json-mode\"] as const satisfies Capability[];\nexport const OPENAI_TEXT_REWRITER = [\"text.rewriter\"] as const satisfies Capability[];\nexport const OPENAI_TEXT_SUMMARY = [\"text.summary\"] as const satisfies Capability[];\nexport const OPENAI_TEXT_EMBEDDING = [\"text.embedding\"] as const satisfies Capability[];\nexport const OPENAI_IMAGE_GENERATION = [\"image.generation\"] as const satisfies Capability[];\nexport const OPENAI_IMAGE_EDITING = [\"image.editing\"] as const satisfies Capability[];\nexport const OPENAI_COUNT_TOKENS = [\"model.count-tokens\"] as const satisfies Capability[];\nexport const OPENAI_MODEL_SEARCH = [\"model.search\"] as const satisfies Capability[];\nexport const OPENAI_MODEL_INFO = [\"model.info\"] as const satisfies Capability[];\nexport const OPENAI_CACHE_CHECKPOINT = [\"cache.checkpoint\"] as const satisfies Capability[];\n\n/** Aggregated list — for `workerRunFnSpecs()` derivation. Order MUST match `OPENAI_RUN_FNS`. */\nexport const OPENAI_CAPABILITY_SETS = [\n OPENAI_TEXT_GENERATION,\n OPENAI_TOOL_USE,\n OPENAI_JSON_MODE,\n OPENAI_TEXT_REWRITER,\n OPENAI_TEXT_SUMMARY,\n OPENAI_TEXT_EMBEDDING,\n OPENAI_IMAGE_GENERATION,\n OPENAI_IMAGE_EDITING,\n OPENAI_COUNT_TOKENS,\n OPENAI_MODEL_SEARCH,\n OPENAI_MODEL_INFO,\n OPENAI_CACHE_CHECKPOINT,\n] as const;\n",
|
|
13
14
|
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Capability, ModelRecord } from \"@workglow/ai/worker\";\nimport { OPENAI_CAPABILITY_SETS } from \"./OpenAI_CapabilitySets\";\n\n/**\n * Closed list of capability-set specs the OpenAI provider serves. Derived\n * from {@link OPENAI_CAPABILITY_SETS}. Used by the main-thread provider\n * shells when registering worker-mode proxies so the dispatcher can route\n * requests to the worker proxy.\n */\nexport const OPENAI_RUN_FN_SPECS = OPENAI_CAPABILITY_SETS.map((serves) => ({ serves }));\n\nexport function openAiWorkerRunFnSpecs(): readonly { readonly serves: readonly Capability[] }[] {\n return OPENAI_RUN_FN_SPECS;\n}\n\n/**\n * Shape used by the model-name regexes — `model_id` is required, the rest\n * is loosely-typed metadata only used to opportunistically widen the\n * inferred capability set.\n */\ntype CapabilityHints = Pick<ModelRecord, \"model_id\" | \"provider_config\" | \"capabilities\">;\n\n/**\n * Heuristic capability inference for an OpenAI {@link ModelRecord}. Pattern-\n * matches the canonical OpenAI model id strings (and the `provider_config.\n * model_name` if present) to a closed set of {@link Capability}s. Falls back\n * to the model's stored `capabilities` array (or a baseline of search +\n * info) when no pattern matches.\n *\n * Main-thread method only — workers do not run capability inference.\n */\nexport function inferOpenAiCapabilities(model: CapabilityHints): readonly Capability[] {\n const id = String(\n model.model_id ??\n (model.provider_config as { model_name?: string } | undefined)?.model_name ??\n \"\"\n );\n\n // Embedding models — text-embedding-3-{small,large}, text-embedding-ada-002.\n if (/^text-embedding/i.test(id)) {\n return [\"text.embedding\", \"model.count-tokens\", \"model.info\", \"model.search\"];\n }\n\n // Image models — DALL-E and gpt-image families.\n if (/^dall-e/i.test(id)) {\n // DALL-E 2/3 do NOT support edit consistently — gpt-image-* does. Cover\n // generation only here; the gpt-image branch below adds editing.\n return [\"image.generation\", \"model.info\", \"model.search\"];\n }\n if (/^gpt-image/i.test(id)) {\n return [\"image.generation\", \"image.editing\", \"model.info\", \"model.search\"];\n }\n\n // Chat / reasoning models — gpt-3.5/4/4o/5/...; o-series reasoning models (o1, o3, o4, future).\n // GPT-4o, gpt-4-vision-*, gpt-4-turbo, and all o-series additionally accept image inputs.\n if (/^gpt-/i.test(id) || /^o\\d/i.test(id)) {\n const caps: Capability[] = [\n \"text.generation\",\n \"text.rewriter\",\n \"text.summary\",\n \"tool-use\",\n \"json-mode\",\n \"cache.checkpoint\",\n \"model.count-tokens\",\n \"model.info\",\n \"model.search\",\n ];\n const supportsVision =\n /gpt-4o|gpt-4\\.1|gpt-5|gpt-4-vision|gpt-4-turbo/i.test(id) || /^o\\d/i.test(id);\n if (supportsVision) {\n caps.push(\"vision-input\");\n }\n return caps;\n }\n\n // Unknown model — fall back to whatever the record declared, or just\n // expose the meta-ops so the model can still be searched / inspected.\n const declared = (model.capabilities as readonly Capability[] | undefined) ?? [];\n if (declared.length > 0) return declared;\n return [\"model.search\", \"model.info\"];\n}\n",
|
|
14
15
|
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n AiSessionContext,\n CacheCheckpointTaskInput,\n CacheCheckpointTaskOutput,\n ChatMessage,\n ToolDefinition,\n} from \"@workglow/ai\";\nimport {\n buildResponsesInput,\n buildResponsesTools,\n mapOpenAIResponsesUsage,\n} from \"@workglow/ai/provider-utils\";\nimport { promptToTailMessages, toOpenAIMessages } from \"@workglow/ai/worker\";\nimport { finalizeResponsesRequest, getClient, getModelName } from \"./OpenAI_Client\";\nimport type { OpenAiModelConfig } from \"./OpenAI_ModelSchema\";\n\n/**\n * Merges a checkpoint prefix into the unified generation input: the prefix's\n * messages come first, the caller's tail follows (its `messages`, or its\n * `prompt` lifted into a user message — the shared message builders only fall\n * back to `prompt` when the message list is empty), the prefix system prompt\n * applies when the call carries none (an explicit `\"\"` falls through too —\n * suppressing the warmed instructions would diverge the replayed prefix), and\n * the effective `tools` are the caller's when it declares any, else the\n * prefix's — tools precede the conversation in the serialized request, so a\n * tools-warmed prefix consumed without them never shares the warm-up's cached\n * prefix. Returns undefined when the session has no prefix so plain calls\n * take the unmodified path.\n *\n * OpenAI's prompt caching is automatic and keyed on the request's literal\n * token prefix, so replaying identical prefix content is both the correctness\n * path and the cache-hit path — no per-request cache annotations exist.\n */\nexport function mergeOpenAICheckpointPrefix(\n session: AiSessionContext | undefined,\n input: {\n readonly messages?: readonly unknown[] | undefined;\n readonly systemPrompt?: string | undefined;\n readonly prompt?: unknown;\n readonly tools?: readonly ToolDefinition[] | undefined;\n }\n):\n | {\n messages: readonly ChatMessage[];\n systemPrompt: string | undefined;\n tools: readonly ToolDefinition[] | undefined;\n }\n | undefined {\n const prefix = session?.prefix;\n if (!prefix) return undefined;\n const tail: readonly ChatMessage[] =\n Array.isArray(input.messages) && input.messages.length > 0\n ? (input.messages as readonly ChatMessage[])\n : promptToTailMessages(input.prompt);\n return {\n messages: [...(prefix.messages ?? []), ...tail],\n systemPrompt: input.systemPrompt || prefix.systemPrompt,\n tools: input.tools && input.tools.length > 0 ? input.tools : prefix.tools,\n };\n}\n\n/**\n * Warm-up run-fn for `[\"cache.checkpoint\"]` on OpenAI. Sends the prefix once\n * (minimal `max_output_tokens` — the Responses API floor is 16) so the\n * server-side automatic prompt cache is populated before consumers arrive.\n *\n * The warm-up is advisory: OpenAI caches long prompt prefixes on its own and\n * may evict at any time, so consumption never depends on this call having\n * succeeded — consumers always replay the full prefix content.\n * {@link finalizeResponsesRequest} derives the `prompt_cache_key` from the\n * request's model + instructions + tools, so this warm-up and every consumer\n * replaying the same prefix converge on the same key without coordination.\n */\nexport const OpenAI_CacheCheckpoint_Stream: AiProviderRunFn<\n CacheCheckpointTaskInput,\n CacheCheckpointTaskOutput,\n OpenAiModelConfig\n> = async (_input, model, signal, emit, _outputSchema, session) => {\n const prefix = session?.prefix ?? {};\n const client = await getClient(model);\n\n // The \".\" prompt is a throwaway user turn used only when the prefix has no\n // messages of its own (toOpenAIMessages ignores it otherwise); the cached\n // value is the system/tools region ahead of it.\n const messages = toOpenAIMessages({\n messages: prefix.messages ?? [],\n systemPrompt: prefix.systemPrompt,\n prompt: \".\",\n tools: [],\n } as never);\n const { input: responsesInput, instructions } = buildResponsesInput({ messages });\n\n const params: Record<string, unknown> = {\n model: getModelName(model),\n input: responsesInput,\n max_output_tokens: 16,\n };\n if (instructions !== undefined) params.instructions = instructions;\n if (prefix.tools && prefix.tools.length > 0) {\n params.tools = buildResponsesTools(prefix.tools);\n }\n finalizeResponsesRequest(model, params);\n\n const response = await (client.responses.create as (p: unknown, o: unknown) => Promise<unknown>)(\n params,\n { signal }\n );\n const usage = mapOpenAIResponsesUsage((response as { usage?: unknown } | undefined)?.usage);\n emit({\n type: \"finish\",\n data: { checkpoint: session?.sessionId ?? \"\" },\n ...(usage ? { usage } : {}),\n });\n};\n",
|
|
@@ -24,9 +25,9 @@
|
|
|
24
25
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRunFn, TextSummaryTaskInput, TextSummaryTaskOutput } from \"@workglow/ai\";\nimport {\n accumulateOpenAIResponsesStream,\n createEstimatedOutputUsageReporter,\n promptTextForResponsesUsageEstimate,\n} from \"@workglow/ai/provider-utils\";\nimport { finalizeResponsesRequest, getClient, getModelName } from \"./OpenAI_Client\";\nimport type { OpenAiModelConfig } from \"./OpenAI_ModelSchema\";\n\n/**\n * Streaming run-fn for `[\"text.summary\"]`. Emits `text-delta` events on\n * the `text` port and a final empty `finish` event.\n */\nexport const OpenAI_TextSummary_Stream: AiProviderRunFn<\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n OpenAiModelConfig\n> = async (input, model, signal, emit) => {\n const client = await getClient(model);\n\n const params: Record<string, unknown> = {\n model: getModelName(model),\n instructions: \"Summarize the following text concisely.\",\n input: input.text,\n };\n finalizeResponsesRequest(model, params);\n\n const promptText = promptTextForResponsesUsageEstimate(params);\n createEstimatedOutputUsageReporter(emit).onPrompt(promptText);\n\n const stream = await client.responses.create(\n { ...params, stream: true } as Parameters<typeof client.responses.create>[0],\n { signal }\n );\n\n const usage = await accumulateOpenAIResponsesStream(stream as AsyncIterable<unknown>, emit, {\n promptText,\n });\n emit({ type: \"finish\", data: {} as TextSummaryTaskOutput, usage });\n};\n",
|
|
25
26
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n ToolCallingTaskInput,\n ToolCallingTaskOutput,\n ToolCalls,\n} from \"@workglow/ai\";\nimport {\n accumulateOpenAIResponsesStream,\n buildResponsesInput,\n buildResponsesTools,\n createEstimatedOutputUsageReporter,\n mapResponsesToolChoice,\n promptTextForResponsesUsageEstimate,\n} from \"@workglow/ai/provider-utils\";\nimport { filterValidToolCalls, toOpenAIMessages } from \"@workglow/ai/worker\";\nimport { mergeOpenAICheckpointPrefix } from \"./OpenAI_CacheCheckpoint\";\nimport { finalizeResponsesRequest, getClient, getModelName } from \"./OpenAI_Client\";\nimport type { OpenAiModelConfig } from \"./OpenAI_ModelSchema\";\n\n/**\n * Streaming run-fn for `[\"text.generation\", \"tool-use\"]`. Calls the OpenAI\n * Responses endpoint with `stream: true` and forwards delta events via\n * {@link accumulateOpenAIResponsesStream}, which emits `text-delta` and tool-call\n * `object-delta` events plus a final empty `finish`.\n *\n * Defence-in-depth: each tool-call `object-delta` is filtered against the\n * effective tool declarations (the caller's tools, or the checkpoint prefix's\n * on fallback) so a hallucinated function name never reaches the consumer.\n */\nexport const OpenAI_ToolCalling_Stream: AiProviderRunFn<\n ToolCallingTaskInput,\n ToolCallingTaskOutput,\n OpenAiModelConfig\n> = async (input, model, signal, emit, _outputSchema, sessionContext) => {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n // Checkpoint consumption: replay the prefix content ahead of the tail so the\n // request's literal prefix matches the warm-up and hits the automatic\n // server-side prompt cache. The effective tool declarations come from the\n // merge too — the caller's tools win, and an empty list falls back to the\n // prefix's so the warmed tool segment (and its prompt_cache_key) is shared.\n const merged = mergeOpenAICheckpointPrefix(sessionContext, input);\n const toolDefinitions = merged?.tools ?? input.tools;\n const tools = buildResponsesTools(toolDefinitions);\n const { input: responsesInput, instructions } = buildResponsesInput({\n messages: toOpenAIMessages(\n merged\n ? ({\n ...input,\n messages: merged.messages,\n systemPrompt: merged.systemPrompt,\n prompt: \"\",\n } as ToolCallingTaskInput)\n : input\n ),\n });\n const toolChoice = mapResponsesToolChoice(input.toolChoice);\n\n const params: Record<string, unknown> = {\n model: modelName,\n input: responsesInput,\n tools,\n tool_choice: toolChoice,\n };\n if (instructions !== undefined) params.instructions = instructions;\n if (input.maxTokens !== undefined) params.max_output_tokens = input.maxTokens;\n if (input.temperature !== undefined) params.temperature = input.temperature;\n finalizeResponsesRequest(model, params);\n\n const promptText = promptTextForResponsesUsageEstimate(params);\n createEstimatedOutputUsageReporter(emit).onPrompt(promptText);\n\n const stream = await client.responses.create(\n { ...params, stream: true } as Parameters<typeof client.responses.create>[0],\n { signal }\n );\n\n const usage = await accumulateOpenAIResponsesStream<ToolCallingTaskOutput>(\n stream as AsyncIterable<unknown>,\n (event) => {\n if (event.type === \"object-delta\" && event.port === \"toolCalls\") {\n const validated = filterValidToolCalls(event.objectDelta as ToolCalls, toolDefinitions);\n if (validated.length > 0) {\n emit({ type: \"object-delta\", port: \"toolCalls\", objectDelta: validated });\n }\n return;\n }\n emit(event);\n },\n { promptText }\n );\n emit({ type: \"finish\", data: { text: \"\", toolCalls: [] } as ToolCallingTaskOutput, usage });\n};\n",
|
|
26
27
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderPreviewRunFn, AiProviderRunFnRegistration } from \"@workglow/ai\";\nimport {\n OPENAI_CACHE_CHECKPOINT,\n OPENAI_COUNT_TOKENS,\n OPENAI_IMAGE_EDITING,\n OPENAI_IMAGE_GENERATION,\n OPENAI_JSON_MODE,\n OPENAI_MODEL_INFO,\n OPENAI_MODEL_SEARCH,\n OPENAI_TEXT_EMBEDDING,\n OPENAI_TEXT_GENERATION,\n OPENAI_TEXT_REWRITER,\n OPENAI_TEXT_SUMMARY,\n OPENAI_TOOL_USE,\n} from \"./OpenAI_CapabilitySets\";\nimport type { OpenAiModelConfig } from \"./OpenAI_ModelSchema\";\n\nexport { getClient, getModelName, loadOpenAISDK } from \"./OpenAI_Client\";\n\nimport { OpenAI_CacheCheckpoint_Stream } from \"./OpenAI_CacheCheckpoint\";\nimport { OpenAI_CountTokens_Preview, OpenAI_CountTokens_Stream } from \"./OpenAI_CountTokens\";\nimport { OpenAI_ImageEdit_Stream } from \"./OpenAI_ImageEdit\";\nimport { OpenAI_ImageGenerate_Stream } from \"./OpenAI_ImageGenerate\";\nimport { OpenAI_ModelInfo_Stream } from \"./OpenAI_ModelInfo\";\nimport { OpenAI_ModelSearch_Stream } from \"./OpenAI_ModelSearch\";\nimport { OpenAI_StructuredGeneration_Stream } from \"./OpenAI_StructuredGeneration\";\nimport { OpenAI_TextEmbedding_Stream } from \"./OpenAI_TextEmbedding\";\nimport { OpenAI_TextGeneration_Stream } from \"./OpenAI_TextGeneration\";\nimport { OpenAI_TextRewriter_Stream } from \"./OpenAI_TextRewriter\";\nimport { OpenAI_TextSummary_Stream } from \"./OpenAI_TextSummary\";\nimport { OpenAI_ToolCalling_Stream } from \"./OpenAI_ToolCalling\";\n\n/**\n * Capability-set run-fn registrations for the OpenAI provider. Order is\n * significant only as a tiebreaker — the dispatcher prefers the smallest\n * `serves` set that is a superset of the task's `requires`, so the bare\n * `[\"text.generation\"]` entry wins for a plain {@link TextGenerationTask} or\n * {@link AiChatTask} while the `[\"text.generation\", \"tool-use\"]` entry wins\n * for {@link ToolCallingTask}.\n */\nexport const OPENAI_RUN_FNS: readonly AiProviderRunFnRegistration<any, any, OpenAiModelConfig>[] = [\n { serves: OPENAI_TEXT_GENERATION, runFn: OpenAI_TextGeneration_Stream },\n { serves: OPENAI_TOOL_USE, runFn: OpenAI_ToolCalling_Stream },\n { serves: OPENAI_JSON_MODE, runFn: OpenAI_StructuredGeneration_Stream },\n { serves: OPENAI_TEXT_REWRITER, runFn: OpenAI_TextRewriter_Stream },\n { serves: OPENAI_TEXT_SUMMARY, runFn: OpenAI_TextSummary_Stream },\n { serves: OPENAI_TEXT_EMBEDDING, runFn: OpenAI_TextEmbedding_Stream },\n { serves: OPENAI_IMAGE_GENERATION, runFn: OpenAI_ImageGenerate_Stream },\n { serves: OPENAI_IMAGE_EDITING, runFn: OpenAI_ImageEdit_Stream },\n { serves: OPENAI_COUNT_TOKENS, runFn: OpenAI_CountTokens_Stream },\n { serves: OPENAI_MODEL_SEARCH, runFn: OpenAI_ModelSearch_Stream },\n { serves: OPENAI_MODEL_INFO, runFn: OpenAI_ModelInfo_Stream },\n { serves: OPENAI_CACHE_CHECKPOINT, runFn: OpenAI_CacheCheckpoint_Stream },\n];\n\nexport const OPENAI_PREVIEW_TASKS: Record<\n string,\n AiProviderPreviewRunFn<any, any, OpenAiModelConfig>\n> = {\n CountTokensTask: OpenAI_CountTokens_Preview,\n};\n",
|
|
27
|
-
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// organize-imports-ignore\n\nexport { OPENAI_ALLOWED_HOSTS } from \"./common/OpenAI_Client\";\nexport * from \"./common/OpenAI_Constants\";\nexport * from \"./common/OpenAI_ImageValidation\";\nexport * from \"./common/OpenAI_ModelSchema\";\nexport * from \"./common/OpenAI_ModelSearch\";\nexport * from \"./registerOpenAi\";\n\nimport { OPENAI_RUN_FN_SPECS } from \"./common/OpenAI_Capabilities\";\nimport {\n _testOnly as clientTestOnly,\n finalizeResponsesRequest,\n getReasoningConfig,\n resolvePromptCacheKey,\n} from \"./common/OpenAI_Client\";\nimport { OPENAI_RUN_FNS } from \"./common/OpenAI_JobRunFns\";\nimport {\n _resetOpenAIResponsesWarnings,\n warnPenaltyDroppedOnce,\n warnStrictDowngradedOnce,\n} from \"./common/OpenAI_ResponsesWarnings\";\nimport { isStrictCompatibleSchema } from \"./common/OpenAI_StructuredGeneration\";\nimport { OpenAiQueuedProvider } from \"./OpenAiQueuedProvider\";\n\n/**\n * @internal Symbols exported only for use by `@workglow/test`. Not part of the stable public API.\n */\nexport const _testOnly = {\n OpenAiQueuedProvider,\n OPENAI_RUN_FN_SPECS,\n OPENAI_RUN_FNS,\n finalizeResponsesRequest,\n getReasoningConfig,\n resolvePromptCacheKey,\n isStrictCompatibleSchema,\n warnPenaltyDroppedOnce,\n warnStrictDowngradedOnce,\n _resetOpenAIResponsesWarnings,\n setOpenAIClientForTests: clientTestOnly.setOpenAIClientForTests,\n} as const;\n"
|
|
28
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// organize-imports-ignore\n\nexport { OPENAI_ALLOWED_HOSTS } from \"./common/OpenAI_Client\";\nexport * from \"./common/OpenAI_Constants\";\nexport { openaiEffortPolicy } from \"./common/OpenAI_EffortPolicy\";\nexport * from \"./common/OpenAI_ImageValidation\";\nexport * from \"./common/OpenAI_ModelSchema\";\nexport * from \"./common/OpenAI_ModelSearch\";\nexport * from \"./registerOpenAi\";\n\nimport { OPENAI_RUN_FN_SPECS } from \"./common/OpenAI_Capabilities\";\nimport {\n _testOnly as clientTestOnly,\n finalizeResponsesRequest,\n getReasoningConfig,\n resolvePromptCacheKey,\n} from \"./common/OpenAI_Client\";\nimport { OPENAI_RUN_FNS } from \"./common/OpenAI_JobRunFns\";\nimport {\n _resetOpenAIResponsesWarnings,\n warnPenaltyDroppedOnce,\n warnStrictDowngradedOnce,\n} from \"./common/OpenAI_ResponsesWarnings\";\nimport { isStrictCompatibleSchema } from \"./common/OpenAI_StructuredGeneration\";\nimport { OpenAiQueuedProvider } from \"./OpenAiQueuedProvider\";\n\n/**\n * @internal Symbols exported only for use by `@workglow/test`. Not part of the stable public API.\n */\nexport const _testOnly = {\n OpenAiQueuedProvider,\n OPENAI_RUN_FN_SPECS,\n OPENAI_RUN_FNS,\n finalizeResponsesRequest,\n getReasoningConfig,\n resolvePromptCacheKey,\n isStrictCompatibleSchema,\n warnPenaltyDroppedOnce,\n warnStrictDowngradedOnce,\n _resetOpenAIResponsesWarnings,\n setOpenAIClientForTests: clientTestOnly.setOpenAIClientForTests,\n} as const;\n"
|
|
28
29
|
],
|
|
29
|
-
"mappings": "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",
|
|
30
|
-
"debugId": "
|
|
30
|
+
"mappings": "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",
|
|
31
|
+
"debugId": "DBF9B40419E62C1164756E2164756E21",
|
|
31
32
|
"names": []
|
|
32
33
|
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@workglow/openai",
|
|
3
3
|
"type": "module",
|
|
4
4
|
"sideEffects": false,
|
|
5
|
-
"version": "0.3.
|
|
5
|
+
"version": "0.3.41",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
@@ -51,11 +51,11 @@
|
|
|
51
51
|
"js-tiktoken": "^1.0.16"
|
|
52
52
|
},
|
|
53
53
|
"peerDependencies": {
|
|
54
|
-
"@workglow/ai": "0.3.
|
|
55
|
-
"@workglow/job-queue": "0.3.
|
|
56
|
-
"@workglow/storage": "0.3.
|
|
57
|
-
"@workglow/task-graph": "0.3.
|
|
58
|
-
"@workglow/util": "0.3.
|
|
54
|
+
"@workglow/ai": "0.3.41",
|
|
55
|
+
"@workglow/job-queue": "0.3.41",
|
|
56
|
+
"@workglow/storage": "0.3.41",
|
|
57
|
+
"@workglow/task-graph": "0.3.41",
|
|
58
|
+
"@workglow/util": "0.3.41"
|
|
59
59
|
},
|
|
60
60
|
"peerDependenciesMeta": {
|
|
61
61
|
"@workglow/ai": {
|
|
@@ -75,11 +75,11 @@
|
|
|
75
75
|
}
|
|
76
76
|
},
|
|
77
77
|
"devDependencies": {
|
|
78
|
-
"@workglow/ai": "0.3.
|
|
79
|
-
"@workglow/job-queue": "0.3.
|
|
80
|
-
"@workglow/storage": "0.3.
|
|
81
|
-
"@workglow/task-graph": "0.3.
|
|
82
|
-
"@workglow/util": "0.3.
|
|
78
|
+
"@workglow/ai": "0.3.41",
|
|
79
|
+
"@workglow/job-queue": "0.3.41",
|
|
80
|
+
"@workglow/storage": "0.3.41",
|
|
81
|
+
"@workglow/task-graph": "0.3.41",
|
|
82
|
+
"@workglow/util": "0.3.41"
|
|
83
83
|
},
|
|
84
84
|
"files": [
|
|
85
85
|
"dist",
|