@pentoshi/clai 4.11.21 → 4.11.22
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/dist/agent/evidence/task-selection.d.ts +0 -15
- package/dist/agent/evidence/task-selection.js +1 -33
- package/dist/agent/evidence/task-selection.js.map +1 -1
- package/dist/agent/plan/actions/plan-clear.js.map +1 -1
- package/dist/agent/plan/actions/plan-create.js.map +1 -1
- package/dist/agent/plan/actions/task-add.js.map +1 -1
- package/dist/agent/plan/actions/task-move.js.map +1 -1
- package/dist/agent/plan/handle-plan-tool.js +5 -154
- package/dist/agent/plan/handle-plan-tool.js.map +1 -1
- package/dist/agent/runner.js +1 -13
- package/dist/agent/runner.js.map +1 -1
- package/dist/agent/session-policy.d.ts +0 -6
- package/dist/agent/session-policy.js +0 -2
- package/dist/agent/session-policy.js.map +1 -1
- package/dist/agent/task-evidence.d.ts +2 -2
- package/dist/agent/task-evidence.js +1 -1
- package/dist/agent/task-evidence.js.map +1 -1
- package/dist/agent/turn/compaction-admission.d.ts +5 -0
- package/dist/agent/turn/compaction-admission.js +24 -0
- package/dist/agent/turn/compaction-admission.js.map +1 -1
- package/dist/agent/turn/compaction-coordinator.d.ts +1 -0
- package/dist/agent/turn/compaction-coordinator.js +2 -0
- package/dist/agent/turn/compaction-coordinator.js.map +1 -1
- package/dist/agent/turn/loop/run-rounds.js +17 -24
- package/dist/agent/turn/loop/run-rounds.js.map +1 -1
- package/dist/agent/turn/loop/state.d.ts +1 -2
- package/dist/agent/turn/loop/state.js +1 -2
- package/dist/agent/turn/loop/state.js.map +1 -1
- package/dist/agent/turn/setup/compaction-services.d.ts +1 -0
- package/dist/agent/turn/setup/compaction-services.js +1 -0
- package/dist/agent/turn/setup/compaction-services.js.map +1 -1
- package/dist/agent/turn/setup/task-gate-setup.d.ts +1 -11
- package/dist/agent/turn/setup/task-gate-setup.js +4 -19
- package/dist/agent/turn/setup/task-gate-setup.js.map +1 -1
- package/dist/agent/turn/tool-execution/deps.d.ts +1 -5
- package/dist/agent/turn/tool-execution/guards.d.ts +0 -4
- package/dist/agent/turn/tool-execution/guards.js +3 -12
- package/dist/agent/turn/tool-execution/guards.js.map +1 -1
- package/dist/agent/turn/tool-execution/meta-tools.d.ts +0 -2
- package/dist/agent/turn/tool-execution/meta-tools.js +0 -17
- package/dist/agent/turn/tool-execution/meta-tools.js.map +1 -1
- package/dist/agent/turn/tool-execution/single-tool.js +0 -14
- package/dist/agent/turn/tool-execution/single-tool.js.map +1 -1
- package/dist/app/commands/catalog.js +32 -1
- package/dist/app/commands/catalog.js.map +1 -1
- package/dist/classic/panels/keys-panel.js +8 -1
- package/dist/classic/panels/keys-panel.js.map +1 -1
- package/dist/commands/providers.d.ts +17 -0
- package/dist/commands/providers.js +317 -28
- package/dist/commands/providers.js.map +1 -1
- package/dist/index.js +31 -1
- package/dist/index.js.map +1 -1
- package/dist/llm/agentrouter.js +1 -1
- package/dist/llm/anthropic.d.ts +4 -2
- package/dist/llm/anthropic.js +186 -178
- package/dist/llm/anthropic.js.map +1 -1
- package/dist/llm/bynara.js +1 -1
- package/dist/llm/capability/state.d.ts +1 -1
- package/dist/llm/capability/tool-dialect.js +3 -0
- package/dist/llm/capability/tool-dialect.js.map +1 -1
- package/dist/llm/capability/vision-patterns.js +3 -0
- package/dist/llm/capability/vision-patterns.js.map +1 -1
- package/dist/llm/catalog-facts.js +50 -2
- package/dist/llm/catalog-facts.js.map +1 -1
- package/dist/llm/catalog-prefetch.js +1 -1
- package/dist/llm/cline-auth.d.ts +34 -0
- package/dist/llm/cline-auth.js +248 -0
- package/dist/llm/cline-auth.js.map +1 -0
- package/dist/llm/cline.d.ts +2 -0
- package/dist/llm/cline.js +147 -0
- package/dist/llm/cline.js.map +1 -0
- package/dist/llm/codex-auth.d.ts +53 -0
- package/dist/llm/codex-auth.js +512 -0
- package/dist/llm/codex-auth.js.map +1 -0
- package/dist/llm/codex.d.ts +4 -0
- package/dist/llm/codex.js +239 -0
- package/dist/llm/codex.js.map +1 -0
- package/dist/llm/copilot-auth.d.ts +38 -0
- package/dist/llm/copilot-auth.js +258 -0
- package/dist/llm/copilot-auth.js.map +1 -0
- package/dist/llm/copilot.d.ts +4 -0
- package/dist/llm/copilot.js +226 -0
- package/dist/llm/copilot.js.map +1 -0
- package/dist/llm/custom-providers.js +1 -1
- package/dist/llm/deepseek.js +1 -1
- package/dist/llm/explabs.js +1 -1
- package/dist/llm/fireworks.js +1 -1
- package/dist/llm/free-default-model.js +9 -4
- package/dist/llm/free-default-model.js.map +1 -1
- package/dist/llm/free.js +1 -6
- package/dist/llm/free.js.map +1 -1
- package/dist/llm/glm.js +1 -1
- package/dist/llm/hetzner.js +1 -1
- package/dist/llm/kimi.js +1 -1
- package/dist/llm/lightning.js +1 -1
- package/dist/llm/merge-gateway.js +1 -1
- package/dist/llm/meta.js +1 -1
- package/dist/llm/minimax.js +1 -1
- package/dist/llm/model-families.js +1 -1
- package/dist/llm/model-families.js.map +1 -1
- package/dist/llm/model-layers/model-rules.js +6 -0
- package/dist/llm/model-layers/model-rules.js.map +1 -1
- package/dist/llm/nvidia.js +1 -1
- package/dist/llm/openrouter.js +1 -1
- package/dist/llm/orcarouter.js +1 -1
- package/dist/llm/provider-identity.d.ts +2 -0
- package/dist/llm/provider-identity.js +35 -0
- package/dist/llm/provider-identity.js.map +1 -1
- package/dist/llm/provider-info-text.js +110 -8
- package/dist/llm/provider-info-text.js.map +1 -1
- package/dist/llm/provider-profile-layers.js +101 -0
- package/dist/llm/provider-profile-layers.js.map +1 -1
- package/dist/llm/provider-profiles.js +2 -1
- package/dist/llm/provider-profiles.js.map +1 -1
- package/dist/llm/provider.d.ts +6 -4
- package/dist/llm/provider.js +2 -2
- package/dist/llm/provider.js.map +1 -1
- package/dist/llm/qwen-cloud.js +1 -1
- package/dist/llm/reasoning-capability.js +14 -0
- package/dist/llm/reasoning-capability.js.map +1 -1
- package/dist/llm/responses/item-events.js +10 -0
- package/dist/llm/responses/item-events.js.map +1 -1
- package/dist/llm/responses-config.d.ts +4 -0
- package/dist/llm/responses-config.js.map +1 -1
- package/dist/llm/responses-parse.js +23 -11
- package/dist/llm/responses-parse.js.map +1 -1
- package/dist/llm/responses-request.js +31 -8
- package/dist/llm/responses-request.js.map +1 -1
- package/dist/llm/responses-stream-events.js +21 -5
- package/dist/llm/responses-stream-events.js.map +1 -1
- package/dist/llm/routing/attempt-complete.js +1 -1
- package/dist/llm/routing/attempt-complete.js.map +1 -1
- package/dist/llm/routing/attempt-request.js +1 -1
- package/dist/llm/routing/attempt-request.js.map +1 -1
- package/dist/llm/routing/attempt-stream.js +2 -2
- package/dist/llm/routing/attempt-stream.js.map +1 -1
- package/dist/llm/routing/key-rotation.js +9 -4
- package/dist/llm/routing/key-rotation.js.map +1 -1
- package/dist/llm/routing/provider-selection.d.ts +2 -1
- package/dist/llm/routing/provider-selection.js +18 -4
- package/dist/llm/routing/provider-selection.js.map +1 -1
- package/dist/llm/tokenrouter.js +1 -1
- package/dist/llm/vercel.js +1 -1
- package/dist/llm/wire/chat-body.js +5 -3
- package/dist/llm/wire/chat-body.js.map +1 -1
- package/dist/llm/wire/openai-complete.d.ts +1 -0
- package/dist/llm/wire/openai-complete.js +9 -0
- package/dist/llm/wire/openai-complete.js.map +1 -1
- package/dist/store/config.js +3 -0
- package/dist/store/config.js.map +1 -1
- package/dist/store/keys/search-providers.d.ts +2 -0
- package/dist/store/keys/search-providers.js +6 -0
- package/dist/store/keys/search-providers.js.map +1 -1
- package/dist/store/keys.d.ts +6 -1
- package/dist/store/keys.js +46 -17
- package/dist/store/keys.js.map +1 -1
- package/dist/store/plan/mutation.d.ts +0 -1
- package/dist/store/plan/mutation.js +1 -22
- package/dist/store/plan/mutation.js.map +1 -1
- package/dist/store/plan.d.ts +1 -1
- package/dist/store/plan.js +1 -4
- package/dist/store/plan.js.map +1 -1
- package/dist/tui-v2/components/modal/keys-modal-pick.d.ts +5 -0
- package/dist/tui-v2/components/modal/keys-modal-pick.js +13 -0
- package/dist/tui-v2/components/modal/keys-modal-pick.js.map +1 -1
- package/dist/tui-v2/components/modal/keys-modal.js +15 -13
- package/dist/tui-v2/components/modal/keys-modal.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -1
- package/dist/ui-core/commands/key-commands.d.ts +6 -3
- package/dist/ui-core/commands/key-commands.js +506 -15
- package/dist/ui-core/commands/key-commands.js.map +1 -1
- package/dist/ui-core/commands/keys/editors.js +10 -4
- package/dist/ui-core/commands/keys/editors.js.map +1 -1
- package/dist/ui-core/commands/picker-commands.js +86 -32
- package/dist/ui-core/commands/picker-commands.js.map +1 -1
- package/dist/ui-core/commands/subagent-models-editor.js +12 -4
- package/dist/ui-core/commands/subagent-models-editor.js.map +1 -1
- package/dist/ui-core/controllers/overlay-controller.d.ts +4 -0
- package/dist/ui-core/controllers/overlay-controller.js.map +1 -1
- package/dist/ui-core/rendering/format-keys.js +4 -2
- package/dist/ui-core/rendering/format-keys.js.map +1 -1
- package/dist/ui-core/rendering/format-usage.js +3 -1
- package/dist/ui-core/rendering/format-usage.js.map +1 -1
- package/dist/ui-core/rendering/intro-header.js +4 -1
- package/dist/ui-core/rendering/intro-header.js.map +1 -1
- package/dist/version.generated.d.ts +2 -2
- package/dist/version.generated.js +2 -2
- package/package.json +1 -1
- package/dist/agent/task-sync.d.ts +0 -40
- package/dist/agent/task-sync.js +0 -105
- package/dist/agent/task-sync.js.map +0 -1
- package/dist/agent/turn/task-batch-guard.d.ts +0 -18
- package/dist/agent/turn/task-batch-guard.js +0 -83
- package/dist/agent/turn/task-batch-guard.js.map +0 -1
- package/dist/agent/turn/task-gate.d.ts +0 -13
- package/dist/agent/turn/task-gate.js +0 -34
- package/dist/agent/turn/task-gate.js.map +0 -1
- package/dist/agent/turn/task-update-gate.d.ts +0 -13
- package/dist/agent/turn/task-update-gate.js +0 -40
- package/dist/agent/turn/task-update-gate.js.map +0 -1
- package/dist/store/task-transitions.d.ts +0 -12
- package/dist/store/task-transitions.js +0 -40
- package/dist/store/task-transitions.js.map +0 -1
|
@@ -4,6 +4,16 @@ import { getProvider, pingProvider } from "../llm/router.js";
|
|
|
4
4
|
import { assertProvider, maskSecret, normalizeEndpointUrl, } from "../llm/provider.js";
|
|
5
5
|
import { appendProviderEndpoint, getActiveProviderEndpoint, getConfig, getProviderEndpoints, getProviderModel, providerUsesEndpoints, setDefaultProvider, setProviderEndpoints, updateConfig, } from "../store/config.js";
|
|
6
6
|
import { appendProviderKey, envValue, getFallbackKeysPath, getProviderKeys, getProviderSecret, listProviderStatuses, unsetProviderSecret, } from "../store/keys.js";
|
|
7
|
+
import { importExistingClineAuth, pollClineDeviceAuth, startClineDeviceAuth, } from "../llm/cline-auth.js";
|
|
8
|
+
import { codexKeyFromAccessToken, encodeCodexKey, importExistingCodexKey, pollCodexDeviceAuth, startCodexBrowserAuth, startCodexDeviceAuth, } from "../llm/codex-auth.js";
|
|
9
|
+
import { openSystemBrowser } from "../mcp/auth/loopback.js";
|
|
10
|
+
import { importExistingCopilotKey, pollCopilotDeviceAuth, startCopilotDeviceAuth, } from "../llm/copilot-auth.js";
|
|
11
|
+
function clineCredentialMetadata(tokens) {
|
|
12
|
+
return {
|
|
13
|
+
...(tokens.refreshToken ? { refreshToken: tokens.refreshToken } : {}),
|
|
14
|
+
...(tokens.expiresAt !== undefined ? { expiresAt: tokens.expiresAt } : {}),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
7
17
|
function urlList(url) {
|
|
8
18
|
if (!url)
|
|
9
19
|
return [];
|
|
@@ -13,9 +23,10 @@ function addEndpoint(provider, raw) {
|
|
|
13
23
|
const url = normalizeEndpointUrl(raw);
|
|
14
24
|
const { endpoints, added } = appendProviderEndpoint(provider, url);
|
|
15
25
|
const position = `#${endpoints.activeIndex + 1}/${endpoints.urls.length}`;
|
|
26
|
+
const label = getProvider(provider).displayName;
|
|
16
27
|
console.log(added
|
|
17
|
-
? `saved ${
|
|
18
|
-
: `${
|
|
28
|
+
? `saved ${label} endpoint ${position} ${url}`
|
|
29
|
+
: `${label} endpoint ${position} ${url} is now active`);
|
|
19
30
|
}
|
|
20
31
|
async function readStdin() {
|
|
21
32
|
const chunks = [];
|
|
@@ -27,7 +38,7 @@ async function readStdin() {
|
|
|
27
38
|
async function promptForSecret(provider) {
|
|
28
39
|
const message = provider === "modal"
|
|
29
40
|
? "Enter Modal proxy token as <token-id>:<token-secret> (input hidden, leave blank to cancel):"
|
|
30
|
-
: `Enter API key for ${provider} (input hidden, leave blank to cancel):`;
|
|
41
|
+
: `Enter API key for ${getProvider(provider).displayName} (input hidden, leave blank to cancel):`;
|
|
31
42
|
const raw = await askSecret(message);
|
|
32
43
|
return (raw ?? "").trim();
|
|
33
44
|
}
|
|
@@ -74,6 +85,10 @@ function invalidFormatHint(provider) {
|
|
|
74
85
|
return "GLM keys are alphanumeric or id.secret (from https://open.bigmodel.cn or https://z.ai)";
|
|
75
86
|
if (provider === "minimax")
|
|
76
87
|
return "MiniMax keys are alphanumeric (from https://intl.minimaxi.com or https://api.minimax.chat)";
|
|
88
|
+
if (provider === "codex")
|
|
89
|
+
return "Chatgpt Subscription uses ChatGPT sign-in — run `clai auth chatgpt` (or import with --import)";
|
|
90
|
+
if (provider === "copilot")
|
|
91
|
+
return "Github Copilot uses GitHub sign-in — run `clai auth copilot` (or import with --import)";
|
|
77
92
|
return "Ollama expects a URL such as http://localhost:11434";
|
|
78
93
|
}
|
|
79
94
|
export async function setProviderKey(providerValue, keyArg, options) {
|
|
@@ -92,7 +107,7 @@ export async function setProviderKey(providerValue, keyArg, options) {
|
|
|
92
107
|
}
|
|
93
108
|
const provider = assertProvider(providerValue);
|
|
94
109
|
const providerImpl = getProvider(provider);
|
|
95
|
-
|
|
110
|
+
const label = providerImpl.displayName;
|
|
96
111
|
const urls = urlList(options.url);
|
|
97
112
|
if (providerUsesEndpoints(provider) && urls.length > 0) {
|
|
98
113
|
for (const url of urls)
|
|
@@ -101,6 +116,7 @@ export async function setProviderKey(providerValue, keyArg, options) {
|
|
|
101
116
|
return;
|
|
102
117
|
}
|
|
103
118
|
let secret = providerUsesEndpoints(provider) ? keyArg : (urls[0] ?? keyArg);
|
|
119
|
+
let clineMetadata;
|
|
104
120
|
if (options.fromEnv) {
|
|
105
121
|
secret = process.env[options.fromEnv];
|
|
106
122
|
if (!secret)
|
|
@@ -109,6 +125,31 @@ export async function setProviderKey(providerValue, keyArg, options) {
|
|
|
109
125
|
if (options.stdin) {
|
|
110
126
|
secret = await readStdin();
|
|
111
127
|
}
|
|
128
|
+
if (!secret && provider === "cline" && !options.fromEnv) {
|
|
129
|
+
const tokens = await resolveClineTokensInteractive();
|
|
130
|
+
if (!tokens) {
|
|
131
|
+
console.log("cancelled");
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
secret = tokens.accessToken;
|
|
135
|
+
clineMetadata = clineCredentialMetadata(tokens);
|
|
136
|
+
}
|
|
137
|
+
if (!secret && provider === "codex" && !options.fromEnv) {
|
|
138
|
+
const credential = await resolveCodexCredentialInteractive();
|
|
139
|
+
if (!credential) {
|
|
140
|
+
console.log("cancelled");
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
secret = encodeCodexKey(credential);
|
|
144
|
+
}
|
|
145
|
+
if (!secret && provider === "copilot" && !options.fromEnv) {
|
|
146
|
+
const token = await resolveCopilotCredentialInteractive();
|
|
147
|
+
if (!token) {
|
|
148
|
+
console.log("cancelled");
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
secret = token;
|
|
152
|
+
}
|
|
112
153
|
if (!secret) {
|
|
113
154
|
secret = await promptForSecret(provider);
|
|
114
155
|
}
|
|
@@ -123,7 +164,7 @@ export async function setProviderKey(providerValue, keyArg, options) {
|
|
|
123
164
|
}
|
|
124
165
|
if (!providerImpl.validateKey(secret)) {
|
|
125
166
|
process.exitCode = 2;
|
|
126
|
-
throw new Error(`Invalid ${
|
|
167
|
+
throw new Error(`Invalid ${label} format. ${invalidFormatHint(provider)}.`);
|
|
127
168
|
}
|
|
128
169
|
const modalEndpointMissing = provider === "modal" && !getActiveProviderEndpoint("modal");
|
|
129
170
|
if (!options.skipPing && !modalEndpointMissing) {
|
|
@@ -141,7 +182,9 @@ export async function setProviderKey(providerValue, keyArg, options) {
|
|
|
141
182
|
setDefaultProvider(provider);
|
|
142
183
|
}
|
|
143
184
|
else {
|
|
144
|
-
const storage =
|
|
185
|
+
const storage = clineMetadata
|
|
186
|
+
? await appendProviderKey(provider, secret, clineMetadata)
|
|
187
|
+
: await appendProviderKey(provider, secret);
|
|
145
188
|
if (storage === "fallback") {
|
|
146
189
|
process.exitCode = 3;
|
|
147
190
|
console.warn(chalk.yellow(`Warning: OS keychain unavailable; stored in ${getFallbackKeysPath()} with restricted permissions.`));
|
|
@@ -154,8 +197,8 @@ export async function setProviderKey(providerValue, keyArg, options) {
|
|
|
154
197
|
const multi = await getProviderKeys(provider);
|
|
155
198
|
const count = multi.source === "env" ? 1 : multi.keys.length;
|
|
156
199
|
console.log(count > 1
|
|
157
|
-
? `added ${
|
|
158
|
-
: `saved ${
|
|
200
|
+
? `added ${label} ${maskSecret(secret)} · ${count} keys total`
|
|
201
|
+
: `saved ${label} ${maskSecret(secret)}`);
|
|
159
202
|
}
|
|
160
203
|
if (modalEndpointMissing) {
|
|
161
204
|
console.warn(chalk.yellow("No Modal endpoint URL yet — the token was stored but requests will fail. " +
|
|
@@ -172,29 +215,29 @@ export async function unsetProviderKey(providerValue, options = {}) {
|
|
|
172
215
|
return;
|
|
173
216
|
}
|
|
174
217
|
const provider = assertProvider(providerValue);
|
|
175
|
-
|
|
218
|
+
const label = getProvider(provider).displayName;
|
|
176
219
|
if (options.url) {
|
|
177
220
|
if (!providerUsesEndpoints(provider)) {
|
|
178
|
-
console.log(`${
|
|
221
|
+
console.log(`${label} has no endpoint URLs`);
|
|
179
222
|
return;
|
|
180
223
|
}
|
|
181
224
|
const count = getProviderEndpoints(provider).urls.length;
|
|
182
225
|
setProviderEndpoints(provider, []);
|
|
183
226
|
console.log(count > 0
|
|
184
|
-
? `unset ${count} endpoint URL${count === 1 ? "" : "s"} for ${
|
|
185
|
-
: `${
|
|
227
|
+
? `unset ${count} endpoint URL${count === 1 ? "" : "s"} for ${label}`
|
|
228
|
+
: `${label} had no endpoint URLs`);
|
|
186
229
|
return;
|
|
187
230
|
}
|
|
188
231
|
const multi = await getProviderKeys(provider);
|
|
189
232
|
const count = multi.source === "env" ? 0 : multi.keys.length;
|
|
190
233
|
await unsetProviderSecret(provider);
|
|
191
|
-
console.log(count > 1 ? `unset all ${count} keys for ${
|
|
234
|
+
console.log(count > 1 ? `unset all ${count} keys for ${label}` : `unset ${label}`);
|
|
192
235
|
}
|
|
193
236
|
export async function printProviderKeys() {
|
|
194
237
|
const config = getConfig();
|
|
195
238
|
const statuses = await listProviderStatuses(config.defaultProvider);
|
|
196
239
|
console.log(chalk.bold("LLM Providers:"));
|
|
197
|
-
console.log(chalk.dim(" PROVIDER
|
|
240
|
+
console.log(chalk.dim(" PROVIDER SOURCE KEYS MODEL"));
|
|
198
241
|
for (const s of statuses) {
|
|
199
242
|
const mark = s.configured ? chalk.green("✓") : chalk.red("✗");
|
|
200
243
|
const tag = s.active ? chalk.cyan(" ◀") : "";
|
|
@@ -209,7 +252,8 @@ export async function printProviderKeys() {
|
|
|
209
252
|
? s.maskedKey || "••••••••"
|
|
210
253
|
: `${count} keys`;
|
|
211
254
|
const source = (s.source === "missing" ? "no key" : s.source).padEnd(9);
|
|
212
|
-
|
|
255
|
+
const name = getProvider(s.provider).displayName;
|
|
256
|
+
console.log(` ${mark} ${name.padEnd(34)} ${source} ${String(keySummary).padEnd(13)} ${s.model}${tag}`);
|
|
213
257
|
if (s.provider !== "ollama" && s.provider !== "free" && s.note) {
|
|
214
258
|
console.log(chalk.dim(` endpoint: ${s.note}`));
|
|
215
259
|
}
|
|
@@ -277,26 +321,267 @@ export async function ensureProviderConfigured(provider) {
|
|
|
277
321
|
}
|
|
278
322
|
export async function useProvider(providerValue) {
|
|
279
323
|
const provider = assertProvider(providerValue);
|
|
324
|
+
const label = getProvider(provider).displayName;
|
|
280
325
|
if (provider === "modal") {
|
|
281
326
|
if (!(await promptModalSetup())) {
|
|
282
327
|
console.log("provider unchanged");
|
|
283
328
|
return;
|
|
284
329
|
}
|
|
285
330
|
setDefaultProvider(provider);
|
|
286
|
-
console.log(`now using ${
|
|
331
|
+
console.log(`now using ${label} · model=${getProviderModel(provider)}`);
|
|
287
332
|
return;
|
|
288
333
|
}
|
|
289
334
|
const secret = await getProviderSecret(provider);
|
|
290
335
|
if (!secret.value && !envValue(provider) && provider !== "ollama" && provider !== "free") {
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
336
|
+
if (provider === "cline") {
|
|
337
|
+
const tokens = await resolveClineTokensInteractive();
|
|
338
|
+
if (!tokens) {
|
|
339
|
+
console.log("provider unchanged");
|
|
340
|
+
return;
|
|
341
|
+
}
|
|
342
|
+
await appendProviderKey("cline", tokens.accessToken, clineCredentialMetadata(tokens));
|
|
343
|
+
}
|
|
344
|
+
else if (provider === "codex") {
|
|
345
|
+
const credential = await resolveCodexCredentialInteractive();
|
|
346
|
+
if (!credential) {
|
|
347
|
+
console.log("provider unchanged");
|
|
348
|
+
return;
|
|
349
|
+
}
|
|
350
|
+
await appendProviderKey("codex", encodeCodexKey(credential));
|
|
351
|
+
}
|
|
352
|
+
else if (provider === "copilot") {
|
|
353
|
+
const token = await resolveCopilotCredentialInteractive();
|
|
354
|
+
if (!token) {
|
|
355
|
+
console.log("provider unchanged");
|
|
356
|
+
return;
|
|
357
|
+
}
|
|
358
|
+
await appendProviderKey("copilot", token);
|
|
359
|
+
}
|
|
360
|
+
else {
|
|
361
|
+
const entered = await promptForSecret(provider);
|
|
362
|
+
if (!entered) {
|
|
363
|
+
console.log("provider unchanged");
|
|
364
|
+
return;
|
|
365
|
+
}
|
|
366
|
+
await setProviderKey(provider, entered, { skipPing: false });
|
|
295
367
|
}
|
|
296
|
-
await setProviderKey(provider, entered, { skipPing: false });
|
|
297
368
|
}
|
|
298
369
|
setDefaultProvider(provider);
|
|
299
|
-
console.log(`now using ${
|
|
370
|
+
console.log(`now using ${label} · model=${getProviderModel(provider)}`);
|
|
371
|
+
}
|
|
372
|
+
export async function authCline(providerValue, options = {}) {
|
|
373
|
+
const provider = assertProvider(providerValue);
|
|
374
|
+
if (provider !== "cline") {
|
|
375
|
+
throw new Error(`OAuth browser sign-in is only supported for the cline provider (got "${provider}"). Use \`clai set ${provider} <key>\` instead.`);
|
|
376
|
+
}
|
|
377
|
+
if (options.import) {
|
|
378
|
+
process.stderr.write("Looking for an existing Cline CLI/Desktop sign-in…\n");
|
|
379
|
+
const tokens = await importExistingClineAuth();
|
|
380
|
+
if (!tokens) {
|
|
381
|
+
process.exitCode = 5;
|
|
382
|
+
throw new Error("No usable Cline credential found. Sign in with `clai auth cline` (no --import) or install Cline CLI/Desktop and log in first.");
|
|
383
|
+
}
|
|
384
|
+
const token = tokens.accessToken;
|
|
385
|
+
const storage = await appendProviderKey("cline", token, clineCredentialMetadata(tokens));
|
|
386
|
+
if (storage === "fallback") {
|
|
387
|
+
process.exitCode = 3;
|
|
388
|
+
console.warn(chalk.yellow(`Warning: OS keychain unavailable; stored in ${getFallbackKeysPath()} with restricted permissions.`));
|
|
389
|
+
}
|
|
390
|
+
const multi = await getProviderKeys("cline");
|
|
391
|
+
console.log(`imported cline ${maskSecret(token)} · ${multi.keys.length} key${multi.keys.length === 1 ? "" : "s"} total`);
|
|
392
|
+
return;
|
|
393
|
+
}
|
|
394
|
+
const tokens = await resolveClineTokensInteractive();
|
|
395
|
+
if (!tokens) {
|
|
396
|
+
process.exitCode = 5;
|
|
397
|
+
throw new Error("Cline authentication failed or was cancelled.");
|
|
398
|
+
}
|
|
399
|
+
const token = tokens.accessToken;
|
|
400
|
+
const storage = await appendProviderKey("cline", token, clineCredentialMetadata(tokens));
|
|
401
|
+
if (storage === "fallback") {
|
|
402
|
+
process.exitCode = 3;
|
|
403
|
+
console.warn(chalk.yellow(`Warning: OS keychain unavailable; stored in ${getFallbackKeysPath()} with restricted permissions.`));
|
|
404
|
+
}
|
|
405
|
+
const multi = await getProviderKeys("cline");
|
|
406
|
+
console.log(`authenticated cline ${maskSecret(token)} · ${multi.keys.length} key${multi.keys.length === 1 ? "" : "s"} total`);
|
|
407
|
+
}
|
|
408
|
+
export async function resolveClineTokensInteractive() {
|
|
409
|
+
const start = await startClineDeviceAuth();
|
|
410
|
+
console.log("To authenticate Cline:");
|
|
411
|
+
console.log(` 1. Open this link on any device:\n ${start.verificationUrl}`);
|
|
412
|
+
console.log(` 2. Enter code: ${chalk.bold(start.userCode)}`);
|
|
413
|
+
console.log("");
|
|
414
|
+
const tokens = await pollClineDeviceAuth(start, {
|
|
415
|
+
onPending: (remaining) => {
|
|
416
|
+
const mm = Math.floor(remaining / 60);
|
|
417
|
+
const ss = String(remaining % 60).padStart(2, "0");
|
|
418
|
+
process.stderr.write(`\rWaiting for approval… ${mm}:${ss} remaining (Ctrl-C to cancel) `);
|
|
419
|
+
},
|
|
420
|
+
});
|
|
421
|
+
process.stderr.write("\n");
|
|
422
|
+
return tokens;
|
|
423
|
+
}
|
|
424
|
+
export async function resolveClineCredentialInteractive() {
|
|
425
|
+
return (await resolveClineTokensInteractive())?.accessToken;
|
|
426
|
+
}
|
|
427
|
+
export async function authCodex(providerValue, options = {}) {
|
|
428
|
+
const provider = assertProvider(providerValue);
|
|
429
|
+
const label = getProvider(provider).displayName;
|
|
430
|
+
if (provider !== "codex") {
|
|
431
|
+
throw new Error(`OAuth browser sign-in is only supported for the ${label} provider. Use \`clai set ${provider} <key>\` instead.`);
|
|
432
|
+
}
|
|
433
|
+
if (options.import) {
|
|
434
|
+
process.stderr.write("Looking for an existing Chatgpt Subscription sign-in…\n");
|
|
435
|
+
const key = await importExistingCodexKey();
|
|
436
|
+
if (!key) {
|
|
437
|
+
process.exitCode = 5;
|
|
438
|
+
throw new Error("No usable ChatGPT Subscription credential found. Sign in with `clai auth chatgpt` (no --import) or install Codex CLI and log in first.");
|
|
439
|
+
}
|
|
440
|
+
const storage = await appendProviderKey("codex", key);
|
|
441
|
+
if (storage === "fallback") {
|
|
442
|
+
process.exitCode = 3;
|
|
443
|
+
console.warn(chalk.yellow(`Warning: OS keychain unavailable; stored in ${getFallbackKeysPath()} with restricted permissions.`));
|
|
444
|
+
}
|
|
445
|
+
const multi = await getProviderKeys("codex");
|
|
446
|
+
console.log(`imported Chatgpt Subscription ${maskSecret(key)} · ${multi.keys.length} key${multi.keys.length === 1 ? "" : "s"} total`);
|
|
447
|
+
return;
|
|
448
|
+
}
|
|
449
|
+
let credential;
|
|
450
|
+
if (options.headless) {
|
|
451
|
+
credential = await resolveCodexCredentialInteractive();
|
|
452
|
+
}
|
|
453
|
+
else {
|
|
454
|
+
const method = options.browser
|
|
455
|
+
? "browser"
|
|
456
|
+
: await askChoice("How do you want to sign in to ChatGPT Subscription?", [
|
|
457
|
+
{
|
|
458
|
+
name: "Sign in with ChatGPT (browser) — opens auth.openai.com login",
|
|
459
|
+
value: "browser",
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
name: "Sign in with ChatGPT (headless) — device code on any device",
|
|
463
|
+
value: "headless",
|
|
464
|
+
},
|
|
465
|
+
{
|
|
466
|
+
name: "Manually enter an access token / API key",
|
|
467
|
+
value: "apikey",
|
|
468
|
+
},
|
|
469
|
+
]);
|
|
470
|
+
if (!method) {
|
|
471
|
+
console.log("cancelled");
|
|
472
|
+
return;
|
|
473
|
+
}
|
|
474
|
+
if (method === "headless") {
|
|
475
|
+
credential = await resolveCodexCredentialInteractive();
|
|
476
|
+
}
|
|
477
|
+
else if (method === "apikey") {
|
|
478
|
+
const pasted = await askSecret("Paste a Chatgpt Subscription access token or stored `codex:` key:");
|
|
479
|
+
const key = pasted ? codexKeyFromAccessToken(pasted) ?? (pasted.startsWith("codex:") ? pasted : undefined) : undefined;
|
|
480
|
+
if (!key) {
|
|
481
|
+
process.exitCode = 5;
|
|
482
|
+
throw new Error("That token is not a valid ChatGPT access token (no chatgpt account id). Sign in with `clai auth chatgpt` instead.");
|
|
483
|
+
}
|
|
484
|
+
await storeCodexKey(key);
|
|
485
|
+
return;
|
|
486
|
+
}
|
|
487
|
+
else {
|
|
488
|
+
try {
|
|
489
|
+
const handle = await startCodexBrowserAuth();
|
|
490
|
+
console.log("To authenticate ChatGPT Subscription:");
|
|
491
|
+
console.log(` Open this link in your browser:\n ${handle.url}\n`);
|
|
492
|
+
console.log(`Waiting for browser authorization…\n`);
|
|
493
|
+
await openSystemBrowser(handle.url).catch(() => { });
|
|
494
|
+
credential = await handle.waitForCredential();
|
|
495
|
+
}
|
|
496
|
+
catch (error) {
|
|
497
|
+
if (options.browser)
|
|
498
|
+
throw error;
|
|
499
|
+
console.warn(chalk.yellow(`Browser sign-in unavailable (${error instanceof Error ? error.message : String(error)}); falling back to device code.`));
|
|
500
|
+
credential = await resolveCodexCredentialInteractive();
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
if (!credential) {
|
|
505
|
+
process.exitCode = 5;
|
|
506
|
+
throw new Error("ChatGPT Subscription authentication failed or was cancelled.");
|
|
507
|
+
}
|
|
508
|
+
await storeCodexKey(encodeCodexKey(credential));
|
|
509
|
+
}
|
|
510
|
+
async function storeCodexKey(key) {
|
|
511
|
+
const storage = await appendProviderKey("codex", key);
|
|
512
|
+
if (storage === "fallback") {
|
|
513
|
+
process.exitCode = 3;
|
|
514
|
+
console.warn(chalk.yellow(`Warning: OS keychain unavailable; stored in ${getFallbackKeysPath()} with restricted permissions.`));
|
|
515
|
+
}
|
|
516
|
+
const multi = await getProviderKeys("codex");
|
|
517
|
+
console.log(`authenticated Chatgpt Subscription ${maskSecret(key)} · ${multi.keys.length} key${multi.keys.length === 1 ? "" : "s"} total`);
|
|
518
|
+
}
|
|
519
|
+
export async function authCopilot(providerValue, options = {}) {
|
|
520
|
+
const provider = assertProvider(providerValue);
|
|
521
|
+
const label = getProvider(provider).displayName;
|
|
522
|
+
if (provider !== "copilot") {
|
|
523
|
+
throw new Error(`OAuth browser sign-in is only supported for the ${label} provider. Use \`clai set ${provider} <key>\` instead.`);
|
|
524
|
+
}
|
|
525
|
+
if (options.import) {
|
|
526
|
+
process.stderr.write("Looking for an existing Github Copilot sign-in…\n");
|
|
527
|
+
const key = await importExistingCopilotKey();
|
|
528
|
+
if (!key) {
|
|
529
|
+
process.exitCode = 5;
|
|
530
|
+
throw new Error("No usable Github Copilot credential found. Sign in with `clai auth copilot` (no --import) or install Copilot CLI/VS Code and log in first.");
|
|
531
|
+
}
|
|
532
|
+
const storage = await appendProviderKey("copilot", key);
|
|
533
|
+
if (storage === "fallback") {
|
|
534
|
+
process.exitCode = 3;
|
|
535
|
+
console.warn(chalk.yellow(`Warning: OS keychain unavailable; stored in ${getFallbackKeysPath()} with restricted permissions.`));
|
|
536
|
+
}
|
|
537
|
+
const multi = await getProviderKeys("copilot");
|
|
538
|
+
console.log(`imported Github Copilot ${maskSecret(key)} · ${multi.keys.length} key${multi.keys.length === 1 ? "" : "s"} total`);
|
|
539
|
+
return;
|
|
540
|
+
}
|
|
541
|
+
const token = await resolveCopilotCredentialInteractive();
|
|
542
|
+
if (!token) {
|
|
543
|
+
process.exitCode = 5;
|
|
544
|
+
throw new Error("Github Copilot authentication failed or was cancelled.");
|
|
545
|
+
}
|
|
546
|
+
const storage = await appendProviderKey("copilot", token);
|
|
547
|
+
if (storage === "fallback") {
|
|
548
|
+
process.exitCode = 3;
|
|
549
|
+
console.warn(chalk.yellow(`Warning: OS keychain unavailable; stored in ${getFallbackKeysPath()} with restricted permissions.`));
|
|
550
|
+
}
|
|
551
|
+
const multi = await getProviderKeys("copilot");
|
|
552
|
+
console.log(`authenticated Github Copilot ${maskSecret(token)} · ${multi.keys.length} key${multi.keys.length === 1 ? "" : "s"} total`);
|
|
553
|
+
}
|
|
554
|
+
export async function resolveCodexCredentialInteractive() {
|
|
555
|
+
const start = await startCodexDeviceAuth();
|
|
556
|
+
console.log("To authenticate ChatGPT Subscription:");
|
|
557
|
+
console.log(` 1. Open this link on any device:\n ${start.verificationUrl}`);
|
|
558
|
+
console.log(` 2. Enter code: ${chalk.bold(start.userCode)}`);
|
|
559
|
+
console.log("");
|
|
560
|
+
const credential = await pollCodexDeviceAuth(start, {
|
|
561
|
+
onPending: (remaining) => {
|
|
562
|
+
const mm = Math.floor(remaining / 60);
|
|
563
|
+
const ss = String(remaining % 60).padStart(2, "0");
|
|
564
|
+
process.stderr.write(`\rWaiting for approval… ${mm}:${ss} remaining (Ctrl-C to cancel) `);
|
|
565
|
+
},
|
|
566
|
+
});
|
|
567
|
+
process.stderr.write("\n");
|
|
568
|
+
return credential;
|
|
569
|
+
}
|
|
570
|
+
export async function resolveCopilotCredentialInteractive() {
|
|
571
|
+
const start = await startCopilotDeviceAuth();
|
|
572
|
+
console.log("To authenticate Github Copilot:");
|
|
573
|
+
console.log(` 1. Open this link on any device:\n ${start.verificationUrl}`);
|
|
574
|
+
console.log(` 2. Enter code: ${chalk.bold(start.userCode)}`);
|
|
575
|
+
console.log("");
|
|
576
|
+
const token = await pollCopilotDeviceAuth(start, {
|
|
577
|
+
onPending: (remaining) => {
|
|
578
|
+
const mm = Math.floor(remaining / 60);
|
|
579
|
+
const ss = String(remaining % 60).padStart(2, "0");
|
|
580
|
+
process.stderr.write(`\rWaiting for approval… ${mm}:${ss} remaining (Ctrl-C to cancel) `);
|
|
581
|
+
},
|
|
582
|
+
});
|
|
583
|
+
process.stderr.write("\n");
|
|
584
|
+
return token;
|
|
300
585
|
}
|
|
301
586
|
export async function providerSwitcher(providerValue) {
|
|
302
587
|
if (providerValue) {
|
|
@@ -305,10 +590,13 @@ export async function providerSwitcher(providerValue) {
|
|
|
305
590
|
}
|
|
306
591
|
const config = getConfig();
|
|
307
592
|
const statuses = await listProviderStatuses(config.defaultProvider);
|
|
308
|
-
const selected = await askChoice("Select provider:", statuses.map((status) =>
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
593
|
+
const selected = await askChoice("Select provider:", statuses.map((status) => {
|
|
594
|
+
const label = getProvider(status.provider).displayName;
|
|
595
|
+
return {
|
|
596
|
+
name: `${label.padEnd(34)} ${status.configured ? "✓ key set" : "✗ no key"}${status.active ? " (active)" : ""}`,
|
|
597
|
+
value: status.provider,
|
|
598
|
+
};
|
|
599
|
+
}));
|
|
312
600
|
if (!selected) {
|
|
313
601
|
console.log("provider unchanged");
|
|
314
602
|
return;
|
|
@@ -329,8 +617,9 @@ export async function setKeyPicker(providerValue, keyArg) {
|
|
|
329
617
|
: status.configured
|
|
330
618
|
? chalk.green("✓ key set")
|
|
331
619
|
: chalk.red("✗ no key");
|
|
620
|
+
const name = getProvider(status.provider).displayName;
|
|
332
621
|
return {
|
|
333
|
-
name: `${
|
|
622
|
+
name: `${name.padEnd(34)} ${label}${status.active ? chalk.cyan(" (active)") : ""}`,
|
|
334
623
|
value: status.provider,
|
|
335
624
|
};
|
|
336
625
|
}));
|
|
@@ -353,7 +642,7 @@ export async function unsetKeyPicker(providerValue) {
|
|
|
353
642
|
const config = getConfig();
|
|
354
643
|
const statuses = await listProviderStatuses(config.defaultProvider);
|
|
355
644
|
const selected = await askChoice("Unset API key for provider:", statuses.map((status) => ({
|
|
356
|
-
name: `${status.provider.padEnd(
|
|
645
|
+
name: `${getProvider(status.provider).displayName.padEnd(34)} ${status.configured ? chalk.green("✓ ") + (status.maskedKey ?? "key set") : chalk.red("✗ no key")}${status.active ? chalk.cyan(" (active)") : ""}`,
|
|
357
646
|
value: status.provider,
|
|
358
647
|
})));
|
|
359
648
|
if (!selected) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/commands/providers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/commands/providers.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@ const CLAI_ENTRY = fileURLToPath(import.meta.url);
|
|
|
5
5
|
import { resolveTurnInput } from "./attachments/service.js";
|
|
6
6
|
import { startNoninteractive } from "./noninteractive/start-noninteractive.js";
|
|
7
7
|
import { readStdinText } from "./noninteractive/read-stdin.js";
|
|
8
|
-
import { providerSwitcher, printProviderKeys, setProviderKey, unsetProviderKey, useProvider, } from "./commands/providers.js";
|
|
8
|
+
import { providerSwitcher, printProviderKeys, setProviderKey, unsetProviderKey, useProvider, authCline, authCodex, authCopilot, } from "./commands/providers.js";
|
|
9
9
|
import { runDoctor } from "./commands/doctor.js";
|
|
10
10
|
import { runUpdate, getCurrentVersion, } from "./commands/update.js";
|
|
11
11
|
import { getConfig, getConfigPath, getProviderModel, setDefaultMode, setProviderModel, updateConfig, } from "./store/config.js";
|
|
@@ -330,6 +330,36 @@ async function main() {
|
|
|
330
330
|
.action(async () => {
|
|
331
331
|
await runDoctor();
|
|
332
332
|
});
|
|
333
|
+
program
|
|
334
|
+
.command("auth")
|
|
335
|
+
.description("authenticate a provider via browser/OAuth (Cline, Chatgpt Subscription, Github Copilot)")
|
|
336
|
+
.argument("<provider>", "provider id (cline, chatgpt, copilot)")
|
|
337
|
+
.option("--import", "import an existing app sign-in (Cline/Chatgpt Subscription/Github Copilot)")
|
|
338
|
+
.option("--browser", "authenticate via browser (default for Chatgpt Subscription)")
|
|
339
|
+
.option("--headless", "authenticate via headless/device code flow")
|
|
340
|
+
.action(async (provider, options) => {
|
|
341
|
+
const id = provider.trim().toLowerCase();
|
|
342
|
+
if (id === "codex" ||
|
|
343
|
+
id === "chatgpt" ||
|
|
344
|
+
id === "openai-codex" ||
|
|
345
|
+
id === "codex-cli" ||
|
|
346
|
+
id === "chatgpt-codex" ||
|
|
347
|
+
id === "chatgpt-subscription" ||
|
|
348
|
+
id.startsWith("chatgpt")) {
|
|
349
|
+
await authCodex("codex", options);
|
|
350
|
+
return;
|
|
351
|
+
}
|
|
352
|
+
if (id === "copilot" ||
|
|
353
|
+
id === "github-copilot" ||
|
|
354
|
+
id === "gh-copilot" ||
|
|
355
|
+
id === "copilot-chat" ||
|
|
356
|
+
id === "github" ||
|
|
357
|
+
id.includes("copilot")) {
|
|
358
|
+
await authCopilot("copilot", options);
|
|
359
|
+
return;
|
|
360
|
+
}
|
|
361
|
+
await authCline(provider, options);
|
|
362
|
+
});
|
|
333
363
|
program
|
|
334
364
|
.command("history")
|
|
335
365
|
.description("list saved sessions")
|