@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
@@ -95,6 +95,7 @@ export async function searchQuery(input, queryInput, options = {}) {
95
95
  : [...interpreted.files, ...rawIndexedFiles, ...retrieval.matches.map((match) => match.file)]).slice(0, limit);
96
96
  const tests = recommendTests(index, searchFiles.map((file) => file.path), repoRoot).slice(0, 10);
97
97
  const rawFileCount = raw.files.length;
98
+ const rawExactHitCount = raw.hits.length;
98
99
  const quality = assessContextQuality({
99
100
  freshness,
100
101
  gaps: indexGaps(index, freshness),
@@ -119,6 +120,7 @@ export async function searchQuery(input, queryInput, options = {}) {
119
120
  });
120
121
  const searchDiscipline = searchDisciplineLine(raw);
121
122
  const actionability = raw.sufficient ? "raw_search_sufficient" : actionabilityFromSearchVerdict(retrieval.intentConfidence.verdict);
123
+ const rawAnchorLine = formatRawExactAnchorLine(rawExactHitCount, retrieval);
122
124
  const nextTools = [
123
125
  interpreted.symbols.length === 1 ? nextTool("symbol_context", "one symbol matched; inspect its proof-carrying neighborhood", { symbol: interpreted.symbols[0].id, depth: 1 }) : undefined,
124
126
  interpreted.symbols.length > 1 ? nextTool("symbol_context", "multiple symbols matched; rerun with an exact symbol id", { symbol: interpreted.symbols[0].id, depth: 1 }) : undefined,
@@ -136,6 +138,7 @@ export async function searchQuery(input, queryInput, options = {}) {
136
138
  `Actionability: ${actionability}`,
137
139
  retrieval.diagnostics.length > 0 ? `Retrieval diagnostics: ${retrieval.diagnostics.join("; ")}` : undefined,
138
140
  searchDiscipline,
141
+ rawAnchorLine,
139
142
  "",
140
143
  raw.patterns.length > 1 ? "Raw hits (multi-pattern):" : "Raw hits:",
141
144
  ...(queryInput.includeRaw ?? true
@@ -145,6 +148,9 @@ export async function searchQuery(input, queryInput, options = {}) {
145
148
  "Codexa hybrid targets:",
146
149
  ...searchFiles.map((file) => `- ${file.path}: rank ${file.rank.toFixed(2)}; ${interpreted.reasons.get(file.path)?.join("; ") ?? "match"}`),
147
150
  "",
151
+ "Relational packets:",
152
+ ...formatRelationalPackets(retrieval),
153
+ "",
148
154
  "Likely tests:",
149
155
  ...formatTestRecommendations(tests),
150
156
  "",
@@ -160,12 +166,19 @@ export async function searchQuery(input, queryInput, options = {}) {
160
166
  mode: "search",
161
167
  patterns: raw.patterns,
162
168
  searchDiscipline,
169
+ rawExactHitCount,
170
+ rawExactFileCount: rawFileCount,
163
171
  raw,
164
172
  semantic: retrieval.semantic,
165
173
  files: searchFiles,
166
174
  symbols: interpreted.symbols,
167
175
  usageSites: interpreted.usageSites,
168
176
  retrieval,
177
+ rankedAnchors: retrieval.anchors,
178
+ relationalPackets: {
179
+ processGroups: retrieval.processGroups,
180
+ clusterGroups: retrieval.clusterGroups
181
+ },
169
182
  intentConfidence: retrieval.intentConfidence,
170
183
  packetVerdict: retrieval.intentConfidence.verdict,
171
184
  actionability,
@@ -180,6 +193,32 @@ export async function searchQuery(input, queryInput, options = {}) {
180
193
  }
181
194
  };
182
195
  }
196
+ function formatRawExactAnchorLine(rawExactHitCount, retrieval) {
197
+ const anchor = retrieval.anchors[0];
198
+ if (!anchor) {
199
+ return `Raw exact hits: ${rawExactHitCount}; ranked anchor: none.`;
200
+ }
201
+ const location = anchor.line ? `${anchor.path}:${anchor.line}` : anchor.path;
202
+ const laneText = anchor.lanes.length > 0 ? anchor.lanes.join("+") : "none";
203
+ return `Raw exact hits: ${rawExactHitCount}; ranked anchor: ${anchor.kind} ${anchor.label} at ${location}; lanes ${laneText}; confidence ${anchor.confidence}.`;
204
+ }
205
+ function formatRelationalPackets(retrieval) {
206
+ const lines = [];
207
+ for (const anchor of retrieval.anchors.slice(0, 3)) {
208
+ lines.push(`- anchor ${formatAnchor(anchor)}; score ${anchor.score.toFixed(2)}; lanes ${anchor.lanes.join("+") || "none"}`);
209
+ }
210
+ for (const group of retrieval.processGroups.slice(0, 3)) {
211
+ lines.push(`- process ${group.title}: ${group.processKind ?? group.workflowKind}; score ${group.normalizedScore.toFixed(2)}; matched ${group.matchedFiles.slice(0, 4).join(", ") || "none"}; tests ${group.tests.slice(0, 3).join(", ") || "none"}`);
212
+ }
213
+ for (const group of retrieval.clusterGroups.slice(0, 3)) {
214
+ lines.push(`- cluster ${group.name}: score ${group.score.toFixed(2)}; files ${group.topFiles.slice(0, 4).join(", ") || "none"}; symbols ${group.topSymbols.slice(0, 4).join(", ") || "none"}`);
215
+ }
216
+ return lines.length > 0 ? lines : ["- no relational packets matched"];
217
+ }
218
+ function formatAnchor(anchor) {
219
+ const location = anchor.line ? `${anchor.path}:${anchor.line}` : anchor.path;
220
+ return `${anchor.kind} ${anchor.label} at ${location}`;
221
+ }
183
222
  function formatSemanticLaneSummary(semantic) {
184
223
  if (semantic.status === "ok") {
185
224
  return `Semantic lane: ok (${semantic.provider ?? "provider"} ${semantic.model ?? "model"}; ${semantic.chunkCount ?? 0} chunks)`;
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/query/search.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC9G,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,SAAS,EAA2C,MAAM,iBAAiB,CAAC;AACxK,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAA0B,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,eAAe,EAAuB,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,+BAA+B,EAAiC,MAAM,0BAA0B,CAAC;AAE1G,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAUrD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAwB,EAAE,KAAK,GAAG,EAAE,EAAE,UAAwB,EAAE,EAAE,WAAW,GAAG,IAAI;IACrH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI;QACT,KAAK,CAAC,OAAO;aACV,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;aACjJ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;aAC1J,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;KACf,CAAC,CACH,CAAC;IACF,MAAM,OAAO,GAAG,oBAAoB,CAAC;QACnC,SAAS;QACT,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC;QACjC,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;QACjH,aAAa,EAAE,KAAK,CAAC,MAAM;KAC5B,CAAC,CAAC;IACH,MAAM,KAAK,GAAG;QACZ,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC;QACnC,WAAW,MAAM,0BAA0B,KAAK,CAAC,MAAM,EAAE;QACzD,oBAAoB,CAAC,OAAO,CAAC;QAC7B,EAAE;QACF,cAAc;QACd,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAChG,EAAE;QACF,aAAa;QACb,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5J,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,QAAQ,GAAG,YAAY,EAAE,CAAC,CAAC;QAC9H,CAAC,CAAC;KACH,CAAC;IACF,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;AACjK,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAwB,EAAE,KAAa,EAAE,KAAK,GAAG,EAAE,EAAE,UAAwB,EAAE;IACpH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACxD,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IACjH,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO;SAC7B,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;SAC1H,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACnB,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU;SAC/B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;SAC7G,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACnB,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC3K,MAAM,IAAI,GAAG;QACX,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC;QACnC,wBAAwB,KAAK,IAAI;QACjC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,IAAI,QAAQ,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,EAAE,CAAC;QACpI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,UAAU,QAAQ,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,EAAE,CAAC;QACzI,EAAE;QACF,6BAA6B;QAC7B,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;KAC1I,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC;AAC/I,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAwB,EACxB,UAAwF,EACxF,UAAwB,EAAE;IAE1B,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,yBAAyB,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrF,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,+BAA+B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9I,MAAM,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAoB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjI,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1D,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAClC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAChE,QAAQ,CAAC,IAAI,CAAC,GAAG,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;QACrH,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,WAAW,GAAG,WAAW,CAC7B,GAAG,CAAC,UAAU;QACZ,CAAC,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,WAAW,CAAC,YAAY,CAAC;QACnD,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,EAAE,GAAG,eAAe,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAChG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAClB,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjG,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;IACtC,MAAM,OAAO,GAAG,oBAAoB,CAAC;QACnC,SAAS;QACT,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC;QACjC,KAAK,EAAE;YACL,aAAa,EAAE,eAAe,CAAC,MAAM;YACrC,OAAO,EAAE,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YACxH,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC;YACrG,QAAQ,EAAE,CAAC;SACZ;QACD,aAAa,EAAE,WAAW,CAAC,MAAM;QACjC,aAAa,EAAE,GAAG,CAAC,UAAU;QAC7B,UAAU,EAAE,SAAS,CAAC,KAAK;QAC3B,SAAS,EAAE,KAAK,CAAC,MAAM;KACxB,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,EAAE;QACpC,YAAY;QACZ,eAAe,EAAE,WAAW,CAAC,MAAM;QACnC,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;QACnF,SAAS,EAAE,KAAK,CAAC,MAAM;QACvB,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM;QACvC,OAAO;KACR,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,8BAA8B,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACpI,MAAM,SAAS,GAAG;QAChB,WAAW,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,EAAE,6DAA6D,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QACzL,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,EAAE,yDAAyD,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QACnL,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,oDAAoD,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QACtM,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,qDAAqD,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;KACzK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAuC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG;QACX,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC;QACnC,oBAAoB,CAAC,OAAO,CAAC;QAC7B,mBAAmB,CAAC,KAAK,CAAC;QAC1B,2BAA2B,UAAU,CAAC,KAAK,EAAE;QAC7C,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QAC9F,yBAAyB,CAAC,SAAS,CAAC,QAAQ,CAAC;QAC7C,mBAAmB,SAAS,CAAC,gBAAgB,CAAC,OAAO,gBAAgB,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,gBAAgB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG;QAClM,kBAAkB,aAAa,EAAE;QACjC,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QAC3G,gBAAgB;QAChB,EAAE;QACF,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,WAAW;QACnE,GAAG,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI;YAC/B,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACnF,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACzD,EAAE;QACF,wBAAwB;QACxB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;QAC1I,EAAE;QACF,eAAe;QACf,GAAG,yBAAyB,CAAC,KAAK,CAAC;QACnC,EAAE;QACF,aAAa;QACb,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;KAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO;QACL,SAAS;QACT,OAAO;QACP,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QAC7D,IAAI,EAAE;YACH,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,IAAI,EAAE,QAAQ;YACf,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,gBAAgB;YAChB,GAAG;YACH,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,SAAS;YACT,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;YAC5C,aAAa,EAAE,SAAS,CAAC,gBAAgB,CAAC,OAAO;YACjD,aAAa;YACb,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,KAAK;YACL,KAAK;YACL,OAAO;YACN,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC;YACjC,SAAS;YACT,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM;YACnC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE;SACzE;KACF,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,QAAkC;IACnE,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO,sBAAsB,QAAQ,CAAC,QAAQ,IAAI,UAAU,IAAI,QAAQ,CAAC,KAAK,IAAI,OAAO,KAAK,QAAQ,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC;IACnI,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACtC,OAAO,6BAA6B,QAAQ,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACvH,CAAC;IACD,OAAO,0GAA0G,CAAC;AACpH,CAAC;AAED,SAAS,0BAA0B,CAAC,KAA8B;IAChE,MAAM,SAAS,GAAyC,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtI,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,aAAa,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACvI,CAAC;AAED,SAAS,8BAA8B,CAAC,OAAe;IACrD,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;QACnC,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,KAAK,mBAAmB,EAAE,CAAC;QACpC,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IACD,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;QAC/B,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAa,EAAE,gBAA2B;IAC3E,MAAM,QAAQ,GAAG,0BAA0B,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,0BAA0B,CAAC,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;IAClE,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,wBAAwB,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC7D,MAAM,QAAQ,GAAG,0BAA0B,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACtI,OAAO,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAoB;IAChD,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,OAAO,qGAAqG,CAAC;IAC/G,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,OAAO,+BAA+B,GAAG,CAAC,QAAQ,CAAC,MAAM,0FAA0F,CAAC;IACtJ,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,0IAA0I,CAAC;IACpJ,CAAC;IACD,OAAO,0HAA0H,CAAC;AACpI,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAkB;IAC9C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,YAAY,CAAC,GAAiB,EAAE,YAAqB;IAC5D,MAAM,OAAO,GAAG,YAAY,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,OAAO,KAAK,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,GAAG,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAkB,EAAE,KAAa,EAAE,KAAa;IAC3E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC5C,MAAM,UAAU,GAAiD,EAAE,CAAC;IACpE,MAAM,SAAS,GAAmD,EAAE,CAAC;IACrE,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,MAAc,EAAE,KAAa,EAAE,EAAE;QACnE,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAChI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YACnC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,WAAW,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,aAAa,EAAE,EAAE,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3I,CAAC;IACH,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACpH,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACjC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,UAAU,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;SAChC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;SACxE,MAAM,CAAC,CAAC,KAAK,EAA8C,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAClF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACxG,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;SACf,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,UAAU;SACvB,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;QACjB,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;QACzF,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAC/D;SACA,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;SACf,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,SAAS;SACzB,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;QACjB,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;QACvF,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAC3C;SACA,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;SACf,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAClJ,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,KAAa;IACrD,MAAM,CAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACb,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,YAAY,GAAG,oEAAoE,CAAC;IAC1F,MAAM,mBAAmB,GAAG,6BAA6B,CAAC;IAC1D,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1F,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAClG,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACf,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YACjC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,IAAI,CAAC,gBAAgB,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QAC9C,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,OAAO,CAAC;IAChC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IAC9B,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IAC/B,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,WAAW,CAAC;IAClC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK;SACT,KAAK,CAAC,oBAAoB,CAAC;SAC3B,GAAG,CAAC,mBAAmB,CAAC;SACxB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;SAClC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAChB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjJ,OAAO,CAAC,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC7B,OAAO,IAAI,GAAG,CACZ,mBAAmB,CAAC,KAAK,CAAC;SACvB,KAAK,CAAC,YAAY,CAAC;SACnB,MAAM,CAAC,OAAO,CAAC,CACnB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAiB;IAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAa;IACjD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;QACxB,KAAK;QACL,KAAK;QACL,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,OAAO;QACP,SAAS;QACT,OAAO;QACP,MAAM;QACN,OAAO;QACP,MAAM;QACN,KAAK;QACL,SAAS;QACT,MAAM;QACN,MAAM;QACN,QAAQ;QACR,MAAM;QACN,KAAK;QACL,MAAM;QACN,QAAQ;QACR,QAAQ;QACR,cAAc;KACf,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAI;SACf,KAAK,CAAC,qBAAqB,CAAC;SAC5B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;SAC9D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,kBAAkB,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,qBAAqB,GACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,8GAA8G,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvJ,OAAO,kBAAkB,IAAI,qBAAqB,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnJ,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACjG,OAAO,YAAY,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/query/search.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,6 @@ import { type QuerySessionInput } from "./session.js";
2
2
  import type { ChangeType, QueryOptions, QueryResult } from "../types.js";
3
3
  export interface TestPlanOptions extends QueryOptions {
4
4
  changeType?: ChangeType;
5
+ files?: string[];
5
6
  }
6
7
  export declare function testPlanQuery(input: QuerySessionInput, diff?: boolean, options?: TestPlanOptions): Promise<QueryResult>;
@@ -1,3 +1,4 @@
1
+ import path from "node:path";
1
2
  import { formatDiffGroups, formatGaps, groupDiffImpact, indexGaps } from "./diff.js";
2
3
  import { freshnessBanner } from "./runtime.js";
3
4
  import { ensureQuerySession } from "./session.js";
@@ -6,7 +7,7 @@ import { compactChangedSymbol, compactDiffGroup } from "./compact-data.js";
6
7
  import { compactWorktreeState, getWorktreeState, worktreeStateGaps, worktreeStateText } from "./worktree-state.js";
7
8
  import { formatVerificationCoverage, formatVerificationLedger, verificationCommandPlan, verificationCommandsForContext, verificationLedgerForPostEdit } from "./verification.js";
8
9
  import { CURRENT_VERIFICATION_PROVENANCE } from "../types.js";
9
- import { limitText } from "../util.js";
10
+ import { limitText, normalizePath } from "../util.js";
10
11
  export async function testPlanQuery(input, diff = true, options = {}) {
11
12
  const session = await ensureQuerySession(input, options);
12
13
  const { index, freshness, refresh, repoRoot } = session;
@@ -16,12 +17,15 @@ export async function testPlanQuery(input, diff = true, options = {}) {
16
17
  const changed = worktree?.files ?? [];
17
18
  const changedSymbols = worktree?.symbols ?? [];
18
19
  const unindexedChanged = changed.filter((file) => !indexedPaths.has(file));
20
+ const explicitTargets = resolveTargetFiles(options.files, repoRoot, indexedPaths);
21
+ const explicitTargetsProvided = (options.files?.length ?? 0) > 0;
22
+ const scopedFiles = explicitTargets.files.length > 0 ? explicitTargets.files : explicitTargetsProvided ? [] : changed;
19
23
  const groups = groupDiffImpact(index, changedEntries, changedSymbols, unindexedChanged);
20
- const gaps = [...indexGaps(index, freshness, unindexedChanged), ...(worktree ? worktreeStateGaps(worktree) : [])];
24
+ const gaps = [...indexGaps(index, freshness, unindexedChanged), ...explicitTargets.gaps, ...(worktree ? worktreeStateGaps(worktree) : [])];
21
25
  const changeType = options.changeType ?? "unknown";
22
- const tests = recommendTests(index, changed.length > 0 ? changed : index.files.slice(0, 10).map((file) => file.path), repoRoot, changeType);
26
+ const tests = scopedFiles.length > 0 ? recommendTests(index, scopedFiles, repoRoot, changeType) : [];
23
27
  const outcomeLearning = outcomeLearningRecommendations(tests, 8);
24
- const verificationCommands = verificationCommandsForContext(index, repoRoot, changed.length > 0 ? changed : index.files.slice(0, 10).map((file) => file.path), tests, 16);
28
+ const verificationCommands = scopedFiles.length > 0 ? verificationCommandsForContext(index, repoRoot, scopedFiles, tests, 16) : [];
25
29
  const verificationPreview = verificationLedgerForPostEdit({
26
30
  index,
27
31
  tests,
@@ -39,39 +43,57 @@ export async function testPlanQuery(input, diff = true, options = {}) {
39
43
  const verificationCoverage = verificationPreview.coverage;
40
44
  const commandPlan = verificationCommandPlan(verificationCoverage);
41
45
  const verificationLedgerPreview = markLedgerAsPreview(verificationPreview.ledger);
42
- const text = [
43
- freshnessBanner(freshness, refresh),
44
- `Test plan for ${changed.length > 0 ? `${changed.length} changed files` : "top-ranked files"}:`,
45
- ...(groups.length > 0 ? ["", "Change groups:", ...formatDiffGroups(groups.slice(0, 12))] : []),
46
- "",
47
- ...(changedSymbols.length > 0
48
- ? [
49
- "Changed symbols:",
50
- ...changedSymbols
51
- .slice(0, 20)
52
- .map((entry) => `- ${entry.symbol.qualifiedName} (${entry.symbol.kind}) at ${entry.symbol.path}:${entry.symbol.range?.startLine ?? 1}`)
53
- ]
54
- : []),
55
- ...formatTestRecommendations(tests.slice(0, 30)),
56
- ...(outcomeLearning.length > 0 ? ["", "Outcome learning:", ...formatOutcomeLearningRecommendations(outcomeLearning)] : []),
57
- "",
58
- "If run, these commands would cover:",
59
- ...formatVerificationCoverage(verificationCoverage),
60
- "",
61
- "Verification ledger preview if recommended commands are run:",
62
- ...formatVerificationLedger(verificationLedgerPreview),
63
- ...(unindexedChanged.length > 0 ? ["", "Changed but not indexed:", ...unindexedChanged.slice(0, 20).map((file) => `- ${file}`)] : []),
64
- "",
65
- "Known gaps:",
66
- ...formatGaps(gaps),
67
- ...(worktree ? worktreeStateText(worktree) : [])
68
- ].join("\n");
46
+ const actionability = scopedFiles.length > 0 ? "verify" : "needs_target";
47
+ const text = scopedFiles.length > 0
48
+ ? [
49
+ freshnessBanner(freshness, refresh),
50
+ `Test plan for ${explicitTargets.files.length > 0 ? `${explicitTargets.files.length} target file(s)` : `${changed.length} changed files`}:`,
51
+ ...(explicitTargets.files.length > 0 ? ["", "Target files:", ...explicitTargets.files.slice(0, 20).map((file) => `- ${file}`)] : []),
52
+ ...(groups.length > 0 ? ["", "Change groups:", ...formatDiffGroups(groups.slice(0, 12))] : []),
53
+ "",
54
+ ...(changedSymbols.length > 0
55
+ ? [
56
+ "Changed symbols:",
57
+ ...changedSymbols
58
+ .slice(0, 20)
59
+ .map((entry) => `- ${entry.symbol.qualifiedName} (${entry.symbol.kind}) at ${entry.symbol.path}:${entry.symbol.range?.startLine ?? 1}`)
60
+ ]
61
+ : []),
62
+ ...formatTestRecommendations(tests.slice(0, 30)),
63
+ ...(outcomeLearning.length > 0 ? ["", "Outcome learning:", ...formatOutcomeLearningRecommendations(outcomeLearning)] : []),
64
+ "",
65
+ "If run, these commands would cover:",
66
+ ...formatVerificationCoverage(verificationCoverage),
67
+ "",
68
+ "Verification ledger preview if recommended commands are run:",
69
+ ...formatVerificationLedger(verificationLedgerPreview),
70
+ ...(unindexedChanged.length > 0 ? ["", "Changed but not indexed:", ...unindexedChanged.slice(0, 20).map((file) => `- ${file}`)] : []),
71
+ "",
72
+ "Known gaps:",
73
+ ...formatGaps(gaps),
74
+ ...(worktree ? worktreeStateText(worktree) : [])
75
+ ].join("\n")
76
+ : [
77
+ freshnessBanner(freshness, refresh),
78
+ noScopeTestPlanMessage({ explicitTargetsProvided, worktreeDegraded: worktree?.degraded ?? false }),
79
+ "",
80
+ "Next action:",
81
+ "- Pass target files or make a code change before asking Codexa for targeted verification.",
82
+ "",
83
+ "Known gaps:",
84
+ ...formatGaps(gaps),
85
+ ...(worktree ? worktreeStateText(worktree) : [])
86
+ ].join("\n");
69
87
  return {
70
88
  freshness,
71
89
  refresh,
72
90
  text: limitText(text, 6000),
73
91
  data: {
74
92
  mode: "test_plan",
93
+ actionability,
94
+ targetFiles: explicitTargets.files.slice(0, 120),
95
+ unindexedTargetFiles: explicitTargets.unindexed.slice(0, 120),
96
+ rejectedTargetFiles: explicitTargets.rejected.slice(0, 120),
75
97
  changedFiles: changed.slice(0, 120),
76
98
  changedEntries: changedEntries.slice(0, 120),
77
99
  changedSymbols: changedSymbols.slice(0, 80).map(compactChangedSymbol),
@@ -92,6 +114,64 @@ export async function testPlanQuery(input, diff = true, options = {}) {
92
114
  }
93
115
  };
94
116
  }
117
+ function noScopeTestPlanMessage(input) {
118
+ if (input.explicitTargetsProvided) {
119
+ return "No targeted test plan: supplied target files were invalid or are not indexed.";
120
+ }
121
+ if (input.worktreeDegraded) {
122
+ return "No targeted test plan: worktree state is unknown and no target files were supplied.";
123
+ }
124
+ return "No targeted test plan: no current diff and no target files supplied.";
125
+ }
126
+ function resolveTargetFiles(rawFiles, repoRoot, indexedPaths) {
127
+ const files = [];
128
+ const unindexed = [];
129
+ const rejected = [];
130
+ for (const raw of rawFiles ?? []) {
131
+ const normalized = normalizeTargetFile(raw, repoRoot);
132
+ if (!normalized) {
133
+ rejected.push(raw);
134
+ continue;
135
+ }
136
+ if (indexedPaths.has(normalized)) {
137
+ files.push(normalized);
138
+ }
139
+ else {
140
+ unindexed.push(normalized);
141
+ }
142
+ }
143
+ const uniqueFiles = uniqueInOrder(files);
144
+ const uniqueUnindexed = uniqueInOrder(unindexed);
145
+ const uniqueRejected = uniqueInOrder(rejected);
146
+ const gaps = [
147
+ uniqueUnindexed.length > 0 ? `target files not indexed: ${uniqueUnindexed.slice(0, 5).join(", ")}${uniqueUnindexed.length > 5 ? ", ..." : ""}` : undefined,
148
+ uniqueRejected.length > 0 ? `target files rejected: ${uniqueRejected.slice(0, 5).join(", ")}${uniqueRejected.length > 5 ? ", ..." : ""}` : undefined
149
+ ].filter((gap) => Boolean(gap));
150
+ return { files: uniqueFiles, unindexed: uniqueUnindexed, rejected: uniqueRejected, gaps };
151
+ }
152
+ function normalizeTargetFile(raw, repoRoot) {
153
+ const value = raw.trim();
154
+ if (!value || /[\x00-\x1f\x7f]/u.test(value) || value.includes("\\") || path.win32.isAbsolute(value)) {
155
+ return undefined;
156
+ }
157
+ const absolute = path.resolve(repoRoot, value);
158
+ const relative = normalizePath(path.relative(repoRoot, absolute));
159
+ if (!relative || relative === "." || relative.startsWith("../") || path.isAbsolute(relative)) {
160
+ return undefined;
161
+ }
162
+ return relative;
163
+ }
164
+ function uniqueInOrder(values) {
165
+ const seen = new Set();
166
+ const result = [];
167
+ for (const value of values) {
168
+ if (!seen.has(value)) {
169
+ seen.add(value);
170
+ result.push(value);
171
+ }
172
+ }
173
+ return result;
174
+ }
95
175
  function markLedgerAsPreview(ledger) {
96
176
  return ledger.map((entry) => entry.status === "covered"
97
177
  ? {
@@ -1 +1 @@
1
- {"version":3,"file":"test-plan.js","sourceRoot":"","sources":["../../src/query/test-plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-plan.js","sourceRoot":"","sources":["../../src/query/test-plan.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAA0B,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,oCAAoC,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC7I,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnH,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAOtD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAwB,EAAE,IAAI,GAAG,IAAI,EAAE,UAA2B,EAAE;IACtG,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACxD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,MAAM,cAAc,GAAG,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;IACtC,MAAM,cAAc,GAAG,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC;IAC/C,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAClF,MAAM,uBAAuB,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IACtH,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;IACxF,MAAM,IAAI,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAAE,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3I,MAAM,UAAU,GAAe,OAAO,CAAC,UAAU,IAAI,SAAS,CAAC;IAC/D,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrG,MAAM,eAAe,GAAG,8BAA8B,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,oBAAoB,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnI,MAAM,mBAAmB,GAAG,6BAA6B,CAAC;QACxD,KAAK;QACL,KAAK;QACL,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,oBAAoB;QACjC,QAAQ;KACT,CAAC,CAAC;IACH,MAAM,mBAAmB,GAAG,6BAA6B,CAAC;QACxD,KAAK;QACL,KAAK;QACL,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,EAAE;QACf,QAAQ;KACT,CAAC,CAAC;IACH,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,QAAQ,CAAC;IAC1D,MAAM,WAAW,GAAG,uBAAuB,CAAC,oBAAoB,CAAC,CAAC;IAClE,MAAM,yBAAyB,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAClF,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC;IACzE,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC;QACjC,CAAC,CAAC;YACE,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC;YACnC,iBAAiB,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,gBAAgB,GAAG;YAC3I,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,eAAe,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9F,EAAE;YACF,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;gBAC3B,CAAC,CAAC;oBACE,kBAAkB;oBAClB,GAAG,cAAc;yBACd,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;yBACZ,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,aAAa,KAAK,KAAK,CAAC,MAAM,CAAC,IAAI,QAAQ,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,EAAE,CAAC;iBAC1I;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,yBAAyB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChD,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,mBAAmB,EAAE,GAAG,oCAAoC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1H,EAAE;YACF,qCAAqC;YACrC,GAAG,0BAA0B,CAAC,oBAAoB,CAAC;YACnD,EAAE;YACF,8DAA8D;YAC9D,GAAG,wBAAwB,CAAC,yBAAyB,CAAC;YACtD,GAAG,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,0BAA0B,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrI,EAAE;YACF,aAAa;YACb,GAAG,UAAU,CAAC,IAAI,CAAC;YACnB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACjD,CAAC,IAAI,CAAC,IAAI,CAAC;QACd,CAAC,CAAC;YACE,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC;YACnC,sBAAsB,CAAC,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,IAAI,KAAK,EAAE,CAAC;YAClG,EAAE;YACF,cAAc;YACd,2FAA2F;YAC3F,EAAE;YACF,aAAa;YACb,GAAG,UAAU,CAAC,IAAI,CAAC;YACnB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACjD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,OAAO;QACL,SAAS;QACT,OAAO;QACP,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC;QAC3B,IAAI,EAAE;YACJ,IAAI,EAAE,WAAW;YACjB,aAAa;YACb,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YAChD,oBAAoB,EAAE,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YAC7D,mBAAmB,EAAE,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YAC3D,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YACnC,cAAc,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YAC5C,cAAc,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;YACrE,gBAAgB,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAC/C,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YAC/D,0BAA0B,EAAE,QAAQ,EAAE,eAAe,IAAI,EAAE;YAC3D,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACjD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACzB,eAAe;YACf,oBAAoB,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACvD,oBAAoB,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACrD,gBAAgB,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACjE,uBAAuB,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACjD,yBAAyB,EAAE,yBAAyB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACjE,sBAAsB,EAAE,+BAA+B;YACvD,WAAW,EAAE,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAC7D,IAAI;SACL;KACF,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAsE;IACpG,IAAI,KAAK,CAAC,uBAAuB,EAAE,CAAC;QAClC,OAAO,+EAA+E,CAAC;IACzF,CAAC;IACD,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC3B,OAAO,qFAAqF,CAAC;IAC/F,CAAC;IACD,OAAO,sEAAsE,CAAC;AAChF,CAAC;AAED,SAAS,kBAAkB,CACzB,QAA8B,EAC9B,QAAgB,EAChB,YAAyB;IAEzB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,eAAe,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG;QACX,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,6BAA6B,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS;QAC1J,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS;KACrJ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;AAC5F,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW,EAAE,QAAgB;IACxD,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,CAAC,KAAK,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACrG,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClE,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7F,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CAAC,MAAgB;IACrC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAiC;IAC5D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1B,KAAK,CAAC,MAAM,KAAK,SAAS;QACxB,CAAC,CAAC;YACE,GAAG,KAAK;YACR,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB,IAAI,EAAE,CAAC;SACtE;QACH,CAAC,CAAC,KAAK,CACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { AutoVerifyReportRunner } from "../autoverify.js";
2
+ import type { VerificationCommandEnvelope, VerificationCommandReport, VerificationCoverage, VerificationLedgerEntry } from "../types.js";
3
+ export type DisplayCommandReport = VerificationCommandReport & {
4
+ runner?: AutoVerifyReportRunner;
5
+ };
6
+ export declare function sanitizeCommandReportForDisplay<T extends DisplayCommandReport>(report: T, repoRoot: string): T;
7
+ export declare function sanitizeCommandEnvelopeForDisplay(envelope: VerificationCommandEnvelope, repoRoot: string): VerificationCommandEnvelope;
8
+ export declare function sanitizeCoverageForDisplay(entry: VerificationCoverage, repoRoot: string): VerificationCoverage;
9
+ export declare function sanitizeLedgerForDisplay(entry: VerificationLedgerEntry, repoRoot: string): VerificationLedgerEntry;
10
+ export declare function sanitizeCommandText(value: string, repoRoot: string): string;
11
+ export declare function sanitizeSummary(value: string | undefined, repoRoot: string): string | undefined;
12
+ export declare function sanitizePathField(value: string | undefined, repoRoot: string): string | undefined;
@@ -0,0 +1,150 @@
1
+ import path from "node:path";
2
+ export function sanitizeCommandReportForDisplay(report, repoRoot) {
3
+ return {
4
+ ...report,
5
+ command: sanitizeCommandText(report.command, repoRoot),
6
+ cwd: sanitizePathField(report.cwd, repoRoot),
7
+ packageManager: sanitizeSummary(report.packageManager, repoRoot),
8
+ workspace: sanitizeSummary(report.workspace, repoRoot),
9
+ packageRoot: sanitizePathField(report.packageRoot, repoRoot),
10
+ packageName: sanitizeSummary(report.packageName, repoRoot),
11
+ scriptName: sanitizeSummary(report.scriptName, repoRoot),
12
+ stdoutSummary: sanitizeSummary(report.stdoutSummary, repoRoot),
13
+ stderrSummary: sanitizeSummary(report.stderrSummary, repoRoot),
14
+ outputSummary: sanitizeSummary(report.outputSummary, repoRoot),
15
+ args: sanitizeCommandArgs(report.args, repoRoot),
16
+ runner: sanitizeRunnerForDisplay(report.runner, repoRoot)
17
+ };
18
+ }
19
+ export function sanitizeCommandEnvelopeForDisplay(envelope, repoRoot) {
20
+ return {
21
+ ...envelope,
22
+ command: sanitizeCommandText(envelope.command, repoRoot),
23
+ cwd: sanitizePathField(envelope.cwd, repoRoot),
24
+ packageManager: sanitizeSummary(envelope.packageManager, repoRoot),
25
+ workspace: sanitizeSummary(envelope.workspace, repoRoot),
26
+ packageRoot: sanitizePathField(envelope.packageRoot, repoRoot),
27
+ packageName: sanitizeSummary(envelope.packageName, repoRoot),
28
+ scriptName: sanitizeSummary(envelope.scriptName, repoRoot),
29
+ stdoutSummary: sanitizeSummary(envelope.stdoutSummary, repoRoot),
30
+ stderrSummary: sanitizeSummary(envelope.stderrSummary, repoRoot),
31
+ outputSummary: sanitizeSummary(envelope.outputSummary, repoRoot),
32
+ args: sanitizeCommandArgs(envelope.args, repoRoot) ?? []
33
+ };
34
+ }
35
+ export function sanitizeCoverageForDisplay(entry, repoRoot) {
36
+ return {
37
+ ...entry,
38
+ command: sanitizeCommandText(entry.command, repoRoot),
39
+ source: sanitizeSummary(entry.source, repoRoot) ?? entry.source,
40
+ scope: sanitizePathField(entry.scope, repoRoot),
41
+ targetPath: sanitizePathField(entry.targetPath, repoRoot),
42
+ details: entry.details.map((detail) => sanitizeSummary(detail, repoRoot) ?? "").filter(Boolean),
43
+ outputSummary: sanitizeSummary(entry.outputSummary, repoRoot),
44
+ commandEnvelope: entry.commandEnvelope ? sanitizeCommandEnvelopeForDisplay(entry.commandEnvelope, repoRoot) : undefined
45
+ };
46
+ }
47
+ export function sanitizeLedgerForDisplay(entry, repoRoot) {
48
+ return {
49
+ ...entry,
50
+ command: entry.command ? sanitizeCommandText(entry.command, repoRoot) : undefined,
51
+ evidence: entry.evidence.map((item) => sanitizeSummary(item, repoRoot) ?? "").filter(Boolean)
52
+ };
53
+ }
54
+ export function sanitizeCommandText(value, repoRoot) {
55
+ return sanitizeSummary(value, repoRoot) ?? "";
56
+ }
57
+ export function sanitizeSummary(value, repoRoot) {
58
+ const clean = redactSecretText(value)
59
+ ?.replaceAll(repoRoot, "<repo>")
60
+ .replace(/__outside_repo__:[^\s;|)]+/gu, "__outside_repo__:<outside-repo>")
61
+ .replace(/(^|[\s([,{])\/[^\s;|)\]'",]+/gu, "$1<abs-path>")
62
+ .replace(/(^|[\s([,{])(?:\.\.?\/)[^\s;|)\]'",]+/gu, "$1<rel-path>")
63
+ .replace(/\s+/gu, " ")
64
+ .trim();
65
+ if (!clean) {
66
+ return undefined;
67
+ }
68
+ return clean.length > 500 ? `${clean.slice(0, 497)}...` : clean;
69
+ }
70
+ export function sanitizePathField(value, repoRoot) {
71
+ if (!value) {
72
+ return undefined;
73
+ }
74
+ if (value.startsWith("__outside_repo__:")) {
75
+ return "__outside_repo__:<outside-repo>";
76
+ }
77
+ if (value === "." || value === "./") {
78
+ return ".";
79
+ }
80
+ if (value === ".." || value.startsWith("../")) {
81
+ return "<outside-repo>";
82
+ }
83
+ if (value.startsWith("./")) {
84
+ const relative = normalizePathLike(value);
85
+ return relative === "." ? "." : `<repo>/${relative}`;
86
+ }
87
+ if (path.isAbsolute(value)) {
88
+ const relative = path.relative(repoRoot, value);
89
+ if (relative === "") {
90
+ return "<repo>";
91
+ }
92
+ return !relative.startsWith("..") && !path.isAbsolute(relative) ? `<repo>/${relative.split(path.sep).join("/")}` : "<outside-repo>";
93
+ }
94
+ return sanitizeSummary(value, repoRoot);
95
+ }
96
+ function sanitizeRunnerForDisplay(runner, repoRoot) {
97
+ if (!runner) {
98
+ return undefined;
99
+ }
100
+ return {
101
+ ...runner,
102
+ cwdRealpath: sanitizePathField(runner.cwdRealpath, repoRoot) ?? runner.cwdRealpath,
103
+ targetRealpaths: runner.targetRealpaths.map((target) => sanitizePathField(target, repoRoot) ?? target),
104
+ allowedBy: runner.allowedBy.map((reason) => sanitizeSummary(reason, repoRoot) ?? reason),
105
+ skippedReason: sanitizeSummary(runner.skippedReason, repoRoot)
106
+ };
107
+ }
108
+ function sanitizeCommandArgs(args, repoRoot) {
109
+ if (!args) {
110
+ return undefined;
111
+ }
112
+ let redactNext = false;
113
+ return args.map((arg) => {
114
+ if (redactNext) {
115
+ redactNext = false;
116
+ return "<redacted>";
117
+ }
118
+ if (isSecretFlag(arg) && !arg.includes("=")) {
119
+ redactNext = true;
120
+ return sanitizeSummary(arg, repoRoot) ?? "";
121
+ }
122
+ return sanitizeSummary(redactSecretArg(arg), repoRoot) ?? "";
123
+ });
124
+ }
125
+ function redactSecretText(value) {
126
+ return value
127
+ ?.replace(/(^|[\s([,{])((?:--?[a-z0-9-]*(?:token|secret|password|passwd|pwd|api[-_]?key|access[-_]?key|auth|credential|cookie)[a-z0-9-]*)(?:=|\s+))([^\s;|)\]'",]+)/giu, "$1$2<redacted>")
128
+ .replace(/(\b[A-Z_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|PWD|API_?KEY|ACCESS_?KEY|AUTH|CREDENTIAL|COOKIE)[A-Z0-9_]*=)([^\s;|)\]'",]+)/gu, "$1<redacted>")
129
+ .replace(/\b(Bearer)\s+[A-Za-z0-9._~+/-]+=*/giu, "$1 <redacted>");
130
+ }
131
+ function redactSecretArg(value) {
132
+ if (/^Bearer\s+/iu.test(value)) {
133
+ return "Bearer <redacted>";
134
+ }
135
+ if (isSecretFlag(value) && value.includes("=")) {
136
+ return value.replace(/=.*/u, "=<redacted>");
137
+ }
138
+ if (/^(?:[A-Z_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|PWD|API_?KEY|ACCESS_?KEY|AUTH|CREDENTIAL|COOKIE)[A-Z0-9_]*)=/iu.test(value)) {
139
+ return value.replace(/=.*/u, "=<redacted>");
140
+ }
141
+ return value;
142
+ }
143
+ function isSecretFlag(value) {
144
+ return /^--?[a-z0-9-]*(?:token|secret|password|passwd|pwd|api-?key|access-?key|auth|credential|cookie)[a-z0-9-]*(?:=.*)?$/iu.test(value);
145
+ }
146
+ function normalizePathLike(value) {
147
+ const normalized = value.replace(/\\/gu, "/");
148
+ return normalized.startsWith("./") ? normalized.slice(2) || "." : normalized;
149
+ }
150
+ //# sourceMappingURL=verification-display.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification-display.js","sourceRoot":"","sources":["../../src/query/verification-display.ts"],"names":[],"mappings":"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"}