@mastra/server 2.0.3 → 2.0.4-alpha.0

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 (69) hide show
  1. package/dist/_tsup-dts-rollup.d.cts +152 -10
  2. package/dist/_tsup-dts-rollup.d.ts +152 -10
  3. package/dist/{chunk-2FJURXCL.cjs → chunk-24EGIVT7.cjs} +34 -33
  4. package/dist/{chunk-3XTEV33Q.js → chunk-2KIW6AJK.js} +4 -3
  5. package/dist/{chunk-6Q7UXAYJ.cjs → chunk-3HQNCTZ2.cjs} +21 -20
  6. package/dist/{chunk-M56ECCHK.cjs → chunk-4YZ3U35L.cjs} +18 -17
  7. package/dist/{chunk-QN4KF3BH.cjs → chunk-57CJTIPW.cjs} +2 -2
  8. package/dist/chunk-5SN4U5AC.cjs +508 -0
  9. package/dist/{chunk-ZLBRQFDD.cjs → chunk-64U3UDTH.cjs} +2 -2
  10. package/dist/chunk-75ZPJI57.cjs +9 -0
  11. package/dist/{chunk-QJ3AHN64.js → chunk-C7564HUT.js} +4 -3
  12. package/dist/{chunk-L7XE5QTW.js → chunk-H5PTF3Y4.js} +1 -1
  13. package/dist/{chunk-Q6SHQECN.js → chunk-HFWCEP5S.js} +4 -3
  14. package/dist/{chunk-3EJZQ6TQ.js → chunk-HWZVAG3H.js} +3 -3
  15. package/dist/{chunk-4JINXASC.js → chunk-IU5VO2I2.js} +3 -2
  16. package/dist/chunk-LIVAK2DM.js +2001 -0
  17. package/dist/{chunk-3AHQ5RGN.js → chunk-M5ABIP7D.js} +1 -1
  18. package/dist/{chunk-AMVOS7YB.cjs → chunk-MHKNLNAN.cjs} +9 -8
  19. package/dist/chunk-MLKGABMK.js +7 -0
  20. package/dist/{chunk-TRDNDNGQ.js → chunk-NYN7KFXL.js} +1 -7
  21. package/dist/{chunk-FV45V6WC.cjs → chunk-OCWPVYNI.cjs} +0 -7
  22. package/dist/{chunk-SKBVVI24.cjs → chunk-OGCNNUHF.cjs} +9 -9
  23. package/dist/{chunk-M2RXDCPV.cjs → chunk-OHKAN72U.cjs} +76 -57
  24. package/dist/{chunk-BPL2CBLV.js → chunk-OR3CIE2H.js} +3 -2
  25. package/dist/chunk-P6SCPDYW.js +500 -0
  26. package/dist/{chunk-GVBJ5I2S.js → chunk-Q6KMBIAN.js} +5 -4
  27. package/dist/{chunk-CHFORQ7J.cjs → chunk-RYUN5DF4.cjs} +45 -44
  28. package/dist/{chunk-5JNVY6DU.js → chunk-TJKLBTFB.js} +20 -8
  29. package/dist/{chunk-5YGDYMRB.cjs → chunk-VPNDC2DI.cjs} +14 -13
  30. package/dist/{chunk-OWNA6I2H.js → chunk-WVDUW4GI.js} +28 -9
  31. package/dist/{chunk-RBQASTUP.js → chunk-X3ZDCS52.js} +4 -3
  32. package/dist/{chunk-55HTWX4C.cjs → chunk-YBVOQN4M.cjs} +20 -19
  33. package/dist/chunk-YWLUOY3D.cjs +2004 -0
  34. package/dist/{chunk-D3G23FP3.cjs → chunk-ZE5AAC4I.cjs} +37 -25
  35. package/dist/server/handlers/a2a.cjs +30 -0
  36. package/dist/server/handlers/a2a.d.cts +6 -0
  37. package/dist/server/handlers/a2a.d.ts +6 -0
  38. package/dist/server/handlers/a2a.js +1 -0
  39. package/dist/server/handlers/agents.cjs +7 -7
  40. package/dist/server/handlers/agents.js +1 -1
  41. package/dist/server/handlers/error.cjs +2 -2
  42. package/dist/server/handlers/error.js +1 -1
  43. package/dist/server/handlers/logs.cjs +4 -4
  44. package/dist/server/handlers/logs.js +1 -1
  45. package/dist/server/handlers/memory.cjs +9 -9
  46. package/dist/server/handlers/memory.js +1 -1
  47. package/dist/server/handlers/network.cjs +5 -5
  48. package/dist/server/handlers/network.js +1 -1
  49. package/dist/server/handlers/telemetry.cjs +3 -3
  50. package/dist/server/handlers/telemetry.js +1 -1
  51. package/dist/server/handlers/tools.cjs +5 -5
  52. package/dist/server/handlers/tools.js +1 -1
  53. package/dist/server/handlers/utils.cjs +2 -2
  54. package/dist/server/handlers/utils.js +1 -1
  55. package/dist/server/handlers/vNextWorkflows.cjs +11 -11
  56. package/dist/server/handlers/vNextWorkflows.js +1 -1
  57. package/dist/server/handlers/vector.cjs +7 -7
  58. package/dist/server/handlers/vector.js +1 -1
  59. package/dist/server/handlers/voice.cjs +4 -4
  60. package/dist/server/handlers/voice.js +1 -1
  61. package/dist/server/handlers/workflows.cjs +11 -11
  62. package/dist/server/handlers/workflows.js +1 -1
  63. package/dist/server/handlers.cjs +28 -23
  64. package/dist/server/handlers.d.cts +1 -0
  65. package/dist/server/handlers.d.ts +1 -0
  66. package/dist/server/handlers.js +11 -10
  67. package/package.json +6 -4
  68. package/dist/chunk-5SWCVTNL.cjs +0 -5579
  69. package/dist/chunk-OMN3UI6X.js +0 -5576
