weave-typescript 0.51.3 → 0.53.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/dist/google/protobuf/duration.pb.d.ts +99 -0
- package/dist/google/protobuf/duration.pb.js +93 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -1
- package/dist/weave/authz/v1/index.d.ts +1 -0
- package/dist/weave/authz/v1/index.js +38 -0
- package/dist/weave/authz/v1/options.pb.d.ts +52 -0
- package/dist/weave/authz/v1/options.pb.js +403 -0
- package/dist/weave/filter/v1/index.d.ts +1 -0
- package/dist/weave/filter/v1/index.js +38 -0
- package/dist/{weaveapi/atc/v1/message.pb.d.ts → weave/filter/v1/options.pb.d.ts} +33 -21
- package/dist/weave/filter/v1/options.pb.js +417 -0
- package/dist/weave/index.d.ts +2 -0
- package/dist/weave/index.js +39 -0
- package/dist/weaveapi/agent/v1/agent.pb.d.ts +137 -188
- package/dist/weaveapi/agent/v1/agent.pb.js +891 -2151
- package/dist/weaveapi/agent/v1/index.d.ts +1 -1
- package/dist/weaveapi/agent/v1/index.js +2 -2
- package/dist/weaveapi/agent/v1/run.pb.d.ts +289 -0
- package/dist/weaveapi/agent/v1/run.pb.js +2763 -0
- package/dist/weaveapi/auth/v1/auth.pb.d.ts +67 -14
- package/dist/weaveapi/auth/v1/auth.pb.js +829 -89
- package/dist/weaveapi/auth/v1/index.d.ts +4 -1
- package/dist/weaveapi/auth/v1/index.js +5 -2
- package/dist/weaveapi/auth/v1/{service.pb.d.ts → organization_admin.pb.d.ts} +39 -530
- package/dist/weaveapi/auth/v1/{service.pb.js → organization_admin.pb.js} +2978 -5812
- package/dist/weaveapi/auth/v1/personal_access_token.pb.d.ts +114 -0
- package/dist/weaveapi/auth/v1/personal_access_token.pb.js +750 -0
- package/dist/weaveapi/auth/v1/profile.pb.d.ts +161 -0
- package/dist/weaveapi/auth/v1/profile.pb.js +1007 -0
- package/dist/weaveapi/auth/v1/session.pb.d.ts +460 -0
- package/dist/weaveapi/auth/v1/session.pb.js +3544 -0
- package/dist/weaveapi/chat/v1/chat.pb.d.ts +377 -149
- package/dist/weaveapi/chat/v1/chat.pb.js +3492 -1614
- package/dist/weaveapi/chat/v1/index.d.ts +0 -1
- package/dist/weaveapi/chat/v1/index.js +1 -2
- package/dist/weaveapi/consolidation/v1/consolidation.pb.d.ts +95 -0
- package/dist/weaveapi/consolidation/v1/consolidation.pb.js +770 -1
- package/dist/weaveapi/consolidation/v1/index.d.ts +0 -1
- package/dist/weaveapi/consolidation/v1/index.js +1 -2
- package/dist/weaveapi/content/v1/content.pb.d.ts +63 -0
- package/dist/weaveapi/content/v1/content.pb.js +470 -0
- package/dist/weaveapi/content/v1/index.d.ts +1 -0
- package/dist/weaveapi/content/v1/index.js +38 -0
- package/dist/weaveapi/gateway/v1/gateway.pb.d.ts +247 -523
- package/dist/weaveapi/gateway/v1/gateway.pb.js +1648 -5783
- package/dist/weaveapi/gateway/v1/index.d.ts +0 -1
- package/dist/weaveapi/gateway/v1/index.js +1 -2
- package/dist/weaveapi/index.d.ts +5 -5
- package/dist/weaveapi/index.js +6 -6
- package/dist/weaveapi/inference/v1/generate.pb.d.ts +120 -0
- package/dist/weaveapi/inference/v1/generate.pb.js +1159 -0
- package/dist/weaveapi/inference/v1/index.d.ts +4 -0
- package/dist/weaveapi/{provider → inference}/v1/index.js +4 -2
- package/dist/weaveapi/{model → inference}/v1/model.pb.d.ts +54 -15
- package/dist/weaveapi/{model → inference}/v1/model.pb.js +573 -116
- package/dist/weaveapi/{model/v1/service.pb.d.ts → inference/v1/model_route.pb.d.ts} +184 -110
- package/dist/weaveapi/{model/v1/service.pb.js → inference/v1/model_route.pb.js} +2240 -1061
- package/dist/weaveapi/inference/v1/provider.pb.d.ts +264 -0
- package/dist/weaveapi/inference/v1/provider.pb.js +2590 -0
- package/dist/weaveapi/ingestion/v1/index.d.ts +0 -2
- package/dist/weaveapi/ingestion/v1/index.js +1 -3
- package/dist/weaveapi/ingestion/v1/ingestion.pb.d.ts +543 -0
- package/dist/weaveapi/ingestion/v1/ingestion.pb.js +5550 -16
- package/dist/weaveapi/initialization/v1/index.d.ts +1 -0
- package/dist/weaveapi/initialization/v1/index.js +38 -0
- package/dist/weaveapi/initialization/v1/initialization.pb.d.ts +99 -0
- package/dist/weaveapi/initialization/v1/initialization.pb.js +510 -0
- package/dist/weaveapi/organization/v1/index.d.ts +0 -1
- package/dist/weaveapi/organization/v1/index.js +1 -2
- package/dist/weaveapi/organization/v1/organization.pb.d.ts +241 -0
- package/dist/weaveapi/organization/v1/organization.pb.js +1838 -1
- package/dist/weaveapi/reporting/index.d.ts +1 -0
- package/dist/weaveapi/reporting/index.js +38 -0
- package/dist/weaveapi/{task → reporting}/v1/index.d.ts +1 -1
- package/dist/weaveapi/{model → reporting}/v1/index.js +2 -2
- package/dist/weaveapi/reporting/v1/service.pb.d.ts +38 -0
- package/dist/weaveapi/reporting/v1/service.pb.js +167 -0
- package/dist/weaveapi/reporting/v1/usage.pb.d.ts +150 -0
- package/dist/weaveapi/reporting/v1/usage.pb.js +1837 -0
- package/dist/weaveapi/retrieval/v1/index.d.ts +0 -1
- package/dist/weaveapi/retrieval/v1/index.js +1 -2
- package/dist/weaveapi/retrieval/v1/retrieval.pb.d.ts +96 -2
- package/dist/weaveapi/retrieval/v1/retrieval.pb.js +690 -10
- package/dist/weaveapi/tool/index.d.ts +1 -0
- package/dist/weaveapi/tool/index.js +38 -0
- package/dist/weaveapi/tool/v1/index.d.ts +1 -0
- package/dist/weaveapi/tool/v1/index.js +38 -0
- package/dist/weaveapi/tool/v1/tool.pb.d.ts +370 -0
- package/dist/weaveapi/tool/v1/tool.pb.js +2717 -0
- package/dist/weaveapi/workflow/v1/index.d.ts +1 -1
- package/dist/weaveapi/workflow/v1/index.js +2 -2
- package/dist/weaveapi/workflow/v1/run.pb.d.ts +244 -0
- package/dist/weaveapi/workflow/v1/run.pb.js +2084 -0
- package/dist/weaveapi/workflow/v1/workflow.pb.d.ts +122 -275
- package/dist/weaveapi/workflow/v1/workflow.pb.js +790 -3261
- package/dist/weavesql/weavedb/agent_sql.d.ts +173 -477
- package/dist/weavesql/weavedb/agent_sql.js +281 -758
- package/dist/weavesql/weavedb/authorization_outbox_sql.d.ts +261 -0
- package/dist/weavesql/weavedb/authorization_outbox_sql.js +445 -0
- package/dist/weavesql/weavedb/chat_sql.d.ts +103 -345
- package/dist/weavesql/weavedb/chat_sql.js +312 -597
- package/dist/weavesql/weavedb/document_consolidation_sql.d.ts +217 -0
- package/dist/weavesql/weavedb/document_consolidation_sql.js +486 -0
- package/dist/weavesql/weavedb/document_ingestion_sql.d.ts +1433 -0
- package/dist/weavesql/weavedb/document_ingestion_sql.js +3488 -0
- package/dist/weavesql/weavedb/document_retrieval_sql.d.ts +314 -0
- package/dist/weavesql/weavedb/document_retrieval_sql.js +965 -0
- package/dist/weavesql/weavedb/document_table_sql.d.ts +6 -6
- package/dist/weavesql/weavedb/document_table_sql.js +12 -12
- package/dist/weavesql/weavedb/identity_sql.d.ts +1021 -0
- package/dist/weavesql/weavedb/identity_sql.js +1818 -0
- package/dist/weavesql/weavedb/inference_model_route_sql.d.ts +167 -0
- package/dist/weavesql/weavedb/inference_model_route_sql.js +483 -0
- package/dist/weavesql/weavedb/inference_provider_sql.d.ts +125 -0
- package/dist/weavesql/weavedb/inference_provider_sql.js +228 -0
- package/dist/weavesql/weavedb/initialization_sql.d.ts +15 -0
- package/dist/weavesql/weavedb/initialization_sql.js +33 -0
- package/dist/weavesql/weavedb/model_catalog_sql.d.ts +6 -6
- package/dist/weavesql/weavedb/model_catalog_sql.js +6 -6
- package/dist/weavesql/weavedb/organization_sql.d.ts +24 -102
- package/dist/weavesql/weavedb/organization_sql.js +56 -262
- package/dist/weavesql/weavedb/tool_sql.d.ts +209 -0
- package/dist/weavesql/weavedb/tool_sql.js +407 -0
- package/dist/weavesql/weavedb/usage_sql.d.ts +356 -0
- package/dist/weavesql/weavedb/usage_sql.js +568 -0
- package/dist/weavesql/weavedb/workflow_sql.d.ts +159 -546
- package/dist/weavesql/weavedb/workflow_sql.js +281 -909
- package/package.json +1 -1
- package/dist/weaveapi/agent/v1/service.pb.d.ts +0 -397
- package/dist/weaveapi/agent/v1/service.pb.js +0 -3152
- package/dist/weaveapi/atc/v1/event.pb.d.ts +0 -134
- package/dist/weaveapi/atc/v1/event.pb.js +0 -1124
- package/dist/weaveapi/atc/v1/index.d.ts +0 -5
- package/dist/weaveapi/atc/v1/index.js +0 -42
- package/dist/weaveapi/atc/v1/message.pb.js +0 -287
- package/dist/weaveapi/atc/v1/process.pb.d.ts +0 -91
- package/dist/weaveapi/atc/v1/process.pb.js +0 -658
- package/dist/weaveapi/atc/v1/run.pb.d.ts +0 -71
- package/dist/weaveapi/atc/v1/run.pb.js +0 -525
- package/dist/weaveapi/atc/v1/service.pb.d.ts +0 -472
- package/dist/weaveapi/atc/v1/service.pb.js +0 -3093
- package/dist/weaveapi/chat/v1/service.pb.d.ts +0 -345
- package/dist/weaveapi/chat/v1/service.pb.js +0 -2545
- package/dist/weaveapi/consolidation/v1/service.pb.d.ts +0 -93
- package/dist/weaveapi/consolidation/v1/service.pb.js +0 -427
- package/dist/weaveapi/gateway/v1/service.pb.d.ts +0 -235
- package/dist/weaveapi/gateway/v1/service.pb.js +0 -651
- package/dist/weaveapi/ingestion/v1/service.pb.d.ts +0 -420
- package/dist/weaveapi/ingestion/v1/service.pb.js +0 -2311
- package/dist/weaveapi/ingestion/v1/table.pb.d.ts +0 -121
- package/dist/weaveapi/ingestion/v1/table.pb.js +0 -1478
- package/dist/weaveapi/model/v1/index.d.ts +0 -2
- package/dist/weaveapi/organization/v1/service.pb.d.ts +0 -261
- package/dist/weaveapi/organization/v1/service.pb.js +0 -1561
- package/dist/weaveapi/project/v1/index.d.ts +0 -2
- package/dist/weaveapi/project/v1/index.js +0 -39
- package/dist/weaveapi/project/v1/project.pb.d.ts +0 -105
- package/dist/weaveapi/project/v1/project.pb.js +0 -1004
- package/dist/weaveapi/project/v1/service.pb.d.ts +0 -247
- package/dist/weaveapi/project/v1/service.pb.js +0 -1994
- package/dist/weaveapi/provider/v1/index.d.ts +0 -2
- package/dist/weaveapi/provider/v1/provider.pb.d.ts +0 -137
- package/dist/weaveapi/provider/v1/provider.pb.js +0 -1000
- package/dist/weaveapi/provider/v1/service.pb.d.ts +0 -223
- package/dist/weaveapi/provider/v1/service.pb.js +0 -1888
- package/dist/weaveapi/retrieval/v1/service.pb.d.ts +0 -93
- package/dist/weaveapi/retrieval/v1/service.pb.js +0 -385
- package/dist/weaveapi/task/v1/index.js +0 -39
- package/dist/weaveapi/task/v1/service.pb.d.ts +0 -172
- package/dist/weaveapi/task/v1/service.pb.js +0 -1436
- package/dist/weaveapi/task/v1/task.pb.d.ts +0 -85
- package/dist/weaveapi/task/v1/task.pb.js +0 -802
- package/dist/weaveapi/workflow/v1/service.pb.d.ts +0 -392
- package/dist/weaveapi/workflow/v1/service.pb.js +0 -3146
- /package/dist/{weaveapi/atc → weave/authz}/index.d.ts +0 -0
- /package/dist/{weaveapi/atc → weave/authz}/index.js +0 -0
- /package/dist/{weaveapi/model → weave/filter}/index.d.ts +0 -0
- /package/dist/{weaveapi/model → weave/filter}/index.js +0 -0
- /package/dist/weaveapi/{project → content}/index.d.ts +0 -0
- /package/dist/weaveapi/{project → content}/index.js +0 -0
- /package/dist/weaveapi/{provider → inference}/index.d.ts +0 -0
- /package/dist/weaveapi/{provider → inference}/index.js +0 -0
- /package/dist/weaveapi/{task → initialization}/index.d.ts +0 -0
- /package/dist/weaveapi/{task → initialization}/index.js +0 -0
|
@@ -1,57 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.
|
|
5
|
-
exports.
|
|
6
|
-
exports.
|
|
7
|
-
exports.
|
|
8
|
-
exports.getWorkflowDefinitionDraft = getWorkflowDefinitionDraft;
|
|
9
|
-
exports.listWorkflowDefinitions = listWorkflowDefinitions;
|
|
10
|
-
exports.updateWorkflowDefinitionDraftMetadata = updateWorkflowDefinitionDraftMetadata;
|
|
11
|
-
exports.updateWorkflowDefinitionStatus = updateWorkflowDefinitionStatus;
|
|
12
|
-
exports.updateWorkflowDraft = updateWorkflowDraft;
|
|
13
|
-
exports.insertWorkflowDraftPatch = insertWorkflowDraftPatch;
|
|
14
|
-
exports.insertWorkflowDraftEvent = insertWorkflowDraftEvent;
|
|
15
|
-
exports.listWorkflowDraftEvents = listWorkflowDraftEvents;
|
|
16
|
-
exports.insertWorkflowDefinitionVersion = insertWorkflowDefinitionVersion;
|
|
17
|
-
exports.setWorkflowDefinitionLatestVersion = setWorkflowDefinitionLatestVersion;
|
|
18
|
-
exports.getWorkflowDefinitionVersionByNumber = getWorkflowDefinitionVersionByNumber;
|
|
19
|
-
exports.getWorkflowDefinitionVersionByID = getWorkflowDefinitionVersionByID;
|
|
20
|
-
exports.listWorkflowDefinitionVersions = listWorkflowDefinitionVersions;
|
|
3
|
+
exports.updateWorkflowRunStepStatusQuery = exports.listWorkflowRunStepsQuery = exports.createWorkflowRunStepQuery = exports.updateWorkflowRunStatusQuery = exports.listWorkflowRunsQuery = exports.cancelWorkflowRunQuery = exports.getWorkflowRunQuery = exports.createWorkflowRunQuery = exports.listWorkflowsQuery = exports.updateWorkflowQuery = exports.getWorkflowQuery = exports.createWorkflowQuery = void 0;
|
|
4
|
+
exports.createWorkflow = createWorkflow;
|
|
5
|
+
exports.getWorkflow = getWorkflow;
|
|
6
|
+
exports.updateWorkflow = updateWorkflow;
|
|
7
|
+
exports.listWorkflows = listWorkflows;
|
|
21
8
|
exports.createWorkflowRun = createWorkflowRun;
|
|
22
9
|
exports.getWorkflowRun = getWorkflowRun;
|
|
10
|
+
exports.cancelWorkflowRun = cancelWorkflowRun;
|
|
23
11
|
exports.listWorkflowRuns = listWorkflowRuns;
|
|
24
12
|
exports.updateWorkflowRunStatus = updateWorkflowRunStatus;
|
|
25
|
-
exports.
|
|
26
|
-
exports.
|
|
27
|
-
exports.
|
|
28
|
-
exports.
|
|
29
|
-
|
|
30
|
-
exports.insertToolCallEvent = insertToolCallEvent;
|
|
31
|
-
exports.listToolCallEvents = listToolCallEvents;
|
|
32
|
-
exports.createWorkflowDefinitionQuery = `-- name: CreateWorkflowDefinition :one
|
|
33
|
-
INSERT INTO weave.workflow_definitions (
|
|
34
|
-
id,
|
|
13
|
+
exports.createWorkflowRunStep = createWorkflowRunStep;
|
|
14
|
+
exports.listWorkflowRunSteps = listWorkflowRunSteps;
|
|
15
|
+
exports.updateWorkflowRunStepStatus = updateWorkflowRunStepStatus;
|
|
16
|
+
exports.createWorkflowQuery = `-- name: CreateWorkflow :one
|
|
17
|
+
INSERT INTO weave.workflow (
|
|
35
18
|
organization_id,
|
|
36
19
|
slug,
|
|
37
20
|
name,
|
|
38
21
|
description,
|
|
39
|
-
|
|
40
|
-
|
|
22
|
+
definition,
|
|
23
|
+
metadata
|
|
41
24
|
) VALUES (
|
|
42
25
|
$1,
|
|
43
26
|
$2,
|
|
44
27
|
$3,
|
|
45
|
-
$4,
|
|
46
|
-
$5,
|
|
47
|
-
$6,
|
|
48
|
-
$7
|
|
28
|
+
COALESCE($4::text, ''),
|
|
29
|
+
COALESCE($5::jsonb, '{}'::jsonb),
|
|
30
|
+
COALESCE($6::jsonb, '{}'::jsonb)
|
|
49
31
|
)
|
|
50
|
-
RETURNING id, organization_id, slug, name, description, status,
|
|
51
|
-
async function
|
|
32
|
+
RETURNING id, organization_id, slug, name, description, status, definition, metadata, created_at, updated_at`;
|
|
33
|
+
async function createWorkflow(client, args) {
|
|
52
34
|
const result = await client.query({
|
|
53
|
-
text: exports.
|
|
54
|
-
values: [args.
|
|
35
|
+
text: exports.createWorkflowQuery,
|
|
36
|
+
values: [args.organizationId, args.slug, args.name, args.description, args.definition, args.metadata],
|
|
55
37
|
rowMode: "array"
|
|
56
38
|
});
|
|
57
39
|
if (result.rows.length !== 1) {
|
|
@@ -65,78 +47,21 @@ async function createWorkflowDefinition(client, args) {
|
|
|
65
47
|
name: row[3],
|
|
66
48
|
description: row[4],
|
|
67
49
|
status: row[5],
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
createdAt: row[10],
|
|
73
|
-
updatedAt: row[11]
|
|
50
|
+
definition: row[6],
|
|
51
|
+
metadata: row[7],
|
|
52
|
+
createdAt: row[8],
|
|
53
|
+
updatedAt: row[9]
|
|
74
54
|
};
|
|
75
55
|
}
|
|
76
|
-
exports.
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
definition_id,
|
|
80
|
-
organization_id,
|
|
81
|
-
base_version_id,
|
|
82
|
-
revision,
|
|
83
|
-
name,
|
|
84
|
-
description,
|
|
85
|
-
graph,
|
|
86
|
-
input_schema,
|
|
87
|
-
output_schema,
|
|
88
|
-
metadata,
|
|
89
|
-
updated_by_user_id
|
|
90
|
-
) VALUES (
|
|
91
|
-
$1,
|
|
92
|
-
$2,
|
|
93
|
-
$3,
|
|
94
|
-
$4::uuid,
|
|
95
|
-
$5,
|
|
96
|
-
$6,
|
|
97
|
-
$7,
|
|
98
|
-
$8,
|
|
99
|
-
$9,
|
|
100
|
-
$10,
|
|
101
|
-
$11,
|
|
102
|
-
$12
|
|
103
|
-
)
|
|
104
|
-
RETURNING id, definition_id, organization_id, base_version_id, revision, name, description, graph, input_schema, output_schema, metadata, updated_by_user_id, created_at, updated_at`;
|
|
105
|
-
async function createWorkflowDefinitionDraft(client, args) {
|
|
106
|
-
const result = await client.query({
|
|
107
|
-
text: exports.createWorkflowDefinitionDraftQuery,
|
|
108
|
-
values: [args.id, args.definitionId, args.organizationId, args.baseVersionId, args.revision, args.name, args.description, args.graph, args.inputSchema, args.outputSchema, args.metadata, args.updatedByUserId],
|
|
109
|
-
rowMode: "array"
|
|
110
|
-
});
|
|
111
|
-
if (result.rows.length !== 1) {
|
|
112
|
-
return null;
|
|
113
|
-
}
|
|
114
|
-
const row = result.rows[0];
|
|
115
|
-
return {
|
|
116
|
-
id: row[0],
|
|
117
|
-
definitionId: row[1],
|
|
118
|
-
organizationId: row[2],
|
|
119
|
-
baseVersionId: row[3],
|
|
120
|
-
revision: row[4],
|
|
121
|
-
name: row[5],
|
|
122
|
-
description: row[6],
|
|
123
|
-
graph: row[7],
|
|
124
|
-
inputSchema: row[8],
|
|
125
|
-
outputSchema: row[9],
|
|
126
|
-
metadata: row[10],
|
|
127
|
-
updatedByUserId: row[11],
|
|
128
|
-
createdAt: row[12],
|
|
129
|
-
updatedAt: row[13]
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
exports.getWorkflowDefinitionByIDQuery = `-- name: GetWorkflowDefinitionByID :one
|
|
133
|
-
SELECT id, organization_id, slug, name, description, status, created_by_user_id, draft_revision, latest_version_id, latest_version, created_at, updated_at FROM weave.workflow_definitions
|
|
56
|
+
exports.getWorkflowQuery = `-- name: GetWorkflow :one
|
|
57
|
+
SELECT id, organization_id, slug, name, description, status, definition, metadata, created_at, updated_at
|
|
58
|
+
FROM weave.workflow
|
|
134
59
|
WHERE organization_id = $1
|
|
135
60
|
AND id = $2`;
|
|
136
|
-
async function
|
|
61
|
+
async function getWorkflow(client, args) {
|
|
137
62
|
const result = await client.query({
|
|
138
|
-
text: exports.
|
|
139
|
-
values: [args.organizationId, args.
|
|
63
|
+
text: exports.getWorkflowQuery,
|
|
64
|
+
values: [args.organizationId, args.workflowId],
|
|
140
65
|
rowMode: "array"
|
|
141
66
|
});
|
|
142
67
|
if (result.rows.length !== 1) {
|
|
@@ -150,22 +75,27 @@ async function getWorkflowDefinitionByID(client, args) {
|
|
|
150
75
|
name: row[3],
|
|
151
76
|
description: row[4],
|
|
152
77
|
status: row[5],
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
createdAt: row[10],
|
|
158
|
-
updatedAt: row[11]
|
|
78
|
+
definition: row[6],
|
|
79
|
+
metadata: row[7],
|
|
80
|
+
createdAt: row[8],
|
|
81
|
+
updatedAt: row[9]
|
|
159
82
|
};
|
|
160
83
|
}
|
|
161
|
-
exports.
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
84
|
+
exports.updateWorkflowQuery = `-- name: UpdateWorkflow :one
|
|
85
|
+
UPDATE weave.workflow
|
|
86
|
+
SET slug = COALESCE($1::text, slug),
|
|
87
|
+
name = COALESCE($2::text, name),
|
|
88
|
+
description = COALESCE($3::text, description),
|
|
89
|
+
status = COALESCE($4::text, status),
|
|
90
|
+
definition = COALESCE($5::jsonb, definition),
|
|
91
|
+
metadata = COALESCE($6::jsonb, metadata)
|
|
92
|
+
WHERE organization_id = $7
|
|
93
|
+
AND id = $8
|
|
94
|
+
RETURNING id, organization_id, slug, name, description, status, definition, metadata, created_at, updated_at`;
|
|
95
|
+
async function updateWorkflow(client, args) {
|
|
166
96
|
const result = await client.query({
|
|
167
|
-
text: exports.
|
|
168
|
-
values: [args.organizationId, args.
|
|
97
|
+
text: exports.updateWorkflowQuery,
|
|
98
|
+
values: [args.slug, args.name, args.description, args.status, args.definition, args.metadata, args.organizationId, args.workflowId],
|
|
169
99
|
rowMode: "array"
|
|
170
100
|
});
|
|
171
101
|
if (result.rows.length !== 1) {
|
|
@@ -179,58 +109,23 @@ async function getWorkflowDefinitionBySlug(client, args) {
|
|
|
179
109
|
name: row[3],
|
|
180
110
|
description: row[4],
|
|
181
111
|
status: row[5],
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
createdAt: row[10],
|
|
187
|
-
updatedAt: row[11]
|
|
188
|
-
};
|
|
189
|
-
}
|
|
190
|
-
exports.getWorkflowDefinitionDraftQuery = `-- name: GetWorkflowDefinitionDraft :one
|
|
191
|
-
SELECT id, definition_id, organization_id, base_version_id, revision, name, description, graph, input_schema, output_schema, metadata, updated_by_user_id, created_at, updated_at FROM weave.workflow_definition_drafts
|
|
192
|
-
WHERE organization_id = $1
|
|
193
|
-
AND definition_id = $2`;
|
|
194
|
-
async function getWorkflowDefinitionDraft(client, args) {
|
|
195
|
-
const result = await client.query({
|
|
196
|
-
text: exports.getWorkflowDefinitionDraftQuery,
|
|
197
|
-
values: [args.organizationId, args.definitionId],
|
|
198
|
-
rowMode: "array"
|
|
199
|
-
});
|
|
200
|
-
if (result.rows.length !== 1) {
|
|
201
|
-
return null;
|
|
202
|
-
}
|
|
203
|
-
const row = result.rows[0];
|
|
204
|
-
return {
|
|
205
|
-
id: row[0],
|
|
206
|
-
definitionId: row[1],
|
|
207
|
-
organizationId: row[2],
|
|
208
|
-
baseVersionId: row[3],
|
|
209
|
-
revision: row[4],
|
|
210
|
-
name: row[5],
|
|
211
|
-
description: row[6],
|
|
212
|
-
graph: row[7],
|
|
213
|
-
inputSchema: row[8],
|
|
214
|
-
outputSchema: row[9],
|
|
215
|
-
metadata: row[10],
|
|
216
|
-
updatedByUserId: row[11],
|
|
217
|
-
createdAt: row[12],
|
|
218
|
-
updatedAt: row[13]
|
|
112
|
+
definition: row[6],
|
|
113
|
+
metadata: row[7],
|
|
114
|
+
createdAt: row[8],
|
|
115
|
+
updatedAt: row[9]
|
|
219
116
|
};
|
|
220
117
|
}
|
|
221
|
-
exports.
|
|
222
|
-
SELECT id, organization_id, slug, name, description, status,
|
|
118
|
+
exports.listWorkflowsQuery = `-- name: ListWorkflows :many
|
|
119
|
+
SELECT id, organization_id, slug, name, description, status, definition, metadata, created_at, updated_at
|
|
120
|
+
FROM weave.workflow
|
|
223
121
|
WHERE organization_id = $1
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
ORDER BY updated_at DESC, created_at DESC
|
|
229
|
-
LIMIT $4 OFFSET $3`;
|
|
230
|
-
async function listWorkflowDefinitions(client, args) {
|
|
122
|
+
ORDER BY name ASC, id ASC
|
|
123
|
+
LIMIT COALESCE($3::integer, 100)
|
|
124
|
+
OFFSET COALESCE($2::integer, 0)`;
|
|
125
|
+
async function listWorkflows(client, args) {
|
|
231
126
|
const result = await client.query({
|
|
232
|
-
text: exports.
|
|
233
|
-
values: [args.organizationId, args.
|
|
127
|
+
text: exports.listWorkflowsQuery,
|
|
128
|
+
values: [args.organizationId, args.pageOffset, args.pageSize],
|
|
234
129
|
rowMode: "array"
|
|
235
130
|
});
|
|
236
131
|
return result.rows.map(row => {
|
|
@@ -241,329 +136,41 @@ async function listWorkflowDefinitions(client, args) {
|
|
|
241
136
|
name: row[3],
|
|
242
137
|
description: row[4],
|
|
243
138
|
status: row[5],
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
createdAt: row[10],
|
|
249
|
-
updatedAt: row[11]
|
|
139
|
+
definition: row[6],
|
|
140
|
+
metadata: row[7],
|
|
141
|
+
createdAt: row[8],
|
|
142
|
+
updatedAt: row[9]
|
|
250
143
|
};
|
|
251
144
|
});
|
|
252
145
|
}
|
|
253
|
-
exports.
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
updated_at = now()
|
|
260
|
-
WHERE organization_id = $4
|
|
261
|
-
AND id = $5
|
|
262
|
-
RETURNING id, organization_id, slug, name, description, status, created_by_user_id, draft_revision, latest_version_id, latest_version, created_at, updated_at`;
|
|
263
|
-
async function updateWorkflowDefinitionDraftMetadata(client, args) {
|
|
264
|
-
const result = await client.query({
|
|
265
|
-
text: exports.updateWorkflowDefinitionDraftMetadataQuery,
|
|
266
|
-
values: [args.name, args.description, args.draftRevision, args.organizationId, args.definitionId],
|
|
267
|
-
rowMode: "array"
|
|
268
|
-
});
|
|
269
|
-
if (result.rows.length !== 1) {
|
|
270
|
-
return null;
|
|
271
|
-
}
|
|
272
|
-
const row = result.rows[0];
|
|
273
|
-
return {
|
|
274
|
-
id: row[0],
|
|
275
|
-
organizationId: row[1],
|
|
276
|
-
slug: row[2],
|
|
277
|
-
name: row[3],
|
|
278
|
-
description: row[4],
|
|
279
|
-
status: row[5],
|
|
280
|
-
createdByUserId: row[6],
|
|
281
|
-
draftRevision: row[7],
|
|
282
|
-
latestVersionId: row[8],
|
|
283
|
-
latestVersion: row[9],
|
|
284
|
-
createdAt: row[10],
|
|
285
|
-
updatedAt: row[11]
|
|
286
|
-
};
|
|
287
|
-
}
|
|
288
|
-
exports.updateWorkflowDefinitionStatusQuery = `-- name: UpdateWorkflowDefinitionStatus :one
|
|
289
|
-
UPDATE weave.workflow_definitions
|
|
290
|
-
SET
|
|
291
|
-
status = $1,
|
|
292
|
-
updated_at = now()
|
|
293
|
-
WHERE organization_id = $2
|
|
294
|
-
AND id = $3
|
|
295
|
-
RETURNING id, organization_id, slug, name, description, status, created_by_user_id, draft_revision, latest_version_id, latest_version, created_at, updated_at`;
|
|
296
|
-
async function updateWorkflowDefinitionStatus(client, args) {
|
|
297
|
-
const result = await client.query({
|
|
298
|
-
text: exports.updateWorkflowDefinitionStatusQuery,
|
|
299
|
-
values: [args.status, args.organizationId, args.definitionId],
|
|
300
|
-
rowMode: "array"
|
|
301
|
-
});
|
|
302
|
-
if (result.rows.length !== 1) {
|
|
303
|
-
return null;
|
|
304
|
-
}
|
|
305
|
-
const row = result.rows[0];
|
|
306
|
-
return {
|
|
307
|
-
id: row[0],
|
|
308
|
-
organizationId: row[1],
|
|
309
|
-
slug: row[2],
|
|
310
|
-
name: row[3],
|
|
311
|
-
description: row[4],
|
|
312
|
-
status: row[5],
|
|
313
|
-
createdByUserId: row[6],
|
|
314
|
-
draftRevision: row[7],
|
|
315
|
-
latestVersionId: row[8],
|
|
316
|
-
latestVersion: row[9],
|
|
317
|
-
createdAt: row[10],
|
|
318
|
-
updatedAt: row[11]
|
|
319
|
-
};
|
|
320
|
-
}
|
|
321
|
-
exports.updateWorkflowDraftQuery = `-- name: UpdateWorkflowDraft :one
|
|
322
|
-
UPDATE weave.workflow_definition_drafts
|
|
323
|
-
SET
|
|
324
|
-
base_version_id = $1::uuid,
|
|
325
|
-
revision = revision + 1,
|
|
326
|
-
name = $2,
|
|
327
|
-
description = $3,
|
|
328
|
-
graph = $4,
|
|
329
|
-
input_schema = $5,
|
|
330
|
-
output_schema = $6,
|
|
331
|
-
metadata = $7,
|
|
332
|
-
updated_by_user_id = $8,
|
|
333
|
-
updated_at = now()
|
|
334
|
-
WHERE organization_id = $9
|
|
335
|
-
AND definition_id = $10
|
|
336
|
-
AND revision = $11
|
|
337
|
-
RETURNING id, definition_id, organization_id, base_version_id, revision, name, description, graph, input_schema, output_schema, metadata, updated_by_user_id, created_at, updated_at`;
|
|
338
|
-
async function updateWorkflowDraft(client, args) {
|
|
339
|
-
const result = await client.query({
|
|
340
|
-
text: exports.updateWorkflowDraftQuery,
|
|
341
|
-
values: [args.baseVersionId, args.name, args.description, args.graph, args.inputSchema, args.outputSchema, args.metadata, args.updatedByUserId, args.organizationId, args.definitionId, args.expectedRevision],
|
|
342
|
-
rowMode: "array"
|
|
343
|
-
});
|
|
344
|
-
if (result.rows.length !== 1) {
|
|
345
|
-
return null;
|
|
346
|
-
}
|
|
347
|
-
const row = result.rows[0];
|
|
348
|
-
return {
|
|
349
|
-
id: row[0],
|
|
350
|
-
definitionId: row[1],
|
|
351
|
-
organizationId: row[2],
|
|
352
|
-
baseVersionId: row[3],
|
|
353
|
-
revision: row[4],
|
|
354
|
-
name: row[5],
|
|
355
|
-
description: row[6],
|
|
356
|
-
graph: row[7],
|
|
357
|
-
inputSchema: row[8],
|
|
358
|
-
outputSchema: row[9],
|
|
359
|
-
metadata: row[10],
|
|
360
|
-
updatedByUserId: row[11],
|
|
361
|
-
createdAt: row[12],
|
|
362
|
-
updatedAt: row[13]
|
|
363
|
-
};
|
|
364
|
-
}
|
|
365
|
-
exports.insertWorkflowDraftPatchQuery = `-- name: InsertWorkflowDraftPatch :one
|
|
366
|
-
INSERT INTO weave.workflow_definition_draft_patches (
|
|
367
|
-
id,
|
|
368
|
-
definition_id,
|
|
369
|
-
organization_id,
|
|
370
|
-
revision,
|
|
371
|
-
patch,
|
|
372
|
-
created_by_user_id
|
|
373
|
-
) VALUES (
|
|
374
|
-
$1,
|
|
375
|
-
$2,
|
|
376
|
-
$3,
|
|
377
|
-
$4,
|
|
378
|
-
$5,
|
|
379
|
-
$6
|
|
146
|
+
exports.createWorkflowRunQuery = `-- name: CreateWorkflowRun :one
|
|
147
|
+
WITH selected_workflow AS (
|
|
148
|
+
SELECT id, organization_id, slug, name, description, status, definition, metadata, created_at, updated_at
|
|
149
|
+
FROM weave.workflow
|
|
150
|
+
WHERE weave.workflow.organization_id = $4
|
|
151
|
+
AND weave.workflow.id = $5
|
|
380
152
|
)
|
|
381
|
-
|
|
382
|
-
async function insertWorkflowDraftPatch(client, args) {
|
|
383
|
-
const result = await client.query({
|
|
384
|
-
text: exports.insertWorkflowDraftPatchQuery,
|
|
385
|
-
values: [args.id, args.definitionId, args.organizationId, args.revision, args.patch, args.createdByUserId],
|
|
386
|
-
rowMode: "array"
|
|
387
|
-
});
|
|
388
|
-
if (result.rows.length !== 1) {
|
|
389
|
-
return null;
|
|
390
|
-
}
|
|
391
|
-
const row = result.rows[0];
|
|
392
|
-
return {
|
|
393
|
-
id: row[0],
|
|
394
|
-
definitionId: row[1],
|
|
395
|
-
organizationId: row[2],
|
|
396
|
-
revision: row[3],
|
|
397
|
-
patch: row[4],
|
|
398
|
-
createdByUserId: row[5],
|
|
399
|
-
createdAt: row[6]
|
|
400
|
-
};
|
|
401
|
-
}
|
|
402
|
-
exports.insertWorkflowDraftEventQuery = `-- name: InsertWorkflowDraftEvent :one
|
|
403
|
-
INSERT INTO weave.workflow_definition_draft_events (
|
|
404
|
-
id,
|
|
405
|
-
definition_id,
|
|
153
|
+
INSERT INTO weave.workflow_run (
|
|
406
154
|
organization_id,
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
changed_fields,
|
|
413
|
-
source,
|
|
414
|
-
client_request_id,
|
|
415
|
-
conflict,
|
|
416
|
-
created_by_user_id
|
|
417
|
-
) VALUES (
|
|
418
|
-
$1,
|
|
419
|
-
$2,
|
|
420
|
-
$3,
|
|
421
|
-
$4,
|
|
422
|
-
COALESCE(
|
|
423
|
-
(
|
|
424
|
-
SELECT max(sequence) + 1
|
|
425
|
-
FROM weave.workflow_definition_draft_events
|
|
426
|
-
WHERE definition_id = $2
|
|
427
|
-
),
|
|
428
|
-
1
|
|
429
|
-
),
|
|
430
|
-
$5,
|
|
431
|
-
$6,
|
|
432
|
-
$7::integer,
|
|
433
|
-
$8::text[],
|
|
434
|
-
$9,
|
|
435
|
-
$10,
|
|
436
|
-
$11::jsonb,
|
|
437
|
-
$12
|
|
155
|
+
workflow_id,
|
|
156
|
+
started_by_user_id,
|
|
157
|
+
chat_session_id,
|
|
158
|
+
input,
|
|
159
|
+
definition_snapshot
|
|
438
160
|
)
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
text: exports.insertWorkflowDraftEventQuery,
|
|
443
|
-
values: [args.id, args.definitionId, args.organizationId, args.draftId, args.kind, args.baseRevision, args.resultRevision, args.changedFields, args.source, args.clientRequestId, args.conflict, args.createdByUserId],
|
|
444
|
-
rowMode: "array"
|
|
445
|
-
});
|
|
446
|
-
if (result.rows.length !== 1) {
|
|
447
|
-
return null;
|
|
448
|
-
}
|
|
449
|
-
const row = result.rows[0];
|
|
450
|
-
return {
|
|
451
|
-
id: row[0],
|
|
452
|
-
organizationId: row[1],
|
|
453
|
-
definitionId: row[2],
|
|
454
|
-
draftId: row[3],
|
|
455
|
-
sequence: row[4],
|
|
456
|
-
kind: row[5],
|
|
457
|
-
baseRevision: row[6],
|
|
458
|
-
resultRevision: row[7],
|
|
459
|
-
changedFields: row[8],
|
|
460
|
-
source: row[9],
|
|
461
|
-
clientRequestId: row[10],
|
|
462
|
-
conflict: row[11],
|
|
463
|
-
createdByUserId: row[12],
|
|
464
|
-
createdAt: row[13]
|
|
465
|
-
};
|
|
466
|
-
}
|
|
467
|
-
exports.listWorkflowDraftEventsQuery = `-- name: ListWorkflowDraftEvents :many
|
|
468
|
-
SELECT id, organization_id, definition_id, draft_id, sequence, kind, base_revision, result_revision, changed_fields, source, client_request_id, conflict, created_by_user_id, created_at FROM weave.workflow_definition_draft_events
|
|
469
|
-
WHERE organization_id = $1
|
|
470
|
-
AND definition_id = $2
|
|
471
|
-
AND sequence > $3
|
|
472
|
-
ORDER BY sequence
|
|
473
|
-
LIMIT $4`;
|
|
474
|
-
async function listWorkflowDraftEvents(client, args) {
|
|
475
|
-
const result = await client.query({
|
|
476
|
-
text: exports.listWorkflowDraftEventsQuery,
|
|
477
|
-
values: [args.organizationId, args.definitionId, args.afterSequence, args.pageSize],
|
|
478
|
-
rowMode: "array"
|
|
479
|
-
});
|
|
480
|
-
return result.rows.map(row => {
|
|
481
|
-
return {
|
|
482
|
-
id: row[0],
|
|
483
|
-
organizationId: row[1],
|
|
484
|
-
definitionId: row[2],
|
|
485
|
-
draftId: row[3],
|
|
486
|
-
sequence: row[4],
|
|
487
|
-
kind: row[5],
|
|
488
|
-
baseRevision: row[6],
|
|
489
|
-
resultRevision: row[7],
|
|
490
|
-
changedFields: row[8],
|
|
491
|
-
source: row[9],
|
|
492
|
-
clientRequestId: row[10],
|
|
493
|
-
conflict: row[11],
|
|
494
|
-
createdByUserId: row[12],
|
|
495
|
-
createdAt: row[13]
|
|
496
|
-
};
|
|
497
|
-
});
|
|
498
|
-
}
|
|
499
|
-
exports.insertWorkflowDefinitionVersionQuery = `-- name: InsertWorkflowDefinitionVersion :one
|
|
500
|
-
INSERT INTO weave.workflow_definition_versions (
|
|
501
|
-
id,
|
|
502
|
-
definition_id,
|
|
503
|
-
organization_id,
|
|
504
|
-
version,
|
|
505
|
-
source_draft_revision,
|
|
506
|
-
name,
|
|
507
|
-
description,
|
|
508
|
-
graph,
|
|
509
|
-
input_schema,
|
|
510
|
-
output_schema,
|
|
511
|
-
metadata,
|
|
512
|
-
published_by_user_id
|
|
513
|
-
) VALUES (
|
|
161
|
+
SELECT
|
|
162
|
+
selected_workflow.organization_id,
|
|
163
|
+
selected_workflow.id,
|
|
514
164
|
$1,
|
|
515
|
-
$2,
|
|
516
|
-
$3,
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
$8,
|
|
522
|
-
$9,
|
|
523
|
-
$10,
|
|
524
|
-
$11,
|
|
525
|
-
$12
|
|
526
|
-
)
|
|
527
|
-
RETURNING id, definition_id, organization_id, version, source_draft_revision, name, description, graph, input_schema, output_schema, metadata, published_by_user_id, published_at`;
|
|
528
|
-
async function insertWorkflowDefinitionVersion(client, args) {
|
|
529
|
-
const result = await client.query({
|
|
530
|
-
text: exports.insertWorkflowDefinitionVersionQuery,
|
|
531
|
-
values: [args.id, args.definitionId, args.organizationId, args.version, args.sourceDraftRevision, args.name, args.description, args.graph, args.inputSchema, args.outputSchema, args.metadata, args.publishedByUserId],
|
|
532
|
-
rowMode: "array"
|
|
533
|
-
});
|
|
534
|
-
if (result.rows.length !== 1) {
|
|
535
|
-
return null;
|
|
536
|
-
}
|
|
537
|
-
const row = result.rows[0];
|
|
538
|
-
return {
|
|
539
|
-
id: row[0],
|
|
540
|
-
definitionId: row[1],
|
|
541
|
-
organizationId: row[2],
|
|
542
|
-
version: row[3],
|
|
543
|
-
sourceDraftRevision: row[4],
|
|
544
|
-
name: row[5],
|
|
545
|
-
description: row[6],
|
|
546
|
-
graph: row[7],
|
|
547
|
-
inputSchema: row[8],
|
|
548
|
-
outputSchema: row[9],
|
|
549
|
-
metadata: row[10],
|
|
550
|
-
publishedByUserId: row[11],
|
|
551
|
-
publishedAt: row[12]
|
|
552
|
-
};
|
|
553
|
-
}
|
|
554
|
-
exports.setWorkflowDefinitionLatestVersionQuery = `-- name: SetWorkflowDefinitionLatestVersion :one
|
|
555
|
-
UPDATE weave.workflow_definitions
|
|
556
|
-
SET
|
|
557
|
-
latest_version_id = $1,
|
|
558
|
-
latest_version = $2,
|
|
559
|
-
updated_at = now()
|
|
560
|
-
WHERE organization_id = $3
|
|
561
|
-
AND id = $4
|
|
562
|
-
RETURNING id, organization_id, slug, name, description, status, created_by_user_id, draft_revision, latest_version_id, latest_version, created_at, updated_at`;
|
|
563
|
-
async function setWorkflowDefinitionLatestVersion(client, args) {
|
|
165
|
+
$2::uuid,
|
|
166
|
+
COALESCE($3::jsonb, '{}'::jsonb),
|
|
167
|
+
selected_workflow.definition
|
|
168
|
+
FROM selected_workflow
|
|
169
|
+
RETURNING id, organization_id, workflow_id, started_by_user_id, chat_session_id, status, input, output, definition_snapshot, error_code, error_message, started_at, completed_at, created_at, updated_at`;
|
|
170
|
+
async function createWorkflowRun(client, args) {
|
|
564
171
|
const result = await client.query({
|
|
565
|
-
text: exports.
|
|
566
|
-
values: [args.
|
|
172
|
+
text: exports.createWorkflowRunQuery,
|
|
173
|
+
values: [args.startedByUserId, args.chatSessionId, args.input, args.organizationId, args.workflowId],
|
|
567
174
|
rowMode: "array"
|
|
568
175
|
});
|
|
569
176
|
if (result.rows.length !== 1) {
|
|
@@ -573,134 +180,30 @@ async function setWorkflowDefinitionLatestVersion(client, args) {
|
|
|
573
180
|
return {
|
|
574
181
|
id: row[0],
|
|
575
182
|
organizationId: row[1],
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
183
|
+
workflowId: row[2],
|
|
184
|
+
startedByUserId: row[3],
|
|
185
|
+
chatSessionId: row[4],
|
|
579
186
|
status: row[5],
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
SELECT id, definition_id, organization_id, version, source_draft_revision, name, description, graph, input_schema, output_schema, metadata, published_by_user_id, published_at FROM weave.workflow_definition_versions
|
|
590
|
-
WHERE organization_id = $1
|
|
591
|
-
AND definition_id = $2
|
|
592
|
-
AND version = $3`;
|
|
593
|
-
async function getWorkflowDefinitionVersionByNumber(client, args) {
|
|
594
|
-
const result = await client.query({
|
|
595
|
-
text: exports.getWorkflowDefinitionVersionByNumberQuery,
|
|
596
|
-
values: [args.organizationId, args.definitionId, args.version],
|
|
597
|
-
rowMode: "array"
|
|
598
|
-
});
|
|
599
|
-
if (result.rows.length !== 1) {
|
|
600
|
-
return null;
|
|
601
|
-
}
|
|
602
|
-
const row = result.rows[0];
|
|
603
|
-
return {
|
|
604
|
-
id: row[0],
|
|
605
|
-
definitionId: row[1],
|
|
606
|
-
organizationId: row[2],
|
|
607
|
-
version: row[3],
|
|
608
|
-
sourceDraftRevision: row[4],
|
|
609
|
-
name: row[5],
|
|
610
|
-
description: row[6],
|
|
611
|
-
graph: row[7],
|
|
612
|
-
inputSchema: row[8],
|
|
613
|
-
outputSchema: row[9],
|
|
614
|
-
metadata: row[10],
|
|
615
|
-
publishedByUserId: row[11],
|
|
616
|
-
publishedAt: row[12]
|
|
187
|
+
input: row[6],
|
|
188
|
+
output: row[7],
|
|
189
|
+
definitionSnapshot: row[8],
|
|
190
|
+
errorCode: row[9],
|
|
191
|
+
errorMessage: row[10],
|
|
192
|
+
startedAt: row[11],
|
|
193
|
+
completedAt: row[12],
|
|
194
|
+
createdAt: row[13],
|
|
195
|
+
updatedAt: row[14]
|
|
617
196
|
};
|
|
618
197
|
}
|
|
619
|
-
exports.
|
|
620
|
-
SELECT id,
|
|
198
|
+
exports.getWorkflowRunQuery = `-- name: GetWorkflowRun :one
|
|
199
|
+
SELECT id, organization_id, workflow_id, started_by_user_id, chat_session_id, status, input, output, definition_snapshot, error_code, error_message, started_at, completed_at, created_at, updated_at
|
|
200
|
+
FROM weave.workflow_run
|
|
621
201
|
WHERE organization_id = $1
|
|
622
202
|
AND id = $2`;
|
|
623
|
-
async function
|
|
624
|
-
const result = await client.query({
|
|
625
|
-
text: exports.getWorkflowDefinitionVersionByIDQuery,
|
|
626
|
-
values: [args.organizationId, args.versionId],
|
|
627
|
-
rowMode: "array"
|
|
628
|
-
});
|
|
629
|
-
if (result.rows.length !== 1) {
|
|
630
|
-
return null;
|
|
631
|
-
}
|
|
632
|
-
const row = result.rows[0];
|
|
633
|
-
return {
|
|
634
|
-
id: row[0],
|
|
635
|
-
definitionId: row[1],
|
|
636
|
-
organizationId: row[2],
|
|
637
|
-
version: row[3],
|
|
638
|
-
sourceDraftRevision: row[4],
|
|
639
|
-
name: row[5],
|
|
640
|
-
description: row[6],
|
|
641
|
-
graph: row[7],
|
|
642
|
-
inputSchema: row[8],
|
|
643
|
-
outputSchema: row[9],
|
|
644
|
-
metadata: row[10],
|
|
645
|
-
publishedByUserId: row[11],
|
|
646
|
-
publishedAt: row[12]
|
|
647
|
-
};
|
|
648
|
-
}
|
|
649
|
-
exports.listWorkflowDefinitionVersionsQuery = `-- name: ListWorkflowDefinitionVersions :many
|
|
650
|
-
SELECT id, definition_id, organization_id, version, source_draft_revision, name, description, graph, input_schema, output_schema, metadata, published_by_user_id, published_at FROM weave.workflow_definition_versions
|
|
651
|
-
WHERE organization_id = $1
|
|
652
|
-
AND definition_id = $2
|
|
653
|
-
ORDER BY version DESC
|
|
654
|
-
LIMIT $4 OFFSET $3`;
|
|
655
|
-
async function listWorkflowDefinitionVersions(client, args) {
|
|
656
|
-
const result = await client.query({
|
|
657
|
-
text: exports.listWorkflowDefinitionVersionsQuery,
|
|
658
|
-
values: [args.organizationId, args.definitionId, args.pageOffset, args.pageSize],
|
|
659
|
-
rowMode: "array"
|
|
660
|
-
});
|
|
661
|
-
return result.rows.map(row => {
|
|
662
|
-
return {
|
|
663
|
-
id: row[0],
|
|
664
|
-
definitionId: row[1],
|
|
665
|
-
organizationId: row[2],
|
|
666
|
-
version: row[3],
|
|
667
|
-
sourceDraftRevision: row[4],
|
|
668
|
-
name: row[5],
|
|
669
|
-
description: row[6],
|
|
670
|
-
graph: row[7],
|
|
671
|
-
inputSchema: row[8],
|
|
672
|
-
outputSchema: row[9],
|
|
673
|
-
metadata: row[10],
|
|
674
|
-
publishedByUserId: row[11],
|
|
675
|
-
publishedAt: row[12]
|
|
676
|
-
};
|
|
677
|
-
});
|
|
678
|
-
}
|
|
679
|
-
exports.createWorkflowRunQuery = `-- name: CreateWorkflowRun :one
|
|
680
|
-
INSERT INTO weave.workflow_runs (
|
|
681
|
-
id,
|
|
682
|
-
organization_id,
|
|
683
|
-
workflow_definition_id,
|
|
684
|
-
workflow_version_id,
|
|
685
|
-
status,
|
|
686
|
-
created_by_user_id,
|
|
687
|
-
chat_session_id,
|
|
688
|
-
input
|
|
689
|
-
) VALUES (
|
|
690
|
-
$1,
|
|
691
|
-
$2,
|
|
692
|
-
$3,
|
|
693
|
-
$4,
|
|
694
|
-
$5,
|
|
695
|
-
$6,
|
|
696
|
-
$7::uuid,
|
|
697
|
-
$8
|
|
698
|
-
)
|
|
699
|
-
RETURNING id, organization_id, workflow_definition_id, workflow_version_id, status, created_by_user_id, chat_session_id, input, output, error_code, safe_error_message, created_at, started_at, finished_at`;
|
|
700
|
-
async function createWorkflowRun(client, args) {
|
|
203
|
+
async function getWorkflowRun(client, args) {
|
|
701
204
|
const result = await client.query({
|
|
702
|
-
text: exports.
|
|
703
|
-
values: [args.
|
|
205
|
+
text: exports.getWorkflowRunQuery,
|
|
206
|
+
values: [args.organizationId, args.workflowRunId],
|
|
704
207
|
rowMode: "array"
|
|
705
208
|
});
|
|
706
209
|
if (result.rows.length !== 1) {
|
|
@@ -710,28 +213,49 @@ async function createWorkflowRun(client, args) {
|
|
|
710
213
|
return {
|
|
711
214
|
id: row[0],
|
|
712
215
|
organizationId: row[1],
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
216
|
+
workflowId: row[2],
|
|
217
|
+
startedByUserId: row[3],
|
|
218
|
+
chatSessionId: row[4],
|
|
219
|
+
status: row[5],
|
|
220
|
+
input: row[6],
|
|
221
|
+
output: row[7],
|
|
222
|
+
definitionSnapshot: row[8],
|
|
720
223
|
errorCode: row[9],
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
224
|
+
errorMessage: row[10],
|
|
225
|
+
startedAt: row[11],
|
|
226
|
+
completedAt: row[12],
|
|
227
|
+
createdAt: row[13],
|
|
228
|
+
updatedAt: row[14]
|
|
725
229
|
};
|
|
726
230
|
}
|
|
727
|
-
exports.
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
231
|
+
exports.cancelWorkflowRunQuery = `-- name: CancelWorkflowRun :one
|
|
232
|
+
WITH canceled_run AS (
|
|
233
|
+
UPDATE weave.workflow_run wr
|
|
234
|
+
SET status = 'canceled',
|
|
235
|
+
error_code = COALESCE($1::text, ''),
|
|
236
|
+
error_message = COALESCE($2::text, ''),
|
|
237
|
+
completed_at = COALESCE($3::timestamptz, now())
|
|
238
|
+
WHERE wr.organization_id = $4
|
|
239
|
+
AND wr.id = $5
|
|
240
|
+
AND wr.status IN ('pending', 'running', 'waiting')
|
|
241
|
+
RETURNING wr.id, wr.organization_id, wr.workflow_id, wr.started_by_user_id, wr.chat_session_id, wr.status, wr.input, wr.output, wr.definition_snapshot, wr.error_code, wr.error_message, wr.started_at, wr.completed_at, wr.created_at, wr.updated_at
|
|
242
|
+
),
|
|
243
|
+
canceled_steps AS (
|
|
244
|
+
UPDATE weave.workflow_run_step wrs
|
|
245
|
+
SET status = 'canceled',
|
|
246
|
+
completed_at = COALESCE(wrs.completed_at, (SELECT completed_at FROM canceled_run))
|
|
247
|
+
WHERE wrs.organization_id = $4
|
|
248
|
+
AND wrs.workflow_run_id = $5
|
|
249
|
+
AND wrs.status IN ('pending', 'running', 'waiting')
|
|
250
|
+
AND EXISTS (SELECT 1 FROM canceled_run)
|
|
251
|
+
RETURNING wrs.id
|
|
252
|
+
)
|
|
253
|
+
SELECT id, organization_id, workflow_id, started_by_user_id, chat_session_id, status, input, output, definition_snapshot, error_code, error_message, started_at, completed_at, created_at, updated_at
|
|
254
|
+
FROM canceled_run`;
|
|
255
|
+
async function cancelWorkflowRun(client, args) {
|
|
732
256
|
const result = await client.query({
|
|
733
|
-
text: exports.
|
|
734
|
-
values: [args.organizationId, args.workflowRunId],
|
|
257
|
+
text: exports.cancelWorkflowRunQuery,
|
|
258
|
+
values: [args.errorCode, args.errorMessage, args.completedAt, args.organizationId, args.workflowRunId],
|
|
735
259
|
rowMode: "array"
|
|
736
260
|
});
|
|
737
261
|
if (result.rows.length !== 1) {
|
|
@@ -741,74 +265,71 @@ async function getWorkflowRun(client, args) {
|
|
|
741
265
|
return {
|
|
742
266
|
id: row[0],
|
|
743
267
|
organizationId: row[1],
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
268
|
+
workflowId: row[2],
|
|
269
|
+
startedByUserId: row[3],
|
|
270
|
+
chatSessionId: row[4],
|
|
271
|
+
status: row[5],
|
|
272
|
+
input: row[6],
|
|
273
|
+
output: row[7],
|
|
274
|
+
definitionSnapshot: row[8],
|
|
751
275
|
errorCode: row[9],
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
276
|
+
errorMessage: row[10],
|
|
277
|
+
startedAt: row[11],
|
|
278
|
+
completedAt: row[12],
|
|
279
|
+
createdAt: row[13],
|
|
280
|
+
updatedAt: row[14]
|
|
756
281
|
};
|
|
757
282
|
}
|
|
758
283
|
exports.listWorkflowRunsQuery = `-- name: ListWorkflowRuns :many
|
|
759
|
-
SELECT id, organization_id,
|
|
284
|
+
SELECT id, organization_id, workflow_id, started_by_user_id, chat_session_id, status, input, output, definition_snapshot, error_code, error_message, started_at, completed_at, created_at, updated_at
|
|
285
|
+
FROM weave.workflow_run
|
|
760
286
|
WHERE organization_id = $1
|
|
761
|
-
AND (
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
$3::text IS NULL
|
|
767
|
-
OR status = $3::text
|
|
768
|
-
)
|
|
769
|
-
ORDER BY created_at DESC
|
|
770
|
-
LIMIT $5 OFFSET $4`;
|
|
287
|
+
AND ($2::uuid IS NULL OR workflow_id = $2::uuid)
|
|
288
|
+
AND ($3::text IS NULL OR status = $3::text)
|
|
289
|
+
ORDER BY created_at DESC, id DESC
|
|
290
|
+
LIMIT COALESCE($5::integer, 100)
|
|
291
|
+
OFFSET COALESCE($4::integer, 0)`;
|
|
771
292
|
async function listWorkflowRuns(client, args) {
|
|
772
293
|
const result = await client.query({
|
|
773
294
|
text: exports.listWorkflowRunsQuery,
|
|
774
|
-
values: [args.organizationId, args.
|
|
295
|
+
values: [args.organizationId, args.workflowId, args.status, args.pageOffset, args.pageSize],
|
|
775
296
|
rowMode: "array"
|
|
776
297
|
});
|
|
777
298
|
return result.rows.map(row => {
|
|
778
299
|
return {
|
|
779
300
|
id: row[0],
|
|
780
301
|
organizationId: row[1],
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
302
|
+
workflowId: row[2],
|
|
303
|
+
startedByUserId: row[3],
|
|
304
|
+
chatSessionId: row[4],
|
|
305
|
+
status: row[5],
|
|
306
|
+
input: row[6],
|
|
307
|
+
output: row[7],
|
|
308
|
+
definitionSnapshot: row[8],
|
|
788
309
|
errorCode: row[9],
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
310
|
+
errorMessage: row[10],
|
|
311
|
+
startedAt: row[11],
|
|
312
|
+
completedAt: row[12],
|
|
313
|
+
createdAt: row[13],
|
|
314
|
+
updatedAt: row[14]
|
|
793
315
|
};
|
|
794
316
|
});
|
|
795
317
|
}
|
|
796
318
|
exports.updateWorkflowRunStatusQuery = `-- name: UpdateWorkflowRunStatus :one
|
|
797
|
-
UPDATE weave.
|
|
798
|
-
SET
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
finished_at = $6::timestamptz
|
|
319
|
+
UPDATE weave.workflow_run
|
|
320
|
+
SET status = $1,
|
|
321
|
+
output = $2::jsonb,
|
|
322
|
+
error_code = COALESCE($3::text, ''),
|
|
323
|
+
error_message = COALESCE($4::text, ''),
|
|
324
|
+
started_at = COALESCE($5::timestamptz, started_at),
|
|
325
|
+
completed_at = $6::timestamptz
|
|
805
326
|
WHERE organization_id = $7
|
|
806
327
|
AND id = $8
|
|
807
|
-
RETURNING id, organization_id,
|
|
328
|
+
RETURNING id, organization_id, workflow_id, started_by_user_id, chat_session_id, status, input, output, definition_snapshot, error_code, error_message, started_at, completed_at, created_at, updated_at`;
|
|
808
329
|
async function updateWorkflowRunStatus(client, args) {
|
|
809
330
|
const result = await client.query({
|
|
810
331
|
text: exports.updateWorkflowRunStatusQuery,
|
|
811
|
-
values: [args.status, args.output, args.errorCode, args.
|
|
332
|
+
values: [args.status, args.output, args.errorCode, args.errorMessage, args.startedAt, args.completedAt, args.organizationId, args.workflowRunId],
|
|
812
333
|
rowMode: "array"
|
|
813
334
|
});
|
|
814
335
|
if (result.rows.length !== 1) {
|
|
@@ -818,45 +339,52 @@ async function updateWorkflowRunStatus(client, args) {
|
|
|
818
339
|
return {
|
|
819
340
|
id: row[0],
|
|
820
341
|
organizationId: row[1],
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
342
|
+
workflowId: row[2],
|
|
343
|
+
startedByUserId: row[3],
|
|
344
|
+
chatSessionId: row[4],
|
|
345
|
+
status: row[5],
|
|
346
|
+
input: row[6],
|
|
347
|
+
output: row[7],
|
|
348
|
+
definitionSnapshot: row[8],
|
|
828
349
|
errorCode: row[9],
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
350
|
+
errorMessage: row[10],
|
|
351
|
+
startedAt: row[11],
|
|
352
|
+
completedAt: row[12],
|
|
353
|
+
createdAt: row[13],
|
|
354
|
+
updatedAt: row[14]
|
|
833
355
|
};
|
|
834
356
|
}
|
|
835
|
-
exports.
|
|
836
|
-
INSERT INTO weave.
|
|
837
|
-
id,
|
|
357
|
+
exports.createWorkflowRunStepQuery = `-- name: CreateWorkflowRunStep :one
|
|
358
|
+
INSERT INTO weave.workflow_run_step (
|
|
838
359
|
organization_id,
|
|
839
360
|
workflow_run_id,
|
|
840
361
|
step_key,
|
|
841
|
-
|
|
842
|
-
step_kind,
|
|
362
|
+
kind,
|
|
843
363
|
status,
|
|
364
|
+
agent_id,
|
|
365
|
+
agent_run_id,
|
|
366
|
+
workflow_id,
|
|
367
|
+
child_workflow_run_id,
|
|
368
|
+
tool_id,
|
|
844
369
|
input
|
|
845
370
|
) VALUES (
|
|
846
371
|
$1,
|
|
847
372
|
$2,
|
|
848
373
|
$3,
|
|
849
374
|
$4,
|
|
850
|
-
$5,
|
|
851
|
-
$6,
|
|
852
|
-
$7,
|
|
853
|
-
$8
|
|
375
|
+
COALESCE($5::text, 'pending'),
|
|
376
|
+
$6::uuid,
|
|
377
|
+
$7::uuid,
|
|
378
|
+
$8::uuid,
|
|
379
|
+
$9::uuid,
|
|
380
|
+
$10::uuid,
|
|
381
|
+
COALESCE($11::jsonb, '{}'::jsonb)
|
|
854
382
|
)
|
|
855
|
-
RETURNING id, organization_id, workflow_run_id, step_key,
|
|
856
|
-
async function
|
|
383
|
+
RETURNING id, organization_id, workflow_run_id, step_key, kind, status, agent_id, agent_run_id, workflow_id, child_workflow_run_id, tool_id, input, output, error_code, error_message, started_at, completed_at, created_at, updated_at`;
|
|
384
|
+
async function createWorkflowRunStep(client, args) {
|
|
857
385
|
const result = await client.query({
|
|
858
|
-
text: exports.
|
|
859
|
-
values: [args.
|
|
386
|
+
text: exports.createWorkflowRunStepQuery,
|
|
387
|
+
values: [args.organizationId, args.workflowRunId, args.stepKey, args.kind, args.status, args.agentId, args.agentRunId, args.workflowId, args.childWorkflowRunId, args.toolId, args.input],
|
|
860
388
|
rowMode: "array"
|
|
861
389
|
});
|
|
862
390
|
if (result.rows.length !== 1) {
|
|
@@ -868,28 +396,32 @@ async function createWorkflowStepRun(client, args) {
|
|
|
868
396
|
organizationId: row[1],
|
|
869
397
|
workflowRunId: row[2],
|
|
870
398
|
stepKey: row[3],
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
399
|
+
kind: row[4],
|
|
400
|
+
status: row[5],
|
|
401
|
+
agentId: row[6],
|
|
874
402
|
agentRunId: row[7],
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
403
|
+
workflowId: row[8],
|
|
404
|
+
childWorkflowRunId: row[9],
|
|
405
|
+
toolId: row[10],
|
|
406
|
+
input: row[11],
|
|
407
|
+
output: row[12],
|
|
408
|
+
errorCode: row[13],
|
|
409
|
+
errorMessage: row[14],
|
|
410
|
+
startedAt: row[15],
|
|
411
|
+
completedAt: row[16],
|
|
412
|
+
createdAt: row[17],
|
|
413
|
+
updatedAt: row[18]
|
|
883
414
|
};
|
|
884
415
|
}
|
|
885
|
-
exports.
|
|
886
|
-
SELECT id, organization_id, workflow_run_id, step_key,
|
|
416
|
+
exports.listWorkflowRunStepsQuery = `-- name: ListWorkflowRunSteps :many
|
|
417
|
+
SELECT id, organization_id, workflow_run_id, step_key, kind, status, agent_id, agent_run_id, workflow_id, child_workflow_run_id, tool_id, input, output, error_code, error_message, started_at, completed_at, created_at, updated_at
|
|
418
|
+
FROM weave.workflow_run_step
|
|
887
419
|
WHERE organization_id = $1
|
|
888
420
|
AND workflow_run_id = $2
|
|
889
|
-
ORDER BY created_at,
|
|
890
|
-
async function
|
|
421
|
+
ORDER BY created_at ASC, id ASC`;
|
|
422
|
+
async function listWorkflowRunSteps(client, args) {
|
|
891
423
|
const result = await client.query({
|
|
892
|
-
text: exports.
|
|
424
|
+
text: exports.listWorkflowRunStepsQuery,
|
|
893
425
|
values: [args.organizationId, args.workflowRunId],
|
|
894
426
|
rowMode: "array"
|
|
895
427
|
});
|
|
@@ -899,39 +431,42 @@ async function listWorkflowStepRuns(client, args) {
|
|
|
899
431
|
organizationId: row[1],
|
|
900
432
|
workflowRunId: row[2],
|
|
901
433
|
stepKey: row[3],
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
434
|
+
kind: row[4],
|
|
435
|
+
status: row[5],
|
|
436
|
+
agentId: row[6],
|
|
905
437
|
agentRunId: row[7],
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
438
|
+
workflowId: row[8],
|
|
439
|
+
childWorkflowRunId: row[9],
|
|
440
|
+
toolId: row[10],
|
|
441
|
+
input: row[11],
|
|
442
|
+
output: row[12],
|
|
443
|
+
errorCode: row[13],
|
|
444
|
+
errorMessage: row[14],
|
|
445
|
+
startedAt: row[15],
|
|
446
|
+
completedAt: row[16],
|
|
447
|
+
createdAt: row[17],
|
|
448
|
+
updatedAt: row[18]
|
|
914
449
|
};
|
|
915
450
|
});
|
|
916
451
|
}
|
|
917
|
-
exports.
|
|
918
|
-
UPDATE weave.
|
|
919
|
-
SET
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
finished_at = $8::timestamptz
|
|
452
|
+
exports.updateWorkflowRunStepStatusQuery = `-- name: UpdateWorkflowRunStepStatus :one
|
|
453
|
+
UPDATE weave.workflow_run_step
|
|
454
|
+
SET status = $1,
|
|
455
|
+
agent_run_id = COALESCE($2::uuid, agent_run_id),
|
|
456
|
+
child_workflow_run_id = COALESCE($3::uuid, child_workflow_run_id),
|
|
457
|
+
output = $4::jsonb,
|
|
458
|
+
error_code = COALESCE($5::text, ''),
|
|
459
|
+
error_message = COALESCE($6::text, ''),
|
|
460
|
+
started_at = COALESCE($7::timestamptz, started_at),
|
|
461
|
+
completed_at = $8::timestamptz
|
|
928
462
|
WHERE organization_id = $9
|
|
929
|
-
AND
|
|
930
|
-
|
|
931
|
-
|
|
463
|
+
AND workflow_run_id = $10
|
|
464
|
+
AND id = $11
|
|
465
|
+
RETURNING id, organization_id, workflow_run_id, step_key, kind, status, agent_id, agent_run_id, workflow_id, child_workflow_run_id, tool_id, input, output, error_code, error_message, started_at, completed_at, created_at, updated_at`;
|
|
466
|
+
async function updateWorkflowRunStepStatus(client, args) {
|
|
932
467
|
const result = await client.query({
|
|
933
|
-
text: exports.
|
|
934
|
-
values: [args.status, args.agentRunId, args.childWorkflowRunId, args.output, args.errorCode, args.
|
|
468
|
+
text: exports.updateWorkflowRunStepStatusQuery,
|
|
469
|
+
values: [args.status, args.agentRunId, args.childWorkflowRunId, args.output, args.errorCode, args.errorMessage, args.startedAt, args.completedAt, args.organizationId, args.workflowRunId, args.workflowRunStepId],
|
|
935
470
|
rowMode: "array"
|
|
936
471
|
});
|
|
937
472
|
if (result.rows.length !== 1) {
|
|
@@ -943,183 +478,20 @@ async function updateWorkflowStepRunStatus(client, args) {
|
|
|
943
478
|
organizationId: row[1],
|
|
944
479
|
workflowRunId: row[2],
|
|
945
480
|
stepKey: row[3],
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
481
|
+
kind: row[4],
|
|
482
|
+
status: row[5],
|
|
483
|
+
agentId: row[6],
|
|
949
484
|
agentRunId: row[7],
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
INSERT INTO weave.workflow_run_events (
|
|
962
|
-
id,
|
|
963
|
-
organization_id,
|
|
964
|
-
workflow_run_id,
|
|
965
|
-
workflow_step_run_id,
|
|
966
|
-
agent_run_id,
|
|
967
|
-
sequence,
|
|
968
|
-
kind,
|
|
969
|
-
message,
|
|
970
|
-
payload
|
|
971
|
-
) VALUES (
|
|
972
|
-
$1,
|
|
973
|
-
$2,
|
|
974
|
-
$3,
|
|
975
|
-
$4::uuid,
|
|
976
|
-
$5::uuid,
|
|
977
|
-
$6,
|
|
978
|
-
$7,
|
|
979
|
-
$8,
|
|
980
|
-
$9
|
|
981
|
-
)
|
|
982
|
-
RETURNING id, organization_id, workflow_run_id, workflow_step_run_id, agent_run_id, sequence, kind, message, payload, created_at`;
|
|
983
|
-
async function insertWorkflowRunEvent(client, args) {
|
|
984
|
-
const result = await client.query({
|
|
985
|
-
text: exports.insertWorkflowRunEventQuery,
|
|
986
|
-
values: [args.id, args.organizationId, args.workflowRunId, args.workflowStepRunId, args.agentRunId, args.sequence, args.kind, args.message, args.payload],
|
|
987
|
-
rowMode: "array"
|
|
988
|
-
});
|
|
989
|
-
if (result.rows.length !== 1) {
|
|
990
|
-
return null;
|
|
991
|
-
}
|
|
992
|
-
const row = result.rows[0];
|
|
993
|
-
return {
|
|
994
|
-
id: row[0],
|
|
995
|
-
organizationId: row[1],
|
|
996
|
-
workflowRunId: row[2],
|
|
997
|
-
workflowStepRunId: row[3],
|
|
998
|
-
agentRunId: row[4],
|
|
999
|
-
sequence: row[5],
|
|
1000
|
-
kind: row[6],
|
|
1001
|
-
message: row[7],
|
|
1002
|
-
payload: row[8],
|
|
1003
|
-
createdAt: row[9]
|
|
1004
|
-
};
|
|
1005
|
-
}
|
|
1006
|
-
exports.listWorkflowRunEventsQuery = `-- name: ListWorkflowRunEvents :many
|
|
1007
|
-
SELECT id, organization_id, workflow_run_id, workflow_step_run_id, agent_run_id, sequence, kind, message, payload, created_at FROM weave.workflow_run_events
|
|
1008
|
-
WHERE organization_id = $1
|
|
1009
|
-
AND workflow_run_id = $2
|
|
1010
|
-
AND sequence > $3
|
|
1011
|
-
ORDER BY sequence
|
|
1012
|
-
LIMIT $4`;
|
|
1013
|
-
async function listWorkflowRunEvents(client, args) {
|
|
1014
|
-
const result = await client.query({
|
|
1015
|
-
text: exports.listWorkflowRunEventsQuery,
|
|
1016
|
-
values: [args.organizationId, args.workflowRunId, args.afterSequence, args.pageSize],
|
|
1017
|
-
rowMode: "array"
|
|
1018
|
-
});
|
|
1019
|
-
return result.rows.map(row => {
|
|
1020
|
-
return {
|
|
1021
|
-
id: row[0],
|
|
1022
|
-
organizationId: row[1],
|
|
1023
|
-
workflowRunId: row[2],
|
|
1024
|
-
workflowStepRunId: row[3],
|
|
1025
|
-
agentRunId: row[4],
|
|
1026
|
-
sequence: row[5],
|
|
1027
|
-
kind: row[6],
|
|
1028
|
-
message: row[7],
|
|
1029
|
-
payload: row[8],
|
|
1030
|
-
createdAt: row[9]
|
|
1031
|
-
};
|
|
1032
|
-
});
|
|
1033
|
-
}
|
|
1034
|
-
exports.insertToolCallEventQuery = `-- name: InsertToolCallEvent :one
|
|
1035
|
-
INSERT INTO weave.tool_call_events (
|
|
1036
|
-
id,
|
|
1037
|
-
organization_id,
|
|
1038
|
-
workflow_run_id,
|
|
1039
|
-
workflow_step_run_id,
|
|
1040
|
-
agent_run_id,
|
|
1041
|
-
tool_call_id,
|
|
1042
|
-
tool_name,
|
|
1043
|
-
state,
|
|
1044
|
-
arguments,
|
|
1045
|
-
result,
|
|
1046
|
-
error_code,
|
|
1047
|
-
safe_error_message
|
|
1048
|
-
) VALUES (
|
|
1049
|
-
$1,
|
|
1050
|
-
$2,
|
|
1051
|
-
$3::uuid,
|
|
1052
|
-
$4::uuid,
|
|
1053
|
-
$5::uuid,
|
|
1054
|
-
$6,
|
|
1055
|
-
$7,
|
|
1056
|
-
$8,
|
|
1057
|
-
$9,
|
|
1058
|
-
$10,
|
|
1059
|
-
$11,
|
|
1060
|
-
$12
|
|
1061
|
-
)
|
|
1062
|
-
RETURNING id, organization_id, workflow_run_id, workflow_step_run_id, agent_run_id, tool_call_id, tool_name, state, arguments, result, error_code, safe_error_message, created_at`;
|
|
1063
|
-
async function insertToolCallEvent(client, args) {
|
|
1064
|
-
const result = await client.query({
|
|
1065
|
-
text: exports.insertToolCallEventQuery,
|
|
1066
|
-
values: [args.id, args.organizationId, args.workflowRunId, args.workflowStepRunId, args.agentRunId, args.toolCallId, args.toolName, args.state, args.arguments, args.result, args.errorCode, args.safeErrorMessage],
|
|
1067
|
-
rowMode: "array"
|
|
1068
|
-
});
|
|
1069
|
-
if (result.rows.length !== 1) {
|
|
1070
|
-
return null;
|
|
1071
|
-
}
|
|
1072
|
-
const row = result.rows[0];
|
|
1073
|
-
return {
|
|
1074
|
-
id: row[0],
|
|
1075
|
-
organizationId: row[1],
|
|
1076
|
-
workflowRunId: row[2],
|
|
1077
|
-
workflowStepRunId: row[3],
|
|
1078
|
-
agentRunId: row[4],
|
|
1079
|
-
toolCallId: row[5],
|
|
1080
|
-
toolName: row[6],
|
|
1081
|
-
state: row[7],
|
|
1082
|
-
arguments: row[8],
|
|
1083
|
-
result: row[9],
|
|
1084
|
-
errorCode: row[10],
|
|
1085
|
-
safeErrorMessage: row[11],
|
|
1086
|
-
createdAt: row[12]
|
|
485
|
+
workflowId: row[8],
|
|
486
|
+
childWorkflowRunId: row[9],
|
|
487
|
+
toolId: row[10],
|
|
488
|
+
input: row[11],
|
|
489
|
+
output: row[12],
|
|
490
|
+
errorCode: row[13],
|
|
491
|
+
errorMessage: row[14],
|
|
492
|
+
startedAt: row[15],
|
|
493
|
+
completedAt: row[16],
|
|
494
|
+
createdAt: row[17],
|
|
495
|
+
updatedAt: row[18]
|
|
1087
496
|
};
|
|
1088
497
|
}
|
|
1089
|
-
exports.listToolCallEventsQuery = `-- name: ListToolCallEvents :many
|
|
1090
|
-
SELECT id, organization_id, workflow_run_id, workflow_step_run_id, agent_run_id, tool_call_id, tool_name, state, arguments, result, error_code, safe_error_message, created_at FROM weave.tool_call_events
|
|
1091
|
-
WHERE organization_id = $1
|
|
1092
|
-
AND (
|
|
1093
|
-
$2::uuid IS NULL
|
|
1094
|
-
OR workflow_run_id = $2::uuid
|
|
1095
|
-
)
|
|
1096
|
-
AND (
|
|
1097
|
-
$3::uuid IS NULL
|
|
1098
|
-
OR agent_run_id = $3::uuid
|
|
1099
|
-
)
|
|
1100
|
-
ORDER BY created_at
|
|
1101
|
-
LIMIT $5 OFFSET $4`;
|
|
1102
|
-
async function listToolCallEvents(client, args) {
|
|
1103
|
-
const result = await client.query({
|
|
1104
|
-
text: exports.listToolCallEventsQuery,
|
|
1105
|
-
values: [args.organizationId, args.workflowRunId, args.agentRunId, args.pageOffset, args.pageSize],
|
|
1106
|
-
rowMode: "array"
|
|
1107
|
-
});
|
|
1108
|
-
return result.rows.map(row => {
|
|
1109
|
-
return {
|
|
1110
|
-
id: row[0],
|
|
1111
|
-
organizationId: row[1],
|
|
1112
|
-
workflowRunId: row[2],
|
|
1113
|
-
workflowStepRunId: row[3],
|
|
1114
|
-
agentRunId: row[4],
|
|
1115
|
-
toolCallId: row[5],
|
|
1116
|
-
toolName: row[6],
|
|
1117
|
-
state: row[7],
|
|
1118
|
-
arguments: row[8],
|
|
1119
|
-
result: row[9],
|
|
1120
|
-
errorCode: row[10],
|
|
1121
|
-
safeErrorMessage: row[11],
|
|
1122
|
-
createdAt: row[12]
|
|
1123
|
-
};
|
|
1124
|
-
});
|
|
1125
|
-
}
|