@vertesia/workflow 0.79.1 → 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 +127 -127
  44. package/src/activities/executeInteraction.ts +29 -24
  45. package/lib/tsconfig.tsbuildinfo +0 -1
package/package.json CHANGED
@@ -1,136 +1,136 @@
1
1
  {
2
- "name": "@vertesia/workflow",
3
- "version": "0.79.1",
4
- "type": "module",
5
- "description": "Vertesia workflow DSL",
6
- "main": "./lib/esm/index.js",
7
- "files": [
8
- "lib",
9
- "src"
10
- ],
11
- "bin": {
12
- "bundle-workflows": "./bin/bundle-workflows.mjs"
2
+ "name": "@vertesia/workflow",
3
+ "version": "0.79.3",
4
+ "type": "module",
5
+ "description": "Vertesia workflow DSL",
6
+ "main": "./lib/esm/index.js",
7
+ "files": [
8
+ "lib",
9
+ "src"
10
+ ],
11
+ "bin": {
12
+ "bundle-workflows": "./bin/bundle-workflows.mjs"
13
+ },
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "https://github.com/vertesia/composableai.git",
17
+ "directory": "zeno/workflow"
18
+ },
19
+ "license": "Apache-2.0",
20
+ "devDependencies": {
21
+ "@smithy/types": "^3.7.2",
22
+ "@temporalio/proto": "^1.11.5",
23
+ "@temporalio/testing": "^1.11.5",
24
+ "@temporalio/worker": "^1.11.5",
25
+ "@types/jsonwebtoken": "^9.0.7",
26
+ "@types/node": "^22.5.1",
27
+ "@types/papaparse": "^5.3.15",
28
+ "@types/tmp": "^0.2.6",
29
+ "ts-dual-module": "^0.6.3",
30
+ "vitest": "^3.0.9"
31
+ },
32
+ "dependencies": {
33
+ "@aws-sdk/client-s3": "^3.693.0",
34
+ "@aws-sdk/client-textract": "^3.693.0",
35
+ "@aws-sdk/credential-providers": "^3.693.0",
36
+ "@temporalio/activity": "^1.11.5",
37
+ "@temporalio/workflow": "^1.11.5",
38
+ "@types/json-schema": "^7.0.15",
39
+ "fast-deep-equal": "^3.1.3",
40
+ "jsonwebtoken": "^9.0.2",
41
+ "mime": "^4.0.0",
42
+ "ms": "3.0.0-canary.1",
43
+ "node-web-stream-adapters": "^0.2.1",
44
+ "p-limit": "^6.2.0",
45
+ "papaparse": "^5.4.1",
46
+ "seedrandom": "^3.0.5",
47
+ "sharp": "^0.33.4",
48
+ "tiktoken": "^1.0.15",
49
+ "tmp": "^0.2.3",
50
+ "tmp-promise": "^3.0.3",
51
+ "yaml": "^2.6.0",
52
+ "@vertesia/api-fetch-client": "0.79.3",
53
+ "@llumiverse/common": "0.22.2",
54
+ "@vertesia/client": "0.79.3",
55
+ "@vertesia/memory": "0.79.3",
56
+ "@vertesia/common": "0.79.3"
57
+ },
58
+ "ts_dual_module": {
59
+ "outDir": "lib",
60
+ "exports": {
61
+ "activities": "./activities/index.js",
62
+ "dsl-activities": "./activities/index-dsl.js",
63
+ "workflows": "./workflows",
64
+ "workflows-bundle": "./workflows-bundle.js",
65
+ "vars": "./vars"
66
+ }
67
+ },
68
+ "exports": {
69
+ ".": {
70
+ "types": "./lib/types/index.d.ts",
71
+ "import": "./lib/esm/index.js",
72
+ "require": "./lib/cjs/index.js"
13
73
  },
14
- "scripts": {
15
- "test": "vitest run",
16
- "build": "pnpm exec tsmod build && node ./bin/bundle-workflows.mjs lib/esm/workflows.js lib/workflows-bundle.js",
17
- "clean": "rm -rf ./lib tsconfig.tsbuildinfo"
74
+ "./vars": {
75
+ "types": "./lib/types/vars.d.ts",
76
+ "import": "./lib/esm/vars.js",
77
+ "require": "./lib/cjs/vars.js"
18
78
  },
19
- "repository": {
20
- "type": "git",
21
- "url": "https://github.com/vertesia/composableai.git",
22
- "directory": "zeno/workflow"
79
+ "./activities": {
80
+ "types": "./lib/types/activities/index.d.ts",
81
+ "import": "./lib/esm/activities/index.js",
82
+ "require": "./lib/cjs/activities/index.js"
23
83
  },
24
- "license": "Apache-2.0",
25
- "devDependencies": {
26
- "@smithy/types": "^3.7.2",
27
- "@temporalio/proto": "^1.11.5",
28
- "@temporalio/testing": "^1.11.5",
29
- "@temporalio/worker": "^1.11.5",
30
- "@types/jsonwebtoken": "^9.0.7",
31
- "@types/node": "^22.5.1",
32
- "@types/papaparse": "^5.3.15",
33
- "@types/tmp": "^0.2.6",
34
- "ts-dual-module": "^0.6.3",
35
- "vitest": "^3.0.9"
84
+ "./dsl-activities": {
85
+ "types": "./lib/types/activities/index-dsl.d.ts",
86
+ "import": "./lib/esm/activities/index-dsl.js",
87
+ "require": "./lib/cjs/activities/index-dsl.js"
36
88
  },
37
- "dependencies": {
38
- "@aws-sdk/client-s3": "^3.693.0",
39
- "@aws-sdk/client-textract": "^3.693.0",
40
- "@aws-sdk/credential-providers": "^3.693.0",
41
- "@llumiverse/common": "workspace:*",
42
- "@temporalio/activity": "^1.11.5",
43
- "@temporalio/workflow": "^1.11.5",
44
- "@types/json-schema": "^7.0.15",
45
- "@vertesia/api-fetch-client": "workspace:*",
46
- "@vertesia/client": "workspace:*",
47
- "@vertesia/common": "workspace:*",
48
- "@vertesia/memory": "workspace:*",
49
- "fast-deep-equal": "^3.1.3",
50
- "jsonwebtoken": "^9.0.2",
51
- "mime": "^4.0.0",
52
- "ms": "3.0.0-canary.1",
53
- "node-web-stream-adapters": "^0.2.1",
54
- "p-limit": "^6.2.0",
55
- "papaparse": "^5.4.1",
56
- "seedrandom": "^3.0.5",
57
- "sharp": "^0.33.4",
58
- "tiktoken": "^1.0.15",
59
- "tmp": "^0.2.3",
60
- "tmp-promise": "^3.0.3",
61
- "yaml": "^2.6.0"
89
+ "./workflows": {
90
+ "types": "./lib/types/workflows.d.ts",
91
+ "import": "./lib/esm/workflows.js",
92
+ "require": "./lib/cjs/workflows.js"
62
93
  },
63
- "ts_dual_module": {
64
- "outDir": "lib",
65
- "exports": {
66
- "activities": "./activities/index.js",
67
- "dsl-activities": "./activities/index-dsl.js",
68
- "workflows": "./workflows",
69
- "workflows-bundle": "./workflows-bundle.js",
70
- "vars": "./vars"
71
- }
94
+ "./dsl": {
95
+ "types": "./lib/types/dsl.d.ts",
96
+ "import": "./lib/esm/dsl.js",
97
+ "require": "./lib/cjs/dsl.js"
72
98
  },
73
- "exports": {
74
- ".": {
75
- "types": "./lib/types/index.d.ts",
76
- "import": "./lib/esm/index.js",
77
- "require": "./lib/cjs/index.js"
78
- },
79
- "./vars": {
80
- "types": "./lib/types/vars.d.ts",
81
- "import": "./lib/esm/vars.js",
82
- "require": "./lib/cjs/vars.js"
83
- },
84
- "./activities": {
85
- "types": "./lib/types/activities/index.d.ts",
86
- "import": "./lib/esm/activities/index.js",
87
- "require": "./lib/cjs/activities/index.js"
88
- },
89
- "./dsl-activities": {
90
- "types": "./lib/types/activities/index-dsl.d.ts",
91
- "import": "./lib/esm/activities/index-dsl.js",
92
- "require": "./lib/cjs/activities/index-dsl.js"
93
- },
94
- "./workflows": {
95
- "types": "./lib/types/workflows.d.ts",
96
- "import": "./lib/esm/workflows.js",
97
- "require": "./lib/cjs/workflows.js"
98
- },
99
- "./dsl": {
100
- "types": "./lib/types/dsl.d.ts",
101
- "import": "./lib/esm/dsl.js",
102
- "require": "./lib/cjs/dsl.js"
103
- },
104
- "./workflows-bundle": {
105
- "import": "./lib/workflows-bundle.js"
106
- },
107
- "./errors": {
108
- "types": "./lib/types/errors.d.ts",
109
- "import": "./lib/esm/errors.js",
110
- "require": "./lib/cjs/errors.js"
111
- }
99
+ "./workflows-bundle": {
100
+ "import": "./lib/workflows-bundle.js"
112
101
  },
113
- "types": "./lib/types/index.d.ts",
114
- "typesVersions": {
115
- "*": {
116
- "activities": [
117
- "./lib/types/activities/index.d.ts"
118
- ],
119
- "dsl-activities": [
120
- "./lib/types/activities/index-dsl.d.ts"
121
- ],
122
- "workflows": [
123
- "./lib/types/workflows.d.ts"
124
- ],
125
- "dsl": [
126
- "./lib/types/dsl.d.ts"
127
- ],
128
- "vars": [
129
- "./lib/types/dsl/vars.d.ts"
130
- ],
131
- "errors": [
132
- "./lib/types/errors.d.ts"
133
- ]
134
- }
102
+ "./errors": {
103
+ "types": "./lib/types/errors.d.ts",
104
+ "import": "./lib/esm/errors.js",
105
+ "require": "./lib/cjs/errors.js"
106
+ }
107
+ },
108
+ "types": "./lib/types/index.d.ts",
109
+ "typesVersions": {
110
+ "*": {
111
+ "activities": [
112
+ "./lib/types/activities/index.d.ts"
113
+ ],
114
+ "dsl-activities": [
115
+ "./lib/types/activities/index-dsl.d.ts"
116
+ ],
117
+ "workflows": [
118
+ "./lib/types/workflows.d.ts"
119
+ ],
120
+ "dsl": [
121
+ "./lib/types/dsl.d.ts"
122
+ ],
123
+ "vars": [
124
+ "./lib/types/dsl/vars.d.ts"
125
+ ],
126
+ "errors": [
127
+ "./lib/types/errors.d.ts"
128
+ ]
135
129
  }
136
- }
130
+ },
131
+ "scripts": {
132
+ "test": "vitest run",
133
+ "build": "pnpm exec tsmod build && node ./bin/bundle-workflows.mjs lib/esm/workflows.js lib/workflows-bundle.js",
134
+ "clean": "rm -rf ./lib tsconfig.tsbuildinfo"
135
+ }
136
+ }
@@ -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, {