@vibe-agent-toolkit/cli 0.1.34-rc.2 → 0.1.34

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 (46) hide show
  1. package/dist/bin.js +4 -0
  2. package/dist/bin.js.map +1 -1
  3. package/dist/commands/audit/git-url-clone.d.ts +32 -0
  4. package/dist/commands/audit/git-url-clone.d.ts.map +1 -0
  5. package/dist/commands/audit/git-url-clone.js +135 -0
  6. package/dist/commands/audit/git-url-clone.js.map +1 -0
  7. package/dist/commands/audit/provenance.d.ts +33 -0
  8. package/dist/commands/audit/provenance.d.ts.map +1 -0
  9. package/dist/commands/audit/provenance.js +57 -0
  10. package/dist/commands/audit/provenance.js.map +1 -0
  11. package/dist/commands/audit.d.ts.map +1 -1
  12. package/dist/commands/audit.js +218 -72
  13. package/dist/commands/audit.js.map +1 -1
  14. package/dist/commands/claude/marketplace/validate.d.ts.map +1 -1
  15. package/dist/commands/claude/marketplace/validate.js +2 -1
  16. package/dist/commands/claude/marketplace/validate.js.map +1 -1
  17. package/dist/commands/corpus/index.d.ts +6 -0
  18. package/dist/commands/corpus/index.d.ts.map +1 -0
  19. package/dist/commands/corpus/index.js +53 -0
  20. package/dist/commands/corpus/index.js.map +1 -0
  21. package/dist/commands/corpus/report.d.ts +75 -0
  22. package/dist/commands/corpus/report.d.ts.map +1 -0
  23. package/dist/commands/corpus/report.js +83 -0
  24. package/dist/commands/corpus/report.js.map +1 -0
  25. package/dist/commands/corpus/runner.d.ts +24 -0
  26. package/dist/commands/corpus/runner.d.ts.map +1 -0
  27. package/dist/commands/corpus/runner.js +246 -0
  28. package/dist/commands/corpus/runner.js.map +1 -0
  29. package/dist/commands/corpus/scan.d.ts +15 -0
  30. package/dist/commands/corpus/scan.d.ts.map +1 -0
  31. package/dist/commands/corpus/scan.js +90 -0
  32. package/dist/commands/corpus/scan.js.map +1 -0
  33. package/dist/commands/corpus/seed.d.ts +178 -0
  34. package/dist/commands/corpus/seed.d.ts.map +1 -0
  35. package/dist/commands/corpus/seed.js +63 -0
  36. package/dist/commands/corpus/seed.js.map +1 -0
  37. package/dist/commands/inventory.d.ts +17 -0
  38. package/dist/commands/inventory.d.ts.map +1 -0
  39. package/dist/commands/inventory.js +90 -0
  40. package/dist/commands/inventory.js.map +1 -0
  41. package/dist/utils/git-url.d.ts +43 -0
  42. package/dist/utils/git-url.d.ts.map +1 -0
  43. package/dist/utils/git-url.js +135 -0
  44. package/dist/utils/git-url.js.map +1 -0
  45. package/docs/audit.md +54 -3
  46. package/package.json +11 -11
package/dist/bin.js CHANGED
@@ -9,7 +9,9 @@ import { createAgentCommand, showAgentVerboseHelp } from './commands/agent/index
9
9
  import { createAuditCommand } from './commands/audit.js';
10
10
  import { createBuildTopLevelCommand } from './commands/build.js';
11
11
  import { createClaudeCommand } from './commands/claude/index.js';
12
+ import { createCorpusCommand } from './commands/corpus/index.js';
12
13
  import { doctorCommand } from './commands/doctor.js';
14
+ import { createInventoryCommand } from './commands/inventory.js';
13
15
  import { createMCPCommand } from './commands/mcp/index.js';
14
16
  import { createRagCommand, showRagVerboseHelp } from './commands/rag/index.js';
15
17
  import { createResourcesCommand, showResourcesVerboseHelp } from './commands/resources/index.js';
