claude-code-infinite 1.0.33 → 1.0.34

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 (87) hide show
  1. package/README.md +9 -2
  2. package/dist/cli-main.js +18 -9
  3. package/dist/cli-main.js.map +1 -1
  4. package/dist/hooks.d.ts +20 -0
  5. package/dist/hooks.d.ts.map +1 -1
  6. package/dist/hooks.js +34 -4
  7. package/dist/hooks.js.map +1 -1
  8. package/dist/host-session.d.ts +12 -0
  9. package/dist/host-session.d.ts.map +1 -0
  10. package/dist/host-session.js +12 -0
  11. package/dist/host-session.js.map +1 -0
  12. package/dist/image-refs.d.ts +24 -2
  13. package/dist/image-refs.d.ts.map +1 -1
  14. package/dist/image-refs.js +67 -20
  15. package/dist/image-refs.js.map +1 -1
  16. package/dist/index-wait-413.d.ts +26 -0
  17. package/dist/index-wait-413.d.ts.map +1 -0
  18. package/dist/index-wait-413.js +113 -0
  19. package/dist/index-wait-413.js.map +1 -0
  20. package/dist/memtree-finder.d.ts +70 -6
  21. package/dist/memtree-finder.d.ts.map +1 -1
  22. package/dist/memtree-finder.js +150 -20
  23. package/dist/memtree-finder.js.map +1 -1
  24. package/dist/memtree-handover.d.ts +13 -0
  25. package/dist/memtree-handover.d.ts.map +1 -0
  26. package/dist/memtree-handover.js +231 -0
  27. package/dist/memtree-handover.js.map +1 -0
  28. package/dist/memtree-mcp-config.d.ts +2 -2
  29. package/dist/memtree-mcp-config.d.ts.map +1 -1
  30. package/dist/memtree-mcp-config.js +8 -5
  31. package/dist/memtree-mcp-config.js.map +1 -1
  32. package/dist/memtree-mcp.d.ts +182 -2
  33. package/dist/memtree-mcp.d.ts.map +1 -1
  34. package/dist/memtree-mcp.js +357 -38
  35. package/dist/memtree-mcp.js.map +1 -1
  36. package/dist/memtree-newest.d.ts +21 -3
  37. package/dist/memtree-newest.d.ts.map +1 -1
  38. package/dist/memtree-newest.js +43 -11
  39. package/dist/memtree-newest.js.map +1 -1
  40. package/dist/memtree-times.d.ts +33 -0
  41. package/dist/memtree-times.d.ts.map +1 -1
  42. package/dist/memtree-times.js +77 -0
  43. package/dist/memtree-times.js.map +1 -1
  44. package/dist/memtree-tools.d.ts +19 -5
  45. package/dist/memtree-tools.d.ts.map +1 -1
  46. package/dist/memtree-tools.js +97 -23
  47. package/dist/memtree-tools.js.map +1 -1
  48. package/dist/memtree.d.ts +23 -0
  49. package/dist/memtree.d.ts.map +1 -1
  50. package/dist/memtree.js +78 -4
  51. package/dist/memtree.js.map +1 -1
  52. package/dist/network-failure.d.ts +28 -0
  53. package/dist/network-failure.d.ts.map +1 -0
  54. package/dist/network-failure.js +67 -0
  55. package/dist/network-failure.js.map +1 -0
  56. package/dist/prefix-store.d.ts +4 -0
  57. package/dist/prefix-store.d.ts.map +1 -1
  58. package/dist/prefix-store.js +8 -4
  59. package/dist/prefix-store.js.map +1 -1
  60. package/dist/project-trees.d.ts +15 -7
  61. package/dist/project-trees.d.ts.map +1 -1
  62. package/dist/project-trees.js +20 -9
  63. package/dist/project-trees.js.map +1 -1
  64. package/dist/proxy.d.ts +69 -1
  65. package/dist/proxy.d.ts.map +1 -1
  66. package/dist/proxy.js +467 -39
  67. package/dist/proxy.js.map +1 -1
  68. package/dist/reqlog.d.ts +24 -0
  69. package/dist/reqlog.d.ts.map +1 -1
  70. package/dist/reqlog.js.map +1 -1
  71. package/dist/resume-guidance.d.ts +9 -3
  72. package/dist/resume-guidance.d.ts.map +1 -1
  73. package/dist/resume-guidance.js +9 -3
  74. package/dist/resume-guidance.js.map +1 -1
  75. package/dist/route-fallback.d.ts +77 -11
  76. package/dist/route-fallback.d.ts.map +1 -1
  77. package/dist/route-fallback.js +157 -33
  78. package/dist/route-fallback.js.map +1 -1
  79. package/dist/route-identity.d.ts +6 -2
  80. package/dist/route-identity.d.ts.map +1 -1
  81. package/dist/route-identity.js +209 -16
  82. package/dist/route-identity.js.map +1 -1
  83. package/dist/subagent-hint.d.ts +28 -0
  84. package/dist/subagent-hint.d.ts.map +1 -1
  85. package/dist/subagent-hint.js +37 -0
  86. package/dist/subagent-hint.js.map +1 -1
  87. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"memtree-mcp-config.d.ts","sourceRoot":"","sources":["../src/memtree-mcp-config.ts"],"names":[],"mappings":"AA4CA,+BAA+B;AAC/B,eAAO,MAAM,0BAA0B,QAA+B,CAAC;AACvE,+DAA+D;AAC/D,eAAO,MAAM,qBAAqB,UAA0C,CAAC;AAC7E,eAAO,MAAM,kBAAkB,QAA8D,CAAC;AAE9F,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAEtE;AAED,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAazD;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,IAAI,IAAI,CAAC;CACf;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,MAAoB,GAC7B,oBAAoB,CAatB;AAED,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,QAAQ,EAAE,OAAO,CAAC;IAClB;6EACyE;IACzE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,GAAE,MAAsB,GAC1B,cAAc,CAShB;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,UAAU,EAAE,MAAM,EAClB,KAAK,GAAE,SAAS,MAAM,EAAuB,GAC5C,MAAM,EAAE,CAMV;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAOxE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAE/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,GAAE,MAAsB,GAC1B,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAQtC"}
