@mastra/ai-sdk 0.0.0-moving-fetching-hooks-to-playground-ui-and-expose-them-20251023071821 → 0.0.0-new-button-export-20251219130424

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.
Files changed (54) hide show
  1. package/CHANGELOG.md +660 -1
  2. package/README.md +60 -0
  3. package/dist/__tests__/__fixtures__/network.stream.d.ts +2329 -0
  4. package/dist/__tests__/__fixtures__/network.stream.d.ts.map +1 -0
  5. package/dist/_types/@ai-sdk_provider/dist/index.d.ts +1719 -0
  6. package/dist/chat-route.d.ts +90 -3
  7. package/dist/chat-route.d.ts.map +1 -1
  8. package/dist/chunk-DES3K4SD.cjs +17 -0
  9. package/dist/chunk-DES3K4SD.cjs.map +1 -0
  10. package/dist/chunk-KYQEM4AK.js +294 -0
  11. package/dist/chunk-KYQEM4AK.js.map +1 -0
  12. package/dist/chunk-TD7TJ4N5.cjs +297 -0
  13. package/dist/chunk-TD7TJ4N5.cjs.map +1 -0
  14. package/dist/chunk-VUNV25KB.js +14 -0
  15. package/dist/chunk-VUNV25KB.js.map +1 -0
  16. package/dist/convert-messages.d.ts +90 -0
  17. package/dist/convert-messages.d.ts.map +1 -0
  18. package/dist/convert-streams.d.ts +81 -0
  19. package/dist/convert-streams.d.ts.map +1 -0
  20. package/dist/helpers.d.ts +9 -4
  21. package/dist/helpers.d.ts.map +1 -1
  22. package/dist/index.cjs +3986 -153
  23. package/dist/index.cjs.map +1 -1
  24. package/dist/index.d.ts +9 -6
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +3975 -166
  27. package/dist/index.js.map +1 -1
  28. package/dist/middleware.d.ts +157 -0
  29. package/dist/middleware.d.ts.map +1 -0
  30. package/dist/network-route.d.ts +63 -2
  31. package/dist/network-route.d.ts.map +1 -1
  32. package/dist/to-ai-sdk-format.d.ts +15 -16
  33. package/dist/to-ai-sdk-format.d.ts.map +1 -1
  34. package/dist/token-5ZTQBFQ6.cjs +63 -0
  35. package/dist/token-5ZTQBFQ6.cjs.map +1 -0
  36. package/dist/token-UOO4N54I.js +61 -0
  37. package/dist/token-UOO4N54I.js.map +1 -0
  38. package/dist/token-util-DUN56AZR.cjs +9 -0
  39. package/dist/token-util-DUN56AZR.cjs.map +1 -0
  40. package/dist/token-util-JCUK3SCT.js +7 -0
  41. package/dist/token-util-JCUK3SCT.js.map +1 -0
  42. package/dist/transformers.d.ts +174 -10
  43. package/dist/transformers.d.ts.map +1 -1
  44. package/dist/ui.cjs +15 -0
  45. package/dist/ui.cjs.map +1 -0
  46. package/dist/ui.d.ts +2 -0
  47. package/dist/ui.d.ts.map +1 -0
  48. package/dist/ui.js +12 -0
  49. package/dist/ui.js.map +1 -0
  50. package/dist/utils.d.ts +9 -1
  51. package/dist/utils.d.ts.map +1 -1
  52. package/dist/workflow-route.d.ts +68 -1
  53. package/dist/workflow-route.d.ts.map +1 -1
  54. package/package.json +23 -8
@@ -1,13 +1,40 @@
1
1
  import type { LLMStepResult } from '@mastra/core/agent';
2
2
  import type { ChunkType, DataChunkType, NetworkChunkType } from '@mastra/core/stream';
3
3
  import type { WorkflowRunStatus, WorkflowStepStatus } from '@mastra/core/workflows';
4
- import type { InferUIMessageChunk, UIMessage } from 'ai';
4
+ import type { InferUIMessageChunk, UIMessage, UIMessageStreamOptions } from 'ai';
5
5
  import type { ZodType } from 'zod';
6
+ import type { ToolAgentChunkType, ToolWorkflowChunkType, ToolNetworkChunkType } from './helpers.js';
7
+ type LanguageModelV2Usage = {
8
+ /**
9
+ The number of input (prompt) tokens used.
10
+ */
11
+ inputTokens: number | undefined;
12
+ /**
13
+ The number of output (completion) tokens used.
14
+ */
15
+ outputTokens: number | undefined;
16
+ /**
17
+ The total number of tokens as reported by the provider.
18
+ This number might be different from the sum of `inputTokens` and `outputTokens`
19
+ and e.g. include reasoning tokens or other overhead.
20
+ */
21
+ totalTokens: number | undefined;
22
+ /**
23
+ The number of reasoning tokens used.
24
+ */
25
+ reasoningTokens?: number | undefined;
26
+ /**
27
+ The number of cached input tokens.
28
+ */
29
+ cachedInputTokens?: number | undefined;
30
+ };
6
31
  type StepResult = {
7
32
  name: string;
8
33
  status: WorkflowStepStatus;
9
34
  input: Record<string, unknown> | null;
10
35
  output: unknown | null;
36
+ suspendPayload: Record<string, unknown> | null;
37
+ resumePayload: Record<string, unknown> | null;
11
38
  };
