@vibe-agent-toolkit/cli 0.1.30 → 0.1.31

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.
@@ -9,6 +9,7 @@ export interface AuditCommandOptions {
9
9
  compat?: boolean;
10
10
  debug?: boolean;
11
11
  exclude?: string[];
12
+ includeArtifacts?: boolean;
12
13
  recursive?: boolean;
13
14
  settings?: string | boolean;
14
15
  user?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,kCAAkC,CAAC;AAW1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AASD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAuF5C;AAiLD,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAmDf;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,mBAAmB,EAC5B,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,GACtC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAmD7B"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAUL,KAAK,gBAAgB,EACtB,MAAM,kCAAkC,CAAC;AAW1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAqKD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAqH5C;AAiLD,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAmDf;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,mBAAmB,EAC5B,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,GACtC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAyC7B"}
@@ -3,11 +3,11 @@
3
3
  * Top-level command: vat audit [path]
4
4
  */
5
5
  import * as fs from 'node:fs';
6
- import { detectResourceFormat, validate, validateSkill, } from '@vibe-agent-toolkit/agent-skills';
6
+ import { detectResourceFormat, validate, validateSkill, runCompatDetectors, validateSkillForPackaging, } from '@vibe-agent-toolkit/agent-skills';
7
7
  import { analyzeCompatibility, checkSettingsCompatibility, readEffectiveSettings, } from '@vibe-agent-toolkit/claude-marketplace';
8
8
  import { getClaudeUserPaths } from '@vibe-agent-toolkit/claude-marketplace';
9
9
  import { detectFormat } from '@vibe-agent-toolkit/discovery';
10
- import { safePath } from '@vibe-agent-toolkit/utils';
10
+ import { gitCheckIgnoredBatch, gitFindRoot, isGitIgnored, safePath } from '@vibe-agent-toolkit/utils';
11
11
  import { Command } from 'commander';
12
12
  import picomatch from 'picomatch';
13
13
  import { handleCommandError } from '../utils/command-error.js';
@@ -16,6 +16,127 @@ import { createLogger } from '../utils/logger.js';
16
16
  import { writeYamlOutput } from '../utils/output.js';
17
17
  import { buildHierarchicalOutput } from './audit/hierarchical-output.js';
18
18
  import { createAuditSettingsCommand } from './audit-settings.js';
19
+ import { discoverSkillsFromConfig } from './skills/skill-discovery.js';
20
+ /** Resource type constant for agent skills, avoiding duplicate string literals. */
21
+ const RESOURCE_TYPE_AGENT_SKILL = 'agent-skill';
22
+ /**
23
+ * Merge per-skill config for audit: keeps all packaging options but strips
24
+ * validation.allow (audit shows everything). Preserves validation.severity.
25
+ *
26
+ * Strips undefined values from the spread to satisfy exactOptionalPropertyTypes.
27
+ */
28
+ function mergeSkillConfigForAudit(defaults, perSkillOverrides) {
29
+ const merged = { ...defaults, ...perSkillOverrides };
30
+ const packagingConfig = {};
31
+ for (const [key, value] of Object.entries(merged)) {
32
+ if (value !== undefined && key !== 'validation') {
33
+ packagingConfig[key] = value;
34
+ }
35
+ }
36
+ // Keep validation.severity but strip validation.allow
37
+ const mergedValidation = merged['validation'];
38
+ if (mergedValidation?.severity !== undefined) {
39
+ packagingConfig['validation'] = { severity: mergedValidation.severity };
40
+ }
41
+ return packagingConfig;
42
+ }
43
+ /**
44
+ * Build config-aware context when auditing inside a VAT project.
45
+ * Checks for vibe-agent-toolkit.config.yaml at the scan root only (no
46
+ * directory walking). Returns null if no config or no skills section found.
47
+ */
48
+ async function buildVATProjectContext(scanRoot, logger) {
49
+ const config = loadConfig(scanRoot);
50
+ if (config?.skills === undefined) {
51
+ return null;
52
+ }
53
+ const configRoot = scanRoot;
54
+ try {
55
+ const discovered = await discoverSkillsFromConfig(config.skills, configRoot);
56
+ if (discovered.length === 0) {
57
+ return null;
58
+ }
59
+ const { defaults, config: perSkillConfig } = config.skills;
60
+ const skillConfigs = new Map();
61
+ for (const skill of discovered) {
62
+ const packagingConfig = mergeSkillConfigForAudit(defaults, perSkillConfig?.[skill.name]);
63
+ skillConfigs.set(safePath.resolve(skill.sourcePath), packagingConfig);
64
+ }
65
+ logger.debug(`Config-aware audit: found ${skillConfigs.size} skill(s) in VAT project`);
66
+ return { skillConfigs };
67
+ }
68
+ catch (error) {
69
+ logger.debug(`Config-aware audit: failed to discover skills: ${String(error)}`);
70
+ return null;
71
+ }
72
+ }
73
+ /**
74
+ * Convert PackagingValidationResult to ValidationResult for consistent audit output.
75
+ * In audit mode, we merge allErrors (which includes both errors and warnings after
76
+ * severity resolution but WITHOUT allow suppression) into the standard issues array.
77
+ */
78
+ function packagingResultToValidationResult(skillPath, result, extraIssues) {
79
+ // allErrors contains all emitted issues (errors + warnings) after severity resolution
80
+ // but without allow suppression — exactly what audit wants.
81
+ // extraIssues (e.g., compat detectors) are merged in since the packaging validator
82
+ // doesn't run them.
83
+ const issues = extraIssues !== undefined && extraIssues.length > 0
84
+ ? [...result.allErrors, ...extraIssues]
85
+ : result.allErrors;
86
+ const errorCount = issues.filter(i => i.severity === 'error').length;
87
+ const warningCount = issues.filter(i => i.severity === 'warning').length;
88
+ const infoCount = issues.filter(i => i.severity === 'info').length;
89
+ let status;
90
+ if (errorCount > 0) {
91
+ status = 'error';
92
+ }
93
+ else if (warningCount > 0) {
94
+ status = 'warning';
95
+ }
96
+ else {
97
+ status = 'success';
98
+ }
99
+ return {
100
+ path: skillPath,
101
+ type: RESOURCE_TYPE_AGENT_SKILL,
102
+ status,
103
+ summary: `${errorCount} errors, ${warningCount} warnings, ${infoCount} info`,
104
+ issues,
105
+ metadata: {
106
+ lineCount: result.metadata.skillLines,
107
+ name: result.skillName,
108
+ },
109
+ };
110
+ }
111
+ /**
112
+ * Validate a single SKILL.md file, using config-aware validation if available.
113
+ * Used for direct SKILL.md and vat-agent paths passed to `vat audit`.
114
+ */
115
+ async function validateSingleSkill(skillPath, options, logger, isVATGenerated) {
116
+ // Try config-aware validation: find git root → check for config at git root
117
+ const gitRoot = resolveGitRootForScan(safePath.resolve(skillPath), undefined);
118
+ if (gitRoot !== null) {
119
+ const vatContext = await buildVATProjectContext(gitRoot, logger);
120
+ const skillConfig = vatContext?.skillConfigs.get(safePath.resolve(skillPath));
121
+ if (skillConfig !== undefined) {
122
+ logger.debug(` Using config-aware validation for: ${skillPath}`);
123
+ const packagingResult = await validateSkillForPackaging(skillPath, skillConfig);
124
+ // eslint-disable-next-line security/detect-non-literal-fs-filename -- skillPath is validated user input
125
+ const skillContent = fs.readFileSync(skillPath, 'utf-8');
126
+ const compatIssues = runCompatDetectors(skillContent, skillPath);
127
+ return packagingResultToValidationResult(skillPath, packagingResult, compatIssues);
128
+ }
129
+ }
130
+ // Fallback: basic validation
131
+ const validateOptions = { skillPath };
132
+ if (options.warnUnreferencedFiles) {
133
+ validateOptions.checkUnreferencedFiles = true;
134
+ }
135
+ if (isVATGenerated === true) {
136
+ validateOptions.isVATGenerated = true;
137
+ }
138
+ return validateSkill(validateOptions);
139
+ }
19
140
  /**
20
141
  * Collect repeated option values into an array (used for --exclude)
21
142
  */
