poe-code 2.0.3 → 2.0.5

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 (100) hide show
  1. package/README.md +17 -30
  2. package/dist/cli/command-runner.d.ts +1 -1
  3. package/dist/cli/commands/configure.d.ts +0 -2
  4. package/dist/cli/commands/configure.js +99 -34
  5. package/dist/cli/commands/configure.js.map +1 -1
  6. package/dist/cli/commands/doctor.d.ts +4 -0
  7. package/dist/cli/commands/doctor.js +73 -0
  8. package/dist/cli/commands/doctor.js.map +1 -0
  9. package/dist/cli/commands/remove.d.ts +1 -0
  10. package/dist/cli/commands/remove.js +41 -28
  11. package/dist/cli/commands/remove.js.map +1 -1
  12. package/dist/cli/commands/shared.d.ts +9 -12
  13. package/dist/cli/commands/shared.js +26 -24
  14. package/dist/cli/commands/shared.js.map +1 -1
  15. package/dist/cli/commands/spawn.d.ts +1 -0
  16. package/dist/cli/commands/spawn.js +14 -5
  17. package/dist/cli/commands/spawn.js.map +1 -1
  18. package/dist/cli/commands/test.d.ts +4 -0
  19. package/dist/cli/commands/test.js +36 -0
  20. package/dist/cli/commands/test.js.map +1 -0
  21. package/dist/cli/constants.d.ts +12 -9
  22. package/dist/cli/constants.js +15 -9
  23. package/dist/cli/constants.js.map +1 -1
  24. package/dist/cli/container.d.ts +3 -3
  25. package/dist/cli/context.d.ts +4 -13
  26. package/dist/cli/context.js +19 -149
  27. package/dist/cli/context.js.map +1 -1
  28. package/dist/cli/error-logger.js +1 -1
  29. package/dist/cli/error-logger.js.map +1 -1
  30. package/dist/cli/errors.d.ts +0 -10
  31. package/dist/cli/errors.js +0 -12
  32. package/dist/cli/errors.js.map +1 -1
  33. package/dist/cli/logger.js +9 -11
  34. package/dist/cli/logger.js.map +1 -1
  35. package/dist/cli/options.d.ts +13 -4
  36. package/dist/cli/options.js +12 -11
  37. package/dist/cli/options.js.map +1 -1
  38. package/dist/cli/program.js +5 -2
  39. package/dist/cli/program.js.map +1 -1
  40. package/dist/cli/prompts.d.ts +14 -4
  41. package/dist/cli/prompts.js +12 -24
  42. package/dist/cli/prompts.js.map +1 -1
  43. package/dist/cli/service-registry.d.ts +37 -15
  44. package/dist/cli/service-registry.js.map +1 -1
  45. package/dist/cli/telemetry.d.ts +1 -1
  46. package/dist/cli/ui/service-menu.d.ts +2 -2
  47. package/dist/cli/ui/theme.js +6 -6
  48. package/dist/cli/ui/theme.js.map +1 -1
  49. package/dist/providers/claude-code.d.ts +10 -46
  50. package/dist/providers/claude-code.js +94 -224
  51. package/dist/providers/claude-code.js.map +1 -1
  52. package/dist/providers/codex.d.ts +14 -40
  53. package/dist/providers/codex.js +74 -177
  54. package/dist/providers/codex.js.map +1 -1
  55. package/dist/providers/create-provider.d.ts +26 -0
  56. package/dist/providers/create-provider.js +120 -0
  57. package/dist/providers/create-provider.js.map +1 -0
  58. package/dist/providers/index.d.ts +2 -2
  59. package/dist/providers/index.js +4 -10
  60. package/dist/providers/index.js.map +1 -1
  61. package/dist/providers/opencode.d.ts +3 -43
  62. package/dist/providers/opencode.js +112 -173
  63. package/dist/providers/opencode.js.map +1 -1
  64. package/dist/providers/provider-helpers.d.ts +10 -0
  65. package/dist/providers/provider-helpers.js +62 -0
  66. package/dist/providers/provider-helpers.js.map +1 -0
  67. package/dist/providers/versioned-provider.d.ts +3 -0
  68. package/dist/providers/versioned-provider.js +9 -0
  69. package/dist/providers/versioned-provider.js.map +1 -0
  70. package/dist/services/credentials.d.ts +14 -0
  71. package/dist/services/credentials.js +123 -22
  72. package/dist/services/credentials.js.map +1 -1
  73. package/dist/services/model-strategy.d.ts +1 -1
  74. package/dist/services/model-strategy.js +20 -15
  75. package/dist/services/model-strategy.js.map +1 -1
  76. package/dist/services/mutation-events.d.ts +4 -0
  77. package/dist/services/mutation-events.js +56 -0
  78. package/dist/services/mutation-events.js.map +1 -0
  79. package/dist/services/service-install.d.ts +3 -4
  80. package/dist/services/service-install.js +30 -12
  81. package/dist/services/service-install.js.map +1 -1
  82. package/dist/services/service-manifest.d.ts +49 -21
  83. package/dist/services/service-manifest.js +261 -64
  84. package/dist/services/service-manifest.js.map +1 -1
  85. package/dist/tools/label-generator.d.ts +2 -2
  86. package/dist/tools/label-generator.js +1 -1
  87. package/dist/tools/label-generator.js.map +1 -1
  88. package/dist/utils/binary-version.d.ts +6 -0
  89. package/dist/utils/binary-version.js +35 -0
  90. package/dist/utils/binary-version.js.map +1 -0
  91. package/dist/utils/command-checks.d.ts +39 -0
  92. package/dist/utils/command-checks.js +116 -0
  93. package/dist/utils/command-checks.js.map +1 -0
  94. package/package.json +6 -8
  95. package/dist/providers/roo-code.d.ts +0 -41
  96. package/dist/providers/roo-code.js +0 -201
  97. package/dist/providers/roo-code.js.map +0 -1
  98. package/dist/utils/prerequisites.d.ts +0 -41
  99. package/dist/utils/prerequisites.js +0 -92
  100. package/dist/utils/prerequisites.js.map +0 -1
