audit-tools 0.36.1 → 0.37.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 (219) hide show
  1. package/dispatch/artifacts-dir.mjs +14 -0
  2. package/dispatch/merge-results.mjs +3 -5
  3. package/dispatch/validate-result.mjs +3 -5
  4. package/dist/audit/cli/cliHelpers.d.ts +18 -0
  5. package/dist/audit/cli/cliHelpers.d.ts.map +1 -0
  6. package/dist/audit/cli/cliHelpers.js +20 -0
  7. package/dist/audit/cli/cliHelpers.js.map +1 -0
  8. package/dist/audit/cli/conceptualDispatch.d.ts +11 -1
  9. package/dist/audit/cli/conceptualDispatch.d.ts.map +1 -1
  10. package/dist/audit/cli/conceptualDispatch.js +3 -1
  11. package/dist/audit/cli/conceptualDispatch.js.map +1 -1
  12. package/dist/audit/cli/dispatch/packetFilter.d.ts.map +1 -1
  13. package/dist/audit/cli/dispatch/packetFilter.js +2 -1
  14. package/dist/audit/cli/dispatch/packetFilter.js.map +1 -1
  15. package/dist/audit/cli/dispatch/tierRouting.d.ts +17 -0
  16. package/dist/audit/cli/dispatch/tierRouting.d.ts.map +1 -1
  17. package/dist/audit/cli/dispatch/tierRouting.js +48 -0
  18. package/dist/audit/cli/dispatch/tierRouting.js.map +1 -1
  19. package/dist/audit/cli/dispatch.d.ts.map +1 -1
  20. package/dist/audit/cli/dispatch.js +23 -3
  21. package/dist/audit/cli/dispatch.js.map +1 -1
  22. package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
  23. package/dist/audit/cli/nextStepCommand.js +32 -1
  24. package/dist/audit/cli/nextStepCommand.js.map +1 -1
  25. package/dist/audit/cli/nextStepHelpers.d.ts +35 -0
  26. package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
  27. package/dist/audit/cli/nextStepHelpers.js +78 -7
  28. package/dist/audit/cli/nextStepHelpers.js.map +1 -1
  29. package/dist/audit/cli/prompts.d.ts +34 -1
  30. package/dist/audit/cli/prompts.d.ts.map +1 -1
  31. package/dist/audit/cli/prompts.js +93 -6
  32. package/dist/audit/cli/prompts.js.map +1 -1
  33. package/dist/audit/cli/quotaCommand.d.ts.map +1 -1
  34. package/dist/audit/cli/quotaCommand.js +3 -2
  35. package/dist/audit/cli/quotaCommand.js.map +1 -1
  36. package/dist/audit/cli/requeueCommand.d.ts.map +1 -1
  37. package/dist/audit/cli/requeueCommand.js +3 -2
  38. package/dist/audit/cli/requeueCommand.js.map +1 -1
  39. package/dist/audit/cli/resynthesizeCommand.d.ts.map +1 -1
  40. package/dist/audit/cli/resynthesizeCommand.js +3 -2
  41. package/dist/audit/cli/resynthesizeCommand.js.map +1 -1
  42. package/dist/audit/cli/reviewRun.d.ts.map +1 -1
  43. package/dist/audit/cli/reviewRun.js +2 -0
  44. package/dist/audit/cli/reviewRun.js.map +1 -1
  45. package/dist/audit/cli/sampleRunCommand.d.ts.map +1 -1
  46. package/dist/audit/cli/sampleRunCommand.js +2 -1
  47. package/dist/audit/cli/sampleRunCommand.js.map +1 -1
  48. package/dist/audit/cli/statusCommand.d.ts.map +1 -1
  49. package/dist/audit/cli/statusCommand.js +4 -3
  50. package/dist/audit/cli/statusCommand.js.map +1 -1
  51. package/dist/audit/cli/steps.d.ts +14 -4
  52. package/dist/audit/cli/steps.d.ts.map +1 -1
  53. package/dist/audit/cli/steps.js +28 -1
  54. package/dist/audit/cli/steps.js.map +1 -1
  55. package/dist/audit/cli/submitPacketCommand.d.ts.map +1 -1
  56. package/dist/audit/cli/submitPacketCommand.js +4 -3
  57. package/dist/audit/cli/submitPacketCommand.js.map +1 -1
  58. package/dist/audit/cli/synthesizeCommand.d.ts.map +1 -1
  59. package/dist/audit/cli/synthesizeCommand.js +3 -2
  60. package/dist/audit/cli/synthesizeCommand.js.map +1 -1
  61. package/dist/audit/cli/updateRuntimeValidationCommand.d.ts.map +1 -1
  62. package/dist/audit/cli/updateRuntimeValidationCommand.js +3 -2
  63. package/dist/audit/cli/updateRuntimeValidationCommand.js.map +1 -1
  64. package/dist/audit/cli/workerRunCommand.d.ts.map +1 -1
  65. package/dist/audit/cli/workerRunCommand.js +28 -14
  66. package/dist/audit/cli/workerRunCommand.js.map +1 -1
  67. package/dist/audit/decompose/findings.d.ts.map +1 -1
  68. package/dist/audit/decompose/findings.js +37 -55
  69. package/dist/audit/decompose/findings.js.map +1 -1
  70. package/dist/audit/extractors/analyzers/acquisitionEngine.d.ts +26 -2
  71. package/dist/audit/extractors/analyzers/acquisitionEngine.d.ts.map +1 -1
  72. package/dist/audit/extractors/analyzers/acquisitionEngine.js +15 -5
  73. package/dist/audit/extractors/analyzers/acquisitionEngine.js.map +1 -1
  74. package/dist/audit/extractors/analyzers/candidates.d.ts +8 -1
  75. package/dist/audit/extractors/analyzers/candidates.d.ts.map +1 -1
  76. package/dist/audit/extractors/analyzers/candidates.js +290 -16
  77. package/dist/audit/extractors/analyzers/candidates.js.map +1 -1
  78. package/dist/audit/orchestrator/acquisitionExecutor.d.ts +6 -0
  79. package/dist/audit/orchestrator/acquisitionExecutor.d.ts.map +1 -1
  80. package/dist/audit/orchestrator/acquisitionExecutor.js +2 -0
  81. package/dist/audit/orchestrator/acquisitionExecutor.js.map +1 -1
  82. package/dist/audit/orchestrator/advance.d.ts +6 -0
  83. package/dist/audit/orchestrator/advance.d.ts.map +1 -1
  84. package/dist/audit/orchestrator/advance.js +49 -1
  85. package/dist/audit/orchestrator/advance.js.map +1 -1
  86. package/dist/audit/orchestrator/advanceTypes.d.ts +10 -0
  87. package/dist/audit/orchestrator/advanceTypes.d.ts.map +1 -1
  88. package/dist/audit/orchestrator/designReviewPrompt.d.ts.map +1 -1
  89. package/dist/audit/orchestrator/designReviewPrompt.js +18 -21
  90. package/dist/audit/orchestrator/designReviewPrompt.js.map +1 -1
  91. package/dist/audit/orchestrator/executors.d.ts.map +1 -1
  92. package/dist/audit/orchestrator/executors.js +4 -0
  93. package/dist/audit/orchestrator/executors.js.map +1 -1
  94. package/dist/audit/orchestrator/hostInputPause.d.ts +19 -0
  95. package/dist/audit/orchestrator/hostInputPause.d.ts.map +1 -1
  96. package/dist/audit/orchestrator/hostInputPause.js +41 -0
  97. package/dist/audit/orchestrator/hostInputPause.js.map +1 -1
  98. package/dist/audit/orchestrator/intakeExecutors.d.ts.map +1 -1
  99. package/dist/audit/orchestrator/intakeExecutors.js +30 -23
  100. package/dist/audit/orchestrator/intakeExecutors.js.map +1 -1
  101. package/dist/audit/orchestrator/intentCheckpointExecutor.d.ts.map +1 -1
  102. package/dist/audit/orchestrator/intentCheckpointExecutor.js +13 -1
  103. package/dist/audit/orchestrator/intentCheckpointExecutor.js.map +1 -1
  104. package/dist/audit/orchestrator/requeueCommand.d.ts +3 -0
  105. package/dist/audit/orchestrator/requeueCommand.d.ts.map +1 -1
  106. package/dist/audit/orchestrator/requeueCommand.js +1 -1
  107. package/dist/audit/orchestrator/requeueCommand.js.map +1 -1
  108. package/dist/audit/orchestrator/staleness.d.ts +4 -5
  109. package/dist/audit/orchestrator/staleness.d.ts.map +1 -1
  110. package/dist/audit/orchestrator/staleness.js +18 -0
  111. package/dist/audit/orchestrator/staleness.js.map +1 -1
  112. package/dist/audit/supervisor/sessionConfig.d.ts +7 -0
  113. package/dist/audit/supervisor/sessionConfig.d.ts.map +1 -1
  114. package/dist/audit/supervisor/sessionConfig.js +12 -0
  115. package/dist/audit/supervisor/sessionConfig.js.map +1 -1
  116. package/dist/audit/types/externalAnalyzer.d.ts +13 -0
  117. package/dist/audit/types/externalAnalyzer.d.ts.map +1 -1
  118. package/dist/audit/types/externalAnalyzer.js +1 -0
  119. package/dist/audit/types/externalAnalyzer.js.map +1 -1
  120. package/dist/audit/validation/artifacts.d.ts.map +1 -1
  121. package/dist/audit/validation/artifacts.js +12 -13
  122. package/dist/audit/validation/artifacts.js.map +1 -1
  123. package/dist/remediate/contractPipeline/changeClassification.d.ts.map +1 -1
  124. package/dist/remediate/contractPipeline/changeClassification.js +11 -6
  125. package/dist/remediate/contractPipeline/changeClassification.js.map +1 -1
  126. package/dist/remediate/phases/close.d.ts +8 -0
  127. package/dist/remediate/phases/close.d.ts.map +1 -1
  128. package/dist/remediate/phases/close.js +90 -1
  129. package/dist/remediate/phases/close.js.map +1 -1
  130. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  131. package/dist/remediate/steps/contractPipeline.js +24 -1
  132. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  133. package/dist/remediate/steps/contractPipelinePrompts.d.ts +2 -0
  134. package/dist/remediate/steps/contractPipelinePrompts.d.ts.map +1 -1
  135. package/dist/remediate/steps/contractPipelinePrompts.js +18 -4
  136. package/dist/remediate/steps/contractPipelinePrompts.js.map +1 -1
  137. package/dist/remediate/steps/dispatch/acceptNode.d.ts +38 -7
  138. package/dist/remediate/steps/dispatch/acceptNode.d.ts.map +1 -1
  139. package/dist/remediate/steps/dispatch/acceptNode.js +99 -19
  140. package/dist/remediate/steps/dispatch/acceptNode.js.map +1 -1
  141. package/dist/remediate/steps/dispatch/common.d.ts +11 -0
  142. package/dist/remediate/steps/dispatch/common.d.ts.map +1 -1
  143. package/dist/remediate/steps/dispatch/common.js +14 -0
  144. package/dist/remediate/steps/dispatch/common.js.map +1 -1
  145. package/dist/remediate/steps/dispatch/implementPrompt.js +2 -2
  146. package/dist/remediate/steps/dispatch/implementPrompt.js.map +1 -1
  147. package/dist/remediate/steps/dispatch/marshal.d.ts +3 -1
  148. package/dist/remediate/steps/dispatch/marshal.d.ts.map +1 -1
  149. package/dist/remediate/steps/dispatch/marshal.js +16 -4
  150. package/dist/remediate/steps/dispatch/marshal.js.map +1 -1
  151. package/dist/remediate/steps/dispatch/verifyCommands.d.ts +35 -5
  152. package/dist/remediate/steps/dispatch/verifyCommands.d.ts.map +1 -1
  153. package/dist/remediate/steps/dispatch/verifyCommands.js +85 -9
  154. package/dist/remediate/steps/dispatch/verifyCommands.js.map +1 -1
  155. package/dist/remediate/steps/dispatch/waveScheduling.d.ts +0 -5
  156. package/dist/remediate/steps/dispatch/waveScheduling.d.ts.map +1 -1
  157. package/dist/remediate/steps/dispatch/waveScheduling.js +0 -7
  158. package/dist/remediate/steps/dispatch/waveScheduling.js.map +1 -1
  159. package/dist/remediate/steps/dispatch/worktreeLifecycle.d.ts +13 -2
  160. package/dist/remediate/steps/dispatch/worktreeLifecycle.d.ts.map +1 -1
  161. package/dist/remediate/steps/dispatch/worktreeLifecycle.js +110 -18
  162. package/dist/remediate/steps/dispatch/worktreeLifecycle.js.map +1 -1
  163. package/dist/remediate/steps/dispatch.d.ts +3 -3
  164. package/dist/remediate/steps/dispatch.d.ts.map +1 -1
  165. package/dist/remediate/steps/dispatch.js +3 -3
  166. package/dist/remediate/steps/dispatch.js.map +1 -1
  167. package/dist/remediate/steps/gateCommands.d.ts +8 -6
  168. package/dist/remediate/steps/gateCommands.d.ts.map +1 -1
  169. package/dist/remediate/steps/gateCommands.js +18 -8
  170. package/dist/remediate/steps/gateCommands.js.map +1 -1
  171. package/dist/remediate/steps/nextStep.d.ts +13 -0
  172. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  173. package/dist/remediate/steps/nextStep.js +93 -22
  174. package/dist/remediate/steps/nextStep.js.map +1 -1
  175. package/dist/remediate/steps/rollingSession.d.ts.map +1 -1
  176. package/dist/remediate/steps/rollingSession.js +64 -8
  177. package/dist/remediate/steps/rollingSession.js.map +1 -1
  178. package/dist/shared/findings/dedupe.d.ts.map +1 -1
  179. package/dist/shared/findings/dedupe.js +45 -23
  180. package/dist/shared/findings/dedupe.js.map +1 -1
  181. package/dist/shared/friction/triage.js +1 -1
  182. package/dist/shared/friction/triage.js.map +1 -1
  183. package/dist/shared/index.d.ts +1 -1
  184. package/dist/shared/index.d.ts.map +1 -1
  185. package/dist/shared/index.js +1 -1
  186. package/dist/shared/index.js.map +1 -1
  187. package/dist/shared/io/nodeWorktreeGuard.js +1 -1
  188. package/dist/shared/io/nodeWorktreeGuard.js.map +1 -1
  189. package/dist/shared/providers/spawnLoggedCommand.js +1 -1
  190. package/dist/shared/providers/spawnLoggedCommand.js.map +1 -1
  191. package/dist/shared/quota/accountId.d.ts +4 -4
  192. package/dist/shared/quota/accountId.d.ts.map +1 -1
  193. package/dist/shared/quota/accountId.js +4 -7
  194. package/dist/shared/quota/accountId.js.map +1 -1
  195. package/dist/shared/quota/claudeOAuthQuotaSource.js +1 -1
  196. package/dist/shared/quota/claudeOAuthQuotaSource.js.map +1 -1
  197. package/dist/shared/quota/packetCost.d.ts +5 -7
  198. package/dist/shared/quota/packetCost.d.ts.map +1 -1
  199. package/dist/shared/quota/packetCost.js +5 -11
  200. package/dist/shared/quota/packetCost.js.map +1 -1
  201. package/dist/shared/quota/state.d.ts +0 -21
  202. package/dist/shared/quota/state.d.ts.map +1 -1
  203. package/dist/shared/quota/state.js +33 -61
  204. package/dist/shared/quota/state.js.map +1 -1
  205. package/dist/shared/quota/types.d.ts +0 -11
  206. package/dist/shared/quota/types.d.ts.map +1 -1
  207. package/dist/shared/quota/types.js.map +1 -1
  208. package/dist/shared/tooling/testCommand.d.ts +14 -0
  209. package/dist/shared/tooling/testCommand.d.ts.map +1 -1
  210. package/dist/shared/tooling/testCommand.js +47 -2
  211. package/dist/shared/tooling/testCommand.js.map +1 -1
  212. package/dist/shared/types/auditorDescriptor.d.ts +2 -2
  213. package/dist/shared/types/sessionConfig.d.ts +5 -0
  214. package/dist/shared/types/sessionConfig.d.ts.map +1 -1
  215. package/dist/shared/types/sessionConfig.js +1 -0
  216. package/dist/shared/types/sessionConfig.js.map +1 -1
  217. package/package.json +1 -1
  218. package/wrapper/remediate-code-wrapper-install-hosts.mjs +5 -5
  219. package/wrapper/remediate-code-wrapper-io.mjs +2 -2
