@vertesia/workflow 0.79.2 → 0.79.3

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 (45) hide show
  1. package/lib/cjs/activities/executeInteraction.js +22 -18
  2. package/lib/cjs/activities/executeInteraction.js.map +1 -1
  3. package/lib/cjs/dsl/setup/ActivityContext.js +4 -7
  4. package/lib/cjs/dsl/setup/ActivityContext.js.map +1 -1
  5. package/lib/cjs/iterative-generation/activities/extractToc.js +2 -2
  6. package/lib/cjs/iterative-generation/activities/extractToc.js.map +1 -1
  7. package/lib/cjs/iterative-generation/activities/finalizeOutput.js +4 -7
  8. package/lib/cjs/iterative-generation/activities/finalizeOutput.js.map +1 -1
  9. package/lib/cjs/iterative-generation/activities/generatePart.js +12 -17
  10. package/lib/cjs/iterative-generation/activities/generatePart.js.map +1 -1
  11. package/lib/cjs/iterative-generation/activities/generateToc.js +54 -45
  12. package/lib/cjs/iterative-generation/activities/generateToc.js.map +1 -1
  13. package/lib/cjs/utils/blobs.js +1 -4
  14. package/lib/cjs/utils/blobs.js.map +1 -1
  15. package/lib/cjs/utils/client.js +1 -3
  16. package/lib/cjs/utils/client.js.map +1 -1
  17. package/lib/esm/activities/executeInteraction.js +20 -16
  18. package/lib/esm/activities/executeInteraction.js.map +1 -1
  19. package/lib/esm/dsl/setup/ActivityContext.js +7 -10
  20. package/lib/esm/dsl/setup/ActivityContext.js.map +1 -1
  21. package/lib/esm/iterative-generation/activities/extractToc.js +3 -3
  22. package/lib/esm/iterative-generation/activities/extractToc.js.map +1 -1
  23. package/lib/esm/iterative-generation/activities/finalizeOutput.js +6 -9
  24. package/lib/esm/iterative-generation/activities/finalizeOutput.js.map +1 -1
  25. package/lib/esm/iterative-generation/activities/generatePart.js +13 -18
  26. package/lib/esm/iterative-generation/activities/generatePart.js.map +1 -1
  27. package/lib/esm/iterative-generation/activities/generateToc.js +54 -45
  28. package/lib/esm/iterative-generation/activities/generateToc.js.map +1 -1
  29. package/lib/esm/utils/blobs.js +1 -4
  30. package/lib/esm/utils/blobs.js.map +1 -1
  31. package/lib/esm/utils/client.js +2 -4
  32. package/lib/esm/utils/client.js.map +1 -1
  33. package/lib/types/activities/executeInteraction.d.ts.map +1 -1
  34. package/lib/types/dsl/setup/ActivityContext.d.ts.map +1 -1
  35. package/lib/types/iterative-generation/activities/extractToc.d.ts.map +1 -1
  36. package/lib/types/iterative-generation/activities/finalizeOutput.d.ts.map +1 -1
  37. package/lib/types/iterative-generation/activities/generatePart.d.ts.map +1 -1
  38. package/lib/types/iterative-generation/activities/generateToc.d.ts.map +1 -1
  39. package/lib/types/utils/blobs.d.ts.map +1 -1
  40. package/lib/types/utils/client.d.ts +6 -2
  41. package/lib/types/utils/client.d.ts.map +1 -1
  42. package/lib/workflows-bundle.js +9563 -12474
  43. package/package.json +5 -5
  44. package/src/activities/executeInteraction.ts +29 -24
  45. package/lib/tsconfig.tsbuildinfo +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vertesia/workflow",
3
- "version": "0.79.2",
3
+ "version": "0.79.3",
4
4
  "type": "module",
5
5
  "description": "Vertesia workflow DSL",
6
6
  "main": "./lib/esm/index.js",
@@ -49,11 +49,11 @@
49
49
  "tmp": "^0.2.3",
50
50
  "tmp-promise": "^3.0.3",
51
51
  "yaml": "^2.6.0",
52
+ "@vertesia/api-fetch-client": "0.79.3",
52
53
  "@llumiverse/common": "0.22.2",
53
- "@vertesia/api-fetch-client": "0.79.2",
54
- "@vertesia/memory": "0.79.2",
55
- "@vertesia/client": "0.79.2",
56
- "@vertesia/common": "0.79.2"
54
+ "@vertesia/client": "0.79.3",
55
+ "@vertesia/memory": "0.79.3",
56
+ "@vertesia/common": "0.79.3"
57
57
  },
58
58
  "ts_dual_module": {
59
59
  "outDir": "lib",
@@ -1,4 +1,4 @@
1
- import { CompletionResult, Modalities, ModelOptions } from "@llumiverse/common";
1
+ import { CompletionResult, ModelOptions } from "@llumiverse/common";
2
2
  import { activityInfo, log } from "@temporalio/activity";
3
3
  import { VertesiaClient } from "@vertesia/client";
4
4
  import { NodeStreamSource } from "@vertesia/client/node";
@@ -159,32 +159,37 @@ export async function executeInteraction(payload: DSLActivityExecutionPayload<Ex
159
159
  let completionResult: CompletionResult[] = res.result;
160
160
 
161
161
  // Handle image uploads if the result contains base64 images
162
- if (res.output_modality === Modalities.image) {
163
- const images = res.result.images();
162
+ const imageResults = completionResult.filter(r => r.type === "image");
163
+ if (imageResults.length > 0) {
164
164
  const uploadedImages = await Promise.all(
165
- images.map((image: string, index: number) => {
166
- // Extract base64 data and create buffer
167
- const base64Data = image.replace(/^data:image\/[a-z]+;base64,/, "");
168
- const buffer = Buffer.from(base64Data, 'base64');
169
-
170
- // Generate filename
171
- const { runId } = activityInfo().workflowExecution;
172
- const { activityId } = activityInfo();
173
- const filename = `generated-image-${runId}-${activityId}-${index}.png`;
174
-
175
- // Create a readable stream from the buffer
176
- const stream = Readable.from(buffer);
177
-
178
- const source = new NodeStreamSource(
179
- stream,
180
- filename,
181
- "image/png",
182
- );
183
-
184
- return client.files.uploadFile(source);
165
+ completionResult.map(async (item, index) => {
166
+ if (item.type === "image") {
167
+ const image = item.value;
168
+ // Extract base64 data and create buffer
169
+ const base64Data = image.replace(/^data:image\/[a-z]+;base64,/, "");
170
+ const buffer = Buffer.from(base64Data, 'base64');
171
+
172
+ // Generate filename
173
+ const { runId } = activityInfo().workflowExecution;
174
+ const { activityId } = activityInfo();
175
+ const filename = `generated-image-${runId}-${activityId}-${index}.png`;
176
+
177
+ // Create a readable stream from the buffer
178
+ const stream = Readable.from(buffer);
179
+
180
+ const source = new NodeStreamSource(
181
+ stream,
182
+ filename,
183
+ "image/png",
184
+ );
185
+
186
+ const file = await client.files.uploadFile(source);
187
+ return { type: "image", value: file } as CompletionResult;
188
+ }
189
+ return item;
185
190
  })
186
191
  );
187
- completionResult = uploadedImages.map(file => ({ type: "image", value: file }));
192
+ completionResult = uploadedImages;
188
193
  }
189
194
 
190
195
  return projectResult(payload, params, res, {