poe-code 2.0.3 → 2.0.4
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.
- package/README.md +17 -30
- package/dist/cli/command-runner.d.ts +1 -1
- package/dist/cli/commands/configure.d.ts +0 -2
- package/dist/cli/commands/configure.js +99 -34
- package/dist/cli/commands/configure.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +4 -0
- package/dist/cli/commands/doctor.js +73 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/remove.d.ts +1 -0
- package/dist/cli/commands/remove.js +41 -28
- package/dist/cli/commands/remove.js.map +1 -1
- package/dist/cli/commands/shared.d.ts +9 -12
- package/dist/cli/commands/shared.js +26 -24
- package/dist/cli/commands/shared.js.map +1 -1
- package/dist/cli/commands/spawn.d.ts +1 -0
- package/dist/cli/commands/spawn.js +14 -5
- package/dist/cli/commands/spawn.js.map +1 -1
- package/dist/cli/commands/test.d.ts +4 -0
- package/dist/cli/commands/test.js +36 -0
- package/dist/cli/commands/test.js.map +1 -0
- package/dist/cli/constants.d.ts +12 -9
- package/dist/cli/constants.js +15 -9
- package/dist/cli/constants.js.map +1 -1
- package/dist/cli/container.d.ts +3 -3
- package/dist/cli/context.d.ts +4 -13
- package/dist/cli/context.js +19 -149
- package/dist/cli/context.js.map +1 -1
- package/dist/cli/error-logger.js +1 -1
- package/dist/cli/error-logger.js.map +1 -1
- package/dist/cli/errors.d.ts +0 -10
- package/dist/cli/errors.js +0 -12
- package/dist/cli/errors.js.map +1 -1
- package/dist/cli/logger.js +9 -11
- package/dist/cli/logger.js.map +1 -1
- package/dist/cli/options.d.ts +13 -4
- package/dist/cli/options.js +12 -11
- package/dist/cli/options.js.map +1 -1
- package/dist/cli/program.js +5 -2
- package/dist/cli/program.js.map +1 -1
- package/dist/cli/prompts.d.ts +14 -4
- package/dist/cli/prompts.js +12 -24
- package/dist/cli/prompts.js.map +1 -1
- package/dist/cli/service-registry.d.ts +37 -15
- package/dist/cli/service-registry.js.map +1 -1
- package/dist/cli/telemetry.d.ts +1 -1
- package/dist/cli/ui/service-menu.d.ts +2 -2
- package/dist/cli/ui/theme.js +6 -6
- package/dist/cli/ui/theme.js.map +1 -1
- package/dist/providers/claude-code.d.ts +10 -46
- package/dist/providers/claude-code.js +94 -224
- package/dist/providers/claude-code.js.map +1 -1
- package/dist/providers/codex.d.ts +14 -40
- package/dist/providers/codex.js +74 -177
- package/dist/providers/codex.js.map +1 -1
- package/dist/providers/create-provider.d.ts +26 -0
- package/dist/providers/create-provider.js +120 -0
- package/dist/providers/create-provider.js.map +1 -0
- package/dist/providers/index.d.ts +2 -2
- package/dist/providers/index.js +4 -10
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/opencode.d.ts +3 -43
- package/dist/providers/opencode.js +112 -173
- package/dist/providers/opencode.js.map +1 -1
- package/dist/providers/provider-helpers.d.ts +10 -0
- package/dist/providers/provider-helpers.js +62 -0
- package/dist/providers/provider-helpers.js.map +1 -0
- package/dist/providers/versioned-provider.d.ts +3 -0
- package/dist/providers/versioned-provider.js +9 -0
- package/dist/providers/versioned-provider.js.map +1 -0
- package/dist/services/credentials.d.ts +14 -0
- package/dist/services/credentials.js +123 -22
- package/dist/services/credentials.js.map +1 -1
- package/dist/services/model-strategy.d.ts +1 -1
- package/dist/services/model-strategy.js +20 -15
- package/dist/services/model-strategy.js.map +1 -1
- package/dist/services/mutation-events.d.ts +4 -0
- package/dist/services/mutation-events.js +56 -0
- package/dist/services/mutation-events.js.map +1 -0
- package/dist/services/service-install.d.ts +3 -4
- package/dist/services/service-install.js +30 -12
- package/dist/services/service-install.js.map +1 -1
- package/dist/services/service-manifest.d.ts +49 -21
- package/dist/services/service-manifest.js +261 -64
- package/dist/services/service-manifest.js.map +1 -1
- package/dist/tools/label-generator.d.ts +2 -2
- package/dist/tools/label-generator.js +1 -1
- package/dist/tools/label-generator.js.map +1 -1
- package/dist/utils/binary-version.d.ts +6 -0
- package/dist/utils/binary-version.js +35 -0
- package/dist/utils/binary-version.js.map +1 -0
- package/dist/utils/command-checks.d.ts +39 -0
- package/dist/utils/command-checks.js +116 -0
- package/dist/utils/command-checks.js.map +1 -0
- package/package.json +6 -8
- package/dist/providers/roo-code.d.ts +0 -41
- package/dist/providers/roo-code.js +0 -201
- package/dist/providers/roo-code.js.map +0 -1
- package/dist/utils/prerequisites.d.ts +0 -41
- package/dist/utils/prerequisites.js +0 -92
- 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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"}
|