@intutic/sync-daemon 2.0.0 → 2.2.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.
- package/dist/agentReporter.d.ts +5 -12
- package/dist/agentReporter.d.ts.map +1 -1
- package/dist/agentReporter.js +25 -4
- package/dist/agentReporter.js.map +1 -1
- package/dist/configReader.d.ts +44 -22
- package/dist/configReader.d.ts.map +1 -1
- package/dist/configReader.js +70 -44
- package/dist/configReader.js.map +1 -1
- package/dist/configWriter.d.ts +29 -41
- package/dist/configWriter.d.ts.map +1 -1
- package/dist/configWriter.js +28 -625
- package/dist/configWriter.js.map +1 -1
- package/dist/disconnect/harnesses.d.ts +31 -0
- package/dist/disconnect/harnesses.d.ts.map +1 -0
- package/dist/disconnect/harnesses.js +728 -0
- package/dist/disconnect/harnesses.js.map +1 -0
- package/dist/disconnect/index.d.ts +25 -0
- package/dist/disconnect/index.d.ts.map +1 -0
- package/dist/disconnect/index.js +82 -0
- package/dist/disconnect/index.js.map +1 -0
- package/dist/disconnect/mcp.d.ts +60 -0
- package/dist/disconnect/mcp.d.ts.map +1 -0
- package/dist/disconnect/mcp.js +283 -0
- package/dist/disconnect/mcp.js.map +1 -0
- package/dist/disconnect/originals.d.ts +88 -0
- package/dist/disconnect/originals.d.ts.map +1 -0
- package/dist/disconnect/originals.js +257 -0
- package/dist/disconnect/originals.js.map +1 -0
- package/dist/disconnect/plan.d.ts +175 -0
- package/dist/disconnect/plan.d.ts.map +1 -0
- package/dist/disconnect/plan.js +580 -0
- package/dist/disconnect/plan.js.map +1 -0
- package/dist/disconnect/recognise.d.ts +43 -0
- package/dist/disconnect/recognise.d.ts.map +1 -0
- package/dist/disconnect/recognise.js +98 -0
- package/dist/disconnect/recognise.js.map +1 -0
- package/dist/disconnect/tomlLines.d.ts +39 -0
- package/dist/disconnect/tomlLines.d.ts.map +1 -0
- package/dist/disconnect/tomlLines.js +105 -0
- package/dist/disconnect/tomlLines.js.map +1 -0
- package/dist/harness/aiderConfigMerger.d.ts +42 -5
- package/dist/harness/aiderConfigMerger.d.ts.map +1 -1
- package/dist/harness/aiderConfigMerger.js +113 -86
- package/dist/harness/aiderConfigMerger.js.map +1 -1
- package/dist/harness/antigravityHooks.d.ts +13 -8
- package/dist/harness/antigravityHooks.d.ts.map +1 -1
- package/dist/harness/antigravityHooks.js +53 -39
- package/dist/harness/antigravityHooks.js.map +1 -1
- package/dist/harness/claudeCodeHooks.d.ts +1 -2
- package/dist/harness/claudeCodeHooks.d.ts.map +1 -1
- package/dist/harness/claudeCodeHooks.js +61 -34
- package/dist/harness/claudeCodeHooks.js.map +1 -1
- package/dist/harness/claudeDesktopHooks.d.ts +3 -0
- package/dist/harness/claudeDesktopHooks.d.ts.map +1 -1
- package/dist/harness/claudeDesktopHooks.js +3 -1
- package/dist/harness/claudeDesktopHooks.js.map +1 -1
- package/dist/harness/claudeProjectApproval.d.ts +53 -0
- package/dist/harness/claudeProjectApproval.d.ts.map +1 -0
- package/dist/harness/claudeProjectApproval.js +159 -0
- package/dist/harness/claudeProjectApproval.js.map +1 -0
- package/dist/harness/clineHooks.d.ts +39 -9
- package/dist/harness/clineHooks.d.ts.map +1 -1
- package/dist/harness/clineHooks.js +142 -60
- package/dist/harness/clineHooks.js.map +1 -1
- package/dist/harness/codexConfigMerger.d.ts +38 -0
- package/dist/harness/codexConfigMerger.d.ts.map +1 -0
- package/dist/harness/codexConfigMerger.js +105 -0
- package/dist/harness/codexConfigMerger.js.map +1 -0
- package/dist/harness/codexHooks.d.ts +4 -2
- package/dist/harness/codexHooks.d.ts.map +1 -1
- package/dist/harness/codexHooks.js +14 -11
- package/dist/harness/codexHooks.js.map +1 -1
- package/dist/harness/continueConfigMerger.d.ts +46 -0
- package/dist/harness/continueConfigMerger.d.ts.map +1 -0
- package/dist/harness/continueConfigMerger.js +94 -0
- package/dist/harness/continueConfigMerger.js.map +1 -0
- package/dist/harness/continueHooks.d.ts +15 -25
- package/dist/harness/continueHooks.d.ts.map +1 -1
- package/dist/harness/continueHooks.js +25 -119
- package/dist/harness/continueHooks.js.map +1 -1
- package/dist/harness/cursorHooks.d.ts +33 -16
- package/dist/harness/cursorHooks.d.ts.map +1 -1
- package/dist/harness/cursorHooks.js +69 -25
- package/dist/harness/cursorHooks.js.map +1 -1
- package/dist/harness/dshHooks.d.ts +59 -52
- package/dist/harness/dshHooks.d.ts.map +1 -1
- package/dist/harness/dshHooks.js +152 -147
- package/dist/harness/dshHooks.js.map +1 -1
- package/dist/harness/gateBody.d.ts +11 -2
- package/dist/harness/gateBody.d.ts.map +1 -1
- package/dist/harness/gateBody.js +33 -6
- package/dist/harness/gateBody.js.map +1 -1
- package/dist/harness/gateKind.d.ts.map +1 -1
- package/dist/harness/gateKind.js +1 -0
- package/dist/harness/gateKind.js.map +1 -1
- package/dist/harness/githubCopilotHooks.d.ts.map +1 -1
- package/dist/harness/githubCopilotHooks.js +5 -10
- package/dist/harness/githubCopilotHooks.js.map +1 -1
- package/dist/harness/gooseHooks.d.ts +15 -0
- package/dist/harness/gooseHooks.d.ts.map +1 -1
- package/dist/harness/gooseHooks.js +55 -43
- package/dist/harness/gooseHooks.js.map +1 -1
- package/dist/harness/grokHooks.d.ts.map +1 -1
- package/dist/harness/grokHooks.js +14 -12
- package/dist/harness/grokHooks.js.map +1 -1
- package/dist/harness/hermesHooks.d.ts +9 -0
- package/dist/harness/hermesHooks.d.ts.map +1 -1
- package/dist/harness/hermesHooks.js +39 -33
- package/dist/harness/hermesHooks.js.map +1 -1
- package/dist/harness/holdRedaction.d.ts +4 -1
- package/dist/harness/holdRedaction.d.ts.map +1 -1
- package/dist/harness/holdRedaction.js +32 -8
- package/dist/harness/holdRedaction.js.map +1 -1
- package/dist/harness/jetbrainsXmlConfig.d.ts +20 -0
- package/dist/harness/jetbrainsXmlConfig.d.ts.map +1 -1
- package/dist/harness/jetbrainsXmlConfig.js +39 -18
- package/dist/harness/jetbrainsXmlConfig.js.map +1 -1
- package/dist/harness/jsonMergeTarget.d.ts +23 -0
- package/dist/harness/jsonMergeTarget.d.ts.map +1 -0
- package/dist/harness/jsonMergeTarget.js +50 -0
- package/dist/harness/jsonMergeTarget.js.map +1 -0
- package/dist/harness/mcpAutoWrite.d.ts +64 -20
- package/dist/harness/mcpAutoWrite.d.ts.map +1 -1
- package/dist/harness/mcpAutoWrite.js +429 -85
- package/dist/harness/mcpAutoWrite.js.map +1 -1
- package/dist/harness/museHooks.d.ts.map +1 -1
- package/dist/harness/museHooks.js +6 -2
- package/dist/harness/museHooks.js.map +1 -1
- package/dist/harness/n8nHooks.d.ts.map +1 -1
- package/dist/harness/n8nHooks.js +6 -7
- package/dist/harness/n8nHooks.js.map +1 -1
- package/dist/harness/openCodeHooks.d.ts +37 -6
- package/dist/harness/openCodeHooks.d.ts.map +1 -1
- package/dist/harness/openCodeHooks.js +103 -13
- package/dist/harness/openCodeHooks.js.map +1 -1
- package/dist/harness/openWebuiHooks.d.ts.map +1 -1
- package/dist/harness/openWebuiHooks.js +10 -5
- package/dist/harness/openWebuiHooks.js.map +1 -1
- package/dist/harness/openclawHooks.d.ts +5 -0
- package/dist/harness/openclawHooks.d.ts.map +1 -1
- package/dist/harness/openclawHooks.js +3 -1
- package/dist/harness/openclawHooks.js.map +1 -1
- package/dist/harness/openhandsHooks.d.ts +26 -1
- package/dist/harness/openhandsHooks.d.ts.map +1 -1
- package/dist/harness/openhandsHooks.js +160 -40
- package/dist/harness/openhandsHooks.js.map +1 -1
- package/dist/harness/piHooks.d.ts +17 -0
- package/dist/harness/piHooks.d.ts.map +1 -1
- package/dist/harness/piHooks.js +31 -29
- package/dist/harness/piHooks.js.map +1 -1
- package/dist/harness/protectedPaths.d.ts +64 -6
- package/dist/harness/protectedPaths.d.ts.map +1 -1
- package/dist/harness/protectedPaths.js +161 -11
- package/dist/harness/protectedPaths.js.map +1 -1
- package/dist/harness/rooCodeHooks.d.ts.map +1 -1
- package/dist/harness/rooCodeHooks.js +5 -10
- package/dist/harness/rooCodeHooks.js.map +1 -1
- package/dist/harness/windsurfHooks.d.ts +21 -3
- package/dist/harness/windsurfHooks.d.ts.map +1 -1
- package/dist/harness/windsurfHooks.js +96 -44
- package/dist/harness/windsurfHooks.js.map +1 -1
- package/dist/harness/windsurfJetBrainsProxy.d.ts +10 -7
- package/dist/harness/windsurfJetBrainsProxy.d.ts.map +1 -1
- package/dist/harness/windsurfJetBrainsProxy.js +22 -7
- package/dist/harness/windsurfJetBrainsProxy.js.map +1 -1
- package/dist/index.d.ts +12 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -10
- package/dist/index.js.map +1 -1
- package/dist/lib/decisionsDigest.d.ts +1 -1
- package/dist/lib/decisionsDigest.js +1 -1
- package/dist/lib/policySnapshot.d.ts +37 -0
- package/dist/lib/policySnapshot.d.ts.map +1 -1
- package/dist/lib/policySnapshot.js +170 -8
- package/dist/lib/policySnapshot.js.map +1 -1
- package/dist/sessionReporter.d.ts +2 -2
- package/dist/sessionReporter.js +2 -2
- package/dist/syncCycle.d.ts +142 -0
- package/dist/syncCycle.d.ts.map +1 -0
- package/dist/syncCycle.js +315 -0
- package/dist/syncCycle.js.map +1 -0
- package/dist/trajectoryMonitor.d.ts +1 -1
- package/dist/trajectoryMonitor.d.ts.map +1 -1
- package/dist/trajectoryMonitor.js +1 -1
- package/dist/trajectoryMonitor.js.map +1 -1
- package/dist/watcher/settingsGuard.d.ts +4 -1
- package/dist/watcher/settingsGuard.d.ts.map +1 -1
- package/dist/watcher/settingsGuard.js +42 -18
- package/dist/watcher/settingsGuard.js.map +1 -1
- package/package.json +6 -6
- package/dist/hashReporter.d.ts +0 -33
- package/dist/hashReporter.d.ts.map +0 -1
- package/dist/hashReporter.js +0 -69
- package/dist/hashReporter.js.map +0 -1
- package/dist/integrityStore.d.ts +0 -35
- package/dist/integrityStore.d.ts.map +0 -1
- package/dist/integrityStore.js +0 -71
- package/dist/integrityStore.js.map +0 -1
- package/dist/lib/gitWorktrees.d.ts +0 -140
- package/dist/lib/gitWorktrees.d.ts.map +0 -1
- package/dist/lib/gitWorktrees.js +0 -191
- package/dist/lib/gitWorktrees.js.map +0 -1
- package/dist/syncLoop.d.ts +0 -172
- package/dist/syncLoop.d.ts.map +0 -1
- package/dist/syncLoop.js +0 -878
- package/dist/syncLoop.js.map +0 -1
package/dist/agentReporter.d.ts
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*
|
|
15
15
|
* @module
|
|
16
16
|
*/
|
|
17
|
-
import { type HarnessType } from '@intutic/shared-types';
|
|
17
|
+
import { 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;
|
|
@@ -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;
|
|
@@ -93,18 +94,10 @@ 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.
|
|
97
|
+
* Carries each readable file's sha256 (TD-486) — see
|
|
98
|
+
* `SkillScriptsFacet` in `@intutic/shared-types`.
|
|
96
99
|
*/
|
|
97
|
-
scripts?:
|
|
98
|
-
/** Every bundled file the walk found, scanned or not. */
|
|
99
|
-
total: number;
|
|
100
|
-
/** How many of `total` were actually content-scanned — excludes
|
|
101
|
-
* unreadable files, files over the byte cap (refused, not skipped),
|
|
102
|
-
* and files whose language `detectScriptLanguage` could not
|
|
103
|
-
* determine. */
|
|
104
|
-
scanned: number;
|
|
105
|
-
/** How many of `scanned` came back with at least one finding. */
|
|
106
|
-
flagged: number;
|
|
107
|
-
};
|
|
100
|
+
scripts?: SkillScriptsFacet;
|
|
108
101
|
/**
|
|
109
102
|
* sha256 of the `SKILL.md` content this row describes (Phase S5,
|
|
110
103
|
* TD-357) — lets `services/control-plane/src/routes/agents.ts` look up
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentReporter.d.ts","sourceRoot":"","sources":["../src/agentReporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,OAAO,
|
|
1
|
+
{"version":3,"file":"agentReporter.d.ts","sourceRoot":"","sources":["../src/agentReporter.ts"],"names":[],"mappings":"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"}
|
package/dist/agentReporter.js
CHANGED
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
*
|
|
15
15
|
* @module
|
|
16
16
|
*/
|
|
17
|
-
import { readFile, readdir, access } from 'node:fs/promises';
|
|
17
|
+
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, } 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, } from '@intutic/shared-types';
|
|
22
22
|
import { discoverMcpServers } from './harness/mcpAutoWrite.js';
|
|
23
23
|
import { gateKindForHarness } from './harness/gateKind.js';
|
|
24
24
|
async function exists(p) {
|
|
@@ -173,6 +173,11 @@ async function collectSops(workspaceRoot) {
|
|
|
173
173
|
* skill has no bundled files at all, so `collectSkills` can omit `scripts`
|
|
174
174
|
* entirely for the common case of a skill that is only a `SKILL.md` — see
|
|
175
175
|
* that field's own doc comment on the `AgentFacets['skills']` item type.
|
|
176
|
+
*
|
|
177
|
+
* TD-486: also sha256-hashes every bundled file it can read within
|
|
178
|
+
* `MAX_SCRIPT_HASH_BYTES`, so the control plane can join VirusTotal
|
|
179
|
+
* verdicts to this skill by hash instead of by name. Only the hashes are
|
|
180
|
+
* reported — never file content.
|
|
176
181
|
*/
|
|
177
182
|
async function collectSkillScripts(skillDir) {
|
|
178
183
|
const files = [];
|
|
@@ -207,14 +212,18 @@ async function collectSkillScripts(skillDir) {
|
|
|
207
212
|
return undefined;
|
|
208
213
|
let scanned = 0;
|
|
209
214
|
let flagged = 0;
|
|
215
|
+
const sha256 = [];
|
|
210
216
|
for (const filePath of files) {
|
|
211
217
|
let buffer;
|
|
212
218
|
try {
|
|
213
|
-
buffer = await
|
|
219
|
+
buffer = await readFileWithin(filePath, MAX_SCRIPT_HASH_BYTES);
|
|
214
220
|
}
|
|
215
221
|
catch {
|
|
216
222
|
continue; // unreadable — counted in `total`, not `scanned`
|
|
217
223
|
}
|
|
224
|
+
if (buffer === null)
|
|
225
|
+
continue; // over the hash cap — counted in `total`, neither hashed nor scanned
|
|
226
|
+
sha256.push(createHash('sha256').update(buffer).digest('hex'));
|
|
218
227
|
if (buffer.length > MAX_SCRIPT_SCAN_BYTES)
|
|
219
228
|
continue; // refused, not silently skipped or scanned
|
|
220
229
|
const firstLine = buffer.toString('utf8', 0, Math.min(buffer.length, 200)).split('\n')[0];
|
|
@@ -226,7 +235,19 @@ async function collectSkillScripts(skillDir) {
|
|
|
226
235
|
if (!result.clean)
|
|
227
236
|
flagged++;
|
|
228
237
|
}
|
|
229
|
-
return { total: files.length, scanned, flagged };
|
|
238
|
+
return { total: files.length, scanned, flagged, sha256 };
|
|
239
|
+
}
|
|
240
|
+
/** Reads `filePath` only if it is at most `maxBytes` long (checked on the open handle, before reading); `null` when it is larger. */
|
|
241
|
+
async function readFileWithin(filePath, maxBytes) {
|
|
242
|
+
const handle = await open(filePath, 'r');
|
|
243
|
+
try {
|
|
244
|
+
if ((await handle.stat()).size > maxBytes)
|
|
245
|
+
return null;
|
|
246
|
+
return await handle.readFile();
|
|
247
|
+
}
|
|
248
|
+
finally {
|
|
249
|
+
await handle.close();
|
|
250
|
+
}
|
|
230
251
|
}
|
|
231
252
|
/**
|
|
232
253
|
* Bundled skills under `<root>/.agents/skills/<name>/SKILL.md`, content-
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentReporter.js","sourceRoot":"","sources":["../src/agentReporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,GAEtB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAyH1D,KAAK,UAAU,MAAM,CAAC,CAAS;IAC7B,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,CAAC,CAAC,CAAA;QACf,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,yEAAyE;IACzE,qEAAqE;IACrE,IAAI,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,uBAAuB,CAAA;IACnE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACnD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,iBAAiB,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACxF,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAA;QACxB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA+D,CAAA;QAC7F,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC9C,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACzD,UAAU,EAAE,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SACtE,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,IAAI,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,uBAAuB,CAAA;IACnE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACnD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,iBAAiB,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACxF,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAA;QACxB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAK7B,CAAA;QACD,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzG,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;QAC5D,MAAM,OAAO,GAAG,MAAM;aACnB,MAAM,CAAC,CAAC,CAAC,EAA+C,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC;aAC/F,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;aACnE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAkB,CAAC;aAChC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACf,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAA;IAChF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC7C,IAAI,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,uBAAuB,CAAA;IACnE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACnD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,mBAAmB,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC1F,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAA;QACxB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA8D,CAAA;QAC5F,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAC3F,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAA;IACpF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,iEAAiE;AACjE,KAAK,UAAU,cAAc;IAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;IAC5D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;QAClC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAA;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAA;IACV,CAAC;AACH,CAAC;AAED,sDAAsD;AACtD,KAAK,UAAU,WAAW,CAAC,aAAqB;IAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;IACnD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;QAClC,MAAM,GAAG,GAAwB,EAAE,CAAA;QACnC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;YACpE,qEAAqE;YACrE,MAAM,QAAQ,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACxD,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;QACvE,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,KAAK,UAAU,mBAAmB,CAChC,QAAgB;IAEhB,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,KAAK,UAAU,IAAI,CAAC,GAAW,EAAE,KAAa;QAC5C,IAAI,KAAK,GAAG,mBAAmB,IAAI,KAAK,CAAC,MAAM,IAAI,mBAAmB;YAAE,OAAM;QAC9E,IAAI,OAAO,CAAA;QACX,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,OAAM;QACR,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,MAAM,IAAI,mBAAmB;gBAAE,OAAM;YAC/C,IAAI,KAAK,CAAC,cAAc,EAAE;gBAAE,SAAQ,CAAC,iDAAiD;YACtF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YAClC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YAC7B,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1B,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;oBAAE,SAAQ;gBACtD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACvB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAExC,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,IAAI,MAAc,CAAA;QAClB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,SAAQ,CAAC,iDAAiD;QAC5D,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,qBAAqB;YAAE,SAAQ,CAAC,2CAA2C;QAC/F,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACzF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAC1D,IAAI,QAAQ,KAAK,SAAS;YAAE,SAAQ,CAAC,iDAAiD;QACtF,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAA;QACnE,OAAO,EAAE,CAAA;QACT,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,OAAO,EAAE,CAAA;IAC9B,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;AAClD,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,KAAK,UAAU,aAAa,CAAC,aAAqB;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;IACpD,IAAI,OAAO,CAAA;IACX,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;IACnD,MAAM,GAAG,GAA0B,EAAE,CAAA;IACrC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;QAC9C,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QAEnD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;YACnD,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;YACxC,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACzE,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,gBAAgB;gBACxB,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;gBACrC,MAAM;gBACN,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChC,CAAC,CAAA;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,gBAAgB;gBACxB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK;gBACZ,aAAa,EAAE,CAAC;gBAChB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,gFAAgF;AAChF,KAAK,UAAU,iBAAiB,CAAC,aAAqB;IACpD,MAAM,OAAO,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IACjD,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,GAAG,GAAG,aAAa,CAAA;IACvB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACvC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YAC7B,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC9B,IAAI,MAAM,KAAK,GAAG;YAAE,MAAK;QACzB,GAAG,GAAG,MAAM,CAAA;IACd,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;AAC5B,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,eAAe,CAAC,aAAqB;IAClD,OAAO,kBAAkB,CAAC,aAAa,CAAC,CAAA;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAUxC;IACC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzF,cAAc,EAAE;QAChB,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;QAC/B,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC;QACjC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC;QACnC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC;QACrC,iBAAiB,EAAE;QACnB,gBAAgB,EAAE;KACnB,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAA;IACjC,OAAO;QACL,QAAQ,EAAE,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,SAAS,EAAE;QACpD,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW;QACtE,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,SAAS,EAAE,IAAI;QACf,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,GAAG,EAAE,IAAI,CAAC,UAAU;gBACpB,UAAU,EAAE,SAAS;gBACrB,sEAAsE;gBACtE,gEAAgE;gBAChE,mEAAmE;gBACnE,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,MAAM;gBAC1D,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC/C,IAAI,EAAE,IAAI,CAAC,cAAc;gBACzB,oEAAoE;gBACpE,kEAAkE;gBAClE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9B;YACD,IAAI;YACJ,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;YAClC,SAAS,EAAE,QAAQ;YACnB,MAAM;YACN,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,gDAAgD;YAC9E,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE;YACrE,uEAAuE;YACvE,uEAAuE;YACvE,2BAA2B;YAC3B,MAAM,EACJ,IAAI,CAAC,gBAAgB,KAAK,KAAK;gBAC7B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,eAAe,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YACnF,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC;KACF,CAAA;AACH,CAAC;AAED,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,eAAuB,EACvB,MAAc,EACd,WAAmB,EACnB,MAAmB;IAEnB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,eAAe,uBAAuB,EAAE;YACjE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE;YAClF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC;YACzD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;SACpC,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,wCAAwC,MAAM,CAAC,QAAQ,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;QACxF,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,uCAAuC,MAAM,CAAC,QAAQ,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACnH,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"agentReporter.js","sourceRoot":"","sources":["../src/agentReporter.ts"],"names":[],"mappings":"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"}
|
package/dist/configReader.d.ts
CHANGED
|
@@ -1,21 +1,33 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* configReader.ts —
|
|
2
|
+
* configReader.ts — Capture harness config files for the config history.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
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.
|
|
7
10
|
*
|
|
8
11
|
* LLD #51 — Harness Config Capture + SkillOpt Pipeline
|
|
9
12
|
*
|
|
10
13
|
* @module
|
|
11
14
|
*/
|
|
12
15
|
import type { HarnessType, CapturedConfigFile, GovernanceCoverageInputs } from '@intutic/shared-types';
|
|
16
|
+
/**
|
|
17
|
+
* A config file's text as it may leave the machine: the hold-snapshot
|
|
18
|
+
* redactor (credential shapes, `name: value` assignments to secret-named keys,
|
|
19
|
+
* PEM blocks) without its length cap, then every pattern in
|
|
20
|
+
* `SECRET_VALUE_PATTERNS`. Both, because each catches shapes the other does
|
|
21
|
+
* not (`vk_…` and `sk-or-v1-…` are only in the second, JWTs and Slack tokens
|
|
22
|
+
* only in the first).
|
|
23
|
+
*/
|
|
24
|
+
export declare function redactConfigText(text: string): string;
|
|
13
25
|
/**
|
|
14
26
|
* The four enforcement inputs `POST /api/v1/governance-coverage/snapshot`
|
|
15
27
|
* expects. Re-exported from `@intutic/shared-types` (TD-443) — previously
|
|
16
28
|
* declared locally here as a hand-kept duplicate of
|
|
17
29
|
* `harnessGradeSweep.ts`'s `deriveEnforcementInputs` return shape on the
|
|
18
|
-
* control-plane side, which drifted (this module's
|
|
30
|
+
* control-plane side, which drifted (this module's sync-cycle consumer
|
|
19
31
|
* was missing an `Array.isArray` guard the control-plane side had). Both
|
|
20
32
|
* sides now derive from `packages/shared-types/src/governanceCoverage.ts`'s
|
|
21
33
|
* single mapping — safe for this module to depend on since it is a leaf
|
|
@@ -31,14 +43,17 @@ export type { GovernanceCoverageInputs } from '@intutic/shared-types';
|
|
|
31
43
|
export declare function shouldCaptureThisIteration(iterationCount: number): boolean;
|
|
32
44
|
/**
|
|
33
45
|
* Read harness config files from the workspace.
|
|
34
|
-
* For each active harness, reads the config file
|
|
35
|
-
*
|
|
46
|
+
* For each active harness, reads the config file and hashes its redacted
|
|
47
|
+
* text; the text itself is kept only with `includeContent`. Skips files that
|
|
48
|
+
* don't exist or are too large.
|
|
36
49
|
*
|
|
37
50
|
* @param workspaceRoot - Absolute path to the workspace root.
|
|
38
51
|
* @param harnesses - Active harness types detected in the workspace.
|
|
39
|
-
* @
|
|
52
|
+
* @param opts.includeContent - The workspace's `configBodyUpload`.
|
|
40
53
|
*/
|
|
41
|
-
export declare function readHarnessConfigs(workspaceRoot: string, harnesses: HarnessType[]
|
|
54
|
+
export declare function readHarnessConfigs(workspaceRoot: string, harnesses: HarnessType[], opts: {
|
|
55
|
+
includeContent: boolean;
|
|
56
|
+
}): Promise<CapturedConfigFile[]>;
|
|
42
57
|
/**
|
|
43
58
|
* Upload captured config files to the control plane.
|
|
44
59
|
* Deduplicates locally: only uploads files whose content hash changed
|
|
@@ -65,19 +80,26 @@ export declare function uploadConfigCapture(controlPlaneUrl: string, apiKey: str
|
|
|
65
80
|
*/
|
|
66
81
|
export declare function reportGovernanceCoverageSnapshot(controlPlaneUrl: string, apiKey: string, workspaceId: string, harnessType: HarnessType, inputs: GovernanceCoverageInputs): Promise<void>;
|
|
67
82
|
/**
|
|
68
|
-
* Full config capture cycle: read + upload.
|
|
69
|
-
*
|
|
83
|
+
* Full config capture cycle: read + upload, one payload per harness.
|
|
84
|
+
*
|
|
85
|
+
* `includeContent` is the workspace's `configBodyUpload` as the latest synced
|
|
86
|
+
* settings carry it, so a change reaches the next capture. Off, no request
|
|
87
|
+
* built here carries a file's content.
|
|
70
88
|
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
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."
|
|
89
|
+
* `governanceInputs` are this cycle's per-harness enforcement signals, derived
|
|
90
|
+
* from the agent report facets. A governance-coverage snapshot fires only for
|
|
91
|
+
* a harness whose rules file was actually uploaded this time, not on every
|
|
92
|
+
* tick. Without inputs for a harness it falls back to `hasRulesFile: true` and
|
|
93
|
+
* everything else `false`: a wrong mapping that overstated enforcement would
|
|
94
|
+
* be worse than an empty grid.
|
|
81
95
|
*/
|
|
82
|
-
export declare function captureAndUpload(
|
|
96
|
+
export declare function captureAndUpload(opts: {
|
|
97
|
+
controlPlaneUrl: string;
|
|
98
|
+
apiKey: string;
|
|
99
|
+
workspaceId: string;
|
|
100
|
+
workspaceRoot: string;
|
|
101
|
+
harnesses: HarnessType[];
|
|
102
|
+
includeContent: boolean;
|
|
103
|
+
governanceInputs?: Partial<Record<HarnessType, GovernanceCoverageInputs>>;
|
|
104
|
+
}): Promise<void>;
|
|
83
105
|
//# sourceMappingURL=configReader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configReader.d.ts","sourceRoot":"","sources":["../src/configReader.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"configReader.d.ts","sourceRoot":"","sources":["../src/configReader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;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"}
|
package/dist/configReader.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* configReader.ts —
|
|
2
|
+
* configReader.ts — Capture harness config files for the config history.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
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.
|
|
7
10
|
*
|
|
8
11
|
* LLD #51 — Harness Config Capture + SkillOpt Pipeline
|
|
9
12
|
*
|
|
@@ -12,15 +15,38 @@
|
|
|
12
15
|
import * as fs from 'node:fs/promises';
|
|
13
16
|
import * as path from 'node:path';
|
|
14
17
|
import * as crypto from 'node:crypto';
|
|
18
|
+
import { SECRET_VALUE_PATTERNS } from '@intutic/shared-types';
|
|
15
19
|
import { HARNESS_FILES } from './configWriter.js';
|
|
20
|
+
import { redactSecrets } from './harness/holdRedaction.js';
|
|
16
21
|
// ─── Constants ───────────────────────────────────────────────────────
|
|
17
22
|
/** Capture every Nth sync iteration (default: every 5th = ~2.5 min at 30s poll). */
|
|
18
23
|
const DEFAULT_CAPTURE_INTERVAL = 5;
|
|
19
24
|
/** Max file size to capture (prevent uploading massive files). */
|
|
20
25
|
const MAX_FILE_SIZE_BYTES = 512 * 1024; // 512 KB
|
|
21
26
|
// ─── Local hash cache ────────────────────────────────────────────────
|
|
22
|
-
/**
|
|
27
|
+
/**
|
|
28
|
+
* Last-uploaded content hash per file and upload mode. The mode is part of
|
|
29
|
+
* the key so that turning `configBodyUpload` on uploads the content of a file
|
|
30
|
+
* whose metadata was already sent, at the next capture rather than its next
|
|
31
|
+
* edit.
|
|
32
|
+
*/
|
|
23
33
|
const lastUploadedHashes = new Map();
|
|
34
|
+
/** Every credential-value pattern the hook gate and pre-commit scan refuse. */
|
|
35
|
+
const SECRET_VALUES = SECRET_VALUE_PATTERNS.map((p) => new RegExp(p.source, 'g'));
|
|
36
|
+
/**
|
|
37
|
+
* A config file's text as it may leave the machine: the hold-snapshot
|
|
38
|
+
* redactor (credential shapes, `name: value` assignments to secret-named keys,
|
|
39
|
+
* PEM blocks) without its length cap, then every pattern in
|
|
40
|
+
* `SECRET_VALUE_PATTERNS`. Both, because each catches shapes the other does
|
|
41
|
+
* not (`vk_…` and `sk-or-v1-…` are only in the second, JWTs and Slack tokens
|
|
42
|
+
* only in the first).
|
|
43
|
+
*/
|
|
44
|
+
export function redactConfigText(text) {
|
|
45
|
+
let out = redactSecrets(text, 0, Number.POSITIVE_INFINITY);
|
|
46
|
+
for (const re of SECRET_VALUES)
|
|
47
|
+
out = out.replace(re, '[redacted]');
|
|
48
|
+
return out;
|
|
49
|
+
}
|
|
24
50
|
/**
|
|
25
51
|
* Determine whether config capture should run on this iteration.
|
|
26
52
|
* Captures every Nth iteration to avoid flooding the control plane.
|
|
@@ -31,14 +57,15 @@ export function shouldCaptureThisIteration(iterationCount) {
|
|
|
31
57
|
}
|
|
32
58
|
/**
|
|
33
59
|
* Read harness config files from the workspace.
|
|
34
|
-
* For each active harness, reads the config file
|
|
35
|
-
*
|
|
60
|
+
* For each active harness, reads the config file and hashes its redacted
|
|
61
|
+
* text; the text itself is kept only with `includeContent`. Skips files that
|
|
62
|
+
* don't exist or are too large.
|
|
36
63
|
*
|
|
37
64
|
* @param workspaceRoot - Absolute path to the workspace root.
|
|
38
65
|
* @param harnesses - Active harness types detected in the workspace.
|
|
39
|
-
* @
|
|
66
|
+
* @param opts.includeContent - The workspace's `configBodyUpload`.
|
|
40
67
|
*/
|
|
41
|
-
export async function readHarnessConfigs(workspaceRoot, harnesses) {
|
|
68
|
+
export async function readHarnessConfigs(workspaceRoot, harnesses, opts) {
|
|
42
69
|
const results = [];
|
|
43
70
|
for (const harness of harnesses) {
|
|
44
71
|
const filename = HARNESS_FILES[harness];
|
|
@@ -51,12 +78,13 @@ export async function readHarnessConfigs(workspaceRoot, harnesses) {
|
|
|
51
78
|
console.warn(`[config-reader] Skipping ${filename}: ${stat.size} bytes exceeds ${MAX_FILE_SIZE_BYTES} limit`);
|
|
52
79
|
continue;
|
|
53
80
|
}
|
|
54
|
-
const
|
|
55
|
-
const contentHash = crypto.createHash('sha256').update(
|
|
81
|
+
const redacted = redactConfigText(await fs.readFile(filePath, 'utf-8'));
|
|
82
|
+
const contentHash = crypto.createHash('sha256').update(redacted).digest('hex');
|
|
56
83
|
results.push({
|
|
57
84
|
path: filename,
|
|
58
|
-
content,
|
|
59
85
|
contentHash,
|
|
86
|
+
sizeBytes: stat.size,
|
|
87
|
+
...(opts.includeContent ? { content: redacted } : {}),
|
|
60
88
|
});
|
|
61
89
|
}
|
|
62
90
|
catch (err) {
|
|
@@ -81,11 +109,9 @@ export async function readHarnessConfigs(workspaceRoot, harnesses) {
|
|
|
81
109
|
* @returns Number of files actually uploaded (after dedup).
|
|
82
110
|
*/
|
|
83
111
|
export async function uploadConfigCapture(controlPlaneUrl, apiKey, workspaceId, harnessType, configs) {
|
|
112
|
+
const cacheKey = (f) => `${f.content === undefined ? 'meta' : 'body'}:${harnessType}:${f.path}`;
|
|
84
113
|
// 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
|
-
});
|
|
114
|
+
const changed = configs.filter(f => lastUploadedHashes.get(cacheKey(f)) !== f.contentHash);
|
|
89
115
|
if (changed.length === 0)
|
|
90
116
|
return 0;
|
|
91
117
|
const payload = {
|
|
@@ -110,7 +136,7 @@ export async function uploadConfigCapture(controlPlaneUrl, apiKey, workspaceId,
|
|
|
110
136
|
}
|
|
111
137
|
// Update local hash cache on success
|
|
112
138
|
for (const f of changed) {
|
|
113
|
-
lastUploadedHashes.set(f
|
|
139
|
+
lastUploadedHashes.set(cacheKey(f), f.contentHash);
|
|
114
140
|
}
|
|
115
141
|
return changed.length;
|
|
116
142
|
}
|
|
@@ -153,35 +179,35 @@ export async function reportGovernanceCoverageSnapshot(controlPlaneUrl, apiKey,
|
|
|
153
179
|
}
|
|
154
180
|
}
|
|
155
181
|
/**
|
|
156
|
-
* Full config capture cycle: read + upload.
|
|
157
|
-
*
|
|
182
|
+
* Full config capture cycle: read + upload, one payload per harness.
|
|
183
|
+
*
|
|
184
|
+
* `includeContent` is the workspace's `configBodyUpload` as the latest synced
|
|
185
|
+
* settings carry it, so a change reaches the next capture. Off, no request
|
|
186
|
+
* built here carries a file's content.
|
|
158
187
|
*
|
|
159
|
-
*
|
|
160
|
-
*
|
|
161
|
-
*
|
|
162
|
-
*
|
|
163
|
-
*
|
|
164
|
-
*
|
|
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."
|
|
188
|
+
* `governanceInputs` are this cycle's per-harness enforcement signals, derived
|
|
189
|
+
* from the agent report facets. A governance-coverage snapshot fires only for
|
|
190
|
+
* a harness whose rules file was actually uploaded this time, not on every
|
|
191
|
+
* tick. Without inputs for a harness it falls back to `hasRulesFile: true` and
|
|
192
|
+
* everything else `false`: a wrong mapping that overstated enforcement would
|
|
193
|
+
* be worse than an empty grid.
|
|
169
194
|
*/
|
|
170
|
-
export async function captureAndUpload(
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
195
|
+
export async function captureAndUpload(opts) {
|
|
196
|
+
const { controlPlaneUrl, apiKey, workspaceId } = opts;
|
|
197
|
+
for (const harness of opts.harnesses) {
|
|
198
|
+
const configs = await readHarnessConfigs(opts.workspaceRoot, [harness], { includeContent: opts.includeContent });
|
|
199
|
+
if (configs.length === 0)
|
|
200
|
+
continue;
|
|
201
|
+
const uploaded = await uploadConfigCapture(controlPlaneUrl, apiKey, workspaceId, harness, configs);
|
|
202
|
+
if (uploaded === 0)
|
|
203
|
+
continue;
|
|
204
|
+
console.log(`[config-reader] Captured ${uploaded} ${harness} config file(s)`);
|
|
205
|
+
await reportGovernanceCoverageSnapshot(controlPlaneUrl, apiKey, workspaceId, harness, opts.governanceInputs?.[harness] ?? {
|
|
206
|
+
mcpProxyActive: false,
|
|
207
|
+
nativeHookActive: false,
|
|
208
|
+
llmProxyActive: false,
|
|
209
|
+
hasRulesFile: true,
|
|
210
|
+
});
|
|
185
211
|
}
|
|
186
212
|
}
|
|
187
213
|
//# sourceMappingURL=configReader.js.map
|
package/dist/configReader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configReader.js","sourceRoot":"","sources":["../src/configReader.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"configReader.js","sourceRoot":"","sources":["../src/configReader.ts"],"names":[],"mappings":"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"}
|
package/dist/configWriter.d.ts
CHANGED
|
@@ -1,54 +1,44 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* configWriter.ts —
|
|
2
|
+
* configWriter.ts — the harness rules-file map, local SOP loading, SkillOpt
|
|
3
|
+
* config edits and the atomic write they share.
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* resolves paths, formats content, and performs atomic writes
|
|
7
|
-
* (write-to-tmp → rename) to prevent partial/corrupt files.
|
|
8
|
-
*
|
|
9
|
-
* HLD §3.14 — Real-Time State Mirroring
|
|
10
|
-
* LLD #8 — Sync Daemon / CLI
|
|
5
|
+
* The harness config files themselves are written by the CLI's adapters
|
|
6
|
+
* (tools/cli/src/harness), which `intutic connect` runs.
|
|
11
7
|
*
|
|
12
8
|
* @module
|
|
13
9
|
*/
|
|
14
10
|
import type { HarnessType, SyncSopEntry, ConfigEdit } from '@intutic/shared-types';
|
|
15
11
|
/**
|
|
16
|
-
*
|
|
17
|
-
* the workspace
|
|
18
|
-
*
|
|
12
|
+
* Clear the macOS user-immutable flag so the daemon can rewrite a file it
|
|
13
|
+
* write-protected (the workspace's `bypassEnforcementTier: 'immutable'`).
|
|
14
|
+
* No-op on other platforms or if the file does not exist yet.
|
|
15
|
+
*/
|
|
16
|
+
export declare function clearImmutable(filePath: string): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Set the macOS user-immutable flag (`chflags uchg`), so a hand edit of a
|
|
19
|
+
* managed file fails with EPERM. The flag needs no root to set or clear; it
|
|
20
|
+
* stops casual editing, not a determined user. No-op on other platforms.
|
|
21
|
+
*/
|
|
22
|
+
export declare function setImmutable(filePath: string): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Each harness's rules file, relative to the workspace root: the file the
|
|
25
|
+
* drift watcher watches, config capture uploads, and SkillOpt edits and the
|
|
26
|
+
* decisions log write into. An empty string means the harness has no
|
|
27
|
+
* workspace rules file: its governance lives elsewhere (dsh under $DSH_HOME),
|
|
28
|
+
* or it writes no config of its own because it delegates to a wrapped
|
|
29
|
+
* harness's gate (Xirp, Agentic Orchestrator, AgentCore Runtime) or is gated
|
|
30
|
+
* by a service (TrueForge server). The SDK-gated frameworks share
|
|
31
|
+
* `.env.intutic`, which carries the proxy variables.
|
|
19
32
|
*/
|
|
20
33
|
export declare const HARNESS_FILES: Record<HarnessType, string>;
|
|
21
|
-
/** Result of a config-write operation across one or more harnesses. */
|
|
22
|
-
export interface WriteResult {
|
|
23
|
-
/** Paths of files that were successfully written. */
|
|
24
|
-
filesWritten: string[];
|
|
25
|
-
/** Paths where the harness was skipped (not detected or deferred). */
|
|
26
|
-
filesSkipped: string[];
|
|
27
|
-
}
|
|
28
34
|
/**
|
|
29
35
|
* The workspace's local SOPs (`.intutic/sops/<dir>/*.md`, narrowed by
|
|
30
|
-
* `session-context.json`'s `activeLocalSops` when present).
|
|
31
|
-
*
|
|
36
|
+
* `session-context.json`'s `activeLocalSops` when present). Read by the
|
|
37
|
+
* gate-cache refresh, which compiles their
|
|
32
38
|
* `review_before:` tokens into hold rules (TD-474 item 4). A missing
|
|
33
39
|
* directory is an empty list.
|
|
34
40
|
*/
|
|
35
41
|
export declare function loadLocalSopEntries(workspaceRoot: string, harnesses: HarnessType[]): Promise<SyncSopEntry[]>;
|
|
36
|
-
/**
|
|
37
|
-
* Write SOP content to all targeted harness config files.
|
|
38
|
-
*
|
|
39
|
-
* For each harness type, resolves the config file path, formats the
|
|
40
|
-
* content according to the harness-specific format, and performs an
|
|
41
|
-
* atomic write (tmp file → rename).
|
|
42
|
-
*
|
|
43
|
-
* @param workspaceRoot - Absolute path to the workspace root.
|
|
44
|
-
* @param sops - SOPs to write, each specifying which harnesses to target.
|
|
45
|
-
* @param proxyUrl - Intutic proxy URL for LLM API redirect.
|
|
46
|
-
* @param harnesses - Harness types detected in the workspace.
|
|
47
|
-
* @returns WriteResult with written and skipped file paths.
|
|
48
|
-
*/
|
|
49
|
-
export declare function writeConfigFiles(workspaceRoot: string, sops: SyncSopEntry[], proxyUrl: string, harnesses: HarnessType[], workspaceId?: string,
|
|
50
|
-
/** WS-5 Q3: 'rewrite' (default) | 'immutable' | 'alert-only' */
|
|
51
|
-
bypassEnforcementTier?: string): Promise<WriteResult>;
|
|
52
42
|
/** Outcome of a single ADD/DELETE/REPLACE operation within one suggestion's edit set. */
|
|
53
43
|
export interface ConfigEditOperationOutcome {
|
|
54
44
|
/** Index into the suggestion's `edits` array. */
|
|
@@ -77,7 +67,7 @@ export interface ConfigEditApplyOutcome {
|
|
|
77
67
|
* of `void` — every operation's real fate (fuzzy-match miss on DELETE/
|
|
78
68
|
* REPLACE, an unresolvable target file, or the final `atomicWrite` itself
|
|
79
69
|
* failing) is recorded here rather than only `console.warn`'d, so the caller
|
|
80
|
-
* (
|
|
70
|
+
* (`applySkillOptEdits`, syncCycle.ts) can ack the daemon's actual outcome back to control-plane
|
|
81
71
|
* instead of the daemon-side write being invisible to it.
|
|
82
72
|
*/
|
|
83
73
|
export declare function applyConfigEdits(workspaceRoot: string, appliedEdits: Array<{
|
|
@@ -93,11 +83,9 @@ export declare function applyConfigEdits(workspaceRoot: string, appliedEdits: Ar
|
|
|
93
83
|
* This prevents partial/corrupt files if the process is interrupted mid-write.
|
|
94
84
|
*
|
|
95
85
|
* If bypassEnforcementTier === 'immutable', clears the macOS user-immutable
|
|
96
|
-
* flag before writing and re-sets it after
|
|
86
|
+
* flag before writing and re-sets it after.
|
|
97
87
|
*
|
|
98
|
-
* Exported for
|
|
99
|
-
* `lib/decisionsDigest.ts`) that want the same write-tmp-then-rename
|
|
100
|
-
* atomicity without duplicating it.
|
|
88
|
+
* Exported for `lib/decisionsDigest.ts`, which regenerates whole files too.
|
|
101
89
|
*/
|
|
102
90
|
export declare function atomicWrite(filePath: string, content: string, bypassEnforcementTier?: string): Promise<void>;
|
|
103
91
|
//# sourceMappingURL=configWriter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configWriter.d.ts","sourceRoot":"","sources":["../src/configWriter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"configWriter.d.ts","sourceRoot":"","sources":["../src/configWriter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAIlF;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGpE;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGlE;AAID;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CA6CrD,CAAA;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA0ClH;AAkCD,yFAAyF;AACzF,MAAM,WAAW,0BAA0B;IACzC,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,2EAA2E;IAC3E,OAAO,EAAE,OAAO,CAAA;IAChB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAA;IACpB,iEAAiE;IACjE,EAAE,EAAE,OAAO,CAAA;IACX,YAAY,EAAE,0BAA0B,EAAE,CAAA;CAC3C;AAED;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,KAAK,CAAC;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,CAAA;CAC7B,CAAC,EACF,qBAAqB,CAAC,EAAE,MAAM,GAC7B,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAqHnC;AAID;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,qBAAqB,CAAC,EAAE,MAAM,GAC7B,OAAO,CAAC,IAAI,CAAC,CAiBf"}
|