@mastra/inngest 1.0.0-beta.3 → 1.0.0-beta.5
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 +65 -0
- package/dist/execution-engine.d.ts +85 -0
- package/dist/execution-engine.d.ts.map +1 -0
- package/dist/index.cjs +366 -899
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +17 -319
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +367 -901
- package/dist/index.js.map +1 -1
- package/dist/run.d.ts +144 -0
- package/dist/run.d.ts.map +1 -0
- package/dist/serve.d.ts +13 -0
- package/dist/serve.d.ts.map +1 -0
- package/dist/types.d.ts +12 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/workflow.d.ts +51 -0
- package/dist/workflow.d.ts.map +1 -0
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,70 @@
|
|
|
1
1
|
# @mastra/inngest
|
|
2
2
|
|
|
3
|
+
## 1.0.0-beta.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Internal code refactoring ([#10830](https://github.com/mastra-ai/mastra/pull/10830))
|
|
8
|
+
|
|
9
|
+
- Add support for typed structured output in agent workflow steps ([#11014](https://github.com/mastra-ai/mastra/pull/11014))
|
|
10
|
+
|
|
11
|
+
When wrapping an agent with `createStep()` and providing a `structuredOutput.schema`, the step's `outputSchema` is now correctly inferred from the provided schema instead of defaulting to `{ text: string }`.
|
|
12
|
+
|
|
13
|
+
This enables type-safe chaining of agent steps with structured output to subsequent steps:
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
const articleSchema = z.object({
|
|
17
|
+
title: z.string(),
|
|
18
|
+
summary: z.string(),
|
|
19
|
+
tags: z.array(z.string()),
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
// Agent step with structured output - outputSchema is now articleSchema
|
|
23
|
+
const agentStep = createStep(agent, {
|
|
24
|
+
structuredOutput: { schema: articleSchema },
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
// Next step can receive the structured output directly
|
|
28
|
+
const processStep = createStep({
|
|
29
|
+
id: 'process',
|
|
30
|
+
inputSchema: articleSchema, // Matches agent's outputSchema
|
|
31
|
+
outputSchema: z.object({ tagCount: z.number() }),
|
|
32
|
+
execute: async ({ inputData }) => ({
|
|
33
|
+
tagCount: inputData.tags.length, // Fully typed!
|
|
34
|
+
}),
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
workflow.then(agentStep).then(processStep).commit();
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
When `structuredOutput` is not provided, the agent step continues to use the default `{ text: string }` output schema.
|
|
41
|
+
|
|
42
|
+
- Updated dependencies [[`edb07e4`](https://github.com/mastra-ai/mastra/commit/edb07e49283e0c28bd094a60e03439bf6ecf0221), [`b7e17d3`](https://github.com/mastra-ai/mastra/commit/b7e17d3f5390bb5a71efc112204413656fcdc18d), [`261473a`](https://github.com/mastra-ai/mastra/commit/261473ac637e633064a22076671e2e02b002214d), [`5d7000f`](https://github.com/mastra-ai/mastra/commit/5d7000f757cd65ea9dc5b05e662fd83dfd44e932), [`4f0331a`](https://github.com/mastra-ai/mastra/commit/4f0331a79bf6eb5ee598a5086e55de4b5a0ada03), [`8a000da`](https://github.com/mastra-ai/mastra/commit/8a000da0c09c679a2312f6b3aa05b2ca78ca7393)]:
|
|
43
|
+
- @mastra/core@1.0.0-beta.10
|
|
44
|
+
|
|
45
|
+
## 1.0.0-beta.4
|
|
46
|
+
|
|
47
|
+
### Patch Changes
|
|
48
|
+
|
|
49
|
+
- Include `.input` in workflow results for both engines and remove the option to omit them from Inngest workflows. ([#10688](https://github.com/mastra-ai/mastra/pull/10688))
|
|
50
|
+
|
|
51
|
+
- Using `createStep` with a nested Inngest workflow now returns the workflow itself, maintaining the correct `.invoke()` execution flow Inngest workflows need to operate. ([#10689](https://github.com/mastra-ai/mastra/pull/10689))
|
|
52
|
+
|
|
53
|
+
- Refactored default engine to fit durable execution better, and the inngest engine to match. ([#10627](https://github.com/mastra-ai/mastra/pull/10627))
|
|
54
|
+
Also fixes requestContext persistence by relying on inngest step memoization.
|
|
55
|
+
|
|
56
|
+
Unifies some of the stepResults and error formats in both engines.
|
|
57
|
+
|
|
58
|
+
- Miscellanous bug fixes and test fixes: ([#10515](https://github.com/mastra-ai/mastra/pull/10515))
|
|
59
|
+
- cloneWorkflow passing options correctly
|
|
60
|
+
- start event in streamLegacy
|
|
61
|
+
- Many test cases with outdated or incorrect expected values
|
|
62
|
+
|
|
63
|
+
- Emit workflow-step-result and workflow-step-finish when step fails in inngest workflow ([#10555](https://github.com/mastra-ai/mastra/pull/10555))
|
|
64
|
+
|
|
65
|
+
- Updated dependencies [[`ac0d2f4`](https://github.com/mastra-ai/mastra/commit/ac0d2f4ff8831f72c1c66c2be809706d17f65789), [`1a0d3fc`](https://github.com/mastra-ai/mastra/commit/1a0d3fc811482c9c376cdf79ee615c23bae9b2d6), [`85a628b`](https://github.com/mastra-ai/mastra/commit/85a628b1224a8f64cd82ea7f033774bf22df7a7e), [`c237233`](https://github.com/mastra-ai/mastra/commit/c23723399ccedf7f5744b3f40997b79246bfbe64), [`15f9e21`](https://github.com/mastra-ai/mastra/commit/15f9e216177201ea6e3f6d0bfb063fcc0953444f), [`ff94dea`](https://github.com/mastra-ai/mastra/commit/ff94dea935f4e34545c63bcb6c29804732698809), [`5b2ff46`](https://github.com/mastra-ai/mastra/commit/5b2ff4651df70c146523a7fca773f8eb0a2272f8), [`db41688`](https://github.com/mastra-ai/mastra/commit/db4168806d007417e2e60b4f68656dca4e5f40c9), [`5ca599d`](https://github.com/mastra-ai/mastra/commit/5ca599d0bb59a1595f19f58473fcd67cc71cef58), [`bff1145`](https://github.com/mastra-ai/mastra/commit/bff114556b3cbadad9b2768488708f8ad0e91475), [`5c8ca24`](https://github.com/mastra-ai/mastra/commit/5c8ca247094e0cc2cdbd7137822fb47241f86e77), [`e191844`](https://github.com/mastra-ai/mastra/commit/e1918444ca3f80e82feef1dad506cd4ec6e2875f), [`22553f1`](https://github.com/mastra-ai/mastra/commit/22553f11c63ee5e966a9c034a349822249584691), [`7237163`](https://github.com/mastra-ai/mastra/commit/72371635dbf96a87df4b073cc48fc655afbdce3d), [`2500740`](https://github.com/mastra-ai/mastra/commit/2500740ea23da067d6e50ec71c625ab3ce275e64), [`873ecbb`](https://github.com/mastra-ai/mastra/commit/873ecbb517586aa17d2f1e99283755b3ebb2863f), [`4f9bbe5`](https://github.com/mastra-ai/mastra/commit/4f9bbe5968f42c86f4930b8193de3c3c17e5bd36), [`02e51fe`](https://github.com/mastra-ai/mastra/commit/02e51feddb3d4155cfbcc42624fd0d0970d032c0), [`8f3fa3a`](https://github.com/mastra-ai/mastra/commit/8f3fa3a652bb77da092f913ec51ae46e3a7e27dc), [`cd29ad2`](https://github.com/mastra-ai/mastra/commit/cd29ad23a255534e8191f249593849ed29160886), [`bdf4d8c`](https://github.com/mastra-ai/mastra/commit/bdf4d8cdc656d8a2c21d81834bfa3bfa70f56c16), [`854e3da`](https://github.com/mastra-ai/mastra/commit/854e3dad5daac17a91a20986399d3a51f54bf68b), [`ce18d38`](https://github.com/mastra-ai/mastra/commit/ce18d38678c65870350d123955014a8432075fd9), [`cccf9c8`](https://github.com/mastra-ai/mastra/commit/cccf9c8b2d2dfc1a5e63919395b83d78c89682a0), [`61a5705`](https://github.com/mastra-ai/mastra/commit/61a570551278b6743e64243b3ce7d73de915ca8a), [`db70a48`](https://github.com/mastra-ai/mastra/commit/db70a48aeeeeb8e5f92007e8ede52c364ce15287), [`f0fdc14`](https://github.com/mastra-ai/mastra/commit/f0fdc14ee233d619266b3d2bbdeea7d25cfc6d13), [`db18bc9`](https://github.com/mastra-ai/mastra/commit/db18bc9c3825e2c1a0ad9a183cc9935f6691bfa1), [`9b37b56`](https://github.com/mastra-ai/mastra/commit/9b37b565e1f2a76c24f728945cc740c2b09be9da), [`41a23c3`](https://github.com/mastra-ai/mastra/commit/41a23c32f9877d71810f37e24930515df2ff7a0f), [`5d171ad`](https://github.com/mastra-ai/mastra/commit/5d171ad9ef340387276b77c2bb3e83e83332d729), [`f03ae60`](https://github.com/mastra-ai/mastra/commit/f03ae60500fe350c9d828621006cdafe1975fdd8), [`d1e74a0`](https://github.com/mastra-ai/mastra/commit/d1e74a0a293866dece31022047f5dbab65a304d0), [`39e7869`](https://github.com/mastra-ai/mastra/commit/39e7869bc7d0ee391077ce291474d8a84eedccff), [`5761926`](https://github.com/mastra-ai/mastra/commit/57619260c4a2cdd598763abbacd90de594c6bc76), [`c900fdd`](https://github.com/mastra-ai/mastra/commit/c900fdd504c41348efdffb205cfe80d48c38fa33), [`604a79f`](https://github.com/mastra-ai/mastra/commit/604a79fecf276e26a54a3fe01bb94e65315d2e0e), [`887f0b4`](https://github.com/mastra-ai/mastra/commit/887f0b4746cdbd7cb7d6b17ac9f82aeb58037ea5), [`2562143`](https://github.com/mastra-ai/mastra/commit/256214336b4faa78646c9c1776612393790d8784), [`ef11a61`](https://github.com/mastra-ai/mastra/commit/ef11a61920fa0ed08a5b7ceedd192875af119749)]:
|
|
66
|
+
- @mastra/core@1.0.0-beta.6
|
|
67
|
+
|
|
3
68
|
## 1.0.0-beta.3
|
|
4
69
|
|
|
5
70
|
### Patch Changes
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import type { Mastra } from '@mastra/core/mastra';
|
|
2
|
+
import { DefaultExecutionEngine } from '@mastra/core/workflows';
|
|
3
|
+
import type { ExecutionContext, Step, StepResult, Emitter, ExecutionEngineOptions, TimeTravelExecutionParams } from '@mastra/core/workflows';
|
|
4
|
+
import type { Inngest, BaseContext } from 'inngest';
|
|
5
|
+
export declare class InngestExecutionEngine extends DefaultExecutionEngine {
|
|
6
|
+
private inngestStep;
|
|
7
|
+
private inngestAttempts;
|
|
8
|
+
constructor(mastra: Mastra, inngestStep: BaseContext<Inngest>['step'], inngestAttempts: number | undefined, options: ExecutionEngineOptions);
|
|
9
|
+
/**
|
|
10
|
+
* Format errors with stack traces for better debugging in Inngest
|
|
11
|
+
*/
|
|
12
|
+
protected formatResultError(error: Error | string | undefined, lastOutput: StepResult<any, any, any, any>): string;
|
|
13
|
+
/**
|
|
14
|
+
* Detect InngestWorkflow instances for special nested workflow handling
|
|
15
|
+
*/
|
|
16
|
+
isNestedWorkflowStep(step: Step<any, any, any>): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Inngest requires requestContext serialization for memoization.
|
|
19
|
+
* When steps are replayed, the original function doesn't re-execute,
|
|
20
|
+
* so requestContext modifications must be captured and restored.
|
|
21
|
+
*/
|
|
22
|
+
requiresDurableContextSerialization(): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Execute a step with retry logic for Inngest.
|
|
25
|
+
* Retries are handled via step-level retry (RetryAfterError thrown INSIDE step.run()).
|
|
26
|
+
* After retries exhausted, error propagates here and we return a failed result.
|
|
27
|
+
*/
|
|
28
|
+
executeStepWithRetry<T>(stepId: string, runStep: () => Promise<T>, params: {
|
|
29
|
+
retries: number;
|
|
30
|
+
delay: number;
|
|
31
|
+
stepSpan?: any;
|
|
32
|
+
workflowId: string;
|
|
33
|
+
runId: string;
|
|
34
|
+
}): Promise<{
|
|
35
|
+
ok: true;
|
|
36
|
+
result: T;
|
|
37
|
+
} | {
|
|
38
|
+
ok: false;
|
|
39
|
+
error: {
|
|
40
|
+
status: 'failed';
|
|
41
|
+
error: string;
|
|
42
|
+
endedAt: number;
|
|
43
|
+
};
|
|
44
|
+
}>;
|
|
45
|
+
/**
|
|
46
|
+
* Use Inngest's sleep primitive for durability
|
|
47
|
+
*/
|
|
48
|
+
executeSleepDuration(duration: number, sleepId: string, workflowId: string): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Use Inngest's sleepUntil primitive for durability
|
|
51
|
+
*/
|
|
52
|
+
executeSleepUntilDate(date: Date, sleepUntilId: string, workflowId: string): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* Wrap durable operations in Inngest step.run() for durability.
|
|
55
|
+
* If retryConfig is provided, throws RetryAfterError INSIDE step.run() to trigger
|
|
56
|
+
* Inngest's step-level retry mechanism (not function-level retry).
|
|
57
|
+
*/
|
|
58
|
+
wrapDurableOperation<T>(operationId: string, operationFn: () => Promise<T>, retryConfig?: {
|
|
59
|
+
delay: number;
|
|
60
|
+
}): Promise<T>;
|
|
61
|
+
/**
|
|
62
|
+
* Provide Inngest step primitive in engine context
|
|
63
|
+
*/
|
|
64
|
+
getEngineContext(): Record<string, any>;
|
|
65
|
+
/**
|
|
66
|
+
* Execute nested InngestWorkflow using inngestStep.invoke() for durability.
|
|
67
|
+
* This MUST be called directly (not inside step.run()) due to Inngest constraints.
|
|
68
|
+
*/
|
|
69
|
+
executeWorkflowStep(params: {
|
|
70
|
+
step: Step<string, any, any>;
|
|
71
|
+
stepResults: Record<string, StepResult<any, any, any, any>>;
|
|
72
|
+
executionContext: ExecutionContext;
|
|
73
|
+
resume?: {
|
|
74
|
+
steps: string[];
|
|
75
|
+
resumePayload: any;
|
|
76
|
+
runId?: string;
|
|
77
|
+
};
|
|
78
|
+
timeTravel?: TimeTravelExecutionParams;
|
|
79
|
+
prevOutput: any;
|
|
80
|
+
inputData: any;
|
|
81
|
+
emitter: Emitter;
|
|
82
|
+
startedAt: number;
|
|
83
|
+
}): Promise<StepResult<any, any, any, any> | null>;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=execution-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-engine.d.ts","sourceRoot":"","sources":["../src/execution-engine.ts"],"names":[],"mappings":"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"}
|