@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.
Files changed (38) hide show
  1. package/README.md +21 -21
  2. package/dist/browser.js +39 -22
  3. package/dist/browser.js.map +5 -5
  4. package/dist/bun.js +39 -22
  5. package/dist/bun.js.map +5 -5
  6. package/dist/model/ModelRegistry.d.ts +14 -6
  7. package/dist/model/ModelRegistry.d.ts.map +1 -1
  8. package/dist/node.js +39 -22
  9. package/dist/node.js.map +5 -5
  10. package/dist/provider/AiProviderRegistry.d.ts +21 -3
  11. package/dist/provider/AiProviderRegistry.d.ts.map +1 -1
  12. package/dist/provider-utils/BaseCloudProvider.d.ts +46 -0
  13. package/dist/provider-utils/BaseCloudProvider.d.ts.map +1 -0
  14. package/dist/provider-utils/CloudProviderClient.d.ts +40 -0
  15. package/dist/provider-utils/CloudProviderClient.d.ts.map +1 -0
  16. package/dist/provider-utils/HfModelSearch.d.ts +33 -0
  17. package/dist/provider-utils/HfModelSearch.d.ts.map +1 -0
  18. package/dist/provider-utils/OpenAIShapedChat.d.ts +71 -0
  19. package/dist/provider-utils/OpenAIShapedChat.d.ts.map +1 -0
  20. package/dist/provider-utils/PipelineTaskMapping.d.ts +12 -0
  21. package/dist/provider-utils/PipelineTaskMapping.d.ts.map +1 -0
  22. package/dist/provider-utils/ToolCallParsers.d.ts +252 -0
  23. package/dist/provider-utils/ToolCallParsers.d.ts.map +1 -0
  24. package/dist/provider-utils/imageOutputHelpers.d.ts +60 -0
  25. package/dist/provider-utils/imageOutputHelpers.d.ts.map +1 -0
  26. package/dist/provider-utils/modelSearchQuery.d.ts +23 -0
  27. package/dist/provider-utils/modelSearchQuery.d.ts.map +1 -0
  28. package/dist/provider-utils/registerProvider.d.ts +43 -0
  29. package/dist/provider-utils/registerProvider.d.ts.map +1 -0
  30. package/dist/provider-utils.d.ts +23 -0
  31. package/dist/provider-utils.d.ts.map +1 -0
  32. package/dist/provider-utils.js +1247 -0
  33. package/dist/provider-utils.js.map +19 -0
  34. package/dist/task/VectorSimilarityTask.d.ts +1 -1
  35. package/dist/task/VectorSimilarityTask.d.ts.map +1 -1
  36. package/dist/worker.js +17 -8
  37. package/dist/worker.js.map +3 -3
  38. package/package.json +20 -14