12
39
  export type WorkflowDataPart = {
13
40
  type: 'data-workflow' | 'data-tool-workflow';
@@ -32,6 +59,7 @@ export type NetworkDataPart = {
32
59
  name: string;
33
60
  status: 'running' | 'finished';
34
61
  steps: StepResult[];
62
+ usage: LanguageModelV2Usage | null;
35
63
  output: unknown | null;
36
64
  };
37
65
  };
@@ -40,15 +68,26 @@ export type AgentDataPart = {
40
68
  id: string;
41
69
  data: LLMStepResult;
42
70
  };
43
- export declare function WorkflowStreamToAISDKTransformer(): import("stream/web").TransformStream<ChunkType, WorkflowDataPart | ChunkType | {
71
+ declare const PRIMITIVE_CACHE_SYMBOL: unique symbol;
72
+ export declare function WorkflowStreamToAISDKTransformer({ includeTextStreamParts, }?: {
73
+ includeTextStreamParts?: boolean;
74
+ }): import("stream/web").TransformStream<ChunkType, ToolAgentChunkType | ToolWorkflowChunkType | ToolNetworkChunkType | WorkflowDataPart | ChunkType | {
44
75
  data?: string;
45
76
  type?: "start" | "finish";
46
- }>;
47
- export declare function AgentNetworkToAISDKTransformer(): import("stream/web").TransformStream<NetworkChunkType, DataChunkType | NetworkDataPart | {
77
+ } | InferUIMessageChunk<UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>>;
78
+ export declare function AgentNetworkToAISDKTransformer(): import("stream/web").TransformStream<NetworkChunkType, DataChunkType | NetworkDataPart | InferUIMessageChunk<UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>> | {
48
79
  data?: string;
49
80
  type?: "start" | "finish";
50
- } | InferUIMessageChunk<UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>>;
51
- export declare function AgentStreamToAISDKTransformer<TOutput extends ZodType<any>>(): import("stream/web").TransformStream<ChunkType<TOutput>, object>;
81
+ }>;
82
+ export declare function AgentStreamToAISDKTransformer<TOutput extends ZodType<any>>({ lastMessageId, sendStart, sendFinish, sendReasoning, sendSources, messageMetadata, onError, }: {
83
+ lastMessageId?: string;
84
+ sendStart?: boolean;
85
+ sendFinish?: boolean;
86
+ sendReasoning?: boolean;
87
+ sendSources?: boolean;
88
+ messageMetadata?: UIMessageStreamOptions<UIMessage>['messageMetadata'];
89
+ onError?: UIMessageStreamOptions<UIMessage>['onError'];
90
+ }): import("stream/web").TransformStream<ChunkType<TOutput>, object>;
52
91
  export declare function transformAgent<TOutput extends ZodType<any>>(payload: ChunkType<TOutput>, bufferedSteps: Map<string, any>): {
53
92
  type: "data-tool-agent";
54
93
  id: string;
@@ -57,12 +96,120 @@ export declare function transformAgent<TOutput extends ZodType<any>>(payload: Ch
57
96
  export declare function transformWorkflow<TOutput extends ZodType<any>>(payload: ChunkType<TOutput>, bufferedWorkflows: Map<string, {
58
97
  name: string;
59
98
  steps: Record<string, StepResult>;
60
- }>, isNested?: boolean): (DataChunkType & {
99
+ }>, isNested?: boolean, includeTextStreamParts?: boolean): (DataChunkType & {
61
100
  from: never;
62
101
  runId: never;
63
102
  metadata?: Record<string, any> | undefined;
64
103
  payload: never;
65
- }) | {
104
+ }) | ToolAgentChunkType | ToolWorkflowChunkType | ToolNetworkChunkType | {
105
+ type: "text-start";
106
+ id: string;
107
+ providerMetadata?: import("ai").ProviderMetadata;
108
+ } | {
109
+ type: "text-delta";
110
+ delta: string;
111
+ id: string;
112
+ providerMetadata?: import("ai").ProviderMetadata;
113
+ } | {
114
+ type: "text-end";
115
+ id: string;
116
+ providerMetadata?: import("ai").ProviderMetadata;
117
+ } | {
118
+ type: "reasoning-start";
119
+ id: string;
120
+ providerMetadata?: import("ai").ProviderMetadata;
121
+ } | {
122
+ type: "reasoning-delta";
123
+ id: string;
124
+ delta: string;
125
+ providerMetadata?: import("ai").ProviderMetadata;
126
+ } | {
127
+ type: "reasoning-end";
128
+ id: string;
129
+ providerMetadata?: import("ai").ProviderMetadata;
130
+ } | {
131
+ type: "error";
132
+ errorText: string;
133
+ } | {
134
+ type: "tool-input-available";
135
+ toolCallId: string;
136
+ toolName: string;
137
+ input: unknown;
138
+ providerExecuted?: boolean;
139
+ providerMetadata?: import("ai").ProviderMetadata;
140
+ dynamic?: boolean;
141
+ } | {
142
+ type: "tool-input-error";
143
+ toolCallId: string;
144
+ toolName: string;
145
+ input: unknown;
146
+ providerExecuted?: boolean;
147
+ providerMetadata?: import("ai").ProviderMetadata;
148
+ dynamic?: boolean;
149
+ errorText: string;
150
+ } | {
151
+ type: "tool-output-available";
152
+ toolCallId: string;
153
+ output: unknown;
154
+ providerExecuted?: boolean;
155
+ dynamic?: boolean;
156
+ preliminary?: boolean;
157
+ } | {
158
+ type: "tool-output-error";
159
+ toolCallId: string;
160
+ errorText: string;
161
+ providerExecuted?: boolean;
162
+ dynamic?: boolean;
163
+ } | {
164
+ type: "tool-input-start";
165
+ toolCallId: string;
166
+ toolName: string;
167
+ providerExecuted?: boolean;
168
+ dynamic?: boolean;
169
+ } | {
170
+ type: "tool-input-delta";
171
+ toolCallId: string;
172
+ inputTextDelta: string;
173
+ } | {
174
+ type: "source-url";
175
+ sourceId: string;
176
+ url: string;
177
+ title?: string;
178
+ providerMetadata?: import("ai").ProviderMetadata;
179
+ } | {
180
+ type: "source-document";
181
+ sourceId: string;
182
+ mediaType: string;
183
+ title: string;
184
+ filename?: string;
185
+ providerMetadata?: import("ai").ProviderMetadata;
186
+ } | {
187
+ type: "file";
188
+ url: string;
189
+ mediaType: string;
190
+ providerMetadata?: import("ai").ProviderMetadata;
191
+ } | {
192
+ type: "start-step";
193
+ } | {
194
+ type: "finish-step";
195
+ } | {
196
+ type: "abort";
197
+ } | {
198
+ type: `data-${string}`;
199
+ id?: string;
200
+ data: unknown;
201
+ transient?: boolean;
202
+ } | {
203
+ type: "start";
204
+ messageId?: string;
205
+ messageMetadata?: unknown;
206
+ } | {
207
+ type: "finish";
208
+ messageMetadata?: unknown;
209
+ } | {
210
+ type: "message-metadata";
211
+ messageMetadata: unknown;
212
+ } | {
66
213
  readonly type: "data-workflow" | "data-tool-workflow";
67
214
  readonly id: string;
68
215
  readonly data: {
@@ -71,6 +218,15 @@ export declare function transformWorkflow<TOutput extends ZodType<any>>(payload:
71
218
  readonly steps: Record<string, StepResult>;
72
219
  readonly output: null;
73
220
  };
221
+ } | {
222
+ readonly type: "data-workflow" | "data-tool-workflow";
223
+ readonly id: string;
224
+ readonly data: {
225
+ readonly name: string;
226
+ readonly status: "suspended";
227
+ readonly steps: Record<string, StepResult>;
228
+ readonly output: null;
229
+ };
74
230
  } | {
75
231
  readonly type: "data-workflow" | "data-tool-workflow";
76
232
  readonly id: string;
@@ -86,10 +242,18 @@ export declare function transformWorkflow<TOutput extends ZodType<any>>(payload:
86
242
  };
87
243
  readonly status: WorkflowRunStatus;
88
244
  };
89
- } | null;
245
+ } | null | undefined;
90
246
  export declare function transformNetwork(payload: NetworkChunkType, bufferedNetworks: Map<string, {
91
247
  name: string;
92
- steps: StepResult[];
248
+ steps: (StepResult & {
249
+ id: string;
250
+ iteration: number;
251
+ task: null | Record<string, unknown>;
252
+ input: StepResult['input'];
253
+ [PRIMITIVE_CACHE_SYMBOL]: Map<string, any>;
254
+ })[];
255
+ usage: LanguageModelV2Usage | null;
256
+ output: unknown | null;
93
257
  }>, isNested?: boolean): InferUIMessageChunk<UIMessage> | NetworkDataPart | DataChunkType | null;
