@mastra/claude 0.0.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils.ts","../src/index.ts"],"names":["randomUUID","ReadableStream","ChunkFrom"],"mappings":"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","file":"index.js","sourcesContent":["import { randomUUID } from 'node:crypto';\nimport { ReadableStream, TransformStream } from 'node:stream/web';\nimport type { ReadableStreamDefaultController } from 'node:stream/web';\n\nimport type { AgentExecutionOptionsBase, MastraLanguageModel } from '@mastra/core/agent';\nimport { MessageList } from '@mastra/core/agent/message-list';\nimport type { MessageListInput } from '@mastra/core/agent/message-list';\nimport type { Mastra } from '@mastra/core/mastra';\nimport { EntityType, executeWithContext, getOrCreateSpan, SpanType } from '@mastra/core/observability';\nimport type {\n AIModelGenerationSpan,\n CostContext,\n IModelSpanTracker,\n Span,\n UsageStats,\n} from '@mastra/core/observability';\nimport type { RequestContext } from '@mastra/core/request-context';\nimport type { ChunkType, FullOutput, JSONValue, LanguageModelUsage, ProviderMetadata } from '@mastra/core/stream';\nimport { ChunkFrom, MastraModelOutput } from '@mastra/core/stream';\ntype MastraModelOutputOptions<OUTPUT = undefined> = ConstructorParameters<\n typeof MastraModelOutput<OUTPUT>\n>[0]['options'];\n\nexport type SDKAgentRunOptions<OUTPUT = unknown> = AgentExecutionOptionsBase<OUTPUT> & {\n signal?: AbortSignal;\n [key: string]: unknown;\n};\n\nexport type V3Usage = {\n inputTokens: {\n total: number | undefined;\n noCache?: number;\n cacheRead?: number;\n cacheWrite?: number;\n };\n outputTokens: {\n total: number | undefined;\n text?: number;\n };\n};\n\nexport type SDKModelGenerateResult = {\n content: Array<{ type: 'text'; text: string }>;\n finishReason: { unified: 'stop'; raw: 'stop' };\n usage: V3Usage;\n response: {\n id: string;\n modelId: string;\n timestamp: Date;\n };\n providerMetadata?: ProviderMetadata;\n costContext?: CostContext;\n};\n\nexport function createNoopModel({ modelId, provider }: { modelId: string; provider: string }): MastraLanguageModel {\n return {\n modelId,\n provider,\n specificationVersion: 'v3',\n supportedUrls: {},\n doGenerate: async () => createNoopStreamResult(),\n doStream: async () => createNoopStreamResult(),\n } as MastraLanguageModel;\n}\n\nfunction createNoopStreamResult(): { stream: ReadableStream<never> } {\n return {\n stream: new ReadableStream<never>({\n start: controller => controller.close(),\n }),\n };\n}\n\nexport function createCompletedMastraStream({\n runId,\n prompt,\n text,\n responseId,\n modelId,\n usage,\n providerMetadata,\n costContext,\n}: {\n runId: string;\n prompt: string;\n text: string;\n responseId: string;\n modelId: string;\n usage: LanguageModelUsage;\n providerMetadata?: ProviderMetadata;\n costContext?: CostContext;\n}): ReadableStream<ChunkType> {\n return new ReadableStream<ChunkType>({\n start(controller) {\n const textId = randomUUID();\n enqueueStartChunks(controller, {\n runId,\n prompt,\n textId,\n responseId,\n modelId,\n providerMetadata,\n });\n if (text) {\n enqueueTextDelta(controller, runId, textId, text);\n }\n enqueueFinishChunks(controller, {\n runId,\n prompt,\n textId,\n text,\n responseId,\n modelId,\n usage,\n providerMetadata,\n costContext,\n });\n controller.close();\n },\n });\n}\n\nexport function createMastraOutput<OUTPUT>({\n messages,\n runId,\n modelId,\n provider,\n stream,\n options,\n}: {\n messages: MessageListInput;\n runId: string;\n modelId: string;\n provider: string;\n stream: ReadableStream<ChunkType>;\n options?: Partial<MastraModelOutputOptions<OUTPUT>>;\n}): MastraModelOutput<OUTPUT> {\n const messageList = new MessageList();\n messageList.add(messages, 'input');\n messageList.add([{ role: 'assistant', content: '' }], 'response');\n\n return new MastraModelOutput<OUTPUT>({\n model: {\n modelId,\n provider,\n version: 'v3',\n },\n stream: stream as ReadableStream<ChunkType<OUTPUT>>,\n messageList,\n messageId: randomUUID(),\n options: {\n ...options,\n runId,\n },\n });\n}\n\nexport function toFullOutput<OUTPUT>({\n messages,\n runId,\n provider,\n result,\n options,\n}: {\n messages: MessageListInput;\n runId: string;\n provider: string;\n result: SDKModelGenerateResult;\n options?: Partial<MastraModelOutputOptions<OUTPUT>>;\n}): Promise<FullOutput<OUTPUT>> {\n const text = result.content.map(part => part.text).join('');\n const stream = createCompletedMastraStream({\n runId,\n prompt: promptToText(messages),\n text,\n responseId: result.response.id,\n modelId: result.response.modelId,\n usage: toLanguageModelUsage(result.usage),\n providerMetadata: result.providerMetadata,\n costContext: result.costContext,\n });\n\n return createMastraOutput<OUTPUT>({\n messages,\n runId,\n modelId: result.response.modelId,\n provider,\n stream,\n options,\n }).getFullOutput();\n}\n\nexport type SDKAgentTelemetryOptions<OUTPUT = unknown> = {\n agentId: string;\n agentName: string;\n provider: string;\n modelId: string;\n messages: MessageListInput;\n prompt: string;\n runId: string;\n streaming: boolean;\n method: 'generate' | 'stream';\n requestContext: RequestContext;\n instructions?: string;\n maxSteps?: SDKAgentRunOptions<OUTPUT>['maxSteps'];\n tracingOptions?: SDKAgentRunOptions<OUTPUT>['tracingOptions'];\n tracingContext?: SDKAgentRunOptions<OUTPUT>['tracingContext'];\n onFinish?: SDKAgentRunOptions<OUTPUT>['onFinish'];\n onStepFinish?: SDKAgentRunOptions<OUTPUT>['onStepFinish'];\n mastra?: Mastra;\n};\n\nexport type SDKAgentTelemetry<OUTPUT = unknown> = {\n execute<T>(fn: () => Promise<T>): Promise<T>;\n endGenerate(result: SDKModelGenerateResult): void;\n fail(error: unknown): void;\n startToolCall(input: SDKAgentToolCallInput): void;\n endToolCall(output: SDKAgentToolCallOutput): void;\n wrapStream(stream: ReadableStream<ChunkType>): ReadableStream<ChunkType>;\n outputOptions(): Partial<MastraModelOutputOptions<OUTPUT>>;\n};\n\nexport type SDKAgentToolCallInput = {\n toolCallId: string;\n toolName: string;\n input?: unknown;\n};\n\nexport type SDKAgentToolCallOutput = {\n toolCallId: string;\n output?: unknown;\n isError?: boolean;\n};\n\nexport function createSDKAgentTelemetry<OUTPUT>({\n agentId,\n agentName,\n provider,\n modelId,\n messages,\n prompt,\n runId,\n streaming,\n method,\n requestContext,\n instructions,\n maxSteps,\n tracingOptions,\n tracingContext,\n onFinish,\n onStepFinish,\n mastra,\n}: SDKAgentTelemetryOptions<OUTPUT>): SDKAgentTelemetry<OUTPUT> {\n const agentSpan = getOrCreateSpan({\n type: SpanType.AGENT_RUN,\n name: `agent run: '${agentId}'`,\n entityType: EntityType.AGENT,\n entityId: agentId,\n entityName: agentName,\n input: messages,\n attributes: {\n prompt,\n instructions,\n maxSteps,\n },\n metadata: {\n runId,\n sdkAgent: true,\n sdkProvider: provider,\n sdkMethod: method,\n },\n tracingOptions,\n tracingContext,\n requestContext,\n mastra,\n });\n\n const modelSpan = agentSpan?.createChildSpan({\n type: SpanType.MODEL_GENERATION,\n name: `llm: '${modelId}'`,\n input: {\n messages,\n },\n attributes: {\n model: modelId,\n provider,\n streaming,\n },\n metadata: {\n runId,\n sdkAgent: true,\n sdkProvider: provider,\n sdkMethod: method,\n },\n requestContext,\n });\n const modelSpanTracker = getModelSpanTracker(modelSpan);\n const toolSpans = new Map<string, Span<SpanType.TOOL_CALL> | Span<SpanType.MCP_TOOL_CALL>>();\n\n let ended = false;\n\n const startToolCall = ({ toolCallId, toolName, input }: SDKAgentToolCallInput) => {\n if (toolSpans.has(toolCallId)) {\n return;\n }\n\n const parentSpan = agentSpan ?? modelSpan;\n if (!parentSpan) {\n return;\n }\n\n const mcp = parseMcpToolName(toolName);\n const span = mcp\n ? parentSpan.createChildSpan({\n type: SpanType.MCP_TOOL_CALL,\n name: `mcp_tool: '${toolName}' on '${mcp.serverName}'`,\n input,\n entityType: EntityType.TOOL,\n entityId: toolName,\n entityName: toolName,\n attributes: {\n mcpServer: mcp.serverName,\n },\n metadata: {\n runId,\n sdkAgent: true,\n sdkProvider: provider,\n sdkMethod: method,\n toolCallId,\n },\n requestContext,\n })\n : parentSpan.createChildSpan({\n type: SpanType.TOOL_CALL,\n name: `tool: '${toolName}'`,\n input,\n entityType: EntityType.TOOL,\n entityId: toolName,\n entityName: toolName,\n attributes: {\n toolType: 'tool',\n },\n metadata: {\n runId,\n sdkAgent: true,\n sdkProvider: provider,\n sdkMethod: method,\n toolCallId,\n },\n requestContext,\n });\n\n toolSpans.set(toolCallId, span);\n };\n\n const endToolCall = ({ toolCallId, output, isError }: SDKAgentToolCallOutput) => {\n const span = toolSpans.get(toolCallId);\n if (!span) {\n return;\n }\n\n toolSpans.delete(toolCallId);\n if (isError) {\n span.error({\n error:\n output instanceof Error ? output : new Error(typeof output === 'string' ? output : 'SDK tool call failed'),\n attributes: { success: false },\n });\n return;\n }\n\n span.end({\n output,\n attributes: { success: true },\n });\n };\n\n const closeOpenToolSpans = (success: boolean, error?: unknown) => {\n for (const [toolCallId, span] of toolSpans) {\n toolSpans.delete(toolCallId);\n if (success) {\n span.end({ attributes: { success: true } });\n continue;\n }\n\n const normalized = error instanceof Error ? error : new Error(String(error ?? 'SDK agent run failed'));\n span.error({ error: normalized, attributes: { success: false } });\n }\n };\n\n const endModel = ({\n text,\n usage,\n providerMetadata,\n finishReason = 'stop',\n responseId,\n responseModel,\n costContext,\n }: {\n text: string;\n usage?: LanguageModelUsage;\n providerMetadata?: ProviderMetadata;\n finishReason?: string;\n responseId?: string;\n responseModel?: string;\n costContext?: CostContext;\n }) => {\n if (modelSpanTracker) {\n modelSpanTracker.endGeneration({\n output: {\n text,\n },\n attributes: {\n finishReason,\n responseId,\n responseModel,\n costContext,\n },\n usage,\n providerMetadata,\n });\n return;\n }\n\n modelSpan?.end({\n output: {\n text,\n },\n attributes: {\n finishReason,\n responseId,\n responseModel,\n usage: usage ? toUsageStats(usage) : undefined,\n costContext,\n },\n });\n };\n\n const end = (result: {\n text: string;\n usage?: LanguageModelUsage;\n providerMetadata?: ProviderMetadata;\n finishReason?: string;\n responseId?: string;\n responseModel?: string;\n costContext?: CostContext;\n }) => {\n if (ended) {\n return;\n }\n\n ended = true;\n closeOpenToolSpans(true);\n endModel(result);\n agentSpan?.end({\n output: {\n text: result.text,\n },\n });\n };\n\n const fail = (error: unknown) => {\n if (ended) {\n return;\n }\n\n ended = true;\n const normalized = error instanceof Error ? error : new Error(String(error));\n closeOpenToolSpans(false, normalized);\n if (modelSpanTracker) {\n modelSpanTracker.reportGenerationError({ error: normalized });\n } else {\n modelSpan?.error({ error: normalized });\n }\n agentSpan?.error({ error: normalized });\n };\n\n return {\n execute: fn => executeWithContext({ span: modelSpan ?? agentSpan, fn }),\n endGenerate(result) {\n end({\n text: result.content.map(part => part.text).join(''),\n usage: toLanguageModelUsage(result.usage),\n providerMetadata: result.providerMetadata,\n finishReason: result.finishReason.unified,\n responseId: result.response.id,\n responseModel: result.response.modelId,\n costContext: result.costContext,\n });\n },\n fail,\n startToolCall,\n endToolCall,\n wrapStream(stream) {\n const trackedStream = (modelSpanTracker?.wrapStream(stream) ?? stream) as ReadableStream<ChunkType>;\n return wrapStreamForAgentSpan(trackedStream, {\n end,\n fail,\n });\n },\n outputOptions() {\n return {\n onFinish,\n onStepFinish,\n requestContext,\n tracingContext: agentSpan ? { currentSpan: agentSpan } : tracingContext,\n };\n },\n };\n}\n\nfunction parseMcpToolName(toolName: string): { serverName: string; toolName: string } | undefined {\n const match = /^mcp__([^_].*?)__(.+)$/.exec(toolName);\n if (!match?.[1] || !match[2]) {\n return undefined;\n }\n\n return {\n serverName: match[1],\n toolName: match[2],\n };\n}\n\nfunction getModelSpanTracker(\n modelSpan: Span<SpanType.MODEL_GENERATION> | AIModelGenerationSpan | undefined,\n): IModelSpanTracker | undefined {\n if (!modelSpan || !('createTracker' in modelSpan)) {\n return undefined;\n }\n\n return modelSpan.createTracker();\n}\n\nfunction wrapStreamForAgentSpan(\n stream: ReadableStream<ChunkType>,\n telemetry: {\n end: (result: {\n text: string;\n usage?: LanguageModelUsage;\n providerMetadata?: ProviderMetadata;\n finishReason?: string;\n responseId?: string;\n responseModel?: string;\n costContext?: CostContext;\n }) => void;\n fail: (error: unknown) => void;\n },\n): ReadableStream<ChunkType> {\n let text = '';\n\n return stream.pipeThrough(\n new TransformStream<ChunkType, ChunkType>({\n transform(chunk, controller) {\n if (chunk.type === 'text-delta') {\n text += chunk.payload.text;\n }\n\n if (chunk.type === 'finish') {\n telemetry.end({\n text,\n usage: chunk.payload.output.usage,\n providerMetadata: chunk.payload.providerMetadata,\n finishReason: chunk.payload.stepResult.reason,\n responseId: chunk.payload.response?.id,\n responseModel: chunk.payload.response?.modelId,\n costContext: getCostContext(chunk.payload.metadata?.costContext),\n });\n }\n\n if (chunk.type === 'error') {\n telemetry.fail(chunk.payload.error);\n }\n\n controller.enqueue(chunk);\n },\n flush() {\n telemetry.end({ text });\n },\n }),\n );\n}\n\nfunction toUsageStats(usage: LanguageModelUsage): UsageStats {\n return {\n inputTokens: usage.inputTokens,\n outputTokens: usage.outputTokens,\n inputDetails: {\n cacheRead: usage.cachedInputTokens,\n cacheWrite: usage.cacheCreationInputTokens,\n },\n outputDetails: {\n text: usage.outputTokens,\n reasoning: usage.reasoningTokens,\n },\n };\n}\n\nfunction getCostContext(value: unknown): CostContext | undefined {\n if (!value || typeof value !== 'object') {\n return undefined;\n }\n\n return value as CostContext;\n}\n\nexport function enqueueStartChunks(\n controller: ReadableStreamDefaultController<ChunkType>,\n {\n runId,\n prompt,\n textId,\n responseId,\n modelId,\n providerMetadata,\n }: {\n runId: string;\n prompt: string;\n textId: string;\n responseId: string;\n modelId: string;\n providerMetadata?: ProviderMetadata;\n },\n): void {\n controller.enqueue({\n type: 'start',\n runId,\n from: ChunkFrom.AGENT,\n payload: {},\n });\n controller.enqueue({\n type: 'step-start',\n runId,\n from: ChunkFrom.AGENT,\n payload: {\n request: { body: prompt },\n },\n });\n controller.enqueue({\n type: 'response-metadata',\n runId,\n from: ChunkFrom.AGENT,\n payload: {\n id: responseId,\n modelId,\n timestamp: new Date().toISOString(),\n },\n });\n controller.enqueue({\n type: 'text-start',\n runId,\n from: ChunkFrom.AGENT,\n payload: {\n id: textId,\n providerMetadata,\n },\n });\n}\n\nexport function enqueueTextDelta(\n controller: ReadableStreamDefaultController<ChunkType>,\n runId: string,\n textId: string,\n text: string,\n): void {\n controller.enqueue({\n type: 'text-delta',\n runId,\n from: ChunkFrom.AGENT,\n payload: {\n id: textId,\n text,\n },\n });\n}\n\nexport function enqueueFinishChunks(\n controller: ReadableStreamDefaultController<ChunkType>,\n {\n runId,\n prompt,\n textId,\n text,\n responseId,\n modelId,\n usage,\n providerMetadata,\n costContext,\n }: {\n runId: string;\n prompt: string;\n textId: string;\n text: string;\n responseId: string;\n modelId: string;\n usage: LanguageModelUsage;\n providerMetadata?: ProviderMetadata;\n costContext?: CostContext;\n },\n): void {\n const timestamp = new Date();\n const response = {\n id: responseId,\n modelId,\n timestamp,\n };\n const metadata = {\n providerMetadata,\n costContext,\n request: { body: prompt },\n modelId,\n timestamp,\n };\n\n controller.enqueue({\n type: 'text-end',\n runId,\n from: ChunkFrom.AGENT,\n payload: {\n id: textId,\n providerMetadata,\n },\n });\n controller.enqueue({\n type: 'step-finish',\n runId,\n from: ChunkFrom.AGENT,\n payload: {\n id: responseId,\n providerMetadata,\n totalUsage: usage,\n response,\n stepResult: {\n reason: 'stop',\n warnings: [],\n },\n output: {\n text,\n usage,\n steps: [],\n },\n metadata,\n },\n });\n controller.enqueue({\n type: 'finish',\n runId,\n from: ChunkFrom.AGENT,\n payload: {\n stepResult: {\n reason: 'stop',\n warnings: [],\n },\n output: {\n usage,\n steps: [],\n },\n metadata,\n providerMetadata,\n messages: {\n all: [],\n user: [],\n nonUser: [],\n },\n response,\n },\n });\n}\n\nexport function toLanguageModelUsage(usage: V3Usage): LanguageModelUsage {\n const inputTokens = usage.inputTokens.total ?? 0;\n const outputTokens = usage.outputTokens.total ?? 0;\n\n return {\n inputTokens,\n outputTokens,\n totalTokens: inputTokens + outputTokens,\n cachedInputTokens: usage.inputTokens.cacheRead,\n cacheCreationInputTokens: usage.inputTokens.cacheWrite,\n raw: usage,\n };\n}\n\nexport function createProviderMetadata(provider: string, metadata: Record<string, unknown>): ProviderMetadata {\n return {\n [provider]: toJsonRecord(metadata),\n };\n}\n\nfunction toJsonRecord(record: Record<string, unknown>): Record<string, JSONValue> {\n return Object.fromEntries(\n Object.entries(record)\n .filter((entry): entry is [string, Exclude<unknown, undefined>] => entry[1] !== undefined)\n .map(([key, value]) => [key, toJsonValue(value)]),\n );\n}\n\nfunction toJsonValue(value: unknown): JSONValue {\n if (value === null || typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n return value;\n }\n\n if (Array.isArray(value)) {\n return value.filter(item => item !== undefined).map(toJsonValue);\n }\n\n if (value instanceof Date) {\n return value.toISOString();\n }\n\n if (typeof value === 'object') {\n return toJsonRecord(value as Record<string, unknown>);\n }\n\n return String(value);\n}\n\nexport function promptToText(prompt: unknown): string {\n if (typeof prompt === 'string') {\n return prompt;\n }\n\n if (Array.isArray(prompt)) {\n return prompt.map(promptToText).filter(Boolean).join('\\n');\n }\n\n if (!prompt || typeof prompt !== 'object') {\n return '';\n }\n\n const record = prompt as Record<string, unknown>;\n if (typeof record.text === 'string') {\n return record.text;\n }\n if (typeof record.content === 'string') {\n return record.content;\n }\n if (record.content) {\n return promptToText(record.content);\n }\n\n return '';\n}\n\nexport function sumDefined(...values: Array<number | undefined>): number | undefined {\n const defined = values.filter((value): value is number => typeof value === 'number');\n if (defined.length === 0) {\n return undefined;\n }\n\n return defined.reduce((sum, value) => sum + value, 0);\n}\n","import { randomUUID } from 'node:crypto';\nimport { ReadableStream } from 'node:stream/web';\n\nimport { query } from '@anthropic-ai/claude-agent-sdk';\nimport type { ModelUsage, SDKMessage } from '@anthropic-ai/claude-agent-sdk';\n\nimport { Agent } from '@mastra/core/agent';\nimport type { MessageListInput } from '@mastra/core/agent/message-list';\nimport type { Mastra } from '@mastra/core/mastra';\nimport type { CostContext } from '@mastra/core/observability';\nimport { RequestContext } from '@mastra/core/request-context';\nimport type {\n ChunkType,\n FullOutput,\n LanguageModelUsage,\n ProviderMetadata,\n MastraModelOutput,\n} from '@mastra/core/stream';\nimport { ChunkFrom } from '@mastra/core/stream';\nimport {\n createMastraOutput,\n createNoopModel,\n createProviderMetadata,\n createSDKAgentTelemetry,\n enqueueFinishChunks,\n enqueueStartChunks,\n enqueueTextDelta,\n promptToText,\n sumDefined,\n toFullOutput,\n toLanguageModelUsage,\n} from './utils';\nimport type { SDKAgentRunOptions, SDKAgentTelemetry, SDKModelGenerateResult, V3Usage } from './utils';\n\nconst PROVIDER = '@anthropic-ai/claude-agent-sdk';\nconst MODEL_ID = 'claude-agent-sdk';\n\ntype ClaudeUsageTotals = {\n inputTokens?: number;\n outputTokens?: number;\n cacheReadInputTokens?: number;\n cacheCreationInputTokens?: number;\n totalCostUsd?: number;\n modelUsage?: Record<string, ModelUsage>;\n};\n\nexport type ClaudePermissionMode = 'default' | 'acceptEdits' | 'bypassPermissions' | 'plan' | 'dontAsk' | 'auto';\n\nexport type ClaudeSDKOptions = {\n abortController?: AbortController;\n additionalDirectories?: string[];\n cwd?: string;\n model?: string;\n maxTurns?: number;\n permissionMode?: ClaudePermissionMode;\n tools?: string[] | { type: 'preset'; preset: 'claude_code' };\n allowedTools?: string[];\n disallowedTools?: string[];\n mcpServers?: Record<string, unknown>;\n env?: Record<string, string>;\n pathToClaudeCodeExecutable?: string;\n};\n\nexport type ClaudeAgentOptions = {\n /**\n * Mastra agent id used when registering this wrapper with Mastra.\n */\n id: string;\n /**\n * Optional display name for the Mastra agent. Defaults to `id`.\n */\n name?: string;\n /**\n * Description surfaced by Mastra when listing or selecting agents.\n */\n description: string;\n /**\n * Claude Agent SDK options forwarded to `query()` on every run.\n */\n sdkOptions?: ClaudeSDKOptions;\n};\n\nexport class ClaudeSDKAgent extends Agent {\n readonly options: ClaudeAgentOptions;\n #mastra?: Mastra;\n\n constructor(options: ClaudeAgentOptions) {\n super({\n id: options.id,\n name: options.name ?? options.id,\n description: options.description,\n instructions: '',\n model: createNoopModel({\n modelId: getModelId(options),\n provider: PROVIDER,\n }),\n });\n this.options = options;\n }\n\n override __registerMastra(mastra: Mastra): void {\n super.__registerMastra(mastra);\n this.#mastra = mastra;\n }\n\n supportsMemory(): boolean {\n return false;\n }\n\n async generate<OUTPUT = undefined>(\n messages: MessageListInput,\n options?: SDKAgentRunOptions<OUTPUT>,\n ): Promise<FullOutput<OUTPUT>> {\n const prompt = promptToText(messages);\n const runId = options?.runId ?? randomUUID();\n const requestContext = options?.requestContext ?? new RequestContext();\n const instructions = options?.instructions ? promptToText(options.instructions) : undefined;\n const telemetry = createSDKAgentTelemetry({\n agentId: this.id,\n agentName: this.name,\n provider: PROVIDER,\n modelId: getModelId(this.options),\n messages,\n prompt,\n runId,\n streaming: false,\n method: 'generate',\n requestContext,\n instructions,\n maxSteps: options?.maxSteps,\n tracingOptions: options?.tracingOptions,\n tracingContext: options?.tracingContext,\n onFinish: options?.onFinish,\n onStepFinish: options?.onStepFinish,\n mastra: this.#mastra,\n });\n let result: SDKModelGenerateResult;\n try {\n result = await telemetry.execute(() =>\n runClaudeGenerate(prompt, this.options, telemetry, options?.abortSignal ?? options?.signal),\n );\n telemetry.endGenerate(result);\n } catch (error) {\n telemetry.fail(error);\n throw error;\n }\n\n return toFullOutput<OUTPUT>({\n messages,\n runId,\n provider: PROVIDER,\n result,\n options: telemetry.outputOptions(),\n });\n }\n\n async stream<OUTPUT = undefined>(\n messages: MessageListInput,\n options?: SDKAgentRunOptions<OUTPUT>,\n ): Promise<MastraModelOutput<OUTPUT>> {\n const runId = options?.runId ?? randomUUID();\n const prompt = promptToText(messages);\n const modelId = getModelId(this.options);\n const requestContext = options?.requestContext ?? new RequestContext();\n const instructions = options?.instructions ? promptToText(options.instructions) : undefined;\n const telemetry = createSDKAgentTelemetry({\n agentId: this.id,\n agentName: this.name,\n provider: PROVIDER,\n modelId,\n messages,\n prompt,\n runId,\n streaming: true,\n method: 'stream',\n requestContext,\n instructions,\n maxSteps: options?.maxSteps,\n tracingOptions: options?.tracingOptions,\n tracingContext: options?.tracingContext,\n onFinish: options?.onFinish,\n onStepFinish: options?.onStepFinish,\n mastra: this.#mastra,\n });\n\n return createMastraOutput<OUTPUT>({\n messages,\n runId,\n modelId,\n provider: PROVIDER,\n stream: telemetry.wrapStream(\n runClaudeAsMastraStream(prompt, this.options, runId, telemetry, options?.abortSignal ?? options?.signal),\n ),\n options: telemetry.outputOptions(),\n });\n }\n}\n\nasync function runClaudeGenerate<OUTPUT>(\n prompt: string,\n options: ClaudeAgentOptions,\n telemetry: SDKAgentTelemetry<OUTPUT>,\n signal?: AbortSignal,\n): Promise<SDKModelGenerateResult> {\n let text = '';\n const usage = createClaudeUsageCollector();\n\n for await (const message of observeClaudeMessages(runClaude(prompt, options, signal), telemetry)) {\n usage.record(message);\n if (message.type === 'result') {\n if (message.subtype !== 'success') {\n throw new Error(message.errors.join('\\n') || `Claude Agent SDK failed with ${message.subtype}`);\n }\n\n text = message.result;\n }\n }\n\n const totals = usage.totals();\n\n return {\n content: [{ type: 'text', text }],\n finishReason: { unified: 'stop', raw: 'stop' },\n usage: usage.toV3Usage(),\n response: {\n id: randomUUID(),\n modelId: getModelId(options),\n timestamp: new Date(),\n },\n providerMetadata: getClaudeProviderMetadata(options, totals),\n costContext: getClaudeCostContext(options, totals),\n };\n}\n\nfunction runClaudeAsMastraStream<OUTPUT>(\n prompt: string,\n options: ClaudeAgentOptions,\n runId: string,\n telemetry: SDKAgentTelemetry<OUTPUT>,\n signal?: AbortSignal,\n): ReadableStream<ChunkType> {\n return new ReadableStream<ChunkType>({\n start: async controller => {\n const textId = randomUUID();\n const responseId = randomUUID();\n const modelId = getModelId(options);\n const usage = createClaudeUsageCollector();\n let text = '';\n let sawDelta = false;\n\n try {\n enqueueStartChunks(controller, {\n runId,\n prompt,\n textId,\n responseId,\n modelId,\n providerMetadata: getClaudeProviderMetadata(options, usage.totals()),\n });\n\n for await (const message of observeClaudeMessages(runClaude(prompt, options, signal), telemetry)) {\n usage.record(message);\n const delta = getTextDelta(message);\n if (delta) {\n sawDelta = true;\n text += delta;\n enqueueTextDelta(controller, runId, textId, delta);\n }\n\n if (message.type === 'result') {\n if (message.subtype !== 'success') {\n throw new Error(message.errors.join('\\n') || `Claude Agent SDK failed with ${message.subtype}`);\n }\n\n if (!sawDelta && message.result) {\n text += message.result;\n enqueueTextDelta(controller, runId, textId, message.result);\n }\n }\n }\n\n const totals = usage.totals();\n const providerMetadata = getClaudeProviderMetadata(options, totals);\n enqueueFinishChunks(controller, {\n runId,\n prompt,\n textId,\n text,\n responseId,\n modelId,\n usage: usage.toLanguageModelUsage(),\n providerMetadata,\n costContext: getClaudeCostContext(options, totals),\n });\n controller.close();\n } catch (error) {\n controller.enqueue({\n type: 'error',\n runId,\n from: ChunkFrom.AGENT,\n payload: { error },\n });\n controller.close();\n }\n },\n });\n}\n\nfunction runClaude(prompt: string, options: ClaudeAgentOptions, signal?: AbortSignal): AsyncIterable<SDKMessage> {\n const abortController = createAbortController(signal);\n const queryOptions = {\n ...options.sdkOptions,\n };\n if (abortController) {\n queryOptions.abortController = abortController;\n }\n\n return query({\n prompt,\n options: queryOptions as Parameters<typeof query>[0]['options'],\n }) as AsyncIterable<SDKMessage>;\n}\n\nasync function* observeClaudeMessages<OUTPUT>(\n messages: AsyncIterable<SDKMessage>,\n telemetry: SDKAgentTelemetry<OUTPUT>,\n): AsyncIterable<SDKMessage> {\n for await (const message of messages) {\n recordClaudeToolTelemetry(message, telemetry);\n yield message;\n }\n}\n\nfunction recordClaudeToolTelemetry<OUTPUT>(message: SDKMessage, telemetry: SDKAgentTelemetry<OUTPUT>): void {\n for (const toolCall of getClaudeToolCalls(message)) {\n telemetry.startToolCall(toolCall);\n }\n\n for (const toolResult of getClaudeToolResults(message)) {\n telemetry.endToolCall(toolResult);\n }\n}\n\nfunction getClaudeToolCalls(message: SDKMessage): Array<{ toolCallId: string; toolName: string; input?: unknown }> {\n if (message.type !== 'assistant') {\n return [];\n }\n\n return getContentBlocks(message.message)\n .filter(isRecord)\n .filter(block => block.type === 'tool_use' && typeof block.id === 'string' && typeof block.name === 'string')\n .map(block => ({\n toolCallId: block.id as string,\n toolName: block.name as string,\n input: block.input,\n }));\n}\n\nfunction getClaudeToolResults(message: SDKMessage): Array<{ toolCallId: string; output?: unknown; isError?: boolean }> {\n if (message.type !== 'user') {\n return [];\n }\n\n return getContentBlocks(message.message)\n .filter(isRecord)\n .filter(block => block.type === 'tool_result' && typeof block.tool_use_id === 'string')\n .map(block => ({\n toolCallId: block.tool_use_id as string,\n output: block.content,\n isError: block.is_error === true,\n }));\n}\n\nfunction getContentBlocks(message: unknown): unknown[] {\n if (!isRecord(message)) {\n return [];\n }\n\n return Array.isArray(message.content) ? message.content : [];\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === 'object';\n}\n\nfunction createAbortController(signal: AbortSignal | undefined): AbortController | undefined {\n if (!signal) {\n return undefined;\n }\n\n const controller = new AbortController();\n if (signal.aborted) {\n controller.abort(signal.reason);\n return controller;\n }\n\n signal.addEventListener('abort', () => controller.abort(signal.reason), { once: true });\n return controller;\n}\n\nfunction getModelId(options: ClaudeAgentOptions): string {\n return options.sdkOptions?.model ?? MODEL_ID;\n}\n\nfunction createClaudeUsageCollector() {\n const assistantUsageById = new Map<string, ClaudeUsageTotals>();\n let resultUsage: ClaudeUsageTotals = {};\n\n return {\n record(message: SDKMessage) {\n if (message.type === 'assistant') {\n assistantUsageById.set(message.message.id, usageFromClaudeMessage(message.message.usage));\n return;\n }\n\n if (message.type === 'result') {\n resultUsage = {\n ...usageFromClaudeMessage(message.usage),\n totalCostUsd: message.total_cost_usd,\n modelUsage: message.modelUsage,\n };\n }\n },\n totals(): ClaudeUsageTotals {\n const assistantUsage = getAssistantUsageTotals(assistantUsageById);\n\n if (hasAnyUsage(resultUsage)) {\n return {\n ...resultUsage,\n inputTokens: resultUsage.inputTokens ?? assistantUsage.inputTokens,\n outputTokens: resultUsage.outputTokens ?? assistantUsage.outputTokens,\n cacheReadInputTokens: resultUsage.cacheReadInputTokens ?? assistantUsage.cacheReadInputTokens,\n cacheCreationInputTokens: resultUsage.cacheCreationInputTokens ?? assistantUsage.cacheCreationInputTokens,\n };\n }\n\n return assistantUsage;\n },\n toV3Usage(): V3Usage {\n return toV3Usage(this.totals());\n },\n toLanguageModelUsage(): LanguageModelUsage {\n return toLanguageModelUsage(toV3Usage(this.totals()));\n },\n };\n}\n\nfunction getAssistantUsageTotals(assistantUsageById: Map<string, ClaudeUsageTotals>): ClaudeUsageTotals {\n return [...assistantUsageById.values()].reduce<ClaudeUsageTotals>((totals, item) => {\n totals.inputTokens = addOptional(totals.inputTokens, item.inputTokens);\n totals.outputTokens = addOptional(totals.outputTokens, item.outputTokens);\n totals.cacheReadInputTokens = addOptional(totals.cacheReadInputTokens, item.cacheReadInputTokens);\n totals.cacheCreationInputTokens = addOptional(totals.cacheCreationInputTokens, item.cacheCreationInputTokens);\n return totals;\n }, {});\n}\n\nfunction usageFromClaudeMessage(usage: unknown): ClaudeUsageTotals {\n if (!usage || typeof usage !== 'object') {\n return {};\n }\n\n const record = usage as Record<string, unknown>;\n return {\n inputTokens: getTokenTotal(record.input_tokens),\n outputTokens: getTokenTotal(record.output_tokens),\n cacheReadInputTokens: getTokenTotal(record.cache_read_input_tokens),\n cacheCreationInputTokens: getTokenTotal(record.cache_creation_input_tokens),\n };\n}\n\nfunction hasAnyUsage(usage: ClaudeUsageTotals): boolean {\n return (\n usage.inputTokens !== undefined ||\n usage.outputTokens !== undefined ||\n usage.cacheReadInputTokens !== undefined ||\n usage.cacheCreationInputTokens !== undefined ||\n usage.totalCostUsd !== undefined\n );\n}\n\nfunction addOptional(left: number | undefined, right: number | undefined): number | undefined {\n if (left === undefined) {\n return right;\n }\n if (right === undefined) {\n return left;\n }\n\n return left + right;\n}\n\nfunction toV3Usage(usage: ClaudeUsageTotals): V3Usage {\n const noCache = usage.inputTokens;\n const cacheRead = usage.cacheReadInputTokens;\n const cacheWrite = usage.cacheCreationInputTokens;\n const totalInputTokens = sumDefined(noCache, cacheRead, cacheWrite);\n const outputTokens = usage.outputTokens;\n\n return {\n inputTokens: {\n total: totalInputTokens,\n noCache,\n cacheRead,\n cacheWrite,\n },\n outputTokens: {\n total: outputTokens,\n text: outputTokens,\n },\n };\n}\n\nfunction getClaudeProviderMetadata(options: ClaudeAgentOptions, usage?: ClaudeUsageTotals): ProviderMetadata {\n const queryOptions = options.sdkOptions;\n\n return createProviderMetadata('claude', {\n totalCostUsd: usage?.totalCostUsd,\n model: getModelId(options),\n cwd: queryOptions?.cwd,\n permissionMode: queryOptions?.permissionMode,\n maxTurns: queryOptions?.maxTurns,\n allowedTools: queryOptions?.allowedTools,\n disallowedTools: queryOptions?.disallowedTools,\n usage,\n });\n}\n\nfunction getClaudeCostContext(options: ClaudeAgentOptions, usage?: ClaudeUsageTotals): CostContext | undefined {\n if (typeof usage?.totalCostUsd !== 'number') {\n return undefined;\n }\n\n return {\n provider: 'anthropic',\n model: getModelId(options),\n estimatedCost: usage.totalCostUsd,\n costUnit: 'USD',\n costMetadata: {\n source: 'sdk_estimate',\n sdkProvider: PROVIDER,\n sdkCostField: 'total_cost_usd',\n scope: 'query_total',\n modelUsage: usage.modelUsage,\n },\n };\n}\n\nfunction getTextDelta(message: SDKMessage): string {\n if (message.type !== 'stream_event') {\n return '';\n }\n\n const event = message.event as {\n type?: string;\n delta?: {\n type?: string;\n text?: string;\n };\n };\n\n if (event.type === 'content_block_delta' && event.delta?.type === 'text_delta') {\n return event.delta.text ?? '';\n }\n\n return '';\n}\n\nfunction getTokenTotal(value: unknown): number | undefined {\n return typeof value === 'number' ? value : undefined;\n}\n"]}
@@ -0,0 +1,138 @@
1
+ import { ReadableStream } from 'node:stream/web';
2
+ import type { ReadableStreamDefaultController } from 'node:stream/web';
3
+ import type { AgentExecutionOptionsBase, MastraLanguageModel } from '@mastra/core/agent';
4
+ import type { MessageListInput } from '@mastra/core/agent/message-list';
5
+ import type { Mastra } from '@mastra/core/mastra';
6
+ import type { CostContext } from '@mastra/core/observability';
7
+ import type { RequestContext } from '@mastra/core/request-context';
8
+ import type { ChunkType, FullOutput, LanguageModelUsage, ProviderMetadata } from '@mastra/core/stream';
9
+ import { MastraModelOutput } from '@mastra/core/stream';
10
+ type MastraModelOutputOptions<OUTPUT = undefined> = ConstructorParameters<typeof MastraModelOutput<OUTPUT>>[0]['options'];
11
+ export type SDKAgentRunOptions<OUTPUT = unknown> = AgentExecutionOptionsBase<OUTPUT> & {
12
+ signal?: AbortSignal;
13
+ [key: string]: unknown;
14
+ };
15
+ export type V3Usage = {
16
+ inputTokens: {
17
+ total: number | undefined;
18
+ noCache?: number;
19
+ cacheRead?: number;
20
+ cacheWrite?: number;
21
+ };
22
+ outputTokens: {
23
+ total: number | undefined;
24
+ text?: number;
25
+ };
26
+ };
27
+ export type SDKModelGenerateResult = {
28
+ content: Array<{
29
+ type: 'text';
30
+ text: string;
31
+ }>;
32
+ finishReason: {
33
+ unified: 'stop';
34
+ raw: 'stop';
35
+ };
36
+ usage: V3Usage;
37
+ response: {
38
+ id: string;
39
+ modelId: string;
40
+ timestamp: Date;
41
+ };
42
+ providerMetadata?: ProviderMetadata;
43
+ costContext?: CostContext;
44
+ };
45
+ export declare function createNoopModel({ modelId, provider }: {
46
+ modelId: string;
47
+ provider: string;
48
+ }): MastraLanguageModel;
49
+ export declare function createCompletedMastraStream({ runId, prompt, text, responseId, modelId, usage, providerMetadata, costContext, }: {
50
+ runId: string;
51
+ prompt: string;
52
+ text: string;
53
+ responseId: string;
54
+ modelId: string;
55
+ usage: LanguageModelUsage;
56
+ providerMetadata?: ProviderMetadata;
57
+ costContext?: CostContext;
58
+ }): ReadableStream<ChunkType>;
59
+ export declare function createMastraOutput<OUTPUT>({ messages, runId, modelId, provider, stream, options, }: {
60
+ messages: MessageListInput;
61
+ runId: string;
62
+ modelId: string;
63
+ provider: string;
64
+ stream: ReadableStream<ChunkType>;
65
+ options?: Partial<MastraModelOutputOptions<OUTPUT>>;
66
+ }): MastraModelOutput<OUTPUT>;
67
+ export declare function toFullOutput<OUTPUT>({ messages, runId, provider, result, options, }: {
68
+ messages: MessageListInput;
69
+ runId: string;
70
+ provider: string;
71
+ result: SDKModelGenerateResult;
72
+ options?: Partial<MastraModelOutputOptions<OUTPUT>>;
73
+ }): Promise<FullOutput<OUTPUT>>;
74
+ export type SDKAgentTelemetryOptions<OUTPUT = unknown> = {
75
+ agentId: string;
76
+ agentName: string;
77
+ provider: string;
78
+ modelId: string;
79
+ messages: MessageListInput;
80
+ prompt: string;
81
+ runId: string;
82
+ streaming: boolean;
83
+ method: 'generate' | 'stream';
84
+ requestContext: RequestContext;
85
+ instructions?: string;
86
+ maxSteps?: SDKAgentRunOptions<OUTPUT>['maxSteps'];
87
+ tracingOptions?: SDKAgentRunOptions<OUTPUT>['tracingOptions'];
88
+ tracingContext?: SDKAgentRunOptions<OUTPUT>['tracingContext'];
89
+ onFinish?: SDKAgentRunOptions<OUTPUT>['onFinish'];
90
+ onStepFinish?: SDKAgentRunOptions<OUTPUT>['onStepFinish'];
91
+ mastra?: Mastra;
92
+ };
93
+ export type SDKAgentTelemetry<OUTPUT = unknown> = {
94
+ execute<T>(fn: () => Promise<T>): Promise<T>;
95
+ endGenerate(result: SDKModelGenerateResult): void;
96
+ fail(error: unknown): void;
97
+ startToolCall(input: SDKAgentToolCallInput): void;
98
+ endToolCall(output: SDKAgentToolCallOutput): void;
99
+ wrapStream(stream: ReadableStream<ChunkType>): ReadableStream<ChunkType>;
100
+ outputOptions(): Partial<MastraModelOutputOptions<OUTPUT>>;
101
+ };
102
+ export type SDKAgentToolCallInput = {
103
+ toolCallId: string;
104
+ toolName: string;
105
+ input?: unknown;
106
+ };
107
+ export type SDKAgentToolCallOutput = {
108
+ toolCallId: string;
109
+ output?: unknown;
110
+ isError?: boolean;
111
+ };
112
+ export declare function createSDKAgentTelemetry<OUTPUT>({ agentId, agentName, provider, modelId, messages, prompt, runId, streaming, method, requestContext, instructions, maxSteps, tracingOptions, tracingContext, onFinish, onStepFinish, mastra, }: SDKAgentTelemetryOptions<OUTPUT>): SDKAgentTelemetry<OUTPUT>;
113
+ export declare function enqueueStartChunks(controller: ReadableStreamDefaultController<ChunkType>, { runId, prompt, textId, responseId, modelId, providerMetadata, }: {
114
+ runId: string;
115
+ prompt: string;
116
+ textId: string;
117
+ responseId: string;
118
+ modelId: string;
119
+ providerMetadata?: ProviderMetadata;
120
+ }): void;
121
+ export declare function enqueueTextDelta(controller: ReadableStreamDefaultController<ChunkType>, runId: string, textId: string, text: string): void;
122
+ export declare function enqueueFinishChunks(controller: ReadableStreamDefaultController<ChunkType>, { runId, prompt, textId, text, responseId, modelId, usage, providerMetadata, costContext, }: {
123
+ runId: string;
124
+ prompt: string;
125
+ textId: string;
126
+ text: string;
127
+ responseId: string;
128
+ modelId: string;
129
+ usage: LanguageModelUsage;
130
+ providerMetadata?: ProviderMetadata;
131
+ costContext?: CostContext;
132
+ }): void;
133
+ export declare function toLanguageModelUsage(usage: V3Usage): LanguageModelUsage;
134
+ export declare function createProviderMetadata(provider: string, metadata: Record<string, unknown>): ProviderMetadata;
135
+ export declare function promptToText(prompt: unknown): string;
136
+ export declare function sumDefined(...values: Array<number | undefined>): number | undefined;
137
+ export {};
138
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "@mastra/claude",
3
+ "version": "0.0.0",
4
+ "description": "Claude SDK package for Mastra",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "files": [
9
+ "dist",
10
+ "CHANGELOG.md"
11
+ ],
12
+ "exports": {
13
+ ".": {
14
+ "import": {
15
+ "types": "./dist/index.d.ts",
16
+ "default": "./dist/index.js"
17
+ },
18
+ "require": {
19
+ "types": "./dist/index.d.ts",
20
+ "default": "./dist/index.cjs"
21
+ }
22
+ },
23
+ "./package.json": "./package.json"
24
+ },
25
+ "scripts": {
26
+ "build": "pnpm build:lib",
27
+ "build:lib": "tsup --silent --config tsup.config.ts",
28
+ "prepack": "pnpx tsx ../../scripts/generate-package-docs.ts",
29
+ "build:watch": "pnpm build:lib --watch",
30
+ "test": "vitest run --passWithNoTests",
31
+ "lint": "eslint ."
32
+ },
33
+ "keywords": [],
34
+ "author": "",
35
+ "license": "Apache-2.0",
36
+ "devDependencies": {
37
+ "@anthropic-ai/claude-agent-sdk": "^0.3.145",
38
+ "@internal/lint": "workspace:*",
39
+ "@internal/types-builder": "workspace:*",
40
+ "@mastra/core": "workspace:*",
41
+ "@types/node": "22.19.15",
42
+ "@vitest/coverage-v8": "catalog:",
43
+ "@vitest/ui": "catalog:",
44
+ "eslint": "^10.2.1",
45
+ "tsup": "^8.5.1",
46
+ "typescript": "catalog:",
47
+ "vitest": "catalog:"
48
+ },
49
+ "homepage": "https://mastra.ai",
50
+ "repository": {
51
+ "type": "git",
52
+ "url": "git+https://github.com/mastra-ai/mastra.git",
53
+ "directory": "agent-sdks/claude"
54
+ },
55
+ "bugs": {
56
+ "url": "https://github.com/mastra-ai/mastra/issues"
57
+ },
58
+ "peerDependencies": {
59
+ "@anthropic-ai/claude-agent-sdk": "^0.3.145",
60
+ "@mastra/core": ">=1.34.0-0 <2.0.0-0"
61
+ },
62
+ "engines": {
63
+ "node": ">=22.13.0"
64
+ }
65
+ }