@indy2kro/agentenv 1.0.1 → 1.1.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/agent-dirs.d.ts +29 -0
- package/dist/adapters/agent-dirs.d.ts.map +1 -0
- package/dist/adapters/agent-dirs.js +46 -0
- package/dist/adapters/agent-dirs.js.map +1 -0
- package/dist/adapters/base.d.ts +7 -1
- package/dist/adapters/base.d.ts.map +1 -1
- package/dist/adapters/base.js.map +1 -1
- package/dist/adapters/claude.d.ts.map +1 -1
- package/dist/adapters/claude.js +18 -10
- package/dist/adapters/claude.js.map +1 -1
- package/dist/adapters/cline.d.ts.map +1 -1
- package/dist/adapters/cline.js +2 -2
- package/dist/adapters/cline.js.map +1 -1
- package/dist/adapters/codex.d.ts.map +1 -1
- package/dist/adapters/codex.js +3 -2
- package/dist/adapters/codex.js.map +1 -1
- package/dist/adapters/copilot.d.ts.map +1 -1
- package/dist/adapters/copilot.js +3 -4
- package/dist/adapters/copilot.js.map +1 -1
- package/dist/adapters/cursor.d.ts.map +1 -1
- package/dist/adapters/cursor.js +7 -6
- package/dist/adapters/cursor.js.map +1 -1
- package/dist/adapters/detect.d.ts.map +1 -1
- package/dist/adapters/detect.js +1 -0
- package/dist/adapters/detect.js.map +1 -1
- package/dist/adapters/gemini.d.ts.map +1 -1
- package/dist/adapters/gemini.js +2 -2
- package/dist/adapters/gemini.js.map +1 -1
- package/dist/adapters/index.d.ts +4 -0
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +21 -0
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/opencode.d.ts.map +1 -1
- package/dist/adapters/opencode.js +2 -2
- package/dist/adapters/opencode.js.map +1 -1
- package/dist/adapters/rtk-delegation.d.ts.map +1 -1
- package/dist/adapters/rtk-delegation.js +16 -1
- package/dist/adapters/rtk-delegation.js.map +1 -1
- package/dist/adapters/vibe.d.ts.map +1 -1
- package/dist/adapters/vibe.js +2 -2
- package/dist/adapters/vibe.js.map +1 -1
- package/dist/adapters/windsurf.d.ts.map +1 -1
- package/dist/adapters/windsurf.js +2 -2
- package/dist/adapters/windsurf.js.map +1 -1
- package/dist/cli/exit.d.ts +17 -6
- package/dist/cli/exit.d.ts.map +1 -1
- package/dist/cli/exit.js +17 -7
- package/dist/cli/exit.js.map +1 -1
- package/dist/commands/apply.d.ts +77 -0
- package/dist/commands/apply.d.ts.map +1 -1
- package/dist/commands/apply.js +202 -27
- package/dist/commands/apply.js.map +1 -1
- package/dist/commands/config-edit.d.ts +33 -0
- package/dist/commands/config-edit.d.ts.map +1 -0
- package/dist/commands/config-edit.js +216 -0
- package/dist/commands/config-edit.js.map +1 -0
- package/dist/commands/doctor.d.ts +57 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +233 -59
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/setup.d.ts +4 -0
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +58 -5
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +40 -16
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/uninstall.d.ts +78 -1
- package/dist/commands/uninstall.d.ts.map +1 -1
- package/dist/commands/uninstall.js +329 -31
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.d.ts +51 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +172 -71
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/wizard.d.ts +27 -1
- package/dist/commands/wizard.d.ts.map +1 -1
- package/dist/commands/wizard.js +48 -31
- package/dist/commands/wizard.js.map +1 -1
- package/dist/config/schema.d.ts +28 -3
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +206 -54
- package/dist/config/schema.js.map +1 -1
- package/dist/config/scopes.d.ts +4 -2
- package/dist/config/scopes.d.ts.map +1 -1
- package/dist/config/scopes.js +23 -4
- package/dist/config/scopes.js.map +1 -1
- package/dist/generate/agentsmd.d.ts +54 -0
- package/dist/generate/agentsmd.d.ts.map +1 -1
- package/dist/generate/agentsmd.js +222 -143
- package/dist/generate/agentsmd.js.map +1 -1
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/integrations/render.d.ts.map +1 -1
- package/dist/integrations/render.js +25 -10
- package/dist/integrations/render.js.map +1 -1
- package/dist/integrations/superpowers.d.ts.map +1 -1
- package/dist/integrations/superpowers.js +2 -0
- package/dist/integrations/superpowers.js.map +1 -1
- package/dist/shell/detector.d.ts +63 -5
- package/dist/shell/detector.d.ts.map +1 -1
- package/dist/shell/detector.js +253 -65
- package/dist/shell/detector.js.map +1 -1
- package/dist/toolchain/gh.d.ts.map +1 -1
- package/dist/toolchain/gh.js +1 -0
- package/dist/toolchain/gh.js.map +1 -1
- package/dist/toolchain/mise.d.ts +7 -0
- package/dist/toolchain/mise.d.ts.map +1 -1
- package/dist/toolchain/mise.js +20 -3
- package/dist/toolchain/mise.js.map +1 -1
- package/dist/toolchain/rtk.d.ts +71 -3
- package/dist/toolchain/rtk.d.ts.map +1 -1
- package/dist/toolchain/rtk.js +115 -7
- package/dist/toolchain/rtk.js.map +1 -1
- package/dist/ui/output.d.ts.map +1 -1
- package/dist/ui/output.js +10 -2
- package/dist/ui/output.js.map +1 -1
- package/dist/ui/spinner.d.ts +15 -3
- package/dist/ui/spinner.d.ts.map +1 -1
- package/dist/ui/spinner.js +52 -4
- package/dist/ui/spinner.js.map +1 -1
- package/dist/ui/theme.d.ts +27 -1
- package/dist/ui/theme.d.ts.map +1 -1
- package/dist/ui/theme.js +73 -8
- package/dist/ui/theme.js.map +1 -1
- package/dist/utils/fs-retry.d.ts +16 -0
- package/dist/utils/fs-retry.d.ts.map +1 -1
- package/dist/utils/fs-retry.js +28 -0
- package/dist/utils/fs-retry.js.map +1 -1
- package/package.json +6 -5
|
@@ -1,15 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Rendering helpers for integration results, shared by `apply` and `status`.
|
|
3
3
|
*/
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
import { asciiGlyphsEnabled } from '../ui/theme.js';
|
|
5
|
+
function stateGlyph(state) {
|
|
6
|
+
const ascii = asciiGlyphsEnabled();
|
|
7
|
+
switch (state) {
|
|
8
|
+
case 'installed':
|
|
9
|
+
return ascii ? '[ok]' : '✓';
|
|
10
|
+
case 'missing':
|
|
11
|
+
return ascii ? '[FAIL]' : '✗';
|
|
12
|
+
case 'unsupported':
|
|
13
|
+
return ascii ? '[-]' : '·';
|
|
14
|
+
case 'drifted':
|
|
15
|
+
return '!'; // already ASCII-safe
|
|
16
|
+
}
|
|
17
|
+
}
|
|
10
18
|
/** Render a single integration/agent pair as a one-line status string. */
|
|
11
19
|
export function integrationStateLine(state) {
|
|
12
|
-
const glyph =
|
|
20
|
+
const glyph = stateGlyph(state.state);
|
|
13
21
|
const detail = state.detail ? ` (${state.detail})` : '';
|
|
14
22
|
return `${glyph} ${state.agent}: ${state.state}${detail}`;
|
|
15
23
|
}
|
|
@@ -32,12 +40,19 @@ export function integrationResultLines(result) {
|
|
|
32
40
|
}
|
|
33
41
|
/** Render the gh auth result as a single display line. */
|
|
34
42
|
export function ghAuthLine(status) {
|
|
43
|
+
const ascii = asciiGlyphsEnabled();
|
|
35
44
|
const glyph = status === 'authenticated'
|
|
36
|
-
?
|
|
45
|
+
? ascii
|
|
46
|
+
? '[ok]'
|
|
47
|
+
: '✓'
|
|
37
48
|
: status === 'unauthenticated'
|
|
38
|
-
?
|
|
49
|
+
? ascii
|
|
50
|
+
? '[FAIL]'
|
|
51
|
+
: '✗'
|
|
39
52
|
: status === 'not_installed'
|
|
40
|
-
?
|
|
53
|
+
? ascii
|
|
54
|
+
? '[-]'
|
|
55
|
+
: '·'
|
|
41
56
|
: '?';
|
|
42
57
|
const label = status === 'authenticated'
|
|
43
58
|
? 'authenticated'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/integrations/render.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/integrations/render.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,SAAS,UAAU,CAAC,KAAqC;IACvD,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC;IACnC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,WAAW;YACd,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9B,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;QAChC,KAAK,aAAa;YAChB,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QAC7B,KAAK,SAAS;YACZ,OAAO,GAAG,CAAC,CAAC,qBAAqB;IACrC,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,oBAAoB,CAAC,KAA4B;IAC/D,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC;AAC5D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAyB;IAC9D,MAAM,KAAK,GAAa,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAChE,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;IACzE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,UAAU,CACxB,MAAyE;IAEzE,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC;IACnC,MAAM,KAAK,GACT,MAAM,KAAK,eAAe;QACxB,CAAC,CAAC,KAAK;YACL,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,GAAG;QACP,CAAC,CAAC,MAAM,KAAK,iBAAiB;YAC5B,CAAC,CAAC,KAAK;gBACL,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,GAAG;YACP,CAAC,CAAC,MAAM,KAAK,eAAe;gBAC1B,CAAC,CAAC,KAAK;oBACL,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,GAAG;gBACP,CAAC,CAAC,GAAG,CAAC;IACd,MAAM,KAAK,GACT,MAAM,KAAK,eAAe;QACxB,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,MAAM,KAAK,iBAAiB;YAC5B,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,MAAM,KAAK,eAAe;gBAC1B,CAAC,CAAC,kBAAkB;gBACpB,CAAC,CAAC,SAAS,CAAC;IACpB,OAAO,GAAG,KAAK,gBAAgB,KAAK,EAAE,CAAC;AACzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"superpowers.d.ts","sourceRoot":"","sources":["../../src/integrations/superpowers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,KAAK,EAAY,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAyB,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9F,eAAO,MAAM,4BAA4B,iCAAiC,CAAC;AAC3E,eAAO,MAAM,qBAAqB,wCAAwC,CAAC;AAW3E,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,8DAA8D;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"superpowers.d.ts","sourceRoot":"","sources":["../../src/integrations/superpowers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,KAAK,EAAY,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAyB,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9F,eAAO,MAAM,4BAA4B,iCAAiC,CAAC;AAC3E,eAAO,MAAM,qBAAqB,wCAAwC,CAAC;AAW3E,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,8DAA8D;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK,sBAAsB,CAAC;AA+BtF,UAAU,MAAM;IACd,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACtC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAC;IAC1D,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CACnE;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAQD,qBAAa,kBAAmB,YAAW,kBAAkB;IAC3D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,IAAI,GAAE,sBAA2B;IAK7C,OAAO,IAAI,MAAM;IAIjB,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,GAAG,OAAO;IAIzD,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,gBAAgB;IAwClB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA2B1F,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI1F,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAmEhG"}
|
|
@@ -24,10 +24,12 @@ const defaultClaudeCliRunner = (args, cwd) => {
|
|
|
24
24
|
return { success: false, exitCode: null, stdout: '', stderr: 'claude CLI not found on PATH' };
|
|
25
25
|
}
|
|
26
26
|
try {
|
|
27
|
+
// `plugin marketplace add`/`plugin install` fetch from GitHub.
|
|
27
28
|
const result = child_process.spawnSync(claudePath, args, {
|
|
28
29
|
cwd,
|
|
29
30
|
encoding: 'utf-8',
|
|
30
31
|
stdio: 'pipe',
|
|
32
|
+
timeout: 60000,
|
|
31
33
|
});
|
|
32
34
|
return {
|
|
33
35
|
success: result.status === 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"superpowers.js","sourceRoot":"","sources":["../../src/integrations/superpowers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,aAAa,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAI1E,MAAM,CAAC,MAAM,4BAA4B,GAAG,8BAA8B,CAAC;AAC3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,qCAAqC,CAAC;AAE3E,MAAM,oBAAoB,GAAsC;IAC9D,SAAS,EACP,yJAAyJ;IAC3J,OAAO,EACL,+RAA+R;IACjS,QAAQ,EACN,gMAAgM;CACnM,CAAC;AAYF,MAAM,sBAAsB,GAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IAC5D,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAC;IAChG,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE;YACvD,GAAG;YACH,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"superpowers.js","sourceRoot":"","sources":["../../src/integrations/superpowers.ts"],"names":[],"mappings":"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"}
|
package/dist/shell/detector.d.ts
CHANGED
|
@@ -2,10 +2,26 @@
|
|
|
2
2
|
* Tier 0 Shell Detection and Configuration
|
|
3
3
|
* Detects the shell environment and ensures POSIX compatibility on Windows
|
|
4
4
|
*/
|
|
5
|
+
import * as child_process from 'child_process';
|
|
5
6
|
import type { AgentKey } from '../config/schema.js';
|
|
6
7
|
import { type ShellFixStateEntry } from './shell-fix-state.js';
|
|
7
8
|
export declare const POSIX_UTILITIES: string[];
|
|
8
9
|
export declare const GIT_BASH_PATHS: string[];
|
|
10
|
+
/**
|
|
11
|
+
* Candidate Git Bash directories: the well-known machine-wide paths plus
|
|
12
|
+
* per-user (`%LOCALAPPDATA%\Programs\Git`, the default for a non-admin Git
|
|
13
|
+
* for Windows install) and scoop install locations, which vary per machine
|
|
14
|
+
* and so can't be hardcoded in GIT_BASH_PATHS.
|
|
15
|
+
*/
|
|
16
|
+
export declare function gitBashCandidatePaths(env?: NodeJS.ProcessEnv): string[];
|
|
17
|
+
/**
|
|
18
|
+
* Fall back to searching PATH for git.exe when none of the well-known
|
|
19
|
+
* install locations exist — covers custom install directories the
|
|
20
|
+
* candidate list can't anticipate. Derives the Git Bash root from git.exe's
|
|
21
|
+
* location (`<root>\cmd\git.exe` or `<root>\bin\git.exe`) and checks that
|
|
22
|
+
* root's `bin` and `usr\bin` directories.
|
|
23
|
+
*/
|
|
24
|
+
export declare function findGitBashOnPath(spawnSync?: typeof child_process.spawnSync): string | undefined;
|
|
9
25
|
export interface ShellInfo {
|
|
10
26
|
currentShell: string;
|
|
11
27
|
isPosixCompatible: boolean;
|
|
@@ -18,9 +34,13 @@ export interface ShellInfo {
|
|
|
18
34
|
pathEnvironment: string;
|
|
19
35
|
}
|
|
20
36
|
/**
|
|
21
|
-
* Detect the current shell environment
|
|
37
|
+
* Detect the current shell environment.
|
|
38
|
+
*
|
|
39
|
+
* `spawnSync` is injectable (defaults to the real `child_process.spawnSync`)
|
|
40
|
+
* purely so tests can observe — and assert nothing installs anything through
|
|
41
|
+
* — the one remaining subprocess call this function makes directly.
|
|
22
42
|
*/
|
|
23
|
-
export declare function detectShell(): ShellInfo;
|
|
43
|
+
export declare function detectShell(spawnSync?: typeof child_process.spawnSync): ShellInfo;
|
|
24
44
|
/**
|
|
25
45
|
* Check if GNU coreutils are available (for macOS/Linux)
|
|
26
46
|
* Uses `command -v` to get the resolved path, then checks version output.
|
|
@@ -47,9 +67,43 @@ export declare function getShellConfiguration(shellInfo: ShellInfo): {
|
|
|
47
67
|
needsConfiguration: boolean;
|
|
48
68
|
};
|
|
49
69
|
/**
|
|
50
|
-
*
|
|
70
|
+
* The Git for Windows install root for a detected Git Bash directory
|
|
71
|
+
* (`<root>\bin` or `<root>\usr\bin`), or undefined for any other shape.
|
|
72
|
+
* Uses win32 path semantics so it is correct regardless of host OS.
|
|
73
|
+
*/
|
|
74
|
+
export declare function gitInstallRoot(gitBashPath: string): string | undefined;
|
|
75
|
+
/**
|
|
76
|
+
* The PATH entries that expose Git for Windows' GNU tools (sed, grep, awk,
|
|
77
|
+
* xargs, ...) to native Windows shells: `<root>\mingw64\bin;<root>\usr\bin`.
|
|
78
|
+
* Returns '' when the Git root can't be derived from `gitBashPath`.
|
|
51
79
|
*/
|
|
52
80
|
export declare function generateGitBashPathAddition(gitBashPath: string): string;
|
|
81
|
+
/**
|
|
82
|
+
* GNU tools agents most often reach for in shell commands. On Windows these
|
|
83
|
+
* only resolve from PowerShell/cmd when Git's `usr\bin` is on PATH, which
|
|
84
|
+
* Git's installer does not do by default.
|
|
85
|
+
*/
|
|
86
|
+
export declare const NATIVE_UNIX_TOOLS: string[];
|
|
87
|
+
/**
|
|
88
|
+
* Resolve `tool` the way cmd.exe/PowerShell would: first PATH entry holding
|
|
89
|
+
* `tool` + a PATHEXT extension wins. `exists` is injectable for tests.
|
|
90
|
+
*/
|
|
91
|
+
export declare function resolveOnWindowsPath(tool: string, pathVar: string, pathExt?: string, exists?: (candidate: string) => boolean): string | undefined;
|
|
92
|
+
/**
|
|
93
|
+
* The persistent machine + user PATH from the registry — what a freshly
|
|
94
|
+
* started PowerShell/cmd (and any agent launched from one) sees, unlike
|
|
95
|
+
* process.env.PATH, which already includes Git's dirs when agentenv itself
|
|
96
|
+
* runs inside Git Bash. `%VAR%` references are expanded from `env`.
|
|
97
|
+
* Returns undefined when neither key could be read.
|
|
98
|
+
*/
|
|
99
|
+
export declare function readPersistentWindowsPath(spawnSync?: typeof child_process.spawnSync, env?: NodeJS.ProcessEnv): string | undefined;
|
|
100
|
+
/**
|
|
101
|
+
* When `shell` is Git's raw MSYS bash (`<root>\usr\bin\bash.exe`) and the
|
|
102
|
+
* `<root>\bin\bash.exe` launcher exists, return the launcher. The raw binary
|
|
103
|
+
* started as a plain `bash -c` gets neither MSYSTEM nor `/usr/bin` on PATH,
|
|
104
|
+
* so sed/grep/awk resolve to nothing; the launcher sets both up.
|
|
105
|
+
*/
|
|
106
|
+
export declare function preferredGitBashLauncher(shell: string, exists?: (candidate: string) => boolean): string | undefined;
|
|
53
107
|
/**
|
|
54
108
|
* Generate PATH addition for GNU coreutils on macOS
|
|
55
109
|
*/
|
|
@@ -74,10 +128,14 @@ export interface ShellFixRevertResult {
|
|
|
74
128
|
/**
|
|
75
129
|
* Resolve the full path to bash.exe from a detected Git Bash directory.
|
|
76
130
|
* Handles both the `usr\bin` form and the plain `bin` form Git for Windows ships.
|
|
131
|
+
* Prefers the `<root>\bin\bash.exe` launcher, which sets MSYSTEM and puts
|
|
132
|
+
* `/usr/bin` + `/mingw64/bin` on PATH; the raw `<root>\usr\bin\bash.exe` does
|
|
133
|
+
* neither for a non-login `bash -c`, so GNU tools go missing. Falls back to
|
|
134
|
+
* the raw binary only when the launcher isn't there.
|
|
77
135
|
* Uses win32 path semantics so the result is correct regardless of host OS
|
|
78
136
|
* (the tests exercise this on Linux CI).
|
|
79
137
|
*/
|
|
80
|
-
export declare function bashExecutable(gitBashPath: string): string;
|
|
138
|
+
export declare function bashExecutable(gitBashPath: string, exists?: (candidate: string) => boolean): string;
|
|
81
139
|
/**
|
|
82
140
|
* Apply the per-agent Tier 0 shell override for one agent, per
|
|
83
141
|
* docs/research/tier0-shell-fix.md:
|
|
@@ -110,7 +168,7 @@ export declare function fixShellConfiguration(_baseDir?: string, agents?: AgentK
|
|
|
110
168
|
* since that's the interactive shell the user is running agentenv from, not
|
|
111
169
|
* the target agent's configuration.
|
|
112
170
|
*/
|
|
113
|
-
export declare function checkAgentShellConfiguration(agent: AgentKey, home?: string): {
|
|
171
|
+
export declare function checkAgentShellConfiguration(agent: AgentKey, home?: string, exists?: (candidate: string) => boolean): {
|
|
114
172
|
isConfigured: boolean;
|
|
115
173
|
shell?: string;
|
|
116
174
|
needsFix: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../../src/shell/detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../../src/shell/detector.ts"],"names":[],"mappings":"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"}
|