@mastra/server 1.58.0-alpha.1 → 1.58.0-alpha.4
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 +87 -0
- package/dist/_types/@mastra_schema-compat/dist/provider-compats/anthropic.d.ts +1 -1
- package/dist/{a2a-CnU9zaGR.js → a2a-8C4O2dVJ.js} +41 -5
- package/dist/a2a-8C4O2dVJ.js.map +1 -0
- package/dist/{a2a-D3ZYeXIx.cjs → a2a-B6YkZ2i9.cjs} +277 -52
- package/dist/a2a-B6YkZ2i9.cjs.map +1 -0
- package/dist/{a2a-oM7aqLz4.cjs → a2a-MPoM5lzS.cjs} +41 -5
- package/dist/a2a-MPoM5lzS.cjs.map +1 -0
- package/dist/{a2a-CHi9AJ0n.js → a2a-_D2EA4oa.js} +266 -53
- package/dist/a2a-_D2EA4oa.js.map +1 -0
- package/dist/{agent-builder-BDYN3r89.cjs → agent-builder-DAiJH1u2.cjs} +2 -2
- package/dist/{agent-builder-BDYN3r89.cjs.map → agent-builder-DAiJH1u2.cjs.map} +1 -1
- package/dist/{agent-builder-Dqy_qumV.js → agent-builder-gGFywDVq.js} +2 -2
- package/dist/{agent-builder-Dqy_qumV.js.map → agent-builder-gGFywDVq.js.map} +1 -1
- package/dist/{api-schema-manifest-J5hfk5ZZ.cjs → api-schema-manifest-B3bC-D98.cjs} +2 -2
- package/dist/{api-schema-manifest-J5hfk5ZZ.cjs.map → api-schema-manifest-B3bC-D98.cjs.map} +1 -1
- package/dist/{api-schema-manifest-R8CsF6RX.js → api-schema-manifest-B4J_QYOr.js} +2 -2
- package/dist/{api-schema-manifest-R8CsF6RX.js.map → api-schema-manifest-B4J_QYOr.js.map} +1 -1
- package/dist/{dist-IUXZtNBY.js → dist-BKRMiJcn.js} +102 -49
- package/dist/dist-BKRMiJcn.js.map +1 -0
- package/dist/{dist-DgY0llRv.cjs → dist-C2-SedDQ.cjs} +102 -49
- package/dist/dist-C2-SedDQ.cjs.map +1 -0
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/docs/references/docs-agents-a2a.md +39 -0
- package/dist/docs/references/reference-server-routes.md +25 -11
- package/dist/route-builder-CIk5k35M.js.map +1 -1
- package/dist/route-builder-CgLVYL1c.cjs.map +1 -1
- package/dist/{routes-BzR8iVj4.cjs → routes-CZwPlO3-.cjs} +3 -2
- package/dist/routes-CZwPlO3-.cjs.map +1 -0
- package/dist/{routes-C7iRCN_l.js → routes-HUaCyUb7.js} +4 -3
- package/dist/{routes-C7iRCN_l.js.map → routes-HUaCyUb7.js.map} +1 -1
- package/dist/server/a2a/store.cjs +4 -0
- package/dist/server/a2a/store.cjs.map +1 -1
- package/dist/server/a2a/store.d.ts +3 -0
- package/dist/server/a2a/store.d.ts.map +1 -1
- package/dist/server/a2a/store.js +4 -0
- package/dist/server/a2a/store.js.map +1 -1
- package/dist/server/handlers/a2a.cjs +3 -1
- package/dist/server/handlers/a2a.d.ts +152 -10
- package/dist/server/handlers/a2a.d.ts.map +1 -1
- package/dist/server/handlers/a2a.js +2 -2
- package/dist/server/handlers/agent-builder.cjs +3 -3
- package/dist/server/handlers/agent-builder.js +3 -3
- package/dist/server/handlers/agent-controller.cjs +25 -6
- package/dist/server/handlers/agent-controller.cjs.map +1 -1
- package/dist/server/handlers/agent-controller.d.ts +4 -3
- package/dist/server/handlers/agent-controller.d.ts.map +1 -1
- package/dist/server/handlers/agent-controller.js +25 -6
- package/dist/server/handlers/agent-controller.js.map +1 -1
- package/dist/server/handlers/mcp-client-versions.cjs +1 -1
- package/dist/server/handlers/mcp-client-versions.js +1 -1
- package/dist/server/handlers/prompt-block-versions.cjs +1 -1
- package/dist/server/handlers/prompt-block-versions.js +1 -1
- package/dist/server/handlers/scorer-versions.cjs +1 -1
- package/dist/server/handlers/scorer-versions.js +1 -1
- package/dist/server/handlers/stored-mcp-clients.cjs +1 -1
- package/dist/server/handlers/stored-mcp-clients.js +1 -1
- package/dist/server/handlers/stored-prompt-blocks.cjs +1 -1
- package/dist/server/handlers/stored-prompt-blocks.js +1 -1
- package/dist/server/handlers/stored-scorers.cjs +1 -1
- package/dist/server/handlers/stored-scorers.js +1 -1
- package/dist/server/handlers/stored-skill-favorites.cjs +1 -1
- package/dist/server/handlers/stored-skill-favorites.js +1 -1
- package/dist/server/handlers/stored-skills.cjs +1 -1
- package/dist/server/handlers/stored-skills.js +1 -1
- package/dist/server/handlers/system.cjs +1 -1
- package/dist/server/handlers/system.js +1 -1
- package/dist/server/handlers/workflows.cjs +93 -2
- package/dist/server/handlers/workflows.cjs.map +1 -1
- package/dist/server/handlers/workflows.d.ts +9 -0
- package/dist/server/handlers/workflows.d.ts.map +1 -1
- package/dist/server/handlers/workflows.js +92 -3
- package/dist/server/handlers/workflows.js.map +1 -1
- package/dist/server/handlers.cjs +1 -1
- package/dist/server/handlers.js +1 -1
- package/dist/server/schemas/a2a.d.ts +70 -6
- package/dist/server/schemas/a2a.d.ts.map +1 -1
- package/dist/server/schemas/index.cjs +4 -4
- package/dist/server/schemas/index.js +4 -4
- package/dist/server/schemas/workflows.d.ts +8 -0
- package/dist/server/schemas/workflows.d.ts.map +1 -1
- package/dist/server/server-adapter/index.cjs +42 -1
- package/dist/server/server-adapter/index.cjs.map +1 -1
- package/dist/server/server-adapter/index.d.ts +37 -0
- package/dist/server/server-adapter/index.d.ts.map +1 -1
- package/dist/server/server-adapter/index.js +43 -3
- package/dist/server/server-adapter/index.js.map +1 -1
- package/dist/server/server-adapter/routes/a2a.d.ts +116 -8
- package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/workflows.d.ts +7 -1
- package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -1
- package/dist/{workflows-DPW6FrY0.js → workflows-CMU5dz_4.js} +7 -2
- package/dist/workflows-CMU5dz_4.js.map +1 -0
- package/dist/{workflows-XfiENvkF.cjs → workflows-Dzxr6cmf.cjs} +12 -1
- package/dist/workflows-Dzxr6cmf.cjs.map +1 -0
- package/package.json +6 -6
- package/dist/a2a-CHi9AJ0n.js.map +0 -1
- package/dist/a2a-CnU9zaGR.js.map +0 -1
- package/dist/a2a-D3ZYeXIx.cjs.map +0 -1
- package/dist/a2a-oM7aqLz4.cjs.map +0 -1
- package/dist/dist-DgY0llRv.cjs.map +0 -1
- package/dist/dist-IUXZtNBY.js.map +0 -1
- package/dist/routes-BzR8iVj4.cjs.map +0 -1
- package/dist/workflows-DPW6FrY0.js.map +0 -1
- package/dist/workflows-XfiENvkF.cjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,92 @@
|
|
|
1
1
|
# @mastra/server
|
|
2
2
|
|
|
3
|
+
## 1.58.0-alpha.4
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Added `MastraServer.getFrameworkPublicMatcher()`, which returns a `(path, method) => boolean` matcher built from route metadata (built-in `SERVER_ROUTES` entries with `requiresAuth === false`, plus user-registered custom routes with `requiresAuth: false`). ([#20989](https://github.com/mastra-ai/mastra/pull/20989))
|
|
8
|
+
|
|
9
|
+
Adapters can use it to short-circuit user middleware for routes the framework has declared public, without duplicating any allowlist.
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
const isFrameworkPublic = mastraServer.getFrameworkPublicMatcher();
|
|
13
|
+
|
|
14
|
+
app.use('*', async (c, next) => {
|
|
15
|
+
if (isFrameworkPublic(c.req.path, c.req.method)) {
|
|
16
|
+
return next();
|
|
17
|
+
}
|
|
18
|
+
return userMiddleware(c, next);
|
|
19
|
+
});
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### Patch Changes
|
|
23
|
+
|
|
24
|
+
- Updated dependencies [[`76e5132`](https://github.com/mastra-ai/mastra/commit/76e51328dbc0749c8304e6b3f21e4401f451b081), [`0282e16`](https://github.com/mastra-ai/mastra/commit/0282e16115538c8e9b248b90f0748eb01cb5dc98)]:
|
|
25
|
+
- @mastra/core@1.58.0-alpha.4
|
|
26
|
+
|
|
27
|
+
## 1.58.0-alpha.3
|
|
28
|
+
|
|
29
|
+
### Minor Changes
|
|
30
|
+
|
|
31
|
+
- Added `GET /api/workflows/run-counts` — per-workflow counts of running and suspended (awaiting resume) runs in one request, keyed by the workflow registry key. Counts respect the reserved request-context resource id the runs endpoints already enforce, are filtered per user when FGA is configured, and may be served from a short server-side cache otherwise. ([#18925](https://github.com/mastra-ai/mastra/pull/18925))
|
|
32
|
+
|
|
33
|
+
```json
|
|
34
|
+
// GET /api/workflows/run-counts
|
|
35
|
+
{
|
|
36
|
+
"cityWorkflow": { "running": 2, "suspended": 1 },
|
|
37
|
+
"reportWorkflow": { "running": 0, "suspended": 0 }
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
- Added A2A Protocol v1.0 request handling through the standard A2A routes. Send `A2A-Version: 1.0` to use v1 methods, streaming responses, and task listing while existing requests continue to use v0.3. ([#20811](https://github.com/mastra-ai/mastra/pull/20811))
|
|
42
|
+
|
|
43
|
+
```typescript
|
|
44
|
+
await fetch('/api/a2a/weather-agent', {
|
|
45
|
+
method: 'POST',
|
|
46
|
+
headers: { 'A2A-Version': '1.0' },
|
|
47
|
+
body: JSON.stringify({ jsonrpc: '2.0', id: '1', method: 'tasks/list', params: {} }),
|
|
48
|
+
});
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Patch Changes
|
|
52
|
+
|
|
53
|
+
- Add a reasoning-effort configuration surface across mastracode and Factory (fixes #20766): ([#20884](https://github.com/mastra-ai/mastra/pull/20884))
|
|
54
|
+
|
|
55
|
+
- New `max` thinking level (mapped to `reasoning effort: max` for OpenAI Codex and Anthropic `effort`).
|
|
56
|
+
- Anthropic extended-thinking wiring: the session thinking level now applies to anthropic/claude-opus-4-7 and other Anthropic models via provider thinking/effort options (previously OpenAI-only).
|
|
57
|
+
- New `models.modeThinkingDefaults` setting: per-mode (build/plan/fast) default thinking levels, resolved at request time with precedence session override → mode default → global `preferences.thinkingLevel`. Configuration changes now apply to the next request of every session, including automated Factory runs.
|
|
58
|
+
- Factory: new Settings → Defaults controls for editing global and per-mode thinking defaults in local deployments.
|
|
59
|
+
- TUI: `/think` now sets a session-only override, supports `/think default` to clear it, and `/think status` reports the effective level with provenance (session override / mode default / global default).
|
|
60
|
+
|
|
61
|
+
Example `settings.json` configuration:
|
|
62
|
+
|
|
63
|
+
```json
|
|
64
|
+
{
|
|
65
|
+
"preferences": { "thinkingLevel": "medium" },
|
|
66
|
+
"models": {
|
|
67
|
+
"modeThinkingDefaults": {
|
|
68
|
+
"build": "high",
|
|
69
|
+
"plan": "max",
|
|
70
|
+
"fast": "off"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
- Updated dependencies [[`cdd5c33`](https://github.com/mastra-ai/mastra/commit/cdd5c33ac6c7118a9f139e6dc0e14e6a8ae31658), [`d7cf7fa`](https://github.com/mastra-ai/mastra/commit/d7cf7fafc1ae1b50bd8462dd0e6c671a8606db93), [`0f9a448`](https://github.com/mastra-ai/mastra/commit/0f9a448502157e59f7b76f24360ad497168f5ef8), [`289f4ce`](https://github.com/mastra-ai/mastra/commit/289f4ce16e3293370440172132c52ee787cbc09f), [`4f16ff8`](https://github.com/mastra-ai/mastra/commit/4f16ff824bf2f9b0ddc93f210477c10c8a4fb1ab), [`1c67d85`](https://github.com/mastra-ai/mastra/commit/1c67d85e9da8285662f4dbbf47e0378c3fee0747), [`ba24be6`](https://github.com/mastra-ai/mastra/commit/ba24be662439c331ab23a600041f93803c89eca8), [`842b5fe`](https://github.com/mastra-ai/mastra/commit/842b5fe22b6a7fa811bd14e48eb9af523ac989f2), [`80bdf3a`](https://github.com/mastra-ai/mastra/commit/80bdf3ae16ade6ff63bde0cb16fa2df8ab7dd4dd), [`9ba1247`](https://github.com/mastra-ai/mastra/commit/9ba12470c77f1c03642d720ce67e517e878f666e), [`fd96298`](https://github.com/mastra-ai/mastra/commit/fd96298a8367622f4ebfcaa97b5b6c1fbbd14564), [`6a84954`](https://github.com/mastra-ai/mastra/commit/6a84954a2667f85b6d59da652dab1bbff007ccb0), [`52d8ef0`](https://github.com/mastra-ai/mastra/commit/52d8ef03801f1deb7ee48532fc4190dd4a33916c), [`cdd5c33`](https://github.com/mastra-ai/mastra/commit/cdd5c33ac6c7118a9f139e6dc0e14e6a8ae31658), [`efd5c81`](https://github.com/mastra-ai/mastra/commit/efd5c81cc25fde3c2ddd86fc1178deb4ec176e19), [`0976933`](https://github.com/mastra-ai/mastra/commit/0976933142333ec78451feef265b68bcb45aa5e7), [`242b945`](https://github.com/mastra-ai/mastra/commit/242b94558777bfbdeb42cbfea84afff0b6ad0633), [`fea5cae`](https://github.com/mastra-ai/mastra/commit/fea5caedc7e2cfea51784a15e015952692027abf), [`4b59f78`](https://github.com/mastra-ai/mastra/commit/4b59f786cbc9a7d1ef07a07517dbd4b96865e99d), [`7010c5d`](https://github.com/mastra-ai/mastra/commit/7010c5d15728bf9c5dfe4fb6b1bf80ce23bf143a)]:
|
|
77
|
+
- @mastra/core@1.58.0-alpha.3
|
|
78
|
+
|
|
79
|
+
## 1.58.0-alpha.2
|
|
80
|
+
|
|
81
|
+
### Patch Changes
|
|
82
|
+
|
|
83
|
+
- Fixed agent-controller display-state events losing their tool state over SSE. The display state's Maps (active tools, streaming tool inputs, pending suspensions, active subagents, modified files) serialized to empty objects on the wire; they now arrive as plain records keyed the same way. ([#20805](https://github.com/mastra-ai/mastra/pull/20805))
|
|
84
|
+
|
|
85
|
+
- Catch rejected background Run.resume() and Run.timeTravel() in the workflow /resume and /time-travel routes so they cannot become unhandled rejections and terminate the server process ([#20916](https://github.com/mastra-ai/mastra/pull/20916))
|
|
86
|
+
|
|
87
|
+
- Updated dependencies [[`b4c89b4`](https://github.com/mastra-ai/mastra/commit/b4c89b4371b0c86da57403ad1a3b3ef0681f3128), [`e44e8f3`](https://github.com/mastra-ai/mastra/commit/e44e8f370b66c339ddcaba946d33da6d3c3f06cd), [`c967a5e`](https://github.com/mastra-ai/mastra/commit/c967a5eec150c5dc5418c4a4388982d1fb7ad27c), [`f53d5bd`](https://github.com/mastra-ai/mastra/commit/f53d5bd4885b29e4ac29a428a6044088ea8d6aa3), [`bda2235`](https://github.com/mastra-ai/mastra/commit/bda22353ee28f2df0eaea555f7cae1549f979c0b), [`a7eb4a1`](https://github.com/mastra-ai/mastra/commit/a7eb4a11450f6170274ed5141bffe821d4fdd5a6), [`2f9ef3f`](https://github.com/mastra-ai/mastra/commit/2f9ef3f4ca06fc2dcdd5088c26b7f4da6a016791), [`e7eefcb`](https://github.com/mastra-ai/mastra/commit/e7eefcb162cda7c493e8c3bf43050ead0efbcb2c), [`4d7aca2`](https://github.com/mastra-ai/mastra/commit/4d7aca2fe75f225c83d1502d63079568e6ec163f), [`c4ec889`](https://github.com/mastra-ai/mastra/commit/c4ec889561c0264c43f66d04d587bee4ce35e792), [`9be8878`](https://github.com/mastra-ai/mastra/commit/9be8878dcf0388e84fc4873e0eec27bd49b881a4)]:
|
|
88
|
+
- @mastra/core@1.58.0-alpha.2
|
|
89
|
+
|
|
3
90
|
## 1.58.0-alpha.1
|
|
4
91
|
|
|
5
92
|
### Minor Changes
|
|
@@ -13,7 +13,7 @@ export declare class AnthropicSchemaCompatLayer extends SchemaCompatLayer {
|
|
|
13
13
|
processToJSONSchema(schema: PublicSchema<any>, io?: 'input' | 'output'): JSONSchema7;
|
|
14
14
|
shouldApply(): boolean;
|
|
15
15
|
processZodType(value: ZodType): ZodType;
|
|
16
|
-
processToAISDKSchema(zodSchema: ZodTypeV3 | ZodTypeV4): import("../_types/@internal_ai-sdk-v4/dist/index.d.ts").Schema<
|
|
16
|
+
processToAISDKSchema(zodSchema: ZodTypeV3 | ZodTypeV4): import("../_types/@internal_ai-sdk-v4/dist/index.d.ts").Schema<unknown>;
|
|
17
17
|
processToCompatSchema<T>(schema: PublicSchema<T>): StandardSchemaWithJSON<T>;
|
|
18
18
|
preProcessJSONNode(schema: JSONSchema7): void;
|
|
19
19
|
postProcessJSONNode(schema: JSONSchema7): void;
|
|
@@ -15,8 +15,10 @@ const pushNotificationConfigSchema = z.object({
|
|
|
15
15
|
const messageSendConfigurationSchema = z.object({
|
|
16
16
|
acceptedOutputModes: z.array(z.string()).optional().describe("Accepted output modalities by the client"),
|
|
17
17
|
blocking: z.boolean().optional().describe("If the server should treat the client as a blocking request"),
|
|
18
|
+
returnImmediately: z.boolean().optional().describe("If the v1 server should return before task completion"),
|
|
18
19
|
historyLength: z.number().optional().describe("Number of recent messages to be retrieved"),
|
|
19
|
-
pushNotificationConfig: pushNotificationConfigSchema.optional()
|
|
20
|
+
pushNotificationConfig: pushNotificationConfigSchema.optional(),
|
|
21
|
+
taskPushNotificationConfig: pushNotificationConfigSchema.optional()
|
|
20
22
|
});
|
|
21
23
|
const textPartSchema = z.object({
|
|
22
24
|
kind: z.literal("text").describe("Part type - text for TextParts"),
|
|
@@ -48,11 +50,30 @@ const partSchema = z.union([
|
|
|
48
50
|
filePartSchema,
|
|
49
51
|
dataPartSchema
|
|
50
52
|
]);
|
|
53
|
+
const v1PartSchema = z.object({
|
|
54
|
+
text: z.string().optional(),
|
|
55
|
+
raw: z.string().optional(),
|
|
56
|
+
url: z.string().optional(),
|
|
57
|
+
data: z.unknown().optional(),
|
|
58
|
+
filename: z.string().optional(),
|
|
59
|
+
mediaType: z.string().optional(),
|
|
60
|
+
metadata: z.record(z.string(), z.unknown()).optional()
|
|
61
|
+
}).refine((part) => [
|
|
62
|
+
part.text,
|
|
63
|
+
part.raw,
|
|
64
|
+
part.url,
|
|
65
|
+
part.data
|
|
66
|
+
].filter((value) => value !== void 0).length === 1, { message: "A v1 part must contain exactly one of text, raw, url, or data" });
|
|
51
67
|
const messageSchema = z.object({
|
|
52
|
-
kind: z.literal("message").describe("Event type"),
|
|
68
|
+
kind: z.literal("message").optional().describe("Event type"),
|
|
53
69
|
messageId: z.string().describe("Identifier created by the message creator"),
|
|
54
|
-
role: z.enum([
|
|
55
|
-
|
|
70
|
+
role: z.enum([
|
|
71
|
+
"user",
|
|
72
|
+
"agent",
|
|
73
|
+
"ROLE_USER",
|
|
74
|
+
"ROLE_AGENT"
|
|
75
|
+
]).describe("Message sender's role"),
|
|
76
|
+
parts: z.array(z.union([partSchema, v1PartSchema])).describe("Message content"),
|
|
56
77
|
contextId: z.string().optional().describe("The context the message is associated with"),
|
|
57
78
|
taskId: z.string().optional().describe("Identifier of task the message is related to"),
|
|
58
79
|
referenceTaskIds: z.array(z.string()).optional().describe("List of tasks referenced as context by this message"),
|
|
@@ -73,6 +94,16 @@ const taskIdParamsSchema = z.object({
|
|
|
73
94
|
id: z.string().describe("Task id"),
|
|
74
95
|
metadata: z.record(z.string(), z.unknown()).optional()
|
|
75
96
|
});
|
|
97
|
+
const listTasksParamsSchema = z.object({
|
|
98
|
+
tenant: z.string().optional(),
|
|
99
|
+
contextId: z.string().optional(),
|
|
100
|
+
status: z.union([z.string(), z.number()]).optional(),
|
|
101
|
+
pageSize: z.number().int().min(1).max(100).optional(),
|
|
102
|
+
pageToken: z.string().optional(),
|
|
103
|
+
historyLength: z.number().int().min(0).optional(),
|
|
104
|
+
statusTimestampAfter: z.string().optional(),
|
|
105
|
+
includeArtifacts: z.boolean().optional()
|
|
106
|
+
});
|
|
76
107
|
const taskResubscribeParamsSchema = taskIdParamsSchema;
|
|
77
108
|
const setPushNotificationConfigParamsSchema = z.object({
|
|
78
109
|
taskId: z.string().describe("Task id"),
|
|
@@ -106,6 +137,11 @@ const agentExecutionBodySchema = z.discriminatedUnion("method", [
|
|
|
106
137
|
method: z.literal("tasks/get"),
|
|
107
138
|
params: taskQueryParamsSchema
|
|
108
139
|
}),
|
|
140
|
+
z.object({
|
|
141
|
+
...requestBaseSchema,
|
|
142
|
+
method: z.literal("tasks/list"),
|
|
143
|
+
params: listTasksParamsSchema
|
|
144
|
+
}),
|
|
109
145
|
z.object({
|
|
110
146
|
...requestBaseSchema,
|
|
111
147
|
method: z.literal("tasks/cancel"),
|
|
@@ -180,4 +216,4 @@ const agentExecutionResponseSchema = z.unknown();
|
|
|
180
216
|
//#endregion
|
|
181
217
|
export { agentExecutionResponseSchema as a, taskResponseSchema as c, agentExecutionBodySchema as i, a2aTaskPathParams as n, messageSendBodySchema as o, agentCardResponseSchema as r, taskQueryBodySchema as s, a2aAgentIdPathParams as t };
|
|
182
218
|
|
|
183
|
-
//# sourceMappingURL=a2a-
|
|
219
|
+
//# sourceMappingURL=a2a-8C4O2dVJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a2a-8C4O2dVJ.js","names":[],"sources":["../src/server/schemas/a2a.ts"],"sourcesContent":["import { z } from 'zod/v4';\n\n// Path parameter schemas\nexport const a2aAgentIdPathParams = z.object({\n agentId: z.string().describe('Unique identifier for the agent'),\n});\n\nexport const a2aTaskPathParams = a2aAgentIdPathParams.extend({\n taskId: z.string().describe('Unique identifier for the task'),\n});\n\n// Body schemas for A2A protocol\n\n// Push notification schemas\nconst pushNotificationAuthenticationInfoSchema = z.object({\n schemes: z.array(z.string()).describe('Supported authentication schemes - e.g. Basic, Bearer'),\n credentials: z.string().optional().describe('Optional credentials'),\n});\n\nconst pushNotificationConfigSchema = z.object({\n url: z.string().describe('URL for sending the push notifications'),\n id: z.string().optional().describe('Push Notification ID - created by server to support multiple callbacks'),\n token: z.string().optional().describe('Token unique to this task/session'),\n authentication: pushNotificationAuthenticationInfoSchema.optional(),\n});\n\nconst messageSendConfigurationSchema = z.object({\n acceptedOutputModes: z.array(z.string()).optional().describe('Accepted output modalities by the client'),\n blocking: z.boolean().optional().describe('If the server should treat the client as a blocking request'),\n returnImmediately: z.boolean().optional().describe('If the v1 server should return before task completion'),\n historyLength: z.number().optional().describe('Number of recent messages to be retrieved'),\n pushNotificationConfig: pushNotificationConfigSchema.optional(),\n taskPushNotificationConfig: pushNotificationConfigSchema.optional(),\n});\n\n// Part schemas\nconst textPartSchema = z.object({\n kind: z.literal('text').describe('Part type - text for TextParts'),\n text: z.string().describe('Text content'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Optional metadata associated with the part'),\n});\n\nconst fileWithBytesSchema = z.object({\n bytes: z.string().describe('base64 encoded content of the file'),\n mimeType: z.string().optional().describe('Optional mimeType for the file'),\n name: z.string().optional().describe('Optional name for the file'),\n});\n\nconst fileWithUriSchema = z.object({\n uri: z.string().describe('URL for the File content'),\n mimeType: z.string().optional().describe('Optional mimeType for the file'),\n name: z.string().optional().describe('Optional name for the file'),\n});\n\nconst filePartSchema = z.object({\n kind: z.literal('file').describe('Part type - file for FileParts'),\n file: z.union([fileWithBytesSchema, fileWithUriSchema]).describe('File content either as url or bytes'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Optional metadata associated with the part'),\n});\n\nconst dataPartSchema = z.object({\n kind: z.literal('data').describe('Part type - data for DataParts'),\n data: z.record(z.string(), z.unknown()).describe('Structured data content'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Optional metadata associated with the part'),\n});\n\nconst partSchema = z.union([textPartSchema, filePartSchema, dataPartSchema]);\n\nconst v1PartSchema = z\n .object({\n text: z.string().optional(),\n raw: z.string().optional(),\n url: z.string().optional(),\n data: z.unknown().optional(),\n filename: z.string().optional(),\n mediaType: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n })\n .refine(part => [part.text, part.raw, part.url, part.data].filter(value => value !== undefined).length === 1, {\n message: 'A v1 part must contain exactly one of text, raw, url, or data',\n });\n\n// Message schema\nconst messageSchema = z.object({\n kind: z.literal('message').optional().describe('Event type'),\n messageId: z.string().describe('Identifier created by the message creator'),\n role: z.enum(['user', 'agent', 'ROLE_USER', 'ROLE_AGENT']).describe(\"Message sender's role\"),\n parts: z.array(z.union([partSchema, v1PartSchema])).describe('Message content'),\n contextId: z.string().optional().describe('The context the message is associated with'),\n taskId: z.string().optional().describe('Identifier of task the message is related to'),\n referenceTaskIds: z.array(z.string()).optional().describe('List of tasks referenced as context by this message'),\n extensions: z\n .array(z.string())\n .optional()\n .describe('The URIs of extensions that are present or contributed to this Message'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Extension metadata'),\n});\n\n// MessageSendParams schema\nconst messageSendParamsSchema = z.object({\n message: messageSchema,\n configuration: messageSendConfigurationSchema.optional(),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Extension metadata'),\n});\n\n// TaskQueryParams schema\nconst taskQueryParamsSchema = z.object({\n id: z.string().describe('Task id'),\n historyLength: z.number().optional().describe('Number of recent messages to be retrieved'),\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\n// TaskIdParams schema\nconst taskIdParamsSchema = z.object({\n id: z.string().describe('Task id'),\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst listTasksParamsSchema = z.object({\n tenant: z.string().optional(),\n contextId: z.string().optional(),\n status: z.union([z.string(), z.number()]).optional(),\n pageSize: z.number().int().min(1).max(100).optional(),\n pageToken: z.string().optional(),\n historyLength: z.number().int().min(0).optional(),\n statusTimestampAfter: z.string().optional(),\n includeArtifacts: z.boolean().optional(),\n});\n\nexport const taskResubscribeParamsSchema = taskIdParamsSchema;\n\nexport const setPushNotificationConfigParamsSchema = z.object({\n taskId: z.string().describe('Task id'),\n pushNotificationConfig: pushNotificationConfigSchema,\n});\n\nconst getPushNotificationConfigParamsSchema = taskIdParamsSchema.extend({\n pushNotificationConfigId: z.string().optional().describe('Push notification config id'),\n});\n\nexport const listPushNotificationConfigParamsSchema = taskIdParamsSchema;\n\nexport const deletePushNotificationConfigParamsSchema = taskIdParamsSchema.extend({\n pushNotificationConfigId: z.string().describe('Push notification config id'),\n});\n\n// Legacy schema for backwards compatibility\nexport const messageSendBodySchema = z.object({\n message: messageSchema,\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\nexport const taskQueryBodySchema = z.object({\n id: z.string(),\n});\n\nconst requestBaseSchema = {\n jsonrpc: z.literal('2.0'),\n id: z.union([z.string(), z.number()]),\n} as const;\n\nexport const agentExecutionBodySchema = z.discriminatedUnion('method', [\n z.object({\n ...requestBaseSchema,\n method: z.literal('message/send'),\n params: messageSendParamsSchema,\n }),\n z.object({\n ...requestBaseSchema,\n method: z.literal('message/stream'),\n params: messageSendParamsSchema,\n }),\n z.object({\n ...requestBaseSchema,\n method: z.literal('tasks/get'),\n params: taskQueryParamsSchema,\n }),\n z.object({\n ...requestBaseSchema,\n method: z.literal('tasks/list'),\n params: listTasksParamsSchema,\n }),\n z.object({\n ...requestBaseSchema,\n method: z.literal('tasks/cancel'),\n params: taskIdParamsSchema,\n }),\n z.object({\n ...requestBaseSchema,\n method: z.literal('tasks/resubscribe'),\n params: taskResubscribeParamsSchema,\n }),\n z.object({\n ...requestBaseSchema,\n method: z.literal('tasks/pushNotificationConfig/set'),\n params: setPushNotificationConfigParamsSchema,\n }),\n z.object({\n ...requestBaseSchema,\n method: z.literal('tasks/pushNotificationConfig/get'),\n params: getPushNotificationConfigParamsSchema,\n }),\n z.object({\n ...requestBaseSchema,\n method: z.literal('tasks/pushNotificationConfig/list'),\n params: listPushNotificationConfigParamsSchema,\n }),\n z.object({\n ...requestBaseSchema,\n method: z.literal('tasks/pushNotificationConfig/delete'),\n params: deletePushNotificationConfigParamsSchema,\n }),\n z.object({\n ...requestBaseSchema,\n method: z.literal('agent/getAuthenticatedExtendedCard'),\n }),\n]);\n\n// Response schemas\nexport const agentCardResponseSchema = z.object({\n additionalInterfaces: z.array(z.unknown()).optional(),\n name: z.string(),\n description: z.string(),\n url: z.string(),\n protocolVersion: z.string(),\n provider: z\n .object({\n organization: z.string(),\n url: z.string(),\n })\n .optional(),\n security: z.array(z.record(z.string(), z.array(z.string()))).optional(),\n securitySchemes: z.record(z.string(), z.unknown()).optional(),\n version: z.string(),\n capabilities: z.object({\n extensions: z.array(z.unknown()).optional(),\n streaming: z.boolean().optional(),\n pushNotifications: z.boolean().optional(),\n stateTransitionHistory: z.boolean().optional(),\n }),\n defaultInputModes: z.array(z.string()),\n defaultOutputModes: z.array(z.string()),\n supportsAuthenticatedExtendedCard: z.boolean().optional(),\n signatures: z\n .array(\n z.object({\n protected: z.string(),\n signature: z.string(),\n header: z.record(z.string(), z.unknown()).optional(),\n }),\n )\n .optional(),\n skills: z.array(\n z.object({\n id: z.string(),\n name: z.string(),\n description: z.string(),\n tags: z.array(z.string()).optional(),\n }),\n ),\n});\n\nexport const taskResponseSchema = z.unknown(); // Complex task state structure\n\nexport const agentExecutionResponseSchema = z.unknown(); // JSON-RPC response\n"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ const require_route_builder = require("./route-builder-CgLVYL1c.cjs");
|
|
|
3
3
|
const require_utils = require("./utils-wESuBh27.cjs");
|
|
4
4
|
const require_server_handlers_agents = require("./server/handlers/agents.cjs");
|
|
5
5
|
const require_server_a2a_store = require("./server/a2a/store.cjs");
|
|
6
|
-
const require_a2a = require("./a2a-
|
|
6
|
+
const require_a2a = require("./a2a-MPoM5lzS.cjs");
|
|
7
7
|
const require_server_handlers_auth = require("./server/handlers/auth.cjs");
|
|
8
8
|
let zod_v4 = require("zod/v4");
|
|
9
9
|
let util = require("util");
|
|
@@ -423,7 +423,9 @@ var a2a_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll({
|
|
|
423
423
|
handleSetTaskPushNotificationConfig: () => handleSetTaskPushNotificationConfig,
|
|
424
424
|
handleTaskCancel: () => handleTaskCancel,
|
|
425
425
|
handleTaskGet: () => handleTaskGet,
|
|
426
|
-
|
|
426
|
+
handleTaskList: () => handleTaskList,
|
|
427
|
+
handleTaskResubscribe: () => handleTaskResubscribe,
|
|
428
|
+
resolveA2AProtocolVersion: () => resolveA2AProtocolVersion
|
|
427
429
|
});
|
|
428
430
|
const messagePartSchema = zod_v4.z.discriminatedUnion("kind", [
|
|
429
431
|
zod_v4.z.object({
|
|
@@ -465,6 +467,7 @@ const messageSendParamsSchema = zod_v4.z.object({
|
|
|
465
467
|
configuration: zod_v4.z.object({
|
|
466
468
|
acceptedOutputModes: zod_v4.z.array(zod_v4.z.string()).optional(),
|
|
467
469
|
blocking: zod_v4.z.boolean().optional(),
|
|
470
|
+
returnImmediately: zod_v4.z.boolean().optional(),
|
|
468
471
|
historyLength: zod_v4.z.number().optional(),
|
|
469
472
|
pushNotificationConfig: zod_v4.z.object({
|
|
470
473
|
url: zod_v4.z.string(),
|
|
@@ -479,6 +482,159 @@ const messageSendParamsSchema = zod_v4.z.object({
|
|
|
479
482
|
});
|
|
480
483
|
const defaultPushNotificationStore = new InMemoryPushNotificationStore();
|
|
481
484
|
const defaultPushNotificationSender = new DefaultPushNotificationSender(defaultPushNotificationStore);
|
|
485
|
+
const V1_TASK_STATES = {
|
|
486
|
+
submitted: "TASK_STATE_SUBMITTED",
|
|
487
|
+
working: "TASK_STATE_WORKING",
|
|
488
|
+
completed: "TASK_STATE_COMPLETED",
|
|
489
|
+
failed: "TASK_STATE_FAILED",
|
|
490
|
+
canceled: "TASK_STATE_CANCELED",
|
|
491
|
+
"input-required": "TASK_STATE_INPUT_REQUIRED",
|
|
492
|
+
rejected: "TASK_STATE_REJECTED",
|
|
493
|
+
"auth-required": "TASK_STATE_AUTH_REQUIRED"
|
|
494
|
+
};
|
|
495
|
+
function normalizeV1Part(part) {
|
|
496
|
+
if ("text" in part) return {
|
|
497
|
+
kind: "text",
|
|
498
|
+
text: part.text,
|
|
499
|
+
metadata: part.metadata
|
|
500
|
+
};
|
|
501
|
+
if ("raw" in part) return {
|
|
502
|
+
kind: "file",
|
|
503
|
+
file: {
|
|
504
|
+
bytes: part.raw,
|
|
505
|
+
mimeType: part.mediaType,
|
|
506
|
+
name: part.filename
|
|
507
|
+
},
|
|
508
|
+
metadata: part.metadata
|
|
509
|
+
};
|
|
510
|
+
if ("url" in part) return {
|
|
511
|
+
kind: "file",
|
|
512
|
+
file: {
|
|
513
|
+
uri: part.url,
|
|
514
|
+
mimeType: part.mediaType,
|
|
515
|
+
name: part.filename
|
|
516
|
+
},
|
|
517
|
+
metadata: part.metadata
|
|
518
|
+
};
|
|
519
|
+
return {
|
|
520
|
+
kind: "data",
|
|
521
|
+
data: part.data,
|
|
522
|
+
metadata: part.metadata
|
|
523
|
+
};
|
|
524
|
+
}
|
|
525
|
+
function normalizeV1Params(params) {
|
|
526
|
+
if (!params?.message) return params;
|
|
527
|
+
const configuration = params.configuration;
|
|
528
|
+
return {
|
|
529
|
+
...params,
|
|
530
|
+
message: {
|
|
531
|
+
...params.message,
|
|
532
|
+
kind: "message",
|
|
533
|
+
role: params.message.role === "ROLE_AGENT" ? "agent" : "user",
|
|
534
|
+
parts: params.message.parts.map((part) => normalizeV1Part(part))
|
|
535
|
+
},
|
|
536
|
+
configuration: configuration ? {
|
|
537
|
+
...configuration,
|
|
538
|
+
blocking: configuration.returnImmediately === void 0 ? void 0 : !configuration.returnImmediately,
|
|
539
|
+
pushNotificationConfig: configuration.taskPushNotificationConfig
|
|
540
|
+
} : void 0
|
|
541
|
+
};
|
|
542
|
+
}
|
|
543
|
+
function toV1Part(part) {
|
|
544
|
+
if (part.kind === "text") return {
|
|
545
|
+
text: part.text,
|
|
546
|
+
metadata: part.metadata
|
|
547
|
+
};
|
|
548
|
+
if (part.kind === "file") return "uri" in part.file ? {
|
|
549
|
+
url: part.file.uri,
|
|
550
|
+
filename: part.file.name,
|
|
551
|
+
mediaType: part.file.mimeType,
|
|
552
|
+
metadata: part.metadata
|
|
553
|
+
} : {
|
|
554
|
+
raw: part.file.bytes,
|
|
555
|
+
filename: part.file.name,
|
|
556
|
+
mediaType: part.file.mimeType,
|
|
557
|
+
metadata: part.metadata
|
|
558
|
+
};
|
|
559
|
+
return {
|
|
560
|
+
data: part.data,
|
|
561
|
+
metadata: part.metadata
|
|
562
|
+
};
|
|
563
|
+
}
|
|
564
|
+
function toV1Message(message) {
|
|
565
|
+
if (!message) return void 0;
|
|
566
|
+
return {
|
|
567
|
+
messageId: message.messageId,
|
|
568
|
+
contextId: message.contextId,
|
|
569
|
+
taskId: message.taskId,
|
|
570
|
+
role: message.role === "agent" ? "ROLE_AGENT" : "ROLE_USER",
|
|
571
|
+
parts: message.parts?.map(toV1Part),
|
|
572
|
+
metadata: message.metadata,
|
|
573
|
+
extensions: message.extensions,
|
|
574
|
+
referenceTaskIds: message.referenceTaskIds
|
|
575
|
+
};
|
|
576
|
+
}
|
|
577
|
+
function toV1Task(task, { includeArtifacts = true, historyLength } = {}) {
|
|
578
|
+
return {
|
|
579
|
+
id: task.id,
|
|
580
|
+
contextId: task.contextId,
|
|
581
|
+
status: {
|
|
582
|
+
state: V1_TASK_STATES[task.status.state] ?? "TASK_STATE_UNSPECIFIED",
|
|
583
|
+
message: toV1Message(task.status.message),
|
|
584
|
+
timestamp: task.status.timestamp
|
|
585
|
+
},
|
|
586
|
+
artifacts: includeArtifacts ? task.artifacts?.map((artifact) => ({
|
|
587
|
+
artifactId: artifact.artifactId,
|
|
588
|
+
name: artifact.name,
|
|
589
|
+
description: artifact.description,
|
|
590
|
+
parts: artifact.parts?.map(toV1Part),
|
|
591
|
+
metadata: artifact.metadata,
|
|
592
|
+
extensions: artifact.extensions
|
|
593
|
+
})) : void 0,
|
|
594
|
+
history: task.history?.slice(historyLength === void 0 ? 0 : -historyLength).map(toV1Message),
|
|
595
|
+
metadata: task.metadata
|
|
596
|
+
};
|
|
597
|
+
}
|
|
598
|
+
function toV1Result(result, method) {
|
|
599
|
+
if (method === "message/send") return result?.kind === "message" ? { message: toV1Message(result) } : { task: toV1Task(result) };
|
|
600
|
+
if (method === "message/stream" || method === "tasks/resubscribe") {
|
|
601
|
+
if (result?.kind === "status-update") return { statusUpdate: {
|
|
602
|
+
taskId: result.taskId,
|
|
603
|
+
contextId: result.contextId,
|
|
604
|
+
status: {
|
|
605
|
+
state: V1_TASK_STATES[result.status.state] ?? "TASK_STATE_UNSPECIFIED",
|
|
606
|
+
message: toV1Message(result.status.message),
|
|
607
|
+
timestamp: result.status.timestamp
|
|
608
|
+
},
|
|
609
|
+
final: result.final,
|
|
610
|
+
metadata: result.metadata
|
|
611
|
+
} };
|
|
612
|
+
if (result?.kind === "artifact-update") return { artifactUpdate: {
|
|
613
|
+
taskId: result.taskId,
|
|
614
|
+
contextId: result.contextId,
|
|
615
|
+
artifact: {
|
|
616
|
+
...result.artifact,
|
|
617
|
+
parts: result.artifact.parts?.map(toV1Part)
|
|
618
|
+
},
|
|
619
|
+
append: result.append,
|
|
620
|
+
lastChunk: result.lastChunk,
|
|
621
|
+
metadata: result.metadata
|
|
622
|
+
} };
|
|
623
|
+
return result?.kind === "message" ? { message: toV1Message(result) } : { task: toV1Task(result) };
|
|
624
|
+
}
|
|
625
|
+
if (method === "tasks/get" || method === "tasks/cancel") return toV1Task(result);
|
|
626
|
+
return result;
|
|
627
|
+
}
|
|
628
|
+
function convertV1Response(response, method) {
|
|
629
|
+
if (!response || !("result" in response)) return response;
|
|
630
|
+
return {
|
|
631
|
+
...response,
|
|
632
|
+
result: toV1Result(response.result, method)
|
|
633
|
+
};
|
|
634
|
+
}
|
|
635
|
+
async function* convertV1Stream(stream, method) {
|
|
636
|
+
for await (const response of stream) yield convertV1Response(response, method);
|
|
637
|
+
}
|
|
482
638
|
function createAgentCardDefaults({ pushNotifications = false } = {}) {
|
|
483
639
|
return {
|
|
484
640
|
protocolVersion: "0.3.0",
|
|
@@ -1098,6 +1254,25 @@ async function handleTaskGet({ requestId, taskStore, agentId, taskId }) {
|
|
|
1098
1254
|
if (!task) throw _mastra_core_a2a.MastraA2AError.taskNotFound(taskId);
|
|
1099
1255
|
return createSuccessResponse(requestId, task);
|
|
1100
1256
|
}
|
|
1257
|
+
function handleTaskList({ requestId, taskStore, agentId, params }) {
|
|
1258
|
+
const requestedPageSize = params.pageSize ?? 50;
|
|
1259
|
+
const offset = params.pageToken ? Number.parseInt(params.pageToken, 10) : 0;
|
|
1260
|
+
const start = Number.isFinite(offset) && offset >= 0 ? offset : 0;
|
|
1261
|
+
const status = typeof params.status === "string" ? params.status.replace(/^TASK_STATE_/, "").toLowerCase().replaceAll("_", "-") : void 0;
|
|
1262
|
+
const timestampAfter = params.statusTimestampAfter ? Date.parse(params.statusTimestampAfter) : void 0;
|
|
1263
|
+
const matchingTasks = taskStore.list({ agentId }).filter((task) => !params.contextId || task.contextId === params.contextId).filter((task) => !status || task.status.state === status).filter((task) => !timestampAfter || task.status.timestamp !== void 0 && Date.parse(task.status.timestamp) >= timestampAfter);
|
|
1264
|
+
const tasks = matchingTasks.slice(start, start + requestedPageSize).map((task) => toV1Task(task, {
|
|
1265
|
+
includeArtifacts: params.includeArtifacts ?? false,
|
|
1266
|
+
historyLength: params.historyLength
|
|
1267
|
+
}));
|
|
1268
|
+
const nextOffset = start + tasks.length;
|
|
1269
|
+
return createSuccessResponse(requestId, {
|
|
1270
|
+
tasks,
|
|
1271
|
+
nextPageToken: nextOffset < matchingTasks.length ? String(nextOffset) : "",
|
|
1272
|
+
pageSize: requestedPageSize,
|
|
1273
|
+
totalSize: matchingTasks.length
|
|
1274
|
+
});
|
|
1275
|
+
}
|
|
1101
1276
|
async function loadTaskOrThrow({ taskStore, agentId, taskId }) {
|
|
1102
1277
|
const task = await taskStore.load({
|
|
1103
1278
|
agentId,
|
|
@@ -1615,63 +1790,87 @@ async function handleTaskCancel({ requestId, taskStore, pushNotificationSender,
|
|
|
1615
1790
|
}
|
|
1616
1791
|
throw _mastra_core_a2a.MastraA2AError.invalidRequest(`Task ${taskId} was updated concurrently. Retry the request.`);
|
|
1617
1792
|
}
|
|
1618
|
-
async function getAgentExecutionHandler({ requestId, mastra, agentId, requestContext, method, params, taskStore, pushNotificationStore, pushNotificationSender, logger, abortSignal }) {
|
|
1793
|
+
async function getAgentExecutionHandler({ requestId, mastra, agentId, requestContext, method, params, taskStore, pushNotificationStore, pushNotificationSender, logger, abortSignal, protocolVersion = "0.3" }) {
|
|
1619
1794
|
const agent = await require_server_handlers_agents.getAgentFromSystem({
|
|
1620
1795
|
mastra,
|
|
1621
1796
|
agentId
|
|
1622
1797
|
});
|
|
1798
|
+
const protocolParams = protocolVersion === "1.0" ? normalizeV1Params(params) : params;
|
|
1623
1799
|
const { pushNotificationStore: resolvedPushNotificationStore, pushNotificationSender: resolvedPushNotificationSender } = resolvePushNotificationPair({
|
|
1624
1800
|
pushNotificationStore,
|
|
1625
1801
|
pushNotificationSender
|
|
1626
1802
|
});
|
|
1627
1803
|
let taskId;
|
|
1628
1804
|
try {
|
|
1629
|
-
taskId = getTaskIdFromParams(
|
|
1805
|
+
taskId = getTaskIdFromParams(protocolParams);
|
|
1630
1806
|
switch (method) {
|
|
1631
|
-
case "message/send":
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
}
|
|
1660
|
-
case "tasks/
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1807
|
+
case "message/send": {
|
|
1808
|
+
const result = await handleMessageSend({
|
|
1809
|
+
requestId,
|
|
1810
|
+
params: protocolParams,
|
|
1811
|
+
taskStore,
|
|
1812
|
+
pushNotificationStore: resolvedPushNotificationStore,
|
|
1813
|
+
pushNotificationSender: resolvedPushNotificationSender,
|
|
1814
|
+
agent,
|
|
1815
|
+
agentId,
|
|
1816
|
+
logger,
|
|
1817
|
+
requestContext
|
|
1818
|
+
});
|
|
1819
|
+
return protocolVersion === "1.0" ? convertV1Response(result, method) : result;
|
|
1820
|
+
}
|
|
1821
|
+
case "message/stream": {
|
|
1822
|
+
const result = await handleMessageStream({
|
|
1823
|
+
requestId,
|
|
1824
|
+
taskStore,
|
|
1825
|
+
params: protocolParams,
|
|
1826
|
+
pushNotificationStore: resolvedPushNotificationStore,
|
|
1827
|
+
pushNotificationSender: resolvedPushNotificationSender,
|
|
1828
|
+
agent,
|
|
1829
|
+
agentId,
|
|
1830
|
+
logger,
|
|
1831
|
+
requestContext,
|
|
1832
|
+
abortSignal
|
|
1833
|
+
});
|
|
1834
|
+
return protocolVersion === "1.0" ? convertV1Stream(result, method) : result;
|
|
1835
|
+
}
|
|
1836
|
+
case "tasks/get": {
|
|
1837
|
+
const result = await handleTaskGet({
|
|
1838
|
+
requestId,
|
|
1839
|
+
taskStore,
|
|
1840
|
+
agentId,
|
|
1841
|
+
taskId: taskId || "No task ID provided"
|
|
1842
|
+
});
|
|
1843
|
+
return protocolVersion === "1.0" ? convertV1Response(result, method) : result;
|
|
1844
|
+
}
|
|
1845
|
+
case "tasks/list":
|
|
1846
|
+
if (protocolVersion !== "1.0") throw _mastra_core_a2a.MastraA2AError.methodNotFound(method);
|
|
1847
|
+
return handleTaskList({
|
|
1848
|
+
requestId,
|
|
1849
|
+
taskStore,
|
|
1850
|
+
agentId,
|
|
1851
|
+
params: protocolParams ?? {}
|
|
1852
|
+
});
|
|
1853
|
+
case "tasks/cancel": {
|
|
1854
|
+
const result = await handleTaskCancel({
|
|
1855
|
+
requestId,
|
|
1856
|
+
taskStore,
|
|
1857
|
+
pushNotificationSender: resolvedPushNotificationSender,
|
|
1858
|
+
agentId,
|
|
1859
|
+
taskId: taskId || "No task ID provided",
|
|
1860
|
+
logger
|
|
1861
|
+
});
|
|
1862
|
+
return protocolVersion === "1.0" ? convertV1Response(result, method) : result;
|
|
1863
|
+
}
|
|
1864
|
+
case "tasks/resubscribe": {
|
|
1865
|
+
const result = handleTaskResubscribe({
|
|
1866
|
+
requestId,
|
|
1867
|
+
taskStore,
|
|
1868
|
+
agentId,
|
|
1869
|
+
taskId: taskId || "No task ID provided",
|
|
1870
|
+
abortSignal
|
|
1871
|
+
});
|
|
1872
|
+
return protocolVersion === "1.0" ? convertV1Stream(result, method) : result;
|
|
1873
|
+
}
|
|
1675
1874
|
case "tasks/pushNotificationConfig/set": return await handleSetTaskPushNotificationConfig({
|
|
1676
1875
|
requestId,
|
|
1677
1876
|
taskStore,
|
|
@@ -1708,6 +1907,12 @@ async function getAgentExecutionHandler({ requestId, mastra, agentId, requestCon
|
|
|
1708
1907
|
return normalizeError(error, requestId, taskId, logger);
|
|
1709
1908
|
}
|
|
1710
1909
|
}
|
|
1910
|
+
function resolveA2AProtocolVersion(request) {
|
|
1911
|
+
const version = request?.headers.get("A2A-Version")?.trim();
|
|
1912
|
+
if (!version || version === "0.3") return "0.3";
|
|
1913
|
+
if (version === "1.0") return "1.0";
|
|
1914
|
+
throw _mastra_core_a2a.MastraA2AError.versionNotSupported(version);
|
|
1915
|
+
}
|
|
1711
1916
|
const GET_AGENT_CARD_ROUTE = require_route_builder.createRoute({
|
|
1712
1917
|
method: "GET",
|
|
1713
1918
|
path: "/.well-known/:agentId/agent-card.json",
|
|
@@ -1744,17 +1949,25 @@ const AGENT_EXECUTION_ROUTE = require_route_builder.createRoute({
|
|
|
1744
1949
|
description: "Executes an agent action via JSON-RPC 2.0 over A2A protocol",
|
|
1745
1950
|
tags: ["Agent-to-Agent"],
|
|
1746
1951
|
requiresAuth: true,
|
|
1747
|
-
handler: async ({ mastra, agentId, requestContext, taskStore, abortSignal, ...bodyParams }) => {
|
|
1952
|
+
handler: async ({ mastra, agentId, requestContext, taskStore, abortSignal, request, ...bodyParams }) => {
|
|
1748
1953
|
const { id: requestId, method } = bodyParams;
|
|
1954
|
+
const params = "params" in bodyParams ? bodyParams.params : void 0;
|
|
1955
|
+
let protocolVersion;
|
|
1956
|
+
try {
|
|
1957
|
+
protocolVersion = resolveA2AProtocolVersion(request);
|
|
1958
|
+
} catch (error) {
|
|
1959
|
+
return createA2AJsonResponse(normalizeError(error, requestId));
|
|
1960
|
+
}
|
|
1749
1961
|
const result = await getAgentExecutionHandler({
|
|
1750
1962
|
requestId,
|
|
1751
1963
|
mastra,
|
|
1752
1964
|
agentId,
|
|
1753
1965
|
requestContext,
|
|
1754
1966
|
method,
|
|
1755
|
-
params
|
|
1967
|
+
params,
|
|
1756
1968
|
taskStore,
|
|
1757
|
-
abortSignal
|
|
1969
|
+
abortSignal,
|
|
1970
|
+
protocolVersion
|
|
1758
1971
|
});
|
|
1759
1972
|
if (method === "message/stream" || method === "tasks/resubscribe") return createA2ASSEResponse(result);
|
|
1760
1973
|
return createA2AJsonResponse(result);
|
|
@@ -1839,11 +2052,23 @@ Object.defineProperty(exports, "handleTaskGet", {
|
|
|
1839
2052
|
return handleTaskGet;
|
|
1840
2053
|
}
|
|
1841
2054
|
});
|
|
2055
|
+
Object.defineProperty(exports, "handleTaskList", {
|
|
2056
|
+
enumerable: true,
|
|
2057
|
+
get: function() {
|
|
2058
|
+
return handleTaskList;
|
|
2059
|
+
}
|
|
2060
|
+
});
|
|
1842
2061
|
Object.defineProperty(exports, "handleTaskResubscribe", {
|
|
1843
2062
|
enumerable: true,
|
|
1844
2063
|
get: function() {
|
|
1845
2064
|
return handleTaskResubscribe;
|
|
1846
2065
|
}
|
|
1847
2066
|
});
|
|
2067
|
+
Object.defineProperty(exports, "resolveA2AProtocolVersion", {
|
|
2068
|
+
enumerable: true,
|
|
2069
|
+
get: function() {
|
|
2070
|
+
return resolveA2AProtocolVersion;
|
|
2071
|
+
}
|
|
2072
|
+
});
|
|
1848
2073
|
|
|
1849
|
-
//# sourceMappingURL=a2a-
|
|
2074
|
+
//# sourceMappingURL=a2a-B6YkZ2i9.cjs.map
|