@elizaos/plugin-mcp 2.0.0-alpha.3 → 2.0.0-alpha.4

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.
@@ -231,7 +231,7 @@ function detectModelProvider(runtime) {
231
231
  let isReasoningModel = false;
232
232
  if (modelId.includes("openai") || modelId.includes("gpt-") || modelId.includes("o1-") || modelId.includes("o3-")) {
233
233
  provider2 = "openai";
234
- supportsStructuredOutputs = modelId.includes("gpt-4") || modelId.includes("o1") || modelId.includes("o3");
234
+ supportsStructuredOutputs = modelId.includes("gpt-5") || modelId.includes("o1") || modelId.includes("o3");
235
235
  isReasoningModel = modelId.includes("o1") || modelId.includes("o3");
236
236
  } else if (modelId.includes("anthropic") || modelId.includes("claude")) {
237
237
  provider2 = "anthropic";
@@ -2067,4 +2067,4 @@ var mcpPlugin = {
2067
2067
  };
2068
2068
  var src_default = mcpPlugin;
2069
2069
 
2070
- //# debugId=67D36987F069B88A64756E2164756E21
2070
+ //# debugId=421C8829AD67B35564756E2164756E21
@@ -2,7 +2,7 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/tool-compatibility/base.ts", "../../src/tool-compatibility/providers/openai.ts", "../../src/tool-compatibility/providers/anthropic.ts", "../../src/tool-compatibility/providers/google.ts", "../../src/index.ts", "../../src/types.ts", "../../src/utils/error.ts", "../../src/generated/prompts/typescript/prompts.ts", "../../src/templates/errorAnalysisPrompt.ts", "../../src/utils/handler.ts", "../../src/utils/processing.ts", "../../src/utils/mcp.ts", "../../src/utils/selection.ts", "../../src/utils/json.ts", "../../src/utils/schemas.ts", "../../src/utils/validation.ts", "../../src/utils/wrapper.ts", "../../src/actions/callToolAction.ts", "../../src/actions/readResourceAction.ts", "../../src/provider.ts", "../../src/service.ts", "../../src/tool-compatibility/index.ts"],
4
4
  "sourcesContent": [
5
- "import type { IAgentRuntime } from \"@elizaos/core\";\nimport type { JSONSchema7 } from \"json-schema\";\n\nexport interface StringConstraints {\n minLength?: number;\n maxLength?: number;\n pattern?: string;\n format?: string;\n enum?: readonly string[];\n}\n\nexport interface NumberConstraints {\n minimum?: number;\n maximum?: number;\n exclusiveMinimum?: number;\n exclusiveMaximum?: number;\n multipleOf?: number;\n}\n\nexport interface ArrayConstraints {\n minItems?: number;\n maxItems?: number;\n uniqueItems?: boolean;\n}\n\nexport interface ObjectConstraints {\n minProperties?: number;\n maxProperties?: number;\n additionalProperties?: boolean;\n}\n\nexport type SchemaConstraints =\n | StringConstraints\n | NumberConstraints\n | ArrayConstraints\n | ObjectConstraints;\n\n// Model provider detection\nexport type ModelProvider = \"openai\" | \"anthropic\" | \"google\" | \"openrouter\";\n\nexport interface ModelInfo {\n readonly provider: ModelProvider;\n readonly modelId: string;\n readonly supportsStructuredOutputs?: boolean;\n readonly isReasoningModel?: boolean;\n}\n\nexport abstract class McpToolCompatibility {\n protected readonly modelInfo: ModelInfo;\n\n constructor(modelInfo: ModelInfo) {\n this.modelInfo = modelInfo;\n }\n\n abstract shouldApply(): boolean;\n\n public transformToolSchema(toolSchema: JSONSchema7): JSONSchema7 {\n if (!this.shouldApply()) {\n return toolSchema;\n }\n\n return this.processSchema(toolSchema);\n }\n\n protected processSchema(schema: JSONSchema7): JSONSchema7 {\n const processed = { ...schema };\n\n switch (processed.type) {\n case \"string\":\n return this.processStringSchema(processed);\n case \"number\":\n case \"integer\":\n return this.processNumberSchema(processed);\n case \"array\":\n return this.processArraySchema(processed);\n case \"object\":\n return this.processObjectSchema(processed);\n default:\n return this.processGenericSchema(processed);\n }\n }\n\n protected processStringSchema(schema: JSONSchema7): JSONSchema7 {\n const constraints: StringConstraints = {};\n const processed: Record<string, unknown> = { ...schema };\n\n if (typeof schema.minLength === \"number\") {\n constraints.minLength = schema.minLength;\n }\n if (typeof schema.maxLength === \"number\") {\n constraints.maxLength = schema.maxLength;\n }\n if (typeof schema.pattern === \"string\") {\n constraints.pattern = schema.pattern;\n }\n if (typeof schema.format === \"string\") {\n constraints.format = schema.format;\n }\n if (Array.isArray(schema.enum)) {\n constraints.enum = schema.enum as string[];\n }\n\n const unsupportedProps = this.getUnsupportedStringProperties();\n for (const prop of unsupportedProps) {\n if (prop in processed) {\n delete processed[prop];\n }\n }\n\n if (Object.keys(constraints).length > 0) {\n processed.description = this.mergeDescription(schema.description, constraints);\n }\n\n return processed as JSONSchema7;\n }\n\n protected processNumberSchema(schema: JSONSchema7): JSONSchema7 {\n const constraints: NumberConstraints = {};\n const processed: Record<string, unknown> = { ...schema };\n\n if (typeof schema.minimum === \"number\") {\n constraints.minimum = schema.minimum;\n }\n if (typeof schema.maximum === \"number\") {\n constraints.maximum = schema.maximum;\n }\n if (typeof schema.exclusiveMinimum === \"number\") {\n constraints.exclusiveMinimum = schema.exclusiveMinimum;\n }\n if (typeof schema.exclusiveMaximum === \"number\") {\n constraints.exclusiveMaximum = schema.exclusiveMaximum;\n }\n if (typeof schema.multipleOf === \"number\") {\n constraints.multipleOf = schema.multipleOf;\n }\n\n const unsupportedProps = this.getUnsupportedNumberProperties();\n for (const prop of unsupportedProps) {\n if (prop in processed) {\n delete processed[prop];\n }\n }\n\n if (Object.keys(constraints).length > 0) {\n processed.description = this.mergeDescription(schema.description, constraints);\n }\n\n return processed as JSONSchema7;\n }\n\n protected processArraySchema(schema: JSONSchema7): JSONSchema7 {\n const constraints: ArrayConstraints = {};\n const processed: Record<string, unknown> = { ...schema };\n\n if (typeof schema.minItems === \"number\") {\n constraints.minItems = schema.minItems;\n }\n if (typeof schema.maxItems === \"number\") {\n constraints.maxItems = schema.maxItems;\n }\n if (typeof schema.uniqueItems === \"boolean\") {\n constraints.uniqueItems = schema.uniqueItems;\n }\n\n if (schema.items && typeof schema.items === \"object\" && !Array.isArray(schema.items)) {\n processed.items = this.processSchema(schema.items as JSONSchema7);\n }\n\n const unsupportedProps = this.getUnsupportedArrayProperties();\n for (const prop of unsupportedProps) {\n if (prop in processed) {\n delete processed[prop];\n }\n }\n\n if (Object.keys(constraints).length > 0) {\n processed.description = this.mergeDescription(schema.description, constraints);\n }\n\n return processed as JSONSchema7;\n }\n\n protected processObjectSchema(schema: JSONSchema7): JSONSchema7 {\n const constraints: ObjectConstraints = {};\n const processed: Record<string, unknown> = { ...schema };\n\n if (typeof schema.minProperties === \"number\") {\n constraints.minProperties = schema.minProperties;\n }\n if (typeof schema.maxProperties === \"number\") {\n constraints.maxProperties = schema.maxProperties;\n }\n if (typeof schema.additionalProperties === \"boolean\") {\n constraints.additionalProperties = schema.additionalProperties;\n }\n\n if (schema.properties && typeof schema.properties === \"object\") {\n const newProperties: Record<string, JSONSchema7> = {};\n for (const [key, prop] of Object.entries(schema.properties)) {\n if (typeof prop === \"object\" && !Array.isArray(prop)) {\n newProperties[key] = this.processSchema(prop as JSONSchema7);\n } else {\n newProperties[key] = prop as JSONSchema7;\n }\n }\n processed.properties = newProperties;\n }\n\n const unsupportedProps = this.getUnsupportedObjectProperties();\n for (const prop of unsupportedProps) {\n if (prop in processed) {\n delete processed[prop];\n }\n }\n\n if (Object.keys(constraints).length > 0) {\n processed.description = this.mergeDescription(schema.description, constraints);\n }\n\n return processed as JSONSchema7;\n }\n\n protected processGenericSchema(schema: JSONSchema7): JSONSchema7 {\n const processed: Record<string, unknown> = { ...schema };\n\n if (Array.isArray(schema.oneOf)) {\n processed.oneOf = schema.oneOf.map((s) =>\n typeof s === \"object\" ? this.processSchema(s as JSONSchema7) : s\n );\n }\n if (Array.isArray(schema.anyOf)) {\n processed.anyOf = schema.anyOf.map((s) =>\n typeof s === \"object\" ? this.processSchema(s as JSONSchema7) : s\n );\n }\n if (Array.isArray(schema.allOf)) {\n processed.allOf = schema.allOf.map((s) =>\n typeof s === \"object\" ? this.processSchema(s as JSONSchema7) : s\n );\n }\n\n return processed as JSONSchema7;\n }\n\n protected mergeDescription(\n originalDescription: string | undefined,\n constraints: SchemaConstraints\n ): string {\n const constraintJson = JSON.stringify(constraints);\n if (originalDescription) {\n return `${originalDescription}\\n${constraintJson}`;\n }\n return constraintJson;\n }\n\n protected abstract getUnsupportedStringProperties(): readonly string[];\n protected abstract getUnsupportedNumberProperties(): readonly string[];\n protected abstract getUnsupportedArrayProperties(): readonly string[];\n protected abstract getUnsupportedObjectProperties(): readonly string[];\n}\n\ninterface RuntimeWithModel extends IAgentRuntime {\n modelProvider?: string;\n model?: string;\n}\n\nfunction hasModelInfo(runtime: IAgentRuntime): runtime is RuntimeWithModel {\n return (\n typeof runtime === \"object\" &&\n runtime !== null &&\n (\"modelProvider\" in runtime || \"model\" in runtime)\n );\n}\n\nfunction getModelString(runtime: IAgentRuntime): string {\n if (hasModelInfo(runtime)) {\n return runtime.modelProvider ?? runtime.model ?? \"\";\n }\n if (\n runtime.character &&\n typeof runtime.character === \"object\" &&\n \"settings\" in runtime.character &&\n runtime.character.settings &&\n typeof runtime.character.settings === \"object\"\n ) {\n const settings = runtime.character.settings as Record<string, unknown>;\n const modelProvider = settings.MODEL_PROVIDER ?? settings.modelProvider;\n const model = settings.MODEL ?? settings.model;\n return String(modelProvider ?? model ?? \"\");\n }\n return \"\";\n}\n\nexport function detectModelProvider(runtime: IAgentRuntime): ModelInfo {\n const modelString = getModelString(runtime);\n const modelId = String(modelString).toLowerCase();\n\n let provider: ModelProvider = \"openrouter\";\n let supportsStructuredOutputs = false;\n let isReasoningModel = false;\n\n if (\n modelId.includes(\"openai\") ||\n modelId.includes(\"gpt-\") ||\n modelId.includes(\"o1-\") ||\n modelId.includes(\"o3-\")\n ) {\n provider = \"openai\";\n supportsStructuredOutputs =\n modelId.includes(\"gpt-4\") || modelId.includes(\"o1\") || modelId.includes(\"o3\");\n isReasoningModel = modelId.includes(\"o1\") || modelId.includes(\"o3\");\n } else if (modelId.includes(\"anthropic\") || modelId.includes(\"claude\")) {\n provider = \"anthropic\";\n supportsStructuredOutputs = true;\n } else if (modelId.includes(\"google\") || modelId.includes(\"gemini\")) {\n provider = \"google\";\n supportsStructuredOutputs = true;\n } else if (modelId.includes(\"openrouter\")) {\n provider = \"openrouter\";\n supportsStructuredOutputs = false;\n }\n\n return {\n provider,\n modelId,\n supportsStructuredOutputs,\n isReasoningModel,\n };\n}\n",
5
+ "import type { IAgentRuntime } from \"@elizaos/core\";\nimport type { JSONSchema7 } from \"json-schema\";\n\nexport interface StringConstraints {\n minLength?: number;\n maxLength?: number;\n pattern?: string;\n format?: string;\n enum?: readonly string[];\n}\n\nexport interface NumberConstraints {\n minimum?: number;\n maximum?: number;\n exclusiveMinimum?: number;\n exclusiveMaximum?: number;\n multipleOf?: number;\n}\n\nexport interface ArrayConstraints {\n minItems?: number;\n maxItems?: number;\n uniqueItems?: boolean;\n}\n\nexport interface ObjectConstraints {\n minProperties?: number;\n maxProperties?: number;\n additionalProperties?: boolean;\n}\n\nexport type SchemaConstraints =\n | StringConstraints\n | NumberConstraints\n | ArrayConstraints\n | ObjectConstraints;\n\n// Model provider detection\nexport type ModelProvider = \"openai\" | \"anthropic\" | \"google\" | \"openrouter\";\n\nexport interface ModelInfo {\n readonly provider: ModelProvider;\n readonly modelId: string;\n readonly supportsStructuredOutputs?: boolean;\n readonly isReasoningModel?: boolean;\n}\n\nexport abstract class McpToolCompatibility {\n protected readonly modelInfo: ModelInfo;\n\n constructor(modelInfo: ModelInfo) {\n this.modelInfo = modelInfo;\n }\n\n abstract shouldApply(): boolean;\n\n public transformToolSchema(toolSchema: JSONSchema7): JSONSchema7 {\n if (!this.shouldApply()) {\n return toolSchema;\n }\n\n return this.processSchema(toolSchema);\n }\n\n protected processSchema(schema: JSONSchema7): JSONSchema7 {\n const processed = { ...schema };\n\n switch (processed.type) {\n case \"string\":\n return this.processStringSchema(processed);\n case \"number\":\n case \"integer\":\n return this.processNumberSchema(processed);\n case \"array\":\n return this.processArraySchema(processed);\n case \"object\":\n return this.processObjectSchema(processed);\n default:\n return this.processGenericSchema(processed);\n }\n }\n\n protected processStringSchema(schema: JSONSchema7): JSONSchema7 {\n const constraints: StringConstraints = {};\n const processed: Record<string, unknown> = { ...schema };\n\n if (typeof schema.minLength === \"number\") {\n constraints.minLength = schema.minLength;\n }\n if (typeof schema.maxLength === \"number\") {\n constraints.maxLength = schema.maxLength;\n }\n if (typeof schema.pattern === \"string\") {\n constraints.pattern = schema.pattern;\n }\n if (typeof schema.format === \"string\") {\n constraints.format = schema.format;\n }\n if (Array.isArray(schema.enum)) {\n constraints.enum = schema.enum as string[];\n }\n\n const unsupportedProps = this.getUnsupportedStringProperties();\n for (const prop of unsupportedProps) {\n if (prop in processed) {\n delete processed[prop];\n }\n }\n\n if (Object.keys(constraints).length > 0) {\n processed.description = this.mergeDescription(schema.description, constraints);\n }\n\n return processed as JSONSchema7;\n }\n\n protected processNumberSchema(schema: JSONSchema7): JSONSchema7 {\n const constraints: NumberConstraints = {};\n const processed: Record<string, unknown> = { ...schema };\n\n if (typeof schema.minimum === \"number\") {\n constraints.minimum = schema.minimum;\n }\n if (typeof schema.maximum === \"number\") {\n constraints.maximum = schema.maximum;\n }\n if (typeof schema.exclusiveMinimum === \"number\") {\n constraints.exclusiveMinimum = schema.exclusiveMinimum;\n }\n if (typeof schema.exclusiveMaximum === \"number\") {\n constraints.exclusiveMaximum = schema.exclusiveMaximum;\n }\n if (typeof schema.multipleOf === \"number\") {\n constraints.multipleOf = schema.multipleOf;\n }\n\n const unsupportedProps = this.getUnsupportedNumberProperties();\n for (const prop of unsupportedProps) {\n if (prop in processed) {\n delete processed[prop];\n }\n }\n\n if (Object.keys(constraints).length > 0) {\n processed.description = this.mergeDescription(schema.description, constraints);\n }\n\n return processed as JSONSchema7;\n }\n\n protected processArraySchema(schema: JSONSchema7): JSONSchema7 {\n const constraints: ArrayConstraints = {};\n const processed: Record<string, unknown> = { ...schema };\n\n if (typeof schema.minItems === \"number\") {\n constraints.minItems = schema.minItems;\n }\n if (typeof schema.maxItems === \"number\") {\n constraints.maxItems = schema.maxItems;\n }\n if (typeof schema.uniqueItems === \"boolean\") {\n constraints.uniqueItems = schema.uniqueItems;\n }\n\n if (schema.items && typeof schema.items === \"object\" && !Array.isArray(schema.items)) {\n processed.items = this.processSchema(schema.items as JSONSchema7);\n }\n\n const unsupportedProps = this.getUnsupportedArrayProperties();\n for (const prop of unsupportedProps) {\n if (prop in processed) {\n delete processed[prop];\n }\n }\n\n if (Object.keys(constraints).length > 0) {\n processed.description = this.mergeDescription(schema.description, constraints);\n }\n\n return processed as JSONSchema7;\n }\n\n protected processObjectSchema(schema: JSONSchema7): JSONSchema7 {\n const constraints: ObjectConstraints = {};\n const processed: Record<string, unknown> = { ...schema };\n\n if (typeof schema.minProperties === \"number\") {\n constraints.minProperties = schema.minProperties;\n }\n if (typeof schema.maxProperties === \"number\") {\n constraints.maxProperties = schema.maxProperties;\n }\n if (typeof schema.additionalProperties === \"boolean\") {\n constraints.additionalProperties = schema.additionalProperties;\n }\n\n if (schema.properties && typeof schema.properties === \"object\") {\n const newProperties: Record<string, JSONSchema7> = {};\n for (const [key, prop] of Object.entries(schema.properties)) {\n if (typeof prop === \"object\" && !Array.isArray(prop)) {\n newProperties[key] = this.processSchema(prop as JSONSchema7);\n } else {\n newProperties[key] = prop as JSONSchema7;\n }\n }\n processed.properties = newProperties;\n }\n\n const unsupportedProps = this.getUnsupportedObjectProperties();\n for (const prop of unsupportedProps) {\n if (prop in processed) {\n delete processed[prop];\n }\n }\n\n if (Object.keys(constraints).length > 0) {\n processed.description = this.mergeDescription(schema.description, constraints);\n }\n\n return processed as JSONSchema7;\n }\n\n protected processGenericSchema(schema: JSONSchema7): JSONSchema7 {\n const processed: Record<string, unknown> = { ...schema };\n\n if (Array.isArray(schema.oneOf)) {\n processed.oneOf = schema.oneOf.map((s) =>\n typeof s === \"object\" ? this.processSchema(s as JSONSchema7) : s\n );\n }\n if (Array.isArray(schema.anyOf)) {\n processed.anyOf = schema.anyOf.map((s) =>\n typeof s === \"object\" ? this.processSchema(s as JSONSchema7) : s\n );\n }\n if (Array.isArray(schema.allOf)) {\n processed.allOf = schema.allOf.map((s) =>\n typeof s === \"object\" ? this.processSchema(s as JSONSchema7) : s\n );\n }\n\n return processed as JSONSchema7;\n }\n\n protected mergeDescription(\n originalDescription: string | undefined,\n constraints: SchemaConstraints\n ): string {\n const constraintJson = JSON.stringify(constraints);\n if (originalDescription) {\n return `${originalDescription}\\n${constraintJson}`;\n }\n return constraintJson;\n }\n\n protected abstract getUnsupportedStringProperties(): readonly string[];\n protected abstract getUnsupportedNumberProperties(): readonly string[];\n protected abstract getUnsupportedArrayProperties(): readonly string[];\n protected abstract getUnsupportedObjectProperties(): readonly string[];\n}\n\ninterface RuntimeWithModel extends IAgentRuntime {\n modelProvider?: string;\n model?: string;\n}\n\nfunction hasModelInfo(runtime: IAgentRuntime): runtime is RuntimeWithModel {\n return (\n typeof runtime === \"object\" &&\n runtime !== null &&\n (\"modelProvider\" in runtime || \"model\" in runtime)\n );\n}\n\nfunction getModelString(runtime: IAgentRuntime): string {\n if (hasModelInfo(runtime)) {\n return runtime.modelProvider ?? runtime.model ?? \"\";\n }\n if (\n runtime.character &&\n typeof runtime.character === \"object\" &&\n \"settings\" in runtime.character &&\n runtime.character.settings &&\n typeof runtime.character.settings === \"object\"\n ) {\n const settings = runtime.character.settings as Record<string, unknown>;\n const modelProvider = settings.MODEL_PROVIDER ?? settings.modelProvider;\n const model = settings.MODEL ?? settings.model;\n return String(modelProvider ?? model ?? \"\");\n }\n return \"\";\n}\n\nexport function detectModelProvider(runtime: IAgentRuntime): ModelInfo {\n const modelString = getModelString(runtime);\n const modelId = String(modelString).toLowerCase();\n\n let provider: ModelProvider = \"openrouter\";\n let supportsStructuredOutputs = false;\n let isReasoningModel = false;\n\n if (\n modelId.includes(\"openai\") ||\n modelId.includes(\"gpt-\") ||\n modelId.includes(\"o1-\") ||\n modelId.includes(\"o3-\")\n ) {\n provider = \"openai\";\n supportsStructuredOutputs =\n modelId.includes(\"gpt-5\") || modelId.includes(\"o1\") || modelId.includes(\"o3\");\n isReasoningModel = modelId.includes(\"o1\") || modelId.includes(\"o3\");\n } else if (modelId.includes(\"anthropic\") || modelId.includes(\"claude\")) {\n provider = \"anthropic\";\n supportsStructuredOutputs = true;\n } else if (modelId.includes(\"google\") || modelId.includes(\"gemini\")) {\n provider = \"google\";\n supportsStructuredOutputs = true;\n } else if (modelId.includes(\"openrouter\")) {\n provider = \"openrouter\";\n supportsStructuredOutputs = false;\n }\n\n return {\n provider,\n modelId,\n supportsStructuredOutputs,\n isReasoningModel,\n };\n}\n",
6
6
  "import { McpToolCompatibility, type SchemaConstraints } from \"../base\";\n\ninterface OpenAIConstraints {\n minLength?: number;\n maxLength?: number;\n minimum?: number;\n maximum?: number;\n format?: string;\n pattern?: string;\n enum?: readonly string[];\n minItems?: number;\n maxItems?: number;\n}\n\nexport class OpenAIMcpCompatibility extends McpToolCompatibility {\n shouldApply(): boolean {\n return (\n this.modelInfo.provider === \"openai\" &&\n (!this.modelInfo.supportsStructuredOutputs || this.modelInfo.isReasoningModel === true)\n );\n }\n\n protected getUnsupportedStringProperties(): readonly string[] {\n const baseUnsupported = [\"format\"];\n\n if (this.modelInfo.isReasoningModel === true) {\n return [...baseUnsupported, \"pattern\"];\n }\n\n if (this.modelInfo.modelId.includes(\"gpt-3.5\") || this.modelInfo.modelId.includes(\"davinci\")) {\n return [...baseUnsupported, \"pattern\"];\n }\n\n return baseUnsupported;\n }\n\n protected getUnsupportedNumberProperties(): readonly string[] {\n if (this.modelInfo.isReasoningModel === true) {\n return [\"exclusiveMinimum\", \"exclusiveMaximum\", \"multipleOf\"];\n }\n return [];\n }\n\n protected getUnsupportedArrayProperties(): readonly string[] {\n if (this.modelInfo.isReasoningModel === true) {\n return [\"uniqueItems\"];\n }\n return [];\n }\n\n protected getUnsupportedObjectProperties(): readonly string[] {\n return [\"minProperties\", \"maxProperties\"];\n }\n}\n\nexport class OpenAIReasoningMcpCompatibility extends McpToolCompatibility {\n shouldApply(): boolean {\n return this.modelInfo.provider === \"openai\" && this.modelInfo.isReasoningModel === true;\n }\n\n protected getUnsupportedStringProperties(): readonly string[] {\n return [\"format\", \"pattern\", \"minLength\", \"maxLength\"];\n }\n\n protected getUnsupportedNumberProperties(): readonly string[] {\n return [\"exclusiveMinimum\", \"exclusiveMaximum\", \"multipleOf\"];\n }\n\n protected getUnsupportedArrayProperties(): readonly string[] {\n return [\"uniqueItems\", \"minItems\", \"maxItems\"];\n }\n\n protected getUnsupportedObjectProperties(): readonly string[] {\n return [\"minProperties\", \"maxProperties\", \"additionalProperties\"];\n }\n\n protected mergeDescription(\n originalDescription: string | undefined,\n constraints: SchemaConstraints\n ): string {\n const constraintText = this.formatConstraintsForReasoningModel(\n constraints as OpenAIConstraints\n );\n if (originalDescription) {\n return `${originalDescription}\\n\\nIMPORTANT: ${constraintText}`;\n }\n return `IMPORTANT: ${constraintText}`;\n }\n\n private formatConstraintsForReasoningModel(constraints: OpenAIConstraints): string {\n const rules: string[] = [];\n\n if (constraints.minLength) {\n rules.push(`minimum ${constraints.minLength} characters`);\n }\n if (constraints.maxLength) {\n rules.push(`maximum ${constraints.maxLength} characters`);\n }\n if (constraints.minimum !== undefined) {\n rules.push(`must be >= ${constraints.minimum}`);\n }\n if (constraints.maximum !== undefined) {\n rules.push(`must be <= ${constraints.maximum}`);\n }\n if (constraints.format === \"email\") {\n rules.push(`must be a valid email address`);\n }\n if (constraints.format === \"uri\" || constraints.format === \"url\") {\n rules.push(`must be a valid URL`);\n }\n if (constraints.format === \"uuid\") {\n rules.push(`must be a valid UUID`);\n }\n if (constraints.pattern) {\n rules.push(`must match pattern: ${constraints.pattern}`);\n }\n if (constraints.enum) {\n rules.push(`must be one of: ${constraints.enum.join(\", \")}`);\n }\n if (constraints.minItems) {\n rules.push(`array must have at least ${constraints.minItems} items`);\n }\n if (constraints.maxItems) {\n rules.push(`array must have at most ${constraints.maxItems} items`);\n }\n\n return rules.length > 0 ? rules.join(\", \") : JSON.stringify(constraints);\n }\n}\n",
7
7
  "import { McpToolCompatibility, type SchemaConstraints } from \"../base\";\n\ninterface AnthropicConstraints {\n additionalProperties?: boolean;\n format?: string;\n pattern?: string;\n}\n\nexport class AnthropicMcpCompatibility extends McpToolCompatibility {\n shouldApply(): boolean {\n return this.modelInfo.provider === \"anthropic\";\n }\n\n protected getUnsupportedStringProperties(): readonly string[] {\n return [];\n }\n\n protected getUnsupportedNumberProperties(): readonly string[] {\n return [];\n }\n\n protected getUnsupportedArrayProperties(): readonly string[] {\n return [];\n }\n\n protected getUnsupportedObjectProperties(): readonly string[] {\n return [\"additionalProperties\"];\n }\n\n protected mergeDescription(\n originalDescription: string | undefined,\n constraints: SchemaConstraints\n ): string {\n const constraintHints = this.formatConstraintsForAnthropic(constraints as AnthropicConstraints);\n if (originalDescription && constraintHints) {\n return `${originalDescription}. ${constraintHints}`;\n } else if (constraintHints) {\n return constraintHints;\n }\n return originalDescription ?? \"\";\n }\n\n private formatConstraintsForAnthropic(constraints: AnthropicConstraints): string {\n const hints: string[] = [];\n\n if (constraints.additionalProperties === false) {\n hints.push(\"Only use the specified properties\");\n }\n if (constraints.format === \"date-time\") {\n hints.push(\"Use ISO 8601 date-time format\");\n }\n if (constraints.pattern) {\n hints.push(`Must match the pattern: ${constraints.pattern}`);\n }\n\n return hints.join(\". \");\n }\n}\n",
8
8
  "import { McpToolCompatibility, type SchemaConstraints } from \"../base\";\n\ninterface GoogleConstraints {\n minLength?: number;\n maxLength?: number;\n minimum?: number;\n maximum?: number;\n exclusiveMinimum?: number;\n exclusiveMaximum?: number;\n multipleOf?: number;\n format?: string;\n pattern?: string;\n enum?: readonly string[];\n minItems?: number;\n maxItems?: number;\n uniqueItems?: boolean;\n minProperties?: number;\n maxProperties?: number;\n additionalProperties?: boolean;\n}\n\nexport class GoogleMcpCompatibility extends McpToolCompatibility {\n shouldApply(): boolean {\n return this.modelInfo.provider === \"google\";\n }\n\n protected getUnsupportedStringProperties(): readonly string[] {\n return [\"minLength\", \"maxLength\", \"pattern\", \"format\"];\n }\n\n protected getUnsupportedNumberProperties(): readonly string[] {\n return [\"minimum\", \"maximum\", \"exclusiveMinimum\", \"exclusiveMaximum\", \"multipleOf\"];\n }\n\n protected getUnsupportedArrayProperties(): readonly string[] {\n return [\"minItems\", \"maxItems\", \"uniqueItems\"];\n }\n\n protected getUnsupportedObjectProperties(): readonly string[] {\n return [\"minProperties\", \"maxProperties\", \"additionalProperties\"];\n }\n\n protected mergeDescription(\n originalDescription: string | undefined,\n constraints: SchemaConstraints\n ): string {\n const constraintText = this.formatConstraintsForGoogle(constraints as GoogleConstraints);\n if (originalDescription && constraintText) {\n return `${originalDescription}\\n\\nConstraints: ${constraintText}`;\n } else if (constraintText) {\n return `Constraints: ${constraintText}`;\n }\n return originalDescription ?? \"\";\n }\n\n private formatConstraintsForGoogle(constraints: GoogleConstraints): string {\n const rules: string[] = [];\n\n if (constraints.minLength) {\n rules.push(`text must be at least ${constraints.minLength} characters long`);\n }\n if (constraints.maxLength) {\n rules.push(`text must be no more than ${constraints.maxLength} characters long`);\n }\n if (constraints.minimum !== undefined) {\n rules.push(`number must be at least ${constraints.minimum}`);\n }\n if (constraints.maximum !== undefined) {\n rules.push(`number must be no more than ${constraints.maximum}`);\n }\n if (constraints.exclusiveMinimum !== undefined) {\n rules.push(`number must be greater than ${constraints.exclusiveMinimum}`);\n }\n if (constraints.exclusiveMaximum !== undefined) {\n rules.push(`number must be less than ${constraints.exclusiveMaximum}`);\n }\n if (constraints.multipleOf) {\n rules.push(`number must be a multiple of ${constraints.multipleOf}`);\n }\n if (constraints.format === \"email\") {\n rules.push(`must be a valid email address`);\n }\n if (constraints.format === \"uri\" || constraints.format === \"url\") {\n rules.push(`must be a valid URL starting with http:// or https://`);\n }\n if (constraints.format === \"uuid\") {\n rules.push(`must be a valid UUID in the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`);\n }\n if (constraints.format === \"date-time\") {\n rules.push(`must be a valid ISO 8601 date-time (e.g., 2023-12-25T10:30:00Z)`);\n }\n if (constraints.pattern) {\n rules.push(`must match the regular expression pattern: ${constraints.pattern}`);\n }\n if (constraints.enum && Array.isArray(constraints.enum)) {\n rules.push(`must be exactly one of these values: ${constraints.enum.join(\", \")}`);\n }\n if (constraints.minItems) {\n rules.push(`array must contain at least ${constraints.minItems} items`);\n }\n if (constraints.maxItems) {\n rules.push(`array must contain no more than ${constraints.maxItems} items`);\n }\n if (constraints.uniqueItems === true) {\n rules.push(`array items must all be unique (no duplicates)`);\n }\n if (constraints.minProperties) {\n rules.push(`object must have at least ${constraints.minProperties} properties`);\n }\n if (constraints.maxProperties) {\n rules.push(`object must have no more than ${constraints.maxProperties} properties`);\n }\n if (constraints.additionalProperties === false) {\n rules.push(\n `object must only contain the specified properties, no additional properties allowed`\n );\n }\n\n return rules.join(\"; \");\n }\n}\n",
@@ -26,6 +26,6 @@
26
26
  "import type { IAgentRuntime } from \"@elizaos/core\";\nimport { detectModelProvider, type McpToolCompatibility } from \"./base\";\n\nexport {\n type ArrayConstraints,\n McpToolCompatibility,\n type ModelInfo,\n type ModelProvider,\n type NumberConstraints,\n type ObjectConstraints,\n type SchemaConstraints,\n type StringConstraints,\n} from \"./base\";\n\nexport { detectModelProvider };\n\nexport async function createMcpToolCompatibility(\n runtime: IAgentRuntime\n): Promise<McpToolCompatibility | null> {\n const modelInfo = detectModelProvider(runtime);\n\n switch (modelInfo.provider) {\n case \"openai\": {\n const { OpenAIMcpCompatibility } = await import(\"./providers/openai.js\");\n return new OpenAIMcpCompatibility(modelInfo);\n }\n case \"anthropic\": {\n const { AnthropicMcpCompatibility } = await import(\"./providers/anthropic.js\");\n return new AnthropicMcpCompatibility(modelInfo);\n }\n case \"google\": {\n const { GoogleMcpCompatibility } = await import(\"./providers/google.js\");\n return new GoogleMcpCompatibility(modelInfo);\n }\n default:\n return null;\n }\n}\n\nexport function createMcpToolCompatibilitySync(\n runtime: IAgentRuntime\n): McpToolCompatibility | null {\n const modelInfo = detectModelProvider(runtime);\n\n switch (modelInfo.provider) {\n case \"openai\": {\n const { OpenAIMcpCompatibility } = require(\"./providers/openai\");\n return new OpenAIMcpCompatibility(modelInfo);\n }\n case \"anthropic\": {\n const { AnthropicMcpCompatibility } = require(\"./providers/anthropic\");\n return new AnthropicMcpCompatibility(modelInfo);\n }\n case \"google\": {\n const { GoogleMcpCompatibility } = require(\"./providers/google\");\n return new GoogleMcpCompatibility(modelInfo);\n }\n default:\n return null;\n }\n}\n"
27
27
  ],
28
28
  "mappings": "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",
29
- "debugId": "67D36987F069B88A64756E2164756E21",
29
+ "debugId": "421C8829AD67B35564756E2164756E21",
30
30
  "names": []
31
31
  }
@@ -218,7 +218,7 @@ function detectModelProvider(runtime) {
218
218
  let isReasoningModel = false;
219
219
  if (modelId.includes("openai") || modelId.includes("gpt-") || modelId.includes("o1-") || modelId.includes("o3-")) {
220
220
  provider2 = "openai";
221
- supportsStructuredOutputs = modelId.includes("gpt-4") || modelId.includes("o1") || modelId.includes("o3");
221
+ supportsStructuredOutputs = modelId.includes("gpt-5") || modelId.includes("o1") || modelId.includes("o3");
222
222
  isReasoningModel = modelId.includes("o1") || modelId.includes("o3");
223
223
  } else if (modelId.includes("anthropic") || modelId.includes("claude")) {
224
224
  provider2 = "anthropic";
@@ -2069,4 +2069,4 @@ export {
2069
2069
  src_default as default
2070
2070
  };
2071
2071
 
2072
- //# debugId=9C08B35E0B9B7AB864756E2164756E21
2072
+ //# debugId=A44D04A3F130891B64756E2164756E21
@@ -2,7 +2,7 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/tool-compatibility/base.ts", "../../src/tool-compatibility/providers/openai.ts", "../../src/tool-compatibility/providers/anthropic.ts", "../../src/tool-compatibility/providers/google.ts", "../../src/index.ts", "../../src/types.ts", "../../src/utils/error.ts", "../../src/generated/prompts/typescript/prompts.ts", "../../src/templates/errorAnalysisPrompt.ts", "../../src/utils/handler.ts", "../../src/utils/processing.ts", "../../src/utils/mcp.ts", "../../src/utils/selection.ts", "../../src/utils/json.ts", "../../src/utils/schemas.ts", "../../src/utils/validation.ts", "../../src/utils/wrapper.ts", "../../src/actions/callToolAction.ts", "../../src/actions/readResourceAction.ts", "../../src/provider.ts", "../../src/service.ts", "../../src/tool-compatibility/index.ts"],
4
4
  "sourcesContent": [
5
- "import type { IAgentRuntime } from \"@elizaos/core\";\nimport type { JSONSchema7 } from \"json-schema\";\n\nexport interface StringConstraints {\n minLength?: number;\n maxLength?: number;\n pattern?: string;\n format?: string;\n enum?: readonly string[];\n}\n\nexport interface NumberConstraints {\n minimum?: number;\n maximum?: number;\n exclusiveMinimum?: number;\n exclusiveMaximum?: number;\n multipleOf?: number;\n}\n\nexport interface ArrayConstraints {\n minItems?: number;\n maxItems?: number;\n uniqueItems?: boolean;\n}\n\nexport interface ObjectConstraints {\n minProperties?: number;\n maxProperties?: number;\n additionalProperties?: boolean;\n}\n\nexport type SchemaConstraints =\n | StringConstraints\n | NumberConstraints\n | ArrayConstraints\n | ObjectConstraints;\n\n// Model provider detection\nexport type ModelProvider = \"openai\" | \"anthropic\" | \"google\" | \"openrouter\";\n\nexport interface ModelInfo {\n readonly provider: ModelProvider;\n readonly modelId: string;\n readonly supportsStructuredOutputs?: boolean;\n readonly isReasoningModel?: boolean;\n}\n\nexport abstract class McpToolCompatibility {\n protected readonly modelInfo: ModelInfo;\n\n constructor(modelInfo: ModelInfo) {\n this.modelInfo = modelInfo;\n }\n\n abstract shouldApply(): boolean;\n\n public transformToolSchema(toolSchema: JSONSchema7): JSONSchema7 {\n if (!this.shouldApply()) {\n return toolSchema;\n }\n\n return this.processSchema(toolSchema);\n }\n\n protected processSchema(schema: JSONSchema7): JSONSchema7 {\n const processed = { ...schema };\n\n switch (processed.type) {\n case \"string\":\n return this.processStringSchema(processed);\n case \"number\":\n case \"integer\":\n return this.processNumberSchema(processed);\n case \"array\":\n return this.processArraySchema(processed);\n case \"object\":\n return this.processObjectSchema(processed);\n default:\n return this.processGenericSchema(processed);\n }\n }\n\n protected processStringSchema(schema: JSONSchema7): JSONSchema7 {\n const constraints: StringConstraints = {};\n const processed: Record<string, unknown> = { ...schema };\n\n if (typeof schema.minLength === \"number\") {\n constraints.minLength = schema.minLength;\n }\n if (typeof schema.maxLength === \"number\") {\n constraints.maxLength = schema.maxLength;\n }\n if (typeof schema.pattern === \"string\") {\n constraints.pattern = schema.pattern;\n }\n if (typeof schema.format === \"string\") {\n constraints.format = schema.format;\n }\n if (Array.isArray(schema.enum)) {\n constraints.enum = schema.enum as string[];\n }\n\n const unsupportedProps = this.getUnsupportedStringProperties();\n for (const prop of unsupportedProps) {\n if (prop in processed) {\n delete processed[prop];\n }\n }\n\n if (Object.keys(constraints).length > 0) {\n processed.description = this.mergeDescription(schema.description, constraints);\n }\n\n return processed as JSONSchema7;\n }\n\n protected processNumberSchema(schema: JSONSchema7): JSONSchema7 {\n const constraints: NumberConstraints = {};\n const processed: Record<string, unknown> = { ...schema };\n\n if (typeof schema.minimum === \"number\") {\n constraints.minimum = schema.minimum;\n }\n if (typeof schema.maximum === \"number\") {\n constraints.maximum = schema.maximum;\n }\n if (typeof schema.exclusiveMinimum === \"number\") {\n constraints.exclusiveMinimum = schema.exclusiveMinimum;\n }\n if (typeof schema.exclusiveMaximum === \"number\") {\n constraints.exclusiveMaximum = schema.exclusiveMaximum;\n }\n if (typeof schema.multipleOf === \"number\") {\n constraints.multipleOf = schema.multipleOf;\n }\n\n const unsupportedProps = this.getUnsupportedNumberProperties();\n for (const prop of unsupportedProps) {\n if (prop in processed) {\n delete processed[prop];\n }\n }\n\n if (Object.keys(constraints).length > 0) {\n processed.description = this.mergeDescription(schema.description, constraints);\n }\n\n return processed as JSONSchema7;\n }\n\n protected processArraySchema(schema: JSONSchema7): JSONSchema7 {\n const constraints: ArrayConstraints = {};\n const processed: Record<string, unknown> = { ...schema };\n\n if (typeof schema.minItems === \"number\") {\n constraints.minItems = schema.minItems;\n }\n if (typeof schema.maxItems === \"number\") {\n constraints.maxItems = schema.maxItems;\n }\n if (typeof schema.uniqueItems === \"boolean\") {\n constraints.uniqueItems = schema.uniqueItems;\n }\n\n if (schema.items && typeof schema.items === \"object\" && !Array.isArray(schema.items)) {\n processed.items = this.processSchema(schema.items as JSONSchema7);\n }\n\n const unsupportedProps = this.getUnsupportedArrayProperties();\n for (const prop of unsupportedProps) {\n if (prop in processed) {\n delete processed[prop];\n }\n }\n\n if (Object.keys(constraints).length > 0) {\n processed.description = this.mergeDescription(schema.description, constraints);\n }\n\n return processed as JSONSchema7;\n }\n\n protected processObjectSchema(schema: JSONSchema7): JSONSchema7 {\n const constraints: ObjectConstraints = {};\n const processed: Record<string, unknown> = { ...schema };\n\n if (typeof schema.minProperties === \"number\") {\n constraints.minProperties = schema.minProperties;\n }\n if (typeof schema.maxProperties === \"number\") {\n constraints.maxProperties = schema.maxProperties;\n }\n if (typeof schema.additionalProperties === \"boolean\") {\n constraints.additionalProperties = schema.additionalProperties;\n }\n\n if (schema.properties && typeof schema.properties === \"object\") {\n const newProperties: Record<string, JSONSchema7> = {};\n for (const [key, prop] of Object.entries(schema.properties)) {\n if (typeof prop === \"object\" && !Array.isArray(prop)) {\n newProperties[key] = this.processSchema(prop as JSONSchema7);\n } else {\n newProperties[key] = prop as JSONSchema7;\n }\n }\n processed.properties = newProperties;\n }\n\n const unsupportedProps = this.getUnsupportedObjectProperties();\n for (const prop of unsupportedProps) {\n if (prop in processed) {\n delete processed[prop];\n }\n }\n\n if (Object.keys(constraints).length > 0) {\n processed.description = this.mergeDescription(schema.description, constraints);\n }\n\n return processed as JSONSchema7;\n }\n\n protected processGenericSchema(schema: JSONSchema7): JSONSchema7 {\n const processed: Record<string, unknown> = { ...schema };\n\n if (Array.isArray(schema.oneOf)) {\n processed.oneOf = schema.oneOf.map((s) =>\n typeof s === \"object\" ? this.processSchema(s as JSONSchema7) : s\n );\n }\n if (Array.isArray(schema.anyOf)) {\n processed.anyOf = schema.anyOf.map((s) =>\n typeof s === \"object\" ? this.processSchema(s as JSONSchema7) : s\n );\n }\n if (Array.isArray(schema.allOf)) {\n processed.allOf = schema.allOf.map((s) =>\n typeof s === \"object\" ? this.processSchema(s as JSONSchema7) : s\n );\n }\n\n return processed as JSONSchema7;\n }\n\n protected mergeDescription(\n originalDescription: string | undefined,\n constraints: SchemaConstraints\n ): string {\n const constraintJson = JSON.stringify(constraints);\n if (originalDescription) {\n return `${originalDescription}\\n${constraintJson}`;\n }\n return constraintJson;\n }\n\n protected abstract getUnsupportedStringProperties(): readonly string[];\n protected abstract getUnsupportedNumberProperties(): readonly string[];\n protected abstract getUnsupportedArrayProperties(): readonly string[];\n protected abstract getUnsupportedObjectProperties(): readonly string[];\n}\n\ninterface RuntimeWithModel extends IAgentRuntime {\n modelProvider?: string;\n model?: string;\n}\n\nfunction hasModelInfo(runtime: IAgentRuntime): runtime is RuntimeWithModel {\n return (\n typeof runtime === \"object\" &&\n runtime !== null &&\n (\"modelProvider\" in runtime || \"model\" in runtime)\n );\n}\n\nfunction getModelString(runtime: IAgentRuntime): string {\n if (hasModelInfo(runtime)) {\n return runtime.modelProvider ?? runtime.model ?? \"\";\n }\n if (\n runtime.character &&\n typeof runtime.character === \"object\" &&\n \"settings\" in runtime.character &&\n runtime.character.settings &&\n typeof runtime.character.settings === \"object\"\n ) {\n const settings = runtime.character.settings as Record<string, unknown>;\n const modelProvider = settings.MODEL_PROVIDER ?? settings.modelProvider;\n const model = settings.MODEL ?? settings.model;\n return String(modelProvider ?? model ?? \"\");\n }\n return \"\";\n}\n\nexport function detectModelProvider(runtime: IAgentRuntime): ModelInfo {\n const modelString = getModelString(runtime);\n const modelId = String(modelString).toLowerCase();\n\n let provider: ModelProvider = \"openrouter\";\n let supportsStructuredOutputs = false;\n let isReasoningModel = false;\n\n if (\n modelId.includes(\"openai\") ||\n modelId.includes(\"gpt-\") ||\n modelId.includes(\"o1-\") ||\n modelId.includes(\"o3-\")\n ) {\n provider = \"openai\";\n supportsStructuredOutputs =\n modelId.includes(\"gpt-4\") || modelId.includes(\"o1\") || modelId.includes(\"o3\");\n isReasoningModel = modelId.includes(\"o1\") || modelId.includes(\"o3\");\n } else if (modelId.includes(\"anthropic\") || modelId.includes(\"claude\")) {\n provider = \"anthropic\";\n supportsStructuredOutputs = true;\n } else if (modelId.includes(\"google\") || modelId.includes(\"gemini\")) {\n provider = \"google\";\n supportsStructuredOutputs = true;\n } else if (modelId.includes(\"openrouter\")) {\n provider = \"openrouter\";\n supportsStructuredOutputs = false;\n }\n\n return {\n provider,\n modelId,\n supportsStructuredOutputs,\n isReasoningModel,\n };\n}\n",
5
+ "import type { IAgentRuntime } from \"@elizaos/core\";\nimport type { JSONSchema7 } from \"json-schema\";\n\nexport interface StringConstraints {\n minLength?: number;\n maxLength?: number;\n pattern?: string;\n format?: string;\n enum?: readonly string[];\n}\n\nexport interface NumberConstraints {\n minimum?: number;\n maximum?: number;\n exclusiveMinimum?: number;\n exclusiveMaximum?: number;\n multipleOf?: number;\n}\n\nexport interface ArrayConstraints {\n minItems?: number;\n maxItems?: number;\n uniqueItems?: boolean;\n}\n\nexport interface ObjectConstraints {\n minProperties?: number;\n maxProperties?: number;\n additionalProperties?: boolean;\n}\n\nexport type SchemaConstraints =\n | StringConstraints\n | NumberConstraints\n | ArrayConstraints\n | ObjectConstraints;\n\n// Model provider detection\nexport type ModelProvider = \"openai\" | \"anthropic\" | \"google\" | \"openrouter\";\n\nexport interface ModelInfo {\n readonly provider: ModelProvider;\n readonly modelId: string;\n readonly supportsStructuredOutputs?: boolean;\n readonly isReasoningModel?: boolean;\n}\n\nexport abstract class McpToolCompatibility {\n protected readonly modelInfo: ModelInfo;\n\n constructor(modelInfo: ModelInfo) {\n this.modelInfo = modelInfo;\n }\n\n abstract shouldApply(): boolean;\n\n public transformToolSchema(toolSchema: JSONSchema7): JSONSchema7 {\n if (!this.shouldApply()) {\n return toolSchema;\n }\n\n return this.processSchema(toolSchema);\n }\n\n protected processSchema(schema: JSONSchema7): JSONSchema7 {\n const processed = { ...schema };\n\n switch (processed.type) {\n case \"string\":\n return this.processStringSchema(processed);\n case \"number\":\n case \"integer\":\n return this.processNumberSchema(processed);\n case \"array\":\n return this.processArraySchema(processed);\n case \"object\":\n return this.processObjectSchema(processed);\n default:\n return this.processGenericSchema(processed);\n }\n }\n\n protected processStringSchema(schema: JSONSchema7): JSONSchema7 {\n const constraints: StringConstraints = {};\n const processed: Record<string, unknown> = { ...schema };\n\n if (typeof schema.minLength === \"number\") {\n constraints.minLength = schema.minLength;\n }\n if (typeof schema.maxLength === \"number\") {\n constraints.maxLength = schema.maxLength;\n }\n if (typeof schema.pattern === \"string\") {\n constraints.pattern = schema.pattern;\n }\n if (typeof schema.format === \"string\") {\n constraints.format = schema.format;\n }\n if (Array.isArray(schema.enum)) {\n constraints.enum = schema.enum as string[];\n }\n\n const unsupportedProps = this.getUnsupportedStringProperties();\n for (const prop of unsupportedProps) {\n if (prop in processed) {\n delete processed[prop];\n }\n }\n\n if (Object.keys(constraints).length > 0) {\n processed.description = this.mergeDescription(schema.description, constraints);\n }\n\n return processed as JSONSchema7;\n }\n\n protected processNumberSchema(schema: JSONSchema7): JSONSchema7 {\n const constraints: NumberConstraints = {};\n const processed: Record<string, unknown> = { ...schema };\n\n if (typeof schema.minimum === \"number\") {\n constraints.minimum = schema.minimum;\n }\n if (typeof schema.maximum === \"number\") {\n constraints.maximum = schema.maximum;\n }\n if (typeof schema.exclusiveMinimum === \"number\") {\n constraints.exclusiveMinimum = schema.exclusiveMinimum;\n }\n if (typeof schema.exclusiveMaximum === \"number\") {\n constraints.exclusiveMaximum = schema.exclusiveMaximum;\n }\n if (typeof schema.multipleOf === \"number\") {\n constraints.multipleOf = schema.multipleOf;\n }\n\n const unsupportedProps = this.getUnsupportedNumberProperties();\n for (const prop of unsupportedProps) {\n if (prop in processed) {\n delete processed[prop];\n }\n }\n\n if (Object.keys(constraints).length > 0) {\n processed.description = this.mergeDescription(schema.description, constraints);\n }\n\n return processed as JSONSchema7;\n }\n\n protected processArraySchema(schema: JSONSchema7): JSONSchema7 {\n const constraints: ArrayConstraints = {};\n const processed: Record<string, unknown> = { ...schema };\n\n if (typeof schema.minItems === \"number\") {\n constraints.minItems = schema.minItems;\n }\n if (typeof schema.maxItems === \"number\") {\n constraints.maxItems = schema.maxItems;\n }\n if (typeof schema.uniqueItems === \"boolean\") {\n constraints.uniqueItems = schema.uniqueItems;\n }\n\n if (schema.items && typeof schema.items === \"object\" && !Array.isArray(schema.items)) {\n processed.items = this.processSchema(schema.items as JSONSchema7);\n }\n\n const unsupportedProps = this.getUnsupportedArrayProperties();\n for (const prop of unsupportedProps) {\n if (prop in processed) {\n delete processed[prop];\n }\n }\n\n if (Object.keys(constraints).length > 0) {\n processed.description = this.mergeDescription(schema.description, constraints);\n }\n\n return processed as JSONSchema7;\n }\n\n protected processObjectSchema(schema: JSONSchema7): JSONSchema7 {\n const constraints: ObjectConstraints = {};\n const processed: Record<string, unknown> = { ...schema };\n\n if (typeof schema.minProperties === \"number\") {\n constraints.minProperties = schema.minProperties;\n }\n if (typeof schema.maxProperties === \"number\") {\n constraints.maxProperties = schema.maxProperties;\n }\n if (typeof schema.additionalProperties === \"boolean\") {\n constraints.additionalProperties = schema.additionalProperties;\n }\n\n if (schema.properties && typeof schema.properties === \"object\") {\n const newProperties: Record<string, JSONSchema7> = {};\n for (const [key, prop] of Object.entries(schema.properties)) {\n if (typeof prop === \"object\" && !Array.isArray(prop)) {\n newProperties[key] = this.processSchema(prop as JSONSchema7);\n } else {\n newProperties[key] = prop as JSONSchema7;\n }\n }\n processed.properties = newProperties;\n }\n\n const unsupportedProps = this.getUnsupportedObjectProperties();\n for (const prop of unsupportedProps) {\n if (prop in processed) {\n delete processed[prop];\n }\n }\n\n if (Object.keys(constraints).length > 0) {\n processed.description = this.mergeDescription(schema.description, constraints);\n }\n\n return processed as JSONSchema7;\n }\n\n protected processGenericSchema(schema: JSONSchema7): JSONSchema7 {\n const processed: Record<string, unknown> = { ...schema };\n\n if (Array.isArray(schema.oneOf)) {\n processed.oneOf = schema.oneOf.map((s) =>\n typeof s === \"object\" ? this.processSchema(s as JSONSchema7) : s\n );\n }\n if (Array.isArray(schema.anyOf)) {\n processed.anyOf = schema.anyOf.map((s) =>\n typeof s === \"object\" ? this.processSchema(s as JSONSchema7) : s\n );\n }\n if (Array.isArray(schema.allOf)) {\n processed.allOf = schema.allOf.map((s) =>\n typeof s === \"object\" ? this.processSchema(s as JSONSchema7) : s\n );\n }\n\n return processed as JSONSchema7;\n }\n\n protected mergeDescription(\n originalDescription: string | undefined,\n constraints: SchemaConstraints\n ): string {\n const constraintJson = JSON.stringify(constraints);\n if (originalDescription) {\n return `${originalDescription}\\n${constraintJson}`;\n }\n return constraintJson;\n }\n\n protected abstract getUnsupportedStringProperties(): readonly string[];\n protected abstract getUnsupportedNumberProperties(): readonly string[];\n protected abstract getUnsupportedArrayProperties(): readonly string[];\n protected abstract getUnsupportedObjectProperties(): readonly string[];\n}\n\ninterface RuntimeWithModel extends IAgentRuntime {\n modelProvider?: string;\n model?: string;\n}\n\nfunction hasModelInfo(runtime: IAgentRuntime): runtime is RuntimeWithModel {\n return (\n typeof runtime === \"object\" &&\n runtime !== null &&\n (\"modelProvider\" in runtime || \"model\" in runtime)\n );\n}\n\nfunction getModelString(runtime: IAgentRuntime): string {\n if (hasModelInfo(runtime)) {\n return runtime.modelProvider ?? runtime.model ?? \"\";\n }\n if (\n runtime.character &&\n typeof runtime.character === \"object\" &&\n \"settings\" in runtime.character &&\n runtime.character.settings &&\n typeof runtime.character.settings === \"object\"\n ) {\n const settings = runtime.character.settings as Record<string, unknown>;\n const modelProvider = settings.MODEL_PROVIDER ?? settings.modelProvider;\n const model = settings.MODEL ?? settings.model;\n return String(modelProvider ?? model ?? \"\");\n }\n return \"\";\n}\n\nexport function detectModelProvider(runtime: IAgentRuntime): ModelInfo {\n const modelString = getModelString(runtime);\n const modelId = String(modelString).toLowerCase();\n\n let provider: ModelProvider = \"openrouter\";\n let supportsStructuredOutputs = false;\n let isReasoningModel = false;\n\n if (\n modelId.includes(\"openai\") ||\n modelId.includes(\"gpt-\") ||\n modelId.includes(\"o1-\") ||\n modelId.includes(\"o3-\")\n ) {\n provider = \"openai\";\n supportsStructuredOutputs =\n modelId.includes(\"gpt-5\") || modelId.includes(\"o1\") || modelId.includes(\"o3\");\n isReasoningModel = modelId.includes(\"o1\") || modelId.includes(\"o3\");\n } else if (modelId.includes(\"anthropic\") || modelId.includes(\"claude\")) {\n provider = \"anthropic\";\n supportsStructuredOutputs = true;\n } else if (modelId.includes(\"google\") || modelId.includes(\"gemini\")) {\n provider = \"google\";\n supportsStructuredOutputs = true;\n } else if (modelId.includes(\"openrouter\")) {\n provider = \"openrouter\";\n supportsStructuredOutputs = false;\n }\n\n return {\n provider,\n modelId,\n supportsStructuredOutputs,\n isReasoningModel,\n };\n}\n",
6
6
  "import { McpToolCompatibility, type SchemaConstraints } from \"../base\";\n\ninterface OpenAIConstraints {\n minLength?: number;\n maxLength?: number;\n minimum?: number;\n maximum?: number;\n format?: string;\n pattern?: string;\n enum?: readonly string[];\n minItems?: number;\n maxItems?: number;\n}\n\nexport class OpenAIMcpCompatibility extends McpToolCompatibility {\n shouldApply(): boolean {\n return (\n this.modelInfo.provider === \"openai\" &&\n (!this.modelInfo.supportsStructuredOutputs || this.modelInfo.isReasoningModel === true)\n );\n }\n\n protected getUnsupportedStringProperties(): readonly string[] {\n const baseUnsupported = [\"format\"];\n\n if (this.modelInfo.isReasoningModel === true) {\n return [...baseUnsupported, \"pattern\"];\n }\n\n if (this.modelInfo.modelId.includes(\"gpt-3.5\") || this.modelInfo.modelId.includes(\"davinci\")) {\n return [...baseUnsupported, \"pattern\"];\n }\n\n return baseUnsupported;\n }\n\n protected getUnsupportedNumberProperties(): readonly string[] {\n if (this.modelInfo.isReasoningModel === true) {\n return [\"exclusiveMinimum\", \"exclusiveMaximum\", \"multipleOf\"];\n }\n return [];\n }\n\n protected getUnsupportedArrayProperties(): readonly string[] {\n if (this.modelInfo.isReasoningModel === true) {\n return [\"uniqueItems\"];\n }\n return [];\n }\n\n protected getUnsupportedObjectProperties(): readonly string[] {\n return [\"minProperties\", \"maxProperties\"];\n }\n}\n\nexport class OpenAIReasoningMcpCompatibility extends McpToolCompatibility {\n shouldApply(): boolean {\n return this.modelInfo.provider === \"openai\" && this.modelInfo.isReasoningModel === true;\n }\n\n protected getUnsupportedStringProperties(): readonly string[] {\n return [\"format\", \"pattern\", \"minLength\", \"maxLength\"];\n }\n\n protected getUnsupportedNumberProperties(): readonly string[] {\n return [\"exclusiveMinimum\", \"exclusiveMaximum\", \"multipleOf\"];\n }\n\n protected getUnsupportedArrayProperties(): readonly string[] {\n return [\"uniqueItems\", \"minItems\", \"maxItems\"];\n }\n\n protected getUnsupportedObjectProperties(): readonly string[] {\n return [\"minProperties\", \"maxProperties\", \"additionalProperties\"];\n }\n\n protected mergeDescription(\n originalDescription: string | undefined,\n constraints: SchemaConstraints\n ): string {\n const constraintText = this.formatConstraintsForReasoningModel(\n constraints as OpenAIConstraints\n );\n if (originalDescription) {\n return `${originalDescription}\\n\\nIMPORTANT: ${constraintText}`;\n }\n return `IMPORTANT: ${constraintText}`;\n }\n\n private formatConstraintsForReasoningModel(constraints: OpenAIConstraints): string {\n const rules: string[] = [];\n\n if (constraints.minLength) {\n rules.push(`minimum ${constraints.minLength} characters`);\n }\n if (constraints.maxLength) {\n rules.push(`maximum ${constraints.maxLength} characters`);\n }\n if (constraints.minimum !== undefined) {\n rules.push(`must be >= ${constraints.minimum}`);\n }\n if (constraints.maximum !== undefined) {\n rules.push(`must be <= ${constraints.maximum}`);\n }\n if (constraints.format === \"email\") {\n rules.push(`must be a valid email address`);\n }\n if (constraints.format === \"uri\" || constraints.format === \"url\") {\n rules.push(`must be a valid URL`);\n }\n if (constraints.format === \"uuid\") {\n rules.push(`must be a valid UUID`);\n }\n if (constraints.pattern) {\n rules.push(`must match pattern: ${constraints.pattern}`);\n }\n if (constraints.enum) {\n rules.push(`must be one of: ${constraints.enum.join(\", \")}`);\n }\n if (constraints.minItems) {\n rules.push(`array must have at least ${constraints.minItems} items`);\n }\n if (constraints.maxItems) {\n rules.push(`array must have at most ${constraints.maxItems} items`);\n }\n\n return rules.length > 0 ? rules.join(\", \") : JSON.stringify(constraints);\n }\n}\n",
7
7
  "import { McpToolCompatibility, type SchemaConstraints } from \"../base\";\n\ninterface AnthropicConstraints {\n additionalProperties?: boolean;\n format?: string;\n pattern?: string;\n}\n\nexport class AnthropicMcpCompatibility extends McpToolCompatibility {\n shouldApply(): boolean {\n return this.modelInfo.provider === \"anthropic\";\n }\n\n protected getUnsupportedStringProperties(): readonly string[] {\n return [];\n }\n\n protected getUnsupportedNumberProperties(): readonly string[] {\n return [];\n }\n\n protected getUnsupportedArrayProperties(): readonly string[] {\n return [];\n }\n\n protected getUnsupportedObjectProperties(): readonly string[] {\n return [\"additionalProperties\"];\n }\n\n protected mergeDescription(\n originalDescription: string | undefined,\n constraints: SchemaConstraints\n ): string {\n const constraintHints = this.formatConstraintsForAnthropic(constraints as AnthropicConstraints);\n if (originalDescription && constraintHints) {\n return `${originalDescription}. ${constraintHints}`;\n } else if (constraintHints) {\n return constraintHints;\n }\n return originalDescription ?? \"\";\n }\n\n private formatConstraintsForAnthropic(constraints: AnthropicConstraints): string {\n const hints: string[] = [];\n\n if (constraints.additionalProperties === false) {\n hints.push(\"Only use the specified properties\");\n }\n if (constraints.format === \"date-time\") {\n hints.push(\"Use ISO 8601 date-time format\");\n }\n if (constraints.pattern) {\n hints.push(`Must match the pattern: ${constraints.pattern}`);\n }\n\n return hints.join(\". \");\n }\n}\n",
8
8
  "import { McpToolCompatibility, type SchemaConstraints } from \"../base\";\n\ninterface GoogleConstraints {\n minLength?: number;\n maxLength?: number;\n minimum?: number;\n maximum?: number;\n exclusiveMinimum?: number;\n exclusiveMaximum?: number;\n multipleOf?: number;\n format?: string;\n pattern?: string;\n enum?: readonly string[];\n minItems?: number;\n maxItems?: number;\n uniqueItems?: boolean;\n minProperties?: number;\n maxProperties?: number;\n additionalProperties?: boolean;\n}\n\nexport class GoogleMcpCompatibility extends McpToolCompatibility {\n shouldApply(): boolean {\n return this.modelInfo.provider === \"google\";\n }\n\n protected getUnsupportedStringProperties(): readonly string[] {\n return [\"minLength\", \"maxLength\", \"pattern\", \"format\"];\n }\n\n protected getUnsupportedNumberProperties(): readonly string[] {\n return [\"minimum\", \"maximum\", \"exclusiveMinimum\", \"exclusiveMaximum\", \"multipleOf\"];\n }\n\n protected getUnsupportedArrayProperties(): readonly string[] {\n return [\"minItems\", \"maxItems\", \"uniqueItems\"];\n }\n\n protected getUnsupportedObjectProperties(): readonly string[] {\n return [\"minProperties\", \"maxProperties\", \"additionalProperties\"];\n }\n\n protected mergeDescription(\n originalDescription: string | undefined,\n constraints: SchemaConstraints\n ): string {\n const constraintText = this.formatConstraintsForGoogle(constraints as GoogleConstraints);\n if (originalDescription && constraintText) {\n return `${originalDescription}\\n\\nConstraints: ${constraintText}`;\n } else if (constraintText) {\n return `Constraints: ${constraintText}`;\n }\n return originalDescription ?? \"\";\n }\n\n private formatConstraintsForGoogle(constraints: GoogleConstraints): string {\n const rules: string[] = [];\n\n if (constraints.minLength) {\n rules.push(`text must be at least ${constraints.minLength} characters long`);\n }\n if (constraints.maxLength) {\n rules.push(`text must be no more than ${constraints.maxLength} characters long`);\n }\n if (constraints.minimum !== undefined) {\n rules.push(`number must be at least ${constraints.minimum}`);\n }\n if (constraints.maximum !== undefined) {\n rules.push(`number must be no more than ${constraints.maximum}`);\n }\n if (constraints.exclusiveMinimum !== undefined) {\n rules.push(`number must be greater than ${constraints.exclusiveMinimum}`);\n }\n if (constraints.exclusiveMaximum !== undefined) {\n rules.push(`number must be less than ${constraints.exclusiveMaximum}`);\n }\n if (constraints.multipleOf) {\n rules.push(`number must be a multiple of ${constraints.multipleOf}`);\n }\n if (constraints.format === \"email\") {\n rules.push(`must be a valid email address`);\n }\n if (constraints.format === \"uri\" || constraints.format === \"url\") {\n rules.push(`must be a valid URL starting with http:// or https://`);\n }\n if (constraints.format === \"uuid\") {\n rules.push(`must be a valid UUID in the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`);\n }\n if (constraints.format === \"date-time\") {\n rules.push(`must be a valid ISO 8601 date-time (e.g., 2023-12-25T10:30:00Z)`);\n }\n if (constraints.pattern) {\n rules.push(`must match the regular expression pattern: ${constraints.pattern}`);\n }\n if (constraints.enum && Array.isArray(constraints.enum)) {\n rules.push(`must be exactly one of these values: ${constraints.enum.join(\", \")}`);\n }\n if (constraints.minItems) {\n rules.push(`array must contain at least ${constraints.minItems} items`);\n }\n if (constraints.maxItems) {\n rules.push(`array must contain no more than ${constraints.maxItems} items`);\n }\n if (constraints.uniqueItems === true) {\n rules.push(`array items must all be unique (no duplicates)`);\n }\n if (constraints.minProperties) {\n rules.push(`object must have at least ${constraints.minProperties} properties`);\n }\n if (constraints.maxProperties) {\n rules.push(`object must have no more than ${constraints.maxProperties} properties`);\n }\n if (constraints.additionalProperties === false) {\n rules.push(\n `object must only contain the specified properties, no additional properties allowed`\n );\n }\n\n return rules.join(\"; \");\n }\n}\n",
@@ -26,6 +26,6 @@
26
26
  "import type { IAgentRuntime } from \"@elizaos/core\";\nimport { detectModelProvider, type McpToolCompatibility } from \"./base\";\n\nexport {\n type ArrayConstraints,\n McpToolCompatibility,\n type ModelInfo,\n type ModelProvider,\n type NumberConstraints,\n type ObjectConstraints,\n type SchemaConstraints,\n type StringConstraints,\n} from \"./base\";\n\nexport { detectModelProvider };\n\nexport async function createMcpToolCompatibility(\n runtime: IAgentRuntime\n): Promise<McpToolCompatibility | null> {\n const modelInfo = detectModelProvider(runtime);\n\n switch (modelInfo.provider) {\n case \"openai\": {\n const { OpenAIMcpCompatibility } = await import(\"./providers/openai.js\");\n return new OpenAIMcpCompatibility(modelInfo);\n }\n case \"anthropic\": {\n const { AnthropicMcpCompatibility } = await import(\"./providers/anthropic.js\");\n return new AnthropicMcpCompatibility(modelInfo);\n }\n case \"google\": {\n const { GoogleMcpCompatibility } = await import(\"./providers/google.js\");\n return new GoogleMcpCompatibility(modelInfo);\n }\n default:\n return null;\n }\n}\n\nexport function createMcpToolCompatibilitySync(\n runtime: IAgentRuntime\n): McpToolCompatibility | null {\n const modelInfo = detectModelProvider(runtime);\n\n switch (modelInfo.provider) {\n case \"openai\": {\n const { OpenAIMcpCompatibility } = require(\"./providers/openai\");\n return new OpenAIMcpCompatibility(modelInfo);\n }\n case \"anthropic\": {\n const { AnthropicMcpCompatibility } = require(\"./providers/anthropic\");\n return new AnthropicMcpCompatibility(modelInfo);\n }\n case \"google\": {\n const { GoogleMcpCompatibility } = require(\"./providers/google\");\n return new GoogleMcpCompatibility(modelInfo);\n }\n default:\n return null;\n }\n}\n"
27
27
  ],
28
28
  "mappings": "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",
29
- "debugId": "9C08B35E0B9B7AB864756E2164756E21",
29
+ "debugId": "A44D04A3F130891B64756E2164756E21",
30
30
  "names": []
31
31
  }