@inkeep/agents-cli 0.58.18 → 0.58.19

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.
@@ -1,6 +1,6 @@
1
1
  //#region package.json
2
2
  var name = "@inkeep/agents-cli";
3
- var version = "0.58.18";
3
+ var version = "0.58.19";
4
4
 
5
5
  //#endregion
6
6
  export { name, version };
@@ -91,6 +91,14 @@ async function promptForModelConfiguration() {
91
91
  label: "GPT-5.4",
92
92
  value: OPENAI_MODELS.GPT_5_4
93
93
  },
94
+ {
95
+ label: "GPT-5.4 Mini",
96
+ value: OPENAI_MODELS.GPT_5_4_MINI
97
+ },
98
+ {
99
+ label: "GPT-5.4 Nano",
100
+ value: OPENAI_MODELS.GPT_5_4_NANO
101
+ },
94
102
  {
95
103
  label: "GPT-5.3 Codex",
96
104
  value: OPENAI_MODELS.GPT_5_3_CODEX
@@ -1 +1 @@
1
- {"version":3,"file":"model-config.js","names":[],"sources":["../../src/utils/model-config.ts"],"sourcesContent":["import * as p from '@clack/prompts';\nimport { ANTHROPIC_MODELS, GOOGLE_MODELS, OPENAI_MODELS } from '@inkeep/agents-core';\n\nexport interface ModelConfigurationResult {\n modelSettings: {\n base: {\n model: string;\n providerOptions?: Record<string, any>;\n };\n structuredOutput?: {\n model: string;\n providerOptions?: Record<string, any>;\n };\n summarizer?: {\n model: string;\n providerOptions?: Record<string, any>;\n };\n };\n}\n\nexport type ModelSettings = ModelConfigurationResult['modelSettings'];\n\nexport const defaultGeminiModelConfigurations: ModelSettings = {\n base: {\n model: GOOGLE_MODELS.GEMINI_2_5_FLASH,\n },\n structuredOutput: {\n model: GOOGLE_MODELS.GEMINI_2_5_FLASH_LITE,\n },\n summarizer: {\n model: GOOGLE_MODELS.GEMINI_2_5_FLASH_LITE,\n },\n};\n\nexport const defaultOpenaiModelConfigurations: ModelSettings = {\n base: {\n model: OPENAI_MODELS.GPT_5_2,\n },\n structuredOutput: {\n model: OPENAI_MODELS.GPT_4_1_MINI,\n },\n summarizer: {\n model: OPENAI_MODELS.GPT_4_1_NANO,\n },\n};\n\nexport const defaultAnthropicModelConfigurations: ModelSettings = {\n base: {\n model: ANTHROPIC_MODELS.CLAUDE_SONNET_4_5,\n },\n structuredOutput: {\n model: ANTHROPIC_MODELS.CLAUDE_SONNET_4_5,\n },\n summarizer: {\n model: ANTHROPIC_MODELS.CLAUDE_SONNET_4_5,\n },\n};\n\n/**\n * Prompt user for model configuration (providers and model selection)\n * This is shared between init and push commands\n */\nexport async function promptForModelConfiguration(): Promise<ModelConfigurationResult> {\n // Provider selection\n const providers = (await p.multiselect({\n message: 'Which AI providers would you like to configure?',\n options: [\n { value: 'anthropic', label: 'Anthropic (Claude)' },\n { value: 'openai', label: 'OpenAI (GPT)' },\n { value: 'google', label: 'Google (Gemini)' },\n { value: 'azure', label: 'Azure OpenAI' },\n ],\n required: true,\n })) as string[];\n\n if (p.isCancel(providers)) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n\n // Available models for each provider (matching frontend options)\n const anthropicModels = [\n { label: 'Claude Opus 4.6', value: ANTHROPIC_MODELS.CLAUDE_OPUS_4_6 },\n { label: 'Claude Opus 4.5', value: ANTHROPIC_MODELS.CLAUDE_OPUS_4_5 },\n { label: 'Claude Opus 4.1', value: ANTHROPIC_MODELS.CLAUDE_OPUS_4_1 },\n { label: 'Claude Opus 4', value: ANTHROPIC_MODELS.CLAUDE_OPUS_4 },\n { label: 'Claude Sonnet 4.6', value: ANTHROPIC_MODELS.CLAUDE_SONNET_4_6 },\n { label: 'Claude Sonnet 4.5', value: ANTHROPIC_MODELS.CLAUDE_SONNET_4_5 },\n { label: 'Claude Sonnet 4', value: ANTHROPIC_MODELS.CLAUDE_SONNET_4 },\n { label: 'Claude Haiku 4.5', value: ANTHROPIC_MODELS.CLAUDE_HAIKU_4_5 },\n ];\n\n const openaiModels = [\n { label: 'GPT-5.4 Pro', value: OPENAI_MODELS.GPT_5_4_PRO },\n { label: 'GPT-5.4', value: OPENAI_MODELS.GPT_5_4 },\n { label: 'GPT-5.3 Codex', value: OPENAI_MODELS.GPT_5_3_CODEX },\n { label: 'GPT-5.2 Pro', value: OPENAI_MODELS.GPT_5_2_PRO },\n { label: 'GPT-5.2', value: OPENAI_MODELS.GPT_5_2 },\n { label: 'GPT-5.1', value: OPENAI_MODELS.GPT_5_1 },\n { label: 'o3 Pro', value: OPENAI_MODELS.O3_PRO },\n { label: 'o3', value: OPENAI_MODELS.O3 },\n { label: 'GPT-4.1', value: OPENAI_MODELS.GPT_4_1 },\n { label: 'GPT-4.1 Mini', value: OPENAI_MODELS.GPT_4_1_MINI },\n { label: 'GPT-4.1 Nano', value: OPENAI_MODELS.GPT_4_1_NANO },\n { label: 'GPT-5', value: OPENAI_MODELS.GPT_5 },\n { label: 'GPT-5 Mini', value: OPENAI_MODELS.GPT_5_MINI },\n { label: 'GPT-5 Nano', value: OPENAI_MODELS.GPT_5_NANO },\n ];\n\n const googleModels = [\n { label: 'Gemini 3.1 Pro Preview', value: GOOGLE_MODELS.GEMINI_3_1_PRO_PREVIEW },\n { label: 'Gemini 3.1 Flash Lite Preview', value: GOOGLE_MODELS.GEMINI_3_1_FLASH_LITE_PREVIEW },\n { label: 'Gemini 3 Flash', value: GOOGLE_MODELS.GEMINI_3_FLASH },\n { label: 'Gemini 3 Pro Preview', value: GOOGLE_MODELS.GEMINI_3_PRO_PREVIEW },\n { label: 'Gemini 2.5 Pro', value: GOOGLE_MODELS.GEMINI_2_5_PRO },\n { label: 'Gemini 2.5 Flash', value: GOOGLE_MODELS.GEMINI_2_5_FLASH },\n { label: 'Gemini 2.5 Flash Lite', value: GOOGLE_MODELS.GEMINI_2_5_FLASH_LITE },\n ];\n\n // Handle Azure configuration if selected\n const azureConfigs: any = {};\n if (providers.includes('azure')) {\n p.note('Azure OpenAI requires custom deployment configuration.');\n\n const deploymentName = await p.text({\n message: 'Enter your Azure deployment name:',\n placeholder: 'my-gpt-4o-deployment',\n validate: (value) => {\n if (!value?.trim()) return 'Deployment name is required';\n },\n });\n\n if (p.isCancel(deploymentName)) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n\n const connectionMethod = await p.select({\n message: 'How would you like to connect to Azure?',\n options: [\n { value: 'resource', label: 'Azure Resource Name (recommended)' },\n { value: 'url', label: 'Custom Base URL' },\n ],\n });\n\n if (p.isCancel(connectionMethod)) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n\n if (connectionMethod === 'resource') {\n const resourceName = await p.text({\n message: 'Enter your Azure resource name:',\n placeholder: 'your-azure-resource',\n validate: (value) => {\n if (!value?.trim()) return 'Resource name is required';\n },\n });\n\n if (p.isCancel(resourceName)) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n\n azureConfigs.resourceName = resourceName;\n } else {\n const baseURL = await p.text({\n message: 'Enter your Azure base URL:',\n placeholder: 'https://your-endpoint.openai.azure.com/openai',\n validate: (value) => {\n if (!value?.trim()) return 'Base URL is required';\n if (!value.startsWith('https://')) return 'Base URL must start with https://';\n },\n });\n\n if (p.isCancel(baseURL)) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n\n azureConfigs.baseURL = baseURL;\n }\n\n azureConfigs.deploymentName = deploymentName;\n azureConfigs.model = `azure/${deploymentName}`;\n }\n\n // Collect all available models based on selected providers\n const availableModels = [];\n if (providers.includes('anthropic')) {\n availableModels.push(...anthropicModels);\n }\n if (providers.includes('openai')) {\n availableModels.push(...openaiModels);\n }\n if (providers.includes('google')) {\n availableModels.push(...googleModels);\n }\n if (providers.includes('azure') && azureConfigs.model) {\n availableModels.push({\n label: `${azureConfigs.deploymentName} (Azure)`,\n value: azureConfigs.model,\n });\n }\n\n // Model selection for different use cases\n const baseModel = (await p.select({\n message: 'Select your default model for general tasks (required):',\n options: availableModels,\n })) as string;\n\n if (p.isCancel(baseModel)) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n\n const configureOptionalModels = await p.confirm({\n message: 'Would you like to configure optional models for structured output and summaries?',\n initialValue: false,\n });\n\n if (p.isCancel(configureOptionalModels)) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n\n let structuredOutputModel: string | null = null;\n let summarizerModel: string | null = null;\n\n if (configureOptionalModels) {\n const optionalChoices = [...availableModels, { label: 'Use base model', value: null }];\n\n const structuredOutputResponse = await p.select({\n message: 'Select your model for structured output tasks (or use base model):',\n options: optionalChoices,\n });\n\n if (p.isCancel(structuredOutputResponse)) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n structuredOutputModel = structuredOutputResponse as string | null;\n\n const summarizerResponse = await p.select({\n message: 'Select your model for summaries and quick tasks (or use base model):',\n options: optionalChoices,\n });\n\n if (p.isCancel(summarizerResponse)) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n summarizerModel = summarizerResponse as string | null;\n }\n\n // Helper function to add Azure provider options if needed\n const addProviderOptions = (model: string) => {\n if (model.startsWith('azure/') && (azureConfigs.resourceName || azureConfigs.baseURL)) {\n const providerOptions: any = {};\n if (azureConfigs.resourceName) {\n providerOptions.resourceName = azureConfigs.resourceName;\n }\n if (azureConfigs.baseURL) {\n providerOptions.baseURL = azureConfigs.baseURL;\n }\n return providerOptions;\n }\n return undefined;\n };\n\n // Build model settings object\n const modelSettings: any = {\n base: {\n model: baseModel,\n },\n };\n\n // Add Azure provider options to base model if needed\n const baseProviderOptions = addProviderOptions(baseModel);\n if (baseProviderOptions) {\n modelSettings.base.providerOptions = baseProviderOptions;\n }\n\n // Add optional models only if they were configured\n if (structuredOutputModel) {\n modelSettings.structuredOutput = {\n model: structuredOutputModel,\n };\n\n const structuredProviderOptions = addProviderOptions(structuredOutputModel);\n if (structuredProviderOptions) {\n modelSettings.structuredOutput.providerOptions = structuredProviderOptions;\n }\n }\n\n if (summarizerModel) {\n modelSettings.summarizer = {\n model: summarizerModel,\n };\n\n const summarizerProviderOptions = addProviderOptions(summarizerModel);\n if (summarizerProviderOptions) {\n modelSettings.summarizer.providerOptions = summarizerProviderOptions;\n }\n }\n\n return { modelSettings };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"model-config.js","names":[],"sources":["../../src/utils/model-config.ts"],"sourcesContent":["import * as p from '@clack/prompts';\nimport { ANTHROPIC_MODELS, GOOGLE_MODELS, OPENAI_MODELS } from '@inkeep/agents-core';\n\nexport interface ModelConfigurationResult {\n modelSettings: {\n base: {\n model: string;\n providerOptions?: Record<string, any>;\n };\n structuredOutput?: {\n model: string;\n providerOptions?: Record<string, any>;\n };\n summarizer?: {\n model: string;\n providerOptions?: Record<string, any>;\n };\n };\n}\n\nexport type ModelSettings = ModelConfigurationResult['modelSettings'];\n\nexport const defaultGeminiModelConfigurations: ModelSettings = {\n base: {\n model: GOOGLE_MODELS.GEMINI_2_5_FLASH,\n },\n structuredOutput: {\n model: GOOGLE_MODELS.GEMINI_2_5_FLASH_LITE,\n },\n summarizer: {\n model: GOOGLE_MODELS.GEMINI_2_5_FLASH_LITE,\n },\n};\n\nexport const defaultOpenaiModelConfigurations: ModelSettings = {\n base: {\n model: OPENAI_MODELS.GPT_5_2,\n },\n structuredOutput: {\n model: OPENAI_MODELS.GPT_4_1_MINI,\n },\n summarizer: {\n model: OPENAI_MODELS.GPT_4_1_NANO,\n },\n};\n\nexport const defaultAnthropicModelConfigurations: ModelSettings = {\n base: {\n model: ANTHROPIC_MODELS.CLAUDE_SONNET_4_5,\n },\n structuredOutput: {\n model: ANTHROPIC_MODELS.CLAUDE_SONNET_4_5,\n },\n summarizer: {\n model: ANTHROPIC_MODELS.CLAUDE_SONNET_4_5,\n },\n};\n\n/**\n * Prompt user for model configuration (providers and model selection)\n * This is shared between init and push commands\n */\nexport async function promptForModelConfiguration(): Promise<ModelConfigurationResult> {\n // Provider selection\n const providers = (await p.multiselect({\n message: 'Which AI providers would you like to configure?',\n options: [\n { value: 'anthropic', label: 'Anthropic (Claude)' },\n { value: 'openai', label: 'OpenAI (GPT)' },\n { value: 'google', label: 'Google (Gemini)' },\n { value: 'azure', label: 'Azure OpenAI' },\n ],\n required: true,\n })) as string[];\n\n if (p.isCancel(providers)) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n\n // Available models for each provider (matching frontend options)\n const anthropicModels = [\n { label: 'Claude Opus 4.6', value: ANTHROPIC_MODELS.CLAUDE_OPUS_4_6 },\n { label: 'Claude Opus 4.5', value: ANTHROPIC_MODELS.CLAUDE_OPUS_4_5 },\n { label: 'Claude Opus 4.1', value: ANTHROPIC_MODELS.CLAUDE_OPUS_4_1 },\n { label: 'Claude Opus 4', value: ANTHROPIC_MODELS.CLAUDE_OPUS_4 },\n { label: 'Claude Sonnet 4.6', value: ANTHROPIC_MODELS.CLAUDE_SONNET_4_6 },\n { label: 'Claude Sonnet 4.5', value: ANTHROPIC_MODELS.CLAUDE_SONNET_4_5 },\n { label: 'Claude Sonnet 4', value: ANTHROPIC_MODELS.CLAUDE_SONNET_4 },\n { label: 'Claude Haiku 4.5', value: ANTHROPIC_MODELS.CLAUDE_HAIKU_4_5 },\n ];\n\n const openaiModels = [\n { label: 'GPT-5.4 Pro', value: OPENAI_MODELS.GPT_5_4_PRO },\n { label: 'GPT-5.4', value: OPENAI_MODELS.GPT_5_4 },\n { label: 'GPT-5.4 Mini', value: OPENAI_MODELS.GPT_5_4_MINI },\n { label: 'GPT-5.4 Nano', value: OPENAI_MODELS.GPT_5_4_NANO },\n { label: 'GPT-5.3 Codex', value: OPENAI_MODELS.GPT_5_3_CODEX },\n { label: 'GPT-5.2 Pro', value: OPENAI_MODELS.GPT_5_2_PRO },\n { label: 'GPT-5.2', value: OPENAI_MODELS.GPT_5_2 },\n { label: 'GPT-5.1', value: OPENAI_MODELS.GPT_5_1 },\n { label: 'o3 Pro', value: OPENAI_MODELS.O3_PRO },\n { label: 'o3', value: OPENAI_MODELS.O3 },\n { label: 'GPT-4.1', value: OPENAI_MODELS.GPT_4_1 },\n { label: 'GPT-4.1 Mini', value: OPENAI_MODELS.GPT_4_1_MINI },\n { label: 'GPT-4.1 Nano', value: OPENAI_MODELS.GPT_4_1_NANO },\n { label: 'GPT-5', value: OPENAI_MODELS.GPT_5 },\n { label: 'GPT-5 Mini', value: OPENAI_MODELS.GPT_5_MINI },\n { label: 'GPT-5 Nano', value: OPENAI_MODELS.GPT_5_NANO },\n ];\n\n const googleModels = [\n { label: 'Gemini 3.1 Pro Preview', value: GOOGLE_MODELS.GEMINI_3_1_PRO_PREVIEW },\n { label: 'Gemini 3.1 Flash Lite Preview', value: GOOGLE_MODELS.GEMINI_3_1_FLASH_LITE_PREVIEW },\n { label: 'Gemini 3 Flash', value: GOOGLE_MODELS.GEMINI_3_FLASH },\n { label: 'Gemini 3 Pro Preview', value: GOOGLE_MODELS.GEMINI_3_PRO_PREVIEW },\n { label: 'Gemini 2.5 Pro', value: GOOGLE_MODELS.GEMINI_2_5_PRO },\n { label: 'Gemini 2.5 Flash', value: GOOGLE_MODELS.GEMINI_2_5_FLASH },\n { label: 'Gemini 2.5 Flash Lite', value: GOOGLE_MODELS.GEMINI_2_5_FLASH_LITE },\n ];\n\n // Handle Azure configuration if selected\n const azureConfigs: any = {};\n if (providers.includes('azure')) {\n p.note('Azure OpenAI requires custom deployment configuration.');\n\n const deploymentName = await p.text({\n message: 'Enter your Azure deployment name:',\n placeholder: 'my-gpt-4o-deployment',\n validate: (value) => {\n if (!value?.trim()) return 'Deployment name is required';\n },\n });\n\n if (p.isCancel(deploymentName)) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n\n const connectionMethod = await p.select({\n message: 'How would you like to connect to Azure?',\n options: [\n { value: 'resource', label: 'Azure Resource Name (recommended)' },\n { value: 'url', label: 'Custom Base URL' },\n ],\n });\n\n if (p.isCancel(connectionMethod)) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n\n if (connectionMethod === 'resource') {\n const resourceName = await p.text({\n message: 'Enter your Azure resource name:',\n placeholder: 'your-azure-resource',\n validate: (value) => {\n if (!value?.trim()) return 'Resource name is required';\n },\n });\n\n if (p.isCancel(resourceName)) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n\n azureConfigs.resourceName = resourceName;\n } else {\n const baseURL = await p.text({\n message: 'Enter your Azure base URL:',\n placeholder: 'https://your-endpoint.openai.azure.com/openai',\n validate: (value) => {\n if (!value?.trim()) return 'Base URL is required';\n if (!value.startsWith('https://')) return 'Base URL must start with https://';\n },\n });\n\n if (p.isCancel(baseURL)) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n\n azureConfigs.baseURL = baseURL;\n }\n\n azureConfigs.deploymentName = deploymentName;\n azureConfigs.model = `azure/${deploymentName}`;\n }\n\n // Collect all available models based on selected providers\n const availableModels = [];\n if (providers.includes('anthropic')) {\n availableModels.push(...anthropicModels);\n }\n if (providers.includes('openai')) {\n availableModels.push(...openaiModels);\n }\n if (providers.includes('google')) {\n availableModels.push(...googleModels);\n }\n if (providers.includes('azure') && azureConfigs.model) {\n availableModels.push({\n label: `${azureConfigs.deploymentName} (Azure)`,\n value: azureConfigs.model,\n });\n }\n\n // Model selection for different use cases\n const baseModel = (await p.select({\n message: 'Select your default model for general tasks (required):',\n options: availableModels,\n })) as string;\n\n if (p.isCancel(baseModel)) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n\n const configureOptionalModels = await p.confirm({\n message: 'Would you like to configure optional models for structured output and summaries?',\n initialValue: false,\n });\n\n if (p.isCancel(configureOptionalModels)) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n\n let structuredOutputModel: string | null = null;\n let summarizerModel: string | null = null;\n\n if (configureOptionalModels) {\n const optionalChoices = [...availableModels, { label: 'Use base model', value: null }];\n\n const structuredOutputResponse = await p.select({\n message: 'Select your model for structured output tasks (or use base model):',\n options: optionalChoices,\n });\n\n if (p.isCancel(structuredOutputResponse)) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n structuredOutputModel = structuredOutputResponse as string | null;\n\n const summarizerResponse = await p.select({\n message: 'Select your model for summaries and quick tasks (or use base model):',\n options: optionalChoices,\n });\n\n if (p.isCancel(summarizerResponse)) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n summarizerModel = summarizerResponse as string | null;\n }\n\n // Helper function to add Azure provider options if needed\n const addProviderOptions = (model: string) => {\n if (model.startsWith('azure/') && (azureConfigs.resourceName || azureConfigs.baseURL)) {\n const providerOptions: any = {};\n if (azureConfigs.resourceName) {\n providerOptions.resourceName = azureConfigs.resourceName;\n }\n if (azureConfigs.baseURL) {\n providerOptions.baseURL = azureConfigs.baseURL;\n }\n return providerOptions;\n }\n return undefined;\n };\n\n // Build model settings object\n const modelSettings: any = {\n base: {\n model: baseModel,\n },\n };\n\n // Add Azure provider options to base model if needed\n const baseProviderOptions = addProviderOptions(baseModel);\n if (baseProviderOptions) {\n modelSettings.base.providerOptions = baseProviderOptions;\n }\n\n // Add optional models only if they were configured\n if (structuredOutputModel) {\n modelSettings.structuredOutput = {\n model: structuredOutputModel,\n };\n\n const structuredProviderOptions = addProviderOptions(structuredOutputModel);\n if (structuredProviderOptions) {\n modelSettings.structuredOutput.providerOptions = structuredProviderOptions;\n }\n }\n\n if (summarizerModel) {\n modelSettings.summarizer = {\n model: summarizerModel,\n };\n\n const summarizerProviderOptions = addProviderOptions(summarizerModel);\n if (summarizerProviderOptions) {\n modelSettings.summarizer.providerOptions = summarizerProviderOptions;\n }\n }\n\n return { modelSettings };\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/agents-cli",
3
- "version": "0.58.18",
3
+ "version": "0.58.19",
4
4
  "description": "Inkeep CLI tool",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -37,8 +37,8 @@
37
37
  "tsx": "^4.20.5",
38
38
  "yaml": "^2.7.0",
39
39
  "zod": "^4.3.6",
40
- "@inkeep/agents-core": "^0.58.18",
41
- "@inkeep/agents-sdk": "^0.58.18"
40
+ "@inkeep/agents-core": "^0.58.19",
41
+ "@inkeep/agents-sdk": "^0.58.19"
42
42
  },
43
43
  "devDependencies": {
44
44
  "diff": "^8.0.3",