94
258
  export {};
95
259
  //# sourceMappingURL=transformers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transformers.d.ts","sourceRoot":"","sources":["../src/transformers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAInC,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACtC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,eAAe,GAAG,oBAAoB,CAAC;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,iBAAiB,CAAC;QAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAClC,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,WAAW,EAAE,MAAM,CAAC;gBACpB,YAAY,EAAE,MAAM,CAAC;gBACrB,WAAW,EAAE,MAAM,CAAC;aACrB,CAAC;SACH,GAAG,IAAI,CAAC;KACV,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,cAAc,GAAG,mBAAmB,CAAC;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC;QAC/B,KAAK,EAAE,UAAU,EAAE,CAAC;QACpB,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;KACxB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,iBAAiB,CAAC;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,aAAa,CAAC;CACrB,CAAC;AAEF,wBAAgB,gCAAgC;WAWjC,MAAM;WACN,OAAO,GAAG,QAAQ;GAqBhC;AAED,wBAAgB,8BAA8B;WAM/B,MAAM;WACN,OAAO,GAAG,QAAQ;6FAqBhC;AAED,wBAAgB,6BAA6B,CAAC,OAAO,SAAS,OAAO,CAAC,GAAG,CAAC,sEAsCzE;AAED,wBAAgB,cAAc,CAAC,OAAO,SAAS,OAAO,CAAC,GAAG,CAAC,EACzD,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,EAC3B,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;;;;SAoJhC;AAED,wBAAgB,iBAAiB,CAAC,OAAO,SAAS,OAAO,CAAC,GAAG,CAAC,EAC5D,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,EAC3B,iBAAiB,EAAE,GAAG,CACpB,MAAM,EACN;IACE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACnC,CACF,EACD,QAAQ,CAAC,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAoFnB;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,gBAAgB,EACzB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC,EACpE,QAAQ,CAAC,EAAE,OAAO,GACjB,mBAAmB,CAAC,SAAS,CAAC,GAAG,eAAe,GAAG,aAAa,GAAG,IAAI,CAoNzE"}
