@defai.digital/ax-cli 3.8.21 → 3.8.23
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/README.md +275 -1287
- package/dist/agent/core/index.d.ts +8 -0
- package/dist/agent/core/index.js +9 -0
- package/dist/agent/core/index.js.map +1 -0
- package/dist/agent/core/types.d.ts +92 -0
- package/dist/agent/core/types.js +11 -0
- package/dist/agent/core/types.js.map +1 -0
- package/dist/agent/execution/index.d.ts +9 -0
- package/dist/agent/execution/index.js +9 -0
- package/dist/agent/execution/index.js.map +1 -0
- package/dist/agent/execution/tool-executor.d.ts +79 -0
- package/dist/agent/execution/tool-executor.js +281 -0
- package/dist/agent/execution/tool-executor.js.map +1 -0
- package/dist/agent/llm-agent.d.ts +22 -98
- package/dist/agent/llm-agent.js +169 -712
- package/dist/agent/llm-agent.js.map +1 -1
- package/dist/agent/planning/index.d.ts +9 -0
- package/dist/agent/planning/index.js +9 -0
- package/dist/agent/planning/index.js.map +1 -0
- package/dist/agent/planning/plan-executor.d.ts +84 -0
- package/dist/agent/planning/plan-executor.js +223 -0
- package/dist/agent/planning/plan-executor.js.map +1 -0
- package/dist/agent/streaming/index.d.ts +9 -0
- package/dist/agent/streaming/index.js +9 -0
- package/dist/agent/streaming/index.js.map +1 -0
- package/dist/agent/streaming/stream-handler.d.ts +62 -0
- package/dist/agent/streaming/stream-handler.js +193 -0
- package/dist/agent/streaming/stream-handler.js.map +1 -0
- package/dist/agent/subagent-orchestrator.d.ts +3 -3
- package/dist/agent/subagent-orchestrator.js +1 -0
- package/dist/agent/subagent-orchestrator.js.map +1 -1
- package/dist/agent/subagent-types.d.ts +10 -22
- package/dist/agent/subagent-types.js +19 -0
- package/dist/agent/subagent-types.js.map +1 -1
- package/dist/index.js +9 -7
- package/dist/index.js.map +1 -1
- package/dist/llm/client.d.ts +33 -1
- package/dist/llm/client.js +15 -11
- package/dist/llm/client.js.map +1 -1
- package/dist/llm/types.d.ts +7 -1
- package/dist/llm/types.js +5 -4
- package/dist/llm/types.js.map +1 -1
- package/dist/mcp/index.d.ts +31 -0
- package/dist/mcp/index.js +36 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/planner/types.d.ts +8 -8
- package/dist/schemas/index.d.ts +4 -4
- package/dist/schemas/tool-schemas.d.ts +12 -12
- package/dist/tools/bash.js +1 -1
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/text-editor.js +57 -63
- package/dist/tools/text-editor.js.map +1 -1
- package/dist/ui/hooks/use-enhanced-input.js +66 -81
- package/dist/ui/hooks/use-enhanced-input.js.map +1 -1
- package/dist/utils/background-task-manager.js +10 -2
- package/dist/utils/background-task-manager.js.map +1 -1
- package/dist/utils/confirmation-service.js +8 -5
- package/dist/utils/confirmation-service.js.map +1 -1
- package/dist/utils/index.d.ts +85 -6
- package/dist/utils/index.js +103 -15
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/retry-helper.d.ts +7 -6
- package/dist/utils/retry-helper.js +8 -6
- package/dist/utils/retry-helper.js.map +1 -1
- package/dist/utils/settings-manager.d.ts +6 -0
- package/dist/utils/settings-manager.js +51 -64
- package/dist/utils/settings-manager.js.map +1 -1
- package/node_modules/@ax-cli/schemas/dist/index.d.ts +1 -0
- package/node_modules/@ax-cli/schemas/dist/index.d.ts.map +1 -1
- package/node_modules/@ax-cli/schemas/dist/index.js.map +1 -1
- package/node_modules/@ax-cli/schemas/dist/public/agent/chat-types.d.ts +164 -0
- package/node_modules/@ax-cli/schemas/dist/public/agent/chat-types.d.ts.map +1 -0
- package/node_modules/@ax-cli/schemas/dist/public/agent/chat-types.js +10 -0
- package/node_modules/@ax-cli/schemas/dist/public/agent/chat-types.js.map +1 -0
- package/node_modules/@ax-cli/schemas/dist/public/agent/index.d.ts +9 -0
- package/node_modules/@ax-cli/schemas/dist/public/agent/index.d.ts.map +1 -0
- package/node_modules/@ax-cli/schemas/dist/public/agent/index.js +9 -0
- package/node_modules/@ax-cli/schemas/dist/public/agent/index.js.map +1 -0
- package/package.json +1 -1
- package/packages/schemas/dist/index.d.ts +1 -0
- package/packages/schemas/dist/index.d.ts.map +1 -1
- package/packages/schemas/dist/index.js.map +1 -1
- package/packages/schemas/dist/public/agent/chat-types.d.ts +164 -0
- package/packages/schemas/dist/public/agent/chat-types.d.ts.map +1 -0
- package/packages/schemas/dist/public/agent/chat-types.js +10 -0
- package/packages/schemas/dist/public/agent/chat-types.js.map +1 -0
- package/packages/schemas/dist/public/agent/index.d.ts +9 -0
- package/packages/schemas/dist/public/agent/index.d.ts.map +1 -0
- package/packages/schemas/dist/public/agent/index.js +9 -0
- package/packages/schemas/dist/public/agent/index.js.map +1 -0
- package/dist/mcp/config-detector-v2.d.ts +0 -83
- package/dist/mcp/config-detector-v2.js +0 -328
- package/dist/mcp/config-detector-v2.js.map +0 -1
- package/dist/mcp/config-migrator-v2.d.ts +0 -89
- package/dist/mcp/config-migrator-v2.js +0 -288
- package/dist/mcp/config-migrator-v2.js.map +0 -1
- package/dist/mcp/config-v2.d.ts +0 -111
- package/dist/mcp/config-v2.js +0 -443
- package/dist/mcp/config-v2.js.map +0 -1
- package/dist/mcp/transports-v2.d.ts +0 -152
- package/dist/mcp/transports-v2.js +0 -481
- package/dist/mcp/transports-v2.js.map +0 -1
- package/dist/utils/error-sanitizer.d.ts +0 -119
- package/dist/utils/error-sanitizer.js +0 -253
- package/dist/utils/error-sanitizer.js.map +0 -1
- package/dist/utils/errors.d.ts +0 -74
- package/dist/utils/errors.js +0 -139
- package/dist/utils/errors.js.map +0 -1
- package/dist/utils/incremental-analyzer.d.ts +0 -134
- package/dist/utils/incremental-analyzer.js +0 -377
- package/dist/utils/incremental-analyzer.js.map +0 -1
- package/dist/utils/settings.d.ts +0 -1
- package/dist/utils/settings.js +0 -4
- package/dist/utils/settings.js.map +0 -1
- package/dist/utils/streaming-analyzer.d.ts +0 -160
- package/dist/utils/streaming-analyzer.js +0 -214
- package/dist/utils/streaming-analyzer.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,842 +1,159 @@
|
|
|
1
|
-
# AX CLI - Enterprise-Class CLI for GenAI
|
|
1
|
+
# AX CLI - Enterprise-Class CLI for GenAI Coding
|
|
2
2
|
|
|
3
3
|
[](https://npm-stat.com/charts.html?package=%40defai.digital%2Fax-cli)
|
|
4
|
-
[](https://github.com/defai-digital/ax-cli/actions/workflows/test.yml)
|
|
5
5
|
[](https://github.com/defai-digital/ax-cli)
|
|
6
6
|
[](https://www.typescriptlang.org/)
|
|
7
|
-
[](https://nodejs.org/)
|
|
8
8
|
[](https://opensource.org/licenses/MIT)
|
|
9
|
-
[](https://www.apple.com/macos/)
|
|
10
|
-
[](https://www.microsoft.com/windows/)
|
|
11
|
-
[](https://ubuntu.com/)
|
|
12
9
|
|
|
13
|
-
|
|
10
|
+
<p align="center">
|
|
11
|
+
<img src=".github/assets/screenshot1.png" alt="AX CLI Screenshot" width="800"/>
|
|
12
|
+
</p>
|
|
14
13
|
|
|
15
14
|
<p align="center">
|
|
16
15
|
<strong>GLM-Optimized CLI • Enterprise Architecture • 98%+ Test Coverage • TypeScript & Zod</strong>
|
|
17
16
|
</p>
|
|
18
17
|
|
|
19
|
-
## 📋 Table of Contents
|
|
20
|
-
|
|
21
|
-
- [🚀 Quick Start](#-quick-start)
|
|
22
|
-
- [✨ Features](#-features)
|
|
23
|
-
- [🎉 What's New](#-whats-new-in-v3821)
|
|
24
|
-
- [📦 Installation](#-installation)
|
|
25
|
-
- [⚙️ Configuration](#️-configuration)
|
|
26
|
-
- [🔒 Security](#-security--api-key-handling)
|
|
27
|
-
- [🎯 Usage Examples](#-usage-examples)
|
|
28
|
-
- [🔌 MCP Integration](#-mcp-model-context-protocol)
|
|
29
|
-
- [🧠 Project Memory](#-project-memory)
|
|
30
|
-
- [🎯 Multi-Phase Planner](#-multi-phase-task-planner-v300)
|
|
31
|
-
- [🏗️ Architecture](#️-architecture)
|
|
32
|
-
- [📚 Documentation](#-documentation)
|
|
33
|
-
- [📋 Changelog](#-changelog)
|
|
34
|
-
|
|
35
18
|
---
|
|
36
19
|
|
|
37
|
-
##
|
|
38
|
-
|
|
39
|
-
Get up and running in under 2 minutes:
|
|
20
|
+
## Quick Start
|
|
40
21
|
|
|
41
22
|
```bash
|
|
42
|
-
#
|
|
23
|
+
# Install globally
|
|
43
24
|
npm install -g @defai.digital/ax-cli
|
|
44
25
|
|
|
45
|
-
#
|
|
26
|
+
# Configure (secure API key setup)
|
|
46
27
|
ax-cli setup
|
|
47
28
|
|
|
48
|
-
#
|
|
29
|
+
# Initialize your project
|
|
49
30
|
ax-cli init
|
|
50
31
|
|
|
51
|
-
#
|
|
32
|
+
# Start coding!
|
|
52
33
|
ax-cli
|
|
53
34
|
```
|
|
54
35
|
|
|
55
|
-
**That's it!**
|
|
56
|
-
|
|
57
|
-
**Need help?** Run `ax-cli --help` or check the [Usage Guide](#-usage-examples).
|
|
58
|
-
|
|
59
|
-
## ✨ Features
|
|
60
|
-
|
|
61
|
-
- **🤖 GLM-Focused AI CLI**: Optimized for Z.AI's GLM-4.6 (default, configurable)
|
|
62
|
-
- **Note**: For xAI Grok models, use [grok-cli](https://github.com/superagent-ai/grok-cli)
|
|
63
|
-
- **Note**: For Anthropic Claude models, use [claude-code](https://claude.ai/code)
|
|
64
|
-
- **🧠 GLM 4.6 Optimized**: Primary support for General Language Model with advanced reasoning
|
|
65
|
-
- **32K max tokens** (industry-standard, matches Claude Code CLI)
|
|
66
|
-
- 200K context window, 128K max output capability
|
|
67
|
-
- 30% more token efficient than GLM 4.5
|
|
68
|
-
- Optimized for complex code generation and refactoring
|
|
69
|
-
- **🎯 Multi-Phase Task Planner**: Intelligent task decomposition for complex requests
|
|
70
|
-
- Automatic complexity detection (57 keyword patterns)
|
|
71
|
-
- LLM-based plan generation with phases and dependencies
|
|
72
|
-
- Phase-by-phase execution with progress tracking
|
|
73
|
-
- File modification tracking and context pruning between phases
|
|
74
|
-
- Plan management commands: `/plans`, `/plan`, `/phases`, `/pause`, `/resume`, `/skip`, `/abandon`
|
|
75
|
-
- **🔄 Session Continuity**: Directory-specific conversation history with `--continue` flag
|
|
76
|
-
- Preserve context across sessions for multi-day development
|
|
77
|
-
- Each project maintains its own independent history
|
|
78
|
-
- Seamlessly resume conversations where you left off
|
|
79
|
-
- **🔌 Enhanced MCP Integration**: Model Context Protocol with production-ready templates
|
|
80
|
-
- **One-command setup**: `ax-cli mcp add figma --template`
|
|
81
|
-
- **12+ pre-configured templates**: Figma, GitHub, Vercel, Puppeteer, Storybook, Sentry, and more
|
|
82
|
-
- **Tool discovery**: `ax-cli mcp tools <server>` to preview capabilities
|
|
83
|
-
- **Template browser**: `ax-cli mcp browse` for quick navigation
|
|
84
|
-
- **Front-end focused**: Design-to-code workflows with Figma integration
|
|
85
|
-
- **[Complete Guide](docs/mcp-frontend-guide.md)**: Front-end developer workflows
|
|
86
|
-
- **✅ Production-Ready**: 98%+ test coverage, TypeScript strict mode, Zod validation
|
|
87
|
-
- **🎯 Interactive & Headless**: Chat interface or one-shot commands
|
|
88
|
-
- **📝 Smart Project Init**: Automatic project analysis and custom instructions
|
|
89
|
-
- **🧠 Project Memory**: Intelligent context caching for z.ai GLM-4.6
|
|
90
|
-
- Automatic project scanning and context generation
|
|
91
|
-
- z.ai implicit caching support (50% token savings on repeated context)
|
|
92
|
-
- Cache statistics tracking and efficiency monitoring
|
|
93
|
-
- **🏥 Health Check**: Comprehensive diagnostics with `ax-cli doctor`
|
|
94
|
-
- Verify configuration, API connectivity, and dependencies
|
|
95
|
-
- Detailed error messages with actionable suggestions
|
|
96
|
-
- **🎨 Smart Verbosity Control**: Multi-level output for optimal UX
|
|
97
|
-
- **Quiet mode** (default): Groups tool operations → 85% less noise
|
|
98
|
-
- **Concise mode**: One line per tool execution
|
|
99
|
-
- **Verbose mode**: Full details for debugging
|
|
100
|
-
- Press `Ctrl+O` to cycle between levels
|
|
101
|
-
- Auto-expands errors with full details
|
|
102
|
-
- **🔄 Auto-Update**: Built-in update checker and installer
|
|
103
|
-
- **🔒 Enterprise-Grade Security**: **FREE & Open Source**
|
|
104
|
-
- **Command Injection Protection**: CVSS 9.8 CRITICAL fix - Safe command execution with whitelisting
|
|
105
|
-
- **Path Traversal Hardening**: CVSS 8.6 HIGH fix - Prevent unauthorized file system access
|
|
106
|
-
- **SSRF Attack Prevention**: CVSS 7.5 HIGH fix - Validate MCP transport URLs and block private IPs
|
|
107
|
-
- **Input Sanitization**: CVSS 7.0 HIGH fix - Comprehensive input validation and sanitization
|
|
108
|
-
- **Error Sanitization**: CVSS 6.5 MEDIUM fix - Prevent sensitive data leakage in error messages
|
|
109
|
-
- **API Key Encryption**: AES-256-GCM encryption at rest with automatic migration
|
|
110
|
-
- **Memory Leak Fixes**: Process pool management for long-running operations
|
|
111
|
-
- **Security Audit Logging**: Basic JSON logging with 30-day retention
|
|
112
|
-
- **Rate Limiting**: Token bucket algorithm to prevent API abuse (100 req/min)
|
|
113
|
-
- **1517+ tests passing** with **98.29% coverage** - Production-ready security
|
|
114
|
-
- **User-friendly defaults**: Full functionality with enterprise-grade security for everyone
|
|
115
|
-
- **🏢 Enterprise Features**: Advanced capabilities for teams and compliance
|
|
116
|
-
- **Compliance Report Generation**: SOC2, HIPAA, PCI-DSS automated reporting
|
|
117
|
-
- **Advanced Audit Logging**: Tamper-proof encrypted logs with hash chains and extended retention (1+ years)
|
|
118
|
-
- **Real-time Security Dashboards**: Monitor security events, anomalies, and compliance status
|
|
119
|
-
- **Advanced Rate Limiting**: Custom quotas per user/team/project with cost analytics and budget alerts
|
|
120
|
-
- **Team Collaboration**: Shared chat history with full-text search and multi-format export
|
|
121
|
-
- **Policy Enforcement**: Tool execution policies, approval workflows, and usage analytics
|
|
122
|
-
- **SSO/SAML Integration**: Enterprise identity provider support
|
|
123
|
-
- **Priority Support**: 24-hour SLA email support
|
|
124
|
-
- 📧 **Contact sales@defai.digital** for enterprise licensing and pricing
|
|
125
|
-
- **📊 Advanced Code Analysis**: Professional-grade static analysis tools
|
|
126
|
-
- **Dependency Analyzer**: Detect circular dependencies, calculate coupling metrics, identify orphan and hub files
|
|
127
|
-
- **Code Smell Detector**: Find 10+ anti-patterns (long methods, large classes, duplicates, dead code, etc.)
|
|
128
|
-
- **Hotspot Analyzer**: Identify frequently changing, complex code using git history analysis
|
|
129
|
-
- **Metrics Calculator**: Cyclomatic complexity, Halstead metrics, Maintainability Index (MI)
|
|
130
|
-
- **Security Scanner**: Detect SQL injection, XSS, path traversal, hardcoded secrets, and more
|
|
131
|
-
- **[Complete Guide](docs/analysis-tools.md)** and **[API Documentation](docs/api/analyzers.md)**
|
|
132
|
-
|
|
133
|
-
### Max Tokens Configuration
|
|
134
|
-
|
|
135
|
-
AX CLI uses **industry-standard max tokens** based on research of leading AI coding tools:
|
|
136
|
-
|
|
137
|
-
| Tool | Max Tokens | Notes |
|
|
138
|
-
|------|-----------|-------|
|
|
139
|
-
| **Claude Code CLI** | 16k - 32k | Industry standard |
|
|
140
|
-
| **GitHub Copilot** | 64k | GPT-4o default |
|
|
141
|
-
| **Cursor AI** | 200k | With intelligent pruning |
|
|
142
|
-
| **AX CLI (GLM 4.6)** | **32k** ✅ | Matches Claude Code upper default |
|
|
143
|
-
| **AX CLI (Others)** | 8k | Appropriate for each model |
|
|
144
|
-
|
|
145
|
-
**Why 32k for GLM 4.6?**
|
|
146
|
-
- Competitive with industry leaders (Claude Code, GitHub Copilot)
|
|
147
|
-
- GLM 4.6 supports up to 128k max output (our 32k is conservative at 25%)
|
|
148
|
-
- Better for complex code generation, large file modifications, and multi-file context
|
|
149
|
-
- Based on official Z.AI documentation and industry benchmarking
|
|
150
|
-
|
|
151
|
-
[View all features →](docs/features.md)
|
|
152
|
-
|
|
153
|
-
## 🎉 What's New in v3.8.21
|
|
154
|
-
|
|
155
|
-
**Bug Fixes & Configurable Timeouts** - Adds configurable confirmation timeout.
|
|
156
|
-
|
|
157
|
-
### 🐛 Bug Fixes
|
|
158
|
-
|
|
159
|
-
- **Configurable confirmation timeout** - File operation confirmation timeout is now configurable via `TIMEOUT_CONFIG.CONFIRMATION_TIMEOUT` (default: 60 seconds)
|
|
160
|
-
- **Dynamic timeout message** - Confirmation timeout message now displays the actual timeout value instead of hardcoded "60 seconds"
|
|
161
|
-
|
|
162
|
-
### 📝 Configuration
|
|
163
|
-
|
|
164
|
-
Added new timeout constant in `config-defaults/settings.yaml`:
|
|
165
|
-
|
|
166
|
-
```yaml
|
|
167
|
-
timeouts:
|
|
168
|
-
# ... existing timeouts ...
|
|
169
|
-
confirmation_timeout: 60000 # 60 seconds for file operation confirmation
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
### ✅ Quality
|
|
173
|
-
|
|
174
|
-
- All 2083 tests passing
|
|
175
|
-
- 0 lint errors (570 warnings)
|
|
176
|
-
- TypeScript strict mode passes
|
|
177
|
-
- Build succeeds
|
|
178
|
-
- Zero breaking changes
|
|
179
|
-
|
|
180
|
-
---
|
|
181
|
-
|
|
182
|
-
## 🎉 What's New in v3.8.20
|
|
183
|
-
|
|
184
|
-
**Centralized Paths & Unified Timeouts** - Uses centralized constants for paths and timeouts.
|
|
185
|
-
|
|
186
|
-
### 🔧 Improvements
|
|
187
|
-
|
|
188
|
-
- **Centralized path constants** - Updated files to use `CONFIG_PATHS`:
|
|
189
|
-
- `memory.ts`: Uses `CONFIG_PATHS.CUSTOM_MD` and `CONFIG_PATHS.INDEX_JSON` (replaces 5 duplicated path constructions)
|
|
190
|
-
- `mcp-migrate.ts`: Uses `CONFIG_PATHS.PROJECT_SETTINGS`
|
|
191
|
-
- `path-helpers.ts`: Uses `CONFIG_PATHS.PROJECT_DIR`
|
|
192
|
-
- **Unified timeout usage** - Updated files to use `TIMEOUT_CONFIG` and `MCP_CONFIG`:
|
|
193
|
-
- `permission-manager.ts`: Uses `TIMEOUT_CONFIG.TOOL_APPROVAL`
|
|
194
|
-
- `mcp.ts`: Uses `MCP_CONFIG.HEALTH_CHECK_INTERVAL` for health monitoring
|
|
195
|
-
|
|
196
|
-
### 📝 Benefits
|
|
197
|
-
|
|
198
|
-
- **Less Duplication**: Path constructions like `path.join(process.cwd(), CONFIG_DIR_NAME, FILE_NAMES.CUSTOM_MD)` replaced with `CONFIG_PATHS.CUSTOM_MD`
|
|
199
|
-
- **Single Source of Truth**: All timeout and path values centralized in constants
|
|
200
|
-
- **Better Maintainability**: Changes to paths only need to be made in one place
|
|
201
|
-
|
|
202
|
-
### ✅ Quality
|
|
203
|
-
|
|
204
|
-
- All 2083 tests passing
|
|
205
|
-
- 0 lint errors (570 warnings)
|
|
206
|
-
- TypeScript strict mode passes
|
|
207
|
-
- Build succeeds
|
|
208
|
-
- Zero breaking changes
|
|
209
|
-
|
|
210
|
-
---
|
|
211
|
-
|
|
212
|
-
## 🎉 What's New in v3.8.19
|
|
213
|
-
|
|
214
|
-
**Deduplicated Code, Performance & Stability** - Reduces code duplication and improves stability.
|
|
215
|
-
|
|
216
|
-
### 🔧 Improvements
|
|
217
|
-
|
|
218
|
-
- **Exported reusable utilities** - Added `sleep()` and `calculateExponentialBackoff()` from retry-helper:
|
|
219
|
-
- `sleep(ms)`: Promise-based delay utility
|
|
220
|
-
- `calculateExponentialBackoff(attempt, initialDelay, maxDelay, addJitter)`: Calculates backoff with overflow protection
|
|
221
|
-
- **Reduced duplicated code** - Updated files to use centralized utilities:
|
|
222
|
-
- `task-planner.ts`: Uses `sleep()` and `calculateExponentialBackoff()` instead of inline implementations
|
|
223
|
-
- `process-pool.ts`: Uses `sleep()` instead of `new Promise(resolve => setTimeout(...))`
|
|
224
|
-
- `llm-agent.ts`: Uses `TIMEOUT_CONFIG.TOOL_APPROVAL` instead of hardcoded `5 * 60 * 1000`
|
|
225
|
-
- **Extended timeout configuration** - Added new timeout constants:
|
|
226
|
-
- `tool_approval`: 5 minutes for tool approval timeout
|
|
227
|
-
- `context_cleanup_interval`: 5 minutes for context manager cleanup
|
|
228
|
-
- **Updated cleanup intervals** - Centralized cleanup timing:
|
|
229
|
-
- `context-manager.ts`: Uses `TIMEOUT_CONFIG.CONTEXT_CLEANUP_INTERVAL`
|
|
230
|
-
- `rate-limiter.ts`: Uses `TIMEOUT_CONFIG.CONTEXT_CLEANUP_INTERVAL`
|
|
231
|
-
|
|
232
|
-
### 📝 Configuration
|
|
233
|
-
|
|
234
|
-
Extended `timeouts` section in `config-defaults/settings.yaml`:
|
|
235
|
-
```yaml
|
|
236
|
-
timeouts:
|
|
237
|
-
# ... existing timeouts ...
|
|
238
|
-
tool_approval: 300000
|
|
239
|
-
context_cleanup_interval: 300000
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
### ✅ Quality
|
|
243
|
-
|
|
244
|
-
- All 2083 tests passing
|
|
245
|
-
- 0 lint errors (570 warnings)
|
|
246
|
-
- TypeScript strict mode passes
|
|
247
|
-
- Build succeeds
|
|
248
|
-
- Zero breaking changes
|
|
249
|
-
|
|
250
|
-
---
|
|
251
|
-
|
|
252
|
-
## 🎉 What's New in v3.8.18
|
|
253
|
-
|
|
254
|
-
**Extended Timeout Configuration** - Adds network/API and UI timeout constants.
|
|
255
|
-
|
|
256
|
-
### 🔧 Improvements
|
|
257
|
-
|
|
258
|
-
- **Extended timeout configuration** - Added new timeout constants:
|
|
259
|
-
- `settings_cache_ttl`: 5 seconds for settings manager cache
|
|
260
|
-
- `api_health_check`: 5 seconds for API health checks
|
|
261
|
-
- `command_check`: 3 seconds for command availability checks
|
|
262
|
-
- `mcp_init`: 5 seconds for MCP initialization
|
|
263
|
-
- `shutdown`: 10 seconds for graceful shutdown
|
|
264
|
-
- `notification_display`: 3 seconds for notification display
|
|
265
|
-
- **Updated files to use centralized constants**:
|
|
266
|
-
- `bash-output.ts`: Uses `TIMEOUT_CONFIG.BASH_DEFAULT`
|
|
267
|
-
- `task-planner.ts`: Uses `TIMEOUT_CONFIG.MS_PER_SECOND` and `MCP_CONFIG.RECONNECT_MAX_DELAY`
|
|
268
|
-
- `use-input-handler.ts`: Uses `TIMEOUT_CONFIG.BASH_DEFAULT`
|
|
269
|
-
- `settings-manager.ts`: Uses `TIMEOUT_CONFIG.SETTINGS_CACHE_TTL`
|
|
270
|
-
- `llm/tools.ts`: Uses `TIMEOUT_CONFIG.MCP_INIT`
|
|
271
|
-
|
|
272
|
-
### 📝 Configuration
|
|
273
|
-
|
|
274
|
-
Extended `timeouts` section in `config-defaults/settings.yaml`:
|
|
275
|
-
```yaml
|
|
276
|
-
timeouts:
|
|
277
|
-
# ... existing timeouts ...
|
|
278
|
-
settings_cache_ttl: 5000
|
|
279
|
-
api_health_check: 5000
|
|
280
|
-
command_check: 3000
|
|
281
|
-
mcp_init: 5000
|
|
282
|
-
shutdown: 10000
|
|
283
|
-
notification_display: 3000
|
|
284
|
-
```
|
|
285
|
-
|
|
286
|
-
### ✅ Quality
|
|
287
|
-
|
|
288
|
-
- All 2083 tests passing
|
|
289
|
-
- TypeScript strict mode passes
|
|
290
|
-
- Build succeeds
|
|
291
|
-
- Zero breaking changes
|
|
292
|
-
|
|
293
|
-
---
|
|
294
|
-
|
|
295
|
-
## 🎉 What's New in v3.8.17
|
|
296
|
-
|
|
297
|
-
**Code Quality & Configuration Centralization** - Removes hardcoded values and unifies configuration.
|
|
298
|
-
|
|
299
|
-
### 🔧 Improvements
|
|
300
|
-
|
|
301
|
-
- **Centralized timeout configuration** - All timeout values now configurable via `config-defaults/settings.yaml`
|
|
302
|
-
- `TIMEOUT_CONFIG` exported from `constants.ts` for consistent access
|
|
303
|
-
- Bash, search, hook, streaming, and process pool timeouts centralized
|
|
304
|
-
- **Unified MCP configuration** - Health check interval and reconnect delay now in `MCP_CONFIG`
|
|
305
|
-
- **Extended `SettingsYaml` interface** - Added `timeouts` section for configurable timeout values
|
|
306
|
-
- **Removed hardcoded values** - Replaced magic numbers with named constants
|
|
307
|
-
|
|
308
|
-
### 📝 Configuration
|
|
309
|
-
|
|
310
|
-
New `timeouts` section in `config-defaults/settings.yaml`:
|
|
311
|
-
```yaml
|
|
312
|
-
timeouts:
|
|
313
|
-
bash_default: 30000
|
|
314
|
-
search_default: 30000
|
|
315
|
-
hook_default: 30000
|
|
316
|
-
streaming_first_chunk: 90000
|
|
317
|
-
streaming_idle: 120000
|
|
318
|
-
process_execution: 30000
|
|
319
|
-
process_idle: 60000
|
|
320
|
-
```
|
|
321
|
-
|
|
322
|
-
### ✅ Quality
|
|
323
|
-
|
|
324
|
-
- All 2083 tests passing
|
|
325
|
-
- TypeScript strict mode passes
|
|
326
|
-
- Build succeeds
|
|
327
|
-
- Zero breaking changes
|
|
328
|
-
|
|
329
|
-
---
|
|
330
|
-
|
|
331
|
-
## 🎉 What's New in v3.8.16
|
|
332
|
-
|
|
333
|
-
**MCP Timeout Configuration** - Fixes [#13](https://github.com/defai-digital/ax-cli/issues/13): AutomatosX agent timeout errors.
|
|
334
|
-
|
|
335
|
-
### ✨ New Features
|
|
336
|
-
|
|
337
|
-
- **Per-server MCP timeout configuration** - Configure custom timeouts for long-running MCP tools
|
|
338
|
-
- Add `timeout` field to MCP server config (in milliseconds)
|
|
339
|
-
- Supports AutomatosX agents with 45+ minute execution times
|
|
340
|
-
- Default: 60 seconds (MCP SDK default)
|
|
341
|
-
|
|
342
|
-
### 📝 Configuration Example
|
|
343
|
-
|
|
344
|
-
```json
|
|
345
|
-
{
|
|
346
|
-
"mcpServers": {
|
|
347
|
-
"automatosx": {
|
|
348
|
-
"name": "automatosx",
|
|
349
|
-
"transport": { "type": "stdio", "command": "ax", "args": ["mcp"] },
|
|
350
|
-
"timeout": 2700000
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
```
|
|
355
|
-
|
|
356
|
-
### 🐛 Bug Fixes
|
|
357
|
-
|
|
358
|
-
- **Fixed MCP error -32001 "Request timed out"** - Long-running tools no longer fail prematurely
|
|
359
|
-
- **Per-tool timeout propagation** - Timeout now correctly passed to MCP SDK `callTool()`
|
|
360
|
-
|
|
361
|
-
### ✅ Quality
|
|
362
|
-
|
|
363
|
-
- All tests passing
|
|
364
|
-
- TypeScript strict mode passes
|
|
365
|
-
- Build succeeds
|
|
366
|
-
- Zero breaking changes
|
|
367
|
-
|
|
368
|
-
---
|
|
369
|
-
|
|
370
|
-
## 🎉 What's New in v3.8.15
|
|
371
|
-
|
|
372
|
-
**Stability & Robustness Release** - Fixes streaming timeouts, search tool errors, and bash command validation:
|
|
373
|
-
|
|
374
|
-
### 🔧 Improvements
|
|
375
|
-
|
|
376
|
-
- **Increased streaming timeouts** - First chunk timeout increased from 30s to 90s, idle timeout from 60s to 120s to handle complex operations with large context
|
|
377
|
-
- **Better file type handling in search** - Fixed ripgrep `tsx` file type error by using glob patterns for non-builtin types (tsx, jsx, vue, svelte, etc.)
|
|
378
|
-
- **Improved cd command validation** - Compound commands like `cd /path && grep` now show helpful error messages instead of failing silently
|
|
379
|
-
|
|
380
|
-
### 🐛 Bug Fixes
|
|
381
|
-
|
|
382
|
-
- **Fixed "Streaming first chunk timeout" errors** - Complex operations no longer timeout prematurely
|
|
383
|
-
- **Fixed "unrecognized file type: tsx" in search** - Search tool now handles modern file extensions correctly
|
|
384
|
-
- **Fixed cd command with compound operators** - Clear error message explaining how to run commands in different directories
|
|
385
|
-
|
|
386
|
-
### ✅ Quality
|
|
387
|
-
|
|
388
|
-
- All tests passing
|
|
389
|
-
- TypeScript strict mode passes
|
|
390
|
-
- Build succeeds
|
|
391
|
-
- Zero breaking changes
|
|
392
|
-
|
|
393
|
-
---
|
|
394
|
-
|
|
395
|
-
## 🎉 What's New in v3.8.14
|
|
396
|
-
|
|
397
|
-
**MCP Stability & Validation Release** - Prevents MCP server timeouts from misconfigured servers:
|
|
398
|
-
|
|
399
|
-
### 🔧 Improvements
|
|
400
|
-
|
|
401
|
-
- **Proactive REPL command detection** - MCP config loader now detects commands that would start a REPL and hang forever (`node`, `python`, `python3`, `deno`, `bun`, `ruby`, `irb` without arguments)
|
|
402
|
-
- **Automatic server skipping** - Problematic MCP servers are automatically skipped with a clear warning instead of causing 60-second timeouts
|
|
403
|
-
- **Better error messages** - Clear guidance on how to fix misconfigured MCP servers
|
|
404
|
-
|
|
405
|
-
### 🐛 Bug Fixes
|
|
406
|
-
|
|
407
|
-
- **Fixed MCP server timeout on REPL commands** - Servers configured with `node` (no args) no longer hang indefinitely
|
|
408
|
-
- **Improved config validation** - Both legacy and modern MCP config formats now validated for REPL commands
|
|
409
|
-
|
|
410
|
-
### ✅ Quality
|
|
411
|
-
|
|
412
|
-
- All tests passing
|
|
413
|
-
- TypeScript strict mode passes
|
|
414
|
-
- Build succeeds
|
|
415
|
-
- Zero breaking changes
|
|
416
|
-
|
|
417
|
-
---
|
|
418
|
-
|
|
419
|
-
## 🎉 What's New in v3.8.13
|
|
420
|
-
|
|
421
|
-
**Code Quality & Refactoring Release** - Centralized configuration and unified patterns:
|
|
422
|
-
|
|
423
|
-
### 🔧 Improvements
|
|
424
|
-
|
|
425
|
-
- **Centralized hardcoded values** - Replaced hardcoded `400` max tool rounds in `src/index.ts` with `AGENT_CONFIG.MAX_TOOL_ROUNDS`
|
|
426
|
-
- **New STREAMING_CONFIG constant** - Created centralized streaming configuration in `src/llm/client.ts` for timeout values
|
|
427
|
-
- **Unified cache eviction strategy** - Standardized 80% target capacity eviction across `subagent.ts`, `llm-agent.ts`, and `progress-tracker.ts`
|
|
428
|
-
- **New BASH_OUTPUT_CACHE_MAX_SIZE constant** - Added to `CACHE_CONFIG` for bash output hash cache
|
|
429
|
-
- **Improved Map iteration safety** - Cache eviction now creates key array before deletion to avoid iterator invalidation
|
|
430
|
-
|
|
431
|
-
### 🐛 Bug Fixes
|
|
432
|
-
|
|
433
|
-
- **Cleaned up orphaned test files** - Removed temporary `test-file-*.ts` files causing ESLint parsing errors
|
|
434
|
-
|
|
435
|
-
### ✅ Quality
|
|
436
|
-
|
|
437
|
-
- All 2083 tests passing
|
|
438
|
-
- TypeScript strict mode passes
|
|
439
|
-
- Build succeeds
|
|
440
|
-
- Zero breaking changes
|
|
441
|
-
|
|
442
|
-
---
|
|
443
|
-
|
|
444
|
-
## 🎉 What's New in v3.8.12
|
|
445
|
-
|
|
446
|
-
**Security & Code Quality Release** - ReDoS vulnerability fixes and code cleanup:
|
|
447
|
-
|
|
448
|
-
### 🔒 Security Fixes
|
|
449
|
-
|
|
450
|
-
- **Fixed ReDoS vulnerability in permission manager** - Glob pattern matching now uses `[^/]*` instead of `.*` to prevent catastrophic backtracking attacks
|
|
451
|
-
- **Fixed ReDoS vulnerability in incremental analyzer** - Same fix applied to prevent exponential time complexity on malicious patterns
|
|
452
|
-
|
|
453
|
-
### 🐛 Bug Fixes
|
|
454
|
-
|
|
455
|
-
- **Fixed 5 unused error variables in catch blocks** - Removed `_error` variables that ESLint warned about in:
|
|
456
|
-
- `churn-calculator.ts`
|
|
457
|
-
- `hotspot-detector.ts` (2 instances)
|
|
458
|
-
- `metrics-analyzer.ts`
|
|
459
|
-
- `security-analyzer.ts`
|
|
460
|
-
- **Fixed 2 parseInt calls missing radix parameter** - Added explicit radix `10` to `parseInt()` calls in `status.ts` to ensure correct decimal parsing
|
|
461
|
-
|
|
462
|
-
### ✅ Quality
|
|
463
|
-
|
|
464
|
-
- All 2083 tests passing
|
|
465
|
-
- TypeScript strict mode passes
|
|
466
|
-
- Zero breaking changes
|
|
467
|
-
- Improved security posture against ReDoS attacks
|
|
468
|
-
|
|
469
|
-
---
|
|
470
|
-
|
|
471
|
-
## 🎉 What's New in v3.8.11
|
|
472
|
-
|
|
473
|
-
**Critical npm Install Fix** - Fixes the `ERR_MODULE_NOT_FOUND` error when running ax-cli after npm install:
|
|
474
|
-
|
|
475
|
-
### 🐛 Bug Fixes
|
|
476
|
-
|
|
477
|
-
- **Fixed @ax-cli/schemas module not found** - Resolved the error where Node.js couldn't find the bundled `@ax-cli/schemas` package
|
|
478
|
-
- Added `prepublishOnly` script that properly copies workspace package to `node_modules/` before publishing
|
|
479
|
-
- Added `postpublish` script to restore workspace symlink for local development
|
|
480
|
-
- `bundleDependencies` now correctly includes the package files in the npm tarball
|
|
481
|
-
|
|
482
|
-
### 🔧 Technical Details
|
|
483
|
-
|
|
484
|
-
The issue was that npm's `bundleDependencies` doesn't follow workspace symlinks. The fix:
|
|
485
|
-
1. Before publish: Replace symlink with real directory copy
|
|
486
|
-
2. npm pack/publish: Bundles the actual files into tarball
|
|
487
|
-
3. After publish: Restore symlink for local development
|
|
488
|
-
|
|
489
|
-
### ✅ Quality
|
|
490
|
-
|
|
491
|
-
- Verified: Package extracts and runs correctly after npm install
|
|
492
|
-
- All tests passing
|
|
493
|
-
- Zero breaking changes
|
|
494
|
-
|
|
495
|
-
---
|
|
496
|
-
|
|
497
|
-
## 🎉 What's New in v3.8.10
|
|
498
|
-
|
|
499
|
-
**npm Publish Fix & Code Quality** - Critical fix for npm installation and continued refactoring:
|
|
500
|
-
|
|
501
|
-
### 🐛 Bug Fixes
|
|
502
|
-
|
|
503
|
-
- **Fixed npm install failure** - Resolved `EUNSUPPORTEDPROTOCOL` error when installing from npm
|
|
504
|
-
- Changed `workspace:*` (pnpm-specific) to `*` (npm-compatible) for `@ax-cli/schemas` dependency
|
|
505
|
-
- Added `bundleDependencies` to properly bundle the workspace package in npm tarball
|
|
506
|
-
- Users can now install with `npm install -g @defai.digital/ax-cli` without errors
|
|
507
|
-
|
|
508
|
-
### 🔧 Improvements
|
|
509
|
-
|
|
510
|
-
- **Centralized tool constants** - Added `TOOL_DEFAULTS` constant object in `src/llm/tools.ts`
|
|
511
|
-
- **Unified naming conventions** - Renamed `GROK_TOOLS` to `LLM_TOOLS` with backwards-compatible aliases
|
|
512
|
-
- **Enhanced text editor** - Added `EDITOR_CONFIG` and `ERROR_MESSAGES` constants for maintainability
|
|
513
|
-
- **Atomic file writes** - Extracted `atomicWriteFile()` helper to eliminate code duplication
|
|
514
|
-
|
|
515
|
-
### ✅ Quality
|
|
516
|
-
|
|
517
|
-
- All 2083 tests passing
|
|
518
|
-
- TypeScript strict mode passes
|
|
519
|
-
- Build succeeds
|
|
520
|
-
- Zero breaking changes
|
|
521
|
-
|
|
522
|
-
---
|
|
523
|
-
|
|
524
|
-
## 🎉 What's New in v3.8.9
|
|
525
|
-
|
|
526
|
-
**Refactoring & Configuration Improvements** - Further centralization and code quality enhancements:
|
|
527
|
-
|
|
528
|
-
### 🔧 Improvements
|
|
529
|
-
|
|
530
|
-
- **Centralized file name constants** - Added `FILE_NAMES` constant object to eliminate hard-coded file names across the codebase
|
|
531
|
-
- **Extended CONFIG_PATHS** - Added new path constants for CUSTOM_MD, INDEX_JSON, MEMORY_JSON, and user directories
|
|
532
|
-
- **Unified path handling** - Replaced 15+ hard-coded `.ax-cli` path references with centralized constants
|
|
533
|
-
- **Improved text editor tool** - Enhanced functionality and reliability
|
|
534
|
-
- **Subagent types refinement** - Streamlined specialized agent type definitions
|
|
535
|
-
- **Prompt improvements** - Enhanced default prompts configuration
|
|
536
|
-
|
|
537
|
-
### ✅ Quality
|
|
538
|
-
|
|
539
|
-
- TypeScript strict mode passes
|
|
540
|
-
- Build succeeds
|
|
541
|
-
- 76/77 test files pass
|
|
542
|
-
- Zero breaking changes
|
|
543
|
-
|
|
544
|
-
---
|
|
545
|
-
|
|
546
|
-
## 🎉 What's New in v3.8.8
|
|
547
|
-
|
|
548
|
-
**Code Quality & Maintainability Release** - Major refactoring for improved code consistency:
|
|
549
|
-
|
|
550
|
-
### 🔧 Improvements
|
|
551
|
-
|
|
552
|
-
- **Centralized configuration constants** - Added `CONFIG_DIR_NAME` constant to eliminate hard-coded `.ax-cli` strings across 15+ files
|
|
553
|
-
- **Unified error handling** - Replaced inline `error instanceof Error ? error.message : String(error)` patterns with `extractErrorMessage()` utility across 20+ files
|
|
554
|
-
- **Improved ES module consistency** - Converted inline `require()` calls to proper ES module imports
|
|
555
|
-
- **Better home directory handling** - Replaced `process.env.HOME || process.env.USERPROFILE` patterns with Node.js `homedir()` function
|
|
556
|
-
- **Removed examples folder** - Cleaned up unused example files
|
|
557
|
-
|
|
558
|
-
### ✅ Quality
|
|
559
|
-
|
|
560
|
-
- All tests passing
|
|
561
|
-
- 98%+ test coverage maintained
|
|
562
|
-
- Zero breaking changes
|
|
563
|
-
- Improved code maintainability
|
|
564
|
-
|
|
565
|
-
---
|
|
566
|
-
|
|
567
|
-
## 🎉 What's New in v3.8.7
|
|
568
|
-
|
|
569
|
-
**Critical Bug Fixes & Resilience Improvements** - Stability and reliability enhancements.
|
|
570
|
-
|
|
571
|
-
---
|
|
572
|
-
|
|
573
|
-
## 🎉 What's New in v3.8.6
|
|
574
|
-
|
|
575
|
-
**Patch Release** - Bug fixes and stability improvements:
|
|
576
|
-
|
|
577
|
-
### 🐛 Bug Fixes
|
|
578
|
-
|
|
579
|
-
- **Performance optimizations** - Improved response times for tool operations
|
|
580
|
-
- **Stability improvements** - Enhanced error handling in edge cases
|
|
581
|
-
|
|
582
|
-
### ✅ Quality
|
|
583
|
-
|
|
584
|
-
- All 2029 tests passing
|
|
585
|
-
- 98%+ test coverage maintained
|
|
586
|
-
- Zero breaking changes
|
|
587
|
-
|
|
588
|
-
---
|
|
589
|
-
|
|
590
|
-
## 🎉 What's New in v3.8.5
|
|
591
|
-
|
|
592
|
-
**Maintenance Release** - Dependency updates and minor improvements:
|
|
593
|
-
|
|
594
|
-
### 🔧 Improvements
|
|
595
|
-
|
|
596
|
-
- **Updated dependencies** - Latest package versions for improved security and performance
|
|
597
|
-
- **Documentation refinements** - Minor improvements to clarity and accuracy
|
|
598
|
-
|
|
599
|
-
### ✅ Quality
|
|
600
|
-
|
|
601
|
-
- All 2029 tests passing
|
|
602
|
-
- 98%+ test coverage maintained
|
|
603
|
-
- Zero breaking changes
|
|
604
|
-
|
|
605
|
-
---
|
|
606
|
-
|
|
607
|
-
## 🎉 What's New in v3.8.4
|
|
608
|
-
|
|
609
|
-
**Security & Stability Fixes** - Improved error handling and audit logging robustness:
|
|
610
|
-
|
|
611
|
-
### 🐛 Bug Fixes
|
|
612
|
-
|
|
613
|
-
- **Fixed audit logger crash on permission errors** - Gracefully handle EPERM/EACCES/EROFS errors instead of crashing
|
|
614
|
-
- **Fixed search validation errors being lost** - Validation errors now returned even when audit logging fails
|
|
615
|
-
- **Fixed auto-accept logger always enabled** - Now defaults to disabled to prevent unexpected disk writes
|
|
616
|
-
- **Fixed encryption error logging** - No longer leaks crypto implementation details (requires DEBUG env var)
|
|
617
|
-
- **Improved quiet mode error display** - Shows actual error messages instead of generic "encountered errors"
|
|
618
|
-
|
|
619
|
-
### 🔒 Security
|
|
620
|
-
|
|
621
|
-
- Audit logging failures no longer mask security validation errors (ReDoS protection preserved)
|
|
622
|
-
- Encryption errors only logged when DEBUG or AX_DEBUG environment variable is set
|
|
623
|
-
- Auto-accept audit logging requires explicit configuration to enable
|
|
624
|
-
|
|
625
|
-
### ✅ Quality
|
|
626
|
-
|
|
627
|
-
- All 2029 tests passing
|
|
628
|
-
- 98%+ test coverage maintained
|
|
629
|
-
- Zero breaking changes
|
|
36
|
+
**That's it!** AX CLI is now ready to help you build, debug, and ship code faster.
|
|
630
37
|
|
|
631
38
|
---
|
|
632
39
|
|
|
633
|
-
##
|
|
634
|
-
|
|
635
|
-
**MCP Protocol Fix** - Critical fix for MCP server connectivity:
|
|
636
|
-
|
|
637
|
-
### 🐛 Bug Fixes
|
|
638
|
-
|
|
639
|
-
- **Fixed MCP server timeout issue** - Resolved 60-second timeout when connecting to AutomatosX MCP server
|
|
640
|
-
- **Added Content-Length framing transport** - New `ContentLengthStdioTransport` class for LSP-style protocol compatibility
|
|
641
|
-
- **Protocol mismatch fix** - MCP SDK uses NDJSON but AutomatosX uses Content-Length framing; now supports both
|
|
642
|
-
- **Updated MCP SDK to v1.22.0** - Latest SDK with improved capabilities
|
|
643
|
-
- **Fixed SDK v1.22 compatibility** - Updated client capabilities structure for new SDK version
|
|
40
|
+
## Table of Contents
|
|
644
41
|
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
-
|
|
648
|
-
-
|
|
649
|
-
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
-
|
|
654
|
-
-
|
|
655
|
-
-
|
|
656
|
-
- Improved MCP server stability
|
|
42
|
+
- [Features](#features)
|
|
43
|
+
- [Installation](#installation)
|
|
44
|
+
- [Configuration](#configuration)
|
|
45
|
+
- [Usage](#usage)
|
|
46
|
+
- [MCP Integration](#mcp-integration)
|
|
47
|
+
- [Project Memory](#project-memory)
|
|
48
|
+
- [Multi-Phase Planner](#multi-phase-task-planner)
|
|
49
|
+
- [Security](#security)
|
|
50
|
+
- [Architecture](#architecture)
|
|
51
|
+
- [Changelog](#changelog)
|
|
52
|
+
- [Documentation](#documentation)
|
|
657
53
|
|
|
658
54
|
---
|
|
659
55
|
|
|
660
|
-
##
|
|
56
|
+
## Features
|
|
661
57
|
|
|
662
|
-
|
|
58
|
+
### Core Capabilities
|
|
663
59
|
|
|
664
|
-
|
|
60
|
+
| Feature | Description |
|
|
61
|
+
|---------|-------------|
|
|
62
|
+
| **GLM-Optimized** | Primary support for Z.AI's GLM-4.6 with 200K context window |
|
|
63
|
+
| **Multi-Phase Planner** | Intelligent task decomposition for complex requests |
|
|
64
|
+
| **Session Continuity** | Directory-specific conversation history with `--continue` |
|
|
65
|
+
| **MCP Integration** | Model Context Protocol with 12+ production-ready templates |
|
|
66
|
+
| **Project Memory** | Intelligent context caching with 50% token savings |
|
|
67
|
+
| **Smart Verbosity** | Three-level output control (Quiet → Concise → Verbose) |
|
|
665
68
|
|
|
666
|
-
|
|
667
|
-
- **Fixed `pastedBlocks` stale closure in submit** - Added `pastedBlocksRef` to ensure `expandPlaceholdersForSubmit` always has current paste block data during rapid paste + submit sequences
|
|
668
|
-
- **Synchronized paste block refs** - All `setPastedBlocks` calls now sync `pastedBlocksRef` immediately to prevent race conditions
|
|
669
|
-
- **Fixed async iterator cleanup** - Proper cleanup for async iterators in LLM agent
|
|
670
|
-
- **Fixed cache eviction improvements** - Better memory management for token counter cache
|
|
671
|
-
- **Fixed state validation and race conditions** - Improved state handling in MCP reconnection logic
|
|
672
|
-
- **Fixed event listener error handling** - Better error boundaries for edge cases
|
|
69
|
+
### AI Provider Support
|
|
673
70
|
|
|
674
|
-
|
|
71
|
+
- **Z.AI GLM-4.6** (default) - 32K max tokens, optimized for complex code generation
|
|
72
|
+
- **OpenAI** - GPT-4, GPT-3.5
|
|
73
|
+
- **Anthropic** - Claude models
|
|
74
|
+
- **Ollama** - Local models
|
|
75
|
+
- **Custom endpoints** - Any OpenAI-compatible API
|
|
675
76
|
|
|
676
|
-
-
|
|
677
|
-
- 98%+ test coverage maintained
|
|
678
|
-
- Zero breaking changes
|
|
679
|
-
- Improved stability for paste operations
|
|
680
|
-
|
|
681
|
-
---
|
|
77
|
+
> **Note**: For xAI Grok, use [grok-cli](https://github.com/superagent-ai/grok-cli). For Anthropic Claude, use [claude-code](https://claude.ai/code).
|
|
682
78
|
|
|
683
|
-
|
|
79
|
+
### Security (Enterprise-Grade, FREE)
|
|
684
80
|
|
|
685
|
-
|
|
81
|
+
| Protection | Severity | Description |
|
|
82
|
+
|------------|----------|-------------|
|
|
83
|
+
| API Key Encryption | - | AES-256-GCM encryption at rest |
|
|
84
|
+
| Command Injection | CVSS 9.8 | Safe command execution with whitelisting |
|
|
85
|
+
| Path Traversal | CVSS 8.6 | Prevent unauthorized file system access |
|
|
86
|
+
| SSRF Prevention | CVSS 7.5 | Validate MCP transport URLs |
|
|
87
|
+
| Input Sanitization | CVSS 7.0 | Comprehensive input validation |
|
|
88
|
+
| Rate Limiting | - | Token bucket algorithm (100 req/min) |
|
|
686
89
|
|
|
687
|
-
###
|
|
90
|
+
### Code Analysis Tools
|
|
688
91
|
|
|
689
|
-
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
- **🎨 Color Consistency**: Fixed UI color inconsistencies
|
|
695
|
-
- Auto-edit mode now consistently shows yellow when enabled (was mixed green/yellow)
|
|
696
|
-
- Verbosity mode properly shows yellow when active (Concise/Verbose), gray when Quiet
|
|
697
|
-
- All keyboard shortcuts and status indicators use matching colors
|
|
698
|
-
|
|
699
|
-
### 🐛 Bug Fixes
|
|
700
|
-
|
|
701
|
-
- **Fixed ModePill component** - Empty string values now display correctly
|
|
702
|
-
- **Fixed ContextBar crashes** - Added bounds checking for invalid percentage values (NaN, Infinity, negative)
|
|
703
|
-
- **Fixed formatTokenCount** - Handles invalid token counts gracefully (NaN, Infinity, negative)
|
|
704
|
-
- **Fixed Verbosity display** - Pills now correctly highlight yellow when not in Quiet mode
|
|
705
|
-
- **Fixed keyboard help colors** - Auto-edit status matches status bar coloring
|
|
706
|
-
|
|
707
|
-
### ✅ Quality
|
|
708
|
-
|
|
709
|
-
- All 1,517 tests passing (9 skipped)
|
|
710
|
-
- 98.29% test coverage maintained
|
|
711
|
-
- Zero breaking changes
|
|
712
|
-
- Improved UI/UX consistency
|
|
92
|
+
- **Dependency Analyzer** - Circular dependencies, coupling metrics
|
|
93
|
+
- **Code Smell Detector** - 10+ anti-patterns detection
|
|
94
|
+
- **Hotspot Analyzer** - Git history-based complexity analysis
|
|
95
|
+
- **Security Scanner** - SQL injection, XSS, hardcoded secrets
|
|
713
96
|
|
|
714
97
|
---
|
|
715
|
-
- **Type Safety**: Full TypeScript support with proper type exports
|
|
716
98
|
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
**None!** All changes are backward compatible.
|
|
720
|
-
|
|
721
|
-
---
|
|
722
|
-
|
|
723
|
-
## 📦 Installation
|
|
99
|
+
## Installation
|
|
724
100
|
|
|
725
101
|
### Supported Platforms
|
|
726
102
|
|
|
727
|
-
AX CLI officially supports the following platforms:
|
|
728
|
-
|
|
729
103
|
| Platform | Versions | Architecture |
|
|
730
104
|
|----------|----------|--------------|
|
|
731
|
-
|
|
|
732
|
-
|
|
|
733
|
-
|
|
|
734
|
-
|
|
735
|
-
**Note:** AX CLI may work on other platforms and older versions, but the above platforms are officially tested and supported.
|
|
105
|
+
| **macOS** | 26+ | x64, ARM64 (Apple Silicon) |
|
|
106
|
+
| **Windows** | 11+ | x64, ARM64 |
|
|
107
|
+
| **Ubuntu** | 24.04+ | x64, ARM64 |
|
|
736
108
|
|
|
737
109
|
### Prerequisites
|
|
738
110
|
|
|
739
111
|
- Node.js 24.0.0 or higher
|
|
740
112
|
- npm package manager
|
|
741
113
|
|
|
742
|
-
###
|
|
114
|
+
### Install
|
|
743
115
|
|
|
744
116
|
```bash
|
|
745
117
|
npm install -g @defai.digital/ax-cli
|
|
746
118
|
```
|
|
747
119
|
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
## ⚙️ Configuration
|
|
120
|
+
---
|
|
751
121
|
|
|
752
|
-
|
|
122
|
+
## Configuration
|
|
753
123
|
|
|
754
|
-
|
|
124
|
+
### Quick Setup (Recommended)
|
|
755
125
|
|
|
756
126
|
```bash
|
|
757
|
-
# Run the setup wizard (recommended)
|
|
758
127
|
ax-cli setup
|
|
759
|
-
|
|
760
|
-
# This will:
|
|
761
|
-
# 1. Guide you through provider selection (Z.AI, OpenAI, Anthropic, Ollama, etc.)
|
|
762
|
-
# 2. Securely encrypt and store your API key (AES-256-GCM encryption)
|
|
763
|
-
# 3. Configure default model and settings
|
|
764
|
-
# 4. Validate your configuration
|
|
765
128
|
```
|
|
766
129
|
|
|
767
|
-
|
|
130
|
+
This interactive wizard will:
|
|
131
|
+
1. Guide you through provider selection
|
|
132
|
+
2. Securely encrypt and store your API key (AES-256-GCM)
|
|
133
|
+
3. Configure default model and settings
|
|
134
|
+
4. Validate your configuration
|
|
135
|
+
|
|
136
|
+
### Environment Variable Override
|
|
768
137
|
|
|
769
|
-
For CI/CD pipelines
|
|
138
|
+
For CI/CD pipelines:
|
|
770
139
|
|
|
771
140
|
```bash
|
|
772
|
-
# Override API key temporarily (not recommended for daily use)
|
|
773
141
|
export YOUR_API_KEY=your_api_key_here
|
|
774
142
|
ax-cli
|
|
775
143
|
```
|
|
776
144
|
|
|
777
|
-
**⚠️ Security Note**: API keys are automatically encrypted in config files using AES-256-GCM encryption. **Do not manually edit `~/.ax-cli/config.json`** - always use `ax-cli setup` to update your API key securely.
|
|
778
|
-
|
|
779
145
|
### Configuration Files
|
|
780
146
|
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
147
|
+
| File | Purpose |
|
|
148
|
+
|------|---------|
|
|
149
|
+
| `~/.ax-cli/config.json` | User settings (API keys encrypted) |
|
|
150
|
+
| `.ax-cli/settings.json` | Project-specific overrides |
|
|
151
|
+
| `.ax-cli/CUSTOM.md` | AI behavior customization |
|
|
152
|
+
| `.ax-cli/memory.json` | Auto-generated context cache |
|
|
787
153
|
|
|
788
154
|
---
|
|
789
155
|
|
|
790
|
-
##
|
|
791
|
-
|
|
792
|
-
🛡️ **Enterprise-Grade Security** - Your API keys and data are protected with multiple layers of security:
|
|
793
|
-
|
|
794
|
-
### 🔐 API Key Encryption
|
|
795
|
-
|
|
796
|
-
- **AES-256-GCM Encryption**: Military-grade authenticated encryption at rest
|
|
797
|
-
- **PBKDF2 Key Derivation**: 600,000 iterations (OWASP 2024 standard)
|
|
798
|
-
- **Secure File Permissions**: Config files automatically set to `0600` (owner-only)
|
|
799
|
-
- **Auto-Migration**: Existing plain-text keys are automatically encrypted
|
|
800
|
-
|
|
801
|
-
### 🎯 What's Protected
|
|
802
|
-
|
|
803
|
-
✅ **Casual file browsing** - Prevents accidental exposure in editors
|
|
804
|
-
✅ **Config backups** - Keys unreadable in plain-text backups
|
|
805
|
-
✅ **Accidental commits** - Encrypted keys are useless without machine context
|
|
806
|
-
✅ **Data at rest** - Never stored in plain-text on disk
|
|
807
|
-
|
|
808
|
-
### ⚠️ Limitations (Transparent)
|
|
809
|
-
|
|
810
|
-
❌ **Determined attackers** with machine access can derive encryption keys
|
|
811
|
-
❌ **Open-source analysis** - Implementation is publicly visible
|
|
812
|
-
|
|
813
|
-
> **Trade-off**: Like AWS CLI, kubectl, and GitHub CLI, we balance security with usability and portability.
|
|
814
|
-
|
|
815
|
-
### 🛡️ Security Best Practices
|
|
816
|
-
|
|
817
|
-
1. **CI/CD**: Use environment variables (`export API_KEY=...`)
|
|
818
|
-
2. **File Permissions**: Verify `ls -la ~/.ax-cli/config.json` shows `-rw-------`
|
|
819
|
-
3. **Git Safety**: Add `.ax-cli/` to `.gitignore`
|
|
820
|
-
4. **Key Rotation**: Update regularly via `ax-cli setup`
|
|
821
|
-
5. **Scoped Keys**: Use minimal permissions and spending limits
|
|
822
|
-
6. **Monitoring**: Check provider dashboards for unusual activity
|
|
823
|
-
|
|
824
|
-
### 📊 Privacy & Logging
|
|
825
|
-
|
|
826
|
-
- ✅ **API keys**: NEVER logged
|
|
827
|
-
- ✅ **Prompts**: Stored locally (encrypted if keys present)
|
|
828
|
-
- ✅ **Errors**: Sanitized to remove sensitive data
|
|
829
|
-
- ✅ **Telemetry**: NONE collected
|
|
830
|
-
|
|
831
|
-
### 🚨 Report Security Issues
|
|
832
|
-
|
|
833
|
-
Email: **security@defai.digital** (private, not public issues)
|
|
834
|
-
|
|
835
|
-
Include: vulnerability description, reproduction steps, impact, and suggested fix. Response within 48 hours.
|
|
836
|
-
|
|
837
|
-
---
|
|
838
|
-
|
|
839
|
-
## 🎯 Usage Examples
|
|
156
|
+
## Usage
|
|
840
157
|
|
|
841
158
|
### Interactive Mode
|
|
842
159
|
|
|
@@ -844,75 +161,35 @@ Include: vulnerability description, reproduction steps, impact, and suggested fi
|
|
|
844
161
|
# Start interactive chat
|
|
845
162
|
ax-cli
|
|
846
163
|
|
|
847
|
-
# Continue
|
|
164
|
+
# Continue previous conversation
|
|
848
165
|
ax-cli --continue
|
|
849
|
-
# or
|
|
850
166
|
ax-cli -c
|
|
851
|
-
|
|
852
|
-
# Available slash commands:
|
|
853
|
-
/help # Show help
|
|
854
|
-
/continue # Continue incomplete response
|
|
855
|
-
/init # Initialize project
|
|
856
|
-
/clear # Clear chat history
|
|
857
|
-
/models # Switch AI model
|
|
858
|
-
/usage # Show API usage statistics
|
|
859
|
-
/doctor # Run health check diagnostics
|
|
860
|
-
/tasks # List background tasks
|
|
861
|
-
/task <id> # View background task output
|
|
862
|
-
/kill <id> # Kill a background task
|
|
863
|
-
/version # Show AX CLI version
|
|
864
|
-
/commit-and-push # AI-powered git commit
|
|
865
|
-
/exit # Exit application
|
|
866
|
-
|
|
867
|
-
# Multi-Phase Planner commands:
|
|
868
|
-
/plans # List all execution plans
|
|
869
|
-
/plan # Show current plan details
|
|
870
|
-
/phases # Show phase progress
|
|
871
|
-
/pause # Pause current plan execution
|
|
872
|
-
/resume # Resume paused plan
|
|
873
|
-
/skip # Skip current phase
|
|
874
|
-
/abandon # Abandon current plan
|
|
875
167
|
```
|
|
876
168
|
|
|
877
|
-
###
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
|
882
|
-
|
|
883
|
-
|
|
|
884
|
-
|
|
|
885
|
-
|
|
|
886
|
-
|
|
|
887
|
-
|
|
|
888
|
-
|
|
|
889
|
-
|
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
```bash
|
|
902
|
-
# Method 1: Append ' &' to any command
|
|
903
|
-
> npm run dev &
|
|
904
|
-
🔄 Background task started
|
|
905
|
-
Task ID: bg_abc123
|
|
906
|
-
|
|
907
|
-
# Method 2: Press Ctrl+B during execution to move to background
|
|
908
|
-
|
|
909
|
-
# Method 3: Toggle "always background" mode with Ctrl+B when idle
|
|
910
|
-
|
|
911
|
-
# Manage background tasks:
|
|
912
|
-
/tasks # List all background tasks
|
|
913
|
-
/task bg_abc123 # View task output
|
|
914
|
-
/kill bg_abc123 # Kill a running task
|
|
915
|
-
```
|
|
169
|
+
### Slash Commands
|
|
170
|
+
|
|
171
|
+
| Command | Description |
|
|
172
|
+
|---------|-------------|
|
|
173
|
+
| `/help` | Show help |
|
|
174
|
+
| `/continue` | Continue incomplete response |
|
|
175
|
+
| `/init` | Initialize project |
|
|
176
|
+
| `/clear` | Clear chat history |
|
|
177
|
+
| `/models` | Switch AI model |
|
|
178
|
+
| `/usage` | Show API usage statistics |
|
|
179
|
+
| `/doctor` | Run health check diagnostics |
|
|
180
|
+
| `/tasks` | List background tasks |
|
|
181
|
+
| `/exit` | Exit application |
|
|
182
|
+
|
|
183
|
+
### Keyboard Shortcuts
|
|
184
|
+
|
|
185
|
+
| Shortcut | Action |
|
|
186
|
+
|----------|--------|
|
|
187
|
+
| **Ctrl+O** | Cycle verbosity (Quiet → Concise → Verbose) |
|
|
188
|
+
| **Ctrl+B** | Move command to background |
|
|
189
|
+
| **Ctrl+K** | Quick actions menu |
|
|
190
|
+
| **Shift+Tab** | Toggle auto-edit mode |
|
|
191
|
+
| **Ctrl+C** | Clear input (press twice to exit) |
|
|
192
|
+
| **↑/↓** | Navigate command history |
|
|
916
193
|
|
|
917
194
|
### Headless Mode
|
|
918
195
|
|
|
@@ -920,558 +197,269 @@ Task ID: bg_abc123
|
|
|
920
197
|
# One-shot commands
|
|
921
198
|
ax-cli -p "analyze this codebase"
|
|
922
199
|
ax-cli -p "fix TypeScript errors" -d /path/to/project
|
|
923
|
-
ax-cli -p "write tests
|
|
200
|
+
ax-cli -p "write tests" --max-tool-rounds 50
|
|
924
201
|
|
|
925
202
|
# With specific model
|
|
926
203
|
ax-cli -p "refactor" --model glm-4.6
|
|
927
204
|
```
|
|
928
205
|
|
|
929
|
-
###
|
|
930
|
-
|
|
931
|
-
AX CLI integrates seamlessly with Visual Studio Code via tasks and keyboard shortcuts:
|
|
206
|
+
### Background Tasks
|
|
932
207
|
|
|
933
208
|
```bash
|
|
934
|
-
#
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
# Explain selected code
|
|
938
|
-
ax-cli --prompt "Explain this code" --selection "function foo() {...}" --json --vscode
|
|
209
|
+
# Append '&' to run in background
|
|
210
|
+
> npm run dev &
|
|
939
211
|
|
|
940
|
-
#
|
|
941
|
-
ax-cli --prompt "Review my changes" --git-diff --json --vscode
|
|
212
|
+
# Or press Ctrl+B during execution
|
|
942
213
|
|
|
943
|
-
#
|
|
944
|
-
|
|
214
|
+
# Manage tasks
|
|
215
|
+
/tasks # List all
|
|
216
|
+
/task bg_abc123 # View output
|
|
217
|
+
/kill bg_abc123 # Kill task
|
|
945
218
|
```
|
|
946
219
|
|
|
947
|
-
|
|
948
|
-
```bash
|
|
949
|
-
# Copy VSCode templates to your project
|
|
950
|
-
cd your-project
|
|
951
|
-
mkdir -p .vscode
|
|
952
|
-
cp node_modules/@defai.digital/ax-cli/templates/vscode/*.json .vscode/
|
|
220
|
+
### Health Check
|
|
953
221
|
|
|
954
|
-
|
|
222
|
+
```bash
|
|
223
|
+
ax-cli doctor # Run diagnostics
|
|
224
|
+
ax-cli doctor --verbose # Detailed output
|
|
225
|
+
ax-cli doctor --json # JSON format
|
|
955
226
|
```
|
|
956
227
|
|
|
957
|
-
|
|
958
|
-
- 🔍 Analyze Current File
|
|
959
|
-
- 📝 Explain Selection
|
|
960
|
-
- 🔄 Review Git Changes
|
|
961
|
-
- 🧪 Generate Tests
|
|
962
|
-
- 📚 Document Code
|
|
963
|
-
- ♻️ Refactor Selection
|
|
964
|
-
- 🐛 Find Bugs
|
|
965
|
-
- ⚡ Optimize Performance
|
|
966
|
-
|
|
967
|
-
[VSCode Integration Guide →](docs/vscode-integration-guide.md)
|
|
228
|
+
---
|
|
968
229
|
|
|
969
|
-
|
|
230
|
+
## MCP Integration
|
|
970
231
|
|
|
971
|
-
|
|
232
|
+
Extend AX CLI with Model Context Protocol servers:
|
|
972
233
|
|
|
973
234
|
```bash
|
|
974
|
-
#
|
|
975
|
-
|
|
976
|
-
ax-cli
|
|
977
|
-
# > Work on some features, then exit
|
|
235
|
+
# Add from template (one command!)
|
|
236
|
+
ax-cli mcp add figma --template
|
|
978
237
|
|
|
979
|
-
#
|
|
980
|
-
|
|
981
|
-
ax-cli --continue
|
|
982
|
-
# All previous context is restored!
|
|
238
|
+
# Add custom server
|
|
239
|
+
ax-cli mcp add linear --transport sse --url https://mcp.linear.app/sse
|
|
983
240
|
|
|
984
|
-
#
|
|
985
|
-
|
|
986
|
-
ax-cli --continue
|
|
987
|
-
# Fresh context for this project
|
|
988
|
-
```
|
|
241
|
+
# List servers
|
|
242
|
+
ax-cli mcp list
|
|
989
243
|
|
|
990
|
-
|
|
991
|
-
-
|
|
992
|
-
- History includes all messages, tool calls, and results
|
|
993
|
-
- Integrated with `.ax-cli/CUSTOM.md` for project-specific context
|
|
994
|
-
- Sessions stored in `~/.ax-cli/sessions/` by project hash
|
|
995
|
-
- Up to 50 most recent messages preserved per session
|
|
244
|
+
# Preview tools
|
|
245
|
+
ax-cli mcp tools <server>
|
|
996
246
|
|
|
997
|
-
|
|
998
|
-
-
|
|
999
|
-
|
|
1000
|
-
- Maintain separate conversations per project
|
|
1001
|
-
- Natural workflow continuity across sessions
|
|
247
|
+
# Browse templates
|
|
248
|
+
ax-cli mcp browse
|
|
249
|
+
```
|
|
1002
250
|
|
|
1003
|
-
###
|
|
251
|
+
### Available Templates
|
|
1004
252
|
|
|
1005
|
-
|
|
1006
|
-
# Analyze and initialize project
|
|
1007
|
-
ax-cli init
|
|
253
|
+
Figma, GitHub, Vercel, Puppeteer, Storybook, Sentry, and 6+ more.
|
|
1008
254
|
|
|
1009
|
-
|
|
1010
|
-
ax-cli init --force
|
|
255
|
+
### Per-Server Timeout
|
|
1011
256
|
|
|
1012
|
-
|
|
1013
|
-
ax-cli init --verbose
|
|
1014
|
-
```
|
|
257
|
+
For long-running tools (e.g., AutomatosX):
|
|
1015
258
|
|
|
1016
|
-
|
|
259
|
+
```json
|
|
260
|
+
{
|
|
261
|
+
"mcpServers": {
|
|
262
|
+
"automatosx": {
|
|
263
|
+
"transport": { "type": "stdio", "command": "ax", "args": ["mcp"] },
|
|
264
|
+
"timeout": 2700000
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
```
|
|
1017
269
|
|
|
1018
|
-
|
|
270
|
+
---
|
|
1019
271
|
|
|
1020
|
-
|
|
1021
|
-
# Show current session usage statistics
|
|
1022
|
-
ax-cli usage show
|
|
272
|
+
## Project Memory
|
|
1023
273
|
|
|
1024
|
-
|
|
1025
|
-
ax-cli usage show --detailed
|
|
274
|
+
Intelligent context caching for reduced token costs:
|
|
1026
275
|
|
|
1027
|
-
|
|
1028
|
-
|
|
276
|
+
```bash
|
|
277
|
+
# Initialize (scans codebase)
|
|
278
|
+
ax-cli memory warmup
|
|
1029
279
|
|
|
1030
|
-
#
|
|
1031
|
-
|
|
280
|
+
# Output:
|
|
281
|
+
# ✓ Project memory generated (3,305 tokens)
|
|
282
|
+
# 📊 Token Distribution:
|
|
283
|
+
# Structure: 1,252 tokens (38%)
|
|
284
|
+
# README: 1,111 tokens (34%)
|
|
285
|
+
# Config: 835 tokens (25%)
|
|
286
|
+
# Patterns: 99 tokens (3%)
|
|
1032
287
|
```
|
|
1033
288
|
|
|
1034
|
-
|
|
1035
|
-
- Tracks prompt tokens, completion tokens, and reasoning tokens
|
|
1036
|
-
- Per-model breakdown available
|
|
1037
|
-
- Historical data available via Z.AI dashboard: https://z.ai/manage-apikey/billing
|
|
289
|
+
### Commands
|
|
1038
290
|
|
|
1039
|
-
|
|
291
|
+
| Command | Description |
|
|
292
|
+
|---------|-------------|
|
|
293
|
+
| `memory warmup` | Create project memory |
|
|
294
|
+
| `memory refresh` | Update after changes |
|
|
295
|
+
| `memory status` | Show status & token distribution |
|
|
296
|
+
| `memory clear` | Remove project memory |
|
|
297
|
+
| `memory cache-stats` | Show cache efficiency |
|
|
1040
298
|
|
|
1041
|
-
|
|
299
|
+
### Options
|
|
1042
300
|
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
301
|
+
```bash
|
|
302
|
+
ax-cli memory warmup -d 5 # Custom scan depth (1-10)
|
|
303
|
+
ax-cli memory warmup -m 12000 # Custom max tokens
|
|
304
|
+
ax-cli memory warmup --dry-run # Preview without saving
|
|
305
|
+
```
|
|
1046
306
|
|
|
1047
|
-
|
|
307
|
+
---
|
|
1048
308
|
|
|
1049
|
-
|
|
309
|
+
## Multi-Phase Task Planner
|
|
1050
310
|
|
|
1051
|
-
|
|
1052
|
-
- ✅ **Clean Display**: Shows `[Pasted text #1 +89 lines]` instead of cluttering the UI
|
|
1053
|
-
- ✅ **Full Submission**: Complete text is still sent to the AI (not just the placeholder)
|
|
1054
|
-
- ✅ **Review Anytime**: Press **Ctrl+P** on a collapsed block to expand/collapse
|
|
311
|
+
Automatic decomposition for complex requests:
|
|
1055
312
|
|
|
1056
|
-
**Example:**
|
|
1057
313
|
```bash
|
|
1058
|
-
|
|
1059
|
-
# → Shows: [Pasted text #1 +100 lines]
|
|
1060
|
-
# → AI receives: Full 100 lines
|
|
314
|
+
> "Refactor auth, add tests, update docs"
|
|
1061
315
|
|
|
1062
|
-
|
|
1063
|
-
|
|
316
|
+
📋 Plan Generated: 4 phases
|
|
317
|
+
├── Phase 1: Analysis (low risk)
|
|
318
|
+
├── Phase 2: Implementation (medium risk)
|
|
319
|
+
├── Phase 3: Testing (low risk)
|
|
320
|
+
└── Phase 4: Documentation (low risk)
|
|
1064
321
|
```
|
|
1065
322
|
|
|
1066
|
-
|
|
1067
|
-
```json
|
|
1068
|
-
{
|
|
1069
|
-
"paste": {
|
|
1070
|
-
"autoCollapse": true, // Enable/disable (default: true)
|
|
1071
|
-
"collapseThreshold": 20 // Min lines to collapse (default: 20)
|
|
1072
|
-
}
|
|
1073
|
-
}
|
|
1074
|
-
```
|
|
323
|
+
### Plan Commands
|
|
1075
324
|
|
|
1076
|
-
|
|
325
|
+
| Command | Description |
|
|
326
|
+
|---------|-------------|
|
|
327
|
+
| `/plans` | List all execution plans |
|
|
328
|
+
| `/plan` | Show current plan details |
|
|
329
|
+
| `/phases` | Show phase progress |
|
|
330
|
+
| `/pause` | Pause current plan |
|
|
331
|
+
| `/resume` | Resume paused plan |
|
|
332
|
+
| `/skip` | Skip current phase |
|
|
333
|
+
| `/abandon` | Abandon current plan |
|
|
1077
334
|
|
|
1078
|
-
|
|
1079
|
-
- Gray (0-999) → Cyan (1000-1599) → Yellow (1600-1999) → **Red (2000+)**
|
|
335
|
+
### Complexity Triggers
|
|
1080
336
|
|
|
1081
|
-
|
|
337
|
+
- Refactoring, migration, restructuring
|
|
338
|
+
- Multi-file changes
|
|
339
|
+
- Testing and documentation requests
|
|
340
|
+
- Multi-step instructions
|
|
1082
341
|
|
|
1083
|
-
|
|
1084
|
-
```bash
|
|
1085
|
-
# Save your content to a file first
|
|
1086
|
-
cat > context.txt
|
|
1087
|
-
# (paste content, then Ctrl+D)
|
|
342
|
+
---
|
|
1088
343
|
|
|
1089
|
-
|
|
1090
|
-
ax-cli
|
|
1091
|
-
> /memory add context.txt
|
|
1092
|
-
> analyze the content I just added
|
|
1093
|
-
```
|
|
344
|
+
## Security
|
|
1094
345
|
|
|
1095
|
-
|
|
1096
|
-
```bash
|
|
1097
|
-
# Direct file processing
|
|
1098
|
-
ax-cli --prompt "analyze this: $(cat large-file.txt)"
|
|
346
|
+
### API Key Protection
|
|
1099
347
|
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
348
|
+
- **AES-256-GCM** encryption at rest
|
|
349
|
+
- **PBKDF2** key derivation (600,000 iterations)
|
|
350
|
+
- **Secure permissions** (0600 owner-only)
|
|
351
|
+
- **Auto-migration** from plain-text
|
|
1103
352
|
|
|
1104
|
-
|
|
1105
|
-
```bash
|
|
1106
|
-
# In interactive mode
|
|
1107
|
-
> /memory add src/
|
|
1108
|
-
> /memory add logs/error.log
|
|
1109
|
-
> analyze the errors in the log file
|
|
1110
|
-
```
|
|
353
|
+
### Best Practices
|
|
1111
354
|
|
|
1112
|
-
|
|
355
|
+
1. **CI/CD**: Use environment variables
|
|
356
|
+
2. **Permissions**: Verify `ls -la ~/.ax-cli/config.json` shows `-rw-------`
|
|
357
|
+
3. **Git**: Add `.ax-cli/` to `.gitignore`
|
|
358
|
+
4. **Rotation**: Update regularly via `ax-cli setup`
|
|
1113
359
|
|
|
1114
|
-
|
|
360
|
+
### Privacy
|
|
1115
361
|
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
| **Cyan** | 1000-1599 | ⚠️ Getting long |
|
|
1120
|
-
| **Yellow** | 1600-1999 | ⚠️ Consider using files |
|
|
1121
|
-
| **Red** | 2000+ | ❌ Use file-based workflow |
|
|
362
|
+
- API keys: **Never logged**
|
|
363
|
+
- Telemetry: **None collected**
|
|
364
|
+
- Errors: Sanitized to remove sensitive data
|
|
1122
365
|
|
|
1123
|
-
|
|
366
|
+
### Report Issues
|
|
1124
367
|
|
|
1125
|
-
|
|
368
|
+
Email: **security@defai.digital** (private disclosure)
|
|
1126
369
|
|
|
1127
|
-
|
|
1128
|
-
# Run full diagnostic check
|
|
1129
|
-
ax-cli doctor
|
|
370
|
+
---
|
|
1130
371
|
|
|
1131
|
-
|
|
1132
|
-
ax-cli doctor --verbose
|
|
372
|
+
## Architecture
|
|
1133
373
|
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
374
|
+
- **SSOT Type System** via `@ax-cli/schemas`
|
|
375
|
+
- **TypeScript strict mode** with Zod validation
|
|
376
|
+
- **98%+ test coverage** (2083 tests)
|
|
377
|
+
- **Modular design** with clean separation
|
|
378
|
+
- **Enterprise security** with AES-256-GCM encryption
|
|
1137
379
|
|
|
1138
|
-
|
|
1139
|
-
- ✓ Node.js version (24+)
|
|
1140
|
-
- ✓ Configuration files (user and project)
|
|
1141
|
-
- ✓ API key and base URL
|
|
1142
|
-
- ✓ API connectivity and authentication
|
|
1143
|
-
- ✓ Model configuration
|
|
1144
|
-
- ✓ MCP server configuration
|
|
1145
|
-
- ✓ Dependencies (ripgrep, git)
|
|
380
|
+
---
|
|
1146
381
|
|
|
1147
|
-
##
|
|
382
|
+
## Changelog
|
|
1148
383
|
|
|
1149
|
-
|
|
384
|
+
### v3.8.23 (Latest)
|
|
1150
385
|
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
386
|
+
- **Bug fix: Background task status** - Killed tasks now correctly show 'killed' instead of 'failed'
|
|
387
|
+
- **Bug fix: Project settings corruption** - Now throws error instead of silent data loss
|
|
388
|
+
- **Bug fix: Destructive operation confirmation** - `alwaysConfirm` flag now properly forces confirmation
|
|
1154
389
|
|
|
1155
|
-
|
|
1156
|
-
ax-cli mcp list
|
|
390
|
+
### v3.8.21
|
|
1157
391
|
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
```
|
|
392
|
+
- **Configurable confirmation timeout** - Now uses `TIMEOUT_CONFIG.CONFIRMATION_TIMEOUT`
|
|
393
|
+
- **Dynamic timeout message** - Displays actual configured value
|
|
1161
394
|
|
|
1162
|
-
|
|
395
|
+
### v3.8.20
|
|
1163
396
|
|
|
1164
|
-
|
|
397
|
+
- **Centralized path constants** - `CONFIG_PATHS` for unified path handling
|
|
398
|
+
- **Unified timeout usage** - `TIMEOUT_CONFIG` and `MCP_CONFIG`
|
|
1165
399
|
|
|
1166
|
-
|
|
400
|
+
### v3.8.19
|
|
1167
401
|
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
ax-cli memory warmup
|
|
402
|
+
- **Exported utilities** - `sleep()` and `calculateExponentialBackoff()`
|
|
403
|
+
- **Reduced code duplication** - Centralized backoff logic
|
|
1171
404
|
|
|
1172
|
-
|
|
1173
|
-
# ✓ Project memory generated (3,305 tokens)
|
|
1174
|
-
#
|
|
1175
|
-
# 📊 Context breakdown:
|
|
1176
|
-
# Structure: 1,252 tokens (38%)
|
|
1177
|
-
# README: 1,111 tokens (34%)
|
|
1178
|
-
# Config: 835 tokens (25%)
|
|
1179
|
-
# Patterns: 99 tokens (3%)
|
|
1180
|
-
```
|
|
405
|
+
### v3.8.18
|
|
1181
406
|
|
|
1182
|
-
|
|
407
|
+
- **Extended timeout configuration** - Network/API and UI timeouts
|
|
1183
408
|
|
|
1184
|
-
|
|
1185
|
-
2. **Auto-Injection**: Memory context is automatically prepended to system prompts
|
|
1186
|
-
3. **z.ai Caching**: Identical prompt prefixes are automatically cached by z.ai (50% token savings)
|
|
1187
|
-
4. **Statistics**: Track cache efficiency with `ax-cli memory cache-stats`
|
|
409
|
+
### v3.8.17
|
|
1188
410
|
|
|
1189
|
-
|
|
411
|
+
- **Centralized configuration** - All timeouts configurable via YAML
|
|
1190
412
|
|
|
1191
|
-
|
|
1192
|
-
ax-cli memory warmup # Create project memory
|
|
1193
|
-
ax-cli memory refresh # Update after changes
|
|
1194
|
-
ax-cli memory status # Show memory status & token distribution
|
|
1195
|
-
ax-cli memory clear # Remove project memory
|
|
1196
|
-
ax-cli memory cache-stats # Show cache efficiency statistics
|
|
413
|
+
### v3.8.16
|
|
1197
414
|
|
|
1198
|
-
|
|
1199
|
-
ax-cli memory warmup -d 5 # Custom scan depth (1-10)
|
|
1200
|
-
ax-cli memory warmup -m 12000 # Custom max tokens
|
|
1201
|
-
ax-cli memory warmup --dry-run # Preview without saving
|
|
1202
|
-
ax-cli memory status --verbose # Show full context
|
|
1203
|
-
ax-cli memory status --json # JSON output
|
|
1204
|
-
```
|
|
415
|
+
- **Per-server MCP timeout** - Fixes AutomatosX timeout errors
|
|
1205
416
|
|
|
1206
|
-
###
|
|
417
|
+
### v3.8.15
|
|
1207
418
|
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
████████░░░░░░░░░░░░ Structure (38%)
|
|
1211
|
-
███████░░░░░░░░░░░░░ README (34%)
|
|
1212
|
-
█████░░░░░░░░░░░░░░░ Config (25%)
|
|
1213
|
-
█░░░░░░░░░░░░░░░░░░░ Patterns (3%)
|
|
1214
|
-
```
|
|
419
|
+
- **Increased streaming timeouts** - 90s first chunk, 120s idle
|
|
420
|
+
- **Better file type handling** - Glob patterns for tsx, jsx, vue
|
|
1215
421
|
|
|
1216
|
-
###
|
|
422
|
+
### v3.8.14
|
|
1217
423
|
|
|
1218
|
-
|
|
1219
|
-
# 1. Initialize project (if not done)
|
|
1220
|
-
ax-cli init
|
|
424
|
+
- **REPL command detection** - Prevents MCP server hangs
|
|
1221
425
|
|
|
1222
|
-
|
|
1223
|
-
ax-cli memory warmup
|
|
426
|
+
[View full changelog →](https://github.com/defai-digital/ax-cli/releases)
|
|
1224
427
|
|
|
1225
|
-
|
|
1226
|
-
ax-cli -p "refactor authentication module"
|
|
428
|
+
---
|
|
1227
429
|
|
|
1228
|
-
|
|
1229
|
-
ax-cli memory refresh
|
|
1230
|
-
```
|
|
430
|
+
## Documentation
|
|
1231
431
|
|
|
1232
|
-
|
|
432
|
+
| Guide | Description |
|
|
433
|
+
|-------|-------------|
|
|
434
|
+
| [Features](docs/features.md) | Complete feature list |
|
|
435
|
+
| [Installation](docs/installation.md) | Detailed installation guide |
|
|
436
|
+
| [Configuration](docs/configuration.md) | Configuration options |
|
|
437
|
+
| [Usage](docs/usage.md) | Comprehensive usage guide |
|
|
438
|
+
| [CLI Reference](docs/cli-reference.md) | Command-line reference |
|
|
439
|
+
| [MCP Integration](docs/mcp.md) | Model Context Protocol guide |
|
|
440
|
+
| [Architecture](docs/architecture.md) | Technical architecture |
|
|
441
|
+
| [Troubleshooting](docs/troubleshooting.md) | Common issues |
|
|
1233
442
|
|
|
1234
|
-
|
|
443
|
+
---
|
|
1235
444
|
|
|
1236
|
-
|
|
1237
|
-
# Complex requests are automatically detected and planned
|
|
1238
|
-
> "Refactor the authentication system, add tests, and update documentation"
|
|
445
|
+
## Enterprise Features
|
|
1239
446
|
|
|
1240
|
-
|
|
1241
|
-
├── Phase 1: Analysis (low risk)
|
|
1242
|
-
├── Phase 2: Implementation (medium risk)
|
|
1243
|
-
├── Phase 3: Testing (low risk)
|
|
1244
|
-
└── Phase 4: Documentation (low risk)
|
|
447
|
+
For teams requiring advanced capabilities:
|
|
1245
448
|
|
|
1246
|
-
|
|
1247
|
-
|
|
449
|
+
- **Compliance Reports** - SOC2, HIPAA, PCI-DSS
|
|
450
|
+
- **Advanced Audit Logging** - Tamper-proof with 1+ year retention
|
|
451
|
+
- **Team Collaboration** - Shared history with full-text search
|
|
452
|
+
- **Policy Enforcement** - Approval workflows
|
|
453
|
+
- **SSO/SAML** - Enterprise identity provider support
|
|
454
|
+
- **Priority Support** - 24-hour SLA
|
|
1248
455
|
|
|
1249
|
-
**
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
- **File Tracking**: Monitors which files are modified per phase
|
|
1255
|
-
- **Context Pruning**: Automatically manages token limits between phases
|
|
1256
|
-
|
|
1257
|
-
**Complexity Triggers:**
|
|
1258
|
-
- Refactoring, migration, or restructuring tasks
|
|
1259
|
-
- Multi-file changes or feature implementations
|
|
1260
|
-
- Testing and documentation requests
|
|
1261
|
-
- Architecture or design tasks
|
|
1262
|
-
- Multi-step instructions (first...then...finally)
|
|
456
|
+
Contact: **sales@defai.digital**
|
|
457
|
+
|
|
458
|
+
---
|
|
459
|
+
|
|
460
|
+
## License
|
|
1263
461
|
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
**AX CLI** is designed as a focused, single-agent CLI tool for direct AI-powered development tasks. For advanced multi-agent orchestration, collaborative AI workflows, and complex task automation, we recommend **[AutomatosX](https://automatosx.com)**.
|
|
1267
|
-
|
|
1268
|
-
### When to Use AutomatosX Instead
|
|
1269
|
-
|
|
1270
|
-
- **Multi-Agent Collaboration**: Coordinate multiple AI agents working together on complex projects
|
|
1271
|
-
- **Specialized Agent Teams**: Use domain-specific agents (QA, architecture, security, etc.)
|
|
1272
|
-
- **Advanced Workflows**: Build sophisticated automation pipelines with agent orchestration
|
|
1273
|
-
- **Enterprise Scale**: Large-scale projects requiring parallel agent execution and coordination
|
|
1274
|
-
|
|
1275
|
-
AX CLI focuses on being a reliable, single-agent development assistant, while AutomatosX provides the full multi-agent orchestration platform for advanced use cases.
|
|
1276
|
-
|
|
1277
|
-
## 🏗️ Architecture
|
|
1278
|
-
|
|
1279
|
-
AX CLI implements enterprise-grade architecture with:
|
|
1280
|
-
|
|
1281
|
-
- **Single Source of Truth (SSOT)** type system via `@ax-cli/schemas`
|
|
1282
|
-
- **TypeScript strict mode** with Zod runtime validation
|
|
1283
|
-
- **98%+ test coverage** (1517 tests passing)
|
|
1284
|
-
- **Modular design** with clean separation of concerns
|
|
1285
|
-
- **Enterprise security** with AES-256-GCM encryption for sensitive data
|
|
1286
|
-
|
|
1287
|
-
[Architecture Documentation →](docs/architecture.md)
|
|
1288
|
-
|
|
1289
|
-
## 📚 Documentation
|
|
1290
|
-
|
|
1291
|
-
- [Features](docs/features.md) - Complete feature list and capabilities
|
|
1292
|
-
- [Installation](docs/installation.md) - Detailed installation guide
|
|
1293
|
-
- [Configuration](docs/configuration.md) - Configuration options and settings
|
|
1294
|
-
- [Security & API Key Handling](#-security--api-key-handling) - Security model, encryption details, and best practices
|
|
1295
|
-
- [Usage](docs/usage.md) - Comprehensive usage guide
|
|
1296
|
-
- [CLI Reference](docs/cli-reference.md) - Command-line interface reference
|
|
1297
|
-
- [MCP Integration](docs/mcp.md) - Model Context Protocol guide
|
|
1298
|
-
- [Project Memory](automatosx/prd/project-memory-prd.md) - Project memory feature specification
|
|
1299
|
-
- [Architecture](docs/architecture.md) - Technical architecture details
|
|
1300
|
-
- [Development](docs/development.md) - Development and contribution guide
|
|
1301
|
-
- [Troubleshooting](docs/troubleshooting.md) - Common issues and solutions
|
|
1302
|
-
|
|
1303
|
-
## 📋 Changelog
|
|
1304
|
-
|
|
1305
|
-
### v3.8.0 (2025-11-23)
|
|
1306
|
-
|
|
1307
|
-
**🎨 UI/UX Refinements & Bug Fixes:**
|
|
1308
|
-
|
|
1309
|
-
**✨ Improvements:**
|
|
1310
|
-
- Unified "Auto-Edit" terminology throughout entire UI (was inconsistently "Auto-apply")
|
|
1311
|
-
- Consistent yellow color scheme for Auto-Edit mode when enabled
|
|
1312
|
-
- Fixed Verbosity mode color display (yellow when active, gray when Quiet)
|
|
1313
|
-
- Improved visual consistency across status bar, keyboard help, and welcome panel
|
|
1314
|
-
|
|
1315
|
-
**🐛 Bug Fixes:**
|
|
1316
|
-
- Fixed ModePill component handling of empty string values
|
|
1317
|
-
- Fixed ContextBar crashes with invalid percentage values (NaN, Infinity, negative)
|
|
1318
|
-
- Fixed formatTokenCount handling of invalid inputs
|
|
1319
|
-
- Fixed Verbosity pill not highlighting when not in Quiet mode
|
|
1320
|
-
- Fixed keyboard help color inconsistencies
|
|
1321
|
-
|
|
1322
|
-
**✅ Quality:**
|
|
1323
|
-
- All 1,517 tests passing (9 skipped)
|
|
1324
|
-
- 98.29% test coverage maintained
|
|
1325
|
-
- Zero breaking changes
|
|
1326
|
-
|
|
1327
|
-
### v3.7.2 (2025-11-23)
|
|
1328
|
-
|
|
1329
|
-
**🐛 Bug Fixes - Test Stability:**
|
|
1330
|
-
- Fixed flaky process-pool tests failing in CI/CD environments
|
|
1331
|
-
- Added proper async cleanup waiting with `setImmediate()`
|
|
1332
|
-
- Fixed race condition where `activeProcesses` count was checked before cleanup completed
|
|
1333
|
-
- Tests: "should handle errors without leaking resources" and "should remove all event listeners after execution"
|
|
1334
|
-
- Follows Node.js best practices for testing async cleanup operations
|
|
1335
|
-
|
|
1336
|
-
**✅ Test Results:**
|
|
1337
|
-
- All 1,517 tests passing (9 skipped)
|
|
1338
|
-
- 98.29% test coverage maintained
|
|
1339
|
-
- Zero breaking changes
|
|
1340
|
-
- Improved CI/CD reliability
|
|
1341
|
-
|
|
1342
|
-
### v3.6.1 (2025-11-22)
|
|
1343
|
-
|
|
1344
|
-
**🔧 Improvements:**
|
|
1345
|
-
- **Smart Paste Auto-Collapse**: Intelligent handling of large text inputs
|
|
1346
|
-
- Automatic collapse of 20+ line pastes for better readability
|
|
1347
|
-
- Press Ctrl+P to expand/collapse pasted content
|
|
1348
|
-
- Configurable threshold in `~/.ax-cli/config.json`
|
|
1349
|
-
- Full content still sent to AI (not just the placeholder)
|
|
1350
|
-
|
|
1351
|
-
**✅ Quality:**
|
|
1352
|
-
- All 1,381 tests passing with 98.29% coverage
|
|
1353
|
-
- Zero breaking changes
|
|
1354
|
-
- Cleaner codebase with reduced complexity
|
|
1355
|
-
|
|
1356
|
-
### v3.6.0 (2025-11-22)
|
|
1357
|
-
|
|
1358
|
-
**🔒 Enterprise-Grade Security (FREE & Open Source):**
|
|
1359
|
-
- **API Key Encryption**: AES-256-GCM encryption for API keys at rest
|
|
1360
|
-
- **Command Injection Protection**: CVSS 9.8 CRITICAL fix with command whitelisting
|
|
1361
|
-
- **Path Traversal Hardening**: CVSS 8.6 HIGH fix preventing unauthorized file access
|
|
1362
|
-
- **SSRF Attack Prevention**: CVSS 7.5 HIGH fix for MCP transport URL validation
|
|
1363
|
-
- **Input Sanitization**: CVSS 7.0 HIGH fix for comprehensive input validation
|
|
1364
|
-
- **Error Sanitization**: CVSS 6.5 MEDIUM fix preventing credential leakage
|
|
1365
|
-
- **Security Audit Logging**: Basic JSON logging with 30-day retention
|
|
1366
|
-
- **Rate Limiting**: Token bucket algorithm to prevent API abuse
|
|
1367
|
-
- **Memory Leak Fixes**: Process pool management for long-running operations
|
|
1368
|
-
|
|
1369
|
-
**✅ Test Quality:**
|
|
1370
|
-
- **1517+ tests passing** with 98.29% coverage
|
|
1371
|
-
- All security modules fully tested and validated
|
|
1372
|
-
- Production-ready security implementation
|
|
1373
|
-
|
|
1374
|
-
**🏢 Enterprise Features (Available):**
|
|
1375
|
-
- Advanced audit logging with compliance reports (SOC2, HIPAA, PCI-DSS)
|
|
1376
|
-
- Team collaboration with shared chat history
|
|
1377
|
-
- Policy enforcement and approval workflows
|
|
1378
|
-
- Extended audit log retention (1+ years)
|
|
1379
|
-
- SSO/SAML integration support
|
|
1380
|
-
- Priority 24-hour SLA support
|
|
1381
|
-
- Contact sales@defai.digital for enterprise licensing
|
|
1382
|
-
|
|
1383
|
-
**🔧 Configuration Improvements:**
|
|
1384
|
-
- New `ax-cli setup` wizard for secure API key configuration
|
|
1385
|
-
- Automatic migration of plain-text API keys to encrypted format
|
|
1386
|
-
- Environment variable override support for CI/CD workflows
|
|
1387
|
-
|
|
1388
|
-
### v3.5.3 (2025-11-22)
|
|
1389
|
-
|
|
1390
|
-
**Bug Fixes - Test Quality & Reliability:**
|
|
1391
|
-
- Fixed unhandled promise rejection in subagent tests that caused Node.js warnings
|
|
1392
|
-
- Replaced meaningless test assertions (`expect(true).toBe(true)`) with real validation
|
|
1393
|
-
- Properly skipped untestable tests with clear TODO documentation
|
|
1394
|
-
- Fixed flaky performance test by adjusting timing threshold (0.9x instead of 0.7x)
|
|
1395
|
-
|
|
1396
|
-
**Test Suite Improvements:**
|
|
1397
|
-
- Improved test isolation and error handling patterns
|
|
1398
|
-
- Enhanced performance test reliability for CI/CD environments
|
|
1399
|
-
- Better documentation of test limitations
|
|
1400
|
-
- All 1,038 tests passing (1,036 passed + 2 properly skipped)
|
|
1401
|
-
|
|
1402
|
-
**Code Quality:**
|
|
1403
|
-
- Comprehensive test quality analysis across all test files
|
|
1404
|
-
- Eliminated false confidence from placeholder tests
|
|
1405
|
-
- Maintained 98%+ test coverage with genuine validation
|
|
1406
|
-
|
|
1407
|
-
### v3.7.1 (2025-11-22)
|
|
1408
|
-
|
|
1409
|
-
**Bug Fixes - Critical Stability Improvements:**
|
|
1410
|
-
- Fixed crash on malformed LLM responses: Added try-catch to `parseToolArgumentsCached` in LLMAgent
|
|
1411
|
-
- Prevents agent crash when LLM sends invalid JSON in tool arguments
|
|
1412
|
-
- Returns empty object instead of throwing, allowing session to continue
|
|
1413
|
-
- Affects ~1 in 1000 tool calls based on observed LLM behavior
|
|
1414
|
-
- Fixed memory leak in BashTool: Added dispose() method
|
|
1415
|
-
- Properly terminates running bash processes on cleanup
|
|
1416
|
-
- Removes all event listeners to prevent accumulation
|
|
1417
|
-
- Fixes resource leak from orphaned process handles
|
|
1418
|
-
- Fixed agent disposal: Added tool cleanup cascade
|
|
1419
|
-
- Agent now calls bash.dispose() during cleanup
|
|
1420
|
-
- Ensures all tool resources are properly released
|
|
1421
|
-
|
|
1422
|
-
**Bug Fixes - Performance & Memory:**
|
|
1423
|
-
- Fixed unbounded cache growth in `toolCallArgsCache`
|
|
1424
|
-
- Limited to 500 entries with LRU eviction (oldest 100)
|
|
1425
|
-
- Prevents 5+ MB memory leak per 10,000 tool calls
|
|
1426
|
-
- Applied to both LLMAgent and Subagent classes
|
|
1427
|
-
- Fixed resource leak in bash abort handler
|
|
1428
|
-
- Cleanup listener now called even when moveToBackground() fails
|
|
1429
|
-
- Prevents event listener memory leaks
|
|
1430
|
-
- Updated MCPManager to use singleton TokenCounter
|
|
1431
|
-
- Saves 100-200ms initialization time
|
|
1432
|
-
- Shares tiktoken encoder instance across MCP operations
|
|
1433
|
-
|
|
1434
|
-
**Test Results:**
|
|
1435
|
-
- All 1,497 tests passing (9 skipped)
|
|
1436
|
-
- 98.29% test coverage maintained
|
|
1437
|
-
- Zero breaking changes
|
|
1438
|
-
|
|
1439
|
-
**Combined Performance Gains:**
|
|
1440
|
-
- Startup: 245-495ms faster (30-50% improvement)
|
|
1441
|
-
- Runtime: 70-150ms faster per session
|
|
1442
|
-
- Memory: Bounded, predictable usage with no leaks
|
|
1443
|
-
|
|
1444
|
-
### v3.5.2 (2025-11-22)
|
|
1445
|
-
|
|
1446
|
-
**Bug Fixes - Resource Leak Prevention:**
|
|
1447
|
-
- Fixed uncleaned nested timeout in bash tool that held process references after exit
|
|
1448
|
-
- Fixed uncleaned timeout in MCP URL validation causing 3-second memory leaks
|
|
1449
|
-
- Added `.unref()` to background cleanup timers to prevent GC blocking
|
|
1450
|
-
- Added try-finally blocks for guaranteed timeout cleanup in error scenarios
|
|
1451
|
-
|
|
1452
|
-
**Bug Fixes - Platform Compatibility:**
|
|
1453
|
-
- Fixed Windows home directory bug in command history (used `os.homedir()` instead of `"~"` fallback)
|
|
1454
|
-
|
|
1455
|
-
**Code Quality:**
|
|
1456
|
-
- Comprehensive resource leak analysis across 78+ potential issues
|
|
1457
|
-
- Improved timeout cleanup patterns following Node.js best practices
|
|
1458
|
-
- Enhanced memory management for better garbage collection
|
|
1459
|
-
|
|
1460
|
-
### v3.5.0
|
|
1461
|
-
|
|
1462
|
-
**Features:**
|
|
1463
|
-
- Multi-phase task planner with automatic complexity detection
|
|
1464
|
-
- Enhanced MCP integration with production-ready templates
|
|
1465
|
-
- Project memory system with intelligent context caching
|
|
1466
|
-
- Advanced code analysis tools (dependency, security, metrics)
|
|
1467
|
-
|
|
1468
|
-
## 📄 License
|
|
1469
|
-
|
|
1470
|
-
MIT License - see [LICENSE](LICENSE) for details
|
|
1471
|
-
|
|
1472
|
-
## 🙏 Acknowledgments
|
|
1473
|
-
|
|
1474
|
-
Built with **AutomatosX** multi-agent orchestration to achieve enterprise-class standards.
|
|
462
|
+
MIT License - see [LICENSE](LICENSE) for details.
|
|
1475
463
|
|
|
1476
464
|
---
|
|
1477
465
|
|