opencode-qoder-bridge 0.1.17 → 0.1.19

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,60 @@ 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.19] - 2026-09-20
8
+
9
+ ### Added
10
+
11
+ - Added an absolute Qoder turn duration limit in addition to the inactivity
12
+ watchdog, preventing a continuously noisy SDK stream from running forever.
13
+ - Documented the bridge-only timeout boundary and clarified that OpenCode owns
14
+ retries, cancellation UX, and host session orchestration.
15
+
16
+ ### Changed
17
+
18
+ - Updated the Qoder Agent SDK dependency to `1.0.46`.
19
+ - Added correlation IDs to opt-in debug logs for individual Qoder requests.
20
+ - Classified transport failures as `network_error` while preserving existing
21
+ authentication, quota, timeout, and malformed-stream categories.
22
+
23
+ ### Fixed
24
+
25
+ - Added an absolute two-hour default wall-clock limit so continuously noisy SDK
26
+ streams cannot run forever; the limit is configurable up to seven days.
27
+ - Preserved the absolute limit when the inactivity watchdog is reset.
28
+
29
+ ## [0.1.18] - 2026-09-20
30
+
31
+ ### Added
32
+
33
+ - Added explicit quota exhaustion reporting with an actionable Qoder upgrade link.
34
+ - Added README badges and an architecture diagram for installation and project
35
+ orientation.
36
+ - Added regression coverage for quota errors and replayed stream frames.
37
+
38
+ ### Changed
39
+
40
+ - Updated the Qoder Agent SDK dependency to `1.0.45`.
41
+ - Reclassified Qoder credit-limit failures as `quota_exceeded` instead of the
42
+ generic `error_during_execution`.
43
+ - Made replayed and late stream frames idempotent after block closure.
44
+
45
+ ### Fixed
46
+
47
+ - Prevented quota data with `total: 0` from being rendered as misleading
48
+ `0/0` or unavailable account usage.
49
+ - Preserved structured Qoder errors when a result arrives before all block-stop
50
+ frames.
51
+ - Kept the SDK install-script allowlist aligned with the dependency version.
52
+
53
+ ### Validation
54
+
55
+ - Full tests: 162 passed, 0 failed, 2 skipped.
56
+ - Stress tests: 13 passed, 0 failed, 1 skipped.
57
+ - Typecheck, package dry run, and npm audit passed.
58
+ - Live Qoder generation reached the SDK; account quota exhaustion was reported
59
+ explicitly by Qoder.
60
+
7
61
  ## [0.1.17] - 2026-09-20
8
62
 
9
63
  ### Added
package/README.md CHANGED
@@ -1,9 +1,21 @@
1
1
  # opencode-qoder-bridge
2
2
 