1
+ {"version":3,"file":"transformers.d.ts","sourceRoot":"","sources":["../src/transformers.ts"],"names":[],"mappings":"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"}
package/dist/ui.cjs ADDED
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ var messageList = require('@mastra/core/agent/message-list');
4
+
5
+ function toAISdkV5Messages(messages) {
6
+ return new messageList.MessageList().add(messages, `memory`).get.all.aiV5.ui();
7
+ }
8
+ function toAISdkV4Messages(messages) {
9
+ return new messageList.MessageList().add(messages, `memory`).get.all.aiV4.ui();
10
+ }
11
+
12
+ exports.toAISdkV4Messages = toAISdkV4Messages;
13
+ exports.toAISdkV5Messages = toAISdkV5Messages;
14
+ //# sourceMappingURL=ui.cjs.map
15
+ //# sourceMappingURL=ui.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/convert-messages.ts"],"names":["MessageList"],"mappings":";;;;AA4CO,SAAS,kBAAkB,QAAA,EAA4B;AAC5D,EAAA,OAAO,IAAIA,uBAAA,EAAY,CAAE,GAAA,CAAI,QAAA,EAAU,QAAQ,CAAA,CAAE,GAAA,CAAI,GAAA,CAAI,IAAA,CAAK,EAAA,EAAG;AACnE;AA+CO,SAAS,kBAAkB,QAAA,EAA4B;AAC5D,EAAA,OAAO,IAAIA,uBAAA,EAAY,CAAE,GAAA,CAAI,QAAA,EAAU,QAAQ,CAAA,CAAE,GAAA,CAAI,GAAA,CAAI,IAAA,CAAK,EAAA,EAAG;AACnE","file":"ui.cjs","sourcesContent":["import { MessageList } from '@mastra/core/agent/message-list';\nimport type { MessageListInput } from '@mastra/core/agent/message-list';\n\n/**\n * Converts messages from various input formats to AI SDK V5 UI message format.\n *\n * This function accepts messages in multiple formats (strings, AI SDK V4/V5 messages, Mastra DB messages, etc.) and normalizes them to the AI SDK V5 UIMessage format, which is suitable for use with AI SDK V5 UI components like `useChat()`.\n *\n * @param messages - Messages to convert. Accepts:\n * - `string` - A single text message (treated as user role)\n * - `string[]` - Multiple text messages\n * - `MessageInput` - A single message object in any supported format:\n * - AI SDK V5 UIMessage or ModelMessage\n * - AI SDK V4 UIMessage or CoreMessage\n * - MastraDBMessage (internal storage format)\n * - MastraMessageV1 (legacy format)\n * - `MessageInput[]` - Array of message objects\n *\n * @returns An array of AI SDK V5 UIMessage objects with:\n * - `id` - Unique message identifier\n * - `role` - 'user' | 'assistant' | 'system'\n * - `parts` - Array of UI parts (text, tool results, files, reasoning, etc.)\n * - `metadata` - Optional metadata including createdAt, threadId, resourceId\n *\n * @example\n * ```typescript\n * import { toAISdkV5Messages } from '@mastra/ai-sdk';\n *\n * // Convert simple text messages\n * const messages = toAISdkV5Messages(['Hello', 'How can I help?']);\n *\n * // Convert AI SDK V4 messages to V5 format\n * const v4Messages = [\n * { id: '1', role: 'user', content: 'Hello', parts: [{ type: 'text', text: 'Hello' }] },\n * { id: '2', role: 'assistant', content: 'Hi!', parts: [{ type: 'text', text: 'Hi!' }] }\n * ];\n * const v5Messages = toAISdkV5Messages(v4Messages);\n *\n * // Use with useChat or similar AI SDK V5 hooks\n * const { messages: chatMessages } = useChat({\n * initialMessages: toAISdkV5Messages(storedMessages)\n * });\n * ```\n */\nexport function toAISdkV5Messages(messages: MessageListInput) {\n return new MessageList().add(messages, `memory`).get.all.aiV5.ui();\n}\n\n/**\n * Converts messages from various input formats to AI SDK V4 UI message format.\n *\n * This function accepts messages in multiple formats (strings, AI SDK V4/V5 messages, Mastra DB messages, etc.) and normalizes them to the AI SDK V4 UIMessage format, which is suitable for use with AI SDK V4 UI components.\n *\n * @param messages - Messages to convert. Accepts:\n * - `string` - A single text message (treated as user role)\n * - `string[]` - Multiple text messages\n * - `MessageInput` - A single message object in any supported format:\n * - AI SDK V5 UIMessage or ModelMessage\n * - AI SDK V4 UIMessage or CoreMessage\n * - MastraDBMessage (internal storage format)\n * - MastraMessageV1 (legacy format)\n * - `MessageInput[]` - Array of message objects\n *\n * @returns An array of AI SDK V4 UIMessage objects with:\n * - `id` - Unique message identifier\n * - `role` - 'user' | 'assistant' | 'system'\n * - `content` - Text content of the message\n * - `parts` - Array of UI parts (text, tool-invocation, file, reasoning, etc.)\n * - `createdAt` - Message creation timestamp\n * - `toolInvocations` - Optional array of tool invocations (for assistant messages)\n * - `experimental_attachments` - Optional file attachments\n * - `metadata` - Optional custom metadata\n *\n * @example\n * ```typescript\n * import { toAISdkV4Messages } from '@mastra/ai-sdk';\n *\n * // Convert simple text messages\n * const messages = toAISdkV4Messages(['Hello', 'How can I help?']);\n *\n * // Convert AI SDK V5 messages to V4 format for legacy compatibility\n * const v5Messages = [\n * { id: '1', role: 'user', parts: [{ type: 'text', text: 'Hello' }] },\n * { id: '2', role: 'assistant', parts: [{ type: 'text', text: 'Hi!' }] }\n * ];\n * const v4Messages = toAISdkV4Messages(v5Messages);\n *\n * // Use with AI SDK V4 useChat hook\n * const { messages: chatMessages } = useChat({\n * initialMessages: toAISdkV4Messages(storedMessages)\n * });\n * ```\n */\nexport function toAISdkV4Messages(messages: MessageListInput) {\n return new MessageList().add(messages, `memory`).get.all.aiV4.ui();\n}\n"]}
package/dist/ui.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export { toAISdkV5Messages, toAISdkV4Messages } from './convert-messages.js';
2
+ //# sourceMappingURL=ui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/ui.js ADDED
@@ -0,0 +1,12 @@
1
+ import { MessageList } from '@mastra/core/agent/message-list';
2
+
3
+ function toAISdkV5Messages(messages) {
4
+ return new MessageList().add(messages, `memory`).get.all.aiV5.ui();
5
+ }
6
+ function toAISdkV4Messages(messages) {
7
+ return new MessageList().add(messages, `memory`).get.all.aiV4.ui();
8
+ }
9
+
10
+ export { toAISdkV4Messages, toAISdkV5Messages };
11
+ //# sourceMappingURL=ui.js.map
12
+ //# sourceMappingURL=ui.js.map
package/dist/ui.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/convert-messages.ts"],"names":[],"mappings":";;AA4CO,SAAS,kBAAkB,QAAA,EAA4B;AAC5D,EAAA,OAAO,IAAI,WAAA,EAAY,CAAE,GAAA,CAAI,QAAA,EAAU,QAAQ,CAAA,CAAE,GAAA,CAAI,GAAA,CAAI,IAAA,CAAK,EAAA,EAAG;AACnE;AA+CO,SAAS,kBAAkB,QAAA,EAA4B;AAC5D,EAAA,OAAO,IAAI,WAAA,EAAY,CAAE,GAAA,CAAI,QAAA,EAAU,QAAQ,CAAA,CAAE,GAAA,CAAI,GAAA,CAAI,IAAA,CAAK,EAAA,EAAG;AACnE","file":"ui.js","sourcesContent":["import { MessageList } from '@mastra/core/agent/message-list';\nimport type { MessageListInput } from '@mastra/core/agent/message-list';\n\n/**\n * Converts messages from various input formats to AI SDK V5 UI message format.\n *\n * This function accepts messages in multiple formats (strings, AI SDK V4/V5 messages, Mastra DB messages, etc.) and normalizes them to the AI SDK V5 UIMessage format, which is suitable for use with AI SDK V5 UI components like `useChat()`.\n *\n * @param messages - Messages to convert. Accepts:\n * - `string` - A single text message (treated as user role)\n * - `string[]` - Multiple text messages\n * - `MessageInput` - A single message object in any supported format:\n * - AI SDK V5 UIMessage or ModelMessage\n * - AI SDK V4 UIMessage or CoreMessage\n * - MastraDBMessage (internal storage format)\n * - MastraMessageV1 (legacy format)\n * - `MessageInput[]` - Array of message objects\n *\n * @returns An array of AI SDK V5 UIMessage objects with:\n * - `id` - Unique message identifier\n * - `role` - 'user' | 'assistant' | 'system'\n * - `parts` - Array of UI parts (text, tool results, files, reasoning, etc.)\n * - `metadata` - Optional metadata including createdAt, threadId, resourceId\n *\n * @example\n * ```typescript\n * import { toAISdkV5Messages } from '@mastra/ai-sdk';\n *\n * // Convert simple text messages\n * const messages = toAISdkV5Messages(['Hello', 'How can I help?']);\n *\n * // Convert AI SDK V4 messages to V5 format\n * const v4Messages = [\n * { id: '1', role: 'user', content: 'Hello', parts: [{ type: 'text', text: 'Hello' }] },\n * { id: '2', role: 'assistant', content: 'Hi!', parts: [{ type: 'text', text: 'Hi!' }] }\n * ];\n * const v5Messages = toAISdkV5Messages(v4Messages);\n *\n * // Use with useChat or similar AI SDK V5 hooks\n * const { messages: chatMessages } = useChat({\n * initialMessages: toAISdkV5Messages(storedMessages)\n * });\n * ```\n */\nexport function toAISdkV5Messages(messages: MessageListInput) {\n return new MessageList().add(messages, `memory`).get.all.aiV5.ui();\n}\n\n/**\n * Converts messages from various input formats to AI SDK V4 UI message format.\n *\n * This function accepts messages in multiple formats (strings, AI SDK V4/V5 messages, Mastra DB messages, etc.) and normalizes them to the AI SDK V4 UIMessage format, which is suitable for use with AI SDK V4 UI components.\n *\n * @param messages - Messages to convert. Accepts:\n * - `string` - A single text message (treated as user role)\n * - `string[]` - Multiple text messages\n * - `MessageInput` - A single message object in any supported format:\n * - AI SDK V5 UIMessage or ModelMessage\n * - AI SDK V4 UIMessage or CoreMessage\n * - MastraDBMessage (internal storage format)\n * - MastraMessageV1 (legacy format)\n * - `MessageInput[]` - Array of message objects\n *\n * @returns An array of AI SDK V4 UIMessage objects with:\n * - `id` - Unique message identifier\n * - `role` - 'user' | 'assistant' | 'system'\n * - `content` - Text content of the message\n * - `parts` - Array of UI parts (text, tool-invocation, file, reasoning, etc.)\n * - `createdAt` - Message creation timestamp\n * - `toolInvocations` - Optional array of tool invocations (for assistant messages)\n * - `experimental_attachments` - Optional file attachments\n * - `metadata` - Optional custom metadata\n *\n * @example\n * ```typescript\n * import { toAISdkV4Messages } from '@mastra/ai-sdk';\n *\n * // Convert simple text messages\n * const messages = toAISdkV4Messages(['Hello', 'How can I help?']);\n *\n * // Convert AI SDK V5 messages to V4 format for legacy compatibility\n * const v5Messages = [\n * { id: '1', role: 'user', parts: [{ type: 'text', text: 'Hello' }] },\n * { id: '2', role: 'assistant', parts: [{ type: 'text', text: 'Hi!' }] }\n * ];\n * const v4Messages = toAISdkV4Messages(v5Messages);\n *\n * // Use with AI SDK V4 useChat hook\n * const { messages: chatMessages } = useChat({\n * initialMessages: toAISdkV4Messages(storedMessages)\n * });\n * ```\n */\nexport function toAISdkV4Messages(messages: MessageListInput) {\n return new MessageList().add(messages, `memory`).get.all.aiV4.ui();\n}\n"]}
package/dist/utils.d.ts CHANGED
@@ -1,3 +1,11 @@
1
- import type { DataChunkType } from '@mastra/core/stream';
1
+ import type { ChunkType, DataChunkType, NetworkChunkType, OutputSchema } from '@mastra/core/stream';
2
2
  export declare const isDataChunkType: (chunk: any) => chunk is DataChunkType;
