@vertesia/workflow 0.78.0 → 0.79.1
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/advanced/createDocumentTypeFromInteractionRun.js +8 -7
- package/lib/cjs/activities/advanced/createDocumentTypeFromInteractionRun.js.map +1 -1
- package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +10 -9
- package/lib/cjs/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +1 -1
- package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js +2 -1
- package/lib/cjs/activities/advanced/updateDocumentFromInteractionRun.js.map +1 -1
- package/lib/cjs/activities/chunkDocument.js +2 -1
- package/lib/cjs/activities/chunkDocument.js.map +1 -1
- package/lib/cjs/activities/executeInteraction.js +11 -7
- package/lib/cjs/activities/executeInteraction.js.map +1 -1
- package/lib/cjs/activities/generateDocumentProperties.js +11 -6
- package/lib/cjs/activities/generateDocumentProperties.js.map +1 -1
- package/lib/cjs/activities/generateOrAssignContentType.js +12 -10
- package/lib/cjs/activities/generateOrAssignContentType.js.map +1 -1
- package/lib/cjs/activities/index-dsl.js +5 -3
- package/lib/cjs/activities/index-dsl.js.map +1 -1
- package/lib/cjs/activities/media/prepareVideo.js +429 -0
- package/lib/cjs/activities/media/prepareVideo.js.map +1 -0
- package/lib/cjs/activities/media/transcribeMediaWithGladia.js +48 -15
- package/lib/cjs/activities/media/transcribeMediaWithGladia.js.map +1 -1
- package/lib/cjs/activities/notifyWebhook.js +137 -12
- package/lib/cjs/activities/notifyWebhook.js.map +1 -1
- package/lib/cjs/activities/rateLimiter.js +30 -0
- package/lib/cjs/activities/rateLimiter.js.map +1 -0
- package/lib/cjs/conversion/image.js +4 -2
- package/lib/cjs/conversion/image.js.map +1 -1
- package/lib/cjs/dsl/dsl-workflow.js +66 -0
- package/lib/cjs/dsl/dsl-workflow.js.map +1 -1
- package/lib/cjs/dsl/setup/ActivityContext.js +7 -4
- package/lib/cjs/dsl/setup/ActivityContext.js.map +1 -1
- package/lib/cjs/errors.js +22 -1
- package/lib/cjs/errors.js.map +1 -1
- package/lib/cjs/index.js +2 -1
- 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 +7 -4
- package/lib/cjs/iterative-generation/activities/finalizeOutput.js.map +1 -1
- package/lib/cjs/iterative-generation/activities/generatePart.js +18 -13
- package/lib/cjs/iterative-generation/activities/generatePart.js.map +1 -1
- package/lib/cjs/iterative-generation/activities/generateToc.js +50 -55
- package/lib/cjs/iterative-generation/activities/generateToc.js.map +1 -1
- package/lib/cjs/iterative-generation/utils.js.map +1 -1
- package/lib/cjs/system/notifyWebhookWorkflow.js +10 -3
- package/lib/cjs/system/notifyWebhookWorkflow.js.map +1 -1
- package/lib/cjs/utils/blobs.js +4 -1
- package/lib/cjs/utils/blobs.js.map +1 -1
- package/lib/cjs/utils/client.js +3 -1
- package/lib/cjs/utils/client.js.map +1 -1
- package/lib/esm/activities/advanced/createDocumentTypeFromInteractionRun.js +8 -7
- package/lib/esm/activities/advanced/createDocumentTypeFromInteractionRun.js.map +1 -1
- package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js +10 -9
- package/lib/esm/activities/advanced/createOrUpdateDocumentFromInteractionRun.js.map +1 -1
- package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js +2 -1
- package/lib/esm/activities/advanced/updateDocumentFromInteractionRun.js.map +1 -1
- package/lib/esm/activities/chunkDocument.js +2 -1
- package/lib/esm/activities/chunkDocument.js.map +1 -1
- package/lib/esm/activities/executeInteraction.js +12 -8
- package/lib/esm/activities/executeInteraction.js.map +1 -1
- package/lib/esm/activities/generateDocumentProperties.js +11 -6
- package/lib/esm/activities/generateDocumentProperties.js.map +1 -1
- package/lib/esm/activities/generateOrAssignContentType.js +12 -10
- package/lib/esm/activities/generateOrAssignContentType.js.map +1 -1
- package/lib/esm/activities/index-dsl.js +2 -1
- package/lib/esm/activities/index-dsl.js.map +1 -1
- package/lib/esm/activities/media/prepareVideo.js +390 -0
- package/lib/esm/activities/media/prepareVideo.js.map +1 -0
- package/lib/esm/activities/media/transcribeMediaWithGladia.js +50 -17
- package/lib/esm/activities/media/transcribeMediaWithGladia.js.map +1 -1
- package/lib/esm/activities/notifyWebhook.js +137 -12
- package/lib/esm/activities/notifyWebhook.js.map +1 -1
- package/lib/esm/activities/rateLimiter.js +27 -0
- package/lib/esm/activities/rateLimiter.js.map +1 -0
- package/lib/esm/conversion/image.js +4 -2
- package/lib/esm/conversion/image.js.map +1 -1
- package/lib/esm/dsl/dsl-workflow.js +68 -2
- package/lib/esm/dsl/dsl-workflow.js.map +1 -1
- package/lib/esm/dsl/setup/ActivityContext.js +10 -7
- package/lib/esm/dsl/setup/ActivityContext.js.map +1 -1
- package/lib/esm/errors.js +19 -0
- package/lib/esm/errors.js.map +1 -1
- package/lib/esm/index.js +2 -1
- 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 +9 -6
- package/lib/esm/iterative-generation/activities/finalizeOutput.js.map +1 -1
- package/lib/esm/iterative-generation/activities/generatePart.js +19 -14
- package/lib/esm/iterative-generation/activities/generatePart.js.map +1 -1
- package/lib/esm/iterative-generation/activities/generateToc.js +50 -55
- package/lib/esm/iterative-generation/activities/generateToc.js.map +1 -1
- package/lib/esm/iterative-generation/utils.js.map +1 -1
- package/lib/esm/system/notifyWebhookWorkflow.js +11 -4
- package/lib/esm/system/notifyWebhookWorkflow.js.map +1 -1
- package/lib/esm/utils/blobs.js +4 -1
- package/lib/esm/utils/blobs.js.map +1 -1
- package/lib/esm/utils/client.js +4 -2
- package/lib/esm/utils/client.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/lib/types/activities/advanced/createDocumentTypeFromInteractionRun.d.ts.map +1 -1
- package/lib/types/activities/advanced/createOrUpdateDocumentFromInteractionRun.d.ts +1 -1
- package/lib/types/activities/advanced/createOrUpdateDocumentFromInteractionRun.d.ts.map +1 -1
- package/lib/types/activities/advanced/updateDocumentFromInteractionRun.d.ts.map +1 -1
- package/lib/types/activities/chunkDocument.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/generateDocumentProperties.d.ts.map +1 -1
- package/lib/types/activities/generateOrAssignContentType.d.ts.map +1 -1
- package/lib/types/activities/index-dsl.d.ts +2 -1
- package/lib/types/activities/index-dsl.d.ts.map +1 -1
- package/lib/types/activities/media/prepareVideo.d.ts +30 -0
- package/lib/types/activities/media/prepareVideo.d.ts.map +1 -0
- package/lib/types/activities/media/transcribeMediaWithGladia.d.ts.map +1 -1
- package/lib/types/activities/notifyWebhook.d.ts +14 -3
- package/lib/types/activities/notifyWebhook.d.ts.map +1 -1
- package/lib/types/activities/rateLimiter.d.ts +11 -0
- package/lib/types/activities/rateLimiter.d.ts.map +1 -0
- package/lib/types/conversion/image.d.ts.map +1 -1
- package/lib/types/dsl/dsl-workflow.d.ts.map +1 -1
- package/lib/types/dsl/setup/ActivityContext.d.ts.map +1 -1
- package/lib/types/errors.d.ts +10 -0
- package/lib/types/errors.d.ts.map +1 -1
- package/lib/types/index.d.ts +2 -1
- 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/activities/generateToc.d.ts.map +1 -1
- package/lib/types/iterative-generation/utils.d.ts +3 -4
- package/lib/types/iterative-generation/utils.d.ts.map +1 -1
- package/lib/types/system/notifyWebhookWorkflow.d.ts +3 -2
- package/lib/types/system/notifyWebhookWorkflow.d.ts.map +1 -1
- package/lib/types/utils/blobs.d.ts.map +1 -1
- package/lib/types/utils/client.d.ts +2 -6
- package/lib/types/utils/client.d.ts.map +1 -1
- package/lib/workflows-bundle.js +8413 -5201
- package/package.json +128 -120
- package/src/activities/advanced/createDocumentTypeFromInteractionRun.ts +9 -8
- package/src/activities/advanced/createOrUpdateDocumentFromInteractionRun.ts +11 -9
- package/src/activities/advanced/updateDocumentFromInteractionRun.ts +2 -1
- package/src/activities/chunkDocument.ts +3 -1
- package/src/activities/executeInteraction.ts +23 -14
- package/src/activities/generateDocumentProperties.ts +12 -7
- package/src/activities/generateOrAssignContentType.ts +16 -11
- package/src/activities/index-dsl.ts +2 -1
- package/src/activities/media/prepareVideo.ts +622 -0
- package/src/activities/media/transcribeMediaWithGladia.ts +52 -21
- package/src/activities/notifyWebhook.test.ts +121 -19
- package/src/activities/notifyWebhook.ts +165 -16
- package/src/activities/rateLimiter.ts +41 -0
- package/src/conversion/image.ts +6 -3
- package/src/dsl/dsl-workflow.ts +86 -0
- package/src/dsl/workflow-exec-child.test.ts +1 -0
- package/src/dsl/workflow.test.ts +1 -0
- package/src/errors.ts +28 -0
- package/src/index.ts +2 -1
- package/src/iterative-generation/activities/generatePart.ts +1 -1
- package/src/iterative-generation/activities/generateToc.ts +7 -2
- package/src/iterative-generation/utils.ts +4 -5
- package/src/system/notifyWebhookWorkflow.ts +15 -6
- package/lib/cjs/activities/identifyTextSections.js +0 -48
- package/lib/cjs/activities/identifyTextSections.js.map +0 -1
- package/lib/esm/activities/identifyTextSections.js +0 -45
- package/lib/esm/activities/identifyTextSections.js.map +0 -1
- package/lib/types/activities/identifyTextSections.d.ts +0 -12
- package/lib/types/activities/identifyTextSections.d.ts.map +0 -1
- package/src/activities/identifyTextSections.ts +0 -71
package/src/dsl/workflow.test.ts
CHANGED
|
@@ -60,6 +60,7 @@ describe('DSL Workflow', () => {
|
|
|
60
60
|
AccountId: protos.temporal.api.enums.v1.IndexedValueType.INDEXED_VALUE_TYPE_KEYWORD,
|
|
61
61
|
DocumentId: protos.temporal.api.enums.v1.IndexedValueType.INDEXED_VALUE_TYPE_KEYWORD,
|
|
62
62
|
ProjectId: protos.temporal.api.enums.v1.IndexedValueType.INDEXED_VALUE_TYPE_KEYWORD,
|
|
63
|
+
TenantId: protos.temporal.api.enums.v1.IndexedValueType.INDEXED_VALUE_TYPE_KEYWORD,
|
|
63
64
|
InitiatedBy: protos.temporal.api.enums.v1.IndexedValueType.INDEXED_VALUE_TYPE_KEYWORD,
|
|
64
65
|
},
|
|
65
66
|
});
|
package/src/errors.ts
CHANGED
|
@@ -51,9 +51,37 @@ export class WorkflowParamNotFoundError extends ApplicationFailure {
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
+
export class ResourceExhaustedError extends ApplicationFailure {
|
|
55
|
+
constructor(
|
|
56
|
+
public statusCode: number = 429,
|
|
57
|
+
message?: string,
|
|
58
|
+
) {
|
|
59
|
+
super(
|
|
60
|
+
message || "Resource exhausted - rate limit exceeded",
|
|
61
|
+
"ResourceExhaustedError",
|
|
62
|
+
true, // non-retryable
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export class InvalidContentTypeError extends ApplicationFailure {
|
|
68
|
+
constructor(
|
|
69
|
+
public objectId: string,
|
|
70
|
+
public expectedType: string,
|
|
71
|
+
public actualType: string,
|
|
72
|
+
) {
|
|
73
|
+
super(
|
|
74
|
+
`Document ${objectId} has invalid content type. Expected ${expectedType}, got ${actualType}`,
|
|
75
|
+
"InvalidContentTypeError",
|
|
76
|
+
true, // non-retryable
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
54
81
|
export const WF_NON_RETRYABLE_ERRORS = [
|
|
55
82
|
"DocumentNotFoundError",
|
|
56
83
|
"ActivityParamInvalidError",
|
|
57
84
|
"ActivityParamNotFoundError",
|
|
58
85
|
"WorkflowParamNotFoundError",
|
|
86
|
+
"InvalidContentTypeError",
|
|
59
87
|
];
|
package/src/index.ts
CHANGED
|
@@ -18,13 +18,14 @@ export * from "./activities/executeInteraction.js";
|
|
|
18
18
|
export * from "./activities/extractDocumentText.js";
|
|
19
19
|
export * from "./activities/generateDocumentProperties.js";
|
|
20
20
|
export * from "./activities/generateEmbeddings.js";
|
|
21
|
-
export * from "./activities/identifyTextSections.js";
|
|
22
21
|
export * from "./activities/renditions/generateImageRendition.js";
|
|
23
22
|
export * from "./activities/renditions/generateVideoRendition.js";
|
|
24
23
|
export * from "./activities/generateOrAssignContentType.js";
|
|
25
24
|
export * from "./activities/notifyWebhook.js";
|
|
25
|
+
export * from "./activities/rateLimiter.js";
|
|
26
26
|
export * from "./activities/setDocumentStatus.js";
|
|
27
27
|
export * from "./iterative-generation/activities/index.js";
|
|
28
|
+
export * from "./activities/media/prepareVideo.js";
|
|
28
29
|
|
|
29
30
|
export * from "./dsl/setup/ActivityContext.js";
|
|
30
31
|
export * from "./errors.js";
|
|
@@ -56,7 +56,7 @@ export async function it_gen_generatePart(payload: WorkflowExecutionPayload, pat
|
|
|
56
56
|
}
|
|
57
57
|
});
|
|
58
58
|
|
|
59
|
-
const result = r.result
|
|
59
|
+
const result = r.result.text();
|
|
60
60
|
content[content.length - 1].content += result;
|
|
61
61
|
meta.lastProcessedPart = path;
|
|
62
62
|
await buildAndPublishMemoryPack(client, `${memory}/output`, async ({ copyText }) => {
|
|
@@ -84,14 +84,19 @@ export async function it_gen_generateToc(payload: WorkflowExecutionPayload): Pro
|
|
|
84
84
|
|
|
85
85
|
const run = await executeWithVars(client, vars.interaction, vars, undefined, schema);
|
|
86
86
|
|
|
87
|
-
|
|
87
|
+
//Parse the CompletionResult[] to get a Toc object
|
|
88
|
+
const jsonResults = run.result.object();
|
|
89
|
+
|
|
90
|
+
const toc: Toc = {
|
|
91
|
+
sections: jsonResults.sections
|
|
92
|
+
};
|
|
88
93
|
|
|
89
94
|
await buildAndPublishMemoryPack(client, `${vars.memory}/output`, async () => {
|
|
90
95
|
return {
|
|
91
96
|
toc,
|
|
92
97
|
lastProcessedPart: undefined, // the part index (a number array)
|
|
93
98
|
previouslyGenerated: ""
|
|
94
|
-
}
|
|
99
|
+
} satisfies OutputMemoryMeta
|
|
95
100
|
});
|
|
96
101
|
|
|
97
102
|
return tocIndex(toc);
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ExecutionRun } from "@vertesia/common";
|
|
1
|
+
import { ModelOptions, TextFallbackOptions } from "@llumiverse/common";
|
|
3
2
|
import { ApplicationFailure } from "@temporalio/workflow";
|
|
3
|
+
import { VertesiaClient } from "@vertesia/client";
|
|
4
4
|
import { OutputMemoryMeta, PartIndex, Toc, TocIndex, TocSection } from "./types.js";
|
|
5
|
-
import { ModelOptions, TextFallbackOptions } from "@llumiverse/common";
|
|
6
5
|
|
|
7
6
|
//TODO: For whole file, support for options beyond max_tokens and temperature and multiple modalities.
|
|
8
7
|
export interface ExecuteOptions {
|
|
@@ -15,7 +14,7 @@ export interface ExecuteOptions {
|
|
|
15
14
|
result_schema?: Record<string, any>;
|
|
16
15
|
}
|
|
17
16
|
|
|
18
|
-
export async function execute
|
|
17
|
+
export async function execute(client: VertesiaClient, options: ExecuteOptions) {
|
|
19
18
|
return client.interactions.executeByName(options.interaction, {
|
|
20
19
|
data: {
|
|
21
20
|
...options.memory_mapping,
|
|
@@ -30,7 +29,7 @@ export async function execute<T = any>(client: VertesiaClient, options: ExecuteO
|
|
|
30
29
|
});
|
|
31
30
|
}
|
|
32
31
|
|
|
33
|
-
export function executeWithVars
|
|
32
|
+
export function executeWithVars(client: VertesiaClient, interaction: string, vars: Record<string, any>, mapping?: Record<string, any>, result_schema?: Record<string, any>) {
|
|
34
33
|
if (mapping) {
|
|
35
34
|
mapping = { ...vars.input_mapping, ...mapping };
|
|
36
35
|
} else {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
|
-
import { log } from "@temporalio/workflow";
|
|
3
|
-
import { WorkflowExecutionPayload } from "@vertesia/common";
|
|
2
|
+
import { log, workflowInfo } from "@temporalio/workflow";
|
|
3
|
+
import { WebHookSpec, WorkflowExecutionPayload } from "@vertesia/common";
|
|
4
4
|
import * as activities from "../activities/notifyWebhook.js";
|
|
5
5
|
import { dslProxyActivities } from "../dsl/dslProxyActivities.js";
|
|
6
6
|
import { WF_NON_RETRYABLE_ERRORS } from "../errors.js";
|
|
@@ -19,19 +19,25 @@ const {
|
|
|
19
19
|
});
|
|
20
20
|
|
|
21
21
|
export interface NotifyWebhookWorfklowParams {
|
|
22
|
-
|
|
22
|
+
workflow_type: string;
|
|
23
|
+
endpoints: (string | WebHookSpec)[],
|
|
23
24
|
data: Record<string, any>
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
|
|
27
28
|
export async function notifyWebhookWorkflow(payload: WorkflowExecutionPayload<NotifyWebhookWorfklowParams>): Promise<any> {
|
|
28
29
|
|
|
30
|
+
const info = workflowInfo();
|
|
29
31
|
const { objectIds, vars } = payload;
|
|
30
32
|
const notifications = [];
|
|
31
33
|
const endpoints = vars.endpoints ?? (vars as any).webhooks ?? [];
|
|
32
34
|
const data = vars.data ?? (vars as any).webhook_data ?? undefined;
|
|
35
|
+
const workflow_type = vars.workflow_type ?? info.workflowType;
|
|
33
36
|
const eventName = payload.event;
|
|
34
37
|
|
|
38
|
+
const workflowId = info.parent?.workflowId || info.workflowId;
|
|
39
|
+
const workflowRunId = info.parent?.runId || info.runId;
|
|
40
|
+
|
|
35
41
|
if (!endpoints.length) {
|
|
36
42
|
log.info(`No webhooks to notify`);
|
|
37
43
|
return { notifications: [], message: "No webhooks to notify" };
|
|
@@ -39,11 +45,14 @@ export async function notifyWebhookWorkflow(payload: WorkflowExecutionPayload<No
|
|
|
39
45
|
|
|
40
46
|
for (const ep of endpoints) {
|
|
41
47
|
const n = notifyWebhook(payload, {
|
|
42
|
-
|
|
48
|
+
webhook: ep,
|
|
43
49
|
method: 'POST',
|
|
44
|
-
|
|
50
|
+
workflow_type,
|
|
51
|
+
workflow_id: workflowId,
|
|
52
|
+
workflow_run_id: workflowRunId,
|
|
53
|
+
event_name: eventName,
|
|
54
|
+
detail: {
|
|
45
55
|
object_ids: objectIds,
|
|
46
|
-
event: eventName,
|
|
47
56
|
data
|
|
48
57
|
}
|
|
49
58
|
}).then(res => {
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.identifyTextSections = identifyTextSections;
|
|
4
|
-
const activity_1 = require("@temporalio/activity");
|
|
5
|
-
const ActivityContext_js_1 = require("../dsl/setup/ActivityContext.js");
|
|
6
|
-
const executeInteraction_js_1 = require("./executeInteraction.js");
|
|
7
|
-
const INT_GENERATE_TEXT_PARTS = "sys:IdentifyTextSections";
|
|
8
|
-
async function identifyTextSections(payload) {
|
|
9
|
-
const context = await (0, ActivityContext_js_1.setupActivity)(payload);
|
|
10
|
-
const { params, client, objectId } = context;
|
|
11
|
-
const interactionName = params.interactionName ?? INT_GENERATE_TEXT_PARTS;
|
|
12
|
-
const project = await context.fetchProject();
|
|
13
|
-
const doc = await client.objects.retrieve(objectId, "+text");
|
|
14
|
-
const text = doc.text;
|
|
15
|
-
if (!text || text.length === 0) {
|
|
16
|
-
activity_1.log.warn(`No text found for object ${objectId}`);
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
//instrument the text with line numbers
|
|
20
|
-
const lines = text.split('\n');
|
|
21
|
-
const instrumented = lines.map((l, i) => `{%${i}%}${l}`).join('\n');
|
|
22
|
-
const promptData = {
|
|
23
|
-
content: instrumented ?? undefined,
|
|
24
|
-
human_context: project?.configuration?.human_context ?? undefined,
|
|
25
|
-
};
|
|
26
|
-
const infoRes = await (0, executeInteraction_js_1.executeInteractionFromActivity)(client, interactionName, {
|
|
27
|
-
...params,
|
|
28
|
-
include_previous_error: true,
|
|
29
|
-
validate_result: true,
|
|
30
|
-
}, promptData, payload.debug_mode ?? false);
|
|
31
|
-
const parts = infoRes.result.parts;
|
|
32
|
-
if (!parts || !Array.isArray(parts) || parts.length === 0) {
|
|
33
|
-
activity_1.log.warn(`No text parts generated for object ${objectId}`);
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
const existingMetadata = doc.metadata;
|
|
37
|
-
const updatedMetadata = {
|
|
38
|
-
type: "document",
|
|
39
|
-
...existingMetadata,
|
|
40
|
-
generation_runs: existingMetadata?.generation_runs ?? [],
|
|
41
|
-
sections: parts
|
|
42
|
-
};
|
|
43
|
-
await client.objects.update(doc.id, {
|
|
44
|
-
metadata: updatedMetadata,
|
|
45
|
-
});
|
|
46
|
-
return { status: "completed" };
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=identifyTextSections.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identifyTextSections.js","sourceRoot":"","sources":["../../../src/activities/identifyTextSections.ts"],"names":[],"mappings":";;AAaA,oDAyDC;AAtED,mDAA2C;AAE3C,wEAAgE;AAChE,mEAAqG;AAErG,MAAM,uBAAuB,GAAG,0BAA0B,CAAC;AAQpD,KAAK,UAAU,oBAAoB,CACtC,OAAgE;IAEhE,MAAM,OAAO,GAAG,MAAM,IAAA,kCAAa,EAA6B,OAAO,CAAC,CAAC;IACzE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC7C,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,uBAAuB,CAAC;IAE1E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;IAE7C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE7D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,cAAG,CAAC,IAAI,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;QACjD,OAAO;IACX,CAAC;IAED,uCAAuC;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9B,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEnE,MAAM,UAAU,GAAG;QACf,OAAO,EAAE,YAAY,IAAI,SAAS;QAClC,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,IAAI,SAAS;KACpE,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,IAAA,sDAA8B,EAChD,MAAM,EACN,eAAe,EACf;QACI,GAAG,MAAM;QACT,sBAAsB,EAAE,IAAI;QAC5B,eAAe,EAAE,IAAI;KACxB,EACD,UAAU,EACV,OAAO,CAAC,UAAU,IAAI,KAAK,CAC9B,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IACnC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,cAAG,CAAC,IAAI,CAAC,sCAAsC,QAAQ,EAAE,CAAC,CAAC;QAC3D,OAAO;IACX,CAAC;IAED,MAAM,gBAAgB,GAAG,GAAG,CAAC,QAAwC,CAAC;IACtE,MAAM,eAAe,GAAqB;QACtC,IAAI,EAAE,UAAU;QAChB,GAAG,gBAAgB;QACnB,eAAe,EAAE,gBAAgB,EAAE,eAAe,IAAI,EAAE;QACxD,QAAQ,EAAE,KAAK;KAClB,CAAC;IAEF,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE;QAChC,QAAQ,EAAE,eAAe;KAC5B,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AACnC,CAAC"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { log } from "@temporalio/activity";
|
|
2
|
-
import { setupActivity } from "../dsl/setup/ActivityContext.js";
|
|
3
|
-
import { executeInteractionFromActivity } from "./executeInteraction.js";
|
|
4
|
-
const INT_GENERATE_TEXT_PARTS = "sys:IdentifyTextSections";
|
|
5
|
-
export async function identifyTextSections(payload) {
|
|
6
|
-
const context = await setupActivity(payload);
|
|
7
|
-
const { params, client, objectId } = context;
|
|
8
|
-
const interactionName = params.interactionName ?? INT_GENERATE_TEXT_PARTS;
|
|
9
|
-
const project = await context.fetchProject();
|
|
10
|
-
const doc = await client.objects.retrieve(objectId, "+text");
|
|
11
|
-
const text = doc.text;
|
|
12
|
-
if (!text || text.length === 0) {
|
|
13
|
-
log.warn(`No text found for object ${objectId}`);
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
//instrument the text with line numbers
|
|
17
|
-
const lines = text.split('\n');
|
|
18
|
-
const instrumented = lines.map((l, i) => `{%${i}%}${l}`).join('\n');
|
|
19
|
-
const promptData = {
|
|
20
|
-
content: instrumented ?? undefined,
|
|
21
|
-
human_context: project?.configuration?.human_context ?? undefined,
|
|
22
|
-
};
|
|
23
|
-
const infoRes = await executeInteractionFromActivity(client, interactionName, {
|
|
24
|
-
...params,
|
|
25
|
-
include_previous_error: true,
|
|
26
|
-
validate_result: true,
|
|
27
|
-
}, promptData, payload.debug_mode ?? false);
|
|
28
|
-
const parts = infoRes.result.parts;
|
|
29
|
-
if (!parts || !Array.isArray(parts) || parts.length === 0) {
|
|
30
|
-
log.warn(`No text parts generated for object ${objectId}`);
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
const existingMetadata = doc.metadata;
|
|
34
|
-
const updatedMetadata = {
|
|
35
|
-
type: "document",
|
|
36
|
-
...existingMetadata,
|
|
37
|
-
generation_runs: existingMetadata?.generation_runs ?? [],
|
|
38
|
-
sections: parts
|
|
39
|
-
};
|
|
40
|
-
await client.objects.update(doc.id, {
|
|
41
|
-
metadata: updatedMetadata,
|
|
42
|
-
});
|
|
43
|
-
return { status: "completed" };
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=identifyTextSections.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identifyTextSections.js","sourceRoot":"","sources":["../../../src/activities/identifyTextSections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAA8B,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAErG,MAAM,uBAAuB,GAAG,0BAA0B,CAAC;AAQ3D,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,OAAgE;IAEhE,MAAM,OAAO,GAAG,MAAM,aAAa,CAA6B,OAAO,CAAC,CAAC;IACzE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC7C,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,uBAAuB,CAAC;IAE1E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;IAE7C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE7D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,IAAI,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;QACjD,OAAO;IACX,CAAC;IAED,uCAAuC;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9B,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEnE,MAAM,UAAU,GAAG;QACf,OAAO,EAAE,YAAY,IAAI,SAAS;QAClC,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,IAAI,SAAS;KACpE,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,8BAA8B,CAChD,MAAM,EACN,eAAe,EACf;QACI,GAAG,MAAM;QACT,sBAAsB,EAAE,IAAI;QAC5B,eAAe,EAAE,IAAI;KACxB,EACD,UAAU,EACV,OAAO,CAAC,UAAU,IAAI,KAAK,CAC9B,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IACnC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,IAAI,CAAC,sCAAsC,QAAQ,EAAE,CAAC,CAAC;QAC3D,OAAO;IACX,CAAC;IAED,MAAM,gBAAgB,GAAG,GAAG,CAAC,QAAwC,CAAC;IACtE,MAAM,eAAe,GAAqB;QACtC,IAAI,EAAE,UAAU;QAChB,GAAG,gBAAgB;QACnB,eAAe,EAAE,gBAAgB,EAAE,eAAe,IAAI,EAAE;QACxD,QAAQ,EAAE,KAAK;KAClB,CAAC;IAEF,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE;QAChC,QAAQ,EAAE,eAAe;KAC5B,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AACnC,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { DSLActivityExecutionPayload, DSLActivitySpec } from "@vertesia/common";
|
|
2
|
-
import { InteractionExecutionParams } from "./executeInteraction.js";
|
|
3
|
-
export interface identifyTextSectionsParams extends InteractionExecutionParams {
|
|
4
|
-
interactionName?: string;
|
|
5
|
-
}
|
|
6
|
-
export interface identifyTextSections extends DSLActivitySpec<identifyTextSectionsParams> {
|
|
7
|
-
name: "identifyTextSections";
|
|
8
|
-
}
|
|
9
|
-
export declare function identifyTextSections(payload: DSLActivityExecutionPayload<identifyTextSectionsParams>): Promise<{
|
|
10
|
-
status: string;
|
|
11
|
-
} | undefined>;
|
|
12
|
-
//# sourceMappingURL=identifyTextSections.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identifyTextSections.d.ts","sourceRoot":"","sources":["../../../src/activities/identifyTextSections.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,2BAA2B,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAElG,OAAO,EAAE,0BAA0B,EAAkC,MAAM,yBAAyB,CAAC;AAGrG,MAAM,WAAW,0BAA2B,SAAQ,0BAA0B;IAC1E,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AACD,MAAM,WAAW,oBAAqB,SAAQ,eAAe,CAAC,0BAA0B,CAAC;IACrF,IAAI,EAAE,sBAAsB,CAAC;CAChC;AAED,wBAAsB,oBAAoB,CACtC,OAAO,EAAE,2BAA2B,CAAC,0BAA0B,CAAC;;eAwDnE"}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { log } from "@temporalio/activity";
|
|
2
|
-
import { DocumentMetadata, DSLActivityExecutionPayload, DSLActivitySpec } from "@vertesia/common";
|
|
3
|
-
import { setupActivity } from "../dsl/setup/ActivityContext.js";
|
|
4
|
-
import { InteractionExecutionParams, executeInteractionFromActivity } from "./executeInteraction.js";
|
|
5
|
-
|
|
6
|
-
const INT_GENERATE_TEXT_PARTS = "sys:IdentifyTextSections";
|
|
7
|
-
export interface identifyTextSectionsParams extends InteractionExecutionParams {
|
|
8
|
-
interactionName?: string;
|
|
9
|
-
}
|
|
10
|
-
export interface identifyTextSections extends DSLActivitySpec<identifyTextSectionsParams> {
|
|
11
|
-
name: "identifyTextSections";
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export async function identifyTextSections(
|
|
15
|
-
payload: DSLActivityExecutionPayload<identifyTextSectionsParams>,
|
|
16
|
-
) {
|
|
17
|
-
const context = await setupActivity<identifyTextSectionsParams>(payload);
|
|
18
|
-
const { params, client, objectId } = context;
|
|
19
|
-
const interactionName = params.interactionName ?? INT_GENERATE_TEXT_PARTS;
|
|
20
|
-
|
|
21
|
-
const project = await context.fetchProject();
|
|
22
|
-
|
|
23
|
-
const doc = await client.objects.retrieve(objectId, "+text");
|
|
24
|
-
|
|
25
|
-
const text = doc.text;
|
|
26
|
-
if (!text || text.length === 0) {
|
|
27
|
-
log.warn(`No text found for object ${objectId}`);
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
//instrument the text with line numbers
|
|
32
|
-
const lines = text.split('\n')
|
|
33
|
-
const instrumented = lines.map((l, i) => `{%${i}%}${l}`).join('\n')
|
|
34
|
-
|
|
35
|
-
const promptData = {
|
|
36
|
-
content: instrumented ?? undefined,
|
|
37
|
-
human_context: project?.configuration?.human_context ?? undefined,
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
const infoRes = await executeInteractionFromActivity(
|
|
41
|
-
client,
|
|
42
|
-
interactionName,
|
|
43
|
-
{
|
|
44
|
-
...params,
|
|
45
|
-
include_previous_error: true,
|
|
46
|
-
validate_result: true,
|
|
47
|
-
},
|
|
48
|
-
promptData,
|
|
49
|
-
payload.debug_mode ?? false,
|
|
50
|
-
);
|
|
51
|
-
|
|
52
|
-
const parts = infoRes.result.parts;
|
|
53
|
-
if (!parts || !Array.isArray(parts) || parts.length === 0) {
|
|
54
|
-
log.warn(`No text parts generated for object ${objectId}`);
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
const existingMetadata = doc.metadata as DocumentMetadata | undefined;
|
|
59
|
-
const updatedMetadata: DocumentMetadata = {
|
|
60
|
-
type: "document",
|
|
61
|
-
...existingMetadata,
|
|
62
|
-
generation_runs: existingMetadata?.generation_runs ?? [],
|
|
63
|
-
sections: parts
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
await client.objects.update(doc.id, {
|
|
67
|
-
metadata: updatedMetadata,
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
return { status: "completed" };
|
|
71
|
-
}
|