llm-relay 0.8.0 → 0.8.1

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 CHANGED
@@ -130,6 +130,10 @@ operating guide (addressing pools/models, the offload switch, `@relay:` directiv
130
130
  candidates table, failure modes) that Claude loads on demand. It refreshes automatically on every
131
131
  upgrade; local/dev installs never touch `~/.claude`.
132
132
 
133
+ If your npm blocks unknown install scripts (`npm warn install-scripts … blocked`), allow this one —
134
+ `npm config set allow-scripts=llm-relay --location=user` — or install the skill by hand:
135
+ `node "$(npm root -g)/llm-relay/scripts/install-skill.mjs" --force`.
136
+
133
137
  ### Staying current
134
138
 
135
139
  Every start (except `help` and `version`) compares the running version against the npm registry —
@@ -132,7 +132,10 @@ export class PingLoop {
132
132
  // Probe up to 3 due models per provider per tick to avoid flooding
133
133
  const toProbe = dueIds.slice(0, 3);
134
134
  for (const mId of toProbe) {
135
- const res = await pingProviderModel(providerName, mId, pCfg, apiKey, optsObj(this.opts.fetchFn));
135
+ const res = await pingProviderModel(providerName, mId, pCfg, apiKey, {
136
+ ...optsObj(this.opts.fetchFn),
137
+ ...(pCfg.timeoutMs !== undefined ? { timeoutMs: pCfg.timeoutMs } : {}),
138
+ });
136
139
  this.recordPing(providerName, mId, res);
137
140
  }
138
141
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cadence.js","sourceRoot":"","sources":["../../src/ping/cadence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cadence.js","sourceRoot":"","sources":["../../src/ping/cadence.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "llm-relay",
3
- "version": "0.8.0",
3
+ "version": "0.8.1",
4
4
  "description": "Loopback Anthropic-Messages-API proxy that validates and repairs tool-call responses in flight, routing across multi-provider LLM backends.",
5
5
  "type": "module",
6
6
  "engines": {
@@ -5,6 +5,7 @@ description: >-
5
5
  validates/repairs tool calls and can offload Claude Code subagents to non-Anthropic
6
6
  providers. Use when offloading bulk work to a subagent on another provider, choosing an
7
7
  offload target, addressing a pool or model through the relay, toggling subagent offload,
8
+ dispatching to peer agent CLIs (Antigravity/Codex) as fallback lanes, reordering dispatch,
8
9
  or diagnosing a request that failed at or behind the relay.
9
10
  ---
10
11
 
@@ -85,6 +86,60 @@ p95), quota, breaker state, and traffic observed through this proxy. Weigh the c
85
86
 
86
87
  `GET 127.0.0.1:8791/candidates` returns the full JSON (every raw score, jitter, observed calls).
87
88
 
89
+ ## The dispatch ladder — including agent-CLI lanes (Antigravity, Codex)
90
+
91
+ Subscription and CLI-credit quotas are **client-bound**: only the vendor's own client can spend
92
+ them, so the relay cannot front them as providers (Antigravity's endpoint is compiled into its
93
+ binary; Codex's ChatGPT path uses client-bound OAuth on `/v1/responses`). They are still dispatch
94
+ targets — the host agent reaches them by shelling out to the vendor CLI, and they participate in
95
+ **one ordered ladder** together with the relay's pools. Walk it top to bottom; each rung falls
96
+ back to the next on failure or quota exhaustion, exactly like candidates inside a relay pool.
97
+
98
+ **Default ladder for offloadable work** (bulk recon, extraction, analysis):
99
+
100
+ 1. **Relay pool** — `@relay: pool/coding` subagent (or tier via `routing.subagents` when offload
101
+ is on). Free API-key capacity. *Exhausted when:* the pool 4xx/5xxs after failover walks every
102
+ candidate, or `llm-relay candidates` shows the breaker open / quota drained across the pool.
103
+ 2. **Antigravity CLI** — `agy -p "<task>" --output-format json` (spends AGY CLI credits; the
104
+ `gemini` CLI is its deprecated former name). Useful flags: `--model` (`agy models` lists),
105
+ `--effort low|medium|high`, `--add-dir <path>` to scope the workspace, `--json-schema` for
106
+ structured output, `--print-timeout` (default 5m), `--mode plan` for analysis-only runs.
107
+ *Exhausted when:* the CLI reports credits/quota exhausted or rate-limits.
108
+ 3. **Codex CLI** — `codex exec "<task>"` (spends the ChatGPT subscription). Also
109
+ `codex exec review` for repo review. *Exhausted when:* it reports usage-limit errors.
110
+ 4. **Anthropic subagent** — plain `Agent(...)`, no directive. Spends primary quota; always works.
111
+
112
+ Rules for walking it:
113
+
114
+ - **Skip a rung whose CLI is not installed** (`Get-Command agy` / `codex` or `command -v`) — this
115
+ ladder degrades gracefully to "relay, then Anthropic" on machines without the peer CLIs.
116
+ - Both CLIs are **full agents with their own tool loops** — hand them a self-contained prompt with
117
+ file paths, run long tasks in the background, and treat output as advisory (verify against
118
+ source) exactly like relay-offloaded output. Do NOT wrap them in a bare one-shot HTTP helper.
119
+ - A **refusal or a wrong answer is not a transport failure** — do not walk the ladder to shop for
120
+ a more compliant model. Only availability failures (errors, quota, rate limits) advance a rung.
121
+ - Interactive-only quotas (e.g. an IDE-bound plan with no CLI) are unreachable by any dispatcher;
122
+ don't try to MITM them into the ladder.
123
+
124
+ ## Reordering dispatch
125
+
126
+ Ordering exists at three levels; change the right one:
127
+
128
+ - **The ladder above** (which lane is tried first): it is instructions, not code — edit the
129
+ numbered list in this skill file (`skills/llm-relay/SKILL.md` in the repo; the installed copy
130
+ lives in `~/.claude/skills/llm-relay/`, refreshed on package upgrade). E.g. to burn AGY credits
131
+ before free API keys, swap rungs 1 and 2. The user can also reorder per-request in chat
132
+ ("try codex first for this").
133
+ - **Which pool a tier lands on** (`routing.subagents` in `~/.llm-relay/config.json`): maps the
134
+ Agent tool's `model` param (opus/sonnet/haiku/…) to a pool or pinned spec. Takes effect on the
135
+ next request; no restart.
136
+ - **Candidate order inside a pool** (`routing.pools`): with `"benchmarkSort": true` (default
137
+ setup) failover order is by synced benchmark strength and the config array only breaks ties.
138
+ To make the array order authoritative, set `"benchmarkSort": false`. Either way the circuit
139
+ breaker still demotes unhealthy targets — that is live health, not preference, and it is what
140
+ you want. For an absolutely fixed destination, pin `<provider>/<model>`; a pin is never
141
+ reordered and never fails over.
142
+
88
143
  ## Everyday commands
89
144
 
90
145
  ```bash