@mastra/server 1.58.0-alpha.0 → 1.58.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/CHANGELOG.md +119 -0
  2. package/dist/_types/@mastra_schema-compat/dist/provider-compats/anthropic.d.ts +1 -1
  3. package/dist/{a2a-CnU9zaGR.js → a2a-8C4O2dVJ.js} +41 -5
  4. package/dist/a2a-8C4O2dVJ.js.map +1 -0
  5. package/dist/{a2a-DKnwIgiw.cjs → a2a-B6YkZ2i9.cjs} +872 -227
  6. package/dist/a2a-B6YkZ2i9.cjs.map +1 -0
  7. package/dist/{a2a-oM7aqLz4.cjs → a2a-MPoM5lzS.cjs} +41 -5
  8. package/dist/a2a-MPoM5lzS.cjs.map +1 -0
  9. package/dist/{a2a-uPi5sPwb.js → a2a-_D2EA4oa.js} +861 -228
  10. package/dist/a2a-_D2EA4oa.js.map +1 -0
  11. package/dist/{agent-builder-BDYN3r89.cjs → agent-builder-DAiJH1u2.cjs} +2 -2
  12. package/dist/{agent-builder-BDYN3r89.cjs.map → agent-builder-DAiJH1u2.cjs.map} +1 -1
  13. package/dist/{agent-builder-Dqy_qumV.js → agent-builder-gGFywDVq.js} +2 -2
  14. package/dist/{agent-builder-Dqy_qumV.js.map → agent-builder-gGFywDVq.js.map} +1 -1
  15. package/dist/{api-schema-manifest-7-NC9Dyc.cjs → api-schema-manifest-B3bC-D98.cjs} +2 -2
  16. package/dist/{api-schema-manifest-7-NC9Dyc.cjs.map → api-schema-manifest-B3bC-D98.cjs.map} +1 -1
  17. package/dist/{api-schema-manifest-C5hpdIE_.js → api-schema-manifest-B4J_QYOr.js} +2 -2
  18. package/dist/{api-schema-manifest-C5hpdIE_.js.map → api-schema-manifest-B4J_QYOr.js.map} +1 -1
  19. package/dist/{datasets-Cvix7Rms.cjs → datasets-BMeFvFwT.cjs} +43 -1
  20. package/dist/datasets-BMeFvFwT.cjs.map +1 -0
  21. package/dist/{datasets-dhXnHLAL.js → datasets-BeBH9Seg.js} +38 -2
  22. package/dist/datasets-BeBH9Seg.js.map +1 -0
  23. package/dist/{dist-DGqlUp0b.js → dist-BKRMiJcn.js} +215 -74
  24. package/dist/dist-BKRMiJcn.js.map +1 -0
  25. package/dist/{dist-COHIL6fR.cjs → dist-C2-SedDQ.cjs} +215 -74
  26. package/dist/dist-C2-SedDQ.cjs.map +1 -0
  27. package/dist/docs/SKILL.md +1 -1
  28. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  29. package/dist/docs/references/docs-agents-a2a.md +75 -2
  30. package/dist/docs/references/reference-server-routes.md +25 -11
  31. package/dist/route-builder-CIk5k35M.js.map +1 -1
  32. package/dist/route-builder-CgLVYL1c.cjs.map +1 -1
  33. package/dist/{routes-hSY4wTeS.cjs → routes-CZwPlO3-.cjs} +3 -2
  34. package/dist/routes-CZwPlO3-.cjs.map +1 -0
  35. package/dist/{routes-CRoTKPvQ.js → routes-HUaCyUb7.js} +4 -3
  36. package/dist/{routes-CRoTKPvQ.js.map → routes-HUaCyUb7.js.map} +1 -1
  37. package/dist/server/a2a/store.cjs +30 -2
  38. package/dist/server/a2a/store.cjs.map +1 -1
  39. package/dist/server/a2a/store.d.ts +21 -2
  40. package/dist/server/a2a/store.d.ts.map +1 -1
  41. package/dist/server/a2a/store.js +30 -3
  42. package/dist/server/a2a/store.js.map +1 -1
  43. package/dist/server/a2a/task-state.d.ts +4 -0
  44. package/dist/server/a2a/task-state.d.ts.map +1 -0
  45. package/dist/server/a2a/tasks.d.ts +1 -1
  46. package/dist/server/a2a/tasks.d.ts.map +1 -1
  47. package/dist/server/handlers/a2a.cjs +3 -1
  48. package/dist/server/handlers/a2a.d.ts +155 -12
  49. package/dist/server/handlers/a2a.d.ts.map +1 -1
  50. package/dist/server/handlers/a2a.js +2 -2
  51. package/dist/server/handlers/agent-builder.cjs +3 -3
  52. package/dist/server/handlers/agent-builder.js +3 -3
  53. package/dist/server/handlers/agent-controller.cjs +25 -6
  54. package/dist/server/handlers/agent-controller.cjs.map +1 -1
  55. package/dist/server/handlers/agent-controller.d.ts +4 -3
  56. package/dist/server/handlers/agent-controller.d.ts.map +1 -1
  57. package/dist/server/handlers/agent-controller.js +25 -6
  58. package/dist/server/handlers/agent-controller.js.map +1 -1
  59. package/dist/server/handlers/agent-versions.cjs +6 -0
  60. package/dist/server/handlers/agent-versions.cjs.map +1 -1
  61. package/dist/server/handlers/agent-versions.d.ts.map +1 -1
  62. package/dist/server/handlers/agent-versions.js +6 -0
  63. package/dist/server/handlers/agent-versions.js.map +1 -1
  64. package/dist/server/handlers/datasets.cjs +26 -11
  65. package/dist/server/handlers/datasets.cjs.map +1 -1
  66. package/dist/server/handlers/datasets.d.ts +136 -0
  67. package/dist/server/handlers/datasets.d.ts.map +1 -1
  68. package/dist/server/handlers/datasets.js +26 -11
  69. package/dist/server/handlers/datasets.js.map +1 -1
  70. package/dist/server/handlers/observability.cjs +20 -9
  71. package/dist/server/handlers/observability.cjs.map +1 -1
  72. package/dist/server/handlers/observability.d.ts.map +1 -1
  73. package/dist/server/handlers/observability.js +20 -9
  74. package/dist/server/handlers/observability.js.map +1 -1
  75. package/dist/server/handlers/stored-agents.cjs +16 -1
  76. package/dist/server/handlers/stored-agents.cjs.map +1 -1
  77. package/dist/server/handlers/stored-agents.d.ts.map +1 -1
  78. package/dist/server/handlers/stored-agents.js +16 -1
  79. package/dist/server/handlers/stored-agents.js.map +1 -1
  80. package/dist/server/handlers/system.cjs +1 -1
  81. package/dist/server/handlers/system.js +1 -1
  82. package/dist/server/handlers/validate-agent-instructions.cjs +52 -0
  83. package/dist/server/handlers/validate-agent-instructions.cjs.map +1 -0
  84. package/dist/server/handlers/validate-agent-instructions.d.ts +13 -0
  85. package/dist/server/handlers/validate-agent-instructions.d.ts.map +1 -0
  86. package/dist/server/handlers/validate-agent-instructions.js +51 -0
  87. package/dist/server/handlers/validate-agent-instructions.js.map +1 -0
  88. package/dist/server/handlers/workflows.cjs +105 -2
  89. package/dist/server/handlers/workflows.cjs.map +1 -1
  90. package/dist/server/handlers/workflows.d.ts +9 -0
  91. package/dist/server/handlers/workflows.d.ts.map +1 -1
  92. package/dist/server/handlers/workflows.js +104 -3
  93. package/dist/server/handlers/workflows.js.map +1 -1
  94. package/dist/server/handlers.cjs +1 -1
  95. package/dist/server/handlers.js +1 -1
  96. package/dist/server/schemas/a2a.d.ts +70 -6
  97. package/dist/server/schemas/a2a.d.ts.map +1 -1
  98. package/dist/server/schemas/datasets.d.ts +53 -0
  99. package/dist/server/schemas/datasets.d.ts.map +1 -1
  100. package/dist/server/schemas/index.cjs +5 -4
  101. package/dist/server/schemas/index.js +5 -5
  102. package/dist/server/schemas/workflows.d.ts +8 -0
  103. package/dist/server/schemas/workflows.d.ts.map +1 -1
  104. package/dist/server/server-adapter/index.cjs +1 -1
  105. package/dist/server/server-adapter/index.js +1 -1
  106. package/dist/server/server-adapter/routes/a2a.d.ts +116 -8
  107. package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -1
  108. package/dist/server/server-adapter/routes/datasets.d.ts +136 -0
  109. package/dist/server/server-adapter/routes/datasets.d.ts.map +1 -1
  110. package/dist/server/server-adapter/routes/workflows.d.ts +7 -1
  111. package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -1
  112. package/dist/{workflows-DPW6FrY0.js → workflows-CMU5dz_4.js} +7 -2
  113. package/dist/workflows-CMU5dz_4.js.map +1 -0
  114. package/dist/{workflows-XfiENvkF.cjs → workflows-Dzxr6cmf.cjs} +12 -1
  115. package/dist/workflows-Dzxr6cmf.cjs.map +1 -0
  116. package/package.json +8 -8
  117. package/dist/a2a-CnU9zaGR.js.map +0 -1
  118. package/dist/a2a-DKnwIgiw.cjs.map +0 -1
  119. package/dist/a2a-oM7aqLz4.cjs.map +0 -1
  120. package/dist/a2a-uPi5sPwb.js.map +0 -1
  121. package/dist/datasets-Cvix7Rms.cjs.map +0 -1
  122. package/dist/datasets-dhXnHLAL.js.map +0 -1
  123. package/dist/dist-COHIL6fR.cjs.map +0 -1
  124. package/dist/dist-DGqlUp0b.js.map +0 -1
  125. package/dist/routes-hSY4wTeS.cjs.map +0 -1
  126. package/dist/workflows-DPW6FrY0.js.map +0 -1
  127. package/dist/workflows-XfiENvkF.cjs.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,124 @@
