@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
package/README.md CHANGED
@@ -23,7 +23,7 @@ On each sync cycle the daemon:
23
23
 
24
24
  ### Config Writers
25
25
 
26
- Harness-specific config writers (one module per harness under `src/harness/`) that translate governance SOPs into native configuration formats (YAML, JSON, TOML, Markdown, environment variables); most of them emit blocking pre-tool gates. The authoritative list of which harness gets which gate shape is `src/harness/gateKind.ts`, and `__tests__/harness/gateRegistry.ts` exercises every generated gate — counts are not repeated here because they drifted every time a harness was added.
26
+ Harness-specific config writers (one module per harness under `src/harness/`) that translate governance SOPs into native configuration formats (YAML, JSON, TOML, Markdown, environment variables); most of them emit blocking pre-tool gates. The authoritative list of which harness gets which gate shape is `gateKind.ts` in `@intutic/shared-types`, and `__tests__/harness/gateRegistry.ts` exercises every generated gate — counts are not repeated here because they drifted every time a harness was added.
27
27
 
28
28
  ### Atomic Writes
29
29
 
@@ -14,7 +14,7 @@
14
14
  *
15
15
  * @module
16
16
  */
17
- import { type HarnessType, type SkillScriptsFacet } from '@intutic/shared-types';
17
+ import { type GateKind, type HarnessType, type SkillScriptsFacet } from '@intutic/shared-types';
18
18
  /** Live egress-enforcement status read from the proxy's own diagnostic endpoint. */
19
19
  export interface EgressFacet {
20
20
  mode: string;
@@ -45,14 +45,14 @@ interface AgentFacets {
45
45
  * file the daemon writes and verified existence of) — kept for older
46
46
  * control-plane deployments that read this boolean directly. `false` for
47
47
  * `gateKind: 'sdk'` is NOT "this harness is unprotected"; see
48
- * `gate_kind` below and `harness/gateKind.ts`'s module doc. Previously
48
+ * `gate_kind` below and `shared-types/src/gateKind.ts`'s module doc. Previously
49
49
  * hardcoded `true` for every harness regardless of mechanism.
50
50
  */
51
51
  hook_gate: boolean;
52
- /** How this harness's tool calls get gated — see `harness/gateKind.ts`. */
53
- gate_kind: import('./harness/gateKind.js').GateKind;
52
+ /** How this harness's tool calls get gated — see `shared-types/src/gateKind.ts`. */
53
+ gate_kind: GateKind;
54
54
  pcas: boolean;
55
- /** Present when the local proxy answered GET /intutic/egress (LLD #63 §4). */
55
+ /** Present when the local proxy answered GET /intutic/egress. */
56
56
  egress?: EgressFacet;
57
57
  };
