anyray-connect 0.11.78 → 0.11.80

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.
Files changed (46) hide show
  1. package/dist/assets/vscodeExtensionAsset.js +5 -5
  2. package/dist/assets/vscodeExtensionAsset.js.map +1 -1
  3. package/dist/cli.js +12 -1
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/managed.js +11 -0
  6. package/dist/commands/managed.js.map +1 -1
  7. package/dist/commands/mcpServer.js +160 -52
  8. package/dist/commands/mcpServer.js.map +1 -1
  9. package/dist/commands/refreshProxy.js +46 -7
  10. package/dist/commands/refreshProxy.js.map +1 -1
  11. package/dist/tools/acpAgents.js +8 -9
  12. package/dist/tools/acpAgents.js.map +1 -1
  13. package/dist/tools/claudeCode.js +10 -11
  14. package/dist/tools/claudeCode.js.map +1 -1
  15. package/dist/tools/claudeCodeEnv.js +22 -10
  16. package/dist/tools/claudeCodeEnv.js.map +1 -1
  17. package/dist/tools/claudeDesktopNative.js +8 -5
  18. package/dist/tools/claudeDesktopNative.js.map +1 -1
  19. package/dist/tools/sharedHooks.js +11 -13
  20. package/dist/tools/sharedHooks.js.map +1 -1
  21. package/dist/tools/shellEnv.js +16 -6
  22. package/dist/tools/shellEnv.js.map +1 -1
  23. package/dist/util/cliInvocation.js +7 -13
  24. package/dist/util/cliInvocation.js.map +1 -1
  25. package/dist/util/commandTrim.js +13 -1
  26. package/dist/util/commandTrim.js.map +1 -1
  27. package/dist/util/connectHealth.js +68 -14
  28. package/dist/util/connectHealth.js.map +1 -1
  29. package/dist/util/devRefresh.js +44 -1
  30. package/dist/util/devRefresh.js.map +1 -1
  31. package/dist/util/drainMarker.js +89 -0
  32. package/dist/util/drainMarker.js.map +1 -0
  33. package/dist/util/durableRuntime.js +46 -2
  34. package/dist/util/durableRuntime.js.map +1 -1
  35. package/dist/util/localSearch.js +18 -3
  36. package/dist/util/localSearch.js.map +1 -1
  37. package/dist/util/proxyService.js +36 -9
  38. package/dist/util/proxyService.js.map +1 -1
  39. package/dist/util/repair.js +24 -8
  40. package/dist/util/repair.js.map +1 -1
  41. package/dist/util/selfUpdate.js +37 -5
  42. package/dist/util/selfUpdate.js.map +1 -1
  43. package/dist/util/vscodeExtension.js +18 -2
  44. package/dist/util/vscodeExtension.js.map +1 -1
  45. package/dist/version.js +1 -1
  46. package/package.json +1 -1
@@ -7,7 +7,8 @@
7
7
  * content-free handle and a `· retrieve ctx_…` / `[anyray:…]` marker, stashing
8
8
  * the ORIGINAL server-side. Without a read path that trim is effectively lossy —
9
9
  * the model can't get the detail back. This MCP server is that read path. It
10
- * exposes four tools:
10
+ * exposes four tools, plus `anyray_history` when that archive has content
11
+ * (see the tools/list capability gate):
11
12
  * - `anyray_retrieve(handle)` — fetch the full original for a known ctx_…
