@workglow/ai 0.0.70 → 0.0.72

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 (35) hide show
  1. package/dist/browser.js +987 -284
  2. package/dist/browser.js.map +16 -7
  3. package/dist/bun.js +987 -284
  4. package/dist/bun.js.map +16 -7
  5. package/dist/node.js +987 -284
  6. package/dist/node.js.map +16 -7
  7. package/dist/task/BackgroundRemovalTask.d.ts +351 -0
  8. package/dist/task/BackgroundRemovalTask.d.ts.map +1 -0
  9. package/dist/task/ImageClassificationTask.d.ts +410 -0
  10. package/dist/task/ImageClassificationTask.d.ts.map +1 -0
  11. package/dist/task/ImageEmbeddingTask.d.ts +503 -0
  12. package/dist/task/ImageEmbeddingTask.d.ts.map +1 -0
  13. package/dist/task/ImageSegmentationTask.d.ts +423 -0
  14. package/dist/task/ImageSegmentationTask.d.ts.map +1 -0
  15. package/dist/task/ImageToTextTask.d.ts +355 -0
  16. package/dist/task/ImageToTextTask.d.ts.map +1 -0
  17. package/dist/task/ObjectDetectionTask.d.ts +476 -0
  18. package/dist/task/ObjectDetectionTask.d.ts.map +1 -0
  19. package/dist/task/{TextClassifierTask.d.ts → TextClassificationTask.d.ts} +27 -19
  20. package/dist/task/TextClassificationTask.d.ts.map +1 -0
  21. package/dist/task/TextFillMaskTask.d.ts +202 -0
  22. package/dist/task/TextFillMaskTask.d.ts.map +1 -0
  23. package/dist/task/TextLanguageDetectionTask.d.ts +4 -7
  24. package/dist/task/TextLanguageDetectionTask.d.ts.map +1 -1
  25. package/dist/task/TextNamedEntityRecognitionTask.d.ts +212 -0
  26. package/dist/task/TextNamedEntityRecognitionTask.d.ts.map +1 -0
  27. package/dist/task/base/AiTask.d.ts.map +1 -1
  28. package/dist/task/base/AiTaskSchemas.d.ts +153 -0
  29. package/dist/task/base/AiTaskSchemas.d.ts.map +1 -1
  30. package/dist/task/base/AiVisionTask.d.ts +33 -0
  31. package/dist/task/base/AiVisionTask.d.ts.map +1 -0
  32. package/dist/task/index.d.ts +9 -1
  33. package/dist/task/index.d.ts.map +1 -1
  34. package/package.json +9 -9
  35. package/dist/task/TextClassifierTask.d.ts.map +0 -1
