@workglow/ai 0.2.30 → 0.2.32
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/README.md +21 -21
- package/dist/browser.js +39 -22
- package/dist/browser.js.map +5 -5
- package/dist/bun.js +39 -22
- package/dist/bun.js.map +5 -5
- package/dist/model/ModelRegistry.d.ts +14 -6
- package/dist/model/ModelRegistry.d.ts.map +1 -1
- package/dist/node.js +39 -22
- package/dist/node.js.map +5 -5
- package/dist/provider/AiProviderRegistry.d.ts +21 -3
- package/dist/provider/AiProviderRegistry.d.ts.map +1 -1
- package/dist/provider-utils/BaseCloudProvider.d.ts +46 -0
- package/dist/provider-utils/BaseCloudProvider.d.ts.map +1 -0
- package/dist/provider-utils/CloudProviderClient.d.ts +40 -0
- package/dist/provider-utils/CloudProviderClient.d.ts.map +1 -0
- package/dist/provider-utils/HfModelSearch.d.ts +33 -0
- package/dist/provider-utils/HfModelSearch.d.ts.map +1 -0
- package/dist/provider-utils/OpenAIShapedChat.d.ts +71 -0
- package/dist/provider-utils/OpenAIShapedChat.d.ts.map +1 -0
- package/dist/provider-utils/PipelineTaskMapping.d.ts +12 -0
- package/dist/provider-utils/PipelineTaskMapping.d.ts.map +1 -0
- package/dist/provider-utils/ToolCallParsers.d.ts +252 -0
- package/dist/provider-utils/ToolCallParsers.d.ts.map +1 -0
- package/dist/provider-utils/imageOutputHelpers.d.ts +60 -0
- package/dist/provider-utils/imageOutputHelpers.d.ts.map +1 -0
- package/dist/provider-utils/modelSearchQuery.d.ts +23 -0
- package/dist/provider-utils/modelSearchQuery.d.ts.map +1 -0
- package/dist/provider-utils/registerProvider.d.ts +43 -0
- package/dist/provider-utils/registerProvider.d.ts.map +1 -0
- package/dist/provider-utils.d.ts +23 -0
- package/dist/provider-utils.d.ts.map +1 -0
- package/dist/provider-utils.js +1247 -0
- package/dist/provider-utils.js.map +19 -0
- package/dist/task/VectorSimilarityTask.d.ts +1 -1
- package/dist/task/VectorSimilarityTask.d.ts.map +1 -1
- package/dist/worker.js +17 -8
- package/dist/worker.js.map +3 -3
- package/package.json +20 -14
|
@@ -3,19 +3,27 @@
|
|
|
3
3
|
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { ServiceRegistry } from "@workglow/util";
|
|
6
7
|
import { ModelRepository } from "./ModelRepository";
|
|
7
8
|
/**
|
|
8
9
|
* Service token for the global model repository
|
|
9
10
|
*/
|
|
10
11
|
export declare const MODEL_REPOSITORY: import("@workglow/util").ServiceToken<ModelRepository>;
|
|
11
12
|
/**
|
|
12
|
-
* Gets the
|
|
13
|
-
*
|
|
13
|
+
* Gets the model repository from the given registry (defaults to global).
|
|
14
|
+
* Lazily registers the default in-memory repository when the token isn't
|
|
15
|
+
* present yet — same pattern as `getLogger`. Makes scoped registries
|
|
16
|
+
* (e.g. from `createOrchestrationContext`) safe without an explicit
|
|
17
|
+
* `registerModelDefaults(registry)` call.
|
|
14
18
|
*/
|
|
15
|
-
export declare function getGlobalModelRepository(): ModelRepository;
|
|
19
|
+
export declare function getGlobalModelRepository(registry?: ServiceRegistry): ModelRepository;
|
|
16
20
|
/**
|
|
17
|
-
* Sets the
|
|
18
|
-
* @param repository The model repository instance to register
|
|
21
|
+
* Sets the model repository instance on the given registry (defaults to global).
|
|
19
22
|
*/
|
|
20
|
-
export declare function setGlobalModelRepository(repository: ModelRepository): void;
|
|
23
|
+
export declare function setGlobalModelRepository(repository: ModelRepository, registry?: ServiceRegistry): void;
|
|
24
|
+
/**
|
|
25
|
+
* Registers the model repository default factory and the "model" input resolver/compactor
|
|
26
|
+
* on the given registry. Called by `bootstrapWorkglow` and `createOrchestrationContext`.
|
|
27
|
+
*/
|
|
28
|
+
export declare function registerModelDefaults(registry?: ServiceRegistry): void;
|
|
21
29
|
//# sourceMappingURL=ModelRegistry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelRegistry.d.ts","sourceRoot":"","sources":["../../src/model/ModelRegistry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"ModelRegistry.d.ts","sourceRoot":"","sources":["../../src/model/ModelRegistry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAKL,eAAe,EAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD;;GAEG;AACH,eAAO,MAAM,gBAAgB,wDAA0D,CAAC;AAExF;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,GAAE,eAAuC,GAChD,eAAe,CAKjB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,eAAe,EAC3B,QAAQ,GAAE,eAAuC,GAChD,IAAI,CAEN;AAqCD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,GAAE,eAAuC,GAAG,IAAI,CAQ7F"}
|
package/dist/node.js
CHANGED
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
import { getLogger } from "@workglow/util/worker";
|
|
11
11
|
|
|
12
12
|
// src/provider/AiProviderRegistry.ts
|
|
13
|
-
import { globalServiceRegistry, WORKER_MANAGER } from "@workglow/util/worker";
|
|
13
|
+
import { createServiceToken, globalServiceRegistry, WORKER_MANAGER } from "@workglow/util/worker";
|
|
14
14
|
class AiProviderRegistry {
|
|
15
15
|
runFnRegistry = new Map;
|
|
16
16
|
streamFnRegistry = new Map;
|
|
@@ -143,13 +143,20 @@ class AiProviderRegistry {
|
|
|
143
143
|
return runFn;
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
|
-
var
|
|
147
|
-
function getAiProviderRegistry() {
|
|
148
|
-
|
|
146
|
+
var AI_PROVIDER_REGISTRY = createServiceToken("ai.provider.registry");
|
|
147
|
+
function getAiProviderRegistry(registry = globalServiceRegistry) {
|
|
148
|
+
if (!registry.has(AI_PROVIDER_REGISTRY)) {
|
|
149
|
+
registerAiProviderDefaults(registry);
|
|
150
|
+
}
|
|
151
|
+
return registry.get(AI_PROVIDER_REGISTRY);
|
|
152
|
+
}
|
|
153
|
+
function setAiProviderRegistry(pr, registry = globalServiceRegistry) {
|
|
154
|
+
registry.registerInstance(AI_PROVIDER_REGISTRY, pr);
|
|
149
155
|
}
|
|
150
|
-
function
|
|
151
|
-
|
|
156
|
+
function registerAiProviderDefaults(registry = globalServiceRegistry) {
|
|
157
|
+
registry.registerIfAbsent(AI_PROVIDER_REGISTRY, () => new AiProviderRegistry, true);
|
|
152
158
|
}
|
|
159
|
+
registerAiProviderDefaults();
|
|
153
160
|
|
|
154
161
|
// src/errors/ImageGenerationErrors.ts
|
|
155
162
|
class ProviderUnsupportedFeatureError extends Error {
|
|
@@ -451,7 +458,7 @@ class QueuedExecutionStrategy {
|
|
|
451
458
|
throw new TaskConfigurationError(`Queue "${this.queueName}" is not registered and autoCreate is disabled. ` + `Register the queue before executing tasks with this provider.`);
|
|
452
459
|
}
|
|
453
460
|
const storage = new InMemoryQueueStorage(this.queueName);
|
|
454
|
-
await storage.
|
|
461
|
+
await storage.migrate();
|
|
455
462
|
this.limiter = new ConcurrencyLimiter(this.concurrency);
|
|
456
463
|
const server = new JobQueueServer(AiJob, {
|
|
457
464
|
storage,
|
|
@@ -701,41 +708,48 @@ class InMemoryModelRepository extends ModelRepository {
|
|
|
701
708
|
|
|
702
709
|
// src/model/ModelRegistry.ts
|
|
703
710
|
import {
|
|
704
|
-
createServiceToken,
|
|
711
|
+
createServiceToken as createServiceToken2,
|
|
705
712
|
globalServiceRegistry as globalServiceRegistry2,
|
|
706
713
|
registerInputCompactor,
|
|
707
714
|
registerInputResolver
|
|
708
715
|
} from "@workglow/util";
|
|
709
|
-
var MODEL_REPOSITORY =
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
716
|
+
var MODEL_REPOSITORY = createServiceToken2("model.repository");
|
|
717
|
+
function getGlobalModelRepository(registry = globalServiceRegistry2) {
|
|
718
|
+
if (!registry.has(MODEL_REPOSITORY)) {
|
|
719
|
+
registerModelDefaults(registry);
|
|
720
|
+
}
|
|
721
|
+
return registry.get(MODEL_REPOSITORY);
|
|
713
722
|
}
|
|
714
|
-
function setGlobalModelRepository(repository) {
|
|
715
|
-
|
|
723
|
+
function setGlobalModelRepository(repository, registry = globalServiceRegistry2) {
|
|
724
|
+
registry.registerInstance(MODEL_REPOSITORY, repository);
|
|
716
725
|
}
|
|
717
|
-
async function resolveModelFromRegistry(id,
|
|
718
|
-
const modelRepo =
|
|
726
|
+
async function resolveModelFromRegistry(id, _format, registry) {
|
|
727
|
+
const modelRepo = getGlobalModelRepository(registry);
|
|
719
728
|
const model = await modelRepo.findByName(id);
|
|
720
729
|
if (!model) {
|
|
721
730
|
throw new Error(`Model "${id}" not found in repository`);
|
|
722
731
|
}
|
|
723
732
|
return model;
|
|
724
733
|
}
|
|
725
|
-
|
|
726
|
-
registerInputCompactor("model", async (value, _format, registry) => {
|
|
734
|
+
async function compactModel(value, _format, registry) {
|
|
727
735
|
if (typeof value === "object" && value !== null && "model_id" in value) {
|
|
728
736
|
const id = value.model_id;
|
|
729
737
|
if (typeof id !== "string")
|
|
730
738
|
return;
|
|
731
|
-
const modelRepo =
|
|
739
|
+
const modelRepo = getGlobalModelRepository(registry);
|
|
732
740
|
const model = await modelRepo.findByName(id);
|
|
733
741
|
if (!model)
|
|
734
742
|
return;
|
|
735
743
|
return id;
|
|
736
744
|
}
|
|
737
745
|
return;
|
|
738
|
-
}
|
|
746
|
+
}
|
|
747
|
+
function registerModelDefaults(registry = globalServiceRegistry2) {
|
|
748
|
+
registry.registerIfAbsent(MODEL_REPOSITORY, () => new InMemoryModelRepository, true);
|
|
749
|
+
registerInputResolver("model", resolveModelFromRegistry, registry);
|
|
750
|
+
registerInputCompactor("model", compactModel, registry);
|
|
751
|
+
}
|
|
752
|
+
registerModelDefaults();
|
|
739
753
|
|
|
740
754
|
// src/provider/AiProvider.ts
|
|
741
755
|
import { globalServiceRegistry as globalServiceRegistry3, WORKER_MANAGER as WORKER_MANAGER2 } from "@workglow/util/worker";
|
|
@@ -7270,7 +7284,9 @@ export {
|
|
|
7270
7284
|
setAiProviderRegistry,
|
|
7271
7285
|
resolveAiProviderGpuQueueConcurrency,
|
|
7272
7286
|
reranker,
|
|
7287
|
+
registerModelDefaults,
|
|
7273
7288
|
registerAiTasks,
|
|
7289
|
+
registerAiProviderDefaults,
|
|
7274
7290
|
queryExpander,
|
|
7275
7291
|
poseLandmarker,
|
|
7276
7292
|
objectDetection,
|
|
@@ -7444,7 +7460,8 @@ export {
|
|
|
7444
7460
|
AiImageOutputTask,
|
|
7445
7461
|
AiChatTask,
|
|
7446
7462
|
AiChatOutputSchema,
|
|
7447
|
-
AiChatInputSchema
|
|
7463
|
+
AiChatInputSchema,
|
|
7464
|
+
AI_PROVIDER_REGISTRY
|
|
7448
7465
|
};
|
|
7449
7466
|
|
|
7450
|
-
//# debugId=
|
|
7467
|
+
//# debugId=C49AE667395C5D5064756E2164756E21
|