@vibe-validate/cli 0.18.3 → 0.18.4-rc.2

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 (68) hide show
  1. package/dist/bin.js +5 -3
  2. package/dist/bin.js.map +1 -1
  3. package/dist/commands/doctor.d.ts.map +1 -1
  4. package/dist/commands/doctor.js +110 -89
  5. package/dist/commands/doctor.js.map +1 -1
  6. package/dist/commands/generate-workflow.d.ts.map +1 -1
  7. package/dist/commands/generate-workflow.js +42 -32
  8. package/dist/commands/generate-workflow.js.map +1 -1
  9. package/dist/commands/history.d.ts.map +1 -1
  10. package/dist/commands/history.js +15 -7
  11. package/dist/commands/history.js.map +1 -1
  12. package/dist/commands/init.d.ts.map +1 -1
  13. package/dist/commands/init.js +20 -11
  14. package/dist/commands/init.js.map +1 -1
  15. package/dist/commands/pre-commit.d.ts.map +1 -1
  16. package/dist/commands/pre-commit.js +46 -29
  17. package/dist/commands/pre-commit.js.map +1 -1
  18. package/dist/commands/run.js +3 -3
  19. package/dist/commands/run.js.map +1 -1
  20. package/dist/commands/snapshot.d.ts.map +1 -1
  21. package/dist/commands/snapshot.js +26 -17
  22. package/dist/commands/snapshot.js.map +1 -1
  23. package/dist/commands/state.d.ts.map +1 -1
  24. package/dist/commands/state.js +3 -1
  25. package/dist/commands/state.js.map +1 -1
  26. package/dist/commands/validate.d.ts.map +1 -1
  27. package/dist/commands/validate.js +17 -134
  28. package/dist/commands/validate.js.map +1 -1
  29. package/dist/services/ci-providers/github-actions.d.ts.map +1 -1
  30. package/dist/services/ci-providers/github-actions.js +2 -0
  31. package/dist/services/ci-providers/github-actions.js.map +1 -1
  32. package/dist/services/history-summary-builder.d.ts.map +1 -1
  33. package/dist/services/history-summary-builder.js +9 -19
  34. package/dist/services/history-summary-builder.js.map +1 -1
  35. package/dist/services/watch-pr-orchestrator.d.ts +8 -0
  36. package/dist/services/watch-pr-orchestrator.d.ts.map +1 -1
  37. package/dist/services/watch-pr-orchestrator.js +29 -18
  38. package/dist/services/watch-pr-orchestrator.js.map +1 -1
  39. package/dist/utils/check-validation.d.ts.map +1 -1
  40. package/dist/utils/check-validation.js +32 -14
  41. package/dist/utils/check-validation.js.map +1 -1
  42. package/dist/utils/command-name.d.ts.map +1 -1
  43. package/dist/utils/command-name.js +6 -4
  44. package/dist/utils/command-name.js.map +1 -1
  45. package/dist/utils/config-loader.d.ts.map +1 -1
  46. package/dist/utils/config-loader.js +5 -3
  47. package/dist/utils/config-loader.js.map +1 -1
  48. package/dist/utils/pid-lock.d.ts +27 -28
  49. package/dist/utils/pid-lock.d.ts.map +1 -1
  50. package/dist/utils/pid-lock.js +178 -92
  51. package/dist/utils/pid-lock.js.map +1 -1
  52. package/dist/utils/setup-checks/hooks-check.d.ts.map +1 -1
  53. package/dist/utils/setup-checks/hooks-check.js +14 -11
  54. package/dist/utils/setup-checks/hooks-check.js.map +1 -1
  55. package/dist/utils/setup-checks/workflow-check.d.ts.map +1 -1
  56. package/dist/utils/setup-checks/workflow-check.js +4 -3
  57. package/dist/utils/setup-checks/workflow-check.js.map +1 -1
  58. package/dist/utils/temp-files.d.ts +12 -12
  59. package/dist/utils/temp-files.d.ts.map +1 -1
  60. package/dist/utils/temp-files.js +67 -36
  61. package/dist/utils/temp-files.js.map +1 -1
  62. package/dist/utils/tree-hash-output.js +3 -3
  63. package/dist/utils/tree-hash-output.js.map +1 -1
  64. package/dist/utils/validation-lock-wrapper.d.ts +62 -0
  65. package/dist/utils/validation-lock-wrapper.d.ts.map +1 -0
  66. package/dist/utils/validation-lock-wrapper.js +186 -0
  67. package/dist/utils/validation-lock-wrapper.js.map +1 -0
  68. package/package.json +9 -7
