poe-code 2.0.20 → 2.0.21

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 (74) hide show
  1. package/README.md +19 -17
  2. package/dist/bin/poe-claude.js +16 -0
  3. package/dist/bin/poe-codex.js +16 -0
  4. package/dist/bin/poe-opencode.js +16 -0
  5. package/dist/cli/binary-aliases.d.ts +7 -0
  6. package/dist/cli/binary-aliases.js +26 -0
  7. package/dist/cli/binary-aliases.js.map +1 -0
  8. package/dist/cli/command-runner.js +7 -1
  9. package/dist/cli/command-runner.js.map +1 -1
  10. package/dist/cli/commands/configure-payload.d.ts +13 -0
  11. package/dist/cli/commands/configure-payload.js +33 -0
  12. package/dist/cli/commands/configure-payload.js.map +1 -0
  13. package/dist/cli/commands/configure.js +16 -107
  14. package/dist/cli/commands/configure.js.map +1 -1
  15. package/dist/cli/commands/doctor.js +8 -1
  16. package/dist/cli/commands/doctor.js.map +1 -1
  17. package/dist/cli/commands/ensure-isolated-config.d.ts +11 -0
  18. package/dist/cli/commands/ensure-isolated-config.js +48 -0
  19. package/dist/cli/commands/ensure-isolated-config.js.map +1 -0
  20. package/dist/cli/commands/remove.js +20 -1
  21. package/dist/cli/commands/remove.js.map +1 -1
  22. package/dist/cli/commands/shared.d.ts +11 -1
  23. package/dist/cli/commands/shared.js +23 -4
  24. package/dist/cli/commands/shared.js.map +1 -1
  25. package/dist/cli/commands/test.d.ts +4 -1
  26. package/dist/cli/commands/test.js +37 -6
  27. package/dist/cli/commands/test.js.map +1 -1
  28. package/dist/cli/commands/wrap.d.ts +3 -0
  29. package/dist/cli/commands/wrap.js +54 -0
  30. package/dist/cli/commands/wrap.js.map +1 -0
  31. package/dist/cli/container.js +9 -2
  32. package/dist/cli/container.js.map +1 -1
  33. package/dist/cli/context.d.ts +5 -1
  34. package/dist/cli/context.js +12 -0
  35. package/dist/cli/context.js.map +1 -1
  36. package/dist/cli/isolated-env-runner.d.ts +10 -0
  37. package/dist/cli/isolated-env-runner.js +44 -0
  38. package/dist/cli/isolated-env-runner.js.map +1 -0
  39. package/dist/cli/isolated-env.d.ts +22 -0
  40. package/dist/cli/isolated-env.js +128 -0
  41. package/dist/cli/isolated-env.js.map +1 -0
  42. package/dist/cli/poe-code-command-runner.d.ts +6 -0
  43. package/dist/cli/poe-code-command-runner.js +54 -0
  44. package/dist/cli/poe-code-command-runner.js.map +1 -0
  45. package/dist/cli/program.js +2 -0
  46. package/dist/cli/program.js.map +1 -1
  47. package/dist/cli/service-registry.d.ts +30 -11
  48. package/dist/cli/service-registry.js.map +1 -1
  49. package/dist/providers/claude-code.d.ts +2 -2
  50. package/dist/providers/claude-code.js +59 -21
  51. package/dist/providers/claude-code.js.map +1 -1
  52. package/dist/providers/codex.d.ts +1 -1
  53. package/dist/providers/codex.js +21 -8
  54. package/dist/providers/codex.js.map +1 -1
  55. package/dist/providers/create-provider.d.ts +7 -8
  56. package/dist/providers/create-provider.js +1 -2
  57. package/dist/providers/create-provider.js.map +1 -1
  58. package/dist/providers/kimi.d.ts +2 -2
  59. package/dist/providers/kimi.js +7 -5
  60. package/dist/providers/kimi.js.map +1 -1
  61. package/dist/providers/opencode.d.ts +1 -1
  62. package/dist/providers/opencode.js +23 -8
  63. package/dist/providers/opencode.js.map +1 -1
  64. package/dist/providers/provider-helpers.js +12 -1
  65. package/dist/providers/provider-helpers.js.map +1 -1
  66. package/dist/providers/spawn-options.d.ts +2 -2
  67. package/dist/providers/versioned-provider.d.ts +2 -2
  68. package/dist/services/service-manifest.d.ts +65 -16
  69. package/dist/services/service-manifest.js +163 -19
  70. package/dist/services/service-manifest.js.map +1 -1
  71. package/dist/templates/claude-code/anthropic_key.sh.hbs +1 -1
  72. package/dist/utils/command-checks.d.ts +1 -0
  73. package/dist/utils/command-checks.js.map +1 -1
  74. package/package.json +6 -3
