poe-code 2.0.19 → 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 +21 -19
  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 +70 -22
  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,20 +59,12 @@ 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
63
65
  npx poe-code@latest test codex
64
66
 
65
- npx poe-code@latest test --stdin codex
67
+ npx poe-code@latest test --stdin claude-code
66
68
  # Verifies that stdin prompts work by running a tiny spawn and expecting `STDIN_OK`.
67
69
  ```
68
70
 
@@ -73,7 +75,7 @@ npx poe-code@latest test --stdin codex
73
75
  npx poe-code@latest spawn claude-code "Explain this error message"
74
76
 
75
77
  cat prompt.txt | npx poe-code@latest spawn codex
76
- # Reads the prompt from stdin (supported by `codex`).
78
+ # Reads the prompt from stdin (useful for very long prompts).
77
79
  ```
78
80
 
79
81
  ### Optional Flags
@@ -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>;