@mastra/deployer 0.20.1-alpha.0 → 0.20.1-alpha.3

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 +40 -0
  2. package/dist/build/analyze/analyzeEntry.d.ts.map +1 -1
  3. package/dist/build/analyze/bundleExternals.d.ts.map +1 -1
  4. package/dist/build/analyze.cjs +2 -2
  5. package/dist/build/analyze.js +1 -1
  6. package/dist/build/bundler.cjs +3 -3
  7. package/dist/build/bundler.d.ts.map +1 -1
  8. package/dist/build/bundler.js +1 -1
  9. package/dist/build/index.cjs +12 -12
  10. package/dist/build/index.js +4 -4
  11. package/dist/build/shared/extract-mastra-option.d.ts.map +1 -1
  12. package/dist/bundler/index.cjs +2 -2
  13. package/dist/bundler/index.js +1 -1
  14. package/dist/{chunk-YA2QB5O6.js → chunk-36JTHYM2.js} +12 -6
  15. package/dist/chunk-36JTHYM2.js.map +1 -0
  16. package/dist/{chunk-QT4EHSOA.cjs → chunk-4JSGBXG4.cjs} +14 -14
  17. package/dist/{chunk-QT4EHSOA.cjs.map → chunk-4JSGBXG4.cjs.map} +1 -1
  18. package/dist/{chunk-H7R3PAM4.cjs → chunk-75YMBRRS.cjs} +17 -17
  19. package/dist/{chunk-H7R3PAM4.cjs.map → chunk-75YMBRRS.cjs.map} +1 -1
  20. package/dist/{chunk-OWF6JR2D.cjs → chunk-B3MAF4HY.cjs} +12 -10
  21. package/dist/chunk-B3MAF4HY.cjs.map +1 -0
  22. package/dist/{chunk-YY75MSEU.js → chunk-IJ5XDUJI.js} +4 -4
  23. package/dist/{chunk-YY75MSEU.js.map → chunk-IJ5XDUJI.js.map} +1 -1
  24. package/dist/{chunk-SLXO6AYI.js → chunk-J6ARA5AG.js} +3 -3
  25. package/dist/{chunk-SLXO6AYI.js.map → chunk-J6ARA5AG.js.map} +1 -1
  26. package/dist/{chunk-7YSO4XUX.js → chunk-LV3YJXBH.js} +6 -4
  27. package/dist/chunk-LV3YJXBH.js.map +1 -0
  28. package/dist/{chunk-4I4DWMYP.cjs → chunk-QZSRLR5Y.cjs} +13 -7
  29. package/dist/chunk-QZSRLR5Y.cjs.map +1 -0
  30. package/dist/{chunk-D5U2TTNK.cjs → chunk-XJH6DNVG.cjs} +5 -5
  31. package/dist/{chunk-D5U2TTNK.cjs.map → chunk-XJH6DNVG.cjs.map} +1 -1
  32. package/dist/{chunk-V6M3WK2G.js → chunk-ZGEIJUOE.js} +5 -5
  33. package/dist/{chunk-V6M3WK2G.js.map → chunk-ZGEIJUOE.js.map} +1 -1
  34. package/dist/index.cjs +5 -5
  35. package/dist/index.js +2 -2
  36. package/dist/server/handlers/auth/helpers.d.ts +1 -1
  37. package/dist/server/handlers/auth/helpers.d.ts.map +1 -1
  38. package/dist/server/handlers/auth/index.d.ts.map +1 -1
  39. package/dist/server/handlers/routes/agents/handlers.d.ts.map +1 -1
  40. package/dist/server/index.cjs +230 -166
  41. package/dist/server/index.cjs.map +1 -1
  42. package/dist/server/index.js +230 -166
  43. package/dist/server/index.js.map +1 -1
  44. package/package.json +5 -5
  45. package/dist/chunk-4I4DWMYP.cjs.map +0 -1
  46. package/dist/chunk-7YSO4XUX.js.map +0 -1
  47. package/dist/chunk-OWF6JR2D.cjs.map +0 -1
  48. package/dist/chunk-YA2QB5O6.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../../../src/server/handlers/routes/agents/handlers.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAMpC,eAAO,MAAM,iBAAiB,EAAE,GA+B/B,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,GA+B9B,CAAC;AAGF,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mEAOhD;AAED,wBAAsB,mBAAmB,CAAC,CAAC,EAAE,OAAO,qBA4BnD;AAED,wBAAsB,mBAAmB,CAAC,CAAC,EAAE,OAAO,0HAcnD;AAED,wBAAsB,wBAAwB,CAAC,CAAC,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mEAYxD;AAED,wBAAsB,4BAA4B,CAAC,CAAC,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mEAY5D;AAED,wBAAsB,qBAAqB,CAAC,CAAC,EAAE,OAAO,qBAmBrD;AAED,wBAAsB,eAAe,CAAC,CAAC,EAAE,OAAO,qBAmB/C;AAED,wBAAsB,2BAA2B,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAmB3F;AAED,wBAAsB,qBAAqB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CA+CrF;AAED,wBAAsB,sBAAsB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAiDtF;AAED,wBAAsB,sBAAsB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CA+CtF;AAED,wBAAsB,oBAAoB,CAAC,CAAC,EAAE,OAAO,qBAyEpD;AAED,wBAAsB,sBAAsB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAmBtF;AAED,wBAAsB,2BAA2B,CAAC,CAAC,EAAE,OAAO,qBAgC3D;AAED,wBAAsB,uBAAuB,CAAC,CAAC,EAAE,OAAO,qBAgBvD;AAED,wBAAsB,4BAA4B,CAAC,CAAC,EAAE,OAAO;;;;;iBAU5D;AAED,wBAAsB,wBAAwB,CAAC,CAAC,EAAE,OAAO;;;;;;;;;sEAuBxD;AAED,wBAAsB,kCAAkC,CAAC,CAAC,EAAE,OAAO,qBAkBlE;AAED,wBAAsB,4BAA4B,CAAC,CAAC,EAAE,OAAO,qBAgB5D"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../../../src/server/handlers/routes/agents/handlers.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAMpC,eAAO,MAAM,iBAAiB,EAAE,GA+B/B,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,GA+B9B,CAAC;AAGF,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mEAOhD;AAED,wBAAsB,mBAAmB,CAAC,CAAC,EAAE,OAAO,qBA4BnD;AAED,wBAAsB,mBAAmB,CAAC,CAAC,EAAE,OAAO,0HAcnD;AAED,wBAAsB,wBAAwB,CAAC,CAAC,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mEAYxD;AAED,wBAAsB,4BAA4B,CAAC,CAAC,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mEAY5D;AAED,wBAAsB,qBAAqB,CAAC,CAAC,EAAE,OAAO,qBAmBrD;AAED,wBAAsB,eAAe,CAAC,CAAC,EAAE,OAAO,qBAmB/C;AAED,wBAAsB,2BAA2B,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAmB3F;AAED,wBAAsB,qBAAqB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAkErF;AAED,wBAAsB,sBAAsB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAkEtF;AAED,wBAAsB,sBAAsB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAkEtF;AAED,wBAAsB,oBAAoB,CAAC,CAAC,EAAE,OAAO,qBAkGpD;AAED,wBAAsB,sBAAsB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAmBtF;AAED,wBAAsB,2BAA2B,CAAC,CAAC,EAAE,OAAO,qBAgC3D;AAED,wBAAsB,uBAAuB,CAAC,CAAC,EAAE,OAAO,qBAgBvD;AAED,wBAAsB,4BAA4B,CAAC,CAAC,EAAE,OAAO;;;;;iBAU5D;AAED,wBAAsB,wBAAwB,CAAC,CAAC,EAAE,OAAO;;;;;;;;;sEAuBxD;AAED,wBAAsB,kCAAkC,CAAC,CAAC,EAAE,OAAO,qBAkBlE;AAED,wBAAsB,4BAA4B,CAAC,CAAC,EAAE,OAAO,qBAgB5D"}
