@intutic/sync-daemon 2.1.0 → 2.3.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 (288) hide show
  1. package/README.md +1 -1
  2. package/dist/agentReporter.d.ts +24 -11
  3. package/dist/agentReporter.d.ts.map +1 -1
  4. package/dist/agentReporter.js +20 -13
  5. package/dist/agentReporter.js.map +1 -1
  6. package/dist/configReader.d.ts +45 -25
  7. package/dist/configReader.d.ts.map +1 -1
  8. package/dist/configReader.js +70 -46
  9. package/dist/configReader.js.map +1 -1
  10. package/dist/configWriter.d.ts +32 -45
  11. package/dist/configWriter.d.ts.map +1 -1
  12. package/dist/configWriter.js +52 -686
  13. package/dist/configWriter.js.map +1 -1
  14. package/dist/disconnect/harnesses.d.ts +29 -0
  15. package/dist/disconnect/harnesses.d.ts.map +1 -0
  16. package/dist/disconnect/harnesses.js +805 -0
  17. package/dist/disconnect/harnesses.js.map +1 -0
  18. package/dist/disconnect/index.d.ts +25 -0
  19. package/dist/disconnect/index.d.ts.map +1 -0
  20. package/dist/disconnect/index.js +92 -0
  21. package/dist/disconnect/index.js.map +1 -0
  22. package/dist/disconnect/mcp.d.ts +81 -0
  23. package/dist/disconnect/mcp.d.ts.map +1 -0
  24. package/dist/disconnect/mcp.js +354 -0
  25. package/dist/disconnect/mcp.js.map +1 -0
  26. package/dist/disconnect/originals.d.ts +88 -0
  27. package/dist/disconnect/originals.d.ts.map +1 -0
  28. package/dist/disconnect/originals.js +257 -0
  29. package/dist/disconnect/originals.js.map +1 -0
  30. package/dist/disconnect/plan.d.ts +175 -0
  31. package/dist/disconnect/plan.d.ts.map +1 -0
  32. package/dist/disconnect/plan.js +580 -0
  33. package/dist/disconnect/plan.js.map +1 -0
  34. package/dist/disconnect/recognise.d.ts +43 -0
  35. package/dist/disconnect/recognise.d.ts.map +1 -0
  36. package/dist/disconnect/recognise.js +108 -0
  37. package/dist/disconnect/recognise.js.map +1 -0
  38. package/dist/disconnect/tomlLines.d.ts +39 -0
  39. package/dist/disconnect/tomlLines.d.ts.map +1 -0
  40. package/dist/disconnect/tomlLines.js +105 -0
  41. package/dist/disconnect/tomlLines.js.map +1 -0
  42. package/dist/harness/aiderConfigMerger.d.ts +29 -8
  43. package/dist/harness/aiderConfigMerger.d.ts.map +1 -1
  44. package/dist/harness/aiderConfigMerger.js +63 -12
  45. package/dist/harness/aiderConfigMerger.js.map +1 -1
  46. package/dist/harness/antigravityCliHooks.d.ts +61 -0
  47. package/dist/harness/antigravityCliHooks.d.ts.map +1 -0
  48. package/dist/harness/antigravityCliHooks.js +207 -0
  49. package/dist/harness/antigravityCliHooks.js.map +1 -0
  50. package/dist/harness/antigravityHooks.d.ts +12 -2
  51. package/dist/harness/antigravityHooks.d.ts.map +1 -1
  52. package/dist/harness/antigravityHooks.js +38 -16
  53. package/dist/harness/antigravityHooks.js.map +1 -1
  54. package/dist/harness/antigravityProducts.d.ts +40 -0
  55. package/dist/harness/antigravityProducts.d.ts.map +1 -0
  56. package/dist/harness/antigravityProducts.js +109 -0
  57. package/dist/harness/antigravityProducts.js.map +1 -0
  58. package/dist/harness/claudeAgentsMd.d.ts +29 -0
  59. package/dist/harness/claudeAgentsMd.d.ts.map +1 -0
  60. package/dist/harness/claudeAgentsMd.js +80 -0
  61. package/dist/harness/claudeAgentsMd.js.map +1 -0
  62. package/dist/harness/claudeCodeHooks.d.ts +6 -6
  63. package/dist/harness/claudeCodeHooks.d.ts.map +1 -1
  64. package/dist/harness/claudeCodeHooks.js +115 -28
  65. package/dist/harness/claudeCodeHooks.js.map +1 -1
  66. package/dist/harness/claudeProjectApproval.d.ts +53 -0
  67. package/dist/harness/claudeProjectApproval.d.ts.map +1 -0
  68. package/dist/harness/claudeProjectApproval.js +159 -0
  69. package/dist/harness/claudeProjectApproval.js.map +1 -0
  70. package/dist/harness/clineHooks.d.ts +0 -1
  71. package/dist/harness/clineHooks.d.ts.map +1 -1
  72. package/dist/harness/clineHooks.js +13 -4
  73. package/dist/harness/clineHooks.js.map +1 -1
  74. package/dist/harness/codexConfigMerger.d.ts.map +1 -1
  75. package/dist/harness/codexConfigMerger.js +4 -0
  76. package/dist/harness/codexConfigMerger.js.map +1 -1
  77. package/dist/harness/codexHooks.d.ts +2 -0
  78. package/dist/harness/codexHooks.d.ts.map +1 -1
  79. package/dist/harness/codexHooks.js +15 -4
  80. package/dist/harness/codexHooks.js.map +1 -1
  81. package/dist/harness/continueConfigMerger.d.ts.map +1 -1
  82. package/dist/harness/continueConfigMerger.js +4 -0
  83. package/dist/harness/continueConfigMerger.js.map +1 -1
  84. package/dist/harness/cursorHooks.d.ts +5 -2
  85. package/dist/harness/cursorHooks.d.ts.map +1 -1
  86. package/dist/harness/cursorHooks.js +12 -3
  87. package/dist/harness/cursorHooks.js.map +1 -1
  88. package/dist/harness/dshHooks.d.ts +5 -5
  89. package/dist/harness/dshHooks.d.ts.map +1 -1
  90. package/dist/harness/dshHooks.js +12 -5
  91. package/dist/harness/dshHooks.js.map +1 -1
  92. package/dist/harness/gateArtifacts.d.ts +35 -0
  93. package/dist/harness/gateArtifacts.d.ts.map +1 -0
  94. package/dist/harness/gateArtifacts.js +88 -0
  95. package/dist/harness/gateArtifacts.js.map +1 -0
  96. package/dist/harness/gateBody.d.ts +195 -69
  97. package/dist/harness/gateBody.d.ts.map +1 -1
  98. package/dist/harness/gateBody.js +847 -182
  99. package/dist/harness/gateBody.js.map +1 -1
  100. package/dist/harness/gateSightings.d.ts +47 -0
  101. package/dist/harness/gateSightings.d.ts.map +1 -0
  102. package/dist/harness/gateSightings.js +159 -0
  103. package/dist/harness/gateSightings.js.map +1 -0
  104. package/dist/harness/githubCopilotHooks.d.ts.map +1 -1
  105. package/dist/harness/githubCopilotHooks.js +11 -10
  106. package/dist/harness/githubCopilotHooks.js.map +1 -1
  107. package/dist/harness/gooseHardener.d.ts +0 -1
  108. package/dist/harness/gooseHardener.d.ts.map +1 -1
  109. package/dist/harness/gooseHardener.js +1 -1
  110. package/dist/harness/gooseHardener.js.map +1 -1
  111. package/dist/harness/gooseHooks.d.ts +29 -1
  112. package/dist/harness/gooseHooks.d.ts.map +1 -1
  113. package/dist/harness/gooseHooks.js +107 -69
  114. package/dist/harness/gooseHooks.js.map +1 -1
  115. package/dist/harness/grokHooks.d.ts +2 -2
  116. package/dist/harness/grokHooks.d.ts.map +1 -1
  117. package/dist/harness/grokHooks.js +20 -18
  118. package/dist/harness/grokHooks.js.map +1 -1
  119. package/dist/harness/hermesHooks.d.ts +18 -8
  120. package/dist/harness/hermesHooks.d.ts.map +1 -1
  121. package/dist/harness/hermesHooks.js +55 -19
  122. package/dist/harness/hermesHooks.js.map +1 -1
  123. package/dist/harness/holdRedaction.d.ts +4 -1
  124. package/dist/harness/holdRedaction.d.ts.map +1 -1
  125. package/dist/harness/holdRedaction.js +32 -8
  126. package/dist/harness/holdRedaction.js.map +1 -1
  127. package/dist/harness/jetbrainsXmlConfig.d.ts +20 -0
  128. package/dist/harness/jetbrainsXmlConfig.d.ts.map +1 -1
  129. package/dist/harness/jetbrainsXmlConfig.js +39 -18
  130. package/dist/harness/jetbrainsXmlConfig.js.map +1 -1
  131. package/dist/harness/mcpAutoWrite.d.ts +62 -25
  132. package/dist/harness/mcpAutoWrite.d.ts.map +1 -1
  133. package/dist/harness/mcpAutoWrite.js +406 -95
  134. package/dist/harness/mcpAutoWrite.js.map +1 -1
  135. package/dist/harness/museHooks.d.ts +3 -3
  136. package/dist/harness/museHooks.d.ts.map +1 -1
  137. package/dist/harness/museHooks.js +15 -7
  138. package/dist/harness/museHooks.js.map +1 -1
  139. package/dist/harness/n8nHooks.d.ts +0 -1
  140. package/dist/harness/n8nHooks.d.ts.map +1 -1
  141. package/dist/harness/n8nHooks.js +4 -1
  142. package/dist/harness/n8nHooks.js.map +1 -1
  143. package/dist/harness/openCodeHooks.d.ts +2 -2
  144. package/dist/harness/openCodeHooks.d.ts.map +1 -1
  145. package/dist/harness/openCodeHooks.js +9 -8
  146. package/dist/harness/openCodeHooks.js.map +1 -1
  147. package/dist/harness/openWebuiHooks.d.ts +0 -1
  148. package/dist/harness/openWebuiHooks.d.ts.map +1 -1
  149. package/dist/harness/openWebuiHooks.js +11 -3
  150. package/dist/harness/openWebuiHooks.js.map +1 -1
  151. package/dist/harness/openclawHooks.d.ts +75 -18
  152. package/dist/harness/openclawHooks.d.ts.map +1 -1
  153. package/dist/harness/openclawHooks.js +214 -160
  154. package/dist/harness/openclawHooks.js.map +1 -1
  155. package/dist/harness/openhandsHooks.d.ts +37 -11
  156. package/dist/harness/openhandsHooks.d.ts.map +1 -1
  157. package/dist/harness/openhandsHooks.js +148 -97
  158. package/dist/harness/openhandsHooks.js.map +1 -1
  159. package/dist/harness/piHooks.d.ts +52 -17
  160. package/dist/harness/piHooks.d.ts.map +1 -1
  161. package/dist/harness/piHooks.js +177 -163
  162. package/dist/harness/piHooks.js.map +1 -1
  163. package/dist/harness/protectedPaths.d.ts +107 -25
  164. package/dist/harness/protectedPaths.d.ts.map +1 -1
  165. package/dist/harness/protectedPaths.js +342 -48
  166. package/dist/harness/protectedPaths.js.map +1 -1
  167. package/dist/harness/rulesSection.d.ts +62 -0
  168. package/dist/harness/rulesSection.d.ts.map +1 -0
  169. package/dist/harness/rulesSection.js +145 -0
  170. package/dist/harness/rulesSection.js.map +1 -0
  171. package/dist/harness/windsurfHooks.d.ts +18 -3
  172. package/dist/harness/windsurfHooks.d.ts.map +1 -1
  173. package/dist/harness/windsurfHooks.js +41 -8
  174. package/dist/harness/windsurfHooks.js.map +1 -1
  175. package/dist/harness/windsurfJetBrainsProxy.d.ts +1 -1
  176. package/dist/harness/windsurfJetBrainsProxy.d.ts.map +1 -1
  177. package/dist/harness/windsurfJetBrainsProxy.js +5 -1
  178. package/dist/harness/windsurfJetBrainsProxy.js.map +1 -1
  179. package/dist/index.d.ts +21 -20
  180. package/dist/index.d.ts.map +1 -1
  181. package/dist/index.js +19 -19
  182. package/dist/index.js.map +1 -1
  183. package/dist/inventory.d.ts +53 -0
  184. package/dist/inventory.d.ts.map +1 -0
  185. package/dist/inventory.js +133 -0
  186. package/dist/inventory.js.map +1 -0
  187. package/dist/lib/complianceProbes.d.ts +2 -1
  188. package/dist/lib/complianceProbes.d.ts.map +1 -1
  189. package/dist/lib/complianceProbes.js +1 -1
  190. package/dist/lib/complianceProbes.js.map +1 -1
  191. package/dist/lib/decisionsDigest.d.ts +35 -17
  192. package/dist/lib/decisionsDigest.d.ts.map +1 -1
  193. package/dist/lib/decisionsDigest.js +106 -47
  194. package/dist/lib/decisionsDigest.js.map +1 -1
  195. package/dist/lib/egressPolicy.d.ts +2 -2
  196. package/dist/lib/egressPolicy.js +2 -2
  197. package/dist/lib/mcpRegistryPy.d.ts +11 -0
  198. package/dist/lib/mcpRegistryPy.d.ts.map +1 -0
  199. package/dist/lib/mcpRegistryPy.js +173 -0
  200. package/dist/lib/mcpRegistryPy.js.map +1 -0
  201. package/dist/lib/phrasesPy.d.ts +11 -0
  202. package/dist/lib/phrasesPy.d.ts.map +1 -0
  203. package/dist/lib/phrasesPy.js +351 -0
  204. package/dist/lib/phrasesPy.js.map +1 -0
  205. package/dist/lib/policySnapshot.d.ts +63 -9
  206. package/dist/lib/policySnapshot.d.ts.map +1 -1
  207. package/dist/lib/policySnapshot.js +269 -45
  208. package/dist/lib/policySnapshot.js.map +1 -1
  209. package/dist/lib/processPoller.d.ts.map +1 -1
  210. package/dist/lib/processPoller.js +9 -2
  211. package/dist/lib/processPoller.js.map +1 -1
  212. package/dist/lib/regexLinearity.d.ts +43 -0
  213. package/dist/lib/regexLinearity.d.ts.map +1 -0
  214. package/dist/lib/regexLinearity.js +275 -0
  215. package/dist/lib/regexLinearity.js.map +1 -0
  216. package/dist/lib/runtimeEnv.d.ts +1 -3
  217. package/dist/lib/runtimeEnv.d.ts.map +1 -1
  218. package/dist/lib/runtimeEnv.js +0 -2
  219. package/dist/lib/runtimeEnv.js.map +1 -1
  220. package/dist/lib/sequencePy.d.ts +10 -0
  221. package/dist/lib/sequencePy.d.ts.map +1 -0
  222. package/dist/lib/sequencePy.js +102 -0
  223. package/dist/lib/sequencePy.js.map +1 -0
  224. package/dist/sessionReporter.d.ts +18 -12
  225. package/dist/sessionReporter.d.ts.map +1 -1
  226. package/dist/sessionReporter.js +37 -24
  227. package/dist/sessionReporter.js.map +1 -1
  228. package/dist/skillWriter.d.ts +23 -5
  229. package/dist/skillWriter.d.ts.map +1 -1
  230. package/dist/skillWriter.js +159 -16
  231. package/dist/skillWriter.js.map +1 -1
  232. package/dist/syncCycle.d.ts +142 -0
  233. package/dist/syncCycle.d.ts.map +1 -0
  234. package/dist/syncCycle.js +327 -0
  235. package/dist/syncCycle.js.map +1 -0
  236. package/dist/trajectoryMonitor.d.ts +2 -4
  237. package/dist/trajectoryMonitor.d.ts.map +1 -1
  238. package/dist/trajectoryMonitor.js +2 -5
  239. package/dist/trajectoryMonitor.js.map +1 -1
  240. package/dist/watcher/driftWatcher.d.ts +0 -1
  241. package/dist/watcher/driftWatcher.d.ts.map +1 -1
  242. package/dist/watcher/driftWatcher.js +1 -2
  243. package/dist/watcher/driftWatcher.js.map +1 -1
  244. package/dist/watcher/settingsGuard.d.ts +36 -7
  245. package/dist/watcher/settingsGuard.d.ts.map +1 -1
  246. package/dist/watcher/settingsGuard.js +397 -60
  247. package/dist/watcher/settingsGuard.js.map +1 -1
  248. package/dist/watcher/vscodeHookSettings.d.ts +30 -0
  249. package/dist/watcher/vscodeHookSettings.d.ts.map +1 -0
  250. package/dist/watcher/vscodeHookSettings.js +170 -0
  251. package/dist/watcher/vscodeHookSettings.js.map +1 -0
  252. package/dist/wsClient.d.ts +0 -1
  253. package/dist/wsClient.d.ts.map +1 -1
  254. package/dist/wsClient.js +0 -1
  255. package/dist/wsClient.js.map +1 -1
  256. package/package.json +5 -5
  257. package/dist/harness/claudeDesktopHooks.d.ts +0 -30
  258. package/dist/harness/claudeDesktopHooks.d.ts.map +0 -1
  259. package/dist/harness/claudeDesktopHooks.js +0 -254
  260. package/dist/harness/claudeDesktopHooks.js.map +0 -1
  261. package/dist/harness/continueHooks.d.ts +0 -63
  262. package/dist/harness/continueHooks.d.ts.map +0 -1
  263. package/dist/harness/continueHooks.js +0 -247
  264. package/dist/harness/continueHooks.js.map +0 -1
  265. package/dist/harness/gateKind.d.ts +0 -164
  266. package/dist/harness/gateKind.d.ts.map +0 -1
  267. package/dist/harness/gateKind.js +0 -144
  268. package/dist/harness/gateKind.js.map +0 -1
  269. package/dist/harness/rooCodeHooks.d.ts +0 -31
  270. package/dist/harness/rooCodeHooks.d.ts.map +0 -1
  271. package/dist/harness/rooCodeHooks.js +0 -286
  272. package/dist/harness/rooCodeHooks.js.map +0 -1
  273. package/dist/hashReporter.d.ts +0 -33
  274. package/dist/hashReporter.d.ts.map +0 -1
  275. package/dist/hashReporter.js +0 -69
  276. package/dist/hashReporter.js.map +0 -1
  277. package/dist/integrityStore.d.ts +0 -35
  278. package/dist/integrityStore.d.ts.map +0 -1
  279. package/dist/integrityStore.js +0 -71
  280. package/dist/integrityStore.js.map +0 -1
  281. package/dist/lib/gitWorktrees.d.ts +0 -140
  282. package/dist/lib/gitWorktrees.d.ts.map +0 -1
  283. package/dist/lib/gitWorktrees.js +0 -191
  284. package/dist/lib/gitWorktrees.js.map +0 -1
  285. package/dist/syncLoop.d.ts +0 -172
  286. package/dist/syncLoop.d.ts.map +0 -1
  287. package/dist/syncLoop.js +0 -878
  288. package/dist/syncLoop.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"gateBody.js","sourceRoot":"","sources":["../../src/harness/gateBody.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateBody.js","sourceRoot":"","sources":["../../src/harness/gateBody.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * gateSightings.ts — when this machine's gate for each harness last wrote an event.
3
+ *
4
+ * The control plane's silent-gate check (`gateLivenessService.ts`) keys its
5
+ * sightings on workspace and harness, so it can say a harness's gate is alive
6
+ * somewhere in the workspace but not on which machine. The daemon can: every
7
+ * event it drains from `.intutic/events/hook-events.jsonl` was written by a gate
8
+ * on this machine. The drain records the newest event per harness here before
9
+ * it truncates the log, and the AI inventory reports it per device.
10
+ *
11
+ * Kept in `.intutic/events/gate-sightings.json`, next to the log it summarises,
12
+ * so a daemon restart does not make every gate look silent.
13
+ *
14
+ * Two gates never write to that log: Cline's and n8n's post their events to
15
+ * the control plane themselves and keep a local copy in their own file under
16
+ * `~/.intutic/events/`. {@link sideLogSightings} reads the end of those files
17
+ * for the same two facts.
18
+ *
19
+ * @module
20
+ */
21
+ export declare const GATE_SIGHTINGS_RELATIVE_PATH: string;
22
+ export interface GateSighting {
23
+ /** Newest event of any kind; `tool_allowed` counts, which is the point. */
24
+ lastEventAt: string;
25
+ /** Newest `guards_disabled` event: the gate ran with `INTUTIC_GUARD_DISABLE=1`. */
26
+ guardsDisabledAt?: string;
27
+ }
28
+ /** Every sighting recorded so far, keyed by harness type. Empty when none or unreadable. */
29
+ export declare function readGateSightings(workspaceRoot: string): Promise<Record<string, GateSighting>>;
30
+ /**
31
+ * Folds a batch of drained hook events into the sightings file, keeping the
32
+ * newest time per harness. Records without a `harnessType` say nothing about
33
+ * a gate and are skipped. Never throws: liveness bookkeeping must not be able
34
+ * to stop a drain.
35
+ */
36
+ export declare function recordGateSightings(workspaceRoot: string, records: readonly unknown[], now?: Date): Promise<void>;
37
+ /** Gates that keep their own event log instead of the drained one, by harness. */
38
+ export declare const SIDE_EVENT_LOGS: Readonly<Record<string, string>>;
39
+ /**
40
+ * The newest event and newest `guards_disabled` event in each side log under
41
+ * `home`, read from the last {@link SIDE_LOG_TAIL_BYTES} only. A missing or
42
+ * unreadable log is no sighting.
43
+ */
44
+ export declare function sideLogSightings(home: string, now?: Date): Promise<Record<string, GateSighting>>;
45
+ /** The later of two sightings of the same gate, field by field. */
46
+ export declare function mergeSightings(a: GateSighting | undefined, b: GateSighting | undefined): GateSighting | undefined;
47
+ //# sourceMappingURL=gateSightings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateSightings.d.ts","sourceRoot":"","sources":["../../src/harness/gateSightings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,eAAO,MAAM,4BAA4B,QAA8D,CAAA;AAEvG,MAAM,WAAW,YAAY;IAC3B,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAA;IACnB,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAeD,4FAA4F;AAC5F,wBAAsB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAmBpG;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,SAAS,OAAO,EAAE,EAC3B,GAAG,GAAE,IAAiB,GACrB,OAAO,CAAC,IAAI,CAAC,CA6Bf;AAED,kFAAkF;AAClF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAG5D,CAAA;AAKD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,IAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAmClH;AAED,mEAAmE;AACnE,wBAAgB,cAAc,CAAC,CAAC,EAAE,YAAY,GAAG,SAAS,EAAE,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAIjH"}
@@ -0,0 +1,159 @@
1
+ /**
2
+ * gateSightings.ts — when this machine's gate for each harness last wrote an event.
3
+ *
4
+ * The control plane's silent-gate check (`gateLivenessService.ts`) keys its
5
+ * sightings on workspace and harness, so it can say a harness's gate is alive
6
+ * somewhere in the workspace but not on which machine. The daemon can: every
7
+ * event it drains from `.intutic/events/hook-events.jsonl` was written by a gate
8
+ * on this machine. The drain records the newest event per harness here before
9
+ * it truncates the log, and the AI inventory reports it per device.
10
+ *
11
+ * Kept in `.intutic/events/gate-sightings.json`, next to the log it summarises,
12
+ * so a daemon restart does not make every gate look silent.
13
+ *
14
+ * Two gates never write to that log: Cline's and n8n's post their events to
15
+ * the control plane themselves and keep a local copy in their own file under
16
+ * `~/.intutic/events/`. {@link sideLogSightings} reads the end of those files
17
+ * for the same two facts.
18
+ *
19
+ * @module
20
+ */
21
+ import * as node_fs from 'node:fs/promises';
22
+ import * as node_path from 'node:path';
23
+ export const GATE_SIGHTINGS_RELATIVE_PATH = node_path.join('.intutic', 'events', 'gate-sightings.json');
24
+ /** A gate's clock running ahead must not make it look alive for days. */
25
+ const MAX_CLOCK_SKEW_MS = 5 * 60 * 1000;
26
+ function eventTime(raw, now) {
27
+ if (typeof raw === 'string') {
28
+ const ms = Date.parse(raw);
29
+ if (Number.isFinite(ms) && ms <= now.getTime() + MAX_CLOCK_SKEW_MS)
30
+ return new Date(ms).toISOString();
31
+ }
32
+ return now.toISOString();
33
+ }
34
+ const later = (a, b) => (a !== undefined && a >= b ? a : b);
35
+ /** Every sighting recorded so far, keyed by harness type. Empty when none or unreadable. */
36
+ export async function readGateSightings(workspaceRoot) {
37
+ try {
38
+ const parsed = JSON.parse(await node_fs.readFile(node_path.join(workspaceRoot, GATE_SIGHTINGS_RELATIVE_PATH), 'utf-8'));
39
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed))
40
+ return {};
41
+ const out = {};
42
+ for (const [harness, value] of Object.entries(parsed)) {
43
+ const v = value;
44
+ if (typeof v?.lastEventAt !== 'string')
45
+ continue;
46
+ out[harness] = {
47
+ lastEventAt: v.lastEventAt,
48
+ ...(typeof v.guardsDisabledAt === 'string' ? { guardsDisabledAt: v.guardsDisabledAt } : {}),
49
+ };
50
+ }
51
+ return out;
52
+ }
53
+ catch {
54
+ return {};
55
+ }
56
+ }
57
+ /**
58
+ * Folds a batch of drained hook events into the sightings file, keeping the
59
+ * newest time per harness. Records without a `harnessType` say nothing about
60
+ * a gate and are skipped. Never throws: liveness bookkeeping must not be able
61
+ * to stop a drain.
62
+ */
63
+ export async function recordGateSightings(workspaceRoot, records, now = new Date()) {
64
+ const seen = await readGateSightings(workspaceRoot);
65
+ let changed = false;
66
+ for (const record of records) {
67
+ if (typeof record !== 'object' || record === null)
68
+ continue;
69
+ const r = record;
70
+ if (typeof r.harnessType !== 'string' || r.harnessType === '')
71
+ continue;
72
+ const at = eventTime(r.timestamp, now);
73
+ const prev = seen[r.harnessType];
74
+ const next = {
75
+ lastEventAt: later(prev?.lastEventAt, at),
76
+ ...(prev?.guardsDisabledAt ? { guardsDisabledAt: prev.guardsDisabledAt } : {}),
77
+ };
78
+ if (r.event === 'guards_disabled')
79
+ next.guardsDisabledAt = later(prev?.guardsDisabledAt, at);
80
+ if (next.lastEventAt !== prev?.lastEventAt || next.guardsDisabledAt !== prev?.guardsDisabledAt) {
81
+ seen[r.harnessType] = next;
82
+ changed = true;
83
+ }
84
+ }
85
+ if (!changed)
86
+ return;
87
+ try {
88
+ const file = node_path.join(workspaceRoot, GATE_SIGHTINGS_RELATIVE_PATH);
89
+ await node_fs.mkdir(node_path.dirname(file), { recursive: true });
90
+ const tmp = `${file}.intutic-tmp`;
91
+ await node_fs.writeFile(tmp, JSON.stringify(seen, null, 2) + '\n', 'utf-8');
92
+ await node_fs.rename(tmp, file);
93
+ }
94
+ catch {
95
+ // The sighting is late until the gate's next event; the drain itself carries on.
96
+ }
97
+ }
98
+ /** Gates that keep their own event log instead of the drained one, by harness. */
99
+ export const SIDE_EVENT_LOGS = {
100
+ cline: node_path.join('.intutic', 'events', 'cline-hook-events.jsonl'),
101
+ n8n: node_path.join('.intutic', 'events', 'n8n-hook-events.jsonl'),
102
+ };
103
+ /** How much of the end of a side log is read: these files are never truncated. */
104
+ const SIDE_LOG_TAIL_BYTES = 64 * 1024;
105
+ /**
106
+ * The newest event and newest `guards_disabled` event in each side log under
107
+ * `home`, read from the last {@link SIDE_LOG_TAIL_BYTES} only. A missing or
108
+ * unreadable log is no sighting.
109
+ */
110
+ export async function sideLogSightings(home, now = new Date()) {
111
+ const out = {};
112
+ for (const [harness, rel] of Object.entries(SIDE_EVENT_LOGS)) {
113
+ let tail;
114
+ try {
115
+ const handle = await node_fs.open(node_path.join(home, rel), 'r');
116
+ try {
117
+ const { size } = await handle.stat();
118
+ const length = Math.min(size, SIDE_LOG_TAIL_BYTES);
119
+ const buffer = Buffer.alloc(length);
120
+ await handle.read(buffer, 0, length, size - length);
121
+ tail = buffer.toString('utf-8');
122
+ }
123
+ finally {
124
+ await handle.close();
125
+ }
126
+ }
127
+ catch {
128
+ continue;
129
+ }
130
+ let sighting;
131
+ // The first line may be cut by the tail window; it fails to parse and is skipped.
132
+ for (const line of tail.split('\n')) {
133
+ let record;
134
+ try {
135
+ record = JSON.parse(line);
136
+ }
137
+ catch {
138
+ continue;
139
+ }
140
+ if (typeof record !== 'object' || record === null)
141
+ continue;
142
+ const at = eventTime(record.timestamp, now);
143
+ sighting = { ...sighting, lastEventAt: later(sighting?.lastEventAt, at) };
144
+ if (record.event === 'guards_disabled')
145
+ sighting.guardsDisabledAt = later(sighting.guardsDisabledAt, at);
146
+ }
147
+ if (sighting)
148
+ out[harness] = sighting;
149
+ }
150
+ return out;
151
+ }
152
+ /** The later of two sightings of the same gate, field by field. */
153
+ export function mergeSightings(a, b) {
154
+ if (!a || !b)
155
+ return a ?? b;
156
+ const disabled = [a.guardsDisabledAt, b.guardsDisabledAt].filter((t) => t !== undefined).sort().at(-1);
157
+ return { lastEventAt: later(a.lastEventAt, b.lastEventAt), ...(disabled ? { guardsDisabledAt: disabled } : {}) };
158
+ }
159
+ //# sourceMappingURL=gateSightings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateSightings.js","sourceRoot":"","sources":["../../src/harness/gateSightings.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"githubCopilotHooks.d.ts","sourceRoot":"","sources":["../../src/harness/githubCopilotHooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAkJH;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAC3C,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,WAAW,SAAK,GACf,OAAO,CAAC,IAAI,CAAC,CA8Bf"}
1
+ {"version":3,"file":"githubCopilotHooks.d.ts","sourceRoot":"","sources":["../../src/harness/githubCopilotHooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAyJH;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAC3C,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,WAAW,SAAK,GACf,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
@@ -42,7 +42,9 @@ import * as fs from 'node:fs/promises';
42
42
  import * as path from 'node:path';
43
43
  import * as os from 'node:os';
44
44
  import { createLogger } from '@intutic/logger';
45
+ import { writeOwnedFile } from '../disconnect/originals.js';
45
46
  import { newIso } from '@intutic/id';
47
+ import { HOOK_TIMEOUT_SECONDS } from '@intutic/shared-types';
46
48
  import { emitJsGate, emitJsFailClosedPrelude } from './gateBody.js';
47
49
  const log = createLogger('sync-github-copilot-hooks');
48
50
  /**
@@ -90,6 +92,9 @@ function logEvent(verdict, toolName, reason) {
90
92
  try {
91
93
  const ts = new Date().toISOString();
92
94
  const incidentId = crypto.createHash('sha1').update(ts + toolName + _intuticWsId).digest('hex').slice(0, 16);
95
+ // The event's id: random, made once here, and resent with the line it is
96
+ // written into, so the control plane processes the event once.
97
+ const eventId = crypto.randomBytes(16).toString('hex');
93
98
  const entry = JSON.stringify({
94
99
  // Passed through, not collapsed to two values: the advisory tier emits
95
100
  // 'tool_flagged', and a ternary here silently recorded it as an allow.
@@ -99,6 +104,7 @@ function logEvent(verdict, toolName, reason) {
99
104
  harnessType: 'github-copilot',
100
105
  timestamp: ts,
101
106
  incidentId,
107
+ eventId,
102
108
  ...(_intuticSessionId ? { sessionId: _intuticSessionId } : {}),
103
109
  }) + '\\n';
104
110
  fs.appendFileSync(${JSON.stringify(hookEventsLog)}, entry, { flag: 'a' });
@@ -171,7 +177,8 @@ function buildHookConfig(hookScriptPath) {
171
177
  // Catch-all: the gate decides from the arguments, so a tool name
172
178
  // nobody anticipated is still evaluated.
173
179
  matcher: '.*',
174
- hooks: [{ type: 'command', command: `node "${hookScriptPath}"` }],
180
+ // \`timeout\` is VS Code's key and the Copilot CLI's alias for \`timeoutSec\`.
181
+ hooks: [{ type: 'command', command: `node "${hookScriptPath}"`, timeout: HOOK_TIMEOUT_SECONDS }],
175
182
  },
176
183
  ],
177
184
  },
@@ -201,18 +208,12 @@ export async function writeGithubCopilotHooks(workspaceRoot, proxyUrl, workspace
201
208
  const config = buildHookConfig(hookScriptPath);
202
209
  // 1. Workspace-level: .github/hooks/intutic-governance.json
203
210
  const projectHooksDir = path.join(workspaceRoot, '.github', 'hooks');
204
- await fs.mkdir(projectHooksDir, { recursive: true });
205
- await atomicWriteJson(path.join(projectHooksDir, 'intutic-governance.json'), config);
211
+ const configJson = JSON.stringify(config, null, 2) + '\n';
212
+ await writeOwnedFile(path.join(projectHooksDir, 'intutic-governance.json'), workspaceRoot, configJson);
206
213
  log.info({ action: 'github_copilot_hooks_written', level: 'workspace', path: projectHooksDir }, 'GitHub Copilot workspace-level hook written (Preview mechanism)');
207
214
  // 2. User-level: ~/.copilot/hooks/intutic-governance.json
208
215
  const userHooksDir = path.join(os.homedir(), '.copilot', 'hooks');
209
- await fs.mkdir(userHooksDir, { recursive: true });
210
- await atomicWriteJson(path.join(userHooksDir, 'intutic-governance.json'), config);
216
+ await writeOwnedFile(path.join(userHooksDir, 'intutic-governance.json'), workspaceRoot, configJson);
211
217
  log.info({ action: 'github_copilot_hooks_written', level: 'user', path: userHooksDir }, 'GitHub Copilot user-level hook written (Preview mechanism)');
212
218
  }
213
- async function atomicWriteJson(filePath, data) {
214
- const tmp = filePath + '.intutic-tmp';
215
- await fs.writeFile(tmp, JSON.stringify(data, null, 2) + '\n', 'utf-8');
216
- await fs.rename(tmp, filePath);
217
- }
218
219
  //# sourceMappingURL=githubCopilotHooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"githubCopilotHooks.js","sourceRoot":"","sources":["../../src/harness/githubCopilotHooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"githubCopilotHooks.js","sourceRoot":"","sources":["../../src/harness/githubCopilotHooks.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,6 @@
11
11
  * If a file is immutable but has been tampered with, a governance_override_attempt
12
12
  * incident is emitted to the control plane instead of a silent restore.
13
13
  *
14
- * LLD #14 — Phase 3 cross-harness defence
15
14
  * HLD §3.14 — Three-Tier Defense Cascade
16
15
  *
17
16
  * @module
@@ -1 +1 @@
1
- {"version":3,"file":"gooseHardener.d.ts","sourceRoot":"","sources":["../../src/harness/gooseHardener.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAWH;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBxE;AAED;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB9D;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBpE"}
1
+ {"version":3,"file":"gooseHardener.d.ts","sourceRoot":"","sources":["../../src/harness/gooseHardener.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAWH;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BxE;AAED;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB9D;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBpE"}
@@ -11,7 +11,6 @@
11
11
  * If a file is immutable but has been tampered with, a governance_override_attempt
12
12
  * incident is emitted to the control plane instead of a silent restore.
13
13
  *
14
- * LLD #14 — Phase 3 cross-harness defence
15
14
  * HLD §3.14 — Three-Tier Defense Cascade
16
15
  *
17
16
  * @module
@@ -32,6 +31,7 @@ const execFileAsync = promisify(execFile);
32
31
  */
33
32
  export async function hardenGoosePlugin(pluginDir) {
34
33
  const targets = [
34
+ path.join(pluginDir, 'plugin.json'),
35
35
  path.join(pluginDir, 'hooks', 'hooks.json'),
36
36
  path.join(pluginDir, 'scripts', 'intutic-check.sh'),
37
37
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"gooseHardener.js","sourceRoot":"","sources":["../../src/harness/gooseHardener.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gooseHardener.js","sourceRoot":"","sources":["../../src/harness/gooseHardener.ts"],"names":[],"mappings":"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"}
@@ -2,17 +2,30 @@
2
2
  * gooseHooks.ts — Goose PreToolUse governance plugin injection.
3
3
  *
4
4
  * Writes the Intutic governance plugin to the Goose plugin directory:
5
+ * ~/.agents/plugins/intutic-governance/plugin.json
5
6
  * ~/.agents/plugins/intutic-governance/hooks/hooks.json
6
7
  * ~/.agents/plugins/intutic-governance/scripts/intutic-check.sh
7
8
  *
8
9
  * Also merges the Intutic proxy URL into ~/.config/goose/config.yaml.
9
10
  * After writing, calls gooseHardener to apply chmod 444 + immutable flags.
10
11
  *
11
- * LLD #14 — Phase 3 cross-harness defence
12
12
  * HLD §3.14 — Three-Tier Defense Cascade
13
13
  *
14
14
  * @module
15
15
  */
16
+ /** The plugin manifest Goose identifies the plugin by. */
17
+ export declare function gooseManifest(): Record<string, unknown>;
18
+ /**
19
+ * The plugin's `hooks/hooks.json`, in Goose's schema: each event a list of
20
+ * rules, each rule a list of command actions. Every tool call goes to the
21
+ * gate (no matcher). \`on_failure: "block"\` makes Goose deny a call whose
22
+ * gate fails — times out, crashes, or answers nothing it reads — where the
23
+ * default would run it; \`timeout\` replaces Goose's 30 s default, and the gate
24
+ * refuses at its own deadline inside it. A PostToolUse action cannot block,
25
+ * so it carries neither. The shape used before (\`{PreToolUse: {command,
26
+ * failClosed}}\`) is not one Goose loads: it skipped the file with a warning.
27
+ */
28
+ export declare function gooseHooksConfig(scriptPath: string): Record<string, unknown>;
16
29
  /**
17
30
  * Write Goose governance plugin and harden it.
18
31
  *
@@ -21,4 +34,19 @@
21
34
  * @param workspaceId - Workspace ID embedded in hook event payloads.
22
35
  */
23
36
  export declare function writeGooseHooks(proxyUrl: string, workspaceRoot?: string, workspaceId?: string): Promise<void>;
37
+ /**
38
+ * Set Intutic's two keys in goose's `config.yaml` text: `provider.host` (the
39
+ * proxy) and `hooks.pre_tool_use` (the gate script). Edited through the
40
+ * `yaml` document model, so every other key, comment and list is kept. A text
41
+ * replace of the first `host:` line used to rewrite whichever key of that name
42
+ * came first, such as an extension's or an MCP server's.
43
+ *
44
+ * An empty `proxyUrl` leaves `provider.host` alone: the settings guard
45
+ * re-runs this writer to restore the plugin without a URL to hand.
46
+ *
47
+ * Returns `null`, to leave the file untouched, when the text is not YAML, is
48
+ * not a mapping, or holds `provider` or `hooks` as something other than a
49
+ * mapping.
50
+ */
51
+ export declare function mergeGooseConfigYaml(raw: string, proxyUrl: string, hookScript: string): string | null;
24
52
  //# sourceMappingURL=gooseHooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gooseHooks.d.ts","sourceRoot":"","sources":["../../src/harness/gooseHooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAeH;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,SAAe,EAAE,WAAW,SAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CA0HrH"}
1
+ {"version":3,"file":"gooseHooks.d.ts","sourceRoot":"","sources":["../../src/harness/gooseHooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAkBH,0DAA0D;AAC1D,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMvD;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAU5E;AAOD;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,SAAe,EAAE,WAAW,SAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAoHrH;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAcrG"}