@mastra/server 0.20.1-alpha.3 → 0.20.1

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 (48) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/{chunk-TMU7NSW7.js → chunk-HKW2536J.js} +5852 -2557
  3. package/dist/chunk-HKW2536J.js.map +1 -0
  4. package/dist/{chunk-AFJBHPHA.cjs → chunk-KJJA7GPJ.cjs} +6308 -2994
  5. package/dist/chunk-KJJA7GPJ.cjs.map +1 -0
  6. package/dist/server/handlers/agent-builder.cjs +16 -16
  7. package/dist/server/handlers/agent-builder.js +1 -1
  8. package/dist/server/handlers.cjs +2 -2
  9. package/dist/server/handlers.js +1 -1
  10. package/package.json +6 -6
  11. package/dist/chunk-44GFD2TF.js +0 -419
  12. package/dist/chunk-44GFD2TF.js.map +0 -1
  13. package/dist/chunk-75KU7JB6.cjs +0 -588
  14. package/dist/chunk-75KU7JB6.cjs.map +0 -1
  15. package/dist/chunk-77TGJGDW.cjs +0 -1279
  16. package/dist/chunk-77TGJGDW.cjs.map +0 -1
  17. package/dist/chunk-AFJBHPHA.cjs.map +0 -1
  18. package/dist/chunk-CHDN4NEY.js +0 -1277
  19. package/dist/chunk-CHDN4NEY.js.map +0 -1
  20. package/dist/chunk-EAIAF7Z6.js +0 -571
  21. package/dist/chunk-EAIAF7Z6.js.map +0 -1
  22. package/dist/chunk-TMU7NSW7.js.map +0 -1
  23. package/dist/chunk-WO2SYFUI.js +0 -5945
  24. package/dist/chunk-WO2SYFUI.js.map +0 -1
  25. package/dist/chunk-XCR65STK.cjs +0 -433
  26. package/dist/chunk-XCR65STK.cjs.map +0 -1
  27. package/dist/chunk-YWACVZRO.cjs +0 -5985
  28. package/dist/chunk-YWACVZRO.cjs.map +0 -1
  29. package/dist/dist-36GPHJSB.cjs +0 -2014
  30. package/dist/dist-36GPHJSB.cjs.map +0 -1
  31. package/dist/dist-3WEYC4YO.js +0 -2007
  32. package/dist/dist-3WEYC4YO.js.map +0 -1
  33. package/dist/dist-7MBYKZSM.js +0 -846
  34. package/dist/dist-7MBYKZSM.js.map +0 -1
  35. package/dist/dist-FGYSUA65.cjs +0 -935
  36. package/dist/dist-FGYSUA65.cjs.map +0 -1
  37. package/dist/dist-FNKPY5I5.cjs +0 -1412
  38. package/dist/dist-FNKPY5I5.cjs.map +0 -1
  39. package/dist/dist-H5ZHQKYG.js +0 -3
  40. package/dist/dist-H5ZHQKYG.js.map +0 -1
  41. package/dist/dist-HBUYSRRO.cjs +0 -850
  42. package/dist/dist-HBUYSRRO.cjs.map +0 -1
  43. package/dist/dist-IUCBLZK6.js +0 -1409
  44. package/dist/dist-IUCBLZK6.js.map +0 -1
  45. package/dist/dist-M4HXCUXC.cjs +0 -20
  46. package/dist/dist-M4HXCUXC.cjs.map +0 -1
  47. package/dist/dist-P32YPL35.js +0 -932
  48. package/dist/dist-P32YPL35.js.map +0 -1
