@dmsdc-ai/aterm 0.1.12 → 0.1.13
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/bin/aterm.js +59 -0
- package/package.json +2 -2
package/bin/aterm.js
CHANGED
|
@@ -4,9 +4,12 @@ import path from 'node:path';
|
|
|
4
4
|
import { spawn } from 'node:child_process';
|
|
5
5
|
import { fileURLToPath } from 'node:url';
|
|
6
6
|
import {
|
|
7
|
+
detectAiCliStatus,
|
|
7
8
|
ensureUserLayout,
|
|
8
9
|
getUserAtermConfigPath,
|
|
9
10
|
resolveAigentryConfig,
|
|
11
|
+
resolveInstallHomeDir,
|
|
12
|
+
updateConfigFile,
|
|
10
13
|
} from '../lib/aigentry.js';
|
|
11
14
|
|
|
12
15
|
const __filename = fileURLToPath(import.meta.url);
|
|
@@ -76,11 +79,67 @@ async function maybeRunFirstRunWizard() {
|
|
|
76
79
|
await wizardModule.completeFirstRunWizard(context, wizardResult);
|
|
77
80
|
}
|
|
78
81
|
|
|
82
|
+
async function maybeRunConfigMigration() {
|
|
83
|
+
const configPath = getUserAtermConfigPath();
|
|
84
|
+
if (!fs.existsSync(configPath)) return;
|
|
85
|
+
|
|
86
|
+
let config;
|
|
87
|
+
try {
|
|
88
|
+
config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
|
|
89
|
+
} catch { return; }
|
|
90
|
+
|
|
91
|
+
if (!config.setupCompleted) return;
|
|
92
|
+
|
|
93
|
+
const isTTY = process.stdin.isTTY && process.stdout.isTTY;
|
|
94
|
+
const cliStatus = detectAiCliStatus(resolveInstallHomeDir());
|
|
95
|
+
const patch = {};
|
|
96
|
+
const questions = [];
|
|
97
|
+
|
|
98
|
+
// Check each field individually — users from any version get prompted only for THEIR missing fields
|
|
99
|
+
if (!config.ai?.defaultCLI) {
|
|
100
|
+
questions.push({
|
|
101
|
+
type: 'select',
|
|
102
|
+
name: 'defaultCLI',
|
|
103
|
+
message: 'Default AI CLI for orchestrator workspace',
|
|
104
|
+
choices: [
|
|
105
|
+
{ title: 'claude', value: 'claude', disabled: !cliStatus.claude },
|
|
106
|
+
{ title: 'codex', value: 'codex', disabled: !cliStatus.codex },
|
|
107
|
+
{ title: 'gemini', value: 'gemini', disabled: !cliStatus.gemini },
|
|
108
|
+
{ title: 'none (plain zsh)', value: 'none' },
|
|
109
|
+
],
|
|
110
|
+
initial: cliStatus.claude ? 0 : cliStatus.codex ? 1 : cliStatus.gemini ? 2 : 3,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
if (questions.length === 0) return;
|
|
115
|
+
|
|
116
|
+
if (isTTY) {
|
|
117
|
+
try {
|
|
118
|
+
const prompts = (await import('prompts')).default;
|
|
119
|
+
const responses = await prompts(questions);
|
|
120
|
+
if (responses.defaultCLI) {
|
|
121
|
+
patch.ai = { ...config.ai, defaultCLI: responses.defaultCLI };
|
|
122
|
+
}
|
|
123
|
+
} catch { /* fall through to auto-detect */ }
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// Auto-fill any fields not answered via prompt
|
|
127
|
+
if (!patch.ai?.defaultCLI && !config.ai?.defaultCLI) {
|
|
128
|
+
const auto = cliStatus.claude ? 'claude' : cliStatus.codex ? 'codex' : cliStatus.gemini ? 'gemini' : 'none';
|
|
129
|
+
patch.ai = { ...config.ai, ...patch.ai, defaultCLI: auto };
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
if (Object.keys(patch).length > 0) {
|
|
133
|
+
updateConfigFile(configPath, patch);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
79
137
|
if (process.argv.includes('--version') || process.argv.includes('-v')) {
|
|
80
138
|
printVersionAndExit();
|
|
81
139
|
}
|
|
82
140
|
|
|
83
141
|
await maybeRunFirstRunWizard();
|
|
142
|
+
await maybeRunConfigMigration();
|
|
84
143
|
const resolvedConfig = resolveAigentryConfig({ cwd: process.cwd() });
|
|
85
144
|
|
|
86
145
|
if (!fs.existsSync(executable)) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dmsdc-ai/aterm",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.13",
|
|
4
4
|
"description": "Native aterm launcher package",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./bin/aterm.js",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"package.json"
|
|
18
18
|
],
|
|
19
19
|
"optionalDependencies": {
|
|
20
|
-
"@dmsdc-ai/aterm-darwin-arm64": "0.1.
|
|
20
|
+
"@dmsdc-ai/aterm-darwin-arm64": "0.1.13"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@dmsdc-ai/aigentry-brain": "latest",
|