@workglow/openai 0.2.28

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.
Files changed (77) hide show
  1. package/dist/ai-provider/OpenAiProvider.d.ts +27 -0
  2. package/dist/ai-provider/OpenAiProvider.d.ts.map +1 -0
  3. package/dist/ai-provider/OpenAiQueuedProvider.d.ts +18 -0
  4. package/dist/ai-provider/OpenAiQueuedProvider.d.ts.map +1 -0
  5. package/dist/ai-provider/common/OpenAI_Chat.d.ts +10 -0
  6. package/dist/ai-provider/common/OpenAI_Chat.d.ts.map +1 -0
  7. package/dist/ai-provider/common/OpenAI_Client.d.ts +10 -0
  8. package/dist/ai-provider/common/OpenAI_Client.d.ts.map +1 -0
  9. package/dist/ai-provider/common/OpenAI_Constants.d.ts +7 -0
  10. package/dist/ai-provider/common/OpenAI_Constants.d.ts.map +1 -0
  11. package/dist/ai-provider/common/OpenAI_CountTokens.browser.d.ts +10 -0
  12. package/dist/ai-provider/common/OpenAI_CountTokens.browser.d.ts.map +1 -0
  13. package/dist/ai-provider/common/OpenAI_CountTokens.d.ts +10 -0
  14. package/dist/ai-provider/common/OpenAI_CountTokens.d.ts.map +1 -0
  15. package/dist/ai-provider/common/OpenAI_ImageEdit.d.ts +14 -0
  16. package/dist/ai-provider/common/OpenAI_ImageEdit.d.ts.map +1 -0
  17. package/dist/ai-provider/common/OpenAI_ImageGenerate.d.ts +17 -0
  18. package/dist/ai-provider/common/OpenAI_ImageGenerate.d.ts.map +1 -0
  19. package/dist/ai-provider/common/OpenAI_ImageValidation.d.ts +15 -0
  20. package/dist/ai-provider/common/OpenAI_ImageValidation.d.ts.map +1 -0
  21. package/dist/ai-provider/common/OpenAI_JobRunFns.browser.d.ts +12 -0
  22. package/dist/ai-provider/common/OpenAI_JobRunFns.browser.d.ts.map +1 -0
  23. package/dist/ai-provider/common/OpenAI_JobRunFns.d.ts +12 -0
  24. package/dist/ai-provider/common/OpenAI_JobRunFns.d.ts.map +1 -0
  25. package/dist/ai-provider/common/OpenAI_ModelInfo.d.ts +9 -0
  26. package/dist/ai-provider/common/OpenAI_ModelInfo.d.ts.map +1 -0
  27. package/dist/ai-provider/common/OpenAI_ModelSchema.d.ts +167 -0
  28. package/dist/ai-provider/common/OpenAI_ModelSchema.d.ts.map +1 -0
  29. package/dist/ai-provider/common/OpenAI_ModelSearch.d.ts +8 -0
  30. package/dist/ai-provider/common/OpenAI_ModelSearch.d.ts.map +1 -0
  31. package/dist/ai-provider/common/OpenAI_StructuredGeneration.d.ts +10 -0
  32. package/dist/ai-provider/common/OpenAI_StructuredGeneration.d.ts.map +1 -0
  33. package/dist/ai-provider/common/OpenAI_TextEmbedding.d.ts +9 -0
  34. package/dist/ai-provider/common/OpenAI_TextEmbedding.d.ts.map +1 -0
  35. package/dist/ai-provider/common/OpenAI_TextGeneration.d.ts +10 -0
  36. package/dist/ai-provider/common/OpenAI_TextGeneration.d.ts.map +1 -0
  37. package/dist/ai-provider/common/OpenAI_TextRewriter.d.ts +10 -0
  38. package/dist/ai-provider/common/OpenAI_TextRewriter.d.ts.map +1 -0
  39. package/dist/ai-provider/common/OpenAI_TextSummary.d.ts +10 -0
  40. package/dist/ai-provider/common/OpenAI_TextSummary.d.ts.map +1 -0
  41. package/dist/ai-provider/common/OpenAI_ToolCalling.d.ts +10 -0
  42. package/dist/ai-provider/common/OpenAI_ToolCalling.d.ts.map +1 -0
  43. package/dist/ai-provider/index.browser.d.ts +9 -0
  44. package/dist/ai-provider/index.browser.d.ts.map +1 -0
  45. package/dist/ai-provider/index.d.ts +11 -0
  46. package/dist/ai-provider/index.d.ts.map +1 -0
  47. package/dist/ai-provider/registerOpenAi.d.ts +10 -0
  48. package/dist/ai-provider/registerOpenAi.d.ts.map +1 -0
  49. package/dist/ai-provider/registerOpenAiInline.browser.d.ts +8 -0
  50. package/dist/ai-provider/registerOpenAiInline.browser.d.ts.map +1 -0
  51. package/dist/ai-provider/registerOpenAiInline.d.ts +8 -0
  52. package/dist/ai-provider/registerOpenAiInline.d.ts.map +1 -0
  53. package/dist/ai-provider/registerOpenAiWorker.browser.d.ts +7 -0
  54. package/dist/ai-provider/registerOpenAiWorker.browser.d.ts.map +1 -0
  55. package/dist/ai-provider/registerOpenAiWorker.d.ts +7 -0
  56. package/dist/ai-provider/registerOpenAiWorker.d.ts.map +1 -0
  57. package/dist/ai-provider/runtime.browser.d.ts +15 -0
  58. package/dist/ai-provider/runtime.browser.d.ts.map +1 -0
  59. package/dist/ai-provider/runtime.d.ts +16 -0
  60. package/dist/ai-provider/runtime.d.ts.map +1 -0
  61. package/dist/ai-provider-runtime.browser.d.ts +7 -0
  62. package/dist/ai-provider-runtime.browser.d.ts.map +1 -0
  63. package/dist/ai-provider-runtime.browser.js +866 -0
  64. package/dist/ai-provider-runtime.browser.js.map +27 -0
  65. package/dist/ai-provider-runtime.d.ts +7 -0
  66. package/dist/ai-provider-runtime.d.ts.map +1 -0
  67. package/dist/ai-provider-runtime.js +923 -0
  68. package/dist/ai-provider-runtime.js.map +29 -0
  69. package/dist/ai-provider.browser.d.ts +7 -0
  70. package/dist/ai-provider.browser.d.ts.map +1 -0
  71. package/dist/ai-provider.browser.js +126 -0
  72. package/dist/ai-provider.browser.js.map +14 -0
  73. package/dist/ai-provider.d.ts +7 -0
  74. package/dist/ai-provider.d.ts.map +1 -0
  75. package/dist/ai-provider.js +239 -0
  76. package/dist/ai-provider.js.map +16 -0
  77. package/package.json +72 -0