1
1
  # @mastra/server
2
2
 
3
+ ## 1.58.0-alpha.3
4
+
5
+ ### Minor Changes
6
+
7
+ - 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))
8
+
9
+ ```json
10
+ // GET /api/workflows/run-counts
11
+ {
12
+ "cityWorkflow": { "running": 2, "suspended": 1 },
13
+ "reportWorkflow": { "running": 0, "suspended": 0 }
14
+ }
15
+ ```
16
+
17
+ - 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))
18
+
19
+ ```typescript
20
+ await fetch('/api/a2a/weather-agent', {
21
+ method: 'POST',
22
+ headers: { 'A2A-Version': '1.0' },
23
+ body: JSON.stringify({ jsonrpc: '2.0', id: '1', method: 'tasks/list', params: {} }),
24
+ });
25
+ ```
26
+
27
+ ### Patch Changes
28
+
29
+ - Add a reasoning-effort configuration surface across mastracode and Factory (fixes #20766): ([#20884](https://github.com/mastra-ai/mastra/pull/20884))
30
+
31
+ - New `max` thinking level (mapped to `reasoning effort: max` for OpenAI Codex and Anthropic `effort`).
32
+ - 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).
33
+ - 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.
34
+ - Factory: new Settings → Defaults controls for editing global and per-mode thinking defaults in local deployments.
35
+ - 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).
36
+
37
+ Example `settings.json` configuration:
38
+
39
+ ```json
40
+ {
41
+ "preferences": { "thinkingLevel": "medium" },
42
+ "models": {
43
+ "modeThinkingDefaults": {
44
+ "build": "high",
45
+ "plan": "max",
46
+ "fast": "off"
47
+ }
48
+ }
49
+ }
50
+ ```
51
+
52
+ - 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)]:
53
+ - @mastra/core@1.58.0-alpha.3
54
+
55
+ ## 1.58.0-alpha.2
56
+
57
+ ### Patch Changes
58
+
59
+ - 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))
60
+
61
+ - 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))
62
+
63
+ - 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)]:
64
+ - @mastra/core@1.58.0-alpha.2
65
+
66
+ ## 1.58.0-alpha.1
67
+
68
+ ### Minor Changes
69
+
70
+ - Added experiment provenance and grouping fields to dataset HTTP APIs, including grouping filters for experiment lists. ([#20645](https://github.com/mastra-ai/mastra/pull/20645))
71
+
72
+ ```text
73
+ GET /api/datasets/my-dataset/experiments?experimentSetId=benchmark-1&trialIndex=0
74
+ ```
75
+
76
+ - Added A2A v0.3 human-in-the-loop task handling. Exposed agents now pause with an input-required status and resume the same run when clients send follow-up input. ([#20708](https://github.com/mastra-ai/mastra/pull/20708))
77
+
78
+ ```typescript
79
+ await fetch('https://agent.example.com/api/a2a/booking-agent', {
80
+ method: 'POST',
81
+ headers: { 'Content-Type': 'application/json' },
82
+ body: JSON.stringify({
83
+ jsonrpc: '2.0',
84
+ id: 'resume-1',
85
+ method: 'message/send',
86
+ params: {
87
+ message: {
88
+ kind: 'message',
89
+ messageId: crypto.randomUUID(),
90
+ role: 'user',
91
+ taskId,
92
+ parts: [{ kind: 'text', text: 'Approved' }],
93
+ },
94
+ },
95
+ }),
96
+ });
97
+ ```
98
+
99
+ The server also preserves terminal task states and handles authentication interruptions, resubscription, cancellation errors, unknown task IDs, and JSON-RPC request ID zero.
100
+
101
+ - `GET /observability/traces/light` now accepts `mode=delta`, `after` and `limit`, matching `GET /observability/traces`. Previously those parameters were silently ignored, so a client trying to live-tail a lightweight list would refetch the first page on every poll. ([#20677](https://github.com/mastra-ai/mastra/pull/20677))
102
+
103
+ ```http
104
+ GET /observability/traces/light?mode=delta&after=<deltaCursor>&limit=100
105
+ ```
106
+
107
+ The response contains the traces recorded since the cursor and a new `deltaCursor` for the next poll.
108
+
109
+ ### Patch Changes
110
+
111
+ - Preserve experiment name, description, and metadata from HTTP trigger requests. ([#20578](https://github.com/mastra-ai/mastra/pull/20578))
112
+
113
+ - Fixed stored agent APIs to reject unpublished or unresolved prompt block references with the affected block IDs when creating or updating agents and activating agent versions. ([#20790](https://github.com/mastra-ai/mastra/pull/20790))
114
+
115
+ - Prevent a failed background workflow run restart from terminating the server. ([#20473](https://github.com/mastra-ai/mastra/pull/20473))
116
+
117
+ - Abort active A2A streams when tasks are canceled or streaming requests disconnect, and prevent late updates from overwriting canceled tasks. ([#20505](https://github.com/mastra-ai/mastra/pull/20505))
118
+
119
+ - Updated dependencies [[`e7109ee`](https://github.com/mastra-ai/mastra/commit/e7109ee6f731bacc79c885906f3c7dca8d8f013a), [`772c0c8`](https://github.com/mastra-ai/mastra/commit/772c0c897cec383258de2e6178147f8014767c7b), [`578bf2e`](https://github.com/mastra-ai/mastra/commit/578bf2e6a88e9d5b8bf502204e15a95dfbb679ae), [`06b2d87`](https://github.com/mastra-ai/mastra/commit/06b2d87e63bcdd0ed59215c6789692b9b12de376), [`ac01d63`](https://github.com/mastra-ai/mastra/commit/ac01d6355974aec73fdb8781449ed12bac582094), [`a810a05`](https://github.com/mastra-ai/mastra/commit/a810a058f62ad407cfc1701e0be36ae91145d7cf), [`f8da216`](https://github.com/mastra-ai/mastra/commit/f8da21633e7eb0e31c9ce0fc30567870d19416d3), [`6104347`](https://github.com/mastra-ai/mastra/commit/61043473ba6bfd0a25156824e853e13165562e6c), [`45bfb88`](https://github.com/mastra-ai/mastra/commit/45bfb88fd52f1dd3be20e2a38905777c96499c90), [`e3b9307`](https://github.com/mastra-ai/mastra/commit/e3b9307098daefbfae2a52ae2ef51bc9fc701190), [`d6834c5`](https://github.com/mastra-ai/mastra/commit/d6834c5a7866b16734d23900163c2414ed70d791), [`c52d346`](https://github.com/mastra-ai/mastra/commit/c52d3462ec831a5d95926ecd3d3373f5928ad2e5), [`0023e79`](https://github.com/mastra-ai/mastra/commit/0023e7919431078280abd11c89d1edeae35fcc69), [`c2ad51e`](https://github.com/mastra-ai/mastra/commit/c2ad51e2467f901eecba8c9f4a45e22a50bd7c18), [`3dc97ea`](https://github.com/mastra-ai/mastra/commit/3dc97ea415fad353b48a13095fad1835933cc12a), [`3d01cd3`](https://github.com/mastra-ai/mastra/commit/3d01cd387321b6f9c5cac31d487c84bf51b19c78), [`7bf3086`](https://github.com/mastra-ai/mastra/commit/7bf308663f0115ca74ad20554ade740f06640859), [`a8dd139`](https://github.com/mastra-ai/mastra/commit/a8dd1391a9fe9a6632c25809ef236980afa9a020), [`e5786be`](https://github.com/mastra-ai/mastra/commit/e5786be02bb903073082bd9d6da880ebaacc343f), [`2093fbd`](https://github.com/mastra-ai/mastra/commit/2093fbd53bb744bae19ec89f6d73db9a66fbe8a7), [`e7a5da4`](https://github.com/mastra-ai/mastra/commit/e7a5da4ef8e4dd452d2f232961b4e682a85ffe43), [`7b4393d`](https://github.com/mastra-ai/mastra/commit/7b4393d557411fdcf07b0e30e5acaf7cc85154ae)]:
120
+ - @mastra/core@1.58.0-alpha.1
121
+
3
122
  ## 1.58.0-alpha.0
4
123
 
5
124
  ### Patch 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<any>;
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(["user", "agent"]).describe("Message sender's role"),
55
- parts: z.array(partSchema).describe("Message content"),
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-CnU9zaGR.js.map
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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"}