@indy2kro/agentenv 1.1.2 → 1.2.0
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/dist/adapters/base.d.ts +3 -1
- package/dist/adapters/base.d.ts.map +1 -1
- package/dist/adapters/base.js.map +1 -1
- package/dist/adapters/claude.d.ts +0 -4
- package/dist/adapters/claude.d.ts.map +1 -1
- package/dist/adapters/claude.js +5 -36
- package/dist/adapters/claude.js.map +1 -1
- package/dist/adapters/cline.d.ts.map +1 -1
- package/dist/adapters/cline.js +1 -0
- package/dist/adapters/cline.js.map +1 -1
- package/dist/adapters/codex.d.ts.map +1 -1
- package/dist/adapters/codex.js +12 -10
- package/dist/adapters/codex.js.map +1 -1
- package/dist/adapters/copilot.d.ts.map +1 -1
- package/dist/adapters/copilot.js +8 -9
- package/dist/adapters/copilot.js.map +1 -1
- package/dist/adapters/detect.d.ts +8 -0
- package/dist/adapters/detect.d.ts.map +1 -1
- package/dist/adapters/detect.js +26 -7
- package/dist/adapters/detect.js.map +1 -1
- package/dist/adapters/gemini.d.ts.map +1 -1
- package/dist/adapters/gemini.js +5 -0
- package/dist/adapters/gemini.js.map +1 -1
- package/dist/adapters/opencode.d.ts.map +1 -1
- package/dist/adapters/opencode.js +3 -8
- package/dist/adapters/opencode.js.map +1 -1
- package/dist/adapters/rtk-delegation.d.ts +20 -2
- package/dist/adapters/rtk-delegation.d.ts.map +1 -1
- package/dist/adapters/rtk-delegation.js +86 -11
- package/dist/adapters/rtk-delegation.js.map +1 -1
- package/dist/adapters/vibe.d.ts.map +1 -1
- package/dist/adapters/vibe.js +4 -1
- package/dist/adapters/vibe.js.map +1 -1
- package/dist/adapters/windsurf.d.ts.map +1 -1
- package/dist/adapters/windsurf.js +3 -1
- package/dist/adapters/windsurf.js.map +1 -1
- package/dist/cli/exit.d.ts +7 -0
- package/dist/cli/exit.d.ts.map +1 -1
- package/dist/cli/exit.js +9 -0
- package/dist/cli/exit.js.map +1 -1
- package/dist/cli/json.d.ts +22 -0
- package/dist/cli/json.d.ts.map +1 -0
- package/dist/cli/json.js +17 -0
- package/dist/cli/json.js.map +1 -0
- package/dist/commands/agent-files.d.ts +14 -0
- package/dist/commands/agent-files.d.ts.map +1 -0
- package/dist/commands/agent-files.js +58 -0
- package/dist/commands/agent-files.js.map +1 -0
- package/dist/commands/apply.d.ts +42 -1
- package/dist/commands/apply.d.ts.map +1 -1
- package/dist/commands/apply.js +169 -53
- package/dist/commands/apply.js.map +1 -1
- package/dist/commands/completion.d.ts +4 -0
- package/dist/commands/completion.d.ts.map +1 -1
- package/dist/commands/completion.js +46 -5
- package/dist/commands/completion.js.map +1 -1
- package/dist/commands/config-edit.d.ts +9 -7
- package/dist/commands/config-edit.d.ts.map +1 -1
- package/dist/commands/config-edit.js +65 -18
- package/dist/commands/config-edit.js.map +1 -1
- package/dist/commands/doctor.d.ts +9 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +123 -8
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/setup.d.ts +22 -3
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +136 -39
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/status.d.ts +10 -6
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +62 -48
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/uninstall.d.ts +15 -2
- package/dist/commands/uninstall.d.ts.map +1 -1
- package/dist/commands/uninstall.js +79 -13
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.d.ts +29 -2
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +173 -15
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/wizard.d.ts +2 -0
- package/dist/commands/wizard.d.ts.map +1 -1
- package/dist/commands/wizard.js +33 -12
- package/dist/commands/wizard.js.map +1 -1
- package/dist/config/schema.d.ts +3 -3
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +51 -28
- package/dist/config/schema.js.map +1 -1
- package/dist/config/scopes.d.ts +14 -0
- package/dist/config/scopes.d.ts.map +1 -1
- package/dist/config/scopes.js +23 -0
- package/dist/config/scopes.js.map +1 -1
- package/dist/generate/agentsmd.d.ts +9 -3
- package/dist/generate/agentsmd.d.ts.map +1 -1
- package/dist/generate/agentsmd.js +103 -24
- package/dist/generate/agentsmd.js.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/integrations/base.d.ts +0 -1
- package/dist/integrations/base.d.ts.map +1 -1
- package/dist/integrations/superpowers.d.ts +12 -4
- package/dist/integrations/superpowers.d.ts.map +1 -1
- package/dist/integrations/superpowers.js +33 -37
- package/dist/integrations/superpowers.js.map +1 -1
- package/dist/shell/detector.d.ts.map +1 -1
- package/dist/shell/detector.js +9 -0
- package/dist/shell/detector.js.map +1 -1
- package/dist/shell/shell-fix-state.d.ts +1 -1
- package/dist/shell/shell-fix-state.d.ts.map +1 -1
- package/dist/shell/shell-fix-state.js +13 -2
- package/dist/shell/shell-fix-state.js.map +1 -1
- package/dist/toolchain/gh.d.ts +7 -0
- package/dist/toolchain/gh.d.ts.map +1 -1
- package/dist/toolchain/gh.js +13 -1
- package/dist/toolchain/gh.js.map +1 -1
- package/dist/toolchain/mise.d.ts +54 -1
- package/dist/toolchain/mise.d.ts.map +1 -1
- package/dist/toolchain/mise.js +170 -27
- package/dist/toolchain/mise.js.map +1 -1
- package/dist/toolchain/rtk.d.ts +7 -0
- package/dist/toolchain/rtk.d.ts.map +1 -1
- package/dist/toolchain/rtk.js +11 -0
- package/dist/toolchain/rtk.js.map +1 -1
- package/dist/ui/output.d.ts.map +1 -1
- package/dist/ui/output.js +7 -3
- package/dist/ui/output.js.map +1 -1
- package/dist/ui/report.d.ts +13 -2
- package/dist/ui/report.d.ts.map +1 -1
- package/dist/ui/report.js +24 -4
- package/dist/ui/report.js.map +1 -1
- package/dist/utils/fs-retry.d.ts +11 -1
- package/dist/utils/fs-retry.d.ts.map +1 -1
- package/dist/utils/fs-retry.js +43 -4
- package/dist/utils/fs-retry.js.map +1 -1
- package/dist/wizard/build.d.ts +7 -1
- package/dist/wizard/build.d.ts.map +1 -1
- package/dist/wizard/build.js +11 -6
- package/dist/wizard/build.js.map +1 -1
- package/package.json +2 -1
|
@@ -6,9 +6,21 @@
|
|
|
6
6
|
* asserts the generated scripts cover every registered command and flag.
|
|
7
7
|
*/
|
|
8
8
|
import { Argument, Command } from 'commander';
|
|
9
|
+
import { AGENT_KEYS, TOOL_KEYS } from '../config/schema.js';
|
|
9
10
|
export const COMPLETION_SHELLS = ['bash', 'zsh', 'fish', 'powershell'];
|
|
10
11
|
/** Flags every command accepts, whether or not Commander lists them locally. */
|
|
11
12
|
const HELP_FLAGS = ['-h', '--help', '-V', '--version'];
|
|
13
|
+
/** Fixed flag values; kept next to the model so the scripts and tests share one source. */
|
|
14
|
+
const FLAG_VALUES = {
|
|
15
|
+
'--scope': ['project', 'user'],
|
|
16
|
+
'--shell-fix': ['auto', 'always', 'never'],
|
|
17
|
+
};
|
|
18
|
+
/** Positional values per command, drawn from the config's own key lists. */
|
|
19
|
+
const POSITIONAL_VALUES = {
|
|
20
|
+
add: [...AGENT_KEYS, ...TOOL_KEYS],
|
|
21
|
+
remove: [...AGENT_KEYS, ...TOOL_KEYS],
|
|
22
|
+
uninstall: [...TOOL_KEYS],
|
|
23
|
+
};
|
|
12
24
|
function optionWords(options) {
|
|
13
25
|
const words = [];
|
|
14
26
|
for (const option of options) {
|
|
@@ -29,15 +41,19 @@ export function buildCompletionModel(root) {
|
|
|
29
41
|
aliases: command.aliases(),
|
|
30
42
|
description: oneLine(command.description()),
|
|
31
43
|
flags: [...new Set([...optionWords(command.options), ...globalFlags])],
|
|
44
|
+
positionals: POSITIONAL_VALUES[command.name()] ?? [],
|
|
32
45
|
}));
|
|
33
|
-
return { program: root.name(), globalFlags, commands };
|
|
46
|
+
return { program: root.name(), globalFlags, commands, flagValues: FLAG_VALUES };
|
|
34
47
|
}
|
|
35
48
|
function commandWords(model) {
|
|
36
49
|
return model.commands.flatMap((command) => [command.name, ...command.aliases]);
|
|
37
50
|
}
|
|
38
51
|
export function generateBash(model) {
|
|
39
52
|
const cases = model.commands
|
|
40
|
-
.flatMap((command) => [command.name, ...command.aliases].map((name) => ` ${name}) flags="${command.flags.join(' ')}" ;;`))
|
|
53
|
+
.flatMap((command) => [command.name, ...command.aliases].map((name) => ` ${name}) flags="${[...command.flags, ...command.positionals].join(' ')}" ;;`))
|
|
54
|
+
.join('\n');
|
|
55
|
+
const valueCases = Object.entries(model.flagValues)
|
|
56
|
+
.map(([flag, values]) => ` ${flag}) COMPREPLY=( $(compgen -W "${values.join(' ')}" -- "\${cur}") ); return 0 ;;`)
|
|
41
57
|
.join('\n');
|
|
42
58
|
return `#!/usr/bin/env bash
|
|
43
59
|
# Bash completion for ${model.program}. Load with: source <(${model.program} completion bash)
|
|
@@ -50,6 +66,9 @@ _${model.program}_completions() {
|
|
|
50
66
|
COMPREPLY=( $(compgen -W "${COMPLETION_SHELLS.join(' ')}" -- "\${cur}") )
|
|
51
67
|
return 0
|
|
52
68
|
fi
|
|
69
|
+
case "\${prev}" in
|
|
70
|
+
${valueCases}
|
|
71
|
+
esac
|
|
53
72
|
if [ "\${COMP_CWORD}" -eq 1 ]; then
|
|
54
73
|
COMPREPLY=( $(compgen -W "${commandWords(model).join(' ')} ${model.globalFlags.join(' ')}" -- "\${cur}") )
|
|
55
74
|
return 0
|
|
@@ -73,7 +92,10 @@ export function generateZsh(model) {
|
|
|
73
92
|
.join('\n');
|
|
74
93
|
const shellEntries = COMPLETION_SHELLS.map((shell) => ` '${zshEscape(`${shell}:${shell}`)}'`).join('\n');
|
|
75
94
|
const cases = model.commands
|
|
76
|
-
.flatMap((command) => [command.name, ...command.aliases].map((name) => ` ${name}) flags=(${command.flags.join(' ')}) ;;`))
|
|
95
|
+
.flatMap((command) => [command.name, ...command.aliases].map((name) => ` ${name}) flags=(${[...command.flags, ...command.positionals].join(' ')}) ;;`))
|
|
96
|
+
.join('\n');
|
|
97
|
+
const valueCases = Object.entries(model.flagValues)
|
|
98
|
+
.map(([flag, values]) => ` ${flag}) compadd -- ${values.join(' ')}; return ;;`)
|
|
77
99
|
.join('\n');
|
|
78
100
|
return `#compdef ${model.program}
|
|
79
101
|
# Zsh completion for ${model.program}. Load with: source <(${model.program} completion zsh)
|
|
@@ -94,6 +116,9 @@ ${shellEntries}
|
|
|
94
116
|
_describe -t shells '${model.program} completion shell' shells
|
|
95
117
|
return
|
|
96
118
|
fi
|
|
119
|
+
case "\${words[CURRENT-1]}" in
|
|
120
|
+
${valueCases}
|
|
121
|
+
esac
|
|
97
122
|
local -a flags
|
|
98
123
|
case "\${words[2]}" in
|
|
99
124
|
${cases}
|
|
@@ -131,6 +156,12 @@ export function generateFish(model) {
|
|
|
131
156
|
for (const command of model.commands) {
|
|
132
157
|
const seen = [command.name, ...command.aliases].join(' ');
|
|
133
158
|
lines.push(`complete -c ${model.program} -n '__fish_seen_subcommand_from ${seen}' ${fishWordFlags(command.flags)}`);
|
|
159
|
+
if (command.positionals.length > 0) {
|
|
160
|
+
lines.push(`complete -c ${model.program} -n '__fish_seen_subcommand_from ${seen}' -a '${command.positionals.join(' ')}'`);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
for (const [flag, values] of Object.entries(model.flagValues)) {
|
|
164
|
+
lines.push(`complete -c ${model.program} -l ${flag.slice(2)} -x -a '${values.join(' ')}'`);
|
|
134
165
|
}
|
|
135
166
|
return `${lines.join('\n')}\n`;
|
|
136
167
|
}
|
|
@@ -145,7 +176,10 @@ export function generatePowerShell(model) {
|
|
|
145
176
|
const shellNames = COMPLETION_SHELLS.map((shell) => `'${shell}'`).join(', ');
|
|
146
177
|
const global = model.globalFlags.map((flag) => `'${flag}'`).join(', ');
|
|
147
178
|
const cases = model.commands
|
|
148
|
-
.flatMap((command) => [command.name, ...command.aliases].map((name) => ` '${name}' = @(${command.flags.map((flag) => `'${flag}'`).join(', ')})`))
|
|
179
|
+
.flatMap((command) => [command.name, ...command.aliases].map((name) => ` '${name}' = @(${[...command.flags, ...command.positionals].map((flag) => `'${flag}'`).join(', ')})`))
|
|
180
|
+
.join('\n');
|
|
181
|
+
const flagValueEntries = Object.entries(model.flagValues)
|
|
182
|
+
.map(([flag, values]) => ` '${flag}' = @(${values.map((value) => `'${value}'`).join(', ')})`)
|
|
149
183
|
.join('\n');
|
|
150
184
|
return `# PowerShell completion for ${model.program}. Load with: ${model.program} completion powershell | Out-String | Invoke-Expression
|
|
151
185
|
Register-ArgumentCompleter -Native -CommandName '${psEscape(model.program)}' -ScriptBlock {
|
|
@@ -155,9 +189,16 @@ Register-ArgumentCompleter -Native -CommandName '${psEscape(model.program)}' -Sc
|
|
|
155
189
|
$globals = @(${global})
|
|
156
190
|
$byCommand = @{
|
|
157
191
|
${cases}
|
|
192
|
+
}
|
|
193
|
+
$flagValues = @{
|
|
194
|
+
${flagValueEntries}
|
|
158
195
|
}
|
|
159
196
|
$elements = @($commandAst.CommandElements | ForEach-Object { $_.ToString() })
|
|
160
|
-
$
|
|
197
|
+
$prevIndex = if ($wordToComplete) { $elements.Count - 2 } else { $elements.Count - 1 }
|
|
198
|
+
$prev = if ($prevIndex -ge 0) { $elements[$prevIndex] } else { '' }
|
|
199
|
+
$candidates = if ($flagValues.ContainsKey($prev)) {
|
|
200
|
+
$flagValues[$prev]
|
|
201
|
+
} elseif ($elements.Count -gt 1 -and $elements[1] -eq 'completion') {
|
|
161
202
|
$shells + $globals
|
|
162
203
|
} elseif ($elements.Count -gt 1 -and $byCommand.ContainsKey($elements[1])) {
|
|
163
204
|
$byCommand[$elements[1]] + $globals
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `agentenv add` / `agentenv remove` — non-interactive config edits.
|
|
3
|
-
* Flips tool/agent booleans in agentenv.toml and (by default) re-applies,
|
|
4
|
-
* so an AI agent can say "enable jq here" without the TTY-only wizard or
|
|
5
|
-
* hand-editing TOML.
|
|
6
|
-
*/
|
|
7
1
|
import { Command } from 'commander';
|
|
8
2
|
import { type AgentenvConfig } from '../config/schema.js';
|
|
9
3
|
export type ConfigEditKind = 'tool' | 'agent';
|
|
10
4
|
/** Classify `name` as a tool or agent config key, or undefined if it's neither. */
|
|
11
5
|
export declare function classifyConfigKey(name: string): ConfigEditKind | undefined;
|
|
12
|
-
export interface
|
|
6
|
+
export interface ConfigEditToggle {
|
|
13
7
|
kind: ConfigEditKind;
|
|
14
8
|
key: string;
|
|
15
9
|
from: boolean;
|
|
16
10
|
to: boolean;
|
|
17
11
|
}
|
|
12
|
+
/** A `tool@version` pin written to `[tool_versions]`. */
|
|
13
|
+
export interface ConfigEditPin {
|
|
14
|
+
kind: 'pin';
|
|
15
|
+
key: string;
|
|
16
|
+
from: string | null;
|
|
17
|
+
to: string;
|
|
18
|
+
}
|
|
19
|
+
export type ConfigEditChange = ConfigEditToggle | ConfigEditPin;
|
|
18
20
|
export interface ConfigEditPlan {
|
|
19
21
|
changes: ConfigEditChange[];
|
|
20
22
|
unknown: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-edit.d.ts","sourceRoot":"","sources":["../../src/commands/config-edit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config-edit.d.ts","sourceRoot":"","sources":["../../src/commands/config-edit.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAQ7B,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,CAAC;AAE9C,mFAAmF;AACnF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAI1E;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,OAAO,CAAC;CACb;AAED,yDAAyD;AACzD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,aAAa,CAAC;AAEhE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,OAAO,GACd,cAAc,CAgChB;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,GAAG,cAAc,CAe5F;AAiLD,eAAO,MAAM,UAAU,SAerB,CAAC;AAEH,eAAO,MAAM,aAAa,SAYxB,CAAC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* so an AI agent can say "enable jq here" without the TTY-only wizard or
|
|
5
5
|
* hand-editing TOML.
|
|
6
6
|
*/
|
|
7
|
+
import { printJson } from '../cli/json.js';
|
|
7
8
|
import { Command } from 'commander';
|
|
8
9
|
import * as fs from 'fs';
|
|
9
10
|
import * as path from 'path';
|
|
@@ -32,13 +33,26 @@ export function planConfigEdit(config, items, enable) {
|
|
|
32
33
|
const unknown = [];
|
|
33
34
|
const seen = new Set();
|
|
34
35
|
for (const raw of items) {
|
|
35
|
-
const
|
|
36
|
-
if (!
|
|
36
|
+
const item = raw.trim();
|
|
37
|
+
if (!item || seen.has(item))
|
|
37
38
|
continue;
|
|
38
|
-
seen.add(
|
|
39
|
+
seen.add(item);
|
|
40
|
+
// `tool@version` enables the tool (if needed) and pins it; only `add`, only tools.
|
|
41
|
+
const at = item.indexOf('@');
|
|
42
|
+
const name = at < 0 ? item : item.slice(0, at);
|
|
43
|
+
const version = at < 0 ? undefined : item.slice(at + 1).trim();
|
|
39
44
|
const kind = classifyConfigKey(name);
|
|
40
|
-
if (!kind) {
|
|
41
|
-
unknown.push(
|
|
45
|
+
if (!kind || (version !== undefined && (!enable || kind !== 'tool' || version === ''))) {
|
|
46
|
+
unknown.push(item);
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
if (version !== undefined) {
|
|
50
|
+
const pinned = config.tool_versions?.[name] ?? null;
|
|
51
|
+
const enabled = config.tools?.[name] ?? false;
|
|
52
|
+
if (!enabled)
|
|
53
|
+
changes.push({ kind: 'tool', key: name, from: false, to: true });
|
|
54
|
+
if (pinned !== version)
|
|
55
|
+
changes.push({ kind: 'pin', key: name, from: pinned, to: version });
|
|
42
56
|
continue;
|
|
43
57
|
}
|
|
44
58
|
const current = kind === 'agent'
|
|
@@ -58,12 +72,18 @@ export function applyConfigEdit(config, plan) {
|
|
|
58
72
|
tools: { ...config.tools },
|
|
59
73
|
};
|
|
60
74
|
for (const change of plan.changes) {
|
|
75
|
+
if (change.kind === 'pin') {
|
|
76
|
+
next.tool_versions = { ...next.tool_versions, [change.key]: change.to };
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
61
79
|
const bucket = (change.kind === 'agent' ? next.agents : next.tools);
|
|
62
80
|
bucket[change.key] = change.to;
|
|
63
81
|
}
|
|
64
82
|
return next;
|
|
65
83
|
}
|
|
66
84
|
function changeLine(change) {
|
|
85
|
+
if (change.kind === 'pin')
|
|
86
|
+
return ` pin ${change.key}: ${change.from ?? 'unpinned'} -> ${change.to}`;
|
|
67
87
|
return ` ${change.kind} ${change.key}: ${change.from} -> ${change.to}`;
|
|
68
88
|
}
|
|
69
89
|
async function doConfigEdit(items, enable, options) {
|
|
@@ -75,7 +95,7 @@ async function doConfigEdit(items, enable, options) {
|
|
|
75
95
|
const verb = enable ? 'add' : 'remove';
|
|
76
96
|
const fail = (message, exitCode = 1) => {
|
|
77
97
|
if (json)
|
|
78
|
-
|
|
98
|
+
printJson({ success: false, message });
|
|
79
99
|
else
|
|
80
100
|
console.error(message);
|
|
81
101
|
process.exitCode = exitCode;
|
|
@@ -114,7 +134,7 @@ async function doConfigEdit(items, enable, options) {
|
|
|
114
134
|
const report = validateConfig(config);
|
|
115
135
|
if (report.errors.length > 0) {
|
|
116
136
|
if (json)
|
|
117
|
-
|
|
137
|
+
printJson({ success: false, message: report.errors.join('; ') });
|
|
118
138
|
else
|
|
119
139
|
reportValidation(report, 'Configuration invalid — not editing.');
|
|
120
140
|
process.exitCode = 1;
|
|
@@ -122,27 +142,37 @@ async function doConfigEdit(items, enable, options) {
|
|
|
122
142
|
}
|
|
123
143
|
if (!json)
|
|
124
144
|
reportValidation(report, 'Configuration invalid — not editing.');
|
|
125
|
-
|
|
145
|
+
// Plan against the file's own settings: a tool the user config already
|
|
146
|
+
// enables must still be declarable in (or removable from) this file.
|
|
147
|
+
const fileConfig = loadConfig(configPath);
|
|
148
|
+
const plan = planConfigEdit(fileConfig, items, enable);
|
|
126
149
|
if (plan.unknown.length > 0) {
|
|
127
150
|
usageError(`Unknown tool/agent key(s) to ${verb}: ${plan.unknown.join(', ')}. Valid keys: ${[...AGENT_KEYS, ...TOOL_KEYS].join(', ')}`);
|
|
128
151
|
return;
|
|
129
152
|
}
|
|
130
153
|
if (plan.changes.length === 0) {
|
|
131
|
-
if (json)
|
|
132
|
-
|
|
154
|
+
if (json) {
|
|
155
|
+
printJson({
|
|
156
|
+
success: true,
|
|
157
|
+
message: 'Nothing to change.',
|
|
158
|
+
configPath,
|
|
159
|
+
warnings: report.warnings,
|
|
160
|
+
});
|
|
161
|
+
}
|
|
133
162
|
else
|
|
134
163
|
printResult('warn', 'Nothing to change.');
|
|
135
164
|
return;
|
|
136
165
|
}
|
|
137
166
|
if (options.dryRun) {
|
|
138
167
|
if (json) {
|
|
139
|
-
|
|
168
|
+
printJson({
|
|
140
169
|
success: true,
|
|
141
170
|
message: 'no changes were made',
|
|
142
171
|
configPath,
|
|
143
172
|
dryRun: true,
|
|
144
173
|
changes: plan.changes,
|
|
145
|
-
|
|
174
|
+
warnings: report.warnings,
|
|
175
|
+
});
|
|
146
176
|
}
|
|
147
177
|
else {
|
|
148
178
|
console.log(plan.changes.map(changeLine).join('\n'));
|
|
@@ -151,11 +181,22 @@ async function doConfigEdit(items, enable, options) {
|
|
|
151
181
|
return;
|
|
152
182
|
}
|
|
153
183
|
const nextConfig = applyConfigEdit(config, plan);
|
|
184
|
+
// `config` is the user-layered view used for planning and applying; only
|
|
185
|
+
// the file's own (unlayered) settings plus this edit may be written back,
|
|
186
|
+
// so user-level preferences are never baked into the project agentenv.toml.
|
|
187
|
+
const persisted = applyConfigEdit(fileConfig, plan);
|
|
154
188
|
if (options.apply === false) {
|
|
155
|
-
saveConfig(
|
|
189
|
+
saveConfig(persisted, configPath);
|
|
156
190
|
const message = `Updated ${plan.changes.length} setting(s)`;
|
|
157
191
|
if (json) {
|
|
158
|
-
|
|
192
|
+
printJson({
|
|
193
|
+
success: true,
|
|
194
|
+
message,
|
|
195
|
+
configPath,
|
|
196
|
+
changes: plan.changes,
|
|
197
|
+
applied: false,
|
|
198
|
+
warnings: report.warnings,
|
|
199
|
+
});
|
|
159
200
|
}
|
|
160
201
|
else {
|
|
161
202
|
console.log(plan.changes.map(changeLine).join('\n'));
|
|
@@ -164,20 +205,26 @@ async function doConfigEdit(items, enable, options) {
|
|
|
164
205
|
return;
|
|
165
206
|
}
|
|
166
207
|
if (json) {
|
|
167
|
-
saveConfig(
|
|
208
|
+
saveConfig(persisted, configPath);
|
|
168
209
|
const baseDir = path.dirname(configPath);
|
|
169
210
|
const result = await applyConfiguration(nextConfig, baseDir, {
|
|
170
211
|
skipMiseInstall: options.skipMiseInstall,
|
|
171
212
|
skipPrereqMessage: true,
|
|
213
|
+
fileConfig: persisted.scope === 'project' ? persisted : undefined,
|
|
214
|
+
});
|
|
215
|
+
const applyJson = buildApplyJsonResult(result, {
|
|
216
|
+
configPath,
|
|
217
|
+
baseDir,
|
|
218
|
+
warnings: report.warnings,
|
|
172
219
|
});
|
|
173
|
-
|
|
174
|
-
console.log(JSON.stringify({ ...applyJson, changes: plan.changes }, null, 2));
|
|
220
|
+
printJson({ ...applyJson, changes: plan.changes });
|
|
175
221
|
if (!result.success)
|
|
176
222
|
process.exitCode = 1;
|
|
177
223
|
return;
|
|
178
224
|
}
|
|
179
225
|
console.log(plan.changes.map(changeLine).join('\n'));
|
|
180
226
|
await saveAndApply(nextConfig, configPath, {
|
|
227
|
+
persistConfig: persisted,
|
|
181
228
|
startedAt,
|
|
182
229
|
successMessage: `Updated ${plan.changes.length} setting(s) and applied`,
|
|
183
230
|
skipMiseInstall: options.skipMiseInstall,
|
|
@@ -194,7 +241,7 @@ function registerConfigEditFlags(command) {
|
|
|
194
241
|
export const addCommand = registerConfigEditFlags(new Command()
|
|
195
242
|
.name('add')
|
|
196
243
|
.description('Enable tool(s)/agent(s) in agentenv.toml, then apply (unless --no-apply)')
|
|
197
|
-
.argument('<items...>', 'tool or agent config keys to enable (e.g. ripgrep, claude_code)')).action((items, options, command) => {
|
|
244
|
+
.argument('<items...>', 'tool or agent config keys to enable (e.g. ripgrep, claude_code); tool@version also pins it (e.g. jq@1.7.1)')).action((items, options, command) => {
|
|
198
245
|
const scope = parseScopeFlag(options.scope);
|
|
199
246
|
if (scope.error) {
|
|
200
247
|
command.error(scope.error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-edit.js","sourceRoot":"","sources":["../../src/commands/config-edit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,cAAc,GAEf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErF,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAIjF,mFAAmF;AACnF,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,IAAK,UAAgC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IACrE,IAAK,SAA+B,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IACnE,OAAO,SAAS,CAAC;AACnB,CAAC;
|
|
1
|
+
{"version":3,"file":"config-edit.js","sourceRoot":"","sources":["../../src/commands/config-edit.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,14 +4,17 @@ import { isAgentInstalled } from '../adapters/detect.js';
|
|
|
4
4
|
import { loadConfig } from '../config/schema.js';
|
|
5
5
|
import type { AgentKey } from '../config/schema.js';
|
|
6
6
|
import { findConfigPath, userConfigDir } from '../config/scopes.js';
|
|
7
|
+
import type { ScopeValue } from '../config/scopes.js';
|
|
7
8
|
import { checkAgentShellConfiguration, detectShell } from '../shell/detector.js';
|
|
8
|
-
import { getInstalledToolState, getMiseVersion, isMiseInstalled, miseGlobalConfigPath, shimsDir, shimsDirOnPath, toolAvailabilityClassification } from '../toolchain/mise.js';
|
|
9
|
+
import { getInstalledToolState, getMiseVersion, isMiseInstalled, miseGlobalConfigPath, shimsDir, shimsDirOnPath, findShadowedShims, toolAvailabilityClassification } from '../toolchain/mise.js';
|
|
9
10
|
import { checkRtkInstallation } from '../toolchain/rtk.js';
|
|
10
11
|
export type DoctorStatus = 'ok' | 'warn' | 'fail';
|
|
11
12
|
export interface DoctorItem {
|
|
12
13
|
status: DoctorStatus;
|
|
13
14
|
label: string;
|
|
14
15
|
detail: string;
|
|
16
|
+
/** A command that fixes this item, for scripts and agents; absent when there isn't one. */
|
|
17
|
+
fix?: string;
|
|
15
18
|
}
|
|
16
19
|
export interface DoctorSection {
|
|
17
20
|
title: string;
|
|
@@ -57,6 +60,9 @@ export interface GatherDoctorDeps {
|
|
|
57
60
|
miseGlobalConfigPath?: typeof miseGlobalConfigPath;
|
|
58
61
|
shimsDir?: typeof shimsDir;
|
|
59
62
|
shimsDirOnPath?: typeof shimsDirOnPath;
|
|
63
|
+
findShadowedShims?: typeof findShadowedShims;
|
|
64
|
+
/** Whether `mise which <binary>` resolves, i.e. the install really provides an executable. */
|
|
65
|
+
miseProvidesExecutable?: (binary: string, cwd: string) => boolean;
|
|
60
66
|
findConfigPath?: typeof findConfigPath;
|
|
61
67
|
userConfigDir?: typeof userConfigDir;
|
|
62
68
|
loadConfig?: typeof loadConfig;
|
|
@@ -80,6 +86,8 @@ export declare function agentShellItem(agent: AgentKey, info: {
|
|
|
80
86
|
isConfigured: boolean;
|
|
81
87
|
shell?: string;
|
|
82
88
|
}, exists: (candidate: string) => boolean): DoctorItem;
|
|
89
|
+
/** The deps that make `doctor --scope <scope>` inspect that scope; none without a scope. */
|
|
90
|
+
export declare function scopedDoctorDeps(scope: ScopeValue | undefined): GatherDoctorDeps;
|
|
83
91
|
export declare function gatherDoctor(sectionFilter?: string, deps?: GatherDoctorDeps): DoctorSection[];
|
|
84
92
|
export declare const doctorCommand: Command;
|
|
85
93
|
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAkB,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAUzE,OAAO,EAGL,UAAU,EAGX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|