@@ -12,13 +12,16 @@ import { existsSync } from 'node:fs';
12
12
  import { readFile, writeFile, mkdir, chmod } from 'node:fs/promises';
13
13
  import { join } from 'node:path';
14
14
  const VIBE_VALIDATE_COMMAND = 'npx vibe-validate pre-commit';
15
+ const VIBE_VALIDATE_PRE_COMMIT = 'vibe-validate pre-commit';
16
+ const HUSKY_PRE_COMMIT_PATH = '.husky/pre-commit';
17
+ const PRE_COMMIT_HOOK_NAME = 'pre-commit';
15
18
  export class HooksSetupCheck {
16
19
  id = 'hooks';
17
20
  name = 'Pre-commit Hook Setup';
18
21
  async check(options) {
19
22
  const cwd = options?.cwd ?? process.cwd();
20
23
  const huskyDir = join(cwd, '.husky');
21
- const preCommitPath = join(huskyDir, 'pre-commit');
24
+ const preCommitPath = join(huskyDir, PRE_COMMIT_HOOK_NAME);
22
25
  // Check if .husky directory exists
23
26
  if (!existsSync(huskyDir)) {
24
27
  return {
@@ -38,7 +41,7 @@ export class HooksSetupCheck {
38
41
  // Read pre-commit content
39
42
  const content = await readFile(preCommitPath, 'utf-8');
40
43
  // Check if vibe-validate command exists
41
- const hasCommand = content.includes('vibe-validate pre-commit');
44
+ const hasCommand = content.includes(VIBE_VALIDATE_PRE_COMMIT);
42
45
  if (!hasCommand) {
43
46
  return {
44
47
  passed: false,
@@ -54,7 +57,7 @@ export class HooksSetupCheck {
54
57
  async preview(options) {
55
58
  const cwd = options?.cwd ?? process.cwd();
56
59
  const huskyDir = join(cwd, '.husky');
57
- const preCommitPath = join(huskyDir, 'pre-commit');
60
+ const preCommitPath = join(huskyDir, PRE_COMMIT_HOOK_NAME);
58
61
  // Check current state
59
62
  const checkResult = await this.check(options);
60
63
  if (checkResult.passed) {
@@ -69,10 +72,10 @@ export class HooksSetupCheck {
69
72
  const content = this.generateNewPreCommitHook();
70
73
  return {
71
74
  description: 'Install husky and create .husky/pre-commit hook with vibe-validate command',
72
- filesAffected: ['.husky/pre-commit'],
75
+ filesAffected: [HUSKY_PRE_COMMIT_PATH],
73
76
  changes: [
74
77
  {
75
- file: '.husky/pre-commit',
78
+ file: HUSKY_PRE_COMMIT_PATH,
76
79
  action: 'create',
77
80
  content,
78
81
  },
@@ -82,10 +85,10 @@ export class HooksSetupCheck {
82
85
  // If pre-commit exists but missing vibe-validate command
83
86
  return {
84
87
  description: 'Add vibe-validate command to existing pre-commit hook',
85
- filesAffected: ['.husky/pre-commit'],
88
+ filesAffected: [HUSKY_PRE_COMMIT_PATH],
86
89
  changes: [
87
90
  {
88
- file: '.husky/pre-commit',
91
+ file: HUSKY_PRE_COMMIT_PATH,
89
92
  action: 'modify',
90
93
  },
91
94
  ],
@@ -94,7 +97,7 @@ export class HooksSetupCheck {
94
97
  async fix(options) {
95
98
  const cwd = options?.cwd ?? process.cwd();
96
99
  const huskyDir = join(cwd, '.husky');
97
- const preCommitPath = join(huskyDir, 'pre-commit');
100
+ const preCommitPath = join(huskyDir, PRE_COMMIT_HOOK_NAME);
98
101
  const dryRun = options?.dryRun ?? false;
99
102
  // Check current state
100
103
  const checkResult = await this.check(options);
@@ -125,12 +128,12 @@ export class HooksSetupCheck {
125
128
  return {
126
129
  success: true,
127
130
  message: 'Created .husky/pre-commit hook (Note: Install husky as dev dependency if not already installed)',
128
- filesChanged: ['.husky/pre-commit'],
131
+ filesChanged: [HUSKY_PRE_COMMIT_PATH],
129
132
  };
130
133
  }
131
134
  // If pre-commit exists, check if command is already there
132
135
  const content = await readFile(preCommitPath, 'utf-8');
133
- const hasCommand = content.includes('vibe-validate pre-commit');
136
+ const hasCommand = content.includes(VIBE_VALIDATE_PRE_COMMIT);
134
137
  if (hasCommand) {
135
138
  // Command already exists (idempotent)
136
139
  return {
@@ -145,7 +148,7 @@ export class HooksSetupCheck {
145
148
  return {
146
149
  success: true,
147
150
  message: 'Added vibe-validate command to pre-commit hook',
148
- filesChanged: ['.husky/pre-commit'],
151
+ filesChanged: [HUSKY_PRE_COMMIT_PATH],
149
152
  };
150
153
  }
151
154
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-check.js","sourceRoot":"","sources":["../../../src/utils/setup-checks/hooks-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks-check.js","sourceRoot":"","sources":["../../../src/utils/setup-checks/hooks-check.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-check.d.ts","sourceRoot":"","sources":["../../../src/utils/setup-checks/workflow-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,SAAS,EACT,aAAa,EACb,UAAU,EACX,MAAM,oBAAoB,CAAC;AAE5B,qBAAa,kBAAmB,YAAW,UAAU;IACnD,QAAQ,CAAC,EAAE,cAAc;IACzB,QAAQ,CAAC,IAAI,mCAAmC;IAE1C,KAAK,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAuCjD,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAuCrD,GAAG,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAqDnD;;OAEG;YACW,uBAAuB;CAgBtC"}
1
+ {"version":3,"file":"workflow-check.d.ts","sourceRoot":"","sources":["../../../src/utils/setup-checks/workflow-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,SAAS,EACT,aAAa,EACb,UAAU,EACX,MAAM,oBAAoB,CAAC;AAI5B,qBAAa,kBAAmB,YAAW,UAAU;IACnD,QAAQ,CAAC,EAAE,cAAc;IACzB,QAAQ,CAAC,IAAI,mCAAmC;IAE1C,KAAK,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAuCjD,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAuCrD,GAAG,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAqDnD;;OAEG;YACW,uBAAuB;CAgBtC"}
@@ -12,6 +12,7 @@ import { writeFile, mkdir } from 'node:fs/promises';
12
12
  import { join } from 'node:path';
13
13
  import { generateWorkflow } from '../../commands/generate-workflow.js';
14
14
  import { loadConfig } from '../config-loader.js';
15
+ const WORKFLOW_FILE_PATH = '.github/workflows/validate.yml';
15
16
  export class WorkflowSetupCheck {
16
17
  id = 'workflow';
17
18
  name = 'GitHub Actions Workflow Setup';
@@ -72,10 +73,10 @@ export class WorkflowSetupCheck {
72
73
  const workflowContent = await this.generateWorkflowContent(cwd);
73
74
  return {
74
75
  description: 'Create GitHub Actions workflow for vibe-validate',
75
- filesAffected: ['.github/workflows/validate.yml'],
76
+ filesAffected: [WORKFLOW_FILE_PATH],
76
77
  changes: [
77
78
  {
78
- file: '.github/workflows/validate.yml',
79
+ file: WORKFLOW_FILE_PATH,
79
80
  action: 'create',
80
81
  content: workflowContent,
81
82
  },
@@ -123,7 +124,7 @@ export class WorkflowSetupCheck {
123
124
  return {
124
125
  success: true,
125
126
  message: 'Created .github/workflows/validate.yml',
126
- filesChanged: ['.github/workflows/validate.yml'],
127
+ filesChanged: [WORKFLOW_FILE_PATH],
127
128
  };
128
129
  }
129
130
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-check.js","sourceRoot":"","sources":["../../../src/utils/setup-checks/workflow-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-check.js","sourceRoot":"","sources":["../../../src/utils/setup-checks/workflow-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAgC,MAAM,qCAAqC,CAAC;AACrG,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AASjD,MAAM,kBAAkB,GAAG,gCAAgC,CAAC;AAE5D,MAAM,OAAO,kBAAkB;IACpB,EAAE,GAAG,UAAU,CAAC;IAChB,IAAI,GAAG,+BAA+B,CAAC;IAEhD,KAAK,CAAC,KAAK,CAAC,OAAoB;QAC9B,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QAExD,oCAAoC;QACpC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,6BAA6B;gBACtC,UAAU,EAAE,mEAAmE;aAChF,CAAC;QACJ,CAAC;QAED,sCAAsC;QACtC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,uCAAuC;gBAChD,UAAU,EAAE,uCAAuC;aACpD,CAAC;QACJ,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,iCAAiC;gBAC1C,UAAU,EAAE,uCAAuC;aACpD,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,gCAAgC;SAC1C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAoB;QAChC,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAE1C,sBAAsB;QACtB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAE9C,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO;gBACL,WAAW,EAAE,wCAAwC;gBACrD,aAAa,EAAE,EAAE;gBACjB,OAAO,EAAE,EAAE;aACZ,CAAC;QACJ,CAAC;QAED,2CAA2C;QAC3C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,WAAW,EAAE,yDAAyD;gBACtE,aAAa,EAAE,EAAE;gBACjB,OAAO,EAAE,EAAE;aACZ,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAEhE,OAAO;YACL,WAAW,EAAE,kDAAkD;YAC/D,aAAa,EAAE,CAAC,kBAAkB,CAAC;YACnC,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,kBAAkB;oBACxB,MAAM,EAAE,QAAQ;oBAChB,OAAO,EAAE,eAAe;iBACzB;aACF;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAoB;QAC5B,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC;QAExC,sBAAsB;QACtB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAE9C,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YAC1C,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,wCAAwC;gBACjD,YAAY,EAAE,EAAE;aACjB,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,uDAAuD;gBAChE,YAAY,EAAE,EAAE;aACjB,CAAC;QACJ,CAAC;QAED,4BAA4B;QAC5B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAEhE,4CAA4C;QAC5C,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,MAAM,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,yDAAyD;QACzD,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YAChD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,mEAAmE;gBAC5E,YAAY,EAAE,EAAE;aACjB,CAAC;QACJ,CAAC;QAED,sBAAsB;QACtB,MAAM,SAAS,CAAC,YAAY,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QAExD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,wCAAwC;YACjD,YAAY,EAAE,CAAC,kBAAkB,CAAC;SACnC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CAAC,GAAW;QAC/C,cAAc;QACd,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC3F,CAAC;QAED,yCAAyC;QACzC,MAAM,OAAO,GAA4B;YACvC,YAAY,EAAE,CAAC,IAAI,CAAC,EAAG,4CAA4C;YACnE,EAAE,EAAE,CAAC,eAAe,CAAC;YACrB,cAAc,EAAE,SAAS,EAAG,cAAc;SAC3C,CAAC;QAEF,OAAO,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;CACF"}
@@ -22,18 +22,6 @@ export declare function getRunOutputDir(treeHash: string): string;
22
22
  * Re-exports shared utility from @vibe-validate/core
23
23
  */
24
24
  export { ensureDir } from '@vibe-validate/core';
25
- /**
26
- * Get temp file storage information
27
- */
28
- export declare function getTempStorageInfo(): Promise<{
29
- sizeBytes: number;
30
- runCount: number;
31
- path: string;
32
- }>;
33
- /**
34
- * Format bytes as human-readable size
35
- */
36
- export declare function formatBytes(bytes: number): string;
37
25
  /**
38
26
  * Options for cleaning up temp files
39
27
  */
@@ -61,6 +49,18 @@ export interface CleanupResult {
61
49
  error: string;
62
50
  }>;
63
51
  }
52
+ /**
53
+ * Get temp file storage information
54
+ */
55
+ export declare function getTempStorageInfo(): Promise<{
56
+ sizeBytes: number;
57
+ runCount: number;
58
+ path: string;
59
+ }>;
60
+ /**
61
+ * Format bytes as human-readable size
62
+ */
63
+ export declare function formatBytes(bytes: number): string;
64
64
  /**
65
65
  * Clean up old temporary files
66
66
  */
@@ -1 +1 @@
1
- {"version":3,"file":"temp-files.d.ts","sourceRoot":"","sources":["../../src/utils/temp-files.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AA0DhD;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CAcD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQjD;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,wCAAwC;IACxC,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AAED;;GAEG;AAEH,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CAmFxB"}
1
+ {"version":3,"file":"temp-files.d.ts","sourceRoot":"","sources":["../../src/utils/temp-files.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAgChD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,wCAAwC;IACxC,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AAiHD;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CAcD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQjD;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CA6CxB"}
@@ -57,6 +57,72 @@ async function getDirectorySize(dirPath) {
57
57
  }
58
58
  return totalSize;
59
59
  }
60
+ /**
61
+ * Process a single date directory during cleanup
62
+ *
63
+ * @param dateDirPath - Path to the date directory
64
+ * @param cutoffDate - Files older than this date should be deleted
65
+ * @param deleteAll - Whether to delete all runs
66
+ * @param dryRun - Whether this is a dry run (no actual deletion)
67
+ * @param result - Accumulator for cleanup results
68
+ */
69
+ async function processDateDirectory(dateDirPath, cutoffDate, deleteAll, dryRun, result) {
70
+ const runDirs = await readdir(dateDirPath, { withFileTypes: true });
71
+ for (const runDir of runDirs) {
72
+ if (!runDir.isDirectory())
73
+ continue;
74
+ const runDirPath = join(dateDirPath, runDir.name);
75
+ try {
76
+ await processRunDirectory(runDirPath, cutoffDate, deleteAll, dryRun, result);
77
+ }
78
+ catch (err) {
79
+ const errorMsg = err instanceof Error ? err.message : String(err);
80
+ result.errors.push({ path: runDirPath, error: errorMsg });
81
+ }
82
+ }
83
+ // Try to remove empty date directories
84
+ if (!dryRun) {
85
+ await cleanupEmptyDirectory(dateDirPath);
86
+ }
87
+ }
88
+ /**
89
+ * Process a single run directory during cleanup
90
+ *
91
+ * @param runDirPath - Path to the run directory
92
+ * @param cutoffDate - Files older than this date should be deleted
93
+ * @param deleteAll - Whether to delete all runs
94
+ * @param dryRun - Whether this is a dry run (no actual deletion)
95
+ * @param result - Accumulator for cleanup results
96
+ */
97
+ async function processRunDirectory(runDirPath, cutoffDate, deleteAll, dryRun, result) {
98
+ const stats = await stat(runDirPath);
99
+ const shouldDelete = deleteAll || stats.mtime < cutoffDate;
100
+ if (!shouldDelete)
101
+ return;
102
+ const dirSize = await getDirectorySize(runDirPath);
103
+ if (!dryRun) {
104
+ await rm(runDirPath, { recursive: true, force: true });
105
+ }
106
+ result.deletedCount++;
107
+ result.freedBytes += dirSize;
108
+ result.deletedPaths.push(runDirPath);
109
+ }
110
+ /**
111
+ * Remove a directory if it's empty
112
+ *
113
+ * @param dirPath - Path to the directory
114
+ */
115
+ async function cleanupEmptyDirectory(dirPath) {
116
+ try {
117
+ const remaining = await readdir(dirPath);
118
+ if (remaining.length === 0) {
119
+ await rm(dirPath, { recursive: true });
120
+ }
121
+ }
122
+ catch {
123
+ // Ignore errors when cleaning up empty directories
124
+ }
125
+ }
60
126
  /**
61
127
  * Count the number of run directories
62
128
  */
@@ -110,7 +176,6 @@ export function formatBytes(bytes) {
110
176
  /**
111
177
  * Clean up old temporary files
112
178
  */
113
- // eslint-disable-next-line sonarjs/cognitive-complexity -- Cleanup logic requires nested loops and error handling for directory traversal
114
179
  export async function cleanupOldTempFiles(options = {}) {
115
180
  const { olderThanDays = 7, dryRun = false, deleteAll = false, } = options;
116
181
  const result = {
@@ -130,41 +195,7 @@ export async function cleanupOldTempFiles(options = {}) {
130
195
  continue;
131
196
  const dateDirPath = join(runsDir, dateDir.name);
132
197
  try {
133
- const runDirs = await readdir(dateDirPath, { withFileTypes: true });
134
- for (const runDir of runDirs) {
135
- if (!runDir.isDirectory())
136
- continue;
137
- const runDirPath = join(dateDirPath, runDir.name);
138
- try {
139
- const stats = await stat(runDirPath);
140
- const shouldDelete = deleteAll || stats.mtime < cutoffDate;
141
- if (shouldDelete) {
142
- const dirSize = await getDirectorySize(runDirPath);
143
- if (!dryRun) {
144
- await rm(runDirPath, { recursive: true, force: true });
145
- }
146
- result.deletedCount++;
147
- result.freedBytes += dirSize;
148
- result.deletedPaths.push(runDirPath);
149
- }
150
- }
151
- catch (err) {
152
- const errorMsg = err instanceof Error ? err.message : String(err);
153
- result.errors.push({ path: runDirPath, error: errorMsg });
154
- }
155
- }
156
- // Try to remove empty date directories
157
- if (!dryRun) {
158
- try {
159
- const remaining = await readdir(dateDirPath);
160
- if (remaining.length === 0) {
161
- await rm(dateDirPath, { recursive: true });
162
- }
163
- }
164
- catch {
165
- // Ignore errors when cleaning up empty directories
166
- }
167
- }
198
+ await processDateDirectory(dateDirPath, cutoffDate, deleteAll, dryRun, result);
168
199
  }
169
200
  catch (err) {
170
201
  const errorMsg = err instanceof Error ? err.message : String(err);
@@ -1 +1 @@
1
- {"version":3,"file":"temp-files.js","sourceRoot":"","sources":["../../src/utils/temp-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"temp-files.js","sourceRoot":"","sources":["../../src/utils/temp-files.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,11 @@
7
7
  export function cleanRunCacheEntries(entries) {
8
8
  return entries.map(entry => {
9
9
  // Remove treeHash from output (redundant at root level)
10
- // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars
10
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
11
11
  const { treeHash, ...withoutTreeHash } = entry;
12
12
  // Remove empty workdir to save tokens
13
13
  if (withoutTreeHash.workdir === '') {
14
- // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars
14
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
15
15
  const { workdir, ...withoutWorkdir } = withoutTreeHash;
16
16
  return withoutWorkdir;
17
17
  }
@@ -29,7 +29,7 @@ export function formatTreeHashOutput(treeHash, validationData, runCacheEntries,
29
29
  if (options.includeValidation && validationData) {
30
30
  // Remove treeHash from validation data (it's at root level)
31
31
  const validationObj = validationData;
32
- // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars
32
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
33
33
  const { treeHash, ...validationWithoutTreeHash } = validationObj;
34
34
  output.validation = validationWithoutTreeHash;
35
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tree-hash-output.js","sourceRoot":"","sources":["../../src/utils/tree-hash-output.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAuB;IAC1D,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QACzB,wDAAwD;QACxD,6EAA6E;QAC7E,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE,GAAG,KAAK,CAAC;QAE/C,sCAAsC;QACtC,IAAI,eAAe,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;YACnC,6EAA6E;YAC7E,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,GAAG,eAAe,CAAC;YACvD,OAAO,cAA8B,CAAC;QACxC,CAAC;QAED,OAAO,eAA+B,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAgB,EAChB,cAAwB,EACxB,eAA+B,EAC/B,OAGC;IAED,MAAM,MAAM,GAA4B;QACtC,QAAQ;KACT,CAAC;IAEF,sDAAsD;IACtD,IAAI,OAAO,CAAC,iBAAiB,IAAI,cAAc,EAAE,CAAC;QAChD,4DAA4D;QAC5D,MAAM,aAAa,GAAG,cAAyC,CAAC;QAChE,6EAA6E;QAC7E,MAAM,EAAE,QAAQ,EAAE,GAAG,yBAAyB,EAAE,GAAG,aAAa,CAAC;QACjE,MAAM,CAAC,UAAU,GAAG,yBAAyB,CAAC;IAChD,CAAC;IAED,sDAAsD;IACtD,IAAI,OAAO,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,CAAC,QAAQ,GAAG,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"tree-hash-output.js","sourceRoot":"","sources":["../../src/utils/tree-hash-output.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAuB;IAC1D,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QACzB,wDAAwD;QACxD,6DAA6D;QAC7D,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE,GAAG,KAAK,CAAC;QAE/C,sCAAsC;QACtC,IAAI,eAAe,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;YACnC,6DAA6D;YAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,GAAG,eAAe,CAAC;YACvD,OAAO,cAA8B,CAAC;QACxC,CAAC;QAED,OAAO,eAA+B,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAgB,EAChB,cAAwB,EACxB,eAA+B,EAC/B,OAGC;IAED,MAAM,MAAM,GAA4B;QACtC,QAAQ;KACT,CAAC;IAEF,sDAAsD;IACtD,IAAI,OAAO,CAAC,iBAAiB,IAAI,cAAc,EAAE,CAAC;QAChD,4DAA4D;QAC5D,MAAM,aAAa,GAAG,cAAyC,CAAC;QAChE,6DAA6D;QAC7D,MAAM,EAAE,QAAQ,EAAE,GAAG,yBAAyB,EAAE,GAAG,aAAa,CAAC;QACjE,MAAM,CAAC,UAAU,GAAG,yBAAyB,CAAC;IAChD,CAAC;IAED,sDAAsD;IACtD,IAAI,OAAO,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,CAAC,QAAQ,GAAG,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Validation Lock Wrapper
3
+ *
4
+ * Provides a reusable locking mechanism for validation workflows.
5
+ * Extracts the locking logic from validate.ts to enable consistent
6
+ * lock management across commands (validate, pre-commit, etc.).
7
+ */
8
+ import type { VibeValidateConfig } from '@vibe-validate/config';
9
+ import type { AgentContext } from './context-detector.js';
10
+ /**
11
+ * Options for validation lock wrapper
12
+ */
13
+ export interface ValidationLockOptions {
14
+ /** Whether locking is enabled (CLI flag override) */
15
+ lockEnabled?: boolean;
16
+ /** Whether to wait for existing locks */
17
+ waitEnabled?: boolean;
18
+ /** Maximum time to wait for lock (seconds) */
19
+ waitTimeout?: number;
20
+ /** Whether in YAML output mode (suppresses display output) */
21
+ yaml?: boolean;
22
+ }
23
+ /**
24
+ * Context passed to callback
25
+ */
26
+ export interface ValidationLockContext {
27
+ /** Loaded configuration */
28
+ config: VibeValidateConfig;
29
+ /** Directory where config was found */
30
+ configDir: string;
31
+ /** Agent context (Claude Code, CI, etc.) */
32
+ context: AgentContext;
33
+ }
34
+ /**
35
+ * Execute a callback with validation lock management
36
+ *
37
+ * This function handles the complete locking workflow:
38
+ * 1. Load configuration with directory detection
39
+ * 2. Detect agent context
40
+ * 3. Determine lock options from config
41
+ * 4. Wait for existing locks (if enabled)
42
+ * 5. Acquire lock (if enabled)
43
+ * 6. Execute callback with context
44
+ * 7. Release lock in finally block
45
+ *
46
+ * @param options - Lock options
47
+ * @param callback - Function to execute with lock held
48
+ * @returns Result from callback
49
+ *
50
+ * @example
51
+ * ```typescript
52
+ * await withValidationLock(
53
+ * { lockEnabled: true, waitEnabled: true },
54
+ * async ({ config, configDir, context }) => {
55
+ * // Run validation workflow
56
+ * return runValidateWorkflow(config, options);
57
+ * }
58
+ * );
59
+ * ```
60
+ */
61
+ export declare function withValidationLock<T>(options: ValidationLockOptions, callback: (_ctx: ValidationLockContext) => Promise<T>): Promise<T>;
62
+ //# sourceMappingURL=validation-lock-wrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-lock-wrapper.d.ts","sourceRoot":"","sources":["../../src/utils/validation-lock-wrapper.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAMhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAU1D;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,qDAAqD;IACrD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yCAAyC;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,2BAA2B;IAC3B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,OAAO,EAAE,YAAY,CAAC;CACvB;AAoDD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,OAAO,CAAC,CAAC,CAAC,GACpD,OAAO,CAAC,CAAC,CAAC,CAuHZ"}