@@ -1,55 +1,58 @@
1
- import { createLoggingCommandRunner, createMutationLogger, createPrerequisiteHooks, normalizePhase } from "../context.js";
1
+ import { createLoggingCommandRunner } from "../context.js";
2
2
  export function resolveCommandFlags(program) {
3
3
  const opts = program.optsWithGlobals();
4
4
  return {
5
5
  dryRun: Boolean(opts.dryRun),
6
- verbose: Boolean(opts.verbose),
7
6
  assumeYes: Boolean(opts.yes)
8
7
  };
9
8
  }
10
9
  export function createExecutionResources(container, flags, scope) {
11
10
  const baseLogger = container.loggerFactory.create({
12
11
  dryRun: flags.dryRun,
13
- verbose: flags.verbose,
12
+ verbose: true,
14
13
  scope
15
14
  });
16
- const runner = flags.verbose
17
- ? createLoggingCommandRunner(container.commandRunner, baseLogger)
18
- : container.commandRunner;
15
+ const runner = createLoggingCommandRunner(container.commandRunner, baseLogger);
19
16
  const context = container.contextFactory.create({
20
17
  dryRun: flags.dryRun,
21
18
  logger: baseLogger,
22
19
  runner
23
20
  });
24
- const mutationHooks = createMutationLogger(baseLogger, {
25
- collector: context.recordMutation
26
- });
27
21
  return {
28
22
  logger: baseLogger,
29
- context,
30
- mutationHooks,
31
- recordMutation: context.recordMutation
23
+ context
32
24
  };
33
25
  }
34
26
  export function buildProviderContext(container, adapter, resources) {
27
+ const paths = adapter.resolvePaths
28
+ ? adapter.resolvePaths(container.env)
29
+ : {};
30
+ const runCheck = createCheckRunner(resources);
35
31
  return {
36
32
  env: container.env,
37
- paths: adapter.resolvePaths(container.env),
33
+ paths,
38
34
  command: resources.context,
39
- logger: resources.logger
35
+ logger: resources.logger,
36
+ runCheck
40
37
  };
41
38
  }