1
+ {"version":3,"file":"memtree-mcp-config.d.ts","sourceRoot":"","sources":["../src/memtree-mcp-config.ts"],"names":[],"mappings":"AA6CA,+BAA+B;AAC/B,eAAO,MAAM,0BAA0B,QAA+B,CAAC;AACvE,+DAA+D;AAC/D,eAAO,MAAM,qBAAqB,UAA0C,CAAC;AAC7E,eAAO,MAAM,kBAAkB,QAA8D,CAAC;AAE9F,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAEtE;AAED,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAe7E;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,IAAI,IAAI,CAAC;CACf;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,MAAoB,EAC9B,SAAS,CAAC,EAAE,MAAM,GACjB,oBAAoB,CAatB;AAED,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,QAAQ,EAAE,OAAO,CAAC;IAClB;6EACyE;IACzE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,GAAE,MAAsB,GAC1B,cAAc,CAShB;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,UAAU,EAAE,MAAM,EAClB,KAAK,GAAE,SAAS,MAAM,EAAuB,GAC5C,MAAM,EAAE,CAMV;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAOxE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAE/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,GAAE,MAAsB,GAC1B,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAQtC"}
@@ -28,9 +28,10 @@
28
28
  * pre-allows nothing (if it runs `ccc memtree-mcp` the header is still
29
29
  * sent); tools named by `--disallowedTools` (a tool, `mcp__memtree`,
30
30
  * or a `*` pattern) are neither pre-allowed nor named in the header, and
31
- * with all four disallowed ccc registers nothing. Claude Code applies a
31
+ * with all of them disallowed ccc registers nothing. Claude Code applies a
32
32
  * deny over an allow in any case.
