@mastra/server 1.35.0 → 1.36.0-alpha.1

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 (199) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/{api-schema-manifest-HTSK7CWD.js → api-schema-manifest-EJXNYOFH.js} +3 -3
  3. package/dist/{api-schema-manifest-HTSK7CWD.js.map → api-schema-manifest-EJXNYOFH.js.map} +1 -1
  4. package/dist/{api-schema-manifest-WVM7QABS.cjs → api-schema-manifest-EMKHNXSD.cjs} +4 -4
  5. package/dist/{api-schema-manifest-WVM7QABS.cjs.map → api-schema-manifest-EMKHNXSD.cjs.map} +1 -1
  6. package/dist/{chunk-RUKCZLXN.cjs → chunk-3NA22RQ5.cjs} +3 -3
  7. package/dist/{chunk-RUKCZLXN.cjs.map → chunk-3NA22RQ5.cjs.map} +1 -1
  8. package/dist/{chunk-2SYGQRXY.cjs → chunk-3PQSHLG7.cjs} +155 -155
  9. package/dist/{chunk-2SYGQRXY.cjs.map → chunk-3PQSHLG7.cjs.map} +1 -1
  10. package/dist/{chunk-DBG7BFWZ.cjs → chunk-4YSEVAAS.cjs} +23 -23
  11. package/dist/{chunk-DBG7BFWZ.cjs.map → chunk-4YSEVAAS.cjs.map} +1 -1
  12. package/dist/{chunk-FLVMO2FZ.js → chunk-6IUJAAQ2.js} +4 -4
  13. package/dist/chunk-6IUJAAQ2.js.map +1 -0
  14. package/dist/{chunk-3T7LIPHA.cjs → chunk-7R7WT24X.cjs} +5 -5
  15. package/dist/{chunk-3T7LIPHA.cjs.map → chunk-7R7WT24X.cjs.map} +1 -1
  16. package/dist/{chunk-VTMAYC4R.js → chunk-7YV7MYOP.js} +3 -3
  17. package/dist/{chunk-VTMAYC4R.js.map → chunk-7YV7MYOP.js.map} +1 -1
  18. package/dist/{chunk-53OYU4CP.js → chunk-B3UPXBHD.js} +4 -4
  19. package/dist/{chunk-53OYU4CP.js.map → chunk-B3UPXBHD.js.map} +1 -1
  20. package/dist/{chunk-M7EB2X7Q.cjs → chunk-BBB4NKZZ.cjs} +26 -26
  21. package/dist/{chunk-M7EB2X7Q.cjs.map → chunk-BBB4NKZZ.cjs.map} +1 -1
  22. package/dist/{chunk-LXXKGWXS.js → chunk-BBD7VAAR.js} +3 -3
  23. package/dist/{chunk-LXXKGWXS.js.map → chunk-BBD7VAAR.js.map} +1 -1
  24. package/dist/{chunk-Y65G4C35.cjs → chunk-DGJSHUP4.cjs} +63 -63
  25. package/dist/{chunk-Y65G4C35.cjs.map → chunk-DGJSHUP4.cjs.map} +1 -1
  26. package/dist/{chunk-WUXXEGDS.js → chunk-DM6UW5RD.js} +6 -6
  27. package/dist/{chunk-WUXXEGDS.js.map → chunk-DM6UW5RD.js.map} +1 -1
  28. package/dist/{chunk-URAYY3ZG.cjs → chunk-DRTUU5WC.cjs} +4 -4
  29. package/dist/{chunk-URAYY3ZG.cjs.map → chunk-DRTUU5WC.cjs.map} +1 -1
  30. package/dist/{chunk-MJBD3YYS.js → chunk-DYN7KSCZ.js} +4 -4
  31. package/dist/{chunk-MJBD3YYS.js.map → chunk-DYN7KSCZ.js.map} +1 -1
  32. package/dist/{chunk-TXKPEOUP.js → chunk-ELWN7ZXR.js} +4 -4
  33. package/dist/{chunk-TXKPEOUP.js.map → chunk-ELWN7ZXR.js.map} +1 -1
  34. package/dist/{chunk-JTMIZMGO.cjs → chunk-ES23WZRF.cjs} +8 -8
  35. package/dist/{chunk-JTMIZMGO.cjs.map → chunk-ES23WZRF.cjs.map} +1 -1
  36. package/dist/{chunk-UT2JT5GC.js → chunk-GTYVB2TS.js} +3 -3
  37. package/dist/{chunk-UT2JT5GC.js.map → chunk-GTYVB2TS.js.map} +1 -1
  38. package/dist/{chunk-PG4IJL7T.cjs → chunk-H3RUJBEL.cjs} +3 -3
  39. package/dist/{chunk-PG4IJL7T.cjs.map → chunk-H3RUJBEL.cjs.map} +1 -1
  40. package/dist/{chunk-WWXG4HNX.js → chunk-HT4KV7V5.js} +3 -3
  41. package/dist/{chunk-WWXG4HNX.js.map → chunk-HT4KV7V5.js.map} +1 -1
  42. package/dist/{chunk-KDZIZ3LV.cjs → chunk-IVFIYTLD.cjs} +16 -16
  43. package/dist/{chunk-KDZIZ3LV.cjs.map → chunk-IVFIYTLD.cjs.map} +1 -1
  44. package/dist/{chunk-Z35VW4BM.cjs → chunk-IXRARW5C.cjs} +32 -11
  45. package/dist/chunk-IXRARW5C.cjs.map +1 -0
  46. package/dist/{chunk-CUMEATMZ.cjs → chunk-JBAQMT4Y.cjs} +7 -7
  47. package/dist/{chunk-CUMEATMZ.cjs.map → chunk-JBAQMT4Y.cjs.map} +1 -1
  48. package/dist/{chunk-OG3CV6IN.cjs → chunk-JRFHBWKQ.cjs} +3 -3
  49. package/dist/{chunk-OG3CV6IN.cjs.map → chunk-JRFHBWKQ.cjs.map} +1 -1
  50. package/dist/{chunk-BVZLX6R4.cjs → chunk-JRZZN55Y.cjs} +3 -3
  51. package/dist/{chunk-BVZLX6R4.cjs.map → chunk-JRZZN55Y.cjs.map} +1 -1
  52. package/dist/{chunk-5PPFITJ3.js → chunk-KGK2LCZ4.js} +4 -4
  53. package/dist/{chunk-5PPFITJ3.js.map → chunk-KGK2LCZ4.js.map} +1 -1
  54. package/dist/{chunk-HPSSFPDP.js → chunk-KWREVMMS.js} +22 -105
  55. package/dist/chunk-KWREVMMS.js.map +1 -0
  56. package/dist/{chunk-YSC2EP5G.cjs → chunk-L3WM4IWR.cjs} +4 -4
  57. package/dist/chunk-L3WM4IWR.cjs.map +1 -0
  58. package/dist/{chunk-EG3QNCBQ.cjs → chunk-M4MNMBQF.cjs} +4 -4
  59. package/dist/{chunk-EG3QNCBQ.cjs.map → chunk-M4MNMBQF.cjs.map} +1 -1
  60. package/dist/{chunk-7ASFLZZ6.cjs → chunk-MEYWNCUV.cjs} +7 -7
  61. package/dist/{chunk-7ASFLZZ6.cjs.map → chunk-MEYWNCUV.cjs.map} +1 -1
  62. package/dist/{chunk-MFBVMCPB.cjs → chunk-MHQFFRA2.cjs} +21 -21
  63. package/dist/{chunk-MFBVMCPB.cjs.map → chunk-MHQFFRA2.cjs.map} +1 -1
  64. package/dist/{chunk-LL2CVXJG.js → chunk-MXGCIYNM.js} +3 -3
  65. package/dist/{chunk-LL2CVXJG.js.map → chunk-MXGCIYNM.js.map} +1 -1
  66. package/dist/{chunk-OMODGV6O.js → chunk-N44OOOAL.js} +4 -4
  67. package/dist/{chunk-OMODGV6O.js.map → chunk-N44OOOAL.js.map} +1 -1
  68. package/dist/{chunk-35DMDUVM.js → chunk-NDMG7SUN.js} +6 -6
  69. package/dist/{chunk-35DMDUVM.js.map → chunk-NDMG7SUN.js.map} +1 -1
  70. package/dist/{chunk-SWCWNQL5.js → chunk-OOEYTKTC.js} +3 -3
  71. package/dist/{chunk-SWCWNQL5.js.map → chunk-OOEYTKTC.js.map} +1 -1
  72. package/dist/{chunk-I63ON7JW.js → chunk-OS2636MU.js} +3 -3
  73. package/dist/{chunk-I63ON7JW.js.map → chunk-OS2636MU.js.map} +1 -1
  74. package/dist/{chunk-M4IITA2G.js → chunk-OULCMO5R.js} +4 -4
  75. package/dist/{chunk-M4IITA2G.js.map → chunk-OULCMO5R.js.map} +1 -1
  76. package/dist/{chunk-2GEO7VUJ.cjs → chunk-PM6YRFZW.cjs} +3 -3
  77. package/dist/{chunk-2GEO7VUJ.cjs.map → chunk-PM6YRFZW.cjs.map} +1 -1
  78. package/dist/{chunk-SUNXO2H2.cjs → chunk-PQDYNK4J.cjs} +4 -4
  79. package/dist/{chunk-SUNXO2H2.cjs.map → chunk-PQDYNK4J.cjs.map} +1 -1
  80. package/dist/{chunk-BE7IP4ZJ.js → chunk-Q7LA2XMK.js} +6 -6
  81. package/dist/{chunk-BE7IP4ZJ.js.map → chunk-Q7LA2XMK.js.map} +1 -1
  82. package/dist/{chunk-M7VWAJP3.cjs → chunk-QTPAVOG2.cjs} +3 -3
  83. package/dist/{chunk-M7VWAJP3.cjs.map → chunk-QTPAVOG2.cjs.map} +1 -1
  84. package/dist/{chunk-3SPUSGBT.cjs → chunk-QWPEAC7I.cjs} +43 -43
  85. package/dist/{chunk-3SPUSGBT.cjs.map → chunk-QWPEAC7I.cjs.map} +1 -1
  86. package/dist/{chunk-4WXROF2X.cjs → chunk-R4IYXUNR.cjs} +4 -4
  87. package/dist/{chunk-4WXROF2X.cjs.map → chunk-R4IYXUNR.cjs.map} +1 -1
  88. package/dist/{chunk-W3FAEXOQ.cjs → chunk-RGUKCKGB.cjs} +27 -27
  89. package/dist/{chunk-W3FAEXOQ.cjs.map → chunk-RGUKCKGB.cjs.map} +1 -1
  90. package/dist/{chunk-2CT57Y5S.cjs → chunk-SR6QNILC.cjs} +3 -3
  91. package/dist/{chunk-2CT57Y5S.cjs.map → chunk-SR6QNILC.cjs.map} +1 -1
  92. package/dist/{chunk-TTGG4FBC.js → chunk-T3PECMPO.js} +5 -5
  93. package/dist/{chunk-TTGG4FBC.js.map → chunk-T3PECMPO.js.map} +1 -1
  94. package/dist/{chunk-KEAF4TVC.cjs → chunk-T6QQYYPA.cjs} +3 -3
  95. package/dist/{chunk-KEAF4TVC.cjs.map → chunk-T6QQYYPA.cjs.map} +1 -1
  96. package/dist/{chunk-U2HTITB4.js → chunk-UOKSQHJY.js} +32 -11
  97. package/dist/chunk-UOKSQHJY.js.map +1 -0
  98. package/dist/{chunk-U7A3FCF3.js → chunk-W32BPAIP.js} +5 -5
  99. package/dist/{chunk-U7A3FCF3.js.map → chunk-W32BPAIP.js.map} +1 -1
  100. package/dist/{chunk-7BDWHV3B.cjs → chunk-WNIL6DVE.cjs} +212 -212
  101. package/dist/{chunk-7BDWHV3B.cjs.map → chunk-WNIL6DVE.cjs.map} +1 -1
  102. package/dist/{chunk-NKE73E6M.js → chunk-WP67ASKV.js} +6 -6
  103. package/dist/{chunk-NKE73E6M.js.map → chunk-WP67ASKV.js.map} +1 -1
  104. package/dist/{chunk-JGTLNFH2.js → chunk-X7ZNZFHV.js} +4 -4
  105. package/dist/{chunk-JGTLNFH2.js.map → chunk-X7ZNZFHV.js.map} +1 -1
  106. package/dist/{chunk-4UPPXNWW.js → chunk-XGNMFTYF.js} +6 -6
  107. package/dist/{chunk-4UPPXNWW.js.map → chunk-XGNMFTYF.js.map} +1 -1
  108. package/dist/{chunk-H5FPSS2N.js → chunk-XZT7USLH.js} +26 -26
  109. package/dist/{chunk-H5FPSS2N.js.map → chunk-XZT7USLH.js.map} +1 -1
  110. package/dist/{chunk-TMLOBNMN.js → chunk-Y6CAJLYX.js} +4 -4
  111. package/dist/{chunk-TMLOBNMN.js.map → chunk-Y6CAJLYX.js.map} +1 -1
  112. package/dist/{chunk-N63KDS6D.js → chunk-YE3LMHL3.js} +3 -3
  113. package/dist/{chunk-N63KDS6D.js.map → chunk-YE3LMHL3.js.map} +1 -1
  114. package/dist/{chunk-T2YPTXXE.js → chunk-YLJ5EVO3.js} +3 -3
  115. package/dist/{chunk-T2YPTXXE.js.map → chunk-YLJ5EVO3.js.map} +1 -1
  116. package/dist/{chunk-QZFOSTJU.cjs → chunk-ZRU7KWNW.cjs} +22 -105
  117. package/dist/chunk-ZRU7KWNW.cjs.map +1 -0
  118. package/dist/{dist-PWSP7TGP.js → dist-5OGIQLEZ.js} +5 -5
  119. package/dist/{dist-PWSP7TGP.js.map → dist-5OGIQLEZ.js.map} +1 -1
  120. package/dist/{dist-5GW5WUSJ.cjs → dist-ON3E5YMU.cjs} +20 -20
  121. package/dist/{dist-5GW5WUSJ.cjs.map → dist-ON3E5YMU.cjs.map} +1 -1
  122. package/dist/docs/SKILL.md +1 -1
  123. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  124. package/dist/docs/references/docs-agents-a2a.md +115 -88
  125. package/dist/{observational-memory-SYNXJVL4-CJCHK6QY.cjs → observational-memory-J73GEMRQ-FRFHLHXN.cjs} +26 -26
  126. package/dist/{observational-memory-SYNXJVL4-CJCHK6QY.cjs.map → observational-memory-J73GEMRQ-FRFHLHXN.cjs.map} +1 -1
  127. package/dist/{observational-memory-SYNXJVL4-ATVV3WOD.js → observational-memory-J73GEMRQ-KNLGLGBD.js} +3 -3
  128. package/dist/{observational-memory-SYNXJVL4-ATVV3WOD.js.map → observational-memory-J73GEMRQ-KNLGLGBD.js.map} +1 -1
  129. package/dist/server/handlers/a2a.cjs +14 -14
  130. package/dist/server/handlers/a2a.js +1 -1
  131. package/dist/server/handlers/agent-builder.cjs +16 -16
  132. package/dist/server/handlers/agent-builder.js +1 -1
  133. package/dist/server/handlers/agent-versions.cjs +8 -8
  134. package/dist/server/handlers/agent-versions.js +1 -1
  135. package/dist/server/handlers/agents.cjs +41 -41
  136. package/dist/server/handlers/agents.d.ts +28 -28
  137. package/dist/server/handlers/agents.js +1 -1
  138. package/dist/server/handlers/auth.cjs +11 -11
  139. package/dist/server/handlers/auth.js +1 -1
  140. package/dist/server/handlers/conversations.cjs +5 -5
  141. package/dist/server/handlers/conversations.js +1 -1
  142. package/dist/server/handlers/datasets.cjs +26 -26
  143. package/dist/server/handlers/datasets.js +1 -1
  144. package/dist/server/handlers/logs.cjs +4 -4
  145. package/dist/server/handlers/logs.js +1 -1
  146. package/dist/server/handlers/mcp-client-versions.cjs +8 -8
  147. package/dist/server/handlers/mcp-client-versions.js +1 -1
  148. package/dist/server/handlers/memory.cjs +27 -27
  149. package/dist/server/handlers/memory.js +1 -1
  150. package/dist/server/handlers/observability-new-endpoints.d.ts +6 -6
  151. package/dist/server/handlers/processors.d.ts +6 -6
  152. package/dist/server/handlers/prompt-block-versions.cjs +8 -8
  153. package/dist/server/handlers/prompt-block-versions.js +1 -1
  154. package/dist/server/handlers/responses.cjs +4 -4
  155. package/dist/server/handlers/responses.js +1 -1
  156. package/dist/server/handlers/responses.storage.cjs +8 -8
  157. package/dist/server/handlers/responses.storage.js +1 -1
  158. package/dist/server/handlers/scorer-versions.cjs +8 -8
  159. package/dist/server/handlers/scorer-versions.js +1 -1
  160. package/dist/server/handlers/scores.cjs +7 -7
  161. package/dist/server/handlers/scores.js +1 -1
  162. package/dist/server/handlers/stored-agents.cjs +7 -7
  163. package/dist/server/handlers/stored-agents.js +1 -1
  164. package/dist/server/handlers/stored-mcp-clients.cjs +6 -6
  165. package/dist/server/handlers/stored-mcp-clients.js +1 -1
  166. package/dist/server/handlers/stored-prompt-blocks.cjs +6 -6
  167. package/dist/server/handlers/stored-prompt-blocks.js +1 -1
  168. package/dist/server/handlers/stored-scorers.cjs +6 -6
  169. package/dist/server/handlers/stored-scorers.js +1 -1
  170. package/dist/server/handlers/stored-workspaces.cjs +6 -6
  171. package/dist/server/handlers/stored-workspaces.js +1 -1
  172. package/dist/server/handlers/system.cjs +3 -3
  173. package/dist/server/handlers/system.js +1 -1
  174. package/dist/server/handlers/tools.cjs +6 -6
  175. package/dist/server/handlers/tools.js +1 -1
  176. package/dist/server/handlers/utils.cjs +10 -10
  177. package/dist/server/handlers/utils.js +1 -1
  178. package/dist/server/handlers/voice.cjs +8 -8
  179. package/dist/server/handlers/voice.js +1 -1
  180. package/dist/server/handlers/workflows.cjs +26 -26
  181. package/dist/server/handlers/workflows.js +1 -1
  182. package/dist/server/handlers.cjs +29 -29
  183. package/dist/server/handlers.js +12 -12
  184. package/dist/server/schemas/agents.d.ts +47 -1191
  185. package/dist/server/schemas/agents.d.ts.map +1 -1
  186. package/dist/server/schemas/index.cjs +285 -285
  187. package/dist/server/schemas/index.js +5 -5
  188. package/dist/server/schemas/processors.d.ts +3 -3
  189. package/dist/server/server-adapter/index.cjs +34 -34
  190. package/dist/server/server-adapter/index.js +4 -4
  191. package/dist/server/server-adapter/routes/observability.d.ts +3 -3
  192. package/dist/server/server-adapter/routes/processors.d.ts +6 -6
  193. package/package.json +4 -4
  194. package/dist/chunk-FLVMO2FZ.js.map +0 -1
  195. package/dist/chunk-HPSSFPDP.js.map +0 -1
  196. package/dist/chunk-QZFOSTJU.cjs.map +0 -1
  197. package/dist/chunk-U2HTITB4.js.map +0 -1
  198. package/dist/chunk-YSC2EP5G.cjs.map +0 -1
  199. package/dist/chunk-Z35VW4BM.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/fga-permissions.ts","../src/server/handlers/utils.ts"],"names":["MastraFGAPermissions"],"mappings":"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","file":"chunk-T2YPTXXE.js","sourcesContent":["/**\n * Safe re-export of `MastraFGAPermissions` from `@mastra/core/auth/ee`.\n *\n * Why this shim exists:\n * `MastraFGAPermissions` was introduced in `@mastra/core@1.32.0`. Earlier\n * versions of `@mastra/core` ship `@mastra/core/auth/ee` but do not export\n * this constant. A direct named import (`import { MastraFGAPermissions }\n * from '@mastra/core/auth/ee'`) fails at ESM link time when this version\n * of `@mastra/server` is paired with `@mastra/core < 1.32.0`, taking the\n * entire user bundle down before any code runs.\n *\n * A namespace import tolerates missing names — `ns.MissingExport` is just\n * `undefined`, no link-time error. We then expose the permission map.\n *\n * Fallback values:\n * If the consuming `@mastra/core` does not export `MastraFGAPermissions`,\n * we substitute a hardcoded map of the canonical permission strings used\n * by routes in `@mastra/server`. This preserves the explicit RBAC\n * permission overrides those routes already had as string literals in\n * `@mastra/server@1.31.0` (e.g. `requiresPermission: \"agents:execute\"`\n * on `/v1/responses`). Without this fallback, `requiresPermission` would\n * be `undefined` on old core and the auth layer would derive the wrong\n * permission from the route path (e.g. `v1:write` instead of\n * `agents:execute`), breaking RBAC users who upgrade `@mastra/server`\n * but stay on `@mastra/core@1.31.0`.\n *\n * Once the consuming `@mastra/core` is on `1.32.0+` the values are real\n * and behaviour is identical to a direct named import.\n */\n\nimport * as authEE from '@mastra/core/auth/ee';\n\n// Canonical strings for the FGA permission keys actually referenced by\n// `@mastra/server` source. Mirrors `MastraFGAPermissions` in\n// `@mastra/core@1.32.0+` for these specific keys, and matches the string\n// literals previously hardcoded on the same routes in `@mastra/server@1.31.0`.\nconst FALLBACK_PERMISSIONS = {\n AGENTS_CREATE: 'agents:create',\n AGENTS_DELETE: 'agents:delete',\n AGENTS_EXECUTE: 'agents:execute',\n AGENTS_READ: 'agents:read',\n MEMORY_DELETE: 'memory:delete',\n MEMORY_READ: 'memory:read',\n MEMORY_WRITE: 'memory:write',\n TOOLS_EXECUTE: 'tools:execute',\n TOOLS_READ: 'tools:read',\n WORKFLOWS_EXECUTE: 'workflows:execute',\n WORKFLOWS_READ: 'workflows:read',\n} as const;\n\nconst realPermissions = (authEE as any).MastraFGAPermissions;\n\n// Typed as `any` on purpose: consumers of `@mastra/server` may run their\n// typecheck against a `@mastra/core` that doesn't export `MastraFGAPermissions`\n// (anything < 1.32.0). Pinning to the real type would push that name into the\n// emitted `.d.ts` and break downstream typecheck. `any` lets the property\n// accesses (`MastraFGAPermissions.AGENTS_READ`) flow through cleanly on every\n// supported core.\nexport const MastraFGAPermissions: any =\n realPermissions && Object.keys(realPermissions).length > 0 ? realPermissions : FALLBACK_PERMISSIONS;\n","import type { MastraFGAPermissionInput } from '@mastra/core/auth/ee';\nimport type { RequestContext } from '@mastra/core/di';\nimport { MastraMemory } from '@mastra/core/memory';\nimport { MASTRA_RESOURCE_ID_KEY, MASTRA_THREAD_ID_KEY } from '../constants';\nimport { MastraFGAPermissions } from '../fga-permissions';\nimport { HTTPException } from '../http-exception';\n\n// Validation helper\nexport function validateBody(body: Record<string, unknown>) {\n const errorResponse = Object.entries(body).reduce<Record<string, string>>((acc, [key, value]) => {\n if (!value) {\n acc[key] = `Argument \"${key}\" is required`;\n }\n return acc;\n }, {});\n\n if (Object.keys(errorResponse).length > 0) {\n throw new HTTPException(400, { message: Object.values(errorResponse)[0] });\n }\n}\n\n/**\n * sanitizes the body by removing disallowed keys.\n * @param body body to sanitize\n * @param disallowedKeys keys to remove from the body\n */\nexport function sanitizeBody(body: Record<string, unknown>, disallowedKeys: string[]) {\n for (const key of disallowedKeys) {\n if (key in body) {\n delete body[key];\n }\n }\n}\n\nexport function parsePerPage(\n value: string | undefined,\n defaultValue: number = 100,\n max: number = 1000,\n): number | false {\n const normalized = (value || '').trim().toLowerCase();\n // Handle explicit false to bypass pagination\n if (normalized === 'false') {\n return false;\n }\n const parsed = parseInt(value || String(defaultValue), 10);\n if (isNaN(parsed)) return defaultValue;\n return Math.min(max, Math.max(1, parsed));\n}\n\n/**\n * Parses filter query parameters into a key-value object.\n */\nexport function parseFilters(filters: string | string[] | undefined): Record<string, string> | undefined {\n if (!filters) return undefined;\n\n return Object.fromEntries(\n (Array.isArray(filters) ? filters : [filters]).map((attr: string) => {\n const [key, ...valueParts] = attr.split(':');\n const value = valueParts.join(':'); // ✅ Handles colons in values\n return [key, value];\n }),\n );\n}\n\n// ============================================================================\n// Authorization Utilities\n// ============================================================================\n\n/**\n * Gets the effective resourceId, preferring the reserved key from requestContext\n * over client-provided values for security.\n */\nexport function getEffectiveResourceId(\n requestContext: RequestContext | undefined,\n clientResourceId: string | undefined,\n): string | undefined {\n const contextResourceId = requestContext?.get(MASTRA_RESOURCE_ID_KEY) as string | undefined;\n return contextResourceId || clientResourceId;\n}\n\n/**\n * Gets the effective threadId, preferring the reserved key from requestContext\n * over client-provided values for security.\n */\nexport function getEffectiveThreadId(\n requestContext: RequestContext | undefined,\n clientThreadId: string | undefined,\n): string | undefined {\n const contextThreadId = requestContext?.get(MASTRA_THREAD_ID_KEY) as string | undefined;\n return contextThreadId || clientThreadId;\n}\n\n/**\n * Validates that a thread belongs to the specified resourceId.\n * Throws 403 if the thread exists but belongs to a different resource.\n * Threads with no resourceId are accessible to all (shared threads).\n */\nexport async function validateThreadOwnership(\n thread: { resourceId?: string | null } | null | undefined,\n effectiveResourceId: string | undefined,\n): Promise<void> {\n if (thread && effectiveResourceId && thread.resourceId && thread.resourceId !== effectiveResourceId) {\n throw new HTTPException(403, { message: 'Access denied: thread belongs to a different resource' });\n }\n}\n\n/**\n * Validates both coarse resource ownership and fine-grained thread access.\n * FGA enforcement is a no-op when either auth user or FGA provider is absent.\n */\nexport async function enforceThreadAccess({\n mastra,\n requestContext,\n threadId,\n thread,\n effectiveResourceId,\n permission = MastraFGAPermissions.MEMORY_READ,\n}: {\n mastra: any;\n requestContext?: RequestContext;\n threadId: string;\n thread?: { resourceId?: string | null } | null;\n effectiveResourceId?: string;\n permission?: MastraFGAPermissionInput;\n}): Promise<void> {\n await validateThreadOwnership(thread, effectiveResourceId);\n\n const fgaProvider = mastra?.getServer?.()?.fga;\n if (!fgaProvider) {\n return;\n }\n\n const user = requestContext?.get('user');\n if (!user || typeof user !== 'object') {\n throw new HTTPException(403, { message: 'FGA authorization denied: authenticated user is required' });\n }\n\n await MastraMemory.checkThreadFGA({\n mastra,\n user: user as { id: string; [key: string]: unknown },\n threadId,\n resourceId: thread?.resourceId ?? effectiveResourceId,\n requestContext,\n permission,\n });\n}\n\n/**\n * Validates that a workflow run belongs to the specified resourceId.\n * Throws 403 if the run exists but belongs to a different resource.\n */\nexport async function validateRunOwnership(\n run: { resourceId?: string | null } | null | undefined,\n effectiveResourceId: string | undefined,\n): Promise<void> {\n if (run && effectiveResourceId && run.resourceId && run.resourceId !== effectiveResourceId) {\n throw new HTTPException(403, { message: 'Access denied: workflow run belongs to a different resource' });\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/server/fga-permissions.ts","../src/server/handlers/utils.ts"],"names":["MastraFGAPermissions"],"mappings":"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","file":"chunk-YLJ5EVO3.js","sourcesContent":["/**\n * Safe re-export of `MastraFGAPermissions` from `@mastra/core/auth/ee`.\n *\n * Why this shim exists:\n * `MastraFGAPermissions` was introduced in `@mastra/core@1.32.0`. Earlier\n * versions of `@mastra/core` ship `@mastra/core/auth/ee` but do not export\n * this constant. A direct named import (`import { MastraFGAPermissions }\n * from '@mastra/core/auth/ee'`) fails at ESM link time when this version\n * of `@mastra/server` is paired with `@mastra/core < 1.32.0`, taking the\n * entire user bundle down before any code runs.\n *\n * A namespace import tolerates missing names — `ns.MissingExport` is just\n * `undefined`, no link-time error. We then expose the permission map.\n *\n * Fallback values:\n * If the consuming `@mastra/core` does not export `MastraFGAPermissions`,\n * we substitute a hardcoded map of the canonical permission strings used\n * by routes in `@mastra/server`. This preserves the explicit RBAC\n * permission overrides those routes already had as string literals in\n * `@mastra/server@1.31.0` (e.g. `requiresPermission: \"agents:execute\"`\n * on `/v1/responses`). Without this fallback, `requiresPermission` would\n * be `undefined` on old core and the auth layer would derive the wrong\n * permission from the route path (e.g. `v1:write` instead of\n * `agents:execute`), breaking RBAC users who upgrade `@mastra/server`\n * but stay on `@mastra/core@1.31.0`.\n *\n * Once the consuming `@mastra/core` is on `1.32.0+` the values are real\n * and behaviour is identical to a direct named import.\n */\n\nimport * as authEE from '@mastra/core/auth/ee';\n\n// Canonical strings for the FGA permission keys actually referenced by\n// `@mastra/server` source. Mirrors `MastraFGAPermissions` in\n// `@mastra/core@1.32.0+` for these specific keys, and matches the string\n// literals previously hardcoded on the same routes in `@mastra/server@1.31.0`.\nconst FALLBACK_PERMISSIONS = {\n AGENTS_CREATE: 'agents:create',\n AGENTS_DELETE: 'agents:delete',\n AGENTS_EXECUTE: 'agents:execute',\n AGENTS_READ: 'agents:read',\n MEMORY_DELETE: 'memory:delete',\n MEMORY_READ: 'memory:read',\n MEMORY_WRITE: 'memory:write',\n TOOLS_EXECUTE: 'tools:execute',\n TOOLS_READ: 'tools:read',\n WORKFLOWS_EXECUTE: 'workflows:execute',\n WORKFLOWS_READ: 'workflows:read',\n} as const;\n\nconst realPermissions = (authEE as any).MastraFGAPermissions;\n\n// Typed as `any` on purpose: consumers of `@mastra/server` may run their\n// typecheck against a `@mastra/core` that doesn't export `MastraFGAPermissions`\n// (anything < 1.32.0). Pinning to the real type would push that name into the\n// emitted `.d.ts` and break downstream typecheck. `any` lets the property\n// accesses (`MastraFGAPermissions.AGENTS_READ`) flow through cleanly on every\n// supported core.\nexport const MastraFGAPermissions: any =\n realPermissions && Object.keys(realPermissions).length > 0 ? realPermissions : FALLBACK_PERMISSIONS;\n","import type { MastraFGAPermissionInput } from '@mastra/core/auth/ee';\nimport type { RequestContext } from '@mastra/core/di';\nimport { MastraMemory } from '@mastra/core/memory';\nimport { MASTRA_RESOURCE_ID_KEY, MASTRA_THREAD_ID_KEY } from '../constants';\nimport { MastraFGAPermissions } from '../fga-permissions';\nimport { HTTPException } from '../http-exception';\n\n// Validation helper\nexport function validateBody(body: Record<string, unknown>) {\n const errorResponse = Object.entries(body).reduce<Record<string, string>>((acc, [key, value]) => {\n if (!value) {\n acc[key] = `Argument \"${key}\" is required`;\n }\n return acc;\n }, {});\n\n if (Object.keys(errorResponse).length > 0) {\n throw new HTTPException(400, { message: Object.values(errorResponse)[0] });\n }\n}\n\n/**\n * sanitizes the body by removing disallowed keys.\n * @param body body to sanitize\n * @param disallowedKeys keys to remove from the body\n */\nexport function sanitizeBody(body: Record<string, unknown>, disallowedKeys: string[]) {\n for (const key of disallowedKeys) {\n if (key in body) {\n delete body[key];\n }\n }\n}\n\nexport function parsePerPage(\n value: string | undefined,\n defaultValue: number = 100,\n max: number = 1000,\n): number | false {\n const normalized = (value || '').trim().toLowerCase();\n // Handle explicit false to bypass pagination\n if (normalized === 'false') {\n return false;\n }\n const parsed = parseInt(value || String(defaultValue), 10);\n if (isNaN(parsed)) return defaultValue;\n return Math.min(max, Math.max(1, parsed));\n}\n\n/**\n * Parses filter query parameters into a key-value object.\n */\nexport function parseFilters(filters: string | string[] | undefined): Record<string, string> | undefined {\n if (!filters) return undefined;\n\n return Object.fromEntries(\n (Array.isArray(filters) ? filters : [filters]).map((attr: string) => {\n const [key, ...valueParts] = attr.split(':');\n const value = valueParts.join(':'); // ✅ Handles colons in values\n return [key, value];\n }),\n );\n}\n\n// ============================================================================\n// Authorization Utilities\n// ============================================================================\n\n/**\n * Gets the effective resourceId, preferring the reserved key from requestContext\n * over client-provided values for security.\n */\nexport function getEffectiveResourceId(\n requestContext: RequestContext | undefined,\n clientResourceId: string | undefined,\n): string | undefined {\n const contextResourceId = requestContext?.get(MASTRA_RESOURCE_ID_KEY) as string | undefined;\n return contextResourceId || clientResourceId;\n}\n\n/**\n * Gets the effective threadId, preferring the reserved key from requestContext\n * over client-provided values for security.\n */\nexport function getEffectiveThreadId(\n requestContext: RequestContext | undefined,\n clientThreadId: string | undefined,\n): string | undefined {\n const contextThreadId = requestContext?.get(MASTRA_THREAD_ID_KEY) as string | undefined;\n return contextThreadId || clientThreadId;\n}\n\n/**\n * Validates that a thread belongs to the specified resourceId.\n * Throws 403 if the thread exists but belongs to a different resource.\n * Threads with no resourceId are accessible to all (shared threads).\n */\nexport async function validateThreadOwnership(\n thread: { resourceId?: string | null } | null | undefined,\n effectiveResourceId: string | undefined,\n): Promise<void> {\n if (thread && effectiveResourceId && thread.resourceId && thread.resourceId !== effectiveResourceId) {\n throw new HTTPException(403, { message: 'Access denied: thread belongs to a different resource' });\n }\n}\n\n/**\n * Validates both coarse resource ownership and fine-grained thread access.\n * FGA enforcement is a no-op when either auth user or FGA provider is absent.\n */\nexport async function enforceThreadAccess({\n mastra,\n requestContext,\n threadId,\n thread,\n effectiveResourceId,\n permission = MastraFGAPermissions.MEMORY_READ,\n}: {\n mastra: any;\n requestContext?: RequestContext;\n threadId: string;\n thread?: { resourceId?: string | null } | null;\n effectiveResourceId?: string;\n permission?: MastraFGAPermissionInput;\n}): Promise<void> {\n await validateThreadOwnership(thread, effectiveResourceId);\n\n const fgaProvider = mastra?.getServer?.()?.fga;\n if (!fgaProvider) {\n return;\n }\n\n const user = requestContext?.get('user');\n if (!user || typeof user !== 'object') {\n throw new HTTPException(403, { message: 'FGA authorization denied: authenticated user is required' });\n }\n\n await MastraMemory.checkThreadFGA({\n mastra,\n user: user as { id: string; [key: string]: unknown },\n threadId,\n resourceId: thread?.resourceId ?? effectiveResourceId,\n requestContext,\n permission,\n });\n}\n\n/**\n * Validates that a workflow run belongs to the specified resourceId.\n * Throws 403 if the run exists but belongs to a different resource.\n */\nexport async function validateRunOwnership(\n run: { resourceId?: string | null } | null | undefined,\n effectiveResourceId: string | undefined,\n): Promise<void> {\n if (run && effectiveResourceId && run.resourceId && run.resourceId !== effectiveResourceId) {\n throw new HTTPException(403, { message: 'Access denied: workflow run belongs to a different resource' });\n }\n}\n"]}