3
+ export declare const isMastraTextStreamChunk: (chunk: any) => chunk is ChunkType<OutputSchema>;
4
+ export declare function safeParseErrorObject(obj: unknown): string;
5
+ export declare const isAgentExecutionDataChunkType: (chunk: any) => chunk is Omit<NetworkChunkType, "payload"> & {
6
+ payload: DataChunkType;
7
+ };
8
+ export declare const isWorkflowExecutionDataChunkType: (chunk: any) => chunk is Omit<NetworkChunkType, "payload"> & {
9
+ payload: DataChunkType;
10
+ };
3
11
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,eAAO,MAAM,eAAe,GAAI,OAAO,GAAG,KAAG,KAAK,IAAI,aAErD,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEpG,eAAO,MAAM,eAAe,GAAI,OAAO,GAAG,KAAG,KAAK,IAAI,aAErD,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,OAAO,GAAG,KAAG,KAAK,IAAI,SAAS,CAAC,YAAY,CAkCnF,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAgBzD;AAED,eAAO,MAAM,6BAA6B,GACxC,OAAO,GAAG,KACT,KAAK,IAAI,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,GAAG;IAAE,OAAO,EAAE,aAAa,CAAA;CAWvE,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAC3C,OAAO,GAAG,KACT,KAAK,IAAI,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,GAAG;IAAE,OAAO,EAAE,aAAa,CAAA;CAWvE,CAAC"}
@@ -1,10 +1,77 @@
1
+ import type { Mastra } from '@mastra/core/mastra';
2
+ import type { TracingOptions } from '@mastra/core/observability';
3
+ import type { RequestContext } from '@mastra/core/request-context';
1
4
  import { registerApiRoute } from '@mastra/core/server';