3
+ [![CI](https://github.com/naoufalelbani/opencode-qoder-bridge/actions/workflows/ci.yml/badge.svg)](https://github.com/naoufalelbani/opencode-qoder-bridge/actions/workflows/ci.yml)
4
+ [![npm version](https://img.shields.io/npm/v/opencode-qoder-bridge?logo=npm)](https://www.npmjs.com/package/opencode-qoder-bridge)
5
+ [![npm downloads](https://img.shields.io/npm/dm/opencode-qoder-bridge?logo=npm)](https://www.npmjs.com/package/opencode-qoder-bridge)
6
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)
7
+ [![Node.js](https://img.shields.io/badge/node-%3E%3D22.22.2-339933?logo=node.js&logoColor=white)](https://nodejs.org/)
8
+
3
9
  An [opencode](https://opencode.ai) plugin that bridges **Qoder AI** models into your terminal via the official [`@qoder-ai/qoder-agent-sdk`](https://www.npmjs.com/package/@qoder-ai/qoder-agent-sdk).
4
10
 
5
11
  A ground-up rewrite focused on reliability, performance, and first-class usage/cost visibility.
6
12
 
13
+ ![OpenCode Qoder Bridge architecture](./architecture.svg)
14
+
15
+ OpenCode owns the host tools and user experience; this bridge translates prompts,
16
+ stream events, tool calls, session state, quota, and usage metadata to and from
17
+ the official Qoder SDK.
18
+
7
19
  > [!IMPORTANT]
8
20
  > This is an independent community project. It is not affiliated with,
9
21
  > endorsed by, or sponsored by Qoder or OpenCode. Use of the Qoder SDK and
@@ -185,8 +197,16 @@ Bridge opencode MCP servers into the SDK by passing provider options:
185
197
  Flag names may be written with or without the leading `--`.
186
198
 
187
199
  `config.mcp` servers are bridged into the SDK's `mcpServers` automatically.
188
- Chat turns have a 30-minute bridge timeout by default; set `options.timeoutMs`
189
- to a positive value to use a shorter or longer bounded timeout (up to 24 hours).
200
+ Chat turns have a 30-minute bridge inactivity timeout by default; the watchdog
201
+ resets whenever Qoder emits a stream or tool message, so long active coding
202
+ turns are not killed solely because they cross 30 minutes. Set
203
+ `options.timeoutMs` to a positive value to use a shorter or longer bounded
204
+ inactivity timeout (up to 24 hours).
205
+ The bridge also enforces a two-hour absolute wall-clock limit by default so a
206
+ noisy or non-terminating SDK stream cannot run forever. Set
207
+ `options.maxDurationMs` to change it (up to seven days). These are transport
208
+ safety limits; OpenCode remains responsible for retries, cancellation UX, and
209
+ host session orchestration.
190
210
  Control operations such as MCP status and OAuth use the SDK's
191
211
  `controlRequestTimeoutMs` (default 60 seconds, bounded to 5 minutes), while
192
212
  runtime shutdown uses `closeGraceMs` (default 2 seconds). These options tune
@@ -464,11 +484,12 @@ The plugin registers several built-in OpenCode tools:
464
484
  | Qoder runtime unavailable | Authenticate with `qoder login` or set `QODER_PERSONAL_ACCESS_TOKEN`; the bridge uses the SDK's bundled Worker runtime for model discovery and can fall back to an installed CLI automatically |
465
485
  | Qoder says it cannot read or edit files | Upgrade to the current bridge, rebuild it if using a checkout, confirm the plugin points at `dist/index.js`, and restart OpenCode. Do not add `Read`, `Write`, `Edit`, or `Bash` to `disallowedTools` unless you intend to block them |
466
486
  | `invalid JSON for tool read/write` | Use a current bridge build and restart OpenCode so an old cached plugin is not reused. Recent versions normalize Qoder's streamed empty-input prefix before forwarding the complete tool payload |
487
+ | `Quota: 0/0` or quota is not visible | Qoder reports an exhausted account as `total: 0` with `isQuotaExceeded: true`; use `/qoder_usage` or `qoder-usage` to see the explicit exhausted state and upgrade link. This is an account quota condition, not a stream/parser error |
467
488
  | Edits work but the response is not in a code box | Tool execution and response formatting are separate. Ask for fenced Markdown in the response and use the repository's formatter for written files |
468
489
  | Model not found | Run `opencode models qoder` or `/qoder_models`; model IDs are account- and scene-specific |
469
490
  | Missing models in the model list | Restart OpenCode; the bridge performs a live catalog lookup automatically and falls back to the last scoped catalog plus the built-ins (`lite`, `auto`, `performance`) when offline. If your account serves models in a different Qoder scene, set `QODER_SCENE` before launching OpenCode |
470
491
 
471
- The SDK package currently used by this bridge (`1.0.44` or newer) bundles its
492
+ The SDK package currently used by this bridge (`1.0.45` or newer) bundles its
472
493
  own qodercli runtime. If the bridge discovers a
473
494
  separately installed qodercli first, update that CLI through its normal Qoder
474
495
  CLI installer too so the MCP OAuth and oversized-image compaction fixes are
@@ -0,0 +1,19 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 360" role="img" aria-labelledby="title desc">
2
+ <title id="title">OpenCode Qoder Bridge architecture</title>
3
+ <desc id="desc">OpenCode sends prompts and tool calls through the bridge to the official Qoder Agent SDK and receives streamed responses, quota data, and usage metadata.</desc>
4
+ <defs>
5
+ <linearGradient id="bg" x1="0" x2="1" y1="0" y2="1"><stop offset="0" stop-color="#0f172a"/><stop offset="1" stop-color="#172554"/></linearGradient>
6
+ <linearGradient id="node" x1="0" x2="1"><stop offset="0" stop-color="#1e293b"/><stop offset="1" stop-color="#263b69"/></linearGradient>
7
+ <marker id="arrow" markerHeight="8" markerWidth="8" refX="7" refY="4" orient="auto"><path d="M0 0L8 4L0 8Z" fill="#93c5fd"/></marker>
8
+ <style>.label{font:600 20px system-ui,-apple-system,Segoe UI,sans-serif;fill:#f8fafc}.detail{font:14px system-ui,-apple-system,Segoe UI,sans-serif;fill:#bfdbfe}.small{font:13px system-ui,-apple-system,Segoe UI,sans-serif;fill:#cbd5e1}</style>
9
+ </defs>
10
+ <rect width="1200" height="360" rx="24" fill="url(#bg)"/>
11
+ <text x="54" y="54" class="label">OpenCode Qoder Bridge</text>
12
+ <text x="54" y="80" class="small">Streaming, tools, sessions, quota, and usage flow</text>
13
+ <g transform="translate(55 125)"><rect width="220" height="135" rx="16" fill="url(#node)" stroke="#60a5fa"/><text x="24" y="42" class="label">OpenCode</text><text x="24" y="70" class="detail">prompts · tools · TUI</text><text x="24" y="96" class="small">AI SDK v3 host</text></g>
14
+ <g transform="translate(490 125)"><rect width="220" height="135" rx="16" fill="url(#node)" stroke="#a78bfa"/><text x="24" y="42" class="label">Bridge</text><text x="24" y="70" class="detail">stream + tool adapter</text><text x="24" y="96" class="small">sessions · quota · ledger</text></g>
15
+ <g transform="translate(925 125)"><rect width="220" height="135" rx="16" fill="url(#node)" stroke="#34d399"/><text x="24" y="42" class="label">Qoder SDK</text><text x="24" y="70" class="detail">models · MCP · runtime</text><text x="24" y="96" class="small">official agent transport</text></g>
16
+ <path d="M275 174H480" stroke="#93c5fd" stroke-width="3" marker-end="url(#arrow)"/><path d="M720 174H915" stroke="#93c5fd" stroke-width="3" marker-end="url(#arrow)"/><path d="M915 216H720" stroke="#86efac" stroke-width="3" marker-end="url(#arrow)"/><path d="M480 216H275" stroke="#c4b5fd" stroke-width="3" marker-end="url(#arrow)"/>
17
+ <text x="334" y="160" class="small">request + host tools</text><text x="775" y="160" class="small">SDK query</text><text x="766" y="242" class="small">stream + result</text><text x="327" y="242" class="small">OpenCode parts</text>
18
+ <text x="54" y="315" class="small">Quota failures are surfaced as quota_exceeded with an actionable upgrade link.</text>
19
+ </svg>
@@ -25,6 +25,7 @@ interface StreamState {
25
25
  providerExecuted: boolean;
26
26
  hasInput: boolean;
27
27
  }>;
28
+ closedBlockIndexes: Set<number>;
28
29
  openBlocks: OpenBlock[];
29
30
  sawStreamText: boolean;
30
31
  sawStreamTool: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"language-model.d.ts","sourceRoot":"","sources":["../src/language-model.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAG1B,6BAA6B,EAC7B,yBAAyB,EACzB,2BAA2B,EAE5B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAkB,eAAe,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEtG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAKzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAQrD,KAAK,gBAAgB,GAAG,+BAA+B,CAAC,yBAAyB,CAAC,CAAC;AA+RnF,KAAK,SAAS,GACV;IAAE,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,OAAO,CAAA;CAAE,CAAC;AAE3E,UAAU,WAAW;IACnB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACnH,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC3E,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACtD,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C;AAWD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAEpG;AASD,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;IAEnD,YAAY,OAAO,EAAE,MAAM,EAAE,aAAa,GAAE,kBAAuB,EAGlE;IAEK,UAAU,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CA4D5F;IAEK,QAAQ,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAqQxF;IAED,OAAO,CAAC,iBAAiB;CAgE1B;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAyBrF"}
1
+ {"version":3,"file":"language-model.d.ts","sourceRoot":"","sources":["../src/language-model.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,8 @@ import { withTimeout } from "./async-utils.js";
16
16
  const UNSAFE_METADATA_KEYS = new Set(["__proto__", "prototype", "constructor"]);
17
17
  const DEFAULT_REQUEST_TIMEOUT_MS = 30 * 60 * 1000;
18
18
  const MAX_REQUEST_TIMEOUT_MS = 24 * 60 * 60 * 1000;
19
+ const DEFAULT_MAX_DURATION_MS = 2 * 60 * 60 * 1000;
20
+ const MAX_MAX_DURATION_MS = 7 * 24 * 60 * 60 * 1000;
19
21
  const CLEANUP_GRACE_MS = 5_000;
20
22
  const BACKGROUND_FLUSH_TIMEOUT_MS = 10_000;
21
23
  const MAX_SEEN_MESSAGE_IDS = 100_000;
@@ -24,6 +26,7 @@ const MAX_OUTPUT_CHARS = 8_000_000;
24
26
  const MAX_METADATA_NODES = 2_000;
25
27
  const MAX_METADATA_STRING = 4_096;
26
28
  const MAX_STOP_REASON_LENGTH = 256;
29
+ const QODER_UPGRADE_URL = "https://qoder.com/pricing?client=qoder";
27
30
  async function flushSdkBackgroundWork(activeQuery, bridgeOptions) {
28
31
  const operations = [];
29
32
  if (bridgeOptions.memory && Object.keys(bridgeOptions.memory).length > 0) {
@@ -143,6 +146,11 @@ function requestTimeoutMs(value) {
143
146
  return DEFAULT_REQUEST_TIMEOUT_MS;
144
147
  return Math.min(MAX_REQUEST_TIMEOUT_MS, Math.max(1, Math.floor(value)));
145
148
  }
149
+ function maxDurationMs(value) {
150
+ if (typeof value !== "number" || !Number.isFinite(value) || value <= 0)
151
+ return DEFAULT_MAX_DURATION_MS;
152
+ return Math.min(MAX_MAX_DURATION_MS, Math.max(1, Math.floor(value)));
153
+ }
146
154
  function boundedMilliseconds(value, fallback, max) {
147
155
  if (value === undefined)
148
156
  return undefined;
@@ -158,7 +166,11 @@ function abortError() {
158
166
  function safePublicError(error) {
159
167
  if (error instanceof QoderAuthError || error instanceof QoderSdkResultError)
160
168
  return error;
161
- return new Error(describeError(error) || "Qoder request failed");
169
+ const detail = describeError(error) || "Qoder request failed";
170
+ if (/network|econn(reset|refused)|enotfound|etimedout|timeout|socket|fetch failed|5\d\d/i.test(detail)) {
171
+ return new QoderSdkResultError("network_error", detail, { cause: error });
172
+ }
173
+ return new Error(detail);
162
174
  }
163
175
  function tokenCount(value) {
164
176
  return Math.floor(finiteNonNegative(value));
@@ -400,6 +412,7 @@ export class QoderLanguageModel {
400
412
  return { content, finishReason, usage, providerMetadata, warnings: [] };
401
413
  }
402
414
  async doStream(options) {
415
+ const requestId = randomUUID().slice(0, 12);
403
416
  const cli = findQoderCLI();
404
417
  const childEnvironment = qoderEnvironment(this.bridgeOptions.env);
405
418
  if (!hasQoderCredential(childEnvironment)) {
@@ -427,10 +440,26 @@ export class QoderLanguageModel {
427
440
  let qoderQuery = null;
428
441
  let externallyAborted = false;
429
442
  let timedOut = false;
443
+ let hardTimedOut = false;
430
444
  let requestTimer;
445
+ let hardTimer;
431
446
  let cleanupPromise;
432
447
  const timeoutMs = requestTimeoutMs(this.bridgeOptions.timeoutMs);
433
- const timeoutError = () => new QoderSdkResultError("timeout", `Qoder request exceeded ${timeoutMs}ms`);
448
+ const maxDuration = maxDurationMs(this.bridgeOptions.maxDurationMs);
449
+ const timeoutError = () => new QoderSdkResultError("timeout", hardTimedOut
450
+ ? `Qoder request exceeded its maximum duration of ${maxDuration}ms`
451
+ : `Qoder request was inactive for ${timeoutMs}ms`);
452
+ const armInactivityTimeout = () => {
453
+ if (requestTimer)
454
+ clearTimeout(requestTimer);
455
+ requestTimer = setTimeout(() => {
456
+ timedOut = true;
457
+ debug(`Qoder request inactive for ${timeoutMs}ms`);
458
+ void cleanup();
459
+ }, timeoutMs);
460
+ if (typeof requestTimer.unref === "function")
461
+ requestTimer.unref();
462
+ };
434
463
  const cleanup = () => {
435
464
  if (cleanupPromise)
436
465
  return cleanupPromise;
@@ -491,6 +520,7 @@ export class QoderLanguageModel {
491
520
  activeText: new Set(),
492
521
  activeReasoning: new Set(),
493
522
  toolBlocks: new Map(),
523
+ closedBlockIndexes: new Set(),
494
524
  openBlocks: [],
495
525
  sawStreamText: false,
496
526
  sawStreamTool: false,
@@ -516,13 +546,18 @@ export class QoderLanguageModel {
516
546
  safeClose(controller);
517
547
  return;
518
548
  }
519
- requestTimer = setTimeout(() => {
549
+ // This is an inactivity watchdog, not a hard wall-clock limit. A
550
+ // complex turn may legitimately run longer than 30 minutes while
551
+ // Qoder continues to emit tool/stream messages.
552
+ hardTimer = setTimeout(() => {
553
+ hardTimedOut = true;
520
554
  timedOut = true;
521
- debug(`Qoder request timed out after ${timeoutMs}ms`);
555
+ debug(`Qoder request exceeded maximum duration of ${maxDuration}ms`);
522
556
  void cleanup();
523
- }, timeoutMs);
524
- if (typeof requestTimer.unref === "function")
525
- requestTimer.unref();
557
+ }, maxDuration);
558
+ if (typeof hardTimer.unref === "function")
559
+ hardTimer.unref();
560
+ armInactivityTimeout();
526
561
  const lockKey = sessionKey ? `${cwd}\u0000${sessionKey}` : undefined;
527
562
  const leaseKey = [this.bridgeOptions.sessionId, sessionKey]
528
563
  .find((value) => typeof value === "string" && value.trim().length > 0);
@@ -545,7 +580,7 @@ export class QoderLanguageModel {
545
580
  }
546
581
  const sessionId = this.bridgeOptions.sessionId ?? persisted?.qoderSessionId ?? randomUUID();
547
582
  const shouldResume = Boolean(this.bridgeOptions.sessionId || persisted);
548
- debug(`doStream model=${model.id} sessionId=${sessionId} cwd=${cwd} resume=${shouldResume}`);
583
+ debug(`[${requestId}] doStream model=${model.id} sessionId=${sessionId} cwd=${cwd} resume=${shouldResume}`);
549
584
  const promptMessages = options.prompt;
550
585
  const promptInput = shouldResume ? latestPrompt(promptMessages) : promptMessages;
551
586
  const prompt = promptHasImage(promptInput)
@@ -571,6 +606,7 @@ export class QoderLanguageModel {
571
606
  break;
572
607
  if (externallyAborted || timedOut)
573
608
  break;
609
+ armInactivityTimeout();
574
610
  handleSdkMessage(next.value, state);
575
611
  if (state.authExpired || state.finished)
576
612
  break;
@@ -653,7 +689,7 @@ export class QoderLanguageModel {
653
689
  safeClose(controller);
654
690
  return;
655
691
  }
656
- debug("Stream failed:", describeError(err));
692
+ debug(`[${requestId}] Stream failed:`, describeError(err));
657
693
  if (!state.finished) {
658
694
  const streamError = state.authExpired
659
695
  ? new QoderAuthError("Qoder authentication expired during the request. Re-authenticate with `qoder login` or refresh QODER_PERSONAL_ACCESS_TOKEN.")
@@ -823,6 +859,12 @@ function handleStreamEvent(ev, state) {
823
859
  return;
824
860
  }
825
861
  if (evType === "content_block_start" && isRecord(ev.content_block)) {
862
+ // A replay can arrive after the original stop frame. Do not reopen a
863
+ // terminal block: doing so would duplicate text/reasoning or potentially
864
+ // execute the same tool call a second time.
865
+ if (state.closedBlockIndexes.has(idx))
866
+ return;
867
+ state.closedBlockIndexes.delete(idx);
826
868
  if (state.toolBlocks.has(idx)) {
827
869
  const existing = state.toolBlocks.get(idx);
828
870
  if (existing && ev.content_block.id === existing.id)
@@ -830,12 +872,20 @@ function handleStreamEvent(ev, state) {
830
872
  failStream(state, "malformed_stream", "Qoder started a different tool block at an open index");
831
873
  return;
832
874
  }
875
+ const blockType = typeof ev.content_block.type === "string" ? ev.content_block.type : "";
876
+ // Qoder can replay a text/thinking start frame while a streamed block is
877
+ // still open (especially after a resumed turn). These blocks have no
878
+ // stable provider ID, so treat an identical start at the same index as an
879
+ // idempotent replay. A conflicting type remains malformed.
833
880
  if (state.activeReasoning.has(idx) || state.activeText.has(idx)) {
834
- failStream(state, "malformed_stream", "Qoder started a content block that was already open");
881
+ const duplicate = (blockType === "thinking" && state.activeReasoning.has(idx))
882
+ || (blockType === "text" && state.activeText.has(idx));
883
+ if (duplicate)
884
+ return;
885
+ failStream(state, "malformed_stream", "Qoder started a different content block at an open index");
835
886
  return;
836
887
  }
837
888
  const block = ev.content_block;
838
- const blockType = typeof block.type === "string" ? block.type : "";
839
889
  if (blockType === "tool_use" && typeof block.id === "string" && block.id.trim() && typeof block.name === "string" && block.name.trim()) {
840
890
  const seenToolCallIds = state.seenToolCallIds ??= new Set();
841
891
  if (!rememberId(seenToolCallIds, block.id, MAX_SEEN_MESSAGE_IDS) || state.toolBlocks.has(idx))
@@ -874,6 +924,12 @@ function handleStreamEvent(ev, state) {
874
924
  return;
875
925
  }
876
926
  if (evType === "content_block_delta" && isRecord(ev.delta)) {
927
+ // Late replayed deltas for a closed block are idempotent. There is no
928
+ // stable provider sequence number on all SDK versions, so reopening the
929
+ // block would be less safe than ignoring a delta that arrived after its
930
+ // terminal frame.
931
+ if (state.closedBlockIndexes.has(idx))
932
+ return;
877
933
  const delta = ev.delta;
878
934
  const deltaType = delta.type;
879
935
  if (deltaType === "thinking_delta" && typeof delta.thinking === "string") {
@@ -958,16 +1014,23 @@ function handleStreamEvent(ev, state) {
958
1014
  }
959
1015
  state.toolBlocks.delete(idx);
960
1016
  untrackOpenBlock(state, idx);
1017
+ state.closedBlockIndexes.add(idx);
961
1018
  }
962
1019
  else if (state.activeReasoning.has(idx)) {
963
1020
  safeEnqueue(controller, { type: "reasoning-end", id: String(idx) });
964
1021
  state.activeReasoning.delete(idx);
965
1022
  untrackOpenBlock(state, idx);
1023
+ state.closedBlockIndexes.add(idx);
966
1024
  }
967
1025
  else if (state.activeText.has(idx)) {
968
1026
  safeEnqueue(controller, { type: "text-end", id: String(idx) });
969
1027
  state.activeText.delete(idx);
970
1028
  untrackOpenBlock(state, idx);
1029
+ state.closedBlockIndexes.add(idx);
1030
+ }
1031
+ else if (state.closedBlockIndexes.has(idx)) {
1032
+ // Replayed stop frames are harmless once the block was already closed.
1033
+ return;
971
1034
  }
972
1035
  else {
973
1036
  failStream(state, "malformed_stream", "Qoder stopped a content block that was not started");
@@ -1109,7 +1172,13 @@ function handleResult(m, state) {
1109
1172
  if (Object.hasOwn(m, "stop_reason")) {
1110
1173
  state.lastStopReason = safeStopReason(m.stop_reason);
1111
1174
  }
1112
- if (state.activeReasoning.size > 0 || state.activeText.size > 0 || state.toolBlocks.size > 0) {
1175
+ // Preserve a structured Qoder failure even if the transport sends its
1176
+ // result before replaying all block-stop frames. Only successful results
1177
+ // should be classified as an incomplete stream in that situation; masking
1178
+ // an execution/auth/session error makes recovery and retry decisions much
1179
+ // less reliable for the host.
1180
+ const resultIsError = m.is_error === true || m.subtype !== "success";
1181
+ if (!resultIsError && (state.activeReasoning.size > 0 || state.activeText.size > 0 || state.toolBlocks.size > 0)) {
1113
1182
  state.failed = true;
1114
1183
  closeOpenBlocks(state);
1115
1184
  safeEnqueue(controller, {
@@ -1167,19 +1236,26 @@ function handleResult(m, state) {
1167
1236
  }
1168
1237
  };
1169
1238
  const isAuthError = state.authExpired;
1170
- const subtype = isAuthError
1171
- ? "authentication_failed"
1172
- : typeof m.subtype === "string" ? m.subtype : "error_during_execution";
1173
1239
  const isError = isAuthError || m.is_error === true || m.subtype !== "success";
1174
1240
  if (isError) {
1175
1241
  state.failed = true;
1176
1242
  const detail = Array.isArray(m.errors)
1177
1243
  ? redactSensitiveText((safeJsonStringify(m.errors) ?? "").slice(0, 4096))
1178
1244
  : "";
1245
+ const quotaError = m.error_code === 118
1246
+ || /(?:credit|quota).*(?:limit|exceed)|(?:limit|exceed).*(?:credit|quota)/i.test(detail);
1247
+ const subtype = isAuthError
1248
+ ? "authentication_failed"
1249
+ : quotaError
1250
+ ? "quota_exceeded"
1251
+ : typeof m.subtype === "string" ? m.subtype : "error_during_execution";
1252
+ const errorDetail = quotaError
1253
+ ? `${detail}${detail ? " " : ""}Upgrade: ${QODER_UPGRADE_URL}`
1254
+ : detail;
1179
1255
  state.invalidSession = isInvalidSessionError(subtype, detail);
1180
1256
  const error = state.authExpired
1181
1257
  ? new QoderAuthError("Qoder authentication expired during the request. Re-authenticate with `qoder login` or refresh QODER_PERSONAL_ACCESS_TOKEN.")
1182
- : new QoderSdkResultError(subtype, detail);
1258
+ : new QoderSdkResultError(subtype, errorDetail);
1183
1259
  record();
1184
1260
  safeEnqueue(controller, { type: "error", error });
1185
1261
  emitFinish(state, makeUsage(inputTokens, outputTokens, cachedInputTokens, cacheWriteTokens), makeFinishReason("error", subtype), undefined);
@@ -1244,5 +1320,6 @@ function closeOpenBlocks(state) {
1244
1320
  state.activeReasoning.clear();
1245
1321
  state.activeText.clear();
1246
1322
  state.toolBlocks.clear();
1323
+ state.closedBlockIndexes.clear();
1247
1324
  }
1248
1325
  //# sourceMappingURL=language-model.js.map
@@ -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/tui.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA8B,SAAS,EAAmB,MAAM,yBAAyB,CAAC;AAWtG,OAAO,KAAK,EAAiC,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAiG/F,eAAO,MAAM,EAAE,kCAAkC,CAAC;AAElD,KAAK,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAoKvC,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAuDvF;AAED,eAAO,MAAM,GAAG,EAAE,SA4IjB,CAAC"}
1
+ {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA8B,SAAS,EAAmB,MAAM,yBAAyB,CAAC;AAWtG,OAAO,KAAK,EAAiC,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAiG/F,eAAO,MAAM,EAAE,kCAAkC,CAAC;AAElD,KAAK,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAoKvC,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAuDvF;AAED,eAAO,MAAM,GAAG,EAAE,SA8IjB,CAAC"}
package/dist/tui.js CHANGED
@@ -384,7 +384,9 @@ export const tui = async (api) => {
384
384
  const current = quota();
385
385
  return current.used == null || current.total == null || current.remaining == null
386
386
  ? "Account quota unavailable"
387
- : `Account: ${formatCredits(current.used)}/${formatCredits(current.total)} · ${formatCredits(current.remaining)} left`;
387
+ : current.warning && current.total === 0
388
+ ? "Account: quota exhausted"
389
+ : `Account: ${formatCredits(current.used)}/${formatCredits(current.total)} · ${formatCredits(current.remaining)} left`;
388
390
  },
389
391
  }),
390
392
  ],
package/dist/tui.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -49,8 +49,10 @@ export interface QoderBridgeOptions {
49
49
  permissionMode?: "default" | "acceptEdits" | "bypassPermissions";
50
50
  /** Whether the SDK may skip permission checks when bypassPermissions is selected. */
51
51
  allowDangerouslySkipPermissions?: boolean;
52
- /** Maximum duration of a chat turn in milliseconds; defaults to 30 minutes. */
52
+ /** Inactivity timeout for a chat turn in milliseconds; defaults to 30 minutes. */
53
53
  timeoutMs?: number;
54
+ /** Absolute wall-clock limit for a chat turn; defaults to 2 hours. */
55
+ maxDurationMs?: number;
54
56
  /** SDK control-request timeout in milliseconds; defaults to the SDK value. */
55
57
  controlRequestTimeoutMs?: number;
56
58
  /** SDK transport close grace period in milliseconds; defaults to the SDK value. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEtG,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,8EAA8E;IAC9E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uFAAuF;IACvF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,qEAAqE;IACrE,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,kFAAkF;IAClF,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,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,mFAAmF;IACnF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1C;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,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEtG,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,8EAA8E;IAC9E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uFAAuF;IACvF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,qEAAqE;IACrE,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,kFAAkF;IAClF,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,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,mFAAmF;IACnF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1C;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;AAgB3D;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAiDrE;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAG3C;AAiBD,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CA4BtD"}
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAgB3D;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAiDrE;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAG3C;AAiBD,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CA2CtD"}
package/dist/usage.js CHANGED
@@ -92,9 +92,19 @@ export function formatUsageReport(u) {
92
92
  if (typeof u.totalUsagePercentage === "number" && Number.isFinite(u.totalUsagePercentage)) {
93
93
  lines.push(` Usage: ${u.totalUsagePercentage.toFixed(1)}%`);
94
94
  }
95
- const quota = bucketLine(" Quota", u.userQuota);
96
- if (quota)
97
- lines.push(quota);
95
+ const quotaIsExhausted = u.isQuotaExceeded === true
96
+ && u.userQuota
97
+ && typeof u.userQuota.total === "number"
98
+ && Number.isFinite(u.userQuota.total)
99
+ && u.userQuota.total === 0;
100
+ if (quotaIsExhausted) {
101
+ lines.push(" Quota: exhausted (0 credits remaining)");
102
+ }
103
+ else {
104
+ const quota = bucketLine(" Quota", u.userQuota);
105
+ if (quota)
106
+ lines.push(quota);
107
+ }
98
108
  if (u.addOnQuota && finiteNonNegative(u.addOnQuota.total) > 0) {
99
109
  const addOn = bucketLine(" Add-on", u.addOnQuota);
100
110
  if (addOn)
@@ -106,10 +116,16 @@ export function formatUsageReport(u) {
106
116
  }
107
117
  if (u.isQuotaExceeded)
108
118
  lines.push(" WARNING: quota exceeded");
119
+ const upgradeUrl = safeLabel(u.upgradeUrl, 512);
120
+ if (upgradeUrl)
121
+ lines.push(` Upgrade: ${upgradeUrl}`);
109
122
  if (typeof u.expiresAt === "number" && Number.isFinite(u.expiresAt) && u.expiresAt > 0) {
110
123
  const expires = new Date(u.expiresAt);
111
- if (!Number.isNaN(expires.getTime()))
124
+ // Qoder uses year 9999 as a no-expiry sentinel; displaying it as a real
125
+ // renewal date makes an exhausted account look incorrectly healthy.
126
+ if (!Number.isNaN(expires.getTime()) && expires.getUTCFullYear() < 9990) {
112
127
  lines.push(` Expires: ${expires.toISOString().slice(0, 10)}`);
128
+ }
113
129
  }
114
130
  return lines.join("\n");
115
131
  }
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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-qoder-bridge",
3
- "version": "0.1.17",
3
+ "version": "0.1.19",
4
4
  "description": "Qoder provider plugin for OpenCode powered by the official Qoder Agent SDK, with streaming, tools, MCP, sessions, multimodal input, and quota tracking.",
5
5
  "keywords": [
6
6
  "opencode",
@@ -39,6 +39,7 @@
39
39
  "bin",
40
40
  "CHANGELOG.md",
41
41
  "README.md",
42
+ "architecture.svg",
42
43
  "LICENSE",
43
44
  "RELEASING.md",
44
45
  "SECURITY.md",
@@ -75,7 +76,7 @@
75
76
  },
76
77
  "dependencies": {
77
78
  "@opencode-ai/plugin": "1.18.31",
78
- "@qoder-ai/qoder-agent-sdk": "^1.0.44",
79
+ "@qoder-ai/qoder-agent-sdk": "^1.0.46",
79
80
  "jsonc-parser": "^3.3.1",
80
81
  "zod": "^4.6.5"
81
82
  },
@@ -112,7 +113,7 @@
112
113
  "node": "^22.22.2 || ^24.15.0 || >=26.0.0"
113
114
  },
114
115
  "allowScripts": {
115
- "@qoder-ai/qoder-agent-sdk@1.0.44": true,
116
+ "@qoder-ai/qoder-agent-sdk@1.0.46": true,
116
117
  "msgpackr-extract@3.0.4": true
117
118
  },
118
119
  "directories": {