@av-pi-studio/server 0.0.43 → 0.0.45

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/.tsbuildinfo +1 -1
  2. package/dist/daemon/bootstrap.d.ts.map +1 -1
  3. package/dist/daemon/bootstrap.js +30 -10
  4. package/dist/daemon/bootstrap.js.map +1 -1
  5. package/dist/daemon/dev-bootstrap.d.ts.map +1 -1
  6. package/dist/daemon/dev-bootstrap.js +19 -9
  7. package/dist/daemon/dev-bootstrap.js.map +1 -1
  8. package/dist/files/file-watch-rpc.d.ts +29 -0
  9. package/dist/files/file-watch-rpc.d.ts.map +1 -0
  10. package/dist/files/file-watch-rpc.js +54 -0
  11. package/dist/files/file-watch-rpc.js.map +1 -0
  12. package/dist/files/file-watch-service.d.ts +47 -0
  13. package/dist/files/file-watch-service.d.ts.map +1 -0
  14. package/dist/files/file-watch-service.js +169 -0
  15. package/dist/files/file-watch-service.js.map +1 -0
  16. package/dist/files/index.d.ts +1 -0
  17. package/dist/files/index.d.ts.map +1 -1
  18. package/dist/files/index.js +1 -0
  19. package/dist/files/index.js.map +1 -1
  20. package/dist/files/limits.d.ts +13 -0
  21. package/dist/files/limits.d.ts.map +1 -0
  22. package/dist/files/limits.js +13 -0
  23. package/dist/files/limits.js.map +1 -0
  24. package/dist/projects/git-checkout-rpc.d.ts +4 -0
  25. package/dist/projects/git-checkout-rpc.d.ts.map +1 -1
  26. package/dist/projects/git-checkout-rpc.js +3 -12
  27. package/dist/projects/git-checkout-rpc.js.map +1 -1
  28. package/dist/projects/workspace-git-service.d.ts +7 -2
  29. package/dist/projects/workspace-git-service.d.ts.map +1 -1
  30. package/dist/projects/workspace-git-service.js.map +1 -1
  31. package/dist/ws/session-subscriptions.d.ts +33 -0
  32. package/dist/ws/session-subscriptions.d.ts.map +1 -0
  33. package/dist/ws/session-subscriptions.js +69 -0
  34. package/dist/ws/session-subscriptions.js.map +1 -0
  35. package/dist/ws/ws-server.d.ts +5 -0
  36. package/dist/ws/ws-server.d.ts.map +1 -1
  37. package/dist/ws/ws-server.js +6 -0
  38. package/dist/ws/ws-server.js.map +1 -1
  39. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/daemon/bootstrap.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,WAAW,CAAC;AAYtD,OAAO,EAAsB,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AA6CvE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAqED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,GACf;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAIjD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,YAAY,CAqmB7D"}
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/daemon/bootstrap.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,WAAW,CAAC;AAatD,OAAO,EAAsB,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAgDvE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAqED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,GACf;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAIjD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,YAAY,CAmnB7D"}
@@ -9,7 +9,8 @@
9
9
  */
10
10
  import { randomUUID } from "node:crypto";
11
11
  import { execFile } from "node:child_process";
12
- import { existsSync, mkdirSync, readFileSync, writeFileSync, statSync } from "node:fs";
12
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
13
+ import { readFile, stat } from "node:fs/promises";
13
14
  import { homedir } from "node:os";
14
15
  import { join } from "node:path";
15
16
  import nacl from "tweetnacl";
@@ -18,6 +19,7 @@ import { createWebSocketServer } from "../ws/ws-server.js";
18
19
  import { HandlerRegistry, routeTextFrame, routeBinaryFrame } from "../ws/router.js";
19
20
  import { Session } from "../ws/session.js";
20
21
  import { createInMemoryCapabilityStore } from "../ws/capability-store.js";
22
+ import { SessionSubscriptions } from "../ws/session-subscriptions.js";
21
23
  import { createHostChecker } from "../http/host-allowlist.js";
22
24
  import { createPasswordAuth, resolvePasswordHash } from "../auth/password-auth.js";
