brains-mcp 1.70.5 → 1.71.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/index.js CHANGED
@@ -20,7 +20,10 @@ async function main() {
20
20
  // reindex without waiting for the next search. Only the local backend has a
21
21
  // watchable source of truth; Supabase is remote. Opt out with WIKI_WATCH=false.
22
22
  if (drive instanceof LocalClient && process.env.WIKI_WATCH !== "false") {
23
- startWikiFileWatcher(drive.getStorageLocation(), drive, index);
23
+ startWikiFileWatcher(drive.getStorageLocation(), drive, index, {
24
+ outbox: drive.getOutbox(),
25
+ worker: drive.getOutboxWorker(),
26
+ });
24
27
  }
25
28
  }
26
29
  const desiredTransport = (process.env.BRAINS_TRANSPORT ?? "http").toLowerCase();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,KAAK,UAAU,IAAI;IACjB,MAAM,KAAK,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAEvC,mDAAmD;IACnD,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;IAE3B,mCAAmC;IACnC,MAAM,KAAK,CAAC,kBAAkB,EAAE,CAAC;IAEjC,mFAAmF;IACnF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,QAAQ,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QACtE,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAC/D,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAEjC,4EAA4E;QAC5E,4EAA4E;QAC5E,gFAAgF;QAChF,IAAI,KAAK,YAAY,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;YACvE,oBAAoB,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IAChF,MAAM,OAAO,GAAG,gBAAgB,KAAK,OAAO,CAAC;IAE7C,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;QAChD,MAAM,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IACpC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;IAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,KAAK,UAAU,IAAI;IACjB,MAAM,KAAK,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAEvC,mDAAmD;IACnD,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;IAE3B,mCAAmC;IACnC,MAAM,KAAK,CAAC,kBAAkB,EAAE,CAAC;IAEjC,mFAAmF;IACnF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,QAAQ,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QACtE,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAC/D,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAEjC,4EAA4E;QAC5E,4EAA4E;QAC5E,gFAAgF;QAChF,IAAI,KAAK,YAAY,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;YACvE,oBAAoB,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC7D,MAAM,EAAE,KAAK,CAAC,SAAS,EAAE;gBACzB,MAAM,EAAE,KAAK,CAAC,eAAe,EAAE;aAChC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IAChF,MAAM,OAAO,GAAG,gBAAgB,KAAK,OAAO,CAAC;IAE7C,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;QAChD,MAAM,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IACpC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;IAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1,4 +1,6 @@
1
- import type { StorageClient } from "../storage/client.js";
1
+ import { type StorageClient } from "../storage/client.js";
2
+ import type { SyncOutbox } from "../sync/outbox.js";
3
+ import type { OutboxWorker } from "../sync/worker.js";
2
4
  import type { SqliteSearchIndex } from "./sqliteIndex.js";
