brains-mcp 1.70.5 → 1.71.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.
Files changed (39) hide show
  1. package/dist/access/projectShares.d.ts +21 -0
  2. package/dist/access/projectShares.d.ts.map +1 -1
  3. package/dist/access/projectShares.js +29 -0
  4. package/dist/access/projectShares.js.map +1 -1
  5. package/dist/index.js +4 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/search/fileWatcher.d.ts +20 -1
  8. package/dist/search/fileWatcher.d.ts.map +1 -1
  9. package/dist/search/fileWatcher.js +63 -6
  10. package/dist/search/fileWatcher.js.map +1 -1
  11. package/dist/server.js +1 -1
  12. package/dist/server.js.map +1 -1
  13. package/dist/storage/client.d.ts +9 -0
  14. package/dist/storage/client.d.ts.map +1 -1
  15. package/dist/storage/client.js +37 -5
  16. package/dist/storage/client.js.map +1 -1
  17. package/dist/sync/outbox.d.ts +45 -0
  18. package/dist/sync/outbox.d.ts.map +1 -0
  19. package/dist/sync/outbox.js +130 -0
  20. package/dist/sync/outbox.js.map +1 -0
  21. package/dist/sync/worker.d.ts +41 -0
  22. package/dist/sync/worker.d.ts.map +1 -0
  23. package/dist/sync/worker.js +83 -0
  24. package/dist/sync/worker.js.map +1 -0
  25. package/dist/tools/healthCheck.d.ts.map +1 -1
  26. package/dist/tools/healthCheck.js +11 -5
  27. package/dist/tools/healthCheck.js.map +1 -1
  28. package/dist/tools/patchPage.d.ts +4 -4
  29. package/dist/tools/readPage.d.ts.map +1 -1
  30. package/dist/tools/readPage.js +10 -1
  31. package/dist/tools/readPage.js.map +1 -1
  32. package/dist/tools/shareProject.d.ts.map +1 -1
  33. package/dist/tools/shareProject.js +4 -1
  34. package/dist/tools/shareProject.js.map +1 -1
  35. package/dist/wiki/storageLimits.d.ts +22 -0
  36. package/dist/wiki/storageLimits.d.ts.map +1 -1
  37. package/dist/wiki/storageLimits.js +30 -0
  38. package/dist/wiki/storageLimits.js.map +1 -1
  39. package/package.json +1 -1
@@ -12,6 +12,15 @@ export interface ProjectShareGrant {
12
12
  owner_subject: string;
13
13
  project_path: string;
14
14
  }
15
+ /**
16
+ * Master toggle for cross-account project sharing (BRA-3611 / GH #685).
17
+ * Default off. Table presence used to be the de facto flag — creating
18
+ * project-shares.sql WAS the feature launch, which is why the migration had
19
+ * to be held back in apply-migrations.mjs (GH #409). This is now the only
20
+ * thing that decides whether sharing is reachable; table presence is a
21
+ * separate, orthogonal fact reported by getSharingStatus() for health_check.
22
+ */
23
+ export declare function isProjectSharingEnabled(): boolean;
15
24
  /**
16
25
  * Thrown by listActiveGrantsForGrantee() when the grant lookup itself failed
17
26
  * (non-2xx from PostgREST — e.g. 404 PGRST205 for a missing project_shares
@@ -27,6 +36,18 @@ export declare class GrantLookupError extends Error {
27
36
  * yet (no calls made, or only transient errors seen). Exported for health_check.
28
37
  */
29
38
  export declare function getSharingAvailability(): boolean | null;
39
+ /**
40
+ * Three (plus one) states health_check needs to distinguish (BRA-3611):
41
+ * - "off": ENABLE_PROJECT_SHARING is not set — the state production is in.
42
+ * Table presence is irrelevant and deliberately not probed.
43
+ * - "unknown": toggle on, but no grant-related PostgREST call has happened
44
+ * yet to observe whether the table exists.
45
+ * - "healthy": toggle on, table confirmed present.
46
+ * - "table_missing": toggle on, table confirmed absent — a real
47
+ * misconfiguration, not an intended state.
48
+ */
49
+ export type SharingStatus = "off" | "unknown" | "healthy" | "table_missing";
50
+ export declare function getSharingStatus(): SharingStatus;
30
51
  /** Reset the availability cache. Tests only — not for production use. */
31
52
  export declare function resetSharingAvailabilityForTest(): void;
