@mastra/deployer 0.20.1-alpha.0 → 0.20.1-alpha.2
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 +32 -0
- package/dist/build/analyze/analyzeEntry.d.ts.map +1 -1
- package/dist/build/analyze/bundleExternals.d.ts.map +1 -1
- package/dist/build/analyze.cjs +2 -2
- package/dist/build/analyze.js +1 -1
- package/dist/build/bundler.cjs +3 -3
- package/dist/build/bundler.d.ts.map +1 -1
- package/dist/build/bundler.js +1 -1
- package/dist/build/index.cjs +12 -12
- package/dist/build/index.js +4 -4
- package/dist/build/shared/extract-mastra-option.d.ts.map +1 -1
- package/dist/bundler/index.cjs +2 -2
- package/dist/bundler/index.js +1 -1
- package/dist/{chunk-YA2QB5O6.js → chunk-36JTHYM2.js} +12 -6
- package/dist/chunk-36JTHYM2.js.map +1 -0
- package/dist/{chunk-QT4EHSOA.cjs → chunk-4JSGBXG4.cjs} +14 -14
- package/dist/{chunk-QT4EHSOA.cjs.map → chunk-4JSGBXG4.cjs.map} +1 -1
- package/dist/{chunk-H7R3PAM4.cjs → chunk-75YMBRRS.cjs} +17 -17
- package/dist/{chunk-H7R3PAM4.cjs.map → chunk-75YMBRRS.cjs.map} +1 -1
- package/dist/{chunk-OWF6JR2D.cjs → chunk-B3MAF4HY.cjs} +12 -10
- package/dist/chunk-B3MAF4HY.cjs.map +1 -0
- package/dist/{chunk-YY75MSEU.js → chunk-IJ5XDUJI.js} +4 -4
- package/dist/{chunk-YY75MSEU.js.map → chunk-IJ5XDUJI.js.map} +1 -1
- package/dist/{chunk-SLXO6AYI.js → chunk-J6ARA5AG.js} +3 -3
- package/dist/{chunk-SLXO6AYI.js.map → chunk-J6ARA5AG.js.map} +1 -1
- package/dist/{chunk-7YSO4XUX.js → chunk-LV3YJXBH.js} +6 -4
- package/dist/chunk-LV3YJXBH.js.map +1 -0
- package/dist/{chunk-4I4DWMYP.cjs → chunk-QZSRLR5Y.cjs} +13 -7
- package/dist/chunk-QZSRLR5Y.cjs.map +1 -0
- package/dist/{chunk-D5U2TTNK.cjs → chunk-XJH6DNVG.cjs} +5 -5
- package/dist/{chunk-D5U2TTNK.cjs.map → chunk-XJH6DNVG.cjs.map} +1 -1
- package/dist/{chunk-V6M3WK2G.js → chunk-ZGEIJUOE.js} +5 -5
- package/dist/{chunk-V6M3WK2G.js.map → chunk-ZGEIJUOE.js.map} +1 -1
- package/dist/index.cjs +5 -5
- package/dist/index.js +2 -2
- package/dist/server/handlers/auth/helpers.d.ts +1 -1
- package/dist/server/handlers/auth/helpers.d.ts.map +1 -1
- package/dist/server/handlers/auth/index.d.ts.map +1 -1
- package/dist/server/handlers/routes/agents/handlers.d.ts.map +1 -1
- package/dist/server/index.cjs +230 -166
- package/dist/server/index.cjs.map +1 -1
- package/dist/server/index.js +230 -166
- package/dist/server/index.js.map +1 -1
- package/package.json +6 -6
- package/dist/chunk-4I4DWMYP.cjs.map +0 -1
- package/dist/chunk-7YSO4XUX.js.map +0 -1
- package/dist/chunk-OWF6JR2D.cjs.map +0 -1
- package/dist/chunk-YA2QB5O6.js.map +0 -1
package/dist/server/index.js
CHANGED
|
@@ -24,6 +24,7 @@ import { bodyLimit } from 'hono/body-limit';
|
|
|
24
24
|
import { getAgentBuilderActionsHandler as getAgentBuilderActionsHandler$1, getAgentBuilderActionByIdHandler as getAgentBuilderActionByIdHandler$1, getAgentBuilderActionRunsHandler as getAgentBuilderActionRunsHandler$1, getAgentBuilderActionRunExecutionResultHandler as getAgentBuilderActionRunExecutionResultHandler$1, getAgentBuilderActionRunByIdHandler as getAgentBuilderActionRunByIdHandler$1, resumeAgentBuilderActionHandler as resumeAgentBuilderActionHandler$1, resumeAsyncAgentBuilderActionHandler as resumeAsyncAgentBuilderActionHandler$1, streamAgentBuilderActionHandler as streamAgentBuilderActionHandler$1, streamVNextAgentBuilderActionHandler as streamVNextAgentBuilderActionHandler$1, createAgentBuilderActionRunHandler as createAgentBuilderActionRunHandler$1, startAsyncAgentBuilderActionHandler as startAsyncAgentBuilderActionHandler$1, startAgentBuilderActionRunHandler as startAgentBuilderActionRunHandler$1, watchAgentBuilderActionHandler as watchAgentBuilderActionHandler$1, cancelAgentBuilderActionRunHandler as cancelAgentBuilderActionRunHandler$1, sendAgentBuilderActionRunEventHandler as sendAgentBuilderActionRunEventHandler$1 } from '@mastra/server/handlers/agent-builder';
|
|
25
25
|
import { MastraError, ErrorCategory, ErrorDomain } from '@mastra/core/error';
|
|
26
26
|
import { getProviderConfig, PROVIDER_REGISTRY } from '@mastra/core/llm';
|
|
27
|
+
import { ChunkFrom } from '@mastra/core/stream';
|
|
27
28
|
import { getAgentsHandler as getAgentsHandler$1, getAgentByIdHandler as getAgentByIdHandler$1, getEvalsByAgentIdHandler as getEvalsByAgentIdHandler$1, getLiveEvalsByAgentIdHandler as getLiveEvalsByAgentIdHandler$1, generateLegacyHandler as generateLegacyHandler$1, generateHandler as generateHandler$1, streamNetworkHandler as streamNetworkHandler$1, streamGenerateHandler as streamGenerateHandler$1, streamGenerateLegacyHandler as streamGenerateLegacyHandler$1, streamUIMessageHandler as streamUIMessageHandler$1, updateAgentModelHandler as updateAgentModelHandler$1, reorderAgentModelListHandler as reorderAgentModelListHandler$1, updateAgentModelInModelListHandler as updateAgentModelInModelListHandler$1, approveToolCallHandler as approveToolCallHandler$1, declineToolCallHandler as declineToolCallHandler$1 } from '@mastra/server/handlers/agents';
|
|
28
29
|
import { Agent } from '@mastra/core/agent';
|
|
29
30
|
import { z } from 'zod';
|
|
@@ -1067,9 +1068,9 @@ var isCustomRoutePublic = (path, method, customRouteAuthConfig) => {
|
|
|
1067
1068
|
}
|
|
1068
1069
|
return false;
|
|
1069
1070
|
};
|
|
1070
|
-
var isProtectedPath = (path, method, authConfig) => {
|
|
1071
|
+
var isProtectedPath = (path, method, authConfig, customRouteAuthConfig) => {
|
|
1071
1072
|
const protectedAccess = [...defaultAuthConfig.protected || [], ...authConfig.protected || []];
|
|
1072
|
-
return isAnyMatch(path, method, protectedAccess);
|
|
1073
|
+
return isAnyMatch(path, method, protectedAccess) || !isCustomRoutePublic(path, method, customRouteAuthConfig);
|
|
1073
1074
|
};
|
|
1074
1075
|
var canAccessPublicly = (path, method, authConfig) => {
|
|
1075
1076
|
const publicAccess = [...defaultAuthConfig.public || [], ...authConfig.public || []];
|
|
@@ -1159,10 +1160,7 @@ var authenticationMiddleware = async (c2, next) => {
|
|
|
1159
1160
|
if (isDevPlaygroundRequest(c2.req)) {
|
|
1160
1161
|
return next();
|
|
1161
1162
|
}
|
|
1162
|
-
if (
|
|
1163
|
-
return next();
|
|
1164
|
-
}
|
|
1165
|
-
if (!isProtectedPath(c2.req.path, c2.req.method, authConfig)) {
|
|
1163
|
+
if (!isProtectedPath(c2.req.path, c2.req.method, authConfig, customRouteAuthConfig)) {
|
|
1166
1164
|
return next();
|
|
1167
1165
|
}
|
|
1168
1166
|
if (canAccessPublicly(c2.req.path, c2.req.method, authConfig)) {
|
|
@@ -1205,10 +1203,7 @@ var authorizationMiddleware = async (c2, next) => {
|
|
|
1205
1203
|
if (isDevPlaygroundRequest(c2.req)) {
|
|
1206
1204
|
return next();
|
|
1207
1205
|
}
|
|
1208
|
-
if (
|
|
1209
|
-
return next();
|
|
1210
|
-
}
|
|
1211
|
-
if (!isProtectedPath(c2.req.path, c2.req.method, authConfig)) {
|
|
1206
|
+
if (!isProtectedPath(c2.req.path, c2.req.method, authConfig, customRouteAuthConfig)) {
|
|
1212
1207
|
return next();
|
|
1213
1208
|
}
|
|
1214
1209
|
if (canAccessPublicly(path, method, authConfig)) {
|
|
@@ -2492,154 +2487,204 @@ async function streamGenerateLegacyHandler(c2) {
|
|
|
2492
2487
|
}
|
|
2493
2488
|
}
|
|
2494
2489
|
async function streamGenerateHandler(c2) {
|
|
2490
|
+
const mastra = c2.get("mastra");
|
|
2491
|
+
const agentId = c2.req.param("agentId");
|
|
2492
|
+
const runtimeContext = c2.get("runtimeContext");
|
|
2493
|
+
const body = await c2.req.json();
|
|
2494
|
+
const logger2 = mastra.getLogger();
|
|
2495
|
+
let streamResponse;
|
|
2495
2496
|
try {
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
|
|
2517
|
-
|
|
2518
|
-
while ((chunkResult = await reader.read()) && !chunkResult.done) {
|
|
2519
|
-
await stream6.write(`data: ${JSON.stringify(chunkResult.value)}
|
|
2497
|
+
streamResponse = await streamGenerateHandler$1({
|
|
2498
|
+
mastra,
|
|
2499
|
+
agentId,
|
|
2500
|
+
runtimeContext,
|
|
2501
|
+
body,
|
|
2502
|
+
abortSignal: c2.req.raw.signal
|
|
2503
|
+
});
|
|
2504
|
+
} catch (err) {
|
|
2505
|
+
return handleError(err, "Error streaming from agent");
|
|
2506
|
+
}
|
|
2507
|
+
c2.header("Transfer-Encoding", "chunked");
|
|
2508
|
+
return stream(
|
|
2509
|
+
c2,
|
|
2510
|
+
async (stream6) => {
|
|
2511
|
+
try {
|
|
2512
|
+
const reader = streamResponse.fullStream.getReader();
|
|
2513
|
+
stream6.onAbort(() => {
|
|
2514
|
+
void reader.cancel("request aborted");
|
|
2515
|
+
});
|
|
2516
|
+
let chunkResult;
|
|
2517
|
+
while ((chunkResult = await reader.read()) && !chunkResult.done) {
|
|
2518
|
+
await stream6.write(`data: ${JSON.stringify(chunkResult.value)}
|
|
2520
2519
|
|
|
2521
2520
|
`);
|
|
2522
|
-
}
|
|
2523
|
-
await stream6.write("data: [DONE]\n\n");
|
|
2524
|
-
} catch (err) {
|
|
2525
|
-
logger2.error("Error in stream generate: " + (err?.message ?? "Unknown error"));
|
|
2526
2521
|
}
|
|
2527
|
-
await stream6.
|
|
2528
|
-
}
|
|
2529
|
-
|
|
2530
|
-
|
|
2522
|
+
await stream6.write("data: [DONE]\n\n");
|
|
2523
|
+
} catch (err) {
|
|
2524
|
+
logger2.error("Error in stream generate: " + (err?.message ?? "Unknown error"));
|
|
2525
|
+
const errorChunk = {
|
|
2526
|
+
type: "error",
|
|
2527
|
+
from: ChunkFrom.AGENT,
|
|
2528
|
+
runId: body.runId || "unknown",
|
|
2529
|
+
payload: {
|
|
2530
|
+
error: err instanceof Error ? {
|
|
2531
|
+
message: err.message,
|
|
2532
|
+
name: err.name,
|
|
2533
|
+
stack: err.stack
|
|
2534
|
+
} : String(err)
|
|
2535
|
+
}
|
|
2536
|
+
};
|
|
2537
|
+
await stream6.write(`data: ${JSON.stringify(errorChunk)}
|
|
2538
|
+
|
|
2539
|
+
`);
|
|
2531
2540
|
}
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2541
|
+
await stream6.close();
|
|
2542
|
+
},
|
|
2543
|
+
async (err) => {
|
|
2544
|
+
logger2.error("Error in watch stream: " + err?.message);
|
|
2545
|
+
}
|
|
2546
|
+
);
|
|
2536
2547
|
}
|
|
2537
2548
|
async function approveToolCallHandler(c2) {
|
|
2549
|
+
const mastra = c2.get("mastra");
|
|
2550
|
+
const agentId = c2.req.param("agentId");
|
|
2551
|
+
const runtimeContext = c2.get("runtimeContext");
|
|
2552
|
+
const body = await c2.req.json();
|
|
2553
|
+
const logger2 = mastra.getLogger();
|
|
2554
|
+
let streamResponse;
|
|
2538
2555
|
try {
|
|
2539
|
-
|
|
2540
|
-
|
|
2541
|
-
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
|
|
2546
|
-
|
|
2547
|
-
|
|
2548
|
-
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
}
|
|
2561
|
-
let chunkResult;
|
|
2562
|
-
while ((chunkResult = await reader.read()) && !chunkResult.done) {
|
|
2563
|
-
await stream6.write(`data: ${JSON.stringify(chunkResult.value)}
|
|
2556
|
+
streamResponse = await approveToolCallHandler$1({
|
|
2557
|
+
mastra,
|
|
2558
|
+
runtimeContext,
|
|
2559
|
+
agentId,
|
|
2560
|
+
body,
|
|
2561
|
+
abortSignal: c2.req.raw.signal
|
|
2562
|
+
});
|
|
2563
|
+
} catch (err) {
|
|
2564
|
+
return handleError(err, "Error approving tool call");
|
|
2565
|
+
}
|
|
2566
|
+
c2.header("Transfer-Encoding", "chunked");
|
|
2567
|
+
return stream(
|
|
2568
|
+
c2,
|
|
2569
|
+
async (stream6) => {
|
|
2570
|
+
try {
|
|
2571
|
+
const reader = streamResponse.fullStream.getReader();
|
|
2572
|
+
stream6.onAbort(() => {
|
|
2573
|
+
void reader.cancel("request aborted");
|
|
2574
|
+
});
|
|
2575
|
+
let chunkResult;
|
|
2576
|
+
while ((chunkResult = await reader.read()) && !chunkResult.done) {
|
|
2577
|
+
await stream6.write(`data: ${JSON.stringify(chunkResult.value)}
|
|
2564
2578
|
|
|
2565
2579
|
`);
|
|
2566
|
-
}
|
|
2567
|
-
await stream6.write("data: [DONE]\n\n");
|
|
2568
|
-
} catch (err) {
|
|
2569
|
-
logger2.error("Error in approve tool call: " + (err?.message ?? "Unknown error"));
|
|
2570
2580
|
}
|
|
2571
|
-
await stream6.
|
|
2572
|
-
}
|
|
2573
|
-
|
|
2574
|
-
|
|
2581
|
+
await stream6.write("data: [DONE]\n\n");
|
|
2582
|
+
} catch (err) {
|
|
2583
|
+
logger2.error("Error in approve tool call: " + (err?.message ?? "Unknown error"));
|
|
2584
|
+
const errorChunk = {
|
|
2585
|
+
type: "error",
|
|
2586
|
+
from: ChunkFrom.AGENT,
|
|
2587
|
+
runId: body.runId || "unknown",
|
|
2588
|
+
payload: {
|
|
2589
|
+
error: err instanceof Error ? {
|
|
2590
|
+
message: err.message,
|
|
2591
|
+
name: err.name,
|
|
2592
|
+
stack: err.stack
|
|
2593
|
+
} : String(err)
|
|
2594
|
+
}
|
|
2595
|
+
};
|
|
2596
|
+
await stream6.write(`data: ${JSON.stringify(errorChunk)}
|
|
2597
|
+
|
|
2598
|
+
`);
|
|
2575
2599
|
}
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
|
|
2579
|
-
|
|
2600
|
+
await stream6.close();
|
|
2601
|
+
},
|
|
2602
|
+
async (err) => {
|
|
2603
|
+
logger2.error("Error in watch stream: " + err?.message);
|
|
2604
|
+
}
|
|
2605
|
+
);
|
|
2580
2606
|
}
|
|
2581
2607
|
async function declineToolCallHandler(c2) {
|
|
2608
|
+
const mastra = c2.get("mastra");
|
|
2609
|
+
const agentId = c2.req.param("agentId");
|
|
2610
|
+
const runtimeContext = c2.get("runtimeContext");
|
|
2611
|
+
const body = await c2.req.json();
|
|
2612
|
+
const logger2 = mastra.getLogger();
|
|
2613
|
+
let streamResponse;
|
|
2582
2614
|
try {
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
|
|
2586
|
-
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
|
|
2592
|
-
|
|
2593
|
-
|
|
2594
|
-
|
|
2595
|
-
|
|
2596
|
-
|
|
2597
|
-
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
while ((chunkResult = await reader.read()) && !chunkResult.done) {
|
|
2606
|
-
await stream6.write(`data: ${JSON.stringify(chunkResult.value)}
|
|
2615
|
+
streamResponse = await declineToolCallHandler$1({
|
|
2616
|
+
mastra,
|
|
2617
|
+
runtimeContext,
|
|
2618
|
+
agentId,
|
|
2619
|
+
body,
|
|
2620
|
+
abortSignal: c2.req.raw.signal
|
|
2621
|
+
});
|
|
2622
|
+
} catch (err) {
|
|
2623
|
+
return handleError(err, "Error declining tool call");
|
|
2624
|
+
}
|
|
2625
|
+
c2.header("Transfer-Encoding", "chunked");
|
|
2626
|
+
return stream(
|
|
2627
|
+
c2,
|
|
2628
|
+
async (stream6) => {
|
|
2629
|
+
try {
|
|
2630
|
+
const reader = streamResponse.fullStream.getReader();
|
|
2631
|
+
stream6.onAbort(() => {
|
|
2632
|
+
void reader.cancel("request aborted");
|
|
2633
|
+
});
|
|
2634
|
+
let chunkResult;
|
|
2635
|
+
while ((chunkResult = await reader.read()) && !chunkResult.done) {
|
|
2636
|
+
await stream6.write(`data: ${JSON.stringify(chunkResult.value)}
|
|
2607
2637
|
|
|
2608
2638
|
`);
|
|
2609
|
-
}
|
|
2610
|
-
await stream6.write("data: [DONE]\n\n");
|
|
2611
|
-
} catch (err) {
|
|
2612
|
-
logger2.error("Error in decline tool call: " + (err?.message ?? "Unknown error"));
|
|
2613
2639
|
}
|
|
2614
|
-
await stream6.
|
|
2615
|
-
}
|
|
2616
|
-
|
|
2617
|
-
|
|
2640
|
+
await stream6.write("data: [DONE]\n\n");
|
|
2641
|
+
} catch (err) {
|
|
2642
|
+
logger2.error("Error in decline tool call: " + (err?.message ?? "Unknown error"));
|
|
2643
|
+
const errorChunk = {
|
|
2644
|
+
type: "error",
|
|
2645
|
+
from: ChunkFrom.AGENT,
|
|
2646
|
+
runId: body.runId || "unknown",
|
|
2647
|
+
payload: {
|
|
2648
|
+
error: err instanceof Error ? {
|
|
2649
|
+
message: err.message,
|
|
2650
|
+
name: err.name,
|
|
2651
|
+
stack: err.stack
|
|
2652
|
+
} : String(err)
|
|
2653
|
+
}
|
|
2654
|
+
};
|
|
2655
|
+
await stream6.write(`data: ${JSON.stringify(errorChunk)}
|
|
2656
|
+
|
|
2657
|
+
`);
|
|
2618
2658
|
}
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2659
|
+
await stream6.close();
|
|
2660
|
+
},
|
|
2661
|
+
async (err) => {
|
|
2662
|
+
logger2.error("Error in watch stream: " + err?.message);
|
|
2663
|
+
}
|
|
2664
|
+
);
|
|
2623
2665
|
}
|
|
2624
2666
|
async function streamNetworkHandler(c2) {
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2667
|
+
const mastra = c2.get("mastra");
|
|
2668
|
+
const agentId = c2.req.param("agentId");
|
|
2669
|
+
const runtimeContext = c2.get("runtimeContext");
|
|
2670
|
+
const body = await c2.req.json();
|
|
2671
|
+
const logger2 = mastra.getLogger();
|
|
2672
|
+
const agent = mastra.getAgent(agentId);
|
|
2673
|
+
if (!agent) {
|
|
2674
|
+
return handleError(
|
|
2675
|
+
new MastraError({
|
|
2634
2676
|
id: "AGENT_NOT_FOUND",
|
|
2635
2677
|
domain: ErrorDomain.AGENT,
|
|
2636
2678
|
category: ErrorCategory.USER,
|
|
2637
2679
|
text: "Agent not found"
|
|
2638
|
-
})
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2680
|
+
}),
|
|
2681
|
+
"Agent not found"
|
|
2682
|
+
);
|
|
2683
|
+
}
|
|
2684
|
+
const memory = await agent.getMemory({ runtimeContext });
|
|
2685
|
+
if (!memory) {
|
|
2686
|
+
return handleError(
|
|
2687
|
+
new MastraError({
|
|
2643
2688
|
id: "AGENT_NETWORK_MEMORY_REQUIRED",
|
|
2644
2689
|
domain: ErrorDomain.AGENT_NETWORK,
|
|
2645
2690
|
category: ErrorCategory.USER,
|
|
@@ -2647,43 +2692,62 @@ async function streamNetworkHandler(c2) {
|
|
|
2647
2692
|
details: {
|
|
2648
2693
|
status: 400
|
|
2649
2694
|
}
|
|
2650
|
-
})
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
|
|
2670
|
-
|
|
2695
|
+
}),
|
|
2696
|
+
"Memory required for agent network"
|
|
2697
|
+
);
|
|
2698
|
+
}
|
|
2699
|
+
let streamResponse;
|
|
2700
|
+
try {
|
|
2701
|
+
streamResponse = await streamNetworkHandler$1({
|
|
2702
|
+
mastra,
|
|
2703
|
+
agentId,
|
|
2704
|
+
runtimeContext,
|
|
2705
|
+
body
|
|
2706
|
+
// abortSignal: c.req.raw.signal,
|
|
2707
|
+
});
|
|
2708
|
+
} catch (err) {
|
|
2709
|
+
return handleError(err, "Error streaming from agent in network mode");
|
|
2710
|
+
}
|
|
2711
|
+
c2.header("Transfer-Encoding", "chunked");
|
|
2712
|
+
return stream(
|
|
2713
|
+
c2,
|
|
2714
|
+
async (stream6) => {
|
|
2715
|
+
try {
|
|
2716
|
+
const reader = streamResponse.getReader();
|
|
2717
|
+
stream6.onAbort(() => {
|
|
2718
|
+
void reader.cancel("request aborted");
|
|
2719
|
+
});
|
|
2720
|
+
let chunkResult;
|
|
2721
|
+
while ((chunkResult = await reader.read()) && !chunkResult.done) {
|
|
2722
|
+
await stream6.write(`data: ${JSON.stringify(chunkResult.value)}
|
|
2671
2723
|
|
|
2672
2724
|
`);
|
|
2673
|
-
}
|
|
2674
|
-
await stream6.write("data: [DONE]\n\n");
|
|
2675
|
-
} catch (err) {
|
|
2676
|
-
logger2.error("Error in streamNetwork generate: " + (err?.message ?? "Unknown error"));
|
|
2677
2725
|
}
|
|
2678
|
-
await stream6.
|
|
2679
|
-
}
|
|
2680
|
-
|
|
2681
|
-
|
|
2726
|
+
await stream6.write("data: [DONE]\n\n");
|
|
2727
|
+
} catch (err) {
|
|
2728
|
+
logger2.error("Error in streamNetwork generate: " + (err?.message ?? "Unknown error"));
|
|
2729
|
+
const errorChunk = {
|
|
2730
|
+
type: "error",
|
|
2731
|
+
from: ChunkFrom.AGENT,
|
|
2732
|
+
runId: body.runId || "unknown",
|
|
2733
|
+
payload: {
|
|
2734
|
+
error: err instanceof Error ? {
|
|
2735
|
+
message: err.message,
|
|
2736
|
+
name: err.name,
|
|
2737
|
+
stack: err.stack
|
|
2738
|
+
} : String(err)
|
|
2739
|
+
}
|
|
2740
|
+
};
|
|
2741
|
+
await stream6.write(`data: ${JSON.stringify(errorChunk)}
|
|
2742
|
+
|
|
2743
|
+
`);
|
|
2682
2744
|
}
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2745
|
+
await stream6.close();
|
|
2746
|
+
},
|
|
2747
|
+
async (err) => {
|
|
2748
|
+
logger2.error("Error in watch stream: " + err?.message);
|
|
2749
|
+
}
|
|
2750
|
+
);
|
|
2687
2751
|
}
|
|
2688
2752
|
async function streamUIMessageHandler(c2) {
|
|
2689
2753
|
try {
|