58
58
  sops: Array<{
@@ -68,6 +68,7 @@ interface AgentFacets {
68
68
  harness: string;
69
69
  transport: string;
70
70
  wrapped: boolean;
71
+ ungovernedReason?: string;
71
72
  }>;
72
73
  skills: Array<{
73
74
  name: string;
@@ -85,7 +86,7 @@ interface AgentFacets {
85
86
  * or when unscanned (there is nothing to count). */
86
87
  findingsCount: number;
87
88
  /**
88
- * Bundled-script enumeration for this skill (TD-356, Phase S2) — files
89
+ * Bundled-script enumeration for this skill (Phase S2) — files
89
90
  * alongside `SKILL.md` inside the same skill directory, discovered by
90
91
  * the same bounded, symlink-skipping walk `discoverSkillBundledFiles`
91
92
  * (`tools/cli/src/commands/skill.ts`) uses, and content-scanned via
@@ -93,13 +94,13 @@ interface AgentFacets {
93
94
  * `MAX_SCRIPT_SCAN_BYTES`. Omitted (not `{total: 0, ...}`) when the
94
95
  * skill has no bundled files at all — `agentPosture.ts`'s `skills`
95
96
  * scorer treats an absent facet as "nothing to say," not as a finding.
96
- * Carries each readable file's sha256 (TD-486) — see
97
+ * Carries each readable file's sha256 — see
97
98
  * `SkillScriptsFacet` in `@intutic/shared-types`.
98
99
  */
99
100
  scripts?: SkillScriptsFacet;
100
101
  /**
101
- * sha256 of the `SKILL.md` content this row describes (Phase S5,
102
- * TD-357) — lets `services/control-plane/src/routes/agents.ts` look up
102
+ * sha256 of the `SKILL.md` content this row describes (Phase S5) —
103
+ * lets `services/control-plane/src/routes/agents.ts` look up
103
104
  * a previously-judged semantic verdict
104
105
  * (`services/semanticSkillAnalysisService.ts`'s `skills:semantic:*`
105
106
  * Valkey entry) keyed by the exact content this cycle read, without this
@@ -142,7 +143,7 @@ export interface AgentReport {
142
143
  facets: AgentFacets;
143
144
  }
144
145
  /**
145
- * Read the local proxy's egress-enforcement status (LLD #63 §4). The proxy
146
+ * Read the local proxy's egress-enforcement status. The proxy
146
147
  * exposes `{mode, denied, would_deny}` at `GET /intutic/egress`, but nothing
147
148
  * plumbed those counters off the machine — this is the wiring that carries them
148
149
  * up so an egress denial is visible in the dashboard, not just the proxy log.
@@ -160,7 +161,7 @@ export declare function fetchEgressStatus(): Promise<EgressFacet | null>;
160
161
  export declare function fetchGuardProbes(): Promise<GuardProbesFacet | null>;
161
162
  /**
162
163
  * Read the local proxy's process-lifetime instance id (`GET /intutic/instance`,
163
- * loopback-only like the two probes above; TD-231, Wave 5.6). The control
164
+ * loopback-only like the two probes above; Wave 5.6). The control
164
165
  * plane derives one `agent_sessions` row per (workspace, harness, instance)
165
166
  * for the traces that proxy publishes; knowing the id lets the daemon register
166
167
  * that same row with the workspace's git/task context instead of opening a
@@ -173,6 +174,12 @@ export declare function fetchGuardProbes(): Promise<GuardProbesFacet | null>;
173
174
  * behind it, so one developer's branch must never be written onto it.
174
175
  */
175
176
  export declare function fetchLocalProxyInstanceId(): Promise<string | null>;
177
+ /**
178
+ * {@link collectSkills} for any skills directory: one row per subdirectory,
179
+ * reported under `source`. The AI inventory also reads the Claude Code skill
180
+ * directories this way.
181
+ */
182
+ export declare function collectSkillsIn(dir: string, source: string): Promise<AgentFacets['skills']>;
176
183
  /**
177
184
  * Build a facet report for one harness in the workspace.
178
185
  *
@@ -183,6 +190,12 @@ export declare function fetchLocalProxyInstanceId(): Promise<string | null>;
183
190
  export declare function collectAgentReport(opts: {
184
191
  workspaceRoot: string;
185
192
  harnessType: HarnessType;
193
+ /**
194
+ * The gate id the agent registers under, when the harness has more than one
195
+ * gate (`gateIdentitiesOf` in `@intutic/shared-types`). Defaults to the
196
+ * harness id.
197
+ */
198
+ gateIdentity?: string;
186
199
  agentRole?: string;
187
200
  configSynced: boolean;
188
201
  dlpEnabled: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"agentReporter.d.ts","sourceRoot":"","sources":["../src/agentReporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentReporter.d.ts","sourceRoot":"","sources":["../src/agentReporter.ts"],"names":[],"mappings":"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"}
@@ -18,9 +18,8 @@ import { readFile, readdir, access, open } from 'node:fs/promises';
18
18
  import { join } from 'node:path';
19
19
  import { createHash } from 'node:crypto';
20
20
  import { newIso } from '@intutic/id';
21
- import { scanSkillContent, scanScriptContent, detectScriptLanguage, MAX_SKILL_DIR_DEPTH, MAX_FILES_PER_SKILL, MAX_SCRIPT_SCAN_BYTES, MAX_SCRIPT_HASH_BYTES, } from '@intutic/shared-types';
21
+ import { scanSkillContent, scanScriptContent, detectScriptLanguage, MAX_SKILL_DIR_DEPTH, MAX_FILES_PER_SKILL, MAX_SCRIPT_SCAN_BYTES, MAX_SCRIPT_HASH_BYTES, gateKindForHarness, } from '@intutic/shared-types';
22
22
  import { discoverMcpServers } from './harness/mcpAutoWrite.js';
23
- import { gateKindForHarness } from './harness/gateKind.js';
24
23
  async function exists(p) {
25
24
  try {
26
25
  await access(p);
@@ -31,7 +30,7 @@ async function exists(p) {
31
30
  }
32
31
  }
33
32
  /**
34
- * Read the local proxy's egress-enforcement status (LLD #63 §4). The proxy
33
+ * Read the local proxy's egress-enforcement status. The proxy
35
34
  * exposes `{mode, denied, would_deny}` at `GET /intutic/egress`, but nothing
36
35
  * plumbed those counters off the machine — this is the wiring that carries them
37
36
  * up so an egress denial is visible in the dashboard, not just the proxy log.
@@ -94,7 +93,7 @@ export async function fetchGuardProbes() {
94
93
  }
95
94
  /**
96
95
  * Read the local proxy's process-lifetime instance id (`GET /intutic/instance`,
97
- * loopback-only like the two probes above; TD-231, Wave 5.6). The control
96
+ * loopback-only like the two probes above; Wave 5.6). The control
98
97
  * plane derives one `agent_sessions` row per (workspace, harness, instance)
99
98
  * for the traces that proxy publishes; knowing the id lets the daemon register
100
99
  * that same row with the workspace's git/task context instead of opening a
@@ -157,7 +156,7 @@ async function collectSops(workspaceRoot) {
157
156
  * (siblings of `SKILL.md`), content-scanning each one via `scanScriptContent`
158
157
  * when its language is recognized and it is within `MAX_SCRIPT_SCAN_BYTES`.
159
158
  *
160
- * TD-356, Phase S2: mirrors `discoverSkillBundledFiles`
159
+ * Phase S2: mirrors `discoverSkillBundledFiles`
161
160
  * (`tools/cli/src/commands/skill.ts`) closely — the exact same caps
162
161
  * (`MAX_SKILL_DIR_DEPTH`, `MAX_FILES_PER_SKILL`) and symlink-skip discipline
163
162
  * (`Dirent.isSymbolicLink()` checked and skipped outright during `readdir`,
@@ -174,7 +173,7 @@ async function collectSops(workspaceRoot) {
174
173
  * entirely for the common case of a skill that is only a `SKILL.md` — see
175
174
  * that field's own doc comment on the `AgentFacets['skills']` item type.
176
175
  *
177
- * TD-486: also sha256-hashes every bundled file it can read within
176
+ * Also sha256-hashes every bundled file it can read within
178
177
  * `MAX_SCRIPT_HASH_BYTES`, so the control plane can join VirusTotal
179
178
  * verdicts to this skill by hash instead of by name. Only the hashes are
180
179
  * reported — never file content.
@@ -252,7 +251,7 @@ async function readFileWithin(filePath, maxBytes) {
252
251
  /**
253
252
  * Bundled skills under `<root>/.agents/skills/<name>/SKILL.md`, content-
254
253
  * scanned via `scanSkillContent` (`@intutic/shared-types`) on every cycle,
255
- * plus (TD-356, Phase S2) a bounded enumeration of each skill's bundled
254
+ * plus (Phase S2) a bounded enumeration of each skill's bundled
256
255
  * scripts via `collectSkillScripts`, attached as the `scripts` facet.
257
256
  *
258
257
  * Report-only, matching `scanSkillContent`'s own doc comment: this function
@@ -270,7 +269,14 @@ async function readFileWithin(filePath, maxBytes) {
270
269
  * report on.
271
270
  */
272
271
  async function collectSkills(workspaceRoot) {
273
- const dir = join(workspaceRoot, '.agents', 'skills');
272
+ return collectSkillsIn(join(workspaceRoot, '.agents', 'skills'), '.agents/skills');
273
+ }
274
+ /**
275
+ * {@link collectSkills} for any skills directory: one row per subdirectory,
276
+ * reported under `source`. The AI inventory also reads the Claude Code skill
277
+ * directories this way.
278
+ */
279
+ export async function collectSkillsIn(dir, source) {
274
280
  let entries;
275
281
  try {
276
282
  entries = await readdir(dir, { withFileTypes: true });
@@ -290,7 +296,7 @@ async function collectSkills(workspaceRoot) {
290
296
  const sha256 = createHash('sha256').update(content, 'utf8').digest('hex');
291
297
  out.push({
292
298
  name: e.name,
293
- source: '.agents/skills',
299
+ source,
294
300
  scanned: true,
295
301
  clean: result.clean,
296
302
  findingsCount: result.findings.length,
@@ -301,7 +307,7 @@ async function collectSkills(workspaceRoot) {
301
307
  catch {
302
308
  out.push({
303
309
  name: e.name,
304
- source: '.agents/skills',
310
+ source,
305
311
  scanned: false,
306
312
  clean: false,
307
313
  findingsCount: 0,
@@ -360,10 +366,11 @@ export async function collectAgentReport(opts) {
360
366
  fetchGuardProbes(),
361
367
  ]);
362
368
  const role = opts.agentRole ?? '';
369
+ const gateId = opts.gateIdentity ?? opts.harnessType;
363
370
  return {
364
- agentKey: `${opts.harnessType}:${role || 'default'}`,
365
- displayName: role ? `${opts.harnessType} (${role})` : opts.harnessType,
366
- harnessType: opts.harnessType,
371
+ agentKey: `${gateId}:${role || 'default'}`,
372
+ displayName: role ? `${gateId} (${role})` : gateId,
373
+ harnessType: gateId,
367
374
  agentRole: role,
368
375
  facets: {
369
376
  guardrails: {
@@ -1 +1 @@
1
- {"version":3,"file":"agentReporter.js","sourceRoot":"","sources":["../src/agentReporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentReporter.js","sourceRoot":"","sources":["../src/agentReporter.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,31 @@
1
1
  /**
2
- * configReader.ts — Read harness config files and upload to control plane.
2
+ * configReader.ts — Capture harness config files for the config history.
3
3
  *
4
- * The daemon reads config files (.cursorrules, CLAUDE.md, etc.) from the
5
- * developer's workspace and POSTs them to the control plane for versioning,
6
- * diff tracking, and SkillOpt analysis.
7
- *
8
- * LLD #51 — Harness Config Capture + SkillOpt Pipeline
4
+ * `intutic connect` reads each recorded harness's rules file (`HARNESS_FILES`,
5
+ * the one list of what is captured) and POSTs it to the control plane. By
6
+ * default a capture is metadata only: path, the SHA-256 of the redacted text,
7
+ * size, harness and time. With the workspace's `configBodyUpload` on it also
8
+ * carries the text, credential-shaped strings replaced by `[redacted]` first;
9
+ * that is what config diffs and SkillOpt need.
9
10
  *
10
11
  * @module
11
12
  */
12
13
  import type { HarnessType, CapturedConfigFile, GovernanceCoverageInputs } from '@intutic/shared-types';
14
+ /**
15
+ * A config file's text as it may leave the machine: the hold-snapshot
16
+ * redactor (credential shapes, `name: value` assignments to secret-named keys,
17
+ * PEM blocks) without its length cap, then every pattern in
18
+ * `SECRET_VALUE_PATTERNS`. Both, because each catches shapes the other does
19
+ * not (`vk_…` and `sk-or-v1-…` are only in the second, JWTs and Slack tokens
20
+ * only in the first).
21
+ */
22
+ export declare function redactConfigText(text: string): string;
13
23
  /**
14
24
  * The four enforcement inputs `POST /api/v1/governance-coverage/snapshot`
15
- * expects. Re-exported from `@intutic/shared-types` (TD-443) — previously
25
+ * expects. Re-exported from `@intutic/shared-types` — previously
16
26
  * declared locally here as a hand-kept duplicate of
17
27
  * `harnessGradeSweep.ts`'s `deriveEnforcementInputs` return shape on the
18
- * control-plane side, which drifted (this module's `syncLoop.ts` consumer
28
+ * control-plane side, which drifted (this module's sync-cycle consumer
19
29
  * was missing an `Array.isArray` guard the control-plane side had). Both
20
30
  * sides now derive from `packages/shared-types/src/governanceCoverage.ts`'s
21
31
  * single mapping — safe for this module to depend on since it is a leaf
@@ -31,14 +41,17 @@ export type { GovernanceCoverageInputs } from '@intutic/shared-types';
31
41
  export declare function shouldCaptureThisIteration(iterationCount: number): boolean;
32
42
  /**
33
43
  * Read harness config files from the workspace.
34
- * For each active harness, reads the config file, computes SHA-256 hash,
35
- * and returns the content. Skips files that don't exist or are too large.
44
+ * For each active harness, reads the config file and hashes its redacted
45
+ * text; the text itself is kept only with `includeContent`. Skips files that
46
+ * don't exist or are too large.
36
47
  *
37
48
  * @param workspaceRoot - Absolute path to the workspace root.
38
49
  * @param harnesses - Active harness types detected in the workspace.
39
- * @returns Array of captured config files with content and hashes.
50
+ * @param opts.includeContent - The workspace's `configBodyUpload`.
40
51
  */
41
- export declare function readHarnessConfigs(workspaceRoot: string, harnesses: HarnessType[]): Promise<CapturedConfigFile[]>;
52
+ export declare function readHarnessConfigs(workspaceRoot: string, harnesses: HarnessType[], opts: {
53
+ includeContent: boolean;
54
+ }): Promise<CapturedConfigFile[]>;
42
55
  /**
43
56
  * Upload captured config files to the control plane.
44
57
  * Deduplicates locally: only uploads files whose content hash changed
@@ -65,19 +78,26 @@ export declare function uploadConfigCapture(controlPlaneUrl: string, apiKey: str
65
78
  */
66
79
  export declare function reportGovernanceCoverageSnapshot(controlPlaneUrl: string, apiKey: string, workspaceId: string, harnessType: HarnessType, inputs: GovernanceCoverageInputs): Promise<void>;
67
80
  /**
68
- * Full config capture cycle: read + upload.
69
- * Groups by harness type for proper capture payloads.
81
+ * Full config capture cycle: read + upload, one payload per harness.
82
+ *
83
+ * `includeContent` is the workspace's `configBodyUpload` as the latest synced
84
+ * settings carry it, so a change reaches the next capture. Off, no request
85
+ * built here carries a file's content.
70
86
  *
71
- * @param governanceInputs - This cycle's per-harness enforcement signals
72
- * (from `runSyncIteration`'s agent-facets collection), used to fire a
73
- * governance-coverage snapshot immediately after a harness's rules file is
74
- * actually found to have changed — never on every sync tick, only on the
75
- * iterations where `uploadConfigCapture`'s content-hash dedup lets a file
76
- * through. Falls back to `hasRulesFile: true` / everything else `false`
77
- * when the caller has no facets for a harness yet (first cycle before the
78
- * agent-report step has run) — conservative in the same direction
79
- * `harnessGradeSweep.ts`'s own doc comment argues for: "a wrong mapping
80
- * overstates enforcement, which is worse than an empty grid."
87
+ * `governanceInputs` are this cycle's per-harness enforcement signals, derived
88
+ * from the agent report facets. A governance-coverage snapshot fires only for
89
+ * a harness whose rules file was actually uploaded this time, not on every
90
+ * tick. Without inputs for a harness it falls back to `hasRulesFile: true` and
91
+ * everything else `false`: a wrong mapping that overstated enforcement would
92
+ * be worse than an empty grid.
81
93
  */
82
- export declare function captureAndUpload(controlPlaneUrl: string, apiKey: string, workspaceId: string, workspaceRoot: string, harnesses: HarnessType[], governanceInputs?: Partial<Record<HarnessType, GovernanceCoverageInputs>>): Promise<void>;
94
+ export declare function captureAndUpload(opts: {
95
+ controlPlaneUrl: string;
96
+ apiKey: string;
97
+ workspaceId: string;
98
+ workspaceRoot: string;
99
+ harnesses: HarnessType[];
100
+ includeContent: boolean;
101
+ governanceInputs?: Partial<Record<HarnessType, GovernanceCoverageInputs>>;
102
+ }): Promise<void>;
83
103
  //# sourceMappingURL=configReader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configReader.d.ts","sourceRoot":"","sources":["../src/configReader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAElB,wBAAwB,EACzB,MAAM,uBAAuB,CAAA;AAkB9B;;;;;;;;;;;;GAYG;AACH,YAAY,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAErE;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAG1E;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,WAAW,EAAE,GACvB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAgC/B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACvC,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,kBAAkB,EAAE,GAC5B,OAAO,CAAC,MAAM,CAAC,CAsCjB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gCAAgC,CACpD,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gBAAgB,CACpC,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,WAAW,EAAE,EACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC,GACxE,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
1
+ {"version":3,"file":"configReader.d.ts","sourceRoot":"","sources":["../src/configReader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAElB,wBAAwB,EACzB,MAAM,uBAAuB,CAAA;AA0B9B;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIrD;AAID;;;;;;;;;;;;GAYG;AACH,YAAY,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAErE;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAG1E;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,WAAW,EAAE,EACxB,IAAI,EAAE;IAAE,cAAc,EAAE,OAAO,CAAA;CAAE,GAChC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAiC/B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACvC,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,kBAAkB,EAAE,GAC5B,OAAO,CAAC,MAAM,CAAC,CAoCjB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gCAAgC,CACpD,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,eAAe,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,cAAc,EAAE,OAAO,CAAA;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC,CAAA;CAC1E,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBhB"}
@@ -1,26 +1,50 @@
1
1
  /**
2
- * configReader.ts — Read harness config files and upload to control plane.
2
+ * configReader.ts — Capture harness config files for the config history.
3
3
  *
4
- * The daemon reads config files (.cursorrules, CLAUDE.md, etc.) from the
5
- * developer's workspace and POSTs them to the control plane for versioning,
6
- * diff tracking, and SkillOpt analysis.
7
- *
8
- * LLD #51 — Harness Config Capture + SkillOpt Pipeline
4
+ * `intutic connect` reads each recorded harness's rules file (`HARNESS_FILES`,
5
+ * the one list of what is captured) and POSTs it to the control plane. By
6
+ * default a capture is metadata only: path, the SHA-256 of the redacted text,
7
+ * size, harness and time. With the workspace's `configBodyUpload` on it also
8
+ * carries the text, credential-shaped strings replaced by `[redacted]` first;
9
+ * that is what config diffs and SkillOpt need.
9
10
  *
10
11
  * @module
11
12
  */
12
13
  import * as fs from 'node:fs/promises';
13
14
  import * as path from 'node:path';
14
15
  import * as crypto from 'node:crypto';
16
+ import { SECRET_VALUE_PATTERNS } from '@intutic/shared-types';
15
17
  import { HARNESS_FILES } from './configWriter.js';
18
+ import { redactSecrets } from './harness/holdRedaction.js';
16
19
  // ─── Constants ───────────────────────────────────────────────────────
17
20
  /** Capture every Nth sync iteration (default: every 5th = ~2.5 min at 30s poll). */
18
21
  const DEFAULT_CAPTURE_INTERVAL = 5;
19
22
  /** Max file size to capture (prevent uploading massive files). */
20
23
  const MAX_FILE_SIZE_BYTES = 512 * 1024; // 512 KB
21
24
  // ─── Local hash cache ────────────────────────────────────────────────
22
- /** Cache of last-uploaded content hashes per file path. Avoids redundant uploads. */
25
+ /**
26
+ * Last-uploaded content hash per file and upload mode. The mode is part of
27
+ * the key so that turning `configBodyUpload` on uploads the content of a file
28
+ * whose metadata was already sent, at the next capture rather than its next
29
+ * edit.
30
+ */
23
31
  const lastUploadedHashes = new Map();
32
+ /** Every credential-value pattern the hook gate and pre-commit scan refuse. */
33
+ const SECRET_VALUES = SECRET_VALUE_PATTERNS.map((p) => new RegExp(p.source, 'g'));
34
+ /**
35
+ * A config file's text as it may leave the machine: the hold-snapshot
36
+ * redactor (credential shapes, `name: value` assignments to secret-named keys,
37
+ * PEM blocks) without its length cap, then every pattern in
38
+ * `SECRET_VALUE_PATTERNS`. Both, because each catches shapes the other does
39
+ * not (`vk_…` and `sk-or-v1-…` are only in the second, JWTs and Slack tokens
40
+ * only in the first).
41
+ */
42
+ export function redactConfigText(text) {
43
+ let out = redactSecrets(text, 0, Number.POSITIVE_INFINITY);
44
+ for (const re of SECRET_VALUES)
45
+ out = out.replace(re, '[redacted]');
46
+ return out;
47
+ }
24
48
  /**
25
49
  * Determine whether config capture should run on this iteration.
26
50
  * Captures every Nth iteration to avoid flooding the control plane.
@@ -31,14 +55,15 @@ export function shouldCaptureThisIteration(iterationCount) {
31
55
  }
32
56
  /**
33
57
  * Read harness config files from the workspace.
34
- * For each active harness, reads the config file, computes SHA-256 hash,
35
- * and returns the content. Skips files that don't exist or are too large.
58
+ * For each active harness, reads the config file and hashes its redacted
59
+ * text; the text itself is kept only with `includeContent`. Skips files that
60
+ * don't exist or are too large.
36
61
  *
37
62
  * @param workspaceRoot - Absolute path to the workspace root.
38
63
  * @param harnesses - Active harness types detected in the workspace.
39
- * @returns Array of captured config files with content and hashes.
64
+ * @param opts.includeContent - The workspace's `configBodyUpload`.
40
65
  */
41
- export async function readHarnessConfigs(workspaceRoot, harnesses) {
66
+ export async function readHarnessConfigs(workspaceRoot, harnesses, opts) {
42
67
  const results = [];
43
68
  for (const harness of harnesses) {
44
69
  const filename = HARNESS_FILES[harness];
@@ -51,12 +76,13 @@ export async function readHarnessConfigs(workspaceRoot, harnesses) {
51
76
  console.warn(`[config-reader] Skipping ${filename}: ${stat.size} bytes exceeds ${MAX_FILE_SIZE_BYTES} limit`);
52
77
  continue;
53
78
  }
54
- const content = await fs.readFile(filePath, 'utf-8');
55
- const contentHash = crypto.createHash('sha256').update(content).digest('hex');
79
+ const redacted = redactConfigText(await fs.readFile(filePath, 'utf-8'));
80
+ const contentHash = crypto.createHash('sha256').update(redacted).digest('hex');
56
81
  results.push({
57
82
  path: filename,
58
- content,
59
83
  contentHash,
84
+ sizeBytes: stat.size,
85
+ ...(opts.includeContent ? { content: redacted } : {}),
60
86
  });
61
87
  }
62
88
  catch (err) {
@@ -81,11 +107,9 @@ export async function readHarnessConfigs(workspaceRoot, harnesses) {
81
107
  * @returns Number of files actually uploaded (after dedup).
82
108
  */
83
109
  export async function uploadConfigCapture(controlPlaneUrl, apiKey, workspaceId, harnessType, configs) {
110
+ const cacheKey = (f) => `${f.content === undefined ? 'meta' : 'body'}:${harnessType}:${f.path}`;
84
111
  // Filter out files whose hash hasn't changed since last upload
85
- const changed = configs.filter(f => {
86
- const lastHash = lastUploadedHashes.get(f.path);
87
- return lastHash !== f.contentHash;
88
- });
112
+ const changed = configs.filter(f => lastUploadedHashes.get(cacheKey(f)) !== f.contentHash);
89
113
  if (changed.length === 0)
90
114
  return 0;
91
115
  const payload = {
@@ -110,7 +134,7 @@ export async function uploadConfigCapture(controlPlaneUrl, apiKey, workspaceId,
110
134
  }
111
135
  // Update local hash cache on success
112
136
  for (const f of changed) {
113
- lastUploadedHashes.set(f.path, f.contentHash);
137
+ lastUploadedHashes.set(cacheKey(f), f.contentHash);
114
138
  }
115
139
  return changed.length;
116
140
  }
@@ -153,35 +177,35 @@ export async function reportGovernanceCoverageSnapshot(controlPlaneUrl, apiKey,
153
177
  }
154
178
  }
155
179
  /**
156
- * Full config capture cycle: read + upload.
157
- * Groups by harness type for proper capture payloads.
180
+ * Full config capture cycle: read + upload, one payload per harness.
158
181
  *
159
- * @param governanceInputs - This cycle's per-harness enforcement signals
160
- * (from `runSyncIteration`'s agent-facets collection), used to fire a
161
- * governance-coverage snapshot immediately after a harness's rules file is
162
- * actually found to have changed — never on every sync tick, only on the
163
- * iterations where `uploadConfigCapture`'s content-hash dedup lets a file
164
- * through. Falls back to `hasRulesFile: true` / everything else `false`
165
- * when the caller has no facets for a harness yet (first cycle before the
166
- * agent-report step has run) — conservative in the same direction
167
- * `harnessGradeSweep.ts`'s own doc comment argues for: "a wrong mapping
168
- * overstates enforcement, which is worse than an empty grid."
182
+ * `includeContent` is the workspace's `configBodyUpload` as the latest synced
183
+ * settings carry it, so a change reaches the next capture. Off, no request
184
+ * built here carries a file's content.
185
+ *
186
+ * `governanceInputs` are this cycle's per-harness enforcement signals, derived
187
+ * from the agent report facets. A governance-coverage snapshot fires only for
188
+ * a harness whose rules file was actually uploaded this time, not on every
189
+ * tick. Without inputs for a harness it falls back to `hasRulesFile: true` and
190
+ * everything else `false`: a wrong mapping that overstated enforcement would
191
+ * be worse than an empty grid.
169
192
  */
170
- export async function captureAndUpload(controlPlaneUrl, apiKey, workspaceId, workspaceRoot, harnesses, governanceInputs) {
171
- for (const harness of harnesses) {
172
- const configs = await readHarnessConfigs(workspaceRoot, [harness]);
173
- if (configs.length > 0) {
174
- const uploaded = await uploadConfigCapture(controlPlaneUrl, apiKey, workspaceId, harness, configs);
175
- if (uploaded > 0) {
176
- console.log(`[config-reader] Captured ${uploaded} ${harness} config file(s)`);
177
- await reportGovernanceCoverageSnapshot(controlPlaneUrl, apiKey, workspaceId, harness, governanceInputs?.[harness] ?? {
178
- mcpProxyActive: false,
179
- nativeHookActive: false,
180
- llmProxyActive: false,
181
- hasRulesFile: true,
182
- });
183
- }
184
- }
193
+ export async function captureAndUpload(opts) {
194
+ const { controlPlaneUrl, apiKey, workspaceId } = opts;
195
+ for (const harness of opts.harnesses) {
196
+ const configs = await readHarnessConfigs(opts.workspaceRoot, [harness], { includeContent: opts.includeContent });
197
+ if (configs.length === 0)
198
+ continue;
199
+ const uploaded = await uploadConfigCapture(controlPlaneUrl, apiKey, workspaceId, harness, configs);
200
+ if (uploaded === 0)
201
+ continue;
202
+ console.log(`[config-reader] Captured ${uploaded} ${harness} config file(s)`);
203
+ await reportGovernanceCoverageSnapshot(controlPlaneUrl, apiKey, workspaceId, harness, opts.governanceInputs?.[harness] ?? {
204
+ mcpProxyActive: false,
205
+ nativeHookActive: false,
206
+ llmProxyActive: false,
207
+ hasRulesFile: true,
208
+ });
185
209
  }
186
210
  }
187
211
  //# sourceMappingURL=configReader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configReader.js","sourceRoot":"","sources":["../src/configReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configReader.js","sourceRoot":"","sources":["../src/configReader.ts"],"names":[],"mappings":"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"}