42
- export function registerProviderPrerequisites(adapter, resources) {
43
- adapter.registerPrerequisites?.(resources.context.prerequisites);
39
+ function createCheckRunner(resources) {
40
+ return async (check) => {
41
+ await check.run({
42
+ isDryRun: resources.logger.context.dryRun,
43
+ runCommand: resources.context.runCommand,
44
+ logDryRun: (message) => resources.logger.dryRun(message)
45
+ });
46
+ };
44
47
  }
45
- export async function runPrerequisites(adapter, resources, phase) {
46
- const hooks = createPrerequisiteHooks(phase, resources.logger);
47
- if (hooks) {
48
- await resources.context.prerequisites.run(phase, hooks);
49
- }
50
- else {
51
- await resources.context.prerequisites.run(phase);
48
+ export async function resolveProviderHandler(adapter, context) {
49
+ if (adapter.resolveVersion) {
50
+ return adapter.resolveVersion(context);
52
51
  }
52
+ return {
53
+ adapter,
54
+ version: null
55
+ };
53
56
  }
54
57
  export function resolveServiceAdapter(container, service) {
55
58
  const adapter = container.registry.get(service);
@@ -58,5 +61,4 @@ export function resolveServiceAdapter(container, service) {
58
61
  }
59
62
  return adapter;
60
63
  }
61
- export { normalizePhase };
62
64
  //# sourceMappingURL=shared.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/cli/commands/shared.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,uBAAuB,EACvB,cAAc,EAGf,MAAM,eAAe,CAAC;AAkBvB,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IACvC,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5B,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QAC9B,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,SAAuB,EACvB,KAAmB,EACnB,KAAa;IAEb,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC;QAChD,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,KAAK;KACN,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO;QAC1B,CAAC,CAAC,0BAA0B,CAAC,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC;QACjE,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC;IAC5B,MAAM,OAAO,GAAG,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC;QAC9C,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,UAAU;QAClB,MAAM;KACP,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,oBAAoB,CAAC,UAAU,EAAE;QACrD,SAAS,EAAE,OAAO,CAAC,cAAc;KAClC,CAAC,CAAC;IAEH,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,OAAO;QACP,aAAa;QACb,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,SAAuB,EACvB,OAAwB,EACxB,SAA6B;IAE7B,OAAO;QACL,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC;QAC1C,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,MAAM,EAAE,SAAS,CAAC,MAAM;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,OAAwB,EACxB,SAA6B;IAE7B,OAAO,CAAC,qBAAqB,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAwB,EACxB,SAA6B,EAC7B,KAAwB;IAExB,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/D,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,SAAuB,EACvB,OAAe;IAEf,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,IAAI,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/cli/commands/shared.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,0BAA0B,EAE3B,MAAM,eAAe,CAAC;AAcvB,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IACvC,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5B,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,SAAuB,EACvB,KAAmB,EACnB,KAAa;IAEb,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC;QAChD,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,IAAI;QACb,KAAK;KACN,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,0BAA0B,CAAC,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC;QAC9C,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,UAAU;QAClB,MAAM;KACP,CAAC,CAAC;IAEH,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,OAAO;KACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,SAAuB,EACvB,OAAwB,EACxB,SAA6B;IAE7B,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY;QAChC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC;QACrC,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC9C,OAAO;QACL,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,KAAK;QACL,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,SAA6B;IAE7B,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,KAAK,CAAC,GAAG,CAAC;YACd,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM;YACzC,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,UAAU;YACxC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;SACzD,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAwB,EACxB,OAAwB;IAExB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IACD,OAAO;QACL,OAAO;QACP,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,SAAuB,EACvB,OAAe;IAEf,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,IAAI,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -6,6 +6,7 @@ export interface CustomSpawnHandlerContext {
6
6
  service: string;
7
7
  prompt: string;
8
8
  args: string[];
9
+ model?: string;
9
10
  flags: CommandFlags;
10
11
  resources: ExecutionResources;
11
12
  }
@@ -1,4 +1,4 @@
1
- import { buildProviderContext, createExecutionResources, resolveCommandFlags, resolveServiceAdapter } from "./shared.js";
1
+ import { buildProviderContext, createExecutionResources, resolveCommandFlags, resolveServiceAdapter, resolveProviderHandler } from "./shared.js";
2
2
  export function registerSpawnCommand(program, container, options = {}) {
3
3
  const defaultServices = ["claude-code", "codex", "opencode"];
4
4
  const serviceList = options.extraServices && options.extraServices.length > 0
@@ -8,12 +8,15 @@ export function registerSpawnCommand(program, container, options = {}) {
8
8
  program
9
9
  .command("spawn")
10
10
  .description("Run a single prompt through a configured service CLI.")
11
+ .option("--model <model>", "Model identifier override passed to the service CLI")
11
12
  .argument("<service>", serviceDescription)
12
13
  .argument("<prompt>", "Prompt text to send")
13
14
  .argument("[agentArgs...]", "Additional arguments forwarded to the service CLI")
14
- .action(async (service, promptText, agentArgs = []) => {
15
+ .action(async function (service, promptText, agentArgs = []) {
15
16
  const flags = resolveCommandFlags(program);
16
17
  const resources = createExecutionResources(container, flags, `spawn:${service}`);
18
+ const commandOptions = this.opts();
19
+ const modelOverride = commandOptions.model;
17
20
  const customHandler = options.handlers?.[service];
18
21
  if (customHandler) {
19
22
  await customHandler({
@@ -21,13 +24,14 @@ export function registerSpawnCommand(program, container, options = {}) {
21
24
  service,
22
25
  prompt: promptText,
23
26
  args: agentArgs,
27
+ model: modelOverride,
24
28
  flags,
25
29
  resources
26
30
  });
27
31
  return;
28
32
  }
29
33
  const adapter = resolveServiceAdapter(container, service);
30
- if (!adapter.supportsSpawn) {
34
+ if (typeof adapter.spawn !== "function") {
31
35
  throw new Error(`${adapter.label} does not support spawn.`);
32
36
  }
33
37
  const providerContext = buildProviderContext(container, adapter, resources);
@@ -40,9 +44,14 @@ export function registerSpawnCommand(program, container, options = {}) {
40
44
  if (!entry.spawn) {
41
45
  throw new Error(`${adapter.label} does not support spawn.`);
42
46
  }
43
- const output = await entry.spawn(providerContext, {
47
+ const resolution = await resolveProviderHandler(entry, providerContext);
48
+ if (!resolution.adapter.spawn) {
49
+ throw new Error(`${adapter.label} does not support spawn.`);
50
+ }
51
+ const output = await resolution.adapter.spawn(providerContext, {
44
52
  prompt: promptText,
45
- args: agentArgs
53
+ args: agentArgs,
54
+ model: modelOverride
46
55
  });
47
56
  return output;
48
57
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../../src/cli/commands/spawn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../../src/cli/commands/spawn.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Command } from "commander";
2
+ import type { CliContainer } from "../container.js";
3
+ export declare function registerTestCommand(program: Command, container: CliContainer): Command;
4
+ export declare function executeTest(program: Command, container: CliContainer, service: string): Promise<void>;
@@ -0,0 +1,36 @@
1
+ import { buildProviderContext, createExecutionResources, resolveCommandFlags, resolveProviderHandler, resolveServiceAdapter } from "./shared.js";
2
+ import { resolveServiceArgument } from "./configure.js";
3
+ export function registerTestCommand(program, container) {
4
+ return program
5
+ .command("test")
6
+ .description("Run service health checks.")
7
+ .argument("[service]", "Service to test (claude-code | codex | opencode)")
8
+ .action(async (service) => {
9
+ const resolved = await resolveServiceArgument(program, container, service);
10
+ await executeTest(program, container, resolved);
11
+ });
12
+ }
13
+ export async function executeTest(program, container, service) {
14
+ const adapter = resolveServiceAdapter(container, service);
15
+ const flags = resolveCommandFlags(program);
16
+ const resources = createExecutionResources(container, flags, `test:${service}`);
17
+ const providerContext = buildProviderContext(container, adapter, resources);
18
+ await container.registry.invoke(service, "test", async (entry) => {
19
+ if (!entry.test) {
20
+ throw new Error(`Service "${service}" does not support test.`);
21
+ }
22
+ const resolution = await resolveProviderHandler(entry, providerContext);
23
+ if (!resolution.adapter.test) {
24
+ throw new Error(`Service "${service}" does not support test.`);
25
+ }
26
+ await resolution.adapter.test(providerContext);
27
+ });
28
+ const dryMessage = service === "claude-code"
29
+ ? `${adapter.label} test (dry run)`
30
+ : `Dry run: would test ${adapter.label}.`;
31
+ resources.context.complete({
32
+ success: `Tested ${adapter.label}.`,
33
+ dry: dryMessage
34
+ });
35
+ }
36
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../src/cli/commands/test.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,UAAU,mBAAmB,CACjC,OAAgB,EAChB,SAAuB;IAEvB,OAAO,OAAO;SACX,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,4BAA4B,CAAC;SACzC,QAAQ,CACP,WAAW,EACX,kDAAkD,CACnD;SACA,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QAC5C,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAC3C,OAAO,EACP,SAAS,EACT,OAAO,CACR,CAAC;QACF,MAAM,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAgB,EAChB,SAAuB,EACvB,OAAe;IAEf,MAAM,OAAO,GAAG,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,wBAAwB,CACxC,SAAS,EACT,KAAK,EACL,QAAQ,OAAO,EAAE,CAClB,CAAC;IACF,MAAM,eAAe,GAAG,oBAAoB,CAC1C,SAAS,EACT,OAAO,EACP,SAAS,CACV,CAAC;IAEF,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC/D,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,0BAA0B,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QACxE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,0BAA0B,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GACd,OAAO,KAAK,aAAa;QACvB,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,iBAAiB;QACnC,CAAC,CAAC,uBAAuB,OAAO,CAAC,KAAK,GAAG,CAAC;IAE9C,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,OAAO,EAAE,UAAU,OAAO,CAAC,KAAK,GAAG;QACnC,GAAG,EAAE,UAAU;KAChB,CAAC,CAAC;AACL,CAAC"}
@@ -1,10 +1,13 @@
1
- export declare const CLAUDE_MODEL_SONNET = "Claude-Sonnet-4.5";
2
- export declare const CLAUDE_MODEL_OPUS = "Claude-Opus-4.1";
3
- export declare const CLAUDE_MODEL_HAIKU = "Claude-Haiku-4.5";
4
- export declare const DEFAULT_MODEL = "gpt-5";
1
+ export declare const FRONTIER_MODELS: readonly ["Claude-Sonnet-4.5", "GPT-5.1-Codex"];
2
+ export declare const DEFAULT_FRONTIER_MODEL = "Claude-Sonnet-4.5";
3
+ export declare const CLAUDE_CODE_VARIANTS: {
4
+ readonly haiku: "Claude-Haiku-4.5";
5
+ readonly sonnet: "Claude-Sonnet-4.5";
6
+ readonly opus: "Claude-Opus-4.5";
7
+ };
8
+ export declare const DEFAULT_CLAUDE_CODE_MODEL: "Claude-Sonnet-4.5";
9
+ export declare const CODEX_MODELS: readonly ["GPT-5.1-Codex", "GPT-5.1", "GPT-5.1-Codex-Mini"];
10
+ export declare const DEFAULT_CODEX_MODEL: "GPT-5.1-Codex";
5
11
  export declare const DEFAULT_REASONING = "medium";
6
- export declare const DEFAULT_QUERY_MODEL = "Claude-Sonnet-4.5";
7
- export declare const DEFAULT_ROO_MODEL = "Claude-Sonnet-4.5";
8
- export declare const DEFAULT_ROO_BASE_URL = "https://api.poe.com/v1";
9
- export declare const DEFAULT_ROO_CONFIG_NAME = "poe";
10
- export declare const DEFAULT_CLAUDE_MODEL = "Claude-Sonnet-4.5";
12
+ export declare const DEFAULT_QUERY_MODEL: "Claude-Sonnet-4.5";
13
+ export declare const PROVIDER_NAME = "poe";
@@ -1,11 +1,17 @@
1
- export const CLAUDE_MODEL_SONNET = "Claude-Sonnet-4.5";
2
- export const CLAUDE_MODEL_OPUS = "Claude-Opus-4.1";
3
- export const CLAUDE_MODEL_HAIKU = "Claude-Haiku-4.5";
4
- export const DEFAULT_MODEL = "gpt-5";
1
+ export const FRONTIER_MODELS = [
2
+ "Claude-Sonnet-4.5",
3
+ "GPT-5.1-Codex"
4
+ ];
5
+ export const DEFAULT_FRONTIER_MODEL = "Claude-Sonnet-4.5";
6
+ export const CLAUDE_CODE_VARIANTS = {
7
+ haiku: "Claude-Haiku-4.5",
8
+ sonnet: "Claude-Sonnet-4.5",
9
+ opus: "Claude-Opus-4.5"
10
+ };
11
+ export const DEFAULT_CLAUDE_CODE_MODEL = CLAUDE_CODE_VARIANTS.sonnet;
12
+ export const CODEX_MODELS = ["GPT-5.1-Codex", "GPT-5.1", "GPT-5.1-Codex-Mini"];
13
+ export const DEFAULT_CODEX_MODEL = CODEX_MODELS[0];
5
14
  export const DEFAULT_REASONING = "medium";
6
- export const DEFAULT_QUERY_MODEL = CLAUDE_MODEL_SONNET;
7
- export const DEFAULT_ROO_MODEL = CLAUDE_MODEL_SONNET;
8
- export const DEFAULT_ROO_BASE_URL = "https://api.poe.com/v1";
9
- export const DEFAULT_ROO_CONFIG_NAME = "poe";
10
- export const DEFAULT_CLAUDE_MODEL = CLAUDE_MODEL_SONNET;
15
+ export const DEFAULT_QUERY_MODEL = FRONTIER_MODELS[0];
16
+ export const PROVIDER_NAME = "poe";
11
17
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/cli/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AACvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AACnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;AAErD,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC;AACrC,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAC1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AACvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AACrD,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AAC7D,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAC7C,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/cli/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,mBAAmB;IACnB,eAAe;CACP,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AAE1D,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,KAAK,EAAE,kBAAkB;IACzB,MAAM,EAAE,mBAAmB;IAC3B,IAAI,EAAE,iBAAiB;CACf,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAG,oBAAoB,CAAC,MAAM,CAAC;AAErE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,eAAe,EAAE,SAAS,EAAE,oBAAoB,CAAU,CAAC;AACxF,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAC1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;AACtD,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { FileSystem } from "../utils/file-system.js";
2
2
  import { createCliEnvironment } from "./environment.js";
3
- import { createServiceRegistry, type ProviderAdapter } from "./service-registry.js";
3
+ import { createServiceRegistry, type ProviderService } from "./service-registry.js";
4
4
  import { type CommandContextFactory } from "./context.js";
5
5
  import { createPromptLibrary } from "./prompts.js";
6
6
  import { type OptionResolvers } from "./options.js";
@@ -8,7 +8,7 @@ import { type LoggerFactory, type ScopedLogger } from "./logger.js";
8
8
  import { ErrorLogger } from "./error-logger.js";
9
9
  import type { PromptFn, LoggerFn } from "./types.js";
10
10
  import type { HttpClient } from "./http.js";
11
- import type { CommandRunner } from "../utils/prerequisites.js";
11
+ import type { CommandRunner } from "../utils/command-checks.js";
12
12
  export interface CliDependencies {
13
13
  fs: FileSystem;
14
14
  prompts: PromptFn;
@@ -37,7 +37,7 @@ export interface CliContainer {
37
37
  readonly httpClient: HttpClient;
38
38
  readonly commandRunner: CommandRunner;
39
39
  readonly telemetryLogger: ScopedLogger;
40
- readonly providers: ProviderAdapter[];
40
+ readonly providers: ProviderService[];
41
41
  readonly dependencies: CliDependencies;
42
42
  }
43
43
  export declare function createCliContainer(dependencies: CliDependencies): CliContainer;
@@ -1,6 +1,5 @@
1
1
  import type { FileSystem } from "../utils/file-system.js";
2
- import type { CommandRunner, PrerequisiteManager, PrerequisitePhase, PrerequisiteRunHooks } from "../utils/prerequisites.js";
3
- import type { ServiceMutationHooks } from "../services/service-manifest.js";
2
+ import type { CommandRunner } from "../utils/command-checks.js";
4
3
  import type { ScopedLogger } from "./logger.js";
5
4
  export interface CommandContextOptions {
6
5
  dryRun: boolean;
@@ -11,15 +10,12 @@ export interface CommandContextComplete {
11
10
  success: string;
12
11
  dry: string;
13
12
  }
14
- export interface MutationLogEntry {
15
- command: string;
16
- message: string;
17
- }
18
13
  export interface CommandContext {
19
14
  fs: FileSystem;
20
- prerequisites: PrerequisiteManager;
21
- recordMutation?: (entry: MutationLogEntry) => void;
22
15
  runCommand: CommandRunner;
16
+ flushDryRun(options?: {
17
+ emitIfEmpty?: boolean;
18
+ }): void;
23
19
  complete(messages: CommandContextComplete): void;
24
20
  }
25
21
  export interface CommandContextFactoryInit {
@@ -30,8 +26,3 @@ export interface CommandContextFactory {
30
26
  }
31
27
  export declare function createCommandContextFactory(init: CommandContextFactoryInit): CommandContextFactory;
32
28
  export declare function createLoggingCommandRunner(runner: CommandRunner, logger: ScopedLogger): CommandRunner;
33
- export declare function createPrerequisiteHooks(phase: PrerequisitePhase, logger: ScopedLogger): PrerequisiteRunHooks | undefined;
34
- export declare function createMutationLogger(logger: ScopedLogger, options: {
35
- collector?: (entry: MutationLogEntry) => void;
36
- }): ServiceMutationHooks | undefined;
37
- export declare function normalizePhase(value: string): PrerequisitePhase;
@@ -1,19 +1,12 @@
1
- import chalk from "chalk";
2
- import { DryRunRecorder, formatDryRunOperations } from "../utils/dry-run.js";
3
- import { createDryRunFileSystem } from "../utils/dry-run.js";
4
- import { createPrerequisiteManager } from "../utils/prerequisites.js";
1
+ import { DryRunRecorder, createDryRunFileSystem, formatDryRunOperations } from "../utils/dry-run.js";
5
2
  export function createCommandContextFactory(init) {
6
3
  const { fs } = init;
7
4
  const create = (options) => {
8
- const prerequisites = createPrerequisiteManager({
9
- isDryRun: options.dryRun,
10
- runCommand: options.runner
11
- });
12
5
  if (!options.dryRun) {
13
6
  return {
14
7
  fs,
15
- prerequisites,
16
8
  runCommand: options.runner,
9
+ flushDryRun() { },
17
10
  complete(messages) {
18
11
  options.logger.info(messages.success);
19
12
  }
@@ -22,16 +15,20 @@ export function createCommandContextFactory(init) {
22
15
  const recorder = new DryRunRecorder();
23
16
  const proxyFs = createDryRunFileSystem(fs, recorder);
24
17
  const recordedCommands = new Set();
25
- const entries = [];
26
- const recordMutation = (entry) => {
27
- entries.push(entry);
28
- recordedCommands.add(entry.command);
29
- };
30
- const flush = () => {
31
- for (const entry of entries) {
32
- options.logger.info(entry.message);
18
+ let hasEmittedOperations = false;
19
+ const flush = (emitIfEmpty = false) => {
20
+ const operations = recorder.drain();
21
+ if (operations.length === 0) {
22
+ if (emitIfEmpty && !hasEmittedOperations) {
23
+ const lines = formatDryRunOperations(operations);
24
+ for (const line of lines) {
25
+ options.logger.info(line);
26
+ }
27
+ }
28
+ return;
33
29
  }
34
- for (const line of formatDryRunOperations(recorder.drain())) {
30
+ hasEmittedOperations = true;
31
+ for (const line of formatDryRunOperations(operations)) {
35
32
  const base = extractBaseCommand(line);
36
33
  if (!recordedCommands.has(base)) {
37
34
  options.logger.info(line);
@@ -41,12 +38,13 @@ export function createCommandContextFactory(init) {
41
38
  };
42
39
  return {
43
40
  fs: proxyFs,
44
- prerequisites,
45
- recordMutation,
46
41
  runCommand: options.runner,
42
+ flushDryRun({ emitIfEmpty } = {}) {
43
+ flush(Boolean(emitIfEmpty));
44
+ },
47
45
  complete(messages) {
48
46
  options.logger.dryRun(messages.dry);
49
- flush();
47
+ flush(true);
50
48
  }
51
49
  };
52
50
  };
@@ -59,134 +57,6 @@ export function createLoggingCommandRunner(runner, logger) {
59
57
  return runner(command, args);
60
58
  };
61
59
  }
62
- export function createPrerequisiteHooks(phase, logger) {
63
- if (!logger.context.verbose) {
64
- return undefined;
65
- }
66
- return {
67
- onStart(prerequisite) {
68
- logger.verbose(`Running ${phase} prerequisite: ${prerequisite.description}`);
69
- },
70
- onSuccess(prerequisite) {
71
- logger.verbose(`✓ ${prerequisite.description}`);
72
- },
73
- onFailure(prerequisite, error) {
74
- const detail = error instanceof Error ? error.message : String(error ?? "Unknown error");
75
- logger.error(`✖ ${prerequisite.description}: ${detail}`);
76
- }
77
- };
78
- }
79
- export function createMutationLogger(logger, options) {
80
- const { collector } = options;
81
- const verbose = logger.context.verbose;
82
- if (!verbose && !collector) {
83
- return undefined;
84
- }
85
- const emit = (entry) => {
86
- collector?.(entry);
87
- if (verbose) {
88
- logger.info(entry.message);
89
- }
90
- };
91
- return {
92
- onStart() {
93
- // Start is intentionally silent to keep verbose logging focused on results.
94
- },
95
- onComplete(details, outcome) {
96
- const command = formatMutationCommand(details, outcome);
97
- emit({
98
- command,
99
- message: decorateMutationCommand(command, outcome)
100
- });
101
- },
102
- onError(details, error) {
103
- const command = formatMutationCommand(details);
104
- const rendered = renderMutationError(command, error);
105
- logger.error(rendered);
106
- collector?.({ command, message: rendered });
107
- }
108
- };
109
- }
110
- export function normalizePhase(value) {
111
- const normalized = value.toLowerCase();
112
- if (normalized === "before" || normalized === "after") {
113
- return normalized;
114
- }
115
- throw new Error(`Unknown phase "${value}". Use "before" or "after".`);
116
- }
117
- function renderMutationError(command, error) {
118
- const detail = error instanceof Error ? error.message : String(error);
119
- return chalk.red(`${command} ! ${detail}`);
120
- }
121
- function formatMutationCommand(details, outcome) {
122
- const target = details.targetPath;
123
- const effect = outcome?.effect;
124
- if (effect && effect !== "none") {
125
- return describeEffect(effect, target);
126
- }
127
- switch (details.kind) {
128
- case "ensureDirectory":
129
- return describeEffect("mkdir", target);
130
- case "createBackup":
131
- return describeEffect("copy", target);
132
- case "removeFile":
133
- return describeEffect("delete", target);
134
- case "writeTemplate":
135
- case "transformFile":
136
- return describeEffect("write", target);
137
- default:
138
- return details.label;
139
- }
140
- }
141
- function decorateMutationCommand(command, outcome) {
142
- const colored = colorizeMutation(command, outcome);
143
- const suffix = describeOutcomeDetail(outcome);
144
- return suffix ? `${colored} ${chalk.dim(`# ${suffix}`)}` : colored;
145
- }
146
- function colorizeMutation(command, outcome) {
147
- if (!outcome.changed || outcome.effect === "none") {
148
- return chalk.dim(command);
149
- }
150
- switch (outcome.effect) {
151
- case "mkdir":
152
- case "copy":
153
- return chalk.cyan(command);
154
- case "delete":
155
- return chalk.red(command);
156
- case "write":
157
- return chalk.green(command);
158
- default:
159
- return command;
160
- }
161
- }
162
- function describeOutcomeDetail(outcome) {
163
- switch (outcome.detail) {
164
- case "create":
165
- return "create";
166
- case "update":
167
- return "update";
168
- case "delete":
169
- return "delete";
170
- case "noop":
171
- return "no change";
172
- default:
173
- return outcome.detail;
174
- }
175
- }
176
- function describeEffect(effect, target) {
177
- switch (effect) {
178
- case "mkdir":
179
- return target ? `mkdir -p ${target}` : "mkdir -p";
180
- case "copy":
181
- return target ? `cp ${target} ${target}.bak` : "cp <target> <target>.bak";
182
- case "write":
183
- return target ? `cat > ${target}` : "cat > <target>";
184
- case "delete":
185
- return target ? `rm ${target}` : "rm <target>";
186
- default:
187
- return effect;
188
- }
189
- }
190
60
  function extractBaseCommand(message) {
191
61
  const raw = stripAnsi(message);
192
62
  const detailIndex = raw.indexOf(" #");
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/cli/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/cli/context.ts"],"names":[],"mappings":"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"}
@@ -137,7 +137,7 @@ export class ErrorLogger {
137
137
  }
138
138
  return true;
139
139
  }
140
- catch (error) {
140
+ catch {
141
141
  // Silently fail during directory creation - this is expected in test environments
142
142
  // where the log directory path may not exist. The logger will still function,
143
143
  // just without file logging capability.
@@ -1 +1 @@
1
- {"version":3,"file":"error-logger.js","sourceRoot":"","sources":["../../src/cli/error-logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error-logger.js","sourceRoot":"","sources":["../../src/cli/error-logger.ts"],"names":[],"mappings":"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"}
@@ -57,16 +57,6 @@ export declare class CommandExecutionError extends CliError {
57
57
  context?: ErrorContext;
58
58
  });
59
59
  }
60
- /**
61
- * Prerequisite check failures
62
- */
63
- export declare class PrerequisiteError extends CliError {
64
- readonly checks?: string[];
65
- constructor(message: string, options?: {
66
- checks?: string[];
67
- context?: ErrorContext;
68
- });
69
- }
70
60
  /**
71
61
  * Service provider errors (MCP, Codex, etc.)
72
62
  */