5
+ import type { InferUIMessageChunk, UIMessage } from 'ai';
6
+ export type WorkflowStreamHandlerParams = {
7
+ runId?: string;
8
+ resourceId?: string;
9
+ inputData?: Record<string, any>;
10
+ resumeData?: Record<string, any>;
11
+ requestContext?: RequestContext;
12
+ tracingOptions?: TracingOptions;
13
+ step?: string;
14
+ };
15
+ export type WorkflowStreamHandlerOptions = {
16
+ mastra: Mastra;
17
+ workflowId: string;
18
+ params: WorkflowStreamHandlerParams;
19
+ includeTextStreamParts?: boolean;
20
+ };
21
+ /**
22
+ * Framework-agnostic handler for streaming workflow execution in AI SDK-compatible format.
23
+ * Use this function directly when you need to handle workflow streaming outside of Hono or Mastra's own apiRoutes feature.
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * // Next.js App Router
28
+ * import { handleWorkflowStream } from '@mastra/ai-sdk';
29
+ * import { createUIMessageStreamResponse } from 'ai';
30
+ * import { mastra } from '@/src/mastra';
31
+ *
32
+ * export async function POST(req: Request) {
33
+ * const params = await req.json();
34
+ * const stream = await handleWorkflowStream({
35
+ * mastra,
36
+ * workflowId: 'weatherWorkflow',
37
+ * params,
38
+ * });
39
+ * return createUIMessageStreamResponse({ stream });
40
+ * }
41
+ * ```
42
+ */
43
+ export declare function handleWorkflowStream<UI_MESSAGE extends UIMessage>({ mastra, workflowId, params, includeTextStreamParts, }: WorkflowStreamHandlerOptions): Promise<ReadableStream<InferUIMessageChunk<UI_MESSAGE>>>;
2
44
  export type WorkflowRouteOptions = {
3
45
  path: `${string}:workflowId${string}`;
4
46
  workflow?: never;
47
+ includeTextStreamParts?: boolean;
5
48
  } | {
6
49
  path: string;
7
50
  workflow: string;
51
+ includeTextStreamParts?: boolean;
8
52
  };
