@workglow/ai 0.0.79 → 0.0.80

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 (49) hide show
  1. package/README.md +3 -3
  2. package/dist/browser.js +235 -183
  3. package/dist/browser.js.map +36 -36
  4. package/dist/bun.js +235 -183
  5. package/dist/bun.js.map +36 -36
  6. package/dist/job/AiJob.d.ts +2 -1
  7. package/dist/job/AiJob.d.ts.map +1 -1
  8. package/dist/model/ModelRepository.d.ts +3 -3
  9. package/dist/model/ModelRepository.d.ts.map +1 -1
  10. package/dist/model/ModelSchema.d.ts +47 -2
  11. package/dist/model/ModelSchema.d.ts.map +1 -1
  12. package/dist/node.js +235 -183
  13. package/dist/node.js.map +36 -36
  14. package/dist/provider/AiProviderRegistry.d.ts +9 -9
  15. package/dist/provider/AiProviderRegistry.d.ts.map +1 -1
  16. package/dist/task/BackgroundRemovalTask.d.ts +4 -4
  17. package/dist/task/DocumentSplitterTask.d.ts +2 -2
  18. package/dist/task/DocumentSplitterTask.d.ts.map +1 -1
  19. package/dist/task/DownloadModelTask.d.ts +20 -20
  20. package/dist/task/FaceDetectorTask.d.ts +4 -4
  21. package/dist/task/FaceLandmarkerTask.d.ts +4 -4
  22. package/dist/task/GestureRecognizerTask.d.ts +4 -4
  23. package/dist/task/HandLandmarkerTask.d.ts +4 -4
  24. package/dist/task/ImageClassificationTask.d.ts +4 -4
  25. package/dist/task/ImageEmbeddingTask.d.ts +4 -4
  26. package/dist/task/ImageSegmentationTask.d.ts +4 -4
  27. package/dist/task/ImageToTextTask.d.ts +4 -4
  28. package/dist/task/ObjectDetectionTask.d.ts +4 -4
  29. package/dist/task/PoseLandmarkerTask.d.ts +4 -4
  30. package/dist/task/TextClassificationTask.d.ts +4 -4
  31. package/dist/task/TextEmbeddingTask.d.ts +4 -4
  32. package/dist/task/TextFillMaskTask.d.ts +4 -4
  33. package/dist/task/TextGenerationTask.d.ts +4 -4
  34. package/dist/task/TextLanguageDetectionTask.d.ts +4 -4
  35. package/dist/task/TextNamedEntityRecognitionTask.d.ts +4 -4
  36. package/dist/task/TextQuestionAnswerTask.d.ts +4 -4
  37. package/dist/task/TextRewriterTask.d.ts +4 -4
  38. package/dist/task/TextSummaryTask.d.ts +4 -4
  39. package/dist/task/TextTranslationTask.d.ts +4 -4
  40. package/dist/task/UnloadModelTask.d.ts +20 -20
  41. package/dist/task/UnloadModelTask.d.ts.map +1 -1
  42. package/dist/task/VectorSimilarityTask.d.ts +2 -2
  43. package/dist/task/VectorSimilarityTask.d.ts.map +1 -1
  44. package/dist/task/base/AiTask.d.ts +11 -3
  45. package/dist/task/base/AiTask.d.ts.map +1 -1
  46. package/dist/task/base/AiTaskSchemas.d.ts +2 -2
  47. package/dist/task/base/AiVisionTask.d.ts +3 -3
  48. package/dist/task/base/AiVisionTask.d.ts.map +1 -1
  49. package/package.json +9 -9
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import { IJobExecuteContext, Job } from "@workglow/job-queue";
7
7
  import { TaskInput, TaskOutput } from "@workglow/task-graph";
8
+ import type { ModelConfig } from "../model/ModelSchema";
8
9
  /**
9
10
  * Input data for the AiJob
10
11
  */
@@ -12,7 +13,7 @@ export interface AiJobInput<Input extends TaskInput = TaskInput> {
12
13
  taskType: string;
13
14
  aiProvider: string;
14
15
  taskInput: Input & {
15
- model: string;
16
+ model: ModelConfig;
16
17
  };
17
18
  }