3
5
  export interface WikiFileWatcher {
4
6
  /** Stop watching and release filesystem handles. */
@@ -7,11 +9,28 @@ export interface WikiFileWatcher {
7
9
  whenReady(): Promise<void>;
8
10
  /** Resolves once any pending or in-flight resync has settled (tests). */
9
11
  whenIdle(): Promise<void>;
12
+ /**
13
+ * Run one full reconcile pass immediately: enqueue every current page onto
14
+ * the outbox, as a backstop for edits the watcher's debounced events
15
+ * missed (e.g. made while the process was down). No-op if no outbox was
16
+ * supplied (GH #642 AC6 — no cloud account configured). Exposed so tests
17
+ * don't have to wait out `reconcileIntervalMs`.
18
+ */
19
+ runReconcileNow(): Promise<void>;
10
20
  }
11
21
  export interface WikiFileWatcherOptions {
12
22
  debounceMs?: number;
13
23
  /** Injectable for tests; defaults to console.warn. */
14
24
  onError?: (err: unknown) => void;
25
+ /**
26
+ * Durable sync outbox to enqueue external edits onto (GH #642). Omit (or
27
+ * pass null) when no cloud backup is configured — the watcher then only
28
+ * maintains the search index, unchanged from before this feature.
29
+ */
30
+ outbox?: SyncOutbox | null;
31
+ worker?: OutboxWorker | null;
32
+ /** How often to run the full-reconcile backstop; 0 disables the timer. */
33
+ reconcileIntervalMs?: number;
15
34
  }
16
35
  /**
17
36
  * Watches the local wiki directory for markdown changes made outside the app
@@ -1 +1 @@
1
- {"version":3,"file":"fileWatcher.d.ts","sourceRoot":"","sources":["../../src/search/fileWatcher.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAI1D,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,2EAA2E;IAC3E,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,yEAAyE;IACzE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CAClC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,iBAAiB,EACxB,OAAO,GAAE,sBAA2B,GACnC,eAAe,CAuFjB"}
1
+ {"version":3,"file":"fileWatcher.d.ts","sourceRoot":"","sources":["../../src/search/fileWatcher.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAK1D,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,2EAA2E;IAC3E,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,yEAAyE;IACzE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;;;;;;OAMG;IACH,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC;;;;OAIG;IACH,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,0EAA0E;IAC1E,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,iBAAiB,EACxB,OAAO,GAAE,sBAA2B,GACnC,eAAe,CA4IjB"}
@@ -1,6 +1,8 @@
1
1
  import path from "path";
2
2
  import chokidar from "chokidar";
3
+ import { contentRevision } from "../storage/client.js";
3
4
  const DEFAULT_DEBOUNCE_MS = 400;
5
+ const DEFAULT_RECONCILE_INTERVAL_MS = 5 * 60_000;
4
6
  /**
5
7
  * Watches the local wiki directory for markdown changes made outside the app
6
8
  * (e.g. moves/renames in Obsidian) and reconciles the SQLite search index.
@@ -15,6 +17,31 @@ const DEFAULT_DEBOUNCE_MS = 400;
15
17
  export function startWikiFileWatcher(wikiDir, drive, index, options = {}) {
16
18
  const debounceMs = options.debounceMs ?? DEFAULT_DEBOUNCE_MS;
17
19
  const onError = options.onError ?? ((err) => console.warn("[watch] resync failed:", err));
20
+ const outbox = options.outbox ?? null;
21
+ const worker = options.worker ?? null;
22
+ const reconcileIntervalMs = options.reconcileIntervalMs ?? DEFAULT_RECONCILE_INTERVAL_MS;
23
+ // Paths changed/added since the last debounce fire — the external-edit
24
+ // producer for the sync outbox. Deletions aren't tracked here: DriveBackup
25
+ // has no delete op, matching scheduleBackup's pre-existing behaviour.
26
+ const dirtyPaths = new Set();
27
+ const enqueueDirtyPaths = async () => {
28
+ if (!outbox || !worker || dirtyPaths.size === 0)
29
+ return;
30
+ const paths = [...dirtyPaths];
31
+ dirtyPaths.clear();
32
+ for (const relativePath of paths) {
33
+ try {
34
+ const content = await drive.readFile(relativePath).then((f) => f.content);
35
+ outbox.enqueue(relativePath, contentRevision(content));
36
+ }
37
+ catch (err) {
38
+ // File was removed (or otherwise unreadable) between the event and
39
+ // this read — nothing to push. Not an error worth surfacing.
40
+ void err;
41
+ }
42
+ }
43
+ worker.kick();
44
+ };
18
45
  const watcher = chokidar.watch(wikiDir, {
19
46
  ignoreInitial: true, // startBackgroundSync already covers the initial state
20
47
  persistent: true,
@@ -51,8 +78,7 @@ export function startWikiFileWatcher(wikiDir, drive, index, options = {}) {
51
78
  dirtyDuringResync = true;
52
79
  return;
53
80
  }
54
- const run = index
55
- .syncNow(drive)
81
+ const run = Promise.all([index.syncNow(drive), enqueueDirtyPaths()])
56
82
  .catch(onError)
57
83
  .finally(() => {
58
84
  resyncInFlight = null;
@@ -66,9 +92,12 @@ export function startWikiFileWatcher(wikiDir, drive, index, options = {}) {
66
92
  });
67
93
  resyncInFlight = run;
68
94
  };
69
- const scheduleResync = (changedPath) => {
95
+ const scheduleResync = (changedPath, trackForOutbox) => {
70
96
  if (!changedPath.endsWith(".md"))
71
97
  return;
98
+ if (trackForOutbox) {
99
+ dirtyPaths.add(path.relative(wikiDir, changedPath).split(path.sep).join("/"));
100
+ }
72
101
  if (debounceTimer)
73
102
  clearTimeout(debounceTimer);
74
103
  debounceTimer = setTimeout(() => {
@@ -77,15 +106,42 @@ export function startWikiFileWatcher(wikiDir, drive, index, options = {}) {
77
106
  }, debounceMs);
78
107
  };
79
108
  watcher
80
- .on("add", scheduleResync)
81
- .on("change", scheduleResync)
82
- .on("unlink", scheduleResync)
109
+ .on("add", (p) => scheduleResync(p, true))
110
+ .on("change", (p) => scheduleResync(p, true))
111
+ .on("unlink", (p) => scheduleResync(p, false))
83
112
  .on("error", onError);
113
+ const runReconcileNow = async () => {
114
+ if (!outbox || !worker)
115
+ return;
116
+ const files = await drive.listFiles();
117
+ for (const file of files) {
118
+ if (!file.name.endsWith(".md"))
119
+ continue;
120
+ try {
121
+ const { content } = await drive.readFile(file.name);
122
+ outbox.enqueue(file.name, contentRevision(content));
123
+ }
124
+ catch (err) {
125
+ onError(err);
126
+ }
127
+ }
128
+ worker.kick();
129
+ };
130
+ let reconcileTimer = null;
131
+ if (outbox && worker && reconcileIntervalMs > 0) {
132
+ reconcileTimer = setInterval(() => {
133
+ runReconcileNow().catch(onError);
134
+ }, reconcileIntervalMs);
135
+ reconcileTimer.unref?.();
136
+ }
84
137
  return {
85
138
  async close() {
86
139
  if (debounceTimer)
87
140
  clearTimeout(debounceTimer);
88
141
  debounceTimer = null;
142
+ if (reconcileTimer)
143
+ clearInterval(reconcileTimer);
144
+ reconcileTimer = null;
89
145
  await watcher.close();
90
146
  },
91
147
  whenReady() {
@@ -98,6 +154,7 @@ export function startWikiFileWatcher(wikiDir, drive, index, options = {}) {
98
154
  return Promise.resolve();
99
155
  return new Promise((resolve) => idleResolvers.push(resolve));
100
156
  },
157
+ runReconcileNow,
101
158
  };
102
159
  }
103
160
  //# sourceMappingURL=fileWatcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fileWatcher.js","sourceRoot":"","sources":["../../src/search/fileWatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fileWatcher.js","sourceRoot":"","sources":["../../src/search/fileWatcher.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -127,7 +127,7 @@ export const TOOL_DEFINITIONS = [
127
127
  },
128
128
  {
129
129
  name: "read_page",
130
- description: "Read a wiki page by filename, returning content, frontmatter, fileId, revision, and outbound_link_count. If you already pulled a session bundle, do NOT call this for any page listed in that bundle — its full content is already in your context; read it from there. Otherwise the REQUIRED retrieval workflow is: (1) list_pages first to get inventory, (2) LLM selects candidate files from results, (3) read_page only those candidates, (4) LLM performs synthesis. Do NOT read index.md for routing — when Supabase/Postgres index is enabled the DB index is authoritative; otherwise use list_pages. For small edits, prefer patch_page (especially replace_lines). Use update_page only for intentional full-body rewrites.",
130
+ description: "Read a wiki page by filename, returning content, frontmatter, fileId, revision, and outbound_link_count. If you already pulled a session bundle, do NOT call this for any page listed in that bundle — its full content is already in your context; read it from there. Otherwise the REQUIRED retrieval workflow is: (1) list_pages first to get inventory, (2) LLM selects candidate files from results, (3) read_page only those candidates, (4) LLM performs synthesis. Do NOT read index.md for routing — when Supabase/Postgres index is enabled the DB index is authoritative; otherwise use list_pages. For small edits, prefer patch_page (especially replace_lines). Use update_page only for intentional full-body rewrites. Pages above the 100 KB inline cap (some pages predate the cap and are still legally larger) come back with `truncated: true` and a `size` field (full byte length) instead of the full body — the returned `content` is a valid head slice you can still use as a `find` anchor for patch_page. `truncated` does NOT mean the page is unwritable; patch_page (especially `append`) works on it regardless of size.",
131
131
  inputSchema: zodToJsonSchema(readPageInputSchema),
132
132
  annotations: { title: "Read Page", readOnlyHint: true },
133
133
  },
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { DriveBackup } from "../backup/drive.js";
2
+ import { SyncOutbox } from "../sync/outbox.js";
3
+ import { OutboxWorker } from "../sync/worker.js";
2
4
  export interface WikiFile {
3
5
  fileId: string;
4
6
  name: string;
@@ -35,10 +37,17 @@ export interface StorageClient {
35
37
  */
36
38
  fileExists(name: string): Promise<boolean>;
37
39
  }