@@ -33,7 +154,8 @@ export function createAuditCommand() {
33
154
  .argument('[path]', 'Path to audit (default: current directory)')
34
155
  .option('--no-recursive', 'Disable recursive directory scanning (scans top level only)')
35
156
  .option('--exclude <glob>', 'Exclude paths matching glob pattern (repeatable)', collect, [])
36
- .option('--user', 'Audit user-level Claude resources (~/.claude/plugins, ~/.claude/skills, ~/.claude/marketplaces)')
157
+ .option('--include-artifacts', 'Include gitignored paths (build artifacts, dependencies) that are excluded by default')
158
+ .option('--user', 'Audit user-level Claude resources (default: $CLAUDE_CONFIG_DIR or ~/.claude — scans plugins/, skills/, marketplaces/)')
37
159
  .option('--verbose', 'Show all scanned resources, including those without issues')
38
160
  .option('--warn-unreferenced-files', 'Warn about files not referenced in skill markdown')
39
161
  .option('--compat', 'Run compatibility analysis for each plugin (shows claude-code, cowork, claude-desktop support)')
@@ -59,15 +181,19 @@ Description:
59
181
  Default: current directory
60
182
  Use --user to audit user-level installation automatically
61
183
 
62
- --user scans:
63
- - ~/.claude/plugins (installed plugins)
64
- - ~/.claude/skills (standalone skills)
65
- - ~/.claude/marketplaces (marketplace plugins)
184
+ --user scope:
185
+ - By default, scans $CLAUDE_CONFIG_DIR if set, otherwise ~/.claude.
186
+ - Inside the chosen directory, scans:
187
+ - plugins/ (installed plugins)
188
+ - skills/ (standalone skills)
189
+ - marketplaces/ (marketplace plugins)
190
+ - Skips: projects/, logs/, cache/
66
191
 
67
- --user skips:
68
- - ~/.claude/projects (project-specific files)
69
- - ~/.claude/logs (log files)
70
- - ~/.claude/cache (cached data)
192
+ Multi-dir workflows:
193
+ for dir in ~/.claude ~/.claude-personal; do
194
+ CLAUDE_CONFIG_DIR="$dir" vat audit --user --verbose
195
+ done
196
+ (See packages/cli/docs/audit.md for details.)
71
197
 
72
198
  Validation Behavior:
73
199
  Advisory only: audit surfaces all validation issues for inspection.
@@ -93,18 +219,43 @@ Validation Checks:
93
219
 
94
220
  Warnings (should fix):
95
221
  - Skill exceeds recommended length (>5000 lines)
96
- - References console-incompatible tools (Skills only)
222
+ - Compat smells requires browser auth, local shell, or external CLI
223
+ (COMPAT_REQUIRES_BROWSER_AUTH, COMPAT_REQUIRES_LOCAL_SHELL,
224
+ COMPAT_REQUIRES_EXTERNAL_CLI). See docs/validation-codes.md.
97
225
  - Unreferenced files detected (with --warn-unreferenced-files)
98
226
 
227
+ Gitignore-Aware Scanning:
228
+ When scanning inside a git repository, paths matched by .gitignore are
229
+ skipped by default. This excludes build artifacts (dist/), dependencies
230
+ (node_modules/), and any other project-specific ignored paths without
231
+ requiring a hardcoded list.
232
+
233
+ Use --include-artifacts to scan gitignored paths (e.g., to audit a
234
+ bundled marketplace plugin in dist/).
235
+
236
+ User-supplied --exclude patterns are always applied on top.
237
+ Outside a git repository, no automatic exclusions apply.
238
+
239
+ Config-Aware Validation:
240
+ When a vibe-agent-toolkit.config.yaml is found at the git root, audit
241
+ uses the project's build settings (linkFollowDepth, files,
242
+ excludeReferencesFromBundle) to validate skills. This prevents false
243
+ warnings for links that the build pipeline resolves.
244
+
245
+ Config-aware mode never applies validation.allow — audit always shows
246
+ all issues. validation.severity is respected for display grouping.
247
+
99
248
  Exit Codes:
