@vibe-validate/history 0.17.2 → 0.17.3
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.js.map +1 -1
- package/dist/reader.d.ts.map +1 -1
- package/dist/reader.js +12 -19
- package/dist/reader.js.map +1 -1
- package/dist/run-cache-reader.d.ts.map +1 -1
- package/dist/run-cache-reader.js +17 -23
- package/dist/run-cache-reader.js.map +1 -1
- package/package.json +3 -3
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,UAAU,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"pruner.js","sourceRoot":"","sources":["../src/pruner.ts"],"names":[],"mappings":"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"}
|
package/dist/reader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../src/reader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../src/reader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI9C;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,MAAiC,GAC1C,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CA8C7B;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,GAAE,MAAiC,GAC1C,OAAO,CAAC,MAAM,EAAE,CAAC,CAiBnB;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,GAAE,MAAiC,GAC1C,OAAO,CAAC,WAAW,EAAE,CAAC,CAYxB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,MAAiC,GAC1C,OAAO,CAAC,OAAO,CAAC,CAGlB"}
|
package/dist/reader.js
CHANGED
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Git notes reader
|
|
3
3
|
*/
|
|
4
|
-
import { execSync } from 'node:child_process';
|
|
5
4
|
import { parse as parseYaml } from 'yaml';
|
|
6
5
|
import { safeValidateResult } from '@vibe-validate/core';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
encoding: 'utf8',
|
|
10
|
-
timeout: GIT_TIMEOUT,
|
|
11
|
-
stdio: ['pipe', 'pipe', 'ignore'],
|
|
12
|
-
};
|
|
6
|
+
import { listNotes, readNote } from '@vibe-validate/git';
|
|
7
|
+
// Removed: Git operations now use secure @vibe-validate/git functions
|
|
13
8
|
/**
|
|
14
9
|
* Read validation history note for a tree hash
|
|
15
10
|
*
|
|
@@ -19,7 +14,11 @@ const GIT_OPTIONS = {
|
|
|
19
14
|
*/
|
|
20
15
|
export async function readHistoryNote(treeHash, notesRef = 'vibe-validate/validate') {
|
|
21
16
|
try {
|
|
22
|
-
|
|
17
|
+
// Use secure readNote function (no command injection risk)
|
|
18
|
+
const yaml = readNote(notesRef, treeHash);
|
|
19
|
+
if (!yaml) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
23
22
|
const parsed = parseYaml(yaml);
|
|
24
23
|
// Validate as HistoryNote structure
|
|
25
24
|
if (!parsed || typeof parsed !== 'object' || !('runs' in parsed) || !Array.isArray(parsed.runs)) {
|
|
@@ -62,19 +61,13 @@ export async function readHistoryNote(treeHash, notesRef = 'vibe-validate/valida
|
|
|
62
61
|
*/
|
|
63
62
|
export async function listHistoryTreeHashes(notesRef = 'vibe-validate/validate') {
|
|
64
63
|
try {
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
// Use secure listNotes function (no command injection risk)
|
|
65
|
+
const notes = listNotes(notesRef);
|
|
66
|
+
if (notes.length === 0) {
|
|
67
67
|
return [];
|
|
68
68
|
}
|
|
69
|
-
//
|
|
70
|
-
const treeHashes =
|
|
71
|
-
.trim()
|
|
72
|
-
.split('\n')
|
|
73
|
-
.map((line) => {
|
|
74
|
-
const parts = line.split(' ');
|
|
75
|
-
return parts[1]; // tree hash
|
|
76
|
-
})
|
|
77
|
-
.filter(Boolean);
|
|
69
|
+
// Extract tree hashes from [treeHash, content] pairs
|
|
70
|
+
const treeHashes = notes.map(([treeHash]) => treeHash);
|
|
78
71
|
return treeHashes;
|
|
79
72
|
}
|
|
80
73
|
catch {
|
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,
|
|
1
|
+
{"version":3,"file":"reader.js","sourceRoot":"","sources":["../src/reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-cache-reader.d.ts","sourceRoot":"","sources":["../src/run-cache-reader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"run-cache-reader.d.ts","sourceRoot":"","sources":["../src/run-cache-reader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA+BxF;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAiB9B;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAerF;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CA0BhE;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAarE"}
|
package/dist/run-cache-reader.js
CHANGED
|
@@ -4,14 +4,8 @@
|
|
|
4
4
|
* Run cache is stored at: refs/notes/vibe-validate/run/{treeHash}/{cacheKey}
|
|
5
5
|
* where cacheKey = encodeURIComponent(workdir ? `${workdir}:${command}` : command)
|
|
6
6
|
*/
|
|
7
|
-
import { execSync } from 'node:child_process';
|
|
8
7
|
import { parse as parseYaml } from 'yaml';
|
|
9
|
-
|
|
10
|
-
const GIT_OPTIONS = {
|
|
11
|
-
encoding: 'utf8',
|
|
12
|
-
timeout: GIT_TIMEOUT,
|
|
13
|
-
stdio: ['pipe', 'pipe', 'ignore'],
|
|
14
|
-
};
|
|
8
|
+
import { readNote, listNotesRefs } from '@vibe-validate/git';
|
|
15
9
|
/**
|
|
16
10
|
* List all run cache entries for a tree hash
|
|
17
11
|
*
|
|
@@ -20,17 +14,14 @@ const GIT_OPTIONS = {
|
|
|
20
14
|
*/
|
|
21
15
|
export async function listRunCacheEntries(treeHash) {
|
|
22
16
|
try {
|
|
23
|
-
//
|
|
24
|
-
const
|
|
25
|
-
if (
|
|
17
|
+
// Use secure listNotesRefs function (no command injection risk)
|
|
18
|
+
const refs = listNotesRefs(`refs/notes/vibe-validate/run/${treeHash}/`);
|
|
19
|
+
if (refs.length === 0) {
|
|
26
20
|
return [];
|
|
27
21
|
}
|
|
28
|
-
// Parse
|
|
29
|
-
const entries =
|
|
30
|
-
.
|
|
31
|
-
.split('\n')
|
|
32
|
-
.map((line) => {
|
|
33
|
-
const [refPath] = line.split(' ');
|
|
22
|
+
// Parse refPaths: "refs/notes/vibe-validate/run/{treeHash}/{cacheKey}"
|
|
23
|
+
const entries = refs
|
|
24
|
+
.map((refPath) => {
|
|
34
25
|
// Extract cache key from ref path
|
|
35
26
|
const regex = /refs\/notes\/vibe-validate\/run\/([^/]+)\/(.+)$/;
|
|
36
27
|
const match = regex.exec(refPath);
|
|
@@ -61,7 +52,11 @@ export async function listRunCacheEntries(treeHash) {
|
|
|
61
52
|
export async function getRunCacheEntry(treeHash, cacheKey) {
|
|
62
53
|
try {
|
|
63
54
|
const refPath = `vibe-validate/run/${treeHash}/${cacheKey}`;
|
|
64
|
-
|
|
55
|
+
// Use secure readNote function (no command injection risk)
|
|
56
|
+
const yaml = readNote(refPath, treeHash);
|
|
57
|
+
if (!yaml) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
65
60
|
const note = parseYaml(yaml);
|
|
66
61
|
return note;
|
|
67
62
|
}
|
|
@@ -96,18 +91,17 @@ export async function getAllRunCacheForTree(treeHash) {
|
|
|
96
91
|
*/
|
|
97
92
|
export async function listRunCacheTreeHashes() {
|
|
98
93
|
try {
|
|
99
|
-
//
|
|
100
|
-
const
|
|
101
|
-
if (
|
|
94
|
+
// Use secure listNotesRefs function (no command injection risk)
|
|
95
|
+
const refs = listNotesRefs('refs/notes/vibe-validate/run/');
|
|
96
|
+
if (refs.length === 0) {
|
|
102
97
|
return [];
|
|
103
98
|
}
|
|
104
99
|
// Parse output and extract unique tree hashes
|
|
105
100
|
const treeHashes = new Set();
|
|
106
|
-
const
|
|
107
|
-
for (const line of lines) {
|
|
101
|
+
for (const refPath of refs) {
|
|
108
102
|
// Extract tree hash from ref path: refs/notes/vibe-validate/run/{treeHash}/...
|
|
109
103
|
const regex = /refs\/notes\/vibe-validate\/run\/([^/]+)/;
|
|
110
|
-
const match = regex.exec(
|
|
104
|
+
const match = regex.exec(refPath);
|
|
111
105
|
if (match) {
|
|
112
106
|
treeHashes.add(match[1]);
|
|
113
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-cache-reader.js","sourceRoot":"","sources":["../src/run-cache-reader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"run-cache-reader.js","sourceRoot":"","sources":["../src/run-cache-reader.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.
|
|
3
|
+
"version": "0.17.3",
|
|
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/
|
|
43
|
-
"@vibe-validate/
|
|
42
|
+
"@vibe-validate/core": "0.17.3",
|
|
43
|
+
"@vibe-validate/git": "0.17.3"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@types/node": "^22.0.0",
|