@mastra/server 1.33.0-alpha.6 → 1.33.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +152 -0
- package/dist/{api-schema-manifest-IWGQ5O45.js → api-schema-manifest-JLJ555JD.js} +3 -3
- package/dist/{api-schema-manifest-IWGQ5O45.js.map → api-schema-manifest-JLJ555JD.js.map} +1 -1
- package/dist/{api-schema-manifest-KDXQELMU.cjs → api-schema-manifest-QMJFKSSQ.cjs} +4 -4
- package/dist/{api-schema-manifest-KDXQELMU.cjs.map → api-schema-manifest-QMJFKSSQ.cjs.map} +1 -1
- package/dist/{chunk-IDLB647Y.js → chunk-2S4WCY5N.js} +3 -3
- package/dist/{chunk-IDLB647Y.js.map → chunk-2S4WCY5N.js.map} +1 -1
- package/dist/{chunk-EFW6MWXU.cjs → chunk-5XW4MKE6.cjs} +22 -2
- package/dist/chunk-5XW4MKE6.cjs.map +1 -0
- package/dist/{chunk-N6HISTTP.cjs → chunk-6ICH4PZY.cjs} +8 -8
- package/dist/{chunk-N6HISTTP.cjs.map → chunk-6ICH4PZY.cjs.map} +1 -1
- package/dist/{chunk-TE2PWB67.js → chunk-6IR53OXN.js} +3 -3
- package/dist/{chunk-TE2PWB67.js.map → chunk-6IR53OXN.js.map} +1 -1
- package/dist/{chunk-LXNZK6NM.cjs → chunk-6PJXFSA6.cjs} +51 -51
- package/dist/{chunk-LXNZK6NM.cjs.map → chunk-6PJXFSA6.cjs.map} +1 -1
- package/dist/{chunk-64YJOWH2.cjs → chunk-72W42JL4.cjs} +5 -5
- package/dist/{chunk-64YJOWH2.cjs.map → chunk-72W42JL4.cjs.map} +1 -1
- package/dist/{chunk-UOBKNRHM.cjs → chunk-7MXANTMR.cjs} +7 -7
- package/dist/{chunk-UOBKNRHM.cjs.map → chunk-7MXANTMR.cjs.map} +1 -1
- package/dist/{chunk-RQNN75EV.js → chunk-7QLLMDX3.js} +4 -4
- package/dist/{chunk-RQNN75EV.js.map → chunk-7QLLMDX3.js.map} +1 -1
- package/dist/{chunk-2KDOM6QE.js → chunk-7UMTLDZF.js} +106 -4
- package/dist/chunk-7UMTLDZF.js.map +1 -0
- package/dist/{chunk-WEDFF5FH.js → chunk-7UYUFWJS.js} +42 -42
- package/dist/chunk-7UYUFWJS.js.map +1 -0
- package/dist/{chunk-VZNSMKB7.cjs → chunk-7Y6MST2S.cjs} +135 -133
- package/dist/chunk-7Y6MST2S.cjs.map +1 -0
- package/dist/{chunk-CSG535HL.cjs → chunk-AHKXIRNB.cjs} +67 -41
- package/dist/chunk-AHKXIRNB.cjs.map +1 -0
- package/dist/chunk-B3CHYE7C.js +549 -0
- package/dist/chunk-B3CHYE7C.js.map +1 -0
- package/dist/{chunk-XPF4VEXO.js → chunk-C45QKFMT.js} +18 -16
- package/dist/chunk-C45QKFMT.js.map +1 -0
- package/dist/{chunk-OJLXPTSL.cjs → chunk-CXWOBZOJ.cjs} +13 -13
- package/dist/{chunk-OJLXPTSL.cjs.map → chunk-CXWOBZOJ.cjs.map} +1 -1
- package/dist/{chunk-5HQXXBTM.js → chunk-DXZFPYNO.js} +3 -3
- package/dist/{chunk-5HQXXBTM.js.map → chunk-DXZFPYNO.js.map} +1 -1
- package/dist/{chunk-TWT64BVR.js → chunk-E55OUW7R.js} +44 -69
- package/dist/chunk-E55OUW7R.js.map +1 -0
- package/dist/{chunk-LOZT5NDU.cjs → chunk-E74QCKFN.cjs} +3 -3
- package/dist/{chunk-LOZT5NDU.cjs.map → chunk-E74QCKFN.cjs.map} +1 -1
- package/dist/{chunk-IT26WLSZ.js → chunk-EWN5J4RH.js} +6 -6
- package/dist/{chunk-IT26WLSZ.js.map → chunk-EWN5J4RH.js.map} +1 -1
- package/dist/chunk-F3HP5HM6.cjs +998 -0
- package/dist/chunk-F3HP5HM6.cjs.map +1 -0
- package/dist/{chunk-47U5QTGT.cjs → chunk-FST7LM2Z.cjs} +76 -29
- package/dist/chunk-FST7LM2Z.cjs.map +1 -0
- package/dist/{chunk-MTKGUIFX.js → chunk-GCR6GN77.js} +4 -4
- package/dist/{chunk-MTKGUIFX.js.map → chunk-GCR6GN77.js.map} +1 -1
- package/dist/{chunk-ANXKF4TA.cjs → chunk-HN23LS75.cjs} +108 -108
- package/dist/chunk-HN23LS75.cjs.map +1 -0
- package/dist/{chunk-EQ27BVOT.js → chunk-IJFWBMHN.js} +3 -3
- package/dist/{chunk-EQ27BVOT.js.map → chunk-IJFWBMHN.js.map} +1 -1
- package/dist/{chunk-UOC4K3RU.js → chunk-JOUPK2UV.js} +3 -3
- package/dist/{chunk-UOC4K3RU.js.map → chunk-JOUPK2UV.js.map} +1 -1
- package/dist/{chunk-IYEGDP3G.js → chunk-M7DF3D2M.js} +3 -3
- package/dist/{chunk-IYEGDP3G.js.map → chunk-M7DF3D2M.js.map} +1 -1
- package/dist/{chunk-KSQVYDDO.cjs → chunk-OAWMKZCM.cjs} +4 -4
- package/dist/{chunk-KSQVYDDO.cjs.map → chunk-OAWMKZCM.cjs.map} +1 -1
- package/dist/{chunk-CYLX5SJ4.js → chunk-PX7NE2KG.js} +4 -4
- package/dist/{chunk-CYLX5SJ4.js.map → chunk-PX7NE2KG.js.map} +1 -1
- package/dist/{chunk-2HM5SQM5.js → chunk-Q3JFNANT.js} +3 -3
- package/dist/{chunk-2HM5SQM5.js.map → chunk-Q3JFNANT.js.map} +1 -1
- package/dist/{chunk-EKS524LA.js → chunk-QJD675UA.js} +76 -29
- package/dist/chunk-QJD675UA.js.map +1 -0
- package/dist/{chunk-WMS63TTU.cjs → chunk-T3X7ZXVR.cjs} +140 -36
- package/dist/chunk-T3X7ZXVR.cjs.map +1 -0
- package/dist/{chunk-4KNRG3KO.cjs → chunk-TFJZGWXX.cjs} +7 -7
- package/dist/{chunk-4KNRG3KO.cjs.map → chunk-TFJZGWXX.cjs.map} +1 -1
- package/dist/chunk-TLLV2JP5.js +983 -0
- package/dist/chunk-TLLV2JP5.js.map +1 -0
- package/dist/chunk-TTJ3DYZH.cjs +557 -0
- package/dist/chunk-TTJ3DYZH.cjs.map +1 -0
- package/dist/{chunk-R7EB3VDI.cjs → chunk-VZV7DUW7.cjs} +4 -4
- package/dist/{chunk-R7EB3VDI.cjs.map → chunk-VZV7DUW7.cjs.map} +1 -1
- package/dist/{chunk-GAS277DM.cjs → chunk-WLDDOYXP.cjs} +7 -7
- package/dist/{chunk-GAS277DM.cjs.map → chunk-WLDDOYXP.cjs.map} +1 -1
- package/dist/{chunk-Y3OQTZDN.js → chunk-WN62DURP.js} +37 -11
- package/dist/chunk-WN62DURP.js.map +1 -0
- package/dist/{chunk-QEM5P746.cjs → chunk-XUFBFMUU.cjs} +67 -92
- package/dist/chunk-XUFBFMUU.cjs.map +1 -0
- package/dist/{chunk-BK2PRWVJ.cjs → chunk-Y5LNMKEY.cjs} +5 -5
- package/dist/{chunk-BK2PRWVJ.cjs.map → chunk-Y5LNMKEY.cjs.map} +1 -1
- package/dist/{chunk-OJRAH5VV.js → chunk-YARY4I5U.js} +18 -3
- package/dist/chunk-YARY4I5U.js.map +1 -0
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/{observational-memory-HAJ3K5JJ-RB4HNAIV.cjs → observational-memory-IP2RVQQG-5IHDRYAB.cjs} +26 -26
- package/dist/{observational-memory-HAJ3K5JJ-RB4HNAIV.cjs.map → observational-memory-IP2RVQQG-5IHDRYAB.cjs.map} +1 -1
- package/dist/{observational-memory-HAJ3K5JJ-J2PZI56J.js → observational-memory-IP2RVQQG-DIZILT73.js} +3 -3
- package/dist/{observational-memory-HAJ3K5JJ-J2PZI56J.js.map → observational-memory-IP2RVQQG-DIZILT73.js.map} +1 -1
- package/dist/server/auth/index.cjs +15 -15
- package/dist/server/auth/index.js +1 -1
- package/dist/server/constants.d.ts +5 -0
- package/dist/server/constants.d.ts.map +1 -1
- package/dist/server/handlers/a2a.cjs +14 -14
- package/dist/server/handlers/a2a.js +1 -1
- package/dist/server/handlers/agent-builder.cjs +16 -16
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/agents.cjs +39 -39
- package/dist/server/handlers/agents.d.ts.map +1 -1
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/auth.cjs +11 -11
- package/dist/server/handlers/auth.js +1 -1
- package/dist/server/handlers/conversations.cjs +5 -5
- package/dist/server/handlers/conversations.js +1 -1
- package/dist/server/handlers/logs.cjs +4 -4
- package/dist/server/handlers/logs.js +1 -1
- package/dist/server/handlers/memory.cjs +27 -27
- package/dist/server/handlers/memory.js +1 -1
- package/dist/server/handlers/responses.adapter.cjs +18 -14
- package/dist/server/handlers/responses.adapter.d.ts +96 -2
- package/dist/server/handlers/responses.adapter.d.ts.map +1 -1
- package/dist/server/handlers/responses.adapter.js +1 -1
- package/dist/server/handlers/responses.cjs +4 -4
- package/dist/server/handlers/responses.d.ts.map +1 -1
- package/dist/server/handlers/responses.js +1 -1
- package/dist/server/handlers/responses.storage.cjs +8 -8
- package/dist/server/handlers/responses.storage.d.ts +4 -2
- package/dist/server/handlers/responses.storage.d.ts.map +1 -1
- package/dist/server/handlers/responses.storage.js +1 -1
- package/dist/server/handlers/scores.cjs +7 -7
- package/dist/server/handlers/scores.js +1 -1
- package/dist/server/handlers/system.cjs +3 -3
- package/dist/server/handlers/system.js +1 -1
- package/dist/server/handlers/tools.cjs +6 -6
- package/dist/server/handlers/tools.js +1 -1
- package/dist/server/handlers/utils.cjs +10 -10
- package/dist/server/handlers/utils.js +1 -1
- package/dist/server/handlers/voice.cjs +8 -8
- package/dist/server/handlers/voice.js +1 -1
- package/dist/server/handlers/workflows.cjs +32 -24
- package/dist/server/handlers/workflows.d.ts +83 -0
- package/dist/server/handlers/workflows.d.ts.map +1 -1
- package/dist/server/handlers/workflows.js +1 -1
- package/dist/server/handlers.cjs +22 -22
- package/dist/server/handlers.js +11 -11
- package/dist/server/server-adapter/index.cjs +43 -16
- package/dist/server/server-adapter/index.cjs.map +1 -1
- package/dist/server/server-adapter/index.d.ts +5 -1
- package/dist/server/server-adapter/index.d.ts.map +1 -1
- package/dist/server/server-adapter/index.js +15 -7
- package/dist/server/server-adapter/index.js.map +1 -1
- package/dist/server/server-adapter/routes/workflows.d.ts +66 -1
- package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -1
- package/package.json +7 -7
- package/dist/chunk-2KDOM6QE.js.map +0 -1
- package/dist/chunk-47U5QTGT.cjs.map +0 -1
- package/dist/chunk-AJYJ4H7P.js +0 -438
- package/dist/chunk-AJYJ4H7P.js.map +0 -1
- package/dist/chunk-ANXKF4TA.cjs.map +0 -1
- package/dist/chunk-CSG535HL.cjs.map +0 -1
- package/dist/chunk-DFSUBEGE.js +0 -226
- package/dist/chunk-DFSUBEGE.js.map +0 -1
- package/dist/chunk-EFW6MWXU.cjs.map +0 -1
- package/dist/chunk-EKS524LA.js.map +0 -1
- package/dist/chunk-OJ72T77G.cjs +0 -452
- package/dist/chunk-OJ72T77G.cjs.map +0 -1
- package/dist/chunk-OJRAH5VV.js.map +0 -1
- package/dist/chunk-PJYQMPXT.cjs +0 -234
- package/dist/chunk-PJYQMPXT.cjs.map +0 -1
- package/dist/chunk-QEM5P746.cjs.map +0 -1
- package/dist/chunk-TWT64BVR.js.map +0 -1
- package/dist/chunk-VZNSMKB7.cjs.map +0 -1
- package/dist/chunk-WEDFF5FH.js.map +0 -1
- package/dist/chunk-WMS63TTU.cjs.map +0 -1
- package/dist/chunk-XPF4VEXO.js.map +0 -1
- package/dist/chunk-Y3OQTZDN.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { getAgentFromSystem } from './chunk-
|
|
1
|
+
import { getAgentFromSystem } from './chunk-7UYUFWJS.js';
|
|
2
2
|
import { listToolsResponseSchema, serializedToolSchema, toolIdPathParams, executeToolResponseSchema, executeToolContextBodySchema, agentToolPathParams, executeToolBodySchema } from './chunk-KCVOCZXG.js';
|
|
3
3
|
import { stringify } from './chunk-SOH5VORA.js';
|
|
4
|
-
import { validateBody } from './chunk-
|
|
4
|
+
import { validateBody } from './chunk-JOUPK2UV.js';
|
|
5
5
|
import { MastraFGAPermissions } from './chunk-6KDKASVR.js';
|
|
6
6
|
import { optionalRunIdSchema } from './chunk-2YY3EMMS.js';
|
|
7
7
|
import { createRoute, standardSchemaToJSONSchema, toStandardSchema5 } from './chunk-HCIKFLLE.js';
|
|
@@ -281,5 +281,5 @@ var EXECUTE_AGENT_TOOL_ROUTE = createRoute({
|
|
|
281
281
|
});
|
|
282
282
|
|
|
283
283
|
export { EXECUTE_AGENT_TOOL_ROUTE, EXECUTE_TOOL_ROUTE, GET_AGENT_TOOL_ROUTE, GET_TOOL_BY_ID_ROUTE, LIST_TOOLS_ROUTE, tools_exports };
|
|
284
|
-
//# sourceMappingURL=chunk-
|
|
285
|
-
//# sourceMappingURL=chunk-
|
|
284
|
+
//# sourceMappingURL=chunk-GCR6GN77.js.map
|
|
285
|
+
//# sourceMappingURL=chunk-GCR6GN77.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server/handlers/tools.ts"],"names":["tool"],"mappings":"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","file":"chunk-MTKGUIFX.js","sourcesContent":["import { isVercelTool, isProviderDefinedTool } from '@mastra/core/tools';\nimport { toStandardSchema, standardSchemaToJSONSchema } from '@mastra/schema-compat/schema';\nimport type { PublicSchema } from '@mastra/schema-compat/schema';\nimport { stringify } from 'superjson';\nimport { MastraFGAPermissions } from '../fga-permissions';\nimport { HTTPException } from '../http-exception';\nimport {\n executeToolContextBodySchema,\n executeToolResponseSchema,\n listToolsResponseSchema,\n serializedToolSchema,\n toolIdPathParams,\n agentToolPathParams,\n executeToolBodySchema,\n} from '../schemas/agents';\nimport { optionalRunIdSchema } from '../schemas/common';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { getAgentFromSystem } from './agents';\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\n/**\n * Resolves a schema that may be a lazy function (e.g. AI SDK provider tools).\n * Recursively resolves until a non-function value is returned.\n * Skips functions that are themselves valid schemas (e.g. ArkType types are\n * callable but also implement StandardSchema via ~standard).\n */\nfunction resolveLazySchema(schema: unknown): unknown {\n if (typeof schema === 'function' && !('~standard' in schema)) {\n return resolveLazySchema(schema());\n }\n return schema;\n}\n\nfunction schemaToJsonSchema(schema: PublicSchema<unknown> | undefined) {\n if (!schema) {\n return undefined;\n }\n\n return standardSchemaToJSONSchema(toStandardSchema(schema), { target: 'draft-2020-12' });\n}\n\nfunction serializeSchema(schema: unknown): string | undefined {\n const jsonSchema = schemaToJsonSchema(resolveLazySchema(schema) as PublicSchema<unknown> | undefined);\n if (jsonSchema === undefined) return undefined;\n return stringify(jsonSchema);\n}\n\n/**\n * Searches dynamically-resolved agent tools (provided via `toolsResolver` /\n * function-based `tools`) for a tool with the given id. Used as a fallback\n * after the static tool registry (`registeredTools` + `mastra.getToolById`)\n * misses, so global tool routes can resolve tools that only exist on agents.\n *\n * Errors thrown by an individual agent's `listTools()` are logged and\n * skipped so a single broken resolver doesn't take down the whole lookup.\n */\nasync function findToolInAgents(mastra: any, toolId: string, requestContext: any): Promise<any | undefined> {\n const agents = mastra.listAgents() || {};\n for (const agent of Object.values(agents) as any[]) {\n try {\n const agentTools = await agent.listTools({ requestContext });\n const found = Object.values(agentTools || {}).find((t: any) => t.id === toolId);\n if (found) return found;\n } catch (error) {\n mastra.getLogger?.()?.warn?.('Failed to list tools for agent while resolving tool by id', {\n agentId: agent?.id,\n toolId,\n error: error instanceof Error ? error.message : String(error),\n });\n }\n }\n return undefined;\n}\n\n/**\n * Serializes a tool for API responses, handling both regular tools (with Zod schemas)\n * and provider-defined tools (with AI SDK lazy schemas).\n */\nfunction serializeTool(tool: any): any {\n // Provider-defined tools (e.g. google.tools.googleSearch(), openai.tools.webSearch())\n // have lazy inputSchema functions that return AI SDK Schema objects, not Zod schemas.\n // We resolve them and use the jsonSchema property directly.\n if (isProviderDefinedTool(tool)) {\n const resolvedInput = resolveLazySchema(tool.inputSchema);\n const resolvedOutput = resolveLazySchema(tool.outputSchema);\n return {\n ...tool,\n inputSchema:\n resolvedInput && typeof resolvedInput === 'object' && 'jsonSchema' in resolvedInput\n ? stringify(resolvedInput.jsonSchema)\n : undefined,\n outputSchema:\n resolvedOutput && typeof resolvedOutput === 'object' && 'jsonSchema' in resolvedOutput\n ? stringify(resolvedOutput.jsonSchema)\n : undefined,\n };\n }\n\n return {\n ...tool,\n inputSchema: serializeSchema(tool.inputSchema),\n outputSchema: serializeSchema(tool.outputSchema),\n requestContextSchema: serializeSchema(tool.requestContextSchema),\n };\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const LIST_TOOLS_ROUTE = createRoute({\n method: 'GET',\n path: '/tools',\n responseType: 'json',\n responseSchema: listToolsResponseSchema,\n summary: 'List all tools',\n description: 'Returns a list of all available tools in the system',\n tags: ['Tools'],\n requiresAuth: true,\n handler: async ({ mastra, registeredTools, requestContext }) => {\n try {\n const allTools =\n registeredTools && Object.keys(registeredTools).length > 0 ? registeredTools : mastra.listTools() || {};\n\n const serializedTools = Object.entries(allTools).reduce(\n (acc, [id, _tool]) => {\n acc[id] = serializeTool(_tool);\n return acc;\n },\n {} as Record<string, any>,\n );\n\n // Filter tools by FGA if configured\n const fgaProvider = mastra.getServer?.()?.fga;\n const user = requestContext?.get('user');\n if (fgaProvider && user) {\n const toolList = Object.entries(serializedTools).map(([id, t]) => ({ id, ...t }));\n const accessible = await fgaProvider.filterAccessible(user, toolList, 'tool', MastraFGAPermissions.TOOLS_READ);\n const accessibleSet = new Set(accessible.map((t: any) => t.id));\n for (const id of Object.keys(serializedTools)) {\n if (!accessibleSet.has(id)) {\n delete serializedTools[id];\n }\n }\n }\n\n return serializedTools;\n } catch (error) {\n return handleError(error, 'Error getting tools');\n }\n },\n});\n\nexport const GET_TOOL_BY_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/tools/:toolId',\n responseType: 'json',\n pathParamSchema: toolIdPathParams,\n responseSchema: serializedToolSchema,\n summary: 'Get tool by ID',\n description: 'Returns details for a specific tool including its schema and configuration',\n tags: ['Tools'],\n requiresAuth: true,\n fga: { resourceType: 'tool', resourceIdParam: 'toolId', permission: MastraFGAPermissions.TOOLS_READ },\n handler: async ({ mastra, registeredTools, toolId, requestContext }) => {\n try {\n let tool: any;\n\n // Try explicit registeredTools first, then fallback to mastra\n if (registeredTools && Object.keys(registeredTools).length > 0) {\n tool = Object.values(registeredTools).find((t: any) => t.id === toolId);\n }\n if (!tool) {\n try {\n tool = mastra.getToolById(toolId);\n } catch {\n // tool not found in global registry, continue to agent fallback\n }\n }\n\n // Fallback: search dynamically-resolved agent tools (toolsResolver)\n if (!tool) {\n tool = await findToolInAgents(mastra, toolId, requestContext);\n }\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n return serializeTool(tool);\n } catch (error) {\n return handleError(error, 'Error getting tool');\n }\n },\n});\n\nexport const EXECUTE_TOOL_ROUTE = createRoute({\n method: 'POST',\n path: '/tools/:toolId/execute',\n responseType: 'json',\n pathParamSchema: toolIdPathParams,\n queryParamSchema: optionalRunIdSchema,\n bodySchema: executeToolContextBodySchema,\n responseSchema: executeToolResponseSchema,\n summary: 'Execute tool',\n description: 'Executes a specific tool with the provided input data',\n tags: ['Tools'],\n requiresAuth: true,\n fga: { resourceType: 'tool', resourceIdParam: 'toolId', permission: MastraFGAPermissions.TOOLS_EXECUTE },\n handler: async ({ mastra, runId, toolId, registeredTools, requestContext, ...bodyParams }) => {\n try {\n if (!toolId) {\n throw new HTTPException(400, { message: 'Tool ID is required' });\n }\n\n let tool: any;\n\n // Try explicit registeredTools first, then fallback to mastra\n if (registeredTools && Object.keys(registeredTools).length > 0) {\n tool = Object.values(registeredTools).find((t: any) => t.id === toolId);\n }\n if (!tool) {\n try {\n tool = mastra.getToolById(toolId);\n } catch {\n // tool not found in global registry, continue to agent fallback\n }\n }\n\n // Fallback: search dynamically-resolved agent tools (toolsResolver)\n if (!tool) {\n tool = await findToolInAgents(mastra, toolId, requestContext);\n }\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n const { data } = bodyParams;\n\n validateBody({ data });\n\n let result;\n if (isVercelTool(tool)) {\n result = await (tool as any).execute(data);\n } else {\n result = await tool.execute(data!, {\n mastra,\n requestContext,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n ...(runId\n ? {\n workflow: {\n runId,\n suspend: async () => {},\n },\n }\n : {}),\n });\n }\n\n return result;\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n },\n});\n\n// ============================================================================\n// Agent Tool Routes\n// ============================================================================\n\nexport const GET_AGENT_TOOL_ROUTE = createRoute({\n method: 'GET',\n path: '/agents/:agentId/tools/:toolId',\n responseType: 'json',\n pathParamSchema: agentToolPathParams,\n responseSchema: serializedToolSchema,\n summary: 'Get agent tool',\n description: 'Returns details for a specific tool assigned to the agent',\n tags: ['Agents', 'Tools'],\n requiresAuth: true,\n fga: {\n resourceType: 'tool',\n resourceId: ({ agentId, toolId }) => `${String(agentId)}:${String(toolId)}`,\n permission: MastraFGAPermissions.TOOLS_READ,\n },\n handler: async ({ mastra, agentId, toolId, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n const agentTools = await agent.listTools({ requestContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n return serializeTool(tool);\n } catch (error) {\n return handleError(error, 'Error getting agent tool');\n }\n },\n});\n\nexport const EXECUTE_AGENT_TOOL_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/tools/:toolId/execute',\n responseType: 'json',\n pathParamSchema: agentToolPathParams,\n bodySchema: executeToolBodySchema,\n responseSchema: executeToolResponseSchema,\n summary: 'Execute agent tool',\n description: 'Executes a specific tool assigned to the agent with the provided input data',\n tags: ['Agents', 'Tools'],\n requiresAuth: true,\n fga: {\n resourceType: 'tool',\n resourceId: ({ agentId, toolId }) => `${String(agentId)}:${String(toolId)}`,\n permission: MastraFGAPermissions.TOOLS_EXECUTE,\n },\n handler: async ({ mastra, agentId, toolId, data, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n const agentTools = await agent.listTools({ requestContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n const result = await tool.execute(data, {\n mastra,\n requestContext,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error executing agent tool');\n }\n },\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/tools.ts"],"names":["tool"],"mappings":"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","file":"chunk-GCR6GN77.js","sourcesContent":["import { isVercelTool, isProviderDefinedTool } from '@mastra/core/tools';\nimport { toStandardSchema, standardSchemaToJSONSchema } from '@mastra/schema-compat/schema';\nimport type { PublicSchema } from '@mastra/schema-compat/schema';\nimport { stringify } from 'superjson';\nimport { MastraFGAPermissions } from '../fga-permissions';\nimport { HTTPException } from '../http-exception';\nimport {\n executeToolContextBodySchema,\n executeToolResponseSchema,\n listToolsResponseSchema,\n serializedToolSchema,\n toolIdPathParams,\n agentToolPathParams,\n executeToolBodySchema,\n} from '../schemas/agents';\nimport { optionalRunIdSchema } from '../schemas/common';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { getAgentFromSystem } from './agents';\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\n/**\n * Resolves a schema that may be a lazy function (e.g. AI SDK provider tools).\n * Recursively resolves until a non-function value is returned.\n * Skips functions that are themselves valid schemas (e.g. ArkType types are\n * callable but also implement StandardSchema via ~standard).\n */\nfunction resolveLazySchema(schema: unknown): unknown {\n if (typeof schema === 'function' && !('~standard' in schema)) {\n return resolveLazySchema(schema());\n }\n return schema;\n}\n\nfunction schemaToJsonSchema(schema: PublicSchema<unknown> | undefined) {\n if (!schema) {\n return undefined;\n }\n\n return standardSchemaToJSONSchema(toStandardSchema(schema), { target: 'draft-2020-12' });\n}\n\nfunction serializeSchema(schema: unknown): string | undefined {\n const jsonSchema = schemaToJsonSchema(resolveLazySchema(schema) as PublicSchema<unknown> | undefined);\n if (jsonSchema === undefined) return undefined;\n return stringify(jsonSchema);\n}\n\n/**\n * Searches dynamically-resolved agent tools (provided via `toolsResolver` /\n * function-based `tools`) for a tool with the given id. Used as a fallback\n * after the static tool registry (`registeredTools` + `mastra.getToolById`)\n * misses, so global tool routes can resolve tools that only exist on agents.\n *\n * Errors thrown by an individual agent's `listTools()` are logged and\n * skipped so a single broken resolver doesn't take down the whole lookup.\n */\nasync function findToolInAgents(mastra: any, toolId: string, requestContext: any): Promise<any | undefined> {\n const agents = mastra.listAgents() || {};\n for (const agent of Object.values(agents) as any[]) {\n try {\n const agentTools = await agent.listTools({ requestContext });\n const found = Object.values(agentTools || {}).find((t: any) => t.id === toolId);\n if (found) return found;\n } catch (error) {\n mastra.getLogger?.()?.warn?.('Failed to list tools for agent while resolving tool by id', {\n agentId: agent?.id,\n toolId,\n error: error instanceof Error ? error.message : String(error),\n });\n }\n }\n return undefined;\n}\n\n/**\n * Serializes a tool for API responses, handling both regular tools (with Zod schemas)\n * and provider-defined tools (with AI SDK lazy schemas).\n */\nfunction serializeTool(tool: any): any {\n // Provider-defined tools (e.g. google.tools.googleSearch(), openai.tools.webSearch())\n // have lazy inputSchema functions that return AI SDK Schema objects, not Zod schemas.\n // We resolve them and use the jsonSchema property directly.\n if (isProviderDefinedTool(tool)) {\n const resolvedInput = resolveLazySchema(tool.inputSchema);\n const resolvedOutput = resolveLazySchema(tool.outputSchema);\n return {\n ...tool,\n inputSchema:\n resolvedInput && typeof resolvedInput === 'object' && 'jsonSchema' in resolvedInput\n ? stringify(resolvedInput.jsonSchema)\n : undefined,\n outputSchema:\n resolvedOutput && typeof resolvedOutput === 'object' && 'jsonSchema' in resolvedOutput\n ? stringify(resolvedOutput.jsonSchema)\n : undefined,\n };\n }\n\n return {\n ...tool,\n inputSchema: serializeSchema(tool.inputSchema),\n outputSchema: serializeSchema(tool.outputSchema),\n requestContextSchema: serializeSchema(tool.requestContextSchema),\n };\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const LIST_TOOLS_ROUTE = createRoute({\n method: 'GET',\n path: '/tools',\n responseType: 'json',\n responseSchema: listToolsResponseSchema,\n summary: 'List all tools',\n description: 'Returns a list of all available tools in the system',\n tags: ['Tools'],\n requiresAuth: true,\n handler: async ({ mastra, registeredTools, requestContext }) => {\n try {\n const allTools =\n registeredTools && Object.keys(registeredTools).length > 0 ? registeredTools : mastra.listTools() || {};\n\n const serializedTools = Object.entries(allTools).reduce(\n (acc, [id, _tool]) => {\n acc[id] = serializeTool(_tool);\n return acc;\n },\n {} as Record<string, any>,\n );\n\n // Filter tools by FGA if configured\n const fgaProvider = mastra.getServer?.()?.fga;\n const user = requestContext?.get('user');\n if (fgaProvider && user) {\n const toolList = Object.entries(serializedTools).map(([id, t]) => ({ id, ...t }));\n const accessible = await fgaProvider.filterAccessible(user, toolList, 'tool', MastraFGAPermissions.TOOLS_READ);\n const accessibleSet = new Set(accessible.map((t: any) => t.id));\n for (const id of Object.keys(serializedTools)) {\n if (!accessibleSet.has(id)) {\n delete serializedTools[id];\n }\n }\n }\n\n return serializedTools;\n } catch (error) {\n return handleError(error, 'Error getting tools');\n }\n },\n});\n\nexport const GET_TOOL_BY_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/tools/:toolId',\n responseType: 'json',\n pathParamSchema: toolIdPathParams,\n responseSchema: serializedToolSchema,\n summary: 'Get tool by ID',\n description: 'Returns details for a specific tool including its schema and configuration',\n tags: ['Tools'],\n requiresAuth: true,\n fga: { resourceType: 'tool', resourceIdParam: 'toolId', permission: MastraFGAPermissions.TOOLS_READ },\n handler: async ({ mastra, registeredTools, toolId, requestContext }) => {\n try {\n let tool: any;\n\n // Try explicit registeredTools first, then fallback to mastra\n if (registeredTools && Object.keys(registeredTools).length > 0) {\n tool = Object.values(registeredTools).find((t: any) => t.id === toolId);\n }\n if (!tool) {\n try {\n tool = mastra.getToolById(toolId);\n } catch {\n // tool not found in global registry, continue to agent fallback\n }\n }\n\n // Fallback: search dynamically-resolved agent tools (toolsResolver)\n if (!tool) {\n tool = await findToolInAgents(mastra, toolId, requestContext);\n }\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n return serializeTool(tool);\n } catch (error) {\n return handleError(error, 'Error getting tool');\n }\n },\n});\n\nexport const EXECUTE_TOOL_ROUTE = createRoute({\n method: 'POST',\n path: '/tools/:toolId/execute',\n responseType: 'json',\n pathParamSchema: toolIdPathParams,\n queryParamSchema: optionalRunIdSchema,\n bodySchema: executeToolContextBodySchema,\n responseSchema: executeToolResponseSchema,\n summary: 'Execute tool',\n description: 'Executes a specific tool with the provided input data',\n tags: ['Tools'],\n requiresAuth: true,\n fga: { resourceType: 'tool', resourceIdParam: 'toolId', permission: MastraFGAPermissions.TOOLS_EXECUTE },\n handler: async ({ mastra, runId, toolId, registeredTools, requestContext, ...bodyParams }) => {\n try {\n if (!toolId) {\n throw new HTTPException(400, { message: 'Tool ID is required' });\n }\n\n let tool: any;\n\n // Try explicit registeredTools first, then fallback to mastra\n if (registeredTools && Object.keys(registeredTools).length > 0) {\n tool = Object.values(registeredTools).find((t: any) => t.id === toolId);\n }\n if (!tool) {\n try {\n tool = mastra.getToolById(toolId);\n } catch {\n // tool not found in global registry, continue to agent fallback\n }\n }\n\n // Fallback: search dynamically-resolved agent tools (toolsResolver)\n if (!tool) {\n tool = await findToolInAgents(mastra, toolId, requestContext);\n }\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n const { data } = bodyParams;\n\n validateBody({ data });\n\n let result;\n if (isVercelTool(tool)) {\n result = await (tool as any).execute(data);\n } else {\n result = await tool.execute(data!, {\n mastra,\n requestContext,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n ...(runId\n ? {\n workflow: {\n runId,\n suspend: async () => {},\n },\n }\n : {}),\n });\n }\n\n return result;\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n },\n});\n\n// ============================================================================\n// Agent Tool Routes\n// ============================================================================\n\nexport const GET_AGENT_TOOL_ROUTE = createRoute({\n method: 'GET',\n path: '/agents/:agentId/tools/:toolId',\n responseType: 'json',\n pathParamSchema: agentToolPathParams,\n responseSchema: serializedToolSchema,\n summary: 'Get agent tool',\n description: 'Returns details for a specific tool assigned to the agent',\n tags: ['Agents', 'Tools'],\n requiresAuth: true,\n fga: {\n resourceType: 'tool',\n resourceId: ({ agentId, toolId }) => `${String(agentId)}:${String(toolId)}`,\n permission: MastraFGAPermissions.TOOLS_READ,\n },\n handler: async ({ mastra, agentId, toolId, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n const agentTools = await agent.listTools({ requestContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n return serializeTool(tool);\n } catch (error) {\n return handleError(error, 'Error getting agent tool');\n }\n },\n});\n\nexport const EXECUTE_AGENT_TOOL_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/tools/:toolId/execute',\n responseType: 'json',\n pathParamSchema: agentToolPathParams,\n bodySchema: executeToolBodySchema,\n responseSchema: executeToolResponseSchema,\n summary: 'Execute agent tool',\n description: 'Executes a specific tool assigned to the agent with the provided input data',\n tags: ['Agents', 'Tools'],\n requiresAuth: true,\n fga: {\n resourceType: 'tool',\n resourceId: ({ agentId, toolId }) => `${String(agentId)}:${String(toolId)}`,\n permission: MastraFGAPermissions.TOOLS_EXECUTE,\n },\n handler: async ({ mastra, agentId, toolId, data, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n const agentTools = await agent.listTools({ requestContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n const result = await tool.execute(data, {\n mastra,\n requestContext,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error executing agent tool');\n }\n },\n});\n"]}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
var chunkHXICAUTW_cjs = require('./chunk-HXICAUTW.cjs');
|
|
4
4
|
var chunk4QZCXU3A_cjs = require('./chunk-4QZCXU3A.cjs');
|
|
5
5
|
var chunkBGRKLLHE_cjs = require('./chunk-BGRKLLHE.cjs');
|
|
6
|
-
var
|
|
6
|
+
var chunk72W42JL4_cjs = require('./chunk-72W42JL4.cjs');
|
|
7
7
|
var chunkL4M23OMB_cjs = require('./chunk-L4M23OMB.cjs');
|
|
8
|
-
var
|
|
8
|
+
var chunk5XW4MKE6_cjs = require('./chunk-5XW4MKE6.cjs');
|
|
9
9
|
var chunkWYLVJSGR_cjs = require('./chunk-WYLVJSGR.cjs');
|
|
10
10
|
var chunkHYYXUP35_cjs = require('./chunk-HYYXUP35.cjs');
|
|
11
11
|
var chunkB34S64RC_cjs = require('./chunk-B34S64RC.cjs');
|
|
@@ -70,6 +70,20 @@ function stashVersionOverrides(ctx, versions) {
|
|
|
70
70
|
ctx.set(di.MASTRA_VERSIONS_KEY, merged);
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
+
function getIsStudioFromContext(requestContext) {
|
|
74
|
+
return requestContext.get(chunk5XW4MKE6_cjs.MASTRA_IS_STUDIO_KEY) === true;
|
|
75
|
+
}
|
|
76
|
+
function mergeBodyRequestContext(serverRequestContext, bodyRequestContext) {
|
|
77
|
+
if (!bodyRequestContext || typeof bodyRequestContext !== "object") {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
for (const [key, value] of Object.entries(bodyRequestContext)) {
|
|
81
|
+
if (chunk5XW4MKE6_cjs.isReservedRequestContextKey(key)) continue;
|
|
82
|
+
if (serverRequestContext.get(key) === void 0) {
|
|
83
|
+
serverRequestContext.set(key, value);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
73
87
|
function isProviderConnected(providerId, customProviders) {
|
|
74
88
|
const cleanId = providerId.includes(".") ? providerId.split(".")[0] : providerId;
|
|
75
89
|
let provider = llm.PROVIDER_REGISTRY[cleanId];
|
|
@@ -200,47 +214,47 @@ async function getWorkspaceToolsFromAgent(agent, requestContext) {
|
|
|
200
214
|
requestContext: requestContext ? Object.fromEntries(requestContext.entries()) : {}
|
|
201
215
|
};
|
|
202
216
|
const isEnabled = async (toolName) => {
|
|
203
|
-
return (await
|
|
217
|
+
return (await chunk5XW4MKE6_cjs.resolveToolConfig(toolsConfig, toolName, configContext)).enabled;
|
|
204
218
|
};
|
|
205
219
|
if (workspace.filesystem) {
|
|
206
|
-
if (await isEnabled(
|
|
207
|
-
tools.push(
|
|
220
|
+
if (await isEnabled(chunk5XW4MKE6_cjs.WORKSPACE_TOOLS.FILESYSTEM.READ_FILE)) {
|
|
221
|
+
tools.push(chunk5XW4MKE6_cjs.WORKSPACE_TOOLS.FILESYSTEM.READ_FILE);
|
|
208
222
|
}
|
|
209
|
-
if (await isEnabled(
|
|
210
|
-
tools.push(
|
|
223
|
+
if (await isEnabled(chunk5XW4MKE6_cjs.WORKSPACE_TOOLS.FILESYSTEM.LIST_FILES)) {
|
|
224
|
+
tools.push(chunk5XW4MKE6_cjs.WORKSPACE_TOOLS.FILESYSTEM.LIST_FILES);
|
|
211
225
|
}
|
|
212
|
-
if (await isEnabled(
|
|
213
|
-
tools.push(
|
|
226
|
+
if (await isEnabled(chunk5XW4MKE6_cjs.WORKSPACE_TOOLS.FILESYSTEM.FILE_STAT)) {
|
|
227
|
+
tools.push(chunk5XW4MKE6_cjs.WORKSPACE_TOOLS.FILESYSTEM.FILE_STAT);
|
|
214
228
|
}
|
|
215
229
|
if (!isReadOnly) {
|
|
216
|
-
if (await isEnabled(
|
|
217
|
-
tools.push(
|
|
230
|
+
if (await isEnabled(chunk5XW4MKE6_cjs.WORKSPACE_TOOLS.FILESYSTEM.WRITE_FILE)) {
|
|
231
|
+
tools.push(chunk5XW4MKE6_cjs.WORKSPACE_TOOLS.FILESYSTEM.WRITE_FILE);
|
|
218
232
|
}
|
|
219
|
-
if (await isEnabled(
|
|
220
|
-
tools.push(
|
|
233
|
+
if (await isEnabled(chunk5XW4MKE6_cjs.WORKSPACE_TOOLS.FILESYSTEM.EDIT_FILE)) {
|
|
234
|
+
tools.push(chunk5XW4MKE6_cjs.WORKSPACE_TOOLS.FILESYSTEM.EDIT_FILE);
|
|
221
235
|
}
|
|
222
|
-
if (await isEnabled(
|
|
223
|
-
tools.push(
|
|
236
|
+
if (await isEnabled(chunk5XW4MKE6_cjs.WORKSPACE_TOOLS.FILESYSTEM.DELETE)) {
|
|
237
|
+
tools.push(chunk5XW4MKE6_cjs.WORKSPACE_TOOLS.FILESYSTEM.DELETE);
|
|
224
238
|
}
|
|
225
|
-
if (await isEnabled(
|
|
226
|
-
tools.push(
|
|
239
|
+
if (await isEnabled(chunk5XW4MKE6_cjs.WORKSPACE_TOOLS.FILESYSTEM.MKDIR)) {
|
|
240
|
+
tools.push(chunk5XW4MKE6_cjs.WORKSPACE_TOOLS.FILESYSTEM.MKDIR);
|
|
227
241
|
}
|
|
228
242
|
}
|
|
229
|
-
if (await isEnabled(
|
|
230
|
-
tools.push(
|
|
243
|
+
if (await isEnabled(chunk5XW4MKE6_cjs.WORKSPACE_TOOLS.FILESYSTEM.GREP)) {
|
|
244
|
+
tools.push(chunk5XW4MKE6_cjs.WORKSPACE_TOOLS.FILESYSTEM.GREP);
|
|
231
245
|
}
|
|
232
246
|
}
|
|
233
247
|
if (workspace.canBM25 || workspace.canVector) {
|
|
234
|
-
if (await isEnabled(
|
|
235
|
-
tools.push(
|
|
248
|
+
if (await isEnabled(chunk5XW4MKE6_cjs.WORKSPACE_TOOLS.SEARCH.SEARCH)) {
|
|
249
|
+
tools.push(chunk5XW4MKE6_cjs.WORKSPACE_TOOLS.SEARCH.SEARCH);
|
|
236
250
|
}
|
|
237
|
-
if (!isReadOnly && await isEnabled(
|
|
238
|
-
tools.push(
|
|
251
|
+
if (!isReadOnly && await isEnabled(chunk5XW4MKE6_cjs.WORKSPACE_TOOLS.SEARCH.INDEX)) {
|
|
252
|
+
tools.push(chunk5XW4MKE6_cjs.WORKSPACE_TOOLS.SEARCH.INDEX);
|
|
239
253
|
}
|
|
240
254
|
}
|
|
241
255
|
if (workspace.sandbox) {
|
|
242
|
-
if (workspace.sandbox.executeCommand && await isEnabled(
|
|
243
|
-
tools.push(
|
|
256
|
+
if (workspace.sandbox.executeCommand && await isEnabled(chunk5XW4MKE6_cjs.WORKSPACE_TOOLS.SANDBOX.EXECUTE_COMMAND)) {
|
|
257
|
+
tools.push(chunk5XW4MKE6_cjs.WORKSPACE_TOOLS.SANDBOX.EXECUTE_COMMAND);
|
|
244
258
|
}
|
|
245
259
|
}
|
|
246
260
|
return tools;
|
|
@@ -530,14 +544,24 @@ async function formatAgent({
|
|
|
530
544
|
logger.error("Error getting workflows for agent", { agentName: agent.name, error });
|
|
531
545
|
}
|
|
532
546
|
}
|
|
533
|
-
|
|
534
|
-
|
|
547
|
+
const instructionsRequestContext = isStudio ? new Proxy(requestContext, {
|
|
548
|
+
get(target, prop) {
|
|
549
|
+
if (prop === "get") {
|
|
550
|
+
return function(key) {
|
|
551
|
+
const value = target.get(key);
|
|
552
|
+
return value ?? `<${key}>`;
|
|
553
|
+
};
|
|
554
|
+
}
|
|
555
|
+
return Reflect.get(target, prop);
|
|
556
|
+
}
|
|
557
|
+
}) : requestContext;
|
|
558
|
+
const instructions = await agent.getInstructions({ requestContext: instructionsRequestContext });
|
|
535
559
|
const llm$1 = await agent.getLLM({ requestContext });
|
|
536
560
|
const defaultGenerateOptionsLegacy = await agent.getDefaultGenerateOptionsLegacy({
|
|
537
|
-
requestContext
|
|
561
|
+
requestContext
|
|
538
562
|
});
|
|
539
|
-
const defaultStreamOptionsLegacy = await agent.getDefaultStreamOptionsLegacy({ requestContext
|
|
540
|
-
const defaultOptions = await agent.getDefaultOptions({ requestContext
|
|
563
|
+
const defaultStreamOptionsLegacy = await agent.getDefaultStreamOptionsLegacy({ requestContext });
|
|
564
|
+
const defaultOptions = await agent.getDefaultOptions({ requestContext });
|
|
541
565
|
const model = llm$1?.getModel();
|
|
542
566
|
const models = await agent.getModelList(requestContext);
|
|
543
567
|
const modelList = models?.map((md) => ({
|
|
@@ -548,7 +572,7 @@ async function formatAgent({
|
|
|
548
572
|
modelVersion: md.model.specificationVersion
|
|
549
573
|
}
|
|
550
574
|
}));
|
|
551
|
-
const serializedAgentAgents = await getSerializedAgentDefinition({ agent, requestContext
|
|
575
|
+
const serializedAgentAgents = await getSerializedAgentDefinition({ agent, requestContext });
|
|
552
576
|
let serializedInputProcessors = [];
|
|
553
577
|
let serializedOutputProcessors = [];
|
|
554
578
|
try {
|
|
@@ -560,12 +584,12 @@ async function formatAgent({
|
|
|
560
584
|
} catch (error) {
|
|
561
585
|
mastra.getLogger().error("Error getting configured processors for agent", { agentName: agent.name, error });
|
|
562
586
|
}
|
|
563
|
-
const serializedSkills = await getSerializedSkillsFromAgent(agent,
|
|
564
|
-
const workspaceTools = await getWorkspaceToolsFromAgent(agent,
|
|
587
|
+
const serializedSkills = await getSerializedSkillsFromAgent(agent, requestContext);
|
|
588
|
+
const workspaceTools = await getWorkspaceToolsFromAgent(agent, requestContext);
|
|
565
589
|
const browserTools = getBrowserToolsFromAgent(agent, createBrowserToolsErrorLogger(mastra.getLogger(), agent.id));
|
|
566
590
|
let workspaceId;
|
|
567
591
|
try {
|
|
568
|
-
const workspace = await agent.getWorkspace({ requestContext
|
|
592
|
+
const workspace = await agent.getWorkspace({ requestContext });
|
|
569
593
|
workspaceId = workspace?.id;
|
|
570
594
|
} catch {
|
|
571
595
|
}
|
|
@@ -718,7 +742,7 @@ var GET_AGENT_BY_ID_ROUTE = chunkHYYXUP35_cjs.createRoute({
|
|
|
718
742
|
try {
|
|
719
743
|
const versionOptions = versionId ? { versionId } : status ? { status } : void 0;
|
|
720
744
|
const agent = await getAgentFromSystem({ mastra, agentId, versionOptions, requestContext });
|
|
721
|
-
const isStudio =
|
|
745
|
+
const isStudio = getIsStudioFromContext(requestContext);
|
|
722
746
|
const result = await formatAgent({
|
|
723
747
|
mastra,
|
|
724
748
|
agent,
|
|
@@ -786,9 +810,9 @@ var GENERATE_AGENT_ROUTE = chunkHYYXUP35_cjs.createRoute({
|
|
|
786
810
|
requiresPermission: chunkL4M23OMB_cjs.MastraFGAPermissions.AGENTS_EXECUTE,
|
|
787
811
|
handler: async ({ agentId, mastra, abortSignal, requestContext: serverRequestContext, ...params }) => {
|
|
788
812
|
try {
|
|
789
|
-
|
|
813
|
+
chunk72W42JL4_cjs.sanitizeBody(params, ["tools"]);
|
|
790
814
|
const { messages, memory: memoryOption, requestContext: bodyRequestContext, versions, ...rest } = params;
|
|
791
|
-
|
|
815
|
+
chunk72W42JL4_cjs.validateBody({ messages });
|
|
792
816
|
const agent = await getAgentFromSystem({
|
|
793
817
|
mastra,
|
|
794
818
|
agentId,
|
|
@@ -798,25 +822,19 @@ var GENERATE_AGENT_ROUTE = chunkHYYXUP35_cjs.createRoute({
|
|
|
798
822
|
),
|
|
799
823
|
requestContext: serverRequestContext
|
|
800
824
|
});
|
|
801
|
-
|
|
802
|
-
for (const [key, value] of Object.entries(bodyRequestContext)) {
|
|
803
|
-
if (serverRequestContext.get(key) === void 0) {
|
|
804
|
-
serverRequestContext.set(key, value);
|
|
805
|
-
}
|
|
806
|
-
}
|
|
807
|
-
}
|
|
825
|
+
mergeBodyRequestContext(serverRequestContext, bodyRequestContext);
|
|
808
826
|
stashVersionOverrides(serverRequestContext, versions);
|
|
809
827
|
let authorizedMemoryOption = memoryOption;
|
|
810
828
|
if (memoryOption) {
|
|
811
829
|
const clientThreadId = typeof memoryOption.thread === "string" ? memoryOption.thread : memoryOption.thread?.id;
|
|
812
|
-
const effectiveResourceId =
|
|
813
|
-
const effectiveThreadId =
|
|
830
|
+
const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(serverRequestContext, memoryOption.resource);
|
|
831
|
+
const effectiveThreadId = chunk72W42JL4_cjs.getEffectiveThreadId(serverRequestContext, clientThreadId);
|
|
814
832
|
if (effectiveThreadId) {
|
|
815
833
|
const memoryInstance = await agent.getMemory({ requestContext: serverRequestContext });
|
|
816
834
|
if (memoryInstance) {
|
|
817
835
|
const thread = await memoryInstance.getThreadById({ threadId: effectiveThreadId });
|
|
818
836
|
if (thread) {
|
|
819
|
-
await
|
|
837
|
+
await chunk72W42JL4_cjs.enforceThreadAccess({
|
|
820
838
|
mastra,
|
|
821
839
|
requestContext: serverRequestContext,
|
|
822
840
|
threadId: effectiveThreadId,
|
|
@@ -866,12 +884,12 @@ var GENERATE_LEGACY_ROUTE = chunkHYYXUP35_cjs.createRoute({
|
|
|
866
884
|
versionOptions: extractVersionOptions(requestContext),
|
|
867
885
|
requestContext
|
|
868
886
|
});
|
|
869
|
-
|
|
887
|
+
chunk72W42JL4_cjs.sanitizeBody(params, ["tools"]);
|
|
870
888
|
const { messages, resourceId, resourceid, threadId, ...rest } = params;
|
|
871
889
|
const clientResourceId = resourceId ?? resourceid;
|
|
872
|
-
const effectiveResourceId =
|
|
873
|
-
const effectiveThreadId =
|
|
874
|
-
|
|
890
|
+
const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(requestContext, clientResourceId);
|
|
891
|
+
const effectiveThreadId = chunk72W42JL4_cjs.getEffectiveThreadId(requestContext, threadId);
|
|
892
|
+
chunk72W42JL4_cjs.validateBody({ messages });
|
|
875
893
|
if (effectiveThreadId && !effectiveResourceId || !effectiveThreadId && effectiveResourceId) {
|
|
876
894
|
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Both threadId or resourceId must be provided" });
|
|
877
895
|
}
|
|
@@ -880,7 +898,7 @@ var GENERATE_LEGACY_ROUTE = chunkHYYXUP35_cjs.createRoute({
|
|
|
880
898
|
if (memory) {
|
|
881
899
|
const thread = await memory.getThreadById({ threadId: effectiveThreadId });
|
|
882
900
|
if (thread) {
|
|
883
|
-
await
|
|
901
|
+
await chunk72W42JL4_cjs.enforceThreadAccess({
|
|
884
902
|
mastra,
|
|
885
903
|
requestContext,
|
|
886
904
|
threadId: effectiveThreadId,
|
|
@@ -922,12 +940,12 @@ var STREAM_GENERATE_LEGACY_ROUTE = chunkHYYXUP35_cjs.createRoute({
|
|
|
922
940
|
versionOptions: extractVersionOptions(requestContext),
|
|
923
941
|
requestContext
|
|
924
942
|
});
|
|
925
|
-
|
|
943
|
+
chunk72W42JL4_cjs.sanitizeBody(params, ["tools"]);
|
|
926
944
|
const { messages, resourceId, resourceid, threadId, ...rest } = params;
|
|
927
945
|
const clientResourceId = resourceId ?? resourceid;
|
|
928
|
-
const effectiveResourceId =
|
|
929
|
-
const effectiveThreadId =
|
|
930
|
-
|
|
946
|
+
const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(requestContext, clientResourceId);
|
|
947
|
+
const effectiveThreadId = chunk72W42JL4_cjs.getEffectiveThreadId(requestContext, threadId);
|
|
948
|
+
chunk72W42JL4_cjs.validateBody({ messages });
|
|
931
949
|
if (effectiveThreadId && !effectiveResourceId || !effectiveThreadId && effectiveResourceId) {
|
|
932
950
|
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Both threadId or resourceId must be provided" });
|
|
933
951
|
}
|
|
@@ -936,7 +954,7 @@ var STREAM_GENERATE_LEGACY_ROUTE = chunkHYYXUP35_cjs.createRoute({
|
|
|
936
954
|
if (memory) {
|
|
937
955
|
const thread = await memory.getThreadById({ threadId: effectiveThreadId });
|
|
938
956
|
if (thread) {
|
|
939
|
-
await
|
|
957
|
+
await chunk72W42JL4_cjs.enforceThreadAccess({
|
|
940
958
|
mastra,
|
|
941
959
|
requestContext,
|
|
942
960
|
threadId: effectiveThreadId,
|
|
@@ -1044,9 +1062,9 @@ var STREAM_GENERATE_ROUTE = chunkHYYXUP35_cjs.createRoute({
|
|
|
1044
1062
|
requiresPermission: chunkL4M23OMB_cjs.MastraFGAPermissions.AGENTS_EXECUTE,
|
|
1045
1063
|
handler: async ({ mastra, agentId, abortSignal, requestContext: serverRequestContext, ...params }) => {
|
|
1046
1064
|
try {
|
|
1047
|
-
|
|
1065
|
+
chunk72W42JL4_cjs.sanitizeBody(params, ["tools"]);
|
|
1048
1066
|
const { messages, memory: memoryOption, requestContext: bodyRequestContext, versions, ...rest } = params;
|
|
1049
|
-
|
|
1067
|
+
chunk72W42JL4_cjs.validateBody({ messages });
|
|
1050
1068
|
const agent = await getAgentFromSystem({
|
|
1051
1069
|
mastra,
|
|
1052
1070
|
agentId,
|
|
@@ -1056,25 +1074,19 @@ var STREAM_GENERATE_ROUTE = chunkHYYXUP35_cjs.createRoute({
|
|
|
1056
1074
|
),
|
|
1057
1075
|
requestContext: serverRequestContext
|
|
1058
1076
|
});
|
|
1059
|
-
|
|
1060
|
-
for (const [key, value] of Object.entries(bodyRequestContext)) {
|
|
1061
|
-
if (serverRequestContext.get(key) === void 0) {
|
|
1062
|
-
serverRequestContext.set(key, value);
|
|
1063
|
-
}
|
|
1064
|
-
}
|
|
1065
|
-
}
|
|
1077
|
+
mergeBodyRequestContext(serverRequestContext, bodyRequestContext);
|
|
1066
1078
|
stashVersionOverrides(serverRequestContext, versions);
|
|
1067
1079
|
let authorizedMemoryOption = memoryOption;
|
|
1068
1080
|
if (memoryOption) {
|
|
1069
1081
|
const clientThreadId = typeof memoryOption.thread === "string" ? memoryOption.thread : memoryOption.thread?.id;
|
|
1070
|
-
const effectiveResourceId =
|
|
1071
|
-
const effectiveThreadId =
|
|
1082
|
+
const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(serverRequestContext, memoryOption.resource);
|
|
1083
|
+
const effectiveThreadId = chunk72W42JL4_cjs.getEffectiveThreadId(serverRequestContext, clientThreadId);
|
|
1072
1084
|
if (effectiveThreadId) {
|
|
1073
1085
|
const memoryInstance = await agent.getMemory({ requestContext: serverRequestContext });
|
|
1074
1086
|
if (memoryInstance) {
|
|
1075
1087
|
const thread = await memoryInstance.getThreadById({ threadId: effectiveThreadId });
|
|
1076
1088
|
if (thread) {
|
|
1077
|
-
await
|
|
1089
|
+
await chunk72W42JL4_cjs.enforceThreadAccess({
|
|
1078
1090
|
mastra,
|
|
1079
1091
|
requestContext: serverRequestContext,
|
|
1080
1092
|
threadId: effectiveThreadId,
|
|
@@ -1120,9 +1132,9 @@ var STREAM_UNTIL_IDLE_GENERATE_ROUTE = chunkHYYXUP35_cjs.createRoute({
|
|
|
1120
1132
|
requiresPermission: chunkL4M23OMB_cjs.MastraFGAPermissions.AGENTS_EXECUTE,
|
|
1121
1133
|
handler: async ({ mastra, agentId, abortSignal, requestContext: serverRequestContext, ...params }) => {
|
|
1122
1134
|
try {
|
|
1123
|
-
|
|
1135
|
+
chunk72W42JL4_cjs.sanitizeBody(params, ["tools"]);
|
|
1124
1136
|
const { messages, memory: memoryOption, requestContext: bodyRequestContext, ...rest } = params;
|
|
1125
|
-
|
|
1137
|
+
chunk72W42JL4_cjs.validateBody({ messages });
|
|
1126
1138
|
const agent = await getAgentFromSystem({
|
|
1127
1139
|
mastra,
|
|
1128
1140
|
agentId,
|
|
@@ -1132,23 +1144,17 @@ var STREAM_UNTIL_IDLE_GENERATE_ROUTE = chunkHYYXUP35_cjs.createRoute({
|
|
|
1132
1144
|
),
|
|
1133
1145
|
requestContext: serverRequestContext
|
|
1134
1146
|
});
|
|
1135
|
-
|
|
1136
|
-
for (const [key, value] of Object.entries(bodyRequestContext)) {
|
|
1137
|
-
if (serverRequestContext.get(key) === void 0) {
|
|
1138
|
-
serverRequestContext.set(key, value);
|
|
1139
|
-
}
|
|
1140
|
-
}
|
|
1141
|
-
}
|
|
1147
|
+
mergeBodyRequestContext(serverRequestContext, bodyRequestContext);
|
|
1142
1148
|
let authorizedMemoryOption = memoryOption;
|
|
1143
1149
|
if (memoryOption) {
|
|
1144
1150
|
const clientThreadId = typeof memoryOption.thread === "string" ? memoryOption.thread : memoryOption.thread?.id;
|
|
1145
|
-
const effectiveResourceId =
|
|
1146
|
-
const effectiveThreadId =
|
|
1151
|
+
const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(serverRequestContext, memoryOption.resource);
|
|
1152
|
+
const effectiveThreadId = chunk72W42JL4_cjs.getEffectiveThreadId(serverRequestContext, clientThreadId);
|
|
1147
1153
|
if (effectiveThreadId && effectiveResourceId) {
|
|
1148
1154
|
const memoryInstance = await agent.getMemory({ requestContext: serverRequestContext });
|
|
1149
1155
|
if (memoryInstance) {
|
|
1150
1156
|
const thread = await memoryInstance.getThreadById({ threadId: effectiveThreadId });
|
|
1151
|
-
await
|
|
1157
|
+
await chunk72W42JL4_cjs.validateThreadOwnership(thread, effectiveResourceId);
|
|
1152
1158
|
}
|
|
1153
1159
|
}
|
|
1154
1160
|
authorizedMemoryOption = {
|
|
@@ -1297,7 +1303,7 @@ var APPROVE_TOOL_CALL_ROUTE = chunkHYYXUP35_cjs.createRoute({
|
|
|
1297
1303
|
if (!params.toolCallId) {
|
|
1298
1304
|
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Tool call id is required" });
|
|
1299
1305
|
}
|
|
1300
|
-
|
|
1306
|
+
chunk72W42JL4_cjs.sanitizeBody(params, ["tools"]);
|
|
1301
1307
|
const streamResult = await agent.approveToolCall({
|
|
1302
1308
|
...params,
|
|
1303
1309
|
requestContext,
|
|
@@ -1334,7 +1340,7 @@ var DECLINE_TOOL_CALL_ROUTE = chunkHYYXUP35_cjs.createRoute({
|
|
|
1334
1340
|
if (!params.toolCallId) {
|
|
1335
1341
|
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Tool call id is required" });
|
|
1336
1342
|
}
|
|
1337
|
-
|
|
1343
|
+
chunk72W42JL4_cjs.sanitizeBody(params, ["tools"]);
|
|
1338
1344
|
const streamResult = await agent.declineToolCall({
|
|
1339
1345
|
...params,
|
|
1340
1346
|
requestContext,
|
|
@@ -1364,7 +1370,7 @@ var RESUME_STREAM_ROUTE = chunkHYYXUP35_cjs.createRoute({
|
|
|
1364
1370
|
if (!params.runId) {
|
|
1365
1371
|
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Run id is required" });
|
|
1366
1372
|
}
|
|
1367
|
-
|
|
1373
|
+
chunk72W42JL4_cjs.sanitizeBody(params, ["tools"]);
|
|
1368
1374
|
const {
|
|
1369
1375
|
resumeData,
|
|
1370
1376
|
runId,
|
|
@@ -1382,24 +1388,18 @@ var RESUME_STREAM_ROUTE = chunkHYYXUP35_cjs.createRoute({
|
|
|
1382
1388
|
bodyRequestContext
|
|
1383
1389
|
)
|
|
1384
1390
|
});
|
|
1385
|
-
|
|
1386
|
-
for (const [key, value] of Object.entries(bodyRequestContext)) {
|
|
1387
|
-
if (serverRequestContext.get(key) === void 0) {
|
|
1388
|
-
serverRequestContext.set(key, value);
|
|
1389
|
-
}
|
|
1390
|
-
}
|
|
1391
|
-
}
|
|
1391
|
+
mergeBodyRequestContext(serverRequestContext, bodyRequestContext);
|
|
1392
1392
|
stashVersionOverrides(serverRequestContext, versions);
|
|
1393
1393
|
let authorizedMemoryOption = memoryOption;
|
|
1394
1394
|
const clientThreadId = typeof memoryOption?.thread === "string" ? memoryOption.thread : memoryOption?.thread?.id;
|
|
1395
|
-
const effectiveResourceId =
|
|
1396
|
-
const effectiveThreadId =
|
|
1395
|
+
const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(serverRequestContext, memoryOption?.resource);
|
|
1396
|
+
const effectiveThreadId = chunk72W42JL4_cjs.getEffectiveThreadId(serverRequestContext, clientThreadId);
|
|
1397
1397
|
if (effectiveThreadId) {
|
|
1398
1398
|
const memoryInstance = await agent.getMemory({ requestContext: serverRequestContext });
|
|
1399
1399
|
if (memoryInstance) {
|
|
1400
1400
|
const thread = await memoryInstance.getThreadById({ threadId: effectiveThreadId });
|
|
1401
1401
|
if (thread) {
|
|
1402
|
-
await
|
|
1402
|
+
await chunk72W42JL4_cjs.enforceThreadAccess({
|
|
1403
1403
|
mastra,
|
|
1404
1404
|
requestContext: serverRequestContext,
|
|
1405
1405
|
threadId: effectiveThreadId,
|
|
@@ -1419,7 +1419,7 @@ var RESUME_STREAM_ROUTE = chunkHYYXUP35_cjs.createRoute({
|
|
|
1419
1419
|
}
|
|
1420
1420
|
const workflowsStore = await mastra.getStorage()?.getStore("workflows");
|
|
1421
1421
|
const workflowRun = await workflowsStore?.getWorkflowRunById({ workflowName: "agentic-loop", runId });
|
|
1422
|
-
await
|
|
1422
|
+
await chunk72W42JL4_cjs.validateRunOwnership(workflowRun, chunk72W42JL4_cjs.getEffectiveResourceId(serverRequestContext, void 0));
|
|
1423
1423
|
const { structuredOutput, ...restOptions } = rest;
|
|
1424
1424
|
const options = {
|
|
1425
1425
|
runId,
|
|
@@ -1454,7 +1454,7 @@ var RESUME_STREAM_UNTIL_IDLE_ROUTE = chunkHYYXUP35_cjs.createRoute({
|
|
|
1454
1454
|
if (!params.runId) {
|
|
1455
1455
|
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Run id is required" });
|
|
1456
1456
|
}
|
|
1457
|
-
|
|
1457
|
+
chunk72W42JL4_cjs.sanitizeBody(params, ["tools"]);
|
|
1458
1458
|
const {
|
|
1459
1459
|
resumeData,
|
|
1460
1460
|
runId,
|
|
@@ -1482,14 +1482,14 @@ var RESUME_STREAM_UNTIL_IDLE_ROUTE = chunkHYYXUP35_cjs.createRoute({
|
|
|
1482
1482
|
stashVersionOverrides(serverRequestContext, versions);
|
|
1483
1483
|
let authorizedMemoryOption = memoryOption;
|
|
1484
1484
|
const clientThreadId = typeof memoryOption?.thread === "string" ? memoryOption.thread : memoryOption?.thread?.id;
|
|
1485
|
-
const effectiveResourceId =
|
|
1486
|
-
const effectiveThreadId =
|
|
1485
|
+
const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(serverRequestContext, memoryOption?.resource);
|
|
1486
|
+
const effectiveThreadId = chunk72W42JL4_cjs.getEffectiveThreadId(serverRequestContext, clientThreadId);
|
|
1487
1487
|
if (effectiveThreadId) {
|
|
1488
1488
|
const memoryInstance = await agent.getMemory({ requestContext: serverRequestContext });
|
|
1489
1489
|
if (memoryInstance) {
|
|
1490
1490
|
const thread = await memoryInstance.getThreadById({ threadId: effectiveThreadId });
|
|
1491
1491
|
if (thread) {
|
|
1492
|
-
await
|
|
1492
|
+
await chunk72W42JL4_cjs.enforceThreadAccess({
|
|
1493
1493
|
mastra,
|
|
1494
1494
|
requestContext: serverRequestContext,
|
|
1495
1495
|
threadId: effectiveThreadId,
|
|
@@ -1509,7 +1509,7 @@ var RESUME_STREAM_UNTIL_IDLE_ROUTE = chunkHYYXUP35_cjs.createRoute({
|
|
|
1509
1509
|
}
|
|
1510
1510
|
const workflowsStore = await mastra.getStorage()?.getStore("workflows");
|
|
1511
1511
|
const workflowRun = await workflowsStore?.getWorkflowRunById({ workflowName: "agentic-loop", runId });
|
|
1512
|
-
await
|
|
1512
|
+
await chunk72W42JL4_cjs.validateRunOwnership(workflowRun, chunk72W42JL4_cjs.getEffectiveResourceId(serverRequestContext, void 0));
|
|
1513
1513
|
const { structuredOutput, ...restOptions } = rest;
|
|
1514
1514
|
const options = {
|
|
1515
1515
|
runId,
|
|
@@ -1550,7 +1550,7 @@ var APPROVE_TOOL_CALL_GENERATE_ROUTE = chunkHYYXUP35_cjs.createRoute({
|
|
|
1550
1550
|
if (!params.toolCallId) {
|
|
1551
1551
|
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Tool call id is required" });
|
|
1552
1552
|
}
|
|
1553
|
-
|
|
1553
|
+
chunk72W42JL4_cjs.sanitizeBody(params, ["tools"]);
|
|
1554
1554
|
const result = await agent.approveToolCallGenerate({
|
|
1555
1555
|
...params,
|
|
1556
1556
|
requestContext,
|
|
@@ -1586,7 +1586,7 @@ var DECLINE_TOOL_CALL_GENERATE_ROUTE = chunkHYYXUP35_cjs.createRoute({
|
|
|
1586
1586
|
if (!params.toolCallId) {
|
|
1587
1587
|
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Tool call id is required" });
|
|
1588
1588
|
}
|
|
1589
|
-
|
|
1589
|
+
chunk72W42JL4_cjs.sanitizeBody(params, ["tools"]);
|
|
1590
1590
|
const result = await agent.declineToolCallGenerate({
|
|
1591
1591
|
...params,
|
|
1592
1592
|
requestContext,
|
|
@@ -1617,8 +1617,8 @@ var STREAM_NETWORK_ROUTE = chunkHYYXUP35_cjs.createRoute({
|
|
|
1617
1617
|
agentId,
|
|
1618
1618
|
versionOptions: extractVersionOptions(requestContext)
|
|
1619
1619
|
});
|
|
1620
|
-
|
|
1621
|
-
|
|
1620
|
+
chunk72W42JL4_cjs.sanitizeBody(params, ["tools"]);
|
|
1621
|
+
chunk72W42JL4_cjs.validateBody({ messages });
|
|
1622
1622
|
const streamResult = await agent.network(messages, {
|
|
1623
1623
|
...params
|
|
1624
1624
|
});
|
|
@@ -1650,7 +1650,7 @@ var APPROVE_NETWORK_TOOL_CALL_ROUTE = chunkHYYXUP35_cjs.createRoute({
|
|
|
1650
1650
|
if (!params.runId) {
|
|
1651
1651
|
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Run id is required" });
|
|
1652
1652
|
}
|
|
1653
|
-
|
|
1653
|
+
chunk72W42JL4_cjs.sanitizeBody(params, ["tools"]);
|
|
1654
1654
|
const streamResult = await agent.approveNetworkToolCall({
|
|
1655
1655
|
...params
|
|
1656
1656
|
});
|
|
@@ -1682,7 +1682,7 @@ var DECLINE_NETWORK_TOOL_CALL_ROUTE = chunkHYYXUP35_cjs.createRoute({
|
|
|
1682
1682
|
if (!params.runId) {
|
|
1683
1683
|
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Run id is required" });
|
|
1684
1684
|
}
|
|
1685
|
-
|
|
1685
|
+
chunk72W42JL4_cjs.sanitizeBody(params, ["tools"]);
|
|
1686
1686
|
const streamResult = await agent.declineNetworkToolCall({
|
|
1687
1687
|
...params
|
|
1688
1688
|
});
|
|
@@ -2042,5 +2042,5 @@ exports.getSerializedProcessors = getSerializedProcessors;
|
|
|
2042
2042
|
exports.getSerializedSkillsFromAgent = getSerializedSkillsFromAgent;
|
|
2043
2043
|
exports.getWorkspaceToolsFromAgent = getWorkspaceToolsFromAgent;
|
|
2044
2044
|
exports.isProviderConnected = isProviderConnected;
|
|
2045
|
-
//# sourceMappingURL=chunk-
|
|
2046
|
-
//# sourceMappingURL=chunk-
|
|
2045
|
+
//# sourceMappingURL=chunk-HN23LS75.cjs.map
|
|
2046
|
+
//# sourceMappingURL=chunk-HN23LS75.cjs.map
|