@@ -1,25 +1,39 @@
1
1
  import type { Agent } from '@mastra/core/agent';
2
+ import type { AgentCard } from '@mastra/core/a2a';
2
3
  import type { AgentNetwork } from '@mastra/core/network';
4
+ import type { Artifact } from '@mastra/core/a2a';
3
5
  import type { BaseLogMessage } from '@mastra/core/logger';
4
6
  import { CoreMessage } from 'ai';
7
+ import type { CoreMessage as CoreMessage_2 } from '@mastra/core/llm';
5
8
  import { EvalRow } from '@mastra/core/storage';
6
9
  import { GenerateObjectResult } from 'ai';
7
10
  import { GenerateTextResult } from 'ai';
11
+ import type { JSONRPCError } from '@mastra/core/a2a';
12
+ import { JSONRPCResponse } from '@mastra/core/a2a';
13
+ import type { Logger } from '@mastra/core/logger';
8
14
  import type { Mastra } from '@mastra/core/mastra';
9
15
  import type { MastraMemory } from '@mastra/core/memory';
10
16
  import { Message } from 'ai';
17
+ import type { Message as Message_2 } from '@mastra/core/a2a';
11
18
  import { MessageType } from '@mastra/core/memory';
12
19
  import { NewStep } from '@mastra/core/workflows/vNext';
13
20
  import type { NewWorkflow } from '@mastra/core/workflows/vNext';
14
21
  import type { QueryResult } from '@mastra/core/vector';
15
22
  import { ReadableStream as ReadableStream_2 } from 'node:stream/web';
16
23
  import { RuntimeContext } from '@mastra/core/runtime-context';
17
- import type { RuntimeContext as RuntimeContext_2 } from '@mastra/core/di';
18
- import { SerializedStepFlowEntry } from '@mastra/core/workflows/vNext';
24
+ import { RuntimeContext as RuntimeContext_2 } from '@mastra/core/di';
25
+ import type { SerializedStepFlowEntry } from '@mastra/core/workflows/vNext';
19
26
  import { Step } from '@mastra/core/workflows';
20
27
  import { StepExecutionContext } from '@mastra/core/workflows';
21
28
  import { StepGraph } from '@mastra/core/workflows';
22
29
  import { StorageThreadType } from '@mastra/core/memory';
30
+ import { Task } from '@mastra/core/a2a';
31
+ import { TaskAndHistory } from '@mastra/core/a2a';
32
+ import type { TaskContext } from '@mastra/core/a2a';
33
+ import type { TaskIdParams } from '@mastra/core/a2a';
34
+ import type { TaskQueryParams } from '@mastra/core/a2a';
35
+ import type { TaskSendParams } from '@mastra/core/a2a';
36
+ import type { TaskStatus } from '@mastra/core/a2a';
23
37
  import type { ToolAction } from '@mastra/core/tools';
24
38
  import type { VercelTool } from '@mastra/core/tools';
25
39
  import type { Workflow } from '@mastra/core/workflows';
@@ -30,6 +44,17 @@ import type { WorkflowRuns } from '@mastra/core/storage';
30
44
  import { ZodType } from 'zod';
31
45
  import { ZodTypeDef } from 'zod';
32
46
 
