@mastra/ai-sdk 1.0.0-beta.1 → 1.0.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 +110 -22
- package/dist/chat-route.d.ts +52 -2
- package/dist/chat-route.d.ts.map +1 -1
- package/dist/helpers.d.ts +2 -1
- package/dist/helpers.d.ts.map +1 -1
- package/dist/index.cjs +88 -47
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +89 -47
- package/dist/index.js.map +1 -1
- package/dist/network-route.d.ts.map +1 -1
- package/dist/to-ai-sdk-format.d.ts +61 -11
- package/dist/to-ai-sdk-format.d.ts.map +1 -1
- package/dist/transformers.d.ts +7 -1
- package/dist/transformers.d.ts.map +1 -1
- package/dist/utils.d.ts +0 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/workflow-route.d.ts.map +1 -1
- package/package.json +11 -17
- package/dist/convert-messages.d.ts +0 -10
- package/dist/convert-messages.d.ts.map +0 -1
- package/dist/convert-streams.d.ts +0 -18
- package/dist/convert-streams.d.ts.map +0 -1
- package/dist/ui.cjs +0 -16
- package/dist/ui.cjs.map +0 -1
- package/dist/ui.d.ts +0 -2
- package/dist/ui.d.ts.map +0 -1
- package/dist/ui.js +0 -13
- package/dist/ui.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,49 +1,137 @@
|
|
|
1
1
|
# @mastra/ai-sdk
|
|
2
2
|
|
|
3
|
-
## 1.0.0
|
|
3
|
+
## 1.0.0
|
|
4
4
|
|
|
5
|
-
###
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- Add sendStart, sendFinish, sendReasoning, and sendSources options to toAISdkV5Stream function, allowing fine-grained control over which message chunks are included in the converted stream. Previously, these values were hardcoded in the transformer. ([#10250](https://github.com/mastra-ai/mastra/pull/10250))
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
BREAKING CHANGE: AgentStreamToAISDKTransformer now accepts an options object instead of a single lastMessageId parameter
|
|
10
|
+
|
|
11
|
+
Also, add sendStart, sendFinish, sendReasoning, and sendSources parameters to
|
|
12
|
+
chatRoute function, enabling fine-grained control over which chunks are
|
|
13
|
+
included in the AI SDK stream output.
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
8
16
|
|
|
9
|
-
- Updated dependencies [[`
|
|
10
|
-
- @mastra/core@
|
|
17
|
+
- Updated dependencies [[`eebb7bb`](https://github.com/mastra-ai/mastra/commit/eebb7bb407c57342a3be3a2efbe68c696589feeb), [`c6e6d07`](https://github.com/mastra-ai/mastra/commit/c6e6d071ecf346a80dceab410af2c567c7e66a57), [`0e6df8f`](https://github.com/mastra-ai/mastra/commit/0e6df8f66340992cb1b319834657deb17368de52), [`6295fd7`](https://github.com/mastra-ai/mastra/commit/6295fd783d49075d5bf2c18ff9486e94d36aaa56), [`d813cf7`](https://github.com/mastra-ai/mastra/commit/d813cf7251695d85cc60469058384ffa74974484)]:
|
|
18
|
+
- @mastra/core@0.24.2
|
|
11
19
|
|
|
12
|
-
## 1.0.0-
|
|
20
|
+
## 1.0.0-alpha.0
|
|
13
21
|
|
|
14
22
|
### Major Changes
|
|
15
23
|
|
|
16
|
-
-
|
|
24
|
+
- Add sendStart, sendFinish, sendReasoning, and sendSources options to toAISdkV5Stream function, allowing fine-grained control over which message chunks are included in the converted stream. Previously, these values were hardcoded in the transformer. ([#10250](https://github.com/mastra-ai/mastra/pull/10250))
|
|
17
25
|
|
|
18
|
-
|
|
26
|
+
BREAKING CHANGE: AgentStreamToAISDKTransformer now accepts an options object instead of a single lastMessageId parameter
|
|
19
27
|
|
|
20
|
-
|
|
28
|
+
Also, add sendStart, sendFinish, sendReasoning, and sendSources parameters to
|
|
29
|
+
chatRoute function, enabling fine-grained control over which chunks are
|
|
30
|
+
included in the AI SDK stream output.
|
|
21
31
|
|
|
22
|
-
|
|
32
|
+
### Patch Changes
|
|
23
33
|
|
|
24
|
-
-
|
|
25
|
-
|
|
34
|
+
- Updated dependencies [[`eebb7bb`](https://github.com/mastra-ai/mastra/commit/eebb7bb407c57342a3be3a2efbe68c696589feeb), [`c6e6d07`](https://github.com/mastra-ai/mastra/commit/c6e6d071ecf346a80dceab410af2c567c7e66a57), [`0e6df8f`](https://github.com/mastra-ai/mastra/commit/0e6df8f66340992cb1b319834657deb17368de52), [`6295fd7`](https://github.com/mastra-ai/mastra/commit/6295fd783d49075d5bf2c18ff9486e94d36aaa56), [`d813cf7`](https://github.com/mastra-ai/mastra/commit/d813cf7251695d85cc60469058384ffa74974484)]:
|
|
35
|
+
- @mastra/core@0.24.2-alpha.0
|
|
26
36
|
|
|
27
|
-
|
|
37
|
+
## 0.2.7
|
|
28
38
|
|
|
29
|
-
###
|
|
39
|
+
### Patch Changes
|
|
40
|
+
|
|
41
|
+
- Fix bad dane change in 0.x workflowRoute ([#10090](https://github.com/mastra-ai/mastra/pull/10090))
|
|
42
|
+
|
|
43
|
+
- Improve ai-sdk transformers, handle custom data from agent sub workflow, sug agent tools ([#10026](https://github.com/mastra-ai/mastra/pull/10026))
|
|
44
|
+
|
|
45
|
+
- Extend the workflow route to accept optional runId and resourceId ([#10041](https://github.com/mastra-ai/mastra/pull/10041))
|
|
46
|
+
parameters, allowing clients to specify custom identifiers when
|
|
47
|
+
creating workflow runs. These parameters are now properly validated
|
|
48
|
+
in the OpenAPI schema and passed through to the createRun method.
|
|
30
49
|
|
|
31
|
-
|
|
50
|
+
Also updates the OpenAPI schema to include previously undocumented
|
|
51
|
+
resumeData and step fields.
|
|
52
|
+
|
|
53
|
+
- Updated dependencies [[`0a0aa87`](https://github.com/mastra-ai/mastra/commit/0a0aa87910dd9234ae11e8146fbf54d71f0b1516), [`56bbbd0`](https://github.com/mastra-ai/mastra/commit/56bbbd0eb4510455ff03d6bf2827fdbd307938be), [`d576fd8`](https://github.com/mastra-ai/mastra/commit/d576fd8f2a3c61bcf2f7d5d2bdfb496d442c46c2), [`5e48406`](https://github.com/mastra-ai/mastra/commit/5e48406766fa94e2b7c56b70fb7d6068cf7f3989), [`7fcce62`](https://github.com/mastra-ai/mastra/commit/7fcce62880c3525fbf752d59c0ac2c478cffe024), [`16a324f`](https://github.com/mastra-ai/mastra/commit/16a324f8c30a07d0d899bc2e4e7998c6b40a4cb6), [`26aee16`](https://github.com/mastra-ai/mastra/commit/26aee160149e7acb84a533bf45631aaed6dd7077), [`b063a81`](https://github.com/mastra-ai/mastra/commit/b063a8144176915a766ea15888e1e8a06a020776), [`5ff9462`](https://github.com/mastra-ai/mastra/commit/5ff9462691c80a6841b014bcc68f6a85c3fd3fbf)]:
|
|
54
|
+
- @mastra/core@0.24.1
|
|
55
|
+
|
|
56
|
+
## 0.2.7-alpha.1
|
|
57
|
+
|
|
58
|
+
### Patch Changes
|
|
59
|
+
|
|
60
|
+
- Fix bad dane change in 0.x workflowRoute ([#10090](https://github.com/mastra-ai/mastra/pull/10090))
|
|
61
|
+
|
|
62
|
+
## 0.2.7-alpha.0
|
|
32
63
|
|
|
33
64
|
### Patch Changes
|
|
34
65
|
|
|
35
|
-
-
|
|
66
|
+
- Improve ai-sdk transformers, handle custom data from agent sub workflow, sug agent tools ([#10026](https://github.com/mastra-ai/mastra/pull/10026))
|
|
67
|
+
|
|
68
|
+
- Extend the workflow route to accept optional runId and resourceId ([#10041](https://github.com/mastra-ai/mastra/pull/10041))
|
|
69
|
+
parameters, allowing clients to specify custom identifiers when
|
|
70
|
+
creating workflow runs. These parameters are now properly validated
|
|
71
|
+
in the OpenAPI schema and passed through to the createRun method.
|
|
72
|
+
|
|
73
|
+
Also updates the OpenAPI schema to include previously undocumented
|
|
74
|
+
resumeData and step fields.
|
|
75
|
+
|
|
76
|
+
- Updated dependencies [[`0a0aa87`](https://github.com/mastra-ai/mastra/commit/0a0aa87910dd9234ae11e8146fbf54d71f0b1516), [`56bbbd0`](https://github.com/mastra-ai/mastra/commit/56bbbd0eb4510455ff03d6bf2827fdbd307938be), [`d576fd8`](https://github.com/mastra-ai/mastra/commit/d576fd8f2a3c61bcf2f7d5d2bdfb496d442c46c2), [`5e48406`](https://github.com/mastra-ai/mastra/commit/5e48406766fa94e2b7c56b70fb7d6068cf7f3989), [`7fcce62`](https://github.com/mastra-ai/mastra/commit/7fcce62880c3525fbf752d59c0ac2c478cffe024), [`16a324f`](https://github.com/mastra-ai/mastra/commit/16a324f8c30a07d0d899bc2e4e7998c6b40a4cb6), [`26aee16`](https://github.com/mastra-ai/mastra/commit/26aee160149e7acb84a533bf45631aaed6dd7077), [`b063a81`](https://github.com/mastra-ai/mastra/commit/b063a8144176915a766ea15888e1e8a06a020776), [`5ff9462`](https://github.com/mastra-ai/mastra/commit/5ff9462691c80a6841b014bcc68f6a85c3fd3fbf)]:
|
|
77
|
+
- @mastra/core@0.24.1-alpha.0
|
|
78
|
+
|
|
79
|
+
## 0.2.6
|
|
80
|
+
|
|
81
|
+
### Patch Changes
|
|
36
82
|
|
|
37
|
-
-
|
|
83
|
+
- update peerdeps ([`5ca1cca`](https://github.com/mastra-ai/mastra/commit/5ca1ccac61ffa7141e6d9fa8f22d3ad4d03bf5dc))
|
|
38
84
|
|
|
39
|
-
-
|
|
85
|
+
- Preserve lastMessageId in chatRoute ([#9728](https://github.com/mastra-ai/mastra/pull/9728))
|
|
40
86
|
|
|
41
|
-
-
|
|
87
|
+
- Handle custom data writes in agent network execution events in ai sdk transformers ([#9734](https://github.com/mastra-ai/mastra/pull/9734))
|
|
88
|
+
|
|
89
|
+
- Add support for suspend/resume in AI SDK workflowRoute ([#9732](https://github.com/mastra-ai/mastra/pull/9732))
|
|
90
|
+
|
|
91
|
+
- Updated dependencies [[`5ca1cca`](https://github.com/mastra-ai/mastra/commit/5ca1ccac61ffa7141e6d9fa8f22d3ad4d03bf5dc), [`6d7e90d`](https://github.com/mastra-ai/mastra/commit/6d7e90db09713e6250f4d6c3d3cff1b4740e50f9), [`f78b908`](https://github.com/mastra-ai/mastra/commit/f78b9080e11af765969b36b4a619761056030840), [`23c2614`](https://github.com/mastra-ai/mastra/commit/23c26140fdbf04b8c59e8d7d52106d67dad962ec), [`e365eda`](https://github.com/mastra-ai/mastra/commit/e365eda45795b43707310531cac1e2ce4e5a0712)]:
|
|
92
|
+
- @mastra/core@0.24.0
|
|
93
|
+
|
|
94
|
+
## 0.2.6-alpha.0
|
|
95
|
+
|
|
96
|
+
### Patch Changes
|
|
97
|
+
|
|
98
|
+
- update peerdeps ([`5ca1cca`](https://github.com/mastra-ai/mastra/commit/5ca1ccac61ffa7141e6d9fa8f22d3ad4d03bf5dc))
|
|
99
|
+
|
|
100
|
+
- Preserve lastMessageId in chatRoute ([#9728](https://github.com/mastra-ai/mastra/pull/9728))
|
|
101
|
+
|
|
102
|
+
- Handle custom data writes in agent network execution events in ai sdk transformers ([#9734](https://github.com/mastra-ai/mastra/pull/9734))
|
|
103
|
+
|
|
104
|
+
- Add support for suspend/resume in AI SDK workflowRoute ([#9732](https://github.com/mastra-ai/mastra/pull/9732))
|
|
105
|
+
|
|
106
|
+
- Updated dependencies [[`5ca1cca`](https://github.com/mastra-ai/mastra/commit/5ca1ccac61ffa7141e6d9fa8f22d3ad4d03bf5dc), [`6d7e90d`](https://github.com/mastra-ai/mastra/commit/6d7e90db09713e6250f4d6c3d3cff1b4740e50f9), [`f78b908`](https://github.com/mastra-ai/mastra/commit/f78b9080e11af765969b36b4a619761056030840), [`23c2614`](https://github.com/mastra-ai/mastra/commit/23c26140fdbf04b8c59e8d7d52106d67dad962ec), [`e365eda`](https://github.com/mastra-ai/mastra/commit/e365eda45795b43707310531cac1e2ce4e5a0712)]:
|
|
107
|
+
- @mastra/core@0.24.0-alpha.0
|
|
108
|
+
|
|
109
|
+
## 0.2.5
|
|
110
|
+
|
|
111
|
+
### Patch Changes
|
|
112
|
+
|
|
113
|
+
- Fix usage tracking with agent network ([#9413](https://github.com/mastra-ai/mastra/pull/9413))
|
|
114
|
+
|
|
115
|
+
- Updated dependencies [[`f57a81e`](https://github.com/mastra-ai/mastra/commit/f57a81e6ce644e45bf1c9618778cc54c50a84ad4), [`2afd345`](https://github.com/mastra-ai/mastra/commit/2afd3450825b76e41f7973baddf13867ea042e40), [`fc79af3`](https://github.com/mastra-ai/mastra/commit/fc79af3915d1c456729cbd753673b0c0564340d8), [`eefc89e`](https://github.com/mastra-ai/mastra/commit/eefc89ee69f05bb71661473a807fc7dc03d56f17), [`60bd45d`](https://github.com/mastra-ai/mastra/commit/60bd45de021f0dfbe6583928f6da5169cb5585ba), [`a30093d`](https://github.com/mastra-ai/mastra/commit/a30093de98c1836dcd5dfddf09649010712b8c95), [`0fe7adb`](https://github.com/mastra-ai/mastra/commit/0fe7adb0f20f59a6bb41f235d01f8b7a880ea6e7), [`a42e496`](https://github.com/mastra-ai/mastra/commit/a42e49686a7486e2e9e9397fa98e5ff7a71dc1b0), [`3670db7`](https://github.com/mastra-ai/mastra/commit/3670db7e8e798f9d65fac5bfb732134a1f26ba7b), [`e40d4d0`](https://github.com/mastra-ai/mastra/commit/e40d4d0a0971b4505e7c9de73c656066c7565653), [`fc843ff`](https://github.com/mastra-ai/mastra/commit/fc843ff4d1d149317b6324553ce5ad7972062a78), [`ff16f9b`](https://github.com/mastra-ai/mastra/commit/ff16f9b9dbc701b26b6c4e9872f759f3880f9327), [`35e6cf7`](https://github.com/mastra-ai/mastra/commit/35e6cf722fef16ea0301eb9cf5a32fe9ccb12d22), [`30a2e36`](https://github.com/mastra-ai/mastra/commit/30a2e369485e0e59c4faa1d83c5635c2260b304c)]:
|
|
116
|
+
- @mastra/core@0.23.2
|
|
117
|
+
|
|
118
|
+
## 0.2.5-alpha.0
|
|
119
|
+
|
|
120
|
+
### Patch Changes
|
|
121
|
+
|
|
122
|
+
- Fix usage tracking with agent network ([#9413](https://github.com/mastra-ai/mastra/pull/9413))
|
|
123
|
+
|
|
124
|
+
- Updated dependencies [[`f57a81e`](https://github.com/mastra-ai/mastra/commit/f57a81e6ce644e45bf1c9618778cc54c50a84ad4), [`fc79af3`](https://github.com/mastra-ai/mastra/commit/fc79af3915d1c456729cbd753673b0c0564340d8), [`60bd45d`](https://github.com/mastra-ai/mastra/commit/60bd45de021f0dfbe6583928f6da5169cb5585ba), [`a30093d`](https://github.com/mastra-ai/mastra/commit/a30093de98c1836dcd5dfddf09649010712b8c95), [`e40d4d0`](https://github.com/mastra-ai/mastra/commit/e40d4d0a0971b4505e7c9de73c656066c7565653), [`ff16f9b`](https://github.com/mastra-ai/mastra/commit/ff16f9b9dbc701b26b6c4e9872f759f3880f9327), [`35e6cf7`](https://github.com/mastra-ai/mastra/commit/35e6cf722fef16ea0301eb9cf5a32fe9ccb12d22), [`30a2e36`](https://github.com/mastra-ai/mastra/commit/30a2e369485e0e59c4faa1d83c5635c2260b304c)]:
|
|
125
|
+
- @mastra/core@0.23.2-alpha.1
|
|
126
|
+
|
|
127
|
+
## 0.2.4
|
|
128
|
+
|
|
129
|
+
### Patch Changes
|
|
42
130
|
|
|
43
|
-
- Fix
|
|
131
|
+
- Fix peerdependencies ([`eb7c1c8`](https://github.com/mastra-ai/mastra/commit/eb7c1c8c592d8fb16dfd250e337d9cdc73c8d5de))
|
|
44
132
|
|
|
45
|
-
- Updated dependencies [
|
|
46
|
-
- @mastra/core@
|
|
133
|
+
- Updated dependencies []:
|
|
134
|
+
- @mastra/core@0.23.1
|
|
47
135
|
|
|
48
136
|
## 0.2.3
|
|
49
137
|
|
package/dist/chat-route.d.ts
CHANGED
|
@@ -9,6 +9,56 @@ export type chatRouteOptions<OUTPUT extends OutputSchema = undefined> = {
|
|
|
9
9
|
} | {
|
|
10
10
|
path: string;
|
|
11
11
|
agent: string;
|
|
12
|
-
})
|
|
13
|
-
|
|
12
|
+
}) & {
|
|
13
|
+
sendStart?: boolean;
|
|
14
|
+
sendFinish?: boolean;
|
|
15
|
+
sendReasoning?: boolean;
|
|
16
|
+
sendSources?: boolean;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Creates a chat route handler for streaming agent conversations using the AI SDK format.
|
|
20
|
+
*
|
|
21
|
+
* This function registers an HTTP POST endpoint that accepts messages, executes an agent,
|
|
22
|
+
* and streams the response back to the client in AI SDK v5 compatible format.
|
|
23
|
+
* *
|
|
24
|
+
* @param {chatRouteOptions} options - Configuration options for the chat route
|
|
25
|
+
* @param {string} [options.path='/chat/:agentId'] - The route path. Include `:agentId` for dynamic routing
|
|
26
|
+
* @param {string} [options.agent] - Fixed agent ID when not using dynamic routing
|
|
27
|
+
* @param {AgentExecutionOptions} [options.defaultOptions] - Default options passed to agent execution
|
|
28
|
+
* @param {boolean} [options.sendStart=true] - Whether to send start events in the stream
|
|
29
|
+
* @param {boolean} [options.sendFinish=true] - Whether to send finish events in the stream
|
|
30
|
+
* @param {boolean} [options.sendReasoning=false] - Whether to include reasoning steps in the stream
|
|
31
|
+
* @param {boolean} [options.sendSources=false] - Whether to include source citations in the stream
|
|
32
|
+
*
|
|
33
|
+
* @returns {ReturnType<typeof registerApiRoute>} A registered API route handler
|
|
34
|
+
*
|
|
35
|
+
* @throws {Error} When path doesn't include `:agentId` and no fixed agent is specified
|
|
36
|
+
* @throws {Error} When agent ID is missing at runtime
|
|
37
|
+
* @throws {Error} When specified agent is not found in Mastra instance
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* // Dynamic agent routing
|
|
41
|
+
* chatRoute({
|
|
42
|
+
* path: '/chat/:agentId',
|
|
43
|
+
* sendReasoning: true,
|
|
44
|
+
* });
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* // Fixed agent with custom path
|
|
48
|
+
* chatRoute({
|
|
49
|
+
* path: '/api/support-chat',
|
|
50
|
+
* agent: 'support-agent',
|
|
51
|
+
* defaultOptions: {
|
|
52
|
+
* maxSteps: 5,
|
|
53
|
+
* },
|
|
54
|
+
* });
|
|
55
|
+
*
|
|
56
|
+
* @remarks
|
|
57
|
+
* - The route handler expects a JSON body with a `messages` array
|
|
58
|
+
* - Messages should follow the format: `{ role: 'user' | 'assistant' | 'system', content: string }`
|
|
59
|
+
* - The response is a Server-Sent Events (SSE) stream compatible with AI SDK v5
|
|
60
|
+
* - If both `agent` and `:agentId` are present, a warning is logged and the fixed `agent` takes precedence
|
|
61
|
+
* - Request context from the incoming request overrides `defaultOptions.requestContext` if both are present
|
|
62
|
+
*/
|
|
63
|
+
export declare function chatRoute<OUTPUT extends OutputSchema = undefined>({ path, agent, defaultOptions, sendStart, sendFinish, sendReasoning, sendSources, }: chatRouteOptions<OUTPUT>): ReturnType<typeof registerApiRoute>;
|
|
14
64
|
//# sourceMappingURL=chat-route.d.ts.map
|
package/dist/chat-route.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-route.d.ts","sourceRoot":"","sources":["../src/chat-route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIxD,MAAM,MAAM,gBAAgB,CAAC,MAAM,SAAS,YAAY,GAAG,SAAS,IAAI;IACtE,cAAc,CAAC,EAAE,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzD,GAAG,CACA;IACE,IAAI,EAAE,GAAG,MAAM,WAAW,MAAM,EAAE,CAAC;IACnC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-route.d.ts","sourceRoot":"","sources":["../src/chat-route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIxD,MAAM,MAAM,gBAAgB,CAAC,MAAM,SAAS,YAAY,GAAG,SAAS,IAAI;IACtE,cAAc,CAAC,EAAE,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzD,GAAG,CACA;IACE,IAAI,EAAE,GAAG,MAAM,WAAW,MAAM,EAAE,CAAC;IACnC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CACJ,GAAG;IACA,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,SAAS,CAAC,MAAM,SAAS,YAAY,GAAG,SAAS,EAAE,EACjE,IAAuB,EACvB,KAAK,EACL,cAAc,EACd,SAAgB,EAChB,UAAiB,EACjB,aAAqB,EACrB,WAAmB,GACpB,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAoKhE"}
|
package/dist/helpers.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ChunkType } from '@mastra/core';
|
|
2
|
+
import type { PartialSchemaOutput, OutputSchema, DataChunkType } from '@mastra/core/stream';
|
|
2
3
|
import type { InferUIMessageChunk, ObjectStreamPart, TextStreamPart, ToolSet, UIMessage } from 'ai';
|
|
3
4
|
export type OutputChunkType<OUTPUT extends OutputSchema = undefined> = TextStreamPart<ToolSet> | ObjectStreamPart<PartialSchemaOutput<OUTPUT>> | undefined;
|
|
4
5
|
export type ToolAgentChunkType = {
|
package/dist/helpers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAGpG,MAAM,MAAM,eAAe,CAAC,MAAM,SAAS,YAAY,GAAG,SAAS,IAC/D,cAAc,CAAC,OAAO,CAAC,GACvB,gBAAgB,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAC7C,SAAS,CAAC;AAEd,MAAM,MAAM,kBAAkB,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE,CAAC;AAC1F,MAAM,MAAM,qBAAqB,GAAG;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE,CAAC;AAChG,MAAM,MAAM,oBAAoB,GAAG;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE,CAAC;AAE9F,wBAAgB,2BAA2B,CAAC,MAAM,SAAS,YAAY,GAAG,SAAS,EAAE,EACnF,KAAK,EACL,IAAe,GAChB,EAAE;IACD,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;CAC9B,GAAG,eAAe,CAAC,MAAM,CAAC,CAqN1B;AAED,wBAAgB,uCAAuC,CAAC,UAAU,SAAS,SAAS,EAAE,EACpF,IAAI,EACJ,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,OAAO,EACP,SAAS,EACT,UAAU,EACV,iBAAiB,GAClB,EAAE;IAED,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,aAAa,GAAG;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,CAAC;IACzG,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG,mBAAmB,CAAC,UAAU,CAAC,GAAG,kBAAkB,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,SAAS,CAwOlH"}
|
package/dist/index.cjs
CHANGED
|
@@ -10,20 +10,6 @@ var stream = require('@mastra/core/stream');
|
|
|
10
10
|
var isDataChunkType = (chunk) => {
|
|
11
11
|
return chunk && typeof chunk === "object" && "type" in chunk && chunk.type?.startsWith("data-");
|
|
12
12
|
};
|
|
13
|
-
function safeParseErrorObject(obj) {
|
|
14
|
-
if (typeof obj !== "object" || obj === null) {
|
|
15
|
-
return String(obj);
|
|
16
|
-
}
|
|
17
|
-
try {
|
|
18
|
-
const stringified = JSON.stringify(obj);
|
|
19
|
-
if (stringified === "{}") {
|
|
20
|
-
return String(obj);
|
|
21
|
-
}
|
|
22
|
-
return stringified;
|
|
23
|
-
} catch {
|
|
24
|
-
return String(obj);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
13
|
var isAgentExecutionDataChunkType = (chunk) => {
|
|
28
14
|
return chunk && typeof chunk === "object" && "type" in chunk && chunk.type?.startsWith("agent-execution-event-") && "payload" in chunk && typeof chunk.payload === "object" && "type" in chunk.payload && chunk.payload.type?.startsWith("data-");
|
|
29
15
|
};
|
|
@@ -285,6 +271,14 @@ function convertFullStreamChunkToUIMessageStream({
|
|
|
285
271
|
};
|
|
286
272
|
}
|
|
287
273
|
case "reasoning-delta": {
|
|
274
|
+
if (sendReasoning) {
|
|
275
|
+
return {
|
|
276
|
+
type: "reasoning-delta",
|
|
277
|
+
id: part.id,
|
|
278
|
+
delta: part.text,
|
|
279
|
+
...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}
|
|
280
|
+
};
|
|
281
|
+
}
|
|
288
282
|
return;
|
|
289
283
|
}
|
|
290
284
|
case "reasoning-end": {
|
|
@@ -302,6 +296,25 @@ function convertFullStreamChunkToUIMessageStream({
|
|
|
302
296
|
};
|
|
303
297
|
}
|
|
304
298
|
case "source": {
|
|
299
|
+
if (sendSources && part.sourceType === "url") {
|
|
300
|
+
return {
|
|
301
|
+
type: "source-url",
|
|
302
|
+
sourceId: part.id,
|
|
303
|
+
url: part.url,
|
|
304
|
+
title: part.title,
|
|
305
|
+
...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
if (sendSources && part.sourceType === "document") {
|
|
309
|
+
return {
|
|
310
|
+
type: "source-document",
|
|
311
|
+
sourceId: part.id,
|
|
312
|
+
mediaType: part.mediaType,
|
|
313
|
+
title: part.title,
|
|
314
|
+
filename: part.filename,
|
|
315
|
+
...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}
|
|
316
|
+
};
|
|
317
|
+
}
|
|
305
318
|
return;
|
|
306
319
|
}
|
|
307
320
|
case "tool-input-start": {
|
|
@@ -392,21 +405,23 @@ function convertFullStreamChunkToUIMessageStream({
|
|
|
392
405
|
return { type: "finish-step" };
|
|
393
406
|
}
|
|
394
407
|
case "start": {
|
|
395
|
-
{
|
|
408
|
+
if (sendStart) {
|
|
396
409
|
return {
|
|
397
410
|
type: "start",
|
|
398
411
|
...messageMetadataValue != null ? { messageMetadata: messageMetadataValue } : {},
|
|
399
412
|
...responseMessageId != null ? { messageId: responseMessageId } : {}
|
|
400
413
|
};
|
|
401
414
|
}
|
|
415
|
+
return;
|
|
402
416
|
}
|
|
403
417
|
case "finish": {
|
|
404
|
-
{
|
|
418
|
+
if (sendFinish) {
|
|
405
419
|
return {
|
|
406
420
|
type: "finish",
|
|
407
421
|
...messageMetadataValue != null ? { messageMetadata: messageMetadataValue } : {}
|
|
408
422
|
};
|
|
409
423
|
}
|
|
424
|
+
return;
|
|
410
425
|
}
|
|
411
426
|
case "abort": {
|
|
412
427
|
return part;
|
|
@@ -471,20 +486,26 @@ function AgentNetworkToAISDKTransformer() {
|
|
|
471
486
|
}
|
|
472
487
|
});
|
|
473
488
|
}
|
|
474
|
-
function AgentStreamToAISDKTransformer(
|
|
489
|
+
function AgentStreamToAISDKTransformer({
|
|
490
|
+
lastMessageId,
|
|
491
|
+
sendStart,
|
|
492
|
+
sendFinish,
|
|
493
|
+
sendReasoning,
|
|
494
|
+
sendSources
|
|
495
|
+
}) {
|
|
475
496
|
let bufferedSteps = /* @__PURE__ */ new Map();
|
|
476
497
|
return new TransformStream({
|
|
477
498
|
transform(chunk, controller) {
|
|
478
499
|
const part = convertMastraChunkToAISDKv5({ chunk, mode: "stream" });
|
|
479
500
|
const transformedChunk = convertFullStreamChunkToUIMessageStream({
|
|
480
501
|
part,
|
|
481
|
-
sendReasoning
|
|
482
|
-
sendSources
|
|
483
|
-
sendStart
|
|
484
|
-
sendFinish
|
|
502
|
+
sendReasoning,
|
|
503
|
+
sendSources,
|
|
504
|
+
sendStart,
|
|
505
|
+
sendFinish,
|
|
485
506
|
responseMessageId: lastMessageId,
|
|
486
|
-
onError(
|
|
487
|
-
return
|
|
507
|
+
onError() {
|
|
508
|
+
return "Error";
|
|
488
509
|
}
|
|
489
510
|
});
|
|
490
511
|
if (transformedChunk) {
|
|
@@ -989,8 +1010,12 @@ function transformNetwork(payload, bufferedNetworks, isNested) {
|
|
|
989
1010
|
}
|
|
990
1011
|
}
|
|
991
1012
|
|
|
992
|
-
// src/
|
|
993
|
-
function
|
|
1013
|
+
// src/to-ai-sdk-format.ts
|
|
1014
|
+
function toAISdkFormat(stream, options = {
|
|
1015
|
+
from: "agent",
|
|
1016
|
+
sendStart: true,
|
|
1017
|
+
sendFinish: true
|
|
1018
|
+
}) {
|
|
994
1019
|
const from = options?.from;
|
|
995
1020
|
if (from === "workflow") {
|
|
996
1021
|
return stream.pipeThrough(WorkflowStreamToAISDKTransformer());
|
|
@@ -999,14 +1024,26 @@ function toAISdkV5Stream(stream, options = { from: "agent" }) {
|
|
|
999
1024
|
return stream.pipeThrough(AgentNetworkToAISDKTransformer());
|
|
1000
1025
|
}
|
|
1001
1026
|
const agentReadable = "fullStream" in stream ? stream.fullStream : stream;
|
|
1002
|
-
return agentReadable.pipeThrough(
|
|
1027
|
+
return agentReadable.pipeThrough(
|
|
1028
|
+
AgentStreamToAISDKTransformer({
|
|
1029
|
+
lastMessageId: options?.lastMessageId,
|
|
1030
|
+
sendStart: options?.sendStart,
|
|
1031
|
+
sendFinish: options?.sendFinish,
|
|
1032
|
+
sendReasoning: options?.sendReasoning,
|
|
1033
|
+
sendSources: options?.sendSources
|
|
1034
|
+
})
|
|
1035
|
+
);
|
|
1003
1036
|
}
|
|
1004
1037
|
|
|
1005
1038
|
// src/chat-route.ts
|
|
1006
1039
|
function chatRoute({
|
|
1007
1040
|
path = "/chat/:agentId",
|
|
1008
1041
|
agent,
|
|
1009
|
-
defaultOptions
|
|
1042
|
+
defaultOptions,
|
|
1043
|
+
sendStart = true,
|
|
1044
|
+
sendFinish = true,
|
|
1045
|
+
sendReasoning = false,
|
|
1046
|
+
sendSources = false
|
|
1010
1047
|
}) {
|
|
1011
1048
|
if (!agent && !path.includes("/:agentId")) {
|
|
1012
1049
|
throw new Error("Path must include :agentId to route to the correct agent or pass the agent explicitly");
|
|
@@ -1107,7 +1144,7 @@ function chatRoute({
|
|
|
1107
1144
|
handler: async (c) => {
|
|
1108
1145
|
const { messages, ...rest } = await c.req.json();
|
|
1109
1146
|
const mastra = c.get("mastra");
|
|
1110
|
-
const
|
|
1147
|
+
const runtimeContext = c.get("runtimeContext");
|
|
1111
1148
|
let agentToUse = agent;
|
|
1112
1149
|
if (!agent) {
|
|
1113
1150
|
const agentId = c.req.param("agentId");
|
|
@@ -1118,8 +1155,8 @@ function chatRoute({
|
|
|
1118
1155
|
`Fixed agent ID was set together with an agentId path parameter. This can lead to unexpected behavior.`
|
|
1119
1156
|
);
|
|
1120
1157
|
}
|
|
1121
|
-
if (
|
|
1122
|
-
mastra.getLogger()?.warn(`"
|
|
1158
|
+
if (runtimeContext && defaultOptions?.runtimeContext) {
|
|
1159
|
+
mastra.getLogger()?.warn(`"runtimeContext" set in the route options will be overridden by the request's "runtimeContext".`);
|
|
1123
1160
|
}
|
|
1124
1161
|
if (!agentToUse) {
|
|
1125
1162
|
throw new Error("Agent ID is required");
|
|
@@ -1131,7 +1168,7 @@ function chatRoute({
|
|
|
1131
1168
|
const result = await agentObj.stream(messages, {
|
|
1132
1169
|
...defaultOptions,
|
|
1133
1170
|
...rest,
|
|
1134
|
-
|
|
1171
|
+
runtimeContext: runtimeContext || defaultOptions?.runtimeContext
|
|
1135
1172
|
});
|
|
1136
1173
|
let lastMessageId;
|
|
1137
1174
|
if (messages.length > 0 && messages[messages.length - 1].role === "assistant") {
|
|
@@ -1140,7 +1177,14 @@ function chatRoute({
|
|
|
1140
1177
|
const uiMessageStream = ai.createUIMessageStream({
|
|
1141
1178
|
originalMessages: messages,
|
|
1142
1179
|
execute: async ({ writer }) => {
|
|
1143
|
-
for await (const part of
|
|
1180
|
+
for await (const part of toAISdkFormat(result, {
|
|
1181
|
+
from: "agent",
|
|
1182
|
+
lastMessageId,
|
|
1183
|
+
sendStart,
|
|
1184
|
+
sendFinish,
|
|
1185
|
+
sendReasoning,
|
|
1186
|
+
sendSources
|
|
1187
|
+
})) {
|
|
1144
1188
|
writer.write(part);
|
|
1145
1189
|
}
|
|
1146
1190
|
}
|
|
@@ -1180,9 +1224,13 @@ function workflowRoute({
|
|
|
1180
1224
|
schema: {
|
|
1181
1225
|
type: "object",
|
|
1182
1226
|
properties: {
|
|
1227
|
+
runId: { type: "string" },
|
|
1228
|
+
resourceId: { type: "string" },
|
|
1183
1229
|
inputData: { type: "object", additionalProperties: true },
|
|
1184
|
-
|
|
1185
|
-
|
|
1230
|
+
resumeData: { type: "object", additionalProperties: true },
|
|
1231
|
+
runtimeContext: { type: "object", additionalProperties: true },
|
|
1232
|
+
tracingOptions: { type: "object", additionalProperties: true },
|
|
1233
|
+
step: { type: "string" }
|
|
1186
1234
|
}
|
|
1187
1235
|
}
|
|
1188
1236
|
}
|
|
@@ -1200,7 +1248,7 @@ function workflowRoute({
|
|
|
1200
1248
|
}
|
|
1201
1249
|
},
|
|
1202
1250
|
handler: async (c) => {
|
|
1203
|
-
const { inputData, resumeData, ...rest } = await c.req.json();
|
|
1251
|
+
const { runId, resourceId, inputData, resumeData, ...rest } = await c.req.json();
|
|
1204
1252
|
const mastra = c.get("mastra");
|
|
1205
1253
|
let workflowToUse = workflow;
|
|
1206
1254
|
if (!workflow) {
|
|
@@ -1219,11 +1267,11 @@ function workflowRoute({
|
|
|
1219
1267
|
if (!workflowObj) {
|
|
1220
1268
|
throw new Error(`Workflow ${workflowToUse} not found`);
|
|
1221
1269
|
}
|
|
1222
|
-
const run = await workflowObj.
|
|
1270
|
+
const run = await workflowObj.createRunAsync({ runId, resourceId, ...rest });
|
|
1223
1271
|
const stream = resumeData ? run.resumeStream({ resumeData, ...rest }) : run.stream({ inputData, ...rest });
|
|
1224
1272
|
const uiMessageStream = ai.createUIMessageStream({
|
|
1225
1273
|
execute: async ({ writer }) => {
|
|
1226
|
-
for await (const part of
|
|
1274
|
+
for await (const part of toAISdkFormat(stream, { from: "workflow" })) {
|
|
1227
1275
|
writer.write(part);
|
|
1228
1276
|
}
|
|
1229
1277
|
}
|
|
@@ -1263,12 +1311,13 @@ function networkRoute({
|
|
|
1263
1311
|
type: "object",
|
|
1264
1312
|
properties: {
|
|
1265
1313
|
messages: { type: "array", items: { type: "object" } },
|
|
1266
|
-
|
|
1314
|
+
runtimeContext: { type: "object", additionalProperties: true },
|
|
1267
1315
|
runId: { type: "string" },
|
|
1268
1316
|
maxSteps: { type: "number" },
|
|
1269
1317
|
threadId: { type: "string" },
|
|
1270
1318
|
resourceId: { type: "string" },
|
|
1271
1319
|
modelSettings: { type: "object", additionalProperties: true },
|
|
1320
|
+
telemetry: { type: "object", additionalProperties: true },
|
|
1272
1321
|
tools: { type: "array", items: { type: "object" } }
|
|
1273
1322
|
},
|
|
1274
1323
|
required: ["messages"]
|
|
@@ -1317,7 +1366,7 @@ function networkRoute({
|
|
|
1317
1366
|
});
|
|
1318
1367
|
const uiMessageStream = ai.createUIMessageStream({
|
|
1319
1368
|
execute: async ({ writer }) => {
|
|
1320
|
-
for await (const part of
|
|
1369
|
+
for await (const part of toAISdkFormat(result, { from: "network" })) {
|
|
1321
1370
|
writer.write(part);
|
|
1322
1371
|
}
|
|
1323
1372
|
}
|
|
@@ -1327,17 +1376,9 @@ function networkRoute({
|
|
|
1327
1376
|
});
|
|
1328
1377
|
}
|
|
1329
1378
|
|
|
1330
|
-
// src/to-ai-sdk-format.ts
|
|
1331
|
-
function toAISdkFormat() {
|
|
1332
|
-
throw new Error(
|
|
1333
|
-
'toAISdkFormat() has been deprecated. Please use toAISdkStream() instead.\n\nMigration:\n import { toAISdkFormat } from "@mastra/ai-sdk";\n // Change to:\n import { toAISdkStream } from "@mastra/ai-sdk";\n\nThe function signature remains the same.'
|
|
1334
|
-
);
|
|
1335
|
-
}
|
|
1336
|
-
|
|
1337
1379
|
exports.chatRoute = chatRoute;
|
|
1338
1380
|
exports.networkRoute = networkRoute;
|
|
1339
1381
|
exports.toAISdkFormat = toAISdkFormat;
|
|
1340
|
-
exports.toAISdkStream = toAISdkV5Stream;
|
|
1341
1382
|
exports.workflowRoute = workflowRoute;
|
|
1342
1383
|
//# sourceMappingURL=index.cjs.map
|
|
1343
1384
|
//# sourceMappingURL=index.cjs.map
|