package/README.md CHANGED
@@ -2,22 +2,22 @@
2
2
 
3
3
  > Configure coding agents to use the Poe API.
4
4
 
5
- ## Quick Start
5
+ ## Try it out
6
6
 
7
7
  ```bash
8
- npx poe-code@latest configure claude-code
9
- ```
10
-
11
- ## Usage
8
+ npm install -g poe-code
12
9
 
13
- ### Authenticate Once
14
-
15
- ```bash
16
- npx poe-code@latest login
10
+ poe-claude --help
11
+ poe-codex --help
12
+ poe-opencode --help
17
13
  ```
18
14
 
15
+ ## Permanent Configuration
16
+
19
17
  ### Configure Coding CLIs
20
18
 
19
+ This is a persistent change: it updates the config files.
20
+
21
21
  ```bash
22
22
  # Claude Code
23
23
  npx poe-code@latest configure claude-code
@@ -33,6 +33,16 @@ npx poe-code@latest configure kimi
33
33
 
34
34
  ```
35
35
 
36
+ ### Remove configuration overrides
37
+
38
+ Removes the Codex settings previously applied by `npx poe-code@latest configure codex`.
39
+
40
+ ```bash
41
+ npx poe-code@latest remove codex
42
+ ```
43
+
44
+ ## Utilities
45
+
36
46
  ### Install Coding CLIs
37
47
 
38
48
  ```bash
@@ -49,14 +59,6 @@ npx poe-code@latest install opencode
49
59
  npx poe-code@latest install kimi
50
60
  ```
51
61
 
52
- ### Uninstall Configuration
53
-
54
- ```bash
55
- npx poe-code@latest remove codex
56
- ```
57
-
58
- Removes the Codex settings previously applied by `npx poe-code@latest configure codex`.
59
-
60
62
  ### Test Configuration
61
63
 
