audit-tools 0.34.15 → 0.34.16
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/dispatch/merge-results.mjs +84 -24
- package/dispatch/validate.mjs +21 -3
- package/dist/audit/cli/dispatch/packetFilter.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/packetFilter.js +7 -14
- package/dist/audit/cli/dispatch/packetFilter.js.map +1 -1
- package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
- package/dist/audit/cli/nextStepCommand.js +7 -1
- package/dist/audit/cli/nextStepCommand.js.map +1 -1
- package/dist/audit/cli/scoreAuditCommand.d.ts.map +1 -1
- package/dist/audit/cli/scoreAuditCommand.js +6 -1
- package/dist/audit/cli/scoreAuditCommand.js.map +1 -1
- package/dist/audit/extractors/graphSignals.d.ts +37 -9
- package/dist/audit/extractors/graphSignals.d.ts.map +1 -1
- package/dist/audit/extractors/graphSignals.js +69 -9
- package/dist/audit/extractors/graphSignals.js.map +1 -1
- package/dist/audit/orchestrator/pendingTasks.d.ts +26 -0
- package/dist/audit/orchestrator/pendingTasks.d.ts.map +1 -0
- package/dist/audit/orchestrator/pendingTasks.js +13 -0
- package/dist/audit/orchestrator/pendingTasks.js.map +1 -0
- package/dist/audit/orchestrator/planningExecutors.d.ts +12 -1
- package/dist/audit/orchestrator/planningExecutors.d.ts.map +1 -1
- package/dist/audit/orchestrator/planningExecutors.js +43 -9
- package/dist/audit/orchestrator/planningExecutors.js.map +1 -1
- package/dist/audit/orchestrator/state.d.ts.map +1 -1
- package/dist/audit/orchestrator/state.js +31 -22
- package/dist/audit/orchestrator/state.js.map +1 -1
- package/dist/audit/supervisor/operatorHandoff.d.ts.map +1 -1
- package/dist/audit/supervisor/operatorHandoff.js +19 -16
- package/dist/audit/supervisor/operatorHandoff.js.map +1 -1
- package/dist/remediate/dispatch/ownershipRegistry.d.ts +17 -1
- package/dist/remediate/dispatch/ownershipRegistry.d.ts.map +1 -1
- package/dist/remediate/dispatch/ownershipRegistry.js +21 -3
- package/dist/remediate/dispatch/ownershipRegistry.js.map +1 -1
- package/dist/remediate/phases/close.d.ts +49 -1
- package/dist/remediate/phases/close.d.ts.map +1 -1
- package/dist/remediate/phases/close.js +57 -14
- package/dist/remediate/phases/close.js.map +1 -1
- package/dist/remediate/phases/plan.d.ts.map +1 -1
- package/dist/remediate/phases/plan.js +66 -6
- package/dist/remediate/phases/plan.js.map +1 -1
- package/dist/remediate/phases/triage.d.ts.map +1 -1
- package/dist/remediate/phases/triage.js +52 -5
- package/dist/remediate/phases/triage.js.map +1 -1
- package/dist/remediate/review/reviewGate.d.ts +14 -0
- package/dist/remediate/review/reviewGate.d.ts.map +1 -1
- package/dist/remediate/review/reviewGate.js +22 -0
- package/dist/remediate/review/reviewGate.js.map +1 -1
- package/dist/remediate/state/store.d.ts.map +1 -1
- package/dist/remediate/state/store.js +64 -1
- package/dist/remediate/state/store.js.map +1 -1
- package/dist/remediate/steps/dispatch/acceptNode.d.ts +15 -0
- package/dist/remediate/steps/dispatch/acceptNode.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/acceptNode.js +98 -26
- package/dist/remediate/steps/dispatch/acceptNode.js.map +1 -1
- package/dist/remediate/steps/dispatch/acceptReconcile.d.ts +66 -0
- package/dist/remediate/steps/dispatch/acceptReconcile.d.ts.map +1 -0
- package/dist/remediate/steps/dispatch/acceptReconcile.js +154 -0
- package/dist/remediate/steps/dispatch/acceptReconcile.js.map +1 -0
- package/dist/remediate/steps/dispatch/verifyCommands.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/verifyCommands.js +29 -15
- package/dist/remediate/steps/dispatch/verifyCommands.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +59 -23
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/shared/dispatch/unifiedRolling.d.ts.map +1 -1
- package/dist/shared/dispatch/unifiedRolling.js +21 -0
- package/dist/shared/dispatch/unifiedRolling.js.map +1 -1
- package/dist/shared/findings/dedupe.d.ts +5 -2
- package/dist/shared/findings/dedupe.d.ts.map +1 -1
- package/dist/shared/findings/dedupe.js +56 -21
- package/dist/shared/findings/dedupe.js.map +1 -1
- package/dist/shared/friction/triage.d.ts.map +1 -1
- package/dist/shared/friction/triage.js +10 -3
- package/dist/shared/friction/triage.js.map +1 -1
- package/dist/shared/io/frictionCapture.d.ts +0 -14
- package/dist/shared/io/frictionCapture.d.ts.map +1 -1
- package/dist/shared/io/frictionCapture.js +48 -3
- package/dist/shared/io/frictionCapture.js.map +1 -1
- package/dist/shared/providers/openAiCompatibleProvider.d.ts.map +1 -1
- package/dist/shared/providers/openAiCompatibleProvider.js +51 -16
- package/dist/shared/providers/openAiCompatibleProvider.js.map +1 -1
- package/dist/shared/providers/providerFactory.d.ts +17 -0
- package/dist/shared/providers/providerFactory.d.ts.map +1 -1
- package/dist/shared/providers/providerFactory.js +11 -6
- package/dist/shared/providers/providerFactory.js.map +1 -1
- package/dist/shared/providers/proxyCatalog.d.ts.map +1 -1
- package/dist/shared/providers/proxyCatalog.js +20 -5
- package/dist/shared/providers/proxyCatalog.js.map +1 -1
- package/dist/shared/quota/capacity.d.ts.map +1 -1
- package/dist/shared/quota/capacity.js +13 -0
- package/dist/shared/quota/capacity.js.map +1 -1
- package/dist/shared/quota/fileLock.d.ts +8 -1
- package/dist/shared/quota/fileLock.d.ts.map +1 -1
- package/dist/shared/quota/fileLock.js +39 -1
- package/dist/shared/quota/fileLock.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unifiedRolling.js","sourceRoot":"","sources":["../../../src/shared/dispatch/unifiedRolling.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"unifiedRolling.js","sourceRoot":"","sources":["../../../src/shared/dispatch/unifiedRolling.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,8 +50,11 @@ export interface CrossLensDedupePolicy {
|
|
|
50
50
|
/** Sort a survivor's affected_files after each absorb (audit). */
|
|
51
51
|
sortAffectedFiles: boolean;
|
|
52
52
|
/**
|
|
53
|
-
* Stop the inner scan
|
|
54
|
-
*
|
|
53
|
+
* Stop the inner scan immediately when the i-slot finding is itself absorbed
|
|
54
|
+
* (remediate). This is an OPTIMIZATION knob only: correctness never depends on
|
|
55
|
+
* it — an absorbed finding is unconditionally excluded from every subsequent
|
|
56
|
+
* pairwise comparison in both loops (conservation: once removed, a finding can
|
|
57
|
+
* neither absorb nor be re-emitted).
|
|
55
58
|
*/
|
|
56
59
|
breakOnAbsorbedSurvivor: boolean;
|
|
57
60
|
/** Called for each merge (remediate emits a structured audit log). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dedupe.d.ts","sourceRoot":"","sources":["../../../src/shared/findings/dedupe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AA+BnD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,EAC9B,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,GAC7B,OAAO,CAAC,WAAW,CAAC,CAMtB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAkB5F;AAED,MAAM,WAAW,aAAa;IAC5B,yEAAyE;IACzE,cAAc,EAAE,OAAO,CAAC;IACxB,kEAAkE;IAClE,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAY7F;AAcD,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B;;;OAGG;IACH,yBAAyB,EAAE,OAAO,CAAC;IACnC;;;;OAIG;IACH,gBAAgB,EAAE,QAAQ,GAAG,OAAO,CAAC;IACrC,yEAAyE;IACzE,cAAc,EAAE,OAAO,CAAC;IACxB,kEAAkE;IAClE,iBAAiB,EAAE,OAAO,CAAC;IAC3B
|
|
1
|
+
{"version":3,"file":"dedupe.d.ts","sourceRoot":"","sources":["../../../src/shared/findings/dedupe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AA+BnD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,EAC9B,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,GAC7B,OAAO,CAAC,WAAW,CAAC,CAMtB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAkB5F;AAED,MAAM,WAAW,aAAa;IAC5B,yEAAyE;IACzE,cAAc,EAAE,OAAO,CAAC;IACxB,kEAAkE;IAClE,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAY7F;AAcD,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B;;;OAGG;IACH,yBAAyB,EAAE,OAAO,CAAC;IACnC;;;;OAIG;IACH,gBAAgB,EAAE,QAAQ,GAAG,OAAO,CAAC;IACrC,yEAAyE;IACzE,cAAc,EAAE,OAAO,CAAC;IACxB,kEAAkE;IAClE,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;;;;OAMG;IACH,uBAAuB,EAAE,OAAO,CAAC;IACjC,sEAAsE;IACtE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CACpE;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB;;;;OAIG;IACH,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,qBAAqB,GAC5B,qBAAqB,CAyHvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAM7D;AAeD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAuC7D;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CA6B5F"}
|
|
@@ -103,14 +103,19 @@ export function crossLensDedupe(findings, policy) {
|
|
|
103
103
|
else
|
|
104
104
|
groups.set(key, [finding]);
|
|
105
105
|
}
|
|
106
|
-
const removed = new Set();
|
|
107
|
-
const mergeMap = new Map();
|
|
108
106
|
/**
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
*
|
|
107
|
+
* Removal and clone bookkeeping are BOTH keyed by the caller's ORIGINAL Finding
|
|
108
|
+
* objects (group slots are never rewritten): `removed` holds absorbed originals,
|
|
109
|
+
* and `cloneOf` maps each original survivor to its single canonical clone (clone
|
|
110
|
+
* mode only). Keying by originals is what guarantees conservation — the final
|
|
111
|
+
* filter over `findings` sees exactly the objects the loop marked, so a finding
|
|
112
|
+
* is emitted exactly once XOR recorded in `mergeMap`, never both, never neither.
|
|
112
113
|
*/
|
|
114
|
+
const removed = new Set();
|
|
115
|
+
const mergeMap = new Map();
|
|
113
116
|
const cloneOf = new Map();
|
|
117
|
+
/** The accumulated view of a finding: its canonical clone when one exists. */
|
|
118
|
+
const canonical = (f) => cloneOf.get(f) ?? f;
|
|
114
119
|
const absorbOpts = {
|
|
115
120
|
mergeGrounding: policy.mergeGrounding,
|
|
116
121
|
sortAffectedFiles: policy.sortAffectedFiles,
|
|
@@ -122,10 +127,19 @@ export function crossLensDedupe(findings, policy) {
|
|
|
122
127
|
if (removed.has(group[i]))
|
|
123
128
|
continue;
|
|
124
129
|
for (let j = i + 1; j < group.length; j++) {
|
|
130
|
+
// The i-slot finding may have been absorbed mid-scan (!keepA below): an
|
|
131
|
+
// absorbed finding never acts as a survivor, so every remaining (i, j)
|
|
132
|
+
// pair is dead — stop unconditionally (not policy-gated; conservation).
|
|
133
|
+
if (removed.has(group[i]))
|
|
134
|
+
break;
|
|
125
135
|
if (removed.has(group[j]))
|
|
126
136
|
continue;
|
|
127
|
-
const
|
|
128
|
-
const
|
|
137
|
+
const originalA = group[i];
|
|
138
|
+
const originalB = group[j];
|
|
139
|
+
// Compare the CANONICAL views: in clone mode a prior merge's accumulation
|
|
140
|
+
// lives on the survivor's single clone, never on the caller's object.
|
|
141
|
+
const a = canonical(originalA);
|
|
142
|
+
const b = canonical(originalB);
|
|
129
143
|
if (normalizeText(a.lens) === normalizeText(b.lens))
|
|
130
144
|
continue;
|
|
131
145
|
const catMatch = normalizeText(a.category) === normalizeText(b.category);
|
|
@@ -151,28 +165,35 @@ export function crossLensDedupe(findings, policy) {
|
|
|
151
165
|
const aConf = confidenceRank(a.confidence);
|
|
152
166
|
const bConf = confidenceRank(b.confidence);
|
|
153
167
|
const keepA = aSev > bSev || (aSev === bSev && aConf >= bConf);
|
|
154
|
-
const
|
|
168
|
+
const survivorOriginal = keepA ? originalA : originalB;
|
|
169
|
+
const absorbedOriginal = keepA ? originalB : originalA;
|
|
170
|
+
// Absorb the absorbed side's ACCUMULATED view so data it absorbed earlier
|
|
171
|
+
// travels to the new survivor instead of being stranded (no loss).
|
|
155
172
|
const absorbed = keepA ? b : a;
|
|
156
173
|
let survivor;
|
|
157
174
|
if (policy.survivorMutation === "clone") {
|
|
158
|
-
survivor
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
175
|
+
// Exactly ONE canonical clone per original survivor: every subsequent
|
|
176
|
+
// merge into this survivor mutates the SAME clone (a first-time survivor
|
|
177
|
+
// cannot already carry foreign data, so cloning the original is exact).
|
|
178
|
+
const existing = cloneOf.get(survivorOriginal);
|
|
179
|
+
if (existing) {
|
|
180
|
+
survivor = existing;
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
survivor = {
|
|
184
|
+
...survivorOriginal,
|
|
185
|
+
affected_files: [...survivorOriginal.affected_files],
|
|
186
|
+
evidence: survivorOriginal.evidence ? [...survivorOriginal.evidence] : [],
|
|
163
187
|
};
|
|
164
|
-
|
|
165
|
-
cloneOf.set(originalSurvivor, survivor);
|
|
166
|
-
// Point the group slot at the clone so future pairs refer to it.
|
|
167
|
-
group[keepA ? i : j] = survivor;
|
|
188
|
+
cloneOf.set(survivorOriginal, survivor);
|
|
168
189
|
}
|
|
169
190
|
}
|
|
170
191
|
else {
|
|
171
|
-
survivor =
|
|
192
|
+
survivor = survivorOriginal;
|
|
172
193
|
}
|
|
173
194
|
absorbFinding(survivor, absorbed, absorbOpts);
|
|
174
|
-
removed.add(
|
|
175
|
-
mergeMap.set(
|
|
195
|
+
removed.add(absorbedOriginal);
|
|
196
|
+
mergeMap.set(absorbedOriginal.id, survivor.id);
|
|
176
197
|
policy.onMerge?.({ absorbed, survivor });
|
|
177
198
|
// If the i-slot finding was just absorbed (!keepA), stop the inner loop.
|
|
178
199
|
if (policy.breakOnAbsorbedSurvivor && !keepA)
|
|
@@ -180,8 +201,22 @@ export function crossLensDedupe(findings, policy) {
|
|
|
180
201
|
}
|
|
181
202
|
}
|
|
182
203
|
}
|
|
204
|
+
// Collapse merge chains (B→A recorded before A→C): every mergeMap value must be
|
|
205
|
+
// the id of a finding present in the returned array, so follow each chain to its
|
|
206
|
+
// final (non-absorbed) survivor. The visited guard makes a malformed id cycle
|
|
207
|
+
// (duplicate caller-supplied ids) terminate instead of spinning.
|
|
208
|
+
for (const [absorbedId, survivorId] of mergeMap) {
|
|
209
|
+
let target = survivorId;
|
|
210
|
+
const visited = new Set([absorbedId]);
|
|
211
|
+
while (mergeMap.has(target) && !visited.has(target)) {
|
|
212
|
+
visited.add(target);
|
|
213
|
+
target = mergeMap.get(target);
|
|
214
|
+
}
|
|
215
|
+
if (target !== survivorId)
|
|
216
|
+
mergeMap.set(absorbedId, target);
|
|
217
|
+
}
|
|
183
218
|
return {
|
|
184
|
-
findings: findings.filter((f) => !removed.has(f)).map((f) =>
|
|
219
|
+
findings: findings.filter((f) => !removed.has(f)).map((f) => canonical(f)),
|
|
185
220
|
mergeMap,
|
|
186
221
|
};
|
|
187
222
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dedupe.js","sourceRoot":"","sources":["../../../src/shared/findings/dedupe.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dedupe.js","sourceRoot":"","sources":["../../../src/shared/findings/dedupe.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triage.d.ts","sourceRoot":"","sources":["../../../src/shared/friction/triage.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uBAAuB,
|
|
1
|
+
{"version":3,"file":"triage.d.ts","sourceRoot":"","sources":["../../../src/shared/friction/triage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { frictionCapturePath,
|
|
1
|
+
import { frictionCapturePath, } from '../io/frictionCapture.js';
|
|
2
2
|
import { AGENT_FEEDBACK_FILENAME, parseReflectionsNdjson, } from '../agentReflections.js';
|
|
3
3
|
import { readOptionalJsonFile, readOptionalTextFile } from '../io/json.js';
|
|
4
4
|
import { FRICTION_CATEGORIES, appendFrictionUnderLock, isFrictionCategory, } from './frictionRecord.js';
|
|
@@ -213,7 +213,11 @@ async function readReflections(artifactsDir) {
|
|
|
213
213
|
return text ? parseReflectionsNdjson(text) : [];
|
|
214
214
|
}
|
|
215
215
|
async function readRecord(artifactsDir, runId) {
|
|
216
|
-
|
|
216
|
+
// INV-SCC-04 (COR-6fd1702f): pass the RAW run id — `frictionCapturePath`
|
|
217
|
+
// sanitizes internally, and sanitizeRunId is injective but NOT idempotent
|
|
218
|
+
// (it escapes `_`), so pre-sanitizing here double-encodes any id the encoder
|
|
219
|
+
// changes and reads a DIFFERENT file than the capture path wrote.
|
|
220
|
+
return readOptionalJsonFile(frictionCapturePath(artifactsDir, runId));
|
|
217
221
|
}
|
|
218
222
|
/**
|
|
219
223
|
* Build the union triage-subject set for a run: every captured mechanical event
|
|
@@ -257,7 +261,10 @@ export async function collectTriageSubjects(artifactsDir, runId) {
|
|
|
257
261
|
* `(artifactsDir, runId)`. Never coupled to any repo's backlog doc.
|
|
258
262
|
*/
|
|
259
263
|
export async function decideFrictionTriage(artifactsDir, runId, tool) {
|
|
260
|
-
|
|
264
|
+
// Single-encoded canonical derivation (INV-SCC-04): raw run id in — the path
|
|
265
|
+
// helper owns the one sanitization pass, so this recordPath is byte-identical
|
|
266
|
+
// to the file every capture/mutation site reads and writes.
|
|
267
|
+
const recordPath = frictionCapturePath(artifactsDir, runId);
|
|
261
268
|
const subjects = await collectTriageSubjects(artifactsDir, runId);
|
|
262
269
|
// Materialize the record (so the host always appends to an existing file) AND
|
|
263
270
|
// pre-populate the category walk in ONE locked merge: aggregate the run's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triage.js","sourceRoot":"","sources":["../../../src/shared/friction/triage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"triage.js","sourceRoot":"","sources":["../../../src/shared/friction/triage.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,20 +60,6 @@ export declare function frictionCaptureDir(artifactsDir: string): string;
|
|
|
60
60
|
* with path separators across OSes.
|
|
61
61
|
*/
|
|
62
62
|
export declare function frictionCapturePath(artifactsDir: string, runId: string): string;
|
|
63
|
-
/**
|
|
64
|
-
* Encode a run id to a stable, filename-safe, OS-agnostic token that is
|
|
65
|
-
* INJECTIVE: distinct run ids ALWAYS map to distinct tokens, so distinct runs
|
|
66
|
-
* never collide on the same friction artifact path.
|
|
67
|
-
*
|
|
68
|
-
* Each character outside the safe set `[A-Za-z0-9._-]` is percent-encoded
|
|
69
|
-
* (`_xx`, hex of its UTF-8 bytes), and a literal `_` is itself escaped (`_5f`)
|
|
70
|
-
* so the encoding is unambiguously reversible. A naive `replace(/.../, "-")`
|
|
71
|
-
* collapse is many-to-one (`a/b` and `a-b` both → `a-b`); this is one-to-one.
|
|
72
|
-
*
|
|
73
|
-
* The empty run id encodes to the reserved sentinel `_` (which no non-empty id
|
|
74
|
-
* can produce, since a non-empty id always emits at least one char and a bare
|
|
75
|
-
* `_` would have been escaped to `_5f`), preserving a non-empty filename stem.
|
|
76
|
-
*/
|
|
77
63
|
export declare function sanitizeRunId(runId: string): string;
|
|
78
64
|
/**
|
|
79
65
|
* Whether this run's friction close-out has already been captured. Pure read; a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frictionCapture.d.ts","sourceRoot":"","sources":["../../../src/shared/io/frictionCapture.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"frictionCapture.d.ts","sourceRoot":"","sources":["../../../src/shared/io/frictionCapture.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,eAAO,MAAM,+BAA+B,8BAA8B,CAAC;AAE3E,6EAA6E;AAC7E,eAAO,MAAM,wBAAwB,aAAa,CAAC;AAEnD,oEAAoE;AACpE,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC9C,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,YAAY,CAAC;IACzC,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,mFAAmF;AACnF,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,OAAO,+BAA+B,CAAC;IACvD,8CAA8C;IAC9C,IAAI,EAAE,YAAY,GAAG,gBAAgB,CAAC;IACtC,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED,kFAAkF;AAClF,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/E;AAgDD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CA8BnD;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC,CAKlB;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACtC,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;CAC5B,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAUnC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { join } from "node:path";
|
|
2
|
+
import { createHash } from "node:crypto";
|
|
2
3
|
import { readOptionalJsonFile, writeJsonFile } from "./json.js";
|
|
3
4
|
/**
|
|
4
5
|
* Tool-emitted end-of-run friction capture, single-sourced for BOTH orchestrators
|
|
@@ -56,7 +57,36 @@ export function frictionCapturePath(artifactsDir, runId) {
|
|
|
56
57
|
* The empty run id encodes to the reserved sentinel `_` (which no non-empty id
|
|
57
58
|
* can produce, since a non-empty id always emits at least one char and a bare
|
|
58
59
|
* `_` would have been escaped to `_5f`), preserving a non-empty filename stem.
|
|
60
|
+
*
|
|
61
|
+
* PORTABLE-FILENAME HARDENING (INV-SCC-05 / COR-11e0ff4c) — two further rules:
|
|
62
|
+
*
|
|
63
|
+
* - RESERVED DEVICE STEMS: Windows reserves `CON`, `PRN`, `AUX`, `NUL`,
|
|
64
|
+
* `COM1`-`COM9`, `LPT1`-`LPT9` (case-insensitively, keyed off the component
|
|
65
|
+
* stem BEFORE the first dot — `CON.json` is the CON device). A run id whose
|
|
66
|
+
* encoded form would be such a stem gets its FIRST character byte-escaped
|
|
67
|
+
* (`CON` → `_43ON`), which stays injective: normal encoding never emits an
|
|
68
|
+
* escape for a safe char, and any id literally containing `_` has it escaped
|
|
69
|
+
* to `_5f...`, so no other id can produce the escaped spelling.
|
|
70
|
+
*
|
|
71
|
+
* - COMPONENT LENGTH BOUND: filesystems cap a path component at 255 bytes. An
|
|
72
|
+
* encoded token longer than {@link MAX_RUN_ID_TOKEN_LENGTH} is truncated and
|
|
73
|
+
* disambiguated with `_` + UPPERCASE-hex SHA-256 of the RAW run id.
|
|
74
|
+
* Injectivity here is cryptographic (collision-resistant digest) rather than
|
|
75
|
+
* structural; the uppercase marker cannot collide with any normal encoding,
|
|
76
|
+
* because normal escapes always emit lowercase hex after `_`.
|
|
59
77
|
*/
|
|
78
|
+
/** Longest encoded run-id token emitted; `<token>.json` stays well under 255. */
|
|
79
|
+
const MAX_RUN_ID_TOKEN_LENGTH = 180;
|
|
80
|
+
/** Truncation marker + digest: `_` + 32 uppercase hex chars (128 bits). */
|
|
81
|
+
const TRUNCATION_DIGEST_HEX_CHARS = 32;
|
|
82
|
+
const WINDOWS_RESERVED_STEM = /^(CON|PRN|AUX|NUL|COM[1-9]|LPT[1-9])(\.|$)/i;
|
|
83
|
+
function escapeCharBytes(ch) {
|
|
84
|
+
let out = "";
|
|
85
|
+
for (const byte of Buffer.from(ch, "utf8")) {
|
|
86
|
+
out += "_" + byte.toString(16).padStart(2, "0");
|
|
87
|
+
}
|
|
88
|
+
return out;
|
|
89
|
+
}
|
|
60
90
|
export function sanitizeRunId(runId) {
|
|
61
91
|
if (runId.length === 0) {
|
|
62
92
|
return "_";
|
|
@@ -67,9 +97,24 @@ export function sanitizeRunId(runId) {
|
|
|
67
97
|
out += ch;
|
|
68
98
|
continue;
|
|
69
99
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
100
|
+
out += escapeCharBytes(ch);
|
|
101
|
+
}
|
|
102
|
+
// Reserved-device-stem escape: the token becomes `<token>.json`, and Windows
|
|
103
|
+
// keys the reservation off the stem before the first dot, so test the token's
|
|
104
|
+
// own leading stem. Escaping the first character removes the reserved spelling
|
|
105
|
+
// while keeping the mapping one-to-one (see the doc comment).
|
|
106
|
+
if (WINDOWS_RESERVED_STEM.test(out)) {
|
|
107
|
+
out = escapeCharBytes(out[0]) + out.slice(1);
|
|
108
|
+
}
|
|
109
|
+
// Length bound: truncate + digest-disambiguate (uppercase hex marker — a form
|
|
110
|
+
// no normal encoding can emit, so bounded and unbounded tokens never collide).
|
|
111
|
+
if (out.length > MAX_RUN_ID_TOKEN_LENGTH) {
|
|
112
|
+
const digest = createHash("sha256")
|
|
113
|
+
.update(runId, "utf8")
|
|
114
|
+
.digest("hex")
|
|
115
|
+
.slice(0, TRUNCATION_DIGEST_HEX_CHARS)
|
|
116
|
+
.toUpperCase();
|
|
117
|
+
out = out.slice(0, MAX_RUN_ID_TOKEN_LENGTH - 1 - TRUNCATION_DIGEST_HEX_CHARS) + "_" + digest;
|
|
73
118
|
}
|
|
74
119
|
return out;
|
|
75
120
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frictionCapture.js","sourceRoot":"","sources":["../../../src/shared/io/frictionCapture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,CAAC,MAAM,+BAA+B,GAAG,2BAA2B,CAAC;AAE3E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,wBAAwB,GAAG,UAAU,CAAC;AA2BnD,kFAAkF;AAClF,MAAM,UAAU,kBAAkB,CAAC,YAAoB;IACrD,OAAO,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;AACtD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAoB,EAAE,KAAa;IACrE,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAChF,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"frictionCapture.js","sourceRoot":"","sources":["../../../src/shared/io/frictionCapture.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openAiCompatibleProvider.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/openAiCompatibleProvider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAIxE,eAAO,MAAM,+BAA+B,EAAG,mBAA4B,CAAC;AA4C5E,KAAK,OAAO,GAAG,OAAO,KAAK,CAAC;AAE5B,MAAM,WAAW,4BAA4B;IAC3C,2EAA2E;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AASD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,wBAAyB,YAAW,oBAAoB;IACnE,IAAI,sBAAmC;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAGtC,MAAM,GAAE,sBAA2B,EACnC,IAAI,GAAE,4BAAiC;IAQnC,MAAM,CACV,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"openAiCompatibleProvider.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/openAiCompatibleProvider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAIxE,eAAO,MAAM,+BAA+B,EAAG,mBAA4B,CAAC;AA4C5E,KAAK,OAAO,GAAG,OAAO,KAAK,CAAC;AAE5B,MAAM,WAAW,4BAA4B;IAC3C,2EAA2E;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AASD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,wBAAyB,YAAW,oBAAoB;IACnE,IAAI,sBAAmC;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAGtC,MAAM,GAAE,sBAA2B,EACnC,IAAI,GAAE,4BAAiC;IAQnC,MAAM,CACV,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,wBAAwB,CAAC;IAiVpC;;;;;;;;;;;;;;;;;;;;;OAqBG;YACW,qBAAqB;YAmHrB,YAAY;YAQZ,YAAY;CAO3B;AAuCD;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAClD,GAAG,MAAM,GAAG,SAAS,CAYrB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,KAAK,CAAC,EAAE;QACN,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,qBAAqB,CAAC,EAAE;YAAE,aAAa,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QACpD,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,2BAA2B,CAAC,EAAE,OAAO,CAAC;KACvC,CAAC;CACH,GAAG;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,GAAG,SAAS,CA6BZ;AAqED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAuBpD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { readFile, mkdir, writeFile, appendFile, stat } from "node:fs/promises";
|
|
1
|
+
import { readFile, mkdir, writeFile, appendFile, stat, rm } from "node:fs/promises";
|
|
2
2
|
import { dirname, isAbsolute, relative, resolve } from "node:path";
|
|
3
3
|
import { writeJsonFile } from "../io/json.js";
|
|
4
4
|
import { AUDIT_TOOLS_DIRNAME } from "../io/auditToolsPaths.js";
|
|
@@ -276,11 +276,16 @@ export class OpenAiCompatibleProvider {
|
|
|
276
276
|
return fail(`openai-compatible response was a bare JSON ${parsed === null ? "null" : typeof parsed} ` +
|
|
277
277
|
"(expected a {files,result} object or a result array/object).");
|
|
278
278
|
}
|
|
279
|
-
//
|
|
280
|
-
//
|
|
281
|
-
//
|
|
279
|
+
// ATOMIC APPLICATION (INV-SCC-10 / TST-17059259): a rejected launch
|
|
280
|
+
// (accepted:false) must leave the node worktree byte-identical, so the
|
|
281
|
+
// COMPLETE response is validated before anything is committed.
|
|
282
|
+
//
|
|
283
|
+
// Phase 1 — validate every files[] entry (shape, control-plane skip, path
|
|
284
|
+
// containment) AND resolve the effective result, touching nothing. The
|
|
285
|
+
// worktree branch diff is still the write-scope ground truth at merge; here
|
|
286
|
+
// we defend against a path escaping the worktree entirely.
|
|
282
287
|
const files = Array.isArray(parsed.files) ? parsed.files : [];
|
|
283
|
-
|
|
288
|
+
const toApply = [];
|
|
284
289
|
for (const file of files) {
|
|
285
290
|
if (typeof file?.path !== "string" || typeof file?.content !== "string") {
|
|
286
291
|
return fail("openai-compatible response files[] entries must be { path: string, content: string }.");
|
|
@@ -297,14 +302,7 @@ export class OpenAiCompatibleProvider {
|
|
|
297
302
|
if (!abs) {
|
|
298
303
|
return fail(`openai-compatible response tried to write outside the worktree: ${file.path}`);
|
|
299
304
|
}
|
|
300
|
-
|
|
301
|
-
await mkdir(dirname(abs), { recursive: true });
|
|
302
|
-
await writeFile(abs, file.content, "utf8");
|
|
303
|
-
applied += 1;
|
|
304
|
-
}
|
|
305
|
-
catch (err) {
|
|
306
|
-
return fail(`openai-compatible failed writing ${file.path}: ${errText(err)}`);
|
|
307
|
-
}
|
|
305
|
+
toApply.push({ abs, content: file.content, displayPath: file.path });
|
|
308
306
|
}
|
|
309
307
|
// Tolerant result resolution: a model sometimes returns the result value
|
|
310
308
|
// DIRECTLY (a bare findings array, or a bare result object) instead of nested
|
|
@@ -313,20 +311,57 @@ export class OpenAiCompatibleProvider {
|
|
|
313
311
|
// (the AuditResult[] / item-results validator is the authority at merge), so a
|
|
314
312
|
// tolerant relay can never ingest garbage — it only rescues the narrow
|
|
315
313
|
// "well-formed payload emitted at the top level" case. A genuine wrapper that
|
|
316
|
-
// dropped its result (files present, result absent) stays a clean failure
|
|
314
|
+
// dropped its result (files present, result absent) stays a clean failure —
|
|
315
|
+
// detected HERE, before any file is applied, so the rejection is side-effect-free.
|
|
317
316
|
// `parsed` is guaranteed an object or array here (primitives failed above), so a
|
|
318
317
|
// wrapper is a non-array object carrying `files`; anything else (a bare array or a
|
|
319
318
|
// bare result object) is relayed whole.
|
|
320
319
|
const hasWrapperShape = !Array.isArray(parsed) && "files" in parsed;
|
|
321
320
|
const effectiveResult = parsed.result !== undefined ? parsed.result : hasWrapperShape ? undefined : parsed;
|
|
322
321
|
if (effectiveResult === undefined) {
|
|
323
|
-
return fail(`openai-compatible response omitted the "result" artifact (
|
|
322
|
+
return fail(`openai-compatible response omitted the "result" artifact (nothing was applied to the worktree; no result to write to ${input.resultPath}).`);
|
|
324
323
|
}
|
|
324
|
+
// Phase 2 — commit the validated writes (worktree files, then the result
|
|
325
|
+
// artifact). A filesystem failure mid-commit rolls the worktree back to its
|
|
326
|
+
// pre-launch bytes (created files removed, overwritten files restored from
|
|
327
|
+
// their snapshot) so accepted:false still means "worktree untouched".
|
|
328
|
+
// Rollback is best-effort per entry; empty directories created for a rolled-
|
|
329
|
+
// back file may remain (they carry no content and the merge diff ignores them).
|
|
330
|
+
const undo = [];
|
|
331
|
+
const rollback = async () => {
|
|
332
|
+
for (const entry of [...undo].reverse()) {
|
|
333
|
+
try {
|
|
334
|
+
if (entry.prior === null) {
|
|
335
|
+
await rm(entry.abs, { force: true });
|
|
336
|
+
}
|
|
337
|
+
else {
|
|
338
|
+
await writeFile(entry.abs, entry.prior, "utf8");
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
catch {
|
|
342
|
+
// best-effort: leave what cannot be restored; the branch diff at merge
|
|
343
|
+
// still exposes any residue.
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
};
|
|
325
347
|
try {
|
|
348
|
+
for (const file of toApply) {
|
|
349
|
+
let prior = null;
|
|
350
|
+
try {
|
|
351
|
+
prior = await readFile(file.abs, "utf8");
|
|
352
|
+
}
|
|
353
|
+
catch {
|
|
354
|
+
prior = null; // did not exist — rollback removes it
|
|
355
|
+
}
|
|
356
|
+
await mkdir(dirname(file.abs), { recursive: true });
|
|
357
|
+
await writeFile(file.abs, file.content, "utf8");
|
|
358
|
+
undo.push({ abs: file.abs, prior, displayPath: file.displayPath });
|
|
359
|
+
}
|
|
326
360
|
await writeJsonFile(input.resultPath, effectiveResult);
|
|
327
361
|
}
|
|
328
362
|
catch (err) {
|
|
329
|
-
|
|
363
|
+
await rollback();
|
|
364
|
+
return fail(`openai-compatible failed committing the response (worktree rolled back): ${errText(err)}`);
|
|
330
365
|
}
|
|
331
366
|
return {
|
|
332
367
|
accepted: true,
|