llm-relay 0.18.0 → 0.20.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/dist/candidates.js +1 -3
- package/dist/candidates.js.map +1 -1
- package/dist/circuit-breaker.js +1 -1
- package/dist/circuit-breaker.js.map +1 -1
- package/dist/claude-hook.d.ts +79 -0
- package/dist/claude-hook.js +223 -0
- package/dist/claude-hook.js.map +1 -0
- package/dist/cli.d.ts +20 -1
- package/dist/cli.js +185 -16
- package/dist/cli.js.map +1 -1
- package/dist/config-edit.js +1 -1
- package/dist/config-edit.js.map +1 -1
- package/dist/config.d.ts +46 -0
- package/dist/config.js +109 -31
- package/dist/config.js.map +1 -1
- package/dist/dispatch.d.ts +41 -1
- package/dist/dispatch.js +129 -44
- package/dist/dispatch.js.map +1 -1
- package/dist/documents.js +10 -1
- package/dist/documents.js.map +1 -1
- package/dist/host-routing.d.ts +42 -0
- package/dist/host-routing.js +87 -0
- package/dist/host-routing.js.map +1 -0
- package/dist/kernel/request-lifecycle.js +1 -1
- package/dist/kernel/request-lifecycle.js.map +1 -1
- package/dist/offload.js +3 -2
- package/dist/offload.js.map +1 -1
- package/dist/onboarding.js +2 -2
- package/dist/onboarding.js.map +1 -1
- package/dist/ping/cadence.js +1 -1
- package/dist/ping/cadence.js.map +1 -1
- package/dist/ping/probe-cache.js +1 -3
- package/dist/ping/probe-cache.js.map +1 -1
- package/dist/ping/runtime-telemetry.js +6 -2
- package/dist/ping/runtime-telemetry.js.map +1 -1
- package/dist/repair.js +1 -1
- package/dist/repair.js.map +1 -1
- package/dist/routes/admin.js +11 -0
- package/dist/routes/admin.js.map +1 -1
- package/dist/server.js +3 -3
- package/dist/server.js.map +1 -1
- package/package.json +12 -1
- package/scripts/install-skill.mjs +24 -4
- package/skills/llm-relay/SKILL.md +57 -1
package/dist/candidates.js
CHANGED
|
@@ -239,9 +239,7 @@ export async function buildCandidates(cfg, opts = {}) {
|
|
|
239
239
|
return {
|
|
240
240
|
generated_at: opts.now ?? new Date(nowMs).toISOString(),
|
|
241
241
|
offload_enabled: anyOffloadEnabled(cfg),
|
|
242
|
-
offload_clients: typeof cfg.routing.offload === "object"
|
|
243
|
-
? cfg.routing.offload
|
|
244
|
-
: {},
|
|
242
|
+
offload_clients: typeof cfg.routing.offload === "object" ? cfg.routing.offload : {},
|
|
245
243
|
note: NOTE,
|
|
246
244
|
candidates,
|
|
247
245
|
};
|
package/dist/candidates.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"candidates.js","sourceRoot":"","sources":["../src/candidates.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"candidates.js","sourceRoot":"","sources":["../src/candidates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAsD,MAAM,aAAa,CAAC;AAC/G,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAsB,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAiB,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAuB,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAuB,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAgJ7D,MAAM,IAAI,GACR,wFAAwF;IACxF,0HAA0H;IAC1H,yFAAyF;IACzF,wEAAwE,CAAC;AAE3E,2FAA2F;AAC3F,SAAS,UAAU,CAAC,IAAY,EAAE,GAAW;IAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,GAAW;IAC/B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAwD,CAAC;IAC5E,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE;QAC7B,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;YACrC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACpE,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;QACvE,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,MAA6B,EAAE,UAAmB;IAC5E,IAAI,MAAM,KAAK,UAAU;QAAE,OAAO,CAAC,CAAC;IACpC,OAAO,MAAM,KAAK,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,+DAA+D;AAC/D,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAW,EACX,OAWI,EAAE;IAEN,IAAI,IAAI,CAAC,OAAO;QAAE,uBAAuB,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,oBAAoB,CAAC;IACrD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC9E,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC;IACtC,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC;IACzC,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAEtC,8FAA8F;IAC9F,6FAA6F;IAC7F,2BAA2B;IAC3B,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA8B,CAAC;IAC/D,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;YACtC,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAC,QAAQ;gBAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YACtD,MAAM,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9B,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACrC,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACrD,gBAAgB,CAAC,GAAG,CAClB,QAAQ,EACR,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CACvF,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC;QAC7C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAC,QAAQ;YAAE,SAAS;QAC1D,MAAM,CAAC,GAA+B,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAE9D,MAAM,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;QAC9D,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO;YAC9D,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI;YACpC,CAAC,CAAC,IAAI,CAAC;QAET,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/F,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,IAAI,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC5E,MAAM,IAAI,GAAG,OAAO,EAAE,GAAG,CAAC;QAC1B,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAExF,uFAAuF;QACvF,4FAA4F;QAC5F,2FAA2F;QAC3F,oCAAoC;QACpC,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO;YACtE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC;YAC5C,CAAC,CAAC,IAAI,CAAC;QACT,qFAAqF;QACrF,kFAAkF;QAClF,mFAAmF;QACnF,sFAAsF;QACtF,uFAAuF;QACvF,wBAAwB;QACxB,MAAM,aAAa,GACjB,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;QACzF,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,IAAI,QAAQ,EAAE;YAC9C,cAAc;YACd,SAAS,EAAE;gBACT,aAAa,EAAE,GAAG,CAAC,gBAAgB,CAAC;gBACpC,mBAAmB,EAAE,GAAG,CAAC,cAAc,CAAC;gBACxC,uBAAuB,EAAE,GAAG,CAAC,kBAAkB,CAAC;gBAChD,IAAI,EAAE,aAAa;aACpB;SACF,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,MAAM,aAAa,GAAG,OAAO,SAAS,EAAE,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;QACvG,MAAM,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,cAAc,GAAG,OAAO,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC;YAC3D,CAAC,CAAC,OAAO,CAAC,cAAc;YACxB,CAAC,CAAC,gBAAgB,CAAC;QACrB,MAAM,gBAAgB,GAAG,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK;YACxD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM;YACrD,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;QAC7B,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,EAAE;YAC1C,cAAc;YACd,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,GAAG,CAAC,CAAC;YACtD,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;YAC1F,aAAa;YACb,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,iBAAiB,EAAE,kBAAkB,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,EAAE,KAAK,KAAK,OAAO,CAAC;YAC3F,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,mBAAmB,EAAE,kBAAkB,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,EAAE,KAAK,KAAK,OAAO,CAAC;YAC/F,qBAAqB,EAAE,OAAO,SAAS,EAAE,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI;YAC5G,0BAA0B,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,qBAAqB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;SACrF,CAAC,CAAC;QAEH,UAAU,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,QAAQ;YACR,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,qFAAqF;YACrF,oFAAoF;YACpF,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YAChE,MAAM;YACN,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI;YAClF,MAAM,EAAE,OAAO;gBACb,CAAC,CAAC;oBACE,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;oBAChD,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;oBAChD,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,UAAU,EAAE,OAAO,CAAC,UAAU;iBAC/B;gBACH,CAAC,CAAC,IAAI;YACR,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;YAC7E,OAAO,EAAE;gBACP,IAAI,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC;gBACrC,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,IAAI,CAAC;gBACpD,UAAU,EAAE,KAAK,EAAE,UAAU,IAAI,IAAI;gBACrC,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;gBACrE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,IAAI,CAAC;gBAClD,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,IAAI,IAAI;gBACzD,eAAe,EAAE,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC;aACzD;YACD,QAAQ,EAAE,GAAG;gBACX,CAAC,CAAC;oBACE,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,YAAY,EAAE,GAAG,CAAC,YAAY;oBAC9B,YAAY,EAAE,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;oBACzF,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;iBACjF;gBACH,CAAC,CAAC,IAAI;YACR,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,aAAa;YACb,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,OAAoB,CAAC,CAAC,CAAC,EAAE;YACjF,MAAM,EAAE;gBACN,WAAW,EAAE,GAAG,CAAC,cAAc,CAAC;gBAChC,aAAa,EAAE,GAAG,CAAC,iBAAiB,CAAC;gBACrC,eAAe,EAAE,GAAG,CAAC,kBAAkB,CAAC;gBACxC,cAAc,EAAE,GAAG,CAAC,iBAAiB,CAAC;gBACtC,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC;gBAC1B,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;gBAC5B,aAAa,EAAE,GAAG,CAAC,iBAAiB,CAAC;gBACrC,eAAe,EAAE,GAAG,CAAC,mBAAmB,CAAC;gBACzC,wBAAwB,EAAE,GAAG,CAAC,8BAA8B,CAAC;gBAC7D,wBAAwB,EAAE,GAAG,CAAC,8BAA8B,CAAC;gBAC7D,WAAW,EAAE,GAAG,CAAC,cAAc,CAAC;gBAChC,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;aAC7B;YACD,UAAU,EAAE;gBACV,OAAO,EAAE,OAAO,CAAC,KAAK;gBACtB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ,EAAE,QAAQ,CAAC,KAAK;gBACxB,WAAW,EAAE,QAAQ,CAAC,QAAQ;gBAC9B,kBAAkB,EAAE,QAAQ,CAAC,UAAU;gBACvC,aAAa,EAAE,QAAQ,CAAC,KAAK;gBAC7B,eAAe,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;gBACvC,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB,IAAI,QAAQ,CAAC,WAAW,IAAI,CAAC;gBAChF,oBAAoB,EAAE,QAAQ,CAAC,UAAU,IAAI,EAAE;gBAC/C,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,IAAI,EAAE;gBACjD,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,IAAI,EAAE;gBACnD,gBAAgB,EAAE,OAAO,SAAS,EAAE,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI;gBACvG,gBAAgB;aACjB;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,YAAY,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE;QACvD,eAAe,EAAE,iBAAiB,CAAC,GAAG,CAAC;QACvC,eAAe,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACnF,IAAI,EAAE,IAAI;QACV,UAAU;KACX,CAAC;AACJ,CAAC"}
|
package/dist/circuit-breaker.js
CHANGED
|
@@ -171,7 +171,7 @@ export class CircuitBreaker {
|
|
|
171
171
|
return completed;
|
|
172
172
|
}
|
|
173
173
|
getAttemptRecord(handle) {
|
|
174
|
-
if (
|
|
174
|
+
if (typeof handle !== "object" && typeof handle !== "function") {
|
|
175
175
|
return { ok: false, error: { kind: "stale-handle" } };
|
|
176
176
|
}
|
|
177
177
|
const objectHandle = handle;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../src/circuit-breaker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../src/circuit-breaker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `PreToolUse(Agent)` hook that makes `offload on` mean something on a host whose traffic
|
|
3
|
+
* never reaches this relay.
|
|
4
|
+
*
|
|
5
|
+
* ## Why a hook at all
|
|
6
|
+
*
|
|
7
|
+
* `routing.subagents` reroutes a subagent by answering its HTTP request differently. That requires
|
|
8
|
+
* the request to arrive. In a Claude Desktop session it does not (see `src/host-routing.ts`), so
|
|
9
|
+
* the switch reports ON and nothing changes — the failure this exists to close.
|
|
10
|
+
*
|
|
11
|
+
* ## What a hook can and cannot do — verified against the hooks reference, 2026-08-07
|
|
12
|
+
*
|
|
13
|
+
* It CANNOT redirect the subagent. The subagent is served by the same Claude Code process over the
|
|
14
|
+
* same connection with the same pinned base URL, so no hook output changes where its tokens are
|
|
15
|
+
* spent. `PreToolUse` can rewrite tool arguments via `updatedInput`, but rewriting the prompt to
|
|
16
|
+
* carry an `@relay:` directive just sends that line to Anthropic as literal text, and rewriting
|
|
17
|
+
* `model` picks a different Anthropic model. `SubagentStart` is context-only by specification —
|
|
18
|
+
* no blocking, no model or endpoint control.
|
|
19
|
+
*
|
|
20
|
+
* So this is a FORCING FUNCTION, not a redirect: it denies the `Agent` call and hands back the
|
|
21
|
+
* command that does reach the offload target. The deny is enforced; that the agent then runs the
|
|
22
|
+
* command is not. Describe it that way — overselling it is how a nudge gets mistaken for a
|
|
23
|
+
* guarantee and quota gets spent believing otherwise.
|
|
24
|
+
*
|
|
25
|
+
* ## Fail open, always
|
|
26
|
+
*
|
|
27
|
+
* Every failure path in the generated script allows the call. A hook that denied subagents because
|
|
28
|
+
* the proxy was down would convert one unavailable optional lane into "no subagent works at all" —
|
|
29
|
+
* the same reasoning that makes an unset `${ENV}` disable one provider instead of aborting startup.
|
|
30
|
+
*/
|
|
31
|
+
/** Marker filename. Identifies OUR entry in a settings file that may hold the user's own hooks. */
|
|
32
|
+
export declare const AGENT_HOOK_FILENAME = "llm-relay-agent-offload.mjs";
|
|
33
|
+
export interface ClaudeHookPaths {
|
|
34
|
+
/** `~/.claude/settings.json` — the harness config this appends to. */
|
|
35
|
+
settings: string;
|
|
36
|
+
/** Where the generated hook script lives. Under the relay's own directory, not the harness's. */
|
|
37
|
+
script: string;
|
|
38
|
+
}
|
|
39
|
+
export declare function claudeHookPaths(home?: string): ClaudeHookPaths;
|
|
40
|
+
/**
|
|
41
|
+
* The hook script, generated rather than shipped as a package file so it carries this install's
|
|
42
|
+
* own interpreter and CLI path with no runtime resolution.
|
|
43
|
+
*
|
|
44
|
+
* ⚠ It shells out to `llm-relay dispatch --next-command` instead of talking to `/dispatch` and
|
|
45
|
+
* rendering the command itself. That costs a process start per Agent call (not a hot path) and
|
|
46
|
+
* buys the one thing worth paying for: a single implementation of the shell-quoting rules. A
|
|
47
|
+
* second copy here would be the copy that drifts, and a drifted quoter renders a command line
|
|
48
|
+
* whose task text can break out into extra shell words.
|
|
49
|
+
*
|
|
50
|
+
* ⚠ It runs `<node> <cli.js>`, never the installed launcher. On Windows an npm global install's
|
|
51
|
+
* `llm-relay` IS a `.cmd`, and `execFileSync` refuses to execute `.cmd`/`.bat` without a shell
|
|
52
|
+
* (blocked since the CVE-2024-27980 fix); a bare `.js` path is not executable either. Both fail
|
|
53
|
+
* the same silent way — the hook's own fail-open catch swallows the error and every Agent call is
|
|
54
|
+
* allowed, so the feature looks installed and does nothing. Naming the interpreter explicitly
|
|
55
|
+
* avoids the shell entirely, which is also the safer construction.
|
|
56
|
+
*/
|
|
57
|
+
export declare function renderAgentHookScript(nodeBin: string, cliScript: string): string;
|
|
58
|
+
export interface HookChange {
|
|
59
|
+
changed: boolean;
|
|
60
|
+
settingsPath: string;
|
|
61
|
+
scriptPath?: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Install (or refresh) the hook.
|
|
65
|
+
*
|
|
66
|
+
* ⚠ APPENDS a new matcher entry; it never rewrites an existing one. Users legitimately run their
|
|
67
|
+
* own `Agent` hooks — this machine has one enforcing an explicit subagent model — and Claude Code
|
|
68
|
+
* runs every matching entry, so coexistence is the correct shape. Replacing the array, or editing
|
|
69
|
+
* a matching entry in place, would silently delete somebody's policy.
|
|
70
|
+
*/
|
|
71
|
+
export declare function installAgentHook(nodeBin: string, cliScript: string, paths?: ClaudeHookPaths): HookChange;
|
|
72
|
+
/**
|
|
73
|
+
* Remove the hook wiring. The generated script is deliberately LEFT on disk: it is inert without
|
|
74
|
+
* the settings entry, it costs nothing, and deleting files outside this tool's own directory on a
|
|
75
|
+
* toggle is a bigger action than the toggle asked for.
|
|
76
|
+
*/
|
|
77
|
+
export declare function removeAgentHook(paths?: ClaudeHookPaths): HookChange;
|
|
78
|
+
/** Is our hook currently wired into the harness? */
|
|
79
|
+
export declare function agentHookInstalled(paths?: ClaudeHookPaths): boolean;
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { homedir } from "node:os";
|
|
4
|
+
/**
|
|
5
|
+
* The `PreToolUse(Agent)` hook that makes `offload on` mean something on a host whose traffic
|
|
6
|
+
* never reaches this relay.
|
|
7
|
+
*
|
|
8
|
+
* ## Why a hook at all
|
|
9
|
+
*
|
|
10
|
+
* `routing.subagents` reroutes a subagent by answering its HTTP request differently. That requires
|
|
11
|
+
* the request to arrive. In a Claude Desktop session it does not (see `src/host-routing.ts`), so
|
|
12
|
+
* the switch reports ON and nothing changes — the failure this exists to close.
|
|
13
|
+
*
|
|
14
|
+
* ## What a hook can and cannot do — verified against the hooks reference, 2026-08-07
|
|
15
|
+
*
|
|
16
|
+
* It CANNOT redirect the subagent. The subagent is served by the same Claude Code process over the
|
|
17
|
+
* same connection with the same pinned base URL, so no hook output changes where its tokens are
|
|
18
|
+
* spent. `PreToolUse` can rewrite tool arguments via `updatedInput`, but rewriting the prompt to
|
|
19
|
+
* carry an `@relay:` directive just sends that line to Anthropic as literal text, and rewriting
|
|
20
|
+
* `model` picks a different Anthropic model. `SubagentStart` is context-only by specification —
|
|
21
|
+
* no blocking, no model or endpoint control.
|
|
22
|
+
*
|
|
23
|
+
* So this is a FORCING FUNCTION, not a redirect: it denies the `Agent` call and hands back the
|
|
24
|
+
* command that does reach the offload target. The deny is enforced; that the agent then runs the
|
|
25
|
+
* command is not. Describe it that way — overselling it is how a nudge gets mistaken for a
|
|
26
|
+
* guarantee and quota gets spent believing otherwise.
|
|
27
|
+
*
|
|
28
|
+
* ## Fail open, always
|
|
29
|
+
*
|
|
30
|
+
* Every failure path in the generated script allows the call. A hook that denied subagents because
|
|
31
|
+
* the proxy was down would convert one unavailable optional lane into "no subagent works at all" —
|
|
32
|
+
* the same reasoning that makes an unset `${ENV}` disable one provider instead of aborting startup.
|
|
33
|
+
*/
|
|
34
|
+
/** Marker filename. Identifies OUR entry in a settings file that may hold the user's own hooks. */
|
|
35
|
+
export const AGENT_HOOK_FILENAME = "llm-relay-agent-offload.mjs";
|
|
36
|
+
export function claudeHookPaths(home = homedir()) {
|
|
37
|
+
return {
|
|
38
|
+
settings: join(home, ".claude", "settings.json"),
|
|
39
|
+
script: join(home, ".llm-relay", "hooks", AGENT_HOOK_FILENAME),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The hook script, generated rather than shipped as a package file so it carries this install's
|
|
44
|
+
* own interpreter and CLI path with no runtime resolution.
|
|
45
|
+
*
|
|
46
|
+
* ⚠ It shells out to `llm-relay dispatch --next-command` instead of talking to `/dispatch` and
|
|
47
|
+
* rendering the command itself. That costs a process start per Agent call (not a hot path) and
|
|
48
|
+
* buys the one thing worth paying for: a single implementation of the shell-quoting rules. A
|
|
49
|
+
* second copy here would be the copy that drifts, and a drifted quoter renders a command line
|
|
50
|
+
* whose task text can break out into extra shell words.
|
|
51
|
+
*
|
|
52
|
+
* ⚠ It runs `<node> <cli.js>`, never the installed launcher. On Windows an npm global install's
|
|
53
|
+
* `llm-relay` IS a `.cmd`, and `execFileSync` refuses to execute `.cmd`/`.bat` without a shell
|
|
54
|
+
* (blocked since the CVE-2024-27980 fix); a bare `.js` path is not executable either. Both fail
|
|
55
|
+
* the same silent way — the hook's own fail-open catch swallows the error and every Agent call is
|
|
56
|
+
* allowed, so the feature looks installed and does nothing. Naming the interpreter explicitly
|
|
57
|
+
* avoids the shell entirely, which is also the safer construction.
|
|
58
|
+
*/
|
|
59
|
+
export function renderAgentHookScript(nodeBin, cliScript) {
|
|
60
|
+
return `#!/usr/bin/env node
|
|
61
|
+
// GENERATED by llm-relay — do not edit; \`llm-relay offload claude off\` removes it.
|
|
62
|
+
//
|
|
63
|
+
// PreToolUse(Agent): when this session's traffic does not reach llm-relay, a subagent cannot be
|
|
64
|
+
// rerouted to another provider — the request never arrives. Deny the call and hand back the
|
|
65
|
+
// command that CAN reach the configured lane.
|
|
66
|
+
//
|
|
67
|
+
// Fails OPEN on every error: a broken offload lane must never become "no subagent works".
|
|
68
|
+
import { execFileSync } from "node:child_process";
|
|
69
|
+
import { readFileSync } from "node:fs";
|
|
70
|
+
|
|
71
|
+
const allow = (reason) => {
|
|
72
|
+
if (reason) process.stdout.write(JSON.stringify({ hookSpecificOutput: { hookEventName: "PreToolUse", permissionDecision: "allow", permissionDecisionReason: reason } }));
|
|
73
|
+
process.exit(0);
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
try {
|
|
77
|
+
// Loopback base URL => this session reaches the relay, so ordinary subagent offload works and
|
|
78
|
+
// this hook must stay out of the way. Anything else (unset, or a vendor URL) => it does not.
|
|
79
|
+
const base = (process.env.ANTHROPIC_BASE_URL ?? "").trim();
|
|
80
|
+
const routed = /^https?:\\/\\/(localhost|127\\.\\d+\\.\\d+\\.\\d+|\\[?::1\\]?)(:|\\/|$)/i.test(base);
|
|
81
|
+
if (routed) allow();
|
|
82
|
+
|
|
83
|
+
const call = JSON.parse(readFileSync(0, "utf8")).tool_input ?? {};
|
|
84
|
+
const task = typeof call.prompt === "string" ? call.prompt : "";
|
|
85
|
+
if (!task) allow();
|
|
86
|
+
|
|
87
|
+
// A prompt already pinning a target is the caller being explicit; do not second-guess it.
|
|
88
|
+
if (/^\\s*@relay:/m.test(task)) allow();
|
|
89
|
+
|
|
90
|
+
// No --tier: the Agent tool's model enum (sonnet|opus|haiku|fable) is not a ladder tier name,
|
|
91
|
+
// and mapping one onto the other here would guess. Let the relay infer it from its own config.
|
|
92
|
+
const args = [${JSON.stringify(cliScript)}, "dispatch", "--next-command", "-t", task, "--host", "bypassed", "--client", "claude"];
|
|
93
|
+
const command = execFileSync(${JSON.stringify(nodeBin)}, args, { encoding: "utf8", timeout: 10000 }).trim();
|
|
94
|
+
if (!command) allow();
|
|
95
|
+
|
|
96
|
+
// Name the shell the line was QUOTED for. \`--next-command\` renders for the platform default
|
|
97
|
+
// (PowerShell on Windows, sh elsewhere) — the same rule this mirrors. A host holding both a
|
|
98
|
+
// PowerShell and a Bash tool has to be told which one, or it picks the wrong one and the
|
|
99
|
+
// env-carrying prefix fails as a syntax error.
|
|
100
|
+
const shell = process.platform === "win32" ? "PowerShell" : "bash";
|
|
101
|
+
|
|
102
|
+
process.stdout.write(JSON.stringify({
|
|
103
|
+
hookSpecificOutput: {
|
|
104
|
+
hookEventName: "PreToolUse",
|
|
105
|
+
permissionDecision: "deny",
|
|
106
|
+
permissionDecisionReason:
|
|
107
|
+
"Subagent offload is ON, but this session's traffic does not reach llm-relay, so an in-process " +
|
|
108
|
+
"subagent cannot be routed to another provider — it would silently spend primary quota. " +
|
|
109
|
+
"Run this in " + shell + " (it is quoted for that shell), then use its output as the " +
|
|
110
|
+
"subagent's result:\\n\\n" + command,
|
|
111
|
+
},
|
|
112
|
+
}));
|
|
113
|
+
process.exit(0);
|
|
114
|
+
} catch (e) {
|
|
115
|
+
allow();
|
|
116
|
+
}
|
|
117
|
+
`;
|
|
118
|
+
}
|
|
119
|
+
function isOurs(entry) {
|
|
120
|
+
return (entry.hooks ?? []).some((h) => typeof h.command === "string" && h.command.includes(AGENT_HOOK_FILENAME));
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Read `settings.json` as a plain object.
|
|
124
|
+
*
|
|
125
|
+
* A parse failure is a hard error, never a fresh `{}`. This file is the operator's harness
|
|
126
|
+
* configuration — permissions, env, their own hooks — and silently replacing an unparseable one
|
|
127
|
+
* would destroy all of it to install a convenience.
|
|
128
|
+
*/
|
|
129
|
+
function readSettings(path) {
|
|
130
|
+
if (!existsSync(path))
|
|
131
|
+
return {};
|
|
132
|
+
const raw = readFileSync(path, "utf8");
|
|
133
|
+
if (raw.trim().length === 0)
|
|
134
|
+
return {};
|
|
135
|
+
let parsed;
|
|
136
|
+
try {
|
|
137
|
+
parsed = JSON.parse(raw);
|
|
138
|
+
}
|
|
139
|
+
catch (e) {
|
|
140
|
+
throw new Error(`${path} is not valid JSON (${e.message}) — fix or move it first`, { cause: e });
|
|
141
|
+
}
|
|
142
|
+
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
|
|
143
|
+
throw new Error(`${path} must contain a JSON object`);
|
|
144
|
+
}
|
|
145
|
+
return parsed;
|
|
146
|
+
}
|
|
147
|
+
function writeSettings(path, value) {
|
|
148
|
+
mkdirSync(join(path, ".."), { recursive: true });
|
|
149
|
+
writeFileSync(path, JSON.stringify(value, null, 2) + "\n", "utf8");
|
|
150
|
+
}
|
|
151
|
+
/** Existing PreToolUse entries, or an empty list when the file declares none. */
|
|
152
|
+
function preToolUse(settings) {
|
|
153
|
+
const hooks = settings.hooks;
|
|
154
|
+
if (typeof hooks !== "object" || hooks === null || Array.isArray(hooks))
|
|
155
|
+
return [];
|
|
156
|
+
const list = hooks.PreToolUse;
|
|
157
|
+
return Array.isArray(list) ? list : [];
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Install (or refresh) the hook.
|
|
161
|
+
*
|
|
162
|
+
* ⚠ APPENDS a new matcher entry; it never rewrites an existing one. Users legitimately run their
|
|
163
|
+
* own `Agent` hooks — this machine has one enforcing an explicit subagent model — and Claude Code
|
|
164
|
+
* runs every matching entry, so coexistence is the correct shape. Replacing the array, or editing
|
|
165
|
+
* a matching entry in place, would silently delete somebody's policy.
|
|
166
|
+
*/
|
|
167
|
+
export function installAgentHook(nodeBin, cliScript, paths = claudeHookPaths()) {
|
|
168
|
+
mkdirSync(join(paths.script, ".."), { recursive: true });
|
|
169
|
+
writeFileSync(paths.script, renderAgentHookScript(nodeBin, cliScript), "utf8");
|
|
170
|
+
const settings = readSettings(paths.settings);
|
|
171
|
+
const existing = preToolUse(settings);
|
|
172
|
+
if (existing.some(isOurs)) {
|
|
173
|
+
// Script content is refreshed above (it may carry a new relay path); the wiring is unchanged.
|
|
174
|
+
return { changed: false, settingsPath: paths.settings, scriptPath: paths.script };
|
|
175
|
+
}
|
|
176
|
+
const entry = {
|
|
177
|
+
matcher: "^Agent$",
|
|
178
|
+
hooks: [{ type: "command", command: `node ${JSON.stringify(paths.script)}` }],
|
|
179
|
+
};
|
|
180
|
+
const hooks = (typeof settings.hooks === "object" && settings.hooks !== null && !Array.isArray(settings.hooks)
|
|
181
|
+
? { ...settings.hooks }
|
|
182
|
+
: {});
|
|
183
|
+
hooks.PreToolUse = [...existing, entry];
|
|
184
|
+
writeSettings(paths.settings, { ...settings, hooks });
|
|
185
|
+
return { changed: true, settingsPath: paths.settings, scriptPath: paths.script };
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Remove the hook wiring. The generated script is deliberately LEFT on disk: it is inert without
|
|
189
|
+
* the settings entry, it costs nothing, and deleting files outside this tool's own directory on a
|
|
190
|
+
* toggle is a bigger action than the toggle asked for.
|
|
191
|
+
*/
|
|
192
|
+
export function removeAgentHook(paths = claudeHookPaths()) {
|
|
193
|
+
const settings = readSettings(paths.settings);
|
|
194
|
+
const existing = preToolUse(settings);
|
|
195
|
+
const kept = existing.filter((e) => !isOurs(e));
|
|
196
|
+
if (kept.length === existing.length)
|
|
197
|
+
return { changed: false, settingsPath: paths.settings };
|
|
198
|
+
const hooks = { ...settings.hooks };
|
|
199
|
+
if (kept.length > 0)
|
|
200
|
+
hooks.PreToolUse = kept;
|
|
201
|
+
else
|
|
202
|
+
delete hooks.PreToolUse;
|
|
203
|
+
// Drop an emptied `hooks` object rather than leaving `"hooks": {}` behind, so removing the hook
|
|
204
|
+
// restores the file to what it looked like before rather than to something merely equivalent.
|
|
205
|
+
const next = { ...settings };
|
|
206
|
+
if (Object.keys(hooks).length > 0)
|
|
207
|
+
next.hooks = hooks;
|
|
208
|
+
else
|
|
209
|
+
delete next.hooks;
|
|
210
|
+
writeSettings(paths.settings, next);
|
|
211
|
+
return { changed: true, settingsPath: paths.settings };
|
|
212
|
+
}
|
|
213
|
+
/** Is our hook currently wired into the harness? */
|
|
214
|
+
export function agentHookInstalled(paths = claudeHookPaths()) {
|
|
215
|
+
try {
|
|
216
|
+
return preToolUse(readSettings(paths.settings)).some(isOurs);
|
|
217
|
+
}
|
|
218
|
+
catch {
|
|
219
|
+
// An unparseable settings file is not evidence the hook is present.
|
|
220
|
+
return false;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
//# sourceMappingURL=claude-hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-hook.js","sourceRoot":"","sources":["../src/claude-hook.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -36,8 +36,18 @@ export declare function runPingCommand(): Promise<void>;
|
|
|
36
36
|
export declare function runCheckKeys(): Promise<void>;
|
|
37
37
|
/** Render a normalized listener address as an HTTP URL, including required IPv6 brackets. */
|
|
38
38
|
export declare function proxyUrl(cfg: Pick<Config, "host" | "port">, path: string): string;
|
|
39
|
+
/**
|
|
40
|
+
* What actually comes back from `GET /dispatch` — which is NOT necessarily a `DispatchView`.
|
|
41
|
+
* The proxy answering may be an older build than this CLI (they are separate processes with
|
|
42
|
+
* separate lifetimes; the relay runs for days). Fields this CLI requires can therefore be absent
|
|
43
|
+
* on the wire, and typing the response as the current shape would assert a guarantee the other
|
|
44
|
+
* process never made.
|
|
45
|
+
*/
|
|
46
|
+
export type WireDispatchView = Omit<DispatchView, "host"> & {
|
|
47
|
+
host?: DispatchView["host"];
|
|
48
|
+
};
|
|
39
49
|
/** Normalize structured output from an older live proxy before exposing it to this host. */
|
|
40
|
-
export declare function normalizeDispatchCommands(view:
|
|
50
|
+
export declare function normalizeDispatchCommands(view: WireDispatchView, platform?: NodeJS.Platform): DispatchView;
|
|
41
51
|
/** Which shell's literal-quoting rules a rendered command line is written for. */
|
|
42
52
|
export type RenderShell = "sh" | "pwsh";
|
|
43
53
|
/** Human name for the shell a line was quoted for. Precise on purpose — see `quoteArg`. */
|
|
@@ -82,10 +92,19 @@ export declare function quoteArg(arg: string, shell?: RenderShell): string;
|
|
|
82
92
|
*
|
|
83
93
|
* A quoted command NAME is not a command in PowerShell (`'agy' -p x` evaluates a string and
|
|
84
94
|
* throws the rest away), so a command that needed quoting gets the call operator in front of it.
|
|
95
|
+
*
|
|
96
|
+
* A rung's `env` renders as part of the same line: `env -u UNSET NAME=value cmd …` for `sh`,
|
|
97
|
+
* and `Remove-Item Env:UNSET …; $env:NAME = 'value'; cmd …` for PowerShell. The PowerShell form
|
|
98
|
+
* mutates the calling session's environment rather than scoping to the child — PowerShell has no
|
|
99
|
+
* `env(1)` equivalent, and the wrapper scripts this replaces (`scripts/claude-proxied.ps1`) have
|
|
100
|
+
* always done the same. Variable NAMES are interpolated bare in both forms; they are safe because
|
|
101
|
+
* config load rejects names containing `=`, whitespace or control characters, and they read
|
|
102
|
+
* better than a quoted form that suggests they might be data.
|
|
85
103
|
*/
|
|
86
104
|
export declare function renderCommand(invoke: {
|
|
87
105
|
command: string;
|
|
88
106
|
args: string[];
|
|
107
|
+
env?: Record<string, string | null>;
|
|
89
108
|
} | undefined, shell?: RenderShell): string;
|
|
90
109
|
/**
|
|
91
110
|
* `llm-relay dispatch [lane]` — which lane to hand a delegated task to next.
|