@@ -26,6 +26,7 @@ var bodyLimit = require('hono/body-limit');
26
26
  var agentBuilder = require('@mastra/server/handlers/agent-builder');
27
27
  var error = require('@mastra/core/error');
28
28
  var llm = require('@mastra/core/llm');
29
+ var stream$1 = require('@mastra/core/stream');
29
30
  var agents = require('@mastra/server/handlers/agents');
30
31
  var agent = require('@mastra/core/agent');
31
32
  var zod = require('zod');
@@ -1093,9 +1094,9 @@ var isCustomRoutePublic = (path, method, customRouteAuthConfig) => {
1093
1094
  }
1094
1095
  return false;
1095
1096
  };
1096
- var isProtectedPath = (path, method, authConfig) => {
1097
+ var isProtectedPath = (path, method, authConfig, customRouteAuthConfig) => {
1097
1098
  const protectedAccess = [...defaultAuthConfig.protected || [], ...authConfig.protected || []];
1098
- return isAnyMatch(path, method, protectedAccess);
1099
+ return isAnyMatch(path, method, protectedAccess) || !isCustomRoutePublic(path, method, customRouteAuthConfig);
1099
1100
  };
1100
1101
  var canAccessPublicly = (path, method, authConfig) => {
1101
1102
  const publicAccess = [...defaultAuthConfig.public || [], ...authConfig.public || []];
@@ -1185,10 +1186,7 @@ var authenticationMiddleware = async (c2, next) => {
1185
1186
  if (isDevPlaygroundRequest(c2.req)) {
1186
1187
  return next();
1187
1188
  }
1188
- if (isCustomRoutePublic(c2.req.path, c2.req.method, customRouteAuthConfig)) {
1189
- return next();
1190
- }
1191
- if (!isProtectedPath(c2.req.path, c2.req.method, authConfig)) {
1189
+ if (!isProtectedPath(c2.req.path, c2.req.method, authConfig, customRouteAuthConfig)) {
1192
1190
  return next();
1193
1191
  }
1194
1192
  if (canAccessPublicly(c2.req.path, c2.req.method, authConfig)) {
@@ -1231,10 +1229,7 @@ var authorizationMiddleware = async (c2, next) => {
1231
1229
  if (isDevPlaygroundRequest(c2.req)) {
1232
1230
  return next();
1233
1231
  }
1234
- if (isCustomRoutePublic(path, method, customRouteAuthConfig)) {
1235
- return next();
1236
- }
1237
- if (!isProtectedPath(c2.req.path, c2.req.method, authConfig)) {
1232
+ if (!isProtectedPath(c2.req.path, c2.req.method, authConfig, customRouteAuthConfig)) {
1238
1233
  return next();
1239
1234
  }
1240
1235
  if (canAccessPublicly(path, method, authConfig)) {
@@ -2518,154 +2513,204 @@ async function streamGenerateLegacyHandler(c2) {
2518
2513
  }
2519
2514
  }
2520
2515
  async function streamGenerateHandler(c2) {
2516
+ const mastra = c2.get("mastra");
2517
+ const agentId = c2.req.param("agentId");
2518
+ const runtimeContext = c2.get("runtimeContext");
2519
+ const body = await c2.req.json();
2520
+ const logger2 = mastra.getLogger();
2521
+ let streamResponse;
2521
2522
  try {
2522
- const mastra = c2.get("mastra");
2523
- const agentId = c2.req.param("agentId");
2524
- const runtimeContext = c2.get("runtimeContext");
2525
- const body = await c2.req.json();
2526
- const logger2 = mastra.getLogger();
2527
- c2.header("Transfer-Encoding", "chunked");
2528
- return streaming.stream(
2529
- c2,
2530
- async (stream6) => {
2531
- try {
2532
- const streamResponse = await agents.streamGenerateHandler({
2533
- mastra,
2534
- agentId,
2535
- runtimeContext,
2536
- body,
2537
- abortSignal: c2.req.raw.signal
2538
- });
2539
- const reader = streamResponse.fullStream.getReader();
2540
- stream6.onAbort(() => {
2541
- void reader.cancel("request aborted");
2542
- });
2543
- let chunkResult;
2544
- while ((chunkResult = await reader.read()) && !chunkResult.done) {
2545
- await stream6.write(`data: ${JSON.stringify(chunkResult.value)}
2523
+ streamResponse = await agents.streamGenerateHandler({
2524
+ mastra,
2525
+ agentId,
2526
+ runtimeContext,
2527
+ body,
2528
+ abortSignal: c2.req.raw.signal
2529
+ });
2530
+ } catch (err) {
2531
+ return handleError(err, "Error streaming from agent");
2532
+ }
2533
+ c2.header("Transfer-Encoding", "chunked");
2534
+ return streaming.stream(
2535
+ c2,
2536
+ async (stream6) => {
2537
+ try {
2538
+ const reader = streamResponse.fullStream.getReader();
2539
+ stream6.onAbort(() => {
2540
+ void reader.cancel("request aborted");
2541
+ });
2542
+ let chunkResult;
2543
+ while ((chunkResult = await reader.read()) && !chunkResult.done) {
2544
+ await stream6.write(`data: ${JSON.stringify(chunkResult.value)}
2546
2545
 
2547
2546
  `);
2548
- }
2549
- await stream6.write("data: [DONE]\n\n");
2550
- } catch (err) {
2551
- logger2.error("Error in stream generate: " + (err?.message ?? "Unknown error"));
2552
2547
  }
2553
- await stream6.close();
2554
- },
2555
- async (err) => {
2556
- logger2.error("Error in watch stream: " + err?.message);
2548
+ await stream6.write("data: [DONE]\n\n");
2549
+ } catch (err) {
2550
+ logger2.error("Error in stream generate: " + (err?.message ?? "Unknown error"));
2551
+ const errorChunk = {
2552
+ type: "error",
2553
+ from: stream$1.ChunkFrom.AGENT,
2554
+ runId: body.runId || "unknown",
2555
+ payload: {
2556
+ error: err instanceof Error ? {
2557
+ message: err.message,
2558
+ name: err.name,
2559
+ stack: err.stack
2560
+ } : String(err)
2561
+ }
2562
+ };
2563
+ await stream6.write(`data: ${JSON.stringify(errorChunk)}
2564
+
2565
+ `);
2557
2566
  }
2558
- );
2559
- } catch (error) {
2560
- return handleError(error, "Error streaming from agent");
2561
- }
2567
+ await stream6.close();
2568
+ },
2569
+ async (err) => {
2570
+ logger2.error("Error in watch stream: " + err?.message);
2571
+ }
2572
+ );
2562
2573
  }
2563
2574
  async function approveToolCallHandler(c2) {
2575
+ const mastra = c2.get("mastra");
2576
+ const agentId = c2.req.param("agentId");
2577
+ const runtimeContext = c2.get("runtimeContext");
2578
+ const body = await c2.req.json();
2579
+ const logger2 = mastra.getLogger();
2580
+ let streamResponse;
2564
2581
  try {
2565
- const mastra = c2.get("mastra");
2566
- const agentId = c2.req.param("agentId");
2567
- const runtimeContext = c2.get("runtimeContext");
2568
- const body = await c2.req.json();
2569
- const logger2 = mastra.getLogger();
2570
- c2.header("Transfer-Encoding", "chunked");
2571
- c2.header("Transfer-Encoding", "chunked");
2572
- return streaming.stream(
2573
- c2,
2574
- async (stream6) => {
2575
- try {
2576
- const streamResponse = await agents.approveToolCallHandler({
2577
- mastra,
2578
- runtimeContext,
2579
- agentId,
2580
- body,
2581
- abortSignal: c2.req.raw.signal
2582
- });
2583
- const reader = streamResponse.fullStream.getReader();
2584
- stream6.onAbort(() => {
2585
- void reader.cancel("request aborted");
2586
- });
2587
- let chunkResult;
2588
- while ((chunkResult = await reader.read()) && !chunkResult.done) {
2589
- await stream6.write(`data: ${JSON.stringify(chunkResult.value)}
2582
+ streamResponse = await agents.approveToolCallHandler({
2583
+ mastra,
2584
+ runtimeContext,
2585
+ agentId,
2586
+ body,
2587
+ abortSignal: c2.req.raw.signal
2588
+ });
2589
+ } catch (err) {
2590
+ return handleError(err, "Error approving tool call");
2591
+ }
2592
+ c2.header("Transfer-Encoding", "chunked");
2593
+ return streaming.stream(
2594
+ c2,
2595
+ async (stream6) => {
2596
+ try {
2597
+ const reader = streamResponse.fullStream.getReader();
2598
+ stream6.onAbort(() => {
2599
+ void reader.cancel("request aborted");
2600
+ });
2601
+ let chunkResult;
2602
+ while ((chunkResult = await reader.read()) && !chunkResult.done) {
2603
+ await stream6.write(`data: ${JSON.stringify(chunkResult.value)}
2590
2604
 
2591
2605
  `);
2592
- }
2593
- await stream6.write("data: [DONE]\n\n");
2594
- } catch (err) {
2595
- logger2.error("Error in approve tool call: " + (err?.message ?? "Unknown error"));
2596
2606
  }
2597
- await stream6.close();
2598
- },
2599
- async (err) => {
2600
- logger2.error("Error in watch stream: " + err?.message);
2607
+ await stream6.write("data: [DONE]\n\n");
2608
+ } catch (err) {
2609
+ logger2.error("Error in approve tool call: " + (err?.message ?? "Unknown error"));
2610
+ const errorChunk = {
2611
+ type: "error",
2612
+ from: stream$1.ChunkFrom.AGENT,
2613
+ runId: body.runId || "unknown",
2614
+ payload: {
2615
+ error: err instanceof Error ? {
2616
+ message: err.message,
2617
+ name: err.name,
2618
+ stack: err.stack
2619
+ } : String(err)
2620
+ }
2621
+ };
2622
+ await stream6.write(`data: ${JSON.stringify(errorChunk)}
2623
+
2624
+ `);
2601
2625
  }
2602
- );
2603
- } catch (error) {
2604
- return handleError(error, "Error approving tool call");
2605
- }
2626
+ await stream6.close();
2627
+ },
2628
+ async (err) => {
2629
+ logger2.error("Error in watch stream: " + err?.message);
2630
+ }
2631
+ );
2606
2632
  }
2607
2633
  async function declineToolCallHandler(c2) {
2634
+ const mastra = c2.get("mastra");
2635
+ const agentId = c2.req.param("agentId");
2636
+ const runtimeContext = c2.get("runtimeContext");
2637
+ const body = await c2.req.json();
2638
+ const logger2 = mastra.getLogger();
2639
+ let streamResponse;
2608
2640
  try {
2609
- const mastra = c2.get("mastra");
2610
- const agentId = c2.req.param("agentId");
2611
- const runtimeContext = c2.get("runtimeContext");
2612
- const body = await c2.req.json();
2613
- const logger2 = mastra.getLogger();
2614
- c2.header("Transfer-Encoding", "chunked");
2615
- return streaming.stream(
2616
- c2,
2617
- async (stream6) => {
2618
- try {
2619
- const streamResponse = await agents.declineToolCallHandler({
2620
- mastra,
2621
- runtimeContext,
2622
- agentId,
2623
- body,
2624
- abortSignal: c2.req.raw.signal
2625
- });
2626
- const reader = streamResponse.fullStream.getReader();
2627
- stream6.onAbort(() => {
2628
- void reader.cancel("request aborted");
2629
- });
2630
- let chunkResult;
2631
- while ((chunkResult = await reader.read()) && !chunkResult.done) {
2632
- await stream6.write(`data: ${JSON.stringify(chunkResult.value)}
2641
+ streamResponse = await agents.declineToolCallHandler({
2642
+ mastra,
2643
+ runtimeContext,
2644
+ agentId,
2645
+ body,
2646
+ abortSignal: c2.req.raw.signal
2647
+ });
2648
+ } catch (err) {
2649
+ return handleError(err, "Error declining tool call");
2650
+ }
2651
+ c2.header("Transfer-Encoding", "chunked");
2652
+ return streaming.stream(
2653
+ c2,
2654
+ async (stream6) => {
2655
+ try {
2656
+ const reader = streamResponse.fullStream.getReader();
2657
+ stream6.onAbort(() => {
2658
+ void reader.cancel("request aborted");
2659
+ });
2660
+ let chunkResult;
2661
+ while ((chunkResult = await reader.read()) && !chunkResult.done) {
2662
+ await stream6.write(`data: ${JSON.stringify(chunkResult.value)}
2633
2663
 
2634
2664
  `);
2635
- }
2636
- await stream6.write("data: [DONE]\n\n");
2637
- } catch (err) {
2638
- logger2.error("Error in decline tool call: " + (err?.message ?? "Unknown error"));
2639
2665
  }
2640
- await stream6.close();
2641
- },
2642
- async (err) => {
2643
- logger2.error("Error in watch stream: " + err?.message);
2666
+ await stream6.write("data: [DONE]\n\n");
2667
+ } catch (err) {
2668
+ logger2.error("Error in decline tool call: " + (err?.message ?? "Unknown error"));
2669
+ const errorChunk = {
2670
+ type: "error",
2671
+ from: stream$1.ChunkFrom.AGENT,
2672
+ runId: body.runId || "unknown",
2673
+ payload: {
2674
+ error: err instanceof Error ? {
2675
+ message: err.message,
2676
+ name: err.name,
2677
+ stack: err.stack
2678
+ } : String(err)
2679
+ }
2680
+ };
2681
+ await stream6.write(`data: ${JSON.stringify(errorChunk)}
2682
+
2683
+ `);
2644
2684
  }
2645
- );
2646
- } catch (error) {
2647
- return handleError(error, "Error declining tool call");
2648
- }
2685
+ await stream6.close();
2686
+ },
2687
+ async (err) => {
2688
+ logger2.error("Error in watch stream: " + err?.message);
2689
+ }
2690
+ );
2649
2691
  }
2650
2692
  async function streamNetworkHandler(c2) {
2651
- try {
2652
- const mastra = c2.get("mastra");
2653
- const agentId = c2.req.param("agentId");
2654
- const runtimeContext = c2.get("runtimeContext");
2655
- const body = await c2.req.json();
2656
- const logger2 = mastra.getLogger();
2657
- const agent = mastra.getAgent(agentId);
2658
- if (!agent) {
2659
- throw new error.MastraError({
2693
+ const mastra = c2.get("mastra");
2694
+ const agentId = c2.req.param("agentId");
2695
+ const runtimeContext = c2.get("runtimeContext");
2696
+ const body = await c2.req.json();
2697
+ const logger2 = mastra.getLogger();
2698
+ const agent = mastra.getAgent(agentId);
2699
+ if (!agent) {
2700
+ return handleError(
2701
+ new error.MastraError({
2660
2702
  id: "AGENT_NOT_FOUND",
2661
2703
  domain: error.ErrorDomain.AGENT,
2662
2704
  category: error.ErrorCategory.USER,
2663
2705
  text: "Agent not found"
2664
- });
2665
- }
2666
- const memory = await agent.getMemory({ runtimeContext });
2667
- if (!memory) {
2668
- throw new error.MastraError({
2706
+ }),
2707
+ "Agent not found"
2708
+ );
2709
+ }
2710
+ const memory = await agent.getMemory({ runtimeContext });
2711
+ if (!memory) {
2712
+ return handleError(
2713
+ new error.MastraError({
2669
2714
  id: "AGENT_NETWORK_MEMORY_REQUIRED",
2670
2715
  domain: error.ErrorDomain.AGENT_NETWORK,
2671
2716
  category: error.ErrorCategory.USER,
@@ -2673,43 +2718,62 @@ async function streamNetworkHandler(c2) {
2673
2718
  details: {
2674
2719
  status: 400
2675
2720
  }
2676
- });
2677
- }
2678
- c2.header("Transfer-Encoding", "chunked");
2679
- return streaming.stream(
2680
- c2,
2681
- async (stream6) => {
2682
- try {
2683
- const streamResponse = await agents.streamNetworkHandler({
2684
- mastra,
2685
- agentId,
2686
- runtimeContext,
2687
- body
2688
- // abortSignal: c.req.raw.signal,
2689
- });
2690
- const reader = streamResponse.getReader();
2691
- stream6.onAbort(() => {
2692
- void reader.cancel("request aborted");
2693
- });
2694
- let chunkResult;
2695
- while ((chunkResult = await reader.read()) && !chunkResult.done) {
2696
- await stream6.write(`data: ${JSON.stringify(chunkResult.value)}
2721
+ }),
2722
+ "Memory required for agent network"
2723
+ );
2724
+ }
2725
+ let streamResponse;
2726
+ try {
2727
+ streamResponse = await agents.streamNetworkHandler({
2728
+ mastra,
2729
+ agentId,
2730
+ runtimeContext,
2731
+ body
2732
+ // abortSignal: c.req.raw.signal,
2733
+ });
2734
+ } catch (err) {
2735
+ return handleError(err, "Error streaming from agent in network mode");
2736
+ }
2737
+ c2.header("Transfer-Encoding", "chunked");
2738
+ return streaming.stream(
2739
+ c2,
2740
+ async (stream6) => {
2741
+ try {
2742
+ const reader = streamResponse.getReader();
2743
+ stream6.onAbort(() => {
2744
+ void reader.cancel("request aborted");
2745
+ });
2746
+ let chunkResult;
2747
+ while ((chunkResult = await reader.read()) && !chunkResult.done) {
2748
+ await stream6.write(`data: ${JSON.stringify(chunkResult.value)}
2697
2749
 
2698
2750
  `);
2699
- }
2700
- await stream6.write("data: [DONE]\n\n");
2701
- } catch (err) {
2702
- logger2.error("Error in streamNetwork generate: " + (err?.message ?? "Unknown error"));
2703
2751
  }
2704
- await stream6.close();
2705
- },
2706
- async (err) => {
2707
- logger2.error("Error in watch stream: " + err?.message);
2752
+ await stream6.write("data: [DONE]\n\n");
2753
+ } catch (err) {
2754
+ logger2.error("Error in streamNetwork generate: " + (err?.message ?? "Unknown error"));
2755
+ const errorChunk = {
2756
+ type: "error",
2757
+ from: stream$1.ChunkFrom.AGENT,
2758
+ runId: body.runId || "unknown",
2759
+ payload: {
2760
+ error: err instanceof Error ? {
2761
+ message: err.message,
2762
+ name: err.name,
2763
+ stack: err.stack
2764
+ } : String(err)
2765
+ }
2766
+ };
2767
+ await stream6.write(`data: ${JSON.stringify(errorChunk)}
2768
+
2769
+ `);
2708
2770
  }
2709
- );
2710
- } catch (error) {
2711
- return handleError(error, "Error streaming from agent in network mode");
2712
- }
2771
+ await stream6.close();
2772
+ },
2773
+ async (err) => {
2774
+ logger2.error("Error in watch stream: " + err?.message);
2775
+ }
2776
+ );
2713
2777
  }
2714
2778
  async function streamUIMessageHandler(c2) {
2715
2779
  try {