62
64
  ```bash
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env node
2
+ import { spawn } from "node:child_process";
3
+ import path from "node:path";
4
+ import { fileURLToPath } from "node:url";
5
+
6
+ const currentFile = fileURLToPath(import.meta.url);
7
+ const distDir = path.resolve(path.dirname(currentFile), "..");
8
+ const entry = path.join(distDir, "index.js");
9
+ const service = "claude-code";
10
+ const agentArgs = process.argv.slice(2);
11
+ const args = [entry, "wrap", service, "--", ...agentArgs];
12
+ const child = spawn(process.execPath, args, { stdio: "inherit" });
13
+ child.on("close", (code) => process.exit(code ?? 0));
14
+ child.on("error", (error) => {
15
+ throw error;
16
+ });
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env node
2
+ import { spawn } from "node:child_process";
3
+ import path from "node:path";
4
+ import { fileURLToPath } from "node:url";
5
+
6
+ const currentFile = fileURLToPath(import.meta.url);
7
+ const distDir = path.resolve(path.dirname(currentFile), "..");
8
+ const entry = path.join(distDir, "index.js");
9
+ const service = "codex";
10
+ const agentArgs = process.argv.slice(2);
11
+ const args = [entry, "wrap", service, "--", ...agentArgs];
12
+ const child = spawn(process.execPath, args, { stdio: "inherit" });
13
+ child.on("close", (code) => process.exit(code ?? 0));
14
+ child.on("error", (error) => {
15
+ throw error;
16
+ });
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env node
2
+ import { spawn } from "node:child_process";
3
+ import path from "node:path";
4
+ import { fileURLToPath } from "node:url";
5
+
6
+ const currentFile = fileURLToPath(import.meta.url);
7
+ const distDir = path.resolve(path.dirname(currentFile), "..");
8
+ const entry = path.join(distDir, "index.js");
9
+ const service = "opencode";
10
+ const agentArgs = process.argv.slice(2);
11
+ const args = [entry, "wrap", service, "--", ...agentArgs];
12
+ const child = spawn(process.execPath, args, { stdio: "inherit" });
13
+ child.on("close", (code) => process.exit(code ?? 0));
14
+ child.on("error", (error) => {
15
+ throw error;
16
+ });
@@ -0,0 +1,7 @@
1
+ import type { ProviderService } from "./service-registry.js";
2
+ export interface WrapBinaryAlias {
3
+ binName: string;
4
+ serviceName: string;
5
+ agentBinary: string;
6
+ }
7
+ export declare function deriveWrapBinaryAliases(providers: ProviderService[]): WrapBinaryAlias[];
@@ -0,0 +1,26 @@
1
+ export function deriveWrapBinaryAliases(providers) {
2
+ const aliases = [];
3
+ const seen = new Set();
4
+ for (const provider of providers) {
5
+ const isolated = provider.isolatedEnv;
6
+ if (!isolated) {
7
+ continue;
8
+ }
9
+ const agentBinary = isolated.agentBinary.trim();
10
+ if (agentBinary.length === 0) {
11
+ throw new Error(`Provider "${provider.name}" defines an empty agentBinary.`);
12
+ }
13
+ const binName = `poe-${agentBinary}`;
14
+ if (seen.has(binName)) {
15
+ throw new Error(`Duplicate wrapper binary name "${binName}".`);
16
+ }
17
+ seen.add(binName);
18
+ aliases.push({
19
+ binName,
20
+ serviceName: provider.name,
21
+ agentBinary
22
+ });
23
+ }
24
+ return aliases.sort((a, b) => a.binName.localeCompare(b.binName));
25
+ }
26
+ //# sourceMappingURL=binary-aliases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binary-aliases.js","sourceRoot":"","sources":["../../src/cli/binary-aliases.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,uBAAuB,CACrC,SAA4B;IAE5B,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,SAAS;QACX,CAAC;QACD,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAChD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,CAAC,IAAI,iCAAiC,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,WAAW,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,kCAAkC,OAAO,IAAI,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAElB,OAAO,CAAC,IAAI,CAAC;YACX,OAAO;YACP,WAAW,EAAE,QAAQ,CAAC,IAAI;YAC1B,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACpE,CAAC"}
@@ -4,7 +4,13 @@ export function createDefaultCommandRunner() {
4
4
  const hasStdin = options?.stdin != null;
5
5
  const child = spawn(command, args, {
6
6
  stdio: [hasStdin ? "pipe" : "ignore", "pipe", "pipe"],
7
- cwd: options?.cwd
7
+ cwd: options?.cwd,
8
+ env: options?.env
9
+ ? {
10
+ ...process.env,
11
+ ...options.env
12
+ }
13
+ : undefined
8
14
  });
9
15
  let stdout = "";
10
16
  let stderr = "";
@@ -1 +1 @@
1
- {"version":3,"file":"command-runner.js","sourceRoot":"","sources":["../../src/cli/command-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAO3C,MAAM,UAAU,0BAA0B;IACxC,OAAO,KAAK,EACV,OAAO,EACP,IAAI,EACJ,OAA8B,EACA,EAAE,CAChC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC5B,MAAM,QAAQ,GAAG,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC;QACxC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YACjC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACrD,GAAG,EAAE,OAAO,EAAE,GAAG;SAClB,CAAC,CAAC;QACH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5B,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAClC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAQ,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QAED,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE;YAClD,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE;YAClD,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE;YACjD,MAAM,QAAQ,GACZ,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAC5B,CAAC,CAAC,KAAK,CAAC,IAAI;gBACZ,CAAC,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;oBACjC,CAAC,CAAC,KAAK,CAAC,KAAK;oBACb,CAAC,CAAC,GAAG,CAAC;YACV,MAAM,OAAO,GACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC;YACpE,OAAO,CAAC;gBACN,MAAM;gBACN,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO;gBAChD,QAAQ;aACT,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,OAAO,CAAC;gBACN,MAAM;gBACN,MAAM;gBACN,QAAQ,EAAE,IAAI,IAAI,CAAC;aACpB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"command-runner.js","sourceRoot":"","sources":["../../src/cli/command-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAO3C,MAAM,UAAU,0BAA0B;IACxC,OAAO,KAAK,EACV,OAAO,EACP,IAAI,EACJ,OAA8B,EACA,EAAE,CAChC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC5B,MAAM,QAAQ,GAAG,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC;QACxC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YACjC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACrD,GAAG,EAAE,OAAO,EAAE,GAAG;YACjB,GAAG,EAAE,OAAO,EAAE,GAAG;gBACf,CAAC,CAAC;oBACE,GAAI,OAAO,CAAC,GAA0C;oBACtD,GAAG,OAAO,CAAC,GAAG;iBACf;gBACH,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;QACH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5B,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAClC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAQ,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QAED,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE;YAClD,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE;YAClD,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE;YACjD,MAAM,QAAQ,GACZ,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAC5B,CAAC,CAAC,KAAK,CAAC,IAAI;gBACZ,CAAC,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;oBACjC,CAAC,CAAC,KAAK,CAAC,KAAK;oBACb,CAAC,CAAC,GAAG,CAAC;YACV,MAAM,OAAO,GACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC;YACpE,OAAO,CAAC;gBACN,MAAM;gBACN,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO;gBAChD,QAAQ;aACT,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,OAAO,CAAC;gBACN,MAAM;gBACN,MAAM;gBACN,QAAQ,EAAE,IAAI,IAAI,CAAC;aACpB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { CliContainer } from "../container.js";
2
+ import type { ProviderContext, ProviderService } from "../service-registry.js";
3
+ import type { CommandFlags } from "./shared.js";
4
+ import type { ConfigureCommandOptions } from "./configure.js";
5
+ interface ConfigurePayloadInit {
6
+ container: CliContainer;
7
+ flags: CommandFlags;
8
+ options: ConfigureCommandOptions;
9
+ context: ProviderContext;
10
+ adapter: ProviderService;
11
+ }
12
+ export declare function createConfigurePayload(init: ConfigurePayloadInit): Promise<unknown>;
13
+ export {};
@@ -0,0 +1,33 @@
1
+ export async function createConfigurePayload(init) {
2
+ const { container, flags, options, context, adapter } = init;
3
+ const apiKey = await container.options.resolveApiKey({
4
+ value: options.apiKey,
5
+ dryRun: flags.dryRun
6
+ });
7
+ const payload = {
8
+ env: context.env,
9
+ apiKey
10
+ };
11
+ const modelPrompt = adapter.configurePrompts?.model;
12
+ if (modelPrompt) {
13
+ const model = await container.options.resolveModel({
14
+ value: options.model,
15
+ assumeDefault: flags.assumeYes,
16
+ defaultValue: modelPrompt.defaultValue,
17
+ choices: modelPrompt.choices,
18
+ label: modelPrompt.label
19
+ });
20
+ payload.model = model;
21
+ }
22
+ const reasoningPrompt = adapter.configurePrompts?.reasoningEffort;
23
+ if (reasoningPrompt) {
24
+ const reasoningEffort = await container.options.resolveReasoning({
25
+ value: options.reasoningEffort,
26
+ defaultValue: reasoningPrompt.defaultValue,
27
+ label: reasoningPrompt.label
28
+ });
29
+ payload.reasoningEffort = reasoningEffort;
30
+ }
31
+ return payload;
32
+ }
33
+ //# sourceMappingURL=configure-payload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure-payload.js","sourceRoot":"","sources":["../../../src/cli/commands/configure-payload.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAA0B;IAE1B,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC7D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC;QACnD,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CAAC;IAEH,MAAM,OAAO,GAA4B;QACvC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM;KACP,CAAC;IAEF,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC;IACpD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;YACjD,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,aAAa,EAAE,KAAK,CAAC,SAAS;YAC9B,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,KAAK,EAAE,WAAW,CAAC,KAAK;SACzB,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,CAAC,gBAAgB,EAAE,eAAe,CAAC;IAClE,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC/D,KAAK,EAAE,OAAO,CAAC,eAAe;YAC9B,YAAY,EAAE,eAAe,CAAC,YAAY;YAC1C,KAAK,EAAE,eAAe,CAAC,KAAK;SAC7B,CAAC,CAAC;QACH,OAAO,CAAC,eAAe,GAAG,eAAe,CAAC;IAC5C,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,8 +1,9 @@
1
- import { buildProviderContext, createExecutionResources, resolveCommandFlags, resolveServiceAdapter, resolveProviderHandler } from "./shared.js";
1
+ import { buildProviderContext, createExecutionResources, resolveCommandFlags, resolveServiceAdapter, resolveProviderHandler, applyIsolatedConfiguration } from "./shared.js";
2
2
  import { renderServiceMenu } from "../ui/service-menu.js";
3
3
  import { createMenuTheme } from "../ui/theme.js";
4
4
  import { saveConfiguredService } from "../../services/credentials.js";
5
5
  import { combineMutationObservers, createMutationReporter } from "../../services/mutation-events.js";
6
+ import { createConfigurePayload } from "./configure-payload.js";
6
7
  export function registerConfigureCommand(program, container) {
7
8
  const configureCommand = program
8
9
  .command("configure")
@@ -23,7 +24,6 @@ export async function executeConfigure(program, container, service, options) {
23
24
  const resources = createExecutionResources(container, flags, `configure:${service}`);
24
25
  const providerContext = buildProviderContext(container, adapter, resources);
25
26
  const payload = await createConfigurePayload({
26
- service,
27
27
  container,
28
28
  flags,
29
29
  options,
@@ -59,6 +59,20 @@ export async function executeConfigure(program, container, service, options) {
59
59
  }
60
60
  });
61
61
  }
62
+ const isolated = adapter.isolatedEnv;
63
+ if (isolated) {
64
+ const isolatedTracker = createMutationTracker();
65
+ const isolatedLogger = createMutationReporter(resources.logger);
66
+ const isolatedObservers = combineMutationObservers(isolatedTracker.observers, isolatedLogger);
67
+ await applyIsolatedConfiguration({
68
+ resolution,
69
+ providerContext,
70
+ payload,
71
+ isolated,
72
+ providerName: adapter.name,
73
+ observers: isolatedObservers
74
+ });
75
+ }
62
76
  });
63
77
  const dryMessage = service === "claude-code"
64
78
  ? `${adapter.label} (dry run)`
@@ -68,97 +82,6 @@ export async function executeConfigure(program, container, service, options) {
68
82
  dry: dryMessage
69
83
  });
70
84
  }
71
- async function createConfigurePayload(init) {
72
- const { service, container, flags, options, context, adapter } = init;
73
- switch (service) {
74
- case "claude-code": {
75
- const apiKey = await container.options.resolveApiKey({
76
- value: options.apiKey,
77
- dryRun: flags.dryRun
78
- });
79
- const modelPrompt = requireModelPrompt(adapter);
80
- const defaultModel = await container.options.resolveModel({
81
- value: options.model,
82
- assumeDefault: flags.assumeYes,
83
- defaultValue: modelPrompt.defaultValue,
84
- choices: modelPrompt.choices,
85
- label: modelPrompt.label
86
- });
87
- return {
88
- env: context.env,
89
- apiKey,
90
- defaultModel
91
- };
92
- }
93
- case "codex": {
94
- const apiKey = await container.options.resolveApiKey({
95
- value: options.apiKey,
96
- dryRun: flags.dryRun
97
- });
98
- const modelPrompt = requireModelPrompt(adapter);
99
- const model = await container.options.resolveModel({
100
- value: options.model,
101
- assumeDefault: flags.assumeYes,
102
- defaultValue: modelPrompt.defaultValue,
103
- choices: modelPrompt.choices,
104
- label: modelPrompt.label
105
- });
106
- const reasoningPrompt = requireReasoningPrompt(adapter);
107
- const reasoningEffort = await container.options.resolveReasoning({
108
- value: options.reasoningEffort,
109
- defaultValue: reasoningPrompt.defaultValue,
110
- label: reasoningPrompt.label
111
- });
112
- return {
113
- env: context.env,
114
- apiKey,
115
- model,
116
- reasoningEffort
117
- };
118
- }
119
- case "opencode": {
120
- const apiKey = await container.options.resolveApiKey({
121
- value: options.apiKey,
122
- dryRun: flags.dryRun
123
- });
124
- const modelPrompt = requireModelPrompt(adapter);
125
- const model = await container.options.resolveModel({
126
- value: options.model,
127
- assumeDefault: flags.assumeYes,
128
- defaultValue: modelPrompt.defaultValue,
129
- choices: modelPrompt.choices,
130
- label: modelPrompt.label
131
- });
132
- return {
133
- env: context.env,
134
- apiKey,
135
- model
136
- };
137
- }
138
- case "kimi": {
139
- const apiKey = await container.options.resolveApiKey({
140
- value: options.apiKey,
141
- dryRun: flags.dryRun
142
- });
143
- const modelPrompt = requireModelPrompt(adapter);
144
- const defaultModel = await container.options.resolveModel({
145
- value: options.model,
146
- assumeDefault: flags.assumeYes,
147
- defaultValue: modelPrompt.defaultValue,
148
- choices: modelPrompt.choices,
149
- label: modelPrompt.label
150
- });
151
- context.logger.info(`Using ${adapter.label} model: ${defaultModel}`);
152
- return {
153
- env: context.env,
154
- apiKey,
155
- defaultModel
156
- };
157
- }
158
- default:
159
- throw new Error(`Unknown service "${service}".`);
160
- }
161
- }
162
85
  function createMutationTracker() {
163
86
  const targets = new Set();
164
87
  const observers = {
@@ -179,20 +102,6 @@ function createMutationTracker() {
179
102
  }
180
103
  };
181
104
  }
182
- function requireModelPrompt(adapter) {
183
- const prompt = adapter.configurePrompts?.model;
184
- if (!prompt) {
185
- throw new Error(`${adapter.label} must define a model prompt.`);
186
- }
187
- return prompt;
188
- }
189
- function requireReasoningPrompt(adapter) {
190
- const prompt = adapter.configurePrompts?.reasoningEffort;
191
- if (!prompt) {
192
- throw new Error(`${adapter.label} must define a reasoning prompt.`);
193
- }
194
- return prompt;
195
- }
196
105
  export async function resolveServiceArgument(program, container, provided) {
197
106
  if (provided) {
198
107
  return provided;
@@ -1 +1 @@
1
- {"version":3,"file":"configure.js","sourceRoot":"","sources":["../../../src/cli/commands/configure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configure.js","sourceRoot":"","sources":["../../../src/cli/commands/configure.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { buildProviderContext, createExecutionResources, resolveCommandFlags, re
2
2
  import { loadConfiguredServices } from "../../services/credentials.js";
3
3
  import { executeConfigure } from "./configure.js";
4
4
  import { executeRemove } from "./remove.js";
5
+ import { ensureIsolatedConfigForService } from "./ensure-isolated-config.js";
5
6
  export function registerDoctorCommand(program, container) {
6
7
  return program
7
8
  .command("doctor")
@@ -11,6 +12,7 @@ export function registerDoctorCommand(program, container) {
11
12
  });
12
13
  }
13
14
  export async function executeDoctor(program, container) {
15
+ const flags = resolveCommandFlags(program);
14
16
  const configured = await loadConfiguredServices({
15
17
  fs: container.fs,
16
18
  filePath: container.env.credentialsPath
@@ -21,7 +23,6 @@ export async function executeDoctor(program, container) {
21
23
  logger.info("No configured services found to inspect.");
22
24
  return;
23
25
  }
24
- const flags = resolveCommandFlags(program);
25
26
  for (const [service, metadata] of services) {
26
27
  await reconcileService({
27
28
  program,
@@ -43,6 +44,12 @@ async function reconcileService(context) {
43
44
  logger.warn(`Skipping unknown service "${service}": ${error instanceof Error ? error.message : String(error)}`);
44
45
  return;
45
46
  }
47
+ await ensureIsolatedConfigForService({
48
+ container,
49
+ adapter,
50
+ service,
51
+ flags
52
+ });
46
53
  const resources = createExecutionResources(container, flags, `doctor:${service}`);
47
54
  const providerContext = buildProviderContext(container, adapter, resources);
48
55
  const resolution = await resolveProviderHandler(adapter, providerContext);
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { CliContainer } from "../container.js";
2
+ import type { ProviderService } from "../service-registry.js";
3
+ import { type CommandFlags } from "./shared.js";
4
+ import type { ConfigureCommandOptions } from "./configure.js";
5
+ export declare function ensureIsolatedConfigForService(input: {
6
+ container: CliContainer;
7
+ adapter: ProviderService;
8
+ service: string;
9
+ options?: ConfigureCommandOptions;
10
+ flags: CommandFlags;
11
+ }): Promise<void>;
@@ -0,0 +1,48 @@
1
+ import { buildProviderContext, createExecutionResources, resolveProviderHandler, applyIsolatedConfiguration } from "./shared.js";
2
+ import { isolatedConfigExists, resolveIsolatedEnvDetails } from "../isolated-env.js";
3
+ import { createConfigurePayload } from "./configure-payload.js";
4
+ import { createMutationReporter } from "../../services/mutation-events.js";
5
+ export async function ensureIsolatedConfigForService(input) {
6
+ const { container, adapter, service } = input;
7
+ const isolated = adapter.isolatedEnv;
8
+ if (!isolated) {
9
+ return;
10
+ }
11
+ const flags = input.flags;
12
+ const resources = createExecutionResources(container, flags, `isolated:${service}`);
13
+ const providerContext = buildProviderContext(container, adapter, resources);
14
+ const details = resolveIsolatedEnvDetails(container.env, isolated, adapter.name);
15
+ const hasConfig = await isolatedConfigExists(container.fs, details.configProbePath);
16
+ if (hasConfig) {
17
+ return;
18
+ }
19
+ const payload = await createConfigurePayload({
20
+ container,
21
+ flags: { ...flags, assumeYes: true },
22
+ options: input.options ?? {},
23
+ context: providerContext,
24
+ adapter
25
+ });
26
+ await container.registry.invoke(service, "configure", async (entry) => {
27
+ if (!entry.configure) {
28
+ throw new Error(`Service "${service}" does not support configure.`);
29
+ }
30
+ const resolution = await resolveProviderHandler(entry, providerContext);
31
+ const mutationLogger = createMutationReporter(resources.logger);
32
+ await applyIsolatedConfiguration({
33
+ resolution,
34
+ providerContext,
35
+ payload,
36
+ isolated,
37
+ providerName: adapter.name,
38
+ observers: mutationLogger
39
+ });
40
+ });
41
+ if (!flags.dryRun) {
42
+ const refreshed = await isolatedConfigExists(container.fs, details.configProbePath);
43
+ if (!refreshed) {
44
+ throw new Error(`${adapter.label} isolated configuration did not create ${details.configProbePath}.`);
45
+ }
46
+ }
47
+ }
48
+ //# sourceMappingURL=ensure-isolated-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-isolated-config.js","sourceRoot":"","sources":["../../../src/cli/commands/ensure-isolated-config.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAE3B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,EACL,sBAAsB,EACvB,MAAM,mCAAmC,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,KAMpD;IACC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC;IACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,SAAS,GAAG,wBAAwB,CACxC,SAAS,EACT,KAAK,EACL,YAAY,OAAO,EAAE,CACtB,CAAC;IACF,MAAM,eAAe,GAAG,oBAAoB,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,yBAAyB,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACpF,IAAI,SAAS,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC;QAC3C,SAAS;QACT,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE;QACpC,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE;QAC5B,OAAO,EAAE,eAAe;QACxB,OAAO;KACR,CAAC,CAAC;IAEH,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACpE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,+BAA+B,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QACxE,MAAM,cAAc,GAAG,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,0BAA0B,CAAC;YAC/B,UAAU;YACV,eAAe;YACf,OAAO;YACP,QAAQ;YACR,YAAY,EAAE,OAAO,CAAC,IAAI;YAC1B,SAAS,EAAE,cAAc;SAC1B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QACpF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,GAAG,OAAO,CAAC,KAAK,0CAA0C,OAAO,CAAC,eAAe,GAAG,CACrF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { removeConfiguredService } from "../../services/credentials.js";
2
2
  import { createMutationReporter } from "../../services/mutation-events.js";
3
+ import { resolveIsolatedTargetDirectory } from "../isolated-env.js";
3
4
  import { buildProviderContext, createExecutionResources, resolveCommandFlags, resolveServiceAdapter, resolveProviderHandler } from "./shared.js";
4
5
  export function registerRemoveCommand(program, container) {
5
6
  return program
@@ -30,12 +31,30 @@ export async function executeRemove(program, container, service, options) {
30
31
  if (!resolution.adapter.remove) {
31
32
  return false;
32
33
  }
33
- return await resolution.adapter.remove({
34
+ const result = await resolution.adapter.remove({
34
35
  fs: providerContext.command.fs,
35
36
  env: providerContext.env,
36
37
  command: providerContext.command,
37
38
  options: payload
38
39
  }, { observers: mutationLogger });
40
+ const isolated = adapter.isolatedEnv;
41
+ if (isolated) {
42
+ await resolution.adapter.remove({
43
+ fs: providerContext.command.fs,
44
+ env: providerContext.env,
45
+ command: providerContext.command,
46
+ options: payload,
47
+ pathMapper: {
48
+ mapTargetDirectory: ({ targetDirectory }) => resolveIsolatedTargetDirectory({
49
+ targetDirectory,
50
+ isolated,
51
+ env: providerContext.env,
52
+ providerName: adapter.name
53
+ })
54
+ }
55
+ }, { observers: mutationLogger });
56
+ }
57
+ return result;
39
58
  });
40
59
  if (!flags.dryRun) {
41
60
  await removeConfiguredService({
@@ -1 +1 @@
1
- {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/cli/commands/remove.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/cli/commands/remove.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import type { Command } from "commander";
2
2
  import type { CliContainer } from "../container.js";
3
- import type { ProviderService, ProviderContext } from "../service-registry.js";
3
+ import type { ProviderService, ProviderContext, ProviderIsolatedEnv } from "../service-registry.js";
4
4
  import { type CommandContext } from "../context.js";
5
5
  import type { ScopedLogger } from "../logger.js";
6
+ import type { ServiceMutationObservers } from "../../services/service-manifest.js";
6
7
  export interface CommandFlags {
7
8
  dryRun: boolean;
8
9
  assumeYes: boolean;
@@ -21,5 +22,14 @@ export interface ProviderResolution {
21
22
  export interface ResolveProviderOptions {
22
23
  useResolver?: boolean;
23
24
  }
25
+ export declare function listIsolatedServiceIds(container: CliContainer): string[];
24
26
  export declare function resolveProviderHandler(adapter: ProviderService, context: ProviderContext, options?: ResolveProviderOptions): Promise<ProviderResolution>;
25
27
  export declare function resolveServiceAdapter(container: CliContainer, service: string): ProviderService;
28
+ export declare function applyIsolatedConfiguration(input: {
29
+ resolution: ProviderResolution;
30
+ providerContext: ProviderContext;
31
+ payload: unknown;
32
+ isolated: ProviderIsolatedEnv;
33
+ providerName: string;
34
+ observers?: ServiceMutationObservers;
35
+ }): Promise<void>;