@defai.digital/automatosx 5.8.4 โ†’ 5.8.5

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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,71 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [5.8.5] - 2025-10-29
6
+
7
+ ### ๐Ÿ› Bug Fixes
8
+
9
+ **MCP Provider Integration** - Fixed critical MCP provider name mismatch and model specification issues
10
+
11
+ #### Provider Name Mapping Fix
12
+ - **Problem**: MCP clients use simplified provider names (`'claude'`, `'gemini'`, `'openai'`) but system uses full names (`'claude-code'`, `'gemini-cli'`, `'openai'`)
13
+ - **Impact**: MCP requests with `provider: 'gemini'` failed with routing errors
14
+ - **Solution**: Created bidirectional provider name mapping utility
15
+
16
+ #### Changes Made
17
+
18
+ 1. **Created Provider Mapping Utility** (`src/mcp/utils/provider-mapping.ts` - NEW)
19
+ - `mapMcpProviderToActual()` - Maps MCP names โ†’ Internal names
20
+ - `mapActualProviderToMcp()` - Maps Internal names โ†’ MCP names
21
+ - Enables seamless translation between MCP API and internal system
22
+
23
+ 2. **Updated MCP run_agent Tool** (`src/mcp/tools/run-agent.ts`)
24
+ - Import and apply provider mapping before context creation
25
+ - Enhanced logging to show both MCP and actual provider names
26
+ - Now correctly routes `'gemini'` โ†’ `'gemini-cli'`
27
+
28
+ 3. **Updated MCP get_status Tool** (`src/mcp/tools/get-status.ts`)
29
+ - Map internal provider names to MCP names in status responses
30
+ - Returns: `['claude', 'gemini', 'openai']` instead of `['claude-code', 'gemini-cli', 'openai']`
31
+
32
+ 4. **Fixed OpenAI Model Specification** (`src/providers/openai-provider.ts`)
33
+ - Removed explicit model parameter passing to OpenAI Codex CLI
34
+ - Let CLI use its own default model to avoid version conflicts
35
+ - Added documentation explaining why model is not passed
36
+
37
+ 5. **Verified Gemini Model Handling** (`src/providers/gemini-provider.ts`)
38
+ - Confirmed Gemini CLI already correctly avoids passing model parameter
39
+ - Uses CLI's default model selection
40
+
41
+ 6. **Added Comprehensive Tests**
42
+ - Created `tests/unit/mcp/provider-mapping.test.ts` with full coverage
43
+ - Updated `tests/unit/mcp/tools/run-agent.test.ts` expectations
44
+ - Added bidirectional mapping tests and edge case handling
45
+
46
+ ### โœ… Results
47
+
48
+ **Before Fix:**
49
+ - โŒ MCP client requests with `provider: 'gemini'` failed
50
+ - โŒ Provider routing didn't work for gemini
51
+ - โŒ Models were explicitly specified causing potential conflicts
52
+
53
+ **After Fix:**
54
+ - โœ… MCP client requests with `provider: 'gemini'` work correctly
55
+ - โœ… Provider routing properly routes to 'gemini-cli'
56
+ - โœ… Status responses show simplified names
57
+ - โœ… Both Gemini and OpenAI use their optimal default models
58
+ - โœ… Full test coverage for provider mapping
59
+ - โœ… Fully backwards compatible
60
+
61
+ ### ๐Ÿ“Š Statistics
62
+
63
+ - **New Files**: 2 (provider-mapping.ts, provider-mapping.test.ts)
64
+ - **Modified Files**: 4 (run-agent.ts, get-status.ts, openai-provider.ts, run-agent.test.ts)
65
+ - **Tests**: All tests passing
66
+ - **Backwards Compatibility**: โœ… Fully compatible
67
+
68
+ ---
69
+
5
70
  ## [5.8.4] - 2025-10-28
6
71
 
7
72
  ### ๐Ÿ› Bug Fixes
