UNPKG

mastra-browser-core

Version:

The core foundation of the Mastra framework, providing essential components and interfaces for building AI-powered applications.

1 lines 104 kB
{"version":3,"sources":["../src/llm/model/base.ts","../src/llm/model/model.ts","../src/agent/index.ts"],"names":["__privateSet","__name","_mastra","__privateAdd","_model","__privateGet","createMastraProxy","makeCoreTool","delay","z","jsonSchema","generateText","Output","generateObject","streamText","streamObject","messages","chatMessages","InstrumentClass","MastraBase","RegisteredLogger","__publicField","ensureToolProperties","threadId","memoryConfig","runId","executeHook","result"],"mappings":"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","file":"chunk-JO77SZ6N.cjs","sourcesContent":["import type {\n CoreMessage,\n DeepPartial,\n GenerateObjectResult,\n GenerateTextResult,\n LanguageModel,\n StreamObjectResult,\n StreamTextResult,\n} from 'ai';\nimport type { JSONSchema7 } from 'json-schema';\nimport type { ZodSchema } from 'zod';\n\nimport type {\n GenerateReturn,\n LLMInnerStreamOptions,\n LLMStreamObjectOptions,\n LLMStreamOptions,\n LLMTextObjectOptions,\n LLMTextOptions,\n StreamReturn,\n} from '../';\nimport type { MastraPrimitives } from '../../action';\nimport { MastraBase } from '../../base';\nimport { RegisteredLogger } from '../../logger';\nimport type { Mastra } from '../../mastra';\n\nexport class MastraLLMBase extends MastraBase {\n // @ts-ignore\n #mastra?: MastraPrimitives;\n #model: LanguageModel;\n\n constructor({ name, model }: { name: string; model: LanguageModel }) {\n super({\n component: RegisteredLogger.LLM,\n name,\n });\n\n this.#model = model;\n }\n\n getProvider() {\n return this.#model.provider;\n }\n\n getModelId() {\n return this.#model.modelId;\n }\n\n getModel() {\n return this.#model;\n }\n\n convertToMessages(messages: string | string[] | CoreMessage[]): CoreMessage[] {\n if (Array.isArray(messages)) {\n return messages.map(m => {\n if (typeof m === 'string') {\n return {\n role: 'user',\n content: m,\n };\n }\n return m;\n });\n }\n\n return [\n {\n role: 'user',\n content: messages,\n },\n ];\n }\n\n __registerPrimitives(p: MastraPrimitives) {\n if (p.telemetry) {\n this.__setTelemetry(p.telemetry);\n }\n\n if (p.logger) {\n this.__setLogger(p.logger);\n }\n }\n\n __registerMastra(p: Mastra) {\n this.#mastra = p;\n }\n\n async __text<Z extends ZodSchema | JSONSchema7 | undefined>(\n input: LLMTextOptions<Z>,\n ): Promise<GenerateTextResult<any, any>> {\n this.logger.debug(`[LLMs:${this.name}] Generating text.`, { input });\n throw new Error('Method not implemented.');\n }\n\n async __textObject<T extends ZodSchema | JSONSchema7 | undefined>(\n input: LLMTextObjectOptions<T>,\n ): Promise<GenerateObjectResult<T>> {\n this.logger.debug(`[LLMs:${this.name}] Generating object.`, { input });\n throw new Error('Method not implemented.');\n }\n\n async generate<Z extends ZodSchema | JSONSchema7 | undefined = undefined>(\n messages: string | string[] | CoreMessage[],\n options: LLMStreamOptions<Z> = {},\n ): Promise<GenerateReturn<Z>> {\n this.logger.debug(`[LLMs:${this.name}] Generating text.`, { messages, options });\n throw new Error('Method not implemented.');\n }\n\n async __stream<Z extends ZodSchema | JSONSchema7 | undefined = undefined>(\n input: LLMInnerStreamOptions<Z>,\n ): Promise<StreamTextResult<any, any>> {\n this.logger.debug(`[LLMs:${this.name}] Streaming text.`, { input });\n throw new Error('Method not implemented.');\n }\n\n async __streamObject<T extends ZodSchema | JSONSchema7 | undefined>(\n input: LLMStreamObjectOptions<T>,\n ): Promise<StreamObjectResult<DeepPartial<T>, T, never>> {\n this.logger.debug(`[LLMs:${this.name}] Streaming object.`, { input });\n throw new Error('Method not implemented.');\n }\n\n async stream<Z extends ZodSchema | JSONSchema7 | undefined = undefined>(\n messages: string | string[] | CoreMessage[],\n options: LLMStreamOptions<Z> = {},\n ): Promise<StreamReturn<Z>> {\n this.logger.debug(`[LLMs:${this.name}] Streaming text.`, { messages, options });\n throw new Error('Method not implemented.');\n }\n}\n","import type { CoreMessage, CoreToolMessage, LanguageModel, Schema, ToolInvocation, ToolResultPart } from 'ai';\nimport { generateObject, generateText, jsonSchema, Output, streamObject, streamText } from 'ai';\nimport type { JSONSchema7 } from 'json-schema';\nimport type { ZodSchema } from 'zod';\nimport { z } from 'zod';\n\nimport type {\n GenerateReturn,\n LLMInnerStreamOptions,\n LLMStreamObjectOptions,\n LLMStreamOptions,\n LLMTextObjectOptions,\n LLMTextOptions,\n StreamReturn,\n} from '../';\nimport type { MastraPrimitives } from '../../action';\nimport type { AiMessageType, ToolsInput } from '../../agent/types';\nimport type { Mastra } from '../../mastra';\nimport type { MessageType } from '../../memory';\nimport type { MastraMemory } from '../../memory/memory';\nimport type { CoreTool } from '../../tools';\nimport { createMastraProxy, delay, makeCoreTool } from '../../utils';\n\nimport { MastraLLMBase } from './base';\n\nexport class MastraLLM extends MastraLLMBase {\n #model: LanguageModel;\n #mastra?: Mastra;\n\n constructor({ model, mastra }: { model: LanguageModel; mastra?: Mastra }) {\n super({ name: 'aisdk', model });\n\n this.#model = model;\n\n if (mastra) {\n this.#mastra = mastra;\n if (mastra.getLogger()) {\n this.__setLogger(mastra.getLogger());\n }\n }\n }\n\n __registerPrimitives(p: MastraPrimitives) {\n if (p.telemetry) {\n this.__setTelemetry(p.telemetry);\n }\n\n if (p.logger) {\n this.__setLogger(p.logger);\n }\n }\n\n __registerMastra(p: Mastra) {\n this.#mastra = p;\n }\n\n getProvider() {\n return this.#model.provider;\n }\n\n getModelId() {\n return this.#model.modelId;\n }\n\n getModel() {\n return this.#model;\n }\n\n convertTools({\n tools,\n runId,\n threadId,\n resourceId,\n memory,\n }: {\n tools?: ToolsInput;\n runId?: string;\n threadId?: string;\n resourceId?: string;\n memory?: MastraMemory;\n } = {}): Record<string, CoreTool> {\n this.logger.debug('Starting tool conversion for LLM');\n\n let mastraProxy = undefined;\n const logger = this.logger;\n if (this.#mastra) {\n mastraProxy = createMastraProxy({ mastra: this.#mastra, logger });\n }\n\n const converted = Object.entries(tools || {}).reduce(\n (memo, value) => {\n const k = value[0] as string;\n const tool = value[1];\n\n if (tool) {\n const options = {\n name: k,\n runId,\n threadId,\n resourceId,\n logger: this.logger,\n memory,\n mastra: mastraProxy,\n };\n memo[k] = makeCoreTool(tool, options);\n }\n return memo;\n },\n {} as Record<string, CoreTool>,\n );\n\n this.logger.debug(`Converted tools for LLM`);\n\n return converted;\n }\n\n async __text<Z extends ZodSchema | JSONSchema7 | undefined>({\n runId,\n messages,\n maxSteps,\n tools,\n convertedTools,\n temperature,\n toolChoice = 'auto',\n onStepFinish,\n experimental_output,\n telemetry,\n threadId,\n resourceId,\n memory,\n ...rest\n }: LLMTextOptions<Z> & { memory?: MastraMemory }) {\n const model = this.#model;\n\n this.logger.debug(`[LLM] - Generating text`, {\n runId,\n messages,\n maxSteps,\n threadId,\n resourceId,\n tools: Object.keys(tools || convertedTools || {}),\n });\n\n const finalTools = convertedTools || this.convertTools({ tools, runId, threadId, resourceId, memory });\n\n const argsForExecute = {\n model,\n temperature,\n tools: {\n ...finalTools,\n },\n toolChoice,\n maxSteps,\n onStepFinish: async (props: any) => {