@jx-grxf/patchpilot 0.4.0 → 1.2.0
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/.env.example +17 -1
- package/README.md +113 -23
- package/SECURITY.md +7 -1
- package/dist/cli.js +103 -14
- package/dist/cli.js.map +1 -1
- package/dist/core/agent.d.ts +47 -1
- package/dist/core/agent.js +667 -76
- package/dist/core/agent.js.map +1 -1
- package/dist/core/cleanup.d.ts +3 -0
- package/dist/core/cleanup.js +29 -0
- package/dist/core/cleanup.js.map +1 -0
- package/dist/core/clipboard.d.ts +14 -0
- package/dist/core/clipboard.js +134 -0
- package/dist/core/clipboard.js.map +1 -0
- package/dist/core/codex.d.ts +8 -0
- package/dist/core/codex.js +28 -2
- package/dist/core/codex.js.map +1 -1
- package/dist/core/compaction.d.ts +23 -0
- package/dist/core/compaction.js +145 -0
- package/dist/core/compaction.js.map +1 -0
- package/dist/core/contextFormat.d.ts +21 -0
- package/dist/core/contextFormat.js +87 -0
- package/dist/core/contextFormat.js.map +1 -0
- package/dist/core/contextItem.d.ts +41 -0
- package/dist/core/contextItem.js +93 -0
- package/dist/core/contextItem.js.map +1 -0
- package/dist/core/contextStore.d.ts +48 -0
- package/dist/core/contextStore.js +306 -0
- package/dist/core/contextStore.js.map +1 -0
- package/dist/core/doctor.d.ts +4 -1
- package/dist/core/doctor.js +122 -3
- package/dist/core/doctor.js.map +1 -1
- package/dist/core/gemini.js +10 -4
- package/dist/core/gemini.js.map +1 -1
- package/dist/core/geminiWrapper.d.ts +92 -0
- package/dist/core/geminiWrapper.js +1258 -0
- package/dist/core/geminiWrapper.js.map +1 -0
- package/dist/core/http.js +70 -6
- package/dist/core/http.js.map +1 -1
- package/dist/core/json.d.ts +1 -1
- package/dist/core/json.js +81 -19
- package/dist/core/json.js.map +1 -1
- package/dist/core/memory.d.ts +16 -0
- package/dist/core/memory.js +108 -0
- package/dist/core/memory.js.map +1 -0
- package/dist/core/modelClient.js +7 -0
- package/dist/core/modelClient.js.map +1 -1
- package/dist/core/nvidia.d.ts +1 -1
- package/dist/core/nvidia.js +13 -4
- package/dist/core/nvidia.js.map +1 -1
- package/dist/core/ollama.js +13 -3
- package/dist/core/ollama.js.map +1 -1
- package/dist/core/openrouter.js +15 -6
- package/dist/core/openrouter.js.map +1 -1
- package/dist/core/projectInit.d.ts +6 -0
- package/dist/core/projectInit.js +44 -0
- package/dist/core/projectInit.js.map +1 -0
- package/dist/core/reasoning.js +6 -0
- package/dist/core/reasoning.js.map +1 -1
- package/dist/core/session.d.ts +1 -0
- package/dist/core/session.js +55 -3
- package/dist/core/session.js.map +1 -1
- package/dist/core/tokenAccounting.d.ts +4 -0
- package/dist/core/tokenAccounting.js +75 -13
- package/dist/core/tokenAccounting.js.map +1 -1
- package/dist/core/types.d.ts +65 -5
- package/dist/core/types.js +30 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/updateCheck.d.ts +19 -0
- package/dist/core/updateCheck.js +103 -0
- package/dist/core/updateCheck.js.map +1 -0
- package/dist/core/workspace.d.ts +37 -0
- package/dist/core/workspace.js +1535 -84
- package/dist/core/workspace.js.map +1 -1
- package/dist/tui/App.d.ts +1 -0
- package/dist/tui/App.js +1841 -140
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/commands.js +141 -9
- package/dist/tui/commands.js.map +1 -1
- package/dist/tui/components/ApprovalPanel.js +16 -1
- package/dist/tui/components/ApprovalPanel.js.map +1 -1
- package/dist/tui/components/CommandSuggestions.js +33 -5
- package/dist/tui/components/CommandSuggestions.js.map +1 -1
- package/dist/tui/components/Composer.d.ts +3 -0
- package/dist/tui/components/Composer.js +57 -5
- package/dist/tui/components/Composer.js.map +1 -1
- package/dist/tui/components/ExperimentalPanel.d.ts +10 -0
- package/dist/tui/components/ExperimentalPanel.js +38 -0
- package/dist/tui/components/ExperimentalPanel.js.map +1 -0
- package/dist/tui/components/Header.js +3 -3
- package/dist/tui/components/Header.js.map +1 -1
- package/dist/tui/components/OnboardingPanel.d.ts +25 -1
- package/dist/tui/components/OnboardingPanel.js +87 -25
- package/dist/tui/components/OnboardingPanel.js.map +1 -1
- package/dist/tui/components/Sidebar.js +17 -13
- package/dist/tui/components/Sidebar.js.map +1 -1
- package/dist/tui/components/StartupBanner.d.ts +4 -0
- package/dist/tui/components/StartupBanner.js +9 -0
- package/dist/tui/components/StartupBanner.js.map +1 -0
- package/dist/tui/components/Transcript.d.ts +7 -0
- package/dist/tui/components/Transcript.js +87 -17
- package/dist/tui/components/Transcript.js.map +1 -1
- package/dist/tui/contextCommands.d.ts +8 -0
- package/dist/tui/contextCommands.js +205 -0
- package/dist/tui/contextCommands.js.map +1 -0
- package/dist/tui/experimental/AnimatedText.d.ts +38 -0
- package/dist/tui/experimental/AnimatedText.js +55 -0
- package/dist/tui/experimental/AnimatedText.js.map +1 -0
- package/dist/tui/experimental/Banner.d.ts +10 -0
- package/dist/tui/experimental/Banner.js +33 -0
- package/dist/tui/experimental/Banner.js.map +1 -0
- package/dist/tui/experimental/CommandPalette.d.ts +11 -0
- package/dist/tui/experimental/CommandPalette.js +25 -0
- package/dist/tui/experimental/CommandPalette.js.map +1 -0
- package/dist/tui/experimental/ExperimentalShell.d.ts +58 -0
- package/dist/tui/experimental/ExperimentalShell.js +366 -0
- package/dist/tui/experimental/ExperimentalShell.js.map +1 -0
- package/dist/tui/experimental/ThemePicker.d.ts +13 -0
- package/dist/tui/experimental/ThemePicker.js +12 -0
- package/dist/tui/experimental/ThemePicker.js.map +1 -0
- package/dist/tui/experimental/attachments.d.ts +35 -0
- package/dist/tui/experimental/attachments.js +244 -0
- package/dist/tui/experimental/attachments.js.map +1 -0
- package/dist/tui/experimental/composer.d.ts +24 -0
- package/dist/tui/experimental/composer.js +84 -0
- package/dist/tui/experimental/composer.js.map +1 -0
- package/dist/tui/experimental/geminiPricing.d.ts +16 -0
- package/dist/tui/experimental/geminiPricing.js +39 -0
- package/dist/tui/experimental/geminiPricing.js.map +1 -0
- package/dist/tui/experimental/layout.d.ts +46 -0
- package/dist/tui/experimental/layout.js +112 -0
- package/dist/tui/experimental/layout.js.map +1 -0
- package/dist/tui/experimental/theme.d.ts +35 -0
- package/dist/tui/experimental/theme.js +86 -0
- package/dist/tui/experimental/theme.js.map +1 -0
- package/dist/tui/experimental/transcriptRows.d.ts +20 -0
- package/dist/tui/experimental/transcriptRows.js +169 -0
- package/dist/tui/experimental/transcriptRows.js.map +1 -0
- package/dist/tui/experimental/ultraModes.d.ts +46 -0
- package/dist/tui/experimental/ultraModes.js +95 -0
- package/dist/tui/experimental/ultraModes.js.map +1 -0
- package/dist/tui/experimental/ultramaxx.d.ts +19 -0
- package/dist/tui/experimental/ultramaxx.js +43 -0
- package/dist/tui/experimental/ultramaxx.js.map +1 -0
- package/dist/tui/format.d.ts +4 -2
- package/dist/tui/format.js +21 -7
- package/dist/tui/format.js.map +1 -1
- package/dist/tui/hosts.js +7 -1
- package/dist/tui/hosts.js.map +1 -1
- package/dist/tui/layout.d.ts +26 -0
- package/dist/tui/layout.js +66 -0
- package/dist/tui/layout.js.map +1 -0
- package/dist/tui/modelSelection.d.ts +1 -1
- package/dist/tui/modelSelection.js +8 -6
- package/dist/tui/modelSelection.js.map +1 -1
- package/dist/tui/modes.d.ts +8 -1
- package/dist/tui/modes.js +20 -2
- package/dist/tui/modes.js.map +1 -1
- package/dist/tui/onboardingPreferences.d.ts +37 -0
- package/dist/tui/onboardingPreferences.js +118 -0
- package/dist/tui/onboardingPreferences.js.map +1 -0
- package/dist/tui/runStatus.d.ts +50 -0
- package/dist/tui/runStatus.js +164 -0
- package/dist/tui/runStatus.js.map +1 -0
- package/dist/tui/types.d.ts +8 -0
- package/dist/tui/types.js.map +1 -1
- package/docs/architecture.md +115 -0
- package/docs/gemini-wrapper.md +110 -0
- package/docs/product-context.md +43 -0
- package/docs/releases/v0.1.1-beta.md +18 -0
- package/docs/releases/v0.2.1.md +1 -1
- package/docs/releases/v0.3.1-beta.md +4 -0
- package/docs/releases/v0.4.0.md +1 -1
- package/docs/releases/v1.0.0.md +28 -0
- package/docs/releases/v1.0.1.md +25 -0
- package/docs/releases/v1.1.0.md +30 -0
- package/docs/releases/v1.2.0.md +28 -0
- package/docs/showcase/patchpilot-banner.png +0 -0
- package/docs/showcase/patchpilot-logo.png +0 -0
- package/package.json +8 -3
package/dist/core/doctor.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
2
|
import { describeComputeTarget } from "./compute.js";
|
|
3
|
-
import { codexOAuthModels, hasCodexCliOAuth } from "./codex.js";
|
|
3
|
+
import { codexOAuthModels, hasCodexCliOAuth, resolveCodexExecutable } from "./codex.js";
|
|
4
4
|
import { GeminiClient, readGeminiApiKey } from "./gemini.js";
|
|
5
|
+
import { GeminiWrapperClient, ensureGeminiWebApiInstalled, geminiWebApiInstallCommand, geminiWrapperRequiresApiKey, isGeminiBrowserCookieImportInstalled, isGeminiWebApiInstalled, readGeminiWrapperApiKey, readGeminiWrapperBaseUrl, readGeminiWrapperCookiesJson, readGeminiWrapperMode, readGeminiWrapperPythonCommand, readGeminiWrapperSecure1psid } from "./geminiWrapper.js";
|
|
5
6
|
import { NvidiaClient, readNvidiaApiKey } from "./nvidia.js";
|
|
6
7
|
import { OllamaClient } from "./ollama.js";
|
|
7
8
|
import { OpenRouterClient, readOpenRouterApiKey } from "./openrouter.js";
|
|
8
|
-
export async function runDoctor(provider, ollamaUrl, model) {
|
|
9
|
+
export async function runDoctor(provider, ollamaUrl, model, options = {}) {
|
|
9
10
|
const results = [];
|
|
10
11
|
results.push(await checkCommand("node", ["--version"]));
|
|
11
12
|
results.push(await checkCommand("git", ["--version"]));
|
|
@@ -13,6 +14,10 @@ export async function runDoctor(provider, ollamaUrl, model) {
|
|
|
13
14
|
results.push(...(await checkGemini(model)));
|
|
14
15
|
return results;
|
|
15
16
|
}
|
|
17
|
+
if (provider === "gemini-wrapper") {
|
|
18
|
+
results.push(...(await checkGeminiWrapper(model, options)));
|
|
19
|
+
return results;
|
|
20
|
+
}
|
|
16
21
|
if (provider === "codex") {
|
|
17
22
|
results.push(...(await checkCodex(model)));
|
|
18
23
|
return results;
|
|
@@ -132,7 +137,7 @@ async function checkNvidia(model) {
|
|
|
132
137
|
return results;
|
|
133
138
|
}
|
|
134
139
|
async function checkCodex(model) {
|
|
135
|
-
const cli = await checkCommand(
|
|
140
|
+
const cli = await checkCommand(resolveCodexExecutable(), ["--version"], "codex-cli", "Install Codex CLI, then run codex login.");
|
|
136
141
|
const hasOAuth = hasCodexCliOAuth();
|
|
137
142
|
const results = [
|
|
138
143
|
cli,
|
|
@@ -195,6 +200,120 @@ async function checkGemini(model) {
|
|
|
195
200
|
}
|
|
196
201
|
return results;
|
|
197
202
|
}
|
|
203
|
+
async function checkGeminiWrapper(model, options = {}) {
|
|
204
|
+
const baseUrl = readGeminiWrapperBaseUrl();
|
|
205
|
+
const apiKey = readGeminiWrapperApiKey();
|
|
206
|
+
const mode = readGeminiWrapperMode();
|
|
207
|
+
if (mode === "python" || (!baseUrl && mode === "auto")) {
|
|
208
|
+
return await checkGeminiApiBridge(model, options);
|
|
209
|
+
}
|
|
210
|
+
const results = [
|
|
211
|
+
{
|
|
212
|
+
name: "gemini-wrapper-url",
|
|
213
|
+
ok: Boolean(baseUrl),
|
|
214
|
+
details: baseUrl
|
|
215
|
+
? `using explicit wrapper URL ${baseUrl}`
|
|
216
|
+
: "missing. Set PATCHPILOT_GEMINI_WRAPPER_BASE_URL, or use the Python bridge with explicit cookie auth."
|
|
217
|
+
}
|
|
218
|
+
];
|
|
219
|
+
if (!baseUrl) {
|
|
220
|
+
return results;
|
|
221
|
+
}
|
|
222
|
+
results.push({
|
|
223
|
+
name: "gemini-wrapper-key",
|
|
224
|
+
ok: !geminiWrapperRequiresApiKey(baseUrl) || Boolean(apiKey),
|
|
225
|
+
details: apiKey
|
|
226
|
+
? "explicit wrapper API key is configured"
|
|
227
|
+
: geminiWrapperRequiresApiKey(baseUrl)
|
|
228
|
+
? "missing for remote wrapper URL. Set PATCHPILOT_GEMINI_WRAPPER_API_KEY or GEMINI_WRAPPER_API_KEY."
|
|
229
|
+
: "not required for local wrapper URL"
|
|
230
|
+
});
|
|
231
|
+
if (geminiWrapperRequiresApiKey(baseUrl) && !apiKey) {
|
|
232
|
+
return results;
|
|
233
|
+
}
|
|
234
|
+
try {
|
|
235
|
+
const models = await new GeminiWrapperClient().listModels();
|
|
236
|
+
results.push({
|
|
237
|
+
name: "gemini-wrapper",
|
|
238
|
+
ok: true,
|
|
239
|
+
details: models.length > 0 ? `available models: ${models.slice(0, 12).join(", ")}` : "wrapper reachable, no models listed"
|
|
240
|
+
});
|
|
241
|
+
if (model) {
|
|
242
|
+
results.push({
|
|
243
|
+
name: "gemini-wrapper-model",
|
|
244
|
+
ok: models.includes(model),
|
|
245
|
+
details: models.includes(model) ? `${model} is available` : `${model} is not listed by the wrapper models API`
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
catch (error) {
|
|
250
|
+
results.push({
|
|
251
|
+
name: "gemini-wrapper",
|
|
252
|
+
ok: false,
|
|
253
|
+
details: error instanceof Error ? error.message : String(error)
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
return results;
|
|
257
|
+
}
|
|
258
|
+
async function checkGeminiApiBridge(model, options = {}) {
|
|
259
|
+
const pythonCommand = readGeminiWrapperPythonCommand();
|
|
260
|
+
const hasExplicitAuth = Boolean(readGeminiWrapperCookiesJson() || readGeminiWrapperSecure1psid());
|
|
261
|
+
const isInstalledBefore = await isGeminiWebApiInstalled(pythonCommand);
|
|
262
|
+
const hasCookieImportBefore = await isGeminiBrowserCookieImportInstalled(pythonCommand);
|
|
263
|
+
const isInstalled = (isInstalledBefore && hasCookieImportBefore) || (options.fix ? await ensureGeminiWebApiInstalled(pythonCommand) : false);
|
|
264
|
+
const results = [
|
|
265
|
+
{
|
|
266
|
+
name: "gemini-api-bridge",
|
|
267
|
+
ok: isInstalled,
|
|
268
|
+
details: isInstalled
|
|
269
|
+
? `${isInstalledBefore && hasCookieImportBefore ? "gemini_webapi and browser-cookie3 imports work" : "installed pinned gemini_webapi and browser-cookie3 into PatchPilot managed venv"} through ${pythonCommand}`
|
|
270
|
+
: options.fix
|
|
271
|
+
? `missing. PatchPilot tried the managed venv install. Manual fallback: ${geminiWebApiInstallCommand}`
|
|
272
|
+
: `missing. Run /doctor fix or patchpilot doctor --fix to install the managed bridge. Manual fallback: ${geminiWebApiInstallCommand}`,
|
|
273
|
+
action: isInstalledBefore && hasCookieImportBefore ? "check" : options.fix && isInstalled ? "fix" : "skipped"
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
name: "gemini-api-auth",
|
|
277
|
+
ok: hasExplicitAuth,
|
|
278
|
+
details: hasExplicitAuth
|
|
279
|
+
? "explicit cookie auth is configured"
|
|
280
|
+
: "missing. Run `patchpilot gemini-wrapper import-cookies`, set PATCHPILOT_GEMINI_WRAPPER_COOKIES_JSON, or set GEMINI_SECURE_1PSID."
|
|
281
|
+
}
|
|
282
|
+
];
|
|
283
|
+
if (!isInstalled || !hasExplicitAuth) {
|
|
284
|
+
return results;
|
|
285
|
+
}
|
|
286
|
+
try {
|
|
287
|
+
const client = new GeminiWrapperClient();
|
|
288
|
+
await client.checkBridgeAuth();
|
|
289
|
+
const models = await client.listModels();
|
|
290
|
+
results.push({
|
|
291
|
+
name: "gemini-api-auth-check",
|
|
292
|
+
ok: true,
|
|
293
|
+
details: "Gemini-API bridge auth initializes successfully"
|
|
294
|
+
});
|
|
295
|
+
results.push({
|
|
296
|
+
name: "gemini-wrapper",
|
|
297
|
+
ok: true,
|
|
298
|
+
details: `Python bridge ready. Models: ${models.join(", ")}`
|
|
299
|
+
});
|
|
300
|
+
if (model) {
|
|
301
|
+
results.push({
|
|
302
|
+
name: "gemini-wrapper-model",
|
|
303
|
+
ok: models.includes(model),
|
|
304
|
+
details: models.includes(model) ? `${model} is available` : `${model} is not in the bridge default model list`
|
|
305
|
+
});
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
catch (error) {
|
|
309
|
+
results.push({
|
|
310
|
+
name: "gemini-wrapper",
|
|
311
|
+
ok: false,
|
|
312
|
+
details: error instanceof Error ? error.message : String(error)
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
return results;
|
|
316
|
+
}
|
|
198
317
|
function checkCommand(command, args, name = command, missingHint) {
|
|
199
318
|
return new Promise((resolve) => {
|
|
200
319
|
const child = spawn(command, args, {
|
package/dist/core/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/core/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/core/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/core/gemini.js
CHANGED
|
@@ -30,10 +30,13 @@ export class GeminiClient {
|
|
|
30
30
|
const reason = payload.error?.message ? ` ${payload.error.message}` : "";
|
|
31
31
|
throw new Error(`Gemini chat failed for model "${options.model}": HTTP ${response.status}.${reason}`);
|
|
32
32
|
}
|
|
33
|
+
const finishReason = payload.candidates?.[0]?.finishReason;
|
|
34
|
+
if (isTruncatedFinishReason(finishReason)) {
|
|
35
|
+
throw new Error(`Gemini response for model "${options.model}" was truncated by maxOutputTokens (${this.runtimeOptions.maxOutputTokens}).`);
|
|
36
|
+
}
|
|
33
37
|
const content = payload.candidates?.[0]?.content?.parts?.map((part) => part.text ?? "").join("").trim() ?? "";
|
|
34
38
|
if (!content) {
|
|
35
39
|
const blockReason = payload.promptFeedback?.blockReason;
|
|
36
|
-
const finishReason = payload.candidates?.[0]?.finishReason;
|
|
37
40
|
const reason = blockReason ? ` Prompt blocked: ${blockReason}.` : finishReason ? ` Finish reason: ${finishReason}.` : "";
|
|
38
41
|
throw new Error(`Gemini returned an empty response.${reason}`);
|
|
39
42
|
}
|
|
@@ -69,7 +72,7 @@ export class GeminiClient {
|
|
|
69
72
|
try {
|
|
70
73
|
return await fetchWithTimeout(`${this.baseUrl}/${path}`, init, {
|
|
71
74
|
timeoutMs: init?.method === "POST" ? 90_000 : 8000,
|
|
72
|
-
retries: init?.method === "POST" ?
|
|
75
|
+
retries: init?.method === "POST" ? 2 : 1,
|
|
73
76
|
label: `Gemini ${path}`
|
|
74
77
|
});
|
|
75
78
|
}
|
|
@@ -89,10 +92,13 @@ export function readGeminiApiKey(env = process.env) {
|
|
|
89
92
|
}
|
|
90
93
|
export function readGeminiRuntimeOptions(env = process.env) {
|
|
91
94
|
return {
|
|
92
|
-
maxOutputTokens: readPositiveInteger(env.PATCHPILOT_NUM_PREDICT,
|
|
95
|
+
maxOutputTokens: readPositiveInteger(env.PATCHPILOT_NUM_PREDICT, 8192),
|
|
93
96
|
temperature: readTemperature(env.PATCHPILOT_TEMPERATURE, 0.1)
|
|
94
97
|
};
|
|
95
98
|
}
|
|
99
|
+
function isTruncatedFinishReason(value) {
|
|
100
|
+
return typeof value === "string" && /length|max_?tokens/i.test(value);
|
|
101
|
+
}
|
|
96
102
|
function toGenerateContentRequest(model, messages, formatJson, runtimeOptions, reasoningEffort) {
|
|
97
103
|
const systemText = messages
|
|
98
104
|
.filter((message) => message.role === "system")
|
|
@@ -176,6 +182,6 @@ function readPositiveInteger(value, fallback) {
|
|
|
176
182
|
}
|
|
177
183
|
function readTemperature(value, fallback) {
|
|
178
184
|
const parsedValue = Number.parseFloat(value ?? "");
|
|
179
|
-
return Number.isFinite(parsedValue) && parsedValue >= 0 ? parsedValue : fallback;
|
|
185
|
+
return Number.isFinite(parsedValue) && parsedValue >= 0 && parsedValue <= 2 ? parsedValue : fallback;
|
|
180
186
|
}
|
|
181
187
|
//# sourceMappingURL=gemini.js.map
|
package/dist/core/gemini.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/core/gemini.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;AACrD,MAAM,CAAC,MAAM,oBAAoB,GAAG,kDAAkD,CAAC;AAwDvF,MAAM,OAAO,YAAY;IACN,MAAM,CAAS;IACf,OAAO,CAAS;IAChB,cAAc,CAAuB;IAEtD,YACE,MAAM,GAAG,gBAAgB,EAAE,EAC3B,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,oBAAoB,EACxE,cAAc,GAAG,wBAAwB,EAAE;QAE3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAyB;QAClC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE;YACrF,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,gBAAgB,EAAE,IAAI,CAAC,MAAM;aAC9B;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;YACjJ,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAC1C,MAAM,OAAO,GAAG,CAAC,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAkC,CAAC;QAElF,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,CAAC,KAAK,WAAW,QAAQ,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC;QACxG,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAC9G,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,WAAW,CAAC;YACxD,MAAM,
|
|
1
|
+
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/core/gemini.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import type { ModelChatOptions, ModelChatResult, ModelDescriptor, ModelFileAnalysisOptions } from "./types.js";
|
|
2
|
+
export declare const defaultGeminiWrapperModel = "auto";
|
|
3
|
+
export declare const geminiWrapperShortcutModels: readonly ["auto", "flash", "pro"];
|
|
4
|
+
export declare const geminiWrapperLegacyModels: readonly ["thinking"];
|
|
5
|
+
export declare const geminiWrapperCuratedModels: readonly ["auto", "flash", "pro", "thinking"];
|
|
6
|
+
export declare const geminiWebApiVersion = "2.0.0";
|
|
7
|
+
export declare const geminiWebApiInstallCommand: string;
|
|
8
|
+
type GeminiWrapperRuntimeOptions = {
|
|
9
|
+
maxTokens: number;
|
|
10
|
+
temperature: number;
|
|
11
|
+
bridgeMinIntervalMs?: number;
|
|
12
|
+
bridgeTimeoutMs?: number;
|
|
13
|
+
};
|
|
14
|
+
type GeminiWrapperMode = "auto" | "http" | "python";
|
|
15
|
+
export type GeminiWrapperBrowserCookie = {
|
|
16
|
+
name: string;
|
|
17
|
+
value: string;
|
|
18
|
+
domain?: string;
|
|
19
|
+
path?: string;
|
|
20
|
+
expires?: number | null;
|
|
21
|
+
source?: string;
|
|
22
|
+
};
|
|
23
|
+
export type GeminiWrapperBrowserCookieImportResult = {
|
|
24
|
+
cookiesPath: string;
|
|
25
|
+
cookieCount: number;
|
|
26
|
+
source: string;
|
|
27
|
+
availableSources: string[];
|
|
28
|
+
hasSecure1psid: boolean;
|
|
29
|
+
hasSecure1psidts: boolean;
|
|
30
|
+
};
|
|
31
|
+
export declare class GeminiWrapperClient {
|
|
32
|
+
private readonly baseUrl;
|
|
33
|
+
private readonly apiKey;
|
|
34
|
+
private readonly runtimeOptions;
|
|
35
|
+
private readonly mode;
|
|
36
|
+
private readonly pythonCommand;
|
|
37
|
+
private readonly cookiesJson;
|
|
38
|
+
private modelDescriptorCache;
|
|
39
|
+
private pythonBridgeReadyUntil;
|
|
40
|
+
private pythonBridgeReadyPromise;
|
|
41
|
+
constructor(baseUrl?: string, apiKey?: string, runtimeOptions?: GeminiWrapperRuntimeOptions, mode?: GeminiWrapperMode, pythonCommand?: string, cookiesJson?: string);
|
|
42
|
+
chat(options: ModelChatOptions): Promise<ModelChatResult>;
|
|
43
|
+
listModels(): Promise<string[]>;
|
|
44
|
+
listModelDescriptors(): Promise<ModelDescriptor[]>;
|
|
45
|
+
supportsFileAnalysis(): boolean;
|
|
46
|
+
analyzeFile(options: ModelFileAnalysisOptions): Promise<ModelChatResult>;
|
|
47
|
+
checkBridgeAuth(): Promise<void>;
|
|
48
|
+
private fetchGeminiWrapper;
|
|
49
|
+
private headers;
|
|
50
|
+
private assertConfigured;
|
|
51
|
+
private usesPythonBridge;
|
|
52
|
+
private chatWithPythonBridge;
|
|
53
|
+
private runPythonBridge;
|
|
54
|
+
private resolveGeminiWrapperBridgeModel;
|
|
55
|
+
private getCachedModelDescriptors;
|
|
56
|
+
private assertPythonBridgeReady;
|
|
57
|
+
private checkPythonBridgeReady;
|
|
58
|
+
}
|
|
59
|
+
export declare function readGeminiWrapperMode(env?: NodeJS.ProcessEnv): GeminiWrapperMode;
|
|
60
|
+
export declare function readGeminiWrapperBaseUrl(env?: NodeJS.ProcessEnv): string;
|
|
61
|
+
export declare function readGeminiWrapperApiKey(env?: NodeJS.ProcessEnv): string;
|
|
62
|
+
export declare function readGeminiWrapperCookiesJson(env?: NodeJS.ProcessEnv): string;
|
|
63
|
+
export declare function getDefaultGeminiWrapperCookiesPath(env?: NodeJS.ProcessEnv): string;
|
|
64
|
+
export declare function saveGeminiWrapperCookieFile(values: {
|
|
65
|
+
secure1psid: string;
|
|
66
|
+
secure1psidts?: string;
|
|
67
|
+
}, env?: NodeJS.ProcessEnv): string;
|
|
68
|
+
export declare function saveGeminiWrapperCookieJarFile(cookies: GeminiWrapperBrowserCookie[], env?: NodeJS.ProcessEnv): string;
|
|
69
|
+
export declare function importGeminiWrapperBrowserCookies(options?: {
|
|
70
|
+
pythonCommand?: string;
|
|
71
|
+
env?: NodeJS.ProcessEnv;
|
|
72
|
+
timeoutMs?: number;
|
|
73
|
+
}): Promise<GeminiWrapperBrowserCookieImportResult>;
|
|
74
|
+
export declare function readGeminiWrapperPythonCommand(env?: NodeJS.ProcessEnv): string;
|
|
75
|
+
export declare function readGeminiWrapperBootstrapPythonCommand(env?: NodeJS.ProcessEnv): string;
|
|
76
|
+
export declare function getGeminiWrapperVenvDir(env?: NodeJS.ProcessEnv): string;
|
|
77
|
+
export declare function getGeminiWrapperCookieCacheDir(env?: NodeJS.ProcessEnv): string;
|
|
78
|
+
export declare function clearGeminiWrapperCookieCache(env?: NodeJS.ProcessEnv): void;
|
|
79
|
+
export declare function getManagedGeminiWrapperPythonPath(env?: NodeJS.ProcessEnv): string;
|
|
80
|
+
export declare function readGeminiWrapperSecure1psid(env?: NodeJS.ProcessEnv): string;
|
|
81
|
+
export declare function readGeminiWrapperSecure1psidts(env?: NodeJS.ProcessEnv): string;
|
|
82
|
+
export declare function geminiWrapperRequiresApiKey(baseUrl: string): boolean;
|
|
83
|
+
export declare function isGeminiWebApiInstalled(pythonCommand?: string): Promise<boolean>;
|
|
84
|
+
export declare function isGeminiBrowserCookieImportInstalled(pythonCommand?: string): Promise<boolean>;
|
|
85
|
+
export declare function ensureGeminiWebApiInstalled(pythonCommand?: string, env?: NodeJS.ProcessEnv): Promise<boolean>;
|
|
86
|
+
/**
|
|
87
|
+
* Map a curated shortcut to the model string the gemini_webapi bridge accepts
|
|
88
|
+
* when live discovery is unavailable. Every returned non-empty value must be a
|
|
89
|
+
* valid gemini_webapi `Model` model_name, or the bridge request hard-fails.
|
|
90
|
+
*/
|
|
91
|
+
export declare function normalizeGeminiWrapperBridgeModelFallback(model: string): string;
|
|
92
|
+
export {};
|