@indy2kro/agentenv 1.1.3 → 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.
Files changed (106) hide show
  1. package/dist/adapters/base.d.ts +2 -0
  2. package/dist/adapters/base.d.ts.map +1 -1
  3. package/dist/adapters/base.js.map +1 -1
  4. package/dist/adapters/cline.d.ts.map +1 -1
  5. package/dist/adapters/cline.js +1 -0
  6. package/dist/adapters/cline.js.map +1 -1
  7. package/dist/adapters/codex.d.ts.map +1 -1
  8. package/dist/adapters/codex.js +9 -2
  9. package/dist/adapters/codex.js.map +1 -1
  10. package/dist/adapters/copilot.d.ts.map +1 -1
  11. package/dist/adapters/copilot.js +5 -1
  12. package/dist/adapters/copilot.js.map +1 -1
  13. package/dist/adapters/gemini.d.ts.map +1 -1
  14. package/dist/adapters/gemini.js +5 -0
  15. package/dist/adapters/gemini.js.map +1 -1
  16. package/dist/adapters/rtk-delegation.d.ts +15 -0
  17. package/dist/adapters/rtk-delegation.d.ts.map +1 -1
  18. package/dist/adapters/rtk-delegation.js +38 -3
  19. package/dist/adapters/rtk-delegation.js.map +1 -1
  20. package/dist/adapters/vibe.d.ts.map +1 -1
  21. package/dist/adapters/vibe.js +2 -0
  22. package/dist/adapters/vibe.js.map +1 -1
  23. package/dist/adapters/windsurf.d.ts.map +1 -1
  24. package/dist/adapters/windsurf.js +1 -0
  25. package/dist/adapters/windsurf.js.map +1 -1
  26. package/dist/cli/exit.d.ts +7 -0
  27. package/dist/cli/exit.d.ts.map +1 -1
  28. package/dist/cli/exit.js +9 -0
  29. package/dist/cli/exit.js.map +1 -1
  30. package/dist/commands/agent-files.d.ts +14 -0
  31. package/dist/commands/agent-files.d.ts.map +1 -0
  32. package/dist/commands/agent-files.js +58 -0
  33. package/dist/commands/agent-files.js.map +1 -0
  34. package/dist/commands/apply.d.ts +37 -1
  35. package/dist/commands/apply.d.ts.map +1 -1
  36. package/dist/commands/apply.js +117 -38
  37. package/dist/commands/apply.js.map +1 -1
  38. package/dist/commands/config-edit.d.ts +9 -1
  39. package/dist/commands/config-edit.d.ts.map +1 -1
  40. package/dist/commands/config-edit.js +53 -12
  41. package/dist/commands/config-edit.js.map +1 -1
  42. package/dist/commands/doctor.d.ts +9 -1
  43. package/dist/commands/doctor.d.ts.map +1 -1
  44. package/dist/commands/doctor.js +123 -8
  45. package/dist/commands/doctor.js.map +1 -1
  46. package/dist/commands/setup.d.ts +7 -1
  47. package/dist/commands/setup.d.ts.map +1 -1
  48. package/dist/commands/setup.js +53 -15
  49. package/dist/commands/setup.js.map +1 -1
  50. package/dist/commands/status.d.ts +8 -7
  51. package/dist/commands/status.d.ts.map +1 -1
  52. package/dist/commands/status.js +39 -47
  53. package/dist/commands/status.js.map +1 -1
  54. package/dist/commands/uninstall.d.ts +8 -0
  55. package/dist/commands/uninstall.d.ts.map +1 -1
  56. package/dist/commands/uninstall.js +42 -1
  57. package/dist/commands/uninstall.js.map +1 -1
  58. package/dist/commands/update.d.ts +29 -2
  59. package/dist/commands/update.d.ts.map +1 -1
  60. package/dist/commands/update.js +169 -12
  61. package/dist/commands/update.js.map +1 -1
  62. package/dist/commands/wizard.d.ts.map +1 -1
  63. package/dist/commands/wizard.js +20 -11
  64. package/dist/commands/wizard.js.map +1 -1
  65. package/dist/config/schema.d.ts +0 -1
  66. package/dist/config/schema.d.ts.map +1 -1
  67. package/dist/config/schema.js +30 -22
  68. package/dist/config/schema.js.map +1 -1
  69. package/dist/config/scopes.d.ts +8 -0
  70. package/dist/config/scopes.d.ts.map +1 -1
  71. package/dist/config/scopes.js +15 -0
  72. package/dist/config/scopes.js.map +1 -1
  73. package/dist/generate/agentsmd.d.ts.map +1 -1
  74. package/dist/generate/agentsmd.js +45 -10
  75. package/dist/generate/agentsmd.js.map +1 -1
  76. package/dist/index.js +6 -1
  77. package/dist/index.js.map +1 -1
  78. package/dist/integrations/base.d.ts +0 -1
  79. package/dist/integrations/base.d.ts.map +1 -1
  80. package/dist/integrations/superpowers.d.ts +12 -4
  81. package/dist/integrations/superpowers.d.ts.map +1 -1
  82. package/dist/integrations/superpowers.js +18 -34
  83. package/dist/integrations/superpowers.js.map +1 -1
  84. package/dist/shell/shell-fix-state.d.ts.map +1 -1
  85. package/dist/shell/shell-fix-state.js +10 -0
  86. package/dist/shell/shell-fix-state.js.map +1 -1
  87. package/dist/toolchain/gh.d.ts +7 -0
  88. package/dist/toolchain/gh.d.ts.map +1 -1
  89. package/dist/toolchain/gh.js +13 -1
  90. package/dist/toolchain/gh.js.map +1 -1
  91. package/dist/toolchain/mise.d.ts +39 -1
  92. package/dist/toolchain/mise.d.ts.map +1 -1
  93. package/dist/toolchain/mise.js +114 -23
  94. package/dist/toolchain/mise.js.map +1 -1
  95. package/dist/toolchain/rtk.d.ts +7 -0
  96. package/dist/toolchain/rtk.d.ts.map +1 -1
  97. package/dist/toolchain/rtk.js +9 -0
  98. package/dist/toolchain/rtk.js.map +1 -1
  99. package/dist/ui/output.d.ts.map +1 -1
  100. package/dist/ui/output.js +7 -3
  101. package/dist/ui/output.js.map +1 -1
  102. package/dist/wizard/build.d.ts +7 -1
  103. package/dist/wizard/build.d.ts.map +1 -1
  104. package/dist/wizard/build.js +11 -6
  105. package/dist/wizard/build.js.map +1 -1
  106. package/package.json +1 -1
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * Superpowers Integration Adapter
3
- * Installs github:obra/superpowers for Claude Code only, via `claude plugin
4
- * marketplace add` / `claude plugin install` — the only agent with a
5
- * documented, non-interactive, ref-pinnable installer. See
3
+ * Installs Superpowers (github:obra/superpowers) for Claude Code only, via
4
+ * `claude plugin install superpowers@claude-plugins-official` — the only agent
5
+ * with a documented, non-interactive installer. The configured `ref` is
6
+ * recorded but not enforced: the official marketplace cannot pin one. See
6
7
  * docs/research/superpowers-install-mechanisms.md for the other three
