anyray-connect 0.3.0 → 0.5.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/dist/cli.js +88 -7
- package/dist/cli.js.map +1 -1
- package/dist/commands/hook.js +233 -0
- package/dist/commands/hook.js.map +1 -0
- package/dist/target.js +11 -1
- package/dist/target.js.map +1 -1
- package/dist/tools/claudeCode.js +103 -3
- package/dist/tools/claudeCode.js.map +1 -1
- package/dist/tools/codex.js +3 -3
- package/dist/tools/codex.js.map +1 -1
- package/dist/tools/shellEnv.js +40 -8
- package/dist/tools/shellEnv.js.map +1 -1
- package/dist/types.js +13 -0
- package/dist/types.js.map +1 -1
- package/dist/util/seatState.js +79 -0
- package/dist/util/seatState.js.map +1 -0
- package/dist/util/trimOutput.js +120 -0
- package/dist/util/trimOutput.js.map +1 -0
- package/dist/util/verify.js +192 -0
- package/dist/util/verify.js.map +1 -0
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -13,14 +13,17 @@ import { checkGateway } from './util/preflight.js';
|
|
|
13
13
|
import { maskKey, redeemInvite } from './util/redeem.js';
|
|
14
14
|
import { parseSetupLink, resolveSetupLink } from './util/setupLink.js';
|
|
15
15
|
import { REGISTRY, byId } from './tools/index.js';
|
|
16
|
-
import { metadataHeaderValue } from './types.js';
|
|
16
|
+
import { effectiveSubscription, metadataHeaderValue } from './types.js';
|
|
17
17
|
import { bold, cyan, dim, fail, heading, info, note, ok, warn, } from './util/log.js';
|
|
18
18
|
import { loadProfile, saveProfile } from './util/persist.js';
|
|
19
19
|
import { confirm, isInteractive, prompt, resolveDisplayName, resolveTeam, } from './commands/shared.js';
|
|
20
20
|
import { fetchSavings, formatSavingsLine } from './util/savings.js';
|
|
21
|
+
import { verifyConnection } from './util/verify.js';
|
|
22
|
+
import { detectSeatState } from './util/seatState.js';
|
|
21
23
|
import { runStatus } from './commands/status.js';
|
|
22
24
|
import { runDoctor } from './commands/doctor.js';
|
|
23
25
|
import { runSync } from './commands/sync.js';
|
|
26
|
+
import { runPostToolUseHook } from './commands/hook.js';
|
|
24
27
|
const HELP = `${bold('anyray-connect')} — point your local coding tools at the Anyray gateway
|
|
25
28
|
|
|
26
29
|
${bold('Usage')}
|
|
@@ -56,14 +59,20 @@ ${bold('Options')}
|
|
|
56
59
|
is saved to ~/.anyray (mode 600) so ${dim('status')} and ${dim('sync')} reuse it
|
|
57
60
|
(needed once the gateway enforces per-user keys).
|
|
58
61
|
Already have a key? Set $ANYRAY_CLIENT_KEY instead.
|
|
59
|
-
--subscription
|
|
60
|
-
|
|
61
|
-
Honored by Claude Code (Anthropic
|
|
62
|
-
seats)
|
|
62
|
+
--subscription Force seat (subscription) pass-through for every seat-capable
|
|
63
|
+
tool: the tool's own OAuth token rides through the gateway
|
|
64
|
+
instead of the org API key. Honored by Claude Code (Anthropic
|
|
65
|
+
seats) and Codex (ChatGPT seats).
|
|
66
|
+
--placeholder, --org
|
|
67
|
+
Force the org key for everything (never use a local seat).
|
|
68
|
+
(Default is AUTO: each tool rides your subscription when
|
|
69
|
+
you're signed into it, else the org key — zero setup.)
|
|
63
70
|
--tools <ids> Comma-separated subset: ${REGISTRY.map((t) => t.id).join(', ')}
|
|
64
71
|
--dry-run Show what would change without writing anything
|
|
65
72
|
--yes, -y Don't prompt for confirmation (for scripted rollout)
|
|
66
73
|
--force Skip the gateway reachability check before writing
|
|
74
|
+
--skip-verify Skip the post-apply smoke test (it sends one tiny request
|
|
75
|
+
through the gateway to confirm auth + routing actually work)
|
|
67
76
|
--revert Undo a previous run
|
|
68
77
|
--help, -h Show this help
|
|
69
78
|
|
|
@@ -76,10 +85,12 @@ ${bold('What it does')}
|
|
|
76
85
|
const parseArgs = (argv) => {
|
|
77
86
|
const args = {
|
|
78
87
|
subscription: false,
|
|
88
|
+
placeholder: false,
|
|
79
89
|
dryRun: false,
|
|
80
90
|
yes: false,
|
|
81
91
|
revert: false,
|
|
82
92
|
force: false,
|
|
93
|
+
skipVerify: false,
|
|
83
94
|
help: false,
|
|
84
95
|
};
|
|
85
96
|
for (let i = 0; i < argv.length; i++) {
|
|
@@ -113,6 +124,10 @@ const parseArgs = (argv) => {
|
|
|
113
124
|
case '--subscription':
|
|
114
125
|
args.subscription = true;
|
|
115
126
|
break;
|
|
127
|
+
case '--placeholder':
|
|
128
|
+
case '--org':
|
|
129
|
+
args.placeholder = true;
|
|
130
|
+
break;
|
|
116
131
|
case '--tools':
|
|
117
132
|
args.tools = (next() ?? '')
|
|
118
133
|
.split(',')
|
|
@@ -129,6 +144,9 @@ const parseArgs = (argv) => {
|
|
|
129
144
|
case '--force':
|
|
130
145
|
args.force = true;
|
|
131
146
|
break;
|
|
147
|
+
case '--skip-verify':
|
|
148
|
+
args.skipVerify = true;
|
|
149
|
+
break;
|
|
132
150
|
case '--revert':
|
|
133
151
|
args.revert = true;
|
|
134
152
|
break;
|
|
@@ -165,7 +183,19 @@ const selectAdapters = (ids) => {
|
|
|
165
183
|
const printTarget = (target) => {
|
|
166
184
|
heading('Gateway target');
|
|
167
185
|
info(` Origin: ${cyan(target.origin)}`);
|
|
168
|
-
if (target.authMode === '
|
|
186
|
+
if (target.authMode === 'auto') {
|
|
187
|
+
const claude = effectiveSubscription(target, 'anthropic')
|
|
188
|
+
? cyan('your subscription')
|
|
189
|
+
: 'org key';
|
|
190
|
+
const codex = effectiveSubscription(target, 'openai')
|
|
191
|
+
? cyan('your subscription')
|
|
192
|
+
: 'org key';
|
|
193
|
+
info(` Auth: auto ${dim('(per tool)')} — Claude: ${claude}, Codex: ${codex}`);
|
|
194
|
+
if (target.clientKey) {
|
|
195
|
+
info(` Client key: personal gateway key (${maskKey(target.clientKey)})`);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
else if (target.authMode === 'subscription') {
|
|
169
199
|
info(` Auth: subscription pass-through ${dim('(seat OAuth token; Claude Code + Codex)')}`);
|
|
170
200
|
if (target.clientKey) {
|
|
171
201
|
info(` Client key: personal gateway key (${maskKey(target.clientKey)}) ${dim('rides x-anyray-api-key')}`);
|
|
@@ -277,8 +307,34 @@ const printSavings = async (target) => {
|
|
|
277
307
|
// Never let the savings readout break onboarding.
|
|
278
308
|
}
|
|
279
309
|
};
|
|
310
|
+
/**
|
|
311
|
+
* Post-apply smoke test: send one tiny request through the gateway with the
|
|
312
|
+
* same auth the tool will use, and print a clear PASS/FAIL with the exact next
|
|
313
|
+
* step. This is the difference between "connect said done" and "the tool
|
|
314
|
+
* actually works" — without it, a routing or sign-in problem only surfaces as a
|
|
315
|
+
* cryptic 4xx on the dev's first real request. Best-effort: it never changes the
|
|
316
|
+
* exit code (the config was written); its job is to TELL the dev, loudly.
|
|
317
|
+
*/
|
|
318
|
+
const runVerify = async (target) => {
|
|
319
|
+
heading('Verifying the connection');
|
|
320
|
+
const verdict = await verifyConnection(target);
|
|
321
|
+
if (verdict.kind === 'ok')
|
|
322
|
+
ok(` ${verdict.detail}`);
|
|
323
|
+
else if (verdict.kind === 'unreachable' || verdict.kind === 'unknown')
|
|
324
|
+
warn(` ${verdict.detail}`);
|
|
325
|
+
else
|
|
326
|
+
fail(` ${verdict.detail}`);
|
|
327
|
+
for (const line of verdict.remedy)
|
|
328
|
+
info(dim(` ${line}`));
|
|
329
|
+
};
|
|
280
330
|
const SUBCOMMANDS = new Set(['wizard', 'status', 'doctor', 'sync']);
|
|
281
331
|
export const run = async (argv) => {
|
|
332
|
+
// Hidden hook entrypoint: Claude Code invokes `anyray-connect __anyray-hook`
|
|
333
|
+
// as a PostToolUse hook. It speaks the hook stdin/stdout JSON protocol, so it
|
|
334
|
+
// must run BEFORE any human-facing logging touches stdout. Never throws.
|
|
335
|
+
if (argv[0] === '__anyray-hook') {
|
|
336
|
+
return runPostToolUseHook();
|
|
337
|
+
}
|
|
282
338
|
// Subcommand dispatch: a known verb as the first token routes to that
|
|
283
339
|
// command. Everything else (a gateway URL, flags, or nothing) runs the apply
|
|
284
340
|
// flow, so the bare `anyray-connect` invocation stays backward compatible.
|
|
@@ -417,11 +473,28 @@ const runApplyCommand = async (argv, forceWizard) => {
|
|
|
417
473
|
resolvedUser = await resolveDisplayName(args.user, profile.name, args.yes);
|
|
418
474
|
resolvedTeam = await resolveTeam(args.team, profile.team, args.yes);
|
|
419
475
|
}
|
|
476
|
+
// Auth mode. Forced flags win; otherwise AUTO — detect which subscription
|
|
477
|
+
// seats this machine is signed into so each tool rides the dev's own seat when
|
|
478
|
+
// present and falls back to the org key when not. Detection is read-only,
|
|
479
|
+
// best-effort, and never prompts (metadata-only credential probes).
|
|
480
|
+
let seat;
|
|
481
|
+
if (!args.revert && !args.subscription && !args.placeholder) {
|
|
482
|
+
seat = await detectSeatState();
|
|
483
|
+
heading('Detecting your sign-ins');
|
|
484
|
+
info(` Claude (Anthropic): ${seat.anthropic
|
|
485
|
+
? cyan('signed in → your subscription')
|
|
486
|
+
: dim('not signed in → org key')}`);
|
|
487
|
+
info(` Codex (ChatGPT): ${seat.openai
|
|
488
|
+
? cyan('signed in → your subscription')
|
|
489
|
+
: dim('not signed in → org key')}`);
|
|
490
|
+
}
|
|
420
491
|
const target = resolveTarget({
|
|
421
492
|
origin,
|
|
422
493
|
placeholderKey: args.key,
|
|
423
494
|
clientKey,
|
|
424
495
|
subscription: args.subscription,
|
|
496
|
+
placeholder: args.placeholder,
|
|
497
|
+
seat,
|
|
425
498
|
user: resolvedUser,
|
|
426
499
|
team: resolvedTeam,
|
|
427
500
|
intent: args.intent,
|
|
@@ -469,7 +542,15 @@ const runApplyCommand = async (argv, forceWizard) => {
|
|
|
469
542
|
}
|
|
470
543
|
else {
|
|
471
544
|
ok(`Done (${changes} file(s) written).`);
|
|
472
|
-
|
|
545
|
+
// Smoke-test the connection so a routing/sign-in problem surfaces NOW with a
|
|
546
|
+
// concrete fix, not as a cryptic 4xx on the dev's first real request.
|
|
547
|
+
if (args.skipVerify) {
|
|
548
|
+
note('\nSkipped the connection smoke test (--skip-verify).');
|
|
549
|
+
}
|
|
550
|
+
else {
|
|
551
|
+
await runVerify(target);
|
|
552
|
+
}
|
|
553
|
+
info('\nRe-test by hand any time:');
|
|
473
554
|
// A minimal chat completion is the one request every healthy gateway
|
|
474
555
|
// serves (there is no unauthenticated GET under /v1). "anyray-default"
|
|
475
556
|
// lets the gateway's routing config pick the real model/provider.
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `anyray-connect __anyray-hook` — the PostToolUse hook body.
|
|
3
|
+
*
|
|
4
|
+
* Claude Code invokes this for every tool result (configured by the Claude Code
|
|
5
|
+
* adapter). It reads the hook payload on stdin and, for an OVERSIZED tool
|
|
6
|
+
* output, asks the gateway to optimize it — the real strategies run SERVER-SIDE
|
|
7
|
+
* (never on the dev's machine), and the gateway records the saving so
|
|
8
|
+
* observability follows it natively. If the gateway is unreachable it falls
|
|
9
|
+
* back to a local trim (cache-safe head/tail) + a content-free beacon, so the
|
|
10
|
+
* dev still benefits when offline. Then it prints the replacement output.
|
|
11
|
+
*
|
|
12
|
+
* Hard rule: this runs on Claude Code's hot path, so it MUST NOT throw and MUST
|
|
13
|
+
* NOT block for long. Any error/malformed payload/timeout degrades to a smaller
|
|
14
|
+
* action (local trim) or passthrough (empty stdout + exit 0 = use the original).
|
|
15
|
+
*
|
|
16
|
+
* PRIVACY: the one tool output sent to the gateway rides the same content
|
|
17
|
+
* boundary the optimizer already has (processed transiently, metadata-only
|
|
18
|
+
* logging); the fallback beacon carries only counts. The elided content is
|
|
19
|
+
* never logged here.
|
|
20
|
+
*/
|
|
21
|
+
import { homedir } from 'node:os';
|
|
22
|
+
import { join } from 'node:path';
|
|
23
|
+
import { readFile } from 'node:fs/promises';
|
|
24
|
+
import { extractToolOutputBody, trimText, DEFAULT_TRIM, } from '../util/trimOutput.js';
|
|
25
|
+
const OPTIMIZE_TIMEOUT_MS = 1200;
|
|
26
|
+
const BEACON_TIMEOUT_MS = 400;
|
|
27
|
+
const emit = (value) => JSON.stringify({
|
|
28
|
+
hookSpecificOutput: {
|
|
29
|
+
hookEventName: 'PostToolUse',
|
|
30
|
+
updatedToolOutput: value,
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
/** Defensive: tool result may live under any of these keys across versions. */
|
|
34
|
+
const OUTPUT_KEYS = ['tool_output', 'tool_response', 'tool_result'];
|
|
35
|
+
const pickOutput = (payload) => {
|
|
36
|
+
for (const k of OUTPUT_KEYS)
|
|
37
|
+
if (k in payload)
|
|
38
|
+
return payload[k];
|
|
39
|
+
return undefined;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Pure orchestration core: decide what to emit for a raw PostToolUse payload,
|
|
43
|
+
* delegating I/O to `deps`. Returns the exact stdout (empty = passthrough).
|
|
44
|
+
* Never throws.
|
|
45
|
+
*/
|
|
46
|
+
export const runHook = async (raw, deps) => {
|
|
47
|
+
const passthrough = { stdout: '' };
|
|
48
|
+
if (!raw.trim())
|
|
49
|
+
return passthrough;
|
|
50
|
+
let payload;
|
|
51
|
+
try {
|
|
52
|
+
const parsed = JSON.parse(raw);
|
|
53
|
+
if (!parsed || typeof parsed !== 'object')
|
|
54
|
+
return passthrough;
|
|
55
|
+
payload = parsed;
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return passthrough;
|
|
59
|
+
}
|
|
60
|
+
const found = extractToolOutputBody(pickOutput(payload));
|
|
61
|
+
if (!found || found.body.length <= deps.sizeGate)
|
|
62
|
+
return passthrough;
|
|
63
|
+
const tool = typeof payload.tool_name === 'string' ? payload.tool_name : 'unknown';
|
|
64
|
+
// PRIMARY: the service optimizes (and records the saving). If it responds, it
|
|
65
|
+
// decides — no local trim, no beacon.
|
|
66
|
+
let verdict = null;
|
|
67
|
+
try {
|
|
68
|
+
verdict = await deps.optimize(tool, payload.tool_input, found.body);
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
verdict = null; // treat any failure as unreachable → fall back
|
|
72
|
+
}
|
|
73
|
+
if (verdict) {
|
|
74
|
+
if (verdict.optimized && verdict.output.length < found.body.length) {
|
|
75
|
+
return { stdout: emit(found.rebuild(verdict.output)) };
|
|
76
|
+
}
|
|
77
|
+
return passthrough; // service ran and declined
|
|
78
|
+
}
|
|
79
|
+
// FALLBACK: service unreachable → local cache-safe trim + content-free beacon.
|
|
80
|
+
let local;
|
|
81
|
+
try {
|
|
82
|
+
local = deps.localTrim(found.body);
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
return passthrough;
|
|
86
|
+
}
|
|
87
|
+
if (!local.trimmed)
|
|
88
|
+
return passthrough;
|
|
89
|
+
await deps.beacon(tool, {
|
|
90
|
+
originalChars: local.originalChars,
|
|
91
|
+
trimmedChars: local.trimmedChars,
|
|
92
|
+
estTokensSaved: local.estTokensSaved,
|
|
93
|
+
});
|
|
94
|
+
return { stdout: emit(found.rebuild(local.text)) };
|
|
95
|
+
};
|
|
96
|
+
// ---------------------------------------------------------------------------
|
|
97
|
+
// Real wiring (I/O). Kept thin; the logic lives in runHook above.
|
|
98
|
+
// ---------------------------------------------------------------------------
|
|
99
|
+
const readStdin = async () => {
|
|
100
|
+
const chunks = [];
|
|
101
|
+
try {
|
|
102
|
+
for await (const chunk of process.stdin)
|
|
103
|
+
chunks.push(chunk);
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
return '';
|
|
107
|
+
}
|
|
108
|
+
return Buffer.concat(chunks).toString('utf-8');
|
|
109
|
+
};
|
|
110
|
+
const trimOptionsFromEnv = () => {
|
|
111
|
+
const n = (k) => {
|
|
112
|
+
const v = process.env[k];
|
|
113
|
+
if (!v)
|
|
114
|
+
return undefined;
|
|
115
|
+
const parsed = Number(v);
|
|
116
|
+
return Number.isFinite(parsed) && parsed > 0 ? parsed : undefined;
|
|
117
|
+
};
|
|
118
|
+
return {
|
|
119
|
+
maxChars: n('ANYRAY_HOOK_MAX_CHARS'),
|
|
120
|
+
headChars: n('ANYRAY_HOOK_HEAD_CHARS'),
|
|
121
|
+
tailChars: n('ANYRAY_HOOK_TAIL_CHARS'),
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* Recover the gateway origin + content-free attribution from the same
|
|
126
|
+
* `~/.claude/settings.json` the Claude Code adapter wrote — the hook is
|
|
127
|
+
* self-configuring (no second config file). Best-effort.
|
|
128
|
+
*/
|
|
129
|
+
const readBeaconTarget = async () => {
|
|
130
|
+
try {
|
|
131
|
+
const path = join(homedir(), '.claude', 'settings.json');
|
|
132
|
+
const settings = JSON.parse(await readFile(path, 'utf-8'));
|
|
133
|
+
const env = settings?.env;
|
|
134
|
+
const base = env?.ANTHROPIC_BASE_URL;
|
|
135
|
+
if (!base)
|
|
136
|
+
return null;
|
|
137
|
+
const origin = new URL(base).origin;
|
|
138
|
+
const headers = env?.ANTHROPIC_CUSTOM_HEADERS ?? '';
|
|
139
|
+
const header = (name) => {
|
|
140
|
+
for (const line of headers.split('\n')) {
|
|
141
|
+
const idx = line.indexOf(':');
|
|
142
|
+
if (idx > 0 && line.slice(0, idx).trim().toLowerCase() === name) {
|
|
143
|
+
return line.slice(idx + 1).trim();
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return undefined;
|
|
147
|
+
};
|
|
148
|
+
return {
|
|
149
|
+
origin,
|
|
150
|
+
metadata: header('x-anyray-metadata'),
|
|
151
|
+
apiKey: header('x-anyray-api-key'),
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
return null;
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
const authHeaders = (target) => {
|
|
159
|
+
const headers = { 'content-type': 'application/json' };
|
|
160
|
+
if (target.metadata)
|
|
161
|
+
headers['x-anyray-metadata'] = target.metadata;
|
|
162
|
+
if (target.apiKey)
|
|
163
|
+
headers['x-anyray-api-key'] = target.apiKey;
|
|
164
|
+
return headers;
|
|
165
|
+
};
|
|
166
|
+
/** POST one tool output to the gateway for server-side optimization. */
|
|
167
|
+
const optimizeViaGateway = async (target, tool, toolInput, body) => {
|
|
168
|
+
if (!target)
|
|
169
|
+
return null;
|
|
170
|
+
const controller = new AbortController();
|
|
171
|
+
const timer = setTimeout(() => controller.abort(), OPTIMIZE_TIMEOUT_MS);
|
|
172
|
+
try {
|
|
173
|
+
const res = await fetch(`${target.origin}/connect/optimize-output`, {
|
|
174
|
+
method: 'POST',
|
|
175
|
+
headers: authHeaders(target),
|
|
176
|
+
body: JSON.stringify({ tool, toolInput, output: body }),
|
|
177
|
+
signal: controller.signal,
|
|
178
|
+
});
|
|
179
|
+
if (!res.ok)
|
|
180
|
+
return null;
|
|
181
|
+
const data = await res.json();
|
|
182
|
+
return {
|
|
183
|
+
optimized: data?.optimized === true && typeof data?.output === 'string',
|
|
184
|
+
output: typeof data?.output === 'string' ? data.output : body,
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
catch {
|
|
188
|
+
return null; // unreachable / timeout → fall back to local trim
|
|
189
|
+
}
|
|
190
|
+
finally {
|
|
191
|
+
clearTimeout(timer);
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
/** Fire-and-forget content-free beacon for the fallback (local-trim) path. */
|
|
195
|
+
const sendBeacon = async (target, tool, metrics) => {
|
|
196
|
+
if (!target)
|
|
197
|
+
return;
|
|
198
|
+
const controller = new AbortController();
|
|
199
|
+
const timer = setTimeout(() => controller.abort(), BEACON_TIMEOUT_MS);
|
|
200
|
+
try {
|
|
201
|
+
await fetch(`${target.origin}/connect/hook-savings`, {
|
|
202
|
+
method: 'POST',
|
|
203
|
+
headers: authHeaders(target),
|
|
204
|
+
body: JSON.stringify({ source: 'hook', tool, ...metrics }),
|
|
205
|
+
signal: controller.signal,
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
catch {
|
|
209
|
+
/* telemetry is best-effort */
|
|
210
|
+
}
|
|
211
|
+
finally {
|
|
212
|
+
clearTimeout(timer);
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
/**
|
|
216
|
+
* Run the PostToolUse hook. Always returns exit code 0 — the hook is advisory;
|
|
217
|
+
* failures must never block Claude Code.
|
|
218
|
+
*/
|
|
219
|
+
export const runPostToolUseHook = async () => {
|
|
220
|
+
const raw = await readStdin();
|
|
221
|
+
const opts = trimOptionsFromEnv();
|
|
222
|
+
const target = await readBeaconTarget();
|
|
223
|
+
const { stdout } = await runHook(raw, {
|
|
224
|
+
optimize: (tool, toolInput, body) => optimizeViaGateway(target, tool, toolInput, body),
|
|
225
|
+
localTrim: (body) => trimText(body, opts),
|
|
226
|
+
beacon: (tool, metrics) => sendBeacon(target, tool, metrics),
|
|
227
|
+
sizeGate: opts.maxChars ?? DEFAULT_TRIM.maxChars,
|
|
228
|
+
});
|
|
229
|
+
if (stdout)
|
|
230
|
+
process.stdout.write(stdout);
|
|
231
|
+
return 0;
|
|
232
|
+
};
|
|
233
|
+
//# sourceMappingURL=hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":"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"}
|
package/dist/target.js
CHANGED
|
@@ -43,13 +43,23 @@ export const resolveTarget = (input = {}) => {
|
|
|
43
43
|
intentLabel: pick(input.intentLabel, 'ANYRAY_METADATA_INTENT_LABEL'),
|
|
44
44
|
session: pick(input.session, 'ANYRAY_METADATA_SESSION'),
|
|
45
45
|
};
|
|
46
|
+
// Forced modes win; otherwise detected seats select `auto`; otherwise the
|
|
47
|
+
// legacy placeholder default (e.g. direct callers that pass no seat state).
|
|
48
|
+
const authMode = input.subscription
|
|
49
|
+
? 'subscription'
|
|
50
|
+
: input.placeholder
|
|
51
|
+
? 'placeholder'
|
|
52
|
+
: input.seat
|
|
53
|
+
? 'auto'
|
|
54
|
+
: 'placeholder';
|
|
46
55
|
return {
|
|
47
56
|
origin,
|
|
48
57
|
anthropicBaseUrl: origin,
|
|
49
58
|
openaiBaseUrl: `${origin}/v1`,
|
|
50
59
|
placeholderKey,
|
|
51
60
|
clientKey,
|
|
52
|
-
authMode
|
|
61
|
+
authMode,
|
|
62
|
+
seat: authMode === 'auto' ? input.seat : undefined,
|
|
53
63
|
metadata,
|
|
54
64
|
};
|
|
55
65
|
};
|
package/dist/target.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target.js","sourceRoot":"","sources":["../src/target.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,cAAc,GAAG,uBAAuB,CAAC;AAC/C,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AAErD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAU,EAAE;IACrD,IAAI,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"target.js","sourceRoot":"","sources":["../src/target.ts"],"names":[],"mappings":"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"}
|