@@ -107,6 +109,8 @@ if (process.argv.includes('agent') && process.argv.includes('--verbose')) {
107
109
  }
108
110
  // Add command groups (audit is common, should be first)
109
111
  program.addCommand(createAuditCommand());
112
+ program.addCommand(createCorpusCommand());
113
+ program.addCommand(createInventoryCommand());
110
114
  program.addCommand(createResourcesCommand());
111
115
  program.addCommand(createRagCommand());
112
116
  program.addCommand(createAgentCommand());
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Shallow-clone-and-cleanup helper for `vat audit <git-url>`.
3
+ *
4
+ * Pipeline:
5
+ * 1. mkdtempSync('vat-audit-')
6
+ * 2. install SIGINT handler that removes the tempdir
7
+ * 3. git clone --depth 1 --single-branch [--branch <ref>]
8
+ * 4. git rev-parse HEAD → resolved commit SHA
9
+ * 5. yield (tempdir, targetDir, provenance) to caller
10
+ * 6. cleanup in finally — always rm tempdir unless `keepTempForDebug`
11
+ */
12
+ import type { ParsedGitUrl } from '../../utils/git-url.js';
13
+ import type { Provenance } from './provenance.js';
14
+ export interface CloneAndAuditContext {
15
+ tempdir: string;
16
+ targetDir: string;
17
+ provenance: Provenance;
18
+ }
19
+ export interface CloneOptions {
20
+ /**
21
+ * If true, skip the tempdir cleanup at the end and print the path to
22
+ * stderr. Wired to the existing `--debug` flag in `auditCommand`.
23
+ */
24
+ keepTempForDebug: boolean;
25
+ }
26
+ /**
27
+ * Run `body` against a freshly shallow-cloned repo. Always cleans up the
28
+ * tempdir unless `options.keepTempForDebug` is true. Re-raises any error
29
+ * from the clone or from `body`.
30
+ */
31
+ export declare function withClonedRepo<T>(parsed: ParsedGitUrl, options: CloneOptions, body: (ctx: CloneAndAuditContext) => Promise<T>): Promise<T>;
32
+ //# sourceMappingURL=git-url-clone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-url-clone.d.ts","sourceRoot":"","sources":["../../../src/commands/audit/git-url-clone.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,CAAC,GAAG,EAAE,oBAAoB,KAAK,OAAO,CAAC,CAAC,CAAC,GAC9C,OAAO,CAAC,CAAC,CAAC,CA+EZ"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Shallow-clone-and-cleanup helper for `vat audit <git-url>`.
3
+ *
4
+ * Pipeline:
5
+ * 1. mkdtempSync('vat-audit-')
6
+ * 2. install SIGINT handler that removes the tempdir
7
+ * 3. git clone --depth 1 --single-branch [--branch <ref>]
8
+ * 4. git rev-parse HEAD → resolved commit SHA
9
+ * 5. yield (tempdir, targetDir, provenance) to caller
10
+ * 6. cleanup in finally — always rm tempdir unless `keepTempForDebug`
11
+ */
12
+ import { spawnSync } from 'node:child_process';
13
+ import { existsSync, mkdtempSync, readdirSync, rmSync } from 'node:fs';
14
+ import { normalizedTmpdir, safePath } from '@vibe-agent-toolkit/utils';
15
+ /**
16
+ * Run `body` against a freshly shallow-cloned repo. Always cleans up the
17
+ * tempdir unless `options.keepTempForDebug` is true. Re-raises any error
18
+ * from the clone or from `body`.
19
+ */
20
+ export async function withClonedRepo(parsed, options, body) {
21
+ const tempdir = mkdtempSync(safePath.join(normalizedTmpdir(), 'vat-audit-'));
22
+ const sigintListener = () => {
23
+ try {
24
+ rmSync(tempdir, { recursive: true, force: true });
25
+ }
26
+ finally {
27
+ process.removeListener('SIGINT', sigintListener);
28
+ process.kill(process.pid, 'SIGINT');
29
+ }
30
+ };
31
+ process.on('SIGINT', sigintListener);
32
+ // The audit pipeline calls `process.exit()` on completion
33
+ // (`handleAuditResults` in audit.ts), which would skip any `finally`
34
+ // block here. Register an `'exit'` listener so cleanup runs even when
35
+ // the process is ending — this is Node's documented escape hatch for
36
+ // "always run this sync cleanup". We still keep the `finally` below so
37
+ // thrown errors and the non-exit path behave the same.
38
+ let cleaned = false;
39
+ const cleanup = () => {
40
+ if (cleaned)
41
+ return;
42
+ cleaned = true;
43
+ if (options.keepTempForDebug) {
44
+ process.stderr.write(`[vat: debug — temp dir preserved: ${tempdir}]\n`);
45
+ }
46
+ else {
47
+ rmSync(tempdir, { recursive: true, force: true });
48
+ }
49
+ };
50
+ const exitListener = () => {
51
+ cleanup();
52
+ };
53
+ process.on('exit', exitListener);
54
+ try {
55
+ const ref = cloneShallow(parsed, tempdir);
56
+ const commit = revParseHead(tempdir);
57
+ const { subpath } = parsed;
58
+ const targetDir = subpath ? safePath.join(tempdir, subpath) : tempdir;
59
+ // Reject subpaths that resolve outside the cloned tempdir. Without
60
+ // this check, an input like `repo#main:../../../etc` would still let
61
+ // the audit run against unrelated host paths and leak them into
62
+ // output (`rewritePathsInResults` only strips the tempRoot prefix).
63
+ if (subpath !== undefined) {
64
+ const resolvedTarget = safePath.resolve(targetDir);
65
+ const resolvedTemp = safePath.resolve(tempdir);
66
+ const inside = resolvedTarget === resolvedTemp ||
67
+ resolvedTarget.startsWith(`${resolvedTemp}/`);
68
+ if (!inside) {
69
+ throw new Error(`Subpath escapes the cloned repository: ${subpath}. ` +
70
+ `Subpaths must be relative paths inside the repo (no \`..\` traversal).`);
71
+ }
72
+ }
73
+ // eslint-disable-next-line security/detect-non-literal-fs-filename -- targetDir is composed from our own tempdir + validated subpath
74
+ if (!existsSync(targetDir)) {
75
+ // eslint-disable-next-line security/detect-non-literal-fs-filename -- tempdir is our own mkdtempSync-created directory
76
+ const topLevel = readdirSync(tempdir).join(', ');
77
+ throw new Error(`Subpath not found in cloned repo: ${subpath ?? '(none)'}. ` +
78
+ `Repo root contains: ${topLevel}.`);
79
+ }
80
+ const provenance = {
81
+ url: parsed.cloneUrl,
82
+ ref,
83
+ commit,
84
+ ...(subpath ? { subpath } : {}),
85
+ };
86
+ return await body({ tempdir, targetDir, provenance });
87
+ }
88
+ finally {
89
+ process.removeListener('SIGINT', sigintListener);
90
+ process.removeListener('exit', exitListener);
91
+ cleanup();
92
+ }
93
+ }
94
+ function cloneShallow(parsed, tempdir) {
95
+ const args = ['clone', '--depth', '1', '--single-branch'];
96
+ if (parsed.ref !== undefined) {
97
+ args.push('--branch', parsed.ref);
98
+ }
99
+ args.push(parsed.cloneUrl, tempdir);
100
+ // eslint-disable-next-line sonarjs/no-os-command-from-path -- git is a standard system command
101
+ const result = spawnSync('git', args, {
102
+ encoding: 'utf-8',
103
+ stdio: ['pipe', 'pipe', 'pipe'],
104
+ });
105
+ const status = result.status ?? 1;
106
+ if (status !== 0) {
107
+ const stderr = (result.stderr ?? '').trim();
108
+ if (parsed.ref !== undefined && /not found|did not match/i.test(stderr)) {
109
+ throw new Error(`Reference not found in ${parsed.cloneUrl}: ${parsed.ref}. ` +
110
+ `Hint: --depth 1 cloning cannot resolve arbitrary deep commit SHAs; ` +
111
+ `try a branch or tag name.`);
112
+ }
113
+ throw new Error(`Clone failed:\n${stderr}`);
114
+ }
115
+ // The actual ref is what we asked for (--branch <ref>) or `HEAD` of the
116
+ // default branch. We cannot ask git for "what is the default branch
117
+ // name?" reliably from a shallow single-branch clone, so for the
118
+ // no-ref case we record 'HEAD' as the ref and rely on the commit SHA
119
+ // for precise reproduction.
120
+ return parsed.ref ?? 'HEAD';
121
+ }
122
+ function revParseHead(tempdir) {
123
+ // eslint-disable-next-line sonarjs/no-os-command-from-path -- git is a standard system command
124
+ const result = spawnSync('git', ['rev-parse', 'HEAD'], {
125
+ cwd: tempdir,
126
+ encoding: 'utf-8',
127
+ stdio: ['pipe', 'pipe', 'pipe'],
128
+ });
129
+ const status = result.status ?? 1;
130
+ if (status !== 0) {
131
+ throw new Error(`Failed to resolve HEAD commit in cloned repo: ${(result.stderr ?? '').trim()}`);
132
+ }
133
+ return (result.stdout ?? '').trim().slice(0, 8);
134
+ }
135
+ //# sourceMappingURL=git-url-clone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-url-clone.js","sourceRoot":"","sources":["../../../src/commands/audit/git-url-clone.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Provenance metadata for a `vat audit <git-url>` invocation. Captured
3
+ * after the shallow clone resolves, used to render the header that
4
+ * precedes audit output and to keep paths in output repo-relative
5
+ * (independent of the random tempdir name).
6
+ */
7
+ export interface Provenance {
8
+ /** The URL the user typed, preserved as-is for reproducibility. */
9
+ url: string;
10
+ /** Branch or tag name (the actual ref cloned). */
11
+ ref: string;
12
+ /** Resolved commit SHA of the cloned ref's HEAD. */
13
+ commit: string;
14
+ /** Subpath within the cloned repo, if specified. */
15
+ subpath?: string;
16
+ }
17
+ /**
18
+ * Render the provenance header for a URL audit. Each line is emitted as a
19
+ * YAML comment (`# `-prefixed) so that `vat audit <url> | yq` (or any
20
+ * downstream YAML consumer) can parse the rest of the output unchanged.
21
+ * Always ends with a newline.
22
+ */
23
+ export declare function renderProvenanceHeader(p: Provenance): string;
24
+ /**
25
+ * Walk a JSON-serializable structure and replace any string value that
26
+ * begins with `tempRoot` with its repo-relative equivalent (no leading
27
+ * separator, forward slashes only — matches the format paths take in
28
+ * existing audit output).
29
+ *
30
+ * Pure: returns a new structure, does not mutate the input.
31
+ */
32
+ export declare function rewritePathsInResults<T>(value: T, tempRoot: string): T;
33
+ //# sourceMappingURL=provenance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../../../src/commands/audit/provenance.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAC;IACZ,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAM5D;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAOtE"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Render the provenance header for a URL audit. Each line is emitted as a
3
+ * YAML comment (`# `-prefixed) so that `vat audit <url> | yq` (or any
4
+ * downstream YAML consumer) can parse the rest of the output unchanged.
5
+ * Always ends with a newline.
6
+ */
7
+ export function renderProvenanceHeader(p) {
8
+ let header = `# Audited: ${p.url} @ ${p.ref} (commit ${p.commit})\n`;
9
+ if (p.subpath) {
10
+ header += `# Subpath: ${p.subpath}\n`;
11
+ }
12
+ return header;
13
+ }
14
+ /**
15
+ * Walk a JSON-serializable structure and replace any string value that
16
+ * begins with `tempRoot` with its repo-relative equivalent (no leading
17
+ * separator, forward slashes only — matches the format paths take in
18
+ * existing audit output).
19
+ *
20
+ * Pure: returns a new structure, does not mutate the input.
21
+ */
22
+ export function rewritePathsInResults(value, tempRoot) {
23
+ // Normalize tempRoot to ensure a clean prefix match. Both POSIX and
24
+ // Windows-style separators must be handled because audit outputs may
25
+ // include either depending on the host.
26
+ const root = tempRoot.endsWith('/') ? tempRoot.slice(0, -1) : tempRoot;
27
+ const rootForward = root.replaceAll('\\', '/');
28
+ return rewrite(value, root, rootForward);
29
+ }
30
+ function rewrite(value, root, rootForward) {
31
+ if (typeof value === 'string') {
32
+ return rewriteString(value, root, rootForward);
33
+ }
34
+ if (Array.isArray(value)) {
35
+ return value.map((item) => rewrite(item, root, rootForward));
36
+ }
37
+ if (value !== null && typeof value === 'object') {
38
+ const out = {};
39
+ for (const [k, v] of Object.entries(value)) {
40
+ out[k] = rewrite(v, root, rootForward);
41
+ }
42
+ return out;
43
+ }
44
+ return value;
45
+ }
46
+ function rewriteString(s, root, rootForward) {
47
+ if (s.startsWith(root)) {
48
+ const tail = s.slice(root.length).replace(/^[/\\]/, '');
49
+ return tail.replaceAll('\\', '/');
50
+ }
51
+ if (s.startsWith(rootForward)) {
52
+ const tail = s.slice(rootForward.length).replace(/^[/\\]/, '');
53
+ return tail.replaceAll('\\', '/');
54
+ }
55
+ return s;
56
+ }
57
+ //# sourceMappingURL=provenance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provenance.js","sourceRoot":"","sources":["../../../src/commands/audit/provenance.ts"],"names":[],"mappings":"AAiBA;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,CAAa;IAClD,IAAI,MAAM,GAAG,cAAc,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC;IACrE,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QACd,MAAM,IAAI,cAAc,CAAC,CAAC,OAAO,IAAI,CAAC;IACxC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAI,KAAQ,EAAE,QAAgB;IACjE,oEAAoE;IACpE,qEAAqE;IACrE,wCAAwC;IACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvE,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/C,OAAO,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,OAAO,CAAI,KAAQ,EAAE,IAAY,EAAE,WAAmB;IAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAiB,CAAC;IACjE,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAiB,CAAC;IAC/E,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;YACtE,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,GAAQ,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,CAAS,EAAE,IAAY,EAAE,WAAmB;IACjE,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAUL,KAAK,oBAAoB,EAIzB,KAAK,gBAAgB,EACtB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EAEvB,MAAM,wCAAwC,CAAC;AAIhD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AASlD,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;AAOD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,6FAA6F;IAC7F,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CACjD;AAoRD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAqH5C;AA4MD,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAiDf;AAyCD;;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,CAgE7B;AA2CD;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,gBAAgB,EAAE,EAC3B,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,EACvC,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,UAAU,GAAE,iBAAiB,GAAG,IAAW,GAC1C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAiC3C;AA+ZD;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAaL,KAAK,oBAAoB,EAIzB,KAAK,gBAAgB,EACtB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAWL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EAEvB,MAAM,wCAAwC,CAAC;AAGhD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAelD,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;AAOD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,6FAA6F;IAC7F,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CACjD;AAoRD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAiI5C;AAiRD,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAyBf;AAkJD;;GAEG;AACH,wBAAsB,oBAAoB,CACzC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,mBAAmB,EAC5B,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,GACrC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAiG7B;AAwED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,gBAAgB,EAAE,EAC3B,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,EACvC,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,UAAU,GAAE,iBAAiB,GAAG,IAAW,GAC1C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAiC3C;AAyXD;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC"}