40
+ export declare function contentRevision(content: string): string;
38
41
  export declare class LocalClient implements StorageClient {
39
42
  private readonly wikiDir;
40
43
  private readonly backup;
44
+ private readonly outbox;
45
+ private readonly worker;
41
46
  constructor(wikiDir: string, backup?: DriveBackup | null);
47
+ /** Exposed for the file watcher (external-edit producer) and tests. */
48
+ getOutbox(): SyncOutbox | null;
49
+ /** Exposed for the file watcher (external-edit producer) and tests. */
50
+ getOutboxWorker(): OutboxWorker | null;
42
51
  getStorageLocation(): string;
43
52
  verifyAccess(): Promise<void>;
44
53
  fileExists(name: string): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/storage/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/storage/client.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import fs from "fs/promises";
2
2
  import path from "path";
3
3
  import crypto from "crypto";
4
4
  import { DriveAuthError, DriveConflictError, DriveNotFoundError, DrivePermissionError, } from "../drive/errors.js";
5
+ import { SyncOutbox } from "../sync/outbox.js";
6
+ import { OutboxWorker } from "../sync/worker.js";
5
7
  const MAX_FILE_SIZE_BYTES = 2 * 1024 * 1024;
6
8
  // listFiles() walks the entire Storage tree to diff against the Postgres index
7
9
  // (audit_index's primary caller). Each directory needs its own
@@ -20,7 +22,7 @@ const PROTECTED_ROOT_FOLDERS = new Set([
20
22
  "projects",
21
23
  ]);
22
24
  // ─── Helpers ─────────────────────────────────────────────────────────────────
23
- function contentRevision(content) {
25
+ export function contentRevision(content) {
24
26
  return crypto.createHash("sha256").update(content, "utf8").digest("hex").slice(0, 16);
25
27
  }
26
28
  function isEnoent(err) {
@@ -65,9 +67,38 @@ function encodePathSegments(value) {
65
67
  export class LocalClient {
66
68
  wikiDir;
67
69
  backup;
70
+ outbox;
71
+ worker;
68
72
  constructor(wikiDir, backup = null) {
69
73
  this.wikiDir = path.resolve(wikiDir);
70
74
  this.backup = backup;
75
+ if (backup) {
76
+ this.outbox = new SyncOutbox(this.wikiDir);
77
+ this.worker = new OutboxWorker(this.outbox, backup, {
78
+ readContent: async (name) => {
79
+ try {
80
+ return (await fs.readFile(path.join(this.wikiDir, name), "utf8"));
81
+ }
82
+ catch (err) {
83
+ if (isEnoent(err))
84
+ return null;
85
+ throw err;
86
+ }
87
+ },
88
+ });
89
+ }
90
+ else {
91
+ this.outbox = null;
92
+ this.worker = null;
93
+ }
94
+ }
95
+ /** Exposed for the file watcher (external-edit producer) and tests. */
96
+ getOutbox() {
97
+ return this.outbox;
98
+ }
99
+ /** Exposed for the file watcher (external-edit producer) and tests. */
100
+ getOutboxWorker() {
101
+ return this.worker;
71
102
  }
72
103
  getStorageLocation() {
73
104
  return this.wikiDir;
@@ -251,11 +282,12 @@ export class LocalClient {
251
282
  normalizeWikiPath(name);
252
283
  }
253
284
  scheduleBackup(name, content) {
254
- if (!this.backup)
285
+ if (!this.outbox || !this.worker)
255
286
  return;
256
- this.backup.backup(name, content).catch((err) => {
257
- console.warn(`[backup] Failed to back up '${name}' to Drive:`, err);
258
- });
287
+ // Durable: the row survives a crash between here and the push landing
288
+ // (GH #642). Still returns immediately callers never await the network.
289
+ this.outbox.enqueue(name, contentRevision(content));
290
+ this.worker.kick();
259
291
  }
260
292
  async pruneEmptyParentDirs(name) {
261
293
  let relativeDir = path.posix.dirname(name.replace(/\\/g, "/"));
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/storage/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/storage/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ export interface OutboxEntry {
2
+ name: string;
3
+ revision: string;
4
+ enqueuedAt: string;
5
+ attempts: number;
6
+ lastError: string | null;
7
+ lastErrorAt: string | null;
8
+ }
9
+ export interface OutboxStatus {
10
+ depth: number;
11
+ oldestEnqueuedAt: string | null;
12
+ stuck: OutboxEntry[];
13
+ }
14
+ export declare class SyncOutbox {
15
+ private readonly db;
16
+ private readonly enqueueStmt;
17
+ private readonly getStmt;
18
+ private readonly getRevisionStmt;
19
+ private readonly removeIfRevisionMatchesStmt;
20
+ private readonly recordFailureStmt;
21
+ private readonly listPendingStmt;
22
+ private readonly countStmt;
23
+ private readonly oldestStmt;
24
+ private readonly listStuckStmt;
25
+ constructor(storageLocation: string);
26
+ /** Queue (or re-queue, coalescing) a pending push for `name` at `revision`. */
27
+ enqueue(name: string, revision: string, now?: () => string): void;
28
+ /** All pages with a pending push, oldest first. */
29
+ listPending(): OutboxEntry[];
30
+ /** The revision currently queued for `name`, or null if nothing is pending. */
31
+ currentRevision(name: string): string | null;
32
+ get(name: string): OutboxEntry | null;
33
+ /**
34
+ * Clear the pending push for `name`, but only if it is still at `revision` —
35
+ * if a newer edit coalesced into this row while the push was in flight, the
36
+ * row is left in place so the newer revision gets its own drain pass.
37
+ */
38
+ removeIfRevisionMatches(name: string, revision: string): boolean;
39
+ recordFailure(name: string, error: string, now?: () => string): void;
40
+ getStatus(): OutboxStatus;
41
+ close(): void;
42
+ private static resolveDbPath;
43
+ private initializeSchema;
44
+ }
45
+ //# sourceMappingURL=outbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbox.d.ts","sourceRoot":"","sources":["../../src/sync/outbox.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAKD,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoB;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAqB;IACjE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IACvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;gBAEvC,eAAe,EAAE,MAAM;IAqCnC,+EAA+E;IAC/E,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,MAAuC,GAAG,IAAI;IAIjG,mDAAmD;IACnD,WAAW,IAAI,WAAW,EAAE;IAI5B,+EAA+E;IAC/E,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAK5C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAKrC;;;;OAIG;IACH,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAKhE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,MAAuC,GAAG,IAAI;IAIpG,SAAS,IAAI,YAAY;IAWzB,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,MAAM,CAAC,aAAa;IAM5B,OAAO,CAAC,gBAAgB;CAYzB"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Durable sync outbox (GH #642).
3
+ *
4
+ * A SQLite-backed queue of pages waiting to be pushed to the cloud backup
5
+ * (`DriveBackup`). Lives alongside the existing search index cache
6
+ * (`.cache/search-v1.db`) so both survive a restart the same way.
7
+ *
8
+ * Two producers write to this queue: in-app writes (`storage/client.ts`) and
9
+ * external file edits (`search/fileWatcher.ts`). One consumer
10
+ * (`sync/worker.ts`) drains it. Rows are keyed by page name, so rapid edits
11
+ * to the same page coalesce into a single pending row — the queue only ever
12
+ * tracks "there is a pending push for X at revision Y", not a history of
13
+ * every edit.
14
+ */
15
+ import fs from "fs";
16
+ import path from "path";
17
+ import Database from "better-sqlite3";
18
+ /** Entries with at least this many failed attempts are surfaced as "stuck" by getStatus(). */
19
+ const STUCK_ATTEMPTS_THRESHOLD = 3;
20
+ export class SyncOutbox {
21
+ db;
22
+ enqueueStmt;
23
+ getStmt;
24
+ getRevisionStmt;
25
+ removeIfRevisionMatchesStmt;
26
+ recordFailureStmt;
27
+ listPendingStmt;
28
+ countStmt;
29
+ oldestStmt;
30
+ listStuckStmt;
31
+ constructor(storageLocation) {
32
+ const dbPath = SyncOutbox.resolveDbPath(storageLocation);
33
+ this.db = new Database(dbPath);
34
+ this.db.pragma("journal_mode = WAL");
35
+ this.db.pragma("synchronous = NORMAL");
36
+ this.initializeSchema();
37
+ this.enqueueStmt = this.db.prepare(`
38
+ INSERT INTO outbox (name, revision, enqueued_at, attempts, last_error, last_error_at)
39
+ VALUES (@name, @revision, @enqueuedAt, 0, NULL, NULL)
40
+ ON CONFLICT(name) DO UPDATE SET
41
+ revision = excluded.revision,
42
+ enqueued_at = excluded.enqueued_at,
43
+ attempts = 0,
44
+ last_error = NULL,
45
+ last_error_at = NULL
46
+ `);
47
+ this.getStmt = this.db.prepare("SELECT * FROM outbox WHERE name = ?");
48
+ this.getRevisionStmt = this.db.prepare("SELECT revision FROM outbox WHERE name = ?");
49
+ this.removeIfRevisionMatchesStmt = this.db.prepare("DELETE FROM outbox WHERE name = @name AND revision = @revision");
50
+ this.recordFailureStmt = this.db.prepare(`
51
+ UPDATE outbox
52
+ SET attempts = attempts + 1, last_error = @error, last_error_at = @at
53
+ WHERE name = @name
54
+ `);
55
+ this.listPendingStmt = this.db.prepare("SELECT * FROM outbox ORDER BY enqueued_at ASC");
56
+ this.countStmt = this.db.prepare("SELECT COUNT(*) AS count FROM outbox");
57
+ this.oldestStmt = this.db.prepare("SELECT enqueued_at FROM outbox ORDER BY enqueued_at ASC LIMIT 1");
58
+ this.listStuckStmt = this.db.prepare("SELECT * FROM outbox WHERE attempts >= ? ORDER BY enqueued_at ASC");
59
+ }
60
+ /** Queue (or re-queue, coalescing) a pending push for `name` at `revision`. */
61
+ enqueue(name, revision, now = () => new Date().toISOString()) {
62
+ this.enqueueStmt.run({ name, revision, enqueuedAt: now() });
63
+ }
64
+ /** All pages with a pending push, oldest first. */
65
+ listPending() {
66
+ return this.listPendingStmt.all().map(fromRow);
67
+ }
68
+ /** The revision currently queued for `name`, or null if nothing is pending. */
69
+ currentRevision(name) {
70
+ const row = this.getRevisionStmt.get(name);
71
+ return row ? row.revision : null;
72
+ }
73
+ get(name) {
74
+ const row = this.getStmt.get(name);
75
+ return row ? fromRow(row) : null;
76
+ }
77
+ /**
78
+ * Clear the pending push for `name`, but only if it is still at `revision` —
79
+ * if a newer edit coalesced into this row while the push was in flight, the
80
+ * row is left in place so the newer revision gets its own drain pass.
81
+ */
82
+ removeIfRevisionMatches(name, revision) {
83
+ const result = this.removeIfRevisionMatchesStmt.run({ name, revision });
84
+ return result.changes > 0;
85
+ }
86
+ recordFailure(name, error, now = () => new Date().toISOString()) {
87
+ this.recordFailureStmt.run({ name, error, at: now() });
88
+ }
89
+ getStatus() {
90
+ const { count } = this.countStmt.get();
91
+ const oldest = this.oldestStmt.get();
92
+ const stuck = this.listStuckStmt.all(STUCK_ATTEMPTS_THRESHOLD).map(fromRow);
93
+ return {
94
+ depth: count,
95
+ oldestEnqueuedAt: oldest ? oldest.enqueued_at : null,
96
+ stuck,
97
+ };
98
+ }
99
+ close() {
100
+ this.db.close();
101
+ }
102
+ static resolveDbPath(storageLocation) {
103
+ const cacheDir = path.join(storageLocation, ".cache");
104
+ fs.mkdirSync(cacheDir, { recursive: true });
105
+ return path.join(cacheDir, "outbox-v1.db");
106
+ }
107
+ initializeSchema() {
108
+ this.db.exec(`
109
+ CREATE TABLE IF NOT EXISTS outbox (
110
+ name TEXT PRIMARY KEY,
111
+ revision TEXT NOT NULL,
112
+ enqueued_at TEXT NOT NULL,
113
+ attempts INTEGER NOT NULL DEFAULT 0,
114
+ last_error TEXT,
115
+ last_error_at TEXT
116
+ );
117
+ `);
118
+ }
119
+ }
120
+ function fromRow(row) {
121
+ return {
122
+ name: row.name,
123
+ revision: row.revision,
124
+ enqueuedAt: row.enqueued_at,
125
+ attempts: row.attempts,
126
+ lastError: row.last_error,
127
+ lastErrorAt: row.last_error_at,
128
+ };
129
+ }
130
+ //# sourceMappingURL=outbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbox.js","sourceRoot":"","sources":["../../src/sync/outbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Sync outbox consumer (GH #642).
3
+ *
4
+ * Drains a `SyncOutbox` by pushing each pending page to `DriveBackup`,
5
+ * reusing the existing bounded-retry + revision-guard machinery from
6
+ * `storage/writeBehindRetry.ts` rather than reimplementing retry/conflict
7
+ * handling.
8
+ */
9
+ import { type BoundedRetryOptions } from "../storage/writeBehindRetry.js";
10
+ import type { SyncOutbox } from "./outbox.js";
11
+ /** Structural subset of `DriveBackup` the worker needs — keeps this testable without real Google creds. */
12
+ export interface CloudBackup {
13
+ backup(name: string, content: string): Promise<void>;
14
+ }
15
+ export interface OutboxWorkerOptions {
16
+ /** Read the current on-disk content for a page name, or null if it no longer exists. */
17
+ readContent: (name: string) => Promise<string | null>;
18
+ now?: () => string;
19
+ /** Forwarded to withBoundedRetry — e.g. inject a fast `sleep` in tests. */
20
+ retryOptions?: Omit<BoundedRetryOptions, "revisionGuard">;
21
+ }
22
+ export declare class OutboxWorker {
23
+ private readonly outbox;
24
+ private readonly backup;
25
+ private readonly options;
26
+ private draining;
27
+ private kickPending;
28
+ constructor(outbox: SyncOutbox, backup: CloudBackup, options: OutboxWorkerOptions);
29
+ /**
30
+ * Fire-and-forget: schedule a drain pass. Safe to call repeatedly — a call
31
+ * that arrives while a drain is already running just marks that another
32
+ * pass is needed once the current one finishes, rather than running
33
+ * concurrent drains against the same queue.
34
+ */
35
+ kick(): void;
36
+ /** Await the current drain pass and any chained follow-up (tests). */
37
+ whenIdle(): Promise<void>;
38
+ drain(): Promise<void>;
39
+ private drainOne;
40
+ }
41
+ //# sourceMappingURL=worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/sync/worker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAe,UAAU,EAAE,MAAM,aAAa,CAAC;AAE3D,2GAA2G;AAC3G,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,mBAAmB;IAClC,wFAAwF;IACxF,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACtD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;CAC3D;AAED,qBAAa,YAAY;IAKrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,WAAW,CAAS;gBAGT,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,mBAAmB;IAG/C;;;;;OAKG;IACH,IAAI,IAAI,IAAI;IAgBZ,sEAAsE;IAChE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAMzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAMd,QAAQ;CA8BvB"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Sync outbox consumer (GH #642).
3
+ *
4
+ * Drains a `SyncOutbox` by pushing each pending page to `DriveBackup`,
5
+ * reusing the existing bounded-retry + revision-guard machinery from
6
+ * `storage/writeBehindRetry.ts` rather than reimplementing retry/conflict
7
+ * handling.
8
+ */
9
+ import { withBoundedRetry, SupersededFlushError, } from "../storage/writeBehindRetry.js";
10
+ export class OutboxWorker {
11
+ outbox;
12
+ backup;
13
+ options;
14
+ draining = null;
15
+ kickPending = false;
16
+ constructor(outbox, backup, options) {
17
+ this.outbox = outbox;
18
+ this.backup = backup;
19
+ this.options = options;
20
+ }
21
+ /**
22
+ * Fire-and-forget: schedule a drain pass. Safe to call repeatedly — a call
23
+ * that arrives while a drain is already running just marks that another
24
+ * pass is needed once the current one finishes, rather than running
25
+ * concurrent drains against the same queue.
26
+ */
27
+ kick() {
28
+ if (this.draining) {
29
+ this.kickPending = true;
30
+ return;
31
+ }
32
+ this.draining = this.drain()
33
+ .catch((err) => console.error("[sync] outbox drain failed:", err))
34
+ .finally(() => {
35
+ this.draining = null;
36
+ if (this.kickPending) {
37
+ this.kickPending = false;
38
+ this.kick();
39
+ }
40
+ });
41
+ }
42
+ /** Await the current drain pass and any chained follow-up (tests). */
43
+ async whenIdle() {
44
+ while (this.draining) {
45
+ await this.draining.catch(() => undefined);
46
+ }
47
+ }
48
+ async drain() {
49
+ for (const entry of this.outbox.listPending()) {
50
+ await this.drainOne(entry);
51
+ }
52
+ }
53
+ async drainOne(entry) {
54
+ const now = this.options.now ?? (() => new Date().toISOString());
55
+ try {
56
+ await withBoundedRetry(async () => {
57
+ const content = await this.options.readContent(entry.name);
58
+ if (content === null)
59
+ return; // page deleted locally; nothing to push
60
+ await this.backup.backup(entry.name, content);
61
+ }, {
62
+ ...this.options.retryOptions,
63
+ revisionGuard: {
64
+ expectedRevision: entry.revision,
65
+ fetchRevision: async () => this.outbox.currentRevision(entry.name),
66
+ },
67
+ });
68
+ this.outbox.removeIfRevisionMatches(entry.name, entry.revision);
69
+ }
70
+ catch (err) {
71
+ if (err instanceof SupersededFlushError) {
72
+ // A newer edit coalesced into this row mid-flight (revision advanced
73
+ // past what this attempt was pushing) — leave the row queued so the
74
+ // next drain pass pushes the latest revision instead of the stale one.
75
+ return;
76
+ }
77
+ const message = err instanceof Error ? err.message : String(err);
78
+ this.outbox.recordFailure(entry.name, message, now);
79
+ console.error(`[sync] outbox push failed for '${entry.name}':`, message);
80
+ }
81
+ }
82
+ }
83
+ //# sourceMappingURL=worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/sync/worker.ts"],"names":[],"mappings":"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"}
@@ -40,14 +40,14 @@ export declare const patchPageInputSchema: z.ZodObject<{
40
40
  all: z.ZodDefault<z.ZodBoolean>;
41
41
  }, "strip", z.ZodTypeAny, {
42
42
  type: "replace";
43
- replace: string;
44
43
  find: string;
44
+ replace: string;
45
45
  occurrence: number;
46
46
  all: boolean;
47
47
  }, {
48
48
  type: "replace";
49
- replace: string;
50
49
  find: string;
50
+ replace: string;
51
51
  occurrence?: number | undefined;
52
52
  all?: boolean | undefined;
53
53
  }>, z.ZodObject<{
@@ -90,8 +90,8 @@ export declare const patchPageInputSchema: z.ZodObject<{
90
90
  occurrence: number;
91
91
  } | {
92
92
  type: "replace";
93
- replace: string;
94
93
  find: string;
94
+ replace: string;
95
95
  occurrence: number;
96
96
  all: boolean;
97
97
  } | {
@@ -118,8 +118,8 @@ export declare const patchPageInputSchema: z.ZodObject<{
118
118
  occurrence?: number | undefined;
119
119
  } | {
120
120
  type: "replace";
121
- replace: string;
122
121
  find: string;
122
+ replace: string;
123
123
  occurrence?: number | undefined;
124
124
  all?: boolean | undefined;
125
125
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"readPage.d.ts","sourceRoot":"","sources":["../../src/tools/readPage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,aAAa,EAA4B,MAAM,sBAAsB,CAAC;AAKpF,OAAO,EACL,KAAK,aAAa,EAOnB,MAAM,gCAAgC,CAAC;AAExC,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,aAAa,EACpB,MAAM,SAAK,EACX,SAAS,GAAE,aAAsC,GAChD,OAAO,CAAC,MAAM,CAAC,CA6CjB"}
1
+ {"version":3,"file":"readPage.d.ts","sourceRoot":"","sources":["../../src/tools/readPage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,aAAa,EAA4B,MAAM,sBAAsB,CAAC;AAKpF,OAAO,EACL,KAAK,aAAa,EAOnB,MAAM,gCAAgC,CAAC;AAGxC,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,aAAa,EACpB,MAAM,SAAK,EACX,SAAS,GAAE,aAAsC,GAChD,OAAO,CAAC,MAAM,CAAC,CAsDjB"}
@@ -5,6 +5,7 @@ import { DrivePermissionError } from "../drive/errors.js";
5
5
  import { getPostgresSearchIndex } from "../search/postgresIndex.js";
6
6
  import { extractWikiLinks } from "../wiki/links.js";
7
7
  import { DEFAULT_ACCESS_CONTEXT, isHiveModeEnabled, parseAccessLevel, parseAudience, pagePassesFilter, writeGovernanceAuditEntry, } from "../governance/accessControl.js";
8
+ import { READ_INLINE_CAP_BYTES, truncateUtf8 } from "../wiki/storageLimits.js";
8
9
  export const readPageInputSchema = z.object({
9
10
  name: z.string().describe("Relative path of the page to read (e.g. 'projects/topic.md')"),
10
11
  });
@@ -32,12 +33,20 @@ export async function readPage(drive, input, userId = "", accessCtx = DEFAULT_AC
32
33
  throw new DrivePermissionError(`Page '${name}' requires access level ${pageLevel}; your level is ${accessCtx.userAccessLevel}.`);
33
34
  }
34
35
  }
36
+ // Serializing an unbounded body back over MCP is what dropped the
37
+ // connection outright on a ~110 KB page instead of erroring (GH #701).
38
+ // Truncate and say so explicitly rather than ever attempting that again.
39
+ const size = Buffer.byteLength(content, "utf8");
40
+ const truncated = size > READ_INLINE_CAP_BYTES;
41
+ const returnedContent = truncated ? truncateUtf8(content, READ_INLINE_CAP_BYTES) : content;
35
42
  return {
36
43
  name: file.name,
37
44
  fileId: file.fileId,
38
45
  revision: file.revision,
39
46
  frontmatter,
40
- content,
47
+ content: returnedContent,
48
+ truncated,
49
+ size,
41
50
  outbound_link_count: outboundLinkCount,
42
51
  modifiedTime: file.modifiedTime,
43
52
  warnings: warnings.map((w) => ({ field: w.field, message: w.message })),
@@ -1 +1 @@
1
- {"version":3,"file":"readPage.js","sourceRoot":"","sources":["../../src/tools/readPage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readPage.js","sourceRoot":"","sources":["../../src/tools/readPage.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,28 @@ export declare const STORAGE_LIMIT_BYTES: number;
13
13
  * the largest page any real user has written.
14
14
  */
15
15
  export declare const PAGE_SIZE_LIMIT_BYTES: number;
16
+ /**
17
+ * Inline read cap for read_page. Independent of PAGE_SIZE_LIMIT_BYTES: that
18
+ * cap gates writes and only applies to subjects with a quota, while this one
19
+ * gates the body read_page hands back over MCP, for every page regardless of
20
+ * who wrote it. Pages written before the write cap existed (or by a god-mode
21
+ * subject, which is exempt from it) can still be larger than
22
+ * PAGE_SIZE_LIMIT_BYTES, and read_page must not try to serialize an unbounded
23
+ * body back to the client — that's what dropped the MCP connection outright
24
+ * on a ~110 KB page instead of erroring (GH #701).
25
+ *
26
+ * Set equal to PAGE_SIZE_LIMIT_BYTES so a page any current subject could
27
+ * legally write is always readable in full.
28
+ */
29
+ export declare const READ_INLINE_CAP_BYTES: number;
30
+ /**
31
+ * Truncates UTF-8 text to at most maxBytes, never splitting a multi-byte
32
+ * character. Backs off from the byte cap one byte at a time past any
33
+ * continuation byte (0b10xxxxxx) so the returned string is always valid
34
+ * UTF-8 — content this truncates is arbitrary wiki prose, not
35
+ * ASCII-guaranteed.
36
+ */
37
+ export declare function truncateUtf8(text: string, maxBytes: number): string;
16
38
  export declare function isLimitEnforcementEnabled(): boolean;
17
39
  /**
18
40
  * Page allowance per billing tier, matching what the pricing page sells
@@ -1 +1 @@
1
- {"version":3,"file":"storageLimits.d.ts","sourceRoot":"","sources":["../../src/wiki/storageLimits.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storageLimits.d.ts","sourceRoot":"","sources":["../../src/wiki/storageLimits.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,36 @@ export const STORAGE_LIMIT_BYTES = 10 * 1024 * 1024; // 10 MB
13
13
  * the largest page any real user has written.
14
14
  */
15
15
  export const PAGE_SIZE_LIMIT_BYTES = 100 * 1024; // 100 KB
16
+ /**
17
+ * Inline read cap for read_page. Independent of PAGE_SIZE_LIMIT_BYTES: that
18
+ * cap gates writes and only applies to subjects with a quota, while this one
19
+ * gates the body read_page hands back over MCP, for every page regardless of
20
+ * who wrote it. Pages written before the write cap existed (or by a god-mode
21
+ * subject, which is exempt from it) can still be larger than
22
+ * PAGE_SIZE_LIMIT_BYTES, and read_page must not try to serialize an unbounded
23
+ * body back to the client — that's what dropped the MCP connection outright
24
+ * on a ~110 KB page instead of erroring (GH #701).
25
+ *
26
+ * Set equal to PAGE_SIZE_LIMIT_BYTES so a page any current subject could
27
+ * legally write is always readable in full.
28
+ */
29
+ export const READ_INLINE_CAP_BYTES = PAGE_SIZE_LIMIT_BYTES;
30
+ /**
31
+ * Truncates UTF-8 text to at most maxBytes, never splitting a multi-byte
32
+ * character. Backs off from the byte cap one byte at a time past any
33
+ * continuation byte (0b10xxxxxx) so the returned string is always valid
34
+ * UTF-8 — content this truncates is arbitrary wiki prose, not
35
+ * ASCII-guaranteed.
36
+ */
37
+ export function truncateUtf8(text, maxBytes) {
38
+ const buf = Buffer.from(text, "utf8");
39
+ if (buf.length <= maxBytes)
40
+ return text;
41
+ let end = maxBytes;
42
+ while (end > 0 && (buf[end] & 0xc0) === 0x80)
43
+ end--;
44
+ return buf.subarray(0, end).toString("utf8");
45
+ }
16
46
  export function isLimitEnforcementEnabled() {
17
47
  return (process.env.BRAINS_ENFORCE_LIMITS ?? "").trim().toLowerCase() === "true";
18
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"storageLimits.js","sourceRoot":"","sources":["../../src/wiki/storageLimits.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storageLimits.js","sourceRoot":"","sources":["../../src/wiki/storageLimits.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "brains-mcp",
3
3
  "mcpName": "io.github.spacecowboyian/brains",
4
- "version": "1.70.5",
4
+ "version": "1.71.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/spacecowboyian/brains.git"