@workglow/ai 0.2.17 → 0.2.18

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 (33) hide show
  1. package/dist/browser.js +19 -86
  2. package/dist/browser.js.map +4 -4
  3. package/dist/bun.js +19 -86
  4. package/dist/bun.js.map +4 -4
  5. package/dist/node.js +19 -86
  6. package/dist/node.js.map +4 -4
  7. package/dist/task/BackgroundRemovalTask.d.ts +3 -83
  8. package/dist/task/BackgroundRemovalTask.d.ts.map +1 -1
  9. package/dist/task/FaceDetectorTask.d.ts +3 -83
  10. package/dist/task/FaceDetectorTask.d.ts.map +1 -1
  11. package/dist/task/FaceLandmarkerTask.d.ts +3 -83
  12. package/dist/task/FaceLandmarkerTask.d.ts.map +1 -1
  13. package/dist/task/GestureRecognizerTask.d.ts +3 -83
  14. package/dist/task/GestureRecognizerTask.d.ts.map +1 -1
  15. package/dist/task/HandLandmarkerTask.d.ts +3 -83
  16. package/dist/task/HandLandmarkerTask.d.ts.map +1 -1
  17. package/dist/task/ImageClassificationTask.d.ts +3 -83
  18. package/dist/task/ImageClassificationTask.d.ts.map +1 -1
  19. package/dist/task/ImageEmbeddingTask.d.ts +6 -166
  20. package/dist/task/ImageEmbeddingTask.d.ts.map +1 -1
  21. package/dist/task/ImageSegmentationTask.d.ts +3 -83
  22. package/dist/task/ImageSegmentationTask.d.ts.map +1 -1
  23. package/dist/task/ImageToTextTask.d.ts +3 -83
  24. package/dist/task/ImageToTextTask.d.ts.map +1 -1
  25. package/dist/task/ObjectDetectionTask.d.ts +3 -83
  26. package/dist/task/ObjectDetectionTask.d.ts.map +1 -1
  27. package/dist/task/PoseLandmarkerTask.d.ts +3 -83
  28. package/dist/task/PoseLandmarkerTask.d.ts.map +1 -1
  29. package/dist/task/base/AiTaskSchemas.d.ts +4 -84
  30. package/dist/task/base/AiTaskSchemas.d.ts.map +1 -1
  31. package/dist/task/base/AiVisionTask.d.ts +2 -5
  32. package/dist/task/base/AiVisionTask.d.ts.map +1 -1
  33. package/package.json +11 -11
package/dist/bun.js CHANGED
@@ -885,80 +885,11 @@ function TypeSingleOrArray(type) {
885
885
  };
886
886
  }
887
887
  var TypeImageInput = {
888
- oneOf: [
889
- {
890
- type: "string",
891
- title: "Image Data",
892
- description: "Image as data-uri",
893
- format: "image:data-uri"
894
- },
895
- {
896
- type: "object",
897
- additionalProperties: false,
898
- properties: {
899
- data: {
900
- oneOf: [
901
- {
902
- type: "object",
903
- format: "image:ImageBitmap",
904
- title: "ImageBitmap"
905
- },
906
- {
907
- type: "object",
908
- format: "image:OffscreenCanvas",
909
- title: "OffscreenCanvas"
910
- },
911
- {
912
- type: "object",
913
- format: "image:VideoFrame",
914
- title: "VideoFrame"
915
- },
916
- {
917
- type: "object",
918
- properties: {
919
- data: {
920
- type: "array",
921
- items: { type: "number", format: "Uint8Clamped" },
922
- format: "Uint8ClampedArray",
923
- title: "Data",
924
- description: "Data of the image"
925
- },
926
- width: { type: "number", title: "Width", description: "Width of the image" },
927
- height: { type: "number", title: "Height", description: "Height of the image" },
928
- channels: {
929
- type: "number",
930
- title: "Channels",
931
- description: "Channels of the image"
932
- },
933
- rawChannels: {
934
- type: "number",
935
- title: "Raw Channels",
936
- description: "Raw channels of the image"
937
- }
938
- },
939
- additionalProperties: false,
940
- required: ["data", "width", "height", "channels"],
941
- format: "image:ImageBinary",
942
- title: "ImageBinary"
943
- }
944
- ]
945
- },
946
- width: { type: "number", title: "Width", description: "Width of the image" },
947
- height: { type: "number", title: "Height", description: "Height of the image" },
948
- channels: {
949
- type: "number",
950
- title: "Channels",
951
- description: "Channels of the image",
952
- minimum: 1,
953
- maximum: 4
954
- }
955
- },
956
- required: ["data", "width", "height", "channels"]
957
- }
958
- ],
888
+ type: "object",
889
+ properties: {},
959
890
  title: "Image",
960
- format: "image",
961
- description: "Image as URL or base64-encoded data"
891
+ description: "Image as data URI, Blob, ImageBitmap, ImageBinary, or GpuImage \u2014 hydrated to GpuImage by the runner",
892
+ format: "image"
962
893
  };
963
894
  var TypeAudioInput = {
964
895
  type: "string",
@@ -1578,23 +1509,25 @@ class AiChatTask extends StreamingAiTask {
1578
1509
  import { CreateWorkflow, Workflow } from "@workglow/task-graph";
1579
1510
 
1580
1511
  // src/task/base/AiVisionTask.ts
1581
- import { Image } from "@workglow/util/media";
1582
1512
  class AiVisionTask extends AiTask {
1583
1513
  static type = "AiVisionTask";
1584
1514
  async getJobInput(input) {
1585
1515
  const jobInput = await super.getJobInput(input);
1586
- const providerName = input.model.provider;
1587
- const supports = ["Blob"];
1588
- if (input.image) {
1589
- if (typeof providerName === "string" && providerName.startsWith("TENSORFLOW_MEDIAPIPE") && "ImageBitmap" in globalThis) {
1590
- supports.push("ImageBitmap");
1591
- } else if (typeof providerName === "string" && providerName.startsWith("TENSORFLOW_MEDIAPIPE") && "VideoFrame" in globalThis) {
1592
- supports.push("VideoFrame");
1516
+ if (!input.image)
1517
+ return jobInput;
1518
+ const provider = input.model.provider;
1519
+ const wantsBitmap = typeof provider === "string" && provider.startsWith("TENSORFLOW_MEDIAPIPE") && typeof ImageBitmap !== "undefined";
1520
+ const materializeOne = async (img) => {
1521
+ if (wantsBitmap) {
1522
+ const bin = await img.materialize();
1523
+ const id = new ImageData(bin.data, bin.width, bin.height);
1524
+ return createImageBitmap(id);
1593
1525
  }
1594
- const toSupported = (img) => Image.from(img).toFirstSupported(supports);
1595
- const image = Array.isArray(input.image) ? await Promise.all(input.image.map(toSupported)) : await toSupported(input.image);
1596
- jobInput.taskInput.image = image;
1597
- }
1526
+ return img.materialize();
1527
+ };
1528
+ const value = input.image;
1529
+ const materialized = Array.isArray(value) ? await Promise.all(value.map(materializeOne)) : await materializeOne(value);
1530
+ jobInput.taskInput.image = materialized;
1598
1531
  return jobInput;
1599
1532
  }
1600
1533
  }
@@ -7278,4 +7211,4 @@ export {
7278
7211
  AiChatInputSchema
7279
7212
  };
7280
7213
 
7281
- //# debugId=4A65F3B2D404BCCD64756E2164756E21
7214
+ //# debugId=54021044A3C741C364756E2164756E21