23
25
  import { loadConfig } from "../config/daemon-config.js";
@@ -32,6 +34,9 @@ import { ProviderRegistry, resolveProviderClient } from "../agent/provider-regis
32
34
  import { saveAgent, loadAllAgents } from "../persistence/entity-stores.js";
33
35
  import { FileExplorerService } from "../files/file-explorer.js";
34
36
  import { FileTransferService } from "../files/file-transfer.js";
37
+ import { FileWatchService } from "../files/file-watch-service.js";
38
+ import { registerFileWatchHandlers } from "../files/file-watch-rpc.js";
39
+ import { MAX_INLINE_FILE_READ_BYTES } from "../files/limits.js";
35
40
  import { OpenProjectService } from "../projects/open-project.js";
36
41
  import { WorkspaceRegistryService } from "../projects/workspace-registry.js";
37
42
  import { GitOperationsService } from "../projects/git-operations.js";
@@ -338,12 +343,14 @@ export function startDaemon(opts) {
338
343
  })),
339
344
  }));
340
345
  // ── Git: status/diff streaming, operations, GitHub PRs, worktrees ─────────────
346
+ const subscriptions = new SessionSubscriptions();
341
347
  const gitService = new WorkspaceGitService();
342
348
  const diffManager = new CheckoutDiffManager();
343
349
  registerGitCheckoutHandlers(registry, {
344
350
  gitService,
345
351
  diffManager,
346
352
  checkoutRefreshEnabled: true,
353
+ subscriptions,
347
354
  });
348
355
  new GitOperationsService({ gitService }).registerHandlers(registry);
349
356
  new GitHubService({
@@ -358,11 +365,13 @@ export function startDaemon(opts) {
358
365
  broadcast,
359
366
  getActiveSessions,
360
367
  }).registerHandlers(registry, getActiveSessions);
361
- // ── Files: explorer (with download tokens) + transfer ─────────────────────────
368
+ // ── Files: explorer (with download tokens) + transfer + filesystem watch ──────
362
369
  const fileTransfer = new FileTransferService();
363
370
  new FileExplorerService({ issueDownloadToken: fileTransfer.issueDownloadToken }).registerHandlers(registry);
364
371
  fileTransfer.registerHandlers(registry);
365
372
  const fileTransferBinary = fileTransfer.binaryHandler();
373
+ const fileWatchService = new FileWatchService({ logger });
374
+ registerFileWatchHandlers(registry, { fileWatchService, subscriptions, logger });
366
375
  // Simple file diff RPC for the POC UI (returns unified diff for a single file). Untracked
367
376
  // (brand-new) files have no git-tracked "before" state, so a plain `git diff` against them is
368
377
  // always empty — git only diffs a path once it's in the index or committed. Fall back to
@@ -389,18 +398,27 @@ export function startDaemon(opts) {
389
398
  }
390
399
  return { type: "file_diff_response", ok: true, path: filePath, patch };
391
400
  });
