@mastra/server 1.67.0-alpha.1 → 1.67.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.
- package/dist/_types/@internal_voice/dist/_types/@internal_core/dist/request-context/index.d.ts +21 -0
- package/dist/{a2a-CW4FVjHx.cjs → a2a-DQ8GeDz4.cjs} +3 -3
- package/dist/{a2a-CW4FVjHx.cjs.map → a2a-DQ8GeDz4.cjs.map} +1 -1
- package/dist/{a2a-Di7S6YaM.js → a2a-DUBjstWk.js} +3 -3
- package/dist/{a2a-Di7S6YaM.js.map → a2a-DUBjstWk.js.map} +1 -1
- package/dist/{api-schema-manifest-Cpw4nIVv.cjs → api-schema-manifest-1LriOYQM.cjs} +3 -3
- package/dist/{api-schema-manifest-Cpw4nIVv.cjs.map → api-schema-manifest-1LriOYQM.cjs.map} +1 -1
- package/dist/{api-schema-manifest-BkKHbFJi.js → api-schema-manifest-DNk8B4kw.js} +3 -3
- package/dist/{api-schema-manifest-BkKHbFJi.js.map → api-schema-manifest-DNk8B4kw.js.map} +1 -1
- package/dist/{background-tasks-Bl7Hn8h9.js → background-tasks-B4yoNDY_.js} +2 -2
- package/dist/{background-tasks-Bl7Hn8h9.js.map → background-tasks-B4yoNDY_.js.map} +1 -1
- package/dist/{background-tasks-BJhziawt.cjs → background-tasks-BarPeyNJ.cjs} +2 -2
- package/dist/{background-tasks-BJhziawt.cjs.map → background-tasks-BarPeyNJ.cjs.map} +1 -1
- package/dist/{builder-registry-Bcpr74BB.js → builder-registry-DI3Ysclf.js} +3 -3
- package/dist/{builder-registry-Bcpr74BB.js.map → builder-registry-DI3Ysclf.js.map} +1 -1
- package/dist/{builder-registry-BINitddV.cjs → builder-registry-r71f11_E.cjs} +3 -3
- package/dist/{builder-registry-BINitddV.cjs.map → builder-registry-r71f11_E.cjs.map} +1 -1
- package/dist/{channels-CnEljW9e.js → channels-B_K1oJ7S.js} +2 -2
- package/dist/{channels-CnEljW9e.js.map → channels-B_K1oJ7S.js.map} +1 -1
- package/dist/{channels-D8e5YDTn.cjs → channels-CGDo0Prv.cjs} +2 -2
- package/dist/{channels-D8e5YDTn.cjs.map → channels-CGDo0Prv.cjs.map} +1 -1
- package/dist/{conversations-D89Io31L.js → conversations-Bs-k9f9N.js} +2 -2
- package/dist/{conversations-D89Io31L.js.map → conversations-Bs-k9f9N.js.map} +1 -1
- package/dist/{conversations-DJybpnE5.cjs → conversations-o3AEJjRo.cjs} +2 -2
- package/dist/{conversations-DJybpnE5.cjs.map → conversations-o3AEJjRo.cjs.map} +1 -1
- package/dist/{dist-B8gYiHIX.js → dist-Bw-Zrv4_.js} +173 -27
- package/dist/{dist-B8gYiHIX.js.map → dist-Bw-Zrv4_.js.map} +1 -1
- package/dist/{dist-CaVro31X.cjs → dist-Du9y2ur5.cjs} +177 -31
- package/dist/{dist-CaVro31X.cjs.map → dist-Du9y2ur5.cjs.map} +1 -1
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/{dynamic-workflows-Cn9MXevC.js → dynamic-workflows-C3DXgmSP.js} +2 -2
- package/dist/{dynamic-workflows-Cn9MXevC.js.map → dynamic-workflows-C3DXgmSP.js.map} +1 -1
- package/dist/{dynamic-workflows-DSg9_yec.cjs → dynamic-workflows-DeUG3lA2.cjs} +2 -2
- package/dist/{dynamic-workflows-DSg9_yec.cjs.map → dynamic-workflows-DeUG3lA2.cjs.map} +1 -1
- package/dist/{editor-builder-DeFo8Kl5.cjs → editor-builder-DFh_-7Id.cjs} +2 -2
- package/dist/{editor-builder-DeFo8Kl5.cjs.map → editor-builder-DFh_-7Id.cjs.map} +1 -1
- package/dist/{editor-builder-DzpPA6dp.js → editor-builder-QRcP8-SQ.js} +2 -2
- package/dist/{editor-builder-DzpPA6dp.js.map → editor-builder-QRcP8-SQ.js.map} +1 -1
- package/dist/{memory-CVODqy7m.cjs → memory-CE6rUGmo.cjs} +22 -1
- package/dist/memory-CE6rUGmo.cjs.map +1 -0
- package/dist/{memory-CjWJYFVI.js → memory-Cp3Yo-OX.js} +11 -2
- package/dist/{memory-CjWJYFVI.js.map → memory-Cp3Yo-OX.js.map} +1 -1
- package/dist/{observability-new-endpoints-BNPjbEXf.cjs → observability-new-endpoints-I2OxQzfY.cjs} +2 -2
- package/dist/{observability-new-endpoints-BNPjbEXf.cjs.map → observability-new-endpoints-I2OxQzfY.cjs.map} +1 -1
- package/dist/{observability-new-endpoints-CSiMF_Kf.js → observability-new-endpoints-pIq_OWa8.js} +2 -2
- package/dist/{observability-new-endpoints-CSiMF_Kf.js.map → observability-new-endpoints-pIq_OWa8.js.map} +1 -1
- package/dist/{route-builder-BveLN9LU.js → route-builder-BukcT_Kp.js} +2 -2
- package/dist/{route-builder-BveLN9LU.js.map → route-builder-BukcT_Kp.js.map} +1 -1
- package/dist/{route-builder-C8n4ugUf.cjs → route-builder-DupY8fkI.cjs} +4 -4
- package/dist/{route-builder-C8n4ugUf.cjs.map → route-builder-DupY8fkI.cjs.map} +1 -1
- package/dist/{routes-Dgd2S9av.cjs → routes-9i4gAixo.cjs} +11 -10
- package/dist/routes-9i4gAixo.cjs.map +1 -0
- package/dist/{routes-DCwOOz84.js → routes-DXUcYEc6.js} +12 -11
- package/dist/routes-DXUcYEc6.js.map +1 -0
- package/dist/{schedules-BcEUUuX_.js → schedules-BzymFGR_.js} +2 -2
- package/dist/{schedules-BcEUUuX_.js.map → schedules-BzymFGR_.js.map} +1 -1
- package/dist/{schedules-fj9U0_tA.cjs → schedules-DaEv0Usj.cjs} +2 -2
- package/dist/{schedules-fj9U0_tA.cjs.map → schedules-DaEv0Usj.cjs.map} +1 -1
- package/dist/schema-BF_cZG0Y.js +2 -0
- package/dist/schema-C7CvwM1d.cjs +1 -0
- package/dist/{schema-Bv9OdW1f-DLSJSqQv.js → schema-D_ikovK6-BzTeMhWf.js} +467 -131
- package/dist/schema-D_ikovK6-BzTeMhWf.js.map +1 -0
- package/dist/{schema-Bv9OdW1f-CxTiW8RD.cjs → schema-D_ikovK6-DQrOVw5N.cjs} +467 -131
- package/dist/schema-D_ikovK6-DQrOVw5N.cjs.map +1 -0
- package/dist/server/handlers/a2a.cjs +1 -1
- package/dist/server/handlers/a2a.js +1 -1
- 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 +3 -3
- package/dist/server/handlers/agent-controller.js +3 -3
- package/dist/server/handlers/agent-versions.cjs +2 -2
- package/dist/server/handlers/agent-versions.js +2 -2
- package/dist/server/handlers/agents.cjs +6 -6
- package/dist/server/handlers/agents.js +5 -5
- package/dist/server/handlers/auth.cjs +1 -1
- package/dist/server/handlers/auth.js +1 -1
- package/dist/server/handlers/background-tasks.cjs +1 -1
- package/dist/server/handlers/background-tasks.js +1 -1
- package/dist/server/handlers/builder-registry.cjs +1 -1
- package/dist/server/handlers/builder-registry.js +1 -1
- package/dist/server/handlers/channels.cjs +1 -1
- package/dist/server/handlers/channels.js +1 -1
- package/dist/server/handlers/conversations.cjs +3 -3
- package/dist/server/handlers/conversations.js +3 -3
- package/dist/server/handlers/datasets.cjs +1 -1
- package/dist/server/handlers/datasets.js +1 -1
- package/dist/server/handlers/dynamic-workflows.cjs +1 -1
- package/dist/server/handlers/dynamic-workflows.js +1 -1
- package/dist/server/handlers/editor-builder.cjs +1 -1
- package/dist/server/handlers/editor-builder.js +1 -1
- package/dist/server/handlers/favorites-enrichment.cjs +1 -1
- package/dist/server/handlers/favorites-enrichment.js +1 -1
- package/dist/server/handlers/logs.cjs +2 -2
- package/dist/server/handlers/logs.js +2 -2
- package/dist/server/handlers/mcp-client-versions.cjs +2 -2
- package/dist/server/handlers/mcp-client-versions.js +2 -2
- package/dist/server/handlers/mcp.cjs +1 -1
- package/dist/server/handlers/mcp.js +1 -1
- package/dist/server/handlers/memory.cjs +64 -3
- package/dist/server/handlers/memory.cjs.map +1 -1
- package/dist/server/handlers/memory.d.ts +47 -0
- package/dist/server/handlers/memory.d.ts.map +1 -1
- package/dist/server/handlers/memory.js +64 -4
- package/dist/server/handlers/memory.js.map +1 -1
- package/dist/server/handlers/observability-new-endpoints.cjs +1 -1
- package/dist/server/handlers/observability-new-endpoints.js +1 -1
- package/dist/server/handlers/observability-shared.cjs +1 -1
- package/dist/server/handlers/observability-shared.js +1 -1
- package/dist/server/handlers/observability.cjs +2 -2
- package/dist/server/handlers/observability.js +2 -2
- package/dist/server/handlers/plans.cjs +2 -2
- package/dist/server/handlers/plans.js +2 -2
- package/dist/server/handlers/processor-providers.cjs +1 -1
- package/dist/server/handlers/processor-providers.js +1 -1
- package/dist/server/handlers/processors.cjs +1 -1
- package/dist/server/handlers/processors.js +1 -1
- package/dist/server/handlers/prompt-block-versions.cjs +2 -2
- package/dist/server/handlers/prompt-block-versions.js +2 -2
- package/dist/server/handlers/responses.cjs +2 -2
- package/dist/server/handlers/responses.js +2 -2
- package/dist/server/handlers/responses.storage.cjs +1 -1
- package/dist/server/handlers/responses.storage.js +1 -1
- package/dist/server/handlers/schedules.cjs +1 -1
- package/dist/server/handlers/schedules.js +1 -1
- package/dist/server/handlers/scorer-versions.cjs +2 -2
- package/dist/server/handlers/scorer-versions.js +2 -2
- package/dist/server/handlers/scores.cjs +1 -1
- package/dist/server/handlers/scores.js +1 -1
- package/dist/server/handlers/stored-agent-favorites.cjs +3 -3
- package/dist/server/handlers/stored-agent-favorites.js +3 -3
- package/dist/server/handlers/stored-agents.cjs +3 -3
- package/dist/server/handlers/stored-agents.js +3 -3
- package/dist/server/handlers/stored-mcp-clients.cjs +2 -2
- package/dist/server/handlers/stored-mcp-clients.js +2 -2
- package/dist/server/handlers/stored-prompt-blocks.cjs +2 -2
- package/dist/server/handlers/stored-prompt-blocks.js +2 -2
- package/dist/server/handlers/stored-scorers.cjs +2 -2
- package/dist/server/handlers/stored-scorers.js +2 -2
- package/dist/server/handlers/stored-skill-favorites.cjs +3 -3
- package/dist/server/handlers/stored-skill-favorites.js +3 -3
- package/dist/server/handlers/stored-skills.cjs +3 -3
- package/dist/server/handlers/stored-skills.js +3 -3
- package/dist/server/handlers/stored-workspaces.cjs +2 -2
- package/dist/server/handlers/stored-workspaces.js +2 -2
- package/dist/server/handlers/system.cjs +2 -2
- package/dist/server/handlers/system.js +2 -2
- package/dist/server/handlers/tool-providers.cjs +1 -1
- package/dist/server/handlers/tool-providers.js +1 -1
- package/dist/server/handlers/tools.cjs +6 -6
- package/dist/server/handlers/tools.js +5 -5
- package/dist/server/handlers/utils.cjs +2 -1
- package/dist/server/handlers/utils.d.ts +7 -0
- package/dist/server/handlers/utils.d.ts.map +1 -1
- package/dist/server/handlers/utils.js +2 -2
- package/dist/server/handlers/validate-agent-instructions.cjs +1 -1
- package/dist/server/handlers/validate-agent-instructions.js +1 -1
- package/dist/server/handlers/vector.cjs +1 -1
- package/dist/server/handlers/vector.js +1 -1
- package/dist/server/handlers/workflows.cjs +3 -3
- package/dist/server/handlers/workflows.js +3 -3
- package/dist/server/handlers/workspace.cjs +1 -1
- package/dist/server/handlers/workspace.js +1 -1
- package/dist/server/handlers.cjs +2 -2
- package/dist/server/handlers.js +2 -2
- package/dist/server/schemas/index.cjs +4 -2
- package/dist/server/schemas/index.js +3 -3
- package/dist/server/schemas/memory.d.ts +18 -0
- package/dist/server/schemas/memory.d.ts.map +1 -1
- package/dist/server/server-adapter/index.cjs +3 -3
- package/dist/server/server-adapter/index.js +3 -3
- package/dist/server/server-adapter/routes/memory.d.ts +46 -0
- package/dist/server/server-adapter/routes/memory.d.ts.map +1 -1
- package/dist/{utils-DJMUhfvY.cjs → utils-BtkczLrA.cjs} +17 -2
- package/dist/utils-BtkczLrA.cjs.map +1 -0
- package/dist/{utils-Hz8Hc2cd.js → utils-CMWGBd0O.js} +12 -3
- package/dist/utils-CMWGBd0O.js.map +1 -0
- package/dist/{utils-B2vd77Fi.js → utils-Duk4hfT_.js} +3 -3
- package/dist/{utils-B2vd77Fi.js.map → utils-Duk4hfT_.js.map} +1 -1
- package/dist/{utils-CmYnjLcY.cjs → utils-WcR0QSUB.cjs} +5 -5
- package/dist/{utils-CmYnjLcY.cjs.map → utils-WcR0QSUB.cjs.map} +1 -1
- package/package.json +7 -7
- package/dist/memory-CVODqy7m.cjs.map +0 -1
- package/dist/routes-DCwOOz84.js.map +0 -1
- package/dist/routes-Dgd2S9av.cjs.map +0 -1
- package/dist/schema-Bv9OdW1f-CxTiW8RD.cjs.map +0 -1
- package/dist/schema-Bv9OdW1f-DLSJSqQv.js.map +0 -1
- package/dist/schema-CGeYTFwm.js +0 -2
- package/dist/schema-CNKnRmv1.cjs +0 -1
- package/dist/utils-DJMUhfvY.cjs.map +0 -1
- package/dist/utils-Hz8Hc2cd.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils-CmYnjLcY.cjs","names":["getType","isPlainObject","isArray","isArray","isArray","isPlainObject","isArray","isPlainObject","standardSchemaToJSONSchema","toStandardSchema","MASTRA_RESOURCE_ID_KEY","HTTPException"],"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/superjson/2.2.6/b5fefaeae5105e92d752f15cd158913d848e5075a9f80278488919f0941a70dd/node_modules/superjson/dist/double-indexed-kv.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/superjson/2.2.6/b5fefaeae5105e92d752f15cd158913d848e5075a9f80278488919f0941a70dd/node_modules/superjson/dist/registry.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/superjson/2.2.6/b5fefaeae5105e92d752f15cd158913d848e5075a9f80278488919f0941a70dd/node_modules/superjson/dist/class-registry.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/superjson/2.2.6/b5fefaeae5105e92d752f15cd158913d848e5075a9f80278488919f0941a70dd/node_modules/superjson/dist/util.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/superjson/2.2.6/b5fefaeae5105e92d752f15cd158913d848e5075a9f80278488919f0941a70dd/node_modules/superjson/dist/custom-transformer-registry.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/superjson/2.2.6/b5fefaeae5105e92d752f15cd158913d848e5075a9f80278488919f0941a70dd/node_modules/superjson/dist/is.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/superjson/2.2.6/b5fefaeae5105e92d752f15cd158913d848e5075a9f80278488919f0941a70dd/node_modules/superjson/dist/pathstringifier.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/superjson/2.2.6/b5fefaeae5105e92d752f15cd158913d848e5075a9f80278488919f0941a70dd/node_modules/superjson/dist/transformer.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/superjson/2.2.6/b5fefaeae5105e92d752f15cd158913d848e5075a9f80278488919f0941a70dd/node_modules/superjson/dist/accessDeep.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/superjson/2.2.6/b5fefaeae5105e92d752f15cd158913d848e5075a9f80278488919f0941a70dd/node_modules/superjson/dist/plainer.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-what/5.5.0/6a17e1f04f109bfa55bd3a32beb0649d4f15de71496a7b56ad89c5617c48dbcf/node_modules/is-what/dist/getType.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-what/5.5.0/6a17e1f04f109bfa55bd3a32beb0649d4f15de71496a7b56ad89c5617c48dbcf/node_modules/is-what/dist/isArray.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-what/5.5.0/6a17e1f04f109bfa55bd3a32beb0649d4f15de71496a7b56ad89c5617c48dbcf/node_modules/is-what/dist/isPlainObject.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/copy-anything/4.0.5/22cc8bea9fb94edd0adbb1b532950c62b530da34e51811884acea49340e0256c/node_modules/copy-anything/dist/index.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/superjson/2.2.6/b5fefaeae5105e92d752f15cd158913d848e5075a9f80278488919f0941a70dd/node_modules/superjson/dist/index.js","../src/server/utils.ts"],"sourcesContent":["export class DoubleIndexedKV {\n constructor() {\n this.keyToValue = new Map();\n this.valueToKey = new Map();\n }\n set(key, value) {\n this.keyToValue.set(key, value);\n this.valueToKey.set(value, key);\n }\n getByKey(key) {\n return this.keyToValue.get(key);\n }\n getByValue(value) {\n return this.valueToKey.get(value);\n }\n clear() {\n this.keyToValue.clear();\n this.valueToKey.clear();\n }\n}\n//# sourceMappingURL=double-indexed-kv.js.map","import { DoubleIndexedKV } from './double-indexed-kv.js';\nexport class Registry {\n constructor(generateIdentifier) {\n this.generateIdentifier = generateIdentifier;\n this.kv = new DoubleIndexedKV();\n }\n register(value, identifier) {\n if (this.kv.getByValue(value)) {\n return;\n }\n if (!identifier) {\n identifier = this.generateIdentifier(value);\n }\n this.kv.set(identifier, value);\n }\n clear() {\n this.kv.clear();\n }\n getIdentifier(value) {\n return this.kv.getByValue(value);\n }\n getValue(identifier) {\n return this.kv.getByKey(identifier);\n }\n}\n//# sourceMappingURL=registry.js.map","import { Registry } from './registry.js';\nexport class ClassRegistry extends Registry {\n constructor() {\n super(c => c.name);\n this.classToAllowedProps = new Map();\n }\n register(value, options) {\n if (typeof options === 'object') {\n if (options.allowProps) {\n this.classToAllowedProps.set(value, options.allowProps);\n }\n super.register(value, options.identifier);\n }\n else {\n super.register(value, options);\n }\n }\n getAllowedProps(value) {\n return this.classToAllowedProps.get(value);\n }\n}\n//# sourceMappingURL=class-registry.js.map","function valuesOfObj(record) {\n if ('values' in Object) {\n // eslint-disable-next-line es5/no-es6-methods\n return Object.values(record);\n }\n const values = [];\n // eslint-disable-next-line no-restricted-syntax\n for (const key in record) {\n if (record.hasOwnProperty(key)) {\n values.push(record[key]);\n }\n }\n return values;\n}\nexport function find(record, predicate) {\n const values = valuesOfObj(record);\n if ('find' in values) {\n // eslint-disable-next-line es5/no-es6-methods\n return values.find(predicate);\n }\n const valuesNotNever = values;\n for (let i = 0; i < valuesNotNever.length; i++) {\n const value = valuesNotNever[i];\n if (predicate(value)) {\n return value;\n }\n }\n return undefined;\n}\nexport function forEach(record, run) {\n Object.entries(record).forEach(([key, value]) => run(value, key));\n}\nexport function includes(arr, value) {\n return arr.indexOf(value) !== -1;\n}\nexport function findArr(record, predicate) {\n for (let i = 0; i < record.length; i++) {\n const value = record[i];\n if (predicate(value)) {\n return value;\n }\n }\n return undefined;\n}\n//# sourceMappingURL=util.js.map","import { find } from './util.js';\nexport class CustomTransformerRegistry {\n constructor() {\n this.transfomers = {};\n }\n register(transformer) {\n this.transfomers[transformer.name] = transformer;\n }\n findApplicable(v) {\n return find(this.transfomers, transformer => transformer.isApplicable(v));\n }\n findByName(name) {\n return this.transfomers[name];\n }\n}\n//# sourceMappingURL=custom-transformer-registry.js.map","const getType = (payload) => Object.prototype.toString.call(payload).slice(8, -1);\nexport const isUndefined = (payload) => typeof payload === 'undefined';\nexport const isNull = (payload) => payload === null;\nexport const isPlainObject = (payload) => {\n if (typeof payload !== 'object' || payload === null)\n return false;\n if (payload === Object.prototype)\n return false;\n if (Object.getPrototypeOf(payload) === null)\n return true;\n return Object.getPrototypeOf(payload) === Object.prototype;\n};\nexport const isEmptyObject = (payload) => isPlainObject(payload) && Object.keys(payload).length === 0;\nexport const isArray = (payload) => Array.isArray(payload);\nexport const isString = (payload) => typeof payload === 'string';\nexport const isNumber = (payload) => typeof payload === 'number' && !isNaN(payload);\nexport const isBoolean = (payload) => typeof payload === 'boolean';\nexport const isRegExp = (payload) => payload instanceof RegExp;\nexport const isMap = (payload) => payload instanceof Map;\nexport const isSet = (payload) => payload instanceof Set;\nexport const isSymbol = (payload) => getType(payload) === 'Symbol';\nexport const isDate = (payload) => payload instanceof Date && !isNaN(payload.valueOf());\nexport const isError = (payload) => payload instanceof Error;\nexport const isNaNValue = (payload) => typeof payload === 'number' && isNaN(payload);\nexport const isPrimitive = (payload) => isBoolean(payload) ||\n isNull(payload) ||\n isUndefined(payload) ||\n isNumber(payload) ||\n isString(payload) ||\n isSymbol(payload);\nexport const isBigint = (payload) => typeof payload === 'bigint';\nexport const isInfinite = (payload) => payload === Infinity || payload === -Infinity;\nexport const isTypedArray = (payload) => ArrayBuffer.isView(payload) && !(payload instanceof DataView);\nexport const isURL = (payload) => payload instanceof URL;\n//# sourceMappingURL=is.js.map","export const escapeKey = (key) => key.replace(/\\\\/g, '\\\\\\\\').replace(/\\./g, '\\\\.');\nexport const stringifyPath = (path) => path\n .map(String)\n .map(escapeKey)\n .join('.');\nexport const parsePath = (string, legacyPaths) => {\n const result = [];\n let segment = '';\n for (let i = 0; i < string.length; i++) {\n let char = string.charAt(i);\n if (!legacyPaths && char === '\\\\') {\n const escaped = string.charAt(i + 1);\n if (escaped === '\\\\') {\n segment += '\\\\';\n i++;\n continue;\n }\n else if (escaped !== '.') {\n throw Error('invalid path');\n }\n }\n const isEscapedDot = char === '\\\\' && string.charAt(i + 1) === '.';\n if (isEscapedDot) {\n segment += '.';\n i++;\n continue;\n }\n const isEndOfSegment = char === '.';\n if (isEndOfSegment) {\n result.push(segment);\n segment = '';\n continue;\n }\n segment += char;\n }\n const lastSegment = segment;\n result.push(lastSegment);\n return result;\n};\n//# sourceMappingURL=pathstringifier.js.map","import { isBigint, isDate, isInfinite, isMap, isNaNValue, isRegExp, isSet, isUndefined, isSymbol, isArray, isError, isTypedArray, isURL, } from './is.js';\nimport { findArr } from './util.js';\nfunction simpleTransformation(isApplicable, annotation, transform, untransform) {\n return {\n isApplicable,\n annotation,\n transform,\n untransform,\n };\n}\nconst simpleRules = [\n simpleTransformation(isUndefined, 'undefined', () => null, () => undefined),\n simpleTransformation(isBigint, 'bigint', v => v.toString(), v => {\n if (typeof BigInt !== 'undefined') {\n return BigInt(v);\n }\n console.error('Please add a BigInt polyfill.');\n return v;\n }),\n simpleTransformation(isDate, 'Date', v => v.toISOString(), v => new Date(v)),\n simpleTransformation(isError, 'Error', (v, superJson) => {\n const baseError = {\n name: v.name,\n message: v.message,\n };\n if ('cause' in v) {\n baseError.cause = v.cause;\n }\n superJson.allowedErrorProps.forEach(prop => {\n baseError[prop] = v[prop];\n });\n return baseError;\n }, (v, superJson) => {\n const e = new Error(v.message, { cause: v.cause });\n e.name = v.name;\n e.stack = v.stack;\n superJson.allowedErrorProps.forEach(prop => {\n e[prop] = v[prop];\n });\n return e;\n }),\n simpleTransformation(isRegExp, 'regexp', v => '' + v, regex => {\n const body = regex.slice(1, regex.lastIndexOf('/'));\n const flags = regex.slice(regex.lastIndexOf('/') + 1);\n return new RegExp(body, flags);\n }),\n simpleTransformation(isSet, 'set', \n // (sets only exist in es6+)\n // eslint-disable-next-line es5/no-es6-methods\n v => [...v.values()], v => new Set(v)),\n simpleTransformation(isMap, 'map', v => [...v.entries()], v => new Map(v)),\n simpleTransformation((v) => isNaNValue(v) || isInfinite(v), 'number', v => {\n if (isNaNValue(v)) {\n return 'NaN';\n }\n if (v > 0) {\n return 'Infinity';\n }\n else {\n return '-Infinity';\n }\n }, Number),\n simpleTransformation((v) => v === 0 && 1 / v === -Infinity, 'number', () => {\n return '-0';\n }, Number),\n simpleTransformation(isURL, 'URL', v => v.toString(), v => new URL(v)),\n];\nfunction compositeTransformation(isApplicable, annotation, transform, untransform) {\n return {\n isApplicable,\n annotation,\n transform,\n untransform,\n };\n}\nconst symbolRule = compositeTransformation((s, superJson) => {\n if (isSymbol(s)) {\n const isRegistered = !!superJson.symbolRegistry.getIdentifier(s);\n return isRegistered;\n }\n return false;\n}, (s, superJson) => {\n const identifier = superJson.symbolRegistry.getIdentifier(s);\n return ['symbol', identifier];\n}, v => v.description, (_, a, superJson) => {\n const value = superJson.symbolRegistry.getValue(a[1]);\n if (!value) {\n throw new Error('Trying to deserialize unknown symbol');\n }\n return value;\n});\nconst constructorToName = [\n Int8Array,\n Uint8Array,\n Int16Array,\n Uint16Array,\n Int32Array,\n Uint32Array,\n Float32Array,\n Float64Array,\n Uint8ClampedArray,\n].reduce((obj, ctor) => {\n obj[ctor.name] = ctor;\n return obj;\n}, {});\nconst typedArrayRule = compositeTransformation(isTypedArray, v => ['typed-array', v.constructor.name], v => [...v], (v, a) => {\n const ctor = constructorToName[a[1]];\n if (!ctor) {\n throw new Error('Trying to deserialize unknown typed array');\n }\n return new ctor(v);\n});\nexport function isInstanceOfRegisteredClass(potentialClass, superJson) {\n if (potentialClass?.constructor) {\n const isRegistered = !!superJson.classRegistry.getIdentifier(potentialClass.constructor);\n return isRegistered;\n }\n return false;\n}\nconst classRule = compositeTransformation(isInstanceOfRegisteredClass, (clazz, superJson) => {\n const identifier = superJson.classRegistry.getIdentifier(clazz.constructor);\n return ['class', identifier];\n}, (clazz, superJson) => {\n const allowedProps = superJson.classRegistry.getAllowedProps(clazz.constructor);\n if (!allowedProps) {\n return { ...clazz };\n }\n const result = {};\n allowedProps.forEach(prop => {\n result[prop] = clazz[prop];\n });\n return result;\n}, (v, a, superJson) => {\n const clazz = superJson.classRegistry.getValue(a[1]);\n if (!clazz) {\n throw new Error(`Trying to deserialize unknown class '${a[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`);\n }\n return Object.assign(Object.create(clazz.prototype), v);\n});\nconst customRule = compositeTransformation((value, superJson) => {\n return !!superJson.customTransformerRegistry.findApplicable(value);\n}, (value, superJson) => {\n const transformer = superJson.customTransformerRegistry.findApplicable(value);\n return ['custom', transformer.name];\n}, (value, superJson) => {\n const transformer = superJson.customTransformerRegistry.findApplicable(value);\n return transformer.serialize(value);\n}, (v, a, superJson) => {\n const transformer = superJson.customTransformerRegistry.findByName(a[1]);\n if (!transformer) {\n throw new Error('Trying to deserialize unknown custom value');\n }\n return transformer.deserialize(v);\n});\nconst compositeRules = [classRule, symbolRule, customRule, typedArrayRule];\nexport const transformValue = (value, superJson) => {\n const applicableCompositeRule = findArr(compositeRules, rule => rule.isApplicable(value, superJson));\n if (applicableCompositeRule) {\n return {\n value: applicableCompositeRule.transform(value, superJson),\n type: applicableCompositeRule.annotation(value, superJson),\n };\n }\n const applicableSimpleRule = findArr(simpleRules, rule => rule.isApplicable(value, superJson));\n if (applicableSimpleRule) {\n return {\n value: applicableSimpleRule.transform(value, superJson),\n type: applicableSimpleRule.annotation,\n };\n }\n return undefined;\n};\nconst simpleRulesByAnnotation = {};\nsimpleRules.forEach(rule => {\n simpleRulesByAnnotation[rule.annotation] = rule;\n});\nexport const untransformValue = (json, type, superJson) => {\n if (isArray(type)) {\n switch (type[0]) {\n case 'symbol':\n return symbolRule.untransform(json, type, superJson);\n case 'class':\n return classRule.untransform(json, type, superJson);\n case 'custom':\n return customRule.untransform(json, type, superJson);\n case 'typed-array':\n return typedArrayRule.untransform(json, type, superJson);\n default:\n throw new Error('Unknown transformation: ' + type);\n }\n }\n else {\n const transformation = simpleRulesByAnnotation[type];\n if (!transformation) {\n throw new Error('Unknown transformation: ' + type);\n }\n return transformation.untransform(json, superJson);\n }\n};\n//# sourceMappingURL=transformer.js.map","import { isMap, isArray, isPlainObject, isSet } from './is.js';\nimport { includes } from './util.js';\nconst getNthKey = (value, n) => {\n if (n > value.size)\n throw new Error('index out of bounds');\n const keys = value.keys();\n while (n > 0) {\n keys.next();\n n--;\n }\n return keys.next().value;\n};\nfunction validatePath(path) {\n if (includes(path, '__proto__')) {\n throw new Error('__proto__ is not allowed as a property');\n }\n if (includes(path, 'prototype')) {\n throw new Error('prototype is not allowed as a property');\n }\n if (includes(path, 'constructor')) {\n throw new Error('constructor is not allowed as a property');\n }\n}\nexport const getDeep = (object, path) => {\n validatePath(path);\n for (let i = 0; i < path.length; i++) {\n const key = path[i];\n if (isSet(object)) {\n object = getNthKey(object, +key);\n }\n else if (isMap(object)) {\n const row = +key;\n const type = +path[++i] === 0 ? 'key' : 'value';\n const keyOfRow = getNthKey(object, row);\n switch (type) {\n case 'key':\n object = keyOfRow;\n break;\n case 'value':\n object = object.get(keyOfRow);\n break;\n }\n }\n else {\n object = object[key];\n }\n }\n return object;\n};\nexport const setDeep = (object, path, mapper) => {\n validatePath(path);\n if (path.length === 0) {\n return mapper(object);\n }\n let parent = object;\n for (let i = 0; i < path.length - 1; i++) {\n const key = path[i];\n if (isArray(parent)) {\n const index = +key;\n parent = parent[index];\n }\n else if (isPlainObject(parent)) {\n parent = parent[key];\n }\n else if (isSet(parent)) {\n const row = +key;\n parent = getNthKey(parent, row);\n }\n else if (isMap(parent)) {\n const isEnd = i === path.length - 2;\n if (isEnd) {\n break;\n }\n const row = +key;\n const type = +path[++i] === 0 ? 'key' : 'value';\n const keyOfRow = getNthKey(parent, row);\n switch (type) {\n case 'key':\n parent = keyOfRow;\n break;\n case 'value':\n parent = parent.get(keyOfRow);\n break;\n }\n }\n }\n const lastKey = path[path.length - 1];\n if (isArray(parent)) {\n parent[+lastKey] = mapper(parent[+lastKey]);\n }\n else if (isPlainObject(parent)) {\n parent[lastKey] = mapper(parent[lastKey]);\n }\n if (isSet(parent)) {\n const oldValue = getNthKey(parent, +lastKey);\n const newValue = mapper(oldValue);\n if (oldValue !== newValue) {\n parent.delete(oldValue);\n parent.add(newValue);\n }\n }\n if (isMap(parent)) {\n const row = +path[path.length - 2];\n const keyToRow = getNthKey(parent, row);\n const type = +lastKey === 0 ? 'key' : 'value';\n switch (type) {\n case 'key': {\n const newKey = mapper(keyToRow);\n parent.set(newKey, parent.get(keyToRow));\n if (newKey !== keyToRow) {\n parent.delete(keyToRow);\n }\n break;\n }\n case 'value': {\n parent.set(keyToRow, mapper(parent.get(keyToRow)));\n break;\n }\n }\n }\n return object;\n};\n//# sourceMappingURL=accessDeep.js.map","import { isArray, isEmptyObject, isError, isMap, isPlainObject, isPrimitive, isSet, } from './is.js';\nimport { escapeKey, stringifyPath } from './pathstringifier.js';\nimport { isInstanceOfRegisteredClass, transformValue, untransformValue, } from './transformer.js';\nimport { includes, forEach } from './util.js';\nimport { parsePath } from './pathstringifier.js';\nimport { getDeep, setDeep } from './accessDeep.js';\nconst enableLegacyPaths = (version) => version < 1;\nfunction traverse(tree, walker, version, origin = []) {\n if (!tree) {\n return;\n }\n const legacyPaths = enableLegacyPaths(version);\n if (!isArray(tree)) {\n forEach(tree, (subtree, key) => traverse(subtree, walker, version, [\n ...origin,\n ...parsePath(key, legacyPaths),\n ]));\n return;\n }\n const [nodeValue, children] = tree;\n if (children) {\n forEach(children, (child, key) => {\n traverse(child, walker, version, [\n ...origin,\n ...parsePath(key, legacyPaths),\n ]);\n });\n }\n walker(nodeValue, origin);\n}\nexport function applyValueAnnotations(plain, annotations, version, superJson) {\n traverse(annotations, (type, path) => {\n plain = setDeep(plain, path, v => untransformValue(v, type, superJson));\n }, version);\n return plain;\n}\nexport function applyReferentialEqualityAnnotations(plain, annotations, version) {\n const legacyPaths = enableLegacyPaths(version);\n function apply(identicalPaths, path) {\n const object = getDeep(plain, parsePath(path, legacyPaths));\n identicalPaths\n .map(path => parsePath(path, legacyPaths))\n .forEach(identicalObjectPath => {\n plain = setDeep(plain, identicalObjectPath, () => object);\n });\n }\n if (isArray(annotations)) {\n const [root, other] = annotations;\n root.forEach(identicalPath => {\n plain = setDeep(plain, parsePath(identicalPath, legacyPaths), () => plain);\n });\n if (other) {\n forEach(other, apply);\n }\n }\n else {\n forEach(annotations, apply);\n }\n return plain;\n}\nconst isDeep = (object, superJson) => isPlainObject(object) ||\n isArray(object) ||\n isMap(object) ||\n isSet(object) ||\n isError(object) ||\n isInstanceOfRegisteredClass(object, superJson);\nfunction addIdentity(object, path, identities) {\n const existingSet = identities.get(object);\n if (existingSet) {\n existingSet.push(path);\n }\n else {\n identities.set(object, [path]);\n }\n}\nexport function generateReferentialEqualityAnnotations(identitites, dedupe) {\n const result = {};\n let rootEqualityPaths = undefined;\n identitites.forEach(paths => {\n if (paths.length <= 1) {\n return;\n }\n // if we're not deduping, all of these objects continue existing.\n // putting the shortest path first makes it easier to parse for humans\n // if we're deduping though, only the first entry will still exist, so we can't do this optimisation.\n if (!dedupe) {\n paths = paths\n .map(path => path.map(String))\n .sort((a, b) => a.length - b.length);\n }\n const [representativePath, ...identicalPaths] = paths;\n if (representativePath.length === 0) {\n rootEqualityPaths = identicalPaths.map(stringifyPath);\n }\n else {\n result[stringifyPath(representativePath)] = identicalPaths.map(stringifyPath);\n }\n });\n if (rootEqualityPaths) {\n if (isEmptyObject(result)) {\n return [rootEqualityPaths];\n }\n else {\n return [rootEqualityPaths, result];\n }\n }\n else {\n return isEmptyObject(result) ? undefined : result;\n }\n}\nexport const walker = (object, identities, superJson, dedupe, path = [], objectsInThisPath = [], seenObjects = new Map()) => {\n const primitive = isPrimitive(object);\n if (!primitive) {\n addIdentity(object, path, identities);\n const seen = seenObjects.get(object);\n if (seen) {\n // short-circuit result if we've seen this object before\n return dedupe\n ? {\n transformedValue: null,\n }\n : seen;\n }\n }\n if (!isDeep(object, superJson)) {\n const transformed = transformValue(object, superJson);\n const result = transformed\n ? {\n transformedValue: transformed.value,\n annotations: [transformed.type],\n }\n : {\n transformedValue: object,\n };\n if (!primitive) {\n seenObjects.set(object, result);\n }\n return result;\n }\n if (includes(objectsInThisPath, object)) {\n // prevent circular references\n return {\n transformedValue: null,\n };\n }\n const transformationResult = transformValue(object, superJson);\n const transformed = transformationResult?.value ?? object;\n const transformedValue = isArray(transformed) ? [] : {};\n const innerAnnotations = {};\n forEach(transformed, (value, index) => {\n if (index === '__proto__' ||\n index === 'constructor' ||\n index === 'prototype') {\n throw new Error(`Detected property ${index}. This is a prototype pollution risk, please remove it from your object.`);\n }\n const recursiveResult = walker(value, identities, superJson, dedupe, [...path, index], [...objectsInThisPath, object], seenObjects);\n transformedValue[index] = recursiveResult.transformedValue;\n if (isArray(recursiveResult.annotations)) {\n innerAnnotations[escapeKey(index)] = recursiveResult.annotations;\n }\n else if (isPlainObject(recursiveResult.annotations)) {\n forEach(recursiveResult.annotations, (tree, key) => {\n innerAnnotations[escapeKey(index) + '.' + key] = tree;\n });\n }\n });\n const result = isEmptyObject(innerAnnotations)\n ? {\n transformedValue,\n annotations: !!transformationResult\n ? [transformationResult.type]\n : undefined,\n }\n : {\n transformedValue,\n annotations: !!transformationResult\n ? [transformationResult.type, innerAnnotations]\n : innerAnnotations,\n };\n if (!primitive) {\n seenObjects.set(object, result);\n }\n return result;\n};\n//# sourceMappingURL=plainer.js.map","/** Returns the object type of the given payload */\nexport function getType(payload) {\n return Object.prototype.toString.call(payload).slice(8, -1);\n}\n","import { getType } from './getType.js';\n/** Returns whether the payload is an array */\nexport function isArray(payload) {\n return getType(payload) === 'Array';\n}\n","import { getType } from './getType.js';\n/**\n * Returns whether the payload is a plain JavaScript object (excluding special classes or objects\n * with other prototypes)\n */\nexport function isPlainObject(payload) {\n if (getType(payload) !== 'Object')\n return false;\n const prototype = Object.getPrototypeOf(payload);\n return !!prototype && prototype.constructor === Object && prototype === Object.prototype;\n}\n","import { isArray, isPlainObject } from 'is-what';\nfunction assignProp(carry, key, newVal, originalObject, includeNonenumerable) {\n const propType = {}.propertyIsEnumerable.call(originalObject, key)\n ? 'enumerable'\n : 'nonenumerable';\n if (propType === 'enumerable')\n carry[key] = newVal;\n if (includeNonenumerable && propType === 'nonenumerable') {\n Object.defineProperty(carry, key, {\n value: newVal,\n enumerable: false,\n writable: true,\n configurable: true,\n });\n }\n}\n/**\n * Copy (clone) an object and all its props recursively to get rid of any prop referenced of the\n * original object. Arrays are also cloned, however objects inside arrays are still linked.\n *\n * @param target Target can be anything\n * @param [options={}] See type {@link Options} for more details.\n *\n * - `{ props: ['key1'] }` will only copy the `key1` property. When using this you will need to cast\n * the return type manually (in order to keep the TS implementation in here simple I didn't\n * built a complex auto resolved type for those few cases people want to use this option)\n * - `{ nonenumerable: true }` will copy all non-enumerable properties. Default is `{}`\n *\n * @returns The target with replaced values\n */\nexport function copy(target, options = {}) {\n if (isArray(target)) {\n return target.map((item) => copy(item, options));\n }\n if (!isPlainObject(target)) {\n return target;\n }\n const props = Object.getOwnPropertyNames(target);\n const symbols = Object.getOwnPropertySymbols(target);\n return [...props, ...symbols].reduce((carry, key) => {\n // Skip __proto__ properties to prevent prototype pollution\n if (key === '__proto__')\n return carry;\n if (isArray(options.props) && !options.props.includes(key)) {\n return carry;\n }\n const val = target[key];\n const newVal = copy(val, options);\n assignProp(carry, key, newVal, target, options.nonenumerable);\n return carry;\n }, {});\n}\n","import { ClassRegistry } from './class-registry.js';\nimport { Registry } from './registry.js';\nimport { CustomTransformerRegistry, } from './custom-transformer-registry.js';\nimport { applyReferentialEqualityAnnotations, applyValueAnnotations, generateReferentialEqualityAnnotations, walker, } from './plainer.js';\nimport { copy } from 'copy-anything';\nclass SuperJSON {\n /**\n * @param dedupeReferentialEqualities If true, SuperJSON will make sure only one instance of referentially equal objects are serialized and the rest are replaced with `null`.\n */\n constructor({ dedupe = false, } = {}) {\n this.classRegistry = new ClassRegistry();\n this.symbolRegistry = new Registry(s => s.description ?? '');\n this.customTransformerRegistry = new CustomTransformerRegistry();\n this.allowedErrorProps = [];\n this.dedupe = dedupe;\n }\n serialize(object) {\n const identities = new Map();\n const output = walker(object, identities, this, this.dedupe);\n const res = {\n json: output.transformedValue,\n };\n if (output.annotations) {\n res.meta = {\n ...res.meta,\n values: output.annotations,\n };\n }\n const equalityAnnotations = generateReferentialEqualityAnnotations(identities, this.dedupe);\n if (equalityAnnotations) {\n res.meta = {\n ...res.meta,\n referentialEqualities: equalityAnnotations,\n };\n }\n if (res.meta)\n res.meta.v = 1;\n return res;\n }\n deserialize(payload, options) {\n const { json, meta } = payload;\n let result = options?.inPlace ? json : copy(json);\n if (meta?.values) {\n result = applyValueAnnotations(result, meta.values, meta.v ?? 0, this);\n }\n if (meta?.referentialEqualities) {\n result = applyReferentialEqualityAnnotations(result, meta.referentialEqualities, meta.v ?? 0);\n }\n return result;\n }\n stringify(object) {\n return JSON.stringify(this.serialize(object));\n }\n parse(string) {\n return this.deserialize(JSON.parse(string), { inPlace: true });\n }\n registerClass(v, options) {\n this.classRegistry.register(v, options);\n }\n registerSymbol(v, identifier) {\n this.symbolRegistry.register(v, identifier);\n }\n registerCustom(transformer, name) {\n this.customTransformerRegistry.register({\n name,\n ...transformer,\n });\n }\n allowErrorProps(...props) {\n this.allowedErrorProps.push(...props);\n }\n}\nSuperJSON.defaultInstance = new SuperJSON();\nSuperJSON.serialize = SuperJSON.defaultInstance.serialize.bind(SuperJSON.defaultInstance);\nSuperJSON.deserialize = SuperJSON.defaultInstance.deserialize.bind(SuperJSON.defaultInstance);\nSuperJSON.stringify = SuperJSON.defaultInstance.stringify.bind(SuperJSON.defaultInstance);\nSuperJSON.parse = SuperJSON.defaultInstance.parse.bind(SuperJSON.defaultInstance);\nSuperJSON.registerClass = SuperJSON.defaultInstance.registerClass.bind(SuperJSON.defaultInstance);\nSuperJSON.registerSymbol = SuperJSON.defaultInstance.registerSymbol.bind(SuperJSON.defaultInstance);\nSuperJSON.registerCustom = SuperJSON.defaultInstance.registerCustom.bind(SuperJSON.defaultInstance);\nSuperJSON.allowErrorProps = SuperJSON.defaultInstance.allowErrorProps.bind(SuperJSON.defaultInstance);\nexport default SuperJSON;\nexport { SuperJSON };\nexport const serialize = SuperJSON.serialize;\nexport const deserialize = SuperJSON.deserialize;\nexport const stringify = SuperJSON.stringify;\nexport const parse = SuperJSON.parse;\nexport const registerClass = SuperJSON.registerClass;\nexport const registerCustom = SuperJSON.registerCustom;\nexport const registerSymbol = SuperJSON.registerSymbol;\nexport const allowErrorProps = SuperJSON.allowErrorProps;\n//# sourceMappingURL=index.js.map","import type { Mastra } from '@mastra/core';\nimport type { RequestContext } from '@mastra/core/di';\nimport type { SystemMessage } from '@mastra/core/llm';\nimport type { StepWithComponent, Workflow, WorkflowInfo } from '@mastra/core/workflows';\nimport { toStandardSchema, standardSchemaToJSONSchema } from '@mastra/schema-compat/schema';\nimport type { PublicSchema } from '@mastra/schema-compat/schema';\n\nimport { stringify } from 'superjson';\nimport { MASTRA_RESOURCE_ID_KEY } from './constants';\nimport { HTTPException } from './http-exception';\n\n/**\n * Convert any PublicSchema to a JSON Schema.\n * Uses toStandardSchema to handle all schema types (Zod v4, AI SDK Schema, JSON Schema).\n */\nfunction schemaToJsonSchema(schema: PublicSchema<unknown> | undefined) {\n if (!schema) return undefined;\n\n // Convert any PublicSchema to StandardSchemaWithJSON, then extract JSON Schema\n const standardSchema = toStandardSchema(schema);\n return standardSchemaToJSONSchema(standardSchema);\n}\n\n/**\n * Normalizes a route path to ensure consistent formatting.\n * - Removes leading/trailing whitespace\n * - Validates no path traversal (..), query strings (?), or fragments (#)\n * - Collapses multiple consecutive slashes\n * - Removes trailing slashes\n * - Ensures leading slash (unless empty)\n *\n * @param path - The route path to normalize\n * @returns The normalized path (empty string for root paths)\n * @throws Error if path contains invalid characters\n */\nexport function normalizeRoutePath(path: string): string {\n let normalized = path.trim();\n if (normalized.includes('..') || normalized.includes('?') || normalized.includes('#')) {\n throw new Error(`Invalid route path: \"${path}\". Path cannot contain '..', '?', or '#'`);\n }\n normalized = normalized.replace(/\\/+/g, '/');\n if (normalized === '/' || normalized === '') {\n return '';\n }\n if (normalized.endsWith('/')) {\n normalized = normalized.slice(0, -1);\n }\n if (!normalized.startsWith('/')) {\n normalized = `/${normalized}`;\n }\n return normalized;\n}\n\nconst DEFAULT_STORED_RESOURCE_SCOPE_METADATA_KEY = 'mastra.resourceId';\n\nexport type StoredResourceScope = {\n metadataKey: string;\n value: string;\n};\n\nexport type StoredResourceLike = {\n metadata?: Record<string, unknown> | null;\n};\n\nexport async function getStoredResourceScope(\n mastra: Pick<Mastra, 'getServer'>,\n requestContext: RequestContext | undefined,\n): Promise<StoredResourceScope | undefined> {\n const scopeConfig = mastra?.getServer?.()?.storedResources?.scope;\n if (!scopeConfig) {\n return undefined;\n }\n\n const options = scopeConfig === true ? {} : scopeConfig;\n const metadataKey = options.metadataKey ?? DEFAULT_STORED_RESOURCE_SCOPE_METADATA_KEY;\n const user = requestContext?.get('user');\n const resolved = options.resolve\n ? await options.resolve({ requestContext, user })\n : (requestContext?.get(MASTRA_RESOURCE_ID_KEY) as string | undefined);\n\n if (!resolved) {\n if (options.requireScope === false) {\n return undefined;\n }\n throw new HTTPException(403, { message: 'Stored resource scope is required' });\n }\n\n return { metadataKey, value: resolved };\n}\n\nexport function scopeStoredResourceMetadata(\n metadata: Record<string, unknown> | undefined,\n scope: StoredResourceScope | undefined,\n): Record<string, unknown> | undefined {\n if (!scope) {\n return metadata;\n }\n\n return {\n ...(metadata ?? {}),\n [scope.metadataKey]: scope.value,\n };\n}\n\nexport function assertStoredResourceScope(\n resource: StoredResourceLike | null | undefined,\n scope: StoredResourceScope | undefined,\n): void {\n if (!resource || !scope) {\n return;\n }\n\n if (resource.metadata?.[scope.metadataKey] !== scope.value) {\n throw new HTTPException(404, { message: 'Stored resource not found' });\n }\n}\n\n/**\n * Check if a schema looks like a processor step schema.\n * Processor step schemas are discriminated unions on 'phase' with specific values.\n */\nfunction looksLikeProcessorStepSchema(schema: PublicSchema<unknown> | undefined): boolean {\n if (!schema) return false;\n\n try {\n const jsonSchema = standardSchemaToJSONSchema(toStandardSchema(schema)) as Record<string, unknown> | undefined;\n if (!jsonSchema) return false;\n\n // Check for discriminated union pattern: anyOf/oneOf with phase discriminator\n const variants = (jsonSchema.anyOf || jsonSchema.oneOf) as Array<Record<string, unknown>> | undefined;\n if (!variants || !Array.isArray(variants)) return false;\n\n // Check if all variants have a 'phase' property with processor phase values\n const processorPhases = new Set(['input', 'inputStep', 'outputStream', 'outputResult', 'outputStep', 'toolResult']);\n\n for (const variant of variants) {\n const properties = variant.properties as Record<string, unknown> | undefined;\n if (!properties?.phase) return false;\n\n const phaseSchema = properties.phase as Record<string, unknown>;\n const phaseConst = phaseSchema?.const as string | undefined;\n const phaseEnum = Array.isArray(phaseSchema?.enum) ? (phaseSchema.enum as string[]) : [];\n const phaseValues = phaseConst ? [phaseConst] : phaseEnum;\n\n if (!phaseValues.length || phaseValues.some(phase => !processorPhases.has(phase))) {\n return false;\n }\n }\n\n return variants.length > 0;\n } catch {\n return false;\n }\n}\n\nfunction getSteps(steps: Record<string, StepWithComponent>, path?: string) {\n return Object.entries(steps).reduce<any>((acc, [key, step]) => {\n const fullKey = path ? `${path}.${key}` : key;\n acc[fullKey] = {\n id: step.id,\n description: step.description,\n inputSchema: step.inputSchema ? stringify(schemaToJsonSchema(step.inputSchema)) : undefined,\n outputSchema: step.outputSchema ? stringify(schemaToJsonSchema(step.outputSchema)) : undefined,\n resumeSchema: step.resumeSchema ? stringify(schemaToJsonSchema(step.resumeSchema)) : undefined,\n suspendSchema: step.suspendSchema ? stringify(schemaToJsonSchema(step.suspendSchema)) : undefined,\n stateSchema: step.stateSchema ? stringify(schemaToJsonSchema(step.stateSchema)) : undefined,\n isWorkflow: step.component === 'WORKFLOW',\n component: step.component,\n metadata: step.metadata,\n };\n\n if (step.component === 'WORKFLOW' && step.steps) {\n const nestedSteps = getSteps(step.steps, fullKey) || {};\n acc = { ...acc, ...nestedSteps };\n }\n\n return acc;\n }, {});\n}\n\nexport function getWorkflowInfo(workflow: Workflow, partial: boolean = false): WorkflowInfo {\n if (partial) {\n // Return minimal info in partial mode\n return {\n name: workflow.name,\n description: workflow.description,\n metadata: workflow.metadata,\n stepCount: Object.keys(workflow.steps).length,\n stepGraph: workflow.serializedStepGraph,\n options: workflow.options,\n steps: {},\n allSteps: {},\n inputSchema: undefined,\n outputSchema: undefined,\n stateSchema: undefined,\n requestContextSchema: undefined,\n origin: workflow.origin,\n } as WorkflowInfo;\n }\n\n return {\n name: workflow.name,\n description: workflow.description,\n metadata: workflow.metadata,\n origin: workflow.origin,\n steps: Object.entries(workflow.steps).reduce<any>((acc, [key, step]) => {\n acc[key] = {\n id: step.id,\n description: step.description,\n inputSchema: step.inputSchema ? stringify(schemaToJsonSchema(step.inputSchema)) : undefined,\n outputSchema: step.outputSchema ? stringify(schemaToJsonSchema(step.outputSchema)) : undefined,\n resumeSchema: step.resumeSchema ? stringify(schemaToJsonSchema(step.resumeSchema)) : undefined,\n suspendSchema: step.suspendSchema ? stringify(schemaToJsonSchema(step.suspendSchema)) : undefined,\n stateSchema: step.stateSchema ? stringify(schemaToJsonSchema(step.stateSchema)) : undefined,\n requestContextSchema: step.requestContextSchema\n ? stringify(schemaToJsonSchema(step.requestContextSchema))\n : undefined,\n component: step.component,\n metadata: step.metadata,\n };\n return acc;\n }, {}),\n allSteps: getSteps(workflow.steps) || {},\n stepGraph: workflow.serializedStepGraph,\n inputSchema: workflow.inputSchema ? stringify(schemaToJsonSchema(workflow.inputSchema)) : undefined,\n outputSchema: workflow.outputSchema ? stringify(schemaToJsonSchema(workflow.outputSchema)) : undefined,\n stateSchema: workflow.stateSchema ? stringify(schemaToJsonSchema(workflow.stateSchema)) : undefined,\n requestContextSchema: workflow.requestContextSchema\n ? stringify(schemaToJsonSchema(workflow.requestContextSchema))\n : undefined,\n options: workflow.options,\n isProcessorWorkflow: workflow.type === 'processor' || looksLikeProcessorStepSchema(workflow.inputSchema),\n };\n}\n\n/**\n * Workflow Registry for temporarily registering additional workflows\n * that are not part of the user's Mastra instance (e.g., internal template workflows)\n */\nexport class WorkflowRegistry {\n private static additionalWorkflows: Record<string, Workflow> = {};\n\n /**\n * Register a workflow temporarily\n */\n static registerTemporaryWorkflow(id: string, workflow: Workflow): void {\n this.additionalWorkflows[id] = workflow;\n }\n\n /**\n * Register all workflows from map\n */\n static registerTemporaryWorkflows(\n workflows: Record<string, Workflow>,\n mastra?: Mastra<any, any, any, any, any, any, any, any, any>,\n ): void {\n for (const [id, workflow] of Object.entries(workflows)) {\n // Register Mastra instance with the workflow if provided\n if (mastra) {\n workflow.__registerMastra(mastra);\n workflow.__registerPrimitives({\n logger: mastra.getLogger(),\n storage: mastra.getStorage(),\n agents: mastra.listAgents(),\n tts: mastra.getTTS(),\n vectors: mastra.listVectors(),\n });\n }\n this.additionalWorkflows[id] = workflow;\n }\n }\n\n /**\n * Get a workflow by ID from the registry (returns undefined if not found)\n */\n static getWorkflow(workflowId: string): Workflow | undefined {\n return this.additionalWorkflows[workflowId];\n }\n\n /**\n * Get all workflows from the registry\n */\n static getAllWorkflows(): Record<string, Workflow> {\n return { ...this.additionalWorkflows };\n }\n\n /**\n * Clean up a temporary workflow\n */\n static cleanupTemporaryWorkflow(workflowId: string): void {\n delete this.additionalWorkflows[workflowId];\n }\n /**\n * Clean up all registered workflows\n */\n static cleanup(): void {\n // Clear all workflows (since we register all agent-builder workflows each time)\n this.additionalWorkflows = {};\n }\n\n /**\n * Check if a workflow ID is a valid agent-builder workflow\n */\n static isAgentBuilderWorkflow(workflowId: string): boolean {\n return workflowId in this.additionalWorkflows;\n }\n\n /**\n * Get all registered temporary workflow IDs (for debugging)\n */\n static getRegisteredWorkflowIds(): string[] {\n return Object.keys(this.additionalWorkflows);\n }\n}\n\n/**\n * Converts a string to a URL-friendly slug.\n * Lowercases, replaces non-alphanumeric characters with hyphens,\n * collapses consecutive hyphens, and trims leading/trailing hyphens.\n */\nexport function toSlug(input: string): string {\n return input\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, '-')\n .replace(/^-+|-+$/g, '');\n}\n\nexport function convertInstructionsToString(message: SystemMessage): string {\n if (!message) {\n return '';\n }\n\n if (typeof message === 'string') {\n return message;\n }\n\n if (Array.isArray(message)) {\n return message\n .map(m => {\n if (typeof m === 'string') {\n return m;\n }\n // Safely extract content from message objects\n return typeof m.content === 'string' ? m.content : '';\n })\n .filter(content => content) // Remove empty strings\n .join('\\n');\n }\n\n // Handle single message object - safely extract content\n return typeof message.content === 'string' ? message.content : '';\n}\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils-WcR0QSUB.cjs","names":["getType","isPlainObject","isArray","isArray","isArray","isPlainObject","isArray","isPlainObject","standardSchemaToJSONSchema","toStandardSchema","MASTRA_RESOURCE_ID_KEY","HTTPException"],"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/superjson/2.2.6/b5fefaeae5105e92d752f15cd158913d848e5075a9f80278488919f0941a70dd/node_modules/superjson/dist/double-indexed-kv.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/superjson/2.2.6/b5fefaeae5105e92d752f15cd158913d848e5075a9f80278488919f0941a70dd/node_modules/superjson/dist/registry.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/superjson/2.2.6/b5fefaeae5105e92d752f15cd158913d848e5075a9f80278488919f0941a70dd/node_modules/superjson/dist/class-registry.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/superjson/2.2.6/b5fefaeae5105e92d752f15cd158913d848e5075a9f80278488919f0941a70dd/node_modules/superjson/dist/util.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/superjson/2.2.6/b5fefaeae5105e92d752f15cd158913d848e5075a9f80278488919f0941a70dd/node_modules/superjson/dist/custom-transformer-registry.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/superjson/2.2.6/b5fefaeae5105e92d752f15cd158913d848e5075a9f80278488919f0941a70dd/node_modules/superjson/dist/is.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/superjson/2.2.6/b5fefaeae5105e92d752f15cd158913d848e5075a9f80278488919f0941a70dd/node_modules/superjson/dist/pathstringifier.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/superjson/2.2.6/b5fefaeae5105e92d752f15cd158913d848e5075a9f80278488919f0941a70dd/node_modules/superjson/dist/transformer.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/superjson/2.2.6/b5fefaeae5105e92d752f15cd158913d848e5075a9f80278488919f0941a70dd/node_modules/superjson/dist/accessDeep.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/superjson/2.2.6/b5fefaeae5105e92d752f15cd158913d848e5075a9f80278488919f0941a70dd/node_modules/superjson/dist/plainer.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-what/5.5.0/6a17e1f04f109bfa55bd3a32beb0649d4f15de71496a7b56ad89c5617c48dbcf/node_modules/is-what/dist/getType.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-what/5.5.0/6a17e1f04f109bfa55bd3a32beb0649d4f15de71496a7b56ad89c5617c48dbcf/node_modules/is-what/dist/isArray.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/is-what/5.5.0/6a17e1f04f109bfa55bd3a32beb0649d4f15de71496a7b56ad89c5617c48dbcf/node_modules/is-what/dist/isPlainObject.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/copy-anything/4.0.5/22cc8bea9fb94edd0adbb1b532950c62b530da34e51811884acea49340e0256c/node_modules/copy-anything/dist/index.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/superjson/2.2.6/b5fefaeae5105e92d752f15cd158913d848e5075a9f80278488919f0941a70dd/node_modules/superjson/dist/index.js","../src/server/utils.ts"],"sourcesContent":["export class DoubleIndexedKV {\n constructor() {\n this.keyToValue = new Map();\n this.valueToKey = new Map();\n }\n set(key, value) {\n this.keyToValue.set(key, value);\n this.valueToKey.set(value, key);\n }\n getByKey(key) {\n return this.keyToValue.get(key);\n }\n getByValue(value) {\n return this.valueToKey.get(value);\n }\n clear() {\n this.keyToValue.clear();\n this.valueToKey.clear();\n }\n}\n//# sourceMappingURL=double-indexed-kv.js.map","import { DoubleIndexedKV } from './double-indexed-kv.js';\nexport class Registry {\n constructor(generateIdentifier) {\n this.generateIdentifier = generateIdentifier;\n this.kv = new DoubleIndexedKV();\n }\n register(value, identifier) {\n if (this.kv.getByValue(value)) {\n return;\n }\n if (!identifier) {\n identifier = this.generateIdentifier(value);\n }\n this.kv.set(identifier, value);\n }\n clear() {\n this.kv.clear();\n }\n getIdentifier(value) {\n return this.kv.getByValue(value);\n }\n getValue(identifier) {\n return this.kv.getByKey(identifier);\n }\n}\n//# sourceMappingURL=registry.js.map","import { Registry } from './registry.js';\nexport class ClassRegistry extends Registry {\n constructor() {\n super(c => c.name);\n this.classToAllowedProps = new Map();\n }\n register(value, options) {\n if (typeof options === 'object') {\n if (options.allowProps) {\n this.classToAllowedProps.set(value, options.allowProps);\n }\n super.register(value, options.identifier);\n }\n else {\n super.register(value, options);\n }\n }\n getAllowedProps(value) {\n return this.classToAllowedProps.get(value);\n }\n}\n//# sourceMappingURL=class-registry.js.map","function valuesOfObj(record) {\n if ('values' in Object) {\n // eslint-disable-next-line es5/no-es6-methods\n return Object.values(record);\n }\n const values = [];\n // eslint-disable-next-line no-restricted-syntax\n for (const key in record) {\n if (record.hasOwnProperty(key)) {\n values.push(record[key]);\n }\n }\n return values;\n}\nexport function find(record, predicate) {\n const values = valuesOfObj(record);\n if ('find' in values) {\n // eslint-disable-next-line es5/no-es6-methods\n return values.find(predicate);\n }\n const valuesNotNever = values;\n for (let i = 0; i < valuesNotNever.length; i++) {\n const value = valuesNotNever[i];\n if (predicate(value)) {\n return value;\n }\n }\n return undefined;\n}\nexport function forEach(record, run) {\n Object.entries(record).forEach(([key, value]) => run(value, key));\n}\nexport function includes(arr, value) {\n return arr.indexOf(value) !== -1;\n}\nexport function findArr(record, predicate) {\n for (let i = 0; i < record.length; i++) {\n const value = record[i];\n if (predicate(value)) {\n return value;\n }\n }\n return undefined;\n}\n//# sourceMappingURL=util.js.map","import { find } from './util.js';\nexport class CustomTransformerRegistry {\n constructor() {\n this.transfomers = {};\n }\n register(transformer) {\n this.transfomers[transformer.name] = transformer;\n }\n findApplicable(v) {\n return find(this.transfomers, transformer => transformer.isApplicable(v));\n }\n findByName(name) {\n return this.transfomers[name];\n }\n}\n//# sourceMappingURL=custom-transformer-registry.js.map","const getType = (payload) => Object.prototype.toString.call(payload).slice(8, -1);\nexport const isUndefined = (payload) => typeof payload === 'undefined';\nexport const isNull = (payload) => payload === null;\nexport const isPlainObject = (payload) => {\n if (typeof payload !== 'object' || payload === null)\n return false;\n if (payload === Object.prototype)\n return false;\n if (Object.getPrototypeOf(payload) === null)\n return true;\n return Object.getPrototypeOf(payload) === Object.prototype;\n};\nexport const isEmptyObject = (payload) => isPlainObject(payload) && Object.keys(payload).length === 0;\nexport const isArray = (payload) => Array.isArray(payload);\nexport const isString = (payload) => typeof payload === 'string';\nexport const isNumber = (payload) => typeof payload === 'number' && !isNaN(payload);\nexport const isBoolean = (payload) => typeof payload === 'boolean';\nexport const isRegExp = (payload) => payload instanceof RegExp;\nexport const isMap = (payload) => payload instanceof Map;\nexport const isSet = (payload) => payload instanceof Set;\nexport const isSymbol = (payload) => getType(payload) === 'Symbol';\nexport const isDate = (payload) => payload instanceof Date && !isNaN(payload.valueOf());\nexport const isError = (payload) => payload instanceof Error;\nexport const isNaNValue = (payload) => typeof payload === 'number' && isNaN(payload);\nexport const isPrimitive = (payload) => isBoolean(payload) ||\n isNull(payload) ||\n isUndefined(payload) ||\n isNumber(payload) ||\n isString(payload) ||\n isSymbol(payload);\nexport const isBigint = (payload) => typeof payload === 'bigint';\nexport const isInfinite = (payload) => payload === Infinity || payload === -Infinity;\nexport const isTypedArray = (payload) => ArrayBuffer.isView(payload) && !(payload instanceof DataView);\nexport const isURL = (payload) => payload instanceof URL;\n//# sourceMappingURL=is.js.map","export const escapeKey = (key) => key.replace(/\\\\/g, '\\\\\\\\').replace(/\\./g, '\\\\.');\nexport const stringifyPath = (path) => path\n .map(String)\n .map(escapeKey)\n .join('.');\nexport const parsePath = (string, legacyPaths) => {\n const result = [];\n let segment = '';\n for (let i = 0; i < string.length; i++) {\n let char = string.charAt(i);\n if (!legacyPaths && char === '\\\\') {\n const escaped = string.charAt(i + 1);\n if (escaped === '\\\\') {\n segment += '\\\\';\n i++;\n continue;\n }\n else if (escaped !== '.') {\n throw Error('invalid path');\n }\n }\n const isEscapedDot = char === '\\\\' && string.charAt(i + 1) === '.';\n if (isEscapedDot) {\n segment += '.';\n i++;\n continue;\n }\n const isEndOfSegment = char === '.';\n if (isEndOfSegment) {\n result.push(segment);\n segment = '';\n continue;\n }\n segment += char;\n }\n const lastSegment = segment;\n result.push(lastSegment);\n return result;\n};\n//# sourceMappingURL=pathstringifier.js.map","import { isBigint, isDate, isInfinite, isMap, isNaNValue, isRegExp, isSet, isUndefined, isSymbol, isArray, isError, isTypedArray, isURL, } from './is.js';\nimport { findArr } from './util.js';\nfunction simpleTransformation(isApplicable, annotation, transform, untransform) {\n return {\n isApplicable,\n annotation,\n transform,\n untransform,\n };\n}\nconst simpleRules = [\n simpleTransformation(isUndefined, 'undefined', () => null, () => undefined),\n simpleTransformation(isBigint, 'bigint', v => v.toString(), v => {\n if (typeof BigInt !== 'undefined') {\n return BigInt(v);\n }\n console.error('Please add a BigInt polyfill.');\n return v;\n }),\n simpleTransformation(isDate, 'Date', v => v.toISOString(), v => new Date(v)),\n simpleTransformation(isError, 'Error', (v, superJson) => {\n const baseError = {\n name: v.name,\n message: v.message,\n };\n if ('cause' in v) {\n baseError.cause = v.cause;\n }\n superJson.allowedErrorProps.forEach(prop => {\n baseError[prop] = v[prop];\n });\n return baseError;\n }, (v, superJson) => {\n const e = new Error(v.message, { cause: v.cause });\n e.name = v.name;\n e.stack = v.stack;\n superJson.allowedErrorProps.forEach(prop => {\n e[prop] = v[prop];\n });\n return e;\n }),\n simpleTransformation(isRegExp, 'regexp', v => '' + v, regex => {\n const body = regex.slice(1, regex.lastIndexOf('/'));\n const flags = regex.slice(regex.lastIndexOf('/') + 1);\n return new RegExp(body, flags);\n }),\n simpleTransformation(isSet, 'set', \n // (sets only exist in es6+)\n // eslint-disable-next-line es5/no-es6-methods\n v => [...v.values()], v => new Set(v)),\n simpleTransformation(isMap, 'map', v => [...v.entries()], v => new Map(v)),\n simpleTransformation((v) => isNaNValue(v) || isInfinite(v), 'number', v => {\n if (isNaNValue(v)) {\n return 'NaN';\n }\n if (v > 0) {\n return 'Infinity';\n }\n else {\n return '-Infinity';\n }\n }, Number),\n simpleTransformation((v) => v === 0 && 1 / v === -Infinity, 'number', () => {\n return '-0';\n }, Number),\n simpleTransformation(isURL, 'URL', v => v.toString(), v => new URL(v)),\n];\nfunction compositeTransformation(isApplicable, annotation, transform, untransform) {\n return {\n isApplicable,\n annotation,\n transform,\n untransform,\n };\n}\nconst symbolRule = compositeTransformation((s, superJson) => {\n if (isSymbol(s)) {\n const isRegistered = !!superJson.symbolRegistry.getIdentifier(s);\n return isRegistered;\n }\n return false;\n}, (s, superJson) => {\n const identifier = superJson.symbolRegistry.getIdentifier(s);\n return ['symbol', identifier];\n}, v => v.description, (_, a, superJson) => {\n const value = superJson.symbolRegistry.getValue(a[1]);\n if (!value) {\n throw new Error('Trying to deserialize unknown symbol');\n }\n return value;\n});\nconst constructorToName = [\n Int8Array,\n Uint8Array,\n Int16Array,\n Uint16Array,\n Int32Array,\n Uint32Array,\n Float32Array,\n Float64Array,\n Uint8ClampedArray,\n].reduce((obj, ctor) => {\n obj[ctor.name] = ctor;\n return obj;\n}, {});\nconst typedArrayRule = compositeTransformation(isTypedArray, v => ['typed-array', v.constructor.name], v => [...v], (v, a) => {\n const ctor = constructorToName[a[1]];\n if (!ctor) {\n throw new Error('Trying to deserialize unknown typed array');\n }\n return new ctor(v);\n});\nexport function isInstanceOfRegisteredClass(potentialClass, superJson) {\n if (potentialClass?.constructor) {\n const isRegistered = !!superJson.classRegistry.getIdentifier(potentialClass.constructor);\n return isRegistered;\n }\n return false;\n}\nconst classRule = compositeTransformation(isInstanceOfRegisteredClass, (clazz, superJson) => {\n const identifier = superJson.classRegistry.getIdentifier(clazz.constructor);\n return ['class', identifier];\n}, (clazz, superJson) => {\n const allowedProps = superJson.classRegistry.getAllowedProps(clazz.constructor);\n if (!allowedProps) {\n return { ...clazz };\n }\n const result = {};\n allowedProps.forEach(prop => {\n result[prop] = clazz[prop];\n });\n return result;\n}, (v, a, superJson) => {\n const clazz = superJson.classRegistry.getValue(a[1]);\n if (!clazz) {\n throw new Error(`Trying to deserialize unknown class '${a[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`);\n }\n return Object.assign(Object.create(clazz.prototype), v);\n});\nconst customRule = compositeTransformation((value, superJson) => {\n return !!superJson.customTransformerRegistry.findApplicable(value);\n}, (value, superJson) => {\n const transformer = superJson.customTransformerRegistry.findApplicable(value);\n return ['custom', transformer.name];\n}, (value, superJson) => {\n const transformer = superJson.customTransformerRegistry.findApplicable(value);\n return transformer.serialize(value);\n}, (v, a, superJson) => {\n const transformer = superJson.customTransformerRegistry.findByName(a[1]);\n if (!transformer) {\n throw new Error('Trying to deserialize unknown custom value');\n }\n return transformer.deserialize(v);\n});\nconst compositeRules = [classRule, symbolRule, customRule, typedArrayRule];\nexport const transformValue = (value, superJson) => {\n const applicableCompositeRule = findArr(compositeRules, rule => rule.isApplicable(value, superJson));\n if (applicableCompositeRule) {\n return {\n value: applicableCompositeRule.transform(value, superJson),\n type: applicableCompositeRule.annotation(value, superJson),\n };\n }\n const applicableSimpleRule = findArr(simpleRules, rule => rule.isApplicable(value, superJson));\n if (applicableSimpleRule) {\n return {\n value: applicableSimpleRule.transform(value, superJson),\n type: applicableSimpleRule.annotation,\n };\n }\n return undefined;\n};\nconst simpleRulesByAnnotation = {};\nsimpleRules.forEach(rule => {\n simpleRulesByAnnotation[rule.annotation] = rule;\n});\nexport const untransformValue = (json, type, superJson) => {\n if (isArray(type)) {\n switch (type[0]) {\n case 'symbol':\n return symbolRule.untransform(json, type, superJson);\n case 'class':\n return classRule.untransform(json, type, superJson);\n case 'custom':\n return customRule.untransform(json, type, superJson);\n case 'typed-array':\n return typedArrayRule.untransform(json, type, superJson);\n default:\n throw new Error('Unknown transformation: ' + type);\n }\n }\n else {\n const transformation = simpleRulesByAnnotation[type];\n if (!transformation) {\n throw new Error('Unknown transformation: ' + type);\n }\n return transformation.untransform(json, superJson);\n }\n};\n//# sourceMappingURL=transformer.js.map","import { isMap, isArray, isPlainObject, isSet } from './is.js';\nimport { includes } from './util.js';\nconst getNthKey = (value, n) => {\n if (n > value.size)\n throw new Error('index out of bounds');\n const keys = value.keys();\n while (n > 0) {\n keys.next();\n n--;\n }\n return keys.next().value;\n};\nfunction validatePath(path) {\n if (includes(path, '__proto__')) {\n throw new Error('__proto__ is not allowed as a property');\n }\n if (includes(path, 'prototype')) {\n throw new Error('prototype is not allowed as a property');\n }\n if (includes(path, 'constructor')) {\n throw new Error('constructor is not allowed as a property');\n }\n}\nexport const getDeep = (object, path) => {\n validatePath(path);\n for (let i = 0; i < path.length; i++) {\n const key = path[i];\n if (isSet(object)) {\n object = getNthKey(object, +key);\n }\n else if (isMap(object)) {\n const row = +key;\n const type = +path[++i] === 0 ? 'key' : 'value';\n const keyOfRow = getNthKey(object, row);\n switch (type) {\n case 'key':\n object = keyOfRow;\n break;\n case 'value':\n object = object.get(keyOfRow);\n break;\n }\n }\n else {\n object = object[key];\n }\n }\n return object;\n};\nexport const setDeep = (object, path, mapper) => {\n validatePath(path);\n if (path.length === 0) {\n return mapper(object);\n }\n let parent = object;\n for (let i = 0; i < path.length - 1; i++) {\n const key = path[i];\n if (isArray(parent)) {\n const index = +key;\n parent = parent[index];\n }\n else if (isPlainObject(parent)) {\n parent = parent[key];\n }\n else if (isSet(parent)) {\n const row = +key;\n parent = getNthKey(parent, row);\n }\n else if (isMap(parent)) {\n const isEnd = i === path.length - 2;\n if (isEnd) {\n break;\n }\n const row = +key;\n const type = +path[++i] === 0 ? 'key' : 'value';\n const keyOfRow = getNthKey(parent, row);\n switch (type) {\n case 'key':\n parent = keyOfRow;\n break;\n case 'value':\n parent = parent.get(keyOfRow);\n break;\n }\n }\n }\n const lastKey = path[path.length - 1];\n if (isArray(parent)) {\n parent[+lastKey] = mapper(parent[+lastKey]);\n }\n else if (isPlainObject(parent)) {\n parent[lastKey] = mapper(parent[lastKey]);\n }\n if (isSet(parent)) {\n const oldValue = getNthKey(parent, +lastKey);\n const newValue = mapper(oldValue);\n if (oldValue !== newValue) {\n parent.delete(oldValue);\n parent.add(newValue);\n }\n }\n if (isMap(parent)) {\n const row = +path[path.length - 2];\n const keyToRow = getNthKey(parent, row);\n const type = +lastKey === 0 ? 'key' : 'value';\n switch (type) {\n case 'key': {\n const newKey = mapper(keyToRow);\n parent.set(newKey, parent.get(keyToRow));\n if (newKey !== keyToRow) {\n parent.delete(keyToRow);\n }\n break;\n }\n case 'value': {\n parent.set(keyToRow, mapper(parent.get(keyToRow)));\n break;\n }\n }\n }\n return object;\n};\n//# sourceMappingURL=accessDeep.js.map","import { isArray, isEmptyObject, isError, isMap, isPlainObject, isPrimitive, isSet, } from './is.js';\nimport { escapeKey, stringifyPath } from './pathstringifier.js';\nimport { isInstanceOfRegisteredClass, transformValue, untransformValue, } from './transformer.js';\nimport { includes, forEach } from './util.js';\nimport { parsePath } from './pathstringifier.js';\nimport { getDeep, setDeep } from './accessDeep.js';\nconst enableLegacyPaths = (version) => version < 1;\nfunction traverse(tree, walker, version, origin = []) {\n if (!tree) {\n return;\n }\n const legacyPaths = enableLegacyPaths(version);\n if (!isArray(tree)) {\n forEach(tree, (subtree, key) => traverse(subtree, walker, version, [\n ...origin,\n ...parsePath(key, legacyPaths),\n ]));\n return;\n }\n const [nodeValue, children] = tree;\n if (children) {\n forEach(children, (child, key) => {\n traverse(child, walker, version, [\n ...origin,\n ...parsePath(key, legacyPaths),\n ]);\n });\n }\n walker(nodeValue, origin);\n}\nexport function applyValueAnnotations(plain, annotations, version, superJson) {\n traverse(annotations, (type, path) => {\n plain = setDeep(plain, path, v => untransformValue(v, type, superJson));\n }, version);\n return plain;\n}\nexport function applyReferentialEqualityAnnotations(plain, annotations, version) {\n const legacyPaths = enableLegacyPaths(version);\n function apply(identicalPaths, path) {\n const object = getDeep(plain, parsePath(path, legacyPaths));\n identicalPaths\n .map(path => parsePath(path, legacyPaths))\n .forEach(identicalObjectPath => {\n plain = setDeep(plain, identicalObjectPath, () => object);\n });\n }\n if (isArray(annotations)) {\n const [root, other] = annotations;\n root.forEach(identicalPath => {\n plain = setDeep(plain, parsePath(identicalPath, legacyPaths), () => plain);\n });\n if (other) {\n forEach(other, apply);\n }\n }\n else {\n forEach(annotations, apply);\n }\n return plain;\n}\nconst isDeep = (object, superJson) => isPlainObject(object) ||\n isArray(object) ||\n isMap(object) ||\n isSet(object) ||\n isError(object) ||\n isInstanceOfRegisteredClass(object, superJson);\nfunction addIdentity(object, path, identities) {\n const existingSet = identities.get(object);\n if (existingSet) {\n existingSet.push(path);\n }\n else {\n identities.set(object, [path]);\n }\n}\nexport function generateReferentialEqualityAnnotations(identitites, dedupe) {\n const result = {};\n let rootEqualityPaths = undefined;\n identitites.forEach(paths => {\n if (paths.length <= 1) {\n return;\n }\n // if we're not deduping, all of these objects continue existing.\n // putting the shortest path first makes it easier to parse for humans\n // if we're deduping though, only the first entry will still exist, so we can't do this optimisation.\n if (!dedupe) {\n paths = paths\n .map(path => path.map(String))\n .sort((a, b) => a.length - b.length);\n }\n const [representativePath, ...identicalPaths] = paths;\n if (representativePath.length === 0) {\n rootEqualityPaths = identicalPaths.map(stringifyPath);\n }\n else {\n result[stringifyPath(representativePath)] = identicalPaths.map(stringifyPath);\n }\n });\n if (rootEqualityPaths) {\n if (isEmptyObject(result)) {\n return [rootEqualityPaths];\n }\n else {\n return [rootEqualityPaths, result];\n }\n }\n else {\n return isEmptyObject(result) ? undefined : result;\n }\n}\nexport const walker = (object, identities, superJson, dedupe, path = [], objectsInThisPath = [], seenObjects = new Map()) => {\n const primitive = isPrimitive(object);\n if (!primitive) {\n addIdentity(object, path, identities);\n const seen = seenObjects.get(object);\n if (seen) {\n // short-circuit result if we've seen this object before\n return dedupe\n ? {\n transformedValue: null,\n }\n : seen;\n }\n }\n if (!isDeep(object, superJson)) {\n const transformed = transformValue(object, superJson);\n const result = transformed\n ? {\n transformedValue: transformed.value,\n annotations: [transformed.type],\n }\n : {\n transformedValue: object,\n };\n if (!primitive) {\n seenObjects.set(object, result);\n }\n return result;\n }\n if (includes(objectsInThisPath, object)) {\n // prevent circular references\n return {\n transformedValue: null,\n };\n }\n const transformationResult = transformValue(object, superJson);\n const transformed = transformationResult?.value ?? object;\n const transformedValue = isArray(transformed) ? [] : {};\n const innerAnnotations = {};\n forEach(transformed, (value, index) => {\n if (index === '__proto__' ||\n index === 'constructor' ||\n index === 'prototype') {\n throw new Error(`Detected property ${index}. This is a prototype pollution risk, please remove it from your object.`);\n }\n const recursiveResult = walker(value, identities, superJson, dedupe, [...path, index], [...objectsInThisPath, object], seenObjects);\n transformedValue[index] = recursiveResult.transformedValue;\n if (isArray(recursiveResult.annotations)) {\n innerAnnotations[escapeKey(index)] = recursiveResult.annotations;\n }\n else if (isPlainObject(recursiveResult.annotations)) {\n forEach(recursiveResult.annotations, (tree, key) => {\n innerAnnotations[escapeKey(index) + '.' + key] = tree;\n });\n }\n });\n const result = isEmptyObject(innerAnnotations)\n ? {\n transformedValue,\n annotations: !!transformationResult\n ? [transformationResult.type]\n : undefined,\n }\n : {\n transformedValue,\n annotations: !!transformationResult\n ? [transformationResult.type, innerAnnotations]\n : innerAnnotations,\n };\n if (!primitive) {\n seenObjects.set(object, result);\n }\n return result;\n};\n//# sourceMappingURL=plainer.js.map","/** Returns the object type of the given payload */\nexport function getType(payload) {\n return Object.prototype.toString.call(payload).slice(8, -1);\n}\n","import { getType } from './getType.js';\n/** Returns whether the payload is an array */\nexport function isArray(payload) {\n return getType(payload) === 'Array';\n}\n","import { getType } from './getType.js';\n/**\n * Returns whether the payload is a plain JavaScript object (excluding special classes or objects\n * with other prototypes)\n */\nexport function isPlainObject(payload) {\n if (getType(payload) !== 'Object')\n return false;\n const prototype = Object.getPrototypeOf(payload);\n return !!prototype && prototype.constructor === Object && prototype === Object.prototype;\n}\n","import { isArray, isPlainObject } from 'is-what';\nfunction assignProp(carry, key, newVal, originalObject, includeNonenumerable) {\n const propType = {}.propertyIsEnumerable.call(originalObject, key)\n ? 'enumerable'\n : 'nonenumerable';\n if (propType === 'enumerable')\n carry[key] = newVal;\n if (includeNonenumerable && propType === 'nonenumerable') {\n Object.defineProperty(carry, key, {\n value: newVal,\n enumerable: false,\n writable: true,\n configurable: true,\n });\n }\n}\n/**\n * Copy (clone) an object and all its props recursively to get rid of any prop referenced of the\n * original object. Arrays are also cloned, however objects inside arrays are still linked.\n *\n * @param target Target can be anything\n * @param [options={}] See type {@link Options} for more details.\n *\n * - `{ props: ['key1'] }` will only copy the `key1` property. When using this you will need to cast\n * the return type manually (in order to keep the TS implementation in here simple I didn't\n * built a complex auto resolved type for those few cases people want to use this option)\n * - `{ nonenumerable: true }` will copy all non-enumerable properties. Default is `{}`\n *\n * @returns The target with replaced values\n */\nexport function copy(target, options = {}) {\n if (isArray(target)) {\n return target.map((item) => copy(item, options));\n }\n if (!isPlainObject(target)) {\n return target;\n }\n const props = Object.getOwnPropertyNames(target);\n const symbols = Object.getOwnPropertySymbols(target);\n return [...props, ...symbols].reduce((carry, key) => {\n // Skip __proto__ properties to prevent prototype pollution\n if (key === '__proto__')\n return carry;\n if (isArray(options.props) && !options.props.includes(key)) {\n return carry;\n }\n const val = target[key];\n const newVal = copy(val, options);\n assignProp(carry, key, newVal, target, options.nonenumerable);\n return carry;\n }, {});\n}\n","import { ClassRegistry } from './class-registry.js';\nimport { Registry } from './registry.js';\nimport { CustomTransformerRegistry, } from './custom-transformer-registry.js';\nimport { applyReferentialEqualityAnnotations, applyValueAnnotations, generateReferentialEqualityAnnotations, walker, } from './plainer.js';\nimport { copy } from 'copy-anything';\nclass SuperJSON {\n /**\n * @param dedupeReferentialEqualities If true, SuperJSON will make sure only one instance of referentially equal objects are serialized and the rest are replaced with `null`.\n */\n constructor({ dedupe = false, } = {}) {\n this.classRegistry = new ClassRegistry();\n this.symbolRegistry = new Registry(s => s.description ?? '');\n this.customTransformerRegistry = new CustomTransformerRegistry();\n this.allowedErrorProps = [];\n this.dedupe = dedupe;\n }\n serialize(object) {\n const identities = new Map();\n const output = walker(object, identities, this, this.dedupe);\n const res = {\n json: output.transformedValue,\n };\n if (output.annotations) {\n res.meta = {\n ...res.meta,\n values: output.annotations,\n };\n }\n const equalityAnnotations = generateReferentialEqualityAnnotations(identities, this.dedupe);\n if (equalityAnnotations) {\n res.meta = {\n ...res.meta,\n referentialEqualities: equalityAnnotations,\n };\n }\n if (res.meta)\n res.meta.v = 1;\n return res;\n }\n deserialize(payload, options) {\n const { json, meta } = payload;\n let result = options?.inPlace ? json : copy(json);\n if (meta?.values) {\n result = applyValueAnnotations(result, meta.values, meta.v ?? 0, this);\n }\n if (meta?.referentialEqualities) {\n result = applyReferentialEqualityAnnotations(result, meta.referentialEqualities, meta.v ?? 0);\n }\n return result;\n }\n stringify(object) {\n return JSON.stringify(this.serialize(object));\n }\n parse(string) {\n return this.deserialize(JSON.parse(string), { inPlace: true });\n }\n registerClass(v, options) {\n this.classRegistry.register(v, options);\n }\n registerSymbol(v, identifier) {\n this.symbolRegistry.register(v, identifier);\n }\n registerCustom(transformer, name) {\n this.customTransformerRegistry.register({\n name,\n ...transformer,\n });\n }\n allowErrorProps(...props) {\n this.allowedErrorProps.push(...props);\n }\n}\nSuperJSON.defaultInstance = new SuperJSON();\nSuperJSON.serialize = SuperJSON.defaultInstance.serialize.bind(SuperJSON.defaultInstance);\nSuperJSON.deserialize = SuperJSON.defaultInstance.deserialize.bind(SuperJSON.defaultInstance);\nSuperJSON.stringify = SuperJSON.defaultInstance.stringify.bind(SuperJSON.defaultInstance);\nSuperJSON.parse = SuperJSON.defaultInstance.parse.bind(SuperJSON.defaultInstance);\nSuperJSON.registerClass = SuperJSON.defaultInstance.registerClass.bind(SuperJSON.defaultInstance);\nSuperJSON.registerSymbol = SuperJSON.defaultInstance.registerSymbol.bind(SuperJSON.defaultInstance);\nSuperJSON.registerCustom = SuperJSON.defaultInstance.registerCustom.bind(SuperJSON.defaultInstance);\nSuperJSON.allowErrorProps = SuperJSON.defaultInstance.allowErrorProps.bind(SuperJSON.defaultInstance);\nexport default SuperJSON;\nexport { SuperJSON };\nexport const serialize = SuperJSON.serialize;\nexport const deserialize = SuperJSON.deserialize;\nexport const stringify = SuperJSON.stringify;\nexport const parse = SuperJSON.parse;\nexport const registerClass = SuperJSON.registerClass;\nexport const registerCustom = SuperJSON.registerCustom;\nexport const registerSymbol = SuperJSON.registerSymbol;\nexport const allowErrorProps = SuperJSON.allowErrorProps;\n//# sourceMappingURL=index.js.map","import type { Mastra } from '@mastra/core';\nimport type { RequestContext } from '@mastra/core/di';\nimport type { SystemMessage } from '@mastra/core/llm';\nimport type { StepWithComponent, Workflow, WorkflowInfo } from '@mastra/core/workflows';\nimport { toStandardSchema, standardSchemaToJSONSchema } from '@mastra/schema-compat/schema';\nimport type { PublicSchema } from '@mastra/schema-compat/schema';\n\nimport { stringify } from 'superjson';\nimport { MASTRA_RESOURCE_ID_KEY } from './constants';\nimport { HTTPException } from './http-exception';\n\n/**\n * Convert any PublicSchema to a JSON Schema.\n * Uses toStandardSchema to handle all schema types (Zod v4, AI SDK Schema, JSON Schema).\n */\nfunction schemaToJsonSchema(schema: PublicSchema<unknown> | undefined) {\n if (!schema) return undefined;\n\n // Convert any PublicSchema to StandardSchemaWithJSON, then extract JSON Schema\n const standardSchema = toStandardSchema(schema);\n return standardSchemaToJSONSchema(standardSchema);\n}\n\n/**\n * Normalizes a route path to ensure consistent formatting.\n * - Removes leading/trailing whitespace\n * - Validates no path traversal (..), query strings (?), or fragments (#)\n * - Collapses multiple consecutive slashes\n * - Removes trailing slashes\n * - Ensures leading slash (unless empty)\n *\n * @param path - The route path to normalize\n * @returns The normalized path (empty string for root paths)\n * @throws Error if path contains invalid characters\n */\nexport function normalizeRoutePath(path: string): string {\n let normalized = path.trim();\n if (normalized.includes('..') || normalized.includes('?') || normalized.includes('#')) {\n throw new Error(`Invalid route path: \"${path}\". Path cannot contain '..', '?', or '#'`);\n }\n normalized = normalized.replace(/\\/+/g, '/');\n if (normalized === '/' || normalized === '') {\n return '';\n }\n if (normalized.endsWith('/')) {\n normalized = normalized.slice(0, -1);\n }\n if (!normalized.startsWith('/')) {\n normalized = `/${normalized}`;\n }\n return normalized;\n}\n\nconst DEFAULT_STORED_RESOURCE_SCOPE_METADATA_KEY = 'mastra.resourceId';\n\nexport type StoredResourceScope = {\n metadataKey: string;\n value: string;\n};\n\nexport type StoredResourceLike = {\n metadata?: Record<string, unknown> | null;\n};\n\nexport async function getStoredResourceScope(\n mastra: Pick<Mastra, 'getServer'>,\n requestContext: RequestContext | undefined,\n): Promise<StoredResourceScope | undefined> {\n const scopeConfig = mastra?.getServer?.()?.storedResources?.scope;\n if (!scopeConfig) {\n return undefined;\n }\n\n const options = scopeConfig === true ? {} : scopeConfig;\n const metadataKey = options.metadataKey ?? DEFAULT_STORED_RESOURCE_SCOPE_METADATA_KEY;\n const user = requestContext?.get('user');\n const resolved = options.resolve\n ? await options.resolve({ requestContext, user })\n : (requestContext?.get(MASTRA_RESOURCE_ID_KEY) as string | undefined);\n\n if (!resolved) {\n if (options.requireScope === false) {\n return undefined;\n }\n throw new HTTPException(403, { message: 'Stored resource scope is required' });\n }\n\n return { metadataKey, value: resolved };\n}\n\nexport function scopeStoredResourceMetadata(\n metadata: Record<string, unknown> | undefined,\n scope: StoredResourceScope | undefined,\n): Record<string, unknown> | undefined {\n if (!scope) {\n return metadata;\n }\n\n return {\n ...(metadata ?? {}),\n [scope.metadataKey]: scope.value,\n };\n}\n\nexport function assertStoredResourceScope(\n resource: StoredResourceLike | null | undefined,\n scope: StoredResourceScope | undefined,\n): void {\n if (!resource || !scope) {\n return;\n }\n\n if (resource.metadata?.[scope.metadataKey] !== scope.value) {\n throw new HTTPException(404, { message: 'Stored resource not found' });\n }\n}\n\n/**\n * Check if a schema looks like a processor step schema.\n * Processor step schemas are discriminated unions on 'phase' with specific values.\n */\nfunction looksLikeProcessorStepSchema(schema: PublicSchema<unknown> | undefined): boolean {\n if (!schema) return false;\n\n try {\n const jsonSchema = standardSchemaToJSONSchema(toStandardSchema(schema)) as Record<string, unknown> | undefined;\n if (!jsonSchema) return false;\n\n // Check for discriminated union pattern: anyOf/oneOf with phase discriminator\n const variants = (jsonSchema.anyOf || jsonSchema.oneOf) as Array<Record<string, unknown>> | undefined;\n if (!variants || !Array.isArray(variants)) return false;\n\n // Check if all variants have a 'phase' property with processor phase values\n const processorPhases = new Set(['input', 'inputStep', 'outputStream', 'outputResult', 'outputStep', 'toolResult']);\n\n for (const variant of variants) {\n const properties = variant.properties as Record<string, unknown> | undefined;\n if (!properties?.phase) return false;\n\n const phaseSchema = properties.phase as Record<string, unknown>;\n const phaseConst = phaseSchema?.const as string | undefined;\n const phaseEnum = Array.isArray(phaseSchema?.enum) ? (phaseSchema.enum as string[]) : [];\n const phaseValues = phaseConst ? [phaseConst] : phaseEnum;\n\n if (!phaseValues.length || phaseValues.some(phase => !processorPhases.has(phase))) {\n return false;\n }\n }\n\n return variants.length > 0;\n } catch {\n return false;\n }\n}\n\nfunction getSteps(steps: Record<string, StepWithComponent>, path?: string) {\n return Object.entries(steps).reduce<any>((acc, [key, step]) => {\n const fullKey = path ? `${path}.${key}` : key;\n acc[fullKey] = {\n id: step.id,\n description: step.description,\n inputSchema: step.inputSchema ? stringify(schemaToJsonSchema(step.inputSchema)) : undefined,\n outputSchema: step.outputSchema ? stringify(schemaToJsonSchema(step.outputSchema)) : undefined,\n resumeSchema: step.resumeSchema ? stringify(schemaToJsonSchema(step.resumeSchema)) : undefined,\n suspendSchema: step.suspendSchema ? stringify(schemaToJsonSchema(step.suspendSchema)) : undefined,\n stateSchema: step.stateSchema ? stringify(schemaToJsonSchema(step.stateSchema)) : undefined,\n isWorkflow: step.component === 'WORKFLOW',\n component: step.component,\n metadata: step.metadata,\n };\n\n if (step.component === 'WORKFLOW' && step.steps) {\n const nestedSteps = getSteps(step.steps, fullKey) || {};\n acc = { ...acc, ...nestedSteps };\n }\n\n return acc;\n }, {});\n}\n\nexport function getWorkflowInfo(workflow: Workflow, partial: boolean = false): WorkflowInfo {\n if (partial) {\n // Return minimal info in partial mode\n return {\n name: workflow.name,\n description: workflow.description,\n metadata: workflow.metadata,\n stepCount: Object.keys(workflow.steps).length,\n stepGraph: workflow.serializedStepGraph,\n options: workflow.options,\n steps: {},\n allSteps: {},\n inputSchema: undefined,\n outputSchema: undefined,\n stateSchema: undefined,\n requestContextSchema: undefined,\n origin: workflow.origin,\n } as WorkflowInfo;\n }\n\n return {\n name: workflow.name,\n description: workflow.description,\n metadata: workflow.metadata,\n origin: workflow.origin,\n steps: Object.entries(workflow.steps).reduce<any>((acc, [key, step]) => {\n acc[key] = {\n id: step.id,\n description: step.description,\n inputSchema: step.inputSchema ? stringify(schemaToJsonSchema(step.inputSchema)) : undefined,\n outputSchema: step.outputSchema ? stringify(schemaToJsonSchema(step.outputSchema)) : undefined,\n resumeSchema: step.resumeSchema ? stringify(schemaToJsonSchema(step.resumeSchema)) : undefined,\n suspendSchema: step.suspendSchema ? stringify(schemaToJsonSchema(step.suspendSchema)) : undefined,\n stateSchema: step.stateSchema ? stringify(schemaToJsonSchema(step.stateSchema)) : undefined,\n requestContextSchema: step.requestContextSchema\n ? stringify(schemaToJsonSchema(step.requestContextSchema))\n : undefined,\n component: step.component,\n metadata: step.metadata,\n };\n return acc;\n }, {}),\n allSteps: getSteps(workflow.steps) || {},\n stepGraph: workflow.serializedStepGraph,\n inputSchema: workflow.inputSchema ? stringify(schemaToJsonSchema(workflow.inputSchema)) : undefined,\n outputSchema: workflow.outputSchema ? stringify(schemaToJsonSchema(workflow.outputSchema)) : undefined,\n stateSchema: workflow.stateSchema ? stringify(schemaToJsonSchema(workflow.stateSchema)) : undefined,\n requestContextSchema: workflow.requestContextSchema\n ? stringify(schemaToJsonSchema(workflow.requestContextSchema))\n : undefined,\n options: workflow.options,\n isProcessorWorkflow: workflow.type === 'processor' || looksLikeProcessorStepSchema(workflow.inputSchema),\n };\n}\n\n/**\n * Workflow Registry for temporarily registering additional workflows\n * that are not part of the user's Mastra instance (e.g., internal template workflows)\n */\nexport class WorkflowRegistry {\n private static additionalWorkflows: Record<string, Workflow> = {};\n\n /**\n * Register a workflow temporarily\n */\n static registerTemporaryWorkflow(id: string, workflow: Workflow): void {\n this.additionalWorkflows[id] = workflow;\n }\n\n /**\n * Register all workflows from map\n */\n static registerTemporaryWorkflows(\n workflows: Record<string, Workflow>,\n mastra?: Mastra<any, any, any, any, any, any, any, any, any>,\n ): void {\n for (const [id, workflow] of Object.entries(workflows)) {\n // Register Mastra instance with the workflow if provided\n if (mastra) {\n workflow.__registerMastra(mastra);\n workflow.__registerPrimitives({\n logger: mastra.getLogger(),\n storage: mastra.getStorage(),\n agents: mastra.listAgents(),\n tts: mastra.getTTS(),\n vectors: mastra.listVectors(),\n });\n }\n this.additionalWorkflows[id] = workflow;\n }\n }\n\n /**\n * Get a workflow by ID from the registry (returns undefined if not found)\n */\n static getWorkflow(workflowId: string): Workflow | undefined {\n return this.additionalWorkflows[workflowId];\n }\n\n /**\n * Get all workflows from the registry\n */\n static getAllWorkflows(): Record<string, Workflow> {\n return { ...this.additionalWorkflows };\n }\n\n /**\n * Clean up a temporary workflow\n */\n static cleanupTemporaryWorkflow(workflowId: string): void {\n delete this.additionalWorkflows[workflowId];\n }\n /**\n * Clean up all registered workflows\n */\n static cleanup(): void {\n // Clear all workflows (since we register all agent-builder workflows each time)\n this.additionalWorkflows = {};\n }\n\n /**\n * Check if a workflow ID is a valid agent-builder workflow\n */\n static isAgentBuilderWorkflow(workflowId: string): boolean {\n return workflowId in this.additionalWorkflows;\n }\n\n /**\n * Get all registered temporary workflow IDs (for debugging)\n */\n static getRegisteredWorkflowIds(): string[] {\n return Object.keys(this.additionalWorkflows);\n }\n}\n\n/**\n * Converts a string to a URL-friendly slug.\n * Lowercases, replaces non-alphanumeric characters with hyphens,\n * collapses consecutive hyphens, and trims leading/trailing hyphens.\n */\nexport function toSlug(input: string): string {\n return input\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, '-')\n .replace(/^-+|-+$/g, '');\n}\n\nexport function convertInstructionsToString(message: SystemMessage): string {\n if (!message) {\n return '';\n }\n\n if (typeof message === 'string') {\n return message;\n }\n\n if (Array.isArray(message)) {\n return message\n .map(m => {\n if (typeof m === 'string') {\n return m;\n }\n // Safely extract content from message objects\n return typeof m.content === 'string' ? m.content : '';\n })\n .filter(content => content) // Remove empty strings\n .join('\\n');\n }\n\n // Handle single message object - safely extract content\n return typeof message.content === 'string' ? message.content : '';\n}\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/server",
|
|
3
|
-
"version": "1.67.0-alpha.
|
|
3
|
+
"version": "1.67.0-alpha.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -116,14 +116,14 @@
|
|
|
116
116
|
"vitest": "4.1.10",
|
|
117
117
|
"zod": "^4.4.3",
|
|
118
118
|
"zod-to-ts": "^2.1.0",
|
|
119
|
-
"@internal/
|
|
120
|
-
"@internal/storage-test-utils": "0.0.128",
|
|
119
|
+
"@internal/lint": "0.0.132",
|
|
121
120
|
"@internal/test-utils": "0.0.68",
|
|
122
|
-
"@
|
|
123
|
-
"@
|
|
124
|
-
"@internal/voice": "0.0.30",
|
|
121
|
+
"@internal/storage-test-utils": "0.0.128",
|
|
122
|
+
"@internal/core": "0.1.2",
|
|
125
123
|
"@internal/types-builder": "0.0.107",
|
|
126
|
-
"@
|
|
124
|
+
"@mastra/agent-builder": "1.1.19-alpha.2",
|
|
125
|
+
"@internal/voice": "0.0.30",
|
|
126
|
+
"@mastra/core": "1.67.0-alpha.3",
|
|
127
127
|
"@mastra/schema-compat": "1.3.10-alpha.0"
|
|
128
128
|
},
|
|
129
129
|
"homepage": "https://mastra.ai",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory-CVODqy7m.cjs","names":["z","createPagePaginationSchema","paginationInfoSchema","successResponseSchema"],"sources":["../src/server/schemas/memory.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport { paginationInfoSchema, createPagePaginationSchema, successResponseSchema } from './common';\n\n// Path parameter schemas\nexport const threadIdPathParams = z.object({\n threadId: z.string().describe('Unique identifier for the conversation thread'),\n});\n\n/**\n * Common query parameter: required agent ID\n */\nexport const agentIdQuerySchema = z.object({\n agentId: z.string(),\n});\n\n/**\n * Common query parameter: optional agent ID\n * Used for read operations that can fall back to storage when agentId is not provided\n */\nexport const optionalAgentIdQuerySchema = z.object({\n agentId: z.string().optional(),\n});\n\n/**\n * Storage order by configuration for threads and agents (have both createdAt and updatedAt)\n * Handles JSON parsing from query strings.\n *\n * The inner object is wrapped in `.optional()` so the preprocess can yield\n * `undefined` (e.g. when a legacy client sends a bare string like\n * `?orderBy=updatedAt`) without tripping a \"expected object, received undefined\"\n * Zod error. Without that inner `.optional()`, valid optional query usage\n * regresses into a hard 400.\n */\nconst storageOrderBySchema = z\n .preprocess(\n val => {\n if (val === undefined) return val;\n if (typeof val === 'string') {\n try {\n return JSON.parse(val);\n } catch {\n return undefined;\n }\n }\n return val;\n },\n z\n .object({\n field: z.enum(['createdAt', 'updatedAt']).optional(),\n direction: z.enum(['ASC', 'DESC']).optional(),\n })\n .optional(),\n )\n .optional();\n\n/**\n * Storage order by configuration for messages (only have createdAt)\n * Handles JSON parsing from query strings. See `storageOrderBySchema` for why\n * the inner object schema is also `.optional()`.\n */\nexport const messageOrderBySchema = z\n .preprocess(\n val => {\n if (val === undefined) return val;\n if (typeof val === 'string') {\n try {\n return JSON.parse(val);\n } catch {\n return undefined;\n }\n }\n return val;\n },\n z\n .object({\n field: z.enum(['createdAt']).optional(),\n direction: z.enum(['ASC', 'DESC']).optional(),\n })\n .optional(),\n )\n .optional();\n\n/**\n * Include schema for message listing - handles JSON parsing from query strings\n */\nexport const includeSchema = z\n .preprocess(\n val => {\n if (val === undefined) return val;\n if (typeof val === 'string') {\n try {\n return JSON.parse(val);\n } catch {\n // Return invalid string to fail validation (z.array will reject string type)\n return val;\n }\n }\n return val;\n },\n z.array(\n z.object({\n id: z.string(),\n threadId: z.string().optional(),\n withPreviousMessages: z.number().optional(),\n withNextMessages: z.number().optional(),\n }),\n ),\n )\n .optional();\n\nconst metadataFilterValueSchema = z.union([z.string(), z.number().finite(), z.boolean(), z.null()]);\nconst metadataFilterKeySchema = z\n .string()\n .max(128)\n .regex(/^[a-zA-Z_][a-zA-Z0-9_]*$/)\n .refine(key => !['__proto__', 'prototype', 'constructor'].includes(key));\n\n/**\n * Metadata filters are deliberately shallow scalar maps so storage adapters can\n * apply exact-match AND semantics consistently.\n */\nconst metadataFilterSchema = z.record(metadataFilterKeySchema, metadataFilterValueSchema);\n\n/**\n * Filter schema for message listing - handles JSON parsing from query strings\n */\nexport const filterSchema = z\n .preprocess(\n val => {\n if (val === undefined) return val;\n if (typeof val === 'string') {\n try {\n return JSON.parse(val);\n } catch {\n // Return invalid string to fail validation (z.object will reject string type)\n return val;\n }\n }\n return val;\n },\n z.object({\n dateRange: z\n .object({\n start: z.coerce.date().optional(),\n end: z.coerce.date().optional(),\n startExclusive: z.boolean().optional(),\n endExclusive: z.boolean().optional(),\n })\n .optional(),\n roles: z.array(z.string()).optional(),\n metadata: metadataFilterSchema.optional(),\n }),\n )\n .optional();\n\n/**\n * Memory config schema - handles JSON parsing from query strings\n */\nconst memoryConfigSchema = z\n .preprocess(\n val => {\n if (val === undefined) return val;\n if (typeof val === 'string') {\n try {\n return JSON.parse(val);\n } catch {\n // Return invalid string to fail validation (z.record will reject string type)\n return val;\n }\n }\n return val;\n },\n z.record(z.string(), z.unknown()),\n )\n .optional();\n\n/**\n * Thread object structure\n */\nconst threadSchema = z.object({\n id: z.string(),\n title: z.string().optional(),\n resourceId: z.string(),\n createdAt: z.date(),\n updatedAt: z.date(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\n/**\n * Message structure for storage\n * Extends coreMessageSchema with storage-specific fields\n */\nconst messageSchema = z.unknown();\n// const messageSchema = coreMessageSchema.extend({\n// id: z.string(),\n// createdAt: z.coerce.date(),\n// threadId: z.string().optional(),\n// resourceId: z.string().optional(),\n// });\n\n// ============================================================================\n// Query Parameter Schemas\n// ============================================================================\n\n/**\n * GET /api/memory/status\n * Includes optional resourceId and threadId for OM status lookup\n */\nexport const getMemoryStatusQuerySchema = agentIdQuerySchema.extend({\n resourceId: z.string().optional(),\n threadId: z.string().optional(),\n});\n\n/**\n * GET /memory/config\n */\nexport const getMemoryConfigQuerySchema = agentIdQuerySchema;\n\n/**\n * Inner schema for GET /memory/threads. The outer `listThreadsQuerySchema`\n * wraps this with a back-compat preprocess (see below) that rewrites the\n * legacy `?orderBy=<field>&sortDirection=<dir>` shape — emitted by\n * `@mastra/client-js` < 1.18 (e.g. mobile clients pinned to 1.4.x) — into the\n * current `{ orderBy: { field, direction } }` object shape.\n */\nconst listThreadsQueryInnerSchema = createPagePaginationSchema(100).extend({\n agentId: z.string().optional(),\n resourceId: z.string().optional(),\n metadata: z\n .preprocess(\n val => {\n if (val === undefined) return val;\n if (typeof val === 'string') {\n try {\n return JSON.parse(val);\n } catch {\n // Return invalid string to fail validation (z.record will reject string type)\n return val;\n }\n }\n return val;\n },\n z.record(z.string(), z.unknown()),\n )\n .optional(),\n orderBy: storageOrderBySchema,\n});\n\n/**\n * GET /memory/threads\n * agentId is optional - can use storage fallback when not provided\n * resourceId is optional - when omitted, returns all threads\n * metadata is optional - filters threads by metadata key-value pairs (AND logic)\n *\n * Accepts both the current shape (`orderBy[field]=...&orderBy[direction]=...`)\n * and the legacy shape used by `@mastra/client-js` < 1.18\n * (`orderBy=<field>&sortDirection=<dir>`). The legacy shape is fused into the\n * current shape before schema validation, so existing pinned clients continue\n * to work without server-side breakage.\n */\nexport const listThreadsQuerySchema = z.preprocess(val => {\n if (val === null || typeof val !== 'object' || Array.isArray(val)) return val;\n const record = val as Record<string, unknown>;\n const rawOrderBy = record.orderBy;\n // Only rewrite the legacy bare-string shape. Object / bracket-notation /\n // JSON-stringified orderBy is left alone and handled by storageOrderBySchema.\n if (typeof rawOrderBy !== 'string') return val;\n // A JSON-stringified object is the current \"stringified\" shape, not legacy —\n // let storageOrderBySchema's preprocess parse it.\n const trimmed = rawOrderBy.trim();\n if (trimmed.startsWith('{') || trimmed.startsWith('[')) return val;\n // Legacy shape detected: fuse into `{ field, direction }`.\n const direction = typeof record.sortDirection === 'string' ? record.sortDirection : undefined;\n const { sortDirection: _legacyDir, ...rest } = record;\n return {\n ...rest,\n orderBy: {\n field: rawOrderBy,\n ...(direction !== undefined ? { direction } : {}),\n },\n };\n}, listThreadsQueryInnerSchema);\n\n/**\n * GET /memory/threads/:threadId\n * agentId is optional - can use storage fallback when not provided\n * resourceId is optional - used for ownership validation fallback when not set via middleware\n */\nexport const getThreadByIdQuerySchema = optionalAgentIdQuerySchema.extend({\n resourceId: z.string().optional(),\n});\n\n/**\n * GET /memory/threads/:threadId/messages\n * agentId is optional - can use storage fallback when not provided\n */\nexport const listMessagesQuerySchema = createPagePaginationSchema(40).extend({\n agentId: z.string().optional(),\n resourceId: z.string().optional(),\n orderBy: messageOrderBySchema,\n include: includeSchema,\n filter: filterSchema,\n includeSystemReminders: z\n .preprocess(val => {\n if (val === undefined) return val;\n if (val === 'true') return true;\n if (val === 'false') return false;\n return val;\n }, z.boolean())\n .optional(),\n});\n\n/**\n * GET /memory/threads/:threadId/working-memory\n */\nexport const getWorkingMemoryQuerySchema = z.object({\n agentId: z.string(),\n resourceId: z.string().optional(),\n memoryConfig: memoryConfigSchema,\n});\n\n/**\n * DELETE /memory/threads/:threadId\n * agentId is required\n * resourceId is optional - used for ownership validation fallback when not set via middleware\n */\nexport const deleteThreadQuerySchema = agentIdQuerySchema.extend({\n resourceId: z.string().optional(),\n});\n\n/**\n * POST /memory/messages/delete\n * agentId is required\n * resourceId is optional - used for ownership validation fallback when not set via middleware\n */\nexport const deleteMessagesQuerySchema = agentIdQuerySchema.extend({\n resourceId: z.string().optional(),\n});\n\n// ============================================================================\n// Legacy /network Query Parameter Schemas (backward compatibility)\n// ============================================================================\n\n/**\n * GET /memory/network/status\n */\nexport const getMemoryStatusNetworkQuerySchema = agentIdQuerySchema;\n\n/**\n * GET /memory/network/threads\n * agentId is optional - can use storage fallback when not provided\n * resourceId is optional - when omitted, returns all threads\n * metadata is optional - filters threads by metadata key-value pairs (AND logic)\n */\nexport const listThreadsNetworkQuerySchema = createPagePaginationSchema(100).extend({\n agentId: z.string().optional(),\n resourceId: z.string().optional(),\n metadata: z\n .preprocess(\n val => {\n if (val === undefined) return val;\n if (typeof val === 'string') {\n try {\n return JSON.parse(val);\n } catch {\n // Return invalid string to fail validation (z.record will reject string type)\n return val;\n }\n }\n return val;\n },\n z.record(z.string(), z.unknown()),\n )\n .optional(),\n orderBy: storageOrderBySchema,\n});\n\n/**\n * GET /memory/network/threads/:threadId\n * agentId is optional - can use storage fallback when not provided\n * resourceId is optional - used for ownership validation fallback when not set via middleware\n */\nexport const getThreadByIdNetworkQuerySchema = optionalAgentIdQuerySchema.extend({\n resourceId: z.string().optional(),\n});\n\n/**\n * GET /memory/network/threads/:threadId/messages\n * agentId is optional - can use storage fallback when not provided\n */\nexport const listMessagesNetworkQuerySchema = createPagePaginationSchema(40).extend({\n agentId: z.string().optional(),\n resourceId: z.string().optional(),\n orderBy: messageOrderBySchema,\n include: includeSchema,\n filter: filterSchema,\n});\n\n/**\n * POST /memory/network/save-messages\n */\nexport const saveMessagesNetworkQuerySchema = agentIdQuerySchema;\n\n/**\n * POST /memory/network/threads\n */\nexport const createThreadNetworkQuerySchema = agentIdQuerySchema;\n\n/**\n * PATCH /memory/network/threads/:threadId\n */\nexport const updateThreadNetworkQuerySchema = agentIdQuerySchema;\n\n/**\n * DELETE /memory/network/threads/:threadId\n * resourceId is optional - used for ownership validation fallback when not set via middleware\n */\nexport const deleteThreadNetworkQuerySchema = agentIdQuerySchema.extend({\n resourceId: z.string().optional(),\n});\n\n/**\n * POST /memory/network/messages/delete\n * resourceId is optional - used for ownership validation fallback when not set via middleware\n */\nexport const deleteMessagesNetworkQuerySchema = agentIdQuerySchema.extend({\n resourceId: z.string().optional(),\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\n/**\n * Response for GET /memory/status\n */\nexport const memoryStatusResponseSchema = z.object({\n result: z.boolean(),\n memoryType: z.enum(['local', 'gateway']).optional(),\n observationalMemory: z\n .object({\n enabled: z.boolean(),\n hasRecord: z.boolean().optional(),\n originType: z.string().optional(),\n lastObservedAt: z.date().optional(),\n tokenCount: z.number().optional(),\n observationTokenCount: z.number().optional(),\n isObserving: z.boolean().optional(),\n isReflecting: z.boolean().optional(),\n })\n .optional(),\n});\n\n/**\n * Observational Memory config schema for API responses\n */\nconst observationalMemoryModelRoutingSchema = z.array(\n z.object({\n upTo: z.number(),\n model: z.string(),\n }),\n);\n\nconst observationalMemoryConfigSchema = z.object({\n enabled: z.boolean(),\n scope: z.enum(['thread', 'resource']).optional(),\n shareTokenBudget: z.boolean().optional(),\n messageTokens: z.union([z.number(), z.object({ min: z.number(), max: z.number() })]).optional(),\n observationTokens: z.union([z.number(), z.object({ min: z.number(), max: z.number() })]).optional(),\n observationModel: z.string().optional(),\n reflectionModel: z.string().optional(),\n observationModelRouting: observationalMemoryModelRoutingSchema.optional(),\n reflectionModelRouting: observationalMemoryModelRoutingSchema.optional(),\n});\n\n/**\n * Response for GET /memory/config\n * MemoryConfig is complex with many optional fields - using passthrough\n */\nexport const memoryConfigResponseSchema = z.object({\n memoryType: z.enum(['local', 'gateway']).optional(),\n config: z\n .object({\n lastMessages: z.union([z.number(), z.literal(false)]).optional(),\n semanticRecall: z.union([z.boolean(), z.unknown()]).optional(),\n workingMemory: z\n .object({\n enabled: z.boolean().optional(),\n scope: z.enum(['thread', 'resource']).optional(),\n template: z.string().optional(),\n schema: z.unknown().optional(),\n version: z.enum(['stable', 'vnext']).optional(),\n })\n .passthrough() // WorkingMemory has additional experimental fields (useStateSignals, agentManaged)\n .optional(),\n observationalMemory: observationalMemoryConfigSchema.optional(),\n })\n .nullable(),\n});\n\n/**\n * Response for GET /memory/threads\n */\nexport const listThreadsResponseSchema = paginationInfoSchema.extend({\n threads: z.array(threadSchema),\n});\n\n/**\n * Response for GET /memory/threads/:threadId\n */\nexport const getThreadByIdResponseSchema = threadSchema;\n\n/**\n * Response for GET /memory/threads/:threadId/messages\n */\nexport const listMessagesResponseSchema = z.object({\n messages: z.array(messageSchema),\n uiMessages: z.array(z.unknown()).nullable(), // Converted messages in UI format\n});\n\n/**\n * Response for GET /memory/threads/:threadId/working-memory\n */\nexport const getWorkingMemoryResponseSchema = z.object({\n workingMemory: z.unknown().nullable(), // Can be string or structured object depending on template\n source: z.enum(['thread', 'resource']),\n workingMemoryTemplate: z.unknown().nullable(), // Template structure varies\n threadExists: z.boolean(),\n});\n\n// ============================================================================\n// Body Parameter Schemas for POST/PUT/DELETE\n// ============================================================================\n\n/**\n * Body schema for POST /memory/messages\n */\nexport const saveMessagesBodySchema = z.object({\n messages: z.array(messageSchema),\n});\n\n/**\n * Body schema for POST /memory/threads\n */\nexport const createThreadBodySchema = z.object({\n resourceId: z.string(),\n title: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n threadId: z.string().optional(),\n});\n\n/**\n * Body schema for PUT /memory/threads/:threadId\n */\nexport const updateThreadBodySchema = z.object({\n title: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n resourceId: z.string().optional(),\n});\n\n/**\n * Body schema for PUT /memory/threads/:threadId/working-memory\n */\nexport const updateWorkingMemoryBodySchema = z.object({\n workingMemory: z.string(),\n resourceId: z.string().optional(),\n memoryConfig: z.record(z.string(), z.unknown()).optional(),\n});\n\n/**\n * Body schema for POST /memory/messages/delete\n * Accepts: string | string[] | { id: string } | { id: string }[]\n */\nexport const deleteMessagesBodySchema = z.object({\n messageIds: z.union([\n z.string(),\n z.array(z.string()),\n z.object({ id: z.string() }),\n z.array(z.object({ id: z.string() })),\n ]),\n});\n\n/**\n * Query schema for GET /memory/search\n */\nexport const searchMemoryQuerySchema = z.object({\n agentId: z.string(),\n searchQuery: z.string(),\n resourceId: z.string(),\n threadId: z.string().optional(),\n limit: z.coerce.number().optional().default(20),\n memoryConfig: memoryConfigSchema,\n});\n\n/**\n * Response schemas\n */\nexport const saveMessagesResponseSchema = z.object({\n messages: z.array(messageSchema),\n});\n\nexport const deleteThreadResponseSchema = z.object({\n result: z.string(),\n});\n\nexport const updateWorkingMemoryResponseSchema = successResponseSchema;\n\nexport const deleteMessagesResponseSchema = successResponseSchema.extend({\n message: z.string(),\n});\n\nexport const searchMemoryResponseSchema = z.object({\n results: z.array(z.unknown()),\n count: z.number(),\n query: z.string(),\n searchScope: z.string().optional(),\n searchType: z.string().optional(),\n});\n\n/**\n * Body schema for POST /memory/threads/:threadId/clone\n */\nexport const cloneThreadBodySchema = z.object({\n newThreadId: z.string().optional(),\n resourceId: z.string().optional(),\n title: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n options: z\n .object({\n messageLimit: z.number().optional(),\n messageFilter: z\n .object({\n startDate: z.coerce.date().optional(),\n endDate: z.coerce.date().optional(),\n messageIds: z.array(z.string()).optional(),\n })\n .optional(),\n })\n .optional(),\n});\n\n/**\n * Response schema for POST /memory/threads/:threadId/clone\n */\nexport const cloneThreadResponseSchema = z.object({\n thread: threadSchema,\n clonedMessages: z.array(messageSchema),\n});\n\n// ============================================================================\n// Observational Memory Schemas\n// ============================================================================\n\n/**\n * Query schema for GET /api/memory/observational-memory\n */\nexport const getObservationalMemoryQuerySchema = z.object({\n agentId: z.string(),\n resourceId: z.string().optional(),\n threadId: z.string().optional(),\n from: z.coerce.date().optional(),\n to: z.coerce.date().optional(),\n offset: z.coerce.number().int().min(0).optional(),\n limit: z.coerce.number().int().min(1).optional(),\n});\n\n/**\n * Observational Memory record schema for API responses\n * Matches the ObservationalMemoryRecord type from @mastra/core/storage\n */\nconst bufferedObservationChunkSchema = z.object({\n id: z.string().optional(),\n cycleId: z.string(),\n observations: z.string(),\n tokenCount: z.number(),\n messageIds: z.array(z.string()).optional(),\n messageTokens: z.number(),\n lastObservedAt: z.date().optional(),\n createdAt: z.date().optional(),\n suggestedContinuation: z.string().optional(),\n currentTask: z.string().optional(),\n threadTitle: z.string().optional(),\n extractedValues: z.record(z.string(), z.unknown()).optional(),\n extractionFailures: z.array(z.object({ slug: z.string(), error: z.string() })).optional(),\n});\n\nconst observationalMemoryRecordSchema = z.object({\n id: z.string(),\n scope: z.enum(['thread', 'resource']),\n resourceId: z.string(),\n threadId: z.string().nullable(),\n activeObservations: z.string(),\n bufferedObservations: z.string().optional(),\n bufferedObservationChunks: z.array(bufferedObservationChunkSchema).optional(),\n bufferedReflection: z.string().optional(),\n originType: z.enum(['initial', 'observation', 'reflection']),\n generationCount: z.number(),\n lastObservedAt: z.date().optional(),\n totalTokensObserved: z.number(),\n observationTokenCount: z.number(),\n pendingMessageTokens: z.number(),\n isObserving: z.boolean(),\n isReflecting: z.boolean(),\n config: z.record(z.string(), z.unknown()),\n metadata: z.record(z.string(), z.unknown()).optional(),\n createdAt: z.date(),\n updatedAt: z.date(),\n});\n\n/**\n * Response schema for GET /api/memory/observational-memory\n */\nexport const getObservationalMemoryResponseSchema = z.object({\n record: observationalMemoryRecordSchema.nullable(),\n history: z.array(observationalMemoryRecordSchema).optional(),\n});\n\n/**\n * Body schema for POST /api/memory/observational-memory/buffer-status\n */\nexport const awaitBufferStatusBodySchema = z.object({\n agentId: z.string(),\n resourceId: z.string().optional(),\n threadId: z.string().optional(),\n});\n\n/**\n * Response schema for POST /api/memory/observational-memory/buffer-status\n */\nexport const awaitBufferStatusResponseSchema = z.object({\n record: observationalMemoryRecordSchema.nullable(),\n});\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routes-DCwOOz84.js","names":[],"sources":["../src/server/server-adapter/routes/a2a.ts","../src/server/server-adapter/routes/agent-builder.ts","../src/server/server-adapter/routes/agent-controller.ts","../src/server/server-adapter/routes/agents.ts","../src/server/server-adapter/routes/background-tasks.ts","../src/server/server-adapter/routes/channels.ts","../src/server/server-adapter/routes/conversations.ts","../src/server/server-adapter/routes/datasets.ts","../src/server/server-adapter/routes/dynamic-workflows.ts","../src/server/server-adapter/routes/editor-builder.ts","../src/server/server-adapter/routes/legacy.ts","../src/server/server-adapter/routes/logs.ts","../src/server/server-adapter/routes/mcp.ts","../src/server/server-adapter/routes/memory.ts","../src/server/server-adapter/routes/observability.ts","../src/server/server-adapter/routes/processor-providers.ts","../src/server/server-adapter/routes/processors.ts","../src/server/server-adapter/routes/responses.ts","../src/server/server-adapter/routes/schedules.ts","../src/server/server-adapter/routes/scorers.ts","../src/server/server-adapter/routes/stored-agents.ts","../src/server/server-adapter/routes/stored-mcp-clients.ts","../src/server/server-adapter/routes/stored-prompt-blocks.ts","../src/server/server-adapter/routes/stored-scorers.ts","../src/server/server-adapter/routes/stored-skills.ts","../src/server/server-adapter/routes/stored-workspaces.ts","../src/server/server-adapter/routes/system.ts","../src/server/server-adapter/routes/tool-providers.ts","../src/server/server-adapter/routes/tools.ts","../src/server/server-adapter/routes/vectors.ts","../src/server/server-adapter/routes/workflows.ts","../src/server/server-adapter/routes/workspace.ts","../src/server/server-adapter/routes/index.ts"],"sourcesContent":["import { GET_AGENT_CARD_ROUTE, AGENT_EXECUTION_ROUTE } from '../../handlers/a2a';\n\nexport const A2A_ROUTES = [GET_AGENT_CARD_ROUTE, AGENT_EXECUTION_ROUTE] as const;\n","import {\n LIST_AGENT_BUILDER_ACTIONS_ROUTE,\n GET_AGENT_BUILDER_ACTION_BY_ID_ROUTE,\n LIST_AGENT_BUILDER_ACTION_RUNS_ROUTE,\n GET_AGENT_BUILDER_ACTION_RUN_BY_ID_ROUTE,\n CREATE_AGENT_BUILDER_ACTION_RUN_ROUTE,\n STREAM_AGENT_BUILDER_ACTION_ROUTE,\n STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE,\n START_ASYNC_AGENT_BUILDER_ACTION_ROUTE,\n START_AGENT_BUILDER_ACTION_RUN_ROUTE,\n OBSERVE_STREAM_AGENT_BUILDER_ACTION_ROUTE,\n OBSERVE_STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_ASYNC_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_NO_WAIT_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_STREAM_AGENT_BUILDER_ACTION_ROUTE,\n CANCEL_AGENT_BUILDER_ACTION_RUN_ROUTE,\n} from '../../handlers/agent-builder';\n\nexport const AGENT_BUILDER_ROUTES = [\n LIST_AGENT_BUILDER_ACTIONS_ROUTE,\n GET_AGENT_BUILDER_ACTION_BY_ID_ROUTE,\n LIST_AGENT_BUILDER_ACTION_RUNS_ROUTE,\n GET_AGENT_BUILDER_ACTION_RUN_BY_ID_ROUTE,\n CREATE_AGENT_BUILDER_ACTION_RUN_ROUTE,\n STREAM_AGENT_BUILDER_ACTION_ROUTE,\n STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE,\n START_ASYNC_AGENT_BUILDER_ACTION_ROUTE,\n START_AGENT_BUILDER_ACTION_RUN_ROUTE,\n OBSERVE_STREAM_AGENT_BUILDER_ACTION_ROUTE,\n OBSERVE_STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_ASYNC_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_NO_WAIT_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_STREAM_AGENT_BUILDER_ACTION_ROUTE,\n CANCEL_AGENT_BUILDER_ACTION_RUN_ROUTE,\n] as const;\n","import {\n LIST_AGENT_CONTROLLERS_ROUTE,\n CREATE_AGENT_CONTROLLER_SESSION_ROUTE,\n GET_AGENT_CONTROLLER_SESSION_STATE_ROUTE,\n STREAM_AGENT_CONTROLLER_SESSION_ROUTE,\n SEND_AGENT_CONTROLLER_MESSAGE_ROUTE,\n STEER_AGENT_CONTROLLER_SESSION_ROUTE,\n ABORT_AGENT_CONTROLLER_SESSION_ROUTE,\n AGENT_CONTROLLER_TOOL_APPROVAL_ROUTE,\n AGENT_CONTROLLER_TOOL_SUSPENSION_ROUTE,\n SWITCH_AGENT_CONTROLLER_MODE_ROUTE,\n SWITCH_AGENT_CONTROLLER_MODEL_ROUTE,\n SWITCH_AGENT_CONTROLLER_THREAD_ROUTE,\n LIST_AGENT_CONTROLLER_MODES_ROUTE,\n LIST_AGENT_CONTROLLER_ACTIVE_RUNS_ROUTE,\n LIST_AGENT_CONTROLLER_THREADS_ROUTE,\n SEND_AGENT_CONTROLLER_NOTIFICATION_ROUTE,\n CREATE_AGENT_CONTROLLER_THREAD_ROUTE,\n DELETE_AGENT_CONTROLLER_THREAD_ROUTE,\n RENAME_AGENT_CONTROLLER_THREAD_ROUTE,\n CLONE_AGENT_CONTROLLER_THREAD_ROUTE,\n LIST_AGENT_CONTROLLER_THREAD_MESSAGES_ROUTE,\n FOLLOW_UP_AGENT_CONTROLLER_SESSION_ROUTE,\n LIST_AGENT_CONTROLLER_MODELS_ROUTE,\n GET_AGENT_CONTROLLER_WORKSPACE_STATUS_ROUTE,\n GET_AGENT_CONTROLLER_OM_RECORD_ROUTE,\n SET_AGENT_CONTROLLER_RESOURCE_ID_ROUTE,\n GET_AGENT_CONTROLLER_RESOURCE_IDS_ROUTE,\n GET_AGENT_CONTROLLER_GOAL_ROUTE,\n SET_AGENT_CONTROLLER_GOAL_ROUTE,\n UPDATE_AGENT_CONTROLLER_GOAL_ROUTE,\n CLEAR_AGENT_CONTROLLER_GOAL_ROUTE,\n GET_AGENT_CONTROLLER_PERMISSIONS_ROUTE,\n SET_AGENT_CONTROLLER_CATEGORY_PERMISSION_ROUTE,\n SET_AGENT_CONTROLLER_TOOL_PERMISSION_ROUTE,\n SET_AGENT_CONTROLLER_SESSION_STATE_ROUTE,\n} from '../../handlers/agent-controller';\nimport type { ServerRoute } from '.';\n\n/**\n * Canonical `AgentController` session API, served under `/agent-controller/...`.\n */\nexport const AGENT_CONTROLLER_ROUTES: readonly ServerRoute[] = [\n LIST_AGENT_CONTROLLERS_ROUTE,\n LIST_AGENT_CONTROLLER_MODES_ROUTE,\n LIST_AGENT_CONTROLLER_MODELS_ROUTE,\n LIST_AGENT_CONTROLLER_ACTIVE_RUNS_ROUTE,\n CREATE_AGENT_CONTROLLER_SESSION_ROUTE,\n GET_AGENT_CONTROLLER_SESSION_STATE_ROUTE,\n LIST_AGENT_CONTROLLER_THREADS_ROUTE,\n CREATE_AGENT_CONTROLLER_THREAD_ROUTE,\n DELETE_AGENT_CONTROLLER_THREAD_ROUTE,\n RENAME_AGENT_CONTROLLER_THREAD_ROUTE,\n CLONE_AGENT_CONTROLLER_THREAD_ROUTE,\n LIST_AGENT_CONTROLLER_THREAD_MESSAGES_ROUTE,\n STREAM_AGENT_CONTROLLER_SESSION_ROUTE,\n SEND_AGENT_CONTROLLER_MESSAGE_ROUTE,\n STEER_AGENT_CONTROLLER_SESSION_ROUTE,\n FOLLOW_UP_AGENT_CONTROLLER_SESSION_ROUTE,\n ABORT_AGENT_CONTROLLER_SESSION_ROUTE,\n AGENT_CONTROLLER_TOOL_APPROVAL_ROUTE,\n AGENT_CONTROLLER_TOOL_SUSPENSION_ROUTE,\n SWITCH_AGENT_CONTROLLER_MODE_ROUTE,\n SWITCH_AGENT_CONTROLLER_MODEL_ROUTE,\n SWITCH_AGENT_CONTROLLER_THREAD_ROUTE,\n SEND_AGENT_CONTROLLER_NOTIFICATION_ROUTE,\n GET_AGENT_CONTROLLER_WORKSPACE_STATUS_ROUTE,\n GET_AGENT_CONTROLLER_OM_RECORD_ROUTE,\n SET_AGENT_CONTROLLER_RESOURCE_ID_ROUTE,\n GET_AGENT_CONTROLLER_RESOURCE_IDS_ROUTE,\n GET_AGENT_CONTROLLER_GOAL_ROUTE,\n SET_AGENT_CONTROLLER_GOAL_ROUTE,\n UPDATE_AGENT_CONTROLLER_GOAL_ROUTE,\n CLEAR_AGENT_CONTROLLER_GOAL_ROUTE,\n GET_AGENT_CONTROLLER_PERMISSIONS_ROUTE,\n SET_AGENT_CONTROLLER_CATEGORY_PERMISSION_ROUTE,\n SET_AGENT_CONTROLLER_TOOL_PERMISSION_ROUTE,\n SET_AGENT_CONTROLLER_SESSION_STATE_ROUTE,\n];\n","import {\n // Agent route objects\n LIST_AGENTS_ROUTE,\n GET_AGENT_BY_ID_ROUTE,\n CLONE_AGENT_ROUTE,\n GENERATE_AGENT_ROUTE,\n GENERATE_AGENT_VNEXT_ROUTE,\n STREAM_GENERATE_ROUTE,\n STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE,\n OBSERVE_AGENT_STREAM_ROUTE,\n SEND_AGENT_MESSAGE_ROUTE,\n QUEUE_AGENT_MESSAGE_ROUTE,\n SEND_AGENT_SIGNAL_ROUTE,\n ABORT_AGENT_THREAD_ROUTE,\n SUBSCRIBE_AGENT_THREAD_ROUTE,\n GET_PROVIDERS_ROUTE,\n APPROVE_TOOL_CALL_ROUTE,\n SEND_TOOL_APPROVAL_ROUTE,\n LIST_SUSPENDED_RUNS_ROUTE,\n DECLINE_TOOL_CALL_ROUTE,\n RESUME_STREAM_ROUTE,\n RECOVER_ROUTE,\n APPROVE_TOOL_CALL_GENERATE_ROUTE,\n DECLINE_TOOL_CALL_GENERATE_ROUTE,\n STREAM_NETWORK_ROUTE,\n UPDATE_AGENT_MODEL_ROUTE,\n RESET_AGENT_MODEL_ROUTE,\n REORDER_AGENT_MODEL_LIST_ROUTE,\n UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE,\n ENHANCE_INSTRUCTIONS_ROUTE,\n STREAM_VNEXT_DEPRECATED_ROUTE,\n STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE,\n STREAM_UI_MESSAGE_DEPRECATED_ROUTE,\n APPROVE_NETWORK_TOOL_CALL_ROUTE,\n DECLINE_NETWORK_TOOL_CALL_ROUTE,\n GET_AGENT_SKILL_ROUTE,\n STREAM_UNTIL_IDLE_GENERATE_ROUTE,\n RESUME_STREAM_UNTIL_IDLE_ROUTE,\n} from '../../handlers/agents';\nimport { READ_AGENT_PLAN_ROUTE } from '../../handlers/plans';\nimport { GET_AGENT_TOOL_ROUTE, EXECUTE_AGENT_TOOL_ROUTE } from '../../handlers/tools';\nimport {\n GET_SPEAKERS_ROUTE,\n GET_SPEAKERS_DEPRECATED_ROUTE,\n GENERATE_SPEECH_ROUTE,\n GENERATE_SPEECH_DEPRECATED_ROUTE,\n TRANSCRIBE_SPEECH_ROUTE,\n TRANSCRIBE_SPEECH_DEPRECATED_ROUTE,\n GET_LISTENER_ROUTE,\n} from '../../handlers/voice';\nimport type { ServerRoute } from '.';\n\nexport const AGENTS_ROUTES: readonly ServerRoute[] = [\n // ============================================================================\n // Agent Core Routes\n // ============================================================================\n LIST_AGENTS_ROUTE,\n GET_PROVIDERS_ROUTE,\n GET_AGENT_BY_ID_ROUTE,\n CLONE_AGENT_ROUTE,\n\n // ============================================================================\n // Voice Routes\n // ============================================================================\n GET_SPEAKERS_ROUTE,\n GET_SPEAKERS_DEPRECATED_ROUTE,\n\n // ============================================================================\n // Agent Execution Routes\n // ============================================================================\n GENERATE_AGENT_ROUTE,\n GENERATE_AGENT_VNEXT_ROUTE,\n STREAM_GENERATE_ROUTE,\n STREAM_UNTIL_IDLE_GENERATE_ROUTE,\n STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE,\n\n // ============================================================================\n // Resumable Stream Routes\n // ============================================================================\n OBSERVE_AGENT_STREAM_ROUTE,\n SEND_AGENT_MESSAGE_ROUTE,\n QUEUE_AGENT_MESSAGE_ROUTE,\n SEND_AGENT_SIGNAL_ROUTE,\n ABORT_AGENT_THREAD_ROUTE,\n SUBSCRIBE_AGENT_THREAD_ROUTE,\n\n // ============================================================================\n // Tool Routes\n // ============================================================================\n EXECUTE_AGENT_TOOL_ROUTE,\n APPROVE_TOOL_CALL_ROUTE,\n SEND_TOOL_APPROVAL_ROUTE,\n LIST_SUSPENDED_RUNS_ROUTE,\n DECLINE_TOOL_CALL_ROUTE,\n RESUME_STREAM_ROUTE,\n RECOVER_ROUTE,\n APPROVE_TOOL_CALL_GENERATE_ROUTE,\n DECLINE_TOOL_CALL_GENERATE_ROUTE,\n APPROVE_NETWORK_TOOL_CALL_ROUTE,\n DECLINE_NETWORK_TOOL_CALL_ROUTE,\n RESUME_STREAM_UNTIL_IDLE_ROUTE,\n\n // ============================================================================\n // Network Routes\n // ============================================================================\n STREAM_NETWORK_ROUTE,\n\n // ============================================================================\n // Model Management Routes\n // ============================================================================\n UPDATE_AGENT_MODEL_ROUTE,\n RESET_AGENT_MODEL_ROUTE,\n REORDER_AGENT_MODEL_LIST_ROUTE,\n UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE,\n\n // ============================================================================\n // Instruction Enhancement Routes\n // ============================================================================\n ENHANCE_INSTRUCTIONS_ROUTE,\n\n // ============================================================================\n // Agent Tool Routes\n // ============================================================================\n GET_AGENT_TOOL_ROUTE,\n READ_AGENT_PLAN_ROUTE,\n\n // ============================================================================\n // Agent Skill Routes\n // ============================================================================\n GET_AGENT_SKILL_ROUTE,\n\n // ============================================================================\n // Voice/Speech Routes\n // ============================================================================\n GENERATE_SPEECH_ROUTE,\n GENERATE_SPEECH_DEPRECATED_ROUTE,\n TRANSCRIBE_SPEECH_ROUTE,\n TRANSCRIBE_SPEECH_DEPRECATED_ROUTE,\n GET_LISTENER_ROUTE,\n\n // ============================================================================\n // Deprecated Routes\n // ============================================================================\n STREAM_VNEXT_DEPRECATED_ROUTE,\n STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE,\n STREAM_UI_MESSAGE_DEPRECATED_ROUTE,\n];\n\n/**\n * Type-level tuple preserving each agent route's specific schema types.\n * Used by ServerRoutes to build the type-level route map.\n */\nexport type AgentRoutes = readonly [\n typeof LIST_AGENTS_ROUTE,\n typeof GET_PROVIDERS_ROUTE,\n typeof GET_AGENT_BY_ID_ROUTE,\n typeof CLONE_AGENT_ROUTE,\n typeof GET_SPEAKERS_ROUTE,\n typeof GET_SPEAKERS_DEPRECATED_ROUTE,\n typeof GENERATE_AGENT_ROUTE,\n typeof GENERATE_AGENT_VNEXT_ROUTE,\n typeof STREAM_GENERATE_ROUTE,\n typeof STREAM_UNTIL_IDLE_GENERATE_ROUTE,\n typeof STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE,\n typeof SEND_AGENT_MESSAGE_ROUTE,\n typeof QUEUE_AGENT_MESSAGE_ROUTE,\n typeof SEND_AGENT_SIGNAL_ROUTE,\n typeof ABORT_AGENT_THREAD_ROUTE,\n typeof SUBSCRIBE_AGENT_THREAD_ROUTE,\n typeof EXECUTE_AGENT_TOOL_ROUTE,\n typeof APPROVE_TOOL_CALL_ROUTE,\n typeof SEND_TOOL_APPROVAL_ROUTE,\n typeof LIST_SUSPENDED_RUNS_ROUTE,\n typeof DECLINE_TOOL_CALL_ROUTE,\n typeof RESUME_STREAM_ROUTE,\n typeof RECOVER_ROUTE,\n typeof RESUME_STREAM_UNTIL_IDLE_ROUTE,\n typeof APPROVE_TOOL_CALL_GENERATE_ROUTE,\n typeof DECLINE_TOOL_CALL_GENERATE_ROUTE,\n typeof APPROVE_NETWORK_TOOL_CALL_ROUTE,\n typeof DECLINE_NETWORK_TOOL_CALL_ROUTE,\n typeof STREAM_NETWORK_ROUTE,\n typeof UPDATE_AGENT_MODEL_ROUTE,\n typeof RESET_AGENT_MODEL_ROUTE,\n typeof REORDER_AGENT_MODEL_LIST_ROUTE,\n typeof UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE,\n typeof ENHANCE_INSTRUCTIONS_ROUTE,\n typeof GET_AGENT_TOOL_ROUTE,\n typeof READ_AGENT_PLAN_ROUTE,\n typeof GET_AGENT_SKILL_ROUTE,\n typeof GENERATE_SPEECH_ROUTE,\n typeof GENERATE_SPEECH_DEPRECATED_ROUTE,\n typeof TRANSCRIBE_SPEECH_ROUTE,\n typeof TRANSCRIBE_SPEECH_DEPRECATED_ROUTE,\n typeof GET_LISTENER_ROUTE,\n typeof STREAM_VNEXT_DEPRECATED_ROUTE,\n typeof STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE,\n typeof STREAM_UI_MESSAGE_DEPRECATED_ROUTE,\n];\n","import {\n BACKGROUND_TASK_STREAM_ROUTE,\n GET_BACKGROUND_TASK_ROUTE,\n LIST_BACKGROUND_TASKS_ROUTE,\n} from '../../handlers/background-tasks';\nimport type { ServerRoute } from '.';\n\nexport const BACKGROUND_TASK_ROUTES: ServerRoute<any, any, any>[] = [\n BACKGROUND_TASK_STREAM_ROUTE,\n LIST_BACKGROUND_TASKS_ROUTE,\n GET_BACKGROUND_TASK_ROUTE,\n];\n","import {\n LIST_CHANNEL_PLATFORMS_ROUTE,\n LIST_CHANNEL_INSTALLATIONS_ROUTE,\n CONNECT_CHANNEL_ROUTE,\n DISCONNECT_CHANNEL_ROUTE,\n} from '../../handlers/channels';\n\nexport const CHANNELS_ROUTES = [\n LIST_CHANNEL_PLATFORMS_ROUTE,\n LIST_CHANNEL_INSTALLATIONS_ROUTE,\n CONNECT_CHANNEL_ROUTE,\n DISCONNECT_CHANNEL_ROUTE,\n] as const;\n","import {\n CREATE_CONVERSATION_ROUTE,\n DELETE_CONVERSATION_ROUTE,\n GET_CONVERSATION_ITEMS_ROUTE,\n GET_CONVERSATION_ROUTE,\n} from '../../handlers/conversations';\n\nexport const CONVERSATIONS_ROUTES = [\n CREATE_CONVERSATION_ROUTE,\n GET_CONVERSATION_ROUTE,\n GET_CONVERSATION_ITEMS_ROUTE,\n DELETE_CONVERSATION_ROUTE,\n] as const;\n","import {\n LIST_DATASETS_ROUTE,\n CREATE_DATASET_ROUTE,\n GET_DATASET_ROUTE,\n UPDATE_DATASET_ROUTE,\n DELETE_DATASET_ROUTE,\n LIST_ITEMS_ROUTE,\n ADD_ITEM_ROUTE,\n GET_ITEM_ROUTE,\n UPDATE_ITEM_ROUTE,\n DELETE_ITEM_ROUTE,\n PURGE_ITEM_ROUTE,\n LIST_ALL_EXPERIMENTS_ROUTE,\n EXPERIMENT_REVIEW_SUMMARY_ROUTE,\n DELETE_ANY_EXPERIMENT_ROUTE,\n LIST_EXPERIMENTS_ROUTE,\n TRIGGER_EXPERIMENT_ROUTE,\n RUN_EXPERIMENT_ITEM_ROUTE,\n SUBMIT_EXPERIMENT_RESULT_ROUTE,\n FINALIZE_EXPERIMENT_ROUTE,\n GET_EXPERIMENT_ROUTE,\n DELETE_EXPERIMENT_ROUTE,\n UPDATE_EXPERIMENT_ROUTE,\n LIST_EXPERIMENT_RESULTS_ROUTE,\n UPDATE_EXPERIMENT_RESULT_ROUTE,\n COMPARE_EXPERIMENTS_ROUTE,\n LIST_DATASET_VERSIONS_ROUTE,\n LIST_ITEM_VERSIONS_ROUTE,\n GET_ITEM_VERSION_ROUTE,\n BATCH_INSERT_ITEMS_ROUTE,\n BATCH_DELETE_ITEMS_ROUTE,\n GENERATE_ITEMS_ROUTE,\n CLUSTER_FAILURES_ROUTE,\n} from '../../handlers/datasets';\n\nexport const DATASETS_ROUTES = [\n // Dataset CRUD\n LIST_DATASETS_ROUTE,\n CREATE_DATASET_ROUTE,\n GET_DATASET_ROUTE,\n UPDATE_DATASET_ROUTE,\n DELETE_DATASET_ROUTE,\n // Item list and add\n LIST_ITEMS_ROUTE,\n ADD_ITEM_ROUTE,\n // Batch operations - MUST come before item-specific routes to avoid /items/batch matching /items/:itemId\n BATCH_INSERT_ITEMS_ROUTE,\n BATCH_DELETE_ITEMS_ROUTE,\n // Item-specific CRUD (uses :itemId param)\n GET_ITEM_ROUTE,\n UPDATE_ITEM_ROUTE,\n PURGE_ITEM_ROUTE,\n DELETE_ITEM_ROUTE,\n // Version operations\n LIST_DATASET_VERSIONS_ROUTE,\n LIST_ITEM_VERSIONS_ROUTE,\n GET_ITEM_VERSION_ROUTE,\n // All experiments (cross-dataset) - MUST come before dataset-scoped experiments\n LIST_ALL_EXPERIMENTS_ROUTE,\n // Experiment review summary (cross-dataset) - MUST come before dataset-scoped experiments\n EXPERIMENT_REVIEW_SUMMARY_ROUTE,\n // Cross-dataset experiment delete (covers experiments orphaned by dataset deletion)\n DELETE_ANY_EXPERIMENT_ROUTE,\n // Experiment operations (dataset-scoped)\n LIST_EXPERIMENTS_ROUTE,\n TRIGGER_EXPERIMENT_ROUTE,\n // Caller-driven experiments (run one item, submit results, finalize)\n RUN_EXPERIMENT_ITEM_ROUTE,\n SUBMIT_EXPERIMENT_RESULT_ROUTE,\n FINALIZE_EXPERIMENT_ROUTE,\n GET_EXPERIMENT_ROUTE,\n DELETE_EXPERIMENT_ROUTE,\n UPDATE_EXPERIMENT_ROUTE,\n LIST_EXPERIMENT_RESULTS_ROUTE,\n UPDATE_EXPERIMENT_RESULT_ROUTE,\n // Analytics\n COMPARE_EXPERIMENTS_ROUTE,\n // AI generation\n GENERATE_ITEMS_ROUTE,\n // Failure analysis\n CLUSTER_FAILURES_ROUTE,\n] as const;\n","import {\n DELETE_DYNAMIC_WORKFLOW_ROUTE,\n GET_DYNAMIC_WORKFLOW_ROUTE,\n LIST_DYNAMIC_WORKFLOWS_ROUTE,\n UPSERT_DYNAMIC_WORKFLOW_ROUTE,\n} from '../../handlers/dynamic-workflows';\nimport type { ServerRoute } from '.';\n\n/**\n * Routes for dynamic workflow definitions: list / get / upsert / delete.\n * Upsert is the path the chat-driven workflow-builder agent (and Studio's\n * future \"Save\" button) uses to persist + live-register a workflow without\n * a server restart.\n */\nexport const DYNAMIC_WORKFLOWS_ROUTES: readonly ServerRoute[] = [\n LIST_DYNAMIC_WORKFLOWS_ROUTE,\n UPSERT_DYNAMIC_WORKFLOW_ROUTE,\n GET_DYNAMIC_WORKFLOW_ROUTE, // After UPSERT (POST) since both are on the same /stored/workflows base\n DELETE_DYNAMIC_WORKFLOW_ROUTE,\n];\n\nexport type DynamicWorkflowRoutes = readonly [\n typeof LIST_DYNAMIC_WORKFLOWS_ROUTE,\n typeof UPSERT_DYNAMIC_WORKFLOW_ROUTE,\n typeof GET_DYNAMIC_WORKFLOW_ROUTE,\n typeof DELETE_DYNAMIC_WORKFLOW_ROUTE,\n];\n","import {\n BUILDER_REGISTRY_INSTALL_ROUTE,\n BUILDER_REGISTRY_POPULAR_ROUTE,\n BUILDER_REGISTRY_PREVIEW_ROUTE,\n BUILDER_REGISTRY_SEARCH_ROUTE,\n LIST_BUILDER_REGISTRIES_ROUTE,\n} from '../../handlers/builder-registry';\nimport {\n GET_EDITOR_BUILDER_AVAILABLE_MODELS_ROUTE,\n GET_EDITOR_BUILDER_SETTINGS_ROUTE,\n GET_INFRASTRUCTURE_STATUS_ROUTE,\n} from '../../handlers/editor-builder';\n\n/**\n * Editor Builder Routes\n *\n * Routes for agent builder settings, infrastructure status, and external\n * skill registries.\n */\nexport const EDITOR_BUILDER_ROUTES = [\n GET_EDITOR_BUILDER_SETTINGS_ROUTE,\n GET_EDITOR_BUILDER_AVAILABLE_MODELS_ROUTE,\n GET_INFRASTRUCTURE_STATUS_ROUTE,\n LIST_BUILDER_REGISTRIES_ROUTE,\n BUILDER_REGISTRY_SEARCH_ROUTE,\n BUILDER_REGISTRY_POPULAR_ROUTE,\n BUILDER_REGISTRY_PREVIEW_ROUTE,\n BUILDER_REGISTRY_INSTALL_ROUTE,\n] as const;\n","/**\n * Legacy routes that are deprecated but still exist in deployer for backward compatibility.\n * These routes should not be used in new code and will be removed in a future version.\n */\n\nimport { GENERATE_LEGACY_ROUTE, STREAM_GENERATE_LEGACY_ROUTE } from '../../handlers/agents';\nimport { STREAM_LEGACY_WORKFLOW_ROUTE, OBSERVE_STREAM_LEGACY_WORKFLOW_ROUTE } from '../../handlers/workflows';\n\nexport const LEGACY_ROUTES = [\n // ============================================================================\n // Legacy Agent Routes\n // ============================================================================\n GENERATE_LEGACY_ROUTE,\n STREAM_GENERATE_LEGACY_ROUTE,\n\n // ============================================================================\n // Legacy Workflow Routes\n // ============================================================================\n STREAM_LEGACY_WORKFLOW_ROUTE,\n OBSERVE_STREAM_LEGACY_WORKFLOW_ROUTE,\n] as const;\n","import { LIST_LOG_TRANSPORTS_ROUTE, LIST_LOGS_ROUTE, LIST_LOGS_BY_RUN_ID_ROUTE } from '../../handlers/logs';\n\nexport const LOGS_ROUTES = [LIST_LOG_TRANSPORTS_ROUTE, LIST_LOGS_ROUTE, LIST_LOGS_BY_RUN_ID_ROUTE] as const;\n","import {\n LIST_MCP_SERVERS_ROUTE,\n GET_MCP_SERVER_DETAIL_ROUTE,\n LIST_MCP_SERVER_TOOLS_ROUTE,\n GET_MCP_SERVER_TOOL_DETAIL_ROUTE,\n EXECUTE_MCP_SERVER_TOOL_ROUTE,\n LIST_MCP_SERVER_RESOURCES_ROUTE,\n READ_MCP_SERVER_RESOURCE_ROUTE,\n MCP_HTTP_TRANSPORT_ROUTE,\n MCP_SSE_TRANSPORT_ROUTE,\n MCP_SSE_MESSAGES_ROUTE,\n} from '../../handlers/mcp';\n\n/**\n * MCP Routes\n *\n * Registry routes provide access to the MCP server registry and tools.\n * Transport routes handle the MCP protocol communication (HTTP and SSE).\n */\nexport const MCP_ROUTES = [\n // ============================================================================\n // MCP Server Registry Routes\n // ============================================================================\n LIST_MCP_SERVERS_ROUTE,\n GET_MCP_SERVER_DETAIL_ROUTE,\n\n // ============================================================================\n // MCP Server Tool Routes\n // ============================================================================\n LIST_MCP_SERVER_TOOLS_ROUTE,\n GET_MCP_SERVER_TOOL_DETAIL_ROUTE,\n EXECUTE_MCP_SERVER_TOOL_ROUTE,\n\n // ============================================================================\n // MCP Server Resource Routes\n // ============================================================================\n LIST_MCP_SERVER_RESOURCES_ROUTE,\n READ_MCP_SERVER_RESOURCE_ROUTE,\n\n // ============================================================================\n // MCP Transport Routes (handled by adapters)\n // ============================================================================\n MCP_HTTP_TRANSPORT_ROUTE,\n MCP_SSE_TRANSPORT_ROUTE,\n MCP_SSE_MESSAGES_ROUTE,\n] as const;\n","import {\n GET_MEMORY_STATUS_ROUTE,\n GET_MEMORY_CONFIG_ROUTE,\n GET_OBSERVATIONAL_MEMORY_ROUTE,\n AWAIT_BUFFER_STATUS_ROUTE,\n LIST_THREADS_ROUTE,\n GET_THREAD_BY_ID_ROUTE,\n LIST_MESSAGES_ROUTE,\n GET_WORKING_MEMORY_ROUTE,\n SAVE_MESSAGES_ROUTE,\n CREATE_THREAD_ROUTE,\n UPDATE_THREAD_ROUTE,\n DELETE_THREAD_ROUTE,\n CLONE_THREAD_ROUTE,\n UPDATE_WORKING_MEMORY_ROUTE,\n DELETE_MESSAGES_ROUTE,\n SEARCH_MEMORY_ROUTE,\n GET_MEMORY_STATUS_NETWORK_ROUTE,\n LIST_THREADS_NETWORK_ROUTE,\n GET_THREAD_BY_ID_NETWORK_ROUTE,\n LIST_MESSAGES_NETWORK_ROUTE,\n SAVE_MESSAGES_NETWORK_ROUTE,\n CREATE_THREAD_NETWORK_ROUTE,\n UPDATE_THREAD_NETWORK_ROUTE,\n DELETE_THREAD_NETWORK_ROUTE,\n DELETE_MESSAGES_NETWORK_ROUTE,\n} from '../../handlers/memory';\n\nexport const MEMORY_ROUTES = [\n GET_MEMORY_STATUS_ROUTE,\n GET_MEMORY_CONFIG_ROUTE,\n GET_OBSERVATIONAL_MEMORY_ROUTE,\n AWAIT_BUFFER_STATUS_ROUTE,\n LIST_THREADS_ROUTE,\n GET_THREAD_BY_ID_ROUTE,\n LIST_MESSAGES_ROUTE,\n GET_WORKING_MEMORY_ROUTE,\n SAVE_MESSAGES_ROUTE,\n CREATE_THREAD_ROUTE,\n UPDATE_THREAD_ROUTE,\n DELETE_THREAD_ROUTE,\n CLONE_THREAD_ROUTE,\n UPDATE_WORKING_MEMORY_ROUTE,\n DELETE_MESSAGES_ROUTE,\n SEARCH_MEMORY_ROUTE,\n GET_MEMORY_STATUS_NETWORK_ROUTE,\n LIST_THREADS_NETWORK_ROUTE,\n GET_THREAD_BY_ID_NETWORK_ROUTE,\n LIST_MESSAGES_NETWORK_ROUTE,\n SAVE_MESSAGES_NETWORK_ROUTE,\n CREATE_THREAD_NETWORK_ROUTE,\n UPDATE_THREAD_NETWORK_ROUTE,\n DELETE_THREAD_NETWORK_ROUTE,\n DELETE_MESSAGES_NETWORK_ROUTE,\n] as const;\n","import {\n LIST_TRACES_ROUTE,\n LIST_TRACES_LIGHT_ROUTE,\n LIST_BRANCHES_ROUTE,\n GET_BRANCH_ROUTE,\n GET_TRACE_ROUTE,\n GET_TRACE_LIGHT_ROUTE,\n GET_SPAN_ROUTE,\n GET_TRACE_TRAJECTORY_ROUTE,\n DELETE_TRACES_ROUTE,\n SCORE_TRACES_ROUTE,\n LIST_SCORES_BY_SPAN_ROUTE,\n} from '../../handlers/observability';\nimport {\n QUERY_TRACES,\n LIST_METRICS,\n LIST_LOGS,\n LIST_SCORES,\n CREATE_SCORE,\n DELETE_SCORES,\n GET_SCORE,\n GET_SCORE_AGGREGATE,\n GET_SCORE_BREAKDOWN,\n GET_SCORE_TIME_SERIES,\n GET_SCORE_PERCENTILES,\n LIST_FEEDBACK,\n CREATE_FEEDBACK,\n DELETE_FEEDBACK,\n UPDATE_FEEDBACK_REVIEW_STATUS,\n GET_FEEDBACK_AGGREGATE,\n GET_FEEDBACK_BREAKDOWN,\n GET_FEEDBACK_TIME_SERIES,\n GET_FEEDBACK_PERCENTILES,\n GET_METRIC_AGGREGATE,\n GET_METRIC_BREAKDOWN,\n GET_METRIC_TIME_SERIES,\n GET_METRIC_PERCENTILES,\n GET_METRIC_NAMES,\n GET_METRIC_LABEL_KEYS,\n GET_METRIC_LABEL_VALUES,\n GET_ENTITY_TYPES,\n GET_ENTITY_NAMES,\n GET_SERVICE_NAMES,\n GET_ENVIRONMENTS,\n GET_TAGS,\n} from '../../handlers/observability-new-endpoints';\n\nexport const OBSERVABILITY_ROUTES = [\n // Legacy\n LIST_TRACES_ROUTE,\n LIST_TRACES_LIGHT_ROUTE,\n LIST_BRANCHES_ROUTE,\n GET_BRANCH_ROUTE,\n GET_TRACE_ROUTE,\n GET_TRACE_LIGHT_ROUTE,\n GET_SPAN_ROUTE,\n GET_TRACE_TRAJECTORY_ROUTE,\n DELETE_TRACES_ROUTE,\n SCORE_TRACES_ROUTE,\n LIST_SCORES_BY_SPAN_ROUTE,\n // New observability routes\n QUERY_TRACES,\n LIST_METRICS,\n LIST_LOGS,\n LIST_SCORES,\n CREATE_SCORE,\n DELETE_SCORES,\n GET_SCORE,\n GET_SCORE_AGGREGATE,\n GET_SCORE_BREAKDOWN,\n GET_SCORE_TIME_SERIES,\n GET_SCORE_PERCENTILES,\n LIST_FEEDBACK,\n CREATE_FEEDBACK,\n DELETE_FEEDBACK,\n UPDATE_FEEDBACK_REVIEW_STATUS,\n GET_FEEDBACK_AGGREGATE,\n GET_FEEDBACK_BREAKDOWN,\n GET_FEEDBACK_TIME_SERIES,\n GET_FEEDBACK_PERCENTILES,\n GET_METRIC_AGGREGATE,\n GET_METRIC_BREAKDOWN,\n GET_METRIC_TIME_SERIES,\n GET_METRIC_PERCENTILES,\n GET_METRIC_NAMES,\n GET_METRIC_LABEL_KEYS,\n GET_METRIC_LABEL_VALUES,\n GET_ENTITY_TYPES,\n GET_ENTITY_NAMES,\n GET_SERVICE_NAMES,\n GET_ENVIRONMENTS,\n GET_TAGS,\n] as const;\n","import { LIST_PROCESSOR_PROVIDERS_ROUTE, GET_PROCESSOR_PROVIDER_ROUTE } from '../../handlers/processor-providers';\n\nexport const PROCESSOR_PROVIDER_ROUTES = [LIST_PROCESSOR_PROVIDERS_ROUTE, GET_PROCESSOR_PROVIDER_ROUTE] as const;\n","import { LIST_PROCESSORS_ROUTE, GET_PROCESSOR_BY_ID_ROUTE, EXECUTE_PROCESSOR_ROUTE } from '../../handlers/processors';\n\nexport const PROCESSORS_ROUTES = [LIST_PROCESSORS_ROUTE, GET_PROCESSOR_BY_ID_ROUTE, EXECUTE_PROCESSOR_ROUTE] as const;\n","import { CREATE_RESPONSE_ROUTE, DELETE_RESPONSE_ROUTE, GET_RESPONSE_ROUTE } from '../../handlers/responses';\n\nexport const RESPONSES_ROUTES = [CREATE_RESPONSE_ROUTE, GET_RESPONSE_ROUTE, DELETE_RESPONSE_ROUTE] as const;\n","import {\n CREATE_SCHEDULE_ROUTE,\n DELETE_SCHEDULE_ROUTE,\n GET_SCHEDULE_ROUTE,\n LIST_SCHEDULES_ROUTE,\n LIST_SCHEDULE_TRIGGERS_ROUTE,\n PAUSE_SCHEDULE_ROUTE,\n RESUME_SCHEDULE_ROUTE,\n RUN_SCHEDULE_ROUTE,\n UPDATE_SCHEDULE_ROUTE,\n} from '../../handlers/schedules';\nimport type { ServerRoute } from '.';\n\nexport const SCHEDULES_ROUTES: ServerRoute<any, any, any>[] = [\n LIST_SCHEDULES_ROUTE,\n GET_SCHEDULE_ROUTE,\n CREATE_SCHEDULE_ROUTE,\n UPDATE_SCHEDULE_ROUTE,\n DELETE_SCHEDULE_ROUTE,\n LIST_SCHEDULE_TRIGGERS_ROUTE,\n PAUSE_SCHEDULE_ROUTE,\n RESUME_SCHEDULE_ROUTE,\n RUN_SCHEDULE_ROUTE,\n];\n","import {\n LIST_SCORERS_ROUTE,\n GET_SCORER_ROUTE,\n LIST_SCORES_BY_RUN_ID_ROUTE,\n LIST_SCORES_BY_SCORER_ID_ROUTE,\n LIST_SCORES_BY_ENTITY_ID_ROUTE,\n SAVE_SCORE_ROUTE,\n} from '../../handlers/scores';\n\nexport const SCORES_ROUTES = [\n LIST_SCORERS_ROUTE,\n GET_SCORER_ROUTE,\n LIST_SCORES_BY_RUN_ID_ROUTE,\n LIST_SCORES_BY_SCORER_ID_ROUTE,\n LIST_SCORES_BY_ENTITY_ID_ROUTE,\n SAVE_SCORE_ROUTE,\n] as const;\n","import {\n LIST_AGENT_VERSIONS_ROUTE,\n CREATE_AGENT_VERSION_ROUTE,\n GET_AGENT_VERSION_ROUTE,\n ACTIVATE_AGENT_VERSION_ROUTE,\n RESTORE_AGENT_VERSION_ROUTE,\n DELETE_AGENT_VERSION_ROUTE,\n COMPARE_AGENT_VERSIONS_ROUTE,\n} from '../../handlers/agent-versions';\nimport { FAVORITE_STORED_AGENT_ROUTE, UNFAVORITE_STORED_AGENT_ROUTE } from '../../handlers/stored-agent-favorites';\nimport {\n LIST_STORED_AGENTS_ROUTE,\n GET_STORED_AGENT_ROUTE,\n GET_STORED_AGENT_DEPENDENTS_ROUTE,\n CREATE_STORED_AGENT_ROUTE,\n UPDATE_STORED_AGENT_ROUTE,\n DELETE_STORED_AGENT_ROUTE,\n PREVIEW_INSTRUCTIONS_ROUTE,\n EXPORT_STORED_AGENT_ROUTE,\n OPEN_STORED_AGENT_CHANGE_REQUEST_ROUTE,\n} from '../../handlers/stored-agents';\nimport type { ServerRoute } from '.';\n\n/**\n * Routes for stored agents CRUD operations and version management.\n * These routes provide API access to agent configurations stored in the database,\n * enabling dynamic creation and management of agents via Mastra Studio.\n */\nexport const STORED_AGENTS_ROUTES: readonly ServerRoute[] = [\n // ============================================================================\n // Stored Agents CRUD Routes\n // IMPORTANT: Routes with literal paths (e.g., /preview-instructions) must come\n // BEFORE routes with path parameters (e.g., /:storedAgentId) to ensure correct matching.\n // ============================================================================\n LIST_STORED_AGENTS_ROUTE,\n PREVIEW_INSTRUCTIONS_ROUTE, // Must be before GET_STORED_AGENT_ROUTE\n GET_STORED_AGENT_DEPENDENTS_ROUTE, // Must be before GET_STORED_AGENT_ROUTE (longer literal)\n EXPORT_STORED_AGENT_ROUTE, // Must be before GET_STORED_AGENT_ROUTE\n OPEN_STORED_AGENT_CHANGE_REQUEST_ROUTE, // Must be before GET_STORED_AGENT_ROUTE\n GET_STORED_AGENT_ROUTE,\n CREATE_STORED_AGENT_ROUTE,\n UPDATE_STORED_AGENT_ROUTE,\n DELETE_STORED_AGENT_ROUTE,\n\n // ============================================================================\n // Agent Versions Routes\n // IMPORTANT: Routes with literal paths (e.g., /compare) must come BEFORE\n // routes with path parameters (e.g., /:versionId) to ensure correct matching.\n // ============================================================================\n LIST_AGENT_VERSIONS_ROUTE,\n CREATE_AGENT_VERSION_ROUTE,\n COMPARE_AGENT_VERSIONS_ROUTE, // Must be before GET_AGENT_VERSION_ROUTE\n GET_AGENT_VERSION_ROUTE,\n ACTIVATE_AGENT_VERSION_ROUTE,\n RESTORE_AGENT_VERSION_ROUTE,\n DELETE_AGENT_VERSION_ROUTE,\n\n // ============================================================================\n // Favorites (EE)\n // ============================================================================\n FAVORITE_STORED_AGENT_ROUTE,\n UNFAVORITE_STORED_AGENT_ROUTE,\n];\n\n/**\n * Type-level tuple preserving each stored agent route's specific schema types.\n * Used by ServerRoutes to build the type-level route map.\n */\nexport type StoredAgentRoutes = readonly [\n typeof LIST_STORED_AGENTS_ROUTE,\n typeof PREVIEW_INSTRUCTIONS_ROUTE,\n typeof GET_STORED_AGENT_DEPENDENTS_ROUTE,\n typeof EXPORT_STORED_AGENT_ROUTE,\n typeof OPEN_STORED_AGENT_CHANGE_REQUEST_ROUTE,\n typeof GET_STORED_AGENT_ROUTE,\n typeof CREATE_STORED_AGENT_ROUTE,\n typeof UPDATE_STORED_AGENT_ROUTE,\n typeof DELETE_STORED_AGENT_ROUTE,\n typeof LIST_AGENT_VERSIONS_ROUTE,\n typeof CREATE_AGENT_VERSION_ROUTE,\n typeof COMPARE_AGENT_VERSIONS_ROUTE,\n typeof GET_AGENT_VERSION_ROUTE,\n typeof ACTIVATE_AGENT_VERSION_ROUTE,\n typeof RESTORE_AGENT_VERSION_ROUTE,\n typeof DELETE_AGENT_VERSION_ROUTE,\n typeof FAVORITE_STORED_AGENT_ROUTE,\n typeof UNFAVORITE_STORED_AGENT_ROUTE,\n];\n","import {\n LIST_MCP_CLIENT_VERSIONS_ROUTE,\n CREATE_MCP_CLIENT_VERSION_ROUTE,\n GET_MCP_CLIENT_VERSION_ROUTE,\n ACTIVATE_MCP_CLIENT_VERSION_ROUTE,\n RESTORE_MCP_CLIENT_VERSION_ROUTE,\n DELETE_MCP_CLIENT_VERSION_ROUTE,\n COMPARE_MCP_CLIENT_VERSIONS_ROUTE,\n} from '../../handlers/mcp-client-versions';\nimport {\n LIST_STORED_MCP_CLIENTS_ROUTE,\n GET_STORED_MCP_CLIENT_ROUTE,\n CREATE_STORED_MCP_CLIENT_ROUTE,\n UPDATE_STORED_MCP_CLIENT_ROUTE,\n DELETE_STORED_MCP_CLIENT_ROUTE,\n} from '../../handlers/stored-mcp-clients';\n\nexport const STORED_MCP_CLIENTS_ROUTES = [\n // Stored MCP Clients CRUD Routes\n LIST_STORED_MCP_CLIENTS_ROUTE,\n GET_STORED_MCP_CLIENT_ROUTE,\n CREATE_STORED_MCP_CLIENT_ROUTE,\n UPDATE_STORED_MCP_CLIENT_ROUTE,\n DELETE_STORED_MCP_CLIENT_ROUTE,\n\n // MCP Client Versions Routes\n // IMPORTANT: Routes with literal paths (e.g., /compare) must come BEFORE\n // routes with path parameters (e.g., /:versionId) to ensure correct matching.\n LIST_MCP_CLIENT_VERSIONS_ROUTE,\n CREATE_MCP_CLIENT_VERSION_ROUTE,\n COMPARE_MCP_CLIENT_VERSIONS_ROUTE,\n GET_MCP_CLIENT_VERSION_ROUTE,\n ACTIVATE_MCP_CLIENT_VERSION_ROUTE,\n RESTORE_MCP_CLIENT_VERSION_ROUTE,\n DELETE_MCP_CLIENT_VERSION_ROUTE,\n] as const;\n","import {\n LIST_PROMPT_BLOCK_VERSIONS_ROUTE,\n CREATE_PROMPT_BLOCK_VERSION_ROUTE,\n GET_PROMPT_BLOCK_VERSION_ROUTE,\n ACTIVATE_PROMPT_BLOCK_VERSION_ROUTE,\n RESTORE_PROMPT_BLOCK_VERSION_ROUTE,\n DELETE_PROMPT_BLOCK_VERSION_ROUTE,\n COMPARE_PROMPT_BLOCK_VERSIONS_ROUTE,\n} from '../../handlers/prompt-block-versions';\nimport {\n LIST_STORED_PROMPT_BLOCKS_ROUTE,\n GET_STORED_PROMPT_BLOCK_ROUTE,\n CREATE_STORED_PROMPT_BLOCK_ROUTE,\n UPDATE_STORED_PROMPT_BLOCK_ROUTE,\n DELETE_STORED_PROMPT_BLOCK_ROUTE,\n} from '../../handlers/stored-prompt-blocks';\n\nexport const STORED_PROMPT_BLOCKS_ROUTES = [\n // Stored Prompt Blocks CRUD Routes\n LIST_STORED_PROMPT_BLOCKS_ROUTE,\n GET_STORED_PROMPT_BLOCK_ROUTE,\n CREATE_STORED_PROMPT_BLOCK_ROUTE,\n UPDATE_STORED_PROMPT_BLOCK_ROUTE,\n DELETE_STORED_PROMPT_BLOCK_ROUTE,\n\n // Prompt Block Versions Routes\n // IMPORTANT: Routes with literal paths (e.g., /compare) must come BEFORE\n // routes with path parameters (e.g., /:versionId) to ensure correct matching.\n LIST_PROMPT_BLOCK_VERSIONS_ROUTE,\n CREATE_PROMPT_BLOCK_VERSION_ROUTE,\n COMPARE_PROMPT_BLOCK_VERSIONS_ROUTE,\n GET_PROMPT_BLOCK_VERSION_ROUTE,\n ACTIVATE_PROMPT_BLOCK_VERSION_ROUTE,\n RESTORE_PROMPT_BLOCK_VERSION_ROUTE,\n DELETE_PROMPT_BLOCK_VERSION_ROUTE,\n] as const;\n","import {\n LIST_SCORER_VERSIONS_ROUTE,\n CREATE_SCORER_VERSION_ROUTE,\n GET_SCORER_VERSION_ROUTE,\n ACTIVATE_SCORER_VERSION_ROUTE,\n RESTORE_SCORER_VERSION_ROUTE,\n DELETE_SCORER_VERSION_ROUTE,\n COMPARE_SCORER_VERSIONS_ROUTE,\n} from '../../handlers/scorer-versions';\nimport {\n LIST_STORED_SCORERS_ROUTE,\n GET_STORED_SCORER_ROUTE,\n CREATE_STORED_SCORER_ROUTE,\n UPDATE_STORED_SCORER_ROUTE,\n DELETE_STORED_SCORER_ROUTE,\n} from '../../handlers/stored-scorers';\n\nexport const STORED_SCORERS_ROUTES = [\n // Stored Scorers CRUD Routes\n LIST_STORED_SCORERS_ROUTE,\n GET_STORED_SCORER_ROUTE,\n CREATE_STORED_SCORER_ROUTE,\n UPDATE_STORED_SCORER_ROUTE,\n DELETE_STORED_SCORER_ROUTE,\n\n // Scorer Versions Routes\n // IMPORTANT: Routes with literal paths (e.g., /compare) must come BEFORE\n // routes with path parameters (e.g., /:versionId) to ensure correct matching.\n LIST_SCORER_VERSIONS_ROUTE,\n CREATE_SCORER_VERSION_ROUTE,\n COMPARE_SCORER_VERSIONS_ROUTE,\n GET_SCORER_VERSION_ROUTE,\n ACTIVATE_SCORER_VERSION_ROUTE,\n RESTORE_SCORER_VERSION_ROUTE,\n DELETE_SCORER_VERSION_ROUTE,\n] as const;\n","import { FAVORITE_STORED_SKILL_ROUTE, UNFAVORITE_STORED_SKILL_ROUTE } from '../../handlers/stored-skill-favorites';\nimport {\n LIST_STORED_SKILLS_ROUTE,\n GET_STORED_SKILL_ROUTE,\n CREATE_STORED_SKILL_ROUTE,\n UPDATE_STORED_SKILL_ROUTE,\n DELETE_STORED_SKILL_ROUTE,\n PUBLISH_STORED_SKILL_ROUTE,\n} from '../../handlers/stored-skills';\n\nexport const STORED_SKILLS_ROUTES = [\n // Stored Skills CRUD Routes\n LIST_STORED_SKILLS_ROUTE,\n GET_STORED_SKILL_ROUTE,\n CREATE_STORED_SKILL_ROUTE,\n UPDATE_STORED_SKILL_ROUTE,\n DELETE_STORED_SKILL_ROUTE,\n // Publish\n PUBLISH_STORED_SKILL_ROUTE,\n // Favorites (EE)\n FAVORITE_STORED_SKILL_ROUTE,\n UNFAVORITE_STORED_SKILL_ROUTE,\n] as const;\n","import {\n LIST_STORED_WORKSPACES_ROUTE,\n GET_STORED_WORKSPACE_ROUTE,\n CREATE_STORED_WORKSPACE_ROUTE,\n UPDATE_STORED_WORKSPACE_ROUTE,\n DELETE_STORED_WORKSPACE_ROUTE,\n} from '../../handlers/stored-workspaces';\n\nexport const STORED_WORKSPACES_ROUTES = [\n // Stored Workspaces CRUD Routes\n LIST_STORED_WORKSPACES_ROUTE,\n GET_STORED_WORKSPACE_ROUTE,\n CREATE_STORED_WORKSPACE_ROUTE,\n UPDATE_STORED_WORKSPACE_ROUTE,\n DELETE_STORED_WORKSPACE_ROUTE,\n] as const;\n","import { GET_API_SCHEMA_ROUTE, GET_SYSTEM_PACKAGES_ROUTE } from '../../handlers/system';\n\n/**\n * System Routes\n *\n * Routes for system information and diagnostics.\n */\nexport const SYSTEM_ROUTES = [GET_SYSTEM_PACKAGES_ROUTE, GET_API_SCHEMA_ROUTE] as const;\n","import {\n AUTHORIZE_TOOL_PROVIDER_ROUTE,\n DISCONNECT_TOOL_PROVIDER_CONNECTION_ROUTE,\n GET_TOOL_PROVIDER_AUTH_STATUS_ROUTE,\n GET_TOOL_PROVIDER_CONNECTION_USAGE_ROUTE,\n GET_TOOL_PROVIDER_HEALTH_ROUTE,\n GET_TOOL_PROVIDER_TOOL_SCHEMA_ROUTE,\n LIST_TOOL_PROVIDERS_ROUTE,\n LIST_TOOL_PROVIDER_CONNECTIONS_ROUTE,\n LIST_TOOL_PROVIDER_CONNECTION_FIELDS_ROUTE,\n LIST_TOOL_PROVIDER_TOOLKITS_ROUTE,\n LIST_TOOL_PROVIDER_TOOLS_ROUTE,\n TOOL_PROVIDER_CONNECTION_STATUS_ROUTE,\n UPDATE_TOOL_PROVIDER_CONNECTION_ROUTE,\n} from '../../handlers/tool-providers';\n\nexport const TOOL_PROVIDER_ROUTES = [\n LIST_TOOL_PROVIDERS_ROUTE,\n LIST_TOOL_PROVIDER_TOOLKITS_ROUTE,\n LIST_TOOL_PROVIDER_TOOLS_ROUTE,\n GET_TOOL_PROVIDER_TOOL_SCHEMA_ROUTE,\n AUTHORIZE_TOOL_PROVIDER_ROUTE,\n GET_TOOL_PROVIDER_AUTH_STATUS_ROUTE,\n TOOL_PROVIDER_CONNECTION_STATUS_ROUTE,\n LIST_TOOL_PROVIDER_CONNECTIONS_ROUTE,\n LIST_TOOL_PROVIDER_CONNECTION_FIELDS_ROUTE,\n DISCONNECT_TOOL_PROVIDER_CONNECTION_ROUTE,\n UPDATE_TOOL_PROVIDER_CONNECTION_ROUTE,\n GET_TOOL_PROVIDER_CONNECTION_USAGE_ROUTE,\n GET_TOOL_PROVIDER_HEALTH_ROUTE,\n] as const;\n","import { LIST_TOOLS_ROUTE, GET_TOOL_BY_ID_ROUTE, EXECUTE_TOOL_ROUTE } from '../../handlers/tools';\n\nexport const TOOLS_ROUTES = [LIST_TOOLS_ROUTE, GET_TOOL_BY_ID_ROUTE, EXECUTE_TOOL_ROUTE] as const;\n","import {\n UPSERT_VECTORS_ROUTE,\n CREATE_INDEX_ROUTE,\n QUERY_VECTORS_ROUTE,\n LIST_INDEXES_ROUTE,\n DESCRIBE_INDEX_ROUTE,\n DELETE_INDEX_ROUTE,\n LIST_VECTORS_ROUTE,\n LIST_EMBEDDERS_ROUTE,\n} from '../../handlers/vector';\n\nexport const VECTORS_ROUTES = [\n UPSERT_VECTORS_ROUTE,\n CREATE_INDEX_ROUTE,\n QUERY_VECTORS_ROUTE,\n LIST_INDEXES_ROUTE,\n DESCRIBE_INDEX_ROUTE,\n DELETE_INDEX_ROUTE,\n LIST_VECTORS_ROUTE,\n LIST_EMBEDDERS_ROUTE,\n] as const;\n","import {\n LIST_WORKFLOWS_ROUTE,\n LIST_WORKFLOW_RUN_COUNTS_ROUTE,\n GET_WORKFLOW_BY_ID_ROUTE,\n LIST_WORKFLOW_RUNS_ROUTE,\n GET_WORKFLOW_RUN_BY_ID_ROUTE,\n CREATE_WORKFLOW_RUN_ROUTE,\n STREAM_WORKFLOW_ROUTE,\n RESUME_STREAM_WORKFLOW_ROUTE,\n START_ASYNC_WORKFLOW_ROUTE,\n START_WORKFLOW_RUN_ROUTE,\n OBSERVE_STREAM_WORKFLOW_ROUTE,\n RESUME_ASYNC_WORKFLOW_ROUTE,\n RESUME_NO_WAIT_WORKFLOW_ROUTE,\n RESUME_WORKFLOW_ROUTE,\n CANCEL_WORKFLOW_RUN_ROUTE,\n TIME_TRAVEL_WORKFLOW_ROUTE,\n TIME_TRAVEL_STREAM_WORKFLOW_ROUTE,\n RESTART_WORKFLOW_ROUTE,\n RESTART_ASYNC_WORKFLOW_ROUTE,\n RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ROUTE,\n RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ASYNC_ROUTE,\n TIME_TRAVEL_ASYNC_WORKFLOW_ROUTE,\n DELETE_WORKFLOW_RUN_BY_ID_ROUTE,\n EXECUTE_WORKFLOW_STEP_ROUTE,\n RECEIVE_WORKFLOW_EVENT_ROUTE,\n} from '../../handlers/workflows';\n\nexport const WORKFLOWS_ROUTES = [\n LIST_WORKFLOWS_ROUTE,\n // Static path must register before the parameterized /workflows/:workflowId\n // route below, or the router would capture \"run-counts\" as a workflowId.\n LIST_WORKFLOW_RUN_COUNTS_ROUTE,\n GET_WORKFLOW_BY_ID_ROUTE,\n LIST_WORKFLOW_RUNS_ROUTE,\n GET_WORKFLOW_RUN_BY_ID_ROUTE,\n DELETE_WORKFLOW_RUN_BY_ID_ROUTE,\n CREATE_WORKFLOW_RUN_ROUTE,\n STREAM_WORKFLOW_ROUTE,\n RESUME_STREAM_WORKFLOW_ROUTE,\n START_ASYNC_WORKFLOW_ROUTE,\n START_WORKFLOW_RUN_ROUTE,\n OBSERVE_STREAM_WORKFLOW_ROUTE,\n RESUME_ASYNC_WORKFLOW_ROUTE,\n RESUME_NO_WAIT_WORKFLOW_ROUTE,\n RESUME_WORKFLOW_ROUTE,\n CANCEL_WORKFLOW_RUN_ROUTE,\n TIME_TRAVEL_WORKFLOW_ROUTE,\n TIME_TRAVEL_ASYNC_WORKFLOW_ROUTE,\n TIME_TRAVEL_STREAM_WORKFLOW_ROUTE,\n RESTART_WORKFLOW_ROUTE,\n RESTART_ASYNC_WORKFLOW_ROUTE,\n RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ROUTE,\n RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ASYNC_ROUTE,\n EXECUTE_WORKFLOW_STEP_ROUTE,\n RECEIVE_WORKFLOW_EVENT_ROUTE,\n] as const;\n","/**\n * Workspace Routes\n *\n * All routes for workspace operations under /api/workspaces/*\n */\n\nimport {\n LIST_WORKSPACES_ROUTE,\n GET_WORKSPACE_ROUTE,\n WORKSPACE_FS_ROUTES,\n WORKSPACE_SEARCH_ROUTES,\n WORKSPACE_SKILLS_ROUTES,\n WORKSPACE_SKILLS_SH_ROUTES,\n} from '../../handlers/workspace';\n\nexport const WORKSPACE_ROUTES = [\n // List all workspaces route (at /api/workspaces)\n LIST_WORKSPACES_ROUTE,\n\n // Get workspace route (at /api/workspaces/:workspaceId)\n GET_WORKSPACE_ROUTE,\n\n // Filesystem routes (at /api/workspaces/:workspaceId/fs/*)\n ...WORKSPACE_FS_ROUTES,\n\n // Search routes (at /api/workspaces/:workspaceId/search, /api/workspaces/:workspaceId/index)\n ...WORKSPACE_SEARCH_ROUTES,\n\n // Skills routes (search must come before parameterized routes)\n ...WORKSPACE_SKILLS_ROUTES,\n\n // skills.sh proxy routes (at /api/workspaces/:workspaceId/skills-sh/*)\n ...WORKSPACE_SKILLS_SH_ROUTES,\n] as const;\n","import type { Mastra } from '@mastra/core';\nimport type { ToolsInput } from '@mastra/core/agent';\nimport type { FGARouteConfig, MastraFGAPermissionInput } from '@mastra/core/auth/ee';\nimport type { RequestContext } from '@mastra/core/request-context';\nimport type { ApiRoute, ValidationErrorHook } from '@mastra/core/server';\nimport type * as z from 'zod/v4';\nimport type { InMemoryTaskStore } from '../../a2a/store';\nimport type { OpenAPIRoute } from '../openapi-utils';\nimport { A2A_ROUTES } from './a2a';\nimport { AGENT_BUILDER_ROUTES } from './agent-builder';\nimport { AGENT_CONTROLLER_ROUTES } from './agent-controller';\nimport { AGENTS_ROUTES } from './agents';\nimport type { AgentRoutes } from './agents';\nimport { AUTH_ROUTES } from './auth';\nimport { BACKGROUND_TASK_ROUTES } from './background-tasks';\nimport { CHANNELS_ROUTES } from './channels';\nimport { CONVERSATIONS_ROUTES } from './conversations';\nimport { DATASETS_ROUTES } from './datasets';\nimport { DYNAMIC_WORKFLOWS_ROUTES } from './dynamic-workflows';\nimport { EDITOR_BUILDER_ROUTES } from './editor-builder';\nimport { LEGACY_ROUTES } from './legacy';\nimport { LOGS_ROUTES } from './logs';\nimport { MCP_ROUTES } from './mcp';\nimport { MEMORY_ROUTES } from './memory';\nimport { OBSERVABILITY_ROUTES } from './observability';\nimport { PROCESSOR_PROVIDER_ROUTES } from './processor-providers';\nimport { PROCESSORS_ROUTES } from './processors';\nimport { RESPONSES_ROUTES } from './responses';\nimport { SCHEDULES_ROUTES } from './schedules';\nimport { SCORES_ROUTES } from './scorers';\nimport { STORED_AGENTS_ROUTES } from './stored-agents';\nimport type { StoredAgentRoutes } from './stored-agents';\nimport { STORED_MCP_CLIENTS_ROUTES } from './stored-mcp-clients';\nimport { STORED_PROMPT_BLOCKS_ROUTES } from './stored-prompt-blocks';\nimport { STORED_SCORERS_ROUTES } from './stored-scorers';\nimport { STORED_SKILLS_ROUTES } from './stored-skills';\nimport { STORED_WORKSPACES_ROUTES } from './stored-workspaces';\nimport type { MastraStreamReturn } from './stream-types';\nimport { SYSTEM_ROUTES } from './system';\nimport { TOOL_PROVIDER_ROUTES } from './tool-providers';\nimport { TOOLS_ROUTES } from './tools';\nimport { VECTORS_ROUTES } from './vectors';\nimport { WORKFLOWS_ROUTES } from './workflows';\nimport { WORKSPACE_ROUTES } from './workspace';\n\n/**\n * Server context fields that are available to route handlers.\n * These are injected by the server adapters (Express, Hono, etc.)\n * Fields other than `mastra` are optional to allow direct handler testing.\n */\nexport type ServerContext = {\n mastra: Mastra;\n requestContext: RequestContext;\n registeredTools?: ToolsInput;\n taskStore?: InMemoryTaskStore;\n abortSignal: AbortSignal;\n /** The route prefix configured for the server (e.g., '/api') */\n routePrefix?: string;\n /** The web-standard Request object for accessing headers, cookies, etc. */\n request?: Request;\n};\n\n/**\n * Utility type to infer parameters from Zod schemas.\n * Merges path params, query params, and body params into a single type.\n */\nexport type InferParams<\n TPathSchema extends z.ZodTypeAny | undefined,\n TQuerySchema extends z.ZodTypeAny | undefined,\n TBodySchema extends z.ZodTypeAny | undefined,\n> = (TPathSchema extends z.ZodTypeAny ? z.infer<TPathSchema> : {}) &\n (TQuerySchema extends z.ZodTypeAny ? z.infer<TQuerySchema> : {}) &\n (TBodySchema extends z.ZodTypeAny ? z.infer<TBodySchema> : {});\n\n/**\n * All supported response types for server routes.\n * - 'json': Standard JSON response\n * - 'stream': Streaming response (SSE or raw stream)\n * - 'datastream-response': Pre-built Response object for data streams\n * - 'mcp-http': MCP Streamable HTTP transport (handled by adapter)\n * - 'mcp-sse': MCP SSE transport (handled by adapter)\n */\nexport type ResponseType = 'stream' | 'json' | 'datastream-response' | 'mcp-http' | 'mcp-sse';\n\nexport type ServerRouteHandler<\n TParams = Record<string, unknown>,\n TResponse = unknown,\n TResponseType extends ResponseType = 'json',\n> = (\n params: TParams & ServerContext,\n) => Promise<\n TResponseType extends 'stream'\n ? MastraStreamReturn\n : TResponseType extends 'datastream-response'\n ? Response\n : TResponse\n>;\n\n/**\n * Phantom type for preserving Zod schema types on routes.\n * Not present at runtime — used only for type-level inference via RouteMap.\n */\nexport interface RouteSchemas<\n TPathSchema = unknown,\n TQuerySchema = unknown,\n TBodySchema = unknown,\n TResponseSchema = unknown,\n> {\n readonly pathParams: TPathSchema;\n readonly queryParams: TQuerySchema;\n readonly body: TBodySchema;\n readonly response: TResponseSchema;\n}\n\nexport type ServerRoute<\n TParams = Record<string, unknown>,\n TResponse = unknown,\n TResponseType extends ResponseType = ResponseType,\n TSchemas extends RouteSchemas = RouteSchemas,\n TMethod extends string = string,\n TPath extends string = string,\n> = Omit<ApiRoute, 'handler' | 'createHandler' | 'method' | 'path' | 'openapi'> & {\n method: TMethod;\n path: TPath;\n responseType: TResponseType;\n streamFormat?: 'sse' | 'stream'; // Only used when responseType is 'stream', defaults to 'stream'\n sseFlushOnConnect?: boolean;\n // Method signature is bivariant in params, allowing heterogeneous route arrays\n // while still preserving specific param types on individual routes.\n handler(params: TParams & ServerContext): ReturnType<ServerRouteHandler<TParams, TResponse, TResponseType>>;\n pathParamSchema?: z.ZodSchema;\n queryParamSchema?: z.ZodSchema;\n bodySchema?: z.ZodSchema;\n responseSchema?: z.ZodSchema;\n openapi?: OpenAPIRoute; // Auto-generated OpenAPI spec for this route\n maxBodySize?: number; // Optional route-specific body size limit in bytes\n deprecated?: boolean; // Flag for deprecated routes (used for route parity, skipped in tests)\n /**\n * Permission required to access this route (EE feature).\n * If set, the user must have this permission to access the route.\n * Uses the format: `resource:action` or `resource:action:resourceId`\n *\n * When an array is provided, the user needs ANY ONE of the listed permissions\n * (logical OR). This is useful for routes that serve multiple resource types,\n * e.g. a streaming endpoint used by both runtime and stored agents.\n *\n * @example\n * requiresPermission: MastraFGAPermissions.AGENTS_READ\n * requiresPermission: MastraFGAPermissions.WORKFLOWS_EXECUTE\n */\n requiresPermission?: MastraFGAPermissionInput | MastraFGAPermissionInput[];\n /**\n * FGA authorization config for this route (EE feature).\n * If set, the user must have the specified permission on the resource.\n *\n * @example\n * fga: { resourceType: 'agent', resourceIdParam: 'agentId', permission: MastraFGAPermissions.AGENTS_EXECUTE }\n */\n fga?: FGARouteConfig;\n onValidationError?: ValidationErrorHook;\n /** @internal Phantom type — not present at runtime. Used for type-level schema inference. */\n readonly __schemas?: TSchemas;\n};\n\nexport const SERVER_ROUTES: readonly ServerRoute[] = [\n ...AGENTS_ROUTES,\n ...AUTH_ROUTES,\n ...WORKFLOWS_ROUTES,\n ...TOOLS_ROUTES,\n ...PROCESSORS_ROUTES,\n ...RESPONSES_ROUTES,\n ...CONVERSATIONS_ROUTES,\n ...MEMORY_ROUTES,\n ...SCORES_ROUTES,\n ...OBSERVABILITY_ROUTES,\n ...LOGS_ROUTES,\n ...VECTORS_ROUTES,\n ...A2A_ROUTES,\n ...WORKSPACE_ROUTES,\n ...LEGACY_ROUTES,\n ...MCP_ROUTES,\n ...STORED_AGENTS_ROUTES,\n ...DYNAMIC_WORKFLOWS_ROUTES,\n ...STORED_MCP_CLIENTS_ROUTES,\n ...STORED_PROMPT_BLOCKS_ROUTES,\n ...STORED_SCORERS_ROUTES,\n ...STORED_WORKSPACES_ROUTES,\n ...STORED_SKILLS_ROUTES,\n ...TOOL_PROVIDER_ROUTES,\n ...PROCESSOR_PROVIDER_ROUTES,\n ...SYSTEM_ROUTES,\n ...DATASETS_ROUTES,\n ...BACKGROUND_TASK_ROUTES,\n ...EDITOR_BUILDER_ROUTES,\n ...AGENT_BUILDER_ROUTES,\n ...SCHEDULES_ROUTES,\n ...CHANNELS_ROUTES,\n ...AGENT_CONTROLLER_ROUTES,\n];\n\n/**\n * Union type of all individual route arrays.\n * Built from the per-domain `as const` tuples to preserve each route's specific schema types.\n */\nexport type ServerRoutes = readonly [\n ...AgentRoutes,\n ...typeof AUTH_ROUTES,\n ...typeof WORKFLOWS_ROUTES,\n ...typeof TOOLS_ROUTES,\n ...typeof PROCESSORS_ROUTES,\n ...typeof RESPONSES_ROUTES,\n ...typeof CONVERSATIONS_ROUTES,\n ...typeof MEMORY_ROUTES,\n ...typeof SCORES_ROUTES,\n ...typeof OBSERVABILITY_ROUTES,\n ...typeof LOGS_ROUTES,\n ...typeof VECTORS_ROUTES,\n ...typeof A2A_ROUTES,\n ...typeof AGENT_BUILDER_ROUTES,\n ...typeof WORKSPACE_ROUTES,\n ...typeof LEGACY_ROUTES,\n ...typeof MCP_ROUTES,\n ...StoredAgentRoutes,\n ...typeof STORED_MCP_CLIENTS_ROUTES,\n ...typeof STORED_PROMPT_BLOCKS_ROUTES,\n ...typeof STORED_SCORERS_ROUTES,\n ...typeof STORED_WORKSPACES_ROUTES,\n ...typeof STORED_SKILLS_ROUTES,\n ...typeof TOOL_PROVIDER_ROUTES,\n ...typeof PROCESSOR_PROVIDER_ROUTES,\n ...typeof SYSTEM_ROUTES,\n ...typeof DATASETS_ROUTES,\n ...typeof EDITOR_BUILDER_ROUTES,\n ...typeof CHANNELS_ROUTES,\n];\n\n// Export route builder and OpenAPI utilities\nexport { createRoute, createPublicRoute, pickParams, jsonQueryParam, wrapSchemaForQueryParams } from './route-builder';\nexport { generateOpenAPIDocument } from '../openapi-utils';\n\n// Export permission utilities\nexport { derivePermission, extractResource, deriveAction, getEffectivePermission } from './permissions';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAa,aAAa,CAAC,sBAAsB,qBAAqB;;;ACiBtE,MAAa,uBAAuB;CAClC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;;;;ACMA,MAAa,0BAAkD;CAC7D;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;AC1BA,MAAa,gBAAwC;CAInD;CACA;CACA;CACA;CAKA;CACA;CAKA;CACA;CACA;CACA;CACA;CAKA;CACA;CACA;CACA;CACA;CACA;CAKA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAKA;CAKA;CACA;CACA;CACA;CAKA;CAKA;CACA;CAKA;CAKA;CACA;CACA;CACA;CACA;CAKA;CACA;CACA;AACF;;;AC3IA,MAAa,yBAAuD;CAClE;CACA;CACA;AACF;;;ACJA,MAAa,kBAAkB;CAC7B;CACA;CACA;CACA;AACF;;;ACLA,MAAa,uBAAuB;CAClC;CACA;CACA;CACA;AACF;;;ACuBA,MAAa,kBAAkB;CAE7B;CACA;CACA;CACA;CACA;CAEA;CACA;CAEA;CACA;CAEA;CACA;CACA;CACA;CAEA;CACA;CACA;CAEA;CAEA;CAEA;CAEA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA;CAEA;CAEA;AACF;;;;;;;;;ACnEA,MAAa,2BAAmD;CAC9D;CACA;CACA;CACA;AACF;;;;;;;;;ACAA,MAAa,wBAAwB;CACnC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;;;;;ACpBA,MAAa,gBAAgB;CAI3B;CACA;CAKA;CACA;AACF;;;AClBA,MAAa,cAAc;CAAC;CAA2B;CAAiB;AAAyB;;;;;;;;;ACiBjG,MAAa,aAAa;CAIxB;CACA;CAKA;CACA;CACA;CAKA;CACA;CAKA;CACA;CACA;AACF;;;ACjBA,MAAa,gBAAgB;CAC3B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;ACPA,MAAa,uBAAuB;CAElC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;AC1FA,MAAa,4BAA4B,CAAC,gCAAgC,4BAA4B;;;ACAtG,MAAa,oBAAoB;CAAC;CAAuB;CAA2B;AAAuB;;;ACA3G,MAAa,mBAAmB;CAAC;CAAuB;CAAoB;AAAqB;;;ACWjG,MAAa,mBAAiD;CAC5D;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;ACdA,MAAa,gBAAgB;CAC3B;CACA;CACA;CACA;CACA;CACA;AACF;;;;;;;;ACYA,MAAa,uBAA+C;CAM1D;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAOA;CACA;CACA;CACA;CACA;CACA;CACA;CAKA;CACA;AACF;;;AC7CA,MAAa,4BAA4B;CAEvC;CACA;CACA;CACA;CACA;CAKA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;AClBA,MAAa,8BAA8B;CAEzC;CACA;CACA;CACA;CACA;CAKA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;AClBA,MAAa,wBAAwB;CAEnC;CACA;CACA;CACA;CACA;CAKA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;ACzBA,MAAa,uBAAuB;CAElC;CACA;CACA;CACA;CACA;CAEA;CAEA;CACA;AACF;;;ACdA,MAAa,2BAA2B;CAEtC;CACA;CACA;CACA;CACA;AACF;;;;;;;;ACRA,MAAa,gBAAgB,CAAC,2BAA2B,oBAAoB;;;ACS7E,MAAa,uBAAuB;CAClC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;AC5BA,MAAa,eAAe;CAAC;CAAkB;CAAsB;AAAkB;;;ACSvF,MAAa,iBAAiB;CAC5B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;ACQA,MAAa,mBAAmB;CAC9B;CAGA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;;;;;;ACzCA,MAAa,mBAAmB;CAE9B;CAGA;CAGA,GAAG;CAGH,GAAG;CAGH,GAAG;CAGH,GAAG;AACL;;;ACmIA,MAAa,gBAAwC;CACnD,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;AACL"}
|