@mastra/inngest 0.0.0-redis-cloud-transporter-20250508194049 → 0.0.0-share-agent-metadata-with-cloud-20250718110128
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 +595 -2
- package/LICENSE.md +11 -42
- package/dist/_tsup-dts-rollup.d.cts +179 -63
- package/dist/_tsup-dts-rollup.d.ts +179 -63
- package/dist/index.cjs +582 -59
- package/dist/index.d.cts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +579 -57
- package/docker-compose.yaml +3 -3
- package/package.json +23 -18
- package/src/index.test.ts +5809 -3549
- package/src/index.ts +884 -103
- package/vitest.config.ts +6 -0
|
@@ -1,128 +1,226 @@
|
|
|
1
|
+
import type { Agent } from '@mastra/core';
|
|
1
2
|
import type { BaseContext } from 'inngest';
|
|
2
3
|
import { ClientOptions } from 'inngest';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import type {
|
|
7
|
-
import type {
|
|
8
|
-
import type {
|
|
9
|
-
import type { ExecutionGraph } from '@mastra/core/workflows/vNext';
|
|
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
10
|
import { Handler } from 'inngest';
|
|
11
11
|
import type { Inngest } from 'inngest';
|
|
12
12
|
import { InngestFunction } from 'inngest';
|
|
13
13
|
import { InngestMiddleware } from 'inngest';
|
|
14
14
|
import type { Mastra } from '@mastra/core';
|
|
15
|
-
import type {
|
|
16
|
-
import {
|
|
17
|
-
import type { NewWorkflowConfig } from '@mastra/core/workflows/vNext';
|
|
18
|
-
import { Run } from '@mastra/core/workflows/vNext';
|
|
15
|
+
import type { ReadableStream as ReadableStream_2 } from 'node:stream/web';
|
|
16
|
+
import { Run } from '@mastra/core/workflows';
|
|
19
17
|
import { RuntimeContext } from '@mastra/core/di';
|
|
18
|
+
import type { SerializedStepFlowEntry } from '@mastra/core/workflows';
|
|
20
19
|
import { serve as serve_2 } from 'inngest/hono';
|
|
21
20
|
import type { Span } from '@opentelemetry/api';
|
|
22
|
-
import type {
|
|
23
|
-
import type {
|
|
24
|
-
import type {
|
|
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';
|
|
25
31
|
import type { WorkflowRun } from '@mastra/core';
|
|
26
|
-
import { WorkflowRuns } from '@mastra/core';
|
|
27
|
-
import
|
|
32
|
+
import type { WorkflowRuns } from '@mastra/core';
|
|
33
|
+
import { z } from 'zod';
|
|
28
34
|
|
|
29
|
-
declare function
|
|
30
|
-
id:
|
|
31
|
-
|
|
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>;
|
|
32
56
|
|
|
33
57
|
export declare function init(inngest: Inngest): {
|
|
34
|
-
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
|
|
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>;
|
|
35
59
|
createStep: typeof createStep;
|
|
36
|
-
cloneStep:
|
|
37
|
-
|
|
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;
|
|
38
70
|
};
|
|
39
71
|
|
|
40
72
|
export declare class InngestExecutionEngine extends DefaultExecutionEngine {
|
|
41
73
|
private inngestStep;
|
|
42
74
|
private inngestAttempts;
|
|
43
75
|
constructor(mastra: Mastra, inngestStep: BaseContext<Inngest>['step'], inngestAttempts?: number);
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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, }: {
|
|
48
98
|
workflowId: string;
|
|
49
99
|
runId: string;
|
|
50
|
-
step:
|
|
51
|
-
stepResults: Record<string, StepResult<any>>;
|
|
100
|
+
step: Step<string, any, any>;
|
|
101
|
+
stepResults: Record<string, StepResult<any, any, any, any>>;
|
|
52
102
|
executionContext: ExecutionContext;
|
|
53
103
|
resume?: {
|
|
54
104
|
steps: string[];
|
|
55
105
|
resumePayload: any;
|
|
56
106
|
};
|
|
57
107
|
prevOutput: any;
|
|
58
|
-
emitter:
|
|
59
|
-
|
|
108
|
+
emitter: Emitter;
|
|
109
|
+
abortController: AbortController;
|
|
110
|
+
runtimeContext: RuntimeContext;
|
|
111
|
+
}): Promise<StepResult<any, any, any, any>>;
|
|
112
|
+
executeSleep({ workflowId, runId, entry, prevOutput, stepResults, emitter, abortController, runtimeContext, }: {
|
|
113
|
+
workflowId: string;
|
|
114
|
+
runId: string;
|
|
115
|
+
serializedStepGraph: SerializedStepFlowEntry[];
|
|
116
|
+
entry: {
|
|
117
|
+
type: 'sleep';
|
|
118
|
+
id: string;
|
|
119
|
+
duration?: number;
|
|
120
|
+
fn?: ExecuteFunction<any, any, any, any, InngestEngineType>;
|
|
121
|
+
};
|
|
122
|
+
prevStep: StepFlowEntry;
|
|
123
|
+
prevOutput: any;
|
|
124
|
+
stepResults: Record<string, StepResult<any, any, any, any>>;
|
|
125
|
+
resume?: {
|
|
126
|
+
steps: string[];
|
|
127
|
+
stepResults: Record<string, StepResult<any, any, any, any>>;
|
|
128
|
+
resumePayload: any;
|
|
129
|
+
resumePath: number[];
|
|
60
130
|
};
|
|
131
|
+
executionContext: ExecutionContext;
|
|
132
|
+
emitter: Emitter;
|
|
133
|
+
abortController: AbortController;
|
|
61
134
|
runtimeContext: RuntimeContext;
|
|
62
|
-
}): Promise<
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
135
|
+
}): Promise<void>;
|
|
136
|
+
executeSleepUntil({ workflowId, runId, entry, prevOutput, stepResults, emitter, abortController, runtimeContext, }: {
|
|
137
|
+
workflowId: string;
|
|
138
|
+
runId: string;
|
|
139
|
+
serializedStepGraph: SerializedStepFlowEntry[];
|
|
140
|
+
entry: {
|
|
141
|
+
type: 'sleepUntil';
|
|
142
|
+
id: string;
|
|
143
|
+
date?: Date;
|
|
144
|
+
fn?: ExecuteFunction<any, any, any, any, InngestEngineType>;
|
|
145
|
+
};
|
|
146
|
+
prevStep: StepFlowEntry;
|
|
147
|
+
prevOutput: any;
|
|
148
|
+
stepResults: Record<string, StepResult<any, any, any, any>>;
|
|
149
|
+
resume?: {
|
|
150
|
+
steps: string[];
|
|
151
|
+
stepResults: Record<string, StepResult<any, any, any, any>>;
|
|
152
|
+
resumePayload: any;
|
|
153
|
+
resumePath: number[];
|
|
75
154
|
};
|
|
155
|
+
executionContext: ExecutionContext;
|
|
156
|
+
emitter: Emitter;
|
|
157
|
+
abortController: AbortController;
|
|
158
|
+
runtimeContext: RuntimeContext;
|
|
159
|
+
}): Promise<void>;
|
|
160
|
+
executeWaitForEvent({ event, timeout }: {
|
|
161
|
+
event: string;
|
|
162
|
+
timeout?: number;
|
|
163
|
+
}): Promise<any>;
|
|
164
|
+
executeStep({ step, stepResults, executionContext, resume, prevOutput, emitter, abortController, runtimeContext, }: {
|
|
165
|
+
step: Step<string, any, any>;
|
|
166
|
+
stepResults: Record<string, StepResult<any, any, any, any>>;
|
|
167
|
+
executionContext: ExecutionContext;
|
|
76
168
|
resume?: {
|
|
77
169
|
steps: string[];
|
|
78
170
|
resumePayload: any;
|
|
79
171
|
runId?: string;
|
|
80
172
|
};
|
|
81
173
|
prevOutput: any;
|
|
82
|
-
emitter:
|
|
83
|
-
|
|
84
|
-
};
|
|
174
|
+
emitter: Emitter;
|
|
175
|
+
abortController: AbortController;
|
|
85
176
|
runtimeContext: RuntimeContext;
|
|
86
|
-
}): Promise<StepResult<any>>;
|
|
87
|
-
persistStepUpdate({ workflowId, runId, stepResults, executionContext, }: {
|
|
177
|
+
}): Promise<StepResult<any, any, any, any>>;
|
|
178
|
+
persistStepUpdate({ workflowId, runId, stepResults, executionContext, serializedStepGraph, workflowStatus, result, error, }: {
|
|
88
179
|
workflowId: string;
|
|
89
180
|
runId: string;
|
|
90
|
-
stepResults: Record<string, StepResult<any>>;
|
|
181
|
+
stepResults: Record<string, StepResult<any, any, any, any>>;
|
|
182
|
+
serializedStepGraph: SerializedStepFlowEntry[];
|
|
91
183
|
executionContext: ExecutionContext;
|
|
184
|
+
workflowStatus: 'success' | 'failed' | 'suspended' | 'running';
|
|
185
|
+
result?: Record<string, any>;
|
|
186
|
+
error?: string | Error;
|
|
187
|
+
runtimeContext: RuntimeContext;
|
|
92
188
|
}): Promise<void>;
|
|
93
|
-
executeConditional({ workflowId, runId, entry, prevOutput, prevStep, stepResults, resume, executionContext, emitter, runtimeContext, }: {
|
|
189
|
+
executeConditional({ workflowId, runId, entry, prevOutput, prevStep, stepResults, serializedStepGraph, resume, executionContext, emitter, abortController, runtimeContext, }: {
|
|
94
190
|
workflowId: string;
|
|
95
191
|
runId: string;
|
|
96
192
|
entry: {
|
|
97
193
|
type: 'conditional';
|
|
98
194
|
steps: StepFlowEntry[];
|
|
99
|
-
conditions: ExecuteFunction<any, any, any, any>[];
|
|
195
|
+
conditions: ExecuteFunction<any, any, any, any, InngestEngineType>[];
|
|
100
196
|
};
|
|
101
197
|
prevStep: StepFlowEntry;
|
|
198
|
+
serializedStepGraph: SerializedStepFlowEntry[];
|
|
102
199
|
prevOutput: any;
|
|
103
|
-
stepResults: Record<string, StepResult<any>>;
|
|
200
|
+
stepResults: Record<string, StepResult<any, any, any, any>>;
|
|
104
201
|
resume?: {
|
|
105
202
|
steps: string[];
|
|
106
|
-
stepResults: Record<string, StepResult<any>>;
|
|
203
|
+
stepResults: Record<string, StepResult<any, any, any, any>>;
|
|
107
204
|
resumePayload: any;
|
|
108
205
|
resumePath: number[];
|
|
109
206
|
};
|
|
110
207
|
executionContext: ExecutionContext;
|
|
111
|
-
emitter:
|
|
112
|
-
|
|
113
|
-
};
|
|
208
|
+
emitter: Emitter;
|
|
209
|
+
abortController: AbortController;
|
|
114
210
|
runtimeContext: RuntimeContext;
|
|
115
|
-
}): Promise<StepResult<any>>;
|
|
211
|
+
}): Promise<StepResult<any, any, any, any>>;
|
|
116
212
|
}
|
|
117
213
|
|
|
118
|
-
export declare class InngestRun<TSteps extends
|
|
214
|
+
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> {
|
|
119
215
|
#private;
|
|
120
216
|
private inngest;
|
|
217
|
+
serializedStepGraph: SerializedStepFlowEntry[];
|
|
121
218
|
constructor(params: {
|
|
122
219
|
workflowId: string;
|
|
123
220
|
runId: string;
|
|
124
221
|
executionEngine: ExecutionEngine;
|
|
125
222
|
executionGraph: ExecutionGraph;
|
|
223
|
+
serializedStepGraph: SerializedStepFlowEntry[];
|
|
126
224
|
mastra?: Mastra;
|
|
127
225
|
retryConfig?: {
|
|
128
226
|
attempts?: number;
|
|
@@ -132,23 +230,37 @@ export declare class InngestRun<TSteps extends NewStep<string, any, any>[] = New
|
|
|
132
230
|
}, inngest: Inngest);
|
|
133
231
|
getRuns(eventId: string): Promise<any>;
|
|
134
232
|
getRunOutput(eventId: string): Promise<any>;
|
|
233
|
+
sendEvent(event: string, data: any): Promise<void>;
|
|
234
|
+
cancel(): Promise<void>;
|
|
135
235
|
start({ inputData, }: {
|
|
136
236
|
inputData?: z.infer<TInput>;
|
|
137
237
|
runtimeContext?: RuntimeContext;
|
|
138
238
|
}): Promise<WorkflowResult<TOutput, TSteps>>;
|
|
139
239
|
resume<TResumeSchema extends z.ZodType<any>>(params: {
|
|
140
240
|
resumeData?: z.infer<TResumeSchema>;
|
|
141
|
-
step:
|
|
241
|
+
step: Step<string, any, any, TResumeSchema, any> | [...Step<string, any, any, any, any>[], Step<string, any, any, TResumeSchema, any>] | string | string[];
|
|
142
242
|
runtimeContext?: RuntimeContext;
|
|
143
243
|
}): Promise<WorkflowResult<TOutput, TSteps>>;
|
|
144
|
-
|
|
244
|
+
_resume<TResumeSchema extends z.ZodType<any>>(params: {
|
|
245
|
+
resumeData?: z.infer<TResumeSchema>;
|
|
246
|
+
step: Step<string, any, any, TResumeSchema, any> | [...Step<string, any, any, any, any>[], Step<string, any, any, TResumeSchema, any>] | string | string[];
|
|
247
|
+
runtimeContext?: RuntimeContext;
|
|
248
|
+
}): Promise<WorkflowResult<TOutput, TSteps>>;
|
|
249
|
+
watch(cb: (event: WatchEvent) => void, type?: 'watch' | 'watch-v2'): () => void;
|
|
250
|
+
stream({ inputData, runtimeContext }?: {
|
|
251
|
+
inputData?: z.infer<TInput>;
|
|
252
|
+
runtimeContext?: RuntimeContext;
|
|
253
|
+
}): {
|
|
254
|
+
stream: ReadableStream_2<StreamEvent>;
|
|
255
|
+
getWorkflowState: () => Promise<WorkflowResult<TOutput, TSteps>>;
|
|
256
|
+
};
|
|
145
257
|
}
|
|
146
258
|
|
|
147
|
-
export declare class InngestWorkflow<TSteps extends
|
|
259
|
+
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> {
|
|
148
260
|
#private;
|
|
149
261
|
inngest: Inngest;
|
|
150
262
|
private function;
|
|
151
|
-
constructor(params:
|
|
263
|
+
constructor(params: WorkflowConfig<TWorkflowId, TInput, TOutput, TSteps>, inngest: Inngest);
|
|
152
264
|
getWorkflowRuns(args?: {
|
|
153
265
|
fromDate?: Date;
|
|
154
266
|
toDate?: Date;
|
|
@@ -157,10 +269,14 @@ export declare class InngestWorkflow<TSteps extends NewStep<string, any, any>[]
|
|
|
157
269
|
resourceId?: string;
|
|
158
270
|
}): Promise<WorkflowRuns>;
|
|
159
271
|
getWorkflowRunById(runId: string): Promise<WorkflowRun | null>;
|
|
272
|
+
getWorkflowRunExecutionResult(runId: string): Promise<WatchEvent['payload']['workflowState'] | null>;
|
|
160
273
|
__registerMastra(mastra: Mastra): void;
|
|
161
274
|
createRun(options?: {
|
|
162
275
|
runId?: string;
|
|
163
|
-
}): Run<TSteps, TInput, TOutput>;
|
|
276
|
+
}): Run<TEngineType, TSteps, TInput, TOutput>;
|
|
277
|
+
createRunAsync(options?: {
|
|
278
|
+
runId?: string;
|
|
279
|
+
}): Promise<Run<TEngineType, TSteps, TInput, TOutput>>;
|
|
164
280
|
getFunction(): InngestFunction<Omit<InngestFunction.Options<Inngest<ClientOptions>, InngestMiddleware.Stack, InngestFunction.Trigger<string>[] | [{
|
|
165
281
|
cron: string;
|
|
166
282
|
} & Partial<Record<"event" | "if", never>>] | [{
|