32
53
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"projectShares.d.ts","sourceRoot":"","sources":["../../src/access/projectShares.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAK5C;AAmBD;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,GAAG,IAAI,CAEvD;AAED,yEAAyE;AACzE,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD;AAkBD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAa1D;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA8BjF;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BhB;AAwBD,2EAA2E;AAC3E,wBAAgB,oBAAoB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAGlE;AAED,wBAAsB,0BAA0B,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA2CrG;AAED;;;;;GAKG;AACH,wBAAsB,4BAA4B,CAChD,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,EAAE,CAAC,CAanB;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CASjF"}
1
+ {"version":3,"file":"projectShares.d.ts","sourceRoot":"","sources":["../../src/access/projectShares.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD;AAED;;;;;GAKG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAK5C;AAmBD;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,GAAG,IAAI,CAEvD;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,eAAe,CAAC;AAE5E,wBAAgB,gBAAgB,IAAI,aAAa,CAKhD;AAED,yEAAyE;AACzE,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD;AAkBD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAa1D;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA8BjF;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkChB;AAwBD,2EAA2E;AAC3E,wBAAgB,oBAAoB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAGlE;AAED,wBAAsB,0BAA0B,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA+CrG;AAED;;;;;GAKG;AACH,wBAAsB,4BAA4B,CAChD,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,EAAE,CAAC,CAenB;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CASjF"}
@@ -8,6 +8,17 @@
8
8
  *
9
9
  * Table: scripts/project-shares.sql
10
10
  */
11
+ /**
12
+ * Master toggle for cross-account project sharing (BRA-3611 / GH #685).
13
+ * Default off. Table presence used to be the de facto flag — creating
14
+ * project-shares.sql WAS the feature launch, which is why the migration had
15
+ * to be held back in apply-migrations.mjs (GH #409). This is now the only
16
+ * thing that decides whether sharing is reachable; table presence is a
17
+ * separate, orthogonal fact reported by getSharingStatus() for health_check.
18
+ */
19
+ export function isProjectSharingEnabled() {
20
+ return process.env.ENABLE_PROJECT_SHARING === "true";
21
+ }
11
22
  /**
12
23
  * Thrown by listActiveGrantsForGrantee() when the grant lookup itself failed
13
24
  * (non-2xx from PostgREST — e.g. 404 PGRST205 for a missing project_shares
@@ -43,6 +54,15 @@ function markSharingUnavailable() {
43
54
  export function getSharingAvailability() {
44
55
  return sharingAvailabilityCache;
45
56
  }
57
+ export function getSharingStatus() {
58
+ if (!isProjectSharingEnabled())
59
+ return "off";
60
+ if (sharingAvailabilityCache === true)
61
+ return "healthy";
62
+ if (sharingAvailabilityCache === false)
63
+ return "table_missing";
64
+ return "unknown";
65
+ }
46
66
  /** Reset the availability cache. Tests only — not for production use. */
47
67
  export function resetSharingAvailabilityForTest() {
48
68
  sharingAvailabilityCache = null;
@@ -123,6 +143,9 @@ export async function resolveGranteeSubject(input) {
123
143
  return user?.id ?? null;
124
144
  }
125
145
  export async function upsertProjectShare(params) {
146
+ if (!isProjectSharingEnabled()) {
147
+ throw new Error("Project sharing is disabled (ENABLE_PROJECT_SHARING is not set to 'true')");
148
+ }
126
149
  const cfg = config();
127
150
  if (!cfg)
128
151
  throw new Error("share_project requires Supabase to be configured");
@@ -180,6 +203,10 @@ export function invalidateGrantCache(granteeSubject) {
180
203
  grantCache.clear();
181
204
  }
182
205
  export async function listActiveGrantsForGrantee(granteeSubject) {
206
+ // Toggle off is the state production runs in (BRA-3611). Return empty with
207
+ // zero HTTP requests — table presence is not consulted for this decision.
208
+ if (!isProjectSharingEnabled())
209
+ return [];
183
210
  const cfg = config();
184
211
  if (!cfg)
185
212
  return [];
@@ -227,6 +254,8 @@ export async function listActiveGrantsForGrantee(granteeSubject) {
227
254
  * revoked (BRA-388).
228
255
  */
229
256
  export async function listActiveGranteesForProject(ownerSubject, projectPath) {
257
+ if (!isProjectSharingEnabled())
258
+ return [];
230
259
  const cfg = config();
231
260
  if (!cfg)
232
261
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"projectShares.js","sourceRoot":"","sources":["../../src/access/projectShares.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projectShares.js","sourceRoot":"","sources":["../../src/access/projectShares.ts"],"names":[],"mappings":"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"}
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, "/"));