@@ -15,100 +15,6 @@ var jsonValueSchema = v4.z.lazy(
15
15
  ])
16
16
  );
17
17
  var jsonRecordSchema = v4.z.record(v4.z.string(), jsonValueSchema);
18
- var commonMessageFieldsSchema = {
19
- id: v4.z.string().optional(),
20
- name: v4.z.string().optional(),
21
- metadata: jsonRecordSchema.optional(),
22
- providerMetadata: jsonRecordSchema.optional(),
23
- providerOptions: jsonRecordSchema.optional(),
24
- experimental_providerMetadata: jsonRecordSchema.optional()
25
- };
26
- var textContentPartSchema = v4.z.object({
27
- ...commonMessageFieldsSchema,
28
- type: v4.z.literal("text"),
29
- text: v4.z.string()
30
- });
31
- var imageContentPartSchema = v4.z.object({
32
- ...commonMessageFieldsSchema,
33
- type: v4.z.literal("image"),
34
- image: v4.z.union([v4.z.string(), jsonRecordSchema]),
35
- mediaType: v4.z.string().optional(),
36
- mimeType: v4.z.string().optional()
37
- });
38
- var fileContentPartSchema = v4.z.object({
39
- ...commonMessageFieldsSchema,
40
- type: v4.z.literal("file"),
41
- data: v4.z.union([v4.z.string(), jsonRecordSchema]).optional(),
42
- file: v4.z.union([v4.z.string(), jsonRecordSchema]).optional(),
43
- url: v4.z.string().optional(),
44
- mediaType: v4.z.string().optional(),
45
- mimeType: v4.z.string().optional(),
46
- filename: v4.z.string().optional()
47
- });
48
- var toolCallContentPartSchema = v4.z.object({
49
- ...commonMessageFieldsSchema,
50
- type: v4.z.literal("tool-call"),
51
- toolCallId: v4.z.string(),
52
- toolName: v4.z.string(),
53
- args: jsonValueSchema.optional(),
54
- input: jsonValueSchema.optional()
55
- });
56
- var toolResultContentPartSchema = v4.z.object({
57
- ...commonMessageFieldsSchema,
58
- type: v4.z.literal("tool-result"),
59
- toolCallId: v4.z.string(),
60
- toolName: v4.z.string().optional(),
61
- result: jsonValueSchema.optional(),
62
- output: jsonValueSchema.optional()
63
- });
64
- var messageContentPartSchema = v4.z.union([
65
- textContentPartSchema,
66
- imageContentPartSchema,
67
- fileContentPartSchema,
68
- toolCallContentPartSchema,
69
- toolResultContentPartSchema
70
- ]);
71
- var messageContentSchema = v4.z.union([v4.z.string(), v4.z.array(messageContentPartSchema)]);
72
- var modelMessageSchema = v4.z.object({
73
- ...commonMessageFieldsSchema,
74
- role: v4.z.enum(["system", "user", "assistant", "tool"]),
75
- content: messageContentSchema
76
- });
77
- var uiMessageSchema = v4.z.object({
78
- ...commonMessageFieldsSchema,
79
- role: v4.z.enum(["system", "user", "assistant", "tool", "data"]),
80
- content: messageContentSchema.optional(),
81
- parts: v4.z.array(messageContentPartSchema).optional(),
82
- createdAt: v4.z.union([v4.z.string(), v4.z.date()]).optional()
83
- });
84
- var mastraDBMessagePartSchema = v4.z.object({ type: v4.z.string() }).passthrough();
85
- var mastraDBMessageContentSchema = v4.z.object({
86
- format: v4.z.literal(2),
87
- parts: v4.z.array(mastraDBMessagePartSchema),
88
- content: messageContentSchema.optional(),
89
- experimental_attachments: v4.z.array(jsonRecordSchema).optional(),
90
- toolInvocations: v4.z.array(jsonRecordSchema).optional(),
91
- reasoning: v4.z.string().optional(),
92
- annotations: v4.z.array(jsonValueSchema).optional(),
93
- metadata: jsonRecordSchema.optional(),
94
- providerMetadata: jsonRecordSchema.optional()
95
- }).passthrough();
96
- var mastraDBMessageSchema = v4.z.object({
97
- id: v4.z.string(),
98
- role: v4.z.enum(["system", "user", "assistant", "signal"]),
99
- createdAt: v4.z.union([v4.z.string(), v4.z.date()]),
100
- threadId: v4.z.string().optional(),
101
- resourceId: v4.z.string().optional(),
102
- type: v4.z.string().optional(),
103
- content: mastraDBMessageContentSchema
104
- });
105
- var messageInputSchema = v4.z.union([modelMessageSchema, uiMessageSchema, mastraDBMessageSchema]);
106
- var messageListInputSchema = v4.z.union([
107
- v4.z.string(),
108
- v4.z.array(v4.z.string()),
109
- messageInputSchema,
110
- v4.z.array(messageInputSchema)
111
- ]);
112
18
  var signalAttributesSchema = v4.z.record(
113
19
  v4.z.string(),
114
20
  v4.z.union([v4.z.string(), v4.z.number(), v4.z.boolean(), v4.z.null(), v4.z.undefined()])
@@ -119,17 +25,28 @@ var baseSignalSchema = v4.z.object({
119
25
  metadata: jsonRecordSchema.optional(),
120
26
  attributes: signalAttributesSchema.optional()
121
27
  });
122
- var userMessageSignalSchema = baseSignalSchema.extend({
123
- type: v4.z.literal("user-message"),
124
- contents: messageListInputSchema
28
+ var partProviderOptionsSchema = v4.z.record(v4.z.string(), v4.z.record(v4.z.string(), jsonValueSchema)).optional();
29
+ var signalTextPartSchema = v4.z.object({
30
+ type: v4.z.literal("text"),
31
+ text: v4.z.string(),
32
+ providerOptions: partProviderOptionsSchema
125
33
  });
126
- var contextSignalSchema = baseSignalSchema.extend({
127
- type: v4.z.string().refine((type) => type !== "user-message", {
128
- message: 'non-user-message signals must not use type "user-message"'
129
- }),
130
- contents: v4.z.string()
34
+ var signalFilePartSchema = v4.z.object({
35
+ type: v4.z.literal("file"),
36
+ data: v4.z.string(),
37
+ mediaType: v4.z.string(),
38
+ filename: v4.z.string().optional(),
39
+ providerOptions: partProviderOptionsSchema
40
+ });
41
+ var userMessageSignalContentsSchema = v4.z.union([
42
+ v4.z.string(),
43
+ v4.z.array(v4.z.union([signalTextPartSchema, signalFilePartSchema]))
44
+ ]);
45
+ var agentSignalSchema = baseSignalSchema.extend({
46
+ type: v4.z.string(),
47
+ contents: userMessageSignalContentsSchema,
48
+ providerOptions: v4.z.record(v4.z.string(), v4.z.record(v4.z.string(), jsonValueSchema)).optional()
131
49
  });
132
- var agentSignalSchema = v4.z.union([userMessageSignalSchema, contextSignalSchema]);
133
50
  var agentIdPathParams = v4.z.object({
134
51
  agentId: v4.z.string().describe("Unique identifier for the agent")
135
52
  });
@@ -483,5 +400,5 @@ exports.transcribeSpeechResponseSchema = transcribeSpeechResponseSchema;
483
400
  exports.updateAgentModelBodySchema = updateAgentModelBodySchema;
484
401
  exports.updateAgentModelInModelListBodySchema = updateAgentModelInModelListBodySchema;
485
402
  exports.voiceSpeakersResponseSchema = voiceSpeakersResponseSchema;
486
- //# sourceMappingURL=chunk-QZFOSTJU.cjs.map
487
- //# sourceMappingURL=chunk-QZFOSTJU.cjs.map
403
+ //# sourceMappingURL=chunk-ZRU7KWNW.cjs.map
404
+ //# sourceMappingURL=chunk-ZRU7KWNW.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/schemas/agents.ts"],"names":["z","defaultOptionsSchema","coreMessageSchema","tracingOptionsSchema","messageResponseSchema"],"mappings":"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","file":"chunk-ZRU7KWNW.cjs","sourcesContent":["import { z } from 'zod/v4';\nimport { tracingOptionsSchema, coreMessageSchema, messageResponseSchema } from './common';\nimport { defaultOptionsSchema } from './default-options';\n\ntype JsonValue = string | number | boolean | null | JsonValue[] | { [key: string]: JsonValue };\n\nconst jsonValueSchema: z.ZodType<JsonValue> = z.lazy(() =>\n z.union([\n z.string(),\n z.number(),\n z.boolean(),\n z.null(),\n z.array(jsonValueSchema),\n z.record(z.string(), jsonValueSchema),\n ]),\n);\nconst jsonRecordSchema = z.record(z.string(), jsonValueSchema);\n\nconst signalAttributesSchema = z.record(\n z.string(),\n z.union([z.string(), z.number(), z.boolean(), z.null(), z.undefined()]),\n);\n\nconst baseSignalSchema = z.object({\n id: z.string().optional(),\n createdAt: z.union([z.string(), z.date()]).optional(),\n metadata: jsonRecordSchema.optional(),\n attributes: signalAttributesSchema.optional(),\n});\n\nconst partProviderOptionsSchema = z.record(z.string(), z.record(z.string(), jsonValueSchema)).optional();\n\nconst signalTextPartSchema = z.object({\n type: z.literal('text'),\n text: z.string(),\n providerOptions: partProviderOptionsSchema,\n});\n\nconst signalFilePartSchema = z.object({\n type: z.literal('file'),\n data: z.string(),\n mediaType: z.string(),\n filename: z.string().optional(),\n providerOptions: partProviderOptionsSchema,\n});\n\nconst userMessageSignalContentsSchema = z.union([\n z.string(),\n z.array(z.union([signalTextPartSchema, signalFilePartSchema])),\n]);\n\nconst agentSignalSchema = baseSignalSchema.extend({\n type: z.string(),\n contents: userMessageSignalContentsSchema,\n providerOptions: z.record(z.string(), z.record(z.string(), jsonValueSchema)).optional(),\n});\n\n// Path parameter schemas\nexport const agentIdPathParams = z.object({\n agentId: z.string().describe('Unique identifier for the agent'),\n});\n\n/**\n * Query params for GET /agents/:agentId — controls which stored config version is used for overrides.\n * Use either `status` or `versionId`, not both.\n * - `status` — 'draft' (latest version, default) or 'published' (active published version).\n * - `versionId` — Resolve with a specific version ID.\n */\nexport const agentVersionQuerySchema = z.object({\n status: z\n .enum(['draft', 'published'])\n .optional()\n .describe(\n 'Which stored config version to resolve: draft (latest, default) or published (active version). Mutually exclusive with versionId.',\n ),\n versionId: z\n .string()\n .optional()\n .describe(\n 'Specific version ID to resolve. Mutually exclusive with status — if both are provided, versionId takes precedence.',\n ),\n});\n\nexport const toolIdPathParams = z.object({\n toolId: z.string().describe('Unique identifier for the tool'),\n});\n\nexport const agentToolPathParams = agentIdPathParams.extend({\n toolId: z.string().describe('Unique identifier for the tool'),\n});\n\nexport const agentSkillPathParams = agentIdPathParams.extend({\n skillName: z.string().describe('Name of the skill'),\n});\n\nexport const modelConfigIdPathParams = agentIdPathParams.extend({\n modelConfigId: z.string().describe('Unique identifier for the model configuration'),\n});\n\n/**\n * Schema for serialized processor metadata\n */\nexport const serializedProcessorSchema = z.object({\n id: z.string(),\n name: z.string().optional(),\n});\n\n/**\n * Schema for serialized tool with JSON schemas\n * Uses passthrough() to allow additional tool properties beyond core fields\n */\nexport const serializedToolSchema = z.object({\n id: z.string(),\n description: z.string().optional(),\n inputSchema: z.string().optional(),\n outputSchema: z.string().optional(),\n requireApproval: z.boolean().optional(),\n});\n\n/**\n * Schema for serialized workflow with steps\n */\nexport const serializedWorkflowSchema = z.object({\n name: z.string(),\n steps: z\n .record(\n z.string(),\n z.object({\n id: z.string(),\n description: z.string().optional(),\n }),\n )\n .optional(),\n});\n\n/**\n * Schema for serialized agent definition (referenced by other agents)\n */\nexport const serializedAgentDefinitionSchema = z.object({\n id: z.string(),\n name: z.string(),\n});\n\n/**\n * Schema for SystemMessage type\n * Can be string, string[], or various message objects\n */\nconst systemMessageSchema = z.union([\n z.string(),\n z.array(z.string()),\n z.any(), // CoreSystemMessage or SystemModelMessage\n z.array(z.any()),\n]);\n\n/**\n * Schema for model configuration in model list\n */\nconst modelConfigSchema = z.object({\n model: z.object({\n modelId: z.string(),\n provider: z.string(),\n modelVersion: z.string(),\n }),\n // Additional fields from AgentModelManagerConfig can be added here\n});\n\n/**\n * Main schema for serialized agent representation\n */\nexport const serializedAgentSchema = z.object({\n name: z.string(),\n description: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n instructions: systemMessageSchema.optional(),\n tools: z.record(z.string(), serializedToolSchema),\n agents: z.record(z.string(), serializedAgentDefinitionSchema),\n workflows: z.record(z.string(), serializedWorkflowSchema),\n inputProcessors: z.array(serializedProcessorSchema),\n outputProcessors: z.array(serializedProcessorSchema),\n provider: z.string().optional(),\n modelId: z.string().optional(),\n modelVersion: z.string().optional(),\n modelList: z.array(modelConfigSchema).optional(),\n defaultOptions: defaultOptionsSchema.optional(),\n defaultGenerateOptionsLegacy: z.record(z.string(), z.any()).optional(),\n defaultStreamOptionsLegacy: z.record(z.string(), z.any()).optional(),\n status: z.enum(['draft', 'published', 'archived']).optional(),\n activeVersionId: z.string().optional(),\n hasDraft: z.boolean().optional(),\n});\n\n/**\n * Schema for agent with ID\n */\nexport const serializedAgentWithIdSchema = serializedAgentSchema.extend({\n id: z.string(),\n});\n\n/**\n * Schema for individual provider information\n */\nexport const providerSchema = z.object({\n id: z.string(),\n name: z.string(),\n label: z.string().optional(),\n description: z.string().optional(),\n});\n\n/**\n * Schema for providers endpoint response\n */\nexport const providersResponseSchema = z.object({\n providers: z.array(providerSchema),\n});\n\n/**\n * Schema for list agents endpoint response\n * Returns a record of agent ID to serialized agent\n */\nexport const listAgentsResponseSchema = z.record(z.string(), serializedAgentSchema);\n\n/**\n * Schema for list tools endpoint response\n * Returns a record of tool ID to serialized tool\n */\nexport const listToolsResponseSchema = z.record(z.string(), serializedToolSchema);\n\n// ============================================================================\n// Agent Execution Body Schemas\n// ============================================================================\n\n/**\n * Schema for agent memory option\n */\nconst agentMemoryOptionSchema = z.object({\n thread: z.union([z.string(), z.object({ id: z.string() }).passthrough()]),\n resource: z.string(),\n options: z.record(z.string(), z.any()).optional(),\n readOnly: z.boolean().optional(),\n});\n\n/**\n * Schema for tool choice configuration\n */\nconst toolChoiceSchema = z.union([\n z.enum(['auto', 'none', 'required']),\n z.object({ type: z.literal('tool'), toolName: z.string() }),\n]);\n\n/**\n * Comprehensive body schema for agent generate and stream endpoints\n * Validates common fields while using passthrough for complex nested objects\n *\n * EXCLUDED FIELDS (not serializable):\n * - Callbacks: onStepFinish, onFinish, onChunk, onError, onAbort, prepareStep\n * - Class instances: inputProcessors, outputProcessors\n * - Non-serializable: abortSignal, tracingContext\n */\nexport const agentExecutionBodySchema = z\n .object({\n // REQUIRED\n messages: z.union([\n z.array(coreMessageSchema), // Array of messages\n z.string(), // Single user message shorthand\n ]),\n\n // Message Configuration\n instructions: systemMessageSchema.optional(),\n system: systemMessageSchema.optional(),\n context: z.array(coreMessageSchema).optional(),\n\n // Memory & Persistence\n memory: agentMemoryOptionSchema.optional(),\n runId: z.string().optional(),\n savePerStep: z.boolean().optional(),\n\n // Request Context (handler-specific field - merged with server's requestContext)\n requestContext: z.record(z.string(), z.any()).optional(),\n\n // Version overrides for sub-agents (and future primitives)\n versions: z\n .object({\n agents: z\n .record(\n z.string(),\n z.union([z.object({ versionId: z.string() }), z.object({ status: z.enum(['draft', 'published']) })]),\n )\n .optional(),\n })\n .optional(),\n\n // Execution Control\n maxSteps: z.number().optional(),\n stopWhen: z.any().optional(),\n\n // Model Configuration\n providerOptions: z\n .object({\n anthropic: z.record(z.string(), z.any()).optional(),\n google: z.record(z.string(), z.any()).optional(),\n openai: z.record(z.string(), z.any()).optional(),\n xai: z.record(z.string(), z.any()).optional(),\n })\n .optional(),\n modelSettings: z.any().optional(),\n\n // Tool Configuration\n activeTools: z.array(z.string()).optional(),\n toolsets: z.record(z.string(), z.any()).optional(),\n clientTools: z.record(z.string(), z.any()).optional(),\n toolChoice: toolChoiceSchema.optional(),\n requireToolApproval: z.boolean().optional(),\n\n // Evaluation\n scorers: z\n .union([\n z.record(z.string(), z.any()),\n z.record(\n z.string(),\n z.object({\n scorer: z.string(),\n sampling: z.any().optional(),\n }),\n ),\n ])\n .optional(),\n returnScorerData: z.boolean().optional(),\n\n // Observability\n tracingOptions: tracingOptionsSchema.optional(),\n\n // Structured Output\n output: z.any().optional(), // Zod schema, JSON schema, or structured output object\n structuredOutput: z\n .object({\n schema: z.object({}).passthrough(),\n model: z.union([z.string(), z.any()]).optional(),\n instructions: z.string().optional(),\n jsonPromptInjection: z.boolean().optional(),\n errorStrategy: z.enum(['strict', 'warn', 'fallback']).optional(),\n fallbackValue: z.any().optional(),\n })\n .optional(),\n })\n .passthrough(); // Allow additional fields for forward compatibility\n\n/**\n * Legacy body schema for deprecated endpoints that still use threadId/resourceId\n * Used by /agents/:agentId/generate-legacy and /agents/:agentId/stream-legacy\n */\nexport const agentExecutionLegacyBodySchema = agentExecutionBodySchema.extend({\n resourceId: z.string().optional(),\n resourceid: z.string().optional(), // lowercase variant\n threadId: z.string().optional(),\n});\n\nexport const streamUntilIdleBodySchema = agentExecutionBodySchema.extend({\n maxIdleMs: z.number().int().positive().optional(),\n});\n\nexport const resumeStreamUntilIdleBodySchema = agentExecutionBodySchema.omit({ messages: true }).extend({\n runId: z.string(),\n resumeData: z.unknown().refine(x => x !== undefined, { message: 'resumeData is required' }),\n toolCallId: z.string().optional(),\n maxIdleMs: z.number().int().positive().optional(),\n});\n/**\n * Body schema for tool execute endpoint\n * Simple schema - tool validates its own input data\n * Note: Using z.unknown().refine() instead of z.any() to ensure data is required\n * (z.any() is treated as optional by Zod)\n */\nconst executeToolDataBodySchema = z.object({\n data: z.unknown().refine(x => x !== undefined, { message: 'data is required' }),\n});\n\nexport const executeToolBodySchema = executeToolDataBodySchema.extend({\n requestContext: z.record(z.string(), z.any()).optional(),\n});\n\nexport const executeToolContextBodySchema = executeToolDataBodySchema.extend({\n requestContext: z.record(z.string(), z.any()).optional(),\n});\n\n/**\n * Response schema for voice speakers endpoint\n * Flexible to accommodate provider-specific metadata\n */\nexport const voiceSpeakersResponseSchema = z.array(\n z\n .object({\n voiceId: z.string(),\n })\n .passthrough(), // Allow provider-specific fields like name, language, etc.\n);\n\n// ============================================================================\n// Tool Approval Schemas\n// ============================================================================\n\n/**\n * Base schema for tool approval/decline operations\n * Both approve and decline use the same parameters\n */\nconst toolCallActionBodySchema = z.object({\n runId: z.string(),\n requestContext: z.record(z.string(), z.any()).optional(),\n toolCallId: z.string(),\n format: z.string().optional(),\n});\nconst networkToolCallActionBodySchema = z.object({\n runId: z.string(),\n requestContext: z.record(z.string(), z.any()).optional(),\n format: z.string().optional(),\n});\n\n/**\n * Body schema for approving tool call\n */\nexport const approveToolCallBodySchema = toolCallActionBodySchema;\n\n/**\n * Body schema for declining tool call\n */\nexport const declineToolCallBodySchema = toolCallActionBodySchema;\n\n/**\n * Body schema for approving network tool call\n */\nexport const approveNetworkToolCallBodySchema = networkToolCallActionBodySchema;\n\n/**\n * Body schema for declining network tool call\n */\nexport const declineNetworkToolCallBodySchema = networkToolCallActionBodySchema;\n\n/**\n * Response schema for tool approval/decline\n */\nexport const toolCallResponseSchema = z.object({\n fullStream: z.any(), // ReadableStream\n});\n\n// ============================================================================\n// Resume Stream Schema\n// ============================================================================\n\n/**\n * Body schema for resuming a suspended agent stream with custom data.\n * Extends the agent execution body without messages, since resume\n * continues from a prior suspension point rather than starting fresh.\n */\nexport const resumeStreamBodySchema = agentExecutionBodySchema.omit({ messages: true }).extend({\n runId: z.string(),\n resumeData: z.unknown().refine(x => x !== undefined, { message: 'resumeData is required' }),\n toolCallId: z.string().optional(),\n});\n\n// ============================================================================\n// Model Management Schemas\n// ============================================================================\n\n/**\n * Body schema for updating agent model\n */\nexport const updateAgentModelBodySchema = z.object({\n modelId: z.string(),\n provider: z.string(),\n});\n\n/**\n * Body schema for reordering agent model list\n */\nexport const reorderAgentModelListBodySchema = z.object({\n reorderedModelIds: z.array(z.string()),\n});\n\n/**\n * Body schema for updating model in model list\n */\nexport const updateAgentModelInModelListBodySchema = z.object({\n model: z\n .object({\n modelId: z.string(),\n provider: z.string(),\n })\n .optional(),\n maxRetries: z.number().optional(),\n enabled: z.boolean().optional(),\n});\n\n/**\n * Response schema for model management operations\n */\nexport const modelManagementResponseSchema = messageResponseSchema;\n\n// ============================================================================\n// Voice Schemas\n// ============================================================================\n\n/**\n * Body schema for generating speech\n */\nexport const generateSpeechBodySchema = z.object({\n text: z.string(),\n speakerId: z.string().optional(),\n});\n\n/**\n * Body schema for transcribing speech\n */\nexport const transcribeSpeechBodySchema = z.object({\n audio: z.any(), // Buffer\n options: z.record(z.string(), z.any()).optional(),\n});\n\n/**\n * Response schema for transcribe speech\n */\nexport const transcribeSpeechResponseSchema = z.object({\n text: z.string(),\n});\n\n/**\n * Response schema for get listener\n */\nexport const getListenerResponseSchema = z.any(); // Listener info structure varies\n\n/**\n * Response schema for agent generation endpoints\n * These return AI SDK types which have complex structures\n */\nexport const generateResponseSchema = z.any(); // AI SDK GenerateResult type\nexport const streamResponseSchema = z.any(); // AI SDK StreamResult type\nexport const speakResponseSchema = z.any(); // Voice synthesis result\nexport const executeToolResponseSchema = z.any(); // Tool execution result varies by tool\n\n// ============================================================================\n// Instruction Enhancement Schemas\n// ============================================================================\n\n/**\n * Body schema for enhancing agent instructions\n */\nexport const enhanceInstructionsBodySchema = z.object({\n instructions: z.string().describe('The current agent instructions to enhance'),\n comment: z.string().describe('User comment describing how to enhance the instructions'),\n});\n\n/**\n * Response schema for enhanced instructions\n */\nexport const enhanceInstructionsResponseSchema = z.object({\n explanation: z.string().describe('Explanation of the changes made'),\n new_prompt: z.string().describe('The enhanced instructions'),\n});\n\n// ============================================================================\n// Observe (Resumable Streams) Schemas\n// ============================================================================\n\n/**\n * Body schema for observing an agent stream\n * Used to reconnect to an existing stream and receive missed events\n */\nexport const observeAgentBodySchema = z.object({\n runId: z.string().describe('The run ID to observe/reconnect to'),\n offset: z.number().optional().describe('Resume from this event index (0-based). If omitted, replays all events.'),\n});\n\nconst signalActiveBehaviorSchema = z.enum(['deliver', 'persist', 'discard']);\nconst signalIdleBehaviorSchema = z.enum(['wake', 'persist', 'discard']);\n\nconst sendAgentSignalBaseBodySchema = z.object({\n signal: agentSignalSchema,\n ifActive: z\n .object({\n behavior: signalActiveBehaviorSchema.optional(),\n })\n .optional(),\n});\n\nexport const sendAgentSignalBodySchema = z.union([\n sendAgentSignalBaseBodySchema.extend({\n runId: z.string(),\n resourceId: z.string().optional(),\n threadId: z.string().optional(),\n ifIdle: z.undefined().optional(),\n }),\n sendAgentSignalBaseBodySchema.extend({\n runId: z.string().optional(),\n resourceId: z.string(),\n threadId: z.string(),\n ifIdle: z\n .object({\n behavior: signalIdleBehaviorSchema.optional(),\n streamOptions: agentExecutionBodySchema.omit({ messages: true }).optional(),\n })\n .optional(),\n }),\n]);\n\nexport const subscribeAgentThreadBodySchema = z.object({\n resourceId: z.string().optional(),\n threadId: z.string(),\n});\n\n/**\n * Response schema for observe endpoint (streaming response)\n */\nexport const observeAgentResponseSchema = z.any(); // Streaming response\n"]}
@@ -1,4 +1,4 @@
1
- import { e, truncateStringByTokens, estimateTokenCount, resolveToolResultValue, formatToolResultForObserver } from './chunk-U2HTITB4.js';
1
+ import { e, truncateStringByTokens, estimateTokenCount, resolveToolResultValue, formatToolResultForObserver } from './chunk-UOKSQHJY.js';
2
2
  import { openai } from './chunk-PALNMAC6.js';
3
3
  import { standardSchemaToJSONSchema, isStandardSchemaWithJSON, toStandardSchema5 } from './chunk-PJFYMAGO.js';
4
4
  import { __commonJS, __toESM } from './chunk-PR4QN5HX.js';
@@ -18708,7 +18708,7 @@ ${workingMemory}`;
18708
18708
  "Observational memory requires @mastra/core support for request-response-id-rotation. Please bump @mastra/core to a newer version."
18709
18709
  );
18710
18710
  }
18711
- const { ObservationalMemory: OMClass } = await import('./observational-memory-SYNXJVL4-ATVV3WOD.js');
18711
+ const { ObservationalMemory: OMClass } = await import('./observational-memory-J73GEMRQ-KNLGLGBD.js');
18712
18712
  const onIndexObservations = this.hasRetrievalSearch(omConfig.retrieval) ? async (observation) => {
18713
18713
  await this.indexObservation(observation);
18714
18714
  } : void 0;
@@ -19634,7 +19634,7 @@ Notes:
19634
19634
  if (!effectiveConfig) return null;
19635
19635
  const engine = await this.omEngine;
19636
19636
  if (!engine) return null;
19637
- const { ObservationalMemoryProcessor } = await import('./observational-memory-SYNXJVL4-ATVV3WOD.js');
19637
+ const { ObservationalMemoryProcessor } = await import('./observational-memory-J73GEMRQ-KNLGLGBD.js');
19638
19638
  return new ObservationalMemoryProcessor(engine, this, {
19639
19639
  temporalMarkers: effectiveConfig.temporalMarkers
19640
19640
  });
@@ -30475,5 +30475,5 @@ var agentBuilderWorkflows = {
30475
30475
  };
30476
30476
 
30477
30477
  export { AgentBuilder, AgentBuilderDefaults, agentBuilderTemplateWorkflow, agentBuilderWorkflows, mergeTemplateBySlug, planningAndApprovalWorkflow, workflowBuilderWorkflow };
30478
- //# sourceMappingURL=dist-PWSP7TGP.js.map
30479
- //# sourceMappingURL=dist-PWSP7TGP.js.map
30478
+ //# sourceMappingURL=dist-5OGIQLEZ.js.map
30479
+ //# sourceMappingURL=dist-5OGIQLEZ.js.map