@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
@@ -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 global model repository instance
13
- * @returns The model repository instance
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 global model repository instance
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;AAUH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD;;GAEG;AACH,eAAO,MAAM,gBAAgB,wDAA0D,CAAC;AASxF;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,eAAe,CAE1D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAE1E"}
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 providerRegistry = new AiProviderRegistry;
147
- function getAiProviderRegistry() {
148
- return providerRegistry;
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 setAiProviderRegistry(pr) {
151
- providerRegistry = pr;
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.setupDatabase();
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 = createServiceToken("model.repository");
710
- globalServiceRegistry2.registerIfAbsent(MODEL_REPOSITORY, () => new InMemoryModelRepository, true);
711
- function getGlobalModelRepository() {
712
- return globalServiceRegistry2.get(MODEL_REPOSITORY);
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
- globalServiceRegistry2.registerInstance(MODEL_REPOSITORY, repository);
723
+ function setGlobalModelRepository(repository, registry = globalServiceRegistry2) {
724
+ registry.registerInstance(MODEL_REPOSITORY, repository);
716
725
  }
717
- async function resolveModelFromRegistry(id, format, registry) {
718
- const modelRepo = registry.has(MODEL_REPOSITORY) ? registry.get(MODEL_REPOSITORY) : getGlobalModelRepository();
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
- registerInputResolver("model", resolveModelFromRegistry);
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 = registry.has(MODEL_REPOSITORY) ? registry.get(MODEL_REPOSITORY) : getGlobalModelRepository();
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=E069F62C45DFC53C64756E2164756E21
7467
+ //# debugId=C49AE667395C5D5064756E2164756E21