18
19
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AiJob.d.ts","sourceRoot":"","sources":["../../src/job/AiJob.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,kBAAkB,EAClB,GAAG,EAGJ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAI7D;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,KAAK,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACtC;AAED;;;GAGG;AACH,qBAAa,KAAK,CAChB,KAAK,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC3D,MAAM,SAAS,UAAU,GAAG,UAAU,CACtC,SAAQ,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;CA+C1E"}
1
+ {"version":3,"file":"AiJob.d.ts","sourceRoot":"","sources":["../../src/job/AiJob.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,kBAAkB,EAClB,GAAG,EAGJ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,KAAK,GAAG;QAAE,KAAK,EAAE,WAAW,CAAA;KAAE,CAAC;CAC3C;AAED;;;GAGG;AACH,qBAAa,KAAK,CAChB,KAAK,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC3D,MAAM,SAAS,UAAU,GAAG,UAAU,CACtC,SAAQ,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;CA2C1E"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { type TabularRepository } from "@workglow/storage";
7
7
  import { EventEmitter, EventParameters } from "@workglow/util";
8
- import { ModelPrimaryKeyNames, ModelRecord, ModelSchema } from "./ModelSchema";
8
+ import { ModelPrimaryKeyNames, ModelRecord, ModelRecordSchema } from "./ModelSchema";
9
9
  /**
10
10
  * Events that can be emitted by the ModelRepository
11
11
  */
@@ -26,8 +26,8 @@ export declare class ModelRepository {
26
26
  /**
27
27
  * Repository for storing and managing Model instances
28
28
  */
29
- protected readonly modelTabularRepository: TabularRepository<typeof ModelSchema, typeof ModelPrimaryKeyNames>;
30
- constructor(modelTabularRepository: TabularRepository<typeof ModelSchema, typeof ModelPrimaryKeyNames>);
29
+ protected readonly modelTabularRepository: TabularRepository<typeof ModelRecordSchema, typeof ModelPrimaryKeyNames>;
30
+ constructor(modelTabularRepository: TabularRepository<typeof ModelRecordSchema, typeof ModelPrimaryKeyNames>);
31
31
  /** Event emitter for repository events */
32
32
  protected events: EventEmitter<ModelEventListeners>;
33
33
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ModelRepository.d.ts","sourceRoot":"","sources":["../../src/model/ModelRepository.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE/E;;GAEG;AAEH,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,aAAa,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,aAAa,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC;AAEpD,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,WAAW,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAEvF,MAAM,MAAM,oBAAoB,CAAC,KAAK,SAAS,WAAW,IAAI,eAAe,CAC3E,mBAAmB,EACnB,KAAK,CACN,CAAC;AAEF;;;;GAIG;AACH,qBAAa,eAAe;IAC1B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,iBAAiB,CAC1D,OAAO,WAAW,EAClB,OAAO,oBAAoB,CAC5B,CAAC;gBAEA,sBAAsB,EAAE,iBAAiB,CAAC,OAAO,WAAW,EAAE,OAAO,oBAAoB,CAAC;IAK5F,0CAA0C;IAC1C,SAAS,CAAC,MAAM,oCAA2C;IAE3D;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC;;;;OAIG;IACH,EAAE,CAAC,KAAK,SAAS,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,kBAAkB,CAAC,KAAK,CAAC;IAIxE;;;;OAIG;IACH,GAAG,CAAC,KAAK,SAAS,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,kBAAkB,CAAC,KAAK,CAAC;IAIzE;;;;OAIG;IACH,IAAI,CAAC,KAAK,SAAS,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,kBAAkB,CAAC,KAAK,CAAC;IAI1E;;;;OAIG;IACH,MAAM,CAAC,KAAK,SAAS,WAAW,EAAE,IAAI,EAAE,KAAK;IAI7C;;;OAGG;IACG,QAAQ,CAAC,KAAK,EAAE,WAAW;;;;;;;;;;;;;IAMjC;;;;OAIG;IACG,gBAAgB,CAAC,IAAI,EAAE,MAAM;;;;;;;;;;;;;IASnC;;;;OAIG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM;IAOvC;;;OAGG;IACG,iBAAiB;IAcvB;;;OAGG;IACG,kBAAkB;;;;;;;;;;;;;IAMxB;;;;OAIG;IACG,UAAU,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;IAMjC;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;CAG9B"}
1
+ {"version":3,"file":"ModelRepository.d.ts","sourceRoot":"","sources":["../../src/model/ModelRepository.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAErF;;GAEG;AAEH,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,aAAa,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,aAAa,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC;AAEpD,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,WAAW,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAEvF,MAAM,MAAM,oBAAoB,CAAC,KAAK,SAAS,WAAW,IAAI,eAAe,CAC3E,mBAAmB,EACnB,KAAK,CACN,CAAC;AAEF;;;;GAIG;AACH,qBAAa,eAAe;IAC1B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,iBAAiB,CAC1D,OAAO,iBAAiB,EACxB,OAAO,oBAAoB,CAC5B,CAAC;gBAEA,sBAAsB,EAAE,iBAAiB,CAAC,OAAO,iBAAiB,EAAE,OAAO,oBAAoB,CAAC;IAKlG,0CAA0C;IAC1C,SAAS,CAAC,MAAM,oCAA2C;IAE3D;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC;;;;OAIG;IACH,EAAE,CAAC,KAAK,SAAS,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,kBAAkB,CAAC,KAAK,CAAC;IAIxE;;;;OAIG;IACH,GAAG,CAAC,KAAK,SAAS,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,kBAAkB,CAAC,KAAK,CAAC;IAIzE;;;;OAIG;IACH,IAAI,CAAC,KAAK,SAAS,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,kBAAkB,CAAC,KAAK,CAAC;IAI1E;;;;OAIG;IACH,MAAM,CAAC,KAAK,SAAS,WAAW,EAAE,IAAI,EAAE,KAAK;IAI7C;;;OAGG;IACG,QAAQ,CAAC,KAAK,EAAE,WAAW;;;;;;;;;;;;;IAMjC;;;;OAIG;IACG,gBAAgB,CAAC,IAAI,EAAE,MAAM;;;;;;;;;;;;;IASnC;;;;OAIG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM;IAOvC;;;OAGG;IACG,iBAAiB;IAcvB;;;OAGG;IACG,kBAAkB;;;;;;;;;;;;;IAMxB;;;;OAIG;IACG,UAAU,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;IAMjC;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;CAG9B"}
@@ -4,7 +4,51 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { FromSchema } from "@workglow/util";
7
- export declare const ModelSchema: {
7
+ /**
8
+ * A model configuration suitable for task/job inputs.
9
+ *
10
+ * @remarks
11
+ * This is intentionally less strict than {@link ModelRecord} so jobs can carry only the
12
+ * provider configuration required to execute, without requiring access to a model repository.
13
+ */
14
+ export declare const ModelConfigSchema: {
15
+ readonly type: "object";
16
+ readonly properties: {
17
+ readonly model_id: {
18
+ readonly type: "string";
19
+ };
20
+ readonly tasks: {
21
+ readonly type: "array";
22
+ readonly items: {
23
+ readonly type: "string";
24
+ };
25
+ };
26
+ readonly title: {
27
+ readonly type: "string";
28
+ };
29
+ readonly description: {
30
+ readonly type: "string";
31
+ };
32
+ readonly provider: {
33
+ readonly type: "string";
34
+ };
35
+ readonly providerConfig: {
36
+ readonly type: "object";
37
+ readonly default: {};
38
+ };
39
+ readonly metadata: {
40
+ readonly type: "object";
41
+ readonly default: {};
42
+ };
43
+ };
44
+ readonly required: readonly ["provider", "providerConfig"];
45
+ readonly format: "model";
46
+ readonly additionalProperties: false;
47
+ };
48
+ /**
49
+ * A fully-specified model record suitable for persistence in a repository.
50
+ */
51
+ export declare const ModelRecordSchema: {
8
52
  readonly type: "object";
9
53
  readonly properties: {
10
54
  readonly model_id: {
@@ -38,6 +82,7 @@ export declare const ModelSchema: {
38
82
  readonly format: "model";
39
83
  readonly additionalProperties: false;
40
84
  };
41
- export type ModelRecord = FromSchema<typeof ModelSchema>;
85
+ export type ModelConfig = FromSchema<typeof ModelConfigSchema>;
86
+ export type ModelRecord = FromSchema<typeof ModelRecordSchema>;
42
87
  export declare const ModelPrimaryKeyNames: readonly ["model_id"];
43
88
  //# sourceMappingURL=ModelSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModelSchema.d.ts","sourceRoot":"","sources":["../../src/model/ModelSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAwB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAElE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAciB,CAAC;AAE1C,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AACzD,eAAO,MAAM,oBAAoB,uBAAwB,CAAC"}
1
+ {"version":3,"file":"ModelSchema.d.ts","sourceRoot":"","sources":["../../src/model/ModelSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAwB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAElE;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAcW,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQW,CAAC;AAE1C,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC/D,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC/D,eAAO,MAAM,oBAAoB,uBAAwB,CAAC"}