47
+ export declare namespace a2a {
48
+ export {
49
+ getAgentCardByIdHandler,
50
+ handleTaskSend,
51
+ handleTaskGet,
52
+ handleTaskSendSubscribe,
53
+ handleTaskCancel,
54
+ getAgentExecutionHandler
55
+ }
56
+ }
57
+
33
58
  export declare namespace agents {
34
59
  export {
35
60
  getAgentsHandler,
@@ -46,12 +71,18 @@ export declare interface ApiError extends Error {
46
71
  status?: number;
47
72
  }
48
73
 
74
+ export declare function applyUpdateToTaskAndHistory(current: TaskAndHistory, update: Omit<TaskStatus, 'timestamp'> | Artifact): TaskAndHistory;
75
+
49
76
  declare type ClientErrorStatusCode = 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451;
50
77
 
51
78
  export declare interface Context {
52
79
  mastra: Mastra;
53
80
  }
54
81
 
82
+ export declare function convertToCoreMessage(message: Message_2): CoreMessage_2;
83
+
84
+ export declare function createErrorResponse(id: number | string | null, error: JSONRPCError<unknown>): JSONRPCResponse<null, unknown>;
85
+
55
86
  export declare function createIndex({ mastra, vectorName, index, }: Pick<VectorContext, 'mastra' | 'vectorName'> & {
56
87
  index: CreateIndexRequest;
57
88
  }): Promise<{
@@ -68,6 +99,15 @@ export declare function createRunHandler({ mastra, workflowId, runId: prevRunId,
68
99
  runId: string;
69
100
  }>;
70
101
 
102
+ export declare function createSuccessResponse<T>(id: number | string | null, result: T): JSONRPCResponse<T>;
103
+
104
+ export declare function createTaskContext({ task, userMessage, history, activeCancellations, }: {
105
+ task: Task;
106
+ userMessage: Message_2;
107
+ history: Message_2[];
108
+ activeCancellations: Set<string>;
109
+ }): TaskContext;
110
+
71
111
  export declare function createThreadHandler({ mastra, agentId, body, }: Pick<MemoryContext, 'mastra' | 'agentId'> & {
72
112
  body?: Omit<Parameters<MastraMemory['createThread']>[0], 'resourceId'> & {
73
113
  resourceId?: string;
@@ -98,15 +138,17 @@ export declare function describeIndex({ mastra, vectorName, indexName, }: Pick<V
98
138
  metric: string | undefined;
99
139
  }>;
100
140
 
101
- export declare function executeAgentToolHandler({ mastra, agentId, toolId, data, runtimeContext, }: Pick<ToolsContext, 'mastra' | 'toolId'> & {
141
+ export declare function executeAgentToolHandler({ mastra, agentId, toolId, data, runtimeContext, runtimeContextFromRequest, }: Pick<ToolsContext, 'mastra' | 'toolId'> & {
102
142
  agentId?: string;
103
143
  data: any;
104
- runtimeContext: RuntimeContext;
144
+ runtimeContext: RuntimeContext_2;
145
+ runtimeContextFromRequest: Record<string, unknown>;
105
146
  }): Promise<any>;
106
147
 
107
- export declare function executeToolHandler(tools: ToolsContext['tools']): ({ mastra, runId, toolId, data, runtimeContext, }: Pick<ToolsContext, "mastra" | "toolId" | "runId"> & {
148
+ export declare function executeToolHandler(tools: ToolsContext['tools']): ({ mastra, runId, toolId, data, runtimeContext, runtimeContextFromRequest, }: Pick<ToolsContext, "mastra" | "toolId" | "runId"> & {
108
149
  data?: unknown;
109
- runtimeContext: RuntimeContext;
150
+ runtimeContext: RuntimeContext_2;
151
+ runtimeContextFromRequest: Record<string, unknown>;
110
152
  }) => Promise<any>;
111
153
 
112
154
  export declare function generateHandler({ mastra, runtimeContext, agentId, body, }: Context & {
@@ -146,6 +188,27 @@ export declare function getAgentByIdHandler({ mastra, runtimeContext, agentId, }
146
188
  modelId: string;
147
189
  }>;
148
190
 
191
+ export declare function getAgentCardByIdHandler({ mastra, agentId, executionUrl, provider, version, runtimeContext, }: Context & {
192
+ runtimeContext: RuntimeContext;
193
+ agentId: keyof ReturnType<typeof mastra.getAgents>;
194
+ executionUrl?: string;
195
+ version?: string;
196
+ provider?: {
197
+ organization: string;
198
+ url: string;
199
+ };
200
+ }): Promise<AgentCard>;
201
+
202
+ export declare function getAgentExecutionHandler({ requestId, mastra, agentId, runtimeContext, method, params, taskStore, logger, }: Context & {
203
+ requestId: string;
204
+ runtimeContext: RuntimeContext;
205
+ agentId: string;
206
+ method: 'tasks/send' | 'tasks/sendSubscribe' | 'tasks/get' | 'tasks/cancel';
207
+ params: TaskSendParams | TaskQueryParams | TaskIdParams;
208
+ taskStore?: InMemoryTaskStore;
209
+ logger?: Logger;
210
+ }): Promise<any>;
211
+
149
212
  export declare function getAgentsHandler({ mastra, runtimeContext }: Context & {
150
213
  runtimeContext: RuntimeContext;
151
214
  }): Promise<any>;
@@ -241,7 +304,7 @@ export declare function getToolByIdHandler({ tools, toolId }: Pick<ToolsContext,
241
304
  export declare function getToolsHandler({ tools }: Pick<ToolsContext, 'tools'>): Promise<Record<string, any>>;
242
305
 
243
306
  export declare function getVNextWorkflowByIdHandler({ mastra, workflowId }: VNextWorkflowContext): Promise<{
244
- steps: any;
307
+ steps: SerializedStep[];
245
308
  name: string | undefined;
246
309
  stepGraph: SerializedStepFlowEntry[];
247
310
  inputSchema: string | undefined;
@@ -284,6 +347,48 @@ export declare function getWorkflowsHandler({ mastra }: WorkflowContext): Promis
284
347
 
285
348
  export declare function handleError(error: unknown, defaultMessage: string): never;
286
349
 
350
+ export declare function handleTaskCancel({ requestId, taskStore, agentId, taskId, logger, }: {
351
+ requestId: string;
352
+ taskStore: InMemoryTaskStore;
353
+ agentId: string;
354
+ taskId: string;
355
+ logger?: Logger;
356
+ }): Promise<JSONRPCResponse<Task, unknown>>;
357
+
358
+ export declare function handleTaskGet({ requestId, taskStore, agentId, taskId, }: {
359
+ requestId: string;
360
+ taskStore: InMemoryTaskStore;
361
+ agentId: string;
362
+ taskId: string;
363
+ }): Promise<JSONRPCResponse<TaskAndHistory, unknown>>;
364
+
365
+ export declare function handleTaskSend({ requestId, params, taskStore, agent, logger, runtimeContext, }: {
366
+ requestId: string;
367
+ params: TaskSendParams;
368
+ taskStore: InMemoryTaskStore;
369
+ agent: Agent;
370
+ logger?: Logger;
371
+ runtimeContext: RuntimeContext;
372
+ }): Promise<JSONRPCResponse<null, unknown> | JSONRPCResponse<Task, unknown>>;
373
+
374
+ export declare function handleTaskSendSubscribe({ requestId, params, taskStore, agent, logger, runtimeContext, }: {
375
+ requestId: string;
376
+ params: TaskSendParams;
377
+ taskStore: InMemoryTaskStore;
378
+ agent: Agent;
379
+ logger?: Logger;
380
+ runtimeContext: RuntimeContext;
381
+ }): AsyncGenerator<JSONRPCResponse<null, unknown> | JSONRPCResponse<Task, unknown> | JSONRPCResponse< {
382
+ state: string;
383
+ message: {
384
+ role: string;
385
+ parts: {
386
+ type: string;
387
+ text: string;
388
+ }[];
389
+ };
390
+ }, unknown>, void, unknown>;
391
+
287
392
  /**
288
393
  * `HTTPException` must be used when a fatal error such as authentication failure occurs.
289
394
  *
@@ -345,8 +450,31 @@ declare type HTTPExceptionOptions = {
345
450
  */
346
451
  declare type InfoStatusCode = 100 | 101 | 102 | 103;
347
452
 
453
+ export declare class InMemoryTaskStore {
454
+ private store;
455
+ activeCancellations: Set<string>;
456
+ load({ agentId, taskId }: {
457
+ agentId: string;
458
+ taskId: string;
459
+ }): Promise<TaskAndHistory | null>;
460
+ save({ agentId, data }: {
461
+ agentId: string;
462
+ data: TaskAndHistory;
463
+ }): Promise<void>;
464
+ }
465
+
348
466
  export declare function listIndexes({ mastra, vectorName }: Pick<VectorContext, 'mastra' | 'vectorName'>): Promise<string[]>;
349
467
 
468
+ export declare function loadOrCreateTaskAndHistory({ agentId, taskId, taskStore, message, sessionId, metadata, logger, }: {
469
+ agentId: string;
470
+ taskId: string;
471
+ taskStore: InMemoryTaskStore;
472
+ message: Message_2;
473
+ sessionId?: string | null;
474
+ metadata?: Record<string, unknown> | null;
475
+ logger?: Logger;
476
+ }): Promise<TaskAndHistory>;
477
+
350
478
  export declare namespace logs {
351
479
  export {
352
480
  getLogsHandler,
@@ -394,6 +522,8 @@ declare interface NetworkContext extends Context {
394
522
  runtimeContext: RuntimeContext;
395
523
  }
396
524
 
525
+ export declare function normalizeError(error: any, reqId: number | string | null, taskId?: string, logger?: Logger): JSONRPCResponse<null, unknown>;
526
+
397
527
  declare interface QueryRequest {
398
528
  indexName: string;
399
529
  queryVector: number[];
@@ -408,12 +538,13 @@ export declare function queryVectors({ mastra, vectorName, query, }: Pick<Vector
408
538
 
409
539
  declare type RedirectStatusCode = 300 | 301 | 302 | 303 | 304 | DeprecatedStatusCode | 307 | 308;
410
540
 
411
- export declare function resumeAsyncVNextWorkflowHandler({ mastra, workflowId, runId, body, runtimeContext, }: VNextWorkflowContext & {
541
+ export declare function resumeAsyncVNextWorkflowHandler({ mastra, workflowId, runId, body, runtimeContext, runtimeContextFromRequest, }: VNextWorkflowContext & {
412
542
  body: {
413
543
  step: string | string[];
414
544
  resumeData?: unknown;
415
545
  };
416
546
  runtimeContext?: RuntimeContext_2;
547
+ runtimeContextFromRequest?: Record<string, unknown>;
417
548
  }): Promise<WorkflowResult<ZodType<any, ZodTypeDef, any>, NewStep<string, any, any, any, any>[]>>;
418
549
 
419
550
  export declare function resumeAsyncWorkflowHandler({ mastra, workflowId, runId, body, runtimeContext, }: WorkflowContext & {
@@ -450,11 +581,21 @@ export declare function saveMessagesHandler({ mastra, agentId, body, }: Pick<Mem
450
581
  };
451
582
  }): Promise<MessageType[]>;
452
583
 
584
+ declare type SerializedStep = {
585
+ id: string;
586
+ description: string;
587
+ inputSchema: string | undefined;
588
+ outputSchema: string | undefined;
589
+ resumeSchema: string | undefined;
590
+ suspendSchema: string | undefined;
591
+ };
592
+
453
593
  declare type ServerErrorStatusCode = 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511;
454
594
 
455
- export declare function startAsyncVNextWorkflowHandler({ mastra, runtimeContext, workflowId, runId, inputData, }: Pick<VNextWorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {
595
+ export declare function startAsyncVNextWorkflowHandler({ mastra, runtimeContext, workflowId, runId, inputData, runtimeContextFromRequest, }: Pick<VNextWorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {
456
596
  inputData?: unknown;
457
597
  runtimeContext?: RuntimeContext_2;
598
+ runtimeContextFromRequest?: Record<string, unknown>;
458
599
  }): Promise<WorkflowResult<ZodType<any, ZodTypeDef, any>, NewStep<string, any, any, any, any>[]>>;
459
600
 
460
601
  export declare function startAsyncWorkflowHandler({ mastra, runtimeContext, workflowId, runId, triggerData, }: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {
@@ -462,9 +603,10 @@ export declare function startAsyncWorkflowHandler({ mastra, runtimeContext, work
462
603
  runtimeContext: RuntimeContext;
463
604
  }): Promise<WorkflowRunResult<any, Step<string, any, any, StepExecutionContext<any, WorkflowContext_2<any, Step<string, any, any, any>[], Record<string, any>>>>[], any>>;
464
605
 
465
- export declare function startVNextWorkflowRunHandler({ mastra, runtimeContext, workflowId, runId, inputData, }: Pick<VNextWorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {
606
+ export declare function startVNextWorkflowRunHandler({ mastra, runtimeContext, workflowId, runId, inputData, runtimeContextFromRequest, }: Pick<VNextWorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {
466
607
  inputData?: unknown;
467
608
  runtimeContext?: RuntimeContext_2;
609
+ runtimeContextFromRequest?: Record<string, unknown>;
468
610
  }): Promise<{
469
611
  message: string;
470
612
  }>;
@@ -1,25 +1,39 @@
1
1
  import type { Agent } from '@mastra/core/agent';
2
+ import type { AgentCard } from '@mastra/core/a2a';
2
3
  import type { AgentNetwork } from '@mastra/core/network';
4
+ import type { Artifact } from '@mastra/core/a2a';
3
5
  import type { BaseLogMessage } from '@mastra/core/logger';
4
6
  import { CoreMessage } from 'ai';
7
+ import type { CoreMessage as CoreMessage_2 } from '@mastra/core/llm';
5
8
  import { EvalRow } from '@mastra/core/storage';
6
9
  import { GenerateObjectResult } from 'ai';
7
10
  import { GenerateTextResult } from 'ai';
11
+ import type { JSONRPCError } from '@mastra/core/a2a';
12
+ import { JSONRPCResponse } from '@mastra/core/a2a';
13
+ import type { Logger } from '@mastra/core/logger';
8
14
  import type { Mastra } from '@mastra/core/mastra';
9
15
  import type { MastraMemory } from '@mastra/core/memory';
10
16
  import { Message } from 'ai';
17
+ import type { Message as Message_2 } from '@mastra/core/a2a';
11
18
  import { MessageType } from '@mastra/core/memory';
12
19
  import { NewStep } from '@mastra/core/workflows/vNext';
13
20
  import type { NewWorkflow } from '@mastra/core/workflows/vNext';
14
21
  import type { QueryResult } from '@mastra/core/vector';
15
22
  import { ReadableStream as ReadableStream_2 } from 'node:stream/web';
16
23
  import { RuntimeContext } from '@mastra/core/runtime-context';
17
- import type { RuntimeContext as RuntimeContext_2 } from '@mastra/core/di';
18
- import { SerializedStepFlowEntry } from '@mastra/core/workflows/vNext';
24
+ import { RuntimeContext as RuntimeContext_2 } from '@mastra/core/di';
25
+ import type { SerializedStepFlowEntry } from '@mastra/core/workflows/vNext';
19
26
  import { Step } from '@mastra/core/workflows';
20
27
  import { StepExecutionContext } from '@mastra/core/workflows';
21
28
  import { StepGraph } from '@mastra/core/workflows';
22
29
  import { StorageThreadType } from '@mastra/core/memory';
30
+ import { Task } from '@mastra/core/a2a';
31
+ import { TaskAndHistory } from '@mastra/core/a2a';
32
+ import type { TaskContext } from '@mastra/core/a2a';
33
+ import type { TaskIdParams } from '@mastra/core/a2a';
34
+ import type { TaskQueryParams } from '@mastra/core/a2a';
35
+ import type { TaskSendParams } from '@mastra/core/a2a';
36
+ import type { TaskStatus } from '@mastra/core/a2a';
23
37
  import type { ToolAction } from '@mastra/core/tools';
24
38
  import type { VercelTool } from '@mastra/core/tools';
25
39
  import type { Workflow } from '@mastra/core/workflows';
@@ -30,6 +44,17 @@ import type { WorkflowRuns } from '@mastra/core/storage';
30
44
  import { ZodType } from 'zod';
31
45
  import { ZodTypeDef } from 'zod';
32
46
 
47
+ export declare namespace a2a {
48
+ export {
49
+ getAgentCardByIdHandler,
50
+ handleTaskSend,
51
+ handleTaskGet,
52
+ handleTaskSendSubscribe,
53
+ handleTaskCancel,
54
+ getAgentExecutionHandler
55
+ }
56
+ }
57
+
33
58
  export declare namespace agents {
34
59
  export {
35
60
  getAgentsHandler,
@@ -46,12 +71,18 @@ export declare interface ApiError extends Error {
46
71
  status?: number;
47
72
  }
48
73
 
74
+ export declare function applyUpdateToTaskAndHistory(current: TaskAndHistory, update: Omit<TaskStatus, 'timestamp'> | Artifact): TaskAndHistory;
75
+
49
76
  declare type ClientErrorStatusCode = 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451;
50
77
 
51
78
  export declare interface Context {
52
79
  mastra: Mastra;
53
80
  }
54
81
 
82
+ export declare function convertToCoreMessage(message: Message_2): CoreMessage_2;
83
+
84
+ export declare function createErrorResponse(id: number | string | null, error: JSONRPCError<unknown>): JSONRPCResponse<null, unknown>;
85
+
55
86
  export declare function createIndex({ mastra, vectorName, index, }: Pick<VectorContext, 'mastra' | 'vectorName'> & {
56
87
  index: CreateIndexRequest;
57
88
  }): Promise<{
@@ -68,6 +99,15 @@ export declare function createRunHandler({ mastra, workflowId, runId: prevRunId,
68
99
  runId: string;
69
100
  }>;
70
101
 
102
+ export declare function createSuccessResponse<T>(id: number | string | null, result: T): JSONRPCResponse<T>;
103
+
104
+ export declare function createTaskContext({ task, userMessage, history, activeCancellations, }: {
105
+ task: Task;
106
+ userMessage: Message_2;
107
+ history: Message_2[];
108
+ activeCancellations: Set<string>;
109
+ }): TaskContext;
110
+
71
111
  export declare function createThreadHandler({ mastra, agentId, body, }: Pick<MemoryContext, 'mastra' | 'agentId'> & {
72
112
  body?: Omit<Parameters<MastraMemory['createThread']>[0], 'resourceId'> & {
73
113
  resourceId?: string;
@@ -98,15 +138,17 @@ export declare function describeIndex({ mastra, vectorName, indexName, }: Pick<V
98
138
  metric: string | undefined;
99
139
  }>;
100
140
 
101
- export declare function executeAgentToolHandler({ mastra, agentId, toolId, data, runtimeContext, }: Pick<ToolsContext, 'mastra' | 'toolId'> & {
141
+ export declare function executeAgentToolHandler({ mastra, agentId, toolId, data, runtimeContext, runtimeContextFromRequest, }: Pick<ToolsContext, 'mastra' | 'toolId'> & {
102
142
  agentId?: string;
103
143
  data: any;
104
- runtimeContext: RuntimeContext;
144
+ runtimeContext: RuntimeContext_2;
145
+ runtimeContextFromRequest: Record<string, unknown>;
105
146
  }): Promise<any>;
106
147
 
107
- export declare function executeToolHandler(tools: ToolsContext['tools']): ({ mastra, runId, toolId, data, runtimeContext, }: Pick<ToolsContext, "mastra" | "toolId" | "runId"> & {
148
+ export declare function executeToolHandler(tools: ToolsContext['tools']): ({ mastra, runId, toolId, data, runtimeContext, runtimeContextFromRequest, }: Pick<ToolsContext, "mastra" | "toolId" | "runId"> & {
108
149
  data?: unknown;
109
- runtimeContext: RuntimeContext;
150
+ runtimeContext: RuntimeContext_2;
151
+ runtimeContextFromRequest: Record<string, unknown>;
110
152
  }) => Promise<any>;
111
153
 
112
154
  export declare function generateHandler({ mastra, runtimeContext, agentId, body, }: Context & {
@@ -146,6 +188,27 @@ export declare function getAgentByIdHandler({ mastra, runtimeContext, agentId, }
146
188
  modelId: string;
147
189
  }>;
148
190
 
191
+ export declare function getAgentCardByIdHandler({ mastra, agentId, executionUrl, provider, version, runtimeContext, }: Context & {
192
+ runtimeContext: RuntimeContext;
193
+ agentId: keyof ReturnType<typeof mastra.getAgents>;
194
+ executionUrl?: string;
195
+ version?: string;
196
+ provider?: {
197
+ organization: string;
198
+ url: string;
199
+ };
200
+ }): Promise<AgentCard>;
201
+
202
+ export declare function getAgentExecutionHandler({ requestId, mastra, agentId, runtimeContext, method, params, taskStore, logger, }: Context & {
203
+ requestId: string;
204
+ runtimeContext: RuntimeContext;
205
+ agentId: string;
206
+ method: 'tasks/send' | 'tasks/sendSubscribe' | 'tasks/get' | 'tasks/cancel';
207
+ params: TaskSendParams | TaskQueryParams | TaskIdParams;
208
+ taskStore?: InMemoryTaskStore;
209
+ logger?: Logger;
210
+ }): Promise<any>;
211
+
149
212
  export declare function getAgentsHandler({ mastra, runtimeContext }: Context & {
150
213
  runtimeContext: RuntimeContext;
151
214
  }): Promise<any>;
@@ -241,7 +304,7 @@ export declare function getToolByIdHandler({ tools, toolId }: Pick<ToolsContext,
241
304
  export declare function getToolsHandler({ tools }: Pick<ToolsContext, 'tools'>): Promise<Record<string, any>>;
242
305
 
243
306
  export declare function getVNextWorkflowByIdHandler({ mastra, workflowId }: VNextWorkflowContext): Promise<{
244
- steps: any;
307
+ steps: SerializedStep[];
245
308
  name: string | undefined;
246
309
  stepGraph: SerializedStepFlowEntry[];
247
310
  inputSchema: string | undefined;
@@ -284,6 +347,48 @@ export declare function getWorkflowsHandler({ mastra }: WorkflowContext): Promis
284
347
 
285
348
  export declare function handleError(error: unknown, defaultMessage: string): never;
286
349
 
350
+ export declare function handleTaskCancel({ requestId, taskStore, agentId, taskId, logger, }: {
351
+ requestId: string;
352
+ taskStore: InMemoryTaskStore;
353
+ agentId: string;
354
+ taskId: string;
355
+ logger?: Logger;
356
+ }): Promise<JSONRPCResponse<Task, unknown>>;
357
+
358
+ export declare function handleTaskGet({ requestId, taskStore, agentId, taskId, }: {
359
+ requestId: string;
360
+ taskStore: InMemoryTaskStore;
361
+ agentId: string;
362
+ taskId: string;
363
+ }): Promise<JSONRPCResponse<TaskAndHistory, unknown>>;
364
+
365
+ export declare function handleTaskSend({ requestId, params, taskStore, agent, logger, runtimeContext, }: {
366
+ requestId: string;
367
+ params: TaskSendParams;
368
+ taskStore: InMemoryTaskStore;
369
+ agent: Agent;
370
+ logger?: Logger;
371
+ runtimeContext: RuntimeContext;
372
+ }): Promise<JSONRPCResponse<null, unknown> | JSONRPCResponse<Task, unknown>>;
373
+
374
+ export declare function handleTaskSendSubscribe({ requestId, params, taskStore, agent, logger, runtimeContext, }: {
375
+ requestId: string;
376
+ params: TaskSendParams;
377
+ taskStore: InMemoryTaskStore;
378
+ agent: Agent;
379
+ logger?: Logger;
380
+ runtimeContext: RuntimeContext;
381
+ }): AsyncGenerator<JSONRPCResponse<null, unknown> | JSONRPCResponse<Task, unknown> | JSONRPCResponse< {
382
+ state: string;
383
+ message: {
384
+ role: string;
385
+ parts: {
386
+ type: string;
387
+ text: string;
388
+ }[];
389
+ };
390
+ }, unknown>, void, unknown>;
391
+
287
392
  /**
288
393
  * `HTTPException` must be used when a fatal error such as authentication failure occurs.
289
394
  *
@@ -345,8 +450,31 @@ declare type HTTPExceptionOptions = {
345
450
  */
346
451
  declare type InfoStatusCode = 100 | 101 | 102 | 103;
347
452
 
453
+ export declare class InMemoryTaskStore {
454
+ private store;
455
+ activeCancellations: Set<string>;
456
+ load({ agentId, taskId }: {
457
+ agentId: string;
458
+ taskId: string;
459
+ }): Promise<TaskAndHistory | null>;
460
+ save({ agentId, data }: {
461
+ agentId: string;
462
+ data: TaskAndHistory;
463
+ }): Promise<void>;
464
+ }
465
+
348
466
  export declare function listIndexes({ mastra, vectorName }: Pick<VectorContext, 'mastra' | 'vectorName'>): Promise<string[]>;
349
467
 
468
+ export declare function loadOrCreateTaskAndHistory({ agentId, taskId, taskStore, message, sessionId, metadata, logger, }: {
469
+ agentId: string;
470
+ taskId: string;
471
+ taskStore: InMemoryTaskStore;
472
+ message: Message_2;
473
+ sessionId?: string | null;
474
+ metadata?: Record<string, unknown> | null;
475
+ logger?: Logger;
476
+ }): Promise<TaskAndHistory>;
477
+
350
478
  export declare namespace logs {
351
479
  export {
352
480
  getLogsHandler,
@@ -394,6 +522,8 @@ declare interface NetworkContext extends Context {
394
522
  runtimeContext: RuntimeContext;
395
523
  }
396
524
 
525
+ export declare function normalizeError(error: any, reqId: number | string | null, taskId?: string, logger?: Logger): JSONRPCResponse<null, unknown>;
526
+
397
527
  declare interface QueryRequest {
398
528
  indexName: string;
399
529
  queryVector: number[];
@@ -408,12 +538,13 @@ export declare function queryVectors({ mastra, vectorName, query, }: Pick<Vector
408
538
 
409
539
  declare type RedirectStatusCode = 300 | 301 | 302 | 303 | 304 | DeprecatedStatusCode | 307 | 308;
410
540
 
411
- export declare function resumeAsyncVNextWorkflowHandler({ mastra, workflowId, runId, body, runtimeContext, }: VNextWorkflowContext & {
541
+ export declare function resumeAsyncVNextWorkflowHandler({ mastra, workflowId, runId, body, runtimeContext, runtimeContextFromRequest, }: VNextWorkflowContext & {
412
542
  body: {
413
543
  step: string | string[];
414
544
  resumeData?: unknown;
415
545
  };
416
546
  runtimeContext?: RuntimeContext_2;
547
+ runtimeContextFromRequest?: Record<string, unknown>;
417
548
  }): Promise<WorkflowResult<ZodType<any, ZodTypeDef, any>, NewStep<string, any, any, any, any>[]>>;
418
549
 
419
550
  export declare function resumeAsyncWorkflowHandler({ mastra, workflowId, runId, body, runtimeContext, }: WorkflowContext & {
@@ -450,11 +581,21 @@ export declare function saveMessagesHandler({ mastra, agentId, body, }: Pick<Mem
450
581
  };
451
582
  }): Promise<MessageType[]>;
452
583
 
584
+ declare type SerializedStep = {
585
+ id: string;
586
+ description: string;
587
+ inputSchema: string | undefined;
588
+ outputSchema: string | undefined;
589
+ resumeSchema: string | undefined;
590
+ suspendSchema: string | undefined;
591
+ };
592
+
453
593
  declare type ServerErrorStatusCode = 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511;
454
594
 
455
- export declare function startAsyncVNextWorkflowHandler({ mastra, runtimeContext, workflowId, runId, inputData, }: Pick<VNextWorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {
595
+ export declare function startAsyncVNextWorkflowHandler({ mastra, runtimeContext, workflowId, runId, inputData, runtimeContextFromRequest, }: Pick<VNextWorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {
456
596
  inputData?: unknown;
457
597
  runtimeContext?: RuntimeContext_2;
598
+ runtimeContextFromRequest?: Record<string, unknown>;
458
599
  }): Promise<WorkflowResult<ZodType<any, ZodTypeDef, any>, NewStep<string, any, any, any, any>[]>>;
459
600
 
460
601
  export declare function startAsyncWorkflowHandler({ mastra, runtimeContext, workflowId, runId, triggerData, }: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {
@@ -462,9 +603,10 @@ export declare function startAsyncWorkflowHandler({ mastra, runtimeContext, work
462
603
  runtimeContext: RuntimeContext;
463
604
  }): Promise<WorkflowRunResult<any, Step<string, any, any, StepExecutionContext<any, WorkflowContext_2<any, Step<string, any, any, any>[], Record<string, any>>>>[], any>>;
464
605
 
465
- export declare function startVNextWorkflowRunHandler({ mastra, runtimeContext, workflowId, runId, inputData, }: Pick<VNextWorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {
606
+ export declare function startVNextWorkflowRunHandler({ mastra, runtimeContext, workflowId, runId, inputData, runtimeContextFromRequest, }: Pick<VNextWorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {
466
607
  inputData?: unknown;
467
608
  runtimeContext?: RuntimeContext_2;
609
+ runtimeContextFromRequest?: Record<string, unknown>;
468
610
  }): Promise<{
469
611
  message: string;
470
612
  }>;