@jx-grxf/patchpilot 0.3.0 → 0.4.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.
Files changed (37) hide show
  1. package/README.md +17 -11
  2. package/SECURITY.md +3 -1
  3. package/dist/core/agent.d.ts +1 -0
  4. package/dist/core/agent.js +33 -6
  5. package/dist/core/agent.js.map +1 -1
  6. package/dist/core/gemini.js +27 -14
  7. package/dist/core/gemini.js.map +1 -1
  8. package/dist/core/nvidia.js +19 -1
  9. package/dist/core/nvidia.js.map +1 -1
  10. package/dist/core/openrouter.d.ts +2 -0
  11. package/dist/core/openrouter.js +51 -7
  12. package/dist/core/openrouter.js.map +1 -1
  13. package/dist/core/workspace.js +42 -21
  14. package/dist/core/workspace.js.map +1 -1
  15. package/dist/tui/App.js +111 -32
  16. package/dist/tui/App.js.map +1 -1
  17. package/dist/tui/commands.js +8 -2
  18. package/dist/tui/commands.js.map +1 -1
  19. package/dist/tui/components/ApprovalPanel.d.ts +6 -0
  20. package/dist/tui/components/ApprovalPanel.js +16 -0
  21. package/dist/tui/components/ApprovalPanel.js.map +1 -0
  22. package/dist/tui/components/Composer.d.ts +1 -0
  23. package/dist/tui/components/Composer.js +2 -2
  24. package/dist/tui/components/Composer.js.map +1 -1
  25. package/dist/tui/components/Header.js +17 -1
  26. package/dist/tui/components/Header.js.map +1 -1
  27. package/dist/tui/components/Sidebar.js +39 -20
  28. package/dist/tui/components/Sidebar.js.map +1 -1
  29. package/dist/tui/components/Transcript.js +3 -2
  30. package/dist/tui/components/Transcript.js.map +1 -1
  31. package/dist/tui/modes.d.ts +10 -0
  32. package/dist/tui/modes.js +37 -0
  33. package/dist/tui/modes.js.map +1 -0
  34. package/dist/tui/types.d.ts +1 -1
  35. package/docs/releases/v0.3.1-beta.md +19 -0
  36. package/docs/releases/v0.4.0.md +27 -0
  37. package/package.json +1 -1
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  **A local-first coding-agent TUI that makes repo changes visible, permissioned, and easy to review across local, remote, and cloud model routes.**
6
6
 
