opencode-qoder-bridge 0.1.15 → 0.1.17
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 +58 -0
- package/README.md +90 -1
- package/RELEASING.md +27 -9
- package/dist/language-model.d.ts.map +1 -1
- package/dist/language-model.js +50 -70
- package/dist/language-model.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,64 @@ 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.17] - 2026-09-20
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- Documented installation verification, local plugin cache troubleshooting,
|
|
12
|
+
file-editing permissions, diagnostics, and stress-test workflows.
|
|
13
|
+
- Added regression coverage for Qoder's eager empty streamed tool input.
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
|
|
17
|
+
- Updated the bridge to preserve OpenCode host tools such as `Read`, `Write`,
|
|
18
|
+
`Edit`, and `Bash` instead of deriving Qoder deny rules for them.
|
|
19
|
+
- Normalized streamed tool input when Qoder sends `{}` before the complete
|
|
20
|
+
JSON payload.
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
|
|
24
|
+
- Prevented valid streamed Read, Write, and Edit calls from failing with
|
|
25
|
+
`invalid_tool_input` because of a concatenated `{}{...}` payload.
|
|
26
|
+
- Prevented Qoder from reporting that it has no file or shell access when
|
|
27
|
+
OpenCode provides those host tools.
|
|
28
|
+
|
|
29
|
+
### Validation
|
|
30
|
+
|
|
31
|
+
- Full tests: 155 passed, 0 failed, 2 skipped.
|
|
32
|
+
- Stress tests: 13 passed, 0 failed, 1 skipped.
|
|
33
|
+
- Typecheck and build passed.
|
|
34
|
+
- npm audit: 0 vulnerabilities.
|
|
35
|
+
- Authenticated E2E remains dependent on available Qoder credentials.
|
|
36
|
+
|
|
37
|
+
## [0.1.16] - 2026-09-19
|
|
38
|
+
|
|
39
|
+
### Added
|
|
40
|
+
|
|
41
|
+
- Added regression coverage for truncated Bash JSON, undefined Bash input,
|
|
42
|
+
Bash aliases, and strict non-Bash input handling.
|
|
43
|
+
|
|
44
|
+
### Changed
|
|
45
|
+
|
|
46
|
+
- Bash tool-input normalization now tolerates Qoder's bare-string and
|
|
47
|
+
recoverable malformed JSON representations.
|
|
48
|
+
- Invalid tool payloads now emit bounded debug diagnostics when
|
|
49
|
+
`QODER_BRIDGE_DEBUG=1` is enabled.
|
|
50
|
+
|
|
51
|
+
### Fixed
|
|
52
|
+
|
|
53
|
+
- Prevented recoverable Qoder Bash payloads from terminating the stream with
|
|
54
|
+
`invalid_tool_input`.
|
|
55
|
+
- Preserved strict validation for malformed inputs belonging to non-Bash tools.
|
|
56
|
+
|
|
57
|
+
### Validation
|
|
58
|
+
|
|
59
|
+
- Full tests: 154 passed, 0 failed, 2 skipped.
|
|
60
|
+
- Stress tests: 13 passed, 0 failed, 1 skipped.
|
|
61
|
+
- Typecheck and build passed.
|
|
62
|
+
- npm audit: 0 vulnerabilities.
|
|
63
|
+
- Authenticated Qoder E2E remains dependent on available Qoder credentials.
|
|
64
|
+
|
|
7
65
|
## [0.1.15] - 2026-09-19
|
|
8
66
|
|
|
9
67
|
### Added
|
package/README.md
CHANGED
|
@@ -85,6 +85,25 @@ name must exist in the npm registry; installing an unpublished package only in
|
|
|
85
85
|
Once loaded, the plugin injects the `qoder` provider and all models — no manual
|
|
86
86
|
`provider` block required.
|
|
87
87
|
|
|
88
|
+
### Verify the installation
|
|
89
|
+
|
|
90
|
+
After changing the plugin or its configuration, restart OpenCode and verify
|
|
91
|
+
that the provider is available:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
opencode models qoder
|
|
95
|
+
opencode run -m qoder/auto "Reply with one short sentence."
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
For a local checkout, rebuild before restarting OpenCode:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
npm run build
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Then use the `file:///.../dist/index.js` plugin entry shown above. This avoids
|
|
105
|
+
OpenCode loading an older cached copy of the package.
|
|
106
|
+
|
|
88
107
|
## Usage
|
|
89
108
|
|
|
90
109
|
```bash
|
|
@@ -225,6 +244,53 @@ Available permission modes are `default`, `acceptEdits`, and
|
|
|
225
244
|
`bypassPermissions`. Only explicitly configure `bypassPermissions` when the
|
|
226
245
|
host environment is trusted.
|
|
227
246
|
|
|
247
|
+
#### File editing and shell access
|
|
248
|
+
|
|
249
|
+
Qoder's `Read`, `Write`, `Edit`, `Glob`, `Grep`, and `Bash` calls are translated
|
|
250
|
+
into OpenCode tool calls. The bridge must not deny these host tools by default:
|
|
251
|
+
if they are denied, Qoder may report that it cannot edit files even though the
|
|
252
|
+
OpenCode project permissions would allow it. Configure an explicit allowlist
|
|
253
|
+
only when you intentionally want to restrict the agent:
|
|
254
|
+
|
|
255
|
+
```json
|
|
256
|
+
{
|
|
257
|
+
"provider": {
|
|
258
|
+
"qoder": {
|
|
259
|
+
"options": {
|
|
260
|
+
"permissionMode": "default",
|
|
261
|
+
"allowedTools": ["Read", "Write", "Edit", "Glob", "Grep", "Bash"]
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
For a trusted disposable workspace, `bypassPermissions` can be used for an
|
|
269
|
+
unattended build:
|
|
270
|
+
|
|
271
|
+
```json
|
|
272
|
+
{
|
|
273
|
+
"provider": {
|
|
274
|
+
"qoder": {
|
|
275
|
+
"options": {
|
|
276
|
+
"permissionMode": "bypassPermissions",
|
|
277
|
+
"allowDangerouslySkipPermissions": true
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
Do not use that mode for untrusted repositories or prompts. OpenCode remains
|
|
285
|
+
responsible for executing the translated host tools; the bridge only carries
|
|
286
|
+
the tool calls between Qoder and OpenCode.
|
|
287
|
+
|
|
288
|
+
If generated code is displayed as plain text, that is a model-response
|
|
289
|
+
formatting issue rather than a file-tool issue. Ask Qoder to use Markdown code
|
|
290
|
+
fences in its explanation; files written through `Write` and `Edit` are not
|
|
291
|
+
formatted by the bridge. Run the project's formatter separately when one is
|
|
292
|
+
configured.
|
|
293
|
+
|
|
228
294
|
Image inputs may reference `file://`, `~/`, or absolute local paths. Only pass
|
|
229
295
|
paths from trusted callers: the bridge bounds image size but does not sandbox
|
|
230
296
|
or restrict readable local files to the project directory. A current turn is
|
|
@@ -396,10 +462,14 @@ The plugin registers several built-in OpenCode tools:
|
|
|
396
462
|
|---------|----------|
|
|
397
463
|
| Auth prompt at startup | Run `qoder login`, then restart opencode |
|
|
398
464
|
| 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
|
+
| 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
|
+
| `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 |
|
|
467
|
+
| 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 |
|
|
399
468
|
| Model not found | Run `opencode models qoder` or `/qoder_models`; model IDs are account- and scene-specific |
|
|
400
469
|
| 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 |
|
|
401
470
|
|
|
402
|
-
The SDK package
|
|
471
|
+
The SDK package currently used by this bridge (`1.0.44` or newer) bundles its
|
|
472
|
+
own qodercli runtime. If the bridge discovers a
|
|
403
473
|
separately installed qodercli first, update that CLI through its normal Qoder
|
|
404
474
|
CLI installer too so the MCP OAuth and oversized-image compaction fixes are
|
|
405
475
|
active on that path.
|
|
@@ -434,6 +504,19 @@ Set `QODER_BRIDGE_DEBUG=1` before launching opencode to emit detailed bridge
|
|
|
434
504
|
logs (model fallbacks, stream aborts, live catalog discovery, ledger and
|
|
435
505
|
session-store I/O failures). Warnings that need attention are always printed.
|
|
436
506
|
|
|
507
|
+
When debugging tool access, search the OpenCode log for tool calls, malformed
|
|
508
|
+
inputs, and permission decisions:
|
|
509
|
+
|
|
510
|
+
```bash
|
|
511
|
+
rg -n "tool-call|invalid_tool_input|permission" \
|
|
512
|
+
~/.local/share/opencode/log/opencode.log
|
|
513
|
+
```
|
|
514
|
+
|
|
515
|
+
For a local checkout, confirm which plugin file is loaded by using a `file://`
|
|
516
|
+
URL in `opencode.json`; package-name installs may resolve an older cached copy.
|
|
517
|
+
The bridge prints its active model and session information when debug logging
|
|
518
|
+
is enabled.
|
|
519
|
+
|
|
437
520
|
State files (usage ledger, session mapping, model cache) live under
|
|
438
521
|
`~/.config/opencode-qoder-bridge` by default; override with
|
|
439
522
|
`QODER_BRIDGE_STATE_DIR`, or relocate via `XDG_CONFIG_HOME`.
|
|
@@ -448,6 +531,12 @@ QODER_E2E=1 npm run test:e2e
|
|
|
448
531
|
To include the live concurrent-abort probe in the stress suite, set
|
|
449
532
|
`QODER_STRESS_E2E=1` as well as a valid Qoder credential.
|
|
450
533
|
|
|
534
|
+
The deterministic stress suite does not require a Qoder account. It exercises
|
|
535
|
+
large prompts, concurrent session operations, stream boundaries, tool-call
|
|
536
|
+
deduplication, malformed input handling, and cost-ledger concurrency. The
|
|
537
|
+
authenticated E2E suite starts the real Qoder runtime and may consume quota,
|
|
538
|
+
so run it separately when you specifically need an end-to-end provider check.
|
|
539
|
+
|
|
451
540
|
## Security
|
|
452
541
|
|
|
453
542
|
Report suspected vulnerabilities privately as described in
|
package/RELEASING.md
CHANGED
|
@@ -55,29 +55,47 @@ npm rebuild @qoder-ai/qoder-agent-sdk
|
|
|
55
55
|
|
|
56
56
|
## Trusted publishing
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
The repository publishes to npm automatically when a GitHub Release is
|
|
59
|
+
published. `.github/workflows/publish.yml` checks out the release tag, verifies
|
|
60
|
+
that the tag version matches `package.json`, runs `npm ci`, `npm run check`,
|
|
61
|
+
`npm run test:stress`, validates the tarball, and publishes with npm provenance.
|
|
62
|
+
|
|
63
|
+
One-time npm configuration is required after the package exists on npm:
|
|
59
64
|
|
|
60
65
|
1. Open the package settings on npmjs.com.
|
|
61
66
|
2. Add a GitHub Actions trusted publisher for:
|
|
62
67
|
- Owner: `naoufalelbani`
|
|
63
68
|
- Repository: `opencode-qoder-bridge`
|
|
64
|
-
- Workflow:
|
|
65
|
-
-
|
|
69
|
+
- Workflow filename: `.github/workflows/publish.yml`
|
|
70
|
+
- Environment: leave blank unless the workflow is later changed to use one.
|
|
66
71
|
3. Keep the repository public so npm can generate provenance.
|
|
67
|
-
4.
|
|
68
|
-
|
|
72
|
+
4. Do not add an `NPM_TOKEN`; the workflow uses GitHub OIDC trusted publishing.
|
|
73
|
+
5. Optionally configure npm to disallow token-based publishing after the
|
|
74
|
+
trusted workflow succeeds.
|
|
75
|
+
|
|
76
|
+
The workflow requires the `id-token: write` permission and npm CLI 11.5.1 or
|
|
77
|
+
newer. A failed publish is safe to retry by publishing the same GitHub Release
|
|
78
|
+
again only after confirming npm does not already contain that version.
|
|
69
79
|
|
|
70
80
|
## Subsequent releases
|
|
71
81
|
|
|
72
82
|
Update `version` using semantic versioning, document the release in
|
|
73
83
|
`CHANGELOG.md`, run the release gate, commit the change, and push a matching
|
|
74
|
-
tag:
|
|
84
|
+
tag. Then publish the GitHub Release; npm publication happens automatically:
|
|
75
85
|
|
|
76
86
|
```bash
|
|
77
|
-
npm version patch
|
|
87
|
+
npm version patch --no-git-tag-version
|
|
88
|
+
# update CHANGELOG.md
|
|
89
|
+
npm ci
|
|
90
|
+
npm run check
|
|
91
|
+
npm run test:stress
|
|
92
|
+
git add package.json package-lock.json CHANGELOG.md dist src test
|
|
93
|
+
git commit -m "release: vX.Y.Z"
|
|
94
|
+
git tag vX.Y.Z
|
|
78
95
|
git push origin main --follow-tags
|
|
96
|
+
gh release create vX.Y.Z --target vX.Y.Z --generate-notes
|
|
79
97
|
```
|
|
80
98
|
|
|
81
|
-
The
|
|
82
|
-
published to npm.
|
|
99
|
+
The release event triggers `.github/workflows/publish.yml`. Never reuse a
|
|
100
|
+
version already published to npm.
|
|
83
101
|
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"language-model.d.ts","sourceRoot":"","sources":["../src/language-model.ts"],"names":[],"mappings":"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"}
|
package/dist/language-model.js
CHANGED
|
@@ -24,44 +24,6 @@ const MAX_OUTPUT_CHARS = 8_000_000;
|
|
|
24
24
|
const MAX_METADATA_NODES = 2_000;
|
|
25
25
|
const MAX_METADATA_STRING = 4_096;
|
|
26
26
|
const MAX_STOP_REASON_LENGTH = 256;
|
|
27
|
-
const QODER_BUILTIN_NAMES = {
|
|
28
|
-
read: "Read",
|
|
29
|
-
write: "Write",
|
|
30
|
-
edit: "Edit",
|
|
31
|
-
delete: "Delete",
|
|
32
|
-
view: "View",
|
|
33
|
-
bash: "Bash",
|
|
34
|
-
glob: "Glob",
|
|
35
|
-
grep: "Grep",
|
|
36
|
-
task: "Agent",
|
|
37
|
-
task_create: "TaskCreate",
|
|
38
|
-
taskcreate: "TaskCreate",
|
|
39
|
-
task_get: "TaskGet",
|
|
40
|
-
taskget: "TaskGet",
|
|
41
|
-
task_update: "TaskUpdate",
|
|
42
|
-
taskupdate: "TaskUpdate",
|
|
43
|
-
task_list: "TaskList",
|
|
44
|
-
tasklist: "TaskList",
|
|
45
|
-
question: "AskUserQuestion",
|
|
46
|
-
ask_user_question: "AskUserQuestion",
|
|
47
|
-
plan_exit: "ExitPlanMode",
|
|
48
|
-
exit_plan_mode: "ExitPlanMode",
|
|
49
|
-
skill: "Skill",
|
|
50
|
-
todo_write: "TodoWrite",
|
|
51
|
-
todowrite: "TodoWrite",
|
|
52
|
-
update_goal: "UpdateGoal",
|
|
53
|
-
updategoal: "UpdateGoal",
|
|
54
|
-
web_fetch: "WebFetch",
|
|
55
|
-
webfetch: "WebFetch",
|
|
56
|
-
web_search: "WebSearch",
|
|
57
|
-
websearch: "WebSearch",
|
|
58
|
-
image_gen: "ImageGen",
|
|
59
|
-
imagegen: "ImageGen",
|
|
60
|
-
image_search: "ImageSearch",
|
|
61
|
-
imagesearch: "ImageSearch",
|
|
62
|
-
notebook_edit: "NotebookEdit",
|
|
63
|
-
notebookedit: "NotebookEdit",
|
|
64
|
-
};
|
|
65
27
|
async function flushSdkBackgroundWork(activeQuery, bridgeOptions) {
|
|
66
28
|
const operations = [];
|
|
67
29
|
if (bridgeOptions.memory && Object.keys(bridgeOptions.memory).length > 0) {
|
|
@@ -358,14 +320,6 @@ function isProviderOwnedTool(rawName, normalizedName, functionToolNames) {
|
|
|
358
320
|
return true;
|
|
359
321
|
return isProviderExecutedTool(normalizedName, functionToolNames);
|
|
360
322
|
}
|
|
361
|
-
function qoderToolNameForHost(rawName) {
|
|
362
|
-
const trimmed = rawName.trim();
|
|
363
|
-
const normalized = normalizeToolName(trimmed);
|
|
364
|
-
return QODER_BUILTIN_NAMES[normalized] ?? trimmed;
|
|
365
|
-
}
|
|
366
|
-
function isProviderOwnedToolName(name) {
|
|
367
|
-
return name.trim().toLowerCase().startsWith("mcp__");
|
|
368
|
-
}
|
|
369
323
|
export class QoderLanguageModel {
|
|
370
324
|
specificationVersion = "v3";
|
|
371
325
|
provider = "qoder";
|
|
@@ -469,12 +423,6 @@ export class QoderLanguageModel {
|
|
|
469
423
|
const functionToolNames = new Set((options.tools ?? [])
|
|
470
424
|
.filter((t) => t.type === "function")
|
|
471
425
|
.map((t) => normalizeToolName(t.name)));
|
|
472
|
-
const hostToolNames = (options.tools ?? [])
|
|
473
|
-
.filter((tool) => tool.type === "function")
|
|
474
|
-
// MCP tools configured through mcpServers are executed by Qoder. They
|
|
475
|
-
// are provider-owned and must not be added to the native denylist.
|
|
476
|
-
.filter((tool) => !isProviderOwnedToolName(tool.name))
|
|
477
|
-
.map((tool) => qoderToolNameForHost(tool.name));
|
|
478
426
|
const abortController = new AbortController();
|
|
479
427
|
let qoderQuery = null;
|
|
480
428
|
let externallyAborted = false;
|
|
@@ -603,7 +551,7 @@ export class QoderLanguageModel {
|
|
|
603
551
|
const prompt = promptHasImage(promptInput)
|
|
604
552
|
? buildPromptIterable(promptInput, model.limit.context, sessionId)
|
|
605
553
|
: buildPromptString(promptInput, model.limit.context);
|
|
606
|
-
const qoderOptions = this.buildQueryOptions(cli, sessionId, abortController, shouldResume, this.modelId, cwd,
|
|
554
|
+
const qoderOptions = this.buildQueryOptions(cli, sessionId, abortController, shouldResume, this.modelId, cwd, () => {
|
|
607
555
|
state.authExpired = true;
|
|
608
556
|
try {
|
|
609
557
|
abortController.abort();
|
|
@@ -721,7 +669,7 @@ export class QoderLanguageModel {
|
|
|
721
669
|
});
|
|
722
670
|
return { stream };
|
|
723
671
|
}
|
|
724
|
-
buildQueryOptions(cli, sessionId, abortController, shouldResume, modelId = this.modelId, cwd = resolveCwd(this.bridgeOptions.cwd),
|
|
672
|
+
buildQueryOptions(cli, sessionId, abortController, shouldResume, modelId = this.modelId, cwd = resolveCwd(this.bridgeOptions.cwd), onAuthExpired) {
|
|
725
673
|
const sessionKey = this.bridgeOptions.sessionKey ?? this.bridgeOptions.sessionId;
|
|
726
674
|
const permissionMode = this.bridgeOptions.permissionMode ?? "default";
|
|
727
675
|
const opts = {
|
|
@@ -764,12 +712,13 @@ export class QoderLanguageModel {
|
|
|
764
712
|
opts.resume = sessionId;
|
|
765
713
|
if (this.bridgeOptions.allowedTools)
|
|
766
714
|
opts.allowedTools = this.bridgeOptions.allowedTools;
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
715
|
+
// OpenCode host tools (Read/Edit/Write/Bash/etc.) must remain callable by
|
|
716
|
+
// Qoder so the SDK can emit tool_use blocks that this provider translates
|
|
717
|
+
// back into OpenCode tool calls. Adding them to --disallowed-tools makes
|
|
718
|
+
// the model report that it has no filesystem or shell access, which is the
|
|
719
|
+
// exact failure mode this bridge is meant to avoid. Only an explicit user
|
|
720
|
+
// denylist belongs here; bridged MCP tools remain provider-owned below.
|
|
721
|
+
const disallowedTools = (this.bridgeOptions.disallowedTools ?? [])
|
|
773
722
|
.filter((name, index, all) => typeof name === "string" && name.trim() && all.indexOf(name) === index);
|
|
774
723
|
if (disallowedTools.length > 0)
|
|
775
724
|
opts.disallowedTools = disallowedTools;
|
|
@@ -960,7 +909,17 @@ function handleStreamEvent(ev, state) {
|
|
|
960
909
|
return;
|
|
961
910
|
}
|
|
962
911
|
tb.hasInput = true;
|
|
963
|
-
|
|
912
|
+
// Some Qoder SDK versions include an eager `{}` on
|
|
913
|
+
// content_block_start and then stream the complete object again as the
|
|
914
|
+
// first input_json_delta. Concatenating those two representations yields
|
|
915
|
+
// `{}{...}`, which is not JSON and makes otherwise valid Read/Write/Edit
|
|
916
|
+
// calls fail before OpenCode can execute them.
|
|
917
|
+
if (tb.input.trim() === "{}" && delta.partial_json.trimStart().startsWith("{")) {
|
|
918
|
+
tb.input = delta.partial_json;
|
|
919
|
+
}
|
|
920
|
+
else {
|
|
921
|
+
tb.input += delta.partial_json;
|
|
922
|
+
}
|
|
964
923
|
if (!tb.providerExecuted) {
|
|
965
924
|
safeEnqueue(controller, { type: "tool-input-delta", id: tb.id, delta: delta.partial_json });
|
|
966
925
|
}
|
|
@@ -1082,30 +1041,51 @@ function handleAssistant(m, state) {
|
|
|
1082
1041
|
}
|
|
1083
1042
|
}
|
|
1084
1043
|
function normalizedToolInput(toolName, raw) {
|
|
1085
|
-
if (raw === undefined)
|
|
1044
|
+
if (raw === undefined) {
|
|
1045
|
+
if (toolName === "bash")
|
|
1046
|
+
return "{}";
|
|
1047
|
+
debugInvalidToolInput(toolName, raw);
|
|
1086
1048
|
return null;
|
|
1049
|
+
}
|
|
1087
1050
|
const serialized = typeof raw === "string" ? raw : safeJsonStringify(raw);
|
|
1088
|
-
if (serialized === undefined || serialized.length > MAX_TOOL_INPUT_CHARS)
|
|
1051
|
+
if (serialized === undefined || serialized.length > MAX_TOOL_INPUT_CHARS) {
|
|
1052
|
+
debugInvalidToolInput(toolName, serialized ?? raw);
|
|
1089
1053
|
return null;
|
|
1054
|
+
}
|
|
1090
1055
|
const trimmed = serialized.trim();
|
|
1091
1056
|
try {
|
|
1092
1057
|
const parsed = JSON.parse(trimmed || "{}");
|
|
1093
|
-
if (toolName === "bash" && typeof parsed === "string"
|
|
1094
|
-
return JSON.stringify({ command: parsed });
|
|
1058
|
+
if (toolName === "bash" && typeof parsed === "string") {
|
|
1059
|
+
return normalizeToolInputString(toolName, JSON.stringify({ command: parsed }));
|
|
1095
1060
|
}
|
|
1096
|
-
if (!isRecord(parsed))
|
|
1061
|
+
if (!isRecord(parsed)) {
|
|
1062
|
+
debugInvalidToolInput(toolName, serialized);
|
|
1097
1063
|
return null;
|
|
1064
|
+
}
|
|
1098
1065
|
return normalizeToolInputString(toolName, serialized);
|
|
1099
1066
|
}
|
|
1100
1067
|
catch {
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1068
|
+
if (toolName === "bash") {
|
|
1069
|
+
const commandMatch = /"command"\s*:\s*"((?:[^"\\]|\\.)*)"/s.exec(trimmed);
|
|
1070
|
+
if (commandMatch) {
|
|
1071
|
+
try {
|
|
1072
|
+
return normalizeToolInputString(toolName, JSON.stringify({ command: JSON.parse(`"${commandMatch[1]}"`) }));
|
|
1073
|
+
}
|
|
1074
|
+
catch {
|
|
1075
|
+
// Fall through to the plain-text compatibility path below.
|
|
1076
|
+
}
|
|
1077
|
+
}
|
|
1078
|
+
if (trimmed)
|
|
1079
|
+
return JSON.stringify({ command: trimmed });
|
|
1105
1080
|
}
|
|
1081
|
+
debugInvalidToolInput(toolName, serialized);
|
|
1106
1082
|
return null;
|
|
1107
1083
|
}
|
|
1108
1084
|
}
|
|
1085
|
+
function debugInvalidToolInput(toolName, raw) {
|
|
1086
|
+
const text = typeof raw === "string" ? raw : safeJsonStringify(raw) ?? String(raw);
|
|
1087
|
+
debug(`Invalid tool input for ${toolName}: ${text.slice(0, 500)}`);
|
|
1088
|
+
}
|
|
1109
1089
|
function appendOutput(state, text) {
|
|
1110
1090
|
const current = Number.isFinite(state.outputChars) ? state.outputChars : 0;
|
|
1111
1091
|
if (current + text.length > MAX_OUTPUT_CHARS) {
|
|
@@ -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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencode-qoder-bridge",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.17",
|
|
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",
|