@codeledger/instrument 0.2.1 → 0.5.1
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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/read-tracker.d.ts +35 -0
- package/dist/read-tracker.d.ts.map +1 -0
- package/dist/read-tracker.js +150 -0
- package/dist/read-tracker.js.map +1 -0
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -2,4 +2,5 @@ export { runPreflight, validatePreflight } from './preflight.js';
|
|
|
2
2
|
export { validateGitRef, ensureCleanOrFail, resolveRef, getHeadCommit, getShortRef, isRepoDirty, } from './snapshotter.js';
|
|
3
3
|
export { execCommand, execCommandAsync } from './process-probe.js';
|
|
4
4
|
export { RunRecorder } from './recorder.js';
|
|
5
|
+
export { ReadTracker } from './read-tracker.js';
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,WAAW,EACX,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,WAAW,EACX,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,4 +2,5 @@ export { runPreflight, validatePreflight } from './preflight.js';
|
|
|
2
2
|
export { validateGitRef, ensureCleanOrFail, resolveRef, getHeadCommit, getShortRef, isRepoDirty, } from './snapshotter.js';
|
|
3
3
|
export { execCommand, execCommandAsync } from './process-probe.js';
|
|
4
4
|
export { RunRecorder } from './recorder.js';
|
|
5
|
+
export { ReadTracker } from './read-tracker.js';
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,WAAW,EACX,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,WAAW,EACX,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { FileReadDepth, ISODateTime } from '@codeledger/types';
|
|
2
|
+
/**
|
|
3
|
+
* Session-level read aggregator. Maintains a running map of files read,
|
|
4
|
+
* their cumulative line coverage, and temporal ordering.
|
|
5
|
+
*
|
|
6
|
+
* Fed by file_read events from the read-log JSONL or ledger.
|
|
7
|
+
* Produces FileReadDepth[] for coverage analysis.
|
|
8
|
+
*/
|
|
9
|
+
export declare class ReadTracker {
|
|
10
|
+
private reads;
|
|
11
|
+
/** Record a file read event */
|
|
12
|
+
record(path: string, offset: number, linesRead: number, totalLines: number, ts: ISODateTime): void;
|
|
13
|
+
/** Get cumulative read depth for a file */
|
|
14
|
+
getDepth(path: string): FileReadDepth | null;
|
|
15
|
+
/** Get all read depths */
|
|
16
|
+
getAllDepths(): FileReadDepth[];
|
|
17
|
+
/** Get the set of all file paths that have been read */
|
|
18
|
+
getReadPaths(): Set<string>;
|
|
19
|
+
/** Check if a file was read before a given timestamp */
|
|
20
|
+
wasReadBefore(path: string, beforeTs: ISODateTime): boolean;
|
|
21
|
+
/** Get files first read after a given timestamp (post-hoc detection) */
|
|
22
|
+
getPostHocReads(afterTs: ISODateTime): string[];
|
|
23
|
+
/** Serialize to JSON for persistence */
|
|
24
|
+
toJSON(): Record<string, unknown>;
|
|
25
|
+
/** Restore from persisted JSON */
|
|
26
|
+
static fromJSON(data: Record<string, unknown>): ReadTracker;
|
|
27
|
+
private computeDepth;
|
|
28
|
+
/**
|
|
29
|
+
* Compute the union of all read line ranges for a file.
|
|
30
|
+
* This avoids double-counting overlapping reads.
|
|
31
|
+
*/
|
|
32
|
+
private computeCoveredLines;
|
|
33
|
+
private getFirstReadTs;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=read-tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-tracker.d.ts","sourceRoot":"","sources":["../src/read-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAapE;;;;;;GAMG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAyC;IAEtD,+BAA+B;IAC/B,MAAM,CACJ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,WAAW,GACd,IAAI;IAaP,2CAA2C;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAM5C,0BAA0B;IAC1B,YAAY,IAAI,aAAa,EAAE;IAQ/B,wDAAwD;IACxD,YAAY,IAAI,GAAG,CAAC,MAAM,CAAC;IAI3B,wDAAwD;IACxD,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO;IAM3D,wEAAwE;IACxE,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,EAAE;IAW/C,wCAAwC;IACxC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAWjC,kCAAkC;IAClC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW;IAuB3D,OAAO,CAAC,YAAY;IAgBpB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAmC3B,OAAO,CAAC,cAAc;CAUvB"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session-level read aggregator. Maintains a running map of files read,
|
|
3
|
+
* their cumulative line coverage, and temporal ordering.
|
|
4
|
+
*
|
|
5
|
+
* Fed by file_read events from the read-log JSONL or ledger.
|
|
6
|
+
* Produces FileReadDepth[] for coverage analysis.
|
|
7
|
+
*/
|
|
8
|
+
export class ReadTracker {
|
|
9
|
+
reads = new Map();
|
|
10
|
+
/** Record a file read event */
|
|
11
|
+
record(path, offset, linesRead, totalLines, ts) {
|
|
12
|
+
let state = this.reads.get(path);
|
|
13
|
+
if (!state) {
|
|
14
|
+
state = { events: [], total_lines: totalLines };
|
|
15
|
+
this.reads.set(path, state);
|
|
16
|
+
}
|
|
17
|
+
// Update total_lines if we get a more accurate value
|
|
18
|
+
if (totalLines > state.total_lines) {
|
|
19
|
+
state.total_lines = totalLines;
|
|
20
|
+
}
|
|
21
|
+
state.events.push({ offset, lines: linesRead, ts });
|
|
22
|
+
}
|
|
23
|
+
/** Get cumulative read depth for a file */
|
|
24
|
+
getDepth(path) {
|
|
25
|
+
const state = this.reads.get(path);
|
|
26
|
+
if (!state)
|
|
27
|
+
return null;
|
|
28
|
+
return this.computeDepth(path, state);
|
|
29
|
+
}
|
|
30
|
+
/** Get all read depths */
|
|
31
|
+
getAllDepths() {
|
|
32
|
+
const result = [];
|
|
33
|
+
for (const [path, state] of this.reads) {
|
|
34
|
+
result.push(this.computeDepth(path, state));
|
|
35
|
+
}
|
|
36
|
+
return result.sort((a, b) => a.path.localeCompare(b.path));
|
|
37
|
+
}
|
|
38
|
+
/** Get the set of all file paths that have been read */
|
|
39
|
+
getReadPaths() {
|
|
40
|
+
return new Set(this.reads.keys());
|
|
41
|
+
}
|
|
42
|
+
/** Check if a file was read before a given timestamp */
|
|
43
|
+
wasReadBefore(path, beforeTs) {
|
|
44
|
+
const state = this.reads.get(path);
|
|
45
|
+
if (!state)
|
|
46
|
+
return false;
|
|
47
|
+
return state.events.some((e) => e.ts < beforeTs);
|
|
48
|
+
}
|
|
49
|
+
/** Get files first read after a given timestamp (post-hoc detection) */
|
|
50
|
+
getPostHocReads(afterTs) {
|
|
51
|
+
const result = [];
|
|
52
|
+
for (const [path, state] of this.reads) {
|
|
53
|
+
const firstReadTs = this.getFirstReadTs(state);
|
|
54
|
+
if (firstReadTs && firstReadTs > afterTs) {
|
|
55
|
+
result.push(path);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return result.sort();
|
|
59
|
+
}
|
|
60
|
+
/** Serialize to JSON for persistence */
|
|
61
|
+
toJSON() {
|
|
62
|
+
const entries = {};
|
|
63
|
+
for (const [path, state] of this.reads) {
|
|
64
|
+
entries[path] = {
|
|
65
|
+
events: state.events,
|
|
66
|
+
total_lines: state.total_lines,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
return { reads: entries };
|
|
70
|
+
}
|
|
71
|
+
/** Restore from persisted JSON */
|
|
72
|
+
static fromJSON(data) {
|
|
73
|
+
const tracker = new ReadTracker();
|
|
74
|
+
const reads = data['reads'];
|
|
75
|
+
if (!reads || typeof reads !== 'object')
|
|
76
|
+
return tracker;
|
|
77
|
+
for (const [path, raw] of Object.entries(reads)) {
|
|
78
|
+
const entry = raw;
|
|
79
|
+
if (!entry.events || !Array.isArray(entry.events))
|
|
80
|
+
continue;
|
|
81
|
+
const totalLines = typeof entry.total_lines === 'number' ? entry.total_lines : 0;
|
|
82
|
+
for (const evt of entry.events) {
|
|
83
|
+
const e = evt;
|
|
84
|
+
tracker.record(path, typeof e.offset === 'number' ? e.offset : 0, typeof e.lines === 'number' ? e.lines : 0, totalLines, (e.ts ?? new Date().toISOString()));
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return tracker;
|
|
88
|
+
}
|
|
89
|
+
computeDepth(path, state) {
|
|
90
|
+
const totalLines = Math.max(state.total_lines, 1);
|
|
91
|
+
const coveredLines = this.computeCoveredLines(state, totalLines);
|
|
92
|
+
const readDepth = Math.min(coveredLines / totalLines, 1.0);
|
|
93
|
+
const firstReadAt = this.getFirstReadTs(state) ?? '';
|
|
94
|
+
return {
|
|
95
|
+
path,
|
|
96
|
+
total_lines: state.total_lines,
|
|
97
|
+
lines_read: coveredLines,
|
|
98
|
+
read_depth: readDepth,
|
|
99
|
+
first_read_at: firstReadAt,
|
|
100
|
+
read_count: state.events.length,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Compute the union of all read line ranges for a file.
|
|
105
|
+
* This avoids double-counting overlapping reads.
|
|
106
|
+
*/
|
|
107
|
+
computeCoveredLines(state, totalLines) {
|
|
108
|
+
if (state.events.length === 0)
|
|
109
|
+
return 0;
|
|
110
|
+
// Build sorted intervals [start, end)
|
|
111
|
+
const intervals = state.events.map((e) => {
|
|
112
|
+
const start = Math.max(e.offset, 0);
|
|
113
|
+
// If lines is 0 or negative, treat as reading nothing
|
|
114
|
+
const end = Math.min(start + Math.max(e.lines, 0), totalLines);
|
|
115
|
+
return [start, end];
|
|
116
|
+
});
|
|
117
|
+
intervals.sort((a, b) => a[0] - b[0] || a[1] - b[1]);
|
|
118
|
+
// Merge overlapping intervals
|
|
119
|
+
let covered = 0;
|
|
120
|
+
let curStart = intervals[0][0];
|
|
121
|
+
let curEnd = intervals[0][1];
|
|
122
|
+
for (let i = 1; i < intervals.length; i++) {
|
|
123
|
+
const [s, e] = intervals[i];
|
|
124
|
+
if (s <= curEnd) {
|
|
125
|
+
// Overlapping — extend
|
|
126
|
+
curEnd = Math.max(curEnd, e);
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
// Gap — flush previous interval
|
|
130
|
+
covered += curEnd - curStart;
|
|
131
|
+
curStart = s;
|
|
132
|
+
curEnd = e;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
covered += curEnd - curStart;
|
|
136
|
+
return covered;
|
|
137
|
+
}
|
|
138
|
+
getFirstReadTs(state) {
|
|
139
|
+
if (state.events.length === 0)
|
|
140
|
+
return null;
|
|
141
|
+
let earliest = state.events[0].ts;
|
|
142
|
+
for (let i = 1; i < state.events.length; i++) {
|
|
143
|
+
if (state.events[i].ts < earliest) {
|
|
144
|
+
earliest = state.events[i].ts;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
return earliest;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=read-tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-tracker.js","sourceRoot":"","sources":["../src/read-tracker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codeledger/instrument",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Runtime instrumentation and recording for CodeLedger",
|
|
6
|
-
"license": "
|
|
6
|
+
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
9
|
"url": "https://github.com/codeledgerECF/codeledger-blackbox.git",
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
}
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@codeledger/types": "0.
|
|
28
|
-
"@codeledger/core": "0.
|
|
27
|
+
"@codeledger/types": "0.5.1",
|
|
28
|
+
"@codeledger/core": "0.5.1"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"typescript": "^5.4.0"
|