@mastra/inngest 0.0.0-course-20250527170450 → 0.0.0-custom-instrumentation-20250626084921
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 +251 -2
- package/dist/_tsup-dts-rollup.d.cts +103 -28
- package/dist/_tsup-dts-rollup.d.ts +103 -28
- package/dist/index.cjs +399 -42
- package/dist/index.d.cts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +399 -43
- package/package.json +18 -17
- package/src/index.test.ts +2607 -1177
- package/src/index.ts +618 -61
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import type { Agent } from '@mastra/core';
|
|
1
2
|
import type { BaseContext } from 'inngest';
|
|
2
3
|
import { ClientOptions } from 'inngest';
|
|
3
|
-
import { cloneStep } from '@mastra/core/workflows';
|
|
4
|
-
import { createStep } from '@mastra/core/workflows';
|
|
5
4
|
import { DefaultExecutionEngine } from '@mastra/core/workflows';
|
|
5
|
+
import type { Emitter } from '@mastra/core/workflows';
|
|
6
6
|
import type { ExecuteFunction } from '@mastra/core/workflows';
|
|
7
7
|
import type { ExecutionContext } from '@mastra/core/workflows';
|
|
8
8
|
import type { ExecutionEngine } from '@mastra/core/workflows';
|
|
@@ -12,38 +12,87 @@ 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 { ReadableStream as ReadableStream_2 } from 'node:stream/web';
|
|
15
16
|
import { Run } from '@mastra/core/workflows';
|
|
16
17
|
import { RuntimeContext } from '@mastra/core/di';
|
|
18
|
+
import type { SerializedStepFlowEntry } from '@mastra/core/workflows';
|
|
17
19
|
import { serve as serve_2 } from 'inngest/hono';
|
|
18
20
|
import type { Span } from '@opentelemetry/api';
|
|
19
21
|
import type { Step } from '@mastra/core/workflows';
|
|
20
22
|
import type { StepFlowEntry } from '@mastra/core/workflows';
|
|
21
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';
|
|
22
28
|
import { Workflow } from '@mastra/core/workflows';
|
|
23
29
|
import type { WorkflowConfig } from '@mastra/core/workflows';
|
|
24
30
|
import type { WorkflowResult } from '@mastra/core/workflows';
|
|
25
31
|
import type { WorkflowRun } from '@mastra/core';
|
|
26
32
|
import type { WorkflowRuns } from '@mastra/core';
|
|
27
|
-
import
|
|
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 Step<string, any, any>[] = Step<string, any, any,
|
|
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
|
-
|
|
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
|
+
}): Promise<TOutput>;
|
|
95
|
+
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>;
|
|
47
96
|
superExecuteStep({ workflowId, runId, step, stepResults, executionContext, resume, prevOutput, emitter, runtimeContext, }: {
|
|
48
97
|
workflowId: string;
|
|
49
98
|
runId: string;
|
|
@@ -55,11 +104,17 @@ export declare class InngestExecutionEngine extends DefaultExecutionEngine {
|
|
|
55
104
|
resumePayload: any;
|
|
56
105
|
};
|
|
57
106
|
prevOutput: any;
|
|
58
|
-
emitter:
|
|
59
|
-
emit: (event: string, data: any) => Promise<void>;
|
|
60
|
-
};
|
|
107
|
+
emitter: Emitter;
|
|
61
108
|
runtimeContext: RuntimeContext;
|
|
62
109
|
}): Promise<StepResult<any, any, any, any>>;
|
|
110
|
+
executeSleep({ id, duration }: {
|
|
111
|
+
id: string;
|
|
112
|
+
duration: number;
|
|
113
|
+
}): Promise<void>;
|
|
114
|
+
executeWaitForEvent({ event, timeout }: {
|
|
115
|
+
event: string;
|
|
116
|
+
timeout?: number;
|
|
117
|
+
}): Promise<any>;
|
|
63
118
|
executeStep({ step, stepResults, executionContext, resume, prevOutput, emitter, runtimeContext, }: {
|
|
64
119
|
step: Step<string, any, any>;
|
|
65
120
|
stepResults: Record<string, StepResult<any, any, any, any>>;
|
|
@@ -79,26 +134,29 @@ export declare class InngestExecutionEngine extends DefaultExecutionEngine {
|
|
|
79
134
|
runId?: string;
|
|
80
135
|
};
|
|
81
136
|
prevOutput: any;
|
|
82
|
-
emitter:
|
|
83
|
-
emit: (event: string, data: any) => Promise<void>;
|
|
84
|
-
};
|
|
137
|
+
emitter: Emitter;
|
|
85
138
|
runtimeContext: RuntimeContext;
|
|
86
139
|
}): Promise<StepResult<any, any, any, any>>;
|
|
87
|
-
persistStepUpdate({ workflowId, runId, stepResults, executionContext, }: {
|
|
140
|
+
persistStepUpdate({ workflowId, runId, stepResults, executionContext, serializedStepGraph, workflowStatus, result, error, }: {
|
|
88
141
|
workflowId: string;
|
|
89
142
|
runId: string;
|
|
90
143
|
stepResults: Record<string, StepResult<any, any, any, any>>;
|
|
144
|
+
serializedStepGraph: SerializedStepFlowEntry[];
|
|
91
145
|
executionContext: ExecutionContext;
|
|
146
|
+
workflowStatus: 'success' | 'failed' | 'suspended' | 'running';
|
|
147
|
+
result?: Record<string, any>;
|
|
148
|
+
error?: string | Error;
|
|
92
149
|
}): Promise<void>;
|
|
93
|
-
executeConditional({ workflowId, runId, entry, prevOutput, prevStep, stepResults, resume, executionContext, emitter, runtimeContext, }: {
|
|
150
|
+
executeConditional({ workflowId, runId, entry, prevOutput, prevStep, stepResults, serializedStepGraph, resume, executionContext, emitter, runtimeContext, }: {
|
|
94
151
|
workflowId: string;
|
|
95
152
|
runId: string;
|
|
96
153
|
entry: {
|
|
97
154
|
type: 'conditional';
|
|
98
155
|
steps: StepFlowEntry[];
|
|
99
|
-
conditions: ExecuteFunction<any, any, any, any>[];
|
|
156
|
+
conditions: ExecuteFunction<any, any, any, any, InngestEngineType>[];
|
|
100
157
|
};
|
|
101
158
|
prevStep: StepFlowEntry;
|
|
159
|
+
serializedStepGraph: SerializedStepFlowEntry[];
|
|
102
160
|
prevOutput: any;
|
|
103
161
|
stepResults: Record<string, StepResult<any, any, any, any>>;
|
|
104
162
|
resume?: {
|
|
@@ -108,21 +166,21 @@ export declare class InngestExecutionEngine extends DefaultExecutionEngine {
|
|
|
108
166
|
resumePath: number[];
|
|
109
167
|
};
|
|
110
168
|
executionContext: ExecutionContext;
|
|
111
|
-
emitter:
|
|
112
|
-
emit: (event: string, data: any) => Promise<void>;
|
|
113
|
-
};
|
|
169
|
+
emitter: Emitter;
|
|
114
170
|
runtimeContext: RuntimeContext;
|
|
115
171
|
}): Promise<StepResult<any, any, any, any>>;
|
|
116
172
|
}
|
|
117
173
|
|
|
118
|
-
export declare class InngestRun<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<TSteps, TInput, TOutput> {
|
|
174
|
+
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
175
|
#private;
|
|
120
176
|
private inngest;
|
|
177
|
+
serializedStepGraph: SerializedStepFlowEntry[];
|
|
121
178
|
constructor(params: {
|
|
122
179
|
workflowId: string;
|
|
123
180
|
runId: string;
|
|
124
181
|
executionEngine: ExecutionEngine;
|
|
125
182
|
executionGraph: ExecutionGraph;
|
|
183
|
+
serializedStepGraph: SerializedStepFlowEntry[];
|
|
126
184
|
mastra?: Mastra;
|
|
127
185
|
retryConfig?: {
|
|
128
186
|
attempts?: number;
|
|
@@ -132,6 +190,7 @@ export declare class InngestRun<TSteps extends Step<string, any, any>[] = Step<s
|
|
|
132
190
|
}, inngest: Inngest);
|
|
133
191
|
getRuns(eventId: string): Promise<any>;
|
|
134
192
|
getRunOutput(eventId: string): Promise<any>;
|
|
193
|
+
sendEvent(event: string, data: any): Promise<void>;
|
|
135
194
|
start({ inputData, }: {
|
|
136
195
|
inputData?: z.infer<TInput>;
|
|
137
196
|
runtimeContext?: RuntimeContext;
|
|
@@ -141,10 +200,22 @@ export declare class InngestRun<TSteps extends Step<string, any, any>[] = Step<s
|
|
|
141
200
|
step: Step<string, any, any, TResumeSchema, any> | [...Step<string, any, any, any, any>[], Step<string, any, any, TResumeSchema, any>] | string | string[];
|
|
142
201
|
runtimeContext?: RuntimeContext;
|
|
143
202
|
}): Promise<WorkflowResult<TOutput, TSteps>>;
|
|
144
|
-
|
|
203
|
+
_resume<TResumeSchema extends z.ZodType<any>>(params: {
|
|
204
|
+
resumeData?: z.infer<TResumeSchema>;
|
|
205
|
+
step: Step<string, any, any, TResumeSchema, any> | [...Step<string, any, any, any, any>[], Step<string, any, any, TResumeSchema, any>] | string | string[];
|
|
206
|
+
runtimeContext?: RuntimeContext;
|
|
207
|
+
}): Promise<WorkflowResult<TOutput, TSteps>>;
|
|
208
|
+
watch(cb: (event: WatchEvent) => void, type?: 'watch' | 'watch-v2'): () => void;
|
|
209
|
+
stream({ inputData, runtimeContext }?: {
|
|
210
|
+
inputData?: z.infer<TInput>;
|
|
211
|
+
runtimeContext?: RuntimeContext;
|
|
212
|
+
}): {
|
|
213
|
+
stream: ReadableStream_2<StreamEvent>;
|
|
214
|
+
getWorkflowState: () => Promise<WorkflowResult<TOutput, TSteps>>;
|
|
215
|
+
};
|
|
145
216
|
}
|
|
146
217
|
|
|
147
|
-
export declare class InngestWorkflow<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<TSteps, TWorkflowId, TInput, TOutput, TPrevSchema> {
|
|
218
|
+
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
219
|
#private;
|
|
149
220
|
inngest: Inngest;
|
|
150
221
|
private function;
|
|
@@ -157,10 +228,14 @@ export declare class InngestWorkflow<TSteps extends Step<string, any, any>[] = S
|
|
|
157
228
|
resourceId?: string;
|
|
158
229
|
}): Promise<WorkflowRuns>;
|
|
159
230
|
getWorkflowRunById(runId: string): Promise<WorkflowRun | null>;
|
|
231
|
+
getWorkflowRunExecutionResult(runId: string): Promise<WatchEvent['payload']['workflowState'] | null>;
|
|
160
232
|
__registerMastra(mastra: Mastra): void;
|
|
161
233
|
createRun(options?: {
|
|
162
234
|
runId?: string;
|
|
163
|
-
}): Run<TSteps, TInput, TOutput>;
|
|
235
|
+
}): Run<TEngineType, TSteps, TInput, TOutput>;
|
|
236
|
+
createRunAsync(options?: {
|
|
237
|
+
runId?: string;
|
|
238
|
+
}): Promise<Run<TEngineType, TSteps, TInput, TOutput>>;
|
|
164
239
|
getFunction(): InngestFunction<Omit<InngestFunction.Options<Inngest<ClientOptions>, InngestMiddleware.Stack, InngestFunction.Trigger<string>[] | [{
|
|
165
240
|
cron: string;
|
|
166
241
|
} & Partial<Record<"event" | "if", never>>] | [{
|