hammoc 1.4.0 → 1.5.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.
Files changed (252) hide show
  1. package/README.md +422 -405
  2. package/bin/hammoc.js +0 -6
  3. package/package.json +100 -94
  4. package/packages/client/dist/assets/agentExampleHighlight-BgwTm15v.js +1 -0
  5. package/packages/client/dist/assets/commandTokenHighlight-BljHwnrK.js +1 -0
  6. package/packages/client/dist/assets/index-CjyjnXB8.css +32 -0
  7. package/packages/client/dist/assets/index-D3LxqW3f.js +2 -0
  8. package/packages/client/dist/assets/index-NqJdhlek.js +1498 -0
  9. package/packages/client/dist/assets/snippetTokenHighlight-DWsaQXX0.js +1 -0
  10. package/packages/client/dist/index.html +2 -2
  11. package/packages/client/dist/sw.js +1 -1
  12. package/packages/server/dist/app.d.ts.map +1 -1
  13. package/packages/server/dist/app.js +13 -21
  14. package/packages/server/dist/app.js.map +1 -1
  15. package/packages/server/dist/controllers/claudeMdController.d.ts +26 -0
  16. package/packages/server/dist/controllers/claudeMdController.d.ts.map +1 -0
  17. package/packages/server/dist/controllers/claudeMdController.js +158 -0
  18. package/packages/server/dist/controllers/claudeMdController.js.map +1 -0
  19. package/packages/server/dist/controllers/harnessAgentController.d.ts +28 -0
  20. package/packages/server/dist/controllers/harnessAgentController.d.ts.map +1 -0
  21. package/packages/server/dist/controllers/harnessAgentController.js +339 -0
  22. package/packages/server/dist/controllers/harnessAgentController.js.map +1 -0
  23. package/packages/server/dist/controllers/harnessCommandController.d.ts +28 -0
  24. package/packages/server/dist/controllers/harnessCommandController.d.ts.map +1 -0
  25. package/packages/server/dist/controllers/harnessCommandController.js +382 -0
  26. package/packages/server/dist/controllers/harnessCommandController.js.map +1 -0
  27. package/packages/server/dist/controllers/harnessController.d.ts +21 -0
  28. package/packages/server/dist/controllers/harnessController.d.ts.map +1 -0
  29. package/packages/server/dist/controllers/harnessController.js +176 -0
  30. package/packages/server/dist/controllers/harnessController.js.map +1 -0
  31. package/packages/server/dist/controllers/harnessHookController.d.ts +32 -0
  32. package/packages/server/dist/controllers/harnessHookController.d.ts.map +1 -0
  33. package/packages/server/dist/controllers/harnessHookController.js +363 -0
  34. package/packages/server/dist/controllers/harnessHookController.js.map +1 -0
  35. package/packages/server/dist/controllers/harnessLintController.d.ts +18 -0
  36. package/packages/server/dist/controllers/harnessLintController.d.ts.map +1 -0
  37. package/packages/server/dist/controllers/harnessLintController.js +72 -0
  38. package/packages/server/dist/controllers/harnessLintController.js.map +1 -0
  39. package/packages/server/dist/controllers/harnessMcpController.d.ts +28 -0
  40. package/packages/server/dist/controllers/harnessMcpController.d.ts.map +1 -0
  41. package/packages/server/dist/controllers/harnessMcpController.js +310 -0
  42. package/packages/server/dist/controllers/harnessMcpController.js.map +1 -0
  43. package/packages/server/dist/controllers/harnessPluginController.d.ts +17 -0
  44. package/packages/server/dist/controllers/harnessPluginController.d.ts.map +1 -0
  45. package/packages/server/dist/controllers/harnessPluginController.js +115 -0
  46. package/packages/server/dist/controllers/harnessPluginController.js.map +1 -0
  47. package/packages/server/dist/controllers/harnessShareScopeController.d.ts +15 -0
  48. package/packages/server/dist/controllers/harnessShareScopeController.d.ts.map +1 -0
  49. package/packages/server/dist/controllers/harnessShareScopeController.js +73 -0
  50. package/packages/server/dist/controllers/harnessShareScopeController.js.map +1 -0
  51. package/packages/server/dist/controllers/harnessSkillController.d.ts +32 -0
  52. package/packages/server/dist/controllers/harnessSkillController.d.ts.map +1 -0
  53. package/packages/server/dist/controllers/harnessSkillController.js +453 -0
  54. package/packages/server/dist/controllers/harnessSkillController.js.map +1 -0
  55. package/packages/server/dist/controllers/projectController.d.ts.map +1 -1
  56. package/packages/server/dist/controllers/projectController.js +11 -0
  57. package/packages/server/dist/controllers/projectController.js.map +1 -1
  58. package/packages/server/dist/controllers/snippetController.d.ts +35 -0
  59. package/packages/server/dist/controllers/snippetController.d.ts.map +1 -0
  60. package/packages/server/dist/controllers/snippetController.js +294 -0
  61. package/packages/server/dist/controllers/snippetController.js.map +1 -0
  62. package/packages/server/dist/handlers/websocket.d.ts +15 -0
  63. package/packages/server/dist/handlers/websocket.d.ts.map +1 -1
  64. package/packages/server/dist/handlers/websocket.js +79 -0
  65. package/packages/server/dist/handlers/websocket.js.map +1 -1
  66. package/packages/server/dist/index.js +5 -0
  67. package/packages/server/dist/index.js.map +1 -1
  68. package/packages/server/dist/locales/en/server.json +37 -4
  69. package/packages/server/dist/locales/es/server.json +0 -4
  70. package/packages/server/dist/locales/ja/server.json +0 -4
  71. package/packages/server/dist/locales/ko/server.json +0 -4
  72. package/packages/server/dist/locales/pt/server.json +0 -4
  73. package/packages/server/dist/locales/zh-CN/server.json +0 -4
  74. package/packages/server/dist/routes/harness.d.ts +8 -0
  75. package/packages/server/dist/routes/harness.d.ts.map +1 -0
  76. package/packages/server/dist/routes/harness.js +92 -0
  77. package/packages/server/dist/routes/harness.js.map +1 -0
  78. package/packages/server/dist/routes/projects.d.ts.map +1 -1
  79. package/packages/server/dist/routes/projects.js +5 -60
  80. package/packages/server/dist/routes/projects.js.map +1 -1
  81. package/packages/server/dist/routes/snippets.d.ts +14 -0
  82. package/packages/server/dist/routes/snippets.d.ts.map +1 -0
  83. package/packages/server/dist/routes/snippets.js +27 -0
  84. package/packages/server/dist/routes/snippets.js.map +1 -0
  85. package/packages/server/dist/services/bmadStatusService.d.ts +6 -2
  86. package/packages/server/dist/services/bmadStatusService.d.ts.map +1 -1
  87. package/packages/server/dist/services/bmadStatusService.js +88 -32
  88. package/packages/server/dist/services/bmadStatusService.js.map +1 -1
  89. package/packages/server/dist/services/chatService.d.ts +3 -0
  90. package/packages/server/dist/services/chatService.d.ts.map +1 -1
  91. package/packages/server/dist/services/chatService.js +27 -6
  92. package/packages/server/dist/services/chatService.js.map +1 -1
  93. package/packages/server/dist/services/claudeMdService.d.ts +48 -0
  94. package/packages/server/dist/services/claudeMdService.d.ts.map +1 -0
  95. package/packages/server/dist/services/claudeMdService.js +240 -0
  96. package/packages/server/dist/services/claudeMdService.js.map +1 -0
  97. package/packages/server/dist/services/commandService.d.ts +10 -0
  98. package/packages/server/dist/services/commandService.d.ts.map +1 -1
  99. package/packages/server/dist/services/commandService.js +129 -4
  100. package/packages/server/dist/services/commandService.js.map +1 -1
  101. package/packages/server/dist/services/fileWatcherService.d.ts +24 -0
  102. package/packages/server/dist/services/fileWatcherService.d.ts.map +1 -1
  103. package/packages/server/dist/services/fileWatcherService.js +192 -1
  104. package/packages/server/dist/services/fileWatcherService.js.map +1 -1
  105. package/packages/server/dist/services/harnessAgentService.d.ts +79 -0
  106. package/packages/server/dist/services/harnessAgentService.d.ts.map +1 -0
  107. package/packages/server/dist/services/harnessAgentService.js +933 -0
  108. package/packages/server/dist/services/harnessAgentService.js.map +1 -0
  109. package/packages/server/dist/services/harnessCommandService.d.ts +60 -0
  110. package/packages/server/dist/services/harnessCommandService.d.ts.map +1 -0
  111. package/packages/server/dist/services/harnessCommandService.js +853 -0
  112. package/packages/server/dist/services/harnessCommandService.js.map +1 -0
  113. package/packages/server/dist/services/harnessHookService.d.ts +55 -0
  114. package/packages/server/dist/services/harnessHookService.d.ts.map +1 -0
  115. package/packages/server/dist/services/harnessHookService.js +1060 -0
  116. package/packages/server/dist/services/harnessHookService.js.map +1 -0
  117. package/packages/server/dist/services/harnessLintService.d.ts +49 -0
  118. package/packages/server/dist/services/harnessLintService.d.ts.map +1 -0
  119. package/packages/server/dist/services/harnessLintService.js +628 -0
  120. package/packages/server/dist/services/harnessLintService.js.map +1 -0
  121. package/packages/server/dist/services/harnessMcpService.d.ts +77 -0
  122. package/packages/server/dist/services/harnessMcpService.d.ts.map +1 -0
  123. package/packages/server/dist/services/harnessMcpService.js +814 -0
  124. package/packages/server/dist/services/harnessMcpService.js.map +1 -0
  125. package/packages/server/dist/services/harnessPluginService.d.ts +66 -0
  126. package/packages/server/dist/services/harnessPluginService.d.ts.map +1 -0
  127. package/packages/server/dist/services/harnessPluginService.js +559 -0
  128. package/packages/server/dist/services/harnessPluginService.js.map +1 -0
  129. package/packages/server/dist/services/harnessService.d.ts +40 -0
  130. package/packages/server/dist/services/harnessService.d.ts.map +1 -0
  131. package/packages/server/dist/services/harnessService.js +222 -0
  132. package/packages/server/dist/services/harnessService.js.map +1 -0
  133. package/packages/server/dist/services/harnessShareScopeService.d.ts +31 -0
  134. package/packages/server/dist/services/harnessShareScopeService.d.ts.map +1 -0
  135. package/packages/server/dist/services/harnessShareScopeService.js +93 -0
  136. package/packages/server/dist/services/harnessShareScopeService.js.map +1 -0
  137. package/packages/server/dist/services/harnessSkillService.d.ts +70 -0
  138. package/packages/server/dist/services/harnessSkillService.d.ts.map +1 -0
  139. package/packages/server/dist/services/harnessSkillService.js +636 -0
  140. package/packages/server/dist/services/harnessSkillService.js.map +1 -0
  141. package/packages/server/dist/services/issueService.d.ts.map +1 -1
  142. package/packages/server/dist/services/issueService.js +2 -1
  143. package/packages/server/dist/services/issueService.js.map +1 -1
  144. package/packages/server/dist/services/manualSyncService.d.ts +19 -0
  145. package/packages/server/dist/services/manualSyncService.d.ts.map +1 -0
  146. package/packages/server/dist/services/manualSyncService.js +110 -0
  147. package/packages/server/dist/services/manualSyncService.js.map +1 -0
  148. package/packages/server/dist/services/queueService.d.ts.map +1 -1
  149. package/packages/server/dist/services/queueService.js +45 -2
  150. package/packages/server/dist/services/queueService.js.map +1 -1
  151. package/packages/server/dist/services/snippetService.d.ts +54 -0
  152. package/packages/server/dist/services/snippetService.d.ts.map +1 -0
  153. package/packages/server/dist/services/snippetService.js +371 -0
  154. package/packages/server/dist/services/snippetService.js.map +1 -0
  155. package/packages/server/dist/services/utils/applyYamlFrontmatterPatch.d.ts +46 -0
  156. package/packages/server/dist/services/utils/applyYamlFrontmatterPatch.d.ts.map +1 -0
  157. package/packages/server/dist/services/utils/applyYamlFrontmatterPatch.js +125 -0
  158. package/packages/server/dist/services/utils/applyYamlFrontmatterPatch.js.map +1 -0
  159. package/packages/server/dist/snippets/split-commit +9 -0
  160. package/packages/server/dist/utils/applySecretsPolicy.d.ts +53 -0
  161. package/packages/server/dist/utils/applySecretsPolicy.d.ts.map +1 -0
  162. package/packages/server/dist/utils/applySecretsPolicy.js +204 -0
  163. package/packages/server/dist/utils/applySecretsPolicy.js.map +1 -0
  164. package/packages/server/dist/utils/assertNoSecretOnShared.d.ts +40 -0
  165. package/packages/server/dist/utils/assertNoSecretOnShared.d.ts.map +1 -0
  166. package/packages/server/dist/utils/assertNoSecretOnShared.js +47 -0
  167. package/packages/server/dist/utils/assertNoSecretOnShared.js.map +1 -0
  168. package/packages/server/dist/utils/gitignoreFilter.d.ts +23 -0
  169. package/packages/server/dist/utils/gitignoreFilter.d.ts.map +1 -0
  170. package/packages/server/dist/utils/gitignoreFilter.js +42 -0
  171. package/packages/server/dist/utils/gitignoreFilter.js.map +1 -0
  172. package/packages/server/dist/utils/harnessBundleSchema.d.ts +105 -0
  173. package/packages/server/dist/utils/harnessBundleSchema.d.ts.map +1 -0
  174. package/packages/server/dist/utils/harnessBundleSchema.js +79 -0
  175. package/packages/server/dist/utils/harnessBundleSchema.js.map +1 -0
  176. package/packages/server/dist/utils/harnessPaths.d.ts +34 -0
  177. package/packages/server/dist/utils/harnessPaths.d.ts.map +1 -0
  178. package/packages/server/dist/utils/harnessPaths.js +124 -0
  179. package/packages/server/dist/utils/harnessPaths.js.map +1 -0
  180. package/packages/server/dist/utils/secretHeuristic.d.ts +72 -0
  181. package/packages/server/dist/utils/secretHeuristic.d.ts.map +1 -0
  182. package/packages/server/dist/utils/secretHeuristic.js +163 -0
  183. package/packages/server/dist/utils/secretHeuristic.js.map +1 -0
  184. package/packages/server/dist/utils/secretPlaceholderNamer.d.ts +41 -0
  185. package/packages/server/dist/utils/secretPlaceholderNamer.d.ts.map +1 -0
  186. package/packages/server/dist/utils/secretPlaceholderNamer.js +81 -0
  187. package/packages/server/dist/utils/secretPlaceholderNamer.js.map +1 -0
  188. package/packages/server/dist/utils/serverPathResolver.d.ts +29 -0
  189. package/packages/server/dist/utils/serverPathResolver.d.ts.map +1 -0
  190. package/packages/server/dist/utils/serverPathResolver.js +59 -0
  191. package/packages/server/dist/utils/serverPathResolver.js.map +1 -0
  192. package/packages/server/dist/utils/snippetPaths.d.ts +61 -0
  193. package/packages/server/dist/utils/snippetPaths.d.ts.map +1 -0
  194. package/packages/server/dist/utils/snippetPaths.js +123 -0
  195. package/packages/server/dist/utils/snippetPaths.js.map +1 -0
  196. package/packages/server/dist/utils/structuredEditor.d.ts +34 -0
  197. package/packages/server/dist/utils/structuredEditor.d.ts.map +1 -0
  198. package/packages/server/dist/utils/structuredEditor.js +111 -0
  199. package/packages/server/dist/utils/structuredEditor.js.map +1 -0
  200. package/packages/server/package.json +4 -1
  201. package/packages/server/resources/internals/INDEX.md +23 -0
  202. package/packages/server/resources/internals/harness-files.md +63 -0
  203. package/packages/server/resources/internals/image-storage.md +43 -0
  204. package/packages/server/resources/manual/01-getting-started.md +104 -0
  205. package/packages/server/resources/manual/02-chat.md +285 -0
  206. package/packages/server/resources/manual/03-sessions.md +48 -0
  207. package/packages/server/resources/manual/04-slash-commands-favorites.md +152 -0
  208. package/packages/server/resources/manual/05-projects.md +74 -0
  209. package/packages/server/resources/manual/06-file-explorer-editor.md +90 -0
  210. package/packages/server/resources/manual/07-git.md +94 -0
  211. package/packages/server/resources/manual/08-terminal.md +59 -0
  212. package/packages/server/resources/manual/09-queue-runner.md +262 -0
  213. package/packages/server/resources/manual/10-project-board.md +193 -0
  214. package/packages/server/resources/manual/11-bmad-method-integration.md +128 -0
  215. package/packages/server/resources/manual/12-harness-workbench.md +175 -0
  216. package/packages/server/resources/manual/13-settings.md +241 -0
  217. package/packages/server/resources/manual/14-keyboard-shortcuts.md +68 -0
  218. package/packages/server/resources/manual/15-environment-variables.md +28 -0
  219. package/packages/server/resources/manual/16-troubleshooting.md +110 -0
  220. package/packages/server/resources/manual/INDEX.md +60 -0
  221. package/packages/shared/dist/index.d.ts +3 -0
  222. package/packages/shared/dist/index.d.ts.map +1 -1
  223. package/packages/shared/dist/index.js +6 -0
  224. package/packages/shared/dist/index.js.map +1 -1
  225. package/packages/shared/dist/types/command.d.ts +3 -3
  226. package/packages/shared/dist/types/command.d.ts.map +1 -1
  227. package/packages/shared/dist/types/harness.d.ts +1211 -0
  228. package/packages/shared/dist/types/harness.d.ts.map +1 -0
  229. package/packages/shared/dist/types/harness.js +107 -0
  230. package/packages/shared/dist/types/harness.js.map +1 -0
  231. package/packages/shared/dist/types/harnessBundle.d.ts +170 -0
  232. package/packages/shared/dist/types/harnessBundle.d.ts.map +1 -0
  233. package/packages/shared/dist/types/harnessBundle.js +18 -0
  234. package/packages/shared/dist/types/harnessBundle.js.map +1 -0
  235. package/packages/shared/dist/types/preferences.d.ts +2 -0
  236. package/packages/shared/dist/types/preferences.d.ts.map +1 -1
  237. package/packages/shared/dist/types/preferences.js.map +1 -1
  238. package/packages/shared/dist/types/queue.d.ts +9 -0
  239. package/packages/shared/dist/types/queue.d.ts.map +1 -1
  240. package/packages/shared/dist/types/websocket.d.ts +10 -0
  241. package/packages/shared/dist/types/websocket.d.ts.map +1 -1
  242. package/packages/shared/dist/utils/markdownSections.d.ts +50 -0
  243. package/packages/shared/dist/utils/markdownSections.d.ts.map +1 -0
  244. package/packages/shared/dist/utils/markdownSections.js +111 -0
  245. package/packages/shared/dist/utils/markdownSections.js.map +1 -0
  246. package/packages/shared/dist/utils/queueParser.d.ts.map +1 -1
  247. package/packages/shared/dist/utils/queueParser.js +104 -0
  248. package/packages/shared/dist/utils/queueParser.js.map +1 -1
  249. package/scripts/build-manual-shards.mjs +100 -0
  250. package/packages/client/dist/assets/index-6jREnVYd.js +0 -2
  251. package/packages/client/dist/assets/index-BFF0iqyW.css +0 -32
  252. package/packages/client/dist/assets/index-BcI4y-fU.js +0 -1454