package/dist/bun.js CHANGED
@@ -11,7 +11,7 @@ import {
11
11
  import { getLogger } from "@workglow/util/worker";
12
12
 
13
13
  // src/provider/AiProviderRegistry.ts
14
- import { globalServiceRegistry, WORKER_MANAGER } from "@workglow/util/worker";
14
+ import { createServiceToken, globalServiceRegistry, WORKER_MANAGER } from "@workglow/util/worker";
15
15
  class AiProviderRegistry {
16
16
  runFnRegistry = new Map;
17
17
  streamFnRegistry = new Map;
@@ -144,13 +144,20 @@ class AiProviderRegistry {
144
144
  return runFn;
145
145
  }
146
146
  }
147
- var providerRegistry = new AiProviderRegistry;
148
- function getAiProviderRegistry() {
149
- return providerRegistry;
147
+ var AI_PROVIDER_REGISTRY = createServiceToken("ai.provider.registry");
148
+ function getAiProviderRegistry(registry = globalServiceRegistry) {
149
+ if (!registry.has(AI_PROVIDER_REGISTRY)) {
150
+ registerAiProviderDefaults(registry);
151
+ }
152
+ return registry.get(AI_PROVIDER_REGISTRY);
153
+ }
154
+ function setAiProviderRegistry(pr, registry = globalServiceRegistry) {
155
+ registry.registerInstance(AI_PROVIDER_REGISTRY, pr);
150
156
  }
151
- function setAiProviderRegistry(pr) {
152
- providerRegistry = pr;
157
+ function registerAiProviderDefaults(registry = globalServiceRegistry) {
158
+ registry.registerIfAbsent(AI_PROVIDER_REGISTRY, () => new AiProviderRegistry, true);
153
159
  }
160
+ registerAiProviderDefaults();
154
161
 
155
162
  // src/errors/ImageGenerationErrors.ts
156
163
  class ProviderUnsupportedFeatureError extends Error {
@@ -452,7 +459,7 @@ class QueuedExecutionStrategy {
452
459
  throw new TaskConfigurationError(`Queue "${this.queueName}" is not registered and autoCreate is disabled. ` + `Register the queue before executing tasks with this provider.`);
453
460
  }
454
461
  const storage = new InMemoryQueueStorage(this.queueName);
455
- await storage.setupDatabase();
462
+ await storage.migrate();
456
463
  this.limiter = new ConcurrencyLimiter(this.concurrency);
457
464
  const server = new JobQueueServer(AiJob, {
458
465
  storage,
@@ -702,41 +709,48 @@ class InMemoryModelRepository extends ModelRepository {
702
709
 
703
710
  // src/model/ModelRegistry.ts
704
711
  import {
705
- createServiceToken,
712
+ createServiceToken as createServiceToken2,
706
713
  globalServiceRegistry as globalServiceRegistry2,
707
714
  registerInputCompactor,
708
715
  registerInputResolver
709
716
  } from "@workglow/util";
710
- var MODEL_REPOSITORY = createServiceToken("model.repository");
711
- globalServiceRegistry2.registerIfAbsent(MODEL_REPOSITORY, () => new InMemoryModelRepository, true);
712
- function getGlobalModelRepository() {
713
- return globalServiceRegistry2.get(MODEL_REPOSITORY);
717
+ var MODEL_REPOSITORY = createServiceToken2("model.repository");
718
+ function getGlobalModelRepository(registry = globalServiceRegistry2) {
719
+ if (!registry.has(MODEL_REPOSITORY)) {
720
+ registerModelDefaults(registry);
721
+ }
722
+ return registry.get(MODEL_REPOSITORY);
714
723
  }
715
- function setGlobalModelRepository(repository) {
716
- globalServiceRegistry2.registerInstance(MODEL_REPOSITORY, repository);
724
+ function setGlobalModelRepository(repository, registry = globalServiceRegistry2) {
725
+ registry.registerInstance(MODEL_REPOSITORY, repository);
717
726
  }
718
- async function resolveModelFromRegistry(id, format, registry) {
719
- const modelRepo = registry.has(MODEL_REPOSITORY) ? registry.get(MODEL_REPOSITORY) : getGlobalModelRepository();
727
+ async function resolveModelFromRegistry(id, _format, registry) {
728
+ const modelRepo = getGlobalModelRepository(registry);
720
729
  const model = await modelRepo.findByName(id);
721
730
  if (!model) {
722
731
  throw new Error(`Model "${id}" not found in repository`);
723
732
  }
724
733
  return model;
725
734
  }
726
- registerInputResolver("model", resolveModelFromRegistry);
727
- registerInputCompactor("model", async (value, _format, registry) => {
735
+ async function compactModel(value, _format, registry) {
728
736
  if (typeof value === "object" && value !== null && "model_id" in value) {
729
737
  const id = value.model_id;
730
738
  if (typeof id !== "string")
731
739
  return;
732
- const modelRepo = registry.has(MODEL_REPOSITORY) ? registry.get(MODEL_REPOSITORY) : getGlobalModelRepository();
740
+ const modelRepo = getGlobalModelRepository(registry);
733
741
  const model = await modelRepo.findByName(id);
734
742
  if (!model)
735
743
  return;
736
744
  return id;
737
745
  }
738
746
  return;
739
- });
747
+ }
748
+ function registerModelDefaults(registry = globalServiceRegistry2) {
749
+ registry.registerIfAbsent(MODEL_REPOSITORY, () => new InMemoryModelRepository, true);
750
+ registerInputResolver("model", resolveModelFromRegistry, registry);
751
+ registerInputCompactor("model", compactModel, registry);
752
+ }
753
+ registerModelDefaults();
740
754
 
741
755
  // src/provider/AiProvider.ts
742
756
  import { globalServiceRegistry as globalServiceRegistry3, WORKER_MANAGER as WORKER_MANAGER2 } from "@workglow/util/worker";
@@ -7271,7 +7285,9 @@ export {
7271
7285
  setAiProviderRegistry,
7272
7286
  resolveAiProviderGpuQueueConcurrency,
7273
7287
  reranker,
7288
+ registerModelDefaults,
7274
7289
  registerAiTasks,
7290
+ registerAiProviderDefaults,
7275
7291
  queryExpander,
7276
7292
  poseLandmarker,
7277
7293
  objectDetection,
@@ -7445,7 +7461,8 @@ export {
7445
7461
  AiImageOutputTask,
7446
7462
  AiChatTask,
7447
7463
  AiChatOutputSchema,
7448
- AiChatInputSchema
7464
+ AiChatInputSchema,
7465
+ AI_PROVIDER_REGISTRY
7449
7466
  };
7450
7467
 
7451
- //# debugId=1C5C0215D093745964756E2164756E21
7468
+ //# debugId=49834ABDD781320E64756E2164756E21