9
- export declare function workflowRoute({ path, workflow, }: WorkflowRouteOptions): ReturnType<typeof registerApiRoute>;
53
+ /**
54
+ * Creates a workflow route handler for streaming workflow execution using the AI SDK format.
55
+ *
56
+ * This function registers an HTTP POST endpoint that accepts input data, executes a workflow, and streams the response back to the client in AI SDK-compatible format.
57
+ *
58
+ * @param {WorkflowRouteOptions} options - Configuration options for the workflow route
59
+ * @param {string} [options.path='/api/workflows/:workflowId/stream'] - The route path. Include `:workflowId` for dynamic routing
60
+ * @param {string} [options.workflow] - Fixed workflow ID when not using dynamic routing
61
+ * @param {boolean} [options.includeTextStreamParts=true] - Whether to include text stream parts in the output
62
+ *
63
+ * @example
64
+ * // Dynamic workflow routing
65
+ * workflowRoute({
66
+ * path: '/api/workflows/:workflowId/stream',
67
+ * });
68
+ *
69
+ * @example
70
+ * // Fixed workflow with custom path
71
+ * workflowRoute({
72
+ * path: '/api/data-pipeline/stream',
73
+ * workflow: 'data-processing-workflow',
74
+ * });
75
+ */
76
+ export declare function workflowRoute({ path, workflow, includeTextStreamParts, }: WorkflowRouteOptions): ReturnType<typeof registerApiRoute>;
10
77
  //# sourceMappingURL=workflow-route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-route.d.ts","sourceRoot":"","sources":["../src/workflow-route.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAUvD,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,GAAG,MAAM,cAAc,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,wBAAgB,aAAa,CAAC,EAC5B,IAA0C,EAC1C,QAAQ,GACT,EAAE,oBAAoB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAsF5D"}