7
8
  * agents, which always report `unsupported` and never execute a command.
8
9
  */
@@ -13,7 +14,14 @@ import * as path from 'path';
13
14
  import { needsWindowsShell, resolveBinary } from '../adapters/detect.js';
14
15
  import { AGENT_KEYS, resolveIntegrationScope } from '../config/schema.js';
15
16
  export const SUPERPOWERS_MARKETPLACE_REPO = 'obra/superpowers-marketplace';
16
- export const SUPERPOWERS_PLUGIN_ID = 'superpowers@superpowers-marketplace';
17
+ /**
18
+ * Superpowers from Claude Code's built-in official marketplace: a plain
19
+ * `claude plugin install` with no `marketplace add`. The third-party
20
+ * obra/superpowers-marketplace repo this used to add (at `#<ref>`) has no tag
21
+ * or branch for the plugin's ref, so that command failed with "Remote branch
22
+ * v6.3.0 not found". The official marketplace cannot pin a ref.
23
+ */
24
+ export const SUPERPOWERS_PLUGIN_ID = 'superpowers@claude-plugins-official';
17
25
  const MANUAL_INSTALL_HINTS = {
18
26
  codex_cli: 'No non-interactive install is documented for Codex CLI. In an interactive Codex session, run /plugins, search "superpowers", and select Install Plugin.',
19
27
  copilot: 'Upstream documents `copilot plugin marketplace add obra/superpowers-marketplace` then `copilot plugin install superpowers@superpowers-marketplace`, but no ref-pin mechanism is documented, so agentenv does not run this automatically. See docs/research/superpowers-install-mechanisms.md.',
@@ -92,7 +100,7 @@ export class SuperpowersAdapter {
92
100
  this.fsImpl.mkdirSync(path.posix.dirname(file), { recursive: true });
93
101
  this.fsImpl.writeFileSync(file, JSON.stringify(marker, null, 2));
94
102
  }
95
- detectClaudeCode(baseDir, config) {
103
+ detectClaudeCode(baseDir) {
96
104
  const list = this.runClaudeCli(['plugin', 'list'], baseDir);
97
105
  if (!list.success && list.exitCode === null) {
98
106
  // Spawn failure with no exit code means the `claude` binary itself is
@@ -113,18 +121,10 @@ export class SuperpowersAdapter {
113
121
  if (!installed)
114
122
  return { agent: 'claude_code', state: 'missing' };
115
123
  const marker = this.readMarker(baseDir);
116
- const requestedRef = config?.ref;
117
- if (marker && requestedRef && marker.ref !== requestedRef) {
118
- return {
119
- agent: 'claude_code',
120
- state: 'drifted',
121
- detail: `installed at ${marker.ref}, config requests ${requestedRef}`,
122
- };
123
- }
124
124
  return {
125
125
  agent: 'claude_code',
126
126
  state: 'installed',
127
- detail: marker ? `ref ${marker.ref}` : 'installed outside agentenv',
127
+ detail: marker ? 'installed by agentenv' : 'installed outside agentenv',
128
128
  };
129
129
  }
130
130
  async detect(baseDir, config) {
@@ -135,7 +135,6 @@ export class SuperpowersAdapter {
135
135
  const result = {
136
136
  name: this.getName(),
137
137
  source: config?.source,
138
- ref: config?.ref,
139
138
  scope,
140
139
  agents: [],
141
140
  changedFiles: [],
@@ -148,7 +147,7 @@ export class SuperpowersAdapter {
148
147
  result.agents.push({ agent, state: 'unsupported', detail: MANUAL_INSTALL_HINTS[agent] });
149
148
  continue;
150
149
  }
151
- result.agents.push(this.detectClaudeCode(baseDir, config));
150
+ result.agents.push(this.detectClaudeCode(baseDir));
152
151
  }
153
152
  return result;
154
153
  }
@@ -159,9 +158,8 @@ export class SuperpowersAdapter {
159
158
  const detected = await this.detect(baseDir, config);
160
159
  if (!this.isEnabled(config))
161
160
  return detected;
162
- const ref = config?.ref;
163
- if (!ref || !config?.source) {
164
- detected.errors.push('integrations.superpowers.source and .ref must be set to apply');
161
+ if (!config?.source) {
162
+ detected.errors.push('integrations.superpowers.source must be set to apply');
165
163
  return detected;
166
164
  }
167
165
  for (const agentState of detected.agents) {
@@ -173,19 +171,6 @@ export class SuperpowersAdapter {
173
171
  }
174
172
  if (agentState.state === 'installed')
175
173
  continue;
176
- const wasDrifted = agentState.state === 'drifted';
177
- const marketplaceArgs = [
178
- 'plugin',
179
- 'marketplace',
180
- 'add',
181
- `${SUPERPOWERS_MARKETPLACE_REPO}#${ref}`,
182
- ];
183
- const marketplaceRun = this.runClaudeCli(marketplaceArgs, baseDir);
184
- detected.nativeCommands.push(`claude ${marketplaceArgs.join(' ')}`);
185
- if (!marketplaceRun.success) {
186
- detected.errors.push(`claude plugin marketplace add failed: ${marketplaceRun.stderr || marketplaceRun.stdout}`);
187
- continue;
188
- }
189
174
  const installArgs = ['plugin', 'install', SUPERPOWERS_PLUGIN_ID, '--scope', detected.scope];
190
175
  const installRun = this.runClaudeCli(installArgs, baseDir);
191
176
  detected.nativeCommands.push(`claude ${installArgs.join(' ')}`);
@@ -194,14 +179,13 @@ export class SuperpowersAdapter {
194
179
  continue;
195
180
  }
196
181
  const marker = {
197
- ref,
198
182
  scope: detected.scope,
199
183
  installedAt: new Date().toISOString(),
200
184
  };
201
185
  this.writeMarker(baseDir, marker);
202
186
  detected.changedFiles.push(this.markerPath(baseDir));
203
187
  agentState.state = 'installed';
204
- agentState.detail = wasDrifted ? `updated to ref ${ref}` : `ref ${ref}`;
188
+ agentState.detail = 'installed from the official marketplace';
205
189
  }
206
190
  if (config.allow_external_requests !== true) {
207
191
  detected.warnings.push('external requests disabled: agentenv never installs the optional Superpowers visual companion');
@@ -1 +1 @@
1
- {"version":3,"file":"superpowers.js","sourceRoot":"","sources":["../../src/integrations/superpowers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"superpowers.js","sourceRoot":"","sources":["../../src/integrations/superpowers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"shell-fix-state.d.ts","sourceRoot":"","sources":["../../src/shell/shell-fix-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,oFAAoF;AACpF,MAAM,WAAW,aAAa;IAC5B,8GAA8G;IAC9G,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC/B;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,iBAAiB,CAAC,SAAS,GAAE,MAA4B,GAAG,aAAa,GAAG,IAAI,CAS/F;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EACpB,SAAS,GAAE,MAA4B,GACtC,IAAI,CAGN;AAED,wBAAgB,kBAAkB,CAAC,SAAS,GAAE,MAA4B,GAAG,IAAI,CAEhF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,aAAa,GAAG,IAAI,EAC9B,OAAO,EAAE,kBAAkB,EAAE,EAC7B,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,MAAiC,GACrC,aAAa,CAwBf"}
1
+ {"version":3,"file":"shell-fix-state.d.ts","sourceRoot":"","sources":["../../src/shell/shell-fix-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,oFAAoF;AACpF,MAAM,WAAW,aAAa;IAC5B,8GAA8G;IAC9G,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC/B;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,iBAAiB,CAAC,SAAS,GAAE,MAA4B,GAAG,aAAa,GAAG,IAAI,CAS/F;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EACpB,SAAS,GAAE,MAA4B,GACtC,IAAI,CAYN;AAED,wBAAgB,kBAAkB,CAAC,SAAS,GAAE,MAA4B,GAAG,IAAI,CAEhF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,aAAa,GAAG,IAAI,EAC9B,OAAO,EAAE,kBAAkB,EAAE,EAC7B,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,MAAiC,GACrC,aAAa,CAwBf"}
@@ -31,6 +31,16 @@ export function readShellFixState(statePath = shellFixStatePath()) {
31
31
  }
32
32
  export function writeShellFixState(state, statePath = shellFixStatePath()) {
33
33
  fs.mkdirSync(path.dirname(statePath), { recursive: true });
34
+ // An existing manifest we can't parse is the only record revert could have
35
+ // used; keep it next to the new one rather than silently replacing it.
36
+ if (fs.existsSync(statePath) && readShellFixState(statePath) === null) {
37
+ try {
38
+ fs.copyFileSync(statePath, `${statePath}.corrupt`);
39
+ }
40
+ catch {
41
+ // Advisory only — never block recording the new state.
42
+ }
43
+ }
34
44
  writeFileWithRetry(statePath, `${JSON.stringify(state, null, 2)}\n`);
35
45
  }
36
46
  export function clearShellFixState(statePath = shellFixStatePath()) {
@@ -1 +1 @@
1
- {"version":3,"file":"shell-fix-state.js","sourceRoot":"","sources":["../../src/shell/shell-fix-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell-fix-state.js","sourceRoot":"","sources":["../../src/shell/shell-fix-state.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,13 @@ export type GhAuthStatus = 'authenticated' | 'unauthenticated' | 'unknown' | 'no
7
7
  export interface GhAuthProbeResult {
8
8
  status: GhAuthStatus;
9
9
  }
10
+ /**
11
+ * The host `gh auth status` is asked about: `GH_HOST` (what gh itself honors
12
+ * for GitHub Enterprise) when it is a plain hostname, otherwise github.com.
13
+ * Anything else — a URL, a flag-looking value — falls back rather than reaching
14
+ * gh's command line.
15
+ */
16
+ export declare function ghAuthHostname(env?: NodeJS.ProcessEnv): string;
10
17
  /** Injectable so tests never spawn a real `gh` binary. */
11
18
  export type GhAuthProbeFn = () => GhAuthProbeResult;
12
19
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"gh.d.ts","sourceRoot":"","sources":["../../src/toolchain/gh.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,iBAAiB,GAAG,SAAS,GAAG,eAAe,CAAC;AAE7F,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,0DAA0D;AAC1D,MAAM,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC;AAEpD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CASxF;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAchC,CAAC;AAEF,oEAAoE;AACpE,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,aAAa,CAEvE"}
1
+ {"version":3,"file":"gh.d.ts","sourceRoot":"","sources":["../../src/toolchain/gh.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,iBAAiB,GAAG,SAAS,GAAG,eAAe,CAAC;AAE7F,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,YAAY,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAK3E;AAED,0DAA0D;AAC1D,MAAM,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC;AAEpD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CASxF;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAkBhC,CAAC;AAEF,oEAAoE;AACpE,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,aAAa,CAEvE"}
@@ -5,6 +5,18 @@
5
5
  */
6
6
  import * as child_process from 'child_process';
7
7
  import { resolveBinary } from '../adapters/detect.js';
8
+ /**
9
+ * The host `gh auth status` is asked about: `GH_HOST` (what gh itself honors
10
+ * for GitHub Enterprise) when it is a plain hostname, otherwise github.com.
11
+ * Anything else — a URL, a flag-looking value — falls back rather than reaching
12
+ * gh's command line.
13
+ */
14
+ export function ghAuthHostname(env = process.env) {
15
+ const host = env.GH_HOST?.trim();
16
+ return host && /^[A-Za-z0-9]([A-Za-z0-9.-]*[A-Za-z0-9])?(:\d+)?$/.test(host)
17
+ ? host
18
+ : 'github.com';
19
+ }
8
20
  /**
9
21
  * Classify `gh auth status` output. Legacy: exit-code-only split where any
10
22
  * non-zero meant "unauthenticated". Refined: exit 1 with network-ish stderr
@@ -34,7 +46,7 @@ export const defaultGhAuthProbe = () => {
34
46
  if (!ghPath)
35
47
  return { status: 'not_installed' };
36
48
  try {
37
- const result = child_process.spawnSync(ghPath, ['auth', 'status', '--hostname', 'github.com'], {
49
+ const result = child_process.spawnSync(ghPath, ['auth', 'status', '--hostname', ghAuthHostname()], {
38
50
  encoding: 'utf-8',
39
51
  stdio: ['ignore', 'pipe', 'pipe'],
40
52
  timeout: 15000,
@@ -1 +1 @@
1
- {"version":3,"file":"gh.js","sourceRoot":"","sources":["../../src/toolchain/gh.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,aAAa,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAWtD;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAqB,EAAE,MAAc;IACxE,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,eAAe,CAAC;IACzC,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,MAAM,UAAU,GACd,wGAAwG,CAAC;QAC3G,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO,SAAS,CAAC;QAC9C,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAkB,GAAG,EAAE;IACpD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAEhD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE;YAC7F,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC,CAAC;AAEF,oEAAoE;AACpE,MAAM,UAAU,kBAAkB,CAAC,KAAqB;IACtD,OAAO,KAAK,IAAI,kBAAkB,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"gh.js","sourceRoot":"","sources":["../../src/toolchain/gh.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,aAAa,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAQtD;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,MAAyB,OAAO,CAAC,GAAG;IACjE,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IACjC,OAAO,IAAI,IAAI,kDAAkD,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1E,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,YAAY,CAAC;AACnB,CAAC;AAKD;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAqB,EAAE,MAAc;IACxE,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,eAAe,CAAC;IACzC,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,MAAM,UAAU,GACd,wGAAwG,CAAC;QAC3G,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO,SAAS,CAAC;QAC9C,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAkB,GAAG,EAAE;IACpD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAEhD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CACpC,MAAM,EACN,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC,EAClD;YACE,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,OAAO,EAAE,KAAK;SACf,CACF,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC,CAAC;AAEF,oEAAoE;AACpE,MAAM,UAAU,kBAAkB,CAAC,KAAqB;IACtD,OAAO,KAAK,IAAI,kBAAkB,CAAC;AACrC,CAAC"}
@@ -2,6 +2,7 @@
2
2
  * Mise Toolchain Integration
3
3
  * Handles mise.toml generation and mise commands
4
4
  */
5
+ import * as child_process from 'child_process';
5
6
  import { AgentenvConfig } from '../config/schema.js';
6
7
  import { FALLBACK_REQUIRED_TOOLS, isPlatformUnsupported, requiresFallback } from './fallbacks.js';
7
8
  export declare const MISE_TOOL_NAMES: Record<string, string>;
@@ -81,6 +82,36 @@ export declare function miseGlobalConfigPath(): string;
81
82
  export declare function pathContainsDir(pathVar: string, dir: string): boolean;
82
83
  /** Whether the shims dir (~/.local/bin) is already resolvable from PATH. */
83
84
  export declare function shimsDirOnPath(): boolean;
85
+ export interface OutdatedTool {
86
+ tool: string;
87
+ current: string;
88
+ latest: string;
89
+ }
90
+ /**
91
+ * Parse `mise outdated --json` (an object keyed by tool name with `current` and
92
+ * `latest` versions) into rows. Empty output means nothing is outdated; output
93
+ * that isn't that object returns null, meaning "couldn't tell".
94
+ */
95
+ export declare function parseOutdated(raw: string): OutdatedTool[] | null;
96
+ /** Ask mise which installed tools have a newer version; null when mise couldn't answer. */
97
+ export declare function getOutdatedTools(cwd: string): OutdatedTool[] | null;
98
+ export interface ShadowedShim {
99
+ binary: string;
100
+ /** The executable that wins over the mise shim. */
101
+ shadowedBy: string;
102
+ }
103
+ /**
104
+ * Binaries whose first hit on PATH sits *before* the mise shims dir, i.e. the
105
+ * agent runs another copy (WinGet, a bundled `rg.exe`, …) instead of the
106
+ * version agentenv installed. Returns nothing when the shims dir isn't on PATH
107
+ * at all; shimsDirOnPath() reports that separately.
108
+ */
109
+ export declare function findShadowedShims(binaries: string[], opts: {
110
+ pathEnv: string;
111
+ shimsDir: string;
112
+ platform?: NodeJS.Platform;
113
+ exists?: (file: string) => boolean;
114
+ }): ShadowedShim[];
84
115
  /** Runs a PowerShell script with extra env vars; injectable so tests never touch the registry. */
85
116
  export type PowerShellRunner = (script: string, env: Record<string, string>) => {
86
117
  status: number | null;
@@ -162,12 +193,19 @@ export declare function runMiseSelfUpdate(): Promise<{
162
193
  * Bump the given `mise up` targets to their latest versions within the current
163
194
  * config constraints (pins stay put because pinned tools are not passed in).
164
195
  */
165
- export declare function runMiseUpgrade(tools: string[], cwd: string): Promise<{
196
+ export declare function runMiseUpgrade(tools: string[], cwd: string, onOutput?: (chunk: string, stream: 'stdout' | 'stderr') => void, spawnFn?: typeof child_process.spawn): Promise<{
166
197
  success: boolean;
167
198
  stdout: string;
168
199
  stderr: string;
169
200
  exitCode: number | null;
170
201
  }>;
202
+ /**
203
+ * The tools mise reported it could not install, one `spec — reason` line each,
204
+ * pulled from its `ERROR Failed to install <spec>: <reason>` lines. A failed
205
+ * `mise up` otherwise buries the one tool that broke under progress bars for
206
+ * the ones that worked.
207
+ */
208
+ export declare function summarizeMiseFailures(output: string): string[];
171
209
  /**
172
210
  * Uninstall the given tools from the mise store. Each tool name is passed
173
211
  * version-less (no `@version`) together with `--all`, removing every installed
@@ -1 +1 @@
1
- {"version":3,"file":"mise.d.ts","sourceRoot":"","sources":["../../src/toolchain/mise.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mise.d.ts","sourceRoot":"","sources":["../../src/toolchain/mise.ts"],"names":[],"mappings":"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"}
@@ -105,7 +105,7 @@ export function generateMiseToml(config, customTools = []) {
105
105
  continue;
106
106
  }
107
107
  const miseName = MISE_TOOL_NAMES[toolKey] || toolKey;
108
- const version = PINNED_TOOL_VERSIONS[miseName] || config.tool_versions?.[toolKey] || 'latest';
108
+ const version = config.tool_versions?.[toolKey] || PINNED_TOOL_VERSIONS[miseName] || 'latest';
109
109
  lines.push(`${miseName} = "${version}"`);
110
110
  }
111
111
  // Add custom tools with mise_source
@@ -242,6 +242,65 @@ export function pathContainsDir(pathVar, dir) {
242
242
  export function shimsDirOnPath() {
243
243
  return pathContainsDir(process.env.PATH ?? '', shimsDir());
244
244
  }
245
+ /**
246
+ * Parse `mise outdated --json` (an object keyed by tool name with `current` and
247
+ * `latest` versions) into rows. Empty output means nothing is outdated; output
248
+ * that isn't that object returns null, meaning "couldn't tell".
249
+ */
250
+ export function parseOutdated(raw) {
251
+ let parsed;
252
+ try {
253
+ parsed = JSON.parse(raw);
254
+ }
255
+ catch {
256
+ return null;
257
+ }
258
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed))
259
+ return null;
260
+ const rows = [];
261
+ for (const [tool, entry] of Object.entries(parsed)) {
262
+ const { current, latest } = (entry ?? {});
263
+ if (typeof current === 'string' && typeof latest === 'string') {
264
+ rows.push({ tool, current, latest });
265
+ }
266
+ }
267
+ return rows;
268
+ }
269
+ /** Ask mise which installed tools have a newer version; null when mise couldn't answer. */
270
+ export function getOutdatedTools(cwd) {
271
+ const result = runMiseCaptured(['outdated', '--json'], { cwd, timeoutMs: 60000 });
272
+ return result.status === 0 ? parseOutdated(result.stdout) : null;
273
+ }
274
+ /**
275
+ * Binaries whose first hit on PATH sits *before* the mise shims dir, i.e. the
276
+ * agent runs another copy (WinGet, a bundled `rg.exe`, …) instead of the
277
+ * version agentenv installed. Returns nothing when the shims dir isn't on PATH
278
+ * at all; shimsDirOnPath() reports that separately.
279
+ */
280
+ export function findShadowedShims(binaries, opts) {
281
+ const win = (opts.platform ?? process.platform) === 'win32';
282
+ const pathApi = win ? path.win32 : path.posix;
283
+ const exists = opts.exists ?? fs.existsSync;
284
+ const norm = (dir) => {
285
+ const resolved = pathApi.resolve(dir);
286
+ return win ? resolved.toLowerCase() : resolved;
287
+ };
288
+ const entries = opts.pathEnv.split(win ? ';' : ':').filter((entry) => entry.trim() !== '');
289
+ const shimsIndex = entries.findIndex((entry) => norm(entry) === norm(opts.shimsDir));
290
+ if (shimsIndex < 0)
291
+ return [];
292
+ const before = entries.slice(0, shimsIndex);
293
+ const extensions = win ? ['.exe', '.cmd', '.bat', '.com'] : [''];
294
+ const shadowed = [];
295
+ for (const binary of binaries) {
296
+ const hit = before
297
+ .flatMap((dir) => extensions.map((ext) => pathApi.join(dir, `${binary}${ext}`)))
298
+ .find((candidate) => exists(candidate));
299
+ if (hit)
300
+ shadowed.push({ binary, shadowedBy: hit });
301
+ }
302
+ return shadowed;
303
+ }
245
304
  const defaultPowerShellRunner = (script, env) => {
246
305
  const result = child_process.spawnSync('powershell.exe', ['-NoProfile', '-NonInteractive', '-Command', script], { encoding: 'utf-8', env: { ...process.env, ...env }, timeout: 15000, windowsHide: true });
247
306
  return { status: result.status, stdout: result.stdout ?? '', stderr: result.stderr ?? '' };
@@ -473,7 +532,7 @@ export function getToolsToInstall(config) {
473
532
  result.push({
474
533
  name: key,
475
534
  miseName,
476
- version: PINNED_TOOL_VERSIONS[miseName] || config.tool_versions?.[key] || 'latest',
535
+ version: config.tool_versions?.[key] || PINNED_TOOL_VERSIONS[miseName] || 'latest',
477
536
  tier: TOOL_TIERS[key] || 3,
478
537
  });
479
538
  }
@@ -518,29 +577,61 @@ export async function runMiseSelfUpdate() {
518
577
  * Bump the given `mise up` targets to their latest versions within the current
519
578
  * config constraints (pins stay put because pinned tools are not passed in).
520
579
  */
521
- export async function runMiseUpgrade(tools, cwd) {
522
- try {
523
- const result = child_process.spawnSync('mise', ['up', ...tools], {
524
- cwd,
525
- encoding: 'utf-8',
526
- stdio: ['ignore', 'pipe', 'pipe'],
527
- timeout: 120000,
580
+ export async function runMiseUpgrade(tools, cwd, onOutput, spawnFn = child_process.spawn) {
581
+ // Async spawn with no fixed time limit, like runMiseInstall: upgrading a
582
+ // full tool list routinely takes minutes, a sync call froze the spinner for
583
+ // all of it, and killing a slow-but-working upgrade at a deadline reported
584
+ // an empty "failed (exit null)".
585
+ return new Promise((resolve) => {
586
+ let child;
587
+ try {
588
+ child = spawnFn('mise', ['up', ...tools], {
589
+ cwd,
590
+ stdio: ['ignore', 'pipe', 'pipe'],
591
+ });
592
+ }
593
+ catch (err) {
594
+ resolve({
595
+ success: false,
596
+ stdout: '',
597
+ stderr: err instanceof Error ? err.message : String(err),
598
+ exitCode: null,
599
+ });
600
+ return;
601
+ }
602
+ let stdout = '';
603
+ let stderr = '';
604
+ child.stdout?.setEncoding('utf-8').on('data', (chunk) => {
605
+ stdout += chunk;
606
+ onOutput?.(chunk, 'stdout');
528
607
  });
529
- return {
530
- success: result.status === 0,
531
- stdout: result.stdout || '',
532
- stderr: result.stderr || '',
533
- exitCode: result.status ?? null,
534
- };
535
- }
536
- catch (err) {
537
- return {
538
- success: false,
539
- stdout: '',
540
- stderr: err instanceof Error ? err.message : String(err),
541
- exitCode: null,
542
- };
608
+ child.stderr?.setEncoding('utf-8').on('data', (chunk) => {
609
+ stderr += chunk;
610
+ onOutput?.(chunk, 'stderr');
611
+ });
612
+ child.on('error', (err) => {
613
+ resolve({ success: false, stdout, stderr: stderr || err.message, exitCode: null });
614
+ });
615
+ child.on('close', (code) => {
616
+ resolve({ success: code === 0, stdout, stderr, exitCode: code });
617
+ });
618
+ });
619
+ }
620
+ const ANSI_ESCAPE = new RegExp(`${String.fromCharCode(27)}\\[[0-9;]*[A-Za-z]`, 'g');
621
+ /**
622
+ * The tools mise reported it could not install, one `spec — reason` line each,
623
+ * pulled from its `ERROR Failed to install <spec>: <reason>` lines. A failed
624
+ * `mise up` otherwise buries the one tool that broke under progress bars for
625
+ * the ones that worked.
626
+ */
627
+ export function summarizeMiseFailures(output) {
628
+ const failures = [];
629
+ for (const line of output.replace(ANSI_ESCAPE, '').split(/\r?\n/)) {
630
+ const match = /ERROR\s+Failed to install\s+(\S+?):\s+(.+)$/.exec(line);
631
+ if (match)
632
+ failures.push(`${match[1]} — ${match[2].trim()}`);
543
633
  }
634
+ return failures;
544
635
  }
545
636
  /**
546
637
  * Uninstall the given tools from the mise store. Each tool name is passed