@mastra/server 0.14.0-alpha.3 → 0.14.0-alpha.5

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.
@@ -18,19 +18,19 @@ async function getScorersFromSystem({
18
18
  const agents = mastra.getAgents();
19
19
  const workflows = mastra.getWorkflows();
20
20
  const scorersMap = /* @__PURE__ */ new Map();
21
- for (const [agentId, agent] of Object.entries(agents)) {
21
+ for (const [_agentId, agent] of Object.entries(agents)) {
22
22
  const scorers = await agent.getScorers({
23
23
  runtimeContext
24
24
  }) || {};
25
25
  if (Object.keys(scorers).length > 0) {
26
26
  for (const [scorerId, scorer] of Object.entries(scorers)) {
27
27
  if (scorersMap.has(scorerId)) {
28
- scorersMap.get(scorerId)?.agentIds.push(agentId);
28
+ scorersMap.get(scorerId)?.agentIds.push(agent.name);
29
29
  } else {
30
30
  scorersMap.set(scorerId, {
31
31
  workflowIds: [],
32
32
  ...scorer,
33
- agentIds: [agentId]
33
+ agentIds: [agent.name]
34
34
  });
35
35
  }
36
36
  }
@@ -147,5 +147,5 @@ async function saveScoreHandler({ mastra, score }) {
147
147
  }
148
148
 
149
149
  export { getScorerHandler, getScorersHandler, getScoresByEntityIdHandler, getScoresByRunIdHandler, getScoresByScorerIdHandler, saveScoreHandler, scores_exports };
150
- //# sourceMappingURL=chunk-NXLKV5JO.js.map
151
- //# sourceMappingURL=chunk-NXLKV5JO.js.map
150
+ //# sourceMappingURL=chunk-7QEJ5QG5.js.map
151
+ //# sourceMappingURL=chunk-7QEJ5QG5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/scores.ts"],"names":[],"mappings":"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","file":"chunk-7QEJ5QG5.js","sourcesContent":["import type { RuntimeContext } from '@mastra/core/runtime-context';\nimport type { MastraScorerEntry, ScoreRowData } from '@mastra/core/scores';\nimport type { StoragePagination } from '@mastra/core/storage';\nimport type { Context } from '../types';\nimport { handleError } from './error';\n\nasync function getScorersFromSystem({\n mastra,\n runtimeContext,\n}: Context & {\n runtimeContext: RuntimeContext;\n}) {\n const agents = mastra.getAgents();\n const workflows = mastra.getWorkflows();\n\n const scorersMap = new Map<string, MastraScorerEntry & { agentIds: string[]; workflowIds: string[] }>();\n\n for (const [_agentId, agent] of Object.entries(agents)) {\n const scorers =\n (await agent.getScorers({\n runtimeContext,\n })) || {};\n\n if (Object.keys(scorers).length > 0) {\n for (const [scorerId, scorer] of Object.entries(scorers)) {\n if (scorersMap.has(scorerId)) {\n scorersMap.get(scorerId)?.agentIds.push(agent.name);\n } else {\n scorersMap.set(scorerId, {\n workflowIds: [],\n ...scorer,\n agentIds: [agent.name],\n });\n }\n }\n }\n }\n\n for (const [workflowId, workflow] of Object.entries(workflows)) {\n const scorers =\n (await workflow.getScorers({\n runtimeContext,\n })) || {};\n\n if (Object.keys(scorers).length > 0) {\n for (const [scorerId, scorer] of Object.entries(scorers)) {\n if (scorersMap.has(scorerId)) {\n scorersMap.get(scorerId)?.workflowIds.push(workflowId);\n } else {\n scorersMap.set(scorerId, {\n agentIds: [],\n ...scorer,\n workflowIds: [workflowId],\n });\n }\n }\n }\n }\n\n return Object.fromEntries(scorersMap.entries());\n}\n\nexport async function getScorersHandler({ mastra, runtimeContext }: Context & { runtimeContext: RuntimeContext }) {\n const scorers = await getScorersFromSystem({\n mastra,\n runtimeContext,\n });\n\n return scorers;\n}\n\nexport async function getScorerHandler({\n mastra,\n scorerId,\n runtimeContext,\n}: Context & { scorerId: string; runtimeContext: RuntimeContext }) {\n const scorers = await getScorersFromSystem({\n mastra,\n runtimeContext,\n });\n\n const scorer = scorers[scorerId];\n\n if (!scorer) {\n return null;\n }\n\n return scorer;\n}\n\nexport async function getScoresByRunIdHandler({\n mastra,\n runId,\n pagination,\n}: Context & { runId: string; pagination: StoragePagination }) {\n try {\n const scores =\n (await mastra.getStorage()?.getScoresByRunId?.({\n runId,\n pagination,\n })) || [];\n return scores;\n } catch (error) {\n return handleError(error, 'Error getting scores by run id');\n }\n}\n\nexport async function getScoresByScorerIdHandler({\n mastra,\n scorerId,\n pagination,\n entityId,\n entityType,\n}: Context & { scorerId: string; pagination: StoragePagination; entityId?: string; entityType?: string }) {\n try {\n const scores =\n (await mastra.getStorage()?.getScoresByScorerId?.({\n scorerId,\n pagination,\n entityId,\n entityType,\n })) || [];\n return scores;\n } catch (error) {\n return handleError(error, 'Error getting scores by scorer id');\n }\n}\n\nexport async function getScoresByEntityIdHandler({\n mastra,\n entityId,\n entityType,\n pagination,\n}: Context & { entityId: string; entityType: string; pagination: StoragePagination }) {\n try {\n let entityIdToUse = entityId;\n\n if (entityType === 'AGENT') {\n const agent = mastra.getAgentById(entityId);\n entityIdToUse = agent.id;\n } else if (entityType === 'WORKFLOW') {\n const workflow = mastra.getWorkflowById(entityId);\n entityIdToUse = workflow.id;\n }\n\n const scores =\n (await mastra.getStorage()?.getScoresByEntityId?.({\n entityId: entityIdToUse,\n entityType,\n pagination,\n })) || [];\n\n return scores;\n } catch (error) {\n return handleError(error, 'Error getting scores by entity id');\n }\n}\n\nexport async function saveScoreHandler({ mastra, score }: Context & { score: ScoreRowData }) {\n try {\n const scores = (await mastra.getStorage()?.saveScore?.(score)) || [];\n return scores;\n } catch (error) {\n return handleError(error, 'Error saving score');\n }\n}\n"]}
@@ -115,6 +115,7 @@ var require_secure_json_parse = chunkEMMSS5I5_cjs.__commonJS({
115
115
  var agents_exports = {};
116
116
  chunkEMMSS5I5_cjs.__export(agents_exports, {
117
117
  generateHandler: () => generateHandler,
118
+ generateVNextHandler: () => generateVNextHandler,
118
119
  getAgentByIdHandler: () => getAgentByIdHandler,
119
120
  getAgentsHandler: () => getAgentsHandler,
120
121
  getEvalsByAgentIdHandler: () => getEvalsByAgentIdHandler,
@@ -122,6 +123,7 @@ chunkEMMSS5I5_cjs.__export(agents_exports, {
122
123
  getSerializedAgentTools: () => getSerializedAgentTools,
123
124
  streamGenerateHandler: () => streamGenerateHandler,
124
125
  streamVNextGenerateHandler: () => streamVNextGenerateHandler,
126
+ streamVNextUIMessageHandler: () => streamVNextUIMessageHandler,
125
127
  updateAgentModelHandler: () => updateAgentModelHandler
126
128
  });
127
129
 
@@ -7551,6 +7553,7 @@ async function getAgentsHandler({ mastra, runtimeContext }) {
7551
7553
  logger.error("Error getting workflows for agent", { agentName: agent.name, error });
7552
7554
  }
7553
7555
  }
7556
+ const model = llm?.getModel();
7554
7557
  return {
7555
7558
  id,
7556
7559
  name: agent.name,
@@ -7559,6 +7562,7 @@ async function getAgentsHandler({ mastra, runtimeContext }) {
7559
7562
  workflows: serializedAgentWorkflows,
7560
7563
  provider: llm?.getProvider(),
7561
7564
  modelId: llm?.getModelId(),
7565
+ modelVersion: model?.specificationVersion,
7562
7566
  defaultGenerateOptions,
7563
7567
  defaultStreamOptions
7564
7568
  };
@@ -7630,6 +7634,7 @@ async function getAgentByIdHandler({
7630
7634
  const llm = await agent.getLLM({ runtimeContext });
7631
7635
  const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext: proxyRuntimeContext });
7632
7636
  const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext: proxyRuntimeContext });
7637
+ const model = llm?.getModel();
7633
7638
  return {
7634
7639
  name: agent.name,
7635
7640
  instructions,
@@ -7637,6 +7642,7 @@ async function getAgentByIdHandler({
7637
7642
  workflows: serializedAgentWorkflows,
7638
7643
  provider: llm?.getProvider(),
7639
7644
  modelId: llm?.getModelId(),
7645
+ modelVersion: model?.specificationVersion,
7640
7646
  defaultGenerateOptions,
7641
7647
  defaultStreamOptions
7642
7648
  };
@@ -7713,6 +7719,38 @@ async function generateHandler({
7713
7719
  return chunkRE4RPXT2_cjs.handleError(error, "Error generating from agent");
7714
7720
  }
7715
7721
  }
7722
+ async function generateVNextHandler({
7723
+ mastra,
7724
+ runtimeContext: runtimeContext$1,
7725
+ agentId,
7726
+ body,
7727
+ abortSignal
7728
+ }) {
7729
+ try {
7730
+ const agent = mastra.getAgent(agentId);
7731
+ if (!agent) {
7732
+ throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Agent not found" });
7733
+ }
7734
+ const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;
7735
+ const finalRuntimeContext = new runtimeContext.RuntimeContext([
7736
+ ...Array.from(runtimeContext$1.entries()),
7737
+ ...Array.from(Object.entries(agentRuntimeContext ?? {}))
7738
+ ]);
7739
+ chunk4QSNRCOT_cjs.validateBody({ messages });
7740
+ const result = await agent.generateVNext(messages, {
7741
+ ...rest,
7742
+ runtimeContext: finalRuntimeContext,
7743
+ format: rest.format || "mastra",
7744
+ options: {
7745
+ ...rest?.options ?? {},
7746
+ abortSignal
7747
+ }
7748
+ });
7749
+ return result;
7750
+ } catch (error) {
7751
+ return chunkRE4RPXT2_cjs.handleError(error, "Error generating from agent");
7752
+ }
7753
+ }
7716
7754
  async function streamGenerateHandler({
7717
7755
  mastra,
7718
7756
  runtimeContext: runtimeContext$1,
@@ -7779,13 +7817,49 @@ function streamVNextGenerateHandler({
7779
7817
  const streamResult = agent.streamVNext(messages, {
7780
7818
  ...rest,
7781
7819
  runtimeContext: finalRuntimeContext,
7782
- abortSignal
7820
+ options: {
7821
+ ...rest?.options ?? {},
7822
+ abortSignal
7823
+ },
7824
+ format: body.format ?? "mastra"
7783
7825
  });
7784
7826
  return streamResult;
7785
7827
  } catch (error) {
7786
7828
  return chunkRE4RPXT2_cjs.handleError(error, "error streaming agent response");
7787
7829
  }
7788
7830
  }
7831
+ async function streamVNextUIMessageHandler({
7832
+ mastra,
7833
+ runtimeContext: runtimeContext$1,
7834
+ agentId,
7835
+ body,
7836
+ abortSignal
7837
+ }) {
7838
+ try {
7839
+ const agent = mastra.getAgent(agentId);
7840
+ if (!agent) {
7841
+ throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Agent not found" });
7842
+ }
7843
+ const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;
7844
+ const finalRuntimeContext = new runtimeContext.RuntimeContext([
7845
+ ...Array.from(runtimeContext$1.entries()),
7846
+ ...Array.from(Object.entries(agentRuntimeContext ?? {}))
7847
+ ]);
7848
+ chunk4QSNRCOT_cjs.validateBody({ messages });
7849
+ const streamResult = await agent.streamVNext(messages, {
7850
+ ...rest,
7851
+ runtimeContext: finalRuntimeContext,
7852
+ options: {
7853
+ ...rest?.options ?? {},
7854
+ abortSignal
7855
+ },
7856
+ format: "aisdk"
7857
+ });
7858
+ return streamResult.toUIMessageStreamResponse();
7859
+ } catch (error) {
7860
+ return chunkRE4RPXT2_cjs.handleError(error, "error streaming agent response");
7861
+ }
7862
+ }
7789
7863
  function updateAgentModelHandler({
7790
7864
  mastra,
7791
7865
  agentId,
@@ -7814,6 +7888,7 @@ function updateAgentModelHandler({
7814
7888
 
7815
7889
  exports.agents_exports = agents_exports;
7816
7890
  exports.generateHandler = generateHandler;
7891
+ exports.generateVNextHandler = generateVNextHandler;
7817
7892
  exports.getAgentByIdHandler = getAgentByIdHandler;
7818
7893
  exports.getAgentsHandler = getAgentsHandler;
7819
7894
  exports.getEvalsByAgentIdHandler = getEvalsByAgentIdHandler;
@@ -7821,6 +7896,7 @@ exports.getLiveEvalsByAgentIdHandler = getLiveEvalsByAgentIdHandler;
7821
7896
  exports.getSerializedAgentTools = getSerializedAgentTools;
7822
7897
  exports.streamGenerateHandler = streamGenerateHandler;
7823
7898
  exports.streamVNextGenerateHandler = streamVNextGenerateHandler;
7899
+ exports.streamVNextUIMessageHandler = streamVNextUIMessageHandler;
7824
7900
  exports.updateAgentModelHandler = updateAgentModelHandler;
7825
- //# sourceMappingURL=chunk-37NQ555F.cjs.map
7826
- //# sourceMappingURL=chunk-37NQ555F.cjs.map
7901
+ //# sourceMappingURL=chunk-BQYMGHOD.cjs.map
7902
+ //# sourceMappingURL=chunk-BQYMGHOD.cjs.map