33
33
  */
34
+ import { HOST_TOKEN_ENV } from "./host-session.js";
34
35
  import fs from "node:fs";
35
36
  import os from "node:os";
36
37
  import path from "node:path";
@@ -46,7 +47,7 @@ export function memtreeMcpEnabledByEnv(env) {
46
47
  return env.CCC_MEMTREE_MCP !== "0";
47
48
  }
48
49
  /** The `--mcp-config` JSON for this ccc's server, bound to its proxy. */
49
- export function memtreeMcpConfig(proxyUrl) {
50
+ export function memtreeMcpConfig(proxyUrl, hostToken) {
50
51
  return {
51
52
  mcpServers: {
52
53
  [MEMTREE_MCP_SERVER_NAME]: {
@@ -54,16 +55,18 @@ export function memtreeMcpConfig(proxyUrl) {
54
55
  command: process.execPath,
55
56
  args: [MEMTREE_MCP_SCRIPT],
56
57
  // The proxy's version, so a server started after an update can tell.
57
- env: { CCC_MEMTREE_PROXY: proxyUrl, [PROXY_VERSION_ENV]: CLIENT_VERSION },
58
+ // The host token lets this server ask which session its process is on.
59
+ env: { CCC_MEMTREE_PROXY: proxyUrl, [PROXY_VERSION_ENV]: CLIENT_VERSION,
60
+ ...(hostToken ? { [HOST_TOKEN_ENV]: hostToken } : {}) },
58
61
  alwaysLoad: true,
59
62
  },
60
63
  },
61
64
  };
62
65
  }
63
- export function writeMemtreeMcpConfig(proxyUrl, tempRoot = os.tmpdir()) {
66
+ export function writeMemtreeMcpConfig(proxyUrl, tempRoot = os.tmpdir(), hostToken) {
64
67
  const dir = fs.mkdtempSync(path.join(tempRoot, "ccc-memtree-mcp-"));
65
68
  const file = path.join(dir, "mcp.json");
66
- fs.writeFileSync(file, JSON.stringify(memtreeMcpConfig(proxyUrl)), { mode: 0o600 });
69
+ fs.writeFileSync(file, JSON.stringify(memtreeMcpConfig(proxyUrl, hostToken)), { mode: 0o600 });
67
70
  let closed = false;
68
71
  return {
69
72
  path: file,
@@ -1 +1 @@
1
- {"version":3,"file":"memtree-mcp-config.js","sourceRoot":"","sources":["../src/memtree-mcp-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memtree-mcp-config.js","sourceRoot":"","sources":["../src/memtree-mcp-config.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,27 @@ export declare const MEMTREE_MCP_SERVER_NAME = "memtree";
11
11
  export declare const PROXY_VERSION_ENV = "CCC_PROXY_VERSION";
12
12
  /** The note added to failed tool calls when this server and its proxy differ. */
13
13
  export declare function versionMismatchNote(proxyVersion: string | undefined, ownVersion?: string): string | undefined;
14
+ /**
15
+ * Says once per session, after a tool's answer, that ccc was updated on disk since
16
+ * this server started: Claude Code keeps an MCP server for the whole session, so
17
+ * the tools stay the version it loaded (an older one may lack message times) until
18
+ * ccc restarts. Silent when the versions match or package.json is unreadable.
19
+ */
20
+ export declare class StaleToolsNotice {
21
+ private readonly readInstalled;
22
+ private readonly own;
23
+ private readonly now;
24
+ private readonly startedAt;
25
+ private said;
26
+ private checkedAt;
27
+ constructor(readInstalled?: () => string | undefined, own?: string, now?: () => number, startedAt?: Date);
28
+ next(): string | undefined;
29
+ }
30
+ export declare function staleToolsNote(installed: string, own: string, startedAt: Date): string;
31
+ /** The version in this install's package.json now (ccc may have been updated since it started). */
32
+ export declare function installedVersion(): string | undefined;
14
33
  /** Sent to MemTree as `x-memtree-tools` when this server is configured. */
15
- export declare const MEMTREE_TOOL_NAMES: readonly ["search", "read_node", "read_lines", "list"];
34
+ export declare const MEMTREE_TOOL_NAMES: readonly ["search", "read_node", "read_lines", "list", "user_messages", "handover"];
16
35
  /** `tree` value naming this session's own current tree. */
17
36
  export declare const CURRENT_TREE = "current";
18
37
  /**
@@ -87,6 +106,8 @@ export declare const MEMTREE_TOOLS: ({
87
106
  tail?: undefined;
88
107
  full?: undefined;
89
108
  q?: undefined;
109
+ context?: undefined;
110
+ days?: undefined;
90
111
  };
91
112
  required: string[];
92
113
  };
@@ -124,6 +145,8 @@ export declare const MEMTREE_TOOLS: ({
124
145
  tail?: undefined;
125
146
  full?: undefined;
126
147
  q?: undefined;
148
+ context?: undefined;
149
+ days?: undefined;
127
150
  };
128
151
  required?: undefined;
129
152
  };
@@ -173,6 +196,8 @@ export declare const MEMTREE_TOOLS: ({
173
196
  limit?: undefined;
174
197
  id?: undefined;
175
198
  q?: undefined;
199
+ context?: undefined;
200
+ days?: undefined;
176
201
  };
177
202
  required?: undefined;
178
203
  };
@@ -219,6 +244,104 @@ export declare const MEMTREE_TOOLS: ({
219
244
  end?: undefined;
220
245
  tail?: undefined;
221
246
  full?: undefined;
247
+ context?: undefined;
248
+ days?: undefined;
249
+ };
250
+ required?: undefined;
251
+ };
252
+ } | {
253
+ _meta: {
254
+ readonly "anthropic/alwaysLoad": true;
255
+ };
256
+ name: string;
257
+ description: string;
258
+ inputSchema: {
259
+ type: string;
260
+ properties: {
261
+ tree: {
262
+ type: string;
263
+ description: string;
264
+ };
265
+ since: {
266
+ type: string;
267
+ description: string;
268
+ };
269
+ until: {
270
+ type: string;
271
+ description: string;
272
+ };
273
+ query: {
274
+ type: string;
275
+ description: string;
276
+ };
277
+ cursor: {
278
+ type: string;
279
+ description: string;
280
+ };
281
+ limit: {
282
+ type: string;
283
+ description: string;
284
+ };
285
+ full: {
286
+ type: string;
287
+ description: string;
288
+ };
289
+ context: {
290
+ type: string;
291
+ description: string;
292
+ };
293
+ mode?: undefined;
294
+ project?: undefined;
295
+ node?: undefined;
296
+ id?: undefined;
297
+ block?: undefined;
298
+ start?: undefined;
299
+ end?: undefined;
300
+ tail?: undefined;
301
+ q?: undefined;
302
+ days?: undefined;
303
+ };
304
+ required?: undefined;
305
+ };
306
+ } | {
307
+ _meta: {
308
+ readonly "anthropic/alwaysLoad": true;
309
+ };
310
+ name: string;
311
+ description: string;
312
+ inputSchema: {
313
+ type: string;
314
+ properties: {
315
+ tree: {
316
+ type: string;
317
+ description: string;
318
+ };
319
+ days: {
320
+ type: string;
321
+ description: string;
322
+ };
323
+ since: {
324
+ type: string;
325
+ description: string;
326
+ };
327
+ until: {
328
+ type: string;
329
+ description: string;
330
+ };
331
+ query?: undefined;
332
+ mode?: undefined;
333
+ project?: undefined;
334
+ cursor?: undefined;
335
+ limit?: undefined;
336
+ node?: undefined;
337
+ id?: undefined;
338
+ block?: undefined;
339
+ start?: undefined;
340
+ end?: undefined;
341
+ tail?: undefined;
342
+ full?: undefined;
343
+ q?: undefined;
344
+ context?: undefined;
222
345
  };
223
346
  required?: undefined;
224
347
  };
@@ -227,9 +350,31 @@ export interface MemtreeMcpDeps {
227
350
  /** The ccc loopback proxy, e.g. http://127.0.0.1:1234. */
228
351
  proxyUrl?: string;
229
352
  sessionId?: string;
353
+ /** HOST_TOKEN_ENV: set by a ccc whose proxy answers `/memtree/host-session`. */
354
+ hostToken?: string;
230
355
  fetch?: typeof fetch;
231
356
  now?: () => number;
232
357
  }
358
+ /**
359
+ * Sent with each tool's proxy reads: which tool (`page` is a whole tree's `.json`) and
360
+ * the calling session, which the proxy passes on so the server's one content-free log
361
+ * line per call can say which tool read what (polychat memtree_tool_log.py). Not to be
362
+ * confused with `x-memtree-tools`, the list of configured tools sent on compress calls.
363
+ */
364
+ export declare const MEMTREE_TOOL_HEADER = "x-memtree-tool";
365
+ export declare function toolHeaders(tool: string, deps: MemtreeMcpDeps): Record<string, string>;
366
+ /**
367
+ * Point `deps.sessionId` at the session this server's Claude Code process is on now.
368
+ * Claude Code starts the server with the session id it had at launch and does not
369
+ * restart it when the process moves to another session (a resume through the picker,
370
+ * /resume, /clear), so that id can name a session with no page ("no MemTree yet",
371
+ * 2026-11-09). The proxy of the ccc that launched this Claude Code knows the process's
372
+ * session from its SessionStart hook and answers only that process (`hostPid`: this
373
+ * server's parent, with the token from ccc's MCP config). Without a token (an older
374
+ * ccc's config: its proxy has no such route) nothing is asked; any other answer
375
+ * (another process, no session start seen) leaves the id as it is.
376
+ */
377
+ export declare function refreshHostSession(deps: MemtreeMcpDeps, hostPid?: number): Promise<void>;
233
378
  /** What the tree tools read: this session's current tree, or another one by id. */
234
379
  export interface TreeSource {
235
380
  get(tree?: string): Promise<MemtreeIndex>;
@@ -239,7 +384,11 @@ export interface TreeSource {
239
384
  search?(query: string, limit: number | undefined, tree?: string): Promise<string>;
240
385
  /** The un-indexed messages after the tree, read fresh from the server; `full`: tool calls whole. */
241
386
  tail?(tree: string | undefined, start?: number, end?: number, full?: boolean): Promise<string>;
387
+ /** A tree's `user_messages` or `handover` answer (JSON), read fresh from the server. */
388
+ serverRead?(route: TreeRoute, tree: string | undefined, params: URLSearchParams): Promise<unknown>;
242
389
  }
390
+ /** Per-tree server reads that are not page JSON: the person's messages, the handover pack. */
391
+ export type TreeRoute = "user_messages" | "handover";
243
392
  /**
244
393
  * Resolves, fetches and caches the current page, and other sessions' pages
245
394
  * by request id.
@@ -247,6 +396,8 @@ export interface TreeSource {
247
396
  export declare class CurrentTree implements TreeSource {
248
397
  private readonly deps;
249
398
  private cached?;
399
+ /** The session `cached` was read for: a page is never reused across sessions. */
400
+ private cachedSession?;
250
401
  /** Temporary prefix pages: when each may be fetched again. */
251
402
  private readonly prefixRetryAt;
252
403
  /** The last fetched temporary prefix per page, served during its cooldown. */
@@ -254,6 +405,8 @@ export declare class CurrentTree implements TreeSource {
254
405
  private inFlight?;
255
406
  /** Other trees, least recently used first. */
256
407
  private readonly others;
408
+ /** Pages whose per-message times were incomplete: when to refetch them (timesDue). */
409
+ private readonly timesRetryAt;
257
410
  /** Set once the server answered 404 to a tree search the page JSON could answer. */
258
411
  private serverSearchMissing;
259
412
  private readonly fetchImpl;
@@ -270,7 +423,21 @@ export declare class CurrentTree implements TreeSource {
270
423
  * it grows with the conversation. With no range, the newest messages.
271
424
  */
272
425
  tail(tree: string | undefined, start?: number, end?: number, full?: boolean): Promise<string>;
426
+ /**
427
+ * `/memtree/<id>/<route>`, never cached (the newest messages grow). This session's
428
+ * tree must be this session's (as tail); a 404 without the server's own detail means
429
+ * the server or this ccc's proxy predates the route.
430
+ */
431
+ serverRead(route: TreeRoute, tree: string | undefined, params: URLSearchParams): Promise<unknown>;
273
432
  private loadCurrent;
433
+ /**
434
+ * Whether a cached page's per-message times were incomplete (`line_times_incomplete`:
435
+ * the server's times lookup was slow) and are due a refetch. The page itself is
436
+ * readable meanwhile, so it stays cached; only its times are retried.
437
+ */
438
+ private timesDue;
439
+ /** `load()`, or the readable `stale` copy when that fails (its times retried later). */
440
+ private refreshed;
274
441
  private requireSessionId;
275
442
  /** The proxy's current page for the calling session; fails closed on any other session. */
276
443
  currentId(validatePage?: boolean): Promise<string>;
@@ -290,6 +457,8 @@ export declare class CurrentTree implements TreeSource {
290
457
  /** The cross-session tools: formatted text from the proxy's finder relay. */
291
458
  export interface SessionFinderSource {
292
459
  listSessions(args: Record<string, unknown>): Promise<string>;
460
+ /** The newest tree of the user's session `sessionId`, or undefined (none, or not a session). */
461
+ sessionTree?(sessionId: string): Promise<string | undefined>;
293
462
  /** Server search across sessions, or within ``tree`` (any mode). */
294
463
  searchSessions(args: Record<string, unknown>, tree?: string): Promise<string>;
295
464
  }
@@ -298,8 +467,15 @@ export declare class SessionFinder implements SessionFinderSource {
298
467
  private readonly fetchImpl;
299
468
  constructor(deps: MemtreeMcpDeps);
300
469
  listSessions(args: Record<string, unknown>): Promise<string>;
470
+ private readonly sessionTrees;
471
+ /** sessionTree, remembered for SESSION_TREE_TTL_MS (hits and misses: legacy ids repeat). */
472
+ sessionTree(sessionId: string): Promise<string | undefined>;
473
+ private lookupSessionTree;
301
474
  searchSessions(args: Record<string, unknown>, tree?: string): Promise<string>;
475
+ private now;
302
476
  private get;
477
+ private fetch;
478
+ private bodyOf;
303
479
  }
304
480
  /**
305
481
  * One JSON-RPC message in, the response out (undefined for notifications).
@@ -307,7 +483,11 @@ export declare class SessionFinder implements SessionFinderSource {
307
483
  */
308
484
  export declare function handleMcpMessage(input: unknown, tree: TreeSource, finder?: SessionFinderSource,
309
485
  /** versionMismatchNote: appended to failed tool calls. */
310
- versionNote?: string): Promise<object | undefined>;
486
+ versionNote?: string,
487
+ /** A note to append once, to whichever tool answer comes first (StaleToolsNotice). */
488
+ notice?: {
489
+ next(): string | undefined;
490
+ }): Promise<object | undefined>;
311
491
  /** Serve MCP over this process's stdin/stdout until stdin closes. */
312
492
  export declare function runMemtreeMcpServer(env?: NodeJS.ProcessEnv): void;
313
493
  //# sourceMappingURL=memtree-mcp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memtree-mcp.d.ts","sourceRoot":"","sources":["../src/memtree-mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memtree-mcp.d.ts","sourceRoot":"","sources":["../src/memtree-mcp.ts"],"names":[],"mappings":"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"}