@vertesia/workflow 0.50.1 → 0.51.0
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.
- package/lib/cjs/activities/createDocumentFromOther.js.map +1 -1
- package/lib/cjs/activities/executeInteraction.js +1 -2
- package/lib/cjs/activities/executeInteraction.js.map +1 -1
- package/lib/cjs/activities/extractDocumentText.js +1 -7
- package/lib/cjs/activities/extractDocumentText.js.map +1 -1
- package/lib/cjs/dsl/setup/ActivityContext.js +2 -2
- package/lib/cjs/dsl/setup/ActivityContext.js.map +1 -1
- package/lib/cjs/dsl.js +20 -0
- package/lib/cjs/dsl.js.map +1 -0
- package/lib/cjs/index.js +8 -2
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/iterative-generation/activities/extractToc.js +2 -2
- package/lib/cjs/iterative-generation/activities/extractToc.js.map +1 -1
- package/lib/cjs/iterative-generation/activities/finalizeOutput.js +1 -1
- package/lib/cjs/iterative-generation/activities/finalizeOutput.js.map +1 -1
- package/lib/cjs/iterative-generation/activities/generatePart.js +1 -1
- package/lib/cjs/iterative-generation/activities/generatePart.js.map +1 -1
- package/lib/cjs/iterative-generation/activities/generateToc.js +1 -1
- package/lib/cjs/iterative-generation/activities/generateToc.js.map +1 -1
- package/lib/cjs/iterative-generation/utils.js +7 -4
- package/lib/cjs/iterative-generation/utils.js.map +1 -1
- package/lib/cjs/utils/blobs.js +2 -2
- package/lib/cjs/utils/blobs.js.map +1 -1
- package/lib/cjs/utils/client.js +2 -2
- package/lib/cjs/utils/client.js.map +1 -1
- package/lib/cjs/workflows.js +1 -3
- package/lib/cjs/workflows.js.map +1 -1
- package/lib/esm/activities/createDocumentFromOther.js.map +1 -1
- package/lib/esm/activities/executeInteraction.js +1 -2
- package/lib/esm/activities/executeInteraction.js.map +1 -1
- package/lib/esm/activities/extractDocumentText.js +1 -7
- package/lib/esm/activities/extractDocumentText.js.map +1 -1
- package/lib/esm/dsl/setup/ActivityContext.js +3 -3
- package/lib/esm/dsl/setup/ActivityContext.js.map +1 -1
- package/lib/esm/dsl.js +4 -0
- package/lib/esm/dsl.js.map +1 -0
- package/lib/esm/index.js +8 -2
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/iterative-generation/activities/extractToc.js +3 -3
- package/lib/esm/iterative-generation/activities/extractToc.js.map +1 -1
- package/lib/esm/iterative-generation/activities/finalizeOutput.js +2 -2
- package/lib/esm/iterative-generation/activities/finalizeOutput.js.map +1 -1
- package/lib/esm/iterative-generation/activities/generatePart.js +2 -2
- package/lib/esm/iterative-generation/activities/generatePart.js.map +1 -1
- package/lib/esm/iterative-generation/activities/generateToc.js +2 -2
- package/lib/esm/iterative-generation/activities/generateToc.js.map +1 -1
- package/lib/esm/iterative-generation/utils.js +7 -4
- package/lib/esm/iterative-generation/utils.js.map +1 -1
- package/lib/esm/utils/blobs.js +2 -2
- package/lib/esm/utils/blobs.js.map +1 -1
- package/lib/esm/utils/client.js +1 -1
- package/lib/esm/utils/client.js.map +1 -1
- package/lib/esm/workflows.js +0 -1
- package/lib/esm/workflows.js.map +1 -1
- package/lib/types/activities/createDocumentFromOther.d.ts.map +1 -1
- package/lib/types/activities/executeInteraction.d.ts +5 -1
- package/lib/types/activities/executeInteraction.d.ts.map +1 -1
- package/lib/types/activities/extractDocumentText.d.ts.map +1 -1
- package/lib/types/dsl/dslProxyActivities.d.ts +2 -2
- package/lib/types/dsl/dslProxyActivities.d.ts.map +1 -1
- package/lib/types/dsl/setup/ActivityContext.d.ts.map +1 -1
- package/lib/types/dsl.d.ts +4 -0
- package/lib/types/dsl.d.ts.map +1 -0
- package/lib/types/index.d.ts +8 -2
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/iterative-generation/activities/extractToc.d.ts.map +1 -1
- package/lib/types/iterative-generation/activities/finalizeOutput.d.ts.map +1 -1
- package/lib/types/iterative-generation/activities/generatePart.d.ts.map +1 -1
- package/lib/types/iterative-generation/utils.d.ts +2 -2
- package/lib/types/iterative-generation/utils.d.ts.map +1 -1
- package/lib/types/utils/client.d.ts +2 -2
- package/lib/types/utils/client.d.ts.map +1 -1
- package/lib/types/workflows.d.ts +0 -1
- package/lib/types/workflows.d.ts.map +1 -1
- package/lib/workflows-bundle.js +1889 -160
- package/package.json +24 -8
- package/src/activities/createDocumentFromOther.ts +1 -1
- package/src/activities/executeInteraction.ts +7 -4
- package/src/activities/extractDocumentText.ts +2 -7
- package/src/dsl/dslProxyActivities.ts +2 -2
- package/src/dsl/setup/ActivityContext.ts +4 -4
- package/src/dsl.ts +3 -0
- package/src/index.ts +9 -2
- package/src/iterative-generation/activities/extractToc.ts +3 -3
- package/src/iterative-generation/activities/finalizeOutput.ts +3 -3
- package/src/iterative-generation/activities/generatePart.ts +3 -3
- package/src/iterative-generation/activities/generateToc.ts +2 -2
- package/src/iterative-generation/utils.ts +10 -6
- package/src/system/notifyWebhookWorkflow.ts +1 -1
- package/src/utils/blobs.ts +2 -2
- package/src/utils/client.ts +2 -2
- package/src/workflows.ts +0 -2
- package/lib/cjs/conversion/pdf.js +0 -13
- package/lib/cjs/conversion/pdf.js.map +0 -1
- package/lib/cjs/system/generateObjectText.js +0 -76
- package/lib/cjs/system/generateObjectText.js.map +0 -1
- package/lib/esm/conversion/pdf.js +0 -7
- package/lib/esm/conversion/pdf.js.map +0 -1
- package/lib/esm/system/generateObjectText.js +0 -73
- package/lib/esm/system/generateObjectText.js.map +0 -1
- package/lib/types/conversion/pdf.d.ts +0 -2
- package/lib/types/conversion/pdf.d.ts.map +0 -1
- package/lib/types/system/generateObjectText.d.ts +0 -4
- package/lib/types/system/generateObjectText.d.ts.map +0 -1
- package/src/conversion/pdf.test.ts +0 -35
- package/src/conversion/pdf.ts +0 -8
- package/src/system/generateObjectText.ts +0 -95
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@vertesia/workflow",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.51.0",
|
4
4
|
"type": "module",
|
5
5
|
"description": "Composable prompts workflow dsl",
|
6
6
|
"main": "./lib/esm/index.js",
|
@@ -18,6 +18,7 @@
|
|
18
18
|
},
|
19
19
|
"license": "Apache-2.0",
|
20
20
|
"devDependencies": {
|
21
|
+
"@smithy/types": "^3.7.2",
|
21
22
|
"@temporalio/testing": "^1.11.5",
|
22
23
|
"@temporalio/worker": "^1.11.5",
|
23
24
|
"@types/jsonwebtoken": "^9.0.7",
|
@@ -25,19 +26,17 @@
|
|
25
26
|
"@types/papaparse": "^5.3.15",
|
26
27
|
"@types/tmp": "^0.2.6",
|
27
28
|
"ts-dual-module": "^0.6.3",
|
28
|
-
"vitest": "^2.1.
|
29
|
-
"@smithy/types": "^3.7.2"
|
29
|
+
"vitest": "^2.1.9"
|
30
30
|
},
|
31
31
|
"dependencies": {
|
32
32
|
"@aws-sdk/client-s3": "^3.693.0",
|
33
33
|
"@aws-sdk/client-textract": "^3.693.0",
|
34
34
|
"@aws-sdk/credential-providers": "^3.693.0",
|
35
|
-
"@vertesia/memory": "^0.43.0",
|
36
|
-
"@opendocsg/pdf2md": "0.2.0",
|
37
35
|
"@temporalio/activity": "^1.11.5",
|
38
36
|
"@temporalio/workflow": "^1.11.5",
|
39
37
|
"@tensorflow/tfjs-node": "^4.19.0",
|
40
38
|
"@types/json-schema": "^7.0.15",
|
39
|
+
"@vertesia/memory": "^0.43.0",
|
41
40
|
"api-fetch-client": "^0.13.0",
|
42
41
|
"fast-deep-equal": "^3.1.3",
|
43
42
|
"jsonwebtoken": "^9.0.2",
|
@@ -50,13 +49,14 @@
|
|
50
49
|
"tmp": "^0.2.3",
|
51
50
|
"yaml": "^2.6.0",
|
52
51
|
"@llumiverse/core": "0.15.0",
|
53
|
-
"@vertesia/client": "0.
|
54
|
-
"@vertesia/common": "0.
|
52
|
+
"@vertesia/client": "0.51.0",
|
53
|
+
"@vertesia/common": "0.51.0"
|
55
54
|
},
|
56
55
|
"ts_dual_module": {
|
57
56
|
"outDir": "lib",
|
58
57
|
"exports": {
|
59
|
-
"activities": "./activities",
|
58
|
+
"activities": "./activities/index.js",
|
59
|
+
"dsl-activities": "./activities/index-dsl.js",
|
60
60
|
"workflows": "./workflows",
|
61
61
|
"workflows-bundle": "./workflows-bundle.js",
|
62
62
|
"vars": "./vars"
|
@@ -78,11 +78,21 @@
|
|
78
78
|
"import": "./lib/esm/activities/index.js",
|
79
79
|
"require": "./lib/cjs/activities/index.js"
|
80
80
|
},
|
81
|
+
"./dsl-activities": {
|
82
|
+
"types": "./lib/types/activities/index-dsl.d.ts",
|
83
|
+
"import": "./lib/esm/activities/index-dsl.js",
|
84
|
+
"require": "./lib/cjs/activities/index-dsl.js"
|
85
|
+
},
|
81
86
|
"./workflows": {
|
82
87
|
"types": "./lib/types/workflows.d.ts",
|
83
88
|
"import": "./lib/esm/workflows.js",
|
84
89
|
"require": "./lib/cjs/workflows.js"
|
85
90
|
},
|
91
|
+
"./dsl": {
|
92
|
+
"types": "./lib/types/dsl.d.ts",
|
93
|
+
"import": "./lib/esm/dsl.js",
|
94
|
+
"require": "./lib/cjs/dsl.js"
|
95
|
+
},
|
86
96
|
"./workflows-bundle": {
|
87
97
|
"import": "./lib/workflows-bundle.js"
|
88
98
|
}
|
@@ -93,9 +103,15 @@
|
|
93
103
|
"activities": [
|
94
104
|
"./lib/types/activities/index.d.ts"
|
95
105
|
],
|
106
|
+
"dsl-activities": [
|
107
|
+
"./lib/types/activities/index-dsl.d.ts"
|
108
|
+
],
|
96
109
|
"workflows": [
|
97
110
|
"./lib/types/workflows.d.ts"
|
98
111
|
],
|
112
|
+
"dsl": [
|
113
|
+
"./lib/types/dsl.d.ts"
|
114
|
+
],
|
99
115
|
"vars": [
|
100
116
|
"./lib/types/dsl/vars.d.ts"
|
101
117
|
]
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { DSLActivityExecutionPayload, DSLActivitySpec } from "@vertesia/common";
|
2
1
|
import { log } from "@temporalio/activity";
|
2
|
+
import { DSLActivityExecutionPayload, DSLActivitySpec } from "@vertesia/common";
|
3
3
|
import fs from 'fs';
|
4
4
|
import { pdfExtractPages } from "../conversion/mutool.js";
|
5
5
|
import { setupActivity } from "../dsl/setup/ActivityContext.js";
|
@@ -52,8 +52,7 @@ const JSON: DSLActivitySpec = {
|
|
52
52
|
}
|
53
53
|
}
|
54
54
|
}
|
55
|
-
|
56
|
-
export interface InteractionExecutionParams extends ModelOptions {
|
55
|
+
export interface InteractionExecutionParams {
|
57
56
|
/**
|
58
57
|
* The environment to use. If not specified the project default environment will be used.
|
59
58
|
* If the latter is not specified an exeption will be thrown.
|
@@ -80,6 +79,11 @@ export interface InteractionExecutionParams extends ModelOptions {
|
|
80
79
|
* Wether or not to include the previous error in the interaction prompt data
|
81
80
|
*/
|
82
81
|
include_previous_error?: boolean;
|
82
|
+
|
83
|
+
/**
|
84
|
+
* Options to control generation
|
85
|
+
*/
|
86
|
+
model_options?: ModelOptions;
|
83
87
|
}
|
84
88
|
|
85
89
|
|
@@ -153,8 +157,7 @@ export async function executeInteractionFromActivity(client: VertesiaClient, int
|
|
153
157
|
const config: InteractionExecutionConfiguration = {
|
154
158
|
environment: params.environment,
|
155
159
|
model: params.model,
|
156
|
-
|
157
|
-
temperature: params.temperature
|
160
|
+
model_options: params.model_options,
|
158
161
|
}
|
159
162
|
const data = {
|
160
163
|
...prompt_data,
|
@@ -1,8 +1,7 @@
|
|
1
|
-
import { ContentObject, CreateContentObjectPayload, DSLActivityExecutionPayload, DSLActivitySpec } from '@vertesia/common';
|
2
1
|
import { log } from "@temporalio/activity";
|
2
|
+
import { ContentObject, CreateContentObjectPayload, DSLActivityExecutionPayload, DSLActivitySpec } from '@vertesia/common';
|
3
3
|
import { mutoolPdfToText } from '../conversion/mutool.js';
|
4
4
|
import { manyToMarkdown } from '../conversion/pandoc.js';
|
5
|
-
import { trasformPdfToMarkdown } from '../conversion/pdf.js';
|
6
5
|
import { setupActivity } from "../dsl/setup/ActivityContext.js";
|
7
6
|
import { NoDocumentFound } from '../errors.js';
|
8
7
|
import { TextExtractionResult, TextExtractionStatus } from '../result-types.js';
|
@@ -66,11 +65,7 @@ export async function extractDocumentText(payload: DSLActivityExecutionPayload<E
|
|
66
65
|
|
67
66
|
case 'application/pdf':
|
68
67
|
//if pdf is more than 2MB, use mutool
|
69
|
-
|
70
|
-
txt = await mutoolPdfToText(fileBuffer);
|
71
|
-
} else {
|
72
|
-
txt = await trasformPdfToMarkdown(fileBuffer);
|
73
|
-
}
|
68
|
+
txt = await mutoolPdfToText(fileBuffer);
|
74
69
|
break;
|
75
70
|
|
76
71
|
case 'text/plain':
|
@@ -1,12 +1,12 @@
|
|
1
1
|
import { ActivityOptions, proxyActivities } from "@temporalio/workflow";
|
2
|
-
import { DSLActivityExecutionPayload, WorkflowExecutionPayload } from "@vertesia/common";
|
2
|
+
import { DSLActivityExecutionPayload, WorkflowExecutionBaseParams, WorkflowExecutionPayload } from "@vertesia/common";
|
3
3
|
|
4
4
|
export interface DslActivityFunction<ParamsT extends Record<string, any> = any, ReturnT = any> {
|
5
5
|
(payload: DSLActivityExecutionPayload<ParamsT>): Promise<ReturnT>;
|
6
6
|
}
|
7
7
|
|
8
8
|
export interface DslSimplifiedActivityFunction<ParamsT = any, ReturnT = any> {
|
9
|
-
(payload:
|
9
|
+
(payload: WorkflowExecutionBaseParams, params: ParamsT): Promise<ReturnT>;
|
10
10
|
}
|
11
11
|
|
12
12
|
export function dslProxyActivities<
|
@@ -1,12 +1,12 @@
|
|
1
|
+
import { log } from "@temporalio/activity";
|
1
2
|
import { VertesiaClient } from "@vertesia/client";
|
2
3
|
import { DSLActivityExecutionPayload, DSLWorkflowExecutionPayload, Project, WorkflowExecutionPayload } from "@vertesia/common";
|
3
|
-
import { log } from "@temporalio/activity";
|
4
4
|
import { NoDocumentFound, WorkflowParamNotFound } from "../../errors.js";
|
5
|
-
import {
|
5
|
+
import { getProjectFromToken } from "../../utils/auth.js";
|
6
|
+
import { getVertesiaClient } from "../../utils/client.js";
|
6
7
|
import { Vars } from "../vars.js";
|
7
8
|
import { getFetchProvider, registerFetchProviderFactory } from "./fetch/index.js";
|
8
9
|
import { DocumentProvider, DocumentTypeProvider, InteractionRunProvider } from "./fetch/providers.js";
|
9
|
-
import { getProjectFromToken } from "../../utils/auth.js";
|
10
10
|
|
11
11
|
|
12
12
|
registerFetchProviderFactory(DocumentProvider.ID, DocumentProvider.factory);
|
@@ -59,7 +59,7 @@ export async function setupActivity<ParamsT extends Record<string, any>>(payload
|
|
59
59
|
log.info(`Setting up activity ${payload.activity.name}`, { config: payload.config, activity: payload.activity, params: payload.params, vars });
|
60
60
|
}
|
61
61
|
|
62
|
-
const client =
|
62
|
+
const client = getVertesiaClient(payload);
|
63
63
|
const fetchSpecs = payload.activity.fetch;
|
64
64
|
if (fetchSpecs) {
|
65
65
|
|
package/src/dsl.ts
ADDED
package/src/index.ts
CHANGED
@@ -20,9 +20,16 @@ export * from "./activities/generateDocumentProperties.js";
|
|
20
20
|
export * from "./activities/generateEmbeddings.js";
|
21
21
|
export * from "./activities/generateImageRendition.js";
|
22
22
|
export * from "./activities/generateOrAssignContentType.js";
|
23
|
-
export * from "./activities/setDocumentStatus.js";
|
24
23
|
export * from "./activities/notifyWebhook.js";
|
24
|
+
export * from "./activities/setDocumentStatus.js";
|
25
25
|
export * from "./iterative-generation/activities/index.js";
|
26
26
|
|
27
|
+
export * from "./dsl/setup/ActivityContext.js";
|
28
|
+
export * from "./errors.js";
|
27
29
|
export * from "./result-types.js";
|
28
|
-
export * from "./
|
30
|
+
export * from "./utils/blobs.js";
|
31
|
+
export * from "./utils/client.js";
|
32
|
+
export * from "./utils/memory.js";
|
33
|
+
export * from "./utils/tokens.js";
|
34
|
+
|
35
|
+
export * from "./conversion/image.js";
|
@@ -1,10 +1,10 @@
|
|
1
|
+
import { log } from "@temporalio/activity";
|
1
2
|
import { WorkflowExecutionPayload } from "@vertesia/common";
|
2
3
|
import { parse as parseYaml } from "yaml";
|
3
|
-
import {
|
4
|
+
import { getVertesiaClient } from "../../utils/client.js";
|
4
5
|
import { buildAndPublishMemoryPack, loadMemoryPack } from "../../utils/memory.js";
|
5
6
|
import { IterativeGenerationPayload, OutputMemoryMeta, Toc, TocIndex } from "../types.js";
|
6
7
|
import { tocIndex } from "../utils.js";
|
7
|
-
import { log } from "@temporalio/activity";
|
8
8
|
|
9
9
|
/**
|
10
10
|
* This activity is called if the toc was provided in the payload. Otherwise
|
@@ -15,7 +15,7 @@ import { log } from "@temporalio/activity";
|
|
15
15
|
export async function it_gen_extractToc(payload: WorkflowExecutionPayload): Promise<TocIndex | null> {
|
16
16
|
const vars = payload.vars as IterativeGenerationPayload;
|
17
17
|
const memory = vars.memory;
|
18
|
-
const client =
|
18
|
+
const client = getVertesiaClient(payload);
|
19
19
|
|
20
20
|
const inMemory = await loadMemoryPack(client, `${memory}/input`);
|
21
21
|
let tocJson: string | null = null;
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import { WorkflowExecutionPayload } from "@vertesia/common";
|
2
1
|
import { log } from "@temporalio/activity";
|
3
|
-
import {
|
2
|
+
import { WorkflowExecutionPayload } from "@vertesia/common";
|
3
|
+
import { getVertesiaClient } from "../../utils/client.js";
|
4
4
|
import { expandVars } from "../../utils/expand-vars.js";
|
5
5
|
import { buildAndPublishMemoryPack, loadMemoryPack } from "../../utils/memory.js";
|
6
6
|
import { IterativeGenerationPayload, Section, SECTION_ID_PLACEHOLDER, TocSection } from "../types.js";
|
@@ -9,7 +9,7 @@ export async function it_gen_finalizeOutput(payload: WorkflowExecutionPayload):
|
|
9
9
|
const vars = payload.vars as IterativeGenerationPayload;
|
10
10
|
|
11
11
|
const memory = vars.memory;
|
12
|
-
const client =
|
12
|
+
const client = getVertesiaClient(payload);
|
13
13
|
const inMemory = await loadMemoryPack(client, `${memory}/input`);
|
14
14
|
const outMemory = await loadMemoryPack(client, `${memory}/output`);
|
15
15
|
|
@@ -1,14 +1,14 @@
|
|
1
|
+
import { ApplicationFailure } from "@temporalio/workflow";
|
1
2
|
import { WorkflowExecutionPayload } from "@vertesia/common";
|
2
3
|
import { MemoryPack } from "@vertesia/memory";
|
3
|
-
import {
|
4
|
-
import { getClient } from "../../utils/client.js";
|
4
|
+
import { getVertesiaClient } from "../../utils/client.js";
|
5
5
|
import { buildAndPublishMemoryPack, loadMemoryPack } from "../../utils/memory.js";
|
6
6
|
import { IterativeGenerationPayload, OutputMemoryMeta, Section, TocPart, TocSection } from "../types.js";
|
7
7
|
import { executeWithVars, expectMemoryIsConsistent } from "../utils.js";
|
8
8
|
|
9
9
|
export async function it_gen_generatePart(payload: WorkflowExecutionPayload, path: number[]) {
|
10
10
|
const vars = payload.vars as IterativeGenerationPayload;
|
11
|
-
const client =
|
11
|
+
const client = getVertesiaClient(payload);
|
12
12
|
const memory = vars.memory;
|
13
13
|
|
14
14
|
const [sectionIndex, partIndex] = path;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { WorkflowExecutionPayload } from "@vertesia/common";
|
2
|
-
import {
|
2
|
+
import { getVertesiaClient } from "../../utils/client.js";
|
3
3
|
import { buildAndPublishMemoryPack } from "../../utils/memory.js";
|
4
4
|
import { IterativeGenerationPayload, OutputMemoryMeta, Toc, TocIndex } from "../types.js";
|
5
5
|
import { executeWithVars, tocIndex } from "../utils.js";
|
@@ -80,7 +80,7 @@ export async function it_gen_generateToc(payload: WorkflowExecutionPayload): Pro
|
|
80
80
|
|
81
81
|
const schema = vars.toc_schema || defaultTocSchema;
|
82
82
|
|
83
|
-
const client =
|
83
|
+
const client = getVertesiaClient(payload);
|
84
84
|
|
85
85
|
const run = await executeWithVars(client, vars.interaction, vars, undefined, schema);
|
86
86
|
|
@@ -2,15 +2,16 @@ import { VertesiaClient } from "@vertesia/client";
|
|
2
2
|
import { ExecutionRun } from "@vertesia/common";
|
3
3
|
import { ApplicationFailure } from "@temporalio/workflow";
|
4
4
|
import { OutputMemoryMeta, PartIndex, Toc, TocIndex, TocSection } from "./types.js";
|
5
|
+
import { ModelOptions, TextFallbackOptions } from "@llumiverse/core";
|
5
6
|
|
7
|
+
//TODO: For whole file, support for options beyond max_tokens and temperature and multiple modalities.
|
6
8
|
export interface ExecuteOptions {
|
7
9
|
interaction: string;
|
8
10
|
memory: string;
|
9
11
|
memory_mapping?: Record<string, any>;
|
10
12
|
environment?: string;
|
11
13
|
model?: string;
|
12
|
-
|
13
|
-
temperature?: number;
|
14
|
+
model_options?: ModelOptions;
|
14
15
|
result_schema?: Record<string, any>;
|
15
16
|
}
|
16
17
|
|
@@ -24,8 +25,7 @@ export async function execute<T = any>(client: VertesiaClient, options: ExecuteO
|
|
24
25
|
config: {
|
25
26
|
environment: options.environment,
|
26
27
|
model: options.model,
|
27
|
-
|
28
|
-
temperature: options.temperature,
|
28
|
+
model_options: options.model_options,
|
29
29
|
}
|
30
30
|
});
|
31
31
|
}
|
@@ -36,14 +36,18 @@ export function executeWithVars<T = any>(client: VertesiaClient, interaction: st
|
|
36
36
|
} else {
|
37
37
|
mapping = vars.input_mapping;
|
38
38
|
}
|
39
|
+
const model_options: TextFallbackOptions = {
|
40
|
+
_option_id: "text-fallback",
|
41
|
+
max_tokens: vars.max_tokens,
|
42
|
+
temperature: vars.temperature
|
43
|
+
}
|
39
44
|
return execute(client, {
|
40
45
|
interaction: interaction,
|
41
46
|
memory: `${vars.memory}/input`,
|
42
47
|
memory_mapping: mapping,
|
43
48
|
environment: vars.environment,
|
44
49
|
model: vars.model,
|
45
|
-
|
46
|
-
temperature: vars.temperature,
|
50
|
+
model_options: model_options,
|
47
51
|
result_schema: result_schema
|
48
52
|
});
|
49
53
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
|
2
2
|
import { log } from "@temporalio/workflow";
|
3
3
|
import { ContentEventName, WorkflowExecutionPayload } from "@vertesia/common";
|
4
|
-
import * as activities from "../activities/
|
4
|
+
import * as activities from "../activities/notifyWebhook.js";
|
5
5
|
import { dslProxyActivities } from "../dsl/dslProxyActivities.js";
|
6
6
|
|
7
7
|
const {
|
package/src/utils/blobs.ts
CHANGED
@@ -35,8 +35,8 @@ export async function saveBlobToFile(client: VertesiaClient, blobUri: string, to
|
|
35
35
|
|
36
36
|
export async function saveBlobToTempFile(client: VertesiaClient, blobUri: string, fileExt?: string): Promise<string> {
|
37
37
|
const tmpFile = tmp.fileSync({
|
38
|
-
prefix: "
|
39
|
-
postfix: fileExt,
|
38
|
+
prefix: "vertesia-activity-",
|
39
|
+
postfix: "." + fileExt,
|
40
40
|
discardDescriptor: true
|
41
41
|
});
|
42
42
|
await saveBlobToFile(client, blobUri, tmpFile.name);
|
package/src/utils/client.ts
CHANGED
@@ -3,10 +3,10 @@
|
|
3
3
|
*/
|
4
4
|
|
5
5
|
import { VertesiaClient } from "@vertesia/client";
|
6
|
-
import {
|
6
|
+
import { WorkflowExecutionBaseParams } from "@vertesia/common";
|
7
7
|
|
8
8
|
|
9
|
-
export function
|
9
|
+
export function getVertesiaClient(payload: WorkflowExecutionBaseParams) {
|
10
10
|
|
11
11
|
if (!payload.auth_token) {
|
12
12
|
throw new Error("Authentication Token is missing from WorkflowExecutionPayload.authToken");
|
package/src/workflows.ts
CHANGED
@@ -3,7 +3,5 @@
|
|
3
3
|
*/
|
4
4
|
export { dslWorkflow } from "./dsl/dsl-workflow.js";
|
5
5
|
export { iterativeGenerationWorkflow } from "./iterative-generation/iterativeGenerationWorkflow.js";
|
6
|
-
export { generateObjectText } from "./system/generateObjectText.js";
|
7
6
|
export { notifyWebhookWorkflow } from "./system/notifyWebhookWorkflow.js";
|
8
7
|
export { recalculateEmbeddingsWorkflow } from "./system/recalculateEmbeddingsWorkflow.js";
|
9
|
-
|
@@ -1,13 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.trasformPdfToMarkdown = trasformPdfToMarkdown;
|
7
|
-
const pdf2md_1 = __importDefault(require("@opendocsg/pdf2md"));
|
8
|
-
const pdf2mdFn = pdf2md_1.default;
|
9
|
-
function trasformPdfToMarkdown(buffer) {
|
10
|
-
const arr = new Uint8Array(buffer);
|
11
|
-
return pdf2mdFn(arr);
|
12
|
-
}
|
13
|
-
//# sourceMappingURL=pdf.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../../src/conversion/pdf.ts"],"names":[],"mappings":";;;;;AAIA,sDAGC;AAPD,+DAAuC;AAEvC,MAAM,QAAQ,GAAG,gBAA4D,CAAC;AAE9E,SAAgB,qBAAqB,CAAC,MAAc;IAChD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC"}
|
@@ -1,76 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.generateObjectText = generateObjectText;
|
4
|
-
const workflow_1 = require("@temporalio/workflow");
|
5
|
-
const dslProxyActivities_js_1 = require("../dsl/dslProxyActivities.js");
|
6
|
-
const errors_js_1 = require("../errors.js");
|
7
|
-
const { getObjectFromStore, extractDocumentText } = (0, dslProxyActivities_js_1.dslProxyActivities)("generateTextWorkflow", {
|
8
|
-
startToCloseTimeout: "5 minute",
|
9
|
-
retry: {
|
10
|
-
initialInterval: '5s',
|
11
|
-
backoffCoefficient: 2,
|
12
|
-
maximumAttempts: 5,
|
13
|
-
maximumInterval: 100 * 30 * 1000, //ms
|
14
|
-
nonRetryableErrorTypes: [],
|
15
|
-
},
|
16
|
-
});
|
17
|
-
const { transcribeMedia, convertPdfToStructuredText } = (0, dslProxyActivities_js_1.dslProxyActivities)("generateTextWorkflow", {
|
18
|
-
startToCloseTimeout: "30 minute",
|
19
|
-
retry: {
|
20
|
-
initialInterval: '30s',
|
21
|
-
backoffCoefficient: 2,
|
22
|
-
maximumAttempts: 5,
|
23
|
-
maximumInterval: 100 * 30 * 1000, //ms
|
24
|
-
nonRetryableErrorTypes: [],
|
25
|
-
},
|
26
|
-
});
|
27
|
-
async function generateObjectText(payload) {
|
28
|
-
const { objectIds } = payload;
|
29
|
-
const objectId = objectIds[0];
|
30
|
-
const object = await getObjectFromStore(payload, {});
|
31
|
-
if (!object.content?.source) {
|
32
|
-
throw new errors_js_1.NoDocumentFound(`No source or mimetype found for object ${objectId}`, objectIds);
|
33
|
-
}
|
34
|
-
const mimetype = object.content.type;
|
35
|
-
if (!mimetype) {
|
36
|
-
throw new errors_js_1.NoDocumentFound(`No mimetype found for object ${objectId}`, objectIds);
|
37
|
-
}
|
38
|
-
const converter = ConverterActivity.find(({ type }) => type.test(mimetype));
|
39
|
-
if (!converter) {
|
40
|
-
throw new errors_js_1.NoDocumentFound(`No converter found for mimetype ${mimetype}`, objectIds);
|
41
|
-
}
|
42
|
-
workflow_1.log.info(`Converting file type ${mimetype} to text with ${converter.name}`);
|
43
|
-
const res = await converter.activity(payload)(payload, converter.params);
|
44
|
-
workflow_1.log.info("Generated text for object", { res, objectId });
|
45
|
-
return res;
|
46
|
-
}
|
47
|
-
const ConverterActivity = [
|
48
|
-
{
|
49
|
-
type: /application\/pdf/,
|
50
|
-
activity: (payload) => {
|
51
|
-
const useTextractForPDF = payload.vars?.useTextractForPdf ?? false;
|
52
|
-
return useTextractForPDF ? convertPdfToStructuredText : extractDocumentText;
|
53
|
-
},
|
54
|
-
name: "ConvertPdfToStructuredText",
|
55
|
-
params: {},
|
56
|
-
},
|
57
|
-
{
|
58
|
-
type: /audio\/.+/,
|
59
|
-
activity: () => transcribeMedia,
|
60
|
-
name: "TranscribeMedia",
|
61
|
-
params: {},
|
62
|
-
},
|
63
|
-
{
|
64
|
-
type: /video\/.+/,
|
65
|
-
activity: () => transcribeMedia,
|
66
|
-
name: "TranscribeMedia",
|
67
|
-
params: {},
|
68
|
-
},
|
69
|
-
{
|
70
|
-
type: /.+/,
|
71
|
-
activity: () => extractDocumentText,
|
72
|
-
name: "extractText",
|
73
|
-
params: {},
|
74
|
-
}
|
75
|
-
];
|
76
|
-
//# sourceMappingURL=generateObjectText.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"generateObjectText.js","sourceRoot":"","sources":["../../../src/system/generateObjectText.ts"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../../src/conversion/pdf.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,MAAM,QAAQ,GAAG,MAA4D,CAAC;AAE9E,MAAM,UAAU,qBAAqB,CAAC,MAAc;IAChD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC"}
|
@@ -1,73 +0,0 @@
|
|
1
|
-
import { log } from "@temporalio/workflow";
|
2
|
-
import { dslProxyActivities } from "../dsl/dslProxyActivities.js";
|
3
|
-
import { NoDocumentFound } from "../errors.js";
|
4
|
-
const { getObjectFromStore, extractDocumentText } = dslProxyActivities("generateTextWorkflow", {
|
5
|
-
startToCloseTimeout: "5 minute",
|
6
|
-
retry: {
|
7
|
-
initialInterval: '5s',
|
8
|
-
backoffCoefficient: 2,
|
9
|
-
maximumAttempts: 5,
|
10
|
-
maximumInterval: 100 * 30 * 1000, //ms
|
11
|
-
nonRetryableErrorTypes: [],
|
12
|
-
},
|
13
|
-
});
|
14
|
-
const { transcribeMedia, convertPdfToStructuredText } = dslProxyActivities("generateTextWorkflow", {
|
15
|
-
startToCloseTimeout: "30 minute",
|
16
|
-
retry: {
|
17
|
-
initialInterval: '30s',
|
18
|
-
backoffCoefficient: 2,
|
19
|
-
maximumAttempts: 5,
|
20
|
-
maximumInterval: 100 * 30 * 1000, //ms
|
21
|
-
nonRetryableErrorTypes: [],
|
22
|
-
},
|
23
|
-
});
|
24
|
-
export async function generateObjectText(payload) {
|
25
|
-
const { objectIds } = payload;
|
26
|
-
const objectId = objectIds[0];
|
27
|
-
const object = await getObjectFromStore(payload, {});
|
28
|
-
if (!object.content?.source) {
|
29
|
-
throw new NoDocumentFound(`No source or mimetype found for object ${objectId}`, objectIds);
|
30
|
-
}
|
31
|
-
const mimetype = object.content.type;
|
32
|
-
if (!mimetype) {
|
33
|
-
throw new NoDocumentFound(`No mimetype found for object ${objectId}`, objectIds);
|
34
|
-
}
|
35
|
-
const converter = ConverterActivity.find(({ type }) => type.test(mimetype));
|
36
|
-
if (!converter) {
|
37
|
-
throw new NoDocumentFound(`No converter found for mimetype ${mimetype}`, objectIds);
|
38
|
-
}
|
39
|
-
log.info(`Converting file type ${mimetype} to text with ${converter.name}`);
|
40
|
-
const res = await converter.activity(payload)(payload, converter.params);
|
41
|
-
log.info("Generated text for object", { res, objectId });
|
42
|
-
return res;
|
43
|
-
}
|
44
|
-
const ConverterActivity = [
|
45
|
-
{
|
46
|
-
type: /application\/pdf/,
|
47
|
-
activity: (payload) => {
|
48
|
-
const useTextractForPDF = payload.vars?.useTextractForPdf ?? false;
|
49
|
-
return useTextractForPDF ? convertPdfToStructuredText : extractDocumentText;
|
50
|
-
},
|
51
|
-
name: "ConvertPdfToStructuredText",
|
52
|
-
params: {},
|
53
|
-
},
|
54
|
-
{
|
55
|
-
type: /audio\/.+/,
|
56
|
-
activity: () => transcribeMedia,
|
57
|
-
name: "TranscribeMedia",
|
58
|
-
params: {},
|
59
|
-
},
|
60
|
-
{
|
61
|
-
type: /video\/.+/,
|
62
|
-
activity: () => transcribeMedia,
|
63
|
-
name: "TranscribeMedia",
|
64
|
-
params: {},
|
65
|
-
},
|
66
|
-
{
|
67
|
-
type: /.+/,
|
68
|
-
activity: () => extractDocumentText,
|
69
|
-
name: "extractText",
|
70
|
-
params: {},
|
71
|
-
}
|
72
|
-
];
|
73
|
-
//# sourceMappingURL=generateObjectText.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"generateObjectText.js","sourceRoot":"","sources":["../../../src/system/generateObjectText.ts"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"pdf.d.ts","sourceRoot":"","sources":["../../../src/conversion/pdf.ts"],"names":[],"mappings":"AAIA,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,mBAGnD"}
|
@@ -1,4 +0,0 @@
|
|
1
|
-
import { WorkflowExecutionPayload } from "@vertesia/common";
|
2
|
-
import { TextExtractionResult } from "../index.js";
|
3
|
-
export declare function generateObjectText(payload: WorkflowExecutionPayload): Promise<TextExtractionResult>;
|
4
|
-
//# sourceMappingURL=generateObjectText.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"generateObjectText.d.ts","sourceRoot":"","sources":["../../../src/system/generateObjectText.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAI5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AA+BnD,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA0BzG"}
|
@@ -1,35 +0,0 @@
|
|
1
|
-
import { MockActivityEnvironment, TestWorkflowEnvironment } from '@temporalio/testing';
|
2
|
-
import fs from 'fs';
|
3
|
-
import path from 'path';
|
4
|
-
import { beforeAll, expect, test } from 'vitest';
|
5
|
-
import { trasformPdfToMarkdown } from '../conversion/pdf';
|
6
|
-
|
7
|
-
|
8
|
-
let testEnv: TestWorkflowEnvironment;
|
9
|
-
let activityContext: MockActivityEnvironment;
|
10
|
-
|
11
|
-
beforeAll(async () => {
|
12
|
-
//testEnv = await TestWorkflowEnvironment.createLocal();
|
13
|
-
activityContext = new MockActivityEnvironment();
|
14
|
-
});
|
15
|
-
|
16
|
-
|
17
|
-
test('Converts a PDF to markdown', async () => {
|
18
|
-
const pdfPath = path.resolve(__dirname, '../../fixtures', 'test-pdf1.pdf');
|
19
|
-
const pdfBuffer = fs.readFileSync(pdfPath);
|
20
|
-
const result = await activityContext.run(trasformPdfToMarkdown, pdfBuffer);
|
21
|
-
|
22
|
-
expect(result).toContain('America');
|
23
|
-
});
|
24
|
-
|
25
|
-
// https://github.com/becomposable/studio/issues/432 Skip tests
|
26
|
-
// The file "test-pdf2.pdf" could not be opened. It may be damanged or use a file format that
|
27
|
-
// Preview doesn't recognize.
|
28
|
-
test.skip('Converts another PDF to markdown', async () => {
|
29
|
-
const pdfPath = path.resolve(__dirname, '../../fixtures', 'test-pdf2.pdf');
|
30
|
-
const pdfBuffer = fs.readFileSync(pdfPath);
|
31
|
-
const result = await activityContext.run(trasformPdfToMarkdown, pdfBuffer);
|
32
|
-
|
33
|
-
expect(result).toContain('America');
|
34
|
-
|
35
|
-
});
|