100
249
  0 - Always (even when validation errors are surfaced)
101
250
  2 - System error (config invalid, directory not found)
102
251
 
103
252
  Examples:
104
253
  $ vat audit ./plugins/ # Audit recursively (default)
105
- $ vat audit --user # Audit user-level installation (~/.claude/)
254
+ $ vat audit --user # Audit default ~/.claude (or $CLAUDE_CONFIG_DIR)
255
+ $ CLAUDE_CONFIG_DIR=~/.claude-work vat audit --user # Scan a custom Claude config dir
106
256
  $ vat audit --no-recursive ./dir/ # Top level only, no subdirectories
107
- $ vat audit --exclude "dist/**" --exclude "node_modules/**" # Filter noise
257
+ $ vat audit --include-artifacts ./repo/ # Include gitignored paths
258
+ $ vat audit --exclude "vendor/**" ./repo/ # Add extra exclusions
108
259
  $ vat audit --compat ./plugin/ # Include per-surface compatibility analysis
109
260
  `);
110
261
  return audit;
@@ -169,7 +320,7 @@ async function auditUserDirectories(recursive, options, startTime, logger) {
169
320
  * @returns New results array with ignored codes removed from issues
170
321
  */
171
322
  /** Skill resource types that can have per-skill validation config. */
172
- const SKILL_RESULT_TYPES = new Set(['agent-skill', 'vat-agent']);
323
+ const SKILL_RESULT_TYPES = new Set([RESOURCE_TYPE_AGENT_SKILL, 'vat-agent']);
173
324
  /**
174
325
  * Derive the project root directory for config loading.
175
326
  *
@@ -303,25 +454,15 @@ export async function auditCommand(targetPath, options) {
303
454
  export async function getValidationResults(scanPath, recursive, options, logger) {
304
455
  const format = detectFormat(scanPath);
305
456
  // Special handling for direct SKILL.md file
306
- if (format === 'agent-skill') {
457
+ if (format === RESOURCE_TYPE_AGENT_SKILL) {
307
458
  logger.debug('Detected single Agent Skill');
308
- const validateOptions = { skillPath: scanPath };
309
- if (options.warnUnreferencedFiles) {
310
- validateOptions.checkUnreferencedFiles = true;
311
- }
312
- const result = await validateSkill(validateOptions);
313
- return [result];
459
+ return [await validateSingleSkill(scanPath, options, logger)];
314
460
  }
315
461
  // Special handling for VAT agent: validate its SKILL.md
316
462
  if (format === 'vat-agent') {
317
463
  const skillPath = safePath.join(scanPath, 'SKILL.md');
318
464
  logger.debug('Detected VAT agent, validating SKILL.md');
319
- const validateOptions = { skillPath, isVATGenerated: true };
320
- if (options.warnUnreferencedFiles) {
321
- validateOptions.checkUnreferencedFiles = true;
322
- }
323
- const result = await validateSkill(validateOptions);
324
- return [result];
465
+ return [await validateSingleSkill(skillPath, options, logger, true)];
325
466
  }
326
467
  // For plugin/marketplace directories or registry files, use unified validator
327
468
  const resourceFormat = await detectResourceFormat(scanPath);
@@ -489,7 +630,7 @@ function isExcludedPath(isMatch, relativePath, isDirectory) {
489
630
  /**
490
631
  * Handle file entry during directory scan
491
632
  */
492
- async function handleFileEntry(entry, fullPath, options, logger) {
633
+ async function handleFileEntry(entry, fullPath, options, logger, vatContext) {
493
634
  // Check for registry files
494
635
  if (entry.name === 'installed_plugins.json' || entry.name === 'known_marketplaces.json') {
495
636
  logger.debug(`Validating registry: ${fullPath}`);
@@ -498,6 +639,18 @@ async function handleFileEntry(entry, fullPath, options, logger) {
498
639
  // Check for SKILL.md
499
640
  if (entry.name === 'SKILL.md') {
500
641
  logger.debug(`Validating Agent Skill: ${fullPath}`);
642
+ // Config-aware: use packaging validator with build settings
643
+ const skillConfig = vatContext?.skillConfigs.get(safePath.resolve(fullPath));
644
+ if (skillConfig !== undefined) {
645
+ logger.debug(` Using config-aware validation for: ${fullPath}`);
646
+ const packagingResult = await validateSkillForPackaging(fullPath, skillConfig);
647
+ // Packaging validator doesn't run compat detectors — add them here.
648
+ // eslint-disable-next-line security/detect-non-literal-fs-filename -- fullPath from directory scan
649
+ const skillContent = fs.readFileSync(fullPath, 'utf-8');
650
+ const compatIssues = runCompatDetectors(skillContent, fullPath);
651
+ return packagingResultToValidationResult(fullPath, packagingResult, compatIssues);
652
+ }
653
+ // Wild mode: basic validation
501
654
  const validateOptions = { skillPath: fullPath };
502
655
  if (options.warnUnreferencedFiles) {
503
656
  validateOptions.checkUnreferencedFiles = true;
@@ -509,7 +662,7 @@ async function handleFileEntry(entry, fullPath, options, logger) {
509
662
  /**
510
663
  * Handle directory entry during directory scan
511
664
  */
512
- async function handleDirectoryEntry(fullPath, recursive, options, logger, baseDir) {
665
+ async function handleDirectoryEntry(fullPath, recursive, options, logger, baseDir, gitRoot, vatContext) {
513
666
  const fs = await import('node:fs/promises');
514
667
  const results = [];
515
668
  // Check if directory contains a plugin or marketplace
@@ -522,37 +675,96 @@ async function handleDirectoryEntry(fullPath, recursive, options, logger, baseDi
522
675
  }
523
676
  // Recurse into subdirectories (both plugin/marketplace dirs and regular dirs)
524
677
  if (recursive) {
525
- const subResults = await scanDirectory(fullPath, recursive, options, logger, baseDir);
678
+ const subResults = await scanDirectory(fullPath, recursive, options, logger, baseDir, gitRoot, vatContext);
526
679
  results.push(...subResults);
527
680
  }
528
681
  return results;
529
682
  }
530
- async function scanDirectory(dirPath, recursive, options, logger, baseDir) {
683
+ /**
684
+ * Resolve the effective git root for gitignore-aware scanning.
685
+ *
686
+ * On the first call (gitRoot is undefined), detects the git root from dirPath.
687
+ * If the scan root itself is gitignored (e.g., user explicitly targeted dist/),
688
+ * returns null to disable gitignore filtering — the user's explicit intent to
689
+ * scan that path takes precedence over .gitignore rules.
690
+ *
691
+ * On recursive calls, the already-resolved value is passed through unchanged.
692
+ */
693
+ function resolveGitRootForScan(dirPath, gitRoot) {
694
+ if (gitRoot === undefined) {
695
+ const detectedRoot = gitFindRoot(dirPath);
696
+ if (detectedRoot !== null && isGitIgnored(dirPath, detectedRoot)) {
697
+ return null;
698
+ }
699
+ return detectedRoot;
700
+ }
701
+ return gitRoot;
702
+ }
703
+ /**
704
+ * Build the gitignore exclusion map for a set of entry paths.
705
+ * Returns null when gitignore filtering is not applicable (no git root,
706
+ * --include-artifacts, or outside a git repo).
707
+ */
708
+ function buildGitIgnoreMap(entryPaths, gitRoot, includeArtifacts) {
709
+ if (gitRoot === null || includeArtifacts) {
710
+ return null;
711
+ }
712
+ return gitCheckIgnoredBatch(entryPaths, gitRoot);
713
+ }
714
+ /**
715
+ * Check whether a directory entry should be skipped during scanning.
716
+ * Returns a reason string for debug logging, or null if the entry should be kept.
717
+ */
718
+ function getSkipReason(entry, fullPath, resolvedBaseDir, gitIgnoredMap, isMatch) {
719
+ // Always skip .git directory (not reported by git check-ignore)
720
+ if (entry.isDirectory() && entry.name === '.git') {
721
+ return '.git';
722
+ }
723
+ // Skip gitignored paths
724
+ if (gitIgnoredMap !== null && gitIgnoredMap.get(fullPath) === true) {
725
+ return `gitignored: ${entry.name}`;
726
+ }
727
+ // Check user-supplied --exclude patterns
728
+ if (isMatch !== null) {
729
+ const relativePath = safePath.relative(resolvedBaseDir, fullPath).replaceAll('\\', '/');
730
+ if (isExcludedPath(isMatch, relativePath, entry.isDirectory())) {
731
+ return `excluded: ${relativePath}`;
732
+ }
733
+ }
734
+ return null;
735
+ }
736
+ async function scanDirectory(dirPath, recursive, options, logger, baseDir, gitRoot, vatContext) {
531
737
  const fs = await import('node:fs/promises');
532
738
  const results = [];
533
- const excludePatterns = options.exclude ?? [];
739
+ const userExcludes = options.exclude ?? [];
534
740
  const resolvedBaseDir = baseDir ?? dirPath;
535
- // Compile picomatch once per scanDirectory call (not inside the loop)
536
- const isMatch = excludePatterns.length > 0 ? picomatch(excludePatterns) : null;
741
+ const resolvedGitRoot = resolveGitRootForScan(dirPath, gitRoot);
742
+ // Build config-aware context on first call in a VAT project.
743
+ // Checks for config at the scan root only (the directory the user pointed at).
744
+ const resolvedVatContext = vatContext === undefined && resolvedGitRoot !== null
745
+ ? await buildVATProjectContext(resolvedBaseDir, logger)
746
+ : (vatContext ?? null);
747
+ // Compile picomatch for user-supplied --exclude patterns
748
+ const isMatch = userExcludes.length > 0 ? picomatch(userExcludes) : null;
537
749
  const entries = await fs.readdir(dirPath, { withFileTypes: true });
750
+ // Build full paths and batch-check gitignore status
751
+ const entryPaths = entries.map(e => safePath.join(dirPath, e.name));
752
+ const gitIgnoredMap = buildGitIgnoreMap(entryPaths, resolvedGitRoot, options.includeArtifacts ?? false);
538
753
  for (const entry of entries) {
539
754
  const fullPath = safePath.join(dirPath, entry.name);
540
- // Check exclude patterns against path relative to the base scan directory
541
- if (isMatch !== null) {
542
- const relativePath = safePath.relative(resolvedBaseDir, fullPath).replaceAll('\\', '/');
543
- if (isExcludedPath(isMatch, relativePath, entry.isDirectory())) {
544
- logger.debug(`Excluding path: ${relativePath}`);
545
- continue;
546
- }
755
+ const skipReason = getSkipReason(entry, fullPath, resolvedBaseDir, gitIgnoredMap, isMatch);
756
+ if (skipReason !== null) {
757
+ logger.debug(`Excluding path: ${skipReason}`);
758
+ continue;
547
759
  }
548
760
  if (entry.isFile()) {
549
- const result = await handleFileEntry(entry, fullPath, options, logger);
761
+ const result = await handleFileEntry(entry, fullPath, options, logger, resolvedVatContext);
550
762
  if (result !== null) {
551
763
  results.push(result);
552
764
  }
553
765
  }
554
766
  else if (entry.isDirectory()) {
555
- const dirResults = await handleDirectoryEntry(fullPath, recursive, options, logger, resolvedBaseDir);
767
+ const dirResults = await handleDirectoryEntry(fullPath, recursive, options, logger, resolvedBaseDir, resolvedGitRoot, resolvedVatContext);
556
768
  results.push(...dirResults);
557
769
  }
558
770
  }
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,EACL,oBAAoB,EACpB,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,yBAAyB,GAM1B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,GAGtB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACtG,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAcvE,mFAAmF;AACnF,MAAM,yBAAyB,GAA6B,aAAa,CAAC;AAQ1E;;;;;GAKG;AACH,SAAS,wBAAwB,CAC/B,QAA6C,EAC7C,iBAAsD;IAEtD,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,iBAAiB,EAAE,CAAC;IACrD,MAAM,eAAe,GAAyB,EAAE,CAAC;IAEjD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YAC/C,eAA2C,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAwD,CAAC;IACrG,IAAI,gBAAgB,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5C,eAA2C,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC;IACvG,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,sBAAsB,CACnC,QAAgB,EAChB,MAAuC;IAEvC,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,MAAM,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,UAAU,GAAG,QAAQ,CAAC;IAE5B,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,wBAAwB,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC7E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAgC,CAAC;QAE7D,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,eAAe,GAAG,wBAAwB,CAC9C,QAA+C,EAC/C,cAAc,EAAE,CAAC,KAAK,CAAC,IAAI,CAAwC,CACpE,CAAC;YACF,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,6BAA6B,YAAY,CAAC,IAAI,0BAA0B,CAAC,CAAC;QACvF,OAAO,EAAE,YAAY,EAAE,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,kDAAkD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,iCAAiC,CACxC,SAAiB,EACjB,MAAiC,EACjC,WAA+B;IAE/B,sFAAsF;IACtF,4DAA4D;IAC5D,mFAAmF;IACnF,oBAAoB;IACpB,MAAM,MAAM,GAAG,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;QAChE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,WAAW,CAAC;QACvC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;IACrB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IACrE,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IACzE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAEnE,IAAI,MAAkC,CAAC;IACvC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,GAAG,OAAO,CAAC;IACnB,CAAC;SAAM,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,yBAAyB;QAC/B,MAAM;QACN,OAAO,EAAE,GAAG,UAAU,YAAY,YAAY,cAAc,SAAS,OAAO;QAC5E,MAAM;QACN,QAAQ,EAAE;YACR,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU;YACrC,IAAI,EAAE,MAAM,CAAC,SAAS;SACvB;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,mBAAmB,CAChC,SAAiB,EACjB,OAA4B,EAC5B,MAAuC,EACvC,cAAwB;IAExB,4EAA4E;IAC5E,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;IAC9E,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9E,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,wCAAwC,SAAS,EAAE,CAAC,CAAC;YAClE,MAAM,eAAe,GAAG,MAAM,yBAAyB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAChF,wGAAwG;YACxG,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACzD,MAAM,YAAY,GAAG,kBAAkB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YACjE,OAAO,iCAAiC,CAAC,SAAS,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,MAAM,eAAe,GAAoB,EAAE,SAAS,EAAE,CAAC;IACvD,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAClC,eAAe,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAChD,CAAC;IACD,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5B,eAAe,CAAC,cAAc,GAAG,IAAI,CAAC;IACxC,CAAC;IACD,OAAO,aAAa,CAAC,eAAe,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,KAAa,EAAE,QAAkB;IAChD,OAAO,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEnC,KAAK;SACF,WAAW,CAAC,4DAA4D,CAAC;SACzE,QAAQ,CAAC,QAAQ,EAAE,4CAA4C,CAAC;SAChE,MAAM,CAAC,gBAAgB,EAAE,6DAA6D,CAAC;SACvF,MAAM,CAAC,kBAAkB,EAAE,kDAAkD,EAAE,OAAO,EAAE,EAAE,CAAC;SAC3F,MAAM,CAAC,qBAAqB,EAAE,uFAAuF,CAAC;SACtH,MAAM,CAAC,QAAQ,EAAE,uHAAuH,CAAC;SACzI,MAAM,CAAC,WAAW,EAAE,4DAA4D,CAAC;SACjF,MAAM,CAAC,2BAA2B,EAAE,mDAAmD,CAAC;SACxF,MAAM,CAAC,UAAU,EAAE,gGAAgG,CAAC;SACpH,MAAM,CAAC,mBAAmB,EAAE,0FAA0F,CAAC;SACvH,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC;SACzC,MAAM,CAAC,YAAY,CAAC;SACpB,UAAU,CAAC,0BAA0B,EAAE,CAAC;SACxC,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8FL,CACI,CAAC;IAEJ,OAAO,KAAK,CAAC;AACf,CAAC;AAGD;;;GAGG;AACH,KAAK,UAAU,oBAAoB,CACjC,SAAkB,EAClB,OAA4B,EAC5B,SAAiB,EACjB,MAAuC;IAEvC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAExE,+GAA+G;IAC/G,MAAM,gBAAgB,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACnD,+GAA+G;IAC/G,MAAM,eAAe,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACjD,+GAA+G;IAC/G,MAAM,qBAAqB,GAAG,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAE7D,IAAI,CAAC,gBAAgB,IAAI,CAAC,eAAe,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACpE,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,cAAc,UAAU,EAAE,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,aAAa,SAAS,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,mBAAmB,eAAe,EAAE,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAuB,EAAE,CAAC;IAEvC,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,CAAC,mCAAmC,UAAU,EAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,oBAAoB,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,kCAAkC,SAAS,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,qBAAqB,EAAE,CAAC;QAC1B,MAAM,CAAC,KAAK,CAAC,wCAAwC,eAAe,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,oBAAoB,CAAC,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,qDAAqD;IACrD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM;QAC9B,CAAC,CAAC,MAAM,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAE,0CAA0C;QACtF,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7F,MAAM,YAAY,GAAG,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,4BAA4B,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC1F,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,sBAAsB,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,sEAAsE;AACtE,MAAM,kBAAkB,GAA0C,IAAI,GAAG,CAAC,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAC,CAAC;AAEpH;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,UAA8B;IACtD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAC1B,MAAwB,EACxB,cAA0C;IAE1C,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IAC7E,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IACjF,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAE3E,IAAI,MAAkC,CAAC;IACvC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,GAAG,OAAO,CAAC;IACnB,CAAC;SAAM,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;IAED,OAAO;QACL,GAAG,MAAM;QACT,MAAM;QACN,OAAO,EAAE,GAAG,UAAU,YAAY,YAAY,cAAc,SAAS,OAAO;QAC5E,MAAM,EAAE,cAAc;KACvB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,mBAAmB,CAC1B,OAA2B,EAC3B,MAAqC;IAErC,IAAI,MAAM,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,MAAM,eAAe,GAAG,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,IAAI,EAAE,CAAC;IAE1E,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QAC1B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC;QACxC,MAAM,gBAAgB,GAAG,SAAS,KAAK,SAAS;YAC9C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;QAEnE,qCAAqC;QACrC,MAAM,iBAAiB,GAA2B,EAAE,GAAG,eAAe,EAAE,GAAG,gBAAgB,EAAE,CAAC;QAE9F,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC;QAEjG,IAAI,cAAc,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,mBAAmB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAA8B,EAC9B,OAA4B;IAE5B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,0FAA0F;QAC1F,MAAM,SAAS,GAAY,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC;QAEvD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,oBAAoB,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAC3E,MAAM,CAAC,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;QAEnD,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAEpF,mFAAmF;QACnF,MAAM,MAAM,GAAG,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;QAExD,6EAA6E;QAC7E,8DAA8D;QAC9D,MAAM,OAAO,GAAG,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAExD,sEAAsE;QACtE,IAAI,iBAAgD,CAAC;QACrD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,YAAY,GAAG,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;gBACzF,IAAI,CAAC;oBACH,iBAAiB,GAAG,MAAM,qBAAqB,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC1F,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,KAAK,CAAC,qCAAqC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM;YAC9B,CAAC,CAAC,MAAM,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC;YAC7D,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAChE,eAAe,CAAC,OAAO,CAAC,CAAC;QACzB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAgB,EAChB,SAAkB,EAClB,OAA4B,EAC5B,MAAuC;IAEvC,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAEtC,4CAA4C;IAC5C,IAAI,MAAM,KAAK,yBAAyB,EAAE,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC5C,OAAO,CAAC,MAAM,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,wDAAwD;IACxD,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACxD,OAAO,CAAC,MAAM,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,8EAA8E;IAC9E,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAE5D,IAAI,cAAc,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,YAAY,cAAc,CAAC,IAAI,QAAQ,QAAQ,EAAE,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAED,2DAA2D;IAC3D,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACjD,OAAO,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;IACnE,CAAC;IAED,oFAAoF;IACpF,MAAM,CAAC,KAAK,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,iBAAiB,CAC9B,OAA2B,EAC3B,MAAuC,EACvC,iBAAqC;IAErC,MAAM,SAAS,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEzD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe;YAAE,SAAS;QAE9C,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,uCAAuC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAEvD,6DAA6D;YAC7D,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBACpC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,MAAM,iBAAiB,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;oBAC3F,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBAC/D,CAAC;gBAAC,OAAO,WAAW,EAAE,CAAC;oBACrB,MAAM,CAAC,KAAK,CAAC,qCAAqC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;oBACzF,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,iEAAiE;YACjE,MAAM,CAAC,KAAK,CAAC,sCAAsC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAC7B,OAA2B,EAC3B,SAA2C;IAE3C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACrB,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;QAEnC,kFAAkF;QAClF,MAAM,EAAE,iBAAiB,EAAE,GAAG,qBAAqB,EAAE,GAAG,MAAM,CAAC;QAE/D,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO;gBACL,GAAG,CAAC;gBACJ,aAAa,EAAE,qBAAqB;gBACpC,QAAQ,EAAE;oBACR,UAAU,EAAE,iBAAiB,CAAC,MAAM,KAAK,CAAC;oBAC1C,SAAS,EAAE,iBAAiB;iBAC7B;aACF,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,GAAG,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CACrB,OAA2B,EAC3B,SAA4C;IAE5C,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAClD,OAAO,sBAAsB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,gBAAgB,CACvB,OAA2B,EAC3B,SAAiB,EACjB,SAA4C;IAE5C,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAClD,OAAO;QACL,GAAG,IAAI;QACP,KAAK,EAAE,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,OAA2B,EAC3B,OAAmI,EACnI,MAAuC;IAEvC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAE9F,qDAAqD;IACrD,MAAM,sBAAsB,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACrE,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,IAAI,sBAAsB,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,UAAU,sBAAsB,qEAAqE,CAAC,CAAC;IACtH,CAAC;IAED,iEAAiE;IACjE,mEAAmE;IACnE,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;SAAM,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QAC5B,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,qBAAqB,YAAY,iBAAiB,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,SAAS,CAChB,OAA2B,EAC3B,UAAkB,EAClB,MAAuC;IAEvC,MAAM,CAAC,KAAK,CAAC,iBAAiB,UAAU,sBAAsB,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;IAEnF,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QAClC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;QAC9F,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAClB,OAA2B,EAC3B,YAAoB,EACpB,MAAuC;IAEvC,MAAM,CAAC,IAAI,CAAC,+BAA+B,YAAY,UAAU,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IAEvF,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QACjC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;QAClG,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAChB,MAAiF,EACjF,KAAgC;IAEhC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,KAAK,CAAC,WAAW,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACd,KAAK,CAAC,YAAY,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CACrB,OAAqC,EACrC,YAAoB,EACpB,WAAoB;IAEpB,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,eAAe,CAC5B,KAAuB,EACvB,QAAgB,EAChB,OAA4B,EAC5B,MAAuC,EACvC,UAAoC;IAEpC,2BAA2B;IAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,wBAAwB,IAAI,KAAK,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;QACxF,MAAM,CAAC,KAAK,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC;QACjD,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,qBAAqB;IACrB,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC;QAEpD,4DAA4D;QAC5D,MAAM,WAAW,GAAG,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7E,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,wCAAwC,QAAQ,EAAE,CAAC,CAAC;YACjE,MAAM,eAAe,GAAG,MAAM,yBAAyB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC/E,oEAAoE;YACpE,mGAAmG;YACnG,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACxD,MAAM,YAAY,GAAG,kBAAkB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAChE,OAAO,iCAAiC,CAAC,QAAQ,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;QACpF,CAAC;QAED,8BAA8B;QAC9B,MAAM,eAAe,GAAoB,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QACjE,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAClC,eAAe,CAAC,sBAAsB,GAAG,IAAI,CAAC;QAChD,CAAC;QACD,OAAO,aAAa,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,oBAAoB,CACjC,QAAgB,EAChB,SAAkB,EAClB,OAA4B,EAC5B,MAAuC,EACvC,OAAe,EACf,OAAsB,EACtB,UAAoC;IAEpC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAuB,EAAE,CAAC;IAEvC,sDAAsD;IACtD,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAClE,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAE7F,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,kCAAkC,QAAQ,EAAE,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,8EAA8E;IAC9E,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC3G,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,qBAAqB,CAAC,OAAe,EAAE,OAAkC;IAChF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;YACjE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CACxB,UAAoB,EACpB,OAAsB,EACtB,gBAAyB;IAEzB,IAAI,OAAO,KAAK,IAAI,IAAI,gBAAgB,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CACpB,KAAmD,EACnD,QAAgB,EAChB,eAAuB,EACvB,aAA0C,EAC1C,OAA4C;IAE5C,gEAAgE;IAChE,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,wBAAwB;IACxB,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;QACnE,OAAO,eAAe,KAAK,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,yCAAyC;IACzC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACxF,IAAI,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC/D,OAAO,aAAa,YAAY,EAAE,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,OAAe,EACf,SAAkB,EAClB,OAA4B,EAC5B,MAAuC,EACvC,OAAgB,EAChB,OAAuB,EACvB,UAAqC;IAErC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IAC3C,MAAM,eAAe,GAAG,OAAO,IAAI,OAAO,CAAC;IAC3C,MAAM,eAAe,GAAG,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEhE,6DAA6D;IAC7D,+EAA+E;IAC/E,MAAM,kBAAkB,GAAG,UAAU,KAAK,SAAS,IAAI,eAAe,KAAK,IAAI;QAC7E,CAAC,CAAC,MAAM,sBAAsB,CAAC,eAAe,EAAE,MAAM,CAAC;QACvD,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;IAEzB,yDAAyD;IACzD,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEzE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAEnE,oDAAoD;IACpD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,MAAM,aAAa,GAAG,iBAAiB,CAAC,UAAU,EAAE,eAAe,EAAE,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC,CAAC;IAExG,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAEpD,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QAC3F,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;YAC9C,SAAS;QACX,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;YAC3F,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC;YAC1I,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,OAA2B;IACzD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IACxF,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAE5F,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,YAAwD;IAC9E,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,2BAA2B;IAC3B,KAAK,MAAM,WAAW,IAAI,YAAY,CAAC,YAAY,EAAE,CAAC;QACpD,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACzC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAChC,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;QAChD,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAChC,CAAC;IAED,iCAAiC;IACjC,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,CAAC;QACpD,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAChC,CAAC;IAED,0BAA0B;IAC1B,KAAK,IAAI,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC;IAE9C,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,OAA2B;IACvD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAC5F,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAC5F,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IAExF,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,CAAmB,EAAE,EAAE,CACtE,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAC7D,CAAC;IACF,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,CAAmB,EAAE,EAAE,CACxE,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,CAC/D,CAAC;IACF,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,CAAmB,EAAE,EAAE,CACpE,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAC5D,CAAC;IAEF,OAAO;QACL,YAAY;QACZ,YAAY;QACZ,UAAU;QACV,WAAW;QACX,aAAa;QACb,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,OAA2B,EAC3B,SAAiB;IAOjB,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAE/C,OAAO;QACL,MAAM;QACN,OAAO,EAAE;YACP,YAAY,EAAE,OAAO,CAAC,MAAM;YAC5B,OAAO,EAAE,MAAM,CAAC,YAAY;YAC5B,QAAQ,EAAE,MAAM,CAAC,YAAY;YAC7B,MAAM,EAAE,MAAM,CAAC,UAAU;SAC1B;QACD,MAAM,EAAE;YACN,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,QAAQ,EAAE,MAAM,CAAC,aAAa;YAC9B,IAAI,EAAE,MAAM,CAAC,SAAS;SACvB;QACD,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI;KACxC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,4BAA4B,CACnC,OAA2B,EAC3B,YAAwD,EACxD,SAAiB,EACjB,SAA4C;IAE5C,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAElD,OAAO;QACL,GAAG,IAAI;QACP,OAAO,EAAE;YACP,GAAG,IAAI,CAAC,OAAO;YACf,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,MAAM;YAC9C,aAAa,EAAE,YAAY,CAAC,aAAa,CAAC,MAAM;YAChD,iBAAiB,EAAE,YAAY,CAAC,iBAAiB,CAAC,MAAM;YACxD,gBAAgB,EAAE,YAAY,CAAC,gBAAgB,CAAC,MAAM;SACvD;QACD,KAAK,EAAE,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC;QACzC,YAAY;KACb,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAC7B,OAA2B,EAC3B,YAAwD,EACxD,MAAuC;IAEvC,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,gBAAgB,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAEnC,iEAAiE;IACjE,mEAAmE;IACnE,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;QACxF,MAAM,CAAC,KAAK,CAAC,eAAe,UAAU,0BAA0B,WAAW,aAAa,gBAAgB,eAAe,CAAC,CAAC;IAC3H,CAAC;SAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;QAC5F,MAAM,CAAC,IAAI,CAAC,+BAA+B,YAAY,cAAc,WAAW,aAAa,gBAAgB,eAAe,CAAC,CAAC;IAChI,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,qBAAqB,WAAW,kBAAkB,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
package/docs/audit.md CHANGED
@@ -30,6 +30,27 @@ vat audit [path] [options]
30
30
  - `-r, --recursive` - Scan directories recursively for all resource types
31
31
  - `--debug` - Enable debug logging (outputs to stderr)
32
32
 
33
+ ### Gitignore-aware scanning
34
+
35
+ When scanning inside a git repository, `vat audit` skips paths that match
36
+ the project's `.gitignore` rules. This automatically excludes build
37
+ artifacts (`dist/`), dependencies (`node_modules/`), and any other
38
+ project-specific ignored directories without maintaining a hardcoded list.
39
+
40
+ To opt back into scanning gitignored paths (for example, to audit a
41
+ bundled marketplace plugin in `dist/`), use `--include-artifacts`.
42
+
43
+ User-supplied `--exclude` patterns are always applied on top of gitignore
44
+ filtering. Outside a git repository, no automatic exclusions apply.
45
+
46
+ Examples:
47
+
48
+ vat audit . # Gitignored paths skipped
49
+ vat audit --include-artifacts . # Scan everything
50
+ vat audit --exclude "vendor/**" . # Gitignore + extra exclusion
51
+ vat audit --include-artifacts --exclude "**/node_modules/**" .
52
+ # Override gitignore, re-exclude node_modules
53
+
33
54
  ## Supported Resource Types
34
55
 
35
56
  ### 1. Plugin Directories
@@ -132,6 +153,24 @@ vat audit --user
132
153
  - Cache status for each plugin
133
154
  - Issue counts at each level
134
155
 
156
+ ### Multi-dir Workflows
157
+
158
+ `--user` is singular — one Claude config dir per invocation. The target
159
+ directory is resolved from `$CLAUDE_CONFIG_DIR` if set, otherwise defaults
160
+ to `~/.claude`. For users with multiple Claude config dirs (for example,
161
+ `~/.claude` for work and `~/.claude-personal` for personal projects), loop
162
+ in the shell:
163
+
164
+ ```bash
165
+ for dir in ~/.claude ~/.claude-personal; do
166
+ CLAUDE_CONFIG_DIR="$dir" vat audit --user --verbose
167
+ done
168
+ ```
169
+
170
+ This pattern matches Claude Code's own `CLAUDE_CONFIG_DIR` convention and
171
+ scales naturally to community smell-scanning (see the VAT skill-smell
172
+ detection strategy doc, workstream B).
173
+
135
174
  **Example output**:
136
175
  ```yaml
137
176
  status: success
@@ -200,7 +239,7 @@ Errors prevent the resource from being used correctly:
200
239
  Warnings indicate potential issues but don't prevent usage:
201
240
 
202
241
  - **Skill exceeds recommended length**: Over 5000 lines (Skills only)
203
- - **Console-incompatible tools**: References tools that don't work in console (Skills only)
242
+ - **Compat smells**: Skill requires a runtime capability that isn't available on every surface (browser auth, local shell, external CLI) — see `COMPAT_*` codes in `docs/validation-codes.md`.
204
243
 
205
244
  ## Error Codes Reference
206
245
 
@@ -250,7 +289,9 @@ Warnings indicate potential issues but don't prevent usage:
250
289
  | Code | Severity | Description | Fix |
251
290
  |------|----------|-------------|-----|
252
291
  | `SKILL_TOO_LONG` | warning | Skill exceeds 5000 lines | Consider splitting into multiple skills |
253
- | `SKILL_CONSOLE_INCOMPATIBLE` | warning | References console-incompatible tools | Use console-compatible alternatives |
292
+ | `COMPAT_REQUIRES_BROWSER_AUTH` | warning | Skill needs browser login (MSAL, SSO, OAuth) | See `docs/validation-codes.md#compat_requires_browser_auth` |
293
+ | `COMPAT_REQUIRES_LOCAL_SHELL` | warning | Skill needs local shell/environment tools (Bash, Edit, Write, NotebookEdit) | See `docs/validation-codes.md#compat_requires_local_shell` |
294
+ | `COMPAT_REQUIRES_EXTERNAL_CLI` | warning | Skill invokes unbundled CLI (az, aws, gcloud, etc.) | See `docs/validation-codes.md#compat_requires_external_cli` |
254
295
 
255
296
  ### Format Detection Errors
256
297
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibe-agent-toolkit/cli",
3
- "version": "0.1.30",
3
+ "version": "0.1.31",
4
4
  "description": "Command-line interface for vibe-agent-toolkit",
5
5
  "type": "module",
6
6
  "bin": {
@@ -41,16 +41,16 @@
41
41
  "//dependencies-note": "DO NOT add example agent packages or adopter packages here. Adopter packages (like vat-development-agents) depend on the CLI binary at build time — declaring them as deps creates a circular build dependency. They are built in a second turbo pass via package#task overrides in turbo.json.",
42
42
  "dependencies": {
43
43
  "@anthropic-ai/sdk": "^0.71.2",
44
- "@vibe-agent-toolkit/agent-config": "0.1.30",
45
- "@vibe-agent-toolkit/agent-schema": "0.1.30",
46
- "@vibe-agent-toolkit/agent-skills": "0.1.30",
47
- "@vibe-agent-toolkit/claude-marketplace": "0.1.30",
48
- "@vibe-agent-toolkit/discovery": "0.1.30",
49
- "@vibe-agent-toolkit/gateway-mcp": "0.1.30",
50
- "@vibe-agent-toolkit/rag": "0.1.30",
51
- "@vibe-agent-toolkit/rag-lancedb": "0.1.30",
52
- "@vibe-agent-toolkit/resources": "0.1.30",
53
- "@vibe-agent-toolkit/utils": "0.1.30",
44
+ "@vibe-agent-toolkit/agent-config": "0.1.31",
45
+ "@vibe-agent-toolkit/agent-schema": "0.1.31",
46
+ "@vibe-agent-toolkit/agent-skills": "0.1.31",
47
+ "@vibe-agent-toolkit/claude-marketplace": "0.1.31",
48
+ "@vibe-agent-toolkit/discovery": "0.1.31",
49
+ "@vibe-agent-toolkit/gateway-mcp": "0.1.31",
50
+ "@vibe-agent-toolkit/rag": "0.1.31",
51
+ "@vibe-agent-toolkit/rag-lancedb": "0.1.31",
52
+ "@vibe-agent-toolkit/resources": "0.1.31",
53
+ "@vibe-agent-toolkit/utils": "0.1.31",
54
54
  "adm-zip": "^0.5.16",
55
55
  "commander": "^12.1.0",
56
56
  "js-yaml": "^4.1.0",