@mastra/openai 0.1.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils.ts","../src/index.ts"],"names":["ReadableStream","randomUUID","stream","messageList","MessageList","MastraModelOutput","getOrCreateSpan","SpanType","EntityType","executeWithContext","TransformStream","ChunkFrom","Agent","requestContext","RequestContext","OpenAIAgent","run"],"mappings":"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","file":"index.cjs","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';\n\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 reasoning?: 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 ...(responseId ? { 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 ...(responseId ? { 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 ...(responseId ? { 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 reasoningTokens: usage.outputTokens.reasoning,\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 { Agent } from '@mastra/core/agent';\nimport type { MessageListInput } from '@mastra/core/agent/message-list';\nimport type { Mastra } from '@mastra/core/mastra';\nimport { RequestContext } from '@mastra/core/request-context';\nimport type { ChunkType, FullOutput, ProviderMetadata, MastraModelOutput } from '@mastra/core/stream';\nimport { ChunkFrom } from '@mastra/core/stream';\nimport { Agent as OpenAIAgent, run } from '@openai/agents';\nimport type { AgentOptions as OpenAIAgentOptions, RunItem, RunStreamEvent } from '@openai/agents';\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 = '@openai/agents';\nconst MODEL_ID = 'openai-agents-sdk';\n\ntype OpenAIUsageTotals = {\n inputTokens?: number;\n outputTokens?: number;\n cacheReadInputTokens?: number;\n cacheCreationInputTokens?: number;\n reasoningTokens?: number;\n requests?: number;\n requestUsageEntries?: unknown[];\n};\n\ntype OpenAIToolTelemetry = Pick<SDKAgentTelemetry, 'startToolCall' | 'endToolCall'>;\n\ntype OpenAISDKAgentBaseOptions = {\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\nexport type OpenAISDKAgentOptions = OpenAISDKAgentBaseOptions &\n (\n | {\n /**\n * Pre-created OpenAI Agents SDK agent. Pass this when you manage the\n * SDK agent lifecycle yourself.\n */\n agent: OpenAIAgent;\n sdkOptions?: never;\n }\n | {\n agent?: never;\n /**\n * OpenAI Agents SDK options used to create an SDK agent.\n */\n sdkOptions: OpenAIAgentOptions;\n }\n );\n\nexport class OpenAISDKAgent extends Agent {\n readonly options: OpenAISDKAgentOptions;\n #mastra?: Mastra;\n #createdAgent?: OpenAIAgent;\n\n constructor(options: OpenAISDKAgentOptions) {\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 sdkAgent = this.resolveOpenAIAgent();\n const modelId = getModelId(this.options, sdkAgent);\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: 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\n try {\n result = await telemetry.execute(() => runOpenAIGenerate(prompt, sdkAgent, runId, telemetry, options));\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 prompt = promptToText(messages);\n const runId = options?.runId ?? randomUUID();\n const sdkAgent = this.resolveOpenAIAgent();\n const modelId = getModelId(this.options, sdkAgent);\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(runOpenAIAsMastraStream(prompt, sdkAgent, runId, modelId, telemetry, options)),\n options: telemetry.outputOptions(),\n });\n }\n\n private resolveOpenAIAgent(): OpenAIAgent {\n this.#createdAgent ??= this.options.agent ?? new OpenAIAgent(toOpenAIAgentOptions(this.options));\n return this.#createdAgent;\n }\n}\n\nasync function runOpenAIGenerate<OUTPUT>(\n prompt: string,\n agent: OpenAIAgent,\n runId: string,\n telemetry: SDKAgentTelemetry<OUTPUT>,\n options?: SDKAgentRunOptions<OUTPUT>,\n): Promise<SDKModelGenerateResult> {\n const result = await run(agent, prompt, {\n stream: false,\n maxTurns: options?.maxSteps,\n signal: getAbortSignal(options),\n });\n\n recordOpenAIToolTelemetry(result.newItems, telemetry);\n const text = getTextFromFinalOutput(result.finalOutput);\n const responseId = result.lastResponseId;\n const modelId = getModelId(undefined, result.lastAgent ?? agent, result.rawResponses.at(-1));\n const usage = createOpenAIUsageTotals(result.state.usage);\n const providerMetadata = getOpenAIProviderMetadata({\n modelId,\n responseId,\n lastResponseId: result.lastResponseId,\n rawResponseCount: result.rawResponses.length,\n itemCount: result.newItems.length,\n usage,\n });\n\n return {\n content: [{ type: 'text', text }],\n finishReason: { unified: 'stop', raw: 'stop' },\n usage: toV3Usage(usage),\n response: {\n id: responseId,\n modelId,\n timestamp: new Date(),\n },\n providerMetadata,\n };\n}\n\nfunction runOpenAIAsMastraStream<OUTPUT>(\n prompt: string,\n agent: OpenAIAgent,\n runId: string,\n requestedModelId: string,\n telemetry: SDKAgentTelemetry<OUTPUT>,\n options?: SDKAgentRunOptions<OUTPUT>,\n): ReadableStream<ChunkType> {\n return new ReadableStream<ChunkType>({\n start: async controller => {\n const textId = randomUUID();\n let text = '';\n let responseId: string | undefined;\n let modelId = requestedModelId;\n\n try {\n const result = await run(agent, prompt, {\n stream: true,\n maxTurns: options?.maxSteps,\n signal: getAbortSignal(options),\n });\n\n enqueueStartChunks(controller, {\n runId,\n prompt,\n textId,\n responseId,\n modelId,\n });\n\n for await (const event of result) {\n const delta = getTextDelta(event);\n if (delta) {\n text += delta;\n enqueueTextDelta(controller, runId, textId, delta);\n }\n\n recordOpenAIStreamToolTelemetry(event, telemetry);\n }\n\n await result.completed;\n\n responseId = result.lastResponseId ?? responseId;\n modelId = getModelId(undefined, result.lastAgent ?? agent, result.rawResponses.at(-1));\n if (!text) {\n text = getTextFromFinalOutput(result.finalOutput);\n if (text) {\n enqueueTextDelta(controller, runId, textId, text);\n }\n }\n\n const usage = createOpenAIUsageTotals(result.state.usage);\n const providerMetadata = getOpenAIProviderMetadata({\n modelId,\n responseId,\n lastResponseId: result.lastResponseId,\n rawResponseCount: result.rawResponses.length,\n itemCount: result.newItems.length,\n usage,\n });\n\n enqueueFinishChunks(controller, {\n runId,\n prompt,\n textId,\n text,\n responseId,\n modelId,\n usage: toLanguageModelUsage(toV3Usage(usage)),\n providerMetadata,\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 toOpenAIAgentOptions(options: OpenAISDKAgentOptions): OpenAIAgentOptions {\n return {\n name: options.name ?? options.id,\n ...options.sdkOptions,\n };\n}\n\nfunction getAbortSignal<OUTPUT>(options?: SDKAgentRunOptions<OUTPUT>): AbortSignal | undefined {\n return options?.abortSignal ?? options?.signal;\n}\n\nfunction getModelId(options?: OpenAISDKAgentOptions, agent?: OpenAIAgent, rawResponse?: unknown): string {\n return (\n getModelNameFromUnknown(rawResponse) ??\n getModelNameFromUnknown(agent?.model) ??\n getModelNameFromUnknown(options?.sdkOptions?.model) ??\n MODEL_ID\n );\n}\n\nfunction getModelNameFromUnknown(value: unknown): string | undefined {\n if (typeof value === 'string') {\n return value;\n }\n\n const record = toRecord(value);\n return (\n getString(record, 'model') ??\n getString(record, 'modelId') ??\n getString(record, 'modelName') ??\n getString(toRecord(record?.providerData), 'model')\n );\n}\n\nfunction getTextFromFinalOutput(output: unknown): string {\n if (typeof output === 'string') {\n return output;\n }\n if (output === undefined || output === null) {\n return '';\n }\n\n return JSON.stringify(output);\n}\n\nfunction createOpenAIUsageTotals(usage: unknown): OpenAIUsageTotals {\n const record = toRecord(usage);\n if (!record) {\n return {};\n }\n\n const inputDetails = getDetailRecords(record.inputTokensDetails);\n const outputDetails = getDetailRecords(record.outputTokensDetails);\n const requestUsageEntries = Array.isArray(record.requestUsageEntries) ? record.requestUsageEntries : undefined;\n\n return {\n inputTokens: getNumber(record.inputTokens),\n outputTokens: getNumber(record.outputTokens),\n cacheReadInputTokens: sumDetails(inputDetails, 'cachedTokens', 'cached_tokens', 'cacheReadInputTokens'),\n cacheCreationInputTokens: sumDetails(inputDetails, 'cacheCreationInputTokens', 'cache_creation_input_tokens'),\n reasoningTokens: sumDetails(outputDetails, 'reasoningTokens', 'reasoning_tokens'),\n requests: getNumber(record.requests),\n requestUsageEntries,\n };\n}\n\nfunction getDetailRecords(value: unknown): Array<Record<string, unknown>> {\n if (Array.isArray(value)) {\n return value.filter(isRecord);\n }\n\n const record = toRecord(value);\n return record ? [record] : [];\n}\n\nfunction sumDetails(records: Array<Record<string, unknown>>, ...keys: string[]): number | undefined {\n let total = 0;\n let found = false;\n\n for (const record of records) {\n for (const key of keys) {\n const value = getNumber(record[key]);\n if (value !== undefined) {\n total += value;\n found = true;\n }\n }\n }\n\n return found ? total : undefined;\n}\n\nfunction toV3Usage(usage: OpenAIUsageTotals): V3Usage {\n const totalInputTokens = usage.inputTokens;\n const cacheRead = usage.cacheReadInputTokens;\n const cacheWrite = usage.cacheCreationInputTokens;\n const noCache =\n totalInputTokens === undefined\n ? undefined\n : Math.max(totalInputTokens - (sumDefined(cacheRead, cacheWrite) ?? 0), 0);\n const outputTokens = usage.outputTokens;\n const reasoningTokens = usage.reasoningTokens;\n\n return {\n inputTokens: {\n total: totalInputTokens,\n noCache,\n cacheRead,\n cacheWrite,\n },\n outputTokens: {\n total: outputTokens,\n text: outputTokens,\n reasoning: reasoningTokens,\n },\n };\n}\n\nfunction getOpenAIProviderMetadata({\n modelId,\n responseId,\n lastResponseId,\n rawResponseCount,\n itemCount,\n usage,\n}: {\n modelId: string;\n responseId?: string;\n lastResponseId?: string;\n rawResponseCount: number;\n itemCount: number;\n usage: OpenAIUsageTotals;\n}): ProviderMetadata {\n return createProviderMetadata('openai', {\n model: modelId,\n responseId,\n lastResponseId,\n rawResponseCount,\n itemCount,\n usage,\n });\n}\n\nfunction recordOpenAIToolTelemetry(items: RunItem[], telemetry: OpenAIToolTelemetry): void {\n for (const item of items) {\n if (item.type === 'tool_call_item') {\n const toolCall = getOpenAIToolCall(item.rawItem);\n if (toolCall) {\n telemetry.startToolCall(toolCall);\n }\n continue;\n }\n\n if (item.type === 'tool_call_output_item') {\n const toolOutput = getOpenAIToolOutput(item.rawItem, item.output);\n if (toolOutput) {\n telemetry.endToolCall(toolOutput);\n }\n }\n }\n}\n\nfunction recordOpenAIStreamToolTelemetry(event: RunStreamEvent, telemetry: OpenAIToolTelemetry): void {\n if (event.type !== 'run_item_stream_event') {\n return;\n }\n\n if (event.name === 'tool_called') {\n const toolCall = getOpenAIToolCall(event.item.rawItem);\n if (toolCall) {\n telemetry.startToolCall(toolCall);\n }\n return;\n }\n\n if (event.name === 'tool_output') {\n const toolOutput = getOpenAIToolOutput(event.item.rawItem, getObjectValue(event.item, 'output'));\n if (toolOutput) {\n telemetry.endToolCall(toolOutput);\n }\n }\n}\n\nfunction getOpenAIToolCall(rawItem: unknown): { toolCallId: string; toolName: string; input?: unknown } | undefined {\n const record = toRecord(rawItem);\n if (!record) {\n return undefined;\n }\n\n if (record.type === 'function_call') {\n const toolCallId = getString(record, 'callId') ?? getString(record, 'id');\n const toolName = getNamespacedToolName(record);\n if (!toolCallId || !toolName) {\n return undefined;\n }\n\n return {\n toolCallId,\n toolName,\n input: parseJsonString(record.arguments),\n };\n }\n\n if (record.type === 'hosted_tool_call') {\n const toolCallId = getString(record, 'id') ?? getString(record, 'name');\n const toolName = getString(record, 'name');\n if (!toolCallId || !toolName) {\n return undefined;\n }\n\n return {\n toolCallId,\n toolName,\n input: parseJsonString(record.arguments),\n };\n }\n\n if (record.type === 'shell_call' || record.type === 'apply_patch_call') {\n const toolCallId = getString(record, 'callId');\n if (!toolCallId) {\n return undefined;\n }\n\n return {\n toolCallId,\n toolName: String(record.type),\n input: record.action ?? record.operation,\n };\n }\n\n return undefined;\n}\n\nfunction getOpenAIToolOutput(\n rawItem: unknown,\n fallbackOutput: unknown,\n): { toolCallId: string; output?: unknown; isError?: boolean } | undefined {\n const record = toRecord(rawItem);\n if (!record) {\n return undefined;\n }\n\n const toolCallId = getString(record, 'callId') ?? getString(record, 'id');\n if (!toolCallId) {\n return undefined;\n }\n\n return {\n toolCallId,\n output: record.output ?? fallbackOutput,\n isError: record.status === 'failed' || record.status === 'incomplete',\n };\n}\n\nfunction getNamespacedToolName(record: Record<string, unknown>): string | undefined {\n const name = getString(record, 'name');\n const namespace = getString(record, 'namespace');\n if (!name) {\n return undefined;\n }\n\n return namespace ? `${namespace}.${name}` : name;\n}\n\nfunction getTextDelta(event: RunStreamEvent): string {\n if (event.type !== 'raw_model_stream_event') {\n return '';\n }\n\n const data = toRecord(event.data);\n return data?.type === 'output_text_delta' && typeof data.delta === 'string' ? data.delta : '';\n}\n\nfunction parseJsonString(value: unknown): unknown {\n if (typeof value !== 'string') {\n return value;\n }\n\n try {\n return JSON.parse(value);\n } catch {\n return value;\n }\n}\n\nfunction getNumber(value: unknown): number | undefined {\n return typeof value === 'number' ? value : undefined;\n}\n\nfunction getString(record: Record<string, unknown> | undefined, key: string): string | undefined {\n const value = record?.[key];\n return typeof value === 'string' ? value : undefined;\n}\n\nfunction getObjectValue(value: unknown, key: string): unknown {\n return toRecord(value)?.[key];\n}\n\nfunction toRecord(value: unknown): Record<string, unknown> | undefined {\n return isRecord(value) ? value : undefined;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === 'object';\n}\n"]}
@@ -0,0 +1,47 @@
1
+ import { Agent } from '@mastra/core/agent';
2
+ import type { MessageListInput } from '@mastra/core/agent/message-list';
3
+ import type { Mastra } from '@mastra/core/mastra';
4
+ import type { FullOutput, MastraModelOutput } from '@mastra/core/stream';
5
+ import { Agent as OpenAIAgent } from '@openai/agents';
6
+ import type { AgentOptions as OpenAIAgentOptions } from '@openai/agents';
7
+ import type { SDKAgentRunOptions } from './utils.js';
8
+ type OpenAISDKAgentBaseOptions = {
9
+ /**
10
+ * Mastra agent id used when registering this wrapper with Mastra.
11
+ */
12
+ id: string;
13
+ /**
14
+ * Optional display name for the Mastra agent. Defaults to `id`.
15
+ */
16
+ name?: string;
17
+ /**
18
+ * Description surfaced by Mastra when listing or selecting agents.
19
+ */
20
+ description: string;
21
+ };
22
+ export type OpenAISDKAgentOptions = OpenAISDKAgentBaseOptions & ({
23
+ /**
24
+ * Pre-created OpenAI Agents SDK agent. Pass this when you manage the
25
+ * SDK agent lifecycle yourself.
26
+ */
27
+ agent: OpenAIAgent;
28
+ sdkOptions?: never;
29
+ } | {
30
+ agent?: never;
31
+ /**
32
+ * OpenAI Agents SDK options used to create an SDK agent.
33
+ */
34
+ sdkOptions: OpenAIAgentOptions;
35
+ });
36
+ export declare class OpenAISDKAgent extends Agent {
37
+ #private;
38
+ readonly options: OpenAISDKAgentOptions;
39
+ constructor(options: OpenAISDKAgentOptions);
40
+ __registerMastra(mastra: Mastra): void;
41
+ supportsMemory(): boolean;
42
+ generate<OUTPUT = undefined>(messages: MessageListInput, options?: SDKAgentRunOptions<OUTPUT>): Promise<FullOutput<OUTPUT>>;
43
+ stream<OUTPUT = undefined>(messages: MessageListInput, options?: SDKAgentRunOptions<OUTPUT>): Promise<MastraModelOutput<OUTPUT>>;
44
+ private resolveOpenAIAgent;
45
+ }
46
+ export {};
47
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAa,UAAU,EAAoB,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEtG,OAAO,EAAE,KAAK,IAAI,WAAW,EAAO,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,IAAI,kBAAkB,EAA2B,MAAM,gBAAgB,CAAC;AAclG,OAAO,KAAK,EAAE,kBAAkB,EAAsD,MAAM,SAAS,CAAC;AAiBtG,KAAK,yBAAyB,GAAG;IAC/B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,yBAAyB,GAC3D,CACI;IACE;;;OAGG;IACH,KAAK,EAAE,WAAW,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB,GACD;IACE,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;OAEG;IACH,UAAU,EAAE,kBAAkB,CAAC;CAChC,CACJ,CAAC;AAEJ,qBAAa,cAAe,SAAQ,KAAK;;IACvC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;gBAI5B,OAAO,EAAE,qBAAqB;IAcjC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK/C,cAAc,IAAI,OAAO;IAInB,QAAQ,CAAC,MAAM,GAAG,SAAS,EAC/B,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,GACnC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IA6CxB,MAAM,CAAC,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,GACnC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAqCrC,OAAO,CAAC,kBAAkB;CAI3B"}