llm-relay 0.8.0 → 0.8.2
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 -0
- package/dist/ping/cadence.js +4 -1
- package/dist/ping/cadence.js.map +1 -1
- package/package.json +1 -1
- package/skills/llm-relay/SKILL.md +76 -0
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 —
|
package/dist/ping/cadence.js
CHANGED
|
@@ -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,
|
|
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
|
}
|
package/dist/ping/cadence.js.map
CHANGED
|
@@ -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":"AAEA,OAAO,EAAE,iBAAiB,EAAmB,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAmB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACpH,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAI3E,MAAM,CAAC,MAAM,mBAAmB,GAA6B;IAC3D,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,KAAK;IACX,MAAM,EAAE,IAAI;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC,CAAC,MAAM;AACnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,CAAC,QAAQ;AAgBlD,MAAM,OAAO,QAAQ;IAcT;IACA;IACA;IAfF,IAAI,GAAa,OAAO,CAAC;IACzB,UAAU,GAAG,SAAS,CAAC;IACvB,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC;IACvC,UAAU,GAAkB,IAAI,CAAC,GAAG,EAAE,GAAG,sBAAsB,CAAC;IAChE,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5B,qBAAqB,GAAG,KAAK,CAAC;IAC9B,QAAQ,GAA0B,IAAI,CAAC;IACvC,OAAO,GAAG,KAAK,CAAC;IAEhB,WAAW,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC9C,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEvD,YACU,GAAW,EACX,OAAqB,EACrB,OAAwD,EAAE;QAF1D,QAAG,GAAH,GAAG,CAAQ;QACX,YAAO,GAAP,OAAO,CAAc;QACrB,SAAI,GAAJ,IAAI,CAAsD;IACjE,CAAC;IAEG,OAAO;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEM,WAAW,CAAC,QAAkB,EAAE,MAAM,GAAG,QAAQ;QACtD,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,IAAI,CAAC,qBAAqB,GAAG,MAAM,KAAK,MAAM,CAAC;QAC/C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAEM,gBAAgB;QACrB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;QACnC,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACvD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAEM,mBAAmB;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;QAEnC,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9C,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,cAAc,IAAI,kBAAkB,EAAE,CAAC;YACpD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IAEM,UAAU,CAAC,WAAmB,EAAE,OAAe,EAAE,GAAe,EAAE,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE;QAC7F,MAAM,GAAG,GAAG,GAAG,WAAW,IAAI,OAAO,EAAE,CAAC;QACxC,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACxD,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;YAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAEzC,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;QACtD,CAAC;QAED,iBAAiB,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IAEM,aAAa,CAAC,WAAmB,EAAE,OAAe;QACvD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,IAAI,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;IACjE,CAAC;IAEM,gBAAgB,CAAC,WAAmB;QACzC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;IACnD,CAAC;IAEM,eAAe,CAAC,WAAmB,EAAE,OAAe;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE;YAChC,QAAQ,EAAE,QAAQ,EAAE,IAAI,IAAI,IAAI;YAChC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK;SAC9E,CAAC,CAAC;QAEH,OAAO;YACL,WAAW;YACX,OAAO;YACP,KAAK,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;YACtC,KAAK,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;YACtC,QAAQ;YACR,cAAc;YACd,SAAS;YACT,OAAO;YACP,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;YAChD,YAAY,EAAE,QAAQ,EAAE,IAAI,IAAI,IAAI;YACpC,UAAU,EAAE,QAAQ,EAAE,EAAE,IAAI,IAAI;SACjC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,QAAQ;QACnB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,KAAK,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAoC,EAAE,CAAC;YACzG,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,IAAI,QAAQ,GAAa,EAAE,CAAC;YAE5B,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACrF,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YAEV,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEpC,MAAM,MAAM,GAAG,oBAAoB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC5D,mEAAmE;YACnE,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAEnC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE;oBACnE,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;oBAC7B,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACvE,CAAC,CAAC;gBACH,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAEM,KAAK;QACV,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO;YAC1B,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,IAAI,EAAE,CAAC;IACd,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;CACF;AAED,SAAS,OAAO,CAAC,OAAsB;IACrC,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACpC,CAAC"}
|
package/package.json
CHANGED
|
@@ -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,81 @@ 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). Included
|
|
99
|
+
subscription/credit allowances are spent before metered-or-free API capacity, so the cheap lanes
|
|
100
|
+
are the *first* resort, not the fallback:
|
|
101
|
+
|
|
102
|
+
1. **Antigravity — Gemini 3.6 Flash, any tier.** The default workhorse for every tier; pick the
|
|
103
|
+
reasoning level to suit the task, since AGY bakes it into the model id:
|
|
104
|
+
```bash
|
|
105
|
+
agy -p "<task>" --model gemini-3.6-flash-medium --output-format json
|
|
106
|
+
```
|
|
107
|
+
`-high` for analysis and tracing, `-medium` for ordinary recon, `-low` for mechanical sweeps.
|
|
108
|
+
Other flags: `--add-dir <path>` to scope the workspace, `--json-schema` for structured output,
|
|
109
|
+
`--print-timeout` (default 5m), `--mode plan` for analysis-only runs. Spends AGY CLI credits.
|
|
110
|
+
*Exhausted when:* the CLI reports credits/quota exhausted or rate-limits.
|
|
111
|
+
2. **Antigravity — Claude, same CLI and credits.** When Flash is not strong enough for the task,
|
|
112
|
+
stay on AGY and step up rather than leaving the lane: `--model claude-opus-4-6-thinking` for
|
|
113
|
+
hard reasoning, `--model claude-sonnet-4-6` for everything else. (Neither id carries a level
|
|
114
|
+
suffix — use the session flag `--effort low|medium|high` if you need to tune them.)
|
|
115
|
+
*Exhausted when:* AGY credits are gone — i.e. this rung and rung 1 exhaust together.
|
|
116
|
+
3. **Codex — Sol, then Terra, then Luna.** Spends the ChatGPT subscription:
|
|
117
|
+
```bash
|
|
118
|
+
codex exec --model gpt-5.6-sol "<task>"
|
|
119
|
+
```
|
|
120
|
+
Walk `gpt-5.6-sol` → `gpt-5.6-terra` → `gpt-5.6-luna` in that order. Set reasoning to suit with
|
|
121
|
+
`-c model_reasoning_effort="high|medium|low"` (the config default is `high`). `codex exec review`
|
|
122
|
+
runs a repo review. *Exhausted when:* it reports usage-limit errors.
|
|
123
|
+
4. **Relay pools — free API-key capacity, benchmark order.** `@relay: pool/coding` (or the tier
|
|
124
|
+
mapping in `routing.subagents` when offload is on). Ordering *inside* a pool is by synced
|
|
125
|
+
benchmark strength, not config order — see "Reordering dispatch" below. *Exhausted when:* the
|
|
126
|
+
pool 4xx/5xxs after failover walks every candidate, or `llm-relay candidates` shows the breaker
|
|
127
|
+
open / quota drained across the pool.
|
|
128
|
+
5. **Anthropic subagent** — plain `Agent(...)`, no directive. Spends primary quota; always works.
|
|
129
|
+
|
|
130
|
+
`agy models` and the Codex model list are the authority on what exists — re-check them rather than
|
|
131
|
+
trusting these ids after a CLI upgrade, since a de-listed id fails the whole rung.
|
|
132
|
+
|
|
133
|
+
Rules for walking it:
|
|
134
|
+
|
|
135
|
+
- **Skip a rung whose CLI is not installed** (`Get-Command agy` / `codex` or `command -v`) — this
|
|
136
|
+
ladder degrades gracefully to "relay pools, then Anthropic" on machines without the peer CLIs.
|
|
137
|
+
- Both CLIs are **full agents with their own tool loops** — hand them a self-contained prompt with
|
|
138
|
+
file paths, run long tasks in the background, and treat output as advisory (verify against
|
|
139
|
+
source) exactly like relay-offloaded output. Do NOT wrap them in a bare one-shot HTTP helper.
|
|
140
|
+
- A **refusal or a wrong answer is not a transport failure** — do not walk the ladder to shop for
|
|
141
|
+
a more compliant model. Only availability failures (errors, quota, rate limits) advance a rung.
|
|
142
|
+
- Interactive-only quotas (e.g. an IDE-bound plan with no CLI) are unreachable by any dispatcher;
|
|
143
|
+
don't try to MITM them into the ladder.
|
|
144
|
+
|
|
145
|
+
## Reordering dispatch
|
|
146
|
+
|
|
147
|
+
Ordering exists at three levels; change the right one:
|
|
148
|
+
|
|
149
|
+
- **The ladder above** (which lane is tried first): it is instructions, not code — edit the
|
|
150
|
+
numbered list in this skill file (`skills/llm-relay/SKILL.md` in the repo; the installed copy
|
|
151
|
+
lives in `~/.claude/skills/llm-relay/`, refreshed on package upgrade). E.g. to preserve AGY
|
|
152
|
+
credits and spend free API capacity first, move rung 4 to the top. The user can also reorder
|
|
153
|
+
per-request in chat ("try codex first for this").
|
|
154
|
+
- **Which pool a tier lands on** (`routing.subagents` in `~/.llm-relay/config.json`): maps the
|
|
155
|
+
Agent tool's `model` param (opus/sonnet/haiku/…) to a pool or pinned spec. Takes effect on the
|
|
156
|
+
next request; no restart.
|
|
157
|
+
- **Candidate order inside a pool** (`routing.pools`): with `"benchmarkSort": true` (default
|
|
158
|
+
setup) failover order is by synced benchmark strength and the config array only breaks ties.
|
|
159
|
+
To make the array order authoritative, set `"benchmarkSort": false`. Either way the circuit
|
|
160
|
+
breaker still demotes unhealthy targets — that is live health, not preference, and it is what
|
|
161
|
+
you want. For an absolutely fixed destination, pin `<provider>/<model>`; a pin is never
|
|
162
|
+
reordered and never fails over.
|
|
163
|
+
|
|
88
164
|
## Everyday commands
|
|
89
165
|
|
|
90
166
|
```bash
|