@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.
- package/dist/bin.js +5 -3
- package/dist/bin.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +110 -89
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/generate-workflow.d.ts.map +1 -1
- package/dist/commands/generate-workflow.js +42 -32
- package/dist/commands/generate-workflow.js.map +1 -1
- package/dist/commands/history.d.ts.map +1 -1
- package/dist/commands/history.js +15 -7
- package/dist/commands/history.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +20 -11
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/pre-commit.d.ts.map +1 -1
- package/dist/commands/pre-commit.js +46 -29
- package/dist/commands/pre-commit.js.map +1 -1
- package/dist/commands/run.js +3 -3
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/snapshot.d.ts.map +1 -1
- package/dist/commands/snapshot.js +26 -17
- package/dist/commands/snapshot.js.map +1 -1
- package/dist/commands/state.d.ts.map +1 -1
- package/dist/commands/state.js +3 -1
- package/dist/commands/state.js.map +1 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +17 -134
- package/dist/commands/validate.js.map +1 -1
- package/dist/services/ci-providers/github-actions.d.ts.map +1 -1
- package/dist/services/ci-providers/github-actions.js +2 -0
- package/dist/services/ci-providers/github-actions.js.map +1 -1
- package/dist/services/history-summary-builder.d.ts.map +1 -1
- package/dist/services/history-summary-builder.js +9 -19
- package/dist/services/history-summary-builder.js.map +1 -1
- package/dist/services/watch-pr-orchestrator.d.ts +8 -0
- package/dist/services/watch-pr-orchestrator.d.ts.map +1 -1
- package/dist/services/watch-pr-orchestrator.js +29 -18
- package/dist/services/watch-pr-orchestrator.js.map +1 -1
- package/dist/utils/check-validation.d.ts.map +1 -1
- package/dist/utils/check-validation.js +32 -14
- package/dist/utils/check-validation.js.map +1 -1
- package/dist/utils/command-name.d.ts.map +1 -1
- package/dist/utils/command-name.js +6 -4
- package/dist/utils/command-name.js.map +1 -1
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +5 -3
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/pid-lock.d.ts +27 -28
- package/dist/utils/pid-lock.d.ts.map +1 -1
- package/dist/utils/pid-lock.js +178 -92
- package/dist/utils/pid-lock.js.map +1 -1
- package/dist/utils/setup-checks/hooks-check.d.ts.map +1 -1
- package/dist/utils/setup-checks/hooks-check.js +14 -11
- package/dist/utils/setup-checks/hooks-check.js.map +1 -1
- package/dist/utils/setup-checks/workflow-check.d.ts.map +1 -1
- package/dist/utils/setup-checks/workflow-check.js +4 -3
- package/dist/utils/setup-checks/workflow-check.js.map +1 -1
- package/dist/utils/temp-files.d.ts +12 -12
- package/dist/utils/temp-files.d.ts.map +1 -1
- package/dist/utils/temp-files.js +67 -36
- package/dist/utils/temp-files.js.map +1 -1
- package/dist/utils/tree-hash-output.js +3 -3
- package/dist/utils/tree-hash-output.js.map +1 -1
- package/dist/utils/validation-lock-wrapper.d.ts +62 -0
- package/dist/utils/validation-lock-wrapper.d.ts.map +1 -0
- package/dist/utils/validation-lock-wrapper.js +186 -0
- package/dist/utils/validation-lock-wrapper.js.map +1 -0
- 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,
|
|
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(
|
|
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,
|
|
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: [
|
|
75
|
+
filesAffected: [HUSKY_PRE_COMMIT_PATH],
|
|
73
76
|
changes: [
|
|
74
77
|
{
|
|
75
|
-
file:
|
|
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: [
|
|
88
|
+
filesAffected: [HUSKY_PRE_COMMIT_PATH],
|
|
86
89
|
changes: [
|
|
87
90
|
{
|
|
88
|
-
file:
|
|
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,
|
|
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: [
|
|
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(
|
|
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: [
|
|
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":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAUjC,MAAM,qBAAqB,GAAG,8BAA8B,CAAC;
|
|
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;
|
|
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: [
|
|
76
|
+
filesAffected: [WORKFLOW_FILE_PATH],
|
|
76
77
|
changes: [
|
|
77
78
|
{
|
|
78
|
-
file:
|
|
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: [
|
|
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":"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,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,
|
|
1
|
+
{"version":3,"file":"workflow-check.js","sourceRoot":"","sources":["../../../src/utils/setup-checks/workflow-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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"}
|
package/dist/utils/temp-files.js
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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
|
|
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
|
|
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,
|
|
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"}
|