@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/package.json
CHANGED
|
@@ -232,8 +232,16 @@ Tell the user what a pick actually does before recommending one:
|
|
|
232
232
|
- `stop`, dismissing the form, or answering with anything that is not one of the offered
|
|
233
233
|
accounts ends the turn exactly as the rate-limit error does today. The limit is
|
|
234
234
|
unchanged either way; failover moves the work, it does not create usage.
|
|
235
|
-
- Only a rejected `rate_limit_event
|
|
236
|
-
|
|
235
|
+
- Only a rejected `rate_limit_event`, one of the two known account-limit error texts, or
|
|
236
|
+
an account-level failure the CLI reports on its own error reply opens the form. The
|
|
237
|
+
account-level kinds are `authentication_failed`, `oauth_org_not_allowed`,
|
|
238
|
+
`account_on_hold`, `verification_required` and `billing_error`. A generic 4xx, a
|
|
239
|
+
timeout or a bad flag never does.
|
|
240
|
+
- An expired login also writes a `▌ **claude account:**` note naming the account and the
|
|
241
|
+
command to fix it: `claude auth login` for the default account, or
|
|
242
|
+
`CLAUDE_CONFIG_DIR=<that account's config dir> claude auth login` for a named one. When
|
|
243
|
+
a user reports "Failed to authenticate: OAuth session expired", that command is the
|
|
244
|
+
fix; a switch made from that form lasts until opencode restarts.
|
|
237
245
|
- Not available on the interactive transport or on compaction turns.
|
|
238
246
|
|
|
239
247
|
`{ "accountFailover": "off" }` keeps the plain rate-limit error.
|
|
@@ -343,8 +351,9 @@ Names below become `mcp__opencode_proxy__<name>`; input config is case-insensiti
|
|
|
343
351
|
A proxied call is held open until an event ends it, and the plugin listens to the
|
|
344
352
|
`claude` process, the stream and the control protocol for those events rather than
|
|
345
353
|
inferring failure from elapsed time: opencode's result resolves the call; an abort
|
|
346
|
-
interrupts the CLI and rejects the turn's pending calls,
|
|
347
|
-
|
|
354
|
+
interrupts the CLI and rejects the turn's pending calls, unless opencode still reports
|
|
355
|
+
the session busy (opencode 1.18 aborts the signal of every tool step while it runs the
|
|
356
|
+
tool, so busy means the call is being served, not refused); the next user message rejects what the previous turn left pending
|
|
348
357
|
and tells the CLI; the process exiting, the chat being deleted, or opencode exiting
|
|
349
358
|
rejects the rest. That is why `task` and `task_batch` carry no default deadline and a
|
|
350
359
|
subagent runs to completion. Three timers remain and are distinct from that: the
|
|
@@ -352,7 +361,11 @@ optional per-tool deadlines above (a backstop the user chooses), the start and
|
|
|
352
361
|
inactivity watchdogs (for a process that is alive but silent, which emits nothing to
|
|
353
362
|
listen to; a CLI parked in a proxied call is exempt), and the connection keepalives
|
|
354
363
|
(SSE comments or JSON whitespace every 15 s, so the CLI's HTTP client does not give up
|
|
355
|
-
on a long call; they never extend a deadline).
|
|
364
|
+
on a long call; they never extend a deadline). A deadline that passes while opencode
|
|
365
|
+
still reports the session busy (a permission prompt the user has not answered, or the
|
|
366
|
+
tool still running) does not end the call: it logs `proxy call past its deadline, but
|
|
367
|
+
opencode is still serving it; waiting` at WARN once and is rechecked every minute. So an
|
|
368
|
+
unanswered permission prompt is not a reason to raise `proxyToolTimeoutMs`. Do not present a raised deadline as the
|
|
356
369
|
fix for a long subagent; the default already waits for it. A deadline-free call is not
|
|
357
370
|
silent while it waits: it logs `proxy call still waiting, no deadline` at WARN after
|
|
358
371
|
five minutes and every five minutes after, with tool, call id and elapsed time. That
|