@mirnoorata/codexa 0.5.1 → 0.7.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 (74) hide show
  1. package/README.md +46 -5
  2. package/dist/artifacts.js +302 -3
  3. package/dist/artifacts.js.map +1 -1
  4. package/dist/cli.js +60 -1
  5. package/dist/cli.js.map +1 -1
  6. package/dist/codex-contract.js +1 -1
  7. package/dist/eval/scoring.js +3 -0
  8. package/dist/eval/scoring.js.map +1 -1
  9. package/dist/eval/types.d.ts +1 -0
  10. package/dist/eval.js +13 -0
  11. package/dist/eval.js.map +1 -1
  12. package/dist/graph.js +68 -2
  13. package/dist/graph.js.map +1 -1
  14. package/dist/indexer/ranking.js +339 -17
  15. package/dist/indexer/ranking.js.map +1 -1
  16. package/dist/indexer.js +2 -2
  17. package/dist/indexer.js.map +1 -1
  18. package/dist/init.d.ts +3 -0
  19. package/dist/init.js +7 -1
  20. package/dist/init.js.map +1 -1
  21. package/dist/mcp/compaction.js +65 -0
  22. package/dist/mcp/compaction.js.map +1 -1
  23. package/dist/mcp/envelope.js +11 -4
  24. package/dist/mcp/envelope.js.map +1 -1
  25. package/dist/mcp/runtime.d.ts +4 -1
  26. package/dist/mcp/runtime.js +21 -3
  27. package/dist/mcp/runtime.js.map +1 -1
  28. package/dist/mcp/tool-registry.d.ts +19 -7
  29. package/dist/mcp/tool-registry.js +16 -3
  30. package/dist/mcp/tool-registry.js.map +1 -1
  31. package/dist/mcp/tools.d.ts +1 -1
  32. package/dist/mcp/tools.js +59 -30
  33. package/dist/mcp/tools.js.map +1 -1
  34. package/dist/mcp-repo-root.js +45 -45
  35. package/dist/mcp-repo-root.js.map +1 -1
  36. package/dist/mcp.js +7 -6
  37. package/dist/mcp.js.map +1 -1
  38. package/dist/policy-pack.d.ts +37 -0
  39. package/dist/policy-pack.js +274 -0
  40. package/dist/policy-pack.js.map +1 -0
  41. package/dist/prove.d.ts +78 -0
  42. package/dist/prove.js +395 -0
  43. package/dist/prove.js.map +1 -0
  44. package/dist/query/post-edit.js +2 -203
  45. package/dist/query/post-edit.js.map +1 -1
  46. package/dist/query/required-checks.d.ts +13 -0
  47. package/dist/query/required-checks.js +61 -0
  48. package/dist/query/required-checks.js.map +1 -0
  49. package/dist/query/search.js +39 -0
  50. package/dist/query/search.js.map +1 -1
  51. package/dist/query/test-plan.d.ts +1 -0
  52. package/dist/query/test-plan.js +111 -31
  53. package/dist/query/test-plan.js.map +1 -1
  54. package/dist/query/verification-display.d.ts +12 -0
  55. package/dist/query/verification-display.js +150 -0
  56. package/dist/query/verification-display.js.map +1 -0
  57. package/dist/query-data.js +6 -1
  58. package/dist/query-data.js.map +1 -1
  59. package/dist/retrieval.d.ts +47 -1
  60. package/dist/retrieval.js +118 -1
  61. package/dist/retrieval.js.map +1 -1
  62. package/dist/session-memory/derivation.js +3 -0
  63. package/dist/session-memory/derivation.js.map +1 -1
  64. package/dist/types.d.ts +89 -2
  65. package/dist/types.js.map +1 -1
  66. package/integrations/.claude-plugin/marketplace.json +1 -1
  67. package/integrations/claude-code/.claude-plugin/plugin.json +1 -1
  68. package/integrations/claude-code/README.md +8 -1
  69. package/integrations/claude-code/commands/codexa-prove.md +12 -0
  70. package/integrations/claude-code/scripts/cmd/prove.sh +17 -0
  71. package/integrations/claude-code/tests/cmd-smoke.sh +21 -0
  72. package/package.json +1 -1
  73. package/plugins/codexa/.codex-plugin/plugin.json +1 -1
  74. package/plugins/codexa/skills/codexa/SKILL.md +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy-pack.js","sourceRoot":"","sources":["../src/policy-pack.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ import { type PolicyPackSummary } from "./policy-pack.js";
