UNPKG

@mastra/core

Version:
1 lines • 146 kB
{"version":3,"sources":["../src/tools/stream.ts","../src/tools/types.ts","../src/tools/tool-builder/builder.ts","../src/utils.ts"],"names":["WritableStream","RequestContext","toStandardSchema","MastraBase","isVercelTool","isProviderDefinedTool","z","isZodObject","safeExtendZodObject","backgroundOverrideZodSchema","isStandardSchemaWithJSON","jsonSchema","standardSchemaToJSONSchema","backgroundOverrideJsonSchema","schema","convertZodSchemaToAISDKSchema","executeWithContext","wrapMastra","createObservabilityContext","args","resumeData","validateToolInput","validateToolSuspendData","validateToolOutput","logger","getOrCreateSpan","EntityType","MastraFGAPermissions","MastraError","ErrorDomain","ErrorCategory","OpenAIReasoningSchemaCompatLayer","OpenAISchemaCompatLayer","GoogleSchemaCompatLayer","AnthropicSchemaCompatLayer","DeepSeekSchemaCompatLayer","MetaSchemaCompatLayer","applyCompatLayer","getNeedsApprovalFn","createHash","Tool","jsonSchemaToZod"],"mappings":"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","file":"chunk-HHO5TO2N.cjs","sourcesContent":["import { WritableStream } from 'node:stream/web';\nimport type { DataChunkType } from '../stream/types';\nimport type { OutputWriter } from '../workflows';\n\nexport class ToolStream extends WritableStream<unknown> {\n private prefix: string;\n private callId: string;\n private name: string;\n private runId: string;\n private writeFn?: OutputWriter;\n\n constructor(\n {\n prefix,\n callId,\n name,\n runId,\n }: {\n prefix: string;\n callId: string;\n name: string;\n runId: string;\n },\n writeFn?: OutputWriter,\n ) {\n super({\n async write(chunk: any) {\n await getInstance()._write(chunk);\n },\n });\n\n const self = this;\n function getInstance() {\n return self;\n }\n\n this.prefix = prefix;\n this.callId = callId;\n this.name = name;\n this.runId = runId;\n this.writeFn = writeFn;\n }\n\n private async _write(data: any) {\n if (this.writeFn) {\n await this.writeFn({\n type: `${this.prefix}-output`,\n runId: this.runId,\n from: 'USER',\n payload: {\n output: data,\n ...(this.prefix === 'workflow-step'\n ? {\n runId: this.runId,\n stepName: this.name,\n }\n : {\n [`${this.prefix}CallId`]: this.callId,\n [`${this.prefix}Name`]: this.name,\n }),\n },\n });\n }\n }\n\n async write(data: any) {\n await this._write(data);\n }\n\n async custom<T extends { type: string }>(data: T extends { type: `data-${string}` } ? DataChunkType : T) {\n if (this.writeFn) {\n await this.writeFn(data);\n }\n }\n}\n","import type { WritableStream } from 'node:stream/web';\nimport type {\n Tool,\n ToolV5,\n FlexibleSchema,\n ToolCallOptions,\n ToolExecutionOptions,\n Schema,\n} from '@internal/external-types';\nimport type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js';\nimport type { ElicitRequest, ElicitResult } from '@modelcontextprotocol/sdk/types.js';\n\nimport type { MastraPrimitives, MastraUnion } from '../action';\nexport type { MastraPrimitives, MastraUnion };\nimport type { ActorSignal } from '../auth/ee';\nimport type { ToolBackgroundConfig } from '../background-tasks';\nimport type { MastraBrowser } from '../browser/browser';\nimport type { Mastra } from '../mastra';\nimport type { ObservabilityContext } from '../observability';\nimport type { RequestContext } from '../request-context';\nimport type { PublicSchema } from '../schema';\nimport type { SuspendOptions, OutputWriter } from '../workflows';\nimport type { Workspace } from '../workspace/workspace';\nimport type { ToolStream } from './stream';\nimport type { ValidationError } from './validation';\n\nexport type VercelTool = Tool;\nexport type VercelToolV5 = ToolV5;\n\nexport type ToolInvocationOptions = ToolExecutionOptions | ToolCallOptions;\n\n/**\n * Context passed to a global `requireToolApproval` function, evaluated per tool call.\n */\nexport type ToolApprovalContext = {\n /** Name of the tool being called. */\n toolName: string;\n /** Arguments the model is passing to the tool. */\n args: Record<string, unknown>;\n /** Plain object view of the request context, when available. */\n requestContext?: Record<string, unknown>;\n /** Active workspace, when the run is bound to one. */\n workspace?: Workspace;\n};\n\n/**\n * Function form of the global `requireToolApproval` option. Evaluated per tool call;\n * return `true` to require approval for that call, `false` to allow it. Enables\n * conditional, per-call approval policies (e.g. regex matching on `toolName`).\n */\nexport type RequireToolApprovalFn = (ctx: ToolApprovalContext) => boolean | Promise<boolean>;\n\n/**\n * Global tool approval setting. `true` requires approval for every tool call,\n * `false`/omitted requires none, and a function decides per call.\n */\nexport type RequireToolApproval = boolean | RequireToolApprovalFn;\n\n/**\n * Context passed to a per-tool `needsApprovalFn` alongside the parsed tool input.\n * This is the same context surfaced to a tool-level `requireApproval` function.\n */\nexport type NeedsApprovalContext = {\n /** Plain object view of the request context, when available. */\n requestContext?: Record<string, unknown>;\n /** Active workspace, when the run is bound to one. */\n workspace?: Workspace;\n};\n\n/**\n * Per-tool approval predicate attached to a tool instance.\n *\n * This is the runtime-resolved form of a tool's `requireApproval` function (or of an\n * MCP server-level `requireToolApproval` function wrapped by the MCP client). It is\n * evaluated per tool call with the parsed input and the available context; return\n * `true` to require approval for that call, `false` to allow it.\n *\n * It is attached to the tool instance by {@link CoreToolBuilder} / the MCP client and\n * read by the agent runtime. Prefer the public `requireApproval` option on\n * `createTool` over setting this directly.\n */\nexport type NeedsApprovalFn = (input: any, ctx?: NeedsApprovalContext) => boolean | Promise<boolean>;\n\nexport interface ToolHookContext<\n TInput = unknown,\n TContext = unknown,\n TMetadata extends Record<string, unknown> = Record<string, unknown>,\n> {\n /** The name exposed to the model for this tool call. */\n toolName: string;\n /** Input passed to the tool. */\n input: TInput;\n /** Execution context passed to the tool. */\n context: TContext;\n /** Optional adapter-specific metadata. */\n metadata?: TMetadata;\n}\n\nexport interface ToolBeforeHookResult<TOutput = unknown> {\n /** Set to false to skip the tool execution and return `output` instead. */\n proceed: false;\n output: TOutput;\n}\n\nexport interface ToolAfterHookContext<\n TInput = unknown,\n TOutput = unknown,\n TContext = unknown,\n TMetadata extends Record<string, unknown> = Record<string, unknown>,\n> extends ToolHookContext<TInput, TContext, TMetadata> {\n /** Tool output when execution completed. Undefined when execution failed before producing output. */\n output?: TOutput;\n /** Error thrown by the tool, if execution failed. */\n error?: unknown;\n}\n\nexport interface ToolHooks<\n TInput = unknown,\n TOutput = unknown,\n TContext = unknown,\n TMetadata extends Record<string, unknown> = Record<string, unknown>,\n> {\n beforeToolCall?: (\n context: ToolHookContext<TInput, TContext, TMetadata>,\n ) => void | ToolBeforeHookResult<TOutput> | Promise<void | ToolBeforeHookResult<TOutput>>;\n afterToolCall?: (context: ToolAfterHookContext<TInput, TOutput, TContext, TMetadata>) => void | Promise<void>;\n}\n\nexport type ToolPayloadTransformTarget = 'display' | 'transcript';\n\nexport type ToolPayloadTransformPhase =\n | 'input-delta'\n | 'input-available'\n | 'output-available'\n | 'error'\n | 'approval'\n | 'suspend'\n | 'resume';\n\nexport type ToolPayloadTransformContext<TInput = unknown, TOutput = unknown, TError = unknown> = {\n target: ToolPayloadTransformTarget;\n phase: ToolPayloadTransformPhase;\n toolName: string;\n toolCallId: string;\n input?: TInput;\n inputTextDelta?: string;\n output?: TOutput;\n error?: TError;\n suspendPayload?: unknown;\n resumeData?: unknown;\n providerMetadata?: Record<string, unknown>;\n context?: Record<string, unknown>;\n};\n\nexport type ToolPayloadTransformResult = unknown;\n\nexport type ToolPayloadTransformFunction<TInput = unknown, TOutput = unknown, TError = unknown> = (\n context: ToolPayloadTransformContext<TInput, TOutput, TError>,\n) => ToolPayloadTransformResult | Promise<ToolPayloadTransformResult>;\n\nexport type ToolPayloadTransformTargetConfig<TInput = unknown, TOutput = unknown, TError = unknown> = {\n input?: ToolPayloadTransformFunction<TInput, TOutput, TError>;\n inputDelta?: ToolPayloadTransformFunct