@@ -0,0 +1,16 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/ai-provider/common/OpenAI_Constants.ts", "../src/ai-provider/common/OpenAI_ImageValidation.ts", "../src/ai-provider/common/OpenAI_ModelSchema.ts", "../src/ai-provider/common/OpenAI_ModelSearch.ts", "../src/ai-provider/common/OpenAI_Client.ts", "../src/ai-provider/registerOpenAi.ts", "../src/ai-provider/OpenAiQueuedProvider.ts"],
4
+ "sourcesContent": [
5
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const OPENAI = \"OPENAI\";\n",
6
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AiImageOutputTask, ProviderUnsupportedFeatureError } from \"@workglow/ai\";\nimport type { ModelConfig } 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",
7
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ModelConfigSchema, ModelRecordSchema } from \"@workglow/ai/worker\";\nimport { 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 organization: {\n type: \"string\",\n description: \"OpenAI organization ID (optional).\",\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 = 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 = FromSchema<typeof OpenAiModelConfigSchema>;\n",
8
+ "/**\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/common\";\nimport { getClient } from \"./OpenAI_Client\";\nimport { OPENAI } from \"./OpenAI_Constants\";\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.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; tasks: string[] }> = [\n { value: \"gpt-image-2\", tasks: [\"ImageGenerateTask\", \"ImageEditTask\"] },\n { value: \"dall-e-3\", tasks: [\"ImageGenerateTask\"] },\n];\n\nasync function listOpenAiModels(\n credentialKey: string\n): Promise<Array<{ label: string; value: string }>> {\n const client = await getClient({\n provider: OPENAI,\n provider_config: { model_name: \"\", credential_key: credentialKey },\n });\n const models: Array<{ label: string; value: string }> = [];\n for await (const m of client.models.list()) {\n models.push({ label: `${m.id} ${m.owned_by}`, value: m.id });\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: Array<{ label: string; value: string }>): 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: \"\",\n record: {\n model_id: m.value,\n provider: OPENAI,\n title: m.value,\n description: \"\",\n tasks: imageEntry?.tasks ?? [],\n provider_config: { model_name: m.value },\n metadata: {},\n },\n raw: m,\n };\n });\n}\n\nexport const OpenAI_ModelSearch: AiProviderRunFn<\n ModelSearchTaskInput,\n ModelSearchTaskOutput\n> = async (input) => {\n let models: Array<{ label: string; value: string }>;\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 return { results: mapModelList(models) };\n};\n",
9
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { OpenAiModelConfig } from \"./OpenAI_ModelSchema\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet _OpenAIClass: (new (config: any) => any) | undefined;\n\nexport async function loadOpenAISDK() {\n if (!_OpenAIClass) {\n try {\n const sdk = await import(\"openai\");\n _OpenAIClass = sdk.default;\n } catch {\n throw new Error(\"openai is required for OpenAI tasks. Install it with: bun add openai\");\n }\n }\n return _OpenAIClass;\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}\n\nexport async function getClient(model: OpenAiModelConfig | undefined) {\n const OpenAI = await loadOpenAISDK();\n const config = model?.provider_config as ResolvedProviderConfig | undefined;\n const apiKey =\n config?.credential_key ||\n config?.api_key ||\n (typeof process !== \"undefined\" ? process.env?.OPENAI_API_KEY : undefined);\n if (!apiKey) {\n throw new Error(\n \"Missing OpenAI API key: set provider_config.credential_key or the OPENAI_API_KEY environment variable.\"\n );\n }\n try {\n return new OpenAI({\n apiKey,\n baseURL: config?.base_url || undefined,\n organization: config?.organization || undefined,\n dangerouslyAllowBrowser:\n typeof globalThis.document !== \"undefined\" || \"WorkerGlobalScope\" in globalThis,\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",
10
+ "/**\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/common\";\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 { AiProvider } from \"@workglow/ai\";\nimport type { AiProviderPreviewRunFn, AiProviderRunFn, AiProviderStreamFn } from \"@workglow/ai\";\nimport { OPENAI } from \"./common/OpenAI_Constants\";\nimport type { OpenAiModelConfig } from \"./common/OpenAI_ModelSchema\";\n\n/** Main-thread registration (inline or worker-backed). No queue — uses direct execution. */\nexport class OpenAiQueuedProvider extends AiProvider<OpenAiModelConfig> {\n readonly name = OPENAI;\n readonly displayName = \"OpenAI\";\n readonly isLocal = false;\n readonly supportsBrowser = true;\n\n readonly taskTypes = [\n \"TextGenerationTask\",\n \"TextEmbeddingTask\",\n \"TextRewriterTask\",\n \"TextSummaryTask\",\n \"CountTokensTask\",\n \"ModelInfoTask\",\n \"StructuredGenerationTask\",\n \"ToolCallingTask\",\n \"ModelSearchTask\",\n \"ImageGenerateTask\",\n \"ImageEditTask\",\n ] as const;\n\n constructor(\n tasks?: Record<string, AiProviderRunFn<any, any, OpenAiModelConfig>>,\n streamTasks?: Record<string, AiProviderStreamFn<any, any, OpenAiModelConfig>>,\n previewTasks?: Record<string, AiProviderPreviewRunFn<any, any, OpenAiModelConfig>>\n ) {\n super(tasks, streamTasks, previewTasks);\n }\n}\n"
12
+ ],
13
+ "mappings": "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",
14
+ "debugId": "B625C0C4FB0DA0FD64756E2164756E21",
15
+ "names": []
16
+ }
package/package.json ADDED
@@ -0,0 +1,72 @@
1
+ {
2
+ "name": "@workglow/openai",
3
+ "type": "module",
4
+ "sideEffects": false,
5
+ "version": "0.2.28",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/workglow-dev/workglow.git",
9
+ "directory": "packages/openai"
10
+ },
11
+ "description": "OpenAI provider for @workglow/ai-provider.",
12
+ "scripts": {
13
+ "watch": "concurrently -c 'auto' 'bun:watch-*'",
14
+ "watch-code": "bun build --watch --no-clear-screen --sourcemap=external --packages=external --root ./src --outdir ./dist ./src/ai-provider.ts ./src/ai-provider-runtime.ts",
15
+ "watch-browser": "bun build --watch --no-clear-screen --target=browser --sourcemap=external --packages=external --outdir ./dist ./src/ai-provider.browser.ts ./src/ai-provider-runtime.browser.ts",
16
+ "watch-types": "tsc --watch --preserveWatchOutput",
17
+ "build-package": "concurrently -c 'auto' -n 'code,browser,types' 'bun run build-code' 'bun run build-browser' 'bun run build-types'",
18
+ "build-js": "concurrently -c 'auto' -n 'code,browser' 'bun run build-code' 'bun run build-browser'",
19
+ "build-clean": "rm -fr dist/* tsconfig.tsbuildinfo",
20
+ "build-code": "bun build --sourcemap=external --packages=external --root ./src --outdir ./dist ./src/ai-provider.ts ./src/ai-provider-runtime.ts",
21
+ "build-browser": "bun build --target=browser --sourcemap=external --packages=external --outdir ./dist ./src/ai-provider.browser.ts ./src/ai-provider-runtime.browser.ts",
22
+ "build-types": "rm -f tsconfig.tsbuildinfo && tsgo",
23
+ "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
24
+ "test": "bun test"
25
+ },
26
+ "exports": {
27
+ "./ai-provider": {
28
+ "browser": {
29
+ "types": "./dist/ai-provider.d.ts",
30
+ "import": "./dist/ai-provider.browser.js"
31
+ },
32
+ "types": "./dist/ai-provider.d.ts",
33
+ "import": "./dist/ai-provider.js"
34
+ },
35
+ "./ai-provider-runtime": {
36
+ "browser": {
37
+ "types": "./dist/ai-provider-runtime.d.ts",
38
+ "import": "./dist/ai-provider-runtime.browser.js"
39
+ },
40
+ "types": "./dist/ai-provider-runtime.d.ts",
41
+ "import": "./dist/ai-provider-runtime.js"
42
+ }
43
+ },
44
+ "dependencies": {
45
+ "openai": "^6.35.0",
46
+ "tiktoken": "^1.0.22",
47
+ "js-tiktoken": "^1.0.16"
48
+ },
49
+ "peerDependencies": {
50
+ "@workglow/ai": "0.2.28",
51
+ "@workglow/ai-provider": "0.2.28",
52
+ "@workglow/job-queue": "0.2.28",
53
+ "@workglow/storage": "0.2.28",
54
+ "@workglow/task-graph": "0.2.28",
55
+ "@workglow/util": "0.2.28"
56
+ },
57
+ "devDependencies": {
58
+ "@workglow/ai": "0.2.28",
59
+ "@workglow/ai-provider": "0.2.28",
60
+ "@workglow/job-queue": "0.2.28",
61
+ "@workglow/storage": "0.2.28",
62
+ "@workglow/task-graph": "0.2.28",
63
+ "@workglow/util": "0.2.28"
64
+ },
65
+ "files": [
66
+ "dist",
67
+ "src/**/*.md"
68
+ ],
69
+ "publishConfig": {
70
+ "access": "public"
71
+ }
72
+ }