12
13
  * handle from the gateway (`POST /connect/retrieve`, which proxies the
13
14
  * in-network optimizer's `/v1/retrieve`).
@@ -29,9 +30,25 @@
29
30
  * than destructive.
30
31
  *
31
32
  * It speaks MCP over stdio: newline-delimited JSON-RPC 2.0 on stdin/stdout (the
32
- * stdio transport — one message per line, no embedded newlines). Claude Code
33
- * loads it out-of-context until used (ENABLE_TOOL_SEARCH), so the tool schemas
34
- * cost nothing until the model actually needs to retrieve or recall.
33
+ * stdio transport — one message per line, no embedded newlines).
34
+ *
35
+ * BUDGET — read this before adding a tool. Only Claude Code and the Claude ACP
36
+ * lane (JetBrains, Devin) defer these schemas until used; connect sets
37
+ * ENABLE_TOOL_SEARCH for them, and there the surface is genuinely free. The
38
+ * OTHER six client families that register this same server — Cursor, Codex,
39
+ * Copilot Chat, Copilot CLI, Claude Desktop, OpenCode — have no deferral
40
+ * mechanism we can set, so they pay the WHOLE advertised surface on every
41
+ * request (~880 tokens at four tools). tools/list is the fleet's most expensive
42
+ * per-token real estate. Two rules follow:
43
+ * - Advertise a tool only where it can act (hence the history gate).
44
+ * - Give the model a way to ask for LESS rather than trimming after the fact
45
+ * (anyray_search `maxResults`/`resultShape`, anyray_read `focus`) — bytes
46
+ * never produced beat bytes trimmed, and a result occupies context
47
+ * permanently while a definition is cached.
48
+ * A CLI would not fix this: the lanes that pay the most are exactly the ones
49
+ * where a shell command's OUTPUT cannot be optimized at all (Cursor honours only
50
+ * preToolUse for Shell; Codex's sole PostToolUse replacement is `decision:
51
+ * block`, which turns a completed side effect into an apparent failure).
35
52
  *
36
53
  * Hard rules: stdout carries ONLY JSON-RPC frames — every diagnostic goes to
37
54
  * stderr (a stray stdout write corrupts the transport). The server never throws
@@ -42,12 +59,22 @@
42
59
  * original tool output — returned straight to the model that asked for it (the
43
60
  * same boundary its own request rode) and never logged here. The recall/search
44
61
  * `query` and search `file:line` matches are likewise model-/workspace-content,
45
- * returned to the model and never logged. Handles and scores are content-free.
62
+ * returned to the model and never logged. The read `focus` is INBOUND only —
63
+ * dispatch never reads it, so it is neither used locally nor echoed back.
64
+ * Handles and scores are content-free.
65
+ *
66
+ * What does leave this process: for `anyray_search` and `anyray_read`, the
67
+ * PostToolUse hook POSTs the OUTPUT BODY to the gateway's
68
+ * `/connect/optimize-output` to be ranked and trimmed, and for `anyray_read` the
69
+ * gateway durably stashes the original so `anyray_retrieve` can top it back up.
70
+ * That is the tools' whole purpose, not an incidental leak. The hook forwards
71
+ * the entire tool input on the same POST, which is how `focus` reaches the
72
+ * relevance ranker — an existing field on an existing request, no new sink.
46
73
  */
47
74
  import { readBeaconTarget, authHeaders, } from '../util/beacon.js';
48
75
  import { recallViaGateway, retrieveViaGateway, RETRIEVE_TIMEOUT_MS, } from '../util/retrieval.js';
49
- import { localSearch, formatSearchResult, } from '../util/localSearch.js';
50
- import { openHistory, searchHistory } from '../util/historyStore.js';
76
+ import { localSearch, formatSearchResult, DEFAULT_MAX_MATCHES, } from '../util/localSearch.js';
77
+ import { countConversations, openHistory, searchHistory, } from '../util/historyStore.js';
51
78
  import { localRead, formatReadResult, } from '../util/localRead.js';
52
79
  /** The MCP protocol version we default to when the client doesn't pin one. */
53
80
  const DEFAULT_PROTOCOL_VERSION = '2025-06-18';
@@ -55,11 +82,9 @@ const SERVER_INFO = { name: 'anyray', version: '1' };
55
82
  const RETRIEVE_TOOL = {
56
83
  // Renaming breaks RETRIEVE_TOOL_RE in gateway/src/services/optimizer.ts and optimizer/src/strategies/contextRetrieval.ts.
57
84
  name: 'anyray_retrieve',
58
- description: 'Retrieve the full original tool output that Anyray externalized to a handle. ' +
59
- 'When a tool result was shortened and left a marker like ' +
60
- '"· retrieve ctx_…" or "[anyray: … ctx_…]", pass that ctx_… handle here to ' +
61
- 'get the complete, untruncated content back. Use it when you need detail ' +
62
- 'that was elided from a trimmed output.',
85
+ description: 'Get back the full original of a tool output Anyray shortened. When a result ' +
86
+ 'left a marker like "· retrieve ctx_…" or "[anyray: … ctx_…]", pass that ' +
87
+ 'ctx_… handle here for the complete, untruncated content.',
63
88
  inputSchema: {
64
89
  type: 'object',
65
90
  properties: {
@@ -74,13 +99,11 @@ const RETRIEVE_TOOL = {
74
99
  };
75
100
  const RECALL_TOOL = {
76
101
  name: 'anyray_recall',
77
- description: 'Semantically search the tool outputs Anyray previously externalized/stashed, ' +
78
- 'by meaning rather than by an exact handle. Pass a natural-language query ' +
79
- 'describing the output you want (e.g. "the failing pytest run" or "the grep ' +
80
- 'of TODOs in the handlers"). Returns the best-matching stashed outputs as ' +
81
- 'ranked ctx_… handles with short previews; then call anyray_retrieve(handle) ' +
82
- 'to fetch the full original. Use this when you recall that detail was elided ' +
83
- 'earlier but no longer have the ctx_… marker in view.',
102
+ description: 'Find an earlier tool output Anyray stashed, by meaning rather than by an ' +
103
+ 'exact handle. Pass a natural-language query (e.g. "the failing pytest run"); ' +
104
+ 'returns ranked ctx_… handles with short previews to pass to ' +
105
+ 'anyray_retrieve. Use when detail was elided earlier but its ctx_… marker ' +
106
+ 'has scrolled out of view.',
84
107
  inputSchema: {
85
108
  type: 'object',
86
109
  properties: {
@@ -97,15 +120,49 @@ const RECALL_TOOL = {
97
120
  additionalProperties: false,
98
121
  },
99
122
  };
123
+ /** Upper bound advertised on `anyray_search.maxResults`, and what an
124
+ * out-of-range value clamps to — the search engine's own ceiling. */
125
+ const SEARCH_MAX_RESULTS = DEFAULT_MAX_MATCHES;
126
+ /**
127
+ * Clamp an LLM-emitted `maxResults` into [1, SEARCH_MAX_RESULTS].
128
+ *
129
+ * Models routinely emit out-of-range or non-integer values here (0, -1, 1e9,
130
+ * 12.5, "20"). Rejecting the call over it would be the wrong trade — the model
131
+ * asking for FEWER results is exactly the behavior we want to encourage — so a
132
+ * bad number degrades to the default rather than to an error. Returns undefined
133
+ * when nothing usable was supplied, leaving the engine default in place.
134
+ */
135
+ export const clampMaxResults = (raw) => {
136
+ // `Number(null)` and `Number('')` are both 0, which would read as "the model
137
+ // asked for none" — treat absence as absence.
138
+ if (raw == null || (typeof raw === 'string' && raw.trim() === '')) {
139
+ return undefined;
140
+ }
141
+ const n = typeof raw === 'number' ? raw : Number(raw);
142
+ if (!Number.isFinite(n))
143
+ return undefined;
144
+ const rounded = Math.round(n);
145
+ if (rounded < 1)
146
+ return 1;
147
+ return Math.min(rounded, SEARCH_MAX_RESULTS);
148
+ };
149
+ /**
150
+ * Validate an LLM-emitted `resultShape` against the allowlist.
151
+ *
152
+ * Anything unrecognised degrades to the default rather than erroring — the
153
+ * shape only affects how much we render, so a typo should cost verbosity, not
154
+ * the search. (It also keeps an unvalidated client string out of the output
155
+ * path; see the enum-allowlist rule in code-quality.)
156
+ */
157
+ export const parseResultShape = (raw) => raw === 'paths' || raw === 'lines' || raw === 'full' ? raw : 'full';
100
158
  const SEARCH_TOOL = {
101
159
  name: 'anyray_search',
102
- description: 'Search the workspace for a string and get back matching file:line results. ' +
103
- 'Use this as your DEFAULT way to find where something is defined or used — ' +
104
- 'prefer it over the built-in codebase search and shell grep: Anyray ranks ' +
105
- 'the matches by relevance to the task and trims the noise, so you get the ' +
106
- 'pertinent hits instead of a raw dump. Pass the exact identifier or phrase ' +
107
- '(e.g. a function name, error string, or config key); optionally restrict ' +
108
- 'with file globs.',
160
+ description: 'Search the workspace for a string; returns matching file:line results. Your ' +
161
+ 'DEFAULT way to find where something is defined or used — prefer it over the ' +
162
+ 'built-in codebase search and shell grep: Anyray ranks the matches by ' +
163
+ 'relevance to the task and trims the noise, so you get the pertinent hits ' +
164
+ 'instead of a raw dump. Pass an exact identifier or phrase; narrow with ' +
165
+ 'globs, and set maxResults when you only need the top few.',
109
166
  inputSchema: {
110
167
  type: 'object',
111
168
  properties: {
@@ -118,6 +175,18 @@ const SEARCH_TOOL = {
118
175
  items: { type: 'string' },
119
176
  description: 'Optional include globs to restrict the search (e.g. ["*.ts"]).',
120
177
  },
178
+ maxResults: {
179
+ type: 'number',
180
+ description: `Cap matches returned (1-${SEARCH_MAX_RESULTS}). Ask for fewer when ` +
181
+ 'you only need the top hits.',
182
+ },
183
+ resultShape: {
184
+ type: 'string',
185
+ enum: ['paths', 'lines', 'full'],
186
+ description: "'paths' = matching files + counts; 'lines' = file:line only; " +
187
+ "'full' (default) = file:line plus the matched text. Prefer 'paths' " +
188
+ 'when you only need to know WHERE something lives.',
189
+ },
121
190
  },
122
191
  required: ['query'],
123
192
  additionalProperties: false,
@@ -125,12 +194,11 @@ const SEARCH_TOOL = {
125
194
  };
126
195
  const READ_TOOL = {
127
196
  name: 'anyray_read',
128
- description: 'Read a file from the workspace. Prefer this over the built-in file read, ' +
129
- 'especially for large files: Anyray returns the portion relevant to the ' +
130
- 'task plus a `retrieve ctx_…` handle you can pass to anyray_retrieve to get ' +
131
- 'any elided detail back — so you spend context on the pertinent lines ' +
132
- 'without losing access to the rest. Pass a path inside the workspace; ' +
133
- 'optionally a 1-based line range.',
197
+ description: 'Read a workspace file. Prefer this over the built-in file read, especially ' +
198
+ 'for large files: Anyray returns the task-relevant portion plus a ' +
199
+ '`retrieve ctx_…` handle for anyray_retrieve, so you spend context on the ' +
200
+ 'pertinent lines without losing access to the rest. Pass a path inside the ' +
201
+ 'workspace; optionally a 1-based line range.',
134
202
  inputSchema: {
135
203
  type: 'object',
136
204
  properties: {
@@ -146,6 +214,13 @@ const READ_TOOL = {
146
214
  type: 'number',
147
215
  description: 'Optional 1-based inclusive end line.',
148
216
  },
217
+ focus: {
218
+ type: 'string',
219
+ description: 'What you need from this file, in your own words (e.g. "the exported ' +
220
+ 'symbols", "where the retry budget is applied"). Anyray ranks the ' +
221
+ 'returned slice against it, so you get the pertinent lines rather ' +
222
+ 'than the head of the file.',
223
+ },
149
224
  },
150
225
  required: ['path'],
151
226
  additionalProperties: false,
@@ -156,13 +231,12 @@ const MAX_HISTORY_CONVERSATIONS = 8;
156
231
  const MAX_HISTORY_EXCERPTS = 3;
157
232
  const HISTORY_TOOL = {
158
233
  name: 'anyray_history',
159
- description: "Search the user's imported Claude conversation history — past chats from " +
160
- 'their Claude account, imported with `anyray-connect history import`. Use ' +
161
- 'this whenever the user refers to an earlier conversation you cannot see ' +
162
- '("what did we decide about X?", "like we discussed last month"), ' +
163
- 'especially in a client whose own history is unavailable. Call with ' +
164
- '`query` to find matching conversations, then with `open` (a filename from ' +
165
- 'those results) to read one in full.',
234
+ description: "Search the user's imported Claude conversation history (past chats from " +
235
+ 'their Claude account, imported with `anyray-connect history import`). Use ' +
236
+ 'whenever the user refers to an earlier conversation you cannot see ("what ' +
237
+ 'did we decide about X?"), especially in a client whose own history is ' +
238
+ 'unavailable. Call with `query` to find conversations, then `open` (a ' +
239
+ 'filename from those results) to read one in full.',
166
240
  inputSchema: {
167
241
  type: 'object',
168
242
  properties: {
@@ -266,16 +340,39 @@ export const dispatch = async (msg, deps) => {
266
340
  return null;
267
341
  case 'ping':
268
342
  return result(id ?? null, {});
269
- case 'tools/list':
270
- return result(id ?? null, {
271
- tools: [
272
- RETRIEVE_TOOL,
273
- RECALL_TOOL,
274
- SEARCH_TOOL,
275
- READ_TOOL,
276
- HISTORY_TOOL,
277
- ],
278
- });
343
+ case 'tools/list': {
344
+ // Every advertised schema is prefix rent: ~941 tokens for the full five,
345
+ // charged on every request in the clients that cannot defer tool loading
346
+ // (Cursor, Codex, Copilot, Desktop, OpenCode — only Claude Code and the
347
+ // Claude ACP lane honour ENABLE_TOOL_SEARCH). So advertise a tool only
348
+ // where it can actually do something.
349
+ //
350
+ // `anyray_history` searches conversations imported with
351
+ // `anyray-connect history import`. With an empty store it can only ever
352
+ // answer "nothing found", so it is 742 chars of pure rent — and most
353
+ // installs never import. Gate the ADVERTISEMENT only: `tools/call` still
354
+ // serves it, so a client holding a stale list gets a real answer rather
355
+ // than an unknown-tool error. A store filled mid-session surfaces on the
356
+ // next client restart (we do not emit notifications/tools/list_changed).
357
+ const tools = [
358
+ RETRIEVE_TOOL,
359
+ RECALL_TOOL,
360
+ SEARCH_TOOL,
361
+ READ_TOOL,
362
+ ];
363
+ // The probe touches the filesystem, and this loop must never throw: a
364
+ // failed probe costs one tool, not the entire tool list.
365
+ let hasHistory = false;
366
+ try {
367
+ hasHistory = await deps.historyAvailable();
368
+ }
369
+ catch {
370
+ hasHistory = false;
371
+ }
372
+ if (hasHistory)
373
+ tools.push(HISTORY_TOOL);
374
+ return result(id ?? null, { tools });
375
+ }
279
376
  case 'tools/call': {
280
377
  const params = (msg.params ?? {});
281
378
  const args = (params.arguments ?? {});
@@ -326,9 +423,11 @@ export const dispatch = async (msg, deps) => {
326
423
  const globs = Array.isArray(args.globs)
327
424
  ? args.globs.filter((g) => typeof g === 'string')
328
425
  : undefined;
426
+ const maxResults = clampMaxResults(args.maxResults);
427
+ const shape = parseResultShape(args.resultShape);
329
428
  let outcome;
330
429
  try {
331
- outcome = await deps.search(query, globs);
430
+ outcome = await deps.search(query, globs, maxResults);
332
431
  }
333
432
  catch (err) {
334
433
  outcome = {
@@ -340,7 +439,7 @@ export const dispatch = async (msg, deps) => {
340
439
  };
341
440
  }
342
441
  return result(id ?? null, outcome.ok
343
- ? toolText(formatSearchResult(query, outcome))
442
+ ? toolText(formatSearchResult(query, outcome, shape))
344
443
  : toolText(outcome.message ?? 'search failed', true));
345
444
  }
346
445
  if (params.name === HISTORY_TOOL.name) {
@@ -395,6 +494,12 @@ export const dispatch = async (msg, deps) => {
395
494
  startLine: typeof args.startLine === 'number' ? args.startLine : undefined,
396
495
  endLine: typeof args.endLine === 'number' ? args.endLine : undefined,
397
496
  };
497
+ // `args.focus` is deliberately NOT read here. The local read is a plain
498
+ // file read; focus is a ranking hint consumed downstream — the PostToolUse
499
+ // hook forwards the whole tool input, and the gateway folds it into the
500
+ // relevance-filter query (start-server.ts JSON-stringifies `toolInput`
501
+ // into the rank target). So it needs no plumbing on this side, and on a
502
+ // client that does not route through the hook it is simply inert.
398
503
  let outcome;
399
504
  try {
400
505
  outcome = await deps.read(filePath, range);
@@ -459,13 +564,16 @@ export const gatewayDeps = (resolveTarget) => ({
459
564
  recall: async (query, k) => recallViaGateway(await resolveTarget(), query, k),
460
565
  // `search` is LOCAL (ripgrep over the workspace) — no gateway round-trip here;
461
566
  // the gateway's relevance_filter acts on the returned output via the hook.
462
- search: (query, globs) => localSearch(query, { globs }),
567
+ search: (query, globs, maxResults) => localSearch(query, { globs, ...(maxResults ? { maxMatches: maxResults } : {}) }),
463
568
  // `read` is LOCAL too; the gateway reversibly trims the output via the hook.
464
569
  read: (filePath, range) => localRead(filePath, range),
465
570
  // History is LOCAL and stays local — the archive is the user's own past
466
571
  // conversations, read off disk only when the model asks for one.
467
572
  historySearch: (query) => searchHistory(query),
468
573
  historyOpen: (file) => openHistory(file),
574
+ // countConversations swallows its own errors (missing dir → 0), so this
575
+ // already fails closed to "no history".
576
+ historyAvailable: async () => (await countConversations()) > 0,
469
577
  heartbeat: () => {
470
578
  void resolveTarget()
471
579
  .then(sendMcpHeartbeat)
@@ -1 +1 @@
1
- {"version":3,"file":"mcpServer.js","sourceRoot":"","sources":["../../src/commands/mcpServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcpServer.js","sourceRoot":"","sources":["../../src/commands/mcpServer.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ import { refreshAheadMs, refreshIfDue } from '../util/devRefresh.js';
26
26
  import { readFleetBootstrap } from '../util/fleetBootstrap.js';
27
27
  import { createProxyEnrollmentGate, inboundPresentsClientKey, } from '../util/proxyEnrollmentGate.js';
28
28
  import { DEFAULT_LOOPBACK_PORT, LOCAL_CALLER_HEADER, SUPERVISOR_STOP_TIMEOUT_S, daemonLogPath, trimOversizedLog, } from '../util/proxyService.js';
29
+ import { clearDraining, markDraining } from '../util/drainMarker.js';
29
30
  /**
30
31
  * How often the daemon proactively drives the key/cert re-mint + tool-drift
31
32
  * self-heal (`refreshIfDue`). This runs regardless of how long the key/cert TTL
@@ -47,7 +48,8 @@ const UNSENT_RETRY_BUDGET_MS = 15_000;
47
48
  const UNSENT_RETRY_MAX_DELAY_MS = 1_000;
48
49
  // 10s under the supervisor window so we exit ourselves, not via SIGKILL.
49
50
  const DRAIN_HARD_CAP_MS = SUPERVISOR_STOP_TIMEOUT_S * 1000 - 10_000;
50
- const IDLE_DRAIN_CEILING_MS = 15 * 60_000;
51
+ /** Exported so drainMarker's claim bound can be asserted against it, not guessed. */
52
+ export const IDLE_DRAIN_CEILING_MS = 15 * 60_000;
51
53
  // Above tool pool-reuse windows so the daemon never reaps a pooled socket first;
52
54
  // headersTimeout must exceed keepAliveTimeout per Node's ordering rule.
53
55
  const SERVER_KEEPALIVE_MS = 75_000;
@@ -301,6 +303,17 @@ const isLocalToolCaller = (headers) => {
301
303
  const host = (headers.host ?? '').replace(/:\d+$/, '');
302
304
  return LOOPBACK_HOSTS.has(host);
303
305
  };
306
+ /**
307
+ * The daemon's own loopback routes — served here, never relayed upstream. Kept
308
+ * as one predicate so the in-flight tally and the route table can't drift: a
309
+ * control route that slipped past this would be counted as a live relay and
310
+ * hold a drain open for its whole ceiling.
311
+ */
312
+ const isControlRoute = (method, url) => {
313
+ const path = (url ?? '').split('?')[0];
314
+ return ((method === 'GET' && path === '/__anyray/health') ||
315
+ (method === 'POST' && path === '/__anyray/shutdown'));
316
+ };
304
317
  const fetchOnce = async (url, method, headers, body) => {
305
318
  try {
306
319
  const res = await fetch(url, {
@@ -445,6 +458,9 @@ const sendError = (clientRes, status, message) => {
445
458
  */
446
459
  export const createRefreshProxy = (config) => {
447
460
  const remoteOrigin = config.remoteOrigin.replace(/\/+$/, '');
461
+ // Declared ahead of `handle` so /__anyray/health can report it. Counts relayed
462
+ // requests only — see isControlRoute.
463
+ let inFlight = 0;
448
464
  const handle = async (req, res) => {
449
465
  const url = req.url ?? '/';
450
466
  const method = req.method ?? 'GET';
@@ -457,6 +473,10 @@ export const createRefreshProxy = (config) => {
457
473
  remoteOrigin,
458
474
  // Skip-proof for the installer: the binary path is stable across upgrades.
459
475
  version: CONNECT_VERSION,
476
+ // Content-free relay count. A self-update that needs to bootout this
477
+ // daemon to reload a drifted unit file waits for this to reach 0 —
478
+ // "the port answers" alone would let it kill a live stream.
479
+ inFlight,
460
480
  }));
461
481
  return;
462
482
  }
@@ -589,15 +609,20 @@ export const createRefreshProxy = (config) => {
589
609
  notifyUnauthorized();
590
610
  await relayResponse(res, outcome.res);
591
611
  };
592
- let inFlight = 0;
593
612
  const server = http.createServer((req, res) => {
594
613
  // A client vanishing mid-write emits 'error' here; unhandled, it crashes the daemon.
595
614
  res.on('error', () => { });
596
- // 'close', not 'finish' — a client that walks away must decrement too.
597
- inFlight++;
598
- res.once('close', () => {
599
- inFlight--;
600
- });
615
+ // Control routes are excluded deliberately. They answer instantly and are
616
+ // never relayed, so counting them would (a) let a drain re-arm its cap on
617
+ // the updater's own 1s health poll and (b) make the daemon read as busy to
618
+ // the very caller polling it to fall idle — a livelock between the two.
619
+ if (!isControlRoute(req.method, req.url)) {
620
+ // 'close', not 'finish' — a client that walks away must decrement too.
621
+ inFlight++;
622
+ res.once('close', () => {
623
+ inFlight--;
624
+ });
625
+ }
601
626
  handle(req, res).catch((error) => {
602
627
  console.error(`anyray refresh proxy: request error ${logLabel(error)}`);
603
628
  if (!res.headersSent)
@@ -763,10 +788,21 @@ export const runRefreshProxy = async () => {
763
788
  stopping = true;
764
789
  clearInterval(credentialTimer);
765
790
  clearInterval(keepaliveTimer);
791
+ const ceilingMs = opts.drain === 'idle' ? IDLE_DRAIN_CEILING_MS : DRAIN_HARD_CAP_MS;
792
+ // Announce BEFORE closing the listener: from the moment gracefulStop runs,
793
+ // the port stops answering and reconcileProxyService would otherwise read
794
+ // this daemon as dead and bootout the response it is still writing.
795
+ markDraining(Date.now() + ceilingMs);
766
796
  gracefulStop(proxy.server, {
767
797
  exitCode,
768
798
  inFlight: proxy.inFlight,
769
799
  ceilingMs: opts.drain === 'idle' ? IDLE_DRAIN_CEILING_MS : undefined,
800
+ // Drop the claim on the way out; a SIGKILL leaves it behind, which is what
801
+ // the deadline is for.
802
+ exit: (code) => {
803
+ clearDraining();
804
+ process.exit(code);
805
+ },
770
806
  });
771
807
  };
772
808
  process.once('SIGTERM', () => stop());
@@ -781,6 +817,9 @@ export const runRefreshProxy = async () => {
781
817
  console.error(`anyray refresh proxy: unhandled rejection ${reason instanceof Error ? logLabel(reason) : typeof reason}`);
782
818
  stop(1);
783
819
  });
820
+ // A live daemon is by definition not draining. Clears a marker a SIGKILLed
821
+ // predecessor left behind, so its unexpired deadline can't suppress healing.
822
+ clearDraining();
784
823
  await trimOversizedLog(daemonLogPath()).catch(() => { });
785
824
  await listenWithRetry(proxy.server, port);
786
825
  console.error(`anyray refresh proxy listening on 127.0.0.1:${port} → ${remoteOrigin}`);
@@ -1 +1 @@
1
- {"version":3,"file":"refreshProxy.js","sourceRoot":"","sources":["../../src/commands/refreshProxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"refreshProxy.js","sourceRoot":"","sources":["../../src/commands/refreshProxy.ts"],"names":[],"mappings":"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"}