@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 +65 -0
- package/README.md +1 -1
- package/dist/index.js +30 -6
- package/package.json +1 -1
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
|
[](https://www.microsoft.com/windows)
|
|
14
14
|
[](https://ubuntu.com)
|
|
15
15
|
|
|
16
|
-
**Status**: โ
Production Ready ยท **v5.8.
|
|
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
|
-
|
|
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;
|