@promptci/core 0.0.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +29 -30
  3. package/dist/action-pinning.d.ts +37 -0
  4. package/dist/action-pinning.d.ts.map +1 -0
  5. package/dist/action-pinning.js +277 -0
  6. package/dist/action-pinning.js.map +1 -0
  7. package/dist/agent-practices.d.ts +3 -1
  8. package/dist/agent-practices.d.ts.map +1 -1
  9. package/dist/agent-practices.js +198 -94
  10. package/dist/agent-practices.js.map +1 -1
  11. package/dist/ai-config.d.ts +178 -0
  12. package/dist/ai-config.d.ts.map +1 -0
  13. package/dist/ai-config.js +721 -0
  14. package/dist/ai-config.js.map +1 -0
  15. package/dist/alias-files.d.ts +33 -0
  16. package/dist/alias-files.d.ts.map +1 -0
  17. package/dist/alias-files.js +60 -0
  18. package/dist/alias-files.js.map +1 -0
  19. package/dist/baseline.d.ts +17 -1
  20. package/dist/baseline.d.ts.map +1 -1
  21. package/dist/baseline.js +5 -1
  22. package/dist/baseline.js.map +1 -1
  23. package/dist/buried-critical.d.ts +17 -0
  24. package/dist/buried-critical.d.ts.map +1 -0
  25. package/dist/buried-critical.js +107 -0
  26. package/dist/buried-critical.js.map +1 -0
  27. package/dist/canonical-owner.d.ts.map +1 -1
  28. package/dist/canonical-owner.js +60 -30
  29. package/dist/canonical-owner.js.map +1 -1
  30. package/dist/ci-alignment.d.ts.map +1 -1
  31. package/dist/ci-alignment.js +3 -2
  32. package/dist/ci-alignment.js.map +1 -1
  33. package/dist/command-validity.d.ts +16 -0
  34. package/dist/command-validity.d.ts.map +1 -1
  35. package/dist/command-validity.js +387 -134
  36. package/dist/command-validity.js.map +1 -1
  37. package/dist/conflicts.d.ts.map +1 -1
  38. package/dist/conflicts.js +4 -44
  39. package/dist/conflicts.js.map +1 -1
  40. package/dist/context-analysis.d.ts.map +1 -1
  41. package/dist/context-analysis.js +13 -2
  42. package/dist/context-analysis.js.map +1 -1
  43. package/dist/context-bloat.d.ts +20 -1
  44. package/dist/context-bloat.d.ts.map +1 -1
  45. package/dist/context-bloat.js +99 -15
  46. package/dist/context-bloat.js.map +1 -1
  47. package/dist/context-optimizer.d.ts.map +1 -1
  48. package/dist/context-optimizer.js +18 -54
  49. package/dist/context-optimizer.js.map +1 -1
  50. package/dist/copilot-instructions-detector.d.ts +24 -0
  51. package/dist/copilot-instructions-detector.d.ts.map +1 -0
  52. package/dist/copilot-instructions-detector.js +145 -0
  53. package/dist/copilot-instructions-detector.js.map +1 -0
  54. package/dist/cursor-rules-detector.d.ts +17 -0
  55. package/dist/cursor-rules-detector.d.ts.map +1 -0
  56. package/dist/cursor-rules-detector.js +110 -0
  57. package/dist/cursor-rules-detector.js.map +1 -0
  58. package/dist/custom-rules.d.ts +52 -0
  59. package/dist/custom-rules.d.ts.map +1 -0
  60. package/dist/custom-rules.js +303 -0
  61. package/dist/custom-rules.js.map +1 -0
  62. package/dist/dead-references.d.ts +8 -2
  63. package/dist/dead-references.d.ts.map +1 -1
  64. package/dist/dead-references.js +315 -68
  65. package/dist/dead-references.js.map +1 -1
  66. package/dist/dependency-staleness.d.ts +35 -0
  67. package/dist/dependency-staleness.d.ts.map +1 -0
  68. package/dist/dependency-staleness.js +1001 -0
  69. package/dist/dependency-staleness.js.map +1 -0
  70. package/dist/detectors.d.ts +1 -3
  71. package/dist/detectors.d.ts.map +1 -1
  72. package/dist/detectors.js +74 -56
  73. package/dist/detectors.js.map +1 -1
  74. package/dist/duplicates.d.ts.map +1 -1
  75. package/dist/duplicates.js +15 -9
  76. package/dist/duplicates.js.map +1 -1
  77. package/dist/evidence.d.ts +39 -0
  78. package/dist/evidence.d.ts.map +1 -0
  79. package/dist/evidence.js +78 -0
  80. package/dist/evidence.js.map +1 -0
  81. package/dist/finding-id.d.ts +21 -0
  82. package/dist/finding-id.d.ts.map +1 -0
  83. package/dist/finding-id.js +31 -0
  84. package/dist/finding-id.js.map +1 -0
  85. package/dist/fix-engine.d.ts +11 -0
  86. package/dist/fix-engine.d.ts.map +1 -1
  87. package/dist/fix-engine.js +88 -71
  88. package/dist/fix-engine.js.map +1 -1
  89. package/dist/frameworks/dotnet.js +2 -2
  90. package/dist/frameworks/dotnet.js.map +1 -1
  91. package/dist/frameworks/python.d.ts.map +1 -1
  92. package/dist/frameworks/python.js +5 -2
  93. package/dist/frameworks/python.js.map +1 -1
  94. package/dist/frameworks/rust.d.ts.map +1 -1
  95. package/dist/frameworks/rust.js +2 -1
  96. package/dist/frameworks/rust.js.map +1 -1
  97. package/dist/git-symlinks.d.ts +30 -0
  98. package/dist/git-symlinks.d.ts.map +1 -0
  99. package/dist/git-symlinks.js +161 -0
  100. package/dist/git-symlinks.js.map +1 -0
  101. package/dist/gitignore.d.ts +22 -0
  102. package/dist/gitignore.d.ts.map +1 -0
  103. package/dist/gitignore.js +157 -0
  104. package/dist/gitignore.js.map +1 -0
  105. package/dist/health-score.d.ts.map +1 -1
  106. package/dist/health-score.js +35 -5
  107. package/dist/health-score.js.map +1 -1
  108. package/dist/hooks-settings-detector.d.ts +17 -0
  109. package/dist/hooks-settings-detector.d.ts.map +1 -0
  110. package/dist/hooks-settings-detector.js +228 -0
  111. package/dist/hooks-settings-detector.js.map +1 -0
  112. package/dist/index.d.ts +29 -8
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js +21 -6
  115. package/dist/index.js.map +1 -1
  116. package/dist/makefile.d.ts +37 -0
  117. package/dist/makefile.d.ts.map +1 -0
  118. package/dist/makefile.js +156 -0
  119. package/dist/makefile.js.map +1 -0
  120. package/dist/manifest-consistency.d.ts +6 -0
  121. package/dist/manifest-consistency.d.ts.map +1 -1
  122. package/dist/manifest-consistency.js +75 -10
  123. package/dist/manifest-consistency.js.map +1 -1
  124. package/dist/markdown-fences.d.ts +112 -0
  125. package/dist/markdown-fences.d.ts.map +1 -0
  126. package/dist/markdown-fences.js +174 -0
  127. package/dist/markdown-fences.js.map +1 -0
  128. package/dist/mcp-config-detector.d.ts +20 -0
  129. package/dist/mcp-config-detector.d.ts.map +1 -0
  130. package/dist/mcp-config-detector.js +237 -0
  131. package/dist/mcp-config-detector.js.map +1 -0
  132. package/dist/missing-context.d.ts.map +1 -1
  133. package/dist/missing-context.js +2 -52
  134. package/dist/missing-context.js.map +1 -1
  135. package/dist/model-budgets.d.ts +69 -0
  136. package/dist/model-budgets.d.ts.map +1 -0
  137. package/dist/model-budgets.js +110 -0
  138. package/dist/model-budgets.js.map +1 -0
  139. package/dist/negative-instructions.d.ts +26 -0
  140. package/dist/negative-instructions.d.ts.map +1 -0
  141. package/dist/negative-instructions.js +169 -0
  142. package/dist/negative-instructions.js.map +1 -0
  143. package/dist/path-containment.d.ts +41 -0
  144. package/dist/path-containment.d.ts.map +1 -0
  145. package/dist/path-containment.js +123 -0
  146. package/dist/path-containment.js.map +1 -0
  147. package/dist/project-type.d.ts +12 -2
  148. package/dist/project-type.d.ts.map +1 -1
  149. package/dist/project-type.js +25 -12
  150. package/dist/project-type.js.map +1 -1
  151. package/dist/prompt-cache.d.ts.map +1 -1
  152. package/dist/prompt-cache.js +33 -24
  153. package/dist/prompt-cache.js.map +1 -1
  154. package/dist/promptci-gitignore.d.ts +34 -0
  155. package/dist/promptci-gitignore.d.ts.map +1 -0
  156. package/dist/promptci-gitignore.js +42 -0
  157. package/dist/promptci-gitignore.js.map +1 -0
  158. package/dist/repo-context.d.ts +80 -0
  159. package/dist/repo-context.d.ts.map +1 -1
  160. package/dist/repo-context.js +170 -16
  161. package/dist/repo-context.js.map +1 -1
  162. package/dist/report.d.ts +8 -0
  163. package/dist/report.d.ts.map +1 -1
  164. package/dist/report.js +163 -63
  165. package/dist/report.js.map +1 -1
  166. package/dist/scan.d.ts.map +1 -1
  167. package/dist/scan.js +47 -4
  168. package/dist/scan.js.map +1 -1
  169. package/dist/scanner.d.ts +61 -1
  170. package/dist/scanner.d.ts.map +1 -1
  171. package/dist/scanner.js +367 -70
  172. package/dist/scanner.js.map +1 -1
  173. package/dist/security-pack.d.ts +20 -0
  174. package/dist/security-pack.d.ts.map +1 -1
  175. package/dist/security-pack.js +33 -14
  176. package/dist/security-pack.js.map +1 -1
  177. package/dist/skill-supply-chain.d.ts +132 -0
  178. package/dist/skill-supply-chain.d.ts.map +1 -0
  179. package/dist/skill-supply-chain.js +2954 -0
  180. package/dist/skill-supply-chain.js.map +1 -0
  181. package/dist/skills-detector.d.ts +23 -0
  182. package/dist/skills-detector.d.ts.map +1 -0
  183. package/dist/skills-detector.js +279 -0
  184. package/dist/skills-detector.js.map +1 -0
  185. package/dist/stale-instructions.d.ts +4 -1
  186. package/dist/stale-instructions.d.ts.map +1 -1
  187. package/dist/stale-instructions.js +53 -55
  188. package/dist/stale-instructions.js.map +1 -1
  189. package/dist/subagents-detector.d.ts +19 -0
  190. package/dist/subagents-detector.d.ts.map +1 -0
  191. package/dist/subagents-detector.js +155 -0
  192. package/dist/subagents-detector.js.map +1 -0
  193. package/dist/suppression.d.ts +2 -0
  194. package/dist/suppression.d.ts.map +1 -1
  195. package/dist/suppression.js +16 -47
  196. package/dist/suppression.js.map +1 -1
  197. package/dist/types.d.ts +62 -4
  198. package/dist/types.d.ts.map +1 -1
  199. package/dist/types.js +47 -1
  200. package/dist/types.js.map +1 -1
  201. package/dist/vague-guidance.d.ts +15 -2
  202. package/dist/vague-guidance.d.ts.map +1 -1
  203. package/dist/vague-guidance.js +44 -41
  204. package/dist/vague-guidance.js.map +1 -1
  205. package/dist/windsurf-detector.d.ts +22 -0
  206. package/dist/windsurf-detector.d.ts.map +1 -0
  207. package/dist/windsurf-detector.js +96 -0
  208. package/dist/windsurf-detector.js.map +1 -0
  209. package/dist/within-section-dedup.d.ts +16 -0
  210. package/dist/within-section-dedup.d.ts.map +1 -0
  211. package/dist/within-section-dedup.js +148 -0
  212. package/dist/within-section-dedup.js.map +1 -0
  213. package/dist/workspace-manifests.d.ts +80 -0
  214. package/dist/workspace-manifests.d.ts.map +1 -0
  215. package/dist/workspace-manifests.js +333 -0
  216. package/dist/workspace-manifests.js.map +1 -0
  217. package/package.json +11 -8
  218. package/dist/cheap-model-routing.d.ts +0 -4
  219. package/dist/cheap-model-routing.d.ts.map +0 -1
  220. package/dist/cheap-model-routing.js +0 -43
  221. package/dist/cheap-model-routing.js.map +0 -1
  222. package/dist/cli-output-filter.d.ts +0 -16
  223. package/dist/cli-output-filter.d.ts.map +0 -1
  224. package/dist/cli-output-filter.js +0 -88
  225. package/dist/cli-output-filter.js.map +0 -1
  226. package/dist/context-cost.d.ts +0 -4
  227. package/dist/context-cost.d.ts.map +0 -1
  228. package/dist/context-cost.js +0 -70
  229. package/dist/context-cost.js.map +0 -1
  230. package/dist/context-recommender.d.ts +0 -3
  231. package/dist/context-recommender.d.ts.map +0 -1
  232. package/dist/context-recommender.js +0 -329
  233. package/dist/context-recommender.js.map +0 -1
  234. package/dist/llm.d.ts +0 -6
  235. package/dist/llm.d.ts.map +0 -1
  236. package/dist/llm.js +0 -67
  237. package/dist/llm.js.map +0 -1
  238. package/dist/mcp-detector.d.ts +0 -4
  239. package/dist/mcp-detector.d.ts.map +0 -1
  240. package/dist/mcp-detector.js +0 -131
  241. package/dist/mcp-detector.js.map +0 -1
  242. package/dist/native-tool-preference.d.ts +0 -20
  243. package/dist/native-tool-preference.d.ts.map +0 -1
  244. package/dist/native-tool-preference.js +0 -94
  245. package/dist/native-tool-preference.js.map +0 -1
  246. package/dist/output-verbosity.d.ts +0 -3
  247. package/dist/output-verbosity.d.ts.map +0 -1
  248. package/dist/output-verbosity.js +0 -83
  249. package/dist/output-verbosity.js.map +0 -1
  250. package/dist/product-boundary.d.ts +0 -11
  251. package/dist/product-boundary.d.ts.map +0 -1
  252. package/dist/product-boundary.js +0 -301
  253. package/dist/product-boundary.js.map +0 -1
@@ -20,6 +20,10 @@
20
20
  import * as crypto from 'node:crypto';
21
21
  import * as fs from 'node:fs';
22
22
  import * as path from 'node:path';
23
+ import { buildCodeMask } from './markdown-fences.js';
24
+ import { fileIdPath } from './finding-id.js';
25
+ import { BUN_BUILTINS, analyzeCommands } from './command-validity.js';
26
+ import { anyWorkspaceHasScript, isKnownBinary } from './workspace-manifests.js';
23
27
  // ── Helpers ───────────────────────────────────────────────────────────────────
24
28
  function issueId(key) {
25
29
  const hash = crypto.createHash('sha1').update(key).digest('hex').slice(0, 12);
@@ -108,7 +112,7 @@ function checkPythonVersionMismatch(files, pyprojectContent) {
108
112
  continue;
109
113
  reported.add(dedupeKey);
110
114
  issues.push({
111
- id: issueId(`python-version:${file.path}:${instrVersion}`),
115
+ id: issueId(`python-version:${fileIdPath(file)}:${instrVersion}`),
112
116
  severity: 'high',
113
117
  category: 'stale_instruction',
114
118
  title: `Python version mismatch: instruction says ${instrVersion}, pyproject.toml requires ≥${manifestVersion}`,
@@ -228,7 +232,7 @@ function checkLibraryVersionMismatch(files, pyprojectContent) {
228
232
  continue;
229
233
  reported.add(dedupeKey);
230
234
  issues.push({
231
- id: issueId(`library-version:${file.path}:${library}:${instructionVersion}`),
235
+ id: issueId(`library-version:${fileIdPath(file)}:${library}:${instructionVersion}`),
232
236
  severity: 'high',
233
237
  category: 'stale_instruction',
234
238
  title: `${displayName} version mismatch: instruction says ${instructionVersion}, ` +
@@ -324,7 +328,7 @@ function checkJsLibraryVersionMismatch(files, packageJsonContent) {
324
328
  continue;
325
329
  reported.add(dedupeKey);
326
330
  issues.push({
327
- id: issueId(`js-library-version:${file.path}:${library}:${instructionVersion}`),
331
+ id: issueId(`js-library-version:${fileIdPath(file)}:${library}:${instructionVersion}`),
328
332
  severity: 'high',
329
333
  category: 'stale_instruction',
330
334
  title: `${displayName} version mismatch: instruction says ${instructionVersion}, ` +
@@ -440,32 +444,73 @@ function checkMissingScripts(context) {
440
444
  // MF2: '_' was excluded from the script-name char class, so `pnpm build_all`
441
445
  // could never match at all (the regex has nowhere to complete once it hits
442
446
  // the underscore) — always silently skipped, never validated.
443
- const SCRIPT_RUN_RE = /\b(?:npm|yarn|pnpm|bun)\s+(?:run\s+)?([a-z0-9][a-z0-9:_-]*)\b/gi;
447
+ // MF4: `run` is captured rather than skipped, so an explicit `npm run <name>`
448
+ // can be told apart from a bare `pnpm <token>` — the latter needs code
449
+ // context before it counts as an invocation.
450
+ const SCRIPT_RUN_RE = /\b(npm|yarn|pnpm|bun)\s+(run(?:-script)?\s+)?([a-z0-9][a-z0-9:_-]*)\b/gi;
451
+ // Only the scope that governs THIS command counts: a `cd <dir> &&` chained
452
+ // directly before it, or a workspace/directory flag later in the same command
453
+ // (`npm run build -w web`). A `-r` or `cd` belonging to an earlier command on
454
+ // the line says nothing about this one.
455
+ const CD_CHAIN_BEFORE_RE = /\bcd\s+\S+\s*&&\s*(?:[^&;|\n]*&&\s*)*$/;
456
+ const SCOPE_FLAG_RE = /(?:^|\s)(?:--filter\b|-F\b|--cwd\b|-C\b|--prefix\b|--dir\b|-w\b|--workspaces?\b|-ws\b|-r\b|--recursive\b)/;
457
+ const isScopedInvocation = (content, matchStart, matchEnd) => {
458
+ const lineStart = content.lastIndexOf('\n', matchStart - 1) + 1;
459
+ if (CD_CHAIN_BEFORE_RE.test(content.slice(lineStart, matchStart)))
460
+ return true;
461
+ const newline = content.indexOf('\n', matchEnd);
462
+ const after = content.slice(matchEnd, newline === -1 ? undefined : newline);
463
+ return SCOPE_FLAG_RE.test(after.split(/&&|\|\||;|\||`|,\s|\.\s|\bthen\b/)[0]);
464
+ };
444
465
  const reported = new Set();
445
466
  // MF1: skip list was missing common built-in subcommands/prose verbs, so
446
467
  // "npm ci" reported a missing script "ci", and bare "pnpm run" (prose, no
447
468
  // actual script name following it) reported a missing script "run".
448
469
  const SKIP_SUBCOMMANDS = new Set([
449
470
  'install', 'add', 'remove', 'init', 'test', 'start', 'stop', 'restart',
450
- 'exec', 'dlx', 'i', 'help', 'run', 'ci', 'audit', 'update', 'outdated',
451
- 'publish', 'create', 'link', 'why', 'workspace', 'workspaces',
471
+ 'exec', 'dlx', 'i', 'help', 'run', 'run-script', 'ci', 'audit', 'update',
472
+ 'outdated', 'publish', 'create', 'link', 'why', 'workspace', 'workspaces',
452
473
  'store', 'ls', 'list', 'pack', 'unlink', 'uninstall', 'up', 'prune',
453
- 'package', 'packages', 'project', 'repo', 'repository',
474
+ 'package', 'packages', 'project', 'repo', 'repository', 'version',
454
475
  ]);
455
476
  const ENGLISH_FILLER_WORDS = new Set([
456
477
  'instead', 'of', 'packages', 'package', 'scripts', 'script', 'ecosystem',
457
478
  'are', 'is', 'the', 'a', 'an', 'that', 'this', 'for', 'to', 'and', 'or',
458
479
  'not', 'with', 'without', 'via', 'because', 'since', 'before', 'after',
459
480
  'than', 'as', 'like', 'but', 'so',
481
+ // MF4: determiners and pronouns that can follow an explicit `run` in prose
482
+ // ("you can pnpm run any of the scripts below").
483
+ 'any', 'all', 'each', 'every', 'either', 'both', 'one', 'it', 'them',
484
+ 'these', 'those', 'my', 'our', 'your', 'their', 'its',
460
485
  ]);
486
+ // One command -> at most one finding. command-validity resolves `cd`/`--filter`/
487
+ // workspace scoping for every command it extracts; whatever it evaluated is
488
+ // its to report, so this check only speaks for mentions it never parsed
489
+ // (plain prose such as "then run npm run build").
490
+ const commandAnalysis = analyzeCommands(context);
461
491
  for (const file of files) {
492
+ const codeMask = buildCodeMask(file.content);
493
+ const evaluatedByCommandValidity = commandAnalysis.evaluatedScripts.get(file.path);
462
494
  let match;
463
495
  const re = new RegExp(SCRIPT_RUN_RE.source, SCRIPT_RUN_RE.flags);
464
496
  while ((match = re.exec(file.content)) !== null) {
465
- const scriptName = match[1];
497
+ const packageManager = match[1].toLowerCase();
498
+ const explicitRun = match[2] !== undefined;
499
+ const scriptName = match[3];
466
500
  if (scriptName.startsWith('-')) {
467
501
  continue;
468
502
  }
503
+ // MF4: "Node.js 22+, pnpm 9+" is a version requirement, not a script
504
+ // named "9" — no package.json script starts with a digit in practice.
505
+ if (/^[0-9]/.test(scriptName)) {
506
+ continue;
507
+ }
508
+ // MF4: outside a code span or fenced block, `<pm> <word>` is ordinary
509
+ // prose ("consumed from the npm registry", "this is an npm package").
510
+ // Only the explicit `run` form reads as an invocation there.
511
+ if (!explicitRun && !codeMask[match.index]) {
512
+ continue;
513
+ }
469
514
  // Skip common standard subcommands that aren't necessarily scripts
470
515
  if (SKIP_SUBCOMMANDS.has(scriptName)) {
471
516
  continue;
@@ -473,13 +518,33 @@ function checkMissingScripts(context) {
473
518
  if (ENGLISH_FILLER_WORDS.has(scriptName.toLowerCase())) {
474
519
  continue;
475
520
  }
521
+ if (packageManager === 'bun' && !explicitRun && BUN_BUILTINS.has(scriptName)) {
522
+ continue;
523
+ }
476
524
  if (!availableScripts.has(scriptName)) {
525
+ // This exact occurrence was already judged by command-validity.
526
+ if (evaluatedByCommandValidity?.size) {
527
+ const line = file.content.slice(0, match.index).split('\n').length;
528
+ if (evaluatedByCommandValidity.has(`${line}:${scriptName}`))
529
+ continue;
530
+ }
531
+ // A script defined by a workspace package (monorepo) is runnable via
532
+ // `--filter`/`-r`/`cd`; the root manifest is not the only place to look.
533
+ if (anyWorkspaceHasScript(context, scriptName))
534
+ continue;
535
+ // `pnpm vitest run` / `yarn tsc`: not a script, an installed binary.
536
+ // (`npm run` and `pnpm run` accept scripts only.)
537
+ const scriptsOnly = explicitRun && (packageManager === 'npm' || packageManager === 'pnpm');
538
+ if (!scriptsOnly && isKnownBinary(context, scriptName))
539
+ continue;
540
+ if (isScopedInvocation(file.content, match.index, match.index + match[0].length))
541
+ continue;
477
542
  const dedupeKey = `${file.path}:${scriptName}`;
478
543
  if (reported.has(dedupeKey))
479
544
  continue;
480
545
  reported.add(dedupeKey);
481
546
  issues.push({
482
- id: `manifest-missing-script:${file.path}:${scriptName}`,
547
+ id: `manifest-missing-script:${fileIdPath(file)}:${scriptName}`,
483
548
  severity: 'warning',
484
549
  category: 'stale_instruction',
485
550
  title: `Reference to missing script: "${scriptName}"`,
@@ -530,7 +595,7 @@ function checkNodeVersionMismatch(context) {
530
595
  continue;
531
596
  reported.add(dedupeKey);
532
597
  issues.push({
533
- id: `manifest-node-version-mismatch:${file.path}:${instrVersion}`,
598
+ id: `manifest-node-version-mismatch:${fileIdPath(file)}:${instrVersion}`,
534
599
  severity: 'warning',
535
600
  category: 'stale_instruction',
536
601
  title: `Node.js version mismatch: instruction says ${instrVersion}, project requires ≥${minNodeVersion}`,
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-consistency.js","sourceRoot":"","sources":["../src/manifest-consistency.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAalC,iFAAiF;AAEjF,SAAS,OAAO,CAAC,GAAW;IAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9E,OAAO,YAAY,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,iFAAiF;AAEjF;;;;GAIG;AACH,SAAS,gBAAgB,CACvB,KAAwB,EACxB,gBAAwB,EACxB,QAAgB;IAEhB,MAAM,QAAQ,GACZ,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC;QACzC,iDAAiD,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC3E,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,6EAA6E;IAC7E,mFAAmF;IACnF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAC3D,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAE3C,MAAM,2BAA2B,GAAG,yCAAyC,CAAC;IAC9E,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACxF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE7C,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,eAAe,CAAC;QAC5B,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,gEAAgE;QACvE,OAAO,EACL,sFAAsF;YACtF,yFAAyF;YACzF,gEAAgE;QAClE,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5C,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,QAAQ,EAAE;YACR,gEAAgE;YAChE,oDAAoD;YACpD,6CAA6C;SAC9C;QACD,cAAc,EACZ,+DAA+D;YAC/D,qEAAqE;YACrE,yDAAyD;QAC3D,UAAU,EAAE,GAAG;KAChB,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF;;;;;;;GAOG;AACH,SAAS,0BAA0B,CACjC,KAAwB,EACxB,gBAAwB;IAExB,0DAA0D;IAC1D,yDAAyD;IACzD,MAAM,aAAa,GACjB,2CAA2C,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAClE,oDAAoD,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC9E,IAAI,CAAC,aAAa;QAAE,OAAO,EAAE,CAAC;IAE9B,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;IAEtD,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,2EAA2E;IAC3E,MAAM,iBAAiB,GAAG,6BAA6B,CAAC;IAExD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAyB,CAAC;QAC9B,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACzE,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;YACvC,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;YAEvC,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC;gBAAE,SAAS;YAEvD,qFAAqF;YACrF,MAAM,OAAO,GACX,UAAU,GAAG,aAAa;gBAC1B,CAAC,UAAU,KAAK,aAAa,IAAI,UAAU,GAAG,aAAa,CAAC,CAAC;YAC/D,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,MAAM,YAAY,GAAG,GAAG,UAAU,IAAI,UAAU,EAAE,CAAC;YACnD,MAAM,eAAe,GAAG,GAAG,aAAa,IAAI,aAAa,EAAE,CAAC;YAC5D,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;YACjD,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,SAAS;YACtC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAExB,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,OAAO,CAAC,kBAAkB,IAAI,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;gBAC1D,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE,mBAAmB;gBAC7B,KAAK,EAAE,6CAA6C,YAAY,8BAA8B,eAAe,EAAE;gBAC/G,OAAO,EACL,wCAAwC,YAAY,gCAAgC;oBACpF,gBAAgB,eAAe,sDAAsD;oBACrF,qFAAqF;oBACrF,8BAA8B;gBAChC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;gBACtB,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpC,QAAQ,EAAE;oBACR,4BAA4B,YAAY,+BAA+B,eAAe,EAAE;iBACzF;gBACD,cAAc,EACZ,mDAAmD,eAAe,kBAAkB;oBACpF,wEAAwE;gBAC1E,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gFAAgF;AAEhF,MAAM,wBAAwB,GAAG;IAC/B,QAAQ;IACR,OAAO;IACP,YAAY;IACZ,SAAS;IACT,QAAQ;IACR,OAAO;IACP,UAAU;CACF,CAAC;AAIX,SAAS,kBAAkB,CAAC,OAA6B;IACvD,IAAI,OAAO,KAAK,YAAY;QAAE,OAAO,YAAY,CAAC;IAClD,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5C,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,8BAA8B,CAAC,WAAmB;IACzD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IAEhC,iFAAiF;IACjF,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzC,MAAM,KAAK,GAAG,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,4BAA4B,CAAC,gBAAwB;IAC5D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAgC,CAAC;IAEzD,KAAK,MAAM,OAAO,IAAI,wBAAwB,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QAEnC,6BAA6B;QAC7B,kBAAkB;QAClB,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,QAAQ,IAAI,2BAA2B,EAAE,IAAI,CAAC,CAAC;QAC/E,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACxD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,8BAA8B,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,CAAC;YAC9D,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC7B,SAAS;YACX,CAAC;QACH,CAAC;QAED,YAAY;QACZ,4EAA4E;QAC5E,MAAM,mBAAmB,GAAG,IAAI,MAAM,CACpC,OAAO,IAAI,2DAA2D,EACtE,KAAK,CACN,CAAC;QACF,IAAI,KAA6B,CAAC;QAClC,OAAO,CAAC,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACrE,MAAM,KAAK,GAAG,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACxD,IAAI,KAAK,KAAK,IAAI;gBAAE,SAAS;YAC7B,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC7B,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAe,EAAE,KAAa;IAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACrD,OAAO,kFAAkF,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACzG,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,2BAA2B,CAClC,KAAwB,EACxB,gBAAwB;IAExB,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;IACxE,IAAI,gBAAgB,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE3C,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,KAAK,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACxD,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,gBAAgB,GAAG,IAAI,MAAM,CACjC,MAAM,YAAY,CAAC,WAAW,CAAC,oDAAoD,EACnF,IAAI,CACL,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,KAA6B,CAAC;YAClC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;oBAAE,SAAS;gBAEjE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;gBACjD,IAAI,gBAAgB,IAAI,aAAa;oBAAE,SAAS;gBAEhD,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,CAAC;oBACjC,CAAC,CAAC,GAAG,gBAAgB,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;oBACnC,CAAC,CAAC,GAAG,gBAAgB,IAAI,CAAC;gBAC5B,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,kBAAkB,EAAE,CAAC;gBAClE,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;oBAAE,SAAS;gBACtC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAExB,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE,EAAE,OAAO,CAAC,mBAAmB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,kBAAkB,EAAE,CAAC;oBAC5E,QAAQ,EAAE,MAAM;oBAChB,QAAQ,EAAE,mBAAmB;oBAC7B,KAAK,EACH,GAAG,WAAW,uCAAuC,kBAAkB,IAAI;wBAC3E,uBAAuB,aAAa,IAAI;oBAC1C,OAAO,EACL,iCAAiC,WAAW,IAAI,kBAAkB,QAAQ;wBAC1E,2BAA2B,OAAO,IAAI,aAAa,yBAAyB;wBAC5E,8EAA8E;wBAC9E,+EAA+E;oBACjF,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;oBACtB,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;oBACpC,QAAQ,EAAE;wBACR,qBAAqB,WAAW,IAAI,kBAAkB,0BAA0B,OAAO,IAAI,aAAa,IAAI;qBAC7G;oBACD,cAAc,EACZ,wCAAwC,WAAW,IAAI,aAAa,gBAAgB;wBACpF,uFAAuF;oBACzF,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,iFAAiF;AAEjF,gFAAgF;AAEhF,MAAM,oBAAoB,GAAG;IAC3B,OAAO;IACP,MAAM;IACN,YAAY;IACZ,MAAM;IACN,QAAQ;IACR,MAAM;CACE,CAAC;AAIX,MAAM,gBAAgB,GAAqC;IACzD,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,SAAS;IACf,UAAU,EAAE,YAAY;IACxB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACb,CAAC;AAEF,SAAS,wBAAwB,CAAC,kBAA0B;IAC1D,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,GAAG,GAAG,MAAiC,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA4B,CAAC;IACrD,MAAM,gBAAgB,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAEvF,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;QACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,SAAS;QAClF,MAAM,IAAI,GAAG,KAAgC,CAAC;QAC9C,KAAK,MAAM,OAAO,IAAI,oBAAoB,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,SAAS;YACvC,MAAM,KAAK,GAAG,8BAA8B,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,KAAK,KAAK,IAAI;gBAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,6BAA6B,CACpC,KAAwB,EACxB,kBAA0B;IAE1B,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;IACtE,IAAI,gBAAgB,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE3C,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,KAAK,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACxD,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,gBAAgB,GAAG,IAAI,MAAM,CACjC,MAAM,YAAY,CAAC,WAAW,CAAC,oDAAoD,EACnF,IAAI,CACL,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,KAA6B,CAAC;YAClC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;oBAAE,SAAS;gBAE7D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;gBACjD,IAAI,gBAAgB,IAAI,aAAa;oBAAE,SAAS;gBAEhD,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,CAAC;oBACjC,CAAC,CAAC,GAAG,gBAAgB,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;oBACnC,CAAC,CAAC,GAAG,gBAAgB,IAAI,CAAC;gBAC5B,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,kBAAkB,EAAE,CAAC;gBAClE,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;oBAAE,SAAS;gBACtC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAExB,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE,EAAE,OAAO,CAAC,sBAAsB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,kBAAkB,EAAE,CAAC;oBAC/E,QAAQ,EAAE,MAAM;oBAChB,QAAQ,EAAE,mBAAmB;oBAC7B,KAAK,EACH,GAAG,WAAW,uCAAuC,kBAAkB,IAAI;wBAC3E,qBAAqB,aAAa,IAAI;oBACxC,OAAO,EACL,iCAAiC,WAAW,IAAI,kBAAkB,QAAQ;wBAC1E,yBAAyB,OAAO,IAAI,aAAa,yBAAyB;wBAC1E,4EAA4E;wBAC5E,iCAAiC;oBACnC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;oBACtB,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;oBACpC,QAAQ,EAAE;wBACR,qBAAqB,WAAW,IAAI,kBAAkB,wBAAwB,OAAO,IAAI,aAAa,IAAI;qBAC3G;oBACD,cAAc,EACZ,wCAAwC,WAAW,IAAI,aAAa,gBAAgB;wBACpF,qFAAqF;oBACvF,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe,EAAE,KAAa;IACxD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACrD,OAAO,oHAAoH,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3I,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,OAAe,EAAE,UAAkB;IAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC5E,OAAO,4EAA4E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjG,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,2BAA2B,CAAC,OAAoB;IACvD,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IACvC,MAAM,SAAS,GAAG,WAAW,CAAC,kBAAkB,CAAC;IACjD,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAEzC,MAAM,YAAY,GAAsC;QACtD,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;QAC7B,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;QAC/B,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;QAC/B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;KAC9B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAEtC,MAAM,cAAc,GAAsB,EAAE,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,2DAA2D;YAC3D,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,uCAAuC,EAAE,IAAI,CAAC,CAAC;YACnF,IAAI,KAA6B,CAAC;YAClC,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACtE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACxD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACjF,IAAI,SAAS,KAAK,MAAM,IAAI,sCAAsC,CAAC,IAAI,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACxF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClD,WAAW,GAAG,IAAI,CAAC;oBACnB,MAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,WAAW,EAAE,CAAC;gBAChB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1B,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE7C,OAAO;QACL,EAAE,EAAE,mCAAmC;QACvC,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,uEAAuE,SAAS,EAAE;QACzF,OAAO,EACL,sFAAsF,SAAS,GAAG;YAClG,aAAa,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,cAAc,KAAK;YACpE,qFAAqF;QACvF,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5C,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,QAAQ,EAAE;YACR,0BAA0B,SAAS,EAAE;YACrC,2EAA2E;SAC5E;QACD,cAAc,EAAE,gDAAgD,SAAS,YAAY;QACrF,SAAS,EAAE,kBAAkB,SAAS,WAAW,SAAS,iBAAiB,SAAS,kBAAkB,SAAS,gDAAgD;QAC/J,UAAU,EAAE,GAAG;KAChB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,OAAoB;IAC/C,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IACvC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,IAAI,gBAAgB,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE3C,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,6EAA6E;IAC7E,2EAA2E;IAC3E,8DAA8D;IAC9D,MAAM,aAAa,GAAG,iEAAiE,CAAC;IAExF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,yEAAyE;IACzE,0EAA0E;IAC1E,oEAAoE;IACpE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;QAC/B,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS;QACtE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU;QACtE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY;QAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO;QACnE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY;KACvD,CAAC,CAAC;IACH,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;QACnC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW;QACxE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI;QACvE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO;QACtE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI;KAClC,CAAC,CAAC;IAEH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,KAA6B,CAAC;QAClC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;QACjE,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAChD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;YAC7B,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,SAAS;YACX,CAAC;YACD,mEAAmE;YACnE,IAAI,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACrC,SAAS;YACX,CAAC;YACD,IAAI,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACvD,SAAS;YACX,CAAC;YAED,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtC,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC/C,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;oBAAE,SAAS;gBACtC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAExB,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE,EAAE,2BAA2B,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;oBACxD,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,mBAAmB;oBAC7B,KAAK,EAAE,iCAAiC,UAAU,GAAG;oBACrD,OAAO,EACL,wCAAwC,UAAU,sDAAsD;wBACxG,sDAAsD;oBACxD,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;oBACtB,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;oBACpC,QAAQ,EAAE,CAAC,wBAAwB,UAAU,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;oBAClE,cAAc,EAAE,iFAAiF;oBACjG,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAAC,OAAoB;IACpD,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IACvC,IAAI,CAAC,WAAW,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC;IAExC,oEAAoE;IACpE,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACjH,IAAI,CAAC,eAAe;QAAE,OAAO,EAAE,CAAC;IAEhC,MAAM,cAAc,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,+EAA+E;IAC/E,0EAA0E;IAC1E,6EAA6E;IAC7E,qBAAqB;IACrB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,MAAM,eAAe,GAAG,mCAAmC,CAAC;IAE5D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,KAA6B,CAAC;QAClC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;QACrE,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAChD,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;YAC7C,qEAAqE;YACrE,sEAAsE;YACtE,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;gBAAE,SAAS;YAC3D,IAAI,YAAY,GAAG,cAAc,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;gBACjD,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;oBAAE,SAAS;gBACtC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAExB,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE,EAAE,kCAAkC,IAAI,CAAC,IAAI,IAAI,YAAY,EAAE;oBACjE,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,mBAAmB;oBAC7B,KAAK,EAAE,8CAA8C,YAAY,uBAAuB,cAAc,EAAE;oBACxG,OAAO,EACL,gCAAgC,YAAY,qDAAqD,cAAc,uBAAuB;oBACxI,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;oBACtB,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;oBACpC,QAAQ,EAAE,CAAC,yBAAyB,YAAY,uBAAuB,WAAW,CAAC,WAAW,EAAE,CAAC;oBACjG,cAAc,EAAE,yEAAyE,cAAc,IAAI;oBAC3G,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,8BAA8B,CAAC,OAAe,EAAE,UAAkB,EAAE,QAAgB;IAC3F,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAE5E,wCAAwC;IACxC,IAAI,+DAA+D,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACtI,OAAO,IAAI,CAAC;IACd,CAAC;IACD,iDAAiD;IACjD,IAAI,4HAA4H,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5I,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAS,sBAAsB,CAAC,OAAoB;IAClD,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IACvC,MAAM,IAAI,GAAG,EAAE,GAAG,WAAW,CAAC,YAAY,EAAE,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC;IAC7E,MAAM,MAAM,GAAoB,EAAE,CAAC;IAEnC,MAAM,SAAS,GAAG;QAChB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE;QAC3D,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;QAC7D,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,CAAC,SAAS,CAAC,EAAE;QAC9E,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,kBAAkB,CAAC,EAAE;KAC5E,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,4DAA4D;YAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3D,IAAI,OAAO,EAAE,CAAC;gBACZ,+FAA+F;gBAC/F,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,CAAC;gBACtD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;oBACxC,IAAI,KAA6B,CAAC;oBAClC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;oBACnD,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;wBAC7C,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;4BACvE,OAAO,IAAI,CAAC,CAAC,sCAAsC;wBACrD,CAAC;oBACH,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC,CAAC;gBACH,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,MAAM,CAAC,IAAI,CAAC;wBACV,EAAE,EAAE,gCAAgC,IAAI,CAAC,OAAO,EAAE;wBAClD,QAAQ,EAAE,SAAS;wBACnB,QAAQ,EAAE,UAAU;wBACpB,KAAK,EAAE,mDAAmD,IAAI,CAAC,IAAI,qBAAqB,OAAO,EAAE;wBACjG,OAAO,EACL,oCAAoC,IAAI,CAAC,IAAI,6CAA6C;4BAC1F,GAAG,OAAO,+EAA+E;wBAC3F,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC5C,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;wBAC5D,QAAQ,EAAE;4BACR,wBAAwB,IAAI,CAAC,IAAI,EAAE;4BACnC,GAAG,OAAO,wBAAwB;4BAClC,GAAG,IAAI,CAAC,OAAO,4BAA4B;yBAC5C;wBACD,cAAc,EAAE,oCAAoC,OAAO,eAAe,IAAI,CAAC,IAAI,qCAAqC;wBACxH,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAoB;IAC5D,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC/C,MAAM,MAAM,GAAoB,EAAE,CAAC;IAEnC,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,6BAA6B,CAAC,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;QAC5E,MAAM,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,OAAO,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,OAAO;QAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAElC,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC5E,IAAI,YAAY;YAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE5C,MAAM,CAAC,IAAI,CAAC,GAAG,0BAA0B,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,GAAG,2BAA2B,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"manifest-consistency.js","sourceRoot":"","sources":["../src/manifest-consistency.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * The one CommonMark fenced-code-block scanner.
3
+ *
4
+ * This walk was independently reimplemented in eleven files (scanner.ts,
5
+ * conflicts.ts, vague-guidance.ts, stale-instructions.ts, suppression.ts,
6
+ * agent-practices.ts, missing-context.ts, command-validity.ts,
7
+ * dead-references.ts, manifest-consistency.ts, product-boundary.ts). The
8
+ * copies diverged: each carried its own bug-ID comment for a fix applied to
9
+ * that copy alone, the same `~~~`-fence bug was found and fixed five separate
10
+ * times, and dead-references.ts never got `~~~` support at all. Every future
11
+ * fence bug should be fixable once, here.
12
+ *
13
+ * The rules all the copies were converging on, kept in one place:
14
+ *
15
+ * - A fence opens on ``` or ~~~ (3+ of the same character), indented at most
16
+ * 3 spaces.
17
+ * - A fence closes only on the SAME character, at least as long as the
18
+ * opener, with nothing but whitespace after it. ``` does not close ~~~, and
19
+ * a 3-backtick line does not close a 4-backtick block.
20
+ * - An unclosed fence runs to the end of the text. Callers that only want
21
+ * confirmed blocks can check `closed`.
22
+ *
23
+ * Lines keep their exact original text, carriage returns included, so callers
24
+ * that map offsets back to the source file stay aligned.
25
+ */
26
+ export type FenceLineKind =
27
+ /** Outside any fenced block. */
28
+ 'text'
29
+ /** The opening fence line itself. */
30
+ | 'open'
31
+ /** A line of block content. */
32
+ | 'content'
33
+ /** The closing fence line itself. */
34
+ | 'close';
35
+ export type FenceLine = {
36
+ /** The line's exact original text, without its terminator. */
37
+ text: string;
38
+ /** 1-based physical line number in the source content. */
39
+ lineNumber: number;
40
+ kind: FenceLineKind;
41
+ /** True for every line belonging to a fenced block, fence markers included. */
42
+ inFence: boolean;
43
+ /**
44
+ * Lowercased info string of the enclosing block's opening fence — `'bash'`
45
+ * for ```` ```bash ````, `''` for a bare fence or a line outside any block.
46
+ */
47
+ lang: string;
48
+ /** False for the lines of a trailing block that is never closed. */
49
+ closed: boolean;
50
+ };
51
+ export type FencedBlock = {
52
+ /** Lowercased info string of the opening fence (`''` when bare). */
53
+ lang: string;
54
+ /** False when the block runs to the end of the text with no closing fence. */
55
+ closed: boolean;
56
+ /** 1-based line number of the opening fence. */
57
+ openLine: number;
58
+ /** 1-based line number of the block's first content line. */
59
+ contentStartLine: number;
60
+ /** The block's content lines, fence markers excluded. */
61
+ lines: string[];
62
+ };
63
+ /**
64
+ * Classify every line of `content` as inside or outside a fenced code block.
65
+ *
66
+ * The primitive the rest of this module — and every caller that needs a
67
+ * per-line decision, like "is this `#` a heading or a bash comment?" — is
68
+ * built on.
69
+ */
70
+ export declare function scanFencedLines(content: string): FenceLine[];
71
+ /** Group `content` into its fenced code blocks, in document order. */
72
+ export declare function fencedBlocks(content: string): FencedBlock[];
73
+ export type StripOptions = {
74
+ /**
75
+ * Also remove inline `code spans`. Off by default: most callers strip
76
+ * fences to avoid reading a quoted example as a live instruction, and an
77
+ * inline span is usually still part of the sentence around it.
78
+ */
79
+ stripInlineCode?: boolean;
80
+ };
81
+ /**
82
+ * Remove fenced code blocks — markers and content both — from `content`.
83
+ *
84
+ * Line numbers do NOT survive this; use `blankCodeBlockLines` when the caller
85
+ * maps offsets back to the source file.
86
+ */
87
+ export declare function stripCodeBlocks(content: string, options?: StripOptions): string;
88
+ /**
89
+ * Blank out fenced code block lines while keeping the line count identical, so
90
+ * offsets computed against the result still map to the original file's lines.
91
+ */
92
+ export declare function blankCodeBlockLines(content: string): string;
93
+ /**
94
+ * The content of every fenced block, joined with newlines.
95
+ *
96
+ * `closedOnly` (the default) drops a trailing unclosed fence's partial
97
+ * content — a caller asking "does this file document a setup command?" wants
98
+ * confirmed blocks, not the tail of a malformed one.
99
+ */
100
+ export declare function fencedBlockContents(content: string, options?: {
101
+ closedOnly?: boolean;
102
+ }): string;
103
+ /**
104
+ * Mark every character of `content` that sits inside a fenced block or an
105
+ * inline `code span`.
106
+ *
107
+ * Callers use this to tell a command from a noun phrase: `pnpm 9+` in prose is
108
+ * a version requirement, the same text in backticks is something a reader is
109
+ * meant to run.
110
+ */
111
+ export declare function buildCodeMask(content: string): boolean[];
112
+ //# sourceMappingURL=markdown-fences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-fences.d.ts","sourceRoot":"","sources":["../src/markdown-fences.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAWH,MAAM,MAAM,aAAa;AACvB,gCAAgC;AAC9B,MAAM;AACR,qCAAqC;GACnC,MAAM;AACR,+BAA+B;GAC7B,SAAS;AACX,qCAAqC;GACnC,OAAO,CAAC;AAEZ,MAAM,MAAM,SAAS,GAAG;IACtB,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,aAAa,CAAC;IACpB,+EAA+E;IAC/E,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,MAAM,EAAE,OAAO,CAAC;IAChB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,gBAAgB,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,CAqD5D;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CA0B3D;AAED,MAAM,MAAM,YAAY,GAAG;IACzB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAOnF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAI3D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GACrC,MAAM,CAMR;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,CAkBxD"}
@@ -0,0 +1,174 @@
1
+ /**
2
+ * The one CommonMark fenced-code-block scanner.
3
+ *
4
+ * This walk was independently reimplemented in eleven files (scanner.ts,
5
+ * conflicts.ts, vague-guidance.ts, stale-instructions.ts, suppression.ts,
6
+ * agent-practices.ts, missing-context.ts, command-validity.ts,
7
+ * dead-references.ts, manifest-consistency.ts, product-boundary.ts). The
8
+ * copies diverged: each carried its own bug-ID comment for a fix applied to
9
+ * that copy alone, the same `~~~`-fence bug was found and fixed five separate
10
+ * times, and dead-references.ts never got `~~~` support at all. Every future
11
+ * fence bug should be fixable once, here.
12
+ *
13
+ * The rules all the copies were converging on, kept in one place:
14
+ *
15
+ * - A fence opens on ``` or ~~~ (3+ of the same character), indented at most
16
+ * 3 spaces.
17
+ * - A fence closes only on the SAME character, at least as long as the
18
+ * opener, with nothing but whitespace after it. ``` does not close ~~~, and
19
+ * a 3-backtick line does not close a 4-backtick block.
20
+ * - An unclosed fence runs to the end of the text. Callers that only want
21
+ * confirmed blocks can check `closed`.
22
+ *
23
+ * Lines keep their exact original text, carriage returns included, so callers
24
+ * that map offsets back to the source file stay aligned.
25
+ */
26
+ /** Opening fence: up to 3 spaces of indent, then 3+ backticks or tildes. */
27
+ const OPEN_FENCE_RE = /^ {0,3}([`~]{3,})\s*([^\s`]*)/;
28
+ /** Closing fence: same shape, but nothing except whitespace may follow. */
29
+ const CLOSE_FENCE_RE = /^ {0,3}([`~]{3,})\s*$/;
30
+ /** Inline code span: a backtick run, content, then a matching run. */
31
+ const INLINE_CODE_RE = /(`+)([^`]+)\1/g;
32
+ /**
33
+ * Classify every line of `content` as inside or outside a fenced code block.
34
+ *
35
+ * The primitive the rest of this module — and every caller that needs a
36
+ * per-line decision, like "is this `#` a heading or a bash comment?" — is
37
+ * built on.
38
+ */
39
+ export function scanFencedLines(content) {
40
+ const rawLines = content.split('\n');
41
+ const result = [];
42
+ let inBlock = false;
43
+ let fenceChar = null;
44
+ let fenceLen = 0;
45
+ let lang = '';
46
+ /** Index in `result` where the open block started, for the unclosed fixup. */
47
+ let blockStart = -1;
48
+ for (let i = 0; i < rawLines.length; i++) {
49
+ const text = rawLines[i] ?? '';
50
+ const lineNumber = i + 1;
51
+ if (!inBlock) {
52
+ const openMatch = OPEN_FENCE_RE.exec(text);
53
+ if (openMatch) {
54
+ inBlock = true;
55
+ fenceChar = openMatch[1][0] ?? null;
56
+ fenceLen = openMatch[1].length;
57
+ lang = (openMatch[2] ?? '').toLowerCase();
58
+ blockStart = result.length;
59
+ result.push({ text, lineNumber, kind: 'open', inFence: true, lang, closed: true });
60
+ continue;
61
+ }
62
+ result.push({ text, lineNumber, kind: 'text', inFence: false, lang: '', closed: true });
63
+ continue;
64
+ }
65
+ const closeMatch = CLOSE_FENCE_RE.exec(text);
66
+ if (closeMatch && closeMatch[1][0] === fenceChar && closeMatch[1].length >= fenceLen) {
67
+ result.push({ text, lineNumber, kind: 'close', inFence: true, lang, closed: true });
68
+ inBlock = false;
69
+ fenceChar = null;
70
+ fenceLen = 0;
71
+ lang = '';
72
+ blockStart = -1;
73
+ continue;
74
+ }
75
+ result.push({ text, lineNumber, kind: 'content', inFence: true, lang, closed: true });
76
+ }
77
+ // A fence that never closes still swallows the rest of the text — but its
78
+ // lines are marked unclosed so callers counting confirmed blocks can skip it.
79
+ if (inBlock && blockStart >= 0) {
80
+ for (let i = blockStart; i < result.length; i++) {
81
+ result[i].closed = false;
82
+ }
83
+ }
84
+ return result;
85
+ }
86
+ /** Group `content` into its fenced code blocks, in document order. */
87
+ export function fencedBlocks(content) {
88
+ const blocks = [];
89
+ let current = null;
90
+ for (const line of scanFencedLines(content)) {
91
+ if (line.kind === 'open') {
92
+ current = {
93
+ lang: line.lang,
94
+ closed: line.closed,
95
+ openLine: line.lineNumber,
96
+ contentStartLine: line.lineNumber + 1,
97
+ lines: [],
98
+ };
99
+ blocks.push(current);
100
+ continue;
101
+ }
102
+ if (line.kind === 'content' && current) {
103
+ current.lines.push(line.text);
104
+ continue;
105
+ }
106
+ if (line.kind === 'close') {
107
+ current = null;
108
+ }
109
+ }
110
+ return blocks;
111
+ }
112
+ /**
113
+ * Remove fenced code blocks — markers and content both — from `content`.
114
+ *
115
+ * Line numbers do NOT survive this; use `blankCodeBlockLines` when the caller
116
+ * maps offsets back to the source file.
117
+ */
118
+ export function stripCodeBlocks(content, options = {}) {
119
+ const kept = scanFencedLines(content)
120
+ .filter((line) => !line.inFence)
121
+ .map((line) => line.text)
122
+ .join('\n');
123
+ return options.stripInlineCode ? kept.replace(/`[^`\n]+`/g, '') : kept;
124
+ }
125
+ /**
126
+ * Blank out fenced code block lines while keeping the line count identical, so
127
+ * offsets computed against the result still map to the original file's lines.
128
+ */
129
+ export function blankCodeBlockLines(content) {
130
+ return scanFencedLines(content)
131
+ .map((line) => (line.inFence ? '' : line.text))
132
+ .join('\n');
133
+ }
134
+ /**
135
+ * The content of every fenced block, joined with newlines.
136
+ *
137
+ * `closedOnly` (the default) drops a trailing unclosed fence's partial
138
+ * content — a caller asking "does this file document a setup command?" wants
139
+ * confirmed blocks, not the tail of a malformed one.
140
+ */
141
+ export function fencedBlockContents(content, options = {}) {
142
+ const closedOnly = options.closedOnly ?? true;
143
+ return fencedBlocks(content)
144
+ .filter((block) => (closedOnly ? block.closed : true))
145
+ .map((block) => block.lines.join('\n'))
146
+ .join('\n');
147
+ }
148
+ /**
149
+ * Mark every character of `content` that sits inside a fenced block or an
150
+ * inline `code span`.
151
+ *
152
+ * Callers use this to tell a command from a noun phrase: `pnpm 9+` in prose is
153
+ * a version requirement, the same text in backticks is something a reader is
154
+ * meant to run.
155
+ */
156
+ export function buildCodeMask(content) {
157
+ const mask = new Array(content.length).fill(false);
158
+ let offset = 0;
159
+ for (const line of scanFencedLines(content)) {
160
+ if (line.inFence) {
161
+ mask.fill(true, offset, offset + line.text.length);
162
+ }
163
+ else {
164
+ let span;
165
+ const spanRe = new RegExp(INLINE_CODE_RE.source, INLINE_CODE_RE.flags);
166
+ while ((span = spanRe.exec(line.text)) !== null) {
167
+ mask.fill(true, offset + span.index, offset + span.index + span[0].length);
168
+ }
169
+ }
170
+ offset += line.text.length + 1;
171
+ }
172
+ return mask;
173
+ }
174
+ //# sourceMappingURL=markdown-fences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-fences.js","sourceRoot":"","sources":["../src/markdown-fences.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * MCP Config Detector (issue #23)
3
+ *
4
+ * Audits `.mcp.json` (project-scoped MCP server definitions):
5
+ *
6
+ * - Invalid JSON: the file will not load.
7
+ * - Duplicate server names: JSON keeps only the last, silently dropping a
8
+ * server the author thinks is configured.
9
+ * - Placeholder env values never filled in (`"<your-key>"`, `"changeme"`, …).
10
+ * - stdio servers whose local `command`/script path does not exist, and
11
+ * servers declaring neither a `command` nor a `url`.
12
+ *
13
+ * PATH lookups for bare binaries (`npx`, `node`, `docker`) are intentionally out
14
+ * of scope — they are not verifiable deterministically or offline. Only
15
+ * repo-local paths are checked. Deterministic and offline.
16
+ */
17
+ import type { RepoContext } from './repo-context.js';
18
+ import type { PromptCiIssue } from './types.js';
19
+ export declare function detectMcpConfig(context: RepoContext): PromptCiIssue[];
20
+ //# sourceMappingURL=mcp-config-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-config-detector.d.ts","sourceRoot":"","sources":["../src/mcp-config-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA2FhD,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,aAAa,EAAE,CAqGrE"}