@@ -0,0 +1,423 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { CreateWorkflow, JobQueueTaskConfig } from "@workglow/task-graph";
7
+ import { DataPortSchema, FromSchema } from "@workglow/util";
8
+ import { DeReplicateFromSchema } from "./base/AiTaskSchemas";
9
+ import { AiVisionTask } from "./base/AiVisionTask";
10
+ export declare const ImageSegmentationInputSchema: {
11
+ readonly type: "object";
12
+ readonly properties: {
13
+ readonly image: {
14
+ readonly "x-replicate": true;
15
+ readonly format?: string | undefined;
16
+ readonly oneOf: readonly [{
17
+ readonly oneOf: readonly [{
18
+ readonly type: "string";
19
+ readonly title: "Image Data";
20
+ readonly description: "Image as data-uri";
21
+ }, {
22
+ readonly type: "object";
23
+ readonly additionalProperties: false;
24
+ readonly properties: {
25
+ readonly data: {
26
+ readonly oneOf: readonly [{
27
+ readonly type: "object";
28
+ readonly format: "image:ImageBitmap";
29
+ readonly title: "ImageBitmap";
30
+ }, {
31
+ readonly type: "object";
32
+ readonly format: "image:OffscreenCanvas";
33
+ readonly title: "OffscreenCanvas";
34
+ }, {
35
+ readonly type: "object";
36
+ readonly format: "image:VideoFrame";
37
+ readonly title: "VideoFrame";
38
+ }, {
39
+ readonly type: "object";
40
+ readonly properties: {
41
+ readonly data: {
42
+ readonly type: "array";
43
+ readonly items: {
44
+ readonly type: "number";
45
+ readonly format: "Uint8Clamped";
46
+ };
47
+ readonly format: "Uint8ClampedArray";
48
+ readonly title: "Data";
49
+ readonly description: "Data of the image";
50
+ };
51
+ readonly width: {
52
+ readonly type: "number";
53
+ readonly title: "Width";
54
+ readonly description: "Width of the image";
55
+ };
56
+ readonly height: {
57
+ readonly type: "number";
58
+ readonly title: "Height";
59
+ readonly description: "Height of the image";
60
+ };
61
+ readonly channels: {
62
+ readonly type: "number";
63
+ readonly title: "Channels";
64
+ readonly description: "Channels of the image";
65
+ };
66
+ readonly rawChannels: {
67
+ readonly type: "number";
68
+ readonly title: "Raw Channels";
69
+ readonly description: "Raw channels of the image";
70
+ };
71
+ };
72
+ readonly additionalProperties: false;
73
+ readonly required: readonly ["data", "width", "height", "channels"];
74
+ readonly format: "image:ImageBinary";
75
+ readonly title: "ImageBinary";
76
+ }];
77
+ };
78
+ readonly width: {
79
+ readonly type: "number";
80
+ readonly title: "Width";
81
+ readonly description: "Width of the image";
82
+ };
83
+ readonly height: {
84
+ readonly type: "number";
85
+ readonly title: "Height";
86
+ readonly description: "Height of the image";
87
+ };
88
+ readonly channels: {
89
+ readonly type: "number";
90
+ readonly title: "Channels";
91
+ readonly description: "Channels of the image";
92
+ readonly minimum: 1;
93
+ readonly maximum: 4;
94
+ };
95
+ };
96
+ readonly required: readonly ["data", "width", "height", "channels"];
97
+ }];
98
+ readonly title: "Image";
99
+ readonly description: "Image as URL or base64-encoded data";
100
+ }, {
101
+ readonly type: "array";
102
+ readonly items: {
103
+ readonly oneOf: readonly [{
104
+ readonly type: "string";
105
+ readonly title: "Image Data";
106
+ readonly description: "Image as data-uri";
107
+ }, {
108
+ readonly type: "object";
109
+ readonly additionalProperties: false;
110
+ readonly properties: {
111
+ readonly data: {
112
+ readonly oneOf: readonly [{
113
+ readonly type: "object";
114
+ readonly format: "image:ImageBitmap";
115
+ readonly title: "ImageBitmap";
116
+ }, {
117
+ readonly type: "object";
118
+ readonly format: "image:OffscreenCanvas";
119
+ readonly title: "OffscreenCanvas";
120
+ }, {
121
+ readonly type: "object";
122
+ readonly format: "image:VideoFrame";
123
+ readonly title: "VideoFrame";
124
+ }, {
125
+ readonly type: "object";
126
+ readonly properties: {
127
+ readonly data: {
128
+ readonly type: "array";
129
+ readonly items: {
130
+ readonly type: "number";
131
+ readonly format: "Uint8Clamped";
132
+ };
133
+ readonly format: "Uint8ClampedArray";
134
+ readonly title: "Data";
135
+ readonly description: "Data of the image";
136
+ };
137
+ readonly width: {
138
+ readonly type: "number";
139
+ readonly title: "Width";
140
+ readonly description: "Width of the image";
141
+ };
142
+ readonly height: {
143
+ readonly type: "number";
144
+ readonly title: "Height";
145
+ readonly description: "Height of the image";
146
+ };
147
+ readonly channels: {
148
+ readonly type: "number";
149
+ readonly title: "Channels";
150
+ readonly description: "Channels of the image";
151
+ };
152
+ readonly rawChannels: {
153
+ readonly type: "number";
154
+ readonly title: "Raw Channels";
155
+ readonly description: "Raw channels of the image";
156
+ };
157
+ };
158
+ readonly additionalProperties: false;
159
+ readonly required: readonly ["data", "width", "height", "channels"];
160
+ readonly format: "image:ImageBinary";
161
+ readonly title: "ImageBinary";
162
+ }];
163
+ };
164
+ readonly width: {
165
+ readonly type: "number";
166
+ readonly title: "Width";
167
+ readonly description: "Width of the image";
168
+ };
169
+ readonly height: {
170
+ readonly type: "number";
171
+ readonly title: "Height";
172
+ readonly description: "Height of the image";
173
+ };
174
+ readonly channels: {
175
+ readonly type: "number";
176
+ readonly title: "Channels";
177
+ readonly description: "Channels of the image";
178
+ readonly minimum: 1;
179
+ readonly maximum: 4;
180
+ };
181
+ };
182
+ readonly required: readonly ["data", "width", "height", "channels"];
183
+ }];
184
+ readonly title: "Image";
185
+ readonly description: "Image as URL or base64-encoded data";
186
+ };
187
+ }];
188
+ readonly title: string | undefined;
189
+ readonly description: string | undefined;
190
+ };
191
+ readonly model: {
192
+ readonly "x-replicate": true;
193
+ readonly format?: string | undefined;
194
+ readonly oneOf: readonly [{
195
+ readonly oneOf: readonly [{
196
+ readonly title: "Model";
197
+ readonly description: `The model ${string}`;
198
+ } & {
199
+ readonly format: import(".").TypeModelSemantic;
200
+ readonly type: "string";
201
+ }, {
202
+ readonly type: "object";
203
+ readonly properties: {
204
+ readonly model_id: {
205
+ readonly type: "string";
206
+ };
207
+ readonly tasks: {
208
+ readonly type: "array";
209
+ readonly items: {
210
+ readonly type: "string";
211
+ };
212
+ };
213
+ readonly title: {
214
+ readonly type: "string";
215
+ };
216
+ readonly description: {
217
+ readonly type: "string";
218
+ };
219
+ readonly provider: {
220
+ readonly type: "string";
221
+ };
222
+ readonly providerConfig: {
223
+ readonly type: "object";
224
+ readonly default: {};
225
+ };
226
+ readonly metadata: {
227
+ readonly type: "object";
228
+ readonly default: {};
229
+ };
230
+ };
231
+ readonly required: readonly ["model_id", "tasks", "provider", "title", "description", "providerConfig", "metadata"];
232
+ readonly format: "model";
233
+ readonly additionalProperties: false;
234
+ } & {
235
+ readonly format: import(".").TypeModelSemantic;
236
+ }];
237
+ } & {
238
+ readonly format: import(".").TypeModelSemantic;
239
+ }, {
240
+ readonly type: "array";
241
+ readonly items: {
242
+ readonly oneOf: readonly [{
243
+ readonly title: "Model";
244
+ readonly description: `The model ${string}`;
245
+ } & {
246
+ readonly format: import(".").TypeModelSemantic;
247
+ readonly type: "string";
248
+ }, {
249
+ readonly type: "object";
250
+ readonly properties: {
251
+ readonly model_id: {
252
+ readonly type: "string";
253
+ };
254
+ readonly tasks: {
255
+ readonly type: "array";
256
+ readonly items: {
257
+ readonly type: "string";
258
+ };
259
+ };
260
+ readonly title: {
261
+ readonly type: "string";
262
+ };
263
+ readonly description: {
264
+ readonly type: "string";
265
+ };
266
+ readonly provider: {
267
+ readonly type: "string";
268
+ };
269
+ readonly providerConfig: {
270
+ readonly type: "object";
271
+ readonly default: {};
272
+ };
273
+ readonly metadata: {
274
+ readonly type: "object";
275
+ readonly default: {};
276
+ };
277
+ };
278
+ readonly required: readonly ["model_id", "tasks", "provider", "title", "description", "providerConfig", "metadata"];
279
+ readonly format: "model";
280
+ readonly additionalProperties: false;
281
+ } & {
282
+ readonly format: import(".").TypeModelSemantic;
283
+ }];
284
+ } & {
285
+ readonly format: import(".").TypeModelSemantic;
286
+ };
287
+ }];
288
+ readonly title: string | undefined;
289
+ readonly description: string | undefined;
290
+ };
291
+ readonly threshold: {
292
+ readonly type: "number";
293
+ readonly title: "Threshold";
294
+ readonly description: "The threshold for filtering masks by score";
295
+ readonly minimum: 0;
296
+ readonly maximum: 1;
297
+ readonly default: 0.5;
298
+ readonly "x-ui-group": "Configuration";
299
+ };
300
+ readonly maskThreshold: {
301
+ readonly type: "number";
302
+ readonly title: "Mask Threshold";
303
+ readonly description: "Threshold to use when turning predicted masks into binary values";
304
+ readonly minimum: 0;
305
+ readonly maximum: 1;
306
+ readonly default: 0.5;
307
+ readonly "x-ui-group": "Configuration";
308
+ };
309
+ };
310
+ readonly required: readonly ["image", "model"];
311
+ readonly additionalProperties: false;
312
+ };
313
+ export declare const ImageSegmentationOutputSchema: {
314
+ readonly type: "object";
315
+ readonly properties: {
316
+ readonly masks: {
317
+ readonly oneOf: readonly [{
318
+ readonly type: "array";
319
+ readonly items: {
320
+ readonly type: "object";
321
+ readonly properties: {
322
+ readonly label: {
323
+ readonly type: "string";
324
+ readonly title: "Label";
325
+ readonly description: "The label of the segmented region";
326
+ };
327
+ readonly score: {
328
+ readonly type: "number";
329
+ readonly title: "Score";
330
+ readonly description: "The confidence score for this segmentation";
331
+ readonly minimum: 0;
332
+ readonly maximum: 1;
333
+ };
334
+ readonly mask: {
335
+ readonly type: "object";
336
+ readonly format: "image";
337
+ readonly title: "Mask";
338
+ readonly description: "Mask image";
339
+ };
340
+ };
341
+ readonly required: readonly ["label", "score", "mask"];
342
+ readonly additionalProperties: false;
343
+ };
344
+ }, {
345
+ readonly type: "array";
346
+ readonly items: {
347
+ readonly type: "array";
348
+ readonly items: {
349
+ readonly type: "object";
350
+ readonly properties: {
351
+ readonly label: {
352
+ readonly type: "string";
353
+ readonly title: "Label";
354
+ readonly description: "The label of the segmented region";
355
+ };
356
+ readonly score: {
357
+ readonly type: "number";
358
+ readonly title: "Score";
359
+ readonly description: "The confidence score for this segmentation";
360
+ readonly minimum: 0;
361
+ readonly maximum: 1;
362
+ };
363
+ readonly mask: {
364
+ readonly type: "object";
365
+ readonly format: "image";
366
+ readonly title: "Mask";
367
+ readonly description: "Mask image";
368
+ };
369
+ };
370
+ readonly required: readonly ["label", "score", "mask"];
371
+ readonly additionalProperties: false;
372
+ };
373
+ };
374
+ }];
375
+ readonly title: "Segmentation Masks";
376
+ readonly description: "The segmented regions with their labels, scores, and masks";
377
+ };
378
+ };
379
+ readonly required: readonly ["masks"];
380
+ readonly additionalProperties: false;
381
+ };
382
+ export type ImageSegmentationTaskInput = FromSchema<typeof ImageSegmentationInputSchema>;
383
+ export type ImageSegmentationTaskOutput = FromSchema<typeof ImageSegmentationOutputSchema>;
384
+ export type ImageSegmentationTaskExecuteInput = DeReplicateFromSchema<typeof ImageSegmentationInputSchema>;
385
+ export type ImageSegmentationTaskExecuteOutput = DeReplicateFromSchema<typeof ImageSegmentationOutputSchema>;
386
+ /**
387
+ * Segments images into regions using computer vision models
388
+ */
389
+ export declare class ImageSegmentationTask extends AiVisionTask<ImageSegmentationTaskInput, ImageSegmentationTaskOutput, JobQueueTaskConfig> {
390
+ static type: string;
391
+ static category: string;
392
+ static title: string;
393
+ static description: string;
394
+ static inputSchema(): DataPortSchema;
395
+ static outputSchema(): DataPortSchema;
396
+ }
397
+ /**
398
+ * Convenience function to run image segmentation tasks.
399
+ * Creates and executes an ImageSegmentationTask with the provided input.
400
+ * @param input The input parameters for image segmentation (image and model)
401
+ * @returns Promise resolving to the segmentation masks with labels and scores
402
+ */
403
+ export declare const ImageSegmentation: (input: ImageSegmentationTaskInput, config?: JobQueueTaskConfig) => Promise<{
404
+ masks: {
405
+ score: number;
406
+ label: string;
407
+ mask: {
408
+ [x: string]: unknown;
409
+ };
410
+ }[] | {
411
+ score: number;
412
+ label: string;
413
+ mask: {
414
+ [x: string]: unknown;
415
+ };
416
+ }[][];
417
+ }>;
418
+ declare module "@workglow/task-graph" {
419
+ interface Workflow {
420
+ ImageSegmentation: CreateWorkflow<ImageSegmentationTaskInput, ImageSegmentationTaskOutput, JobQueueTaskConfig>;
421
+ }
422
+ }
423
+ //# sourceMappingURL=ImageSegmentationTask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageSegmentationTask.d.ts","sourceRoot":"","sources":["../../src/task/ImageSegmentationTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAA0B,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EACL,qBAAqB,EAItB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAInD,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BN,CAAC;AA4BpC,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAcP,CAAC;AAEpC,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC;AACzF,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAC3F,MAAM,MAAM,iCAAiC,GAAG,qBAAqB,CACnE,OAAO,4BAA4B,CACpC,CAAC;AACF,MAAM,MAAM,kCAAkC,GAAG,qBAAqB,CACpE,OAAO,6BAA6B,CACrC,CAAC;AAEF;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,YAAY,CACrD,0BAA0B,EAC1B,2BAA2B,EAC3B,kBAAkB,CACnB;IACC,OAAc,IAAI,SAA2B;IAC7C,OAAc,QAAQ,SAAqB;IAC3C,OAAc,KAAK,SAAwB;IAC3C,OAAc,WAAW,SACiD;WAC5D,WAAW,IAAI,cAAc;WAG7B,YAAY,IAAI,cAAc;CAG7C;AAID;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAC5B,OAAO,0BAA0B,EACjC,SAAS,kBAAkB;;;;;;;;;;;;;;EAG5B,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,QAAQ;QAChB,iBAAiB,EAAE,cAAc,CAC/B,0BAA0B,EAC1B,2BAA2B,EAC3B,kBAAkB,CACnB,CAAC;KACH;CACF"}