1
+ {"version":3,"file":"workflow-route.d.ts","sourceRoot":"","sources":["../src/workflow-route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAGzD,MAAM,MAAM,2BAA2B,GAAG;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,2BAA2B,CAAC;IACpC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,oBAAoB,CAAC,UAAU,SAAS,SAAS,EAAE,EACvE,MAAM,EACN,UAAU,EACV,MAAM,EACN,sBAA6B,GAC9B,EAAE,4BAA4B,GAAG,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,CAqBzF;AAED,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,GAAG,MAAM,cAAc,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;IAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7F;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,IAA0C,EAC1C,QAAQ,EACR,sBAA6B,GAC9B,EAAE,oBAAoB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CA6F5D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/ai-sdk",
3
- "version": "0.0.0-moving-fetching-hooks-to-playground-ui-and-expose-them-20251023071821",
3
+ "version": "0.0.0-new-button-export-20251219130424",
4
4
  "description": "Adds custom API routes to be compatible with the AI SDK UI parts",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -15,6 +15,16 @@
15
15
  "default": "./dist/index.cjs"
16
16
  }
17
17
  },
18
+ "./ui": {
19
+ "import": {
20
+ "types": "./dist/ui.d.ts",
21
+ "default": "./dist/ui.js"
22
+ },
23
+ "require": {
24
+ "types": "./dist/ui.d.ts",
25
+ "default": "./dist/ui.cjs"
26
+ }
27
+ },
18
28
  "./package.json": "./package.json"
19
29
  },
20
30
  "files": [
@@ -23,18 +33,23 @@
23
33
  ],
24
34
  "peerDependencies": {
25
35
  "zod": "^3.25.0 || ^4.0.0",
26
- "@mastra/core": "0.22.1"
36
+ "@mastra/core": "0.0.0-new-button-export-20251219130424"
27
37
  },
28
38
  "devDependencies": {
39
+ "@ai-sdk/provider": "^2.0.0",
29
40
  "@types/json-schema": "^7.0.15",
41
+ "@vitest/coverage-v8": "4.0.12",
42
+ "@vitest/ui": "4.0.12",
43
+ "ai": "^5.0.60",
30
44
  "eslint": "^9.37.0",
31
45
  "tsup": "^8.5.0",
32
46
  "typescript": "^5.8.3",
33
- "vitest": "^3.2.4",
47
+ "vitest": "4.0.12",
34
48
  "zod": "^3.25.76",
35
- "@mastra/core": "0.22.1",
36
- "@internal/lint": "0.0.0-moving-fetching-hooks-to-playground-ui-and-expose-them-20251023071821",
37
- "@internal/types-builder": "0.0.0-moving-fetching-hooks-to-playground-ui-and-expose-them-20251023071821"
49
+ "@internal/lint": "0.0.0-new-button-export-20251219130424",
50
+ "@internal/types-builder": "0.0.0-new-button-export-20251219130424",
51
+ "@mastra/core": "0.0.0-new-button-export-20251219130424",
52
+ "@mastra/libsql": "0.0.0-new-button-export-20251219130424"
38
53
  },
39
54
  "keywords": [
40
55
  "mastra",
@@ -51,8 +66,8 @@
51
66
  "bugs": {
52
67
  "url": "https://github.com/mastra-ai/mastra/issues"
53
68
  },
54
- "dependencies": {
55
- "ai": "^5.0.60"
69
+ "engines": {
70
+ "node": ">=22.13.0"
56
71
  },
57
72
  "scripts": {
58
73
  "lint": "eslint .",