package/README.md CHANGED
@@ -13,7 +13,7 @@ AutomatosX is a CLI-first orchestration tool that transforms stateless AI assist
13
13
  [![Windows](https://img.shields.io/badge/Windows-10+-blue.svg)](https://www.microsoft.com/windows)
14
14
  [![Ubuntu](https://img.shields.io/badge/Ubuntu-24.04-orange.svg)](https://ubuntu.com)
15
15
 
16
- **Status**: โœ… Production Ready ยท **v5.8.4** ยท October 2025 ยท 19 Specialized Agents ยท 100% Resource Leak Free ยท Spec-Driven Development
16
+ **Status**: โœ… Production Ready ยท **v5.8.5** ยท October 2025 ยท 19 Specialized Agents ยท 100% Resource Leak Free ยท Spec-Driven Development
17
17
 
18
18
  **Latest (v5.8.0)**: Spec-Kit Integration - AutomatosX now supports spec-driven development! Define your project specs in `.specify/` directory (spec.md, plan.md, tasks.md) and let AutomatosX automatically orchestrate tasks based on your dependency graph. Features include: DAG-based task execution, cycle detection, LRU caching, and automatic spec detection. Perfect for structured, multi-step projects. [See full changelog โ†’](CHANGELOG.md)
19
19
 
package/dist/index.js CHANGED
@@ -3959,9 +3959,6 @@ This is a placeholder response. Set AUTOMATOSX_MOCK_PROVIDERS=false to use real
3959
3959
  buildCLIArgs(request) {
3960
3960
  const args = ["exec"];
3961
3961
  args.push("--sandbox", "workspace-write");
3962
- if (request.model) {
3963
- args.push("-m", request.model);
3964
- }
3965
3962
  if (request.temperature !== void 0) {
3966
3963
  args.push("-c", `temperature=${request.temperature}`);
3967
3964
  }
@@ -15221,6 +15218,26 @@ function validateStringParameter(value, paramName, options = {}) {
15221
15218
  }
15222
15219
  }
15223
15220
 
15221
+ // src/mcp/utils/provider-mapping.ts
15222
+ init_esm_shims();
15223
+ function mapMcpProviderToActual(mcpProvider) {
15224
+ if (mcpProvider === void 0) return void 0;
15225
+ const providerMap = {
15226
+ "claude": "claude-code",
15227
+ "gemini": "gemini-cli",
15228
+ "openai": "openai"
15229
+ };
15230
+ return providerMap[mcpProvider] || mcpProvider;
15231
+ }
15232
+ function mapActualProviderToMcp(actualProvider) {
15233
+ const reverseMap = {
15234
+ "claude-code": "claude",
15235
+ "gemini-cli": "gemini",
15236
+ "openai": "openai"
15237
+ };
15238
+ return reverseMap[actualProvider] || actualProvider;
15239
+ }
15240
+
15224
15241
  // src/mcp/tools/run-agent.ts
15225
15242
  function createRunAgentHandler(deps) {
15226
15243
  return async (input) => {
@@ -15231,10 +15248,17 @@ function createRunAgentHandler(deps) {
15231
15248
  minLength: 1,
15232
15249
  maxLength: 1e4
15233
15250
  });
15234
- logger.info("[MCP] run_agent called", { agent, task, provider, no_memory });
15251
+ const actualProvider = mapMcpProviderToActual(provider);
15252
+ logger.info("[MCP] run_agent called", {
15253
+ agent,
15254
+ task,
15255
+ mcpProvider: provider,
15256
+ actualProvider,
15257
+ no_memory
15258
+ });
15235
15259
  try {
15236
15260
  const context = await deps.contextManager.createContext(agent, task, {
15237
- provider,
15261
+ provider: actualProvider,
15238
15262
  skipMemory: no_memory
15239
15263
  });
15240
15264
  const executor = new AgentExecutor(deps.executorConfig);
@@ -15351,7 +15375,7 @@ function createGetStatusHandler(deps) {
15351
15375
  const activeSessions = await deps.sessionManager.getActiveSessions();
15352
15376
  const totalSessions = await deps.sessionManager.getTotalSessionCount();
15353
15377
  const availableProviders = await deps.router.getAvailableProviders();
15354
- const providers = availableProviders.map((p) => p.name);
15378
+ const providers = availableProviders.map((p) => mapActualProviderToMcp(p.name));
15355
15379
  const formatBytes2 = (bytes) => {
15356
15380
  if (bytes === 0) return "0 B";
15357
15381
  const k = 1024;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defai.digital/automatosx",
3
- "version": "5.8.4",
3
+ "version": "5.8.5",
4
4
  "description": "AI Agent Orchestration Platform",
5
5
  "type": "module",
6
6
  "publishConfig": {