opencode-qoder-bridge 0.1.1 → 0.1.3

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/CHANGELOG.md CHANGED
@@ -4,6 +4,24 @@ All notable changes to this project are documented here. The format follows
4
4
  [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and releases use
5
5
  [Semantic Versioning](https://semver.org/).
6
6
 
7
+ ## [0.1.2] - 2026-08-20
8
+
9
+ ### Security
10
+
11
+ - Changed the default Qoder permission mode from `bypassPermissions` to the
12
+ SDK's safer `default` mode.
13
+ - Updated transitive MCP, URL, and glob dependencies; `npm audit` is clean.
14
+ - Added atomic, mode-restricted persistent session storage.
15
+
16
+ ### Added
17
+
18
+ - Opt-in Qoder session persistence and resume support.
19
+ - `qoder_session_reset` for clearing a configured persisted session.
20
+ - Authenticated opt-in end-to-end testing with `QODER_E2E=1`.
21
+ - Deterministic session-store and SDK option-policy tests.
22
+ - Direct `QODER_PERSONAL_ACCESS_TOKEN` authentication with CLI fallback.
23
+ - Cached, background-refreshed model discovery and `/qoder-models` inspection.
24
+
7
25
  ## [0.1.1] - 2026-07-25
8
26
 
9
27
  ### Security
@@ -47,3 +65,4 @@ also verified with an in-process MCP transport.
47
65
 
48
66
  [0.1.1]: https://github.com/naoufalelbani/opencode-qoder-bridge/compare/v0.1.0...v0.1.1
49
67
  [0.1.0]: https://github.com/naoufalelbani/opencode-qoder-bridge/releases/tag/v0.1.0
68
+ [0.1.2]: https://github.com/naoufalelbani/opencode-qoder-bridge/compare/v0.1.1...v0.1.2
package/README.md CHANGED
@@ -18,24 +18,32 @@ A ground-up rewrite focused on reliability, performance, and first-class usage/c
18
18
  - **Reliable lifecycle** — proper abort propagation, idempotent cleanup, and external-abort vs. internal-error distinction so cancellations don't surface as errors.
19
19
  - **Image input** — multimodal prompts are passed through the SDK's async-iterable path (base64, data URLs, `file://`, `~/`, and absolute paths).
20
20
 
21
- ## Prerequisites
21
+ ## Quick start
22
22
 
23
- 1. Use Node.js 22.18 or newer.
23
+ 1. Use Node.js 22.22.2 or newer, or Node.js 24.15.0 or newer.
24
24
 
25
- 2. Install and log in to the Qoder CLI:
25
+ 2. Install OpenCode and this plugin:
26
26
 
27
27
  ```bash
28
- qoder login
28
+ npm install -g opencode-ai
29
+ npm install opencode-qoder-bridge
29
30
  ```
30
31
 
31
- Credentials are stored under `~/.qoder/.auth/user`.
32
+ 3. Authenticate with a Qoder PAT (recommended):
33
+
34
+ ```bash
35
+ export QODER_PERSONAL_ACCESS_TOKEN="pt-..."
36
+ ```
32
37
 
33
- 3. Install opencode:
38
+ Or use the Qoder CLI login flow:
34
39
 
35
40
  ```bash
36
- npm install -g opencode-ai
41
+ qoder login
37
42
  ```
38
43
 
44
+ PAT authentication uses the SDK's worker runtime when available and does not
45
+ require a local `qoder login`. CLI authentication remains supported.
46
+
39
47
  ## Install
40
48
 
41
49
  For a published npm installation, add this to
@@ -74,8 +82,7 @@ opencode -m qoder/performance # interactive
74
82
 
75
83
  ### Usage & cost
76
84
 
77
- Run `/qoder-usage` in OpenCode (it uses the free `qoder/lite` model), run
78
- `qoder-usage` in a terminal for the same live report, or add the statusline
85
+ Run `qoder-usage` in a terminal for the live report, or add the statusline
79
86
  binary to your OpenCode statusline config:
80
87
 
81
88
  ```bash
@@ -111,8 +118,14 @@ The ledger accumulates across sessions. Delete `~/.config/opencode-qoder-bridge/
111
118
  ## Models
112
119
 
113
120
  The bridge discovers the available catalog at startup through the SDK's
114
- `getAvailableModels()` API. The following is the complete enabled catalog
115
- returned by a live query on **2026-07-25**:
121
+ `getAvailableModels()` API. Availability is account-, region-, rollout-, and
122
+ SDK-version-dependent. A live query on **2026-08-20** returned:
123
+
124
+ | Model ID | Name | Credit multiplier | Vision | Reasoning | Max input | Max output |
125
+ |----------|------|-------------------|--------|-----------|-----------|------------|
126
+
127
+ The following are known or historical model IDs. Some may be obsolete or
128
+ unavailable for a particular account and are not an availability guarantee:
116
129
 
117
130
  | Model ID | Name | Credit multiplier | Vision | Reasoning | Max input | Max output |
118
131
  |----------|------|-------------------|--------|-----------|-----------|------------|
@@ -123,6 +136,7 @@ returned by a live query on **2026-07-25**:
123
136
  | `lite` | Lite | 0.00x | ✗ | ✗ | 180K | 32K |
124
137
  | `cmodel` | Cantus | 1.60x | ✓ | ✓ | 180K | 32K |
125
138
  | `qmodel_preview` | Qwen3.8-Max-Preview | 0.01x promo | ✓ | ✓ | 180K | 32K |
139
+ | `qmodel_38max` | Qwen3.8-Max | 0.25x | ✓ | ✓ | 180K | 32K |
126
140
  | `qmodel_latest` | Qwen3.7-Max | 0.10x promo | ✓ | ✗ | 1M | 32K |
127
141
  | `qmodel` | Qwen3.7-Plus | 0.04x promo | ✓ | ✗ | 1M | 32K |
128
142
  | `kmodel_latest` | Kimi-K3 | 0.80x | ✓ | ✗ | 180K | 32K |
@@ -137,6 +151,11 @@ availability by account, plan, CLI version, or staged rollout. Promotional
137
151
  multipliers are time-dependent; the SDK's current `priceFactor` is
138
152
  authoritative. Restart OpenCode to refresh the bridge's in-process model cache.
139
153
 
154
+ Run `opencode models qoder` to inspect the models currently registered with
155
+ OpenCode. The `qoder_models` tool also exposes capabilities, context limits,
156
+ and price multipliers to the agent. Model discovery is cached and refreshed in
157
+ the background so network or authentication latency does not block startup.
158
+
140
159
  ## Configuration
141
160
 
142
161
  Bridge opencode MCP servers into the SDK by passing provider options:
@@ -155,6 +174,50 @@ Bridge opencode MCP servers into the SDK by passing provider options:
155
174
 
156
175
  `config.mcp` servers are bridged into the SDK's `mcpServers` automatically.
157
176
 
177
+ ### Persistent sessions and permissions
178
+
179
+ Session persistence is opt-in. Give a provider configuration a stable
180
+ `sessionKey` and enable `sessionPersistence`:
181
+
182
+ ```json
183
+ {
184
+ "provider": {
185
+ "qoder": {
186
+ "options": {
187
+ "sessionPersistence": true,
188
+ "sessionKey": "my-project-main"
189
+ }
190
+ }
191
+ }
192
+ }
193
+ ```
194
+
195
+ Mappings are stored in
196
+ `~/.config/opencode-qoder-bridge/sessions.json` with restrictive file
197
+ permissions. Use the `qoder_session_reset` tool to forget the mapping. A new
198
+ session is created automatically if the mapping does not exist; existing
199
+ sessions are resumed through the Qoder SDK.
200
+
201
+ The bridge uses the SDK's safer permission policy by default. To explicitly
202
+ allow all Qoder tools in a trusted local environment, configure for example:
203
+
204
+ ```json
205
+ {
206
+ "provider": {
207
+ "qoder": {
208
+ "options": {
209
+ "permissionMode": "default",
210
+ "allowedTools": ["Read", "Glob", "Grep"]
211
+ }
212
+ }
213
+ }
214
+ }
215
+ ```
216
+
217
+ Available permission modes are `default`, `acceptEdits`, and
218
+ `bypassPermissions`. Only explicitly configure `bypassPermissions` when the
219
+ host environment is trusted.
220
+
158
221
  ## Troubleshooting
159
222
 
160
223
  | Problem | Solution |
@@ -170,9 +233,17 @@ npm install
170
233
  npm run build # compile to dist/
171
234
  npm run typecheck # type-check only
172
235
  npm test # build and run the test suite
236
+ npm run test:e2e # authenticated real-CLI test; requires QODER_E2E=1
173
237
  npm run check # full pre-publish verification
174
238
  ```
175
239
 
240
+ The end-to-end test is intentionally opt-in because it starts Qoder and may
241
+ consume account quota. Run it only after `qoder login`:
242
+
243
+ ```bash
244
+ QODER_E2E=1 npm run test:e2e
245
+ ```
246
+
176
247
  ## Security
177
248
 
178
249
  Report suspected vulnerabilities privately as described in
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAmDjE,QAAA,MAAM,MAAM,EAAE,MA6Gb,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAiDjE,QAAA,MAAM,MAAM,EAAE,MAoIb,CAAC;AAEF,eAAe,MAAM,CAAC"}
package/dist/index.js CHANGED
@@ -1,15 +1,14 @@
1
- import { FALLBACK_MODELS, fetchDynamicModels } from "./models.js";
2
- import { isAuthenticated, findQoderCLI } from "./auth.js";
1
+ import { FALLBACK_MODELS, fetchDynamicModels, getCachedDynamicModels, listModels } from "./models.js";
2
+ import { findQoderCLI } from "./auth.js";
3
+ import { hasQoderCredential, hasQoderPAT, QODER_PAT_ENV } from "./sdk-auth.js";
3
4
  import { bridgeMcpServers } from "./mcp-bridge.js";
4
5
  import { getLiveUsage, formatUsageReport } from "./usage.js";
5
6
  import { summarize, formatCost } from "./cost.js";
6
7
  import { ensureTuiRegistered } from "./tui-register.js";
8
+ import { deleteQoderSession } from "./session-store.js";
7
9
  const PROVIDER_URL = new URL("./provider.js", import.meta.url).href;
8
- const USAGE_COMMAND = new URL("../bin/usage.mjs", import.meta.url);
9
10
  const UNSAFE_KEYS = new Set(["__proto__", "prototype", "constructor"]);
10
- function shellQuote(value) {
11
- return `'${value.replaceAll("'", "'\\''")}'`;
12
- }
11
+ let configuredSessionKey;
13
12
  function buildFallbackEntry(m) {
14
13
  return {
15
14
  name: m.name,
@@ -58,28 +57,27 @@ const plugin = async (input) => {
58
57
  async config(config) {
59
58
  config.provider ??= {};
60
59
  const existing = (config.provider.qoder ?? {});
61
- config.command ??= {};
62
- config.command["qoder-usage"] ??= {
63
- template: "This is output from the local qoder-usage CLI. Echo it in a fenced text block without interpreting it:\n\n"
64
- + `!\`node ${shellQuote(USAGE_COMMAND.pathname)}\``,
65
- description: "Show live Qoder credit quota and local usage totals",
66
- model: "qoder/lite",
67
- };
68
60
  const builtinModels = {};
69
- const dynamic = await fetchDynamicModels();
61
+ // Use cached/fallback models immediately. Refresh the catalog in the
62
+ // background so OpenCode startup never waits on network/auth discovery.
63
+ const dynamic = getCachedDynamicModels();
70
64
  if (dynamic) {
71
65
  for (const m of dynamic) {
72
66
  if (!UNSAFE_KEYS.has(m.id))
73
67
  builtinModels[m.id] = buildDynamicEntry(m);
74
68
  }
75
69
  }
76
- else {
77
- for (const m of FALLBACK_MODELS)
70
+ // Keep the provider usable when the live catalog is partial or offline.
71
+ // Dynamic entries remain authoritative for IDs returned by the SDK.
72
+ for (const m of FALLBACK_MODELS) {
73
+ if (!UNSAFE_KEYS.has(m.id) && !builtinModels[m.id])
78
74
  builtinModels[m.id] = buildFallbackEntry(m);
79
75
  }
76
+ void fetchDynamicModels(true).catch(() => { });
80
77
  const mergedModels = { ...builtinModels, ...(existing.models ?? {}) };
81
78
  const bridgedMcp = bridgeMcpServers(config.mcp);
82
79
  const mergedOptions = { ...(existing.options ?? {}) };
80
+ configuredSessionKey = typeof mergedOptions.sessionKey === "string" ? mergedOptions.sessionKey : undefined;
83
81
  if (Object.keys(bridgedMcp).length > 0) {
84
82
  mergedOptions.mcpServers = {
85
83
  ...(existing.options?.mcpServers ?? {}),
@@ -102,13 +100,13 @@ const plugin = async (input) => {
102
100
  methods: [
103
101
  {
104
102
  type: "api",
105
- label: "Open Qoder and log in, or run `qoder login` in your terminal",
103
+ label: `Use ${QODER_PAT_ENV} or run qoder login in your terminal`,
106
104
  prompts: [],
107
105
  async authorize() {
108
- if (!findQoderCLI()) {
106
+ if (!findQoderCLI() && !hasQoderPAT()) {
109
107
  return { type: "failed" };
110
108
  }
111
- if (isAuthenticated()) {
109
+ if (hasQoderCredential()) {
112
110
  return { type: "success", key: "qoder-cli-auth" };
113
111
  }
114
112
  return { type: "failed" };
@@ -140,6 +138,31 @@ const plugin = async (input) => {
140
138
  return { title: "Qoder Usage", output: lines.join("\n") };
141
139
  },
142
140
  },
141
+ qoder_models: {
142
+ description: "List known Qoder models, capabilities, limits, and price multipliers.",
143
+ args: {},
144
+ async execute() {
145
+ const models = listModels();
146
+ const lines = ["Qoder Models"];
147
+ for (const model of models) {
148
+ lines.push(` ${model.id}: ${model.name}`);
149
+ lines.push(` context ${model.limit.context}, output ${model.limit.output}, price ${model.multiplier}x`);
150
+ lines.push(` vision ${model.attachment ? "yes" : "no"}, reasoning ${model.reasoning ? "yes" : "no"}`);
151
+ }
152
+ return { title: "Qoder Models", output: lines.join("\n") };
153
+ },
154
+ },
155
+ qoder_session_reset: {
156
+ description: "Forget the persisted Qoder session mapping for the configured session key.",
157
+ args: {},
158
+ async execute() {
159
+ if (!configuredSessionKey) {
160
+ return { title: "Qoder Session", output: "No sessionKey is configured; no persisted session was reset." };
161
+ }
162
+ await deleteQoderSession(configuredSessionKey);
163
+ return { title: "Qoder Session", output: `Reset persisted Qoder session: ${configuredSessionKey}` };
164
+ },
165
+ },
143
166
  },
144
167
  };
145
168
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"language-model.d.ts","sourceRoot":"","sources":["../src/language-model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAG1B,6BAA6B,EAE7B,2BAA2B,EAE5B,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AA4DrD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAEpG;AAED,qBAAa,kBAAmB,YAAW,eAAe;IACxD,QAAQ,CAAC,oBAAoB,EAAG,IAAI,CAAU;IAC9C,QAAQ,CAAC,QAAQ,EAAG,OAAO,CAAU;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAM;IAEtD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;gBAEvC,OAAO,EAAE,MAAM,EAAE,aAAa,GAAE,kBAAuB;IAK7D,UAAU,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAmCvF,QAAQ,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IA6FzF,OAAO,CAAC,iBAAiB;CAsB1B"}
1
+ {"version":3,"file":"language-model.d.ts","sourceRoot":"","sources":["../src/language-model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAG1B,6BAA6B,EAE7B,2BAA2B,EAE5B,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AA8DrD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAEpG;AAED,qBAAa,kBAAmB,YAAW,eAAe;IACxD,QAAQ,CAAC,oBAAoB,EAAG,IAAI,CAAU;IAC9C,QAAQ,CAAC,QAAQ,EAAG,OAAO,CAAU;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAM;IAEtD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;gBAEvC,OAAO,EAAE,MAAM,EAAE,aAAa,GAAE,kBAAuB;IAK7D,UAAU,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAmCvF,QAAQ,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAwGzF,OAAO,CAAC,iBAAiB;CAsC1B"}
@@ -1,10 +1,12 @@
1
1
  import { randomUUID } from "node:crypto";
2
- import { query, qodercliAuth } from "@qoder-ai/qoder-agent-sdk";
2
+ import { query } from "@qoder-ai/qoder-agent-sdk";
3
3
  import { getModel, DEFAULT_MODEL_ID } from "./models.js";
4
4
  import { findQoderCLI } from "./auth.js";
5
- import { buildPromptString, buildPromptIterable, promptHasImage } from "./prompt-builder.js";
5
+ import { buildPromptString, buildPromptIterable, latestPrompt, promptHasImage } from "./prompt-builder.js";
6
6
  import { normalizeToolName, normalizeToolInputString } from "./tool-normalizer.js";
7
7
  import { recordTurn } from "./cost.js";
8
+ import { ensureQoderSession, getQoderSession } from "./session-store.js";
9
+ import { hasQoderPAT, qoderAuth } from "./sdk-auth.js";
8
10
  function isRecord(v) {
9
11
  return typeof v === "object" && v !== null && !Array.isArray(v);
10
12
  }
@@ -86,15 +88,23 @@ export class QoderLanguageModel {
86
88
  }
87
89
  async doStream(options) {
88
90
  const cli = findQoderCLI();
89
- if (!cli) {
91
+ if (!cli && !hasQoderPAT()) {
90
92
  throw new Error("qodercli not found. Install Qoder CLI first: https://docs.qoder.com/cli");
91
93
  }
92
94
  const model = getModel(this.modelId) ?? getModel(DEFAULT_MODEL_ID);
93
- const sessionId = randomUUID();
95
+ const sessionKey = this.bridgeOptions.sessionKey ?? this.bridgeOptions.sessionId;
96
+ const persisted = this.bridgeOptions.sessionPersistence && sessionKey
97
+ ? await getQoderSession(sessionKey)
98
+ : null;
99
+ const sessionId = this.bridgeOptions.sessionId ?? persisted?.qoderSessionId ?? randomUUID();
100
+ const shouldResume = Boolean(this.bridgeOptions.sessionId || persisted);
94
101
  const promptMessages = options.prompt;
95
- const prompt = promptHasImage(promptMessages)
96
- ? buildPromptIterable(promptMessages, model.limit.context, sessionId)
97
- : buildPromptString(promptMessages, model.limit.context);
102
+ const promptInput = shouldResume
103
+ ? latestPrompt(promptMessages)
104
+ : promptMessages;
105
+ const prompt = promptHasImage(promptInput)
106
+ ? buildPromptIterable(promptInput, model.limit.context, sessionId)
107
+ : buildPromptString(promptInput, model.limit.context);
98
108
  const functionToolNames = new Set((options.tools ?? [])
99
109
  .filter((t) => t.type === "function")
100
110
  .map((t) => normalizeToolName(t.name)));
@@ -119,7 +129,7 @@ export class QoderLanguageModel {
119
129
  else
120
130
  options.abortSignal.addEventListener("abort", markExternal, { once: true });
121
131
  }
122
- const qoderOptions = this.buildQueryOptions(cli, sessionId, abortController);
132
+ const qoderOptions = this.buildQueryOptions(cli, sessionId, abortController, shouldResume);
123
133
  const stream = new ReadableStream({
124
134
  cancel: markExternal,
125
135
  start: async (controller) => {
@@ -142,6 +152,9 @@ export class QoderLanguageModel {
142
152
  controller.enqueue({ type: "stream-start", warnings: [] });
143
153
  try {
144
154
  qoderQuery = query({ prompt, options: qoderOptions });
155
+ if (this.bridgeOptions.sessionPersistence && sessionKey) {
156
+ await ensureQoderSession(sessionKey, sessionId, process.cwd());
157
+ }
145
158
  for await (const msg of qoderQuery) {
146
159
  handleSdkMessage(msg, state);
147
160
  if (state.finished)
@@ -169,18 +182,30 @@ export class QoderLanguageModel {
169
182
  });
170
183
  return { stream };
171
184
  }
172
- buildQueryOptions(cli, sessionId, abortController) {
185
+ buildQueryOptions(cli, sessionId, abortController, shouldResume) {
186
+ const sessionKey = this.bridgeOptions.sessionKey ?? this.bridgeOptions.sessionId;
187
+ const permissionMode = this.bridgeOptions.permissionMode ?? "default";
173
188
  const opts = {
174
- auth: qodercliAuth(),
189
+ auth: qoderAuth(),
175
190
  model: this.modelId,
176
- pathToQoderCLIExecutable: cli,
177
- allowDangerouslySkipPermissions: true,
178
- permissionMode: "bypassPermissions",
191
+ allowDangerouslySkipPermissions: this.bridgeOptions.allowDangerouslySkipPermissions
192
+ ?? (permissionMode === "bypassPermissions" ? true : undefined),
193
+ permissionMode,
179
194
  includePartialMessages: true,
180
195
  sessionId,
181
196
  cwd: process.cwd(),
182
197
  abortController,
183
198
  };
199
+ if (cli)
200
+ opts.pathToQoderCLIExecutable = cli;
201
+ if ((this.bridgeOptions.sessionId || (this.bridgeOptions.sessionPersistence && sessionKey)) && shouldResume) {
202
+ opts.resume = sessionId;
203
+ opts.persistSession = true;
204
+ }
205
+ if (this.bridgeOptions.allowedTools)
206
+ opts.allowedTools = this.bridgeOptions.allowedTools;
207
+ if (this.bridgeOptions.disallowedTools)
208
+ opts.disallowedTools = this.bridgeOptions.disallowedTools;
184
209
  const mcpServers = this.bridgeOptions.mcpServers;
185
210
  if (mcpServers && Object.keys(mcpServers).length > 0) {
186
211
  opts.mcpServers = mcpServers;
@@ -1 +1 @@
1
- {"version":3,"file":"language-model.js","sourceRoot":"","sources":["../src/language-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"language-model.js","sourceRoot":"","sources":["../src/language-model.ts"],"names":[],"mappings":"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"}
package/dist/models.d.ts CHANGED
@@ -23,5 +23,7 @@ export interface DynamicModelEntry {
23
23
  output: string[];
24
24
  };
25
25
  }
26
- export declare function fetchDynamicModels(): Promise<DynamicModelEntry[] | null>;
26
+ export declare function listModels(): QoderModelDef[];
27
+ export declare function getCachedDynamicModels(): DynamicModelEntry[] | null;
28
+ export declare function fetchDynamicModels(force?: boolean): Promise<DynamicModelEntry[] | null>;
27
29
  //# sourceMappingURL=models.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA8BhD,eAAO,MAAM,eAAe,EAAE,aAAa,EAI1C,CAAC;AAEF,eAAO,MAAM,gBAAgB,SAAS,CAAC;AAIvC,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAE9D;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACjF,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CACnD;AA6BD,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,CA+C9E"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAmChD,eAAO,MAAM,eAAe,EAAE,aAAa,EAI1C,CAAC;AAEF,eAAO,MAAM,gBAAgB,SAAS,CAAC;AAuBvC,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAE9D;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACjF,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CACnD;AAgDD,wBAAgB,UAAU,IAAI,aAAa,EAAE,CAE5C;AAED,wBAAgB,sBAAsB,IAAI,iBAAiB,EAAE,GAAG,IAAI,CAEnE;AAED,wBAAsB,kBAAkB,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,CAgC3F"}
package/dist/models.js CHANGED
@@ -1,6 +1,11 @@
1
- import { query, qodercliAuth } from "@qoder-ai/qoder-agent-sdk";
1
+ import { query } from "@qoder-ai/qoder-agent-sdk";
2
2
  import { findQoderCLI } from "./auth.js";
3
3
  import { idlePrompt } from "./sdk-session.js";
4
+ import { hasQoderPAT, qoderAuth } from "./sdk-auth.js";
5
+ import { existsSync, mkdirSync, readFileSync } from "node:fs";
6
+ import { writeFile } from "node:fs/promises";
7
+ import { homedir } from "node:os";
8
+ import { join } from "node:path";
4
9
  const CONTEXT = 200_000;
5
10
  const OUTPUT = 32_000;
6
11
  function def(id, name, multiplier, opts = {}) {
@@ -27,6 +32,24 @@ export const FALLBACK_MODELS = [
27
32
  ];
28
33
  export const DEFAULT_MODEL_ID = "auto";
29
34
  const MODEL_INDEX = new Map(FALLBACK_MODELS.map((m) => [m.id, m]));
35
+ const MODEL_CACHE_FILE = join(homedir(), ".config", "opencode-qoder-bridge", "models.json");
36
+ function addToIndex(m) {
37
+ MODEL_INDEX.set(m.id, {
38
+ id: m.id,
39
+ name: m.name,
40
+ multiplier: m.cost.input,
41
+ attachment: m.attachment,
42
+ reasoning: m.reasoning,
43
+ toolCall: m.toolCall,
44
+ cost: {
45
+ input: m.cost.input,
46
+ output: m.cost.output,
47
+ cacheRead: m.cost.cache_read,
48
+ cacheWrite: m.cost.cache_write,
49
+ },
50
+ limit: m.limit,
51
+ });
52
+ }
30
53
  export function getModel(id) {
31
54
  return MODEL_INDEX.get(id);
32
55
  }
@@ -54,12 +77,41 @@ function mapModelInfo(m) {
54
77
  },
55
78
  };
56
79
  }
57
- let cachedDynamicModels = null;
58
- export async function fetchDynamicModels() {
59
- if (cachedDynamicModels)
80
+ let cachedDynamicModels = loadCachedModels();
81
+ function loadCachedModels() {
82
+ try {
83
+ if (!existsSync(MODEL_CACHE_FILE))
84
+ return null;
85
+ const parsed = JSON.parse(readFileSync(MODEL_CACHE_FILE, "utf8"));
86
+ if (!Array.isArray(parsed))
87
+ return null;
88
+ const models = parsed.filter((m) => {
89
+ if (!m || typeof m !== "object")
90
+ return false;
91
+ const x = m;
92
+ return typeof x.id === "string" && typeof x.name === "string" && typeof x.attachment === "boolean"
93
+ && typeof x.reasoning === "boolean" && typeof x.toolCall === "boolean" && typeof x.limit === "object"
94
+ && typeof x.cost === "object" && typeof x.modalities === "object";
95
+ });
96
+ for (const model of models)
97
+ addToIndex(model);
98
+ return models.length > 0 ? models : null;
99
+ }
100
+ catch {
101
+ return null;
102
+ }
103
+ }
104
+ export function listModels() {
105
+ return [...MODEL_INDEX.values()].map((m) => ({ ...m, cost: { ...m.cost }, limit: { ...m.limit } }));
106
+ }
107
+ export function getCachedDynamicModels() {
108
+ return cachedDynamicModels;
109
+ }
110
+ export async function fetchDynamicModels(force = false) {
111
+ if (cachedDynamicModels && !force)
60
112
  return cachedDynamicModels;
61
113
  const cli = findQoderCLI();
62
- if (!cli)
114
+ if (!cli && !hasQoderPAT())
63
115
  return null;
64
116
  let q;
65
117
  const abortController = new AbortController();
@@ -67,10 +119,10 @@ export async function fetchDynamicModels() {
67
119
  q = query({
68
120
  prompt: idlePrompt(abortController.signal),
69
121
  options: {
70
- auth: qodercliAuth(),
122
+ auth: qoderAuth(),
71
123
  model: "auto",
72
- pathToQoderCLIExecutable: cli,
73
124
  abortController,
125
+ ...(cli ? { pathToQoderCLIExecutable: cli } : {}),
74
126
  },
75
127
  });
76
128
  const models = await q.getAvailableModels({ fetchStrategy: "cache" });
@@ -78,24 +130,13 @@ export async function fetchDynamicModels() {
78
130
  return null;
79
131
  const enabled = models.filter((m) => m.isEnabled !== false);
80
132
  cachedDynamicModels = enabled.map(mapModelInfo);
81
- for (const m of enabled) {
82
- const factor = m.priceFactor ?? 1.0;
83
- MODEL_INDEX.set(m.value, {
84
- id: m.value,
85
- name: m.displayName,
86
- multiplier: factor,
87
- attachment: m.isVl ?? true,
88
- reasoning: m.isReasoning ?? false,
89
- toolCall: true,
90
- cost: {
91
- input: factor,
92
- output: factor,
93
- cacheRead: Number((factor * 0.1).toFixed(4)),
94
- cacheWrite: factor,
95
- },
96
- limit: { context: m.maxInputTokens ?? CONTEXT, output: m.maxOutputTokens ?? OUTPUT },
97
- });
133
+ for (const m of cachedDynamicModels)
134
+ addToIndex(m);
135
+ try {
136
+ mkdirSync(join(homedir(), ".config", "opencode-qoder-bridge"), { recursive: true, mode: 0o700 });
98
137
  }
138
+ catch { /* ignore */ }
139
+ void writeFile(MODEL_CACHE_FILE, JSON.stringify(cachedDynamicModels, null, 2) + "\n", { mode: 0o600 }).catch(() => { });
99
140
  return cachedDynamicModels;
100
141
  }
101
142
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAkB,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,OAAO,GAAG,OAAO,CAAC;AACxB,MAAM,MAAM,GAAG,MAAM,CAAC;AAEtB,SAAS,GAAG,CACV,EAAU,EACV,IAAY,EACZ,UAAkB,EAClB,OAA8E,EAAE;IAEhF,OAAO;QACL,EAAE;QACF,IAAI;QACJ,UAAU;QACV,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;QACnC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK;QAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;QAC/B,IAAI,EAAE;YACJ,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,MAAM,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAChD,UAAU,EAAE,UAAU;SACvB;QACD,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE;KAC5C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACpD,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC;IAC/B,GAAG,CAAC,aAAa,EAAE,oBAAoB,EAAE,GAAG,CAAC;CAC9C,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEvC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,uBAAuB,EAAE,aAAa,CAAC,CAAC;AAE5F,SAAS,UAAU,CAAC,CAAoB;IACtC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACpB,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;QACxB,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,IAAI,EAAE;YACJ,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;YACnB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM;YACrB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU;YAC5B,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW;SAC/B;QACD,KAAK,EAAE,CAAC,CAAC,KAAK;KACf,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EAAU;IACjC,OAAO,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC7B,CAAC;AAaD,SAAS,YAAY,CAAC,CAAY;IAChC,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,IAAI,GAAG,CAAC;IACpC,MAAM,OAAO,GAAG,CAAC,CAAC,cAAc,IAAI,OAAO,CAAC;IAC5C,MAAM,MAAM,GAAG,CAAC,CAAC,eAAe,IAAI,MAAM,CAAC;IAC3C,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;IAC1B,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,KAAK;QACX,IAAI,EAAE,CAAC,CAAC,WAAW;QACnB,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,CAAC,CAAC,WAAW,IAAI,KAAK;QACjC,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;QAC1B,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,MAAM,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7C,WAAW,EAAE,MAAM;SACpB;QACD,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACxC,MAAM,EAAE,CAAC,MAAM,CAAC;SACjB;KACF,CAAC;AACJ,CAAC;AAED,IAAI,mBAAmB,GAA+B,gBAAgB,EAAE,CAAC;AAEzE,SAAS,gBAAgB;IACvB,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAY,CAAC;QAC7E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAA0B,EAAE;YACzD,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC9C,MAAM,CAAC,GAAG,CAA4B,CAAC;YACvC,OAAO,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,SAAS;mBAC7F,OAAO,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;mBAClG,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;AACtG,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,KAAK,GAAG,KAAK;IACpD,IAAI,mBAAmB,IAAI,CAAC,KAAK;QAAE,OAAO,mBAAmB,CAAC;IAE9D,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;IACzB,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE;QAAE,OAAO,IAAI,CAAC;IAE1C,IAAI,CAAuC,CAAC;IAC5C,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC9C,IAAI,CAAC;QACH,CAAC,GAAG,KAAK,CAAC;YACR,MAAM,EAAE,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC;YAC1C,OAAO,EAAE;gBACP,IAAI,EAAE,SAAS,EAAE;gBACjB,KAAK,EAAE,MAAM;gBACb,eAAe;gBACf,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClD;SACF,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,kBAAkB,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;QAC5D,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChD,KAAK,MAAM,CAAC,IAAI,mBAAmB;YAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC;YAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,uBAAuB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAChI,KAAK,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACvH,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,eAAe,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
@@ -23,6 +23,8 @@ export type SdkUserMessage = {
23
23
  content: Array<TextBlock | ImageBlock>;
24
24
  };
25
25
  };
26
+ /** Return only the newest turn when the SDK is resuming an existing session. */
27
+ export declare function latestPrompt(prompt: PromptMessage[]): PromptMessage[];
26
28
  export declare function promptHasImage(prompt: PromptMessage[]): boolean;
27
29
  export declare function buildPromptString(prompt: PromptMessage[], contextWindow: number): string;
28
30
  export declare function buildPromptIterable(prompt: PromptMessage[], contextWindow: number, sessionId: string): AsyncGenerator<SdkUserMessage>;
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-builder.d.ts","sourceRoot":"","sources":["../src/prompt-builder.ts"],"names":[],"mappings":"AAUA,KAAK,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAExD,KAAK,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAChD,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9D,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,IAAI,CAAC;IACzB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC,CAAA;KAAE,CAAC;CACnE,CAAC;AAwNF,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAS/D;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAexF;AAED,wBAAuB,mBAAmB,CACxC,MAAM,EAAE,aAAa,EAAE,EACvB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,cAAc,CAAC,cAAc,CAAC,CAsChC"}
1
+ {"version":3,"file":"prompt-builder.d.ts","sourceRoot":"","sources":["../src/prompt-builder.ts"],"names":[],"mappings":"AAUA,KAAK,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAExD,KAAK,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAChD,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9D,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,IAAI,CAAC;IACzB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC,CAAA;KAAE,CAAC;CACnE,CAAC;AAwLF,gFAAgF;AAChF,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAGrE;AAkCD,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAS/D;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAexF;AAED,wBAAuB,mBAAmB,CACxC,MAAM,EAAE,aAAa,EAAE,EACvB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,cAAc,CAAC,cAAc,CAAC,CAsChC"}
@@ -210,6 +210,11 @@ function lastUserIndex(prompt) {
210
210
  }
211
211
  return -1;
212
212
  }
213
+ /** Return only the newest turn when the SDK is resuming an existing session. */
214
+ export function latestPrompt(prompt) {
215
+ const idx = lastUserIndex(prompt);
216
+ return idx >= 0 ? prompt.slice(idx) : prompt.slice(-1);
217
+ }
213
218
  function trimToBudget(prompt, contextWindow) {
214
219
  const budget = Math.floor(contextWindow * BUDGET_RATIO);
215
220
  if (prompt.length <= 1)
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../src/prompt-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../src/prompt-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { AuthOptions } from "@qoder-ai/qoder-agent-sdk";
2
+ export declare const QODER_PAT_ENV = "QODER_PERSONAL_ACCESS_TOKEN";
3
+ export declare function hasQoderPAT(): boolean;
4
+ /** Prefer a PAT when present, while retaining local qoder login compatibility. */
5
+ export declare function qoderAuth(): AuthOptions;
6
+ export declare function hasQoderCredential(): boolean;
7
+ //# sourceMappingURL=sdk-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-auth.d.ts","sourceRoot":"","sources":["../src/sdk-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG7D,eAAO,MAAM,aAAa,gCAAgC,CAAC;AAE3D,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED,kFAAkF;AAClF,wBAAgB,SAAS,IAAI,WAAW,CAIvC;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C"}
@@ -0,0 +1,16 @@
1
+ import { accessTokenFromEnv, qodercliAuth } from "@qoder-ai/qoder-agent-sdk";
2
+ import { isAuthenticated } from "./auth.js";
3
+ export const QODER_PAT_ENV = "QODER_PERSONAL_ACCESS_TOKEN";
4
+ export function hasQoderPAT() {
5
+ return Boolean(process.env[QODER_PAT_ENV]);
6
+ }
7
+ /** Prefer a PAT when present, while retaining local qoder login compatibility. */
8
+ export function qoderAuth() {
9
+ return hasQoderPAT()
10
+ ? accessTokenFromEnv(QODER_PAT_ENV)
11
+ : qodercliAuth();
12
+ }
13
+ export function hasQoderCredential() {
14
+ return hasQoderPAT() || isAuthenticated();
15
+ }
16
+ //# sourceMappingURL=sdk-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-auth.js","sourceRoot":"","sources":["../src/sdk-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE7E,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,CAAC,MAAM,aAAa,GAAG,6BAA6B,CAAC;AAE3D,MAAM,UAAU,WAAW;IACzB,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,SAAS;IACvB,OAAO,WAAW,EAAE;QAClB,CAAC,CAAC,kBAAkB,CAAC,aAAa,CAAC;QACnC,CAAC,CAAC,YAAY,EAAE,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,WAAW,EAAE,IAAI,eAAe,EAAE,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,10 @@
1
+ export interface QoderSessionRecord {
2
+ qoderSessionId: string;
3
+ cwd: string;
4
+ createdAt: string;
5
+ lastUsedAt: string;
6
+ }
7
+ export declare function getQoderSession(key: string): Promise<QoderSessionRecord | null>;
8
+ export declare function ensureQoderSession(key: string, qoderSessionId: string, cwd: string): Promise<QoderSessionRecord>;
9
+ export declare function deleteQoderSession(key: string): Promise<void>;
10
+ //# sourceMappingURL=session-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../src/session-store.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAmCD,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAGrF;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,kBAAkB,CAAC,CAe7B;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMnE"}
@@ -0,0 +1,73 @@
1
+ import { chmod, mkdir, readFile, rename, writeFile } from "node:fs/promises";
2
+ import { randomUUID } from "node:crypto";
3
+ import { homedir } from "node:os";
4
+ import { join } from "node:path";
5
+ const STATE_DIR = process.env.QODER_BRIDGE_STATE_DIR
6
+ ? join(process.env.QODER_BRIDGE_STATE_DIR)
7
+ : join(homedir(), ".config", "opencode-qoder-bridge");
8
+ const STATE_FILE = join(STATE_DIR, "sessions.json");
9
+ const UNSAFE_KEYS = new Set(["__proto__", "prototype", "constructor"]);
10
+ function validRecord(value) {
11
+ if (!value || typeof value !== "object" || Array.isArray(value))
12
+ return false;
13
+ const record = value;
14
+ return typeof record.qoderSessionId === "string"
15
+ && typeof record.cwd === "string"
16
+ && typeof record.createdAt === "string"
17
+ && typeof record.lastUsedAt === "string";
18
+ }
19
+ async function load() {
20
+ try {
21
+ const raw = JSON.parse(await readFile(STATE_FILE, "utf8"));
22
+ if (!raw || typeof raw !== "object" || Array.isArray(raw))
23
+ return {};
24
+ const state = {};
25
+ for (const [key, value] of Object.entries(raw)) {
26
+ if (!UNSAFE_KEYS.has(key) && validRecord(value))
27
+ state[key] = value;
28
+ }
29
+ return state;
30
+ }
31
+ catch {
32
+ return {};
33
+ }
34
+ }
35
+ async function save(state) {
36
+ await mkdir(STATE_DIR, { recursive: true, mode: 0o700 });
37
+ const temporary = join(STATE_DIR, `.sessions.${process.pid}.${randomUUID()}.tmp`);
38
+ await writeFile(temporary, JSON.stringify(state, null, 2) + "\n", { mode: 0o600 });
39
+ await chmod(temporary, 0o600);
40
+ await rename(temporary, STATE_FILE);
41
+ }
42
+ export async function getQoderSession(key) {
43
+ if (!key || UNSAFE_KEYS.has(key))
44
+ return null;
45
+ return (await load())[key] ?? null;
46
+ }
47
+ export async function ensureQoderSession(key, qoderSessionId, cwd) {
48
+ if (!key || UNSAFE_KEYS.has(key))
49
+ throw new Error("Invalid Qoder session key");
50
+ const state = await load();
51
+ const now = new Date().toISOString();
52
+ const existing = state[key];
53
+ const record = existing ?? {
54
+ qoderSessionId,
55
+ cwd,
56
+ createdAt: now,
57
+ lastUsedAt: now,
58
+ };
59
+ record.lastUsedAt = now;
60
+ state[key] = record;
61
+ await save(state);
62
+ return record;
63
+ }
64
+ export async function deleteQoderSession(key) {
65
+ if (!key || UNSAFE_KEYS.has(key))
66
+ return;
67
+ const state = await load();
68
+ if (!(key in state))
69
+ return;
70
+ delete state[key];
71
+ await save(state);
72
+ }
73
+ //# sourceMappingURL=session-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../src/session-store.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -24,6 +24,20 @@ export interface QoderBridgeOptions {
24
24
  extraArgs?: Record<string, string | null>;
25
25
  /** Bridged MCP server configs keyed by server name. */
26
26
  mcpServers?: Record<string, unknown>;
27
+ /** Opt into resuming a persisted Qoder session. */
28
+ sessionPersistence?: boolean;
29
+ /** Stable key used to map this provider to a Qoder session. */
30
+ sessionKey?: string;
31
+ /** Explicit Qoder session ID, useful for integrations that own session state. */
32
+ sessionId?: string;
33
+ /** SDK permission policy. Defaults to the safe SDK policy. */
34
+ permissionMode?: "default" | "acceptEdits" | "bypassPermissions";
35
+ /** Whether the SDK may skip permission checks when bypassPermissions is selected. */
36
+ allowDangerouslySkipPermissions?: boolean;
37
+ /** Optional SDK tool allowlist. */
38
+ allowedTools?: string[];
39
+ /** Optional SDK tool denylist. */
40
+ disallowedTools?: string[];
27
41
  }
28
42
  export interface ModelCost {
29
43
  input: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,uFAAuF;IACvF,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1C,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,uFAAuF;IACvF,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1C,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,mDAAmD;IACnD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,cAAc,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,mBAAmB,CAAC;IACjE,qFAAqF;IACrF,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAU3D;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAqCrE;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAG3C;AAQD,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAsBtD"}
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAW3D;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAsCrE;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAG3C;AAQD,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAsBtD"}
package/dist/usage.js CHANGED
@@ -1,6 +1,7 @@
1
- import { query, qodercliAuth } from "@qoder-ai/qoder-agent-sdk";
1
+ import { query } from "@qoder-ai/qoder-agent-sdk";
2
2
  import { findQoderCLI } from "./auth.js";
3
3
  import { idlePrompt } from "./sdk-session.js";
4
+ import { hasQoderPAT, qoderAuth } from "./sdk-auth.js";
4
5
  const CACHE_TTL_MS = 60_000;
5
6
  let cached = null;
6
7
  let cacheExpiry = 0;
@@ -18,17 +19,18 @@ export function getLiveUsage(force = false) {
18
19
  return inflight;
19
20
  inflight = (async () => {
20
21
  const cli = findQoderCLI();
21
- if (!cli)
22
+ if (!cli && !hasQoderPAT())
22
23
  return null;
23
24
  const abortController = new AbortController();
25
+ const sdkOptions = {
26
+ auth: qoderAuth(),
27
+ abortController,
28
+ maxTurns: 1,
29
+ ...(cli ? { pathToQoderCLIExecutable: cli } : {}),
30
+ };
24
31
  const q = query({
25
32
  prompt: idlePrompt(abortController.signal),
26
- options: {
27
- auth: qodercliAuth(),
28
- pathToQoderCLIExecutable: cli,
29
- abortController,
30
- maxTurns: 1,
31
- },
33
+ options: sdkOptions,
32
34
  });
33
35
  try {
34
36
  const usage = await q.getUsageInfo();
package/dist/usage.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"usage.js","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,YAAY,GAAG,MAAM,CAAC;AAE5B,IAAI,MAAM,GAAqB,IAAI,CAAC;AACpC,IAAI,WAAW,GAAG,CAAC,CAAC;AACpB,IAAI,QAAQ,GAAqC,IAAI,CAAC;AAEtD;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,KAAK,GAAG,KAAK;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,CAAC,KAAK,IAAI,MAAM,IAAI,GAAG,GAAG,WAAW;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1E,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,QAAQ,GAAG,CAAC,KAAK,IAAI,EAAE;QACrB,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO,IAAI,CAAC;QAExC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,SAAS,EAAE;YACjB,eAAe;YACf,QAAQ,EAAE,CAAC;YACX,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC;QACF,MAAM,CAAC,GAAG,KAAK,CAAC;YACd,MAAM,EAAE,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC;YAC1C,OAAO,EAAE,UAAU;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,YAAY,EAAE,CAAC;YACrC,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,GAAG,KAAK,CAAC;gBACf,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;YAC1C,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACzC,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,MAAM,GAAG,IAAI,CAAC;IACd,WAAW,GAAG,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,CAAmF;IACpH,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAC1B,OAAO,GAAG,KAAK,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,IAAI,CAAC,aAAa,CAAC;AACvF,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,iBAAiB,CAAC,CAAY;IAC5C,MAAM,KAAK,GAAa,CAAC,qBAAqB,CAAC,CAAC;IAChD,IAAI,CAAC,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpD,IAAI,OAAO,CAAC,CAAC,oBAAoB,KAAK,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAE7G,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IACjD,IAAI,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE7B,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC,CAAC,kBAAkB,EAAE,SAAS,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,CAAC,CAAC,kBAAkB,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,KAAK,GAAG,CAAC,SAAS,IAAI,CAAC,aAAa,CAAC,CAAC;IACpH,CAAC;IAED,IAAI,CAAC,CAAC,eAAe;QAAE,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC/D,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAEjH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-qoder-bridge",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "opencode plugin that bridges Qoder AI models via @qoder-ai/qoder-agent-sdk",
5
5
  "author": "Naoufal El Bani",
6
6
  "type": "module",
@@ -49,20 +49,22 @@
49
49
  "scripts": {
50
50
  "build": "tsc -p tsconfig.json",
51
51
  "typecheck": "tsc -p tsconfig.json --noEmit",
52
- "test": "npm run build && node --test test/bridge.test.mjs",
52
+ "test": "npm run build && node --test test/*.test.mjs",
53
+ "test:e2e": "npm run build && node --test test/e2e.test.mjs",
53
54
  "audit": "npm audit --audit-level=low",
54
55
  "check": "npm run typecheck && npm test && npm run audit",
55
56
  "prepublishOnly": "npm run check"
56
57
  },
57
58
  "dependencies": {
58
- "@qoder-ai/qoder-agent-sdk": "^1.0.15",
59
+ "@qoder-ai/qoder-agent-sdk": "1.0.25",
59
60
  "jsonc-parser": "^3.3.1",
61
+ "opencode-qoder-bridge": "^0.1.2",
60
62
  "zod": "^3.25.0"
61
63
  },
62
64
  "devDependencies": {
63
65
  "@ai-sdk/provider": "^3.0.14",
64
- "@opencode-ai/plugin": "1.18.5",
65
- "@opentui/solid": "0.4.5",
66
+ "@opencode-ai/plugin": "1.18.19",
67
+ "@opentui/solid": "0.5.4",
66
68
  "@types/node": "^22.10.0",
67
69
  "solid-js": "1.9.12",
68
70
  "typescript": "^5.7.0"
@@ -82,12 +84,15 @@
82
84
  "overrides": {
83
85
  "@babel/core": "8.0.1",
84
86
  "@hono/node-server": "2.0.11",
85
- "brace-expansion": "5.0.8",
87
+ "@modelcontextprotocol/sdk": "1.30.0",
88
+ "brace-expansion": "5.0.9",
89
+ "fast-uri": "4.1.2",
86
90
  "glob": "13.0.6",
87
- "minimatch": "10.2.5"
91
+ "hono": "4.13.3",
92
+ "minimatch": "10.2.6"
88
93
  },
89
94
  "engines": {
90
- "node": "^22.18.0 || >=24.11.0"
95
+ "node": "^22.22.2 || ^24.15.0 || >=26.0.0"
91
96
  },
92
97
  "keywords": [
93
98
  "opencode",
@@ -95,5 +100,9 @@
95
100
  "qoder",
96
101
  "ai",
97
102
  "llm"
98
- ]
103
+ ],
104
+ "allowScripts": {
105
+ "@qoder-ai/qoder-agent-sdk@1.0.25": true,
106
+ "msgpackr-extract@3.0.4": true
107
+ }
99
108
  }