7
7
  [![CI](https://github.com/jx-grxf/PatchPilot/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/jx-grxf/PatchPilot/actions/workflows/ci.yml)
8
- ![Status](https://img.shields.io/badge/status-public%20preview-0ea5e9)
8
+ ![Status](https://img.shields.io/badge/status-preview%20agent-0ea5e9)
9
9
  ![TypeScript](https://img.shields.io/badge/TypeScript-5.9-3178C6?logo=typescript&logoColor=white)
10
10
  ![Node](https://img.shields.io/badge/Node.js-22%2B-339933?logo=node.js&logoColor=white)
11
11
  ![Ink](https://img.shields.io/badge/TUI-Ink-111827)
@@ -28,6 +28,8 @@
28
28
 
29
29
  PatchPilot is a terminal interface for running coding-agent tasks inside a repository. It shows what the agent is doing, keeps risky actions behind explicit permissions, and supports local Ollama, remote Ollama, Google Gemini, OpenRouter, NVIDIA NIM-compatible endpoints, and Codex CLI OAuth.
30
30
 
31
+ PatchPilot is still preview software. The v0.4 line focuses on making the TUI, approvals, and provider selection reliable enough for real project use; it is not a finished autonomous PR bot or a v1 desktop product.
32
+
31
33
  ---
32
34
 
33
35
  ## Contents
@@ -56,7 +58,7 @@ PatchPilot is a terminal interface for running coding-agent tasks inside a repos
56
58
  | Cloud provider routes | Gemini, OpenRouter, NVIDIA, and Codex CLI OAuth are available from one TUI. |
57
59
  | Guided onboarding | First-run setup walks through local/remote mode, provider auth, host discovery, and model choice. |
58
60
  | Observable agent loop | Transcript, tool calls, telemetry, token counts, provider cache hits, latency, and cost estimates are visible. |
59
- | Explicit permissions | Risky tools request approval unless writes or shell commands are explicitly enabled. |
61
+ | Explicit permissions | Risky tools show a sticky approval box unless trusted bypass is explicitly accepted. |
60
62
  | Workspace boundary | File tools are constrained to the selected project root and block common secret files. |
61
63
  | Slash-command palette | Type `/` for browsable commands, provider switching, modes, models, diagnostics, and host selection. |
62
64
  | Advisor subagents | Explorer, planner, and reviewer advisor calls can brief the main agent before it edits. |
@@ -75,6 +77,8 @@ The core workflow is intentionally simple:
75
77
  4. Approve writes or shell commands only when the current task needs them.
76
78
  5. Review `/diff`, run tests, then commit manually.
77
79
 
80
+ Mode behavior is intentionally explicit: `plan` is read-only, `build` keeps writes and shell behind approval prompts, and `build+bypass` enables write and shell permissions only after a visible warning is accepted in the TUI.
81
+
78
82
  ## Requirements
79
83
 
80
84
  | Requirement | Notes |
@@ -130,7 +134,7 @@ cd /path/to/your/project
130
134
  patchpilot "find likely test gaps in this repo"
131
135
  ```
132
136
 
133
- Use build permissions only when you intentionally want PatchPilot to modify files or run commands:
137
+ Use bypass permissions only when you intentionally want PatchPilot to modify files or run commands without per-tool approval:
134
138
 
135
139
  ```bash
136
140
  patchpilot "add tests for the parser" --apply --allow-shell
@@ -170,11 +174,11 @@ Useful slash commands inside the TUI:
170
174
  | `/help <command>` | Explain one command, for example `/help think` or `/help model`. |
171
175
  | `/onboarding` | Open guided provider/auth/model setup. |
172
176
  | `/mode plan` | Read-only planning mode. |
173
- | `/mode build` | Implementation mode; writes and shell can still be toggled separately. |
177
+ | `/mode build` | Implementation mode; writes, scripts, tests, and shell require per-tool approval. |
174
178
  | `/think fixed\|adaptive` | Switch between fixed and adaptive step budgets. |
175
179
  | `/reasoning none\|low\|medium\|high\|xhigh\|adaptive` | Set provider reasoning effort where supported. |
176
- | `/write on\|off` | Enable or disable workspace writes. |
177
- | `/shell on\|off` | Enable or disable shell commands. |
180
+ | `/write on\|off` | Requests trusted bypass for direct writes, or returns to approval-gated build mode. |
181
+ | `/shell on\|off` | Requests trusted bypass for direct shell commands, or returns to approval-gated build mode. |
178
182
  | `/agents on\|off` | Enable or disable advisor subagents. |
179
183
  | `/provider ollama\|gemini\|openrouter\|nvidia\|codex` | Switch inference provider. |
180
184
  | `/model <query>` | Search and switch the model for the current provider. |
@@ -232,9 +236,9 @@ PatchPilot caches model discovery for a short TTL inside the running TUI, so nor
232
236
 
233
237
  PatchPilot reads provider cache telemetry when the provider reports it, for example Codex cached input tokens or OpenRouter `prompt_tokens_details.cached_tokens`, then displays cache hit rate as `cached / input`.
234
238
 
235
- Reasoning support is provider and model dependent. Codex accepts fixed reasoning levels. OpenRouter receives normalized `reasoning.effort` for compatible models. Gemini uses Thinking configuration where the selected model exposes it; some Gemini models cannot disable thinking. Ollama only receives native `think` values for known thinking model families. NVIDIA reasoning effort is limited to supported GPT-OSS NIM routes.
239
+ Reasoning support is provider and model dependent. Codex accepts fixed reasoning levels. OpenRouter receives `reasoning.effort` only for models whose metadata advertises reasoning support. Gemini uses Thinking configuration where the selected model exposes it; some Gemini models cannot disable thinking. Ollama only receives native `think` values for known thinking model families. NVIDIA reasoning effort is limited to supported GPT-OSS NIM routes.
236
240
 
237
- OpenRouter `:free` models are rate-limited by OpenRouter. PatchPilot warns when a selected model ID ends in `:free`.
241
+ OpenRouter `:free` models are rate-limited by OpenRouter. PatchPilot warns when a selected model ID ends in `:free`, and OpenRouter credit or rate-limit failures are surfaced as explicit provider errors.
238
242
 
239
243
  ## Remote Ollama
240
244
 
@@ -275,9 +279,9 @@ PATCHPILOT_NUM_CTX=4096 PATCHPILOT_NUM_PREDICT=768 patchpilot
275
279
  PatchPilot is designed to keep powerful actions boring and reviewable:
276
280
 
277
281
  - File access is constrained to one workspace root.
278
- - Secret-like files such as `.env`, `.npmrc`, SSH keys, and `.netrc` are blocked from normal file tools.
282
+ - Secret-like files such as `.env`, `.envrc`, `.npmrc`, `.netrc`, SSH keys, PEM/key/cert bundles, and credential files are blocked from normal file tools.
279
283
  - Writes are blocked by default; in the TUI, risky write tools request approval, and `--apply` keeps the legacy always-allow write path.
280
- - Shell commands are blocked by default; dedicated script/test tools request approval, and `--allow-shell` keeps the legacy always-allow shell path.
284
+ - Shell commands are blocked by default; dedicated script/test tools request approval and show the package script body before running. `--allow-shell` keeps the legacy always-allow shell path.
281
285
  - Shell execution uses a restricted single-command runner.
282
286
  - Provider config is stored in `~/.patchpilot/.env`, not in the current repository by default.
283
287
  - Session logs are stored as append-only JSONL in `.patchpilot/sessions/`; that folder is gitignored. A global index in `~/.patchpilot/session-index.json` powers `patchpilot sessions` and `/resume`.
@@ -298,7 +302,7 @@ run tests
298
302
  commit manually with git
299
303
  ```
300
304
 
301
- PatchPilot now has approval prompts and a Git diff command, but it still does not replace human review. Inline rich diff review and commit/PR automation remain future work.
305
+ PatchPilot now has sticky approval prompts and a Git diff command, but it still does not replace human review. Inline rich diff review, real context resume, and commit/PR automation remain future work.
302
306
 
303
307
  ## Tech Stack
304
308
 
@@ -351,6 +355,8 @@ Release notes are kept in [docs/releases](docs/releases).
351
355
 
352
356
  | Version | Notes |
353
357
  |---|---|
358
+ | `v0.4.0` | [Release notes](docs/releases/v0.4.0.md) |
359
+ | `v0.3.1-beta` | [Release notes](docs/releases/v0.3.1-beta.md) |
354
360
  | `v0.3.0` | [Release notes](docs/releases/v0.3.0.md) |
355
361
  | `v0.2.1` | [Release notes](docs/releases/v0.2.1.md) |
356
362
  | `v0.2.0` | [Release notes](docs/releases/v0.2.0.md) |
package/SECURITY.md CHANGED
@@ -17,4 +17,6 @@ Do not open a public issue for a vulnerability before the maintainer has had tim
17
17
 
18
18
  ## Security Model
19
19
 
20
- PatchPilot keeps file tools inside one workspace root, blocks common secret files, and requires explicit flags for writes and shell commands. Cloud providers may receive prompt and repository context under their own terms. Review diffs before committing generated changes.
20
+ PatchPilot keeps file tools inside one workspace root, blocks common secret files and credential-like extensions, and requires approval or explicit trusted bypass for writes and shell commands. Package-script approvals include the resolved script body because scripts can hide publish, push, or destructive commands.
21
+
22
+ Session logs are stored in `.patchpilot/sessions/` under the workspace and summarized in `~/.patchpilot/session-index.json`. Treat those logs as local project metadata: they may contain prompts, tool names, summaries, and clipped command output. Do not use cloud providers or trusted bypass in repositories containing secrets you do not want processed by external model providers.
@@ -5,6 +5,7 @@ export type AgentRunnerOptions = {
5
5
  model: string;
6
6
  ollamaUrl: string;
7
7
  workspace: string;
8
+ mode?: "plan" | "build" | "bypass";
8
9
  allowWrite: boolean;
9
10
  allowShell: boolean;
10
11
  maxSteps: number;
@@ -71,7 +71,12 @@ export class AgentRunner {
71
71
  const messages = [
72
72
  {
73
73
  role: "system",
74
- content: buildSystemPrompt(this.tools.root, subagentContext, workspaceSummary)
74
+ content: buildSystemPrompt(this.tools.root, subagentContext, workspaceSummary, {
75
+ mode: this.options.mode ?? (this.options.allowWrite || this.options.allowShell ? "bypass" : "plan"),
76
+ allowWrite: this.options.allowWrite,
77
+ allowShell: this.options.allowShell,
78
+ hasApprovalHandler: Boolean(this.options.approvalHandler)
79
+ })
75
80
  },
76
81
  {
77
82
  role: "user",
@@ -87,15 +92,16 @@ export class AgentRunner {
87
92
  };
88
93
  return;
89
94
  }
95
+ const requestWorkState = stepIndex === 0 ? "planning" : "inspecting";
90
96
  yield {
91
97
  type: "status",
92
98
  message: `thinking step ${stepIndex + 1}/${maxSteps}${this.options.thinkingMode === "adaptive" ? " adaptive" : ""}`,
93
- workState: stepIndex === 0 ? "planning" : "inspecting"
99
+ workState: requestWorkState
94
100
  };
95
101
  await this.options.sessionStore?.append({
96
102
  type: "model.request",
97
103
  runId,
98
- workState: stepIndex === 0 ? "planning" : "inspecting",
104
+ workState: requestWorkState,
99
105
  provider: this.options.provider,
100
106
  model: this.options.model,
101
107
  step: stepIndex + 1,
@@ -112,7 +118,7 @@ export class AgentRunner {
112
118
  yield {
113
119
  type: "metrics",
114
120
  metrics: modelResponse.telemetry,
115
- workState: "planning"
121
+ workState: requestWorkState
116
122
  };
117
123
  let parsedResponse;
118
124
  try {
@@ -244,7 +250,11 @@ export class AgentRunner {
244
250
  }
245
251
  messages.push({
246
252
  role: "assistant",
247
- content: rawResponse
253
+ content: JSON.stringify({
254
+ action: "tools",
255
+ message: parsedResponse.message,
256
+ tool_calls: toolCalls
257
+ })
248
258
  });
249
259
  messages.push({
250
260
  role: "user",
@@ -283,14 +293,31 @@ function shouldUseSubagents(task) {
283
293
  }
284
294
  return /\b(repo|repository|projekt|project|code|file|datei|test|build|fix|debug|implement|refactor|review|analyze|analyse|analysiere|prüf|pruef|bewerte|architektur|erklär|erklaer|such|find|install|commit|diff|patch|src|readme|sprache|programmiersprache|stack|framework|dependencies|abhängigkeiten|abhaengigkeiten|typescript|javascript|node|swift|python|c)\b/.test(normalizedTask);
285
295
  }
286
- function buildSystemPrompt(workspaceRoot, subagentContext, workspaceSummary) {
296
+ function buildSystemPrompt(workspaceRoot, subagentContext, workspaceSummary, permissions) {
287
297
  const workspaceLabel = path.basename(workspaceRoot) || "workspace";
298
+ const writePolicy = permissions.allowWrite
299
+ ? "write tools bypass approval for this run"
300
+ : permissions.hasApprovalHandler && permissions.mode === "build"
301
+ ? "write tools require interactive approval"
302
+ : "write tools are unavailable";
303
+ const shellPolicy = permissions.allowShell
304
+ ? "shell and test tools bypass approval for this run"
305
+ : permissions.hasApprovalHandler && permissions.mode === "build"
306
+ ? "shell and test tools require interactive approval"
307
+ : "shell and test tools are unavailable";
288
308
  return [
289
309
  "You are PatchPilot, a local coding agent running inside a terminal TUI.",
290
310
  "You help inspect, edit, test, and explain code inside one workspace.",
291
311
  `Runtime OS: ${type()} ${release()} (${platform()}). Use OS-appropriate shell commands and paths.`,
292
312
  `Workspace root: ${workspaceRoot}`,
293
313
  `Workspace label: ${workspaceLabel}`,
314
+ `Execution mode: ${permissions.mode}.`,
315
+ `Permission policy: ${writePolicy}; ${shellPolicy}.`,
316
+ permissions.mode === "plan"
317
+ ? "Plan mode is read-only: inspect files, explain findings, and return an implementation plan. Do not call write_file, apply_patch, run_script, run_tests, or run_shell."
318
+ : permissions.mode === "bypass"
319
+ ? "Build+bypass mode may run write, script, test, or shell tools without per-tool approval. Keep actions narrow and avoid broad destructive commands."
320
+ : "Build mode may request write, script, test, or shell tools when necessary. Prefer focused tool calls and keep risky actions easy to approve.",
294
321
  `All tool paths are relative to the workspace root. If the workspace is named "${workspaceLabel}", do not prefix paths with "${workspaceLabel}/". Use "." for the workspace root.`,
295
322
  "Treat short questions about this project, its language, stack, quality, architecture, dependencies, tests, or files as workspace questions.",
296
323
  "For greetings, small talk, or clearly non-workspace chat, answer normally without tool calls.",
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"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"}
@@ -44,20 +44,26 @@ export class GeminiClient {
44
44
  }
45
45
  async listModels() {
46
46
  this.assertConfigured();
47
- const response = await this.fetchGemini("models", {
48
- headers: {
49
- "x-goog-api-key": this.apiKey
47
+ const models = [];
48
+ let pageToken = "";
49
+ do {
50
+ const response = await this.fetchGemini(`models?pageSize=1000${pageToken ? `&pageToken=${encodeURIComponent(pageToken)}` : ""}`, {
51
+ headers: {
52
+ "x-goog-api-key": this.apiKey
53
+ }
54
+ });
55
+ const payload = (await readJsonSafely(response));
56
+ if (!response.ok || payload.error) {
57
+ const reason = payload.error?.message ? ` ${payload.error.message}` : "";
58
+ throw new Error(`Gemini models failed with HTTP ${response.status}.${reason}`);
50
59
  }
51
- });
52
- const payload = (await readJsonSafely(response));
53
- if (!response.ok || payload.error) {
54
- const reason = payload.error?.message ? ` ${payload.error.message}` : "";
55
- throw new Error(`Gemini models failed with HTTP ${response.status}.${reason}`);
56
- }
57
- return (payload.models
58
- ?.filter((model) => model.supportedGenerationMethods?.includes("generateContent"))
59
- .map((model) => stripModelPrefix(model.name))
60
- .sort() ?? []);
60
+ models.push(...(payload.models
61
+ ?.filter((model) => model.supportedGenerationMethods?.includes("generateContent"))
62
+ .map((model) => stripModelPrefix(model.name))
63
+ .filter(isLikelyGeminiAgentModel) ?? []));
64
+ pageToken = payload.nextPageToken ?? "";
65
+ } while (pageToken);
66
+ return [...new Set(models)].sort();
61
67
  }
62
68
  async fetchGemini(path, init) {
63
69
  try {
@@ -135,7 +141,7 @@ function toTelemetry(payload, durationMs, model) {
135
141
  const responseTokens = payload.usageMetadata?.candidatesTokenCount ?? 0;
136
142
  const cachedPromptTokens = payload.usageMetadata?.cachedContentTokenCount ?? 0;
137
143
  const thoughtsTokens = payload.usageMetadata?.thoughtsTokenCount ?? 0;
138
- const totalTokens = payload.usageMetadata?.totalTokenCount ?? promptTokens + responseTokens;
144
+ const totalTokens = payload.usageMetadata?.totalTokenCount ?? promptTokens + responseTokens + thoughtsTokens;
139
145
  return attachTokenCost({
140
146
  promptTokens,
141
147
  cachedPromptTokens,
@@ -149,6 +155,13 @@ function toTelemetry(payload, durationMs, model) {
149
155
  tokenSource: "provider"
150
156
  }, "gemini", model);
151
157
  }
158
+ function isLikelyGeminiAgentModel(model) {
159
+ const normalizedModel = model.toLowerCase();
160
+ if (/(embedding|imagen|veo|tts|aqa|live|bidi|audio|speech)/.test(normalizedModel)) {
161
+ return false;
162
+ }
163
+ return normalizedModel.startsWith("gemini-");
164
+ }
152
165
  async function readJsonSafely(response) {
153
166
  try {
154
167
  return await response.json();
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/core/gemini.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/core/gemini.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,12 @@ export class NvidiaClient {
35
35
  const payload = (await readJsonSafely(response));
36
36
  if (!response.ok || payload.error) {
37
37
  const reason = payload.error?.message ? ` ${payload.error.message}` : "";
38
+ if (response.status === 401) {
39
+ throw new Error("NVIDIA authentication failed. Check NVIDIA_API_KEY.");
40
+ }
41
+ if (response.status === 429) {
42
+ throw new Error(`NVIDIA rate limit hit for model "${options.model}".${reason}`);
43
+ }
38
44
  throw new Error(`NVIDIA chat failed for model "${options.model}": HTTP ${response.status}.${reason}`);
39
45
  }
40
46
  const content = payload.choices?.[0]?.message?.content?.trim() ?? "";
@@ -54,7 +60,12 @@ export class NvidiaClient {
54
60
  const reason = payload.error?.message ? ` ${payload.error.message}` : "";
55
61
  throw new Error(`NVIDIA models failed with HTTP ${response.status}.${reason}`);
56
62
  }
57
- const models = payload.data?.map((model) => model.id?.trim()).filter((model) => Boolean(model)).sort() ?? [];
63
+ const models = [
64
+ ...new Set(payload.data
65
+ ?.map((model) => model.id?.trim())
66
+ .filter((model) => Boolean(model))
67
+ .filter(isLikelyNvidiaChatModel) ?? [])
68
+ ].sort();
58
69
  return models.length > 0 ? models : [defaultNvidiaModel];
59
70
  }
60
71
  async fetchNvidia(path, init) {
@@ -126,6 +137,13 @@ const agentResponseFormat = {
126
137
  export function readNvidiaApiKey(env = process.env) {
127
138
  return env.NVIDIA_API_KEY?.trim() || env.PATCHPILOT_NVIDIA_API_KEY?.trim() || "";
128
139
  }
140
+ function isLikelyNvidiaChatModel(model) {
141
+ const normalizedModel = model.toLowerCase();
142
+ if (/(^|\/)(embed|rerank|rank|guard|safety|audio|asr|tts|ocr|vlm|vision|bge|nvlm|kosmos|phi-3-vision)/.test(normalizedModel)) {
143
+ return false;
144
+ }
145
+ return /(llama|mistral|mixtral|nemotron|qwen|deepseek|gpt-oss|gemma|phi|granite)/.test(normalizedModel);
146
+ }
129
147
  function readNvidiaRuntimeOptions(env = process.env) {
130
148
  return {
131
149
  maxTokens: readPositiveInteger(env.PATCHPILOT_NUM_PREDICT, 1024),
@@ -1 +1 @@
1
- {"version":3,"file":"nvidia.js","sourceRoot":"","sources":["../../src/core/nvidia.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nvidia.js","sourceRoot":"","sources":["../../src/core/nvidia.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,8 @@ export declare class OpenRouterClient {
18
18
  constructor(apiKey?: string, baseUrl?: string, runtimeOptions?: OpenRouterRuntimeOptions);
19
19
  chat(options: ModelChatOptions): Promise<ModelChatResult>;
20
20
  listModels(): Promise<string[]>;
21
+ private supportsJson;
22
+ private supportsReasoning;
21
23
  private fetchOpenRouter;
22
24
  private assertConfigured;
23
25
  }
@@ -5,6 +5,7 @@ export const defaultOpenRouterModel = "openrouter/auto";
5
5
  export const defaultOpenRouterBaseUrl = "https://openrouter.ai/api/v1";
6
6
  const modelPricingCacheTtlMs = 15 * 60_000;
7
7
  let modelPricingCache = null;
8
+ const modelCapabilityCache = new Map();
8
9
  export class OpenRouterClient {
9
10
  apiKey;
10
11
  baseUrl;
@@ -25,20 +26,30 @@ export class OpenRouterClient {
25
26
  "HTTP-Referer": "https://github.com/jx-grxf/PatchPilot",
26
27
  "X-Title": "PatchPilot"
27
28
  },
28
- body: JSON.stringify({
29
+ body: JSON.stringify(cleanUndefined({
29
30
  model: normalizeOpenRouterModel(options.model),
30
31
  messages: options.messages,
31
32
  max_tokens: this.runtimeOptions.maxTokens,
32
33
  temperature: this.runtimeOptions.temperature,
33
- reasoning: getOpenRouterReasoningConfig(options.reasoningEffort),
34
- response_format: options.formatJson ? { type: "json_object" } : undefined
35
- }),
34
+ reasoning: this.supportsReasoning(options.model) ? getOpenRouterReasoningConfig(options.reasoningEffort) : undefined,
35
+ response_format: options.formatJson && this.supportsJson(options.model) !== false ? { type: "json_object" } : undefined
36
+ })),
36
37
  signal: options.signal
37
38
  });
38
39
  const durationMs = Date.now() - startedAt;
39
40
  const payload = (await readJsonSafely(response));
40
41
  if (!response.ok || payload.error) {
41
42
  const reason = payload.error?.message ? ` ${payload.error.message}` : "";
43
+ if (response.status === 401) {
44
+ throw new Error(`OpenRouter authentication failed for model "${options.model}". Check OPENROUTER_API_KEY.`);
45
+ }
46
+ if (response.status === 402) {
47
+ throw new Error(`OpenRouter credit is exhausted for model "${options.model}". Add credits or use a free/cheaper route.${reason}`);
48
+ }
49
+ if (response.status === 429) {
50
+ const retryAfter = response.headers.get("retry-after");
51
+ throw new Error(`OpenRouter rate limit hit for model "${options.model}".${retryAfter ? ` Retry after ${retryAfter}s.` : ""}${reason}`);
52
+ }
42
53
  throw new Error(`OpenRouter chat failed for model "${options.model}": HTTP ${response.status}.${reason}`);
43
54
  }
44
55
  const content = payload.choices?.[0]?.message?.content?.trim() ?? "";
@@ -52,7 +63,16 @@ export class OpenRouterClient {
52
63
  }
53
64
  async listModels() {
54
65
  const models = await fetchOpenRouterModels(this.baseUrl);
55
- return [defaultOpenRouterModel, ...models.map((model) => model.id).sort()];
66
+ for (const model of models) {
67
+ modelCapabilityCache.set(capabilityKey(this.baseUrl, model.id), readOpenRouterCapability(model));
68
+ }
69
+ return [defaultOpenRouterModel, ...models.filter(isAgentCompatibleOpenRouterModel).map((model) => model.id).sort()];
70
+ }
71
+ supportsJson(model) {
72
+ return modelCapabilityCache.get(capabilityKey(this.baseUrl, normalizeOpenRouterModel(model)))?.supportsJson ?? null;
73
+ }
74
+ supportsReasoning(model) {
75
+ return modelCapabilityCache.get(capabilityKey(this.baseUrl, normalizeOpenRouterModel(model)))?.supportsReasoning === true;
56
76
  }
57
77
  async fetchOpenRouter(path, init) {
58
78
  try {
@@ -92,10 +112,11 @@ function normalizeOpenRouterModel(model) {
92
112
  return trimmedModel;
93
113
  }
94
114
  async function readOpenRouterPricing() {
95
- if (modelPricingCache && modelPricingCache.expiresAt > Date.now()) {
115
+ const baseUrl = process.env.PATCHPILOT_OPENROUTER_BASE_URL ?? defaultOpenRouterBaseUrl;
116
+ if (modelPricingCache && modelPricingCache.baseUrl === baseUrl && modelPricingCache.expiresAt > Date.now()) {
96
117
  return modelPricingCache.rates;
97
118
  }
98
- const models = await fetchOpenRouterModels(process.env.PATCHPILOT_OPENROUTER_BASE_URL ?? defaultOpenRouterBaseUrl).catch(() => []);
119
+ const models = await fetchOpenRouterModels(baseUrl).catch(() => []);
99
120
  const rates = new Map();
100
121
  for (const model of models) {
101
122
  rates.set(model.id, {
@@ -106,6 +127,7 @@ async function readOpenRouterPricing() {
106
127
  });
107
128
  }
108
129
  modelPricingCache = {
130
+ baseUrl,
109
131
  expiresAt: Date.now() + modelPricingCacheTtlMs,
110
132
  rates
111
133
  };
@@ -124,6 +146,28 @@ async function fetchOpenRouterModels(baseUrl) {
124
146
  }
125
147
  return payload.data ?? [];
126
148
  }
149
+ function readOpenRouterCapability(model) {
150
+ if (!Array.isArray(model.supported_parameters)) {
151
+ return {
152
+ supportsJson: null,
153
+ supportsReasoning: null
154
+ };
155
+ }
156
+ return {
157
+ supportsJson: model.supported_parameters.includes("response_format"),
158
+ supportsReasoning: model.supported_parameters.includes("reasoning")
159
+ };
160
+ }
161
+ function isAgentCompatibleOpenRouterModel(model) {
162
+ const capability = readOpenRouterCapability(model);
163
+ return capability.supportsJson !== false;
164
+ }
165
+ function capabilityKey(baseUrl, model) {
166
+ return `${baseUrl.replace(/\/$/, "")}:${normalizeOpenRouterModel(model)}`;
167
+ }
168
+ function cleanUndefined(value) {
169
+ return Object.fromEntries(Object.entries(value).filter(([, item]) => item !== undefined));
170
+ }
127
171
  async function toTelemetry(payload, durationMs, model) {
128
172
  const promptTokens = payload.usage?.prompt_tokens ?? 0;
129
173
  const responseTokens = payload.usage?.completion_tokens ?? 0;
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../src/core/openrouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../src/core/openrouter.ts"],"names":[],"mappings":"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"}