@khalilgharbaoui/opencode-claude-code-plugin 0.26.1 → 0.26.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/README.md +4 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.js +284 -123
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/skills/claude-code-plugin/SKILL.md +18 -5
package/README.md
CHANGED
|
@@ -250,6 +250,7 @@ What a pick does, in full:
|
|
|
250
250
|
- **The conversation is replayed, not resumed.** Claude transcripts live under each account's own `CLAUDE_CONFIG_DIR`, so `--resume` cannot cross accounts. The plugin starts a fresh Claude session on the target and replays the thread from opencode's history, then tells it to carry on. That costs input tokens on the new account, and anything the CLI held but opencode did not is gone.
|
|
251
251
|
- **Per-profile MCP servers do not come along.** A server configured only in the limited account's Claude profile is simply absent on the target.
|
|
252
252
|
- **`stop`, dismissing the form, or any answer that is not one of the offered accounts** ends the turn exactly the way the rate-limit error ends it today.
|
|
253
|
+
- **An account that cannot serve at all gets the same form.** When Claude Code reports that an account's login expired (`authentication_failed`), or that it is on hold, unverified or has a billing problem, the plugin writes a note naming the account and what to do, and offers the switch if another account is configured. For an expired login the note gives the exact command, for example `CLAUDE_CONFIG_DIR=~/.claude-work claude auth login`. The switch lasts until opencode restarts, so restart after logging in again to move back. With a single account you get the note alone.
|
|
253
254
|
|
|
254
255
|
Only two things open the form: a `rate_limit_event` the CLI marked `rejected`, and the two known account-limit error texts (`Third-party apps now draw from your extra usage…`, `You've hit your individual spend limit`). A generic 4xx, a timeout or a bad flag never does, deliberately: a transient failure must not quietly move where your usage is billed.
|
|
255
256
|
|
|
@@ -677,7 +678,9 @@ The same events are also what let a legitimately long call complete, which is th
|
|
|
677
678
|
|
|
678
679
|
### Per-tool proxy timeouts
|
|
679
680
|
|
|
680
|
-
Deadlines still exist, as an explicit backstop rather than the mechanism that decides when a call is over. If a tool with one has not been resolved within that many milliseconds, the call is rejected and Claude receives a timeout error.
|
|
681
|
+
Deadlines still exist, as an explicit backstop rather than the mechanism that decides when a call is over. If a tool with one has not been resolved within that many milliseconds, the call is rejected and Claude receives a timeout error.
|
|
682
|
+
|
|
683
|
+
A deadline does not count time opencode is still spending on the call. When it passes, the plugin asks opencode whether the session is still busy. If it is (a permission prompt waiting for your answer, or the tool itself still running), the call keeps waiting and is checked again every minute. The deadline only applies once opencode is idle, or when opencode cannot be asked. Before this, answering a permission prompt after ten minutes meant Claude had already been told the command timed out. Your late approval then cancelled Claude's next action, which it reported as you rejecting it. Resolved per tool, most-specific layer winning:
|
|
681
684
|
|
|
682
685
|
1. flat default — 10 min (matches Claude CLI's own Bash ceiling)
|
|
683
686
|
2. per-tool default: **`task` / `task_batch`: none**, **`question`: 30 min**, everything else: 10 min
|
package/dist/index.d.ts
CHANGED
|
@@ -804,6 +804,12 @@ interface ClaudeStreamMessage {
|
|
|
804
804
|
agent_id?: string;
|
|
805
805
|
description?: string;
|
|
806
806
|
};
|
|
807
|
+
/**
|
|
808
|
+
* On an `assistant` message the CLI synthesised to report a failure: the
|
|
809
|
+
* kind of failure (`authentication_failed`, `billing_error`, ...). Read by
|
|
810
|
+
* `accountBlockKind`; schema confirmed on Claude Code 2.1.280.
|
|
811
|
+
*/
|
|
812
|
+
error?: string;
|
|
807
813
|
message?: {
|
|
808
814
|
role?: string;
|
|
809
815
|
model?: string;
|