392
- // Simple text file read RPC for the POC UI (returns up to 512KB of UTF-8 text).
393
- registry.register("file_read_request", (ctx) => {
401
+ // Simple text file read RPC for the POC UI (returns up to `MAX_INLINE_FILE_READ_BYTES` of
402
+ // UTF-8 text; larger files must use the chunked binary download path instead). Async so a
403
+ // multi-MB read/decode never blocks the event loop — every other session (agent streams,
404
+ // terminal output, heartbeats) shares this thread.
405
+ registry.register("file_read_request", async (ctx) => {
394
406
  const filePath = String(ctx.message.path ?? "");
395
407
  const resolved = filePath.startsWith("~") ? join(homedir(), filePath.slice(1)) : filePath;
396
408
  try {
397
- const stat = statSync(resolved);
398
- if (stat.isDirectory())
409
+ const st = await stat(resolved);
410
+ if (st.isDirectory())
399
411
  return { type: "file_read_response", ok: false, error: "is_directory" };
400
- if (stat.size > 512 * 1024)
401
- return { type: "file_read_response", ok: false, error: "file_too_large", size: stat.size };
402
- const content = readFileSync(resolved, "utf8");
403
- return { type: "file_read_response", ok: true, path: resolved, content, size: stat.size };
412
+ if (st.size > MAX_INLINE_FILE_READ_BYTES)
413
+ return {
414
+ type: "file_read_response",
415
+ ok: false,
416
+ error: "file_too_large",
417
+ size: st.size,
418
+ maxBytes: MAX_INLINE_FILE_READ_BYTES,
419
+ };
420
+ const content = await readFile(resolved, "utf8");
421
+ return { type: "file_read_response", ok: true, path: resolved, content, size: st.size };
404
422
  }
405
423
  catch (e) {
406
424
  return {
@@ -514,6 +532,7 @@ export function startDaemon(opts) {
514
532
  onSession: (session) => {
515
533
  logger.info({ clientId: session.clientId, clientType: session.clientType }, "ws client connected");
516
534
  },
535
+ onSessionClose: (session) => subscriptions.disposeSession(session),
517
536
  onMessage: (session, frame) => {
518
537
  if ("text" in frame) {
519
538
  void routeTextFrame(session, frame.text, registry);
@@ -675,6 +694,7 @@ export function startDaemon(opts) {
675
694
  logger,
676
695
  close: async () => {
677
696
  logger.info("daemon shutting down");
697
+ fileWatchService.close();
678
698
  relayHandle?.close();
679
699
  await wsHandle.close();
680
700
  await new Promise((resolve) => httpServer.close(() => resolve()));
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/daemon/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/daemon/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dev-bootstrap.d.ts","sourceRoot":"","sources":["../../src/daemon/dev-bootstrap.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,WAAW,CAAC;AAgBtD,OAAO,EAAsB,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGvE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,CAAC;IAC5B,oGAAoG;IACpG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,mBAAmB,GAAG,kBAAkB,CAiS5E"}
1
+ {"version":3,"file":"dev-bootstrap.d.ts","sourceRoot":"","sources":["../../src/daemon/dev-bootstrap.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,WAAW,CAAC;AAiBtD,OAAO,EAAsB,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGvE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,CAAC;IAC5B,oGAAoG;IACpG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,mBAAmB,GAAG,kBAAkB,CAyS5E"}
@@ -7,7 +7,7 @@
7
7
  * bootstrap module.
8
8
  */
9
9
  import { randomUUID } from "node:crypto";
10
- import { readFileSync, statSync } from "node:fs";
10
+ import { readFile, stat } from "node:fs/promises";
11
11
  import { execFile } from "node:child_process";
12
12
  import { homedir } from "node:os";
13
13
  import { join } from "node:path";
@@ -23,6 +23,7 @@ import { PermissionService } from "../agent/permissions.js";
23
23
  import { createMockClient } from "../agent/providers/mock/mock-provider.js";
24
24
  import { ProviderRegistry } from "../agent/provider-registry.js";
25
25
  import { FileExplorerService } from "../files/file-explorer.js";
26
+ import { MAX_INLINE_FILE_READ_BYTES } from "../files/limits.js";
26
27
  import { createDaemonLogger } from "../logging/logger.js";
27
28
  import { wrapSessionEnvelope } from "./bootstrap.js";
28
29
  export function startDevDaemon(opts) {
@@ -229,18 +230,27 @@ export function startDevDaemon(opts) {
229
230
  }
230
231
  return { type: "file_diff_response", ok: true, path: filePath, patch };
231
232
  });
232
- // Simple text file read RPC for the POC UI.
233
- registry.register("file_read_request", (ctx) => {
233
+ // Simple text file read RPC for the POC UI (returns up to `MAX_INLINE_FILE_READ_BYTES` of
234
+ // UTF-8 text; larger files must use the chunked binary download path instead — note
235
+ // download-token RPCs are not registered in this dev bootstrap; see AGENTS.md). Async so a
236
+ // multi-MB read/decode never blocks the event loop.
237
+ registry.register("file_read_request", async (ctx) => {
234
238
  const filePath = String(ctx.message.path ?? "");
235
239
  const resolved = filePath.startsWith("~") ? join(homedir(), filePath.slice(1)) : filePath;
236
240
  try {
237
- const stat = statSync(resolved);
238
- if (stat.isDirectory())
241
+ const st = await stat(resolved);
242
+ if (st.isDirectory())
239
243
  return { type: "file_read_response", ok: false, error: "is_directory" };
240
- if (stat.size > 512 * 1024)
241
- return { type: "file_read_response", ok: false, error: "file_too_large", size: stat.size };
242
- const content = readFileSync(resolved, "utf8");
243
- return { type: "file_read_response", ok: true, path: resolved, content, size: stat.size };
244
+ if (st.size > MAX_INLINE_FILE_READ_BYTES)
245
+ return {
246
+ type: "file_read_response",
247
+ ok: false,
248
+ error: "file_too_large",
249
+ size: st.size,
250
+ maxBytes: MAX_INLINE_FILE_READ_BYTES,
251
+ };
252
+ const content = await readFile(resolved, "utf8");
253
+ return { type: "file_read_response", ok: true, path: resolved, content, size: st.size };
244
254
  }
245
255
  catch (e) {
246
256
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"dev-bootstrap.js","sourceRoot":"","sources":["../../src/daemon/dev-bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev-bootstrap.js","sourceRoot":"","sources":["../../src/daemon/dev-bootstrap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { Logger } from "../logging/logger.js";
2
+ import type { HandlerRegistry } from "../ws/router.js";
3
+ import type { SessionSubscriptions } from "../ws/session-subscriptions.js";
4
+ import type { FileWatchService } from "./file-watch-service.js";
5
+ /**
6
+ * `file_watch_subscribe`/`file_watch_unsubscribe` (architecture/websocket-protocol.md § push/
7
+ * subscription families, § passthrough fallback). Modelled directly on
8
+ * `registerGitCheckoutHandlers`: the push carries only `{ type: "file_changed", path }` — no
9
+ * content, since a watched file may be a multi-MB trajectory and the client already has the
10
+ * chunked binary download path for the bytes. `path` is the *resolved* path the client subscribed
11
+ * with, so client-side matching is a plain string compare.
12
+ *
13
+ * Deliberately outside `messages.ts`'s discriminated union, like the sibling `checkout_*` family —
14
+ * both validate through `sessionMessageBaseSchema`'s passthrough fallback.
15
+ */
16
+ /** Per-session cap on live `file_watch_subscribe` RPCs. `fs.watch` consumes an inotify handle per
17
+ * directory and the kernel enforces a global `fs.inotify.max_user_watches`; a client that
18
+ * subscribes in a loop (a bug in a tree-expansion effect is the realistic case, not an attacker)
19
+ * would otherwise exhaust it and break watching for the whole machine, not just this daemon. */
20
+ export declare const MAX_FILE_WATCHES_PER_SESSION = 128;
21
+ export interface FileWatchRpcDeps {
22
+ fileWatchService: FileWatchService;
23
+ /** Per-session subscription registry (task-005) — disposes a subscription's `fs.watch` when the
24
+ * session's socket closes, not just on an explicit unsubscribe. */
25
+ subscriptions: SessionSubscriptions;
26
+ logger?: Logger;
27
+ }
28
+ export declare function registerFileWatchHandlers(registry: HandlerRegistry, deps: FileWatchRpcDeps): void;
29
+ //# sourceMappingURL=file-watch-rpc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-watch-rpc.d.ts","sourceRoot":"","sources":["../../src/files/file-watch-rpc.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;;;;;;;GAUG;AAEH;;;iGAGiG;AACjG,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAIhD,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC;wEACoE;IACpE,aAAa,EAAE,oBAAoB,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAwCjG"}
@@ -0,0 +1,54 @@
1
+ import { homedir } from "node:os";
2
+ import { join } from "node:path";
3
+ /**
4
+ * `file_watch_subscribe`/`file_watch_unsubscribe` (architecture/websocket-protocol.md § push/
5
+ * subscription families, § passthrough fallback). Modelled directly on
6
+ * `registerGitCheckoutHandlers`: the push carries only `{ type: "file_changed", path }` — no
7
+ * content, since a watched file may be a multi-MB trajectory and the client already has the
8
+ * chunked binary download path for the bytes. `path` is the *resolved* path the client subscribed
9
+ * with, so client-side matching is a plain string compare.
10
+ *
11
+ * Deliberately outside `messages.ts`'s discriminated union, like the sibling `checkout_*` family —
12
+ * both validate through `sessionMessageBaseSchema`'s passthrough fallback.
13
+ */
14
+ /** Per-session cap on live `file_watch_subscribe` RPCs. `fs.watch` consumes an inotify handle per
15
+ * directory and the kernel enforces a global `fs.inotify.max_user_watches`; a client that
16
+ * subscribes in a loop (a bug in a tree-expansion effect is the realistic case, not an attacker)
17
+ * would otherwise exhaust it and break watching for the whole machine, not just this daemon. */
18
+ export const MAX_FILE_WATCHES_PER_SESSION = 128;
19
+ const FILE_WATCH_KEY_PREFIX = "file_watch:";
20
+ export function registerFileWatchHandlers(registry, deps) {
21
+ const { fileWatchService, subscriptions, logger } = deps;
22
+ registry.register("file_watch_subscribe", (ctx) => {
23
+ const rawPath = String(ctx.message.path ?? "");
24
+ const resolved = rawPath.startsWith("~") ? join(homedir(), rawPath.slice(1)) : rawPath;
25
+ const session = ctx.session;
26
+ const key = `${FILE_WATCH_KEY_PREFIX}${resolved}`;
27
+ const activeWatchKeys = subscriptions
28
+ .keysOf(session)
29
+ .filter((k) => k.startsWith(FILE_WATCH_KEY_PREFIX));
30
+ // A resubscribe of an already-watched path replaces in place (SessionSubscriptions.add's own
31
+ // contract) rather than adding a new watch, so it must never count against the cap.
32
+ if (!activeWatchKeys.includes(key) && activeWatchKeys.length >= MAX_FILE_WATCHES_PER_SESSION) {
33
+ logger?.warn({ path: resolved, count: activeWatchKeys.length }, "file-watch: session hit MAX_FILE_WATCHES_PER_SESSION, refusing new subscription");
34
+ return {
35
+ type: "file_watch_subscribe_response",
36
+ path: resolved,
37
+ ok: false,
38
+ error: "too_many_watches",
39
+ };
40
+ }
41
+ const unsub = fileWatchService.subscribe(resolved, () => {
42
+ session.send({ type: "session", message: { type: "file_changed", path: resolved } });
43
+ });
44
+ subscriptions.add(session, key, unsub);
45
+ return { type: "file_watch_subscribe_response", path: resolved, ok: true };
46
+ });
47
+ registry.register("file_watch_unsubscribe", (ctx) => {
48
+ const rawPath = String(ctx.message.path ?? "");
49
+ const resolved = rawPath.startsWith("~") ? join(homedir(), rawPath.slice(1)) : rawPath;
50
+ subscriptions.remove(ctx.session, `${FILE_WATCH_KEY_PREFIX}${resolved}`);
51
+ return { type: "file_watch_unsubscribe_response", path: resolved, ok: true };
52
+ });
53
+ }
54
+ //# sourceMappingURL=file-watch-rpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-watch-rpc.js","sourceRoot":"","sources":["../../src/files/file-watch-rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAOjC;;;;;;;;;;GAUG;AAEH;;;iGAGiG;AACjG,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAEhD,MAAM,qBAAqB,GAAG,aAAa,CAAC;AAU5C,MAAM,UAAU,yBAAyB,CAAC,QAAyB,EAAE,IAAsB;IACzF,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAEzD,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACvF,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,MAAM,GAAG,GAAG,GAAG,qBAAqB,GAAG,QAAQ,EAAE,CAAC;QAElD,MAAM,eAAe,GAAG,aAAa;aAClC,MAAM,CAAC,OAAO,CAAC;aACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACtD,6FAA6F;QAC7F,oFAAoF;QACpF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,MAAM,IAAI,4BAA4B,EAAE,CAAC;YAC7F,MAAM,EAAE,IAAI,CACV,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,EACjD,iFAAiF,CAClF,CAAC;YACF,OAAO;gBACL,IAAI,EAAE,+BAA+B;gBACrC,IAAI,EAAE,QAAQ;gBACd,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,kBAAkB;aAC1B,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC;QACH,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACvC,OAAO,EAAE,IAAI,EAAE,+BAA+B,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,EAAE,CAAC,GAAG,EAAE,EAAE;QAClD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACvF,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,qBAAqB,GAAG,QAAQ,EAAE,CAAC,CAAC;QACzE,OAAO,EAAE,IAAI,EAAE,iCAAiC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAC/E,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,47 @@
1
+ import type { Logger } from "../logging/logger.js";
2
+ /**
3
+ * The daemon's first real filesystem watcher (architecture/websocket-protocol.md § push/
4
+ * subscription families; features/file-explorer-transfer.md § listings, § file preview). Backs
5
+ * both the molecule viewer's live reload (task-007) and the live file tree (task-008) via a single
6
+ * `subscribe(path, listener)` primitive that watches one file OR one directory.
7
+ *
8
+ * Every daemon-*initiated* mutation already refreshes and pushes correctly today (every mutating
9
+ * git RPC calls `WorkspaceGitService.refresh(cwd)` itself, and `checkout_refresh_request` covers
10
+ * the client's own post-tool guess). What was missing — and what this class exists for — is a
11
+ * change the daemon did **not** itself perform: an external editor, a shell command, a build step,
12
+ * or `git` run inside a pi-studio terminal. Those produce no `refresh()` call and, before this,
13
+ * no push at all.
14
+ */
15
+ /** Per-subscription debounce: collapses a write+rename burst into one push (chosen above
16
+ * `TerminalManager`'s latency-driven 4 ms and safely below `files-changed.ts`'s 500 ms client
17
+ * debounce so daemon pushes never race the client's own post-tool invalidation). */
18
+ export declare const FILE_WATCH_COALESCE_MS = 150;
19
+ export interface FileWatchServiceOptions {
20
+ /** Per-subscription debounce window. Overridable for tests; defaults to `FILE_WATCH_COALESCE_MS`. */
21
+ coalesceMs?: number;
22
+ logger?: Logger;
23
+ }
24
+ export declare class FileWatchService {
25
+ private readonly coalesceMs;
26
+ private readonly logger?;
27
+ private readonly dirs;
28
+ constructor(options?: FileWatchServiceOptions);
29
+ /**
30
+ * Watch one file OR one directory. Fires whenever the target changes; for a directory that
31
+ * includes children being created, deleted, renamed, or modified. Returns an unsubscribe
32
+ * function that is always safe to call, even for a path that could not be watched.
33
+ */
34
+ subscribe(rawPath: string, listener: () => void): () => void;
35
+ /** Stop every watcher (daemon shutdown). */
36
+ close(): void;
37
+ /** Test-only observability seam: number of distinct directories currently holding a live
38
+ * `fs.watch` handle. Not part of the public contract — exists so tests can assert a handle is
39
+ * actually released once its last subscriber leaves, not merely that pushes stop. */
40
+ get watchedDirectoryCount(): number;
41
+ private ensureDirWatch;
42
+ private releaseDirWatch;
43
+ private teardownDirWatch;
44
+ private onEvent;
45
+ private scheduleFire;
46
+ }
47
+ //# sourceMappingURL=file-watch-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-watch-service.d.ts","sourceRoot":"","sources":["../../src/files/file-watch-service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;;;;;;;;;;;GAYG;AAEH;;qFAEqF;AACrF,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C,MAAM,WAAW,uBAAuB;IACtC,qGAAqG;IACrG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAgBD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA+B;IAEpD,YAAY,OAAO,GAAE,uBAA4B,EAGhD;IAED;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CA4B3D;IAED,4CAA4C;IAC5C,KAAK,IAAI,IAAI,CAEZ;IAED;;0FAEsF;IACtF,IAAI,qBAAqB,IAAI,MAAM,CAElC;IAID,OAAO,CAAC,cAAc;IAmCtB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,OAAO;IAaf,OAAO,CAAC,YAAY;CAOrB"}