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.
- 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,249 +1,119 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
const
|
|
8
|
-
const KEY_HELPER_MODE = 0o700;
|
|
9
|
-
const EMPTY_JSON_DOCUMENT = `${JSON.stringify({}, null, 2)}\n`;
|
|
10
|
-
const CLAUDE_ENV_SHAPE = {
|
|
11
|
-
apiKeyHelper: true,
|
|
12
|
-
env: {
|
|
13
|
-
ANTHROPIC_BASE_URL: true,
|
|
14
|
-
ANTHROPIC_DEFAULT_HAIKU_MODEL: true,
|
|
15
|
-
ANTHROPIC_DEFAULT_SONNET_MODEL: true,
|
|
16
|
-
ANTHROPIC_DEFAULT_OPUS_MODEL: true
|
|
17
|
-
},
|
|
18
|
-
model: true
|
|
19
|
-
};
|
|
20
|
-
const CLAUDE_CODE_MANIFEST = {
|
|
21
|
-
id: "claude-code",
|
|
22
|
-
summary: "Configure Claude Code to route through Poe.",
|
|
23
|
-
prerequisites: {
|
|
24
|
-
after: ["claude-cli-health"]
|
|
25
|
-
},
|
|
26
|
-
configure: [
|
|
27
|
-
ensureDirectory({
|
|
28
|
-
path: ({ options }) => path.dirname(options.settingsPath),
|
|
29
|
-
label: "Ensure Claude settings directory"
|
|
30
|
-
}),
|
|
31
|
-
writeTemplateMutation({
|
|
32
|
-
target: ({ options }) => options.keyHelperPath,
|
|
33
|
-
templateId: KEY_HELPER_TEMPLATE_ID,
|
|
34
|
-
context: ({ options }) => ({
|
|
35
|
-
credentialsPathLiteral: toSingleQuotedLiteral(options.credentialsPath)
|
|
36
|
-
}),
|
|
37
|
-
label: "Write API key helper script"
|
|
38
|
-
}),
|
|
39
|
-
createChmodMutation(),
|
|
40
|
-
recoverInvalidSettingsMutation(),
|
|
41
|
-
jsonMergeMutation({
|
|
42
|
-
target: ({ options }) => options.settingsPath,
|
|
43
|
-
label: "Merge Claude settings",
|
|
44
|
-
value: ({ options }) => ({
|
|
45
|
-
apiKeyHelper: options.keyHelperPath,
|
|
46
|
-
env: {
|
|
47
|
-
ANTHROPIC_BASE_URL: "https://api.poe.com",
|
|
48
|
-
ANTHROPIC_DEFAULT_HAIKU_MODEL: CLAUDE_MODEL_HAIKU,
|
|
49
|
-
ANTHROPIC_DEFAULT_SONNET_MODEL: CLAUDE_MODEL_SONNET,
|
|
50
|
-
ANTHROPIC_DEFAULT_OPUS_MODEL: CLAUDE_MODEL_OPUS
|
|
51
|
-
},
|
|
52
|
-
model: options.defaultModel
|
|
53
|
-
})
|
|
54
|
-
})
|
|
55
|
-
],
|
|
56
|
-
remove: [
|
|
57
|
-
jsonPruneMutation({
|
|
58
|
-
target: ({ options }) => options.settingsPath,
|
|
59
|
-
label: "Prune Claude settings",
|
|
60
|
-
shape: () => CLAUDE_ENV_SHAPE
|
|
61
|
-
}),
|
|
62
|
-
removeKeyHelperMutation()
|
|
63
|
-
]
|
|
64
|
-
};
|
|
65
|
-
const CLAUDE_CODE_INSTALL_DEFINITION = {
|
|
1
|
+
import { createBinaryExistsCheck, createCommandExpectationCheck } from "../utils/command-checks.js";
|
|
2
|
+
import { ensureDirectory, jsonMergeMutation, jsonPruneMutation, removeFileMutation, writeTemplateMutation } from "../services/service-manifest.js";
|
|
3
|
+
import { CLAUDE_CODE_VARIANTS, DEFAULT_CLAUDE_CODE_MODEL } from "../cli/constants.js";
|
|
4
|
+
import { makeExecutableMutation, quoteSinglePath } from "./provider-helpers.js";
|
|
5
|
+
import { createProvider } from "./create-provider.js";
|
|
6
|
+
import { createBinaryVersionResolver } from "./versioned-provider.js";
|
|
7
|
+
export const CLAUDE_CODE_INSTALL_DEFINITION = {
|
|
66
8
|
id: "claude-code",
|
|
67
9
|
summary: "Claude CLI",
|
|
68
|
-
check:
|
|
10
|
+
check: createBinaryExistsCheck("claude", "claude-cli-binary", "Claude CLI binary must exist"),
|
|
69
11
|
steps: [
|
|
70
12
|
{
|
|
71
13
|
id: "install-claude-cli-npm",
|
|
72
|
-
description: "Install Claude CLI via npm",
|
|
73
14
|
command: "npm",
|
|
74
15
|
args: ["install", "-g", "@anthropic-ai/claude-code"]
|
|
75
16
|
}
|
|
76
17
|
],
|
|
77
18
|
successMessage: "Installed Claude CLI via npm."
|
|
78
19
|
};
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
function removeKeyHelperMutation() {
|
|
94
|
-
return {
|
|
95
|
-
kind: "removeFile",
|
|
96
|
-
target: ({ options }) => options.keyHelperPath,
|
|
97
|
-
label: "Remove API key helper script"
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
function recoverInvalidSettingsMutation() {
|
|
101
|
-
return {
|
|
102
|
-
kind: "transformFile",
|
|
103
|
-
target: ({ options }) => options.settingsPath,
|
|
104
|
-
label: "Recover invalid Claude settings",
|
|
105
|
-
async transform({ content, context }) {
|
|
106
|
-
if (content == null || isJsonDocument(content)) {
|
|
107
|
-
return { content, changed: false };
|
|
108
|
-
}
|
|
109
|
-
const backupPath = createInvalidBackupPath(context.options.settingsPath);
|
|
110
|
-
await context.fs.writeFile(backupPath, content, { encoding: "utf8" });
|
|
111
|
-
return {
|
|
112
|
-
content: EMPTY_JSON_DOCUMENT,
|
|
113
|
-
changed: true
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
function isJsonDocument(content) {
|
|
119
|
-
try {
|
|
120
|
-
const parsed = JSON.parse(content);
|
|
121
|
-
return isJsonObject(parsed);
|
|
122
|
-
}
|
|
123
|
-
catch {
|
|
124
|
-
return false;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
function createInvalidBackupPath(settingsPath) {
|
|
128
|
-
const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
|
|
129
|
-
return `${settingsPath}.invalid-${timestamp}.json`;
|
|
130
|
-
}
|
|
131
|
-
function toSingleQuotedLiteral(targetPath) {
|
|
132
|
-
const escaped = targetPath.replace(/'/g, `'\\''`);
|
|
133
|
-
return `'${escaped}'`;
|
|
20
|
+
const CLAUDE_SPAWN_DEFAULTS = [
|
|
21
|
+
"--allowedTools",
|
|
22
|
+
"Bash,Read",
|
|
23
|
+
"--permission-mode",
|
|
24
|
+
"acceptEdits",
|
|
25
|
+
"--output-format",
|
|
26
|
+
"text"
|
|
27
|
+
];
|
|
28
|
+
function buildClaudeArgs(prompt, extraArgs, model) {
|
|
29
|
+
const modelArgs = model ? ["--model", model] : [];
|
|
30
|
+
return ["-p", prompt, ...modelArgs, ...CLAUDE_SPAWN_DEFAULTS, ...(extraArgs ?? [])];
|
|
134
31
|
}
|
|
135
|
-
export
|
|
136
|
-
await runServiceConfigure(CLAUDE_CODE_MANIFEST, {
|
|
137
|
-
fs: options.fs,
|
|
138
|
-
options
|
|
139
|
-
}, runOptions);
|
|
140
|
-
}
|
|
141
|
-
export async function spawnClaudeCode(options) {
|
|
142
|
-
const defaults = [
|
|
143
|
-
"-p",
|
|
144
|
-
options.prompt,
|
|
145
|
-
"--allowedTools",
|
|
146
|
-
"Bash,Read",
|
|
147
|
-
"--permission-mode",
|
|
148
|
-
"acceptEdits",
|
|
149
|
-
"--output-format",
|
|
150
|
-
"text"
|
|
151
|
-
];
|
|
152
|
-
const args = [...defaults, ...(options.args ?? [])];
|
|
153
|
-
return options.runCommand("claude", args);
|
|
154
|
-
}
|
|
155
|
-
export async function removeClaudeCode(options, runOptions) {
|
|
156
|
-
return runServiceRemove(CLAUDE_CODE_MANIFEST, {
|
|
157
|
-
fs: options.fs,
|
|
158
|
-
options
|
|
159
|
-
}, runOptions);
|
|
160
|
-
}
|
|
161
|
-
export function registerClaudeCodePrerequisites(prerequisites) {
|
|
162
|
-
prerequisites.registerAfter(createClaudeCliHealthCheck());
|
|
163
|
-
}
|
|
164
|
-
export async function installClaudeCode(context) {
|
|
165
|
-
return runServiceInstall(CLAUDE_CODE_INSTALL_DEFINITION, context);
|
|
166
|
-
}
|
|
167
|
-
export function createClaudeCliBinaryCheck() {
|
|
168
|
-
return createBinaryExistsCheck("claude", "claude-cli-binary", "Claude CLI binary must exist");
|
|
169
|
-
}
|
|
170
|
-
function createClaudeCliHealthCheck() {
|
|
171
|
-
return {
|
|
172
|
-
id: "claude-cli-health",
|
|
173
|
-
description: "Claude CLI health check must succeed",
|
|
174
|
-
async run({ runCommand }) {
|
|
175
|
-
const result = await spawnClaudeCode({
|
|
176
|
-
prompt: "Output exactly: CLAUDE_CODE_OK",
|
|
177
|
-
runCommand
|
|
178
|
-
});
|
|
179
|
-
if (result.exitCode !== 0) {
|
|
180
|
-
const detail = formatCommandRunnerResult(result);
|
|
181
|
-
throw new Error([
|
|
182
|
-
`Claude CLI health check failed with exit code ${result.exitCode}.`,
|
|
183
|
-
detail
|
|
184
|
-
].join("\n"));
|
|
185
|
-
}
|
|
186
|
-
const output = result.stdout.trim();
|
|
187
|
-
if (output !== "CLAUDE_CODE_OK") {
|
|
188
|
-
const detail = formatCommandRunnerResult(result);
|
|
189
|
-
throw new Error([
|
|
190
|
-
`Claude CLI health check failed: expected "CLAUDE_CODE_OK" but received "${output}".`,
|
|
191
|
-
detail
|
|
192
|
-
].join("\n"));
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
};
|
|
196
|
-
}
|
|
197
|
-
export const claudeCodeAdapter = {
|
|
32
|
+
export const claudeCodeService = createProvider({
|
|
198
33
|
name: "claude-code",
|
|
199
34
|
label: "Claude Code",
|
|
35
|
+
id: "claude-code",
|
|
36
|
+
summary: "Configure Claude Code to route through Poe.",
|
|
200
37
|
branding: {
|
|
201
38
|
colors: {
|
|
202
39
|
dark: "#C15F3C",
|
|
203
40
|
light: "#C15F3C"
|
|
204
41
|
}
|
|
205
42
|
},
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
registerClaudeCodePrerequisites(manager);
|
|
216
|
-
},
|
|
217
|
-
async install(context) {
|
|
218
|
-
await installClaudeCode({
|
|
219
|
-
isDryRun: context.logger.context.dryRun,
|
|
220
|
-
runCommand: context.command.runCommand,
|
|
221
|
-
logger: (message) => context.logger.info(message)
|
|
222
|
-
});
|
|
43
|
+
configurePrompts: {
|
|
44
|
+
model: {
|
|
45
|
+
label: "Claude Code default model",
|
|
46
|
+
defaultValue: DEFAULT_CLAUDE_CODE_MODEL,
|
|
47
|
+
choices: Object.values(CLAUDE_CODE_VARIANTS).map((id) => ({
|
|
48
|
+
title: id,
|
|
49
|
+
value: id
|
|
50
|
+
}))
|
|
51
|
+
}
|
|
223
52
|
},
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
defaultModel: options.defaultModel
|
|
232
|
-
}, options.mutationHooks ? { hooks: options.mutationHooks } : undefined);
|
|
53
|
+
test(context) {
|
|
54
|
+
return context.runCheck(createCommandExpectationCheck({
|
|
55
|
+
id: "claude-cli-health",
|
|
56
|
+
command: "claude",
|
|
57
|
+
args: buildClaudeArgs("Output exactly: CLAUDE_CODE_OK", undefined, DEFAULT_CLAUDE_CODE_MODEL),
|
|
58
|
+
expectedOutput: "CLAUDE_CODE_OK"
|
|
59
|
+
}));
|
|
233
60
|
},
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
61
|
+
manifest: {
|
|
62
|
+
"*": {
|
|
63
|
+
configure: [
|
|
64
|
+
ensureDirectory({
|
|
65
|
+
path: "~/.claude"
|
|
66
|
+
}),
|
|
67
|
+
writeTemplateMutation({
|
|
68
|
+
target: "~/.claude/anthropic_key.sh",
|
|
69
|
+
templateId: "claude-code/anthropic_key.sh.hbs",
|
|
70
|
+
context: ({ env }) => ({
|
|
71
|
+
credentialsPathLiteral: quoteSinglePath(env.credentialsPath)
|
|
72
|
+
})
|
|
73
|
+
}),
|
|
74
|
+
makeExecutableMutation({
|
|
75
|
+
target: "~/.claude/anthropic_key.sh",
|
|
76
|
+
mode: 0o700
|
|
77
|
+
}),
|
|
78
|
+
jsonMergeMutation({
|
|
79
|
+
target: "~/.claude/settings.json",
|
|
80
|
+
value: ({ options, env }) => ({
|
|
81
|
+
apiKeyHelper: env.resolveHomePath(".claude", "anthropic_key.sh"),
|
|
82
|
+
env: {
|
|
83
|
+
ANTHROPIC_BASE_URL: "https://api.poe.com",
|
|
84
|
+
ANTHROPIC_DEFAULT_HAIKU_MODEL: CLAUDE_CODE_VARIANTS.haiku,
|
|
85
|
+
ANTHROPIC_DEFAULT_SONNET_MODEL: CLAUDE_CODE_VARIANTS.sonnet,
|
|
86
|
+
ANTHROPIC_DEFAULT_OPUS_MODEL: CLAUDE_CODE_VARIANTS.opus
|
|
87
|
+
},
|
|
88
|
+
model: options.defaultModel
|
|
89
|
+
})
|
|
90
|
+
})
|
|
91
|
+
],
|
|
92
|
+
remove: [
|
|
93
|
+
jsonPruneMutation({
|
|
94
|
+
target: "~/.claude/settings.json",
|
|
95
|
+
shape: () => ({
|
|
96
|
+
apiKeyHelper: true,
|
|
97
|
+
env: {
|
|
98
|
+
ANTHROPIC_BASE_URL: true,
|
|
99
|
+
ANTHROPIC_DEFAULT_HAIKU_MODEL: true,
|
|
100
|
+
ANTHROPIC_DEFAULT_SONNET_MODEL: true,
|
|
101
|
+
ANTHROPIC_DEFAULT_OPUS_MODEL: true
|
|
102
|
+
},
|
|
103
|
+
model: true
|
|
104
|
+
})
|
|
105
|
+
}),
|
|
106
|
+
removeFileMutation({
|
|
107
|
+
target: "~/.claude/anthropic_key.sh"
|
|
108
|
+
})
|
|
109
|
+
]
|
|
110
|
+
}
|
|
240
111
|
},
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
});
|
|
112
|
+
versionResolver: createBinaryVersionResolver("claude"),
|
|
113
|
+
install: CLAUDE_CODE_INSTALL_DEFINITION,
|
|
114
|
+
spawn(context, options) {
|
|
115
|
+
const args = buildClaudeArgs(options.prompt, options.args, options.model);
|
|
116
|
+
return context.command.runCommand("claude", args);
|
|
247
117
|
}
|
|
248
|
-
};
|
|
118
|
+
});
|
|
249
119
|
//# sourceMappingURL=claude-code.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/providers/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/providers/claude-code.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,46 +1,20 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import { type ServiceRunOptions } from "../services/service-manifest.js";
|
|
6
|
-
import { type InstallContext } from "../services/service-install.js";
|
|
7
|
-
export interface CodexPaths extends Record<string, string> {
|
|
8
|
-
configPath: string;
|
|
9
|
-
}
|
|
10
|
-
export interface CodexConfigureOptions {
|
|
11
|
-
apiKey: string;
|
|
12
|
-
model: string;
|
|
13
|
-
reasoningEffort: string;
|
|
14
|
-
mutationHooks?: ServiceMutationHooks;
|
|
15
|
-
}
|
|
16
|
-
export interface CodexRemoveOptions {
|
|
17
|
-
mutationHooks?: ServiceMutationHooks;
|
|
18
|
-
}
|
|
19
|
-
export interface CodexSpawnOptions {
|
|
20
|
-
prompt: string;
|
|
21
|
-
args: string[];
|
|
22
|
-
}
|
|
23
|
-
export interface ConfigureCodexOptions {
|
|
24
|
-
fs: FileSystem;
|
|
25
|
-
configPath: string;
|
|
1
|
+
import type { CliEnvironment } from "../cli/environment.js";
|
|
2
|
+
import { type ServiceInstallDefinition } from "../services/service-install.js";
|
|
3
|
+
type CodexConfigureContext = {
|
|
4
|
+
env: CliEnvironment;
|
|
26
5
|
apiKey: string;
|
|
27
6
|
model: string;
|
|
28
7
|
reasoningEffort: string;
|
|
29
8
|
timestamp?: () => string;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
export
|
|
9
|
+
};
|
|
10
|
+
type CodexRemoveContext = {
|
|
11
|
+
env: CliEnvironment;
|
|
12
|
+
};
|
|
13
|
+
export declare const CODEX_INSTALL_DEFINITION: ServiceInstallDefinition;
|
|
14
|
+
export declare function buildCodexExecArgs(prompt: string, extraArgs?: string[], model?: string): string[];
|
|
15
|
+
export declare const codexService: import("../cli/service-registry.js").ProviderService<Record<string, never>, CodexConfigureContext, CodexRemoveContext, {
|
|
36
16
|
prompt: string;
|
|
37
17
|
args?: string[];
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
export
|
|
41
|
-
export declare function buildCodexExecArgs(prompt: string, extraArgs?: string[]): string[];
|
|
42
|
-
export declare function spawnCodex(options: SpawnCodexOptions): Promise<CommandRunnerResult>;
|
|
43
|
-
export declare function removeCodex(options: RemoveCodexOptions, runOptions?: ServiceRunOptions): Promise<boolean>;
|
|
44
|
-
export declare function installCodex(context: InstallContext): Promise<boolean>;
|
|
45
|
-
export declare function registerCodexPrerequisites(prerequisites: PrerequisiteManager): void;
|
|
46
|
-
export declare const codexAdapter: ProviderAdapter<CodexPaths, CodexConfigureOptions, CodexRemoveOptions, CodexSpawnOptions>;
|
|
18
|
+
model?: string;
|
|
19
|
+
}>;
|
|
20
|
+
export {};
|