@@ -1,588 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkXCR65STK_cjs = require('./chunk-XCR65STK.cjs');
4
-
5
- function combineHeaders(...headers) {
6
- return headers.reduce(
7
- (combinedHeaders, currentHeaders) => ({
8
- ...combinedHeaders,
9
- ...currentHeaders != null ? currentHeaders : {}
10
- }),
11
- {}
12
- );
13
- }
14
- function extractResponseHeaders(response) {
15
- return Object.fromEntries([...response.headers]);
16
- }
17
- var createIdGenerator = ({
18
- prefix,
19
- size = 16,
20
- alphabet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
21
- separator = "-"
22
- } = {}) => {
23
- const generator = () => {
24
- const alphabetLength = alphabet.length;
25
- const chars = new Array(size);
26
- for (let i = 0; i < size; i++) {
27
- chars[i] = alphabet[Math.random() * alphabetLength | 0];
28
- }
29
- return chars.join("");
30
- };
31
- if (prefix == null) {
32
- return generator;
33
- }
34
- if (alphabet.includes(separator)) {
35
- throw new chunkXCR65STK_cjs.InvalidArgumentError({
36
- argument: "separator",
37
- message: `The separator "${separator}" must not be part of the alphabet "${alphabet}".`
38
- });
39
- }
40
- return () => `${prefix}${separator}${generator()}`;
41
- };
42
- var generateId = createIdGenerator();
43
- function isAbortError(error) {
44
- return (error instanceof Error || error instanceof DOMException) && (error.name === "AbortError" || error.name === "ResponseAborted" || // Next.js
45
- error.name === "TimeoutError");
46
- }
47
- var FETCH_FAILED_ERROR_MESSAGES = ["fetch failed", "failed to fetch"];
48
- function handleFetchError({
49
- error,
50
- url,
51
- requestBodyValues
52
- }) {
53
- if (isAbortError(error)) {
54
- return error;
55
- }
56
- if (error instanceof TypeError && FETCH_FAILED_ERROR_MESSAGES.includes(error.message.toLowerCase())) {
57
- const cause = error.cause;
58
- if (cause != null) {
59
- return new chunkXCR65STK_cjs.APICallError({
60
- message: `Cannot connect to API: ${cause.message}`,
61
- cause,
62
- url,
63
- requestBodyValues,
64
- isRetryable: true
65
- // retry when network error
66
- });
67
- }
68
- }
69
- return error;
70
- }
71
- function removeUndefinedEntries(record) {
72
- return Object.fromEntries(
73
- Object.entries(record).filter(([_key, value]) => value != null)
74
- );
75
- }
76
- function loadApiKey({
77
- apiKey,
78
- environmentVariableName,
79
- apiKeyParameterName = "apiKey",
80
- description
81
- }) {
82
- if (typeof apiKey === "string") {
83
- return apiKey;
84
- }
85
- if (apiKey != null) {
86
- throw new chunkXCR65STK_cjs.LoadAPIKeyError({
87
- message: `${description} API key must be a string.`
88
- });
89
- }
90
- if (typeof process === "undefined") {
91
- throw new chunkXCR65STK_cjs.LoadAPIKeyError({
92
- message: `${description} API key is missing. Pass it using the '${apiKeyParameterName}' parameter. Environment variables is not supported in this environment.`
93
- });
94
- }
95
- apiKey = process.env[environmentVariableName];
96
- if (apiKey == null) {
97
- throw new chunkXCR65STK_cjs.LoadAPIKeyError({
98
- message: `${description} API key is missing. Pass it using the '${apiKeyParameterName}' parameter or the ${environmentVariableName} environment variable.`
99
- });
100
- }
101
- if (typeof apiKey !== "string") {
102
- throw new chunkXCR65STK_cjs.LoadAPIKeyError({
103
- message: `${description} API key must be a string. The value of the ${environmentVariableName} environment variable is not a string.`
104
- });
105
- }
106
- return apiKey;
107
- }
108
- var suspectProtoRx = /"__proto__"\s*:/;
109
- var suspectConstructorRx = /"constructor"\s*:/;
110
- function _parse(text) {
111
- const obj = JSON.parse(text);
112
- if (obj === null || typeof obj !== "object") {
113
- return obj;
114
- }
115
- if (suspectProtoRx.test(text) === false && suspectConstructorRx.test(text) === false) {
116
- return obj;
117
- }
118
- return filter(obj);
119
- }
120
- function filter(obj) {
121
- let next = [obj];
122
- while (next.length) {
123
- const nodes = next;
124
- next = [];
125
- for (const node of nodes) {
126
- if (Object.prototype.hasOwnProperty.call(node, "__proto__")) {
127
- throw new SyntaxError("Object contains forbidden prototype property");
128
- }
129
- if (Object.prototype.hasOwnProperty.call(node, "constructor") && Object.prototype.hasOwnProperty.call(node.constructor, "prototype")) {
130
- throw new SyntaxError("Object contains forbidden prototype property");
131
- }
132
- for (const key in node) {
133
- const value = node[key];
134
- if (value && typeof value === "object") {
135
- next.push(value);
136
- }
137
- }
138
- }
139
- }
140
- return obj;
141
- }
142
- function secureJsonParse(text) {
143
- const { stackTraceLimit } = Error;
144
- Error.stackTraceLimit = 0;
145
- try {
146
- return _parse(text);
147
- } finally {
148
- Error.stackTraceLimit = stackTraceLimit;
149
- }
150
- }
151
- var validatorSymbol = Symbol.for("vercel.ai.validator");
152
- function validator(validate) {
153
- return { [validatorSymbol]: true, validate };
154
- }
155
- function isValidator(value) {
156
- return typeof value === "object" && value !== null && validatorSymbol in value && value[validatorSymbol] === true && "validate" in value;
157
- }
158
- function asValidator(value) {
159
- return isValidator(value) ? value : standardSchemaValidator(value);
160
- }
161
- function standardSchemaValidator(standardSchema) {
162
- return validator(async (value) => {
163
- const result = await standardSchema["~standard"].validate(value);
164
- return result.issues == null ? { success: true, value: result.value } : {
165
- success: false,
166
- error: new chunkXCR65STK_cjs.TypeValidationError({
167
- value,
168
- cause: result.issues
169
- })
170
- };
171
- });
172
- }
173
- async function validateTypes({
174
- value,
175
- schema
176
- }) {
177
- const result = await safeValidateTypes({ value, schema });
178
- if (!result.success) {
179
- throw chunkXCR65STK_cjs.TypeValidationError.wrap({ value, cause: result.error });
180
- }
181
- return result.value;
182
- }
183
- async function safeValidateTypes({
184
- value,
185
- schema
186
- }) {
187
- const validator2 = asValidator(schema);
188
- try {
189
- if (validator2.validate == null) {
190
- return { success: true, value, rawValue: value };
191
- }
192
- const result = await validator2.validate(value);
193
- if (result.success) {
194
- return { success: true, value: result.value, rawValue: value };
195
- }
196
- return {
197
- success: false,
198
- error: chunkXCR65STK_cjs.TypeValidationError.wrap({ value, cause: result.error }),
199
- rawValue: value
200
- };
201
- } catch (error) {
202
- return {
203
- success: false,
204
- error: chunkXCR65STK_cjs.TypeValidationError.wrap({ value, cause: error }),
205
- rawValue: value
206
- };
207
- }
208
- }
209
- async function parseJSON({
210
- text,
211
- schema
212
- }) {
213
- try {
214
- const value = secureJsonParse(text);
215
- if (schema == null) {
216
- return value;
217
- }
218
- return validateTypes({ value, schema });
219
- } catch (error) {
220
- if (chunkXCR65STK_cjs.JSONParseError.isInstance(error) || chunkXCR65STK_cjs.TypeValidationError.isInstance(error)) {
221
- throw error;
222
- }
223
- throw new chunkXCR65STK_cjs.JSONParseError({ text, cause: error });
224
- }
225
- }
226
- async function safeParseJSON({
227
- text,
228
- schema
229
- }) {
230
- try {
231
- const value = secureJsonParse(text);
232
- if (schema == null) {
233
- return { success: true, value, rawValue: value };
234
- }
235
- return await safeValidateTypes({ value, schema });
236
- } catch (error) {
237
- return {
238
- success: false,
239
- error: chunkXCR65STK_cjs.JSONParseError.isInstance(error) ? error : new chunkXCR65STK_cjs.JSONParseError({ text, cause: error }),
240
- rawValue: void 0
241
- };
242
- }
243
- }
244
- function isParsableJson(input) {
245
- try {
246
- secureJsonParse(input);
247
- return true;
248
- } catch (e) {
249
- return false;
250
- }
251
- }
252
- function parseJsonEventStream({
253
- stream,
254
- schema
255
- }) {
256
- return stream.pipeThrough(new TextDecoderStream()).pipeThrough(new chunkXCR65STK_cjs.EventSourceParserStream()).pipeThrough(
257
- new TransformStream({
258
- async transform({ data }, controller) {
259
- if (data === "[DONE]") {
260
- return;
261
- }
262
- controller.enqueue(await safeParseJSON({ text: data, schema }));
263
- }
264
- })
265
- );
266
- }
267
- async function parseProviderOptions({
268
- provider,
269
- providerOptions,
270
- schema
271
- }) {
272
- if ((providerOptions == null ? void 0 : providerOptions[provider]) == null) {
273
- return void 0;
274
- }
275
- const parsedProviderOptions = await safeValidateTypes({
276
- value: providerOptions[provider],
277
- schema
278
- });
279
- if (!parsedProviderOptions.success) {
280
- throw new chunkXCR65STK_cjs.InvalidArgumentError({
281
- argument: "providerOptions",
282
- message: `invalid ${provider} provider options`,
283
- cause: parsedProviderOptions.error
284
- });
285
- }
286
- return parsedProviderOptions.value;
287
- }
288
- var getOriginalFetch2 = () => globalThis.fetch;
289
- var postJsonToApi = async ({
290
- url,
291
- headers,
292
- body,
293
- failedResponseHandler,
294
- successfulResponseHandler,
295
- abortSignal,
296
- fetch
297
- }) => postToApi({
298
- url,
299
- headers: {
300
- "Content-Type": "application/json",
301
- ...headers
302
- },
303
- body: {
304
- content: JSON.stringify(body),
305
- values: body
306
- },
307
- failedResponseHandler,
308
- successfulResponseHandler,
309
- abortSignal,
310
- fetch
311
- });
312
- var postFormDataToApi = async ({
313
- url,
314
- headers,
315
- formData,
316
- failedResponseHandler,
317
- successfulResponseHandler,
318
- abortSignal,
319
- fetch
320
- }) => postToApi({
321
- url,
322
- headers,
323
- body: {
324
- content: formData,
325
- values: Object.fromEntries(formData.entries())
326
- },
327
- failedResponseHandler,
328
- successfulResponseHandler,
329
- abortSignal,
330
- fetch
331
- });
332
- var postToApi = async ({
333
- url,
334
- headers = {},
335
- body,
336
- successfulResponseHandler,
337
- failedResponseHandler,
338
- abortSignal,
339
- fetch = getOriginalFetch2()
340
- }) => {
341
- try {
342
- const response = await fetch(url, {
343
- method: "POST",
344
- headers: removeUndefinedEntries(headers),
345
- body: body.content,
346
- signal: abortSignal
347
- });
348
- const responseHeaders = extractResponseHeaders(response);
349
- if (!response.ok) {
350
- let errorInformation;
351
- try {
352
- errorInformation = await failedResponseHandler({
353
- response,
354
- url,
355
- requestBodyValues: body.values
356
- });
357
- } catch (error) {
358
- if (isAbortError(error) || chunkXCR65STK_cjs.APICallError.isInstance(error)) {
359
- throw error;
360
- }
361
- throw new chunkXCR65STK_cjs.APICallError({
362
- message: "Failed to process error response",
363
- cause: error,
364
- statusCode: response.status,
365
- url,
366
- responseHeaders,
367
- requestBodyValues: body.values
368
- });
369
- }
370
- throw errorInformation.value;
371
- }
372
- try {
373
- return await successfulResponseHandler({
374
- response,
375
- url,
376
- requestBodyValues: body.values
377
- });
378
- } catch (error) {
379
- if (error instanceof Error) {
380
- if (isAbortError(error) || chunkXCR65STK_cjs.APICallError.isInstance(error)) {
381
- throw error;
382
- }
383
- }
384
- throw new chunkXCR65STK_cjs.APICallError({
385
- message: "Failed to process successful response",
386
- cause: error,
387
- statusCode: response.status,
388
- url,
389
- responseHeaders,
390
- requestBodyValues: body.values
391
- });
392
- }
393
- } catch (error) {
394
- throw handleFetchError({ error, url, requestBodyValues: body.values });
395
- }
396
- };
397
- function tool(tool2) {
398
- return tool2;
399
- }
400
- function createProviderDefinedToolFactory({
401
- id,
402
- name,
403
- inputSchema
404
- }) {
405
- return ({
406
- execute,
407
- outputSchema,
408
- toModelOutput,
409
- onInputStart,
410
- onInputDelta,
411
- onInputAvailable,
412
- ...args
413
- }) => tool({
414
- type: "provider-defined",
415
- id,
416
- name,
417
- args,
418
- inputSchema,
419
- outputSchema,
420
- execute,
421
- toModelOutput,
422
- onInputStart,
423
- onInputDelta,
424
- onInputAvailable
425
- });
426
- }
427
- function createProviderDefinedToolFactoryWithOutputSchema({
428
- id,
429
- name,
430
- inputSchema,
431
- outputSchema
432
- }) {
433
- return ({
434
- execute,
435
- toModelOutput,
436
- onInputStart,
437
- onInputDelta,
438
- onInputAvailable,
439
- ...args
440
- }) => tool({
441
- type: "provider-defined",
442
- id,
443
- name,
444
- args,
445
- inputSchema,
446
- outputSchema,
447
- execute,
448
- toModelOutput,
449
- onInputStart,
450
- onInputDelta,
451
- onInputAvailable
452
- });
453
- }
454
- async function resolve(value) {
455
- if (typeof value === "function") {
456
- value = value();
457
- }
458
- return Promise.resolve(value);
459
- }
460
- var createJsonErrorResponseHandler = ({
461
- errorSchema,
462
- errorToMessage,
463
- isRetryable
464
- }) => async ({ response, url, requestBodyValues }) => {
465
- const responseBody = await response.text();
466
- const responseHeaders = extractResponseHeaders(response);
467
- if (responseBody.trim() === "") {
468
- return {
469
- responseHeaders,
470
- value: new chunkXCR65STK_cjs.APICallError({
471
- message: response.statusText,
472
- url,
473
- requestBodyValues,
474
- statusCode: response.status,
475
- responseHeaders,
476
- responseBody,
477
- isRetryable: isRetryable == null ? void 0 : isRetryable(response)
478
- })
479
- };
480
- }
481
- try {
482
- const parsedError = await parseJSON({
483
- text: responseBody,
484
- schema: errorSchema
485
- });
486
- return {
487
- responseHeaders,
488
- value: new chunkXCR65STK_cjs.APICallError({
489
- message: errorToMessage(parsedError),
490
- url,
491
- requestBodyValues,
492
- statusCode: response.status,
493
- responseHeaders,
494
- responseBody,
495
- data: parsedError,
496
- isRetryable: isRetryable == null ? void 0 : isRetryable(response, parsedError)
497
- })
498
- };
499
- } catch (parseError) {
500
- return {
501
- responseHeaders,
502
- value: new chunkXCR65STK_cjs.APICallError({
503
- message: response.statusText,
504
- url,
505
- requestBodyValues,
506
- statusCode: response.status,
507
- responseHeaders,
508
- responseBody,
509
- isRetryable: isRetryable == null ? void 0 : isRetryable(response)
510
- })
511
- };
512
- }
513
- };
514
- var createEventSourceResponseHandler = (chunkSchema) => async ({ response }) => {
515
- const responseHeaders = extractResponseHeaders(response);
516
- if (response.body == null) {
517
- throw new chunkXCR65STK_cjs.EmptyResponseBodyError({});
518
- }
519
- return {
520
- responseHeaders,
521
- value: parseJsonEventStream({
522
- stream: response.body,
523
- schema: chunkSchema
524
- })
525
- };
526
- };
527
- var createJsonResponseHandler = (responseSchema) => async ({ response, url, requestBodyValues }) => {
528
- const responseBody = await response.text();
529
- const parsedResult = await safeParseJSON({
530
- text: responseBody,
531
- schema: responseSchema
532
- });
533
- const responseHeaders = extractResponseHeaders(response);
534
- if (!parsedResult.success) {
535
- throw new chunkXCR65STK_cjs.APICallError({
536
- message: "Invalid JSON response",
537
- cause: parsedResult.error,
538
- statusCode: response.status,
539
- responseHeaders,
540
- responseBody,
541
- url,
542
- requestBodyValues
543
- });
544
- }
545
- return {
546
- responseHeaders,
547
- value: parsedResult.value,
548
- rawValue: parsedResult.rawValue
549
- };
550
- };
551
- var { btoa, atob } = globalThis;
552
- function convertBase64ToUint8Array(base64String) {
553
- const base64Url = base64String.replace(/-/g, "+").replace(/_/g, "/");
554
- const latin1string = atob(base64Url);
555
- return Uint8Array.from(latin1string, (byte) => byte.codePointAt(0));
556
- }
557
- function convertUint8ArrayToBase64(array) {
558
- let latin1string = "";
559
- for (let i = 0; i < array.length; i++) {
560
- latin1string += String.fromCodePoint(array[i]);
561
- }
562
- return btoa(latin1string);
563
- }
564
- function convertToBase64(value) {
565
- return value instanceof Uint8Array ? convertUint8ArrayToBase64(value) : value;
566
- }
567
- function withoutTrailingSlash(url) {
568
- return url == null ? void 0 : url.replace(/\/$/, "");
569
- }
570
-
571
- exports.combineHeaders = combineHeaders;
572
- exports.convertBase64ToUint8Array = convertBase64ToUint8Array;
573
- exports.convertToBase64 = convertToBase64;
574
- exports.createEventSourceResponseHandler = createEventSourceResponseHandler;
575
- exports.createJsonErrorResponseHandler = createJsonErrorResponseHandler;
576
- exports.createJsonResponseHandler = createJsonResponseHandler;
577
- exports.createProviderDefinedToolFactory = createProviderDefinedToolFactory;
578
- exports.createProviderDefinedToolFactoryWithOutputSchema = createProviderDefinedToolFactoryWithOutputSchema;
579
- exports.generateId = generateId;
580
- exports.isParsableJson = isParsableJson;
581
- exports.loadApiKey = loadApiKey;
582
- exports.parseProviderOptions = parseProviderOptions;
583
- exports.postFormDataToApi = postFormDataToApi;
584
- exports.postJsonToApi = postJsonToApi;
585
- exports.resolve = resolve;
586
- exports.withoutTrailingSlash = withoutTrailingSlash;
587
- //# sourceMappingURL=chunk-75KU7JB6.cjs.map
588
- //# sourceMappingURL=chunk-75KU7JB6.cjs.map