@cchevli/inngest 1.8.1-walton.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3981 -0
- package/dist/__tests__/adapters/_utils.d.ts +18 -0
- package/dist/__tests__/adapters/_utils.d.ts.map +1 -0
- package/dist/__tests__/durable-agent.test.utils.d.ts +43 -0
- package/dist/__tests__/durable-agent.test.utils.d.ts.map +1 -0
- package/dist/chunk-MICZJLEE.cjs +1977 -0
- package/dist/chunk-MICZJLEE.cjs.map +1 -0
- package/dist/chunk-SE7QPBOX.js +1970 -0
- package/dist/chunk-SE7QPBOX.js.map +1 -0
- package/dist/connect.cjs +12 -0
- package/dist/connect.cjs.map +1 -0
- package/dist/connect.d.ts +43 -0
- package/dist/connect.d.ts.map +1 -0
- package/dist/connect.js +3 -0
- package/dist/connect.js.map +1 -0
- package/dist/durable-agent/create-inngest-agent.d.ts +425 -0
- package/dist/durable-agent/create-inngest-agent.d.ts.map +1 -0
- package/dist/durable-agent/create-inngest-agentic-workflow.d.ts +56 -0
- package/dist/durable-agent/create-inngest-agentic-workflow.d.ts.map +1 -0
- package/dist/durable-agent/index.d.ts +48 -0
- package/dist/durable-agent/index.d.ts.map +1 -0
- package/dist/execution-engine.d.ts +209 -0
- package/dist/execution-engine.d.ts.map +1 -0
- package/dist/functions.d.ts +7 -0
- package/dist/functions.d.ts.map +1 -0
- package/dist/index.cjs +1576 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +117 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1548 -0
- package/dist/index.js.map +1 -0
- package/dist/nested-workflow-output.d.ts +21 -0
- package/dist/nested-workflow-output.d.ts.map +1 -0
- package/dist/pubsub.d.ts +60 -0
- package/dist/pubsub.d.ts.map +1 -0
- package/dist/run.d.ts +234 -0
- package/dist/run.d.ts.map +1 -0
- package/dist/serve.d.ts +77 -0
- package/dist/serve.d.ts.map +1 -0
- package/dist/types.d.ts +16 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/workflow.d.ts +58 -0
- package/dist/workflow.d.ts.map +1 -0
- package/package.json +98 -0
package/dist/run.d.ts
ADDED
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
import { ReadableStream } from 'node:stream/web';
|
|
2
|
+
import type { ActorSignal } from '@mastra/core/auth/ee';
|
|
3
|
+
import type { Mastra } from '@mastra/core/mastra';
|
|
4
|
+
import type { TracingContext, TracingOptions } from '@mastra/core/observability';
|
|
5
|
+
import type { RequestContext } from '@mastra/core/request-context';
|
|
6
|
+
import { WorkflowRunOutput } from '@mastra/core/stream';
|
|
7
|
+
import { Run } from '@mastra/core/workflows';
|
|
8
|
+
import type { ExecutionEngine, ExecutionGraph, OutputWriter, SerializedStepFlowEntry, Step, StepWithComponent, StreamEvent, TimeTravelContext, WorkflowEngineType, WorkflowResult, WorkflowStreamEvent } from '@mastra/core/workflows';
|
|
9
|
+
import type { Inngest } from 'inngest';
|
|
10
|
+
import type { InngestEngineType } from './types.js';
|
|
11
|
+
export declare class InngestRun<TEngineType = InngestEngineType, TSteps extends Step<string, any, any, any, any, any, TEngineType>[] = Step<string, unknown, unknown, unknown, unknown, unknown, TEngineType>[], TState = unknown, TInput = unknown, TOutput = unknown> extends Run<TEngineType, TSteps, TState, TInput, TOutput> {
|
|
12
|
+
#private;
|
|
13
|
+
private inngest;
|
|
14
|
+
serializedStepGraph: SerializedStepFlowEntry[];
|
|
15
|
+
constructor(params: {
|
|
16
|
+
workflowId: string;
|
|
17
|
+
runId: string;
|
|
18
|
+
resourceId?: string;
|
|
19
|
+
executionEngine: ExecutionEngine;
|
|
20
|
+
executionGraph: ExecutionGraph;
|
|
21
|
+
serializedStepGraph: SerializedStepFlowEntry[];
|
|
22
|
+
mastra?: Mastra;
|
|
23
|
+
retryConfig?: {
|
|
24
|
+
attempts?: number;
|
|
25
|
+
delay?: number;
|
|
26
|
+
};
|
|
27
|
+
cleanup?: () => void;
|
|
28
|
+
workflowSteps: Record<string, StepWithComponent>;
|
|
29
|
+
workflowEngineType: WorkflowEngineType;
|
|
30
|
+
validateInputs?: boolean;
|
|
31
|
+
}, inngest: Inngest);
|
|
32
|
+
/**
|
|
33
|
+
* Get run output using hybrid approach: realtime subscription + polling fallback.
|
|
34
|
+
* Resolves as soon as either method detects completion.
|
|
35
|
+
*/
|
|
36
|
+
getRunOutput(_eventId: string, maxWaitMs?: number): Promise<any>;
|
|
37
|
+
cancel(): Promise<void>;
|
|
38
|
+
start(args: (TInput extends unknown ? {
|
|
39
|
+
inputData?: TInput;
|
|
40
|
+
} : {
|
|
41
|
+
inputData: TInput;
|
|
42
|
+
}) & (TState extends unknown ? {
|
|
43
|
+
initialState?: TState;
|
|
44
|
+
} : {
|
|
45
|
+
initialState: TState;
|
|
46
|
+
}) & {
|
|
47
|
+
requestContext?: RequestContext;
|
|
48
|
+
actor?: ActorSignal;
|
|
49
|
+
outputWriter?: OutputWriter;
|
|
50
|
+
tracingContext?: TracingContext;
|
|
51
|
+
tracingOptions?: TracingOptions;
|
|
52
|
+
outputOptions?: {
|
|
53
|
+
includeState?: boolean;
|
|
54
|
+
includeResumeLabels?: boolean;
|
|
55
|
+
};
|
|
56
|
+
perStep?: boolean;
|
|
57
|
+
}): Promise<WorkflowResult<TState, TInput, TOutput, TSteps>>;
|
|
58
|
+
/**
|
|
59
|
+
* Starts the workflow execution without waiting for completion (fire-and-forget).
|
|
60
|
+
* Returns immediately with the runId after sending the event to Inngest.
|
|
61
|
+
* The workflow executes independently in Inngest.
|
|
62
|
+
* Use this when you don't need to wait for the result or want to avoid polling failures.
|
|
63
|
+
*/
|
|
64
|
+
startAsync(args: (TInput extends unknown ? {
|
|
65
|
+
inputData?: TInput;
|
|
66
|
+
} : {
|
|
67
|
+
inputData: TInput;
|
|
68
|
+
}) & (TState extends unknown ? {
|
|
69
|
+
initialState?: TState;
|
|
70
|
+
} : {
|
|
71
|
+
initialState: TState;
|
|
72
|
+
}) & {
|
|
73
|
+
requestContext?: RequestContext;
|
|
74
|
+
actor?: ActorSignal;
|
|
75
|
+
tracingOptions?: TracingOptions;
|
|
76
|
+
outputOptions?: {
|
|
77
|
+
includeState?: boolean;
|
|
78
|
+
includeResumeLabels?: boolean;
|
|
79
|
+
};
|
|
80
|
+
perStep?: boolean;
|
|
81
|
+
}): Promise<{
|
|
82
|
+
runId: string;
|
|
83
|
+
}>;
|
|
84
|
+
_start({ inputData, initialState, outputOptions, tracingOptions, format, requestContext, actor, perStep, }: {
|
|
85
|
+
inputData?: TInput;
|
|
86
|
+
requestContext?: RequestContext;
|
|
87
|
+
actor?: ActorSignal;
|
|
88
|
+
initialState?: TState;
|
|
89
|
+
tracingOptions?: TracingOptions;
|
|
90
|
+
outputOptions?: {
|
|
91
|
+
includeState?: boolean;
|
|
92
|
+
includeResumeLabels?: boolean;
|
|
93
|
+
};
|
|
94
|
+
format?: 'legacy' | 'vnext' | undefined;
|
|
95
|
+
perStep?: boolean;
|
|
96
|
+
}): Promise<WorkflowResult<TState, TInput, TOutput, TSteps>>;
|
|
97
|
+
resume<TResume>(params: {
|
|
98
|
+
resumeData?: TResume;
|
|
99
|
+
step?: Step<string, any, any, TResume, any> | [...Step<string, any, any, any, any>[], Step<string, any, any, TResume, any>] | string | string[];
|
|
100
|
+
label?: string;
|
|
101
|
+
requestContext?: RequestContext;
|
|
102
|
+
actor?: ActorSignal;
|
|
103
|
+
perStep?: boolean;
|
|
104
|
+
}): Promise<WorkflowResult<TState, TInput, TOutput, TSteps>>;
|
|
105
|
+
/**
|
|
106
|
+
* Performs all resume preparation and dispatches the resume event to Inngest,
|
|
107
|
+
* but does NOT wait for the workflow result. Shared by `_resume()` (which polls
|
|
108
|
+
* for the result afterwards) and `resumeAsync()` (which returns immediately).
|
|
109
|
+
*
|
|
110
|
+
* Send-time failures (invalid resume data, event send failure) reject synchronously,
|
|
111
|
+
* and the snapshot is rolled back to its prior state on send failure.
|
|
112
|
+
*/
|
|
113
|
+
_resumeAndSendEvent<TResume>(params: {
|
|
114
|
+
resumeData?: TResume;
|
|
115
|
+
step?: Step<string, any, any, TResume, any> | [...Step<string, any, any, any, any>[], Step<string, any, any, TResume, any>] | string | string[];
|
|
116
|
+
label?: string;
|
|
117
|
+
requestContext?: RequestContext;
|
|
118
|
+
actor?: ActorSignal;
|
|
119
|
+
perStep?: boolean;
|
|
120
|
+
}): Promise<{
|
|
121
|
+
eventId: string;
|
|
122
|
+
}>;
|
|
123
|
+
_resume<TResume>(params: {
|
|
124
|
+
resumeData?: TResume;
|
|
125
|
+
step?: Step<string, any, any, TResume, any> | [...Step<string, any, any, any, any>[], Step<string, any, any, TResume, any>] | string | string[];
|
|
126
|
+
label?: string;
|
|
127
|
+
requestContext?: RequestContext;
|
|
128
|
+
actor?: ActorSignal;
|
|
129
|
+
perStep?: boolean;
|
|
130
|
+
}): Promise<WorkflowResult<TState, TInput, TOutput, TSteps>>;
|
|
131
|
+
/**
|
|
132
|
+
* Resumes a suspended workflow without waiting for completion (fire-and-forget).
|
|
133
|
+
* Returns immediately with the runId after sending the resume event to Inngest.
|
|
134
|
+
* The workflow continues executing independently in Inngest.
|
|
135
|
+
*
|
|
136
|
+
* Mirrors `startAsync()`: send-time failures (invalid resume data, event send
|
|
137
|
+
* failure) still reject synchronously and roll back the snapshot, but the result
|
|
138
|
+
* is never polled via `getRunOutput()`. This avoids the polling-based 404 race when
|
|
139
|
+
* you don't need the resolved result inline.
|
|
140
|
+
*
|
|
141
|
+
* NOTE: this is exposed over HTTP / the client SDK as `resume-no-wait` / `resumeNoWait()`,
|
|
142
|
+
* not `resumeAsync`, because the existing `resumeAsync()` client/server surface awaits the
|
|
143
|
+
* full workflow result. TODO(v2): consolidate so `resumeAsync` consistently means
|
|
144
|
+
* fire-and-forget across core, client SDK and HTTP routes (breaking change deferred to v2).
|
|
145
|
+
*/
|
|
146
|
+
resumeAsync<TResume>(params: {
|
|
147
|
+
resumeData?: TResume;
|
|
148
|
+
step?: Step<string, any, any, TResume, any> | [...Step<string, any, any, any, any>[], Step<string, any, any, TResume, any>] | string | string[];
|
|
149
|
+
label?: string;
|
|
150
|
+
requestContext?: RequestContext;
|
|
151
|
+
actor?: ActorSignal;
|
|
152
|
+
perStep?: boolean;
|
|
153
|
+
}): Promise<{
|
|
154
|
+
runId: string;
|
|
155
|
+
}>;
|
|
156
|
+
timeTravel<TInput>(params: {
|
|
157
|
+
inputData?: TInput;
|
|
158
|
+
resumeData?: any;
|
|
159
|
+
initialState?: TState;
|
|
160
|
+
step: Step<string, any, TInput, any, any> | [...Step<string, any, any, any, any>[], Step<string, any, TInput, any, any>] | string | string[];
|
|
161
|
+
context?: TimeTravelContext<any, any, any, any>;
|
|
162
|
+
nestedStepsContext?: Record<string, TimeTravelContext<any, any, any, any>>;
|
|
163
|
+
requestContext?: RequestContext;
|
|
164
|
+
actor?: ActorSignal;
|
|
165
|
+
tracingOptions?: TracingOptions;
|
|
166
|
+
outputOptions?: {
|
|
167
|
+
includeState?: boolean;
|
|
168
|
+
includeResumeLabels?: boolean;
|
|
169
|
+
};
|
|
170
|
+
perStep?: boolean;
|
|
171
|
+
}): Promise<WorkflowResult<TState, TInput, TOutput, TSteps>>;
|
|
172
|
+
_timeTravel<TInput>(params: {
|
|
173
|
+
inputData?: TInput;
|
|
174
|
+
resumeData?: any;
|
|
175
|
+
initialState?: TState;
|
|
176
|
+
step: Step<string, any, TInput, any, any> | [...Step<string, any, any, any, any>[], Step<string, any, TInput, any, any>] | string | string[];
|
|
177
|
+
context?: TimeTravelContext<any, any, any, any>;
|
|
178
|
+
nestedStepsContext?: Record<string, TimeTravelContext<any, any, any, any>>;
|
|
179
|
+
requestContext?: RequestContext;
|
|
180
|
+
actor?: ActorSignal;
|
|
181
|
+
tracingOptions?: TracingOptions;
|
|
182
|
+
outputOptions?: {
|
|
183
|
+
includeState?: boolean;
|
|
184
|
+
includeResumeLabels?: boolean;
|
|
185
|
+
};
|
|
186
|
+
perStep?: boolean;
|
|
187
|
+
}): Promise<any>;
|
|
188
|
+
watch(cb: (event: WorkflowStreamEvent) => void): () => void;
|
|
189
|
+
streamLegacy({ inputData, requestContext, actor, }?: {
|
|
190
|
+
inputData?: TInput;
|
|
191
|
+
requestContext?: RequestContext;
|
|
192
|
+
actor?: ActorSignal;
|
|
193
|
+
}): {
|
|
194
|
+
stream: ReadableStream<StreamEvent>;
|
|
195
|
+
getWorkflowState: () => Promise<WorkflowResult<TState, TInput, TOutput, TSteps>>;
|
|
196
|
+
};
|
|
197
|
+
stream({ inputData, requestContext, actor, tracingOptions, closeOnSuspend, initialState, outputOptions, perStep, }?: {
|
|
198
|
+
inputData?: TInput;
|
|
199
|
+
requestContext?: RequestContext;
|
|
200
|
+
actor?: ActorSignal;
|
|
201
|
+
tracingContext?: TracingContext;
|
|
202
|
+
tracingOptions?: TracingOptions;
|
|
203
|
+
closeOnSuspend?: boolean;
|
|
204
|
+
initialState?: TState;
|
|
205
|
+
outputOptions?: {
|
|
206
|
+
includeState?: boolean;
|
|
207
|
+
includeResumeLabels?: boolean;
|
|
208
|
+
};
|
|
209
|
+
perStep?: boolean;
|
|
210
|
+
}): WorkflowRunOutput<WorkflowResult<TState, TInput, TOutput, TSteps>>;
|
|
211
|
+
timeTravelStream<TTravelInput>({ inputData, resumeData, initialState, step, context, nestedStepsContext, requestContext, actor, tracingOptions, outputOptions, perStep, }: {
|
|
212
|
+
inputData?: TTravelInput;
|
|
213
|
+
initialState?: TState;
|
|
214
|
+
resumeData?: any;
|
|
215
|
+
step: Step<string, any, any, any, any, any, TEngineType> | [...Step<string, any, any, any, any, any, TEngineType>[], Step<string, any, any, any, any, any, TEngineType>] | string | string[];
|
|
216
|
+
context?: TimeTravelContext<any, any, any, any>;
|
|
217
|
+
nestedStepsContext?: Record<string, TimeTravelContext<any, any, any, any>>;
|
|
218
|
+
requestContext?: RequestContext;
|
|
219
|
+
actor?: ActorSignal;
|
|
220
|
+
tracingContext?: TracingContext;
|
|
221
|
+
tracingOptions?: TracingOptions;
|
|
222
|
+
outputOptions?: {
|
|
223
|
+
includeState?: boolean;
|
|
224
|
+
includeResumeLabels?: boolean;
|
|
225
|
+
};
|
|
226
|
+
perStep?: boolean;
|
|
227
|
+
}): WorkflowRunOutput<WorkflowResult<TState, TInput, TOutput, TSteps>>;
|
|
228
|
+
/**
|
|
229
|
+
* Hydrates errors in a failed workflow result back to proper Error instances.
|
|
230
|
+
* This ensures error.cause chains and custom properties are preserved.
|
|
231
|
+
*/
|
|
232
|
+
private hydrateFailedResult;
|
|
233
|
+
}
|
|
234
|
+
//# sourceMappingURL=run.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|
package/dist/serve.d.ts
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { Mastra } from '@mastra/core/mastra';
|
|
2
|
+
import type { Inngest, InngestFunction, RegisterOptions } from 'inngest';
|
|
3
|
+
import { serve as inngestServeHono } from 'inngest/hono';
|
|
4
|
+
/**
|
|
5
|
+
* Options for serve functions
|
|
6
|
+
*/
|
|
7
|
+
export interface MastraServeOptions {
|
|
8
|
+
mastra: Mastra;
|
|
9
|
+
inngest: Inngest;
|
|
10
|
+
/**
|
|
11
|
+
* Optional array of additional functions to serve and register with Inngest.
|
|
12
|
+
*/
|
|
13
|
+
functions?: InngestFunction.Like[];
|
|
14
|
+
registerOptions?: RegisterOptions;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Type for inngest serve adapters (e.g., from inngest/hono, inngest/express, etc.)
|
|
18
|
+
* Inferred from the inngest serve function signatures.
|
|
19
|
+
*/
|
|
20
|
+
export type InngestServeAdapter<THandler> = (options: {
|
|
21
|
+
client: Inngest;
|
|
22
|
+
functions: InngestFunction.Like[];
|
|
23
|
+
[key: string]: unknown;
|
|
24
|
+
}) => THandler;
|
|
25
|
+
/**
|
|
26
|
+
* Factory function to create a serve function with any inngest adapter.
|
|
27
|
+
* Use this to integrate Mastra workflows with any framework supported by inngest.
|
|
28
|
+
*
|
|
29
|
+
* @example Express
|
|
30
|
+
* ```ts
|
|
31
|
+
* import { createServe } from '@mastra/inngest';
|
|
32
|
+
* import { serve } from 'inngest/express';
|
|
33
|
+
*
|
|
34
|
+
* const serveExpress = createServe(serve);
|
|
35
|
+
* app.use('/inngest/api', serveExpress({ mastra, inngest }));
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @example Fastify
|
|
39
|
+
* ```ts
|
|
40
|
+
* import { createServe } from '@mastra/inngest';
|
|
41
|
+
* import { serve } from 'inngest/fastify';
|
|
42
|
+
*
|
|
43
|
+
* const serveFastify = createServe(serve);
|
|
44
|
+
* fastify.route({
|
|
45
|
+
* method: ['GET', 'POST', 'PUT'],
|
|
46
|
+
* handler: serveFastify({ mastra, inngest }),
|
|
47
|
+
* url: '/inngest/api',
|
|
48
|
+
* });
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* @example Next.js
|
|
52
|
+
* ```ts
|
|
53
|
+
* // app/inngest/api/route.ts — file path determines the route URL
|
|
54
|
+
* import { createServe } from '@mastra/inngest';
|
|
55
|
+
* import { serve } from 'inngest/next';
|
|
56
|
+
*
|
|
57
|
+
* const serveNext = createServe(serve);
|
|
58
|
+
* export const { GET, POST, PUT } = serveNext({ mastra, inngest });
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
export declare function createServe<THandler>(adapter: InngestServeAdapter<THandler>): (options: MastraServeOptions) => THandler;
|
|
62
|
+
/**
|
|
63
|
+
* Serve Mastra workflows with Hono (default).
|
|
64
|
+
*
|
|
65
|
+
* For other frameworks, use `createServe` with the appropriate inngest adapter.
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```ts
|
|
69
|
+
* import { serve } from '@mastra/inngest';
|
|
70
|
+
*
|
|
71
|
+
* app.use('/inngest/api', async (c) => {
|
|
72
|
+
* return serve({ mastra, inngest })(c);
|
|
73
|
+
* });
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export declare const serve: (options: MastraServeOptions) => ReturnType<typeof inngestServeHono>;
|
|
77
|
+
//# sourceMappingURL=serve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,KAAK,IAAI,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGzD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;IACnC,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE;IACpD,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,KAAK,QAAQ,CAAC;AAaf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAClC,OAAO,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GACrC,CAAC,OAAO,EAAE,kBAAkB,KAAK,QAAQ,CAK3C;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,KAAK,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,UAAU,CAAC,OAAO,gBAAgB,CACxD,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Step, WorkflowConfig } from '@mastra/core/workflows';
|
|
2
|
+
import type { Inngest } from 'inngest';
|
|
3
|
+
export type InngestCreateFunctionConfig = Parameters<Inngest['createFunction']>[0];
|
|
4
|
+
export type InngestFlowControlConfig = Pick<InngestCreateFunctionConfig, 'concurrency' | 'rateLimit' | 'throttle' | 'debounce' | 'priority'>;
|
|
5
|
+
export type InngestFlowCronConfig<TInputData, TInitialState> = {
|
|
6
|
+
cron?: string;
|
|
7
|
+
inputData?: TInputData;
|
|
8
|
+
initialState?: TInitialState;
|
|
9
|
+
};
|
|
10
|
+
export type InngestWorkflowConfig<TWorkflowId extends string, TState, TInput, TOutput, TSteps extends Step<string, any, any, any, any, any, InngestEngineType>[]> = WorkflowConfig<TWorkflowId, TState, TInput, TOutput, TSteps> & InngestFlowControlConfig & InngestFlowCronConfig<TInput, TState>;
|
|
11
|
+
export type _AssertInngestCompatibility = InngestFlowControlConfig extends Pick<Parameters<Inngest['createFunction']>[0], keyof InngestFlowControlConfig> ? true : never;
|
|
12
|
+
export declare const _compatibilityCheck: _AssertInngestCompatibility;
|
|
13
|
+
export type InngestEngineType = {
|
|
14
|
+
step: any;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAGnF,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACzC,2BAA2B,EAC3B,aAAa,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CACnE,CAAC;AAGF,MAAM,MAAM,qBAAqB,CAAC,UAAU,EAAE,aAAa,IAAI;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,YAAY,CAAC,EAAE,aAAa,CAAC;CAC9B,CAAC;AAGF,MAAM,MAAM,qBAAqB,CAC/B,WAAW,SAAS,MAAM,EAC1B,MAAM,EACN,MAAM,EACN,OAAO,EACP,MAAM,SAAS,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE,IACvE,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,GAC9D,wBAAwB,GACxB,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAGxC,MAAM,MAAM,2BAA2B,GACrC,wBAAwB,SAAS,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,wBAAwB,CAAC,GAC3G,IAAI,GACJ,KAAK,CAAC;AACZ,eAAO,MAAM,mBAAmB,EAAE,2BAAkC,CAAC;AAErE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,GAAG,CAAC;CACX,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { PubSub } from '@mastra/core/events';
|
|
2
|
+
import type { Mastra } from '@mastra/core/mastra';
|
|
3
|
+
import type { WorkflowRuns } from '@mastra/core/storage';
|
|
4
|
+
import { Workflow } from '@mastra/core/workflows';
|
|
5
|
+
import type { Step, StepFlowEntry, Run } from '@mastra/core/workflows';
|
|
6
|
+
import type { Inngest } from 'inngest';
|
|
7
|
+
import type { InngestEngineType, InngestWorkflowConfig } from './types.js';
|
|
8
|
+
export declare class InngestWorkflow<TEngineType = InngestEngineType, TSteps extends Step<string, any, any, any, any, any, TEngineType>[] = Step<string, unknown, unknown, unknown, unknown, unknown, TEngineType>[], TWorkflowId extends string = string, TState = unknown, TInput = unknown, TOutput = unknown, TPrevSchema = TInput> extends Workflow<TEngineType, TSteps, TWorkflowId, TState, TInput, TOutput, TPrevSchema> {
|
|
9
|
+
#private;
|
|
10
|
+
inngest: Inngest;
|
|
11
|
+
private function;
|
|
12
|
+
private cronFunction;
|
|
13
|
+
private readonly flowControlConfig?;
|
|
14
|
+
private readonly cronConfig?;
|
|
15
|
+
constructor(params: InngestWorkflowConfig<TWorkflowId, TState, TInput, TOutput, TSteps & Step<string, any, any, any, any, any, InngestEngineType>[]>, inngest: Inngest);
|
|
16
|
+
listWorkflowRuns(args?: {
|
|
17
|
+
fromDate?: Date;
|
|
18
|
+
toDate?: Date;
|
|
19
|
+
perPage?: number | false;
|
|
20
|
+
page?: number;
|
|
21
|
+
resourceId?: string;
|
|
22
|
+
}): Promise<WorkflowRuns>;
|
|
23
|
+
/**
|
|
24
|
+
* Override the PubSub used inside the durable workflow function. Callers like
|
|
25
|
+
* `createInngestAgent` use this to route workflow event publishes through the
|
|
26
|
+
* agent's `CachingPubSub`, so `observe()` can replay cached history.
|
|
27
|
+
*
|
|
28
|
+
* The factory receives the workflow's own default `InngestPubSub` (constructed
|
|
29
|
+
* with this workflow's id) as input. Hosts should wrap that instance rather
|
|
30
|
+
* than substitute it, so workflow-event channels (which encode the workflow
|
|
31
|
+
* id) remain workflow-local. Returning a `CachingPubSub` wrapping the default
|
|
32
|
+
* is the canonical pattern.
|
|
33
|
+
*
|
|
34
|
+
* The factory is propagated to every nested `InngestWorkflow` in the step
|
|
35
|
+
* graph. Nested workflows run as their own Inngest functions and resolve
|
|
36
|
+
* their own pubsub at runtime; each invocation passes its own workflow-local
|
|
37
|
+
* default into the same factory, so the host can share cross-workflow state
|
|
38
|
+
* (e.g. a single agent-scoped cache) without collapsing per-workflow channel
|
|
39
|
+
* isolation.
|
|
40
|
+
*/
|
|
41
|
+
__setPubsubFactory(factory: (defaultPubsub: PubSub) => PubSub): void;
|
|
42
|
+
/**
|
|
43
|
+
* Test-only accessor for the configured pubsub factory. Lets tests verify that
|
|
44
|
+
* a host (e.g. `createInngestAgent`) wired the workflow to its agent pubsub
|
|
45
|
+
* without having to drive a real Inngest invocation.
|
|
46
|
+
*/
|
|
47
|
+
__getPubsubFactory(): ((defaultPubsub: PubSub) => PubSub) | undefined;
|
|
48
|
+
__registerMastra(mastra: Mastra): void;
|
|
49
|
+
createRun(options?: {
|
|
50
|
+
runId?: string;
|
|
51
|
+
resourceId?: string;
|
|
52
|
+
}): Promise<Run<TEngineType, TSteps, TState, TInput, TOutput>>;
|
|
53
|
+
private createCronFunction;
|
|
54
|
+
getFunction(): ReturnType<Inngest['createFunction']>;
|
|
55
|
+
getNestedFunctions(steps: StepFlowEntry[]): ReturnType<Inngest['createFunction']>[];
|
|
56
|
+
getFunctions(): ReturnType<Inngest['createFunction']>[];
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=workflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,KAAK,EACV,IAAI,EAGJ,aAAa,EAIb,GAAG,EACJ,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AASvC,OAAO,KAAK,EACV,iBAAiB,EAGjB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB,qBAAa,eAAe,CAC1B,WAAW,GAAG,iBAAiB,EAC/B,MAAM,SAAS,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,GAAG,IAAI,CACxE,MAAM,EACN,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,WAAW,CACZ,EAAE,EACH,WAAW,SAAS,MAAM,GAAG,MAAM,EACnC,MAAM,GAAG,OAAO,EAChB,MAAM,GAAG,OAAO,EAChB,OAAO,GAAG,OAAO,EACjB,WAAW,GAAG,MAAM,CACpB,SAAQ,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC;;IAEjF,OAAO,EAAE,OAAO,CAAC;IAExB,OAAO,CAAC,QAAQ,CAAoD;IACpE,OAAO,CAAC,YAAY,CAAoD;IACxE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAwC;gBAWlE,MAAM,EAAE,qBAAqB,CAC3B,WAAW,EACX,MAAM,EACN,MAAM,EACN,OAAO,EACP,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE,CACpE,EACD,OAAO,EAAE,OAAO;IAuBZ,gBAAgB,CAAC,IAAI,CAAC,EAAE;QAC5B,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChB,MAAM,CAAC,EAAE,IAAI,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;IAcD;;;;;;;;;;;;;;;;;OAiBG;IACH,kBAAkB,CAAC,OAAO,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM;IAmB7D;;;;OAIG;IACH,kBAAkB,IAAI,CAAC,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS;IAIrE,gBAAgB,CAAC,MAAM,EAAE,MAAM;IAwBzB,SAAS,CAAC,OAAO,CAAC,EAAE;QACxB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAkE9D,OAAO,CAAC,kBAAkB;IAyB1B,WAAW,IAAI,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAuSpD,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE;IAenF,YAAY,IAAI,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE;CAOxD"}
|
package/package.json
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@cchevli/inngest",
|
|
3
|
+
"version": "1.8.1-walton.0",
|
|
4
|
+
"description": "Mastra Inngest integration",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist",
|
|
10
|
+
"CHANGELOG.md"
|
|
11
|
+
],
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"import": {
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
|
+
"default": "./dist/index.js"
|
|
17
|
+
},
|
|
18
|
+
"require": {
|
|
19
|
+
"types": "./dist/index.d.ts",
|
|
20
|
+
"default": "./dist/index.cjs"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"./connect": {
|
|
24
|
+
"import": {
|
|
25
|
+
"types": "./dist/connect.d.ts",
|
|
26
|
+
"default": "./dist/connect.js"
|
|
27
|
+
},
|
|
28
|
+
"require": {
|
|
29
|
+
"types": "./dist/connect.d.ts",
|
|
30
|
+
"default": "./dist/connect.cjs"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"./package.json": "./package.json"
|
|
34
|
+
},
|
|
35
|
+
"scripts": {
|
|
36
|
+
"build": "tsup --silent --config tsup.config.ts",
|
|
37
|
+
"build:watch": "pnpm build --watch",
|
|
38
|
+
"test": "vitest run --no-isolate --retry=1 --exclude='src/__tests__/adapters/**'",
|
|
39
|
+
"test:unit": "vitest run --no-isolate --retry=1 src/__tests__/create-inngest-agent.test.ts",
|
|
40
|
+
"test:suite": "vitest run --no-isolate --retry=1 src/__tests__/inngest-durable-agent-suite.test.ts",
|
|
41
|
+
"test:workflow": "vitest run --no-isolate --retry=1 src/index.test.ts",
|
|
42
|
+
"test:integration": "vitest run --no-isolate --retry=1 src/__tests__/adapters/",
|
|
43
|
+
"test:docker": "docker-compose up -d && vitest run --no-isolate --retry=1 --exclude='src/__tests__/adapters/**' && docker-compose down",
|
|
44
|
+
"lint": "eslint ."
|
|
45
|
+
},
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"@opentelemetry/api": "^1.9.1",
|
|
48
|
+
"inngest": "^4.5.0"
|
|
49
|
+
},
|
|
50
|
+
"devDependencies": {
|
|
51
|
+
"@ai-sdk/openai": "^1.3.24",
|
|
52
|
+
"@hono/node-server": "^1.19.11",
|
|
53
|
+
"@internal/lint": "workspace:*",
|
|
54
|
+
"@internal/types-builder": "workspace:*",
|
|
55
|
+
"@internal/workflow-test-utils": "workspace:*",
|
|
56
|
+
"@koa/router": "^13.1.1",
|
|
57
|
+
"@mastra/core": "workspace:*",
|
|
58
|
+
"@mastra/deployer": "workspace:*",
|
|
59
|
+
"@mastra/libsql": "workspace:*",
|
|
60
|
+
"@mastra/observability": "workspace:*",
|
|
61
|
+
"@types/express": "^5.0.6",
|
|
62
|
+
"@types/koa": "^3.0.1",
|
|
63
|
+
"@types/koa-bodyparser": "^4.3.13",
|
|
64
|
+
"@types/node": "22.19.21",
|
|
65
|
+
"@vitest/coverage-v8": "catalog:",
|
|
66
|
+
"@vitest/ui": "catalog:",
|
|
67
|
+
"ai": "^4.3.19",
|
|
68
|
+
"eslint": "^10.4.1",
|
|
69
|
+
"execa": "^9.6.1",
|
|
70
|
+
"express": "^5.2.1",
|
|
71
|
+
"fastify": "^5.8.5",
|
|
72
|
+
"get-port": "7.1.0",
|
|
73
|
+
"hono": "^4.12.8",
|
|
74
|
+
"inngest-cli": "^1.26.0",
|
|
75
|
+
"koa": "^3.1.2",
|
|
76
|
+
"koa-bodyparser": "^4.4.1",
|
|
77
|
+
"tsup": "^8.5.1",
|
|
78
|
+
"typescript": "catalog:",
|
|
79
|
+
"vitest": "catalog:",
|
|
80
|
+
"zod": "catalog:"
|
|
81
|
+
},
|
|
82
|
+
"peerDependencies": {
|
|
83
|
+
"@mastra/core": ">=1.13.2-0 <2.0.0-0",
|
|
84
|
+
"zod": "^3.25.0 || ^4.0.0"
|
|
85
|
+
},
|
|
86
|
+
"homepage": "https://mastra.ai",
|
|
87
|
+
"repository": {
|
|
88
|
+
"type": "git",
|
|
89
|
+
"url": "git+https://github.com/mastra-ai/mastra.git",
|
|
90
|
+
"directory": "workflows/inngest"
|
|
91
|
+
},
|
|
92
|
+
"bugs": {
|
|
93
|
+
"url": "https://github.com/mastra-ai/mastra/issues"
|
|
94
|
+
},
|
|
95
|
+
"engines": {
|
|
96
|
+
"node": ">=22.13.0"
|
|
97
|
+
}
|
|
98
|
+
}
|