@mastra/inngest 0.0.0-support-d1-client-20250701191943 → 0.0.0-taofeeq-fix-tool-call-showing-after-message-20250806184630
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/CHANGELOG.md +312 -2
- package/LICENSE.md +11 -42
- package/dist/index.cjs +150 -9
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +282 -7
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +151 -10
- package/dist/index.js.map +1 -0
- package/docker-compose.yaml +3 -3
- package/package.json +15 -13
- package/src/index.test.ts +951 -208
- package/src/index.ts +204 -3
- package/tsconfig.build.json +9 -0
- package/tsconfig.json +1 -1
- package/tsup.config.ts +17 -0
- package/vitest.config.ts +6 -0
- package/dist/_tsup-dts-rollup.d.cts +0 -265
- package/dist/_tsup-dts-rollup.d.ts +0 -265
- package/dist/index.d.cts +0 -7
package/src/index.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { ReadableStream } from 'node:stream/web';
|
|
|
3
3
|
import { subscribe } from '@inngest/realtime';
|
|
4
4
|
import type { Agent, Mastra, ToolExecutionContext, WorkflowRun, WorkflowRuns } from '@mastra/core';
|
|
5
5
|
import { RuntimeContext } from '@mastra/core/di';
|
|
6
|
-
import { Tool } from '@mastra/core/tools';
|
|
6
|
+
import { Tool, ToolStream } from '@mastra/core/tools';
|
|
7
7
|
import { Workflow, Run, DefaultExecutionEngine } from '@mastra/core/workflows';
|
|
8
8
|
import type {
|
|
9
9
|
ExecuteFunction,
|
|
@@ -20,6 +20,7 @@ import type {
|
|
|
20
20
|
Emitter,
|
|
21
21
|
WatchEvent,
|
|
22
22
|
StreamEvent,
|
|
23
|
+
ChunkType,
|
|
23
24
|
} from '@mastra/core/workflows';
|
|
24
25
|
import { EMITTER_SYMBOL } from '@mastra/core/workflows/_constants';
|
|
25
26
|
import type { Span } from '@opentelemetry/api';
|
|
@@ -99,6 +100,7 @@ export class InngestRun<
|
|
|
99
100
|
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
100
101
|
runs = await this.getRuns(eventId);
|
|
101
102
|
if (runs?.[0]?.status === 'Failed') {
|
|
103
|
+
console.log('run', runs?.[0]);
|
|
102
104
|
throw new Error(`Function run ${runs?.[0]?.status}`);
|
|
103
105
|
} else if (runs?.[0]?.status === 'Cancelled') {
|
|
104
106
|
const snapshot = await this.#mastra?.storage?.loadWorkflowSnapshot({
|
|
@@ -230,6 +232,7 @@ export class InngestRun<
|
|
|
230
232
|
data: {
|
|
231
233
|
inputData: params.resumeData,
|
|
232
234
|
runId: this.runId,
|
|
235
|
+
workflowId: this.workflowId,
|
|
233
236
|
stepResults: snapshot?.context as any,
|
|
234
237
|
resume: {
|
|
235
238
|
steps,
|
|
@@ -967,6 +970,7 @@ export class InngestExecutionEngine extends DefaultExecutionEngine {
|
|
|
967
970
|
emitter,
|
|
968
971
|
abortController,
|
|
969
972
|
runtimeContext,
|
|
973
|
+
writableStream,
|
|
970
974
|
}: {
|
|
971
975
|
workflowId: string;
|
|
972
976
|
runId: string;
|
|
@@ -981,6 +985,7 @@ export class InngestExecutionEngine extends DefaultExecutionEngine {
|
|
|
981
985
|
emitter: Emitter;
|
|
982
986
|
abortController: AbortController;
|
|
983
987
|
runtimeContext: RuntimeContext;
|
|
988
|
+
writableStream?: WritableStream<ChunkType>;
|
|
984
989
|
}): Promise<StepResult<any, any, any, any>> {
|
|
985
990
|
return super.executeStep({
|
|
986
991
|
workflowId,
|
|
@@ -993,11 +998,188 @@ export class InngestExecutionEngine extends DefaultExecutionEngine {
|
|
|
993
998
|
emitter,
|
|
994
999
|
abortController,
|
|
995
1000
|
runtimeContext,
|
|
1001
|
+
writableStream,
|
|
996
1002
|
});
|
|
997
1003
|
}
|
|
998
1004
|
|
|
999
|
-
async executeSleep({ id, duration }: { id: string; duration: number }): Promise<void> {
|
|
1000
|
-
|
|
1005
|
+
// async executeSleep({ id, duration }: { id: string; duration: number }): Promise<void> {
|
|
1006
|
+
// await this.inngestStep.sleep(id, duration);
|
|
1007
|
+
// }
|
|
1008
|
+
|
|
1009
|
+
async executeSleep({
|
|
1010
|
+
workflowId,
|
|
1011
|
+
runId,
|
|
1012
|
+
entry,
|
|
1013
|
+
prevOutput,
|
|
1014
|
+
stepResults,
|
|
1015
|
+
emitter,
|
|
1016
|
+
abortController,
|
|
1017
|
+
runtimeContext,
|
|
1018
|
+
writableStream,
|
|
1019
|
+
}: {
|
|
1020
|
+
workflowId: string;
|
|
1021
|
+
runId: string;
|
|
1022
|
+
serializedStepGraph: SerializedStepFlowEntry[];
|
|
1023
|
+
entry: {
|
|
1024
|
+
type: 'sleep';
|
|
1025
|
+
id: string;
|
|
1026
|
+
duration?: number;
|
|
1027
|
+
fn?: ExecuteFunction<any, any, any, any, InngestEngineType>;
|
|
1028
|
+
};
|
|
1029
|
+
prevStep: StepFlowEntry;
|
|
1030
|
+
prevOutput: any;
|
|
1031
|
+
stepResults: Record<string, StepResult<any, any, any, any>>;
|
|
1032
|
+
resume?: {
|
|
1033
|
+
steps: string[];
|
|
1034
|
+
stepResults: Record<string, StepResult<any, any, any, any>>;
|
|
1035
|
+
resumePayload: any;
|
|
1036
|
+
resumePath: number[];
|
|
1037
|
+
};
|
|
1038
|
+
executionContext: ExecutionContext;
|
|
1039
|
+
emitter: Emitter;
|
|
1040
|
+
abortController: AbortController;
|
|
1041
|
+
runtimeContext: RuntimeContext;
|
|
1042
|
+
writableStream?: WritableStream<ChunkType>;
|
|
1043
|
+
}): Promise<void> {
|
|
1044
|
+
let { duration, fn } = entry;
|
|
1045
|
+
|
|
1046
|
+
if (fn) {
|
|
1047
|
+
const stepCallId = randomUUID();
|
|
1048
|
+
duration = await this.inngestStep.run(`workflow.${workflowId}.sleep.${entry.id}`, async () => {
|
|
1049
|
+
return await fn({
|
|
1050
|
+
runId,
|
|
1051
|
+
workflowId,
|
|
1052
|
+
mastra: this.mastra!,
|
|
1053
|
+
runtimeContext,
|
|
1054
|
+
inputData: prevOutput,
|
|
1055
|
+
runCount: -1,
|
|
1056
|
+
getInitData: () => stepResults?.input as any,
|
|
1057
|
+
getStepResult: (step: any) => {
|
|
1058
|
+
if (!step?.id) {
|
|
1059
|
+
return null;
|
|
1060
|
+
}
|
|
1061
|
+
|
|
1062
|
+
const result = stepResults[step.id];
|
|
1063
|
+
if (result?.status === 'success') {
|
|
1064
|
+
return result.output;
|
|
1065
|
+
}
|
|
1066
|
+
|
|
1067
|
+
return null;
|
|
1068
|
+
},
|
|
1069
|
+
|
|
1070
|
+
// TODO: this function shouldn't have suspend probably?
|
|
1071
|
+
suspend: async (_suspendPayload: any): Promise<any> => {},
|
|
1072
|
+
bail: () => {},
|
|
1073
|
+
abort: () => {
|
|
1074
|
+
abortController?.abort();
|
|
1075
|
+
},
|
|
1076
|
+
[EMITTER_SYMBOL]: emitter,
|
|
1077
|
+
engine: { step: this.inngestStep },
|
|
1078
|
+
abortSignal: abortController?.signal,
|
|
1079
|
+
writer: new ToolStream(
|
|
1080
|
+
{
|
|
1081
|
+
prefix: 'step',
|
|
1082
|
+
callId: stepCallId,
|
|
1083
|
+
name: 'sleep',
|
|
1084
|
+
runId,
|
|
1085
|
+
},
|
|
1086
|
+
writableStream,
|
|
1087
|
+
),
|
|
1088
|
+
});
|
|
1089
|
+
});
|
|
1090
|
+
}
|
|
1091
|
+
|
|
1092
|
+
await this.inngestStep.sleep(entry.id, !duration || duration < 0 ? 0 : duration);
|
|
1093
|
+
}
|
|
1094
|
+
|
|
1095
|
+
async executeSleepUntil({
|
|
1096
|
+
workflowId,
|
|
1097
|
+
runId,
|
|
1098
|
+
entry,
|
|
1099
|
+
prevOutput,
|
|
1100
|
+
stepResults,
|
|
1101
|
+
emitter,
|
|
1102
|
+
abortController,
|
|
1103
|
+
runtimeContext,
|
|
1104
|
+
writableStream,
|
|
1105
|
+
}: {
|
|
1106
|
+
workflowId: string;
|
|
1107
|
+
runId: string;
|
|
1108
|
+
serializedStepGraph: SerializedStepFlowEntry[];
|
|
1109
|
+
entry: {
|
|
1110
|
+
type: 'sleepUntil';
|
|
1111
|
+
id: string;
|
|
1112
|
+
date?: Date;
|
|
1113
|
+
fn?: ExecuteFunction<any, any, any, any, InngestEngineType>;
|
|
1114
|
+
};
|
|
1115
|
+
prevStep: StepFlowEntry;
|
|
1116
|
+
prevOutput: any;
|
|
1117
|
+
stepResults: Record<string, StepResult<any, any, any, any>>;
|
|
1118
|
+
resume?: {
|
|
1119
|
+
steps: string[];
|
|
1120
|
+
stepResults: Record<string, StepResult<any, any, any, any>>;
|
|
1121
|
+
resumePayload: any;
|
|
1122
|
+
resumePath: number[];
|
|
1123
|
+
};
|
|
1124
|
+
executionContext: ExecutionContext;
|
|
1125
|
+
emitter: Emitter;
|
|
1126
|
+
abortController: AbortController;
|
|
1127
|
+
runtimeContext: RuntimeContext;
|
|
1128
|
+
writableStream?: WritableStream<ChunkType>;
|
|
1129
|
+
}): Promise<void> {
|
|
1130
|
+
let { date, fn } = entry;
|
|
1131
|
+
|
|
1132
|
+
if (fn) {
|
|
1133
|
+
date = await this.inngestStep.run(`workflow.${workflowId}.sleepUntil.${entry.id}`, async () => {
|
|
1134
|
+
const stepCallId = randomUUID();
|
|
1135
|
+
return await fn({
|
|
1136
|
+
runId,
|
|
1137
|
+
workflowId,
|
|
1138
|
+
mastra: this.mastra!,
|
|
1139
|
+
runtimeContext,
|
|
1140
|
+
inputData: prevOutput,
|
|
1141
|
+
runCount: -1,
|
|
1142
|
+
getInitData: () => stepResults?.input as any,
|
|
1143
|
+
getStepResult: (step: any) => {
|
|
1144
|
+
if (!step?.id) {
|
|
1145
|
+
return null;
|
|
1146
|
+
}
|
|
1147
|
+
|
|
1148
|
+
const result = stepResults[step.id];
|
|
1149
|
+
if (result?.status === 'success') {
|
|
1150
|
+
return result.output;
|
|
1151
|
+
}
|
|
1152
|
+
|
|
1153
|
+
return null;
|
|
1154
|
+
},
|
|
1155
|
+
|
|
1156
|
+
// TODO: this function shouldn't have suspend probably?
|
|
1157
|
+
suspend: async (_suspendPayload: any): Promise<any> => {},
|
|
1158
|
+
bail: () => {},
|
|
1159
|
+
abort: () => {
|
|
1160
|
+
abortController?.abort();
|
|
1161
|
+
},
|
|
1162
|
+
[EMITTER_SYMBOL]: emitter,
|
|
1163
|
+
engine: { step: this.inngestStep },
|
|
1164
|
+
abortSignal: abortController?.signal,
|
|
1165
|
+
writer: new ToolStream(
|
|
1166
|
+
{
|
|
1167
|
+
prefix: 'step',
|
|
1168
|
+
callId: stepCallId,
|
|
1169
|
+
name: 'sleep',
|
|
1170
|
+
runId,
|
|
1171
|
+
},
|
|
1172
|
+
writableStream,
|
|
1173
|
+
),
|
|
1174
|
+
});
|
|
1175
|
+
});
|
|
1176
|
+
}
|
|
1177
|
+
|
|
1178
|
+
if (!(date instanceof Date)) {
|
|
1179
|
+
return;
|
|
1180
|
+
}
|
|
1181
|
+
|
|
1182
|
+
await this.inngestStep.sleepUntil(entry.id, date);
|
|
1001
1183
|
}
|
|
1002
1184
|
|
|
1003
1185
|
async executeWaitForEvent({ event, timeout }: { event: string; timeout?: number }): Promise<any> {
|
|
@@ -1022,6 +1204,7 @@ export class InngestExecutionEngine extends DefaultExecutionEngine {
|
|
|
1022
1204
|
emitter,
|
|
1023
1205
|
abortController,
|
|
1024
1206
|
runtimeContext,
|
|
1207
|
+
writableStream,
|
|
1025
1208
|
}: {
|
|
1026
1209
|
step: Step<string, any, any>;
|
|
1027
1210
|
stepResults: Record<string, StepResult<any, any, any, any>>;
|
|
@@ -1035,6 +1218,7 @@ export class InngestExecutionEngine extends DefaultExecutionEngine {
|
|
|
1035
1218
|
emitter: Emitter;
|
|
1036
1219
|
abortController: AbortController;
|
|
1037
1220
|
runtimeContext: RuntimeContext;
|
|
1221
|
+
writableStream?: WritableStream<ChunkType>;
|
|
1038
1222
|
}): Promise<StepResult<any, any, any, any>> {
|
|
1039
1223
|
const startedAt = await this.inngestStep.run(
|
|
1040
1224
|
`workflow.${executionContext.workflowId}.run.${executionContext.runId}.step.${step.id}.running_ev`,
|
|
@@ -1067,6 +1251,8 @@ export class InngestExecutionEngine extends DefaultExecutionEngine {
|
|
|
1067
1251
|
payload: {
|
|
1068
1252
|
id: step.id,
|
|
1069
1253
|
status: 'running',
|
|
1254
|
+
payload: prevOutput,
|
|
1255
|
+
startedAt,
|
|
1070
1256
|
},
|
|
1071
1257
|
});
|
|
1072
1258
|
|
|
@@ -1276,6 +1462,7 @@ export class InngestExecutionEngine extends DefaultExecutionEngine {
|
|
|
1276
1462
|
runId: executionContext.runId,
|
|
1277
1463
|
mastra: this.mastra!,
|
|
1278
1464
|
runtimeContext,
|
|
1465
|
+
writableStream,
|
|
1279
1466
|
inputData: prevOutput,
|
|
1280
1467
|
resumeData: resume?.steps[0] === step.id ? resume?.resumePayload : undefined,
|
|
1281
1468
|
getInitData: () => stepResults?.input as any,
|
|
@@ -1422,6 +1609,7 @@ export class InngestExecutionEngine extends DefaultExecutionEngine {
|
|
|
1422
1609
|
workflowStatus: 'success' | 'failed' | 'suspended' | 'running';
|
|
1423
1610
|
result?: Record<string, any>;
|
|
1424
1611
|
error?: string | Error;
|
|
1612
|
+
runtimeContext: RuntimeContext;
|
|
1425
1613
|
}) {
|
|
1426
1614
|
await this.inngestStep.run(
|
|
1427
1615
|
`workflow.${workflowId}.run.${runId}.path.${JSON.stringify(executionContext.executionPath)}.stepUpdate`,
|
|
@@ -1460,6 +1648,7 @@ export class InngestExecutionEngine extends DefaultExecutionEngine {
|
|
|
1460
1648
|
emitter,
|
|
1461
1649
|
abortController,
|
|
1462
1650
|
runtimeContext,
|
|
1651
|
+
writableStream,
|
|
1463
1652
|
}: {
|
|
1464
1653
|
workflowId: string;
|
|
1465
1654
|
runId: string;
|
|
@@ -1482,6 +1671,7 @@ export class InngestExecutionEngine extends DefaultExecutionEngine {
|
|
|
1482
1671
|
emitter: Emitter;
|
|
1483
1672
|
abortController: AbortController;
|
|
1484
1673
|
runtimeContext: RuntimeContext;
|
|
1674
|
+
writableStream?: WritableStream<ChunkType>;
|
|
1485
1675
|
}): Promise<StepResult<any, any, any, any>> {
|
|
1486
1676
|
let execResults: any;
|
|
1487
1677
|
const truthyIndexes = (
|
|
@@ -1491,6 +1681,7 @@ export class InngestExecutionEngine extends DefaultExecutionEngine {
|
|
|
1491
1681
|
try {
|
|
1492
1682
|
const result = await cond({
|
|
1493
1683
|
runId,
|
|
1684
|
+
workflowId,
|
|
1494
1685
|
mastra: this.mastra!,
|
|
1495
1686
|
runtimeContext,
|
|
1496
1687
|
runCount: -1,
|
|
@@ -1520,6 +1711,15 @@ export class InngestExecutionEngine extends DefaultExecutionEngine {
|
|
|
1520
1711
|
step: this.inngestStep,
|
|
1521
1712
|
},
|
|
1522
1713
|
abortSignal: abortController.signal,
|
|
1714
|
+
writer: new ToolStream(
|
|
1715
|
+
{
|
|
1716
|
+
prefix: 'step',
|
|
1717
|
+
callId: randomUUID(),
|
|
1718
|
+
name: 'conditional',
|
|
1719
|
+
runId,
|
|
1720
|
+
},
|
|
1721
|
+
writableStream,
|
|
1722
|
+
),
|
|
1523
1723
|
});
|
|
1524
1724
|
return result ? index : null;
|
|
1525
1725
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -1553,6 +1753,7 @@ export class InngestExecutionEngine extends DefaultExecutionEngine {
|
|
|
1553
1753
|
emitter,
|
|
1554
1754
|
abortController,
|
|
1555
1755
|
runtimeContext,
|
|
1756
|
+
writableStream,
|
|
1556
1757
|
}),
|
|
1557
1758
|
),
|
|
1558
1759
|
);
|
package/tsconfig.json
CHANGED
package/tsup.config.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { generateTypes } from '@internal/types-builder';
|
|
2
|
+
import { defineConfig } from 'tsup';
|
|
3
|
+
|
|
4
|
+
export default defineConfig({
|
|
5
|
+
entry: ['src/index.ts'],
|
|
6
|
+
format: ['esm', 'cjs'],
|
|
7
|
+
clean: true,
|
|
8
|
+
dts: false,
|
|
9
|
+
splitting: true,
|
|
10
|
+
treeshake: {
|
|
11
|
+
preset: 'smallest',
|
|
12
|
+
},
|
|
13
|
+
sourcemap: true,
|
|
14
|
+
onSuccess: async () => {
|
|
15
|
+
await generateTypes(process.cwd());
|
|
16
|
+
},
|
|
17
|
+
});
|
package/vitest.config.ts
CHANGED
|
@@ -1,265 +0,0 @@
|
|
|
1
|
-
import type { Agent } from '@mastra/core';
|
|
2
|
-
import type { BaseContext } from 'inngest';
|
|
3
|
-
import { ClientOptions } from 'inngest';
|
|
4
|
-
import { DefaultExecutionEngine } from '@mastra/core/workflows';
|
|
5
|
-
import type { Emitter } from '@mastra/core/workflows';
|
|
6
|
-
import type { ExecuteFunction } from '@mastra/core/workflows';
|
|
7
|
-
import type { ExecutionContext } from '@mastra/core/workflows';
|
|
8
|
-
import type { ExecutionEngine } from '@mastra/core/workflows';
|
|
9
|
-
import type { ExecutionGraph } from '@mastra/core/workflows';
|
|
10
|
-
import { Handler } from 'inngest';
|
|
11
|
-
import type { Inngest } from 'inngest';
|
|
12
|
-
import { InngestFunction } from 'inngest';
|
|
13
|
-
import { InngestMiddleware } from 'inngest';
|
|
14
|
-
import type { Mastra } from '@mastra/core';
|
|
15
|
-
import type { ReadableStream as ReadableStream_2 } from 'node:stream/web';
|
|
16
|
-
import { Run } from '@mastra/core/workflows';
|
|
17
|
-
import { RuntimeContext } from '@mastra/core/di';
|
|
18
|
-
import type { SerializedStepFlowEntry } from '@mastra/core/workflows';
|
|
19
|
-
import { serve as serve_2 } from 'inngest/hono';
|
|
20
|
-
import type { Span } from '@opentelemetry/api';
|
|
21
|
-
import type { Step } from '@mastra/core/workflows';
|
|
22
|
-
import type { StepFlowEntry } from '@mastra/core/workflows';
|
|
23
|
-
import type { StepResult } from '@mastra/core/workflows';
|
|
24
|
-
import type { StreamEvent } from '@mastra/core/workflows';
|
|
25
|
-
import { Tool } from '@mastra/core/tools';
|
|
26
|
-
import type { ToolExecutionContext } from '@mastra/core';
|
|
27
|
-
import type { WatchEvent } from '@mastra/core/workflows';
|
|
28
|
-
import { Workflow } from '@mastra/core/workflows';
|
|
29
|
-
import type { WorkflowConfig } from '@mastra/core/workflows';
|
|
30
|
-
import type { WorkflowResult } from '@mastra/core/workflows';
|
|
31
|
-
import type { WorkflowRun } from '@mastra/core';
|
|
32
|
-
import type { WorkflowRuns } from '@mastra/core';
|
|
33
|
-
import { z } from 'zod';
|
|
34
|
-
|
|
35
|
-
export declare function createStep<TStepId extends string, TStepInput extends z.ZodType<any>, TStepOutput extends z.ZodType<any>, TResumeSchema extends z.ZodType<any>, TSuspendSchema extends z.ZodType<any>>(params: {
|
|
36
|
-
id: TStepId;
|
|
37
|
-
description?: string;
|
|
38
|
-
inputSchema: TStepInput;
|
|
39
|
-
outputSchema: TStepOutput;
|
|
40
|
-
resumeSchema?: TResumeSchema;
|
|
41
|
-
suspendSchema?: TSuspendSchema;
|
|
42
|
-
execute: ExecuteFunction<z.infer<TStepInput>, z.infer<TStepOutput>, z.infer<TResumeSchema>, z.infer<TSuspendSchema>, InngestEngineType>;
|
|
43
|
-
}): Step<TStepId, TStepInput, TStepOutput, TResumeSchema, TSuspendSchema, InngestEngineType>;
|
|
44
|
-
|
|
45
|
-
export declare function createStep<TStepId extends string, TStepInput extends z.ZodObject<{
|
|
46
|
-
prompt: z.ZodString;
|
|
47
|
-
}>, TStepOutput extends z.ZodObject<{
|
|
48
|
-
text: z.ZodString;
|
|
49
|
-
}>, TResumeSchema extends z.ZodType<any>, TSuspendSchema extends z.ZodType<any>>(agent: Agent<TStepId, any, any>): Step<TStepId, TStepInput, TStepOutput, TResumeSchema, TSuspendSchema, InngestEngineType>;
|
|
50
|
-
|
|
51
|
-
export declare function createStep<TSchemaIn extends z.ZodType<any>, TSchemaOut extends z.ZodType<any>, TContext extends ToolExecutionContext<TSchemaIn>>(tool: Tool<TSchemaIn, TSchemaOut, TContext> & {
|
|
52
|
-
inputSchema: TSchemaIn;
|
|
53
|
-
outputSchema: TSchemaOut;
|
|
54
|
-
execute: (context: TContext) => Promise<any>;
|
|
55
|
-
}): Step<string, TSchemaIn, TSchemaOut, z.ZodType<any>, z.ZodType<any>, InngestEngineType>;
|
|
56
|
-
|
|
57
|
-
export declare function init(inngest: Inngest): {
|
|
58
|
-
createWorkflow<TWorkflowId extends string = string, TInput extends z.ZodType<any> = z.ZodType<any, z.ZodTypeDef, any>, TOutput extends z.ZodType<any> = z.ZodType<any, z.ZodTypeDef, any>, TSteps extends Step<string, any, any, any, any, InngestEngineType>[] = Step<string, any, any, any, any, InngestEngineType>[]>(params: WorkflowConfig<TWorkflowId, TInput, TOutput, TSteps>): InngestWorkflow<InngestEngineType, TSteps, TWorkflowId, TInput, TOutput, TInput>;
|
|
59
|
-
createStep: typeof createStep;
|
|
60
|
-
cloneStep<TStepId extends string>(step: Step<string, any, any, any, any, InngestEngineType>, opts: {
|
|
61
|
-
id: TStepId;
|
|
62
|
-
}): Step<TStepId, any, any, any, any, InngestEngineType>;
|
|
63
|
-
cloneWorkflow<TWorkflowId extends string = string, TInput extends z.ZodType<any> = z.ZodType<any, z.ZodTypeDef, any>, TOutput extends z.ZodType<any> = z.ZodType<any, z.ZodTypeDef, any>, TSteps extends Step<string, any, any, any, any, InngestEngineType>[] = Step<string, any, any, any, any, InngestEngineType>[], TPrevSchema extends z.ZodType<any> = TInput>(workflow: Workflow<InngestEngineType, TSteps, string, TInput, TOutput, TPrevSchema>, opts: {
|
|
64
|
-
id: TWorkflowId;
|
|
65
|
-
}): Workflow<InngestEngineType, TSteps, TWorkflowId, TInput, TOutput, TPrevSchema>;
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
export declare type InngestEngineType = {
|
|
69
|
-
step: any;
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
export declare class InngestExecutionEngine extends DefaultExecutionEngine {
|
|
73
|
-
private inngestStep;
|
|
74
|
-
private inngestAttempts;
|
|
75
|
-
constructor(mastra: Mastra, inngestStep: BaseContext<Inngest>['step'], inngestAttempts?: number);
|
|
76
|
-
execute<TInput, TOutput>(params: {
|
|
77
|
-
workflowId: string;
|
|
78
|
-
runId: string;
|
|
79
|
-
graph: ExecutionGraph;
|
|
80
|
-
serializedStepGraph: SerializedStepFlowEntry[];
|
|
81
|
-
input?: TInput;
|
|
82
|
-
resume?: {
|
|
83
|
-
steps: string[];
|
|
84
|
-
stepResults: Record<string, StepResult<any, any, any, any>>;
|
|
85
|
-
resumePayload: any;
|
|
86
|
-
resumePath: number[];
|
|
87
|
-
};
|
|
88
|
-
emitter: Emitter;
|
|
89
|
-
retryConfig?: {
|
|
90
|
-
attempts?: number;
|
|
91
|
-
delay?: number;
|
|
92
|
-
};
|
|
93
|
-
runtimeContext: RuntimeContext;
|
|
94
|
-
abortController: AbortController;
|
|
95
|
-
}): Promise<TOutput>;
|
|
96
|
-
protected fmtReturnValue<TOutput>(executionSpan: Span | undefined, emitter: Emitter, stepResults: Record<string, StepResult<any, any, any, any>>, lastOutput: StepResult<any, any, any, any>, error?: Error | string): Promise<TOutput>;
|
|
97
|
-
superExecuteStep({ workflowId, runId, step, stepResults, executionContext, resume, prevOutput, emitter, abortController, runtimeContext, }: {
|
|
98
|
-
workflowId: string;
|
|
99
|
-
runId: string;
|
|
100
|
-
step: Step<string, any, any>;
|
|
101
|
-
stepResults: Record<string, StepResult<any, any, any, any>>;
|
|
102
|
-
executionContext: ExecutionContext;
|
|
103
|
-
resume?: {
|
|
104
|
-
steps: string[];
|
|
105
|
-
resumePayload: any;
|
|
106
|
-
};
|
|
107
|
-
prevOutput: any;
|
|
108
|
-
emitter: Emitter;
|
|
109
|
-
abortController: AbortController;
|
|
110
|
-
runtimeContext: RuntimeContext;
|
|
111
|
-
}): Promise<StepResult<any, any, any, any>>;
|
|
112
|
-
executeSleep({ id, duration }: {
|
|
113
|
-
id: string;
|
|
114
|
-
duration: number;
|
|
115
|
-
}): Promise<void>;
|
|
116
|
-
executeWaitForEvent({ event, timeout }: {
|
|
117
|
-
event: string;
|
|
118
|
-
timeout?: number;
|
|
119
|
-
}): Promise<any>;
|
|
120
|
-
executeStep({ step, stepResults, executionContext, resume, prevOutput, emitter, abortController, runtimeContext, }: {
|
|
121
|
-
step: Step<string, any, any>;
|
|
122
|
-
stepResults: Record<string, StepResult<any, any, any, any>>;
|
|
123
|
-
executionContext: ExecutionContext;
|
|
124
|
-
resume?: {
|
|
125
|
-
steps: string[];
|
|
126
|
-
resumePayload: any;
|
|
127
|
-
runId?: string;
|
|
128
|
-
};
|
|
129
|
-
prevOutput: any;
|
|
130
|
-
emitter: Emitter;
|
|
131
|
-
abortController: AbortController;
|
|
132
|
-
runtimeContext: RuntimeContext;
|
|
133
|
-
}): Promise<StepResult<any, any, any, any>>;
|
|
134
|
-
persistStepUpdate({ workflowId, runId, stepResults, executionContext, serializedStepGraph, workflowStatus, result, error, }: {
|
|
135
|
-
workflowId: string;
|
|
136
|
-
runId: string;
|
|
137
|
-
stepResults: Record<string, StepResult<any, any, any, any>>;
|
|
138
|
-
serializedStepGraph: SerializedStepFlowEntry[];
|
|
139
|
-
executionContext: ExecutionContext;
|
|
140
|
-
workflowStatus: 'success' | 'failed' | 'suspended' | 'running';
|
|
141
|
-
result?: Record<string, any>;
|
|
142
|
-
error?: string | Error;
|
|
143
|
-
}): Promise<void>;
|
|
144
|
-
executeConditional({ workflowId, runId, entry, prevOutput, prevStep, stepResults, serializedStepGraph, resume, executionContext, emitter, abortController, runtimeContext, }: {
|
|
145
|
-
workflowId: string;
|
|
146
|
-
runId: string;
|
|
147
|
-
entry: {
|
|
148
|
-
type: 'conditional';
|
|
149
|
-
steps: StepFlowEntry[];
|
|
150
|
-
conditions: ExecuteFunction<any, any, any, any, InngestEngineType>[];
|
|
151
|
-
};
|
|
152
|
-
prevStep: StepFlowEntry;
|
|
153
|
-
serializedStepGraph: SerializedStepFlowEntry[];
|
|
154
|
-
prevOutput: any;
|
|
155
|
-
stepResults: Record<string, StepResult<any, any, any, any>>;
|
|
156
|
-
resume?: {
|
|
157
|
-
steps: string[];
|
|
158
|
-
stepResults: Record<string, StepResult<any, any, any, any>>;
|
|
159
|
-
resumePayload: any;
|
|
160
|
-
resumePath: number[];
|
|
161
|
-
};
|
|
162
|
-
executionContext: ExecutionContext;
|
|
163
|
-
emitter: Emitter;
|
|
164
|
-
abortController: AbortController;
|
|
165
|
-
runtimeContext: RuntimeContext;
|
|
166
|
-
}): Promise<StepResult<any, any, any, any>>;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
export declare class InngestRun<TEngineType = InngestEngineType, TSteps extends Step<string, any, any>[] = Step<string, any, any>[], TInput extends z.ZodType<any> = z.ZodType<any>, TOutput extends z.ZodType<any> = z.ZodType<any>> extends Run<TEngineType, TSteps, TInput, TOutput> {
|
|
170
|
-
#private;
|
|
171
|
-
private inngest;
|
|
172
|
-
serializedStepGraph: SerializedStepFlowEntry[];
|
|
173
|
-
constructor(params: {
|
|
174
|
-
workflowId: string;
|
|
175
|
-
runId: string;
|
|
176
|
-
executionEngine: ExecutionEngine;
|
|
177
|
-
executionGraph: ExecutionGraph;
|
|
178
|
-
serializedStepGraph: SerializedStepFlowEntry[];
|
|
179
|
-
mastra?: Mastra;
|
|
180
|
-
retryConfig?: {
|
|
181
|
-
attempts?: number;
|
|
182
|
-
delay?: number;
|
|
183
|
-
};
|
|
184
|
-
cleanup?: () => void;
|
|
185
|
-
}, inngest: Inngest);
|
|
186
|
-
getRuns(eventId: string): Promise<any>;
|
|
187
|
-
getRunOutput(eventId: string): Promise<any>;
|
|
188
|
-
sendEvent(event: string, data: any): Promise<void>;
|
|
189
|
-
cancel(): Promise<void>;
|
|
190
|
-
start({ inputData, }: {
|
|
191
|
-
inputData?: z.infer<TInput>;
|
|
192
|
-
runtimeContext?: RuntimeContext;
|
|
193
|
-
}): Promise<WorkflowResult<TOutput, TSteps>>;
|
|
194
|
-
resume<TResumeSchema extends z.ZodType<any>>(params: {
|
|
195
|
-
resumeData?: z.infer<TResumeSchema>;
|
|
196
|
-
step: Step<string, any, any, TResumeSchema, any> | [...Step<string, any, any, any, any>[], Step<string, any, any, TResumeSchema, any>] | string | string[];
|
|
197
|
-
runtimeContext?: RuntimeContext;
|
|
198
|
-
}): Promise<WorkflowResult<TOutput, TSteps>>;
|
|
199
|
-
_resume<TResumeSchema extends z.ZodType<any>>(params: {
|
|
200
|
-
resumeData?: z.infer<TResumeSchema>;
|
|
201
|
-
step: Step<string, any, any, TResumeSchema, any> | [...Step<string, any, any, any, any>[], Step<string, any, any, TResumeSchema, any>] | string | string[];
|
|
202
|
-
runtimeContext?: RuntimeContext;
|
|
203
|
-
}): Promise<WorkflowResult<TOutput, TSteps>>;
|
|
204
|
-
watch(cb: (event: WatchEvent) => void, type?: 'watch' | 'watch-v2'): () => void;
|
|
205
|
-
stream({ inputData, runtimeContext }?: {
|
|
206
|
-
inputData?: z.infer<TInput>;
|
|
207
|
-
runtimeContext?: RuntimeContext;
|
|
208
|
-
}): {
|
|
209
|
-
stream: ReadableStream_2<StreamEvent>;
|
|
210
|
-
getWorkflowState: () => Promise<WorkflowResult<TOutput, TSteps>>;
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
export declare class InngestWorkflow<TEngineType = InngestEngineType, TSteps extends Step<string, any, any>[] = Step<string, any, any>[], TWorkflowId extends string = string, TInput extends z.ZodType<any> = z.ZodType<any>, TOutput extends z.ZodType<any> = z.ZodType<any>, TPrevSchema extends z.ZodType<any> = TInput> extends Workflow<TEngineType, TSteps, TWorkflowId, TInput, TOutput, TPrevSchema> {
|
|
215
|
-
#private;
|
|
216
|
-
inngest: Inngest;
|
|
217
|
-
private function;
|
|
218
|
-
constructor(params: WorkflowConfig<TWorkflowId, TInput, TOutput, TSteps>, inngest: Inngest);
|
|
219
|
-
getWorkflowRuns(args?: {
|
|
220
|
-
fromDate?: Date;
|
|
221
|
-
toDate?: Date;
|
|
222
|
-
limit?: number;
|
|
223
|
-
offset?: number;
|
|
224
|
-
resourceId?: string;
|
|
225
|
-
}): Promise<WorkflowRuns>;
|
|
226
|
-
getWorkflowRunById(runId: string): Promise<WorkflowRun | null>;
|
|
227
|
-
getWorkflowRunExecutionResult(runId: string): Promise<WatchEvent['payload']['workflowState'] | null>;
|
|
228
|
-
__registerMastra(mastra: Mastra): void;
|
|
229
|
-
createRun(options?: {
|
|
230
|
-
runId?: string;
|
|
231
|
-
}): Run<TEngineType, TSteps, TInput, TOutput>;
|
|
232
|
-
createRunAsync(options?: {
|
|
233
|
-
runId?: string;
|
|
234
|
-
}): Promise<Run<TEngineType, TSteps, TInput, TOutput>>;
|
|
235
|
-
getFunction(): InngestFunction<Omit<InngestFunction.Options<Inngest<ClientOptions>, InngestMiddleware.Stack, InngestFunction.Trigger<string>[] | [{
|
|
236
|
-
cron: string;
|
|
237
|
-
} & Partial<Record<"event" | "if", never>>] | [{
|
|
238
|
-
event: string;
|
|
239
|
-
if?: string;
|
|
240
|
-
} & Partial<Record<"cron", never>>], Handler.Any>, "triggers">, Handler.Any, Handler.Any, Inngest<ClientOptions>, InngestMiddleware.Stack, InngestFunction.Trigger<string>[] | [{
|
|
241
|
-
cron: string;
|
|
242
|
-
} & Partial<Record<"event" | "if", never>>] | [{
|
|
243
|
-
event: string;
|
|
244
|
-
if?: string;
|
|
245
|
-
} & Partial<Record<"cron", never>>]>;
|
|
246
|
-
getNestedFunctions(steps: StepFlowEntry[]): ReturnType<Inngest['createFunction']>[];
|
|
247
|
-
getFunctions(): InngestFunction<Omit<InngestFunction.Options<Inngest<ClientOptions>, InngestMiddleware.Stack, InngestFunction.Trigger<string>[] | [{
|
|
248
|
-
cron: string;
|
|
249
|
-
} & Partial<Record<"event" | "if", never>>] | [{
|
|
250
|
-
event: string;
|
|
251
|
-
if?: string;
|
|
252
|
-
} & Partial<Record<"cron", never>>], Handler.Any>, "triggers">, Handler.Any, Handler.Any, Inngest<ClientOptions>, InngestMiddleware.Stack, InngestFunction.Trigger<string>[] | [{
|
|
253
|
-
cron: string;
|
|
254
|
-
} & Partial<Record<"event" | "if", never>>] | [{
|
|
255
|
-
event: string;
|
|
256
|
-
if?: string;
|
|
257
|
-
} & Partial<Record<"cron", never>>]>[];
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
export declare function serve({ mastra, inngest }: {
|
|
261
|
-
mastra: Mastra;
|
|
262
|
-
inngest: Inngest;
|
|
263
|
-
}): ReturnType<typeof serve_2>;
|
|
264
|
-
|
|
265
|
-
export { }
|