@o-zakstam/voltagent-convex 1.1.2 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/{index.d.cts → defineVoltAgentAPI.d.ts} +59 -92
- package/dist/client/defineVoltAgentAPI.d.ts.map +1 -0
- package/dist/client/defineVoltAgentAPI.js +318 -0
- package/dist/client/defineVoltAgentAPI.js.map +1 -0
- package/dist/client/index.d.ts +6 -221
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +8 -285
- package/dist/client/index.js.map +1 -1
- package/dist/client/types.d.ts +13 -0
- package/dist/client/types.d.ts.map +1 -0
- package/dist/client/types.js +8 -0
- package/dist/client/types.js.map +1 -0
- package/dist/component/_generated/api.d.ts +44 -0
- package/dist/component/_generated/api.d.ts.map +1 -0
- package/dist/component/_generated/api.js +31 -0
- package/dist/component/_generated/api.js.map +1 -0
- package/dist/component/_generated/component.d.ts +352 -0
- package/dist/component/_generated/component.d.ts.map +1 -0
- package/dist/component/_generated/component.js +11 -0
- package/dist/component/_generated/component.js.map +1 -0
- package/dist/component/_generated/dataModel.d.ts +46 -0
- package/dist/component/_generated/dataModel.d.ts.map +1 -0
- package/dist/component/_generated/dataModel.js +11 -0
- package/dist/component/_generated/dataModel.js.map +1 -0
- package/dist/component/_generated/server.d.ts +121 -0
- package/dist/component/_generated/server.d.ts.map +1 -0
- package/dist/component/_generated/server.js +78 -0
- package/dist/component/_generated/server.js.map +1 -0
- package/dist/component/conversations.d.ts +108 -0
- package/dist/component/conversations.d.ts.map +1 -0
- package/dist/component/conversations.js +278 -0
- package/dist/component/conversations.js.map +1 -0
- package/dist/component/convex.config.d.ts +13 -0
- package/dist/component/convex.config.d.ts.map +1 -0
- package/dist/component/convex.config.js +21 -0
- package/dist/component/convex.config.js.map +1 -0
- package/dist/component/messages.d.ts +235 -0
- package/dist/component/messages.d.ts.map +1 -0
- package/dist/component/messages.js +186 -0
- package/dist/component/messages.js.map +1 -0
- package/dist/component/schema.d.ts +535 -0
- package/dist/component/schema.d.ts.map +1 -0
- package/dist/component/schema.js +113 -0
- package/dist/component/schema.js.map +1 -0
- package/dist/component/steps.d.ts +65 -0
- package/dist/component/steps.d.ts.map +1 -0
- package/dist/component/steps.js +120 -0
- package/dist/component/steps.js.map +1 -0
- package/dist/component/validators.d.ts +633 -0
- package/dist/component/validators.d.ts.map +1 -0
- package/dist/component/validators.js +124 -0
- package/dist/component/validators.js.map +1 -0
- package/dist/component/workflows.d.ts +234 -0
- package/dist/component/workflows.d.ts.map +1 -0
- package/dist/component/workflows.js +229 -0
- package/dist/component/workflows.js.map +1 -0
- package/dist/component/workingMemory.d.ts +30 -0
- package/dist/component/workingMemory.d.ts.map +1 -0
- package/dist/component/workingMemory.js +131 -0
- package/dist/component/workingMemory.js.map +1 -0
- package/dist/index.d.ts +7 -318
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -434
- package/dist/index.js.map +1 -1
- package/dist/memory-adapter.d.ts +153 -0
- package/dist/memory-adapter.d.ts.map +1 -0
- package/dist/memory-adapter.js +462 -0
- package/dist/memory-adapter.js.map +1 -0
- package/dist/types.d.ts +167 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/package.json +25 -26
- package/src/client/defineVoltAgentAPI.ts +365 -0
- package/src/client/index.ts +8 -0
- package/src/client/types.ts +14 -0
- package/src/component/_generated/api.ts +60 -0
- package/src/component/_generated/component.ts +466 -0
- package/src/component/_generated/dataModel.ts +60 -0
- package/src/component/_generated/server.ts +156 -0
- package/src/index.ts +24 -0
- package/{dist/index.cjs → src/memory-adapter.ts} +345 -106
- package/src/types.ts +178 -0
- package/dist/client/index.cjs +0 -288
- package/dist/client/index.cjs.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -322
- /package/{convex → src/component}/conversations.ts +0 -0
- /package/{convex → src/component}/convex.config.ts +0 -0
- /package/{convex → src/component}/messages.ts +0 -0
- /package/{convex → src/component}/schema.ts +0 -0
- /package/{convex → src/component}/steps.ts +0 -0
- /package/{convex → src/component}/validators.ts +0 -0
- /package/{convex → src/component}/workflows.ts +0 -0
- /package/{convex → src/component}/workingMemory.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/component/validators.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,gBAAgB,qUAG5B,CAAC;AAMF,eAAO,MAAM,SAAS;;;;;;;;;;qIAKpB,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;mJAMrB,CAAC;AAEH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;+JAOpB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;mNASxB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;yNAS1B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;mJAMzB,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;qIAKjC,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;+LAUtB,CAAC;AAGH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wjBASxB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qkBAAwB,CAAC;AAInD,eAAO,MAAM,SAAS,sLAAgC,CAAC;AAIvD,eAAO,MAAM,MAAM;;;;;;;;;;;;6GAMjB,CAAC;AAIH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;8PAYtB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;wCAGxB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;wNAYzB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qOAA0B,CAAC;AAGvD,eAAO,MAAM,gBAAgB,+JAE5B,CAAC"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Convex validators for type-safe data validation
|
|
3
|
+
*
|
|
4
|
+
* These validators replace v.any() usages with properly typed validators
|
|
5
|
+
* for better type safety throughout the VoltAgent storage adapter.
|
|
6
|
+
*/
|
|
7
|
+
import { v } from "convex/values";
|
|
8
|
+
// === Provider Options/Metadata ===
|
|
9
|
+
// These are optional nested records that providers can attach to parts
|
|
10
|
+
export const vProviderOptions = v.record(v.string(), v.record(v.string(), v.any()));
|
|
11
|
+
const providerOptions = v.optional(vProviderOptions);
|
|
12
|
+
const providerMetadata = v.optional(vProviderOptions);
|
|
13
|
+
// === Message Parts ===
|
|
14
|
+
export const vTextPart = v.object({
|
|
15
|
+
type: v.literal("text"),
|
|
16
|
+
text: v.string(),
|
|
17
|
+
providerOptions,
|
|
18
|
+
providerMetadata,
|
|
19
|
+
});
|
|
20
|
+
export const vImagePart = v.object({
|
|
21
|
+
type: v.literal("image"),
|
|
22
|
+
image: v.string(), // base64 or URL
|
|
23
|
+
mimeType: v.optional(v.string()),
|
|
24
|
+
providerOptions,
|
|
25
|
+
providerMetadata,
|
|
26
|
+
});
|
|
27
|
+
export const vFilePart = v.object({
|
|
28
|
+
type: v.literal("file"),
|
|
29
|
+
data: v.string(),
|
|
30
|
+
filename: v.optional(v.string()),
|
|
31
|
+
mimeType: v.string(),
|
|
32
|
+
providerOptions,
|
|
33
|
+
providerMetadata,
|
|
34
|
+
});
|
|
35
|
+
export const vToolCallPart = v.object({
|
|
36
|
+
type: v.literal("tool-call"),
|
|
37
|
+
toolCallId: v.string(),
|
|
38
|
+
toolName: v.string(),
|
|
39
|
+
args: v.record(v.string(), v.any()), // Tool args remain flexible but typed as record
|
|
40
|
+
state: v.optional(v.union(v.literal("partial-call"), v.literal("call"))),
|
|
41
|
+
providerExecuted: v.optional(v.boolean()),
|
|
42
|
+
providerOptions,
|
|
43
|
+
providerMetadata,
|
|
44
|
+
});
|
|
45
|
+
export const vToolResultPart = v.object({
|
|
46
|
+
type: v.literal("tool-result"),
|
|
47
|
+
toolCallId: v.string(),
|
|
48
|
+
toolName: v.string(),
|
|
49
|
+
result: v.optional(v.any()), // Result can be any JSON-serializable value
|
|
50
|
+
isError: v.optional(v.boolean()),
|
|
51
|
+
providerExecuted: v.optional(v.boolean()),
|
|
52
|
+
providerOptions,
|
|
53
|
+
providerMetadata,
|
|
54
|
+
});
|
|
55
|
+
export const vReasoningPart = v.object({
|
|
56
|
+
type: v.literal("reasoning"),
|
|
57
|
+
text: v.string(),
|
|
58
|
+
signature: v.optional(v.string()),
|
|
59
|
+
providerOptions,
|
|
60
|
+
providerMetadata,
|
|
61
|
+
});
|
|
62
|
+
export const vRedactedReasoningPart = v.object({
|
|
63
|
+
type: v.literal("redacted-reasoning"),
|
|
64
|
+
data: v.string(),
|
|
65
|
+
providerOptions,
|
|
66
|
+
providerMetadata,
|
|
67
|
+
});
|
|
68
|
+
export const vSourcePart = v.object({
|
|
69
|
+
type: v.literal("source"),
|
|
70
|
+
sourceType: v.union(v.literal("url"), v.literal("document")),
|
|
71
|
+
id: v.string(),
|
|
72
|
+
url: v.optional(v.string()),
|
|
73
|
+
title: v.optional(v.string()),
|
|
74
|
+
mediaType: v.optional(v.string()),
|
|
75
|
+
filename: v.optional(v.string()),
|
|
76
|
+
providerOptions,
|
|
77
|
+
providerMetadata,
|
|
78
|
+
});
|
|
79
|
+
// Union of all message part types
|
|
80
|
+
export const vMessagePart = v.union(vTextPart, vImagePart, vFilePart, vToolCallPart, vToolResultPart, vReasoningPart, vRedactedReasoningPart, vSourcePart);
|
|
81
|
+
export const vMessageParts = v.array(vMessagePart);
|
|
82
|
+
// === Metadata ===
|
|
83
|
+
export const vMetadata = v.record(v.string(), v.any());
|
|
84
|
+
// === Usage Statistics ===
|
|
85
|
+
export const vUsage = v.object({
|
|
86
|
+
promptTokens: v.optional(v.number()),
|
|
87
|
+
completionTokens: v.optional(v.number()),
|
|
88
|
+
totalTokens: v.optional(v.number()),
|
|
89
|
+
reasoningTokens: v.optional(v.number()),
|
|
90
|
+
cachedInputTokens: v.optional(v.number()),
|
|
91
|
+
});
|
|
92
|
+
// === Workflow Types ===
|
|
93
|
+
export const vSuspension = v.object({
|
|
94
|
+
suspendedAt: v.string(),
|
|
95
|
+
reason: v.optional(v.string()),
|
|
96
|
+
suspendedStepIndex: v.optional(v.number()),
|
|
97
|
+
lastEventSequence: v.optional(v.number()),
|
|
98
|
+
suspendData: v.optional(v.any()),
|
|
99
|
+
checkpoint: v.optional(v.object({
|
|
100
|
+
stepExecutionState: v.optional(v.any()),
|
|
101
|
+
completedStepsData: v.optional(v.array(v.any())),
|
|
102
|
+
})),
|
|
103
|
+
});
|
|
104
|
+
export const vCancellation = v.object({
|
|
105
|
+
cancelledAt: v.string(),
|
|
106
|
+
reason: v.optional(v.string()),
|
|
107
|
+
});
|
|
108
|
+
export const vWorkflowEvent = v.object({
|
|
109
|
+
id: v.string(),
|
|
110
|
+
type: v.string(),
|
|
111
|
+
name: v.optional(v.string()),
|
|
112
|
+
from: v.optional(v.string()),
|
|
113
|
+
startTime: v.string(),
|
|
114
|
+
endTime: v.optional(v.string()),
|
|
115
|
+
status: v.optional(v.string()),
|
|
116
|
+
input: v.optional(v.any()),
|
|
117
|
+
output: v.optional(v.any()),
|
|
118
|
+
metadata: v.optional(vMetadata),
|
|
119
|
+
context: v.optional(vMetadata),
|
|
120
|
+
});
|
|
121
|
+
export const vWorkflowEvents = v.array(vWorkflowEvent);
|
|
122
|
+
// Context is stored as array of key-value pairs (from Map serialization)
|
|
123
|
+
export const vWorkflowContext = v.array(v.array(v.any()));
|
|
124
|
+
//# sourceMappingURL=validators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/component/validators.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get workflow state by execution ID
|
|
3
|
+
*/
|
|
4
|
+
export declare const get: import("convex/server").RegisteredQuery<"public", {
|
|
5
|
+
executionId: string;
|
|
6
|
+
}, Promise<{
|
|
7
|
+
id: string;
|
|
8
|
+
workflowId: string;
|
|
9
|
+
workflowName: string;
|
|
10
|
+
status: string;
|
|
11
|
+
input: any;
|
|
12
|
+
context: any[][] | undefined;
|
|
13
|
+
suspension: {
|
|
14
|
+
reason?: string | undefined;
|
|
15
|
+
suspendedStepIndex?: number | undefined;
|
|
16
|
+
lastEventSequence?: number | undefined;
|
|
17
|
+
suspendData?: any;
|
|
18
|
+
checkpoint?: {
|
|
19
|
+
stepExecutionState?: any;
|
|
20
|
+
completedStepsData?: any[] | undefined;
|
|
21
|
+
} | undefined;
|
|
22
|
+
suspendedAt: string;
|
|
23
|
+
} | undefined;
|
|
24
|
+
events: {
|
|
25
|
+
input?: any;
|
|
26
|
+
output?: any;
|
|
27
|
+
status?: string | undefined;
|
|
28
|
+
metadata?: Record<string, any> | undefined;
|
|
29
|
+
context?: Record<string, any> | undefined;
|
|
30
|
+
from?: string | undefined;
|
|
31
|
+
name?: string | undefined;
|
|
32
|
+
endTime?: string | undefined;
|
|
33
|
+
id: string;
|
|
34
|
+
type: string;
|
|
35
|
+
startTime: string;
|
|
36
|
+
}[] | undefined;
|
|
37
|
+
output: any;
|
|
38
|
+
cancellation: {
|
|
39
|
+
reason?: string | undefined;
|
|
40
|
+
cancelledAt: string;
|
|
41
|
+
} | undefined;
|
|
42
|
+
userId: string | undefined;
|
|
43
|
+
conversationId: string | undefined;
|
|
44
|
+
metadata: Record<string, any> | undefined;
|
|
45
|
+
createdAt: string;
|
|
46
|
+
updatedAt: string;
|
|
47
|
+
} | null>>;
|
|
48
|
+
/**
|
|
49
|
+
* Query workflow runs with filters
|
|
50
|
+
*/
|
|
51
|
+
export declare const queryRuns: import("convex/server").RegisteredQuery<"public", {
|
|
52
|
+
status?: string | undefined;
|
|
53
|
+
limit?: number | undefined;
|
|
54
|
+
offset?: number | undefined;
|
|
55
|
+
workflowId?: string | undefined;
|
|
56
|
+
from?: string | undefined;
|
|
57
|
+
to?: string | undefined;
|
|
58
|
+
}, Promise<{
|
|
59
|
+
id: string;
|
|
60
|
+
workflowId: string;
|
|
61
|
+
workflowName: string;
|
|
62
|
+
status: string;
|
|
63
|
+
input: any;
|
|
64
|
+
context: any[][] | undefined;
|
|
65
|
+
suspension: {
|
|
66
|
+
reason?: string | undefined;
|
|
67
|
+
suspendedStepIndex?: number | undefined;
|
|
68
|
+
lastEventSequence?: number | undefined;
|
|
69
|
+
suspendData?: any;
|
|
70
|
+
checkpoint?: {
|
|
71
|
+
stepExecutionState?: any;
|
|
72
|
+
completedStepsData?: any[] | undefined;
|
|
73
|
+
} | undefined;
|
|
74
|
+
suspendedAt: string;
|
|
75
|
+
} | undefined;
|
|
76
|
+
events: {
|
|
77
|
+
input?: any;
|
|
78
|
+
output?: any;
|
|
79
|
+
status?: string | undefined;
|
|
80
|
+
metadata?: Record<string, any> | undefined;
|
|
81
|
+
context?: Record<string, any> | undefined;
|
|
82
|
+
from?: string | undefined;
|
|
83
|
+
name?: string | undefined;
|
|
84
|
+
endTime?: string | undefined;
|
|
85
|
+
id: string;
|
|
86
|
+
type: string;
|
|
87
|
+
startTime: string;
|
|
88
|
+
}[] | undefined;
|
|
89
|
+
output: any;
|
|
90
|
+
cancellation: {
|
|
91
|
+
reason?: string | undefined;
|
|
92
|
+
cancelledAt: string;
|
|
93
|
+
} | undefined;
|
|
94
|
+
userId: string | undefined;
|
|
95
|
+
conversationId: string | undefined;
|
|
96
|
+
metadata: Record<string, any> | undefined;
|
|
97
|
+
createdAt: string;
|
|
98
|
+
updatedAt: string;
|
|
99
|
+
}[]>>;
|
|
100
|
+
/**
|
|
101
|
+
* Set workflow state (create or replace)
|
|
102
|
+
*/
|
|
103
|
+
export declare const set: import("convex/server").RegisteredMutation<"public", {
|
|
104
|
+
input?: any;
|
|
105
|
+
output?: any;
|
|
106
|
+
userId?: string | undefined;
|
|
107
|
+
metadata?: Record<string, any> | undefined;
|
|
108
|
+
conversationId?: string | undefined;
|
|
109
|
+
context?: any[][] | undefined;
|
|
110
|
+
suspension?: {
|
|
111
|
+
reason?: string | undefined;
|
|
112
|
+
suspendedStepIndex?: number | undefined;
|
|
113
|
+
lastEventSequence?: number | undefined;
|
|
114
|
+
suspendData?: any;
|
|
115
|
+
checkpoint?: {
|
|
116
|
+
stepExecutionState?: any;
|
|
117
|
+
completedStepsData?: any[] | undefined;
|
|
118
|
+
} | undefined;
|
|
119
|
+
suspendedAt: string;
|
|
120
|
+
} | undefined;
|
|
121
|
+
events?: {
|
|
122
|
+
input?: any;
|
|
123
|
+
output?: any;
|
|
124
|
+
status?: string | undefined;
|
|
125
|
+
metadata?: Record<string, any> | undefined;
|
|
126
|
+
context?: Record<string, any> | undefined;
|
|
127
|
+
from?: string | undefined;
|
|
128
|
+
name?: string | undefined;
|
|
129
|
+
endTime?: string | undefined;
|
|
130
|
+
id: string;
|
|
131
|
+
type: string;
|
|
132
|
+
startTime: string;
|
|
133
|
+
}[] | undefined;
|
|
134
|
+
cancellation?: {
|
|
135
|
+
reason?: string | undefined;
|
|
136
|
+
cancelledAt: string;
|
|
137
|
+
} | undefined;
|
|
138
|
+
status: string;
|
|
139
|
+
createdAt: string;
|
|
140
|
+
updatedAt: string;
|
|
141
|
+
workflowId: string;
|
|
142
|
+
workflowName: string;
|
|
143
|
+
executionId: string;
|
|
144
|
+
}, Promise<{
|
|
145
|
+
success: boolean;
|
|
146
|
+
}>>;
|
|
147
|
+
/**
|
|
148
|
+
* Update workflow state
|
|
149
|
+
*/
|
|
150
|
+
export declare const update: import("convex/server").RegisteredMutation<"public", {
|
|
151
|
+
output?: any;
|
|
152
|
+
status?: string | undefined;
|
|
153
|
+
metadata?: Record<string, any> | undefined;
|
|
154
|
+
suspension?: {
|
|
155
|
+
reason?: string | undefined;
|
|
156
|
+
suspendedStepIndex?: number | undefined;
|
|
157
|
+
lastEventSequence?: number | undefined;
|
|
158
|
+
suspendData?: any;
|
|
159
|
+
checkpoint?: {
|
|
160
|
+
stepExecutionState?: any;
|
|
161
|
+
completedStepsData?: any[] | undefined;
|
|
162
|
+
} | undefined;
|
|
163
|
+
suspendedAt: string;
|
|
164
|
+
} | undefined;
|
|
165
|
+
events?: {
|
|
166
|
+
input?: any;
|
|
167
|
+
output?: any;
|
|
168
|
+
status?: string | undefined;
|
|
169
|
+
metadata?: Record<string, any> | undefined;
|
|
170
|
+
context?: Record<string, any> | undefined;
|
|
171
|
+
from?: string | undefined;
|
|
172
|
+
name?: string | undefined;
|
|
173
|
+
endTime?: string | undefined;
|
|
174
|
+
id: string;
|
|
175
|
+
type: string;
|
|
176
|
+
startTime: string;
|
|
177
|
+
}[] | undefined;
|
|
178
|
+
cancellation?: {
|
|
179
|
+
reason?: string | undefined;
|
|
180
|
+
cancelledAt: string;
|
|
181
|
+
} | undefined;
|
|
182
|
+
executionId: string;
|
|
183
|
+
}, Promise<{
|
|
184
|
+
success: boolean;
|
|
185
|
+
}>>;
|
|
186
|
+
/**
|
|
187
|
+
* Get suspended workflow states for a workflow
|
|
188
|
+
* Returns full WorkflowStateEntry to match the interface contract
|
|
189
|
+
*/
|
|
190
|
+
export declare const getSuspended: import("convex/server").RegisteredQuery<"public", {
|
|
191
|
+
workflowId: string;
|
|
192
|
+
}, Promise<{
|
|
193
|
+
id: string;
|
|
194
|
+
workflowId: string;
|
|
195
|
+
workflowName: string;
|
|
196
|
+
status: string;
|
|
197
|
+
input: any;
|
|
198
|
+
context: any[][] | undefined;
|
|
199
|
+
suspension: {
|
|
200
|
+
reason?: string | undefined;
|
|
201
|
+
suspendedStepIndex?: number | undefined;
|
|
202
|
+
lastEventSequence?: number | undefined;
|
|
203
|
+
suspendData?: any;
|
|
204
|
+
checkpoint?: {
|
|
205
|
+
stepExecutionState?: any;
|
|
206
|
+
completedStepsData?: any[] | undefined;
|
|
207
|
+
} | undefined;
|
|
208
|
+
suspendedAt: string;
|
|
209
|
+
} | undefined;
|
|
210
|
+
events: {
|
|
211
|
+
input?: any;
|
|
212
|
+
output?: any;
|
|
213
|
+
status?: string | undefined;
|
|
214
|
+
metadata?: Record<string, any> | undefined;
|
|
215
|
+
context?: Record<string, any> | undefined;
|
|
216
|
+
from?: string | undefined;
|
|
217
|
+
name?: string | undefined;
|
|
218
|
+
endTime?: string | undefined;
|
|
219
|
+
id: string;
|
|
220
|
+
type: string;
|
|
221
|
+
startTime: string;
|
|
222
|
+
}[] | undefined;
|
|
223
|
+
output: any;
|
|
224
|
+
cancellation: {
|
|
225
|
+
reason?: string | undefined;
|
|
226
|
+
cancelledAt: string;
|
|
227
|
+
} | undefined;
|
|
228
|
+
userId: string | undefined;
|
|
229
|
+
conversationId: string | undefined;
|
|
230
|
+
metadata: Record<string, any> | undefined;
|
|
231
|
+
createdAt: string;
|
|
232
|
+
updatedAt: string;
|
|
233
|
+
}[]>>;
|
|
234
|
+
//# sourceMappingURL=workflows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/component/workflows.ts"],"names":[],"mappings":"AAaA;;GAEG;AACH,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA4Bd,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAqDpB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8Dd,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCjB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+BvB,CAAC"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow state functions for suspendable workflows
|
|
3
|
+
*/
|
|
4
|
+
import { mutation, query } from "./_generated/server";
|
|
5
|
+
import { v } from "convex/values";
|
|
6
|
+
import { vMetadata, vSuspension, vCancellation, vWorkflowEvents, vWorkflowContext, } from "./validators";
|
|
7
|
+
/**
|
|
8
|
+
* Get workflow state by execution ID
|
|
9
|
+
*/
|
|
10
|
+
export const get = query({
|
|
11
|
+
args: { executionId: v.string() },
|
|
12
|
+
handler: async (ctx, args) => {
|
|
13
|
+
const state = await ctx.db
|
|
14
|
+
.query("workflowStates")
|
|
15
|
+
.withIndex("by_visible_id", (q) => q.eq("visibleId", args.executionId))
|
|
16
|
+
.first();
|
|
17
|
+
if (!state)
|
|
18
|
+
return null;
|
|
19
|
+
return {
|
|
20
|
+
id: state.visibleId,
|
|
21
|
+
workflowId: state.workflowId,
|
|
22
|
+
workflowName: state.workflowName,
|
|
23
|
+
status: state.status,
|
|
24
|
+
input: state.input,
|
|
25
|
+
context: state.context,
|
|
26
|
+
suspension: state.suspension,
|
|
27
|
+
events: state.events,
|
|
28
|
+
output: state.output,
|
|
29
|
+
cancellation: state.cancellation,
|
|
30
|
+
userId: state.userId,
|
|
31
|
+
conversationId: state.conversationId,
|
|
32
|
+
metadata: state.metadata,
|
|
33
|
+
createdAt: state.createdAt,
|
|
34
|
+
updatedAt: state.updatedAt,
|
|
35
|
+
};
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
/**
|
|
39
|
+
* Query workflow runs with filters
|
|
40
|
+
*/
|
|
41
|
+
export const queryRuns = query({
|
|
42
|
+
args: {
|
|
43
|
+
workflowId: v.optional(v.string()),
|
|
44
|
+
status: v.optional(v.string()),
|
|
45
|
+
from: v.optional(v.string()),
|
|
46
|
+
to: v.optional(v.string()),
|
|
47
|
+
limit: v.optional(v.number()),
|
|
48
|
+
offset: v.optional(v.number()),
|
|
49
|
+
},
|
|
50
|
+
handler: async (ctx, args) => {
|
|
51
|
+
let states = await ctx.db.query("workflowStates").collect();
|
|
52
|
+
if (args.workflowId) {
|
|
53
|
+
states = states.filter((s) => s.workflowId === args.workflowId);
|
|
54
|
+
}
|
|
55
|
+
if (args.status) {
|
|
56
|
+
states = states.filter((s) => s.status === args.status);
|
|
57
|
+
}
|
|
58
|
+
if (args.from) {
|
|
59
|
+
states = states.filter((s) => s.createdAt >= args.from);
|
|
60
|
+
}
|
|
61
|
+
if (args.to) {
|
|
62
|
+
states = states.filter((s) => s.createdAt <= args.to);
|
|
63
|
+
}
|
|
64
|
+
states.sort((a, b) => b.createdAt.localeCompare(a.createdAt));
|
|
65
|
+
const offset = args.offset || 0;
|
|
66
|
+
const limit = args.limit;
|
|
67
|
+
if (limit !== undefined) {
|
|
68
|
+
states = states.slice(offset, offset + limit);
|
|
69
|
+
}
|
|
70
|
+
else if (offset > 0) {
|
|
71
|
+
states = states.slice(offset);
|
|
72
|
+
}
|
|
73
|
+
return states.map((s) => ({
|
|
74
|
+
id: s.visibleId,
|
|
75
|
+
workflowId: s.workflowId,
|
|
76
|
+
workflowName: s.workflowName,
|
|
77
|
+
status: s.status,
|
|
78
|
+
input: s.input,
|
|
79
|
+
context: s.context,
|
|
80
|
+
suspension: s.suspension,
|
|
81
|
+
events: s.events,
|
|
82
|
+
output: s.output,
|
|
83
|
+
cancellation: s.cancellation,
|
|
84
|
+
userId: s.userId,
|
|
85
|
+
conversationId: s.conversationId,
|
|
86
|
+
metadata: s.metadata,
|
|
87
|
+
createdAt: s.createdAt,
|
|
88
|
+
updatedAt: s.updatedAt,
|
|
89
|
+
}));
|
|
90
|
+
},
|
|
91
|
+
});
|
|
92
|
+
/**
|
|
93
|
+
* Set workflow state (create or replace)
|
|
94
|
+
*/
|
|
95
|
+
export const set = mutation({
|
|
96
|
+
args: {
|
|
97
|
+
executionId: v.string(),
|
|
98
|
+
workflowId: v.string(),
|
|
99
|
+
workflowName: v.string(),
|
|
100
|
+
status: v.string(),
|
|
101
|
+
input: v.optional(v.any()), // Keep as v.any() - workflow input can be any shape
|
|
102
|
+
context: v.optional(vWorkflowContext),
|
|
103
|
+
suspension: v.optional(vSuspension),
|
|
104
|
+
events: v.optional(vWorkflowEvents),
|
|
105
|
+
output: v.optional(v.any()), // Keep as v.any() - workflow output can be any shape
|
|
106
|
+
cancellation: v.optional(vCancellation),
|
|
107
|
+
userId: v.optional(v.string()),
|
|
108
|
+
conversationId: v.optional(v.string()),
|
|
109
|
+
metadata: v.optional(vMetadata),
|
|
110
|
+
createdAt: v.string(),
|
|
111
|
+
updatedAt: v.string(),
|
|
112
|
+
},
|
|
113
|
+
handler: async (ctx, args) => {
|
|
114
|
+
const existing = await ctx.db
|
|
115
|
+
.query("workflowStates")
|
|
116
|
+
.withIndex("by_visible_id", (q) => q.eq("visibleId", args.executionId))
|
|
117
|
+
.first();
|
|
118
|
+
if (existing) {
|
|
119
|
+
await ctx.db.patch(existing._id, {
|
|
120
|
+
workflowId: args.workflowId,
|
|
121
|
+
workflowName: args.workflowName,
|
|
122
|
+
status: args.status,
|
|
123
|
+
input: args.input,
|
|
124
|
+
context: args.context,
|
|
125
|
+
suspension: args.suspension,
|
|
126
|
+
events: args.events,
|
|
127
|
+
output: args.output,
|
|
128
|
+
cancellation: args.cancellation,
|
|
129
|
+
userId: args.userId,
|
|
130
|
+
conversationId: args.conversationId,
|
|
131
|
+
metadata: args.metadata,
|
|
132
|
+
updatedAt: args.updatedAt,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
await ctx.db.insert("workflowStates", {
|
|
137
|
+
visibleId: args.executionId,
|
|
138
|
+
workflowId: args.workflowId,
|
|
139
|
+
workflowName: args.workflowName,
|
|
140
|
+
status: args.status,
|
|
141
|
+
input: args.input,
|
|
142
|
+
context: args.context,
|
|
143
|
+
suspension: args.suspension,
|
|
144
|
+
events: args.events,
|
|
145
|
+
output: args.output,
|
|
146
|
+
cancellation: args.cancellation,
|
|
147
|
+
userId: args.userId,
|
|
148
|
+
conversationId: args.conversationId,
|
|
149
|
+
metadata: args.metadata,
|
|
150
|
+
createdAt: args.createdAt,
|
|
151
|
+
updatedAt: args.updatedAt,
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
return { success: true };
|
|
155
|
+
},
|
|
156
|
+
});
|
|
157
|
+
/**
|
|
158
|
+
* Update workflow state
|
|
159
|
+
*/
|
|
160
|
+
export const update = mutation({
|
|
161
|
+
args: {
|
|
162
|
+
executionId: v.string(),
|
|
163
|
+
status: v.optional(v.string()),
|
|
164
|
+
suspension: v.optional(vSuspension),
|
|
165
|
+
events: v.optional(vWorkflowEvents),
|
|
166
|
+
output: v.optional(v.any()), // Keep as v.any() - workflow output can be any shape
|
|
167
|
+
cancellation: v.optional(vCancellation),
|
|
168
|
+
metadata: v.optional(vMetadata),
|
|
169
|
+
},
|
|
170
|
+
handler: async (ctx, args) => {
|
|
171
|
+
const existing = await ctx.db
|
|
172
|
+
.query("workflowStates")
|
|
173
|
+
.withIndex("by_visible_id", (q) => q.eq("visibleId", args.executionId))
|
|
174
|
+
.first();
|
|
175
|
+
if (!existing) {
|
|
176
|
+
throw new Error("Workflow state not found");
|
|
177
|
+
}
|
|
178
|
+
const updates = {
|
|
179
|
+
updatedAt: new Date().toISOString(),
|
|
180
|
+
};
|
|
181
|
+
if (args.status !== undefined)
|
|
182
|
+
updates.status = args.status;
|
|
183
|
+
if (args.suspension !== undefined)
|
|
184
|
+
updates.suspension = args.suspension;
|
|
185
|
+
if (args.events !== undefined)
|
|
186
|
+
updates.events = args.events;
|
|
187
|
+
if (args.output !== undefined)
|
|
188
|
+
updates.output = args.output;
|
|
189
|
+
if (args.cancellation !== undefined)
|
|
190
|
+
updates.cancellation = args.cancellation;
|
|
191
|
+
if (args.metadata !== undefined)
|
|
192
|
+
updates.metadata = args.metadata;
|
|
193
|
+
await ctx.db.patch(existing._id, updates);
|
|
194
|
+
return { success: true };
|
|
195
|
+
},
|
|
196
|
+
});
|
|
197
|
+
/**
|
|
198
|
+
* Get suspended workflow states for a workflow
|
|
199
|
+
* Returns full WorkflowStateEntry to match the interface contract
|
|
200
|
+
*/
|
|
201
|
+
export const getSuspended = query({
|
|
202
|
+
args: { workflowId: v.string() },
|
|
203
|
+
handler: async (ctx, args) => {
|
|
204
|
+
const states = await ctx.db
|
|
205
|
+
.query("workflowStates")
|
|
206
|
+
.withIndex("by_workflow_id_and_status", (q) => q.eq("workflowId", args.workflowId).eq("status", "suspended"))
|
|
207
|
+
.collect();
|
|
208
|
+
states.sort((a, b) => b.createdAt.localeCompare(a.createdAt));
|
|
209
|
+
// Return all fields to match WorkflowStateEntry interface
|
|
210
|
+
return states.map((s) => ({
|
|
211
|
+
id: s.visibleId,
|
|
212
|
+
workflowId: s.workflowId,
|
|
213
|
+
workflowName: s.workflowName,
|
|
214
|
+
status: s.status,
|
|
215
|
+
input: s.input,
|
|
216
|
+
context: s.context,
|
|
217
|
+
suspension: s.suspension,
|
|
218
|
+
events: s.events,
|
|
219
|
+
output: s.output,
|
|
220
|
+
cancellation: s.cancellation,
|
|
221
|
+
userId: s.userId,
|
|
222
|
+
conversationId: s.conversationId,
|
|
223
|
+
metadata: s.metadata,
|
|
224
|
+
createdAt: s.createdAt,
|
|
225
|
+
updatedAt: s.updatedAt,
|
|
226
|
+
}));
|
|
227
|
+
},
|
|
228
|
+
});
|
|
229
|
+
//# sourceMappingURL=workflows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../src/component/workflows.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get working memory content
|
|
3
|
+
*/
|
|
4
|
+
export declare const get: import("convex/server").RegisteredQuery<"public", {
|
|
5
|
+
userId?: string | undefined;
|
|
6
|
+
conversationId?: string | undefined;
|
|
7
|
+
scope: string;
|
|
8
|
+
}, Promise<string | null>>;
|
|
9
|
+
/**
|
|
10
|
+
* Set working memory content
|
|
11
|
+
*/
|
|
12
|
+
export declare const set: import("convex/server").RegisteredMutation<"public", {
|
|
13
|
+
userId?: string | undefined;
|
|
14
|
+
conversationId?: string | undefined;
|
|
15
|
+
scope: string;
|
|
16
|
+
content: string;
|
|
17
|
+
}, Promise<{
|
|
18
|
+
success: boolean;
|
|
19
|
+
}>>;
|
|
20
|
+
/**
|
|
21
|
+
* Delete working memory content
|
|
22
|
+
*/
|
|
23
|
+
export declare const remove: import("convex/server").RegisteredMutation<"public", {
|
|
24
|
+
userId?: string | undefined;
|
|
25
|
+
conversationId?: string | undefined;
|
|
26
|
+
scope: string;
|
|
27
|
+
}, Promise<{
|
|
28
|
+
success: boolean;
|
|
29
|
+
}>>;
|
|
30
|
+
//# sourceMappingURL=workingMemory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workingMemory.d.ts","sourceRoot":"","sources":["../../src/component/workingMemory.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,eAAO,MAAM,GAAG;;;;0BAkCd,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,GAAG;;;;;;;GAyDd,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;;GAgDjB,CAAC"}
|