@mastra/core 0.16.1-alpha.0 → 0.16.1-alpha.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.
- package/CHANGELOG.md +18 -0
- package/dist/agent/index.cjs +11 -11
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +2 -2
- package/dist/agent/input-processor/index.cjs +6 -6
- package/dist/agent/input-processor/index.js +1 -1
- package/dist/agent/message-list/index.d.ts.map +1 -1
- package/dist/agent/message-list/prompt/image-utils.d.ts +30 -0
- package/dist/agent/message-list/prompt/image-utils.d.ts.map +1 -1
- package/dist/agent/types.d.ts +2 -2
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/ai-tracing/context.d.ts +7 -13
- package/dist/ai-tracing/context.d.ts.map +1 -1
- package/dist/ai-tracing/index.cjs +32 -36
- package/dist/ai-tracing/index.js +1 -1
- package/dist/{chunk-WEPWZHE4.js → chunk-2NKNTPFR.js} +49 -5
- package/dist/chunk-2NKNTPFR.js.map +1 -0
- package/dist/{chunk-4FWIB47J.cjs → chunk-2PWFUEQA.cjs} +4 -4
- package/dist/{chunk-4FWIB47J.cjs.map → chunk-2PWFUEQA.cjs.map} +1 -1
- package/dist/{chunk-2QDX6OPE.js → chunk-BQ43NQXK.js} +3 -3
- package/dist/{chunk-2QDX6OPE.js.map → chunk-BQ43NQXK.js.map} +1 -1
- package/dist/{chunk-IUF2ESZH.cjs → chunk-C3R2Q3NN.cjs} +89 -61
- package/dist/chunk-C3R2Q3NN.cjs.map +1 -0
- package/dist/{chunk-KT4WNDGP.cjs → chunk-D3UG2YLU.cjs} +110 -31
- package/dist/chunk-D3UG2YLU.cjs.map +1 -0
- package/dist/{chunk-H33WOKEO.js → chunk-DUABZASJ.js} +4 -4
- package/dist/{chunk-H33WOKEO.js.map → chunk-DUABZASJ.js.map} +1 -1
- package/dist/{chunk-LGJCH6XF.cjs → chunk-DYLYA6HQ.cjs} +12 -12
- package/dist/{chunk-LGJCH6XF.cjs.map → chunk-DYLYA6HQ.cjs.map} +1 -1
- package/dist/{chunk-N3HXDMF2.js → chunk-GJKJXY3K.js} +3 -3
- package/dist/{chunk-N3HXDMF2.js.map → chunk-GJKJXY3K.js.map} +1 -1
- package/dist/{chunk-Y6MXP3EN.cjs → chunk-IMDDMIVR.cjs} +6 -6
- package/dist/{chunk-Y6MXP3EN.cjs.map → chunk-IMDDMIVR.cjs.map} +1 -1
- package/dist/{chunk-6FVCJBBG.cjs → chunk-KB4IEMPV.cjs} +5 -3
- package/dist/chunk-KB4IEMPV.cjs.map +1 -0
- package/dist/{chunk-G7YM2FA2.cjs → chunk-LZWM7RVY.cjs} +7 -7
- package/dist/{chunk-G7YM2FA2.cjs.map → chunk-LZWM7RVY.cjs.map} +1 -1
- package/dist/{chunk-YUJ7GETS.js → chunk-OF4TXRIV.js} +3 -3
- package/dist/{chunk-YUJ7GETS.js.map → chunk-OF4TXRIV.js.map} +1 -1
- package/dist/{chunk-OE3SL5VG.cjs → chunk-SJO2HEVU.cjs} +6 -6
- package/dist/{chunk-OE3SL5VG.cjs.map → chunk-SJO2HEVU.cjs.map} +1 -1
- package/dist/{chunk-ULA3AGAI.js → chunk-TDLB5JKT.js} +5 -3
- package/dist/chunk-TDLB5JKT.js.map +1 -0
- package/dist/{chunk-WW62UQPE.js → chunk-U2RCB3FQ.js} +5 -5
- package/dist/{chunk-WW62UQPE.js.map → chunk-U2RCB3FQ.js.map} +1 -1
- package/dist/{chunk-RT2ETR6A.js → chunk-U3OYPZHX.js} +3 -3
- package/dist/{chunk-RT2ETR6A.js.map → chunk-U3OYPZHX.js.map} +1 -1
- package/dist/{chunk-UFCYMOYH.cjs → chunk-UGCG7DI3.cjs} +49 -6
- package/dist/chunk-UGCG7DI3.cjs.map +1 -0
- package/dist/{chunk-MW4CYUSP.js → chunk-UM4XJM3Y.js} +53 -25
- package/dist/chunk-UM4XJM3Y.js.map +1 -0
- package/dist/{chunk-VMV5VND5.cjs → chunk-WGX5V6DE.cjs} +7 -7
- package/dist/{chunk-VMV5VND5.cjs.map → chunk-WGX5V6DE.cjs.map} +1 -1
- package/dist/{chunk-4BQBSBQP.js → chunk-YI3AIJJL.js} +109 -30
- package/dist/chunk-YI3AIJJL.js.map +1 -0
- package/dist/index.cjs +38 -38
- package/dist/index.js +7 -7
- package/dist/loop/index.cjs +2 -2
- package/dist/loop/index.js +1 -1
- package/dist/mastra/index.cjs +2 -2
- package/dist/mastra/index.js +1 -1
- package/dist/memory/index.cjs +4 -4
- package/dist/memory/index.js +1 -1
- package/dist/network/index.cjs +2 -2
- package/dist/network/index.js +1 -1
- package/dist/network/vNext/index.cjs +14 -14
- package/dist/network/vNext/index.js +2 -2
- package/dist/processors/index.cjs +8 -8
- package/dist/processors/index.js +2 -2
- package/dist/processors/processors/structured-output.d.ts +2 -1
- package/dist/processors/processors/structured-output.d.ts.map +1 -1
- package/dist/relevance/index.cjs +4 -4
- package/dist/relevance/index.js +1 -1
- package/dist/scores/index.cjs +8 -8
- package/dist/scores/index.js +1 -1
- package/dist/storage/domains/observability/inmemory.d.ts.map +1 -1
- package/dist/storage/index.cjs +5 -3
- package/dist/storage/index.cjs.map +1 -1
- package/dist/storage/index.js +3 -1
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/types.d.ts +2 -0
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/stream/MastraWorkflowStream.d.ts.map +1 -1
- package/dist/stream/index.cjs +3 -3
- package/dist/stream/index.js +1 -1
- package/dist/test-utils/llm-mock.cjs +2 -2
- package/dist/test-utils/llm-mock.js +1 -1
- package/dist/tools/tool-builder/builder.d.ts.map +1 -1
- package/dist/utils.cjs +17 -17
- package/dist/utils.js +1 -1
- package/dist/workflows/default.d.ts.map +1 -1
- package/dist/workflows/evented/index.cjs +10 -10
- package/dist/workflows/evented/index.js +1 -1
- package/dist/workflows/index.cjs +10 -10
- package/dist/workflows/index.js +1 -1
- package/dist/workflows/legacy/index.cjs +22 -22
- package/dist/workflows/legacy/index.js +1 -1
- package/dist/workflows/types.d.ts +3 -0
- package/dist/workflows/types.d.ts.map +1 -1
- package/dist/workflows/workflow.d.ts +2 -1
- package/dist/workflows/workflow.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-4BQBSBQP.js.map +0 -1
- package/dist/chunk-6FVCJBBG.cjs.map +0 -1
- package/dist/chunk-IUF2ESZH.cjs.map +0 -1
- package/dist/chunk-KT4WNDGP.cjs.map +0 -1
- package/dist/chunk-MW4CYUSP.js.map +0 -1
- package/dist/chunk-UFCYMOYH.cjs.map +0 -1
- package/dist/chunk-ULA3AGAI.js.map +0 -1
- package/dist/chunk-WEPWZHE4.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkKB4IEMPV_cjs = require('./chunk-KB4IEMPV.cjs');
|
|
4
4
|
var chunkC73WLCY3_cjs = require('./chunk-C73WLCY3.cjs');
|
|
5
5
|
var crypto = require('crypto');
|
|
6
6
|
var AIV4 = require('ai');
|
|
@@ -613,7 +613,7 @@ function convertDataContentToBase64String(content) {
|
|
|
613
613
|
var downloadFromUrl = async ({ url, downloadRetries }) => {
|
|
614
614
|
const urlText = url.toString();
|
|
615
615
|
try {
|
|
616
|
-
const response = await
|
|
616
|
+
const response = await chunkKB4IEMPV_cjs.fetchWithRetry(
|
|
617
617
|
urlText,
|
|
618
618
|
{
|
|
619
619
|
method: "GET"
|
|
@@ -756,6 +756,45 @@ function getImageCacheKey(image) {
|
|
|
756
756
|
}
|
|
757
757
|
return image;
|
|
758
758
|
}
|
|
759
|
+
function isValidUrl(str) {
|
|
760
|
+
try {
|
|
761
|
+
new URL(str);
|
|
762
|
+
return true;
|
|
763
|
+
} catch {
|
|
764
|
+
if (str.startsWith("//")) {
|
|
765
|
+
try {
|
|
766
|
+
new URL(`https:${str}`);
|
|
767
|
+
return true;
|
|
768
|
+
} catch {
|
|
769
|
+
return false;
|
|
770
|
+
}
|
|
771
|
+
}
|
|
772
|
+
return false;
|
|
773
|
+
}
|
|
774
|
+
}
|
|
775
|
+
function categorizeFileData(data, fallbackMimeType) {
|
|
776
|
+
const parsed = parseDataUri(data);
|
|
777
|
+
const mimeType = parsed.isDataUri && parsed.mimeType ? parsed.mimeType : fallbackMimeType;
|
|
778
|
+
if (parsed.isDataUri) {
|
|
779
|
+
return {
|
|
780
|
+
type: "dataUri",
|
|
781
|
+
mimeType,
|
|
782
|
+
data
|
|
783
|
+
};
|
|
784
|
+
}
|
|
785
|
+
if (isValidUrl(data)) {
|
|
786
|
+
return {
|
|
787
|
+
type: "url",
|
|
788
|
+
mimeType,
|
|
789
|
+
data
|
|
790
|
+
};
|
|
791
|
+
}
|
|
792
|
+
return {
|
|
793
|
+
type: "raw",
|
|
794
|
+
mimeType,
|
|
795
|
+
data
|
|
796
|
+
};
|
|
797
|
+
}
|
|
759
798
|
|
|
760
799
|
// src/agent/message-list/utils/ai-v5/tool.ts
|
|
761
800
|
function getToolName(type) {
|
|
@@ -1737,6 +1776,25 @@ var MessageList = class _MessageList {
|
|
|
1737
1776
|
data: part.data.toString(),
|
|
1738
1777
|
mimeType: part.mimeType
|
|
1739
1778
|
});
|
|
1779
|
+
} else if (typeof part.data === "string") {
|
|
1780
|
+
const categorized = categorizeFileData(part.data, part.mimeType);
|
|
1781
|
+
if (categorized.type === "url" || categorized.type === "dataUri") {
|
|
1782
|
+
parts.push({
|
|
1783
|
+
type: "file",
|
|
1784
|
+
data: part.data,
|
|
1785
|
+
mimeType: categorized.mimeType || "image/png"
|
|
1786
|
+
});
|
|
1787
|
+
} else {
|
|
1788
|
+
try {
|
|
1789
|
+
parts.push({
|
|
1790
|
+
type: "file",
|
|
1791
|
+
mimeType: categorized.mimeType || "image/png",
|
|
1792
|
+
data: convertDataContentToBase64String(part.data)
|
|
1793
|
+
});
|
|
1794
|
+
} catch (error) {
|
|
1795
|
+
console.error(`Failed to convert binary data to base64 in CoreMessage file part: ${error}`, error);
|
|
1796
|
+
}
|
|
1797
|
+
}
|
|
1740
1798
|
} else {
|
|
1741
1799
|
try {
|
|
1742
1800
|
parts.push({
|
|
@@ -2246,7 +2304,8 @@ var MessageList = class _MessageList {
|
|
|
2246
2304
|
}
|
|
2247
2305
|
const originalContent = v3Msg.content.metadata?.__originalContent;
|
|
2248
2306
|
if (originalContent !== void 0) {
|
|
2249
|
-
|
|
2307
|
+
const hasOnlyTextOrStepStart = v2Msg.content.parts.every((p) => p.type === `step-start` || p.type === `text`);
|
|
2308
|
+
if (typeof originalContent === `string` || hasOnlyTextOrStepStart) {
|
|
2250
2309
|
v2Msg.content.content = originalContent;
|
|
2251
2310
|
}
|
|
2252
2311
|
}
|
|
@@ -2254,7 +2313,8 @@ var MessageList = class _MessageList {
|
|
|
2254
2313
|
if (originalAttachments && Array.isArray(originalAttachments)) {
|
|
2255
2314
|
v2Msg.content.experimental_attachments = originalAttachments || [];
|
|
2256
2315
|
}
|
|
2257
|
-
const
|
|
2316
|
+
const originalContentIsV5 = Array.isArray(v3Msg.content.metadata?.__originalContent) && v3Msg.content.metadata?.__originalContent.some((part) => part.type === "file");
|
|
2317
|
+
const urlFileParts = originalContentIsV5 ? [] : v2Msg.content.parts.filter(
|
|
2258
2318
|
(p) => p.type === "file" && typeof p.data === "string" && (p.data.startsWith("http://") || p.data.startsWith("https://")) && !p.providerMetadata
|
|
2259
2319
|
// Don't move if it has providerMetadata (needed for roundtrip)
|
|
2260
2320
|
);
|
|
@@ -2362,27 +2422,38 @@ var MessageList = class _MessageList {
|
|
|
2362
2422
|
}
|
|
2363
2423
|
break;
|
|
2364
2424
|
case "file": {
|
|
2365
|
-
|
|
2425
|
+
const categorized = typeof part.data === "string" ? categorizeFileData(part.data, part.mimeType) : { type: "raw", mimeType: part.mimeType};
|
|
2426
|
+
if (categorized.type === "url" && typeof part.data === "string") {
|
|
2366
2427
|
parts.push({
|
|
2367
2428
|
type: "file",
|
|
2368
2429
|
url: part.data,
|
|
2369
|
-
mediaType:
|
|
2430
|
+
mediaType: categorized.mimeType || "image/png",
|
|
2370
2431
|
providerMetadata: part.providerMetadata
|
|
2371
2432
|
});
|
|
2433
|
+
fileUrls.add(part.data);
|
|
2372
2434
|
} else {
|
|
2373
2435
|
let filePartData;
|
|
2374
2436
|
let extractedMimeType = part.mimeType;
|
|
2375
2437
|
if (typeof part.data === "string") {
|
|
2376
2438
|
const parsed = parseDataUri(part.data);
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
-
|
|
2439
|
+
if (parsed.isDataUri) {
|
|
2440
|
+
filePartData = parsed.base64Content;
|
|
2441
|
+
if (parsed.mimeType) {
|
|
2442
|
+
extractedMimeType = extractedMimeType || parsed.mimeType;
|
|
2443
|
+
}
|
|
2444
|
+
} else {
|
|
2445
|
+
filePartData = part.data;
|
|
2380
2446
|
}
|
|
2381
2447
|
} else {
|
|
2382
2448
|
filePartData = part.data;
|
|
2383
2449
|
}
|
|
2384
2450
|
const finalMimeType = extractedMimeType || "image/png";
|
|
2385
|
-
|
|
2451
|
+
let dataUri;
|
|
2452
|
+
if (typeof filePartData === "string" && filePartData.startsWith("data:")) {
|
|
2453
|
+
dataUri = filePartData;
|
|
2454
|
+
} else {
|
|
2455
|
+
dataUri = createDataUri(filePartData, finalMimeType);
|
|
2456
|
+
}
|
|
2386
2457
|
parts.push({
|
|
2387
2458
|
type: "file",
|
|
2388
2459
|
url: dataUri,
|
|
@@ -2629,31 +2700,39 @@ var MessageList = class _MessageList {
|
|
|
2629
2700
|
providerMetadata: part.providerOptions
|
|
2630
2701
|
});
|
|
2631
2702
|
}
|
|
2632
|
-
} else {
|
|
2633
|
-
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
|
|
2645
|
-
mediaType: extractedMimeType || "image/png",
|
|
2646
|
-
providerMetadata: part.providerOptions
|
|
2647
|
-
});
|
|
2648
|
-
} else {
|
|
2649
|
-
const dataUri = createDataUri(base64Data, part.mediaType || "image/png");
|
|
2703
|
+
} else if (typeof part.data === "string") {
|
|
2704
|
+
const categorized = categorizeFileData(part.data, part.mediaType);
|
|
2705
|
+
if (categorized.type === "url" || categorized.type === "dataUri") {
|
|
2706
|
+
parts.push({
|
|
2707
|
+
type: "file",
|
|
2708
|
+
url: part.data,
|
|
2709
|
+
mediaType: categorized.mimeType || "application/octet-stream",
|
|
2710
|
+
providerMetadata: part.providerOptions
|
|
2711
|
+
});
|
|
2712
|
+
} else {
|
|
2713
|
+
try {
|
|
2714
|
+
const base64Data = convertDataContentToBase64String(part.data);
|
|
2715
|
+
const dataUri = createDataUri(base64Data, categorized.mimeType || "image/png");
|
|
2650
2716
|
parts.push({
|
|
2651
2717
|
type: "file",
|
|
2652
2718
|
url: dataUri,
|
|
2653
|
-
mediaType:
|
|
2719
|
+
mediaType: categorized.mimeType || "image/png",
|
|
2654
2720
|
providerMetadata: part.providerOptions
|
|
2655
2721
|
});
|
|
2722
|
+
} catch (error) {
|
|
2723
|
+
console.error(`Failed to convert binary data to base64 in CoreMessage file part: ${error}`, error);
|
|
2656
2724
|
}
|
|
2725
|
+
}
|
|
2726
|
+
} else {
|
|
2727
|
+
try {
|
|
2728
|
+
const base64Data = convertDataContentToBase64String(part.data);
|
|
2729
|
+
const dataUri = createDataUri(base64Data, part.mediaType || "image/png");
|
|
2730
|
+
parts.push({
|
|
2731
|
+
type: "file",
|
|
2732
|
+
url: dataUri,
|
|
2733
|
+
mediaType: part.mediaType || "image/png",
|
|
2734
|
+
providerMetadata: part.providerOptions
|
|
2735
|
+
});
|
|
2657
2736
|
} catch (error) {
|
|
2658
2737
|
console.error(`Failed to convert binary data to base64 in CoreMessage file part: ${error}`, error);
|
|
2659
2738
|
}
|
|
@@ -2805,5 +2884,5 @@ exports.DefaultGeneratedFile = DefaultGeneratedFile;
|
|
|
2805
2884
|
exports.DefaultGeneratedFileWithType = DefaultGeneratedFileWithType;
|
|
2806
2885
|
exports.MessageList = MessageList;
|
|
2807
2886
|
exports.convertMessages = convertMessages;
|
|
2808
|
-
//# sourceMappingURL=chunk-
|
|
2809
|
-
//# sourceMappingURL=chunk-
|
|
2887
|
+
//# sourceMappingURL=chunk-D3UG2YLU.cjs.map
|
|
2888
|
+
//# sourceMappingURL=chunk-D3UG2YLU.cjs.map
|