@defai.digital/automatosx 6.0.5 → 6.0.6
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 +32 -0
- package/README.md +25 -0
- package/dist/index.js +13 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,38 @@
|
|
|
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
|
+
## [6.0.6] - 2025-10-30
|
|
6
|
+
|
|
7
|
+
### 🔧 Fixes
|
|
8
|
+
|
|
9
|
+
**CLI-Only Mode for Users Without API Access**
|
|
10
|
+
|
|
11
|
+
- **Environment Variable Override** (`src/cli/commands/run.ts` +17 lines)
|
|
12
|
+
- Added `AUTOMATOSX_CLI_ONLY=true` environment variable to force CLI mode
|
|
13
|
+
- Overrides OpenAI provider from SDK mode to CLI mode when set
|
|
14
|
+
- Prevents API connection attempts for users with CLI-only access
|
|
15
|
+
- Eliminates "Unable to connect to API" errors and retry loops
|
|
16
|
+
- Logging shows when CLI-only mode is enforced
|
|
17
|
+
|
|
18
|
+
- **Documentation** (`README.md` +24 lines)
|
|
19
|
+
- Added comprehensive CLI-only mode documentation
|
|
20
|
+
- Explained when to use (no API keys, corporate firewall, restricted network)
|
|
21
|
+
- Provided clear examples with environment variable usage
|
|
22
|
+
- Listed benefits: no API calls, no retry delays, works with CLI tools only
|
|
23
|
+
|
|
24
|
+
**Bug Fixes**
|
|
25
|
+
|
|
26
|
+
- **Test Generator Syntax Error** (`src/core/spec/TestGenerator.ts` line 262)
|
|
27
|
+
- Fixed malformed string concatenation in generated integration tests
|
|
28
|
+
- Changed `'${current.id}' to '${next.id}'` to `'${current.id}_to_${next.id}'`
|
|
29
|
+
- Fixes: Generated test code now compiles without syntax errors
|
|
30
|
+
|
|
31
|
+
### 📊 Impact
|
|
32
|
+
|
|
33
|
+
- **Users affected**: CLI-only users (no API access, corporate networks, firewall restrictions)
|
|
34
|
+
- **Breaking changes**: None
|
|
35
|
+
- **Migration**: Optional - set `AUTOMATOSX_CLI_ONLY=true` if experiencing API connection issues
|
|
36
|
+
|
|
5
37
|
## [6.0.1] - 2025-10-30
|
|
6
38
|
|
|
7
39
|
### 🎉 Phase 2 & 3 Completion - PRODUCTION READY
|
package/README.md
CHANGED
|
@@ -106,6 +106,31 @@ When you say "work with ax agent backend", the AI assistant:
|
|
|
106
106
|
|
|
107
107
|
**This natural language interface is how we expect users to work with AutomatosX daily.**
|
|
108
108
|
|
|
109
|
+
### CLI-Only Mode (No API Access Required)
|
|
110
|
+
|
|
111
|
+
If you only have CLI tools installed and **no API access** (no API keys or restricted network), you can force CLI-only mode:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
# Set environment variable to enforce CLI-only mode
|
|
115
|
+
export AUTOMATOSX_CLI_ONLY=true
|
|
116
|
+
|
|
117
|
+
# Now all providers will use CLI integration (subprocess), never API
|
|
118
|
+
ax run backend "implement user authentication"
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**When to use CLI-only mode:**
|
|
122
|
+
- ✅ You have `codex`, `gemini`, or `claude` CLI tools installed
|
|
123
|
+
- ✅ You don't have API keys configured
|
|
124
|
+
- ✅ You're behind a corporate firewall blocking API access
|
|
125
|
+
- ✅ You want to avoid API connection attempts and retries
|
|
126
|
+
|
|
127
|
+
**What it does:**
|
|
128
|
+
- Forces `openai` provider to use CLI subprocess mode (`codex` command)
|
|
129
|
+
- Prevents OpenAI SDK API calls even if configured for SDK mode
|
|
130
|
+
- Eliminates "Unable to connect to API" errors and retry loops
|
|
131
|
+
|
|
132
|
+
**Note**: This only affects OpenAI provider. Claude and Gemini providers always use CLI mode by default.
|
|
133
|
+
|
|
109
134
|
---
|
|
110
135
|
|
|
111
136
|
## 🎯 What Makes AutomatosX Different?
|
package/dist/index.js
CHANGED
|
@@ -23258,7 +23258,16 @@ Complexity Score: ${complexity.score}/10
|
|
|
23258
23258
|
connectionPool: openaiConfig.connectionPool,
|
|
23259
23259
|
fallbackToCLI: openaiConfig.fallbackToCLI
|
|
23260
23260
|
};
|
|
23261
|
-
const
|
|
23261
|
+
const cliOnlyMode = process.env.AUTOMATOSX_CLI_ONLY === "true";
|
|
23262
|
+
let integrationMode = openaiConfig.integration || "cli";
|
|
23263
|
+
if (cliOnlyMode && integrationMode === "sdk") {
|
|
23264
|
+
logger.info("\u26A0\uFE0F CLI-only mode enforced (AUTOMATOSX_CLI_ONLY=true)", {
|
|
23265
|
+
provider: "openai",
|
|
23266
|
+
configuredMode: "sdk",
|
|
23267
|
+
enforcedMode: "cli"
|
|
23268
|
+
});
|
|
23269
|
+
integrationMode = "cli";
|
|
23270
|
+
}
|
|
23262
23271
|
if (integrationMode === "sdk") {
|
|
23263
23272
|
logger.info("\u{1F4E6} Using OpenAI SDK integration (native, no subprocess)", {
|
|
23264
23273
|
provider: "openai",
|
|
@@ -23267,7 +23276,8 @@ Complexity Score: ${complexity.score}/10
|
|
|
23267
23276
|
providers.push(new OpenAISDKProvider(providerConfig, openaiConfig.sdk || {}));
|
|
23268
23277
|
} else {
|
|
23269
23278
|
logger.info("\u{1F5A5}\uFE0F Using OpenAI CLI integration (subprocess)", {
|
|
23270
|
-
provider: "openai"
|
|
23279
|
+
provider: "openai",
|
|
23280
|
+
cliOnlyMode: cliOnlyMode ? "enforced" : "default"
|
|
23271
23281
|
});
|
|
23272
23282
|
providers.push(new OpenAIProvider(providerConfig));
|
|
23273
23283
|
}
|
|
@@ -41261,7 +41271,7 @@ var TestGenerator = class {
|
|
|
41261
41271
|
const current = spec.actors[i];
|
|
41262
41272
|
const next = spec.actors[i + 1];
|
|
41263
41273
|
if (current && next) {
|
|
41264
|
-
lines.push(` expect(result.dataFlow['${current.id}
|
|
41274
|
+
lines.push(` expect(result.dataFlow['${current.id}_to_${next.id}']).toBeDefined();`);
|
|
41265
41275
|
}
|
|
41266
41276
|
}
|
|
41267
41277
|
lines.push(` });`);
|