@khalilgharbaoui/opencode-claude-code-plugin 0.43.0 → 0.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@khalilgharbaoui/opencode-claude-code-plugin",
3
- "version": "0.43.0",
3
+ "version": "0.45.0",
4
4
  "description": "Claude Code CLI provider plugin for opencode",
5
5
  "homepage": "https://opencode-claude-code-plugin.dev/",
6
6
  "funding": {
@@ -153,6 +153,7 @@ Defaults below describe normal headless opencode use when the key is absent.
153
153
  | `interactiveBypass` | boolean | `false` | Deprecated no-op: `skipPermissions` governs the interactive transport too. |
154
154
  | `interactiveAllowTools` | string[] | `["Bash", "Edit", "Write", "Read", "WebFetch"]` | With the interactive transport when it does not run `--dangerously-skip-permissions` (plan mode, `skipPermissions: false` with `controlRequestBehavior: "deny"`, or a CLI older than 2.1.263): replaces the built-in pre-allow list. MCP wildcards from discovered bridge names plus `mcp__opencode_proxy__*` are added even with `[]`. Not a capability denylist; review permissions before enabling. A tool outside the list raises the TUI's permission dialog, which the transport denies with Esc (nobody is there to answer): the turn ends interrupted and the result's `permission_denials` names the tool. |
155
155
  | `interactiveSystemPrompt` | boolean | `true` | With the interactive transport: append the plugin's own prompt. opencode's forwarded system prompt is deliberately not sent on this transport (it can trip Claude's third-party usage gate). `false` is for diagnostics only. |
156
+ | `interactiveUserInstructions` | boolean | `false` | With the interactive transport: also append, verbatim, the operator's own instruction files that opencode forwarded (each `Instructions from: <path>` block whose local file still matches, trailing whitespace aside; not `CLAUDE.md`, not an `AGENTS.md` already appended) and the active agent's own prompt. Never opencode's generated prompt or environment block. Headless unaffected. If a turn is billed as a third-party app, turn it off. |
156
157
  | `logging` | object | see below | File logging plus how much reaches the operator. |
157
158
  | `name` | string | unset | Low-level `createClaudeCode()` provider identity fallback after `providerID`, not the opencode display-name setting. Display name lives at `provider.<id>.name`; account expansion supplies its own label. Leave this option unset. |
158
159
  | `providerID` | string | derived | Config hook writes the actual provider id (`claude-code` or `claude-code-work`). Do not override manually. |
@@ -311,8 +312,9 @@ binary or inconclusive output stays headless. Nothing retries a submitted reques
311
312
  another transport. Explicit PTY and an automatic PTY selection require `Bun.Terminal`;
312
313
  without it they fail clearly. This changes transport, not account access or billing.
313
314
 
314
- Interactive transport takes text plus images (PNG/JPEG/GIF/WebP staged as 0600 files
315
- whose paths the TUI attaches, deleted after the turn; PDFs and other blocks are
315
+ Interactive transport takes text, images and PDFs (staged as 0600 files, deleted after
316
+ the turn: an image path the TUI attaches, a PDF as an `@<path>` mention Claude reads
317
+ with its Read tool; headless sends a PDF as a `document` block; other blocks are
316
318
  dropped with a warning). A message sent while a proxied tool runs reaches the same turn
317
319
  through the TUI's own input queue, as on headless. A turn ends on its stop reason or
318
320
  `turn_duration`, or, as a safeguard for a CLI that writes neither, after 20 s of total