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,41 +0,0 @@
1
- export interface CommandRunnerResult {
2
- stdout: string;
3
- stderr: string;
4
- exitCode: number;
5
- }
6
- export type CommandRunner = (command: string, args: string[]) => Promise<CommandRunnerResult>;
7
- export declare function formatCommandRunnerResult(result: CommandRunnerResult): string;
8
- export type PrerequisitePhase = "before" | "after";
9
- export interface PrerequisiteContext {
10
- isDryRun: boolean;
11
- runCommand: CommandRunner;
12
- }
13
- export interface PrerequisiteDefinition {
14
- id: string;
15
- description: string;
16
- run(context: PrerequisiteContext): Promise<void>;
17
- }
18
- export interface PrerequisiteManager {
19
- registerBefore(prerequisite: PrerequisiteDefinition): void;
20
- registerAfter(prerequisite: PrerequisiteDefinition): void;
21
- run(phase: PrerequisitePhase, hooks?: PrerequisiteRunHooks): Promise<void>;
22
- }
23
- export interface PrerequisiteRunHooks {
24
- onStart?(prerequisite: PrerequisiteDefinition): void;
25
- onSuccess?(prerequisite: PrerequisiteDefinition): void;
26
- onFailure?(prerequisite: PrerequisiteDefinition, error: unknown): void;
27
- }
28
- export declare function createPrerequisiteManager(init: {
29
- isDryRun: boolean;
30
- runCommand: CommandRunner;
31
- }): PrerequisiteManager;
32
- /**
33
- * Creates a prerequisite check that detects if a binary exists using multiple fallback methods.
34
- * This is useful in Docker/containerized environments where PATH may not be updated after npm install.
35
- *
36
- * @param binaryName - The name of the binary to check for (e.g., "claude", "codex")
37
- * @param id - Unique identifier for the prerequisite
38
- * @param description - Human-readable description of what's being checked
39
- * @returns A PrerequisiteDefinition that checks for the binary using multiple detection methods
40
- */
41
- export declare function createBinaryExistsCheck(binaryName: string, id: string, description: string): PrerequisiteDefinition;
@@ -1,92 +0,0 @@
1
- export function formatCommandRunnerResult(result) {
2
- const stdout = result.stdout.length > 0 ? result.stdout : "<empty>";
3
- const stderr = result.stderr.length > 0 ? result.stderr : "<empty>";
4
- return `stdout:\n${stdout}\nstderr:\n${stderr}`;
5
- }
6
- export function createPrerequisiteManager(init) {
7
- const store = {
8
- before: [],
9
- after: []
10
- };
11
- const register = (phase, prerequisite) => {
12
- store[phase].push(prerequisite);
13
- };
14
- return {
15
- registerBefore(prerequisite) {
16
- register("before", prerequisite);
17
- },
18
- registerAfter(prerequisite) {
19
- register("after", prerequisite);
20
- },
21
- async run(phase, hooks) {
22
- const failures = [];
23
- for (const prerequisite of store[phase]) {
24
- hooks?.onStart?.(prerequisite);
25
- try {
26
- await prerequisite.run({
27
- isDryRun: init.isDryRun,
28
- runCommand: init.runCommand
29
- });
30
- hooks?.onSuccess?.(prerequisite);
31
- }
32
- catch (error) {
33
- const detail = error instanceof Error ? error.message : String(error);
34
- failures.push(`${prerequisite.description}: ${detail}`);
35
- hooks?.onFailure?.(prerequisite, error);
36
- }
37
- }
38
- if (failures.length > 0) {
39
- const suffix = failures.length === 1 ? "" : "s";
40
- const message = failures.map((line) => `- ${line}`).join("\n");
41
- throw new Error(`Failed ${phase} prerequisite${suffix}:\n${message}`);
42
- }
43
- }
44
- };
45
- }
46
- /**
47
- * Creates a prerequisite check that detects if a binary exists using multiple fallback methods.
48
- * This is useful in Docker/containerized environments where PATH may not be updated after npm install.
49
- *
50
- * @param binaryName - The name of the binary to check for (e.g., "claude", "codex")
51
- * @param id - Unique identifier for the prerequisite
52
- * @param description - Human-readable description of what's being checked
53
- * @returns A PrerequisiteDefinition that checks for the binary using multiple detection methods
54
- */
55
- export function createBinaryExistsCheck(binaryName, id, description) {
56
- return {
57
- id,
58
- description,
59
- async run({ runCommand }) {
60
- const detectors = [
61
- {
62
- command: "which",
63
- args: [binaryName],
64
- validate: (result) => result.exitCode === 0
65
- },
66
- {
67
- command: "where",
68
- args: [binaryName],
69
- validate: (result) => result.exitCode === 0 && result.stdout.trim().length > 0
70
- },
71
- {
72
- command: "test",
73
- args: ["-f", `/usr/local/bin/${binaryName}`],
74
- validate: (result) => result.exitCode === 0
75
- },
76
- {
77
- command: "ls",
78
- args: [`/usr/local/bin/${binaryName}`],
79
- validate: (result) => result.exitCode === 0
80
- }
81
- ];
82
- for (const detector of detectors) {
83
- const result = await runCommand(detector.command, detector.args);
84
- if (detector.validate(result)) {
85
- return;
86
- }
87
- }
88
- throw new Error(`${binaryName} CLI binary not found on PATH.`);
89
- }
90
- };
91
- }
92
- //# sourceMappingURL=prerequisites.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prerequisites.js","sourceRoot":"","sources":["../../src/utils/prerequisites.ts"],"names":[],"mappings":"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"}