@vibe-validate/history 0.17.0-rc3 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/pruner.d.ts.map +1 -1
- package/dist/pruner.js +34 -52
- package/dist/pruner.js.map +1 -1
- package/dist/reader.js +3 -3
- package/dist/reader.js.map +1 -1
- package/dist/recorder.d.ts.map +1 -1
- package/dist/recorder.js +3 -3
- package/dist/recorder.js.map +1 -1
- package/package.json +3 -3
package/dist/pruner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pruner.d.ts","sourceRoot":"","sources":["../src/pruner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"pruner.d.ts","sourceRoot":"","sources":["../src/pruner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAwB7D;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,aAAa,EAAE,MAAM,EACrB,MAAM,GAAE,aAAkB,EAC1B,MAAM,GAAE,OAAe,GACtB,OAAO,CAAC,WAAW,CAAC,CA4CtB;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,MAAM,GAAE,aAAkB,EAC1B,MAAM,GAAE,OAAe,GACtB,OAAO,CAAC,WAAW,CAAC,CA8BtB;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,GAAE,OAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAkCpF;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,GAAE,OAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CA8BpF"}
|
package/dist/pruner.js
CHANGED
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* History pruning utilities
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import { removeNote, removeNotesRefs } from '@vibe-validate/git';
|
|
5
5
|
import { DEFAULT_HISTORY_CONFIG } from './types.js';
|
|
6
6
|
import { getAllHistoryNotes } from './reader.js';
|
|
7
7
|
import { listRunCacheTreeHashes, getAllRunCacheForTree } from './run-cache-reader.js';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
// Removed: Git operations now use secure @vibe-validate/git functions
|
|
9
|
+
/**
|
|
10
|
+
* Merge user config with defaults
|
|
11
|
+
*/
|
|
12
|
+
function mergeConfig(config = {}) {
|
|
13
|
+
const mergedGitNotes = config.gitNotes
|
|
14
|
+
? { ...DEFAULT_HISTORY_CONFIG.gitNotes, ...config.gitNotes }
|
|
15
|
+
: DEFAULT_HISTORY_CONFIG.gitNotes;
|
|
16
|
+
return {
|
|
17
|
+
...DEFAULT_HISTORY_CONFIG,
|
|
18
|
+
...config,
|
|
19
|
+
gitNotes: mergedGitNotes,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
14
22
|
/**
|
|
15
23
|
* Prune validation history older than specified days
|
|
16
24
|
*
|
|
@@ -20,14 +28,7 @@ const GIT_OPTIONS = {
|
|
|
20
28
|
* @returns Prune result
|
|
21
29
|
*/
|
|
22
30
|
export async function pruneHistoryByAge(olderThanDays, config = {}, dryRun = false) {
|
|
23
|
-
const mergedConfig =
|
|
24
|
-
...DEFAULT_HISTORY_CONFIG,
|
|
25
|
-
...config,
|
|
26
|
-
gitNotes: {
|
|
27
|
-
...DEFAULT_HISTORY_CONFIG.gitNotes,
|
|
28
|
-
...config.gitNotes,
|
|
29
|
-
},
|
|
30
|
-
};
|
|
31
|
+
const mergedConfig = mergeConfig(config);
|
|
31
32
|
const notesRef = mergedConfig.gitNotes.ref;
|
|
32
33
|
const cutoffTime = Date.now() - olderThanDays * 24 * 60 * 60 * 1000;
|
|
33
34
|
let notesPruned = 0;
|
|
@@ -48,12 +49,8 @@ export async function pruneHistoryByAge(olderThanDays, config = {}, dryRun = fal
|
|
|
48
49
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
49
50
|
const treeHash = note.treeHash;
|
|
50
51
|
if (!dryRun) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
catch {
|
|
55
|
-
// Ignore errors (note might not exist)
|
|
56
|
-
}
|
|
52
|
+
// Use secure removeNote function (no command injection risk)
|
|
53
|
+
removeNote(notesRef, treeHash);
|
|
57
54
|
}
|
|
58
55
|
notesPruned++;
|
|
59
56
|
runsPruned += note.runs.length;
|
|
@@ -75,14 +72,7 @@ export async function pruneHistoryByAge(olderThanDays, config = {}, dryRun = fal
|
|
|
75
72
|
* @returns Prune result
|
|
76
73
|
*/
|
|
77
74
|
export async function pruneAllHistory(config = {}, dryRun = false) {
|
|
78
|
-
const mergedConfig =
|
|
79
|
-
...DEFAULT_HISTORY_CONFIG,
|
|
80
|
-
...config,
|
|
81
|
-
gitNotes: {
|
|
82
|
-
...DEFAULT_HISTORY_CONFIG.gitNotes,
|
|
83
|
-
...config.gitNotes,
|
|
84
|
-
},
|
|
85
|
-
};
|
|
75
|
+
const mergedConfig = mergeConfig(config);
|
|
86
76
|
const notesRef = mergedConfig.gitNotes.ref;
|
|
87
77
|
const allNotes = await getAllHistoryNotes(notesRef);
|
|
88
78
|
let notesPruned = 0;
|
|
@@ -93,12 +83,8 @@ export async function pruneAllHistory(config = {}, dryRun = false) {
|
|
|
93
83
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
94
84
|
const treeHash = note.treeHash;
|
|
95
85
|
if (!dryRun) {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
}
|
|
99
|
-
catch {
|
|
100
|
-
// Ignore errors
|
|
101
|
-
}
|
|
86
|
+
// Use secure removeNote function (no command injection risk)
|
|
87
|
+
removeNote(notesRef, treeHash);
|
|
102
88
|
}
|
|
103
89
|
notesPruned++;
|
|
104
90
|
runsPruned += note.runs?.length ?? 0;
|
|
@@ -132,12 +118,8 @@ export async function pruneLegacyNotes(dryRun = false) {
|
|
|
132
118
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
133
119
|
const treeHash = note.treeHash;
|
|
134
120
|
if (!dryRun) {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
}
|
|
138
|
-
catch {
|
|
139
|
-
// Ignore errors
|
|
140
|
-
}
|
|
121
|
+
// Use secure removeNote function (no command injection risk)
|
|
122
|
+
removeNote(legacyRef, treeHash);
|
|
141
123
|
}
|
|
142
124
|
notesPruned++;
|
|
143
125
|
runsPruned += note.runs?.length ?? 0;
|
|
@@ -166,19 +148,19 @@ export async function pruneAllRunCache(dryRun = false) {
|
|
|
166
148
|
const prunedTreeHashes = [];
|
|
167
149
|
for (const treeHash of treeHashes) {
|
|
168
150
|
const entries = await getAllRunCacheForTree(treeHash);
|
|
169
|
-
if (entries.length
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
execSync(`git for-each-ref --format="%(refname)" refs/notes/vibe-validate/run/${treeHash}/ | xargs -I {} git update-ref -d {}`, { ...GIT_OPTIONS, stdio: 'ignore' });
|
|
174
|
-
}
|
|
175
|
-
catch {
|
|
176
|
-
// Ignore errors
|
|
177
|
-
}
|
|
178
|
-
}
|
|
151
|
+
if (entries.length === 0) {
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
if (dryRun) {
|
|
179
155
|
notesPruned += entries.length;
|
|
180
|
-
prunedTreeHashes.push(treeHash);
|
|
181
156
|
}
|
|
157
|
+
else {
|
|
158
|
+
// SECURITY FIX: Use secure removeNotesRefs instead of shell piping
|
|
159
|
+
// This eliminates command injection risk from treeHash variable
|
|
160
|
+
const deleted = removeNotesRefs(`refs/notes/vibe-validate/run/${treeHash}`);
|
|
161
|
+
notesPruned += deleted;
|
|
162
|
+
}
|
|
163
|
+
prunedTreeHashes.push(treeHash);
|
|
182
164
|
}
|
|
183
165
|
return {
|
|
184
166
|
notesPruned,
|
package/dist/pruner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pruner.js","sourceRoot":"","sources":["../src/pruner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"pruner.js","sourceRoot":"","sources":["../src/pruner.ts"],"names":[],"mappings":"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"}
|
package/dist/reader.js
CHANGED
|
@@ -27,16 +27,16 @@ export async function readHistoryNote(treeHash, notesRef = 'vibe-validate/valida
|
|
|
27
27
|
return null;
|
|
28
28
|
}
|
|
29
29
|
// Validate each ValidationResult in runs array using safe validation
|
|
30
|
+
// Silently skip corrupted entries (e.g., legacy 0/0 line/column from rc.9)
|
|
31
|
+
// After upgrading vibe-validate, run 'vv doctor' to check for issues
|
|
32
|
+
// Users can optionally cleanup old history with: vv history prune --all
|
|
30
33
|
const validatedRuns = [];
|
|
31
34
|
for (const run of parsed.runs) {
|
|
32
35
|
if (!run.result) {
|
|
33
|
-
console.warn(`Run ${run.id} missing result field - skipping`);
|
|
34
36
|
continue;
|
|
35
37
|
}
|
|
36
38
|
const validationResult = safeValidateResult(run.result);
|
|
37
39
|
if (!validationResult.success) {
|
|
38
|
-
console.warn(`Invalid ValidationResult in run ${run.id}:`, validationResult.errors);
|
|
39
|
-
console.warn('Skipping corrupted run entry');
|
|
40
40
|
continue;
|
|
41
41
|
}
|
|
42
42
|
validatedRuns.push({
|
package/dist/reader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reader.js","sourceRoot":"","sources":["../src/reader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,MAAM,WAAW,GAAG,KAAK,CAAC;AAC1B,MAAM,WAAW,GAAG;IAClB,QAAQ,EAAE,MAAe;IACzB,OAAO,EAAE,WAAW;IACpB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAA+B;CAChE,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,WAAmB,wBAAwB;IAE3C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CACnB,mBAAmB,QAAQ,SAAS,QAAQ,EAAE,EAC9C,WAAW,CACZ,CAAC;QAEF,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAE/B,oCAAoC;QACpC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAChG,OAAO,CAAC,IAAI,CAAC,sCAAsC,QAAQ,uBAAuB,CAAC,CAAC;YACpF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,qEAAqE;QACrE,MAAM,aAAa,GAAG,EAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBAChB,
|
|
1
|
+
{"version":3,"file":"reader.js","sourceRoot":"","sources":["../src/reader.ts"],"names":[],"mappings":"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"}
|
package/dist/recorder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../src/recorder.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../src/recorder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAGV,YAAY,EACZ,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AAuCpB;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,gBAAgB,EACxB,MAAM,GAAE,aAAkB,GACzB,OAAO,CAAC,YAAY,CAAC,CA8FvB;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,cAAc,CAAC,CAQzB"}
|
package/dist/recorder.js
CHANGED
|
@@ -6,7 +6,7 @@ import { writeFileSync, unlinkSync } from 'node:fs';
|
|
|
6
6
|
import { tmpdir } from 'node:os';
|
|
7
7
|
import { join } from 'node:path';
|
|
8
8
|
import { stringify as stringifyYaml } from 'yaml';
|
|
9
|
-
import { getGitTreeHash, hasWorkingTreeChanges } from '@vibe-validate/git';
|
|
9
|
+
import { getGitTreeHash, hasWorkingTreeChanges, getCurrentBranch as getGitBranch, getHeadCommitSha, } from '@vibe-validate/git';
|
|
10
10
|
import { DEFAULT_HISTORY_CONFIG } from './types.js';
|
|
11
11
|
import { truncateValidationOutput } from './truncate.js';
|
|
12
12
|
import { readHistoryNote } from './reader.js';
|
|
@@ -23,7 +23,7 @@ const GIT_OPTIONS = {
|
|
|
23
23
|
*/
|
|
24
24
|
async function getCurrentBranch() {
|
|
25
25
|
try {
|
|
26
|
-
const branch =
|
|
26
|
+
const branch = getGitBranch();
|
|
27
27
|
return branch === 'HEAD' ? 'detached' : branch;
|
|
28
28
|
}
|
|
29
29
|
catch {
|
|
@@ -37,7 +37,7 @@ async function getCurrentBranch() {
|
|
|
37
37
|
*/
|
|
38
38
|
async function getHeadCommit() {
|
|
39
39
|
try {
|
|
40
|
-
return
|
|
40
|
+
return getHeadCommitSha();
|
|
41
41
|
}
|
|
42
42
|
catch {
|
|
43
43
|
return 'none';
|
package/dist/recorder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recorder.js","sourceRoot":"","sources":["../src/recorder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"recorder.js","sourceRoot":"","sources":["../src/recorder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibe-validate/history",
|
|
3
|
-
"version": "0.17.0
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"description": "Validation history tracking via git notes for vibe-validate",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"yaml": "^2.3.4",
|
|
41
41
|
"zod": "^3.24.1",
|
|
42
|
-
"@vibe-validate/git": "0.17.0
|
|
43
|
-
"@vibe-validate/core": "0.17.0
|
|
42
|
+
"@vibe-validate/git": "0.17.0",
|
|
43
|
+
"@vibe-validate/core": "0.17.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@types/node": "^22.0.0",
|