2
+ import type { ChangeType, QueryOptions, QueryResult, TestRecommendation, VerificationCommandEnvelope, VerificationCommandReport, VerificationCommandPlanEntry, VerificationCoverage, VerificationLedgerEntry, VerificationProvenance, VerificationWaiver } from "./types.js";
3
+ export interface ProveOptions extends QueryOptions {
4
+ task?: string;
5
+ diff?: boolean;
6
+ changeType?: ChangeType;
7
+ files?: string[];
8
+ tokenBudget?: number;
9
+ taskId?: string;
10
+ ranTests?: string[];
11
+ ranCommands?: string[];
12
+ ranCommandReports?: VerificationCommandReport[];
13
+ waivedChecks?: string[];
14
+ waivers?: VerificationWaiver[];
15
+ }
16
+ export interface ProveReportedVerification {
17
+ hasEvidence: boolean;
18
+ ranTests: string[];
19
+ ranCommands: string[];
20
+ ranCommandReports: VerificationCommandReport[];
21
+ waivedChecks: string[];
22
+ waivers: VerificationWaiver[];
23
+ coverage: VerificationCoverage[];
24
+ commandEnvelopes: VerificationCommandEnvelope[];
25
+ commandPlan: VerificationCommandPlanEntry[];
26
+ ledger: VerificationLedgerEntry[];
27
+ waivedVerification: VerificationLedgerEntry[];
28
+ testsNotRun: TestRecommendation[];
29
+ verificationProvenance: VerificationProvenance;
30
+ }
31
+ export interface ProveData {
32
+ mode: "proof_card";
33
+ actionability: string;
34
+ task: string;
35
+ repoRoot: string;
36
+ verificationProvenance: VerificationProvenance;
37
+ freshness: {
38
+ stale: boolean;
39
+ reason: string;
40
+ indexedAt: string;
41
+ headCommit: string | null;
42
+ dirtyFileCount: number;
43
+ parserErrorCount: number;
44
+ };
45
+ worktree: {
46
+ knownClean?: boolean;
47
+ degraded?: boolean;
48
+ dirtyFileCount?: number;
49
+ changedFiles: string[];
50
+ degradedReasons: string[];
51
+ };
52
+ readFirst: Array<{
53
+ path: string;
54
+ riskScore?: number;
55
+ rank?: number;
56
+ }>;
57
+ snapshot: {
58
+ status: "loaded" | "missing" | "blocked";
59
+ taskId?: string;
60
+ origin?: string;
61
+ createdAt?: string;
62
+ plannedEditTargets: string[];
63
+ plannedTests: string[];
64
+ reason?: string;
65
+ };
66
+ verification: {
67
+ recommendedCommands: string[];
68
+ commandPlan: VerificationCommandPlanEntry[];
69
+ ledgerPreview: VerificationLedgerEntry[];
70
+ tests: TestRecommendation[];
71
+ reported: ProveReportedVerification;
72
+ };
73
+ policies: PolicyPackSummary;
74
+ gaps: string[];
75
+ trustPosture: string[];
76
+ nextCommands: string[];
77
+ }
78
+ export declare function proveQuery(repoRoot: string, options?: ProveOptions): Promise<QueryResult>;
package/dist/prove.js ADDED
@@ -0,0 +1,395 @@
1
+ import path from "node:path";
2
+ import { focusBriefQuery, testPlanQuery } from "./queries.js";
3
+ import { loadPolicyPack } from "./policy-pack.js";
4
+ import { loadTaskSnapshot } from "./task-snapshots.js";
5
+ import { freshnessBanner } from "./query/runtime.js";
6
+ import { createQuerySession } from "./query/session.js";
7
+ import { evaluateRequiredChecks } from "./query/required-checks.js";
8
+ import { formatVerificationCoverage, formatVerificationLedger, verificationCommandPlan, verificationEvidenceForCommandReports, verificationLedgerForPostEdit } from "./query/verification.js";
9
+ import { sanitizeCommandEnvelopeForDisplay, sanitizeCommandReportForDisplay, sanitizeCommandText, sanitizeCoverageForDisplay, sanitizeLedgerForDisplay } from "./query/verification-display.js";
10
+ import { CURRENT_VERIFICATION_PROVENANCE as VERIFICATION_PROVENANCE } from "./types.js";
11
+ import { limitText, uniqueSorted } from "./util.js";
12
+ export async function proveQuery(repoRoot, options = {}) {
13
+ const repo = path.resolve(repoRoot);
14
+ const task = options.task?.trim() || "Codexa proof card";
15
+ const diff = options.diff ?? true;
16
+ const session = await createQuerySession(repo, options);
17
+ const [focus, testPlan, snapshotLoad, policies] = await Promise.all([
18
+ focusBriefQuery(session, { task, diff, tokenBudget: Math.min(options.tokenBudget ?? 1800, 3000), limit: 8 }, options),
19
+ testPlanQuery(session, diff, { ...options, files: options.files, changeType: options.changeType ?? "unknown" }),
20
+ loadTaskSnapshot(repo, options.taskId),
21
+ loadPolicyPack(repo)
22
+ ]);
23
+ const focusData = asRecord(focus.data);
24
+ const testData = asRecord(testPlan.data);
25
+ const actionability = typeof testData.actionability === "string" ? testData.actionability : "verify";
26
+ const changedFiles = stringArray(testData.changedFiles);
27
+ const worktree = worktreeFromData(focusData.worktree, changedFiles, stringArray(focusData.worktreeDegradationReasons));
28
+ const snapshot = snapshotSummary(snapshotLoad.snapshot, {
29
+ taskId: snapshotLoad.latestTaskId,
30
+ reason: snapshotLoad.error ?? snapshotLoad.missingReason ?? snapshotLoad.blockedSnapshot?.reason,
31
+ blocked: Boolean(snapshotLoad.blockedSnapshot)
32
+ });
33
+ const readFirst = readFirstFromFocus(focusData.focusFiles);
34
+ const recommendedCommands = stringArray(testData.verificationCommands);
35
+ const commandPlan = verificationCommandPlanFromData(testData.verificationCommandPlan);
36
+ const ledgerPreview = verificationLedgerFromData(testData.verificationLedgerPreview);
37
+ const tests = testRecommendationsFromData(testData.tests);
38
+ const reported = reportedVerificationData({
39
+ repoRoot: repo,
40
+ index: session.index,
41
+ snapshot: snapshotLoad.snapshot,
42
+ tests,
43
+ ranTests: options.ranTests ?? [],
44
+ ranCommands: options.ranCommands ?? [],
45
+ ranCommandReports: options.ranCommandReports ?? [],
46
+ waivedChecks: options.waivedChecks ?? [],
47
+ waivers: options.waivers ?? []
48
+ });
49
+ const gaps = proofGaps({
50
+ freshness: session.freshness,
51
+ worktree,
52
+ snapshot,
53
+ policies,
54
+ reported,
55
+ testPlanActionability: actionability,
56
+ focusGaps: stringArray(focusData.gaps),
57
+ testGaps: stringArray(testData.gaps)
58
+ });
59
+ const data = {
60
+ mode: "proof_card",
61
+ actionability,
62
+ task,
63
+ repoRoot: repo,
64
+ verificationProvenance: VERIFICATION_PROVENANCE,
65
+ freshness: freshnessData(session.freshness),
66
+ worktree,
67
+ readFirst,
68
+ snapshot,
69
+ verification: {
70
+ recommendedCommands,
71
+ commandPlan,
72
+ ledgerPreview,
73
+ tests,
74
+ reported
75
+ },
76
+ policies,
77
+ gaps,
78
+ trustPosture: trustPosture(),
79
+ nextCommands: nextCommands(repo, task, snapshot.status)
80
+ };
81
+ return {
82
+ freshness: session.freshness,
83
+ refresh: session.refresh,
84
+ text: renderProofCard(data, session.freshness, session.refresh),
85
+ data
86
+ };
87
+ }
88
+ function renderProofCard(data, freshness, refresh) {
89
+ const worktreeLine = data.worktree.degraded
90
+ ? `unknown (${data.worktree.degradedReasons.join("; ")})`
91
+ : data.worktree.knownClean
92
+ ? "clean"
93
+ : `${data.worktree.dirtyFileCount ?? data.worktree.changedFiles.length} changed file(s)`;
94
+ const lines = [
95
+ freshnessBanner(freshness, refresh),
96
+ "Codexa proof card",
97
+ `Task: ${data.task}`,
98
+ `Repo: ${data.repoRoot}`,
99
+ `Worktree: ${worktreeLine}`,
100
+ `Snapshot: ${formatSnapshot(data.snapshot)}`,
101
+ "",
102
+ "Read first:",
103
+ ...formatReadFirst(data.readFirst),
104
+ "",
105
+ "Verification preview (not proof until reported):",
106
+ ...formatCommands(data.verification.recommendedCommands),
107
+ "",
108
+ "Verification ledger preview:",
109
+ ...formatVerificationLedger(data.verification.ledgerPreview),
110
+ "",
111
+ "Reported verification evidence:",
112
+ ...formatReportedEvidence(data.verification.reported),
113
+ "",
114
+ "Reported verification coverage:",
115
+ ...formatVerificationCoverage(data.verification.reported.coverage),
116
+ "",
117
+ "Reported verification ledger:",
118
+ ...formatReportedLedger(data.verification.reported),
119
+ "",
120
+ "Local policies:",
121
+ ...formatPolicies(data.policies),
122
+ "",
123
+ "Trust posture:",
124
+ ...data.trustPosture.map((line) => `- ${line}`),
125
+ "",
126
+ "Remaining proof gaps:",
127
+ ...formatGaps(data.gaps),
128
+ "",
129
+ "Next commands:",
130
+ ...data.nextCommands.map((command) => `- ${command}`)
131
+ ];
132
+ return limitText(lines.join("\n"), 8000);
133
+ }
134
+ function freshnessData(freshness) {
135
+ return {
136
+ stale: freshness.stale,
137
+ reason: freshness.reason,
138
+ indexedAt: freshness.indexedAt,
139
+ headCommit: freshness.headCommit,
140
+ dirtyFileCount: freshness.dirtyFiles.length,
141
+ parserErrorCount: freshness.parserErrorCount
142
+ };
143
+ }
144
+ function readFirstFromFocus(value) {
145
+ if (!Array.isArray(value)) {
146
+ return [];
147
+ }
148
+ return value
149
+ .map((entry) => {
150
+ const record = entry;
151
+ return typeof record.path === "string"
152
+ ? {
153
+ path: record.path,
154
+ riskScore: typeof record.riskScore === "number" ? record.riskScore : undefined,
155
+ rank: typeof record.rank === "number" ? record.rank : undefined
156
+ }
157
+ : undefined;
158
+ })
159
+ .filter((entry) => Boolean(entry))
160
+ .slice(0, 8);
161
+ }
162
+ function snapshotSummary(snapshot, fallback) {
163
+ if (snapshot) {
164
+ return {
165
+ status: "loaded",
166
+ taskId: snapshot.taskId,
167
+ origin: snapshot.origin,
168
+ createdAt: snapshot.createdAt,
169
+ plannedEditTargets: snapshot.plannedEditTargets.slice(0, 20),
170
+ plannedTests: snapshot.plannedTests.map((test) => test.path).slice(0, 20)
171
+ };
172
+ }
173
+ return {
174
+ status: fallback.blocked ? "blocked" : "missing",
175
+ taskId: fallback.taskId,
176
+ plannedEditTargets: [],
177
+ plannedTests: [],
178
+ reason: fallback.reason
179
+ };
180
+ }
181
+ function worktreeFromData(value, changedFiles, fallbackDegradedReasons) {
182
+ const record = asRecord(value);
183
+ const degradedReasons = stringArray(record.degradedReasons).length > 0 ? stringArray(record.degradedReasons) : fallbackDegradedReasons;
184
+ return {
185
+ knownClean: typeof record.knownClean === "boolean" ? record.knownClean : changedFiles.length === 0 && degradedReasons.length === 0,
186
+ degraded: typeof record.degraded === "boolean" ? record.degraded : degradedReasons.length > 0,
187
+ dirtyFileCount: typeof record.dirtyFileCount === "number" ? record.dirtyFileCount : changedFiles.length,
188
+ changedFiles: changedFiles.slice(0, 120),
189
+ degradedReasons
190
+ };
191
+ }
192
+ function reportedVerificationData(input) {
193
+ const hasEvidence = input.ranTests.length > 0 || input.ranCommands.length > 0 || input.ranCommandReports.length > 0 || input.waivedChecks.length > 0 || input.waivers.length > 0;
194
+ const checkCoverage = verificationEvidenceForCommandReports(input.index, input.ranCommands, input.ranCommandReports, input.repoRoot).coverage;
195
+ const checkContext = {
196
+ editPaths: input.snapshot?.plannedEditTargets ?? [],
197
+ reviewTargets: input.snapshot?.plannedFiles ?? input.snapshot?.plannedEditTargets ?? [],
198
+ selectedFiles: [],
199
+ workflows: [],
200
+ affectedEdges: [],
201
+ affectedTests: [],
202
+ tests: input.tests,
203
+ ranTests: input.ranTests,
204
+ verificationCoverage: checkCoverage
205
+ };
206
+ const workflowChecks = evaluateRequiredChecks(input.snapshot?.requiredWorkflowChecks ?? [], checkContext);
207
+ const dependencyChecks = evaluateRequiredChecks(input.snapshot?.requiredDependencyChecks ?? [], checkContext);
208
+ const verification = verificationLedgerForPostEdit({
209
+ index: input.index,
210
+ tests: input.tests,
211
+ ranTests: input.ranTests,
212
+ ranCommands: input.ranCommands,
213
+ ranCommandReports: input.ranCommandReports,
214
+ waivedChecks: input.waivedChecks,
215
+ waivers: input.waivers,
216
+ repoRoot: input.repoRoot,
217
+ workflowChecks,
218
+ dependencyChecks
219
+ });
220
+ const coverage = verification.coverage.map((entry) => sanitizeCoverageForDisplay(entry, input.repoRoot));
221
+ const ledger = verification.ledger.map((entry) => sanitizeLedgerForDisplay(entry, input.repoRoot));
222
+ return {
223
+ hasEvidence,
224
+ ranTests: input.ranTests.map((test) => sanitizeCommandText(test, input.repoRoot)),
225
+ ranCommands: input.ranCommands.map((command) => sanitizeCommandText(command, input.repoRoot)),
226
+ ranCommandReports: input.ranCommandReports.map((report) => sanitizeCommandReportForDisplay(report, input.repoRoot)),
227
+ waivedChecks: input.waivedChecks.map((check) => sanitizeCommandText(check, input.repoRoot)),
228
+ waivers: input.waivers.map((waiver) => ({
229
+ kind: waiver.kind,
230
+ target: sanitizeCommandText(waiver.target, input.repoRoot),
231
+ reason: sanitizeCommandText(waiver.reason, input.repoRoot)
232
+ })),
233
+ coverage,
234
+ commandEnvelopes: verification.commandEnvelopes.map((envelope) => sanitizeCommandEnvelopeForDisplay(envelope, input.repoRoot)),
235
+ commandPlan: verificationCommandPlan(coverage),
236
+ ledger,
237
+ waivedVerification: ledger.filter((entry) => entry.status === "waived"),
238
+ testsNotRun: verification.testsNotRun,
239
+ verificationProvenance: VERIFICATION_PROVENANCE
240
+ };
241
+ }
242
+ function verificationCommandPlanFromData(value) {
243
+ if (!Array.isArray(value)) {
244
+ return [];
245
+ }
246
+ return value.filter(isVerificationCommandPlanEntry).slice(0, 30);
247
+ }
248
+ function verificationLedgerFromData(value) {
249
+ if (!Array.isArray(value)) {
250
+ return [];
251
+ }
252
+ return value.filter(isVerificationLedgerEntry).slice(0, 30);
253
+ }
254
+ function testRecommendationsFromData(value) {
255
+ if (!Array.isArray(value)) {
256
+ return [];
257
+ }
258
+ return value.filter(isTestRecommendation).slice(0, 30);
259
+ }
260
+ function isVerificationCommandPlanEntry(value) {
261
+ const record = asRecord(value);
262
+ return (typeof record.command === "string" &&
263
+ Array.isArray(record.covers) &&
264
+ Array.isArray(record.targetPaths) &&
265
+ Array.isArray(record.scopes) &&
266
+ Array.isArray(record.sources) &&
267
+ ["authoritative", "derived", "heuristic"].includes(String(record.confidence)));
268
+ }
269
+ function isVerificationLedgerEntry(value) {
270
+ const record = asRecord(value);
271
+ return (typeof record.kind === "string" &&
272
+ typeof record.recommended === "string" &&
273
+ typeof record.target === "string" &&
274
+ typeof record.status === "string" &&
275
+ Array.isArray(record.evidence) &&
276
+ Array.isArray(record.coverageKinds));
277
+ }
278
+ function isTestRecommendation(value) {
279
+ const record = asRecord(value);
280
+ return typeof record.path === "string" && typeof record.reason === "string" && typeof record.rank === "number";
281
+ }
282
+ function proofGaps(input) {
283
+ return uniqueSorted([
284
+ ...(input.freshness.stale ? [`index stale: ${input.freshness.reason}`] : []),
285
+ ...(input.worktree.degraded ? input.worktree.degradedReasons.map((reason) => `worktree state unavailable: ${reason}`) : []),
286
+ ...(input.snapshot.status === "missing" ? [`no saved change-plan snapshot${input.snapshot.reason ? `: ${input.snapshot.reason}` : ""}`] : []),
287
+ ...(input.snapshot.status === "blocked" ? [`latest change-plan snapshot blocked${input.snapshot.reason ? `: ${input.snapshot.reason}` : ""}`] : []),
288
+ ...(input.policies.missing.length > 0 ? [`policy pack missing: ${input.policies.missing.join(", ")}`] : []),
289
+ ...(input.testPlanActionability === "needs_target" ? ["test plan needs target files or a dirty diff"] : []),
290
+ ...(input.reported.hasEvidence && input.reported.coverage.length === 0 && (input.reported.ranCommands.length > 0 || input.reported.ranCommandReports.length > 0)
291
+ ? ["reported commands earned no classifier-backed verification coverage"]
292
+ : []),
293
+ ...(input.reported.hasEvidence ? input.reported.testsNotRun.map((test) => `reported verification missing: ${test.path}`) : []),
294
+ ...input.reported.ledger
295
+ .filter((entry) => entry.status === "missing" && entry.kind !== "test")
296
+ .map((entry) => `reported verification missing: ${entry.kind} ${entry.target}`),
297
+ ...input.policies.warnings,
298
+ ...input.focusGaps,
299
+ ...input.testGaps
300
+ ]);
301
+ }
302
+ function trustPosture() {
303
+ return [
304
+ "core proof paths are local and model-free; optional semantic lanes remain explicit opt-ins",
305
+ "Codexa MCP tools are context and review tools, not source-mutating edit tools",
306
+ "reported commands earn verification credit only through the shared command classifier",
307
+ "repository policy text is bounded local evidence, not executable code"
308
+ ];
309
+ }
310
+ function nextCommands(repo, task, snapshotStatus) {
311
+ const quotedTask = shellQuote(task);
312
+ return [
313
+ snapshotStatus === "loaded"
314
+ ? `codexa post-edit-review ${shellQuote(repo)} --task ${quotedTask} --ran-command "<command-you-ran>"`
315
+ : `codexa change-plan ${shellQuote(repo)} --task ${quotedTask} --save-snapshot`,
316
+ `codexa test-plan ${shellQuote(repo)} --diff`,
317
+ `codexa prove ${shellQuote(repo)} --task ${quotedTask} --diff`
318
+ ];
319
+ }
320
+ function formatSnapshot(snapshot) {
321
+ if (snapshot.status === "loaded") {
322
+ const origin = snapshot.origin ? `; ${snapshot.origin}` : "";
323
+ const created = snapshot.createdAt ? `; ${snapshot.createdAt}` : "";
324
+ return `loaded ${snapshot.taskId ?? "latest"}${origin}${created}`;
325
+ }
326
+ return `${snapshot.status}${snapshot.reason ? ` (${snapshot.reason})` : ""}`;
327
+ }
328
+ function formatReadFirst(files) {
329
+ if (files.length === 0) {
330
+ return ["- none selected"];
331
+ }
332
+ return files.map((file) => {
333
+ const rank = file.rank === undefined ? "" : `; rank ${file.rank.toFixed(2)}`;
334
+ const risk = file.riskScore === undefined ? "" : `; risk ${file.riskScore.toFixed(1)}`;
335
+ return `- ${file.path}${rank}${risk}`;
336
+ });
337
+ }
338
+ function formatCommands(commands) {
339
+ if (commands.length === 0) {
340
+ return ["- none inferred; run codexa test-plan after choosing an edit target"];
341
+ }
342
+ return commands.slice(0, 12).map((command) => `- ${command}`);
343
+ }
344
+ function formatReportedEvidence(reported) {
345
+ if (!reported.hasEvidence) {
346
+ return ["- none supplied; pass --ran-command, --ran-test, --ran-command-report, --waive-check, or --waiver after verification runs"];
347
+ }
348
+ const lines = [
349
+ ...reported.ranTests.slice(0, 12).map((test) => `- ran test: ${test}`),
350
+ ...reported.ranCommands.slice(0, 12).map((command) => `- ran command: ${command}`),
351
+ ...reported.ranCommandReports.slice(0, 12).map((report) => `- command report: ${formatCommandReport(report)}`),
352
+ ...reported.waivedChecks.slice(0, 12).map((target) => `- legacy waiver: ${target}`),
353
+ ...reported.waivers.slice(0, 12).map((waiver) => `- waiver: ${waiver.kind} ${waiver.target}; ${waiver.reason}`)
354
+ ];
355
+ return lines.length > 0 ? lines : ["- evidence supplied, but no displayable entries after sanitization"];
356
+ }
357
+ function formatReportedLedger(reported) {
358
+ if (!reported.hasEvidence && reported.ledger.length === 0) {
359
+ return ["- none; preview above shows what reported commands would need to cover"];
360
+ }
361
+ return formatVerificationLedger(reported.ledger);
362
+ }
363
+ function formatCommandReport(report) {
364
+ const status = report.exitCode === undefined ? "exit unknown" : `exit ${report.exitCode}`;
365
+ const cwd = report.cwd ? `; cwd ${report.cwd}` : "";
366
+ const duration = report.durationMs === undefined ? "" : `; ${report.durationMs}ms`;
367
+ const summary = report.outputSummary ?? report.stderrSummary ?? report.stdoutSummary;
368
+ return `${report.command} (${status}${cwd}${duration}${summary ? `; ${summary}` : ""})`;
369
+ }
370
+ function formatPolicies(policies) {
371
+ const lines = policies.policies.flatMap((policy) => [
372
+ `- ${policy.kind}: ${policy.purpose}`,
373
+ ...policy.rules.slice(0, 3).map((rule) => ` - ${rule}`)
374
+ ]);
375
+ if (policies.missing.length > 0) {
376
+ lines.push(`- missing policy files: ${policies.missing.map((kind) => `${kind}.json`).join(", ")}; run codexa policy-init <repo>`);
377
+ }
378
+ if (policies.warnings.length > 0) {
379
+ lines.push(...policies.warnings.map((warning) => `- warning: ${warning}`));
380
+ }
381
+ return lines.length > 0 ? lines : ["- no local policy pack present; run codexa policy-init <repo>"];
382
+ }
383
+ function formatGaps(gaps) {
384
+ return gaps.length > 0 ? gaps.slice(0, 20).map((gap) => `- ${gap}`) : ["- none detected in the proof card inputs"];
385
+ }
386
+ function asRecord(value) {
387
+ return value && typeof value === "object" && !Array.isArray(value) ? value : {};
388
+ }
389
+ function stringArray(value) {
390
+ return Array.isArray(value) ? value.filter((entry) => typeof entry === "string") : [];
391
+ }
392
+ function shellQuote(value) {
393
+ return `'${value.replaceAll("'", "'\"'\"'")}'`;
394
+ }
395
+ //# sourceMappingURL=prove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prove.js","sourceRoot":"","sources":["../src/prove.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,cAAc,EAA0B,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,qCAAqC,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAC9L,OAAO,EACL,iCAAiC,EACjC,+BAA+B,EAC/B,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACzB,MAAM,iCAAiC,CAAC;AAkBzC,OAAO,EAAE,+BAA+B,IAAI,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAyFpD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,UAAwB,EAAE;IAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,mBAAmB,CAAC;IACzD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;IAClC,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClE,eAAe,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC;QACrH,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS,EAAE,CAAC;QAC/G,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC;QACtC,cAAc,CAAC,IAAI,CAAC;KACrB,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,OAAO,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;IACrG,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACvH,MAAM,QAAQ,GAAG,eAAe,CAAC,YAAY,CAAC,QAAQ,EAAE;QACtD,MAAM,EAAE,YAAY,CAAC,YAAY;QACjC,MAAM,EAAE,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,aAAa,IAAI,YAAY,CAAC,eAAe,EAAE,MAAM;QAChG,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC;KAC/C,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,kBAAkB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,mBAAmB,GAAG,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,+BAA+B,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IACtF,MAAM,aAAa,GAAG,0BAA0B,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IACrF,MAAM,KAAK,GAAG,2BAA2B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,wBAAwB,CAAC;QACxC,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,KAAK;QACL,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;QAChC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;QACtC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,EAAE;QAClD,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,EAAE;QACxC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;KAC/B,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,SAAS,CAAC;QACrB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,qBAAqB,EAAE,aAAa;QACpC,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC;QACtC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;KACrC,CAAC,CAAC;IACH,MAAM,IAAI,GAAc;QACtB,IAAI,EAAE,YAAY;QAClB,aAAa;QACb,IAAI;QACJ,QAAQ,EAAE,IAAI;QACd,sBAAsB,EAAE,uBAAuB;QAC/C,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC;QAC3C,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,YAAY,EAAE;YACZ,mBAAmB;YACnB,WAAW;YACX,aAAa;YACb,KAAK;YACL,QAAQ;SACT;QACD,QAAQ;QACR,IAAI;QACJ,YAAY,EAAE,YAAY,EAAE;QAC5B,YAAY,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;KACxD,CAAC;IACF,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC;QAC/D,IAAI;KACL,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,IAAe,EAAE,SAAwB,EAAE,OAAgC;IAClG,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ;QACzC,CAAC,CAAC,YAAY,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACzD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU;YACxB,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,kBAAkB,CAAC;IAC7F,MAAM,KAAK,GAAG;QACZ,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC;QACnC,mBAAmB;QACnB,SAAS,IAAI,CAAC,IAAI,EAAE;QACpB,SAAS,IAAI,CAAC,QAAQ,EAAE;QACxB,aAAa,YAAY,EAAE;QAC3B,aAAa,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAC5C,EAAE;QACF,aAAa;QACb,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;QAClC,EAAE;QACF,kDAAkD;QAClD,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QACxD,EAAE;QACF,8BAA8B;QAC9B,GAAG,wBAAwB,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;QAC5D,EAAE;QACF,iCAAiC;QACjC,GAAG,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;QACrD,EAAE;QACF,iCAAiC;QACjC,GAAG,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAClE,EAAE;QACF,+BAA+B;QAC/B,GAAG,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;QACnD,EAAE;QACF,iBAAiB;QACjB,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;QAChC,EAAE;QACF,gBAAgB;QAChB,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/C,EAAE;QACF,uBAAuB;QACvB,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;QACxB,EAAE;QACF,gBAAgB;QAChB,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC;KACtD,CAAC;IACF,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,aAAa,CAAC,SAAwB;IAC7C,OAAO;QACL,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,cAAc,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM;QAC3C,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;KAC7C,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,KAAK,EAA8C,EAAE;QACzD,MAAM,MAAM,GAAG,KAAuB,CAAC;QACvC,OAAO,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YACpC,CAAC,CAAC;gBACE,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,SAAS,EAAE,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBAC9E,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;aAChE;YACH,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,KAAK,EAA2C,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAC1E,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,eAAe,CACtB,QAAkC,EAClC,QAAgE;IAEhE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAC5D,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SAC1E,CAAC;IACJ,CAAC;IACD,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAChD,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,kBAAkB,EAAE,EAAE;QACtB,YAAY,EAAE,EAAE;QAChB,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc,EAAE,YAAsB,EAAE,uBAAiC;IACjG,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC;IACvI,OAAO;QACL,UAAU,EAAE,OAAQ,MAAwB,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAG,MAAwB,CAAC,UAAsB,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;QACrL,QAAQ,EAAE,OAAQ,MAAwB,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAG,MAAwB,CAAC,QAAoB,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;QAChJ,cAAc,EAAE,OAAQ,MAAwB,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAG,MAAwB,CAAC,cAAyB,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM;QACzJ,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QACxC,eAAe;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,KAUjC;IACC,MAAM,WAAW,GACf,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/J,MAAM,aAAa,GAAG,qCAAqC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;IAC9I,MAAM,YAAY,GAAG;QACnB,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,kBAAkB,IAAI,EAAE;QACnD,aAAa,EAAE,KAAK,CAAC,QAAQ,EAAE,YAAY,IAAI,KAAK,CAAC,QAAQ,EAAE,kBAAkB,IAAI,EAAE;QACvF,aAAa,EAAE,EAAE;QACjB,SAAS,EAAE,EAAE;QACb,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,EAAE;QACjB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,oBAAoB,EAAE,aAAa;KACpC,CAAC;IACF,MAAM,cAAc,GAAG,sBAAsB,CAAC,KAAK,CAAC,QAAQ,EAAE,sBAAsB,IAAI,EAAE,EAAE,YAAY,CAAC,CAAC;IAC1G,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,KAAK,CAAC,QAAQ,EAAE,wBAAwB,IAAI,EAAE,EAAE,YAAY,CAAC,CAAC;IAC9G,MAAM,YAAY,GAAG,6BAA6B,CAAC;QACjD,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,cAAc;QACd,gBAAgB;KACjB,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,0BAA0B,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzG,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnG,OAAO;QACL,WAAW;QACX,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjF,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7F,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,+BAA+B,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnH,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3F,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACtC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;YAC1D,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;SAC3D,CAAC,CAAC;QACH,QAAQ;QACR,gBAAgB,EAAE,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,iCAAiC,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9H,WAAW,EAAE,uBAAuB,CAAC,QAAQ,CAAC;QAC9C,MAAM;QACN,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC;QACvE,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,sBAAsB,EAAE,uBAAuB;KAChD,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CAAC,KAAc;IACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAc;IACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,8BAA8B,CAAC,KAAc;IACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,CACL,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;QAClC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;QAC5B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;QACjC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;QAC5B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QAC7B,CAAC,eAAe,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAC9E,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,CACL,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;QAC/B,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;QACtC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;QACjC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;QACjC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC9B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;AACjH,CAAC;AAED,SAAS,SAAS,CAAC,KASlB;IACC,OAAO,YAAY,CAAC;QAClB,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,+BAA+B,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3H,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,gCAAgC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7I,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,sCAAsC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnJ,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3G,GAAG,CAAC,KAAK,CAAC,qBAAqB,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3G,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;YAC9J,CAAC,CAAC,CAAC,qEAAqE,CAAC;YACzE,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kCAAkC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9H,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM;aACrB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;aACtE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kCAAkC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjF,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ;QAC1B,GAAG,KAAK,CAAC,SAAS;QAClB,GAAG,KAAK,CAAC,QAAQ;KAClB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY;IACnB,OAAO;QACL,4FAA4F;QAC5F,+EAA+E;QAC/E,uFAAuF;QACvF,uEAAuE;KACxE,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,IAAY,EAAE,cAA+C;IAC/F,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO;QACL,cAAc,KAAK,QAAQ;YACzB,CAAC,CAAC,2BAA2B,UAAU,CAAC,IAAI,CAAC,WAAW,UAAU,oCAAoC;YACtG,CAAC,CAAC,sBAAsB,UAAU,CAAC,IAAI,CAAC,WAAW,UAAU,kBAAkB;QACjF,oBAAoB,UAAU,CAAC,IAAI,CAAC,SAAS;QAC7C,gBAAgB,UAAU,CAAC,IAAI,CAAC,WAAW,UAAU,SAAS;KAC/D,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,QAA+B;IACrD,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,OAAO,UAAU,QAAQ,CAAC,MAAM,IAAI,QAAQ,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC;IACpE,CAAC;IACD,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC/E,CAAC;AAED,SAAS,eAAe,CAAC,KAA6B;IACpD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,OAAO,KAAK,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,QAAkB;IACxC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,qEAAqE,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAmC;IACjE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC1B,OAAO,CAAC,2HAA2H,CAAC,CAAC;IACvI,CAAC;IACD,MAAM,KAAK,GAAG;QACZ,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,IAAI,EAAE,CAAC;QACtE,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,kBAAkB,OAAO,EAAE,CAAC;QAClF,GAAG,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,qBAAqB,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9G,GAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,oBAAoB,MAAM,EAAE,CAAC;QACnF,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;KAChH,CAAC;IACF,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,oEAAoE,CAAC,CAAC;AAC3G,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAmC;IAC/D,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,OAAO,CAAC,wEAAwE,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,wBAAwB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAiC;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC1F,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,UAAU,IAAI,CAAC;IACnF,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC;IACrF,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,MAAM,GAAG,GAAG,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AAC1F,CAAC;AAED,SAAS,cAAc,CAAC,QAA2B;IACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QAClD,KAAK,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,EAAE;QACrC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;KACzD,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,2BAA2B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACpI,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,+DAA+D,CAAC,CAAC;AACtG,CAAC;AAED,SAAS,UAAU,CAAC,IAAc;IAChC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC;AACrH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/G,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACzG,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC;AACjD,CAAC"}