@@ -1 +1 @@
1
- {"version":3,"file":"commandService.js","sourceRoot":"","sources":["../../src/services/commandService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commandService.js","sourceRoot":"","sources":["../../src/services/commandService.ts"],"names":[],"mappings":"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"}
@@ -11,9 +11,20 @@
11
11
  * cause an "external change" banner on their own save. Callers must invoke
12
12
  * noteLocalWrite(absolutePath) immediately after writing — events for paths
13
13
  * noted within the last SELF_WRITE_WINDOW_MS are silently dropped.
14
+ *
15
+ * Story 28.0.5: extended with harness-scope watchers over ~/.claude (user) and
16
+ * <project>/.claude (project). Harness watchers emit `harness:external-change`
17
+ * on dedicated rooms and share the same self-write-suppression map so writes
18
+ * coming out of harnessService do not echo back to the originating client.
14
19
  */
20
+ import type { HarnessScope } from '@hammoc/shared';
21
+ interface HarnessRef {
22
+ scope: HarnessScope;
23
+ projectSlug?: string;
24
+ }
15
25
  declare class FileWatcherService {
16
26
  private watchers;
27
+ private harnessWatchers;
17
28
  /** absolute path → timestamp (ms) of the last local write */
18
29
  private pendingLocalWrites;
19
30
  /** Events arriving within this window after a local write are treated as our own echo. */
@@ -25,6 +36,19 @@ declare class FileWatcherService {
25
36
  ensureWatcher(projectSlug: string, projectRoot: string): void;
26
37
  /** Decrement the ref count and close the watcher when it reaches zero. */
27
38
  releaseWatcher(projectSlug: string): void;
39
+ /**
40
+ * Start (or increment the ref count of) a harness watcher for the given scope.
41
+ * - `scope='user'` → ~/.claude (via `getUserHarnessRoot()`)
42
+ * - `scope='project'` → <project>/.claude (via `getProjectHarnessRoot()`)
43
+ *
44
+ * Idempotent + reference-counted so concurrent subscribers share one chokidar.
45
+ * Unlike the project watcher, harness watchers subscribe to `add` in addition
46
+ * to `change`/`unlink` so they can fire the `'created'` type required by
47
+ * HarnessExternalChangeEvent.
48
+ */
49
+ ensureHarnessWatcher(ref: HarnessRef): Promise<void>;
50
+ /** Decrement the harness watcher ref count, closing when it reaches zero. */
51
+ releaseHarnessWatcher(ref: HarnessRef): void;
28
52
  /** Mark an absolute path as just-written so the next watcher event is ignored. */
29
53
  noteLocalWrite(absolutePath: string): void;
30
54
  /** Close every active watcher. Called on server shutdown. */
@@ -1 +1 @@
1
- {"version":3,"file":"fileWatcherService.d.ts","sourceRoot":"","sources":["../../src/services/fileWatcherService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAoBH,cAAM,kBAAkB;IACtB,OAAO,CAAC,QAAQ,CAAqC;IACrD,6DAA6D;IAC7D,OAAO,CAAC,kBAAkB,CAA6B;IAEvD,0FAA0F;IAC1F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAQ;IAEpD;;;OAGG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAwE7D,0EAA0E;IAC1E,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAYzC,kFAAkF;IAClF,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAa1C,6DAA6D;IACvD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAQhC;AAED,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
1
+ {"version":3,"file":"fileWatcherService.d.ts","sourceRoot":"","sources":["../../src/services/fileWatcherService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,KAAK,EAAE,YAAY,EAA8B,MAAM,gBAAgB,CAAC;AAqB/E,UAAU,UAAU;IAClB,KAAK,EAAE,YAAY,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAiBD,cAAM,kBAAkB;IACtB,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,eAAe,CAAqC;IAC5D,6DAA6D;IAC7D,OAAO,CAAC,kBAAkB,CAA6B;IAEvD,0FAA0F;IAC1F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAQ;IAEpD;;;OAGG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAwE7D,0EAA0E;IAC1E,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAYzC;;;;;;;;;OASG;IACG,oBAAoB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAuJ1D,6EAA6E;IAC7E,qBAAqB,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI;IAY5C,kFAAkF;IAClF,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAa1C,6DAA6D;IACvD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAchC;AAED,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
@@ -11,18 +11,33 @@
11
11
  * cause an "external change" banner on their own save. Callers must invoke
12
12
  * noteLocalWrite(absolutePath) immediately after writing — events for paths
13
13
  * noted within the last SELF_WRITE_WINDOW_MS are silently dropped.
14
+ *
15
+ * Story 28.0.5: extended with harness-scope watchers over ~/.claude (user) and
16
+ * <project>/.claude (project). Harness watchers emit `harness:external-change`
17
+ * on dedicated rooms and share the same self-write-suppression map so writes
18
+ * coming out of harnessService do not echo back to the originating client.
14
19
  */
15
20
  import chokidar from 'chokidar';
16
21
  import path from 'path';
17
22
  import { getIO } from '../handlers/websocket.js';
18
23
  import { createLogger } from '../utils/logger.js';
24
+ import { getUserHarnessRoot, getProjectHarnessRoot } from '../utils/harnessPaths.js';
19
25
  const log = createLogger('fileWatcher');
20
26
  /** Directories where we never recurse — mirrors fileSystemService.SKIP_DIRS. */
21
27
  const SKIP_DIRS = new Set([
22
28
  'node_modules', '.git', '.next', '.cache', '__pycache__', 'dist', '.turbo',
23
29
  ]);
30
+ function harnessKey(ref) {
31
+ return ref.scope === 'user'
32
+ ? 'harness:user'
33
+ : `harness:project:${ref.projectSlug ?? ''}`;
34
+ }
35
+ function harnessRoom(ref) {
36
+ return harnessKey(ref);
37
+ }
24
38
  class FileWatcherService {
25
39
  watchers = new Map();
40
+ harnessWatchers = new Map();
26
41
  /** absolute path → timestamp (ms) of the last local write */
27
42
  pendingLocalWrites = new Map();
28
43
  /** Events arriving within this window after a local write are treated as our own echo. */
@@ -113,6 +128,178 @@ class FileWatcherService {
113
128
  log.info(`stopped file watcher for project "${projectSlug}"`);
114
129
  }
115
130
  }
131
+ /**
132
+ * Start (or increment the ref count of) a harness watcher for the given scope.
133
+ * - `scope='user'` → ~/.claude (via `getUserHarnessRoot()`)
134
+ * - `scope='project'` → <project>/.claude (via `getProjectHarnessRoot()`)
135
+ *
136
+ * Idempotent + reference-counted so concurrent subscribers share one chokidar.
137
+ * Unlike the project watcher, harness watchers subscribe to `add` in addition
138
+ * to `change`/`unlink` so they can fire the `'created'` type required by
139
+ * HarnessExternalChangeEvent.
140
+ */
141
+ async ensureHarnessWatcher(ref) {
142
+ const key = harnessKey(ref);
143
+ const existing = this.harnessWatchers.get(key);
144
+ if (existing) {
145
+ existing.refCount++;
146
+ return;
147
+ }
148
+ let resolvedRoot;
149
+ try {
150
+ resolvedRoot = ref.scope === 'user'
151
+ ? getUserHarnessRoot()
152
+ : await getProjectHarnessRoot(ref.projectSlug ?? '');
153
+ }
154
+ catch (err) {
155
+ log.warn(`failed to resolve harness root for ${key}: ${String(err)}`);
156
+ return;
157
+ }
158
+ // Story 28.3: project scope must also surface external edits to
159
+ // `<projectRoot>/.mcp.json`. The file is the SIBLING of `.claude/`, so
160
+ // the standard root-only watcher cannot pick it up. We add it as a second
161
+ // path in the same chokidar instance and emit `path: '.mcp.json'`
162
+ // (hard-coded relative form) when the event lands on that file.
163
+ //
164
+ // Story 29.1 (AC2.b): same pattern is used to watch `<projectRoot>/CLAUDE.md`,
165
+ // a second sibling of `.claude/`. Its emitted path is normalized to
166
+ // `'../CLAUDE.md'` so it cannot collide with `<projectRoot>/.claude/CLAUDE.md`
167
+ // (which would also normalize to `'CLAUDE.md'`). Using the `..` prefix —
168
+ // a string that path-resolver would otherwise reject as traversal — guarantees
169
+ // a unique discriminator since no path going through the standard harness
170
+ // API can ever match it. Client matching rule (AC2.b) is `path === '../CLAUDE.md'`.
171
+ const projectMcpFilePath = ref.scope === 'project'
172
+ ? path.join(path.dirname(resolvedRoot), '.mcp.json')
173
+ : null;
174
+ const projectClaudeMdPath = ref.scope === 'project'
175
+ ? path.join(path.dirname(resolvedRoot), 'CLAUDE.md')
176
+ : null;
177
+ // Story 30.1 (AC2.b): the project's `.gitignore` lives at <projectRoot>/.gitignore,
178
+ // a sibling of `.claude/`. We watch it on the same chokidar instance as
179
+ // `.mcp.json` and `CLAUDE.md` and emit a discriminated path
180
+ // (`'../.gitignore'`) so the client can route the event to the
181
+ // share-scope store without a new socket event.
182
+ const projectGitignorePath = ref.scope === 'project'
183
+ ? path.join(path.dirname(resolvedRoot), '.gitignore')
184
+ : null;
185
+ const watchTargets = ref.scope === 'project'
186
+ ? [
187
+ resolvedRoot,
188
+ projectMcpFilePath,
189
+ projectClaudeMdPath,
190
+ projectGitignorePath,
191
+ ]
192
+ : resolvedRoot;
193
+ const watcher = chokidar.watch(watchTargets, {
194
+ ignoreInitial: true,
195
+ ignored: (target) => {
196
+ // Always allow the sibling files (`.mcp.json`, `CLAUDE.md`, `.gitignore`) —
197
+ // chokidar would otherwise drop them because they sit outside
198
+ // `resolvedRoot`.
199
+ if (projectMcpFilePath && path.resolve(target) === path.resolve(projectMcpFilePath)) {
200
+ return false;
201
+ }
202
+ if (projectClaudeMdPath && path.resolve(target) === path.resolve(projectClaudeMdPath)) {
203
+ return false;
204
+ }
205
+ if (projectGitignorePath && path.resolve(target) === path.resolve(projectGitignorePath)) {
206
+ return false;
207
+ }
208
+ const rel = path.relative(resolvedRoot, target).replace(/\\/g, '/');
209
+ if (!rel || rel === '.')
210
+ return false;
211
+ const segments = rel.split('/');
212
+ for (const seg of segments) {
213
+ if (SKIP_DIRS.has(seg))
214
+ return true;
215
+ }
216
+ return false;
217
+ },
218
+ awaitWriteFinish: {
219
+ stabilityThreshold: 200,
220
+ pollInterval: 50,
221
+ },
222
+ persistent: true,
223
+ followSymlinks: false,
224
+ });
225
+ const emit = (type) => (absolutePath, stats) => {
226
+ try {
227
+ const noteTs = this.pendingLocalWrites.get(absolutePath);
228
+ if (noteTs !== undefined && Date.now() - noteTs < FileWatcherService.SELF_WRITE_WINDOW_MS) {
229
+ this.pendingLocalWrites.delete(absolutePath);
230
+ return;
231
+ }
232
+ let rel;
233
+ if (projectMcpFilePath
234
+ && path.resolve(absolutePath) === path.resolve(projectMcpFilePath)) {
235
+ rel = '.mcp.json';
236
+ }
237
+ else if (projectClaudeMdPath
238
+ && path.resolve(absolutePath) === path.resolve(projectClaudeMdPath)) {
239
+ // Story 29.1 (AC2.b): `<projectRoot>/CLAUDE.md` emits as
240
+ // `'../CLAUDE.md'` to namespace-separate it from a hypothetical
241
+ // `<projectRoot>/.claude/CLAUDE.md` that would otherwise share
242
+ // the relative path `'CLAUDE.md'`.
243
+ rel = '../CLAUDE.md';
244
+ }
245
+ else if (projectGitignorePath
246
+ && path.resolve(absolutePath) === path.resolve(projectGitignorePath)) {
247
+ // Story 30.1 (AC2.b): same trick — `'../.gitignore'` is the
248
+ // discriminated path the client store keys on to trigger a full
249
+ // share-scope reload (everything depends on `.gitignore`).
250
+ rel = '../.gitignore';
251
+ }
252
+ else {
253
+ rel = path.relative(resolvedRoot, absolutePath).replace(/\\/g, '/');
254
+ if (!rel || rel === '.' || rel.startsWith('..'))
255
+ return;
256
+ }
257
+ const payload = {
258
+ scope: ref.scope,
259
+ projectSlug: ref.projectSlug,
260
+ path: rel,
261
+ type,
262
+ mtime: type !== 'deleted' && stats?.mtime ? stats.mtime.toISOString() : undefined,
263
+ };
264
+ try {
265
+ getIO().to(harnessRoom(ref)).emit('harness:external-change', payload);
266
+ }
267
+ catch {
268
+ // Socket.io not initialized yet — drop silently.
269
+ }
270
+ }
271
+ catch (err) {
272
+ log.warn(`failed to emit harness:external-change for ${key}: ${String(err)}`);
273
+ }
274
+ };
275
+ watcher.on('add', emit('created'));
276
+ watcher.on('change', emit('modified'));
277
+ watcher.on('unlink', emit('deleted'));
278
+ watcher.on('error', (err) => {
279
+ log.warn(`chokidar harness watcher error (${key}): ${String(err)}`);
280
+ });
281
+ this.harnessWatchers.set(key, {
282
+ watcher,
283
+ refCount: 1,
284
+ resolvedRoot,
285
+ scope: ref.scope,
286
+ projectSlug: ref.projectSlug,
287
+ });
288
+ log.info(`started harness watcher for ${key} at ${resolvedRoot}`);
289
+ }
290
+ /** Decrement the harness watcher ref count, closing when it reaches zero. */
291
+ releaseHarnessWatcher(ref) {
292
+ const key = harnessKey(ref);
293
+ const existing = this.harnessWatchers.get(key);
294
+ if (!existing)
295
+ return;
296
+ existing.refCount--;
297
+ if (existing.refCount <= 0) {
298
+ existing.watcher.close().catch(() => { });
299
+ this.harnessWatchers.delete(key);
300
+ log.info(`stopped harness watcher for ${key}`);
301
+ }
302
+ }
116
303
  /** Mark an absolute path as just-written so the next watcher event is ignored. */
117
304
  noteLocalWrite(absolutePath) {
118
305
  this.pendingLocalWrites.set(absolutePath, Date.now());
@@ -128,8 +315,12 @@ class FileWatcherService {
128
315
  }
129
316
  /** Close every active watcher. Called on server shutdown. */
130
317
  async shutdown() {
131
- const closers = Array.from(this.watchers.values()).map(({ watcher }) => watcher.close().catch(() => { }));
318
+ const closers = [
319
+ ...Array.from(this.watchers.values()).map(({ watcher }) => watcher.close().catch(() => { })),
320
+ ...Array.from(this.harnessWatchers.values()).map(({ watcher }) => watcher.close().catch(() => { })),
321
+ ];
132
322
  this.watchers.clear();
323
+ this.harnessWatchers.clear();
133
324
  this.pendingLocalWrites.clear();
134
325
  await Promise.all(closers);
135
326
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fileWatcherService.js","sourceRoot":"","sources":["../../src/services/fileWatcherService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fileWatcherService.js","sourceRoot":"","sources":["../../src/services/fileWatcherService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Story 28.6: Harness sub-agent service.
3
+ *
4
+ * Combines three sources of `.claude/agents/*.md` files into a single flat
5
+ * card list (flat-only — no recursive subdirectory walk):
6
+ * - <projectRoot>/.claude/agents/ (project scope)
7
+ * - ~/.claude/agents/ (user scope)
8
+ * - <pluginInstallPath>/agents/ (plugin scope, read-only)
9
+ *
10
+ * Each .md file has YAML frontmatter with 4 required fields
11
+ * (name/description/model/color) + 1 optional 3-state `tools` field. Body is
12
+ * the markdown system prompt. Round-trip via `applyYamlFrontmatterPatch`
13
+ * (eemeli yaml — preserves comments / key order / blank lines).
14
+ *
15
+ * Differences from 28.5 (commands):
16
+ * - flat-only scan (no subdirectory walk)
17
+ * - 4 required frontmatter fields (name regex + model/color enum)
18
+ * - tools 3-state model (omitted vs empty vs populated) round-trip
19
+ * - file stem === frontmatter.name (no slash-name conversion)
20
+ * - no chat slash palette dedup
21
+ * - no BMad mirror heuristic (`.claude/agents/` has no BMad presence)
22
+ */
23
+ import { type HarnessAgentCopyRequest, type HarnessAgentCopyResponse, type HarnessAgentCreateRequest, type HarnessAgentCreateResponse, type HarnessAgentDeleteRequest, type HarnessAgentDeleteResponse, type HarnessAgentFrontmatter, type HarnessAgentListResponse, type HarnessAgentMalformedEntry, type HarnessAgentReadResponse, type HarnessAgentSourceLocation, type HarnessAgentSourceScope, type HarnessAgentToolsState, type HarnessAgentUpdateRequest, type HarnessAgentUpdateResponse } from '@hammoc/shared';
24
+ /** Throws HARNESS_PARSE_ERROR with detail when name fails the regex / OS check. */
25
+ declare function validateAgentName(name: string): void;
26
+ declare function detectExampleBlock(body: string): boolean;
27
+ declare function detectSecretsInText(text: string): {
28
+ matched: boolean;
29
+ lines: number[];
30
+ };
31
+ interface ParsedFrontmatter {
32
+ frontmatter: HarnessAgentFrontmatter;
33
+ toolsState: HarnessAgentToolsState;
34
+ }
35
+ interface FrontmatterValidationFailure {
36
+ malformed: true;
37
+ reason: HarnessAgentMalformedEntry['reason'];
38
+ detail?: string;
39
+ }
40
+ type FrontmatterParseResult = ParsedFrontmatter | FrontmatterValidationFailure;
41
+ declare function parseAgentFrontmatter(raw: string | null, fileStem: string): FrontmatterParseResult;
42
+ interface SerializeOptions {
43
+ frontmatter: HarnessAgentFrontmatter;
44
+ toolsState?: HarnessAgentToolsState;
45
+ }
46
+ /**
47
+ * Custom YAML round-trip that preserves comments / key order / blank lines for
48
+ * untouched keys, and explicitly handles the tools 3-state model:
49
+ * - state A (omitted) → delete tools key
50
+ * - state B (empty) → write tools: []
51
+ * - state C (populated) → write tools: [...]
52
+ */
53
+ declare function serializeAgentFrontmatter(prevRaw: string, opts: SerializeOptions): string;
54
+ declare class HarnessAgentService {
55
+ listCards(currentProjectSlug?: string): Promise<HarnessAgentListResponse>;
56
+ readAgent(loc: HarnessAgentSourceLocation): Promise<HarnessAgentReadResponse>;
57
+ createAgent(req: HarnessAgentCreateRequest): Promise<HarnessAgentCreateResponse>;
58
+ updateAgent(loc: HarnessAgentSourceLocation, body: HarnessAgentUpdateRequest): Promise<HarnessAgentUpdateResponse>;
59
+ copyAgent(req: HarnessAgentCopyRequest): Promise<HarnessAgentCopyResponse>;
60
+ deleteAgent(req: HarnessAgentDeleteRequest): Promise<HarnessAgentDeleteResponse>;
61
+ private buildEditableRef;
62
+ }
63
+ export declare function resolveAgentSourceLocation(input: {
64
+ scope: HarnessAgentSourceScope;
65
+ name: string;
66
+ projectSlug?: string;
67
+ pluginKey?: string;
68
+ }): Promise<HarnessAgentSourceLocation>;
69
+ export declare const harnessAgentInternals: {
70
+ detectExampleBlock: typeof detectExampleBlock;
71
+ detectSecretsInText: typeof detectSecretsInText;
72
+ parseAgentFrontmatter: typeof parseAgentFrontmatter;
73
+ serializeAgentFrontmatter: typeof serializeAgentFrontmatter;
74
+ validateAgentName: typeof validateAgentName;
75
+ AGENT_NAME_RE: RegExp;
76
+ };
77
+ export declare const harnessAgentService: HarnessAgentService;
78
+ export {};
79
+ //# sourceMappingURL=harnessAgentService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harnessAgentService.d.ts","sourceRoot":"","sources":["../../src/services/harnessAgentService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,OAAO,EAIL,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAE/B,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAGhC,MAAM,gBAAgB,CAAC;AAqExB,mFAAmF;AACnF,iBAAS,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAwB7C;AAMD,iBAAS,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,iBAAS,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAGhF;AAMD,UAAU,iBAAiB;IACzB,WAAW,EAAE,uBAAuB,CAAC;IACrC,UAAU,EAAE,sBAAsB,CAAC;CACpC;AAED,UAAU,4BAA4B;IACpC,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,KAAK,sBAAsB,GAAG,iBAAiB,GAAG,4BAA4B,CAAC;AAE/E,iBAAS,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,sBAAsB,CAwF3F;AAgaD,UAAU,gBAAgB;IACxB,WAAW,EAAE,uBAAuB,CAAC;IACrC,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACrC;AAED;;;;;;GAMG;AACH,iBAAS,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAmElF;AAMD,cAAM,mBAAmB;IACjB,SAAS,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA4CzE,SAAS,CAAC,GAAG,EAAE,0BAA0B,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAgB7E,WAAW,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IA0DhF,WAAW,CACf,GAAG,EAAE,0BAA0B,EAC/B,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,0BAA0B,CAAC;IAiHhC,SAAS,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAqF1E,WAAW,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAAC,0BAA0B,CAAC;YAyBxE,gBAAgB;CAuB/B;AAMD,wBAAsB,0BAA0B,CAAC,KAAK,EAAE;IACtD,KAAK,EAAE,uBAAuB,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAGtC;AAGD,eAAO,MAAM,qBAAqB;;;;;;;CAOjC,CAAC;AAEF,eAAO,MAAM,mBAAmB,qBAA4B,CAAC"}