agent-tower 0.5.2-beta.2 → 0.5.2-beta.3

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 (165) hide show
  1. package/dist/app.d.ts.map +1 -1
  2. package/dist/app.js +9 -2
  3. package/dist/app.js.map +1 -1
  4. package/dist/app.test.js +67 -0
  5. package/dist/app.test.js.map +1 -1
  6. package/dist/cli.js +2 -0
  7. package/dist/cli.js.map +1 -1
  8. package/dist/core/container.d.ts +2 -0
  9. package/dist/core/container.d.ts.map +1 -1
  10. package/dist/core/container.js +9 -1
  11. package/dist/core/container.js.map +1 -1
  12. package/dist/core/event-bus.d.ts +2 -1
  13. package/dist/core/event-bus.d.ts.map +1 -1
  14. package/dist/core/event-bus.js.map +1 -1
  15. package/dist/executors/__tests__/base.executor.test.d.ts +2 -0
  16. package/dist/executors/__tests__/base.executor.test.d.ts.map +1 -0
  17. package/dist/executors/__tests__/base.executor.test.js +264 -0
  18. package/dist/executors/__tests__/base.executor.test.js.map +1 -0
  19. package/dist/executors/__tests__/codex.executor.test.js +18 -1
  20. package/dist/executors/__tests__/codex.executor.test.js.map +1 -1
  21. package/dist/executors/base.executor.d.ts.map +1 -1
  22. package/dist/executors/base.executor.js +61 -33
  23. package/dist/executors/base.executor.js.map +1 -1
  24. package/dist/executors/codex.executor.d.ts.map +1 -1
  25. package/dist/executors/codex.executor.js +3 -4
  26. package/dist/executors/codex.executor.js.map +1 -1
  27. package/dist/executors/execution-env.d.ts +7 -1
  28. package/dist/executors/execution-env.d.ts.map +1 -1
  29. package/dist/executors/execution-env.js +41 -2
  30. package/dist/executors/execution-env.js.map +1 -1
  31. package/dist/index.js +2 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/mcp/types.d.ts +6 -6
  34. package/dist/routes/__tests__/tasks.test.js +179 -0
  35. package/dist/routes/__tests__/tasks.test.js.map +1 -1
  36. package/dist/routes/git.d.ts.map +1 -1
  37. package/dist/routes/git.js +41 -1
  38. package/dist/routes/git.js.map +1 -1
  39. package/dist/routes/tasks.d.ts.map +1 -1
  40. package/dist/routes/tasks.js +10 -2
  41. package/dist/routes/tasks.js.map +1 -1
  42. package/dist/services/__tests__/project.service.test.js +85 -1
  43. package/dist/services/__tests__/project.service.test.js.map +1 -1
  44. package/dist/services/__tests__/session-manager.team-run.test.js +84 -1
  45. package/dist/services/__tests__/session-manager.team-run.test.js.map +1 -1
  46. package/dist/services/__tests__/task.service.test.js +190 -0
  47. package/dist/services/__tests__/task.service.test.js.map +1 -1
  48. package/dist/services/__tests__/team-reconciler.service.test.js +2 -2
  49. package/dist/services/__tests__/team-reconciler.service.test.js.map +1 -1
  50. package/dist/services/__tests__/team-run.service.test.js +75 -1
  51. package/dist/services/__tests__/team-run.service.test.js.map +1 -1
  52. package/dist/services/__tests__/team-scheduler.service.test.js +46 -5
  53. package/dist/services/__tests__/team-scheduler.service.test.js.map +1 -1
  54. package/dist/services/__tests__/workspace-git-watcher.service.test.d.ts +2 -0
  55. package/dist/services/__tests__/workspace-git-watcher.service.test.d.ts.map +1 -0
  56. package/dist/services/__tests__/workspace-git-watcher.service.test.js +148 -0
  57. package/dist/services/__tests__/workspace-git-watcher.service.test.js.map +1 -0
  58. package/dist/services/__tests__/workspace.service.test.js +43 -1
  59. package/dist/services/__tests__/workspace.service.test.js.map +1 -1
  60. package/dist/services/project.service.d.ts +28 -24
  61. package/dist/services/project.service.d.ts.map +1 -1
  62. package/dist/services/project.service.js +11 -0
  63. package/dist/services/project.service.js.map +1 -1
  64. package/dist/services/session-manager.d.ts +44 -43
  65. package/dist/services/session-manager.d.ts.map +1 -1
  66. package/dist/services/session-manager.js +19 -3
  67. package/dist/services/session-manager.js.map +1 -1
  68. package/dist/services/task-cleanup.service.d.ts +3 -1
  69. package/dist/services/task-cleanup.service.d.ts.map +1 -1
  70. package/dist/services/task-cleanup.service.js +6 -1
  71. package/dist/services/task-cleanup.service.js.map +1 -1
  72. package/dist/services/task.service.d.ts +96 -65
  73. package/dist/services/task.service.d.ts.map +1 -1
  74. package/dist/services/task.service.js +208 -15
  75. package/dist/services/task.service.js.map +1 -1
  76. package/dist/services/team-run.service.d.ts +2 -0
  77. package/dist/services/team-run.service.d.ts.map +1 -1
  78. package/dist/services/team-run.service.js +38 -9
  79. package/dist/services/team-run.service.js.map +1 -1
  80. package/dist/services/team-scheduler.service.d.ts.map +1 -1
  81. package/dist/services/team-scheduler.service.js +16 -4
  82. package/dist/services/team-scheduler.service.js.map +1 -1
  83. package/dist/services/workspace-git-watcher.service.d.ts +62 -0
  84. package/dist/services/workspace-git-watcher.service.d.ts.map +1 -0
  85. package/dist/services/workspace-git-watcher.service.js +427 -0
  86. package/dist/services/workspace-git-watcher.service.js.map +1 -0
  87. package/dist/services/workspace.service.d.ts +99 -108
  88. package/dist/services/workspace.service.d.ts.map +1 -1
  89. package/dist/services/workspace.service.js +43 -6
  90. package/dist/services/workspace.service.js.map +1 -1
  91. package/dist/socket/events.d.ts +1 -1
  92. package/dist/socket/events.d.ts.map +1 -1
  93. package/dist/socket/events.js.map +1 -1
  94. package/dist/socket/socket-gateway.d.ts.map +1 -1
  95. package/dist/socket/socket-gateway.js +5 -1
  96. package/dist/socket/socket-gateway.js.map +1 -1
  97. package/dist/web/assets/AgentDemoPage-DRtgA1-w.js +1 -0
  98. package/dist/web/assets/{DemoPage-PD8AX5pI.js → DemoPage-8g4kqlV1.js} +3 -3
  99. package/dist/web/assets/GeneralSettingsPage-b2dViAif.js +1 -0
  100. package/dist/web/assets/{MemberAvatar-BDXmryjB.js → MemberAvatar-BuaKw8fE.js} +1 -1
  101. package/dist/web/assets/NotificationSettingsPage-DCtnFBrk.js +1 -0
  102. package/dist/web/assets/ProfileSettingsPage-Hplbudpu.js +3 -0
  103. package/dist/web/assets/ProjectKanbanPage-UJVkISeV.js +89 -0
  104. package/dist/web/assets/ProjectSettingsPage-CnG-6FVF.js +2 -0
  105. package/dist/web/assets/ProviderSettingsPage-B-u7Av-v.js +54 -0
  106. package/dist/web/assets/SettingsMasterDetail-C7L4KTOf.js +1 -0
  107. package/dist/web/assets/TeamSettingsPage-DCsq_ojZ.js +1 -0
  108. package/dist/web/assets/arrow-left-BSle2OYV.js +1 -0
  109. package/dist/web/assets/check-COf1UbPe.js +1 -0
  110. package/dist/web/assets/chevron-down-Dj8_pYCl.js +1 -0
  111. package/dist/web/assets/chevron-right-BUCnUjsN.js +1 -0
  112. package/dist/web/assets/{chevron-up-BEHjZ-SB.js → chevron-up-BhzmceCN.js} +1 -1
  113. package/dist/web/assets/{code-block-OCS4YCEC-6FHTyCN2.js → code-block-OCS4YCEC-C9ZDvx5q.js} +1 -1
  114. package/dist/web/assets/{confirm-dialog-B_wk_zqm.js → confirm-dialog-NY6uLJRk.js} +1 -1
  115. package/dist/web/assets/folder-picker-B5loyQsl.js +1 -0
  116. package/dist/web/assets/index-3iFMFw1l.css +1 -0
  117. package/dist/web/assets/index-DSFOeuuj.js +13 -0
  118. package/dist/web/assets/input-D67geHKZ.js +1 -0
  119. package/dist/web/assets/layers-Dl9LLqoY.js +1 -0
  120. package/dist/web/assets/loader-circle-CP1oxYjb.js +1 -0
  121. package/dist/web/assets/{mermaid-NOHMQCX5-fubZbKyF.js → mermaid-NOHMQCX5-C-bBE9vu.js} +4 -4
  122. package/dist/web/assets/message-square-Bwt_cqko.js +1 -0
  123. package/dist/web/assets/modal-0iwqEf_V.js +1 -0
  124. package/dist/web/assets/{pencil-uRBgB4qA.js → pencil-CAgGPSMf.js} +1 -1
  125. package/dist/web/assets/rotate-ccw-CnfGwAnp.js +1 -0
  126. package/dist/web/assets/{select-BMlH2AuL.js → select-C0X1iRxk.js} +1 -1
  127. package/dist/web/assets/switch-D_KOTssd.js +1 -0
  128. package/dist/web/assets/textarea-DS-Evqsv.js +1 -0
  129. package/dist/web/assets/{upload-B-Mpvu9j.js → upload-CTsJ3wDk.js} +1 -1
  130. package/dist/web/assets/{use-profiles-D6cZwU1R.js → use-profiles-CzdxiQuG.js} +1 -1
  131. package/dist/web/assets/{use-providers-DVP6emIi.js → use-providers-BdxKwaE3.js} +1 -1
  132. package/dist/web/favicon.ico +0 -0
  133. package/dist/web/index.html +4 -4
  134. package/node_modules/@agent-tower/shared/dist/socket/events.d.ts +9 -0
  135. package/node_modules/@agent-tower/shared/dist/socket/events.d.ts.map +1 -1
  136. package/node_modules/@agent-tower/shared/dist/socket/events.js +1 -0
  137. package/node_modules/@agent-tower/shared/dist/socket/events.js.map +1 -1
  138. package/node_modules/@agent-tower/shared/dist/types.d.ts +21 -0
  139. package/node_modules/@agent-tower/shared/dist/types.d.ts.map +1 -1
  140. package/node_modules/@agent-tower/shared/dist/types.js.map +1 -1
  141. package/node_modules/@prisma/client/.prisma/client/edge.js +2 -2
  142. package/node_modules/@prisma/client/.prisma/client/index.js +2 -2
  143. package/package.json +1 -1
  144. package/dist/web/assets/AgentDemoPage-Co63rtls.js +0 -1
  145. package/dist/web/assets/GeneralSettingsPage-C5eiEeTZ.js +0 -1
  146. package/dist/web/assets/NotificationSettingsPage-BjjPan2M.js +0 -1
  147. package/dist/web/assets/ProfileSettingsPage-BRpeNq6u.js +0 -3
  148. package/dist/web/assets/ProjectKanbanPage-DUUu2EYy.js +0 -89
  149. package/dist/web/assets/ProjectSettingsPage-avctMKfk.js +0 -2
  150. package/dist/web/assets/ProviderSettingsPage-BIUYN2e0.js +0 -54
  151. package/dist/web/assets/SettingsSection-pLJ3msrT.js +0 -1
  152. package/dist/web/assets/TeamSettingsPage-BjKW9nT8.js +0 -1
  153. package/dist/web/assets/arrow-left-lFz8nyZM.js +0 -1
  154. package/dist/web/assets/button-BUA8P726.js +0 -1
  155. package/dist/web/assets/check-BYuuXc71.js +0 -1
  156. package/dist/web/assets/chevron-down-B931AgE2.js +0 -1
  157. package/dist/web/assets/chevron-right-F9i4wey6.js +0 -1
  158. package/dist/web/assets/circle-check-C7xXtl8B.js +0 -1
  159. package/dist/web/assets/folder-picker-BEHS3b2Q.js +0 -1
  160. package/dist/web/assets/index-DEQhT5sD.css +0 -1
  161. package/dist/web/assets/index-RxbHMWXV.js +0 -13
  162. package/dist/web/assets/loader-circle-stJcjnm-.js +0 -1
  163. package/dist/web/assets/message-square-C8lb-TDo.js +0 -1
  164. package/dist/web/assets/modal-UGrjU63G.js +0 -1
  165. package/dist/web/assets/rotate-ccw-CWaMrTz4.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"team-scheduler.service.js","sourceRoot":"","sources":["../../src/services/team-scheduler.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"team-scheduler.service.js","sourceRoot":"","sources":["../../src/services/team-scheduler.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import type { EventBus } from '../core/event-bus.js';
2
+ type WatchableWorkspace = {
3
+ id: string;
4
+ taskId: string;
5
+ worktreePath: string;
6
+ workingDir: string;
7
+ task: {
8
+ projectId: string;
9
+ };
10
+ };
11
+ type ActiveWorkspaceQuery = () => Promise<WatchableWorkspace[]>;
12
+ export interface WorkspaceGitWatcherOptions {
13
+ debounceMs?: number;
14
+ retryMs?: number;
15
+ loadActiveWorkspaces?: ActiveWorkspaceQuery;
16
+ }
17
+ /**
18
+ * Watches ACTIVE worktree workspaces for filesystem and git metadata changes.
19
+ *
20
+ * The service intentionally listens to the filesystem rather than terminal
21
+ * output, so changes from the built-in shell, external terminals, IDEs, and
22
+ * scripts all flow through the same path.
23
+ */
24
+ export declare class WorkspaceGitWatcherService {
25
+ private readonly eventBus;
26
+ private watchers;
27
+ private debounceMs;
28
+ private retryMs;
29
+ private startupGeneration;
30
+ private startupActive;
31
+ private readonly loadActiveWorkspaces;
32
+ constructor(eventBus: EventBus, options?: WorkspaceGitWatcherOptions);
33
+ start(): Promise<void>;
34
+ stop(): void;
35
+ refreshWorkspace(workspaceId: string): Promise<void>;
36
+ watchWorkspace(workspace: WatchableWorkspace): Promise<void>;
37
+ private watchWorkspaceInternal;
38
+ unwatchWorkspace(workspaceId: string): void;
39
+ getWatchedWorkspaceIds(): string[];
40
+ private isStartupCurrent;
41
+ private canContinueStartup;
42
+ private findActiveWorkspaces;
43
+ private sameWorkspace;
44
+ private buildWatchTargets;
45
+ private dedupeTargets;
46
+ private resolveGitDirs;
47
+ private resolveGitPath;
48
+ private openWatcher;
49
+ private isRecursiveWatchUnsupported;
50
+ private openDirectoryTreeWatchers;
51
+ private openNonRecursiveWatcher;
52
+ private scheduleRetry;
53
+ private shouldIgnorePath;
54
+ private scheduleChange;
55
+ private emitIfChanged;
56
+ private getFingerprint;
57
+ private buildDirtyFileStats;
58
+ private isPathInside;
59
+ private execGit;
60
+ }
61
+ export {};
62
+ //# sourceMappingURL=workspace-git-watcher.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-git-watcher.service.d.ts","sourceRoot":"","sources":["../../src/services/workspace-git-watcher.service.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAYrD,KAAK,kBAAkB,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH,CAAC;AAsBF,KAAK,oBAAoB,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAEhE,MAAM,WAAW,0BAA0B;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC7C;AAkBD;;;;;;GAMG;AACH,qBAAa,0BAA0B;IASnC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAR3B,OAAO,CAAC,QAAQ,CAA8C;IAC9D,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAuB;gBAGzC,QAAQ,EAAE,QAAQ,EACnC,OAAO,GAAE,0BAA+B;IAOpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAW5B,IAAI,IAAI,IAAI;IAQN,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBpD,cAAc,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;YAIpD,sBAAsB;IAiDpC,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAiB3C,sBAAsB,IAAI,MAAM,EAAE;IAIlC,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,kBAAkB;YAIZ,oBAAoB;IAYlC,OAAO,CAAC,aAAa;YAOP,iBAAiB;IAqB/B,OAAO,CAAC,aAAa;YAYP,cAAc;IAuB5B,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,WAAW;IA+CnB,OAAO,CAAC,2BAA2B;YAQrB,yBAAyB;IAiBvC,OAAO,CAAC,uBAAuB;IA2C/B,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,cAAc;YAmBR,aAAa;YAkBb,cAAc;YAqBd,mBAAmB;IAkBjC,OAAO,CAAC,YAAY;YAKN,OAAO;CAStB"}
@@ -0,0 +1,427 @@
1
+ import fs from 'node:fs';
2
+ import fsPromises from 'node:fs/promises';
3
+ import path from 'node:path';
4
+ import { execFile } from 'node:child_process';
5
+ import { promisify } from 'node:util';
6
+ import { prisma } from '../utils/index.js';
7
+ import { WorkspaceKind, WorkspaceStatus } from '../types/index.js';
8
+ const execFileAsync = promisify(execFile);
9
+ const DEFAULT_DEBOUNCE_MS = 250;
10
+ const WATCHER_RETRY_MS = 1_000;
11
+ const IGNORED_PATH_SEGMENTS = new Set(['node_modules', '.agent-tower']);
12
+ async function pathExists(targetPath) {
13
+ return fsPromises.access(targetPath).then(() => true).catch(() => false);
14
+ }
15
+ function normalizePath(targetPath) {
16
+ return path.resolve(targetPath);
17
+ }
18
+ function isNotFoundLike(error) {
19
+ return typeof error === 'object'
20
+ && error !== null
21
+ && 'code' in error
22
+ && (error.code === 'ENOENT'
23
+ || error.code === 'ENOTDIR');
24
+ }
25
+ /**
26
+ * Watches ACTIVE worktree workspaces for filesystem and git metadata changes.
27
+ *
28
+ * The service intentionally listens to the filesystem rather than terminal
29
+ * output, so changes from the built-in shell, external terminals, IDEs, and
30
+ * scripts all flow through the same path.
31
+ */
32
+ export class WorkspaceGitWatcherService {
33
+ eventBus;
34
+ watchers = new Map();
35
+ debounceMs;
36
+ retryMs;
37
+ startupGeneration = 0;
38
+ startupActive = false;
39
+ loadActiveWorkspaces;
40
+ constructor(eventBus, options = {}) {
41
+ this.eventBus = eventBus;
42
+ this.debounceMs = options.debounceMs ?? DEFAULT_DEBOUNCE_MS;
43
+ this.retryMs = options.retryMs ?? WATCHER_RETRY_MS;
44
+ this.loadActiveWorkspaces = options.loadActiveWorkspaces ?? (() => this.findActiveWorkspaces());
45
+ }
46
+ async start() {
47
+ const generation = ++this.startupGeneration;
48
+ this.startupActive = true;
49
+ const workspaces = await this.loadActiveWorkspaces();
50
+ for (const workspace of workspaces) {
51
+ if (!this.isStartupCurrent(generation))
52
+ return;
53
+ await this.watchWorkspaceInternal(workspace, generation);
54
+ }
55
+ }
56
+ stop() {
57
+ this.startupActive = false;
58
+ this.startupGeneration += 1;
59
+ for (const workspaceId of [...this.watchers.keys()]) {
60
+ this.unwatchWorkspace(workspaceId);
61
+ }
62
+ }
63
+ async refreshWorkspace(workspaceId) {
64
+ const workspace = await prisma.workspace.findUnique({
65
+ where: { id: workspaceId },
66
+ include: { task: { select: { projectId: true, deletedAt: true } } },
67
+ });
68
+ if (!workspace
69
+ || workspace.task.deletedAt
70
+ || workspace.status !== WorkspaceStatus.ACTIVE
71
+ || workspace.workspaceKind !== WorkspaceKind.WORKTREE
72
+ || !workspace.worktreePath) {
73
+ this.unwatchWorkspace(workspaceId);
74
+ return;
75
+ }
76
+ await this.watchWorkspace({
77
+ id: workspace.id,
78
+ taskId: workspace.taskId,
79
+ worktreePath: workspace.worktreePath,
80
+ workingDir: workspace.workingDir,
81
+ task: { projectId: workspace.task.projectId },
82
+ });
83
+ }
84
+ async watchWorkspace(workspace) {
85
+ await this.watchWorkspaceInternal(workspace);
86
+ }
87
+ async watchWorkspaceInternal(workspace, startupGeneration) {
88
+ if (!this.canContinueStartup(startupGeneration))
89
+ return;
90
+ const workingDir = workspace.workingDir || workspace.worktreePath;
91
+ if (!workingDir || !await pathExists(workingDir)) {
92
+ this.unwatchWorkspace(workspace.id);
93
+ return;
94
+ }
95
+ if (!this.canContinueStartup(startupGeneration))
96
+ return;
97
+ const normalizedWorkspace = {
98
+ ...workspace,
99
+ worktreePath: normalizePath(workspace.worktreePath),
100
+ workingDir: normalizePath(workingDir),
101
+ };
102
+ const existing = this.watchers.get(workspace.id);
103
+ if (existing && this.sameWorkspace(existing.workspace, normalizedWorkspace)) {
104
+ return;
105
+ }
106
+ if (existing) {
107
+ this.unwatchWorkspace(workspace.id);
108
+ }
109
+ const targets = await this.buildWatchTargets(normalizedWorkspace.workingDir);
110
+ if (!this.canContinueStartup(startupGeneration))
111
+ return;
112
+ const fingerprint = await this.getFingerprint(normalizedWorkspace.workingDir);
113
+ if (!this.canContinueStartup(startupGeneration))
114
+ return;
115
+ const managed = {
116
+ workspace: normalizedWorkspace,
117
+ targets,
118
+ watchers: [],
119
+ watchedPaths: new Set(),
120
+ timers: new Set(),
121
+ changeTimer: null,
122
+ pendingReason: 'unknown',
123
+ fingerprint,
124
+ stopped: false,
125
+ };
126
+ this.watchers.set(normalizedWorkspace.id, managed);
127
+ for (const target of managed.targets) {
128
+ this.openWatcher(managed, target);
129
+ }
130
+ }
131
+ unwatchWorkspace(workspaceId) {
132
+ const managed = this.watchers.get(workspaceId);
133
+ if (!managed)
134
+ return;
135
+ managed.stopped = true;
136
+ for (const watcher of managed.watchers) {
137
+ watcher.close();
138
+ }
139
+ for (const timer of managed.timers) {
140
+ clearTimeout(timer);
141
+ }
142
+ if (managed.changeTimer) {
143
+ clearTimeout(managed.changeTimer);
144
+ }
145
+ this.watchers.delete(workspaceId);
146
+ }
147
+ getWatchedWorkspaceIds() {
148
+ return [...this.watchers.keys()];
149
+ }
150
+ isStartupCurrent(generation) {
151
+ return this.startupActive && this.startupGeneration === generation;
152
+ }
153
+ canContinueStartup(generation) {
154
+ return generation === undefined || this.isStartupCurrent(generation);
155
+ }
156
+ async findActiveWorkspaces() {
157
+ return prisma.workspace.findMany({
158
+ where: {
159
+ status: WorkspaceStatus.ACTIVE,
160
+ workspaceKind: WorkspaceKind.WORKTREE,
161
+ worktreePath: { not: '' },
162
+ task: { deletedAt: null },
163
+ },
164
+ include: { task: { select: { projectId: true } } },
165
+ });
166
+ }
167
+ sameWorkspace(left, right) {
168
+ return left.worktreePath === right.worktreePath
169
+ && left.workingDir === right.workingDir
170
+ && left.taskId === right.taskId
171
+ && left.task.projectId === right.task.projectId;
172
+ }
173
+ async buildWatchTargets(workingDir) {
174
+ const targets = [{ path: workingDir, recursive: true, kind: 'worktree' }];
175
+ const gitDirs = await this.resolveGitDirs(workingDir);
176
+ for (const gitDir of gitDirs) {
177
+ if (await pathExists(gitDir)) {
178
+ targets.push({ path: normalizePath(gitDir), recursive: false, kind: 'git-dir' });
179
+ }
180
+ const recursivePaths = ['refs', 'logs', 'rebase-merge', 'rebase-apply'];
181
+ for (const child of recursivePaths) {
182
+ const candidate = path.join(gitDir, child);
183
+ if (await pathExists(candidate)) {
184
+ targets.push({ path: normalizePath(candidate), recursive: true, kind: 'git-dir' });
185
+ }
186
+ }
187
+ }
188
+ return this.dedupeTargets(targets);
189
+ }
190
+ dedupeTargets(targets) {
191
+ const seen = new Set();
192
+ const result = [];
193
+ for (const target of targets) {
194
+ const key = `${target.kind}:${target.path}:${target.recursive}`;
195
+ if (seen.has(key))
196
+ continue;
197
+ seen.add(key);
198
+ result.push(target);
199
+ }
200
+ return result;
201
+ }
202
+ async resolveGitDirs(workingDir) {
203
+ const result = new Set();
204
+ try {
205
+ const [gitDirOutput, commonDirOutput] = await Promise.all([
206
+ this.execGit(workingDir, ['rev-parse', '--git-dir']),
207
+ this.execGit(workingDir, ['rev-parse', '--git-common-dir']),
208
+ ]);
209
+ for (const raw of [gitDirOutput, commonDirOutput]) {
210
+ const resolved = this.resolveGitPath(workingDir, raw.trim());
211
+ if (resolved)
212
+ result.add(resolved);
213
+ }
214
+ }
215
+ catch {
216
+ const dotGit = path.join(workingDir, '.git');
217
+ if (await pathExists(dotGit)) {
218
+ const stat = await fsPromises.stat(dotGit).catch(() => null);
219
+ if (stat?.isDirectory()) {
220
+ result.add(dotGit);
221
+ }
222
+ }
223
+ }
224
+ return [...result];
225
+ }
226
+ resolveGitPath(workingDir, gitPath) {
227
+ if (!gitPath)
228
+ return null;
229
+ return normalizePath(path.isAbsolute(gitPath) ? gitPath : path.join(workingDir, gitPath));
230
+ }
231
+ openWatcher(managed, target) {
232
+ if (managed.stopped)
233
+ return;
234
+ if (managed.watchedPaths.has(target.path))
235
+ return;
236
+ try {
237
+ const watcher = fs.watch(target.path, { recursive: target.recursive }, (_eventType, filename) => {
238
+ if (filename && this.shouldIgnorePath(filename.toString()))
239
+ return;
240
+ this.scheduleChange(managed, target.kind === 'git-dir' ? 'git-dir' : 'worktree');
241
+ });
242
+ watcher.on('error', (error) => {
243
+ if (managed.stopped)
244
+ return;
245
+ if (isNotFoundLike(error)) {
246
+ this.scheduleRetry(managed, target);
247
+ return;
248
+ }
249
+ console.warn(`[WorkspaceGitWatcher] watcher error for ${managed.workspace.id} at ${target.path}:`, error instanceof Error ? error.message : error);
250
+ });
251
+ managed.watchers.push(watcher);
252
+ managed.watchedPaths.add(target.path);
253
+ }
254
+ catch (error) {
255
+ if (target.recursive && this.isRecursiveWatchUnsupported(error)) {
256
+ this.openDirectoryTreeWatchers(managed, target.path, target.kind).catch((err) => {
257
+ console.warn(`[WorkspaceGitWatcher] failed to open directory tree watchers for ${target.path}:`, err instanceof Error ? err.message : err);
258
+ });
259
+ return;
260
+ }
261
+ if (isNotFoundLike(error)) {
262
+ this.scheduleRetry(managed, target);
263
+ return;
264
+ }
265
+ console.warn(`[WorkspaceGitWatcher] failed to watch ${target.path} for ${managed.workspace.id}:`, error instanceof Error ? error.message : error);
266
+ }
267
+ }
268
+ isRecursiveWatchUnsupported(error) {
269
+ return typeof error === 'object'
270
+ && error !== null
271
+ && 'code' in error
272
+ && (error.code === 'ERR_FEATURE_UNAVAILABLE_ON_PLATFORM'
273
+ || error.code === 'ERR_INVALID_ARG_VALUE');
274
+ }
275
+ async openDirectoryTreeWatchers(managed, rootPath, kind) {
276
+ if (managed.stopped || !await pathExists(rootPath))
277
+ return;
278
+ const entries = await fsPromises.readdir(rootPath, { withFileTypes: true }).catch(() => []);
279
+ if (managed.stopped)
280
+ return;
281
+ this.openNonRecursiveWatcher(managed, rootPath, kind);
282
+ for (const entry of entries) {
283
+ if (!entry.isDirectory())
284
+ continue;
285
+ if (this.shouldIgnorePath(path.join(rootPath, entry.name)))
286
+ continue;
287
+ await this.openDirectoryTreeWatchers(managed, path.join(rootPath, entry.name), kind);
288
+ }
289
+ }
290
+ openNonRecursiveWatcher(managed, targetPath, kind) {
291
+ if (managed.stopped)
292
+ return;
293
+ const normalizedTarget = normalizePath(targetPath);
294
+ if (managed.watchedPaths.has(normalizedTarget))
295
+ return;
296
+ try {
297
+ const watcher = fs.watch(normalizedTarget, (eventType, filename) => {
298
+ const childPath = filename ? path.join(normalizedTarget, filename.toString()) : normalizedTarget;
299
+ if (this.shouldIgnorePath(childPath))
300
+ return;
301
+ this.scheduleChange(managed, kind === 'git-dir' ? 'git-dir' : 'worktree');
302
+ if (eventType === 'rename') {
303
+ fsPromises.stat(childPath)
304
+ .then((stat) => {
305
+ if (stat.isDirectory()) {
306
+ return this.openDirectoryTreeWatchers(managed, childPath, kind);
307
+ }
308
+ })
309
+ .catch(() => undefined);
310
+ }
311
+ });
312
+ watcher.on('error', (error) => {
313
+ if (managed.stopped)
314
+ return;
315
+ if (isNotFoundLike(error))
316
+ return;
317
+ console.warn(`[WorkspaceGitWatcher] watcher error for ${managed.workspace.id} at ${normalizedTarget}:`, error instanceof Error ? error.message : error);
318
+ });
319
+ managed.watchers.push(watcher);
320
+ managed.watchedPaths.add(normalizedTarget);
321
+ }
322
+ catch (error) {
323
+ if (isNotFoundLike(error))
324
+ return;
325
+ console.warn(`[WorkspaceGitWatcher] failed to watch ${normalizedTarget} for ${managed.workspace.id}:`, error instanceof Error ? error.message : error);
326
+ }
327
+ }
328
+ scheduleRetry(managed, target) {
329
+ if (managed.stopped)
330
+ return;
331
+ const timer = setTimeout(() => {
332
+ managed.timers.delete(timer);
333
+ this.openWatcher(managed, target);
334
+ }, this.retryMs);
335
+ managed.timers.add(timer);
336
+ timer.unref?.();
337
+ }
338
+ shouldIgnorePath(filename) {
339
+ return filename
340
+ .replace(/\\/g, '/')
341
+ .split('/')
342
+ .some((segment) => IGNORED_PATH_SEGMENTS.has(segment));
343
+ }
344
+ scheduleChange(managed, reason) {
345
+ if (managed.stopped)
346
+ return;
347
+ managed.pendingReason = reason;
348
+ if (managed.changeTimer) {
349
+ clearTimeout(managed.changeTimer);
350
+ }
351
+ const timer = setTimeout(() => {
352
+ managed.changeTimer = null;
353
+ this.emitIfChanged(managed, managed.pendingReason).catch((error) => {
354
+ console.warn(`[WorkspaceGitWatcher] failed to process change for ${managed.workspace.id}:`, error instanceof Error ? error.message : error);
355
+ });
356
+ }, this.debounceMs);
357
+ managed.changeTimer = timer;
358
+ timer.unref?.();
359
+ }
360
+ async emitIfChanged(managed, reason) {
361
+ if (managed.stopped)
362
+ return;
363
+ const nextFingerprint = await this.getFingerprint(managed.workspace.workingDir);
364
+ if (nextFingerprint === managed.fingerprint)
365
+ return;
366
+ managed.fingerprint = nextFingerprint;
367
+ this.eventBus.emit('workspace:git_changed', {
368
+ workspaceId: managed.workspace.id,
369
+ taskId: managed.workspace.taskId,
370
+ projectId: managed.workspace.task.projectId,
371
+ workingDir: managed.workspace.workingDir,
372
+ reason,
373
+ });
374
+ }
375
+ async getFingerprint(workingDir) {
376
+ const [status, head, heads, staged, dirtyFiles] = await Promise.all([
377
+ this.execGit(workingDir, ['status', '--porcelain=v1', '-b', '--untracked-files=all'])
378
+ .catch((error) => `status-error:${String(error)}`),
379
+ this.execGit(workingDir, ['rev-parse', 'HEAD']).catch((error) => `head-error:${String(error)}`),
380
+ this.execGit(workingDir, ['show-ref', '--heads']).catch((error) => `heads-error:${String(error)}`),
381
+ this.execGit(workingDir, ['diff', '--cached', '--raw', '--no-abbrev', 'HEAD'])
382
+ .catch((error) => `staged-error:${String(error)}`),
383
+ this.execGit(workingDir, ['ls-files', '--modified', '--others', '--exclude-standard', '-z'])
384
+ .catch(() => ''),
385
+ ]);
386
+ const dirtyStats = await this.buildDirtyFileStats(workingDir, dirtyFiles);
387
+ return [
388
+ status.trim(),
389
+ head.trim(),
390
+ heads.trim(),
391
+ staged.trim(),
392
+ dirtyStats,
393
+ ].join('\n');
394
+ }
395
+ async buildDirtyFileStats(workingDir, filesOutput) {
396
+ const files = filesOutput
397
+ .split('\0')
398
+ .map((file) => file.trim())
399
+ .filter(Boolean)
400
+ .sort();
401
+ const stats = [];
402
+ for (const file of files) {
403
+ const absolutePath = path.resolve(workingDir, file);
404
+ if (!this.isPathInside(workingDir, absolutePath))
405
+ continue;
406
+ const stat = await fsPromises.stat(absolutePath).catch(() => null);
407
+ if (!stat?.isFile())
408
+ continue;
409
+ stats.push(`${file}\0${stat.size}\0${stat.mtimeMs}`);
410
+ }
411
+ return stats.join('\n');
412
+ }
413
+ isPathInside(root, targetPath) {
414
+ const relative = path.relative(root, targetPath);
415
+ return relative === '' || (!relative.startsWith('..') && !path.isAbsolute(relative));
416
+ }
417
+ async execGit(workingDir, args) {
418
+ const { stdout } = await execFileAsync('git', args, {
419
+ cwd: workingDir,
420
+ timeout: 10_000,
421
+ maxBuffer: 10 * 1024 * 1024,
422
+ encoding: 'utf-8',
423
+ });
424
+ return stdout;
425
+ }
426
+ }
427
+ //# sourceMappingURL=workspace-git-watcher.service.js.map