@@ -59,63 +59,45 @@ export function detectNonColocalization(input) {
59
59
  // One clustering pass shared by both detectors: the full set for the
60
60
  // purpose-side containment check, the size-filtered set for the no-purpose one.
61
61
  const allBehaviorClusters = clustersFromPartitions(input.behaviorPartitions, agreementThreshold);
62
- // --- Behavioral cluster with no coherent purpose ---
63
- const behaviorClusters = allBehaviorClusters
64
- .filter((c) => c.length >= minClusterSize)
65
- .sort(bySizeThenFirst);
66
- for (const cluster of behaviorClusters.slice(0, maxPerKind)) {
67
- const best = bestContainment(cluster, input.intentBoundaries);
68
- if (best + 1e-12 >= overlapThreshold)
69
- continue; // aligns to a declared boundary
70
- findings.push({
71
- id: nextId(),
72
- title: `Behavioral cluster spans declared boundaries: ${cluster.length} files`,
73
- category: "non_colocalization_behavioral",
74
- severity: "low",
75
- confidence: "low",
76
- lens: LENS,
77
- summary: `These ${cluster.length} files are tightly coupled by behavior (call/import, ` +
78
- `co-change, and/or shared state) yet no single declared boundary ` +
79
- `(directory, doc, or comment grouping) contains most of them ` +
80
- `(best overlap ${(best * 100).toFixed(0)}%). A coupling cluster no ` +
81
- `declared purpose owns is accidental complexity or a dead subsystem — a ` +
82
- `lead for the conceptual charter pass to confirm.`,
83
- affected_files: cluster.map((path) => ({ path })),
84
- evidence: [
85
- `Behavioral coupling consensus across ${input.behaviorPartitions.length} resolution levels.`,
86
- `Best containment in any declared boundary: ${(best * 100).toFixed(0)}% (threshold ${(overlapThreshold * 100).toFixed(0)}%).`,
87
- ],
88
- systemic: true,
89
- });
62
+ // Single-sourced detection loop for both behavioral and purpose non-colocalization findings.
63
+ function detectNonColocalGroup(groups, boundary, label) {
64
+ const filtered = (label === "behavioral"
65
+ ? groups.filter((g) => g.length >= minClusterSize)
66
+ : groups.filter((g) => g.length >= 2)).sort(bySizeThenFirst);
67
+ for (const group of filtered.slice(0, maxPerKind)) {
68
+ const best = bestContainment(group, boundary);
69
+ if (best + 1e-12 >= overlapThreshold)
70
+ continue;
71
+ const titleSuffix = label === "behavioral"
72
+ ? `Behavioral cluster spans declared boundaries: ${group.length} files`
73
+ : `Declared purpose is behaviorally smeared: ${group.length} files`;
74
+ const summaryText = label === "behavioral"
75
+ ? `These ${group.length} files are tightly coupled by behavior (call/import, co-change, and/or shared state) yet no single declared boundary (directory, doc, or comment grouping) contains most of them (best overlap ${(best * 100).toFixed(0)}%). A coupling cluster no declared purpose owns is accidental complexity or a dead subsystem — a lead for the conceptual charter pass to confirm.`
76
+ : `A doc/comment grouping declares these ${group.length} files a unit, but they do not form a behavioral cluster — no single coupling cluster contains most of them (best overlap ${(best * 100).toFixed(0)}%). A purpose smeared across the codebase and never modularized is often the highest-value refactor — a lead for the conceptual charter pass.`;
77
+ const evidenceText = label === "behavioral"
78
+ ? `Behavioral coupling consensus across ${input.behaviorPartitions.length} resolution levels.`
79
+ : `Declared as one unit by an intent-declared source (doc/comment).`;
80
+ findings.push({
81
+ id: nextId(),
82
+ title: titleSuffix,
83
+ category: label === "behavioral" ? "non_colocalization_behavioral" : "non_colocalization_purpose",
84
+ severity: "low",
85
+ confidence: "low",
86
+ lens: LENS,
87
+ summary: summaryText,
88
+ affected_files: group.map((path) => ({ path })),
89
+ evidence: [
90
+ evidenceText,
91
+ `Best containment in any ${label === "behavioral" ? "declared boundary" : "behavioral cluster"}: ${(best * 100).toFixed(0)}% (threshold ${(overlapThreshold * 100).toFixed(0)}%).`,
92
+ ],
93
+ systemic: true,
94
+ });
95
+ }
90
96
  }
97
+ // --- Behavioral cluster with no coherent purpose ---
98
+ detectNonColocalGroup(allBehaviorClusters, input.intentBoundaries, "behavioral");
91
99
  // --- A purpose with no behavioral cluster (smeared) ---
92
- const purposeGroups = [...input.purposeGroups]
93
- .filter((g) => g.length >= 2)
94
- .sort(bySizeThenFirst);
95
- for (const group of purposeGroups.slice(0, maxPerKind)) {
96
- const best = bestContainment(group, allBehaviorClusters);
97
- if (best + 1e-12 >= overlapThreshold)
98
- continue; // the purpose IS a behavior cluster
99
- findings.push({
100
- id: nextId(),
101
- title: `Declared purpose is behaviorally smeared: ${group.length} files`,
102
- category: "non_colocalization_purpose",
103
- severity: "low",
104
- confidence: "low",
105
- lens: LENS,
106
- summary: `A doc/comment grouping declares these ${group.length} files a unit, but ` +
107
- `they do not form a behavioral cluster — no single coupling cluster ` +
108
- `contains most of them (best overlap ${(best * 100).toFixed(0)}%). A ` +
109
- `purpose smeared across the codebase and never modularized is often the ` +
110
- `highest-value refactor — a lead for the conceptual charter pass.`,
111
- affected_files: group.map((path) => ({ path })),
112
- evidence: [
113
- `Declared as one unit by an intent-declared source (doc/comment).`,
114
- `Best containment in any behavioral cluster: ${(best * 100).toFixed(0)}% (threshold ${(overlapThreshold * 100).toFixed(0)}%).`,
115
- ],
116
- systemic: true,
117
- });
118
- }
100
+ detectNonColocalGroup(input.purposeGroups, allBehaviorClusters, "purpose");
119
101
  return findings;
120
102
  }
121
103
  //# sourceMappingURL=findings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"findings.js","sourceRoot":"","sources":["../../../src/audit/decompose/findings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findings.js","sourceRoot":"","sources":["../../../src/audit/decompose/findings.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,18 @@ export declare const OWNED_TOOL_IDS: Set<string>;
42
42
  * resolved (and downloaded-if-absent) by the binary-acquisition seam.
43
43
  */
44
44
  export type EcosystemRunner = "npx" | "pipx" | "cargo" | "bundle" | "binary";
45
+ /**
46
+ * Safety properties of an external analyzer. `defaultRun` eligibility derives
47
+ * from these: `config_execution !== "executable" && !network_egress && version_pinning === "pinned"`.
48
+ */
49
+ export interface AnalyzerSafetyProfile {
50
+ /** Whether the tool might execute repo code during config loading. */
51
+ config_execution: "none" | "inert-data" | "executable";
52
+ /** Whether the tool might make network requests outside the local repo. */
53
+ network_egress: boolean;
54
+ /** How strictly the tool version is pinned. */
55
+ version_pinning: "pinned" | "toolchain-resolved" | "unpinned";
56
+ }
45
57
  /**
46
58
  * One acquirable external analyzer. `defaultRun: true` marks a member of the
47
59
  * small value-curated set that may run without a consent token; everything else
@@ -54,6 +66,15 @@ export interface ExternalAnalyzerCandidate {
54
66
  runner: EcosystemRunner;
55
67
  /** Pinned tool spec, e.g. "eslint@9" / "ruff==0.5.0" (pinned for reproducibility). */
56
68
  spec: string;
69
+ /** Safety profile indicating whether this tool is safe to run by default. */
70
+ safetyProfile: AnalyzerSafetyProfile;
71
+ /**
72
+ * One human line: what this analyzer detects. Rendered into the Item B
73
+ * consent offer so the operator decides from the tool's own words, never a
74
+ * host improvisation. Optional only for test fixtures — every registered
75
+ * candidate carries one (pinned by the candidates safety contract test).
76
+ */
77
+ purpose?: string;
57
78
  /**
58
79
  * Build the read-only argv for the tool given the resolved runner argv prefix
59
80
  * and repo root. MUST NOT request fixes/writes — F5 is observe-only.
@@ -117,6 +138,8 @@ export interface AcquisitionEngineOptions {
117
138
  consentToken?: string;
118
139
  /** Per-analyzer settings (auto|ephemeral|permanent|skip|repo). */
119
140
  analyzers?: Record<string, AnalyzerSetting>;
141
+ /** Recorded analyzer consent decisions ("granted" or "declined"). */
142
+ analyzerConsent?: Record<string, "granted" | "declined">;
120
143
  /** Injectable command runner; defaults to the shared runTracked. */
121
144
  run?: AcquisitionRunner;
122
145
  /** Injectable logger; defaults to a no-op (degrade quietly to status records). */
@@ -132,9 +155,10 @@ export interface AcquisitionEngineOptions {
132
155
  * Single subprocess-SPAWN admission chokepoint. Returns the reason a spawn is
133
156
  * NOT admitted, or `undefined` when admitted. The DEFAULT set is admitted
134
157
  * without a token; EVERY other candidate — including `permanent`/`ephemeral`
135
- * pre-installed tools — requires the per-run consent token (CE-005).
158
+ * pre-installed tools — requires EITHER a recorded "granted" decision OR a
159
+ * per-run consent token (CE-005, revised with Item B).
136
160
  */
137
- export declare function admitSpawn(candidate: ExternalAnalyzerCandidate, setting: AnalyzerSetting, consentToken: string | undefined): string | undefined;
161
+ export declare function admitSpawn(candidate: ExternalAnalyzerCandidate, setting: AnalyzerSetting, consentToken: string | undefined, recordedDecision?: "granted" | "declined"): string | undefined;
138
162
  /**
139
163
  * The run-safety gate, written once: capability-probe the runner, then (if the
140
164
  * probe passes) the caller may spawn the pinned, read-only argv. Returns the
@@ -1 +1 @@
1
- {"version":3,"file":"acquisitionEngine.d.ts","sourceRoot":"","sources":["../../../../src/audit/extractors/analyzers/acquisitionEngine.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,KAAK,EACV,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,oBAAoB,EAC1B,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH;;;;GAIG;AACH,eAAO,MAAM,cAAc,aAGzB,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE7E;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,+DAA+D;IAC/D,EAAE,EAAE,MAAM,CAAC;IACX,4DAA4D;IAC5D,MAAM,EAAE,eAAe,CAAC;IACxB,sFAAsF;IACtF,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1D;;;OAGG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;QAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,EAAE,CAAC,EAAE,OAAO,CAAC;KACd,CAAC,CAAC;IACH;;;;;OAKG;IACH,UAAU,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,iEAAiE;IACjE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,wEAAwE;IACxE,UAAU,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAOD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElE;AA+BD,MAAM,WAAW,iBAAiB;IAChC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC;CACjD;AAED,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC5C,oEAAoE;IACpE,GAAG,CAAC,EAAE,iBAAiB,CAAC;IACxB,kFAAkF;IAClF,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,SAAS,EAAE,yBAAyB,EACpC,OAAO,EAAE,eAAe,EACxB,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,MAAM,GAAG,SAAS,CAKpB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,yBAAyB,EACpC,GAAG,EAAE,iBAAiB,EACtB,IAAI,EAAE,MAAM,GACX;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAgB9C;AAaD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,uBAAuB,CAAC;IACjC,MAAM,EAAE,0BAA0B,CAAC;CACpC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,yBAAyB,EACpC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,wBAA6B,GACrC,kBAAkB,CAoJpB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,yBAAyB,EAAE,GACtC,yBAAyB,EAAE,CAO7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,oFAAoF;IACpF,kBAAkB,EAAE,0BAA0B,EAAE,CAAC;CAClD;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,yBAAyB,EAAE,EACvC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,wBAAwB,GAAG,oBAAyB,GAC5D,OAAO,CAAC,gBAAgB,CAAC,CAuC3B;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,QAAQ,EAAE,0BAA0B,EAAE,CAAC;CACxC;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,yBAAyB,EAAE,EACvC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,wBAA6B,GACrC,aAAa,CAYf"}
1
+ {"version":3,"file":"acquisitionEngine.d.ts","sourceRoot":"","sources":["../../../../src/audit/extractors/analyzers/acquisitionEngine.ts"],"names":[],"mappings":"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"}
@@ -98,16 +98,20 @@ function runnerPrefix(runner, spec) {
98
98
  * Single subprocess-SPAWN admission chokepoint. Returns the reason a spawn is
99
99
  * NOT admitted, or `undefined` when admitted. The DEFAULT set is admitted
100
100
  * without a token; EVERY other candidate — including `permanent`/`ephemeral`
101
- * pre-installed tools — requires the per-run consent token (CE-005).
101
+ * pre-installed tools — requires EITHER a recorded "granted" decision OR a
102
+ * per-run consent token (CE-005, revised with Item B).
102
103
  */
103
- export function admitSpawn(candidate, setting, consentToken) {
104
+ export function admitSpawn(candidate, setting, consentToken, recordedDecision) {
104
105
  if (setting === "skip")
105
106
  return "setting=skip";
106
107
  if (candidate.defaultRun)
107
108
  return undefined;
109
+ // Admission: default set ∨ recorded "granted" ∨ per-run token
110
+ if (recordedDecision === "granted")
111
+ return undefined;
108
112
  if (consentToken && consentToken.trim().length > 0)
109
113
  return undefined;
110
- return "non-default tool requires per-run consent token";
114
+ return "non-default tool requires consent (declined or not yet decided)";
111
115
  }
112
116
  /**
113
117
  * The run-safety gate, written once: capability-probe the runner, then (if the
@@ -163,7 +167,8 @@ export function runExternalAnalyzer(candidate, root, options = {}) {
163
167
  };
164
168
  }
165
169
  // Single spawn-admission chokepoint — consent gating before anything spawns.
166
- const denied = admitSpawn(candidate, setting, options.consentToken);
170
+ const recordedDecision = options.analyzerConsent?.[candidate.id];
171
+ const denied = admitSpawn(candidate, setting, options.consentToken, recordedDecision);
167
172
  if (denied) {
168
173
  log("[f5] %s spawn not admitted: %s", candidate.id, denied);
169
174
  return {
@@ -218,6 +223,7 @@ export function runExternalAnalyzer(candidate, root, options = {}) {
218
223
  resolved: true,
219
224
  status: "spawn_error",
220
225
  error: error instanceof Error ? error.message : String(error),
226
+ duration_ms: 0,
221
227
  },
222
228
  };
223
229
  }
@@ -231,6 +237,7 @@ export function runExternalAnalyzer(candidate, root, options = {}) {
231
237
  status: "spawn_error",
232
238
  exit_code: result.status,
233
239
  error: result.error.message,
240
+ duration_ms: result.duration_ms,
234
241
  },
235
242
  };
236
243
  }
@@ -268,6 +275,7 @@ export function runExternalAnalyzer(candidate, root, options = {}) {
268
275
  exit_code: result.status,
269
276
  error: error instanceof Error ? error.message : String(error),
270
277
  output_snippet: result.stdout.slice(0, 200),
278
+ duration_ms: result.duration_ms,
271
279
  },
272
280
  };
273
281
  }
@@ -283,6 +291,7 @@ export function runExternalAnalyzer(candidate, root, options = {}) {
283
291
  resolved: true,
284
292
  status: normalized.results.length > 0 ? "findings" : "success",
285
293
  exit_code: result.status,
294
+ duration_ms: result.duration_ms,
286
295
  },
287
296
  };
288
297
  }
@@ -325,7 +334,8 @@ export async function resolveBinaryCandidates(candidates, root, options = {}) {
325
334
  continue;
326
335
  }
327
336
  const setting = settingFor(options.analyzers, candidate.id);
328
- const denied = admitSpawn(candidate, setting, options.consentToken);
337
+ const recordedDecision = options.analyzerConsent?.[candidate.id];
338
+ const denied = admitSpawn(candidate, setting, options.consentToken, recordedDecision);
329
339
  if (denied) {
330
340
  unresolvedStatuses.push({
331
341
  tool: candidate.id,
@@ -1 +1 @@
1
- {"version":3,"file":"acquisitionEngine.js","sourceRoot":"","sources":["../../../../src/audit/extractors/analyzers/acquisitionEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acquisitionEngine.js","sourceRoot":"","sources":["../../../../src/audit/extractors/analyzers/acquisitionEngine.ts"],"names":[],"mappings":"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"}
@@ -68,7 +68,14 @@ declare const actionlintCandidate: ExternalAnalyzerCandidate;
68
68
  */
69
69
  declare function parseTypeCoverage(stdout: string): ReturnType<ExternalAnalyzerCandidate["parse"]>;
70
70
  declare const typeCoverageCandidate: ExternalAnalyzerCandidate;
71
+ /**
72
+ * Parse lizard's CSV output (default: `lizard -l <languages> --csv <path>`).
73
+ * CSV format: "NLOC,CCN,Token,PARAM,Length,Location,File,Function"
74
+ * Degrades to `[]` on parse failure; reports lead findings for complexity overages.
75
+ */
76
+ declare function parseLizard(stdout: string): ReturnType<ExternalAnalyzerCandidate["parse"]>;
77
+ declare const lizardCandidate: ExternalAnalyzerCandidate;
71
78
  /** The curated external analyzer candidate set. gitleaks is the default member. */
72
79
  export declare const EXTERNAL_ANALYZER_CANDIDATES: ExternalAnalyzerCandidate[];
73
- export { gitleaksCandidate, semgrepCandidate, knipCandidate, parseKnip, eslintCandidate, parseGitleaks, GITLEAKS_VERSION, jscpdCandidate, parseJscpd, osvScannerCandidate, parseOsvScanner, OSV_SCANNER_VERSION, clippyCandidate, rubocopCandidate, hadolintCandidate, parseHadolint, HADOLINT_VERSION, actionlintCandidate, parseActionlint, ACTIONLINT_VERSION, typeCoverageCandidate, parseTypeCoverage, };
80
+ export { gitleaksCandidate, semgrepCandidate, knipCandidate, parseKnip, eslintCandidate, parseGitleaks, GITLEAKS_VERSION, jscpdCandidate, parseJscpd, osvScannerCandidate, parseOsvScanner, OSV_SCANNER_VERSION, clippyCandidate, rubocopCandidate, hadolintCandidate, parseHadolint, HADOLINT_VERSION, actionlintCandidate, parseActionlint, ACTIONLINT_VERSION, typeCoverageCandidate, parseTypeCoverage, lizardCandidate, parseLizard, };
74
81
  //# sourceMappingURL=candidates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"candidates.d.ts","sourceRoot":"","sources":["../../../../src/audit/extractors/analyzers/candidates.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAaxE;;;;;;;GAOG;AAKH,QAAA,MAAM,gBAAgB,WAAW,CAAC;AAkDlC;;;;GAIG;AACH,iBAAS,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAqCrF;AAED,QAAA,MAAM,iBAAiB,EAAE,yBAsBxB,CAAC;AAiCF,QAAA,MAAM,gBAAgB,EAAE,yBASvB,CAAC;AAqCF,QAAA,MAAM,eAAe,EAAE,yBAStB,CAAC;AAkBF,iBAAS,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAyEjF;AAED,QAAA,MAAM,aAAa,EAAE,yBAqBpB,CAAC;AAgBF;;;;;;;GAOG;AACH,iBAAS,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAkClF;AAED,QAAA,MAAM,cAAc,EAAE,yBAmBrB,CAAC;AAOF,QAAA,MAAM,mBAAmB,UAAU,CAAC;AA2BpC;;;;;;;;GAQG;AACH,iBAAS,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CA+DvF;AAED,QAAA,MAAM,mBAAmB,EAAE,yBAc1B,CAAC;AAKF,QAAA,MAAM,eAAe,EAAE,yBAatB,CAAC;AAKF,QAAA,MAAM,gBAAgB,EAAE,yBAWvB,CAAC;AAOF,QAAA,MAAM,gBAAgB,WAAW,CAAC;AA2BlC;;;;;GAKG;AACH,iBAAS,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CA6BrF;AAED,QAAA,MAAM,iBAAiB,EAAE,yBAWxB,CAAC;AAOF,QAAA,MAAM,kBAAkB,WAAW,CAAC;AAkCpC;;;;GAIG;AACH,iBAAS,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CA2BvF;AAED,QAAA,MAAM,mBAAmB,EAAE,yBAY1B,CAAC;AAKF;;;;;GAKG;AACH,iBAAS,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CA4BzF;AAED,QAAA,MAAM,qBAAqB,EAAE,yBAW5B,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,4BAA4B,EAAE,yBAAyB,EAYnE,CAAC;AAEF,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,GAClB,CAAC"}
1
+ {"version":3,"file":"candidates.d.ts","sourceRoot":"","sources":["../../../../src/audit/extractors/analyzers/candidates.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAaxE;;;;;;;GAOG;AAKH,QAAA,MAAM,gBAAgB,WAAW,CAAC;AAkDlC;;;;GAIG;AACH,iBAAS,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAqCrF;AAED,QAAA,MAAM,iBAAiB,EAAE,yBA4BxB,CAAC;AAiCF,QAAA,MAAM,gBAAgB,EAAE,yBAevB,CAAC;AAqCF,QAAA,MAAM,eAAe,EAAE,yBAetB,CAAC;AAkBF,iBAAS,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAyEjF;AAED,QAAA,MAAM,aAAa,EAAE,yBA2BpB,CAAC;AA+FF;;;;;;;GAOG;AACH,iBAAS,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAkClF;AAED,QAAA,MAAM,cAAc,EAAE,yBA4BrB,CAAC;AAOF,QAAA,MAAM,mBAAmB,UAAU,CAAC;AA2BpC;;;;;;;;GAQG;AACH,iBAAS,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CA+DvF;AAED,QAAA,MAAM,mBAAmB,EAAE,yBAoB1B,CAAC;AAKF,QAAA,MAAM,eAAe,EAAE,yBAmBtB,CAAC;AAKF,QAAA,MAAM,gBAAgB,EAAE,yBAkBvB,CAAC;AAOF,QAAA,MAAM,gBAAgB,WAAW,CAAC;AA2BlC;;;;;GAKG;AACH,iBAAS,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CA6BrF;AAED,QAAA,MAAM,iBAAiB,EAAE,yBAiBxB,CAAC;AAOF,QAAA,MAAM,kBAAkB,WAAW,CAAC;AAkCpC;;;;GAIG;AACH,iBAAS,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CA2BvF;AAED,QAAA,MAAM,mBAAmB,EAAE,yBAkB1B,CAAC;AAKF;;;;;GAKG;AACH,iBAAS,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CA4BzF;AAED,QAAA,MAAM,qBAAqB,EAAE,yBAkB5B,CAAC;AA0CF;;;;GAIG;AACH,iBAAS,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAuCnF;AAED,QAAA,MAAM,eAAe,EAAE,yBA0BtB,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,4BAA4B,EAAE,yBAAyB,EAanE,CAAC;AAEF,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,WAAW,GACZ,CAAC"}