@newrelic/preflight 1.49.0 → 1.50.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/dashboard/routes/api-handler.d.ts +14 -0
- package/dist/dashboard/routes/api-handler.d.ts.map +1 -1
- package/dist/dashboard/routes/api-handler.js +31 -32
- package/dist/dashboard/routes/api-handler.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/dist/metrics/git-activity-recorder.d.ts +51 -0
- package/dist/metrics/git-activity-recorder.d.ts.map +1 -0
- package/dist/metrics/git-activity-recorder.js +178 -0
- package/dist/metrics/git-activity-recorder.js.map +1 -0
- package/dist/metrics/git-activity-store.d.ts +63 -0
- package/dist/metrics/git-activity-store.d.ts.map +1 -0
- package/dist/metrics/git-activity-store.js +115 -0
- package/dist/metrics/git-activity-store.js.map +1 -0
- package/dist/metrics/git-efficiency-tracker.d.ts +2 -15
- package/dist/metrics/git-efficiency-tracker.d.ts.map +1 -1
- package/dist/metrics/git-efficiency-tracker.js +12 -118
- package/dist/metrics/git-efficiency-tracker.js.map +1 -1
- package/dist/metrics/git-event-classifier.d.ts +36 -0
- package/dist/metrics/git-event-classifier.d.ts.map +1 -0
- package/dist/metrics/git-event-classifier.js +138 -0
- package/dist/metrics/git-event-classifier.js.map +1 -0
- package/dist/metrics/git-window-params.d.ts +22 -0
- package/dist/metrics/git-window-params.d.ts.map +1 -0
- package/dist/metrics/git-window-params.js +65 -0
- package/dist/metrics/git-window-params.js.map +1 -0
- package/dist/metrics/git-workspace-identity.d.ts +38 -0
- package/dist/metrics/git-workspace-identity.d.ts.map +1 -0
- package/dist/metrics/git-workspace-identity.js +136 -0
- package/dist/metrics/git-workspace-identity.js.map +1 -0
- package/dist/metrics/git-workspace-report.d.ts +114 -0
- package/dist/metrics/git-workspace-report.d.ts.map +1 -0
- package/dist/metrics/git-workspace-report.js +1187 -0
- package/dist/metrics/git-workspace-report.js.map +1 -0
- package/dist/metrics/git-workspace-reporter.d.ts +138 -0
- package/dist/metrics/git-workspace-reporter.d.ts.map +1 -0
- package/dist/metrics/git-workspace-reporter.js +326 -0
- package/dist/metrics/git-workspace-reporter.js.map +1 -0
- package/dist/metrics/local-session-aggregator.d.ts.map +1 -1
- package/dist/metrics/local-session-aggregator.js +1 -0
- package/dist/metrics/local-session-aggregator.js.map +1 -1
- package/dist/storage/session-store.d.ts.map +1 -1
- package/dist/storage/session-store.js +2 -0
- package/dist/storage/session-store.js.map +1 -1
- package/dist/storage/types.d.ts +1 -0
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/tools/session-stats.d.ts +27 -0
- package/dist/tools/session-stats.d.ts.map +1 -1
- package/dist/tools/session-stats.js +29 -7
- package/dist/tools/session-stats.js.map +1 -1
- package/dist/web/assets/index-4h4AORA2.js +64 -0
- package/dist/web/assets/index-qULXLTB2.css +2 -0
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/web/assets/index-C14Y4BRS.js +0 -64
- package/dist/web/assets/index-CQvdP3BR.css +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-workspace-report.js","sourceRoot":"","sources":["../../src/metrics/git-workspace-report.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import type { ReplayTimelineEntry, ToolCallRecord } from '../storage/types.js';
|
|
2
|
+
import { type GitActivityRecord } from './git-activity-recorder.js';
|
|
3
|
+
import { WorktreeIdentityResolver, type WorktreeIdentity } from './git-workspace-identity.js';
|
|
4
|
+
import { type GitWorkspaceReport, type ScopeRef, type WorktreeLiveState } from './git-workspace-report.js';
|
|
5
|
+
/**
|
|
6
|
+
* `GitWorkspaceReport` plus the exact `[since, until)` bounds `report()`
|
|
7
|
+
* queried — the caller (a route/MCP tool) already resolved these from a
|
|
8
|
+
* `window` string, and echoing them back is cheaper and less error-prone
|
|
9
|
+
* than having every consumer re-derive "what does 'week' actually mean"
|
|
10
|
+
* itself just to render a date range. Kept as a supertype of the pure
|
|
11
|
+
* aggregator's own return type rather than a field on `GitWorkspaceReport`
|
|
12
|
+
* itself — `buildGitWorkspaceReport` has no window of its own, only the
|
|
13
|
+
* records it was handed, so it stays untouched.
|
|
14
|
+
*/
|
|
15
|
+
export interface GitWorkspaceReportWithWindow extends GitWorkspaceReport {
|
|
16
|
+
readonly since: number;
|
|
17
|
+
readonly until: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Owns the live pipeline from raw tool calls to a queryable git workspace
|
|
21
|
+
* report: its own `WorktreeIdentityResolver` + `ActivityStore` +
|
|
22
|
+
* `GitActivityRecorder`, a registry of every workspace identity ever seen,
|
|
23
|
+
* and a short-TTL cache of each workspace's live branch/divergence state.
|
|
24
|
+
*/
|
|
25
|
+
export declare class GitWorkspaceReporter {
|
|
26
|
+
private readonly identityResolver;
|
|
27
|
+
private readonly store;
|
|
28
|
+
private readonly recorder;
|
|
29
|
+
private readonly liveStateTtlMs;
|
|
30
|
+
private readonly knownWorkspacesRegistry;
|
|
31
|
+
private readonly liveStateCache;
|
|
32
|
+
constructor(config?: {
|
|
33
|
+
readonly liveStateTtlMs?: number;
|
|
34
|
+
});
|
|
35
|
+
/** Feed every drained tool-call record. Also updates the known-workspaces
|
|
36
|
+
* registry with whatever identity gets resolved for this record's cwd. */
|
|
37
|
+
recordToolCall(record: ToolCallRecord): void;
|
|
38
|
+
/**
|
|
39
|
+
* Ingest already-classified records directly (bypassing the
|
|
40
|
+
* classify-from-ToolCallRecord path `recordToolCall` uses) — for replayed
|
|
41
|
+
* historical sessions built by `replaySessionToActivityRecords` elsewhere.
|
|
42
|
+
* `identities`, when given, is a workspaceKey -> identity map covering
|
|
43
|
+
* whichever of `records`' workspaceKeys the caller was able to resolve
|
|
44
|
+
* during replay (it already had to resolve identity per-entry to classify
|
|
45
|
+
* cwd-based attribution, so it's the caller's to hand back here) — this is
|
|
46
|
+
* what lets the known-workspaces registry learn about a workspace whose
|
|
47
|
+
* only evidence is replayed history, not live tool calls.
|
|
48
|
+
*/
|
|
49
|
+
ingestRecords(records: readonly GitActivityRecord[], identities?: ReadonlyMap<string, WorktreeIdentity>): void;
|
|
50
|
+
/** Every known workspace's identity, for building a scope picker even
|
|
51
|
+
* before there's a report to show. */
|
|
52
|
+
knownWorkspaces(): ReadonlyMap<string, WorktreeIdentity>;
|
|
53
|
+
/**
|
|
54
|
+
* Samples live branch state for a workspace (branch, default branch,
|
|
55
|
+
* ahead/behind), cached with a short TTL per worktreeKey so repeated calls
|
|
56
|
+
* in a short window don't re-shell out. Never runs `git fetch` — this only
|
|
57
|
+
* ever reads state git already has locally.
|
|
58
|
+
*/
|
|
59
|
+
sampleLiveState(identity: WorktreeIdentity): WorktreeLiveState;
|
|
60
|
+
/**
|
|
61
|
+
* The one method a future API/MCP layer calls. `since`/`until` are epoch
|
|
62
|
+
* ms, already resolved by the caller. Queries the in-memory store for
|
|
63
|
+
* records in [since, until), merges in `historical` records if given,
|
|
64
|
+
* samples live state for every workspace with activity in the resulting
|
|
65
|
+
* record set, and calls `buildGitWorkspaceReport`.
|
|
66
|
+
*
|
|
67
|
+
* The `identities` map `buildGitWorkspaceReport` needs comes from this
|
|
68
|
+
* reporter's own `knownWorkspaces()` registry, merged with the caller's
|
|
69
|
+
* `historicalIdentities` (identities the caller's own replay resolved for
|
|
70
|
+
* `historical`'s records — this reporter never resolved them itself, so it
|
|
71
|
+
* has no other way to know them). The live registry wins on key collision.
|
|
72
|
+
* A workspaceKey with no identity in either map is skipped gracefully;
|
|
73
|
+
* `buildGitWorkspaceReport` already logs a warning and drops any record
|
|
74
|
+
* whose workspaceKey it can't resolve, so there is nothing extra to do here
|
|
75
|
+
* for that case.
|
|
76
|
+
*/
|
|
77
|
+
report(input: {
|
|
78
|
+
readonly scope: ScopeRef;
|
|
79
|
+
readonly since: number;
|
|
80
|
+
readonly until: number;
|
|
81
|
+
readonly historical?: readonly GitActivityRecord[];
|
|
82
|
+
readonly historicalIdentities?: ReadonlyMap<string, WorktreeIdentity>;
|
|
83
|
+
}): GitWorkspaceReportWithWindow;
|
|
84
|
+
/**
|
|
85
|
+
* Compare-ref resolution ladder, first one that resolves wins:
|
|
86
|
+
* 1. The branch's own configured upstream (`<branch>@{upstream}`) — NOT
|
|
87
|
+
* always `origin/<defaultBranch>`; a repo's real branch can track a
|
|
88
|
+
* differently-named remote (e.g. `internal/main`) while `origin/main`
|
|
89
|
+
* exists and diverges by hundreds of commits, so a hardcoded
|
|
90
|
+
* `origin/<default>` guess would be actively wrong.
|
|
91
|
+
* 2. The repo's default branch on origin (`refs/remotes/origin/HEAD`).
|
|
92
|
+
* 3. Give up — ahead/behind/defaultBranch all stay null.
|
|
93
|
+
*/
|
|
94
|
+
private computeLiveState;
|
|
95
|
+
}
|
|
96
|
+
export interface ReplayedActivity {
|
|
97
|
+
readonly records: readonly GitActivityRecord[];
|
|
98
|
+
readonly identities: ReadonlyMap<string, WorktreeIdentity>;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Re-classifies a persisted session's timeline into `GitActivityRecord`s,
|
|
102
|
+
* using the SAME `GitActivityRecorder` dispatch the live path uses (so a
|
|
103
|
+
* regex improvement in the classifier retro-applies to history) and each
|
|
104
|
+
* entry's own `cwd` to resolve workspace identity, returning both the
|
|
105
|
+
* records and the identities resolved for them so a caller never needs to
|
|
106
|
+
* re-walk `session.timeline` itself to recover the same information.
|
|
107
|
+
*
|
|
108
|
+
* An entry with no `cwd` (a session persisted before that field existed)
|
|
109
|
+
* resolves to the `'unattributed'` workspaceKey via the same path
|
|
110
|
+
* `GitActivityRecorder` uses live — UNLESS `session.repoName` is known, in
|
|
111
|
+
* which case it's remapped to a synthetic "this repo, worktree unknown"
|
|
112
|
+
* identity instead. `repoName` is coarser than a real worktree identity (one
|
|
113
|
+
* remote can't distinguish which of its worktrees a session ran in), so this
|
|
114
|
+
* can't merge into a real worktree's own rollup — it surfaces as its own
|
|
115
|
+
* row, grouped with the real ones by display name rather than by identity
|
|
116
|
+
* key. Still strictly more honest than folding every pre-`cwd` session into
|
|
117
|
+
* one anonymous bucket regardless of which repo it touched.
|
|
118
|
+
*
|
|
119
|
+
* Implementation: build one synthetic `ToolCallRecord` per timeline entry
|
|
120
|
+
* (mirroring `GitEfficiencyTracker.replayTimeline()`'s own pattern) with a
|
|
121
|
+
* synthetic `toolUseId` of `replay:<sessionId>:<index>`. `GitActivityRecorder`'s
|
|
122
|
+
* `makeRecordId` prefers `toolUseId` when present, so every resulting record
|
|
123
|
+
* gets a `recordId` starting with `replay:<sessionId>:<index>` (plus the same
|
|
124
|
+
* kind-specific discriminator suffix the live path appends, e.g. `:git` or
|
|
125
|
+
* `:edit` — needed because one entry can legitimately produce more than one
|
|
126
|
+
* activity) with zero special-casing. That id is deterministic across replays
|
|
127
|
+
* of the same session, which is what lets a destination store's own recordId
|
|
128
|
+
* dedup make a repeated replay safe.
|
|
129
|
+
*
|
|
130
|
+
* A private, throwaway `ActivityStore` + `GitActivityRecorder` pair captures
|
|
131
|
+
* whatever the dispatch produces; this function just drains it back out.
|
|
132
|
+
*/
|
|
133
|
+
export declare function replaySessionToActivityRecords(session: {
|
|
134
|
+
readonly sessionId: string;
|
|
135
|
+
readonly timeline?: readonly ReplayTimelineEntry[];
|
|
136
|
+
readonly repoName?: string | null;
|
|
137
|
+
}, identityResolver: WorktreeIdentityResolver): ReplayedActivity;
|
|
138
|
+
//# sourceMappingURL=git-workspace-reporter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-workspace-reporter.d.ts","sourceRoot":"","sources":["../../src/metrics/git-workspace-reporter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EAAuB,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,KAAK,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC9F,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACvB,MAAM,2BAA2B,CAAC;AAiBnC;;;;;;;;;GASG;AACH,MAAM,WAAW,4BAA6B,SAAQ,kBAAkB;IACtE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAoBD;;;;;GAKG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkC;IACnE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0C;IAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAKxC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAuC;IAC/E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwC;gBAE3D,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE;IAKzD;+EAC2E;IAC3E,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAQ5C;;;;;;;;;;OAUG;IACH,aAAa,CACX,OAAO,EAAE,SAAS,iBAAiB,EAAE,EACrC,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,GACjD,IAAI;IAWP;2CACuC;IACvC,eAAe,IAAI,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAIxD;;;;;OAKG;IACH,eAAe,CAAC,QAAQ,EAAE,gBAAgB,GAAG,iBAAiB;IAY9D;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,KAAK,EAAE;QACZ,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;QACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;QACnD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;KACvE,GAAG,4BAA4B;IAmDhC;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB;CA6DzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC5D;AAOD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE;IACP,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,EACD,gBAAgB,EAAE,wBAAwB,GACzC,gBAAgB,CA2DlB"}
|
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
import { spawnSync } from 'node:child_process';
|
|
2
|
+
import { ActivityStore } from './git-activity-store.js';
|
|
3
|
+
import { GitActivityRecorder } from './git-activity-recorder.js';
|
|
4
|
+
import { WorktreeIdentityResolver } from './git-workspace-identity.js';
|
|
5
|
+
import { buildGitWorkspaceReport, } from './git-workspace-report.js';
|
|
6
|
+
// Same pattern as git-workspace-identity.ts / local-session-aggregator.ts:
|
|
7
|
+
// GIT_DIR/GIT_WORK_TREE (set by git for hook subprocesses, among other cases)
|
|
8
|
+
// override `-C <dir>`, silently redirecting these calls to whatever repo the
|
|
9
|
+
// ambient env points at instead of the target directory.
|
|
10
|
+
const GIT_OPTS = {
|
|
11
|
+
encoding: 'utf-8',
|
|
12
|
+
timeout: 2000,
|
|
13
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
14
|
+
get env() {
|
|
15
|
+
return { ...process.env, GIT_DIR: undefined, GIT_WORK_TREE: undefined };
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
const DEFAULT_LIVE_STATE_TTL_MS = 5 * 60_000;
|
|
19
|
+
function gitOut(root, args) {
|
|
20
|
+
try {
|
|
21
|
+
const result = spawnSync('git', ['-C', root, ...args], GIT_OPTS);
|
|
22
|
+
if (result.status !== 0 || typeof result.stdout !== 'string')
|
|
23
|
+
return null;
|
|
24
|
+
const out = result.stdout.trim();
|
|
25
|
+
return out.length > 0 ? out : null;
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/** `internal/main` -> `main`, `origin/main` -> `main`. A ref with no `/` is
|
|
32
|
+
* returned unchanged. */
|
|
33
|
+
function stripRemotePrefix(ref) {
|
|
34
|
+
const idx = ref.indexOf('/');
|
|
35
|
+
return idx >= 0 ? ref.slice(idx + 1) : ref;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Owns the live pipeline from raw tool calls to a queryable git workspace
|
|
39
|
+
* report: its own `WorktreeIdentityResolver` + `ActivityStore` +
|
|
40
|
+
* `GitActivityRecorder`, a registry of every workspace identity ever seen,
|
|
41
|
+
* and a short-TTL cache of each workspace's live branch/divergence state.
|
|
42
|
+
*/
|
|
43
|
+
export class GitWorkspaceReporter {
|
|
44
|
+
identityResolver = new WorktreeIdentityResolver();
|
|
45
|
+
store = new ActivityStore();
|
|
46
|
+
recorder;
|
|
47
|
+
liveStateTtlMs;
|
|
48
|
+
// Every workspaceKey ever seen, not just ones with recent activity — a
|
|
49
|
+
// scope picker needs to show a workspace even in a window with no
|
|
50
|
+
// activity in it (see knownWorkspaces()).
|
|
51
|
+
knownWorkspacesRegistry = new Map();
|
|
52
|
+
liveStateCache = new Map();
|
|
53
|
+
constructor(config) {
|
|
54
|
+
this.recorder = new GitActivityRecorder(this.store, this.identityResolver);
|
|
55
|
+
this.liveStateTtlMs = config?.liveStateTtlMs ?? DEFAULT_LIVE_STATE_TTL_MS;
|
|
56
|
+
}
|
|
57
|
+
/** Feed every drained tool-call record. Also updates the known-workspaces
|
|
58
|
+
* registry with whatever identity gets resolved for this record's cwd. */
|
|
59
|
+
recordToolCall(record) {
|
|
60
|
+
this.recorder.recordToolCall(record);
|
|
61
|
+
const identity = this.identityResolver.resolve(record.cwd);
|
|
62
|
+
if (identity) {
|
|
63
|
+
this.knownWorkspacesRegistry.set(identity.worktreeKey, identity);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Ingest already-classified records directly (bypassing the
|
|
68
|
+
* classify-from-ToolCallRecord path `recordToolCall` uses) — for replayed
|
|
69
|
+
* historical sessions built by `replaySessionToActivityRecords` elsewhere.
|
|
70
|
+
* `identities`, when given, is a workspaceKey -> identity map covering
|
|
71
|
+
* whichever of `records`' workspaceKeys the caller was able to resolve
|
|
72
|
+
* during replay (it already had to resolve identity per-entry to classify
|
|
73
|
+
* cwd-based attribution, so it's the caller's to hand back here) — this is
|
|
74
|
+
* what lets the known-workspaces registry learn about a workspace whose
|
|
75
|
+
* only evidence is replayed history, not live tool calls.
|
|
76
|
+
*/
|
|
77
|
+
ingestRecords(records, identities) {
|
|
78
|
+
for (const record of records) {
|
|
79
|
+
this.store.ingest(record);
|
|
80
|
+
}
|
|
81
|
+
if (identities) {
|
|
82
|
+
for (const [workspaceKey, identity] of identities) {
|
|
83
|
+
this.knownWorkspacesRegistry.set(workspaceKey, identity);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/** Every known workspace's identity, for building a scope picker even
|
|
88
|
+
* before there's a report to show. */
|
|
89
|
+
knownWorkspaces() {
|
|
90
|
+
return this.knownWorkspacesRegistry;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Samples live branch state for a workspace (branch, default branch,
|
|
94
|
+
* ahead/behind), cached with a short TTL per worktreeKey so repeated calls
|
|
95
|
+
* in a short window don't re-shell out. Never runs `git fetch` — this only
|
|
96
|
+
* ever reads state git already has locally.
|
|
97
|
+
*/
|
|
98
|
+
sampleLiveState(identity) {
|
|
99
|
+
const now = Date.now();
|
|
100
|
+
const cached = this.liveStateCache.get(identity.worktreeKey);
|
|
101
|
+
if (cached && now - cached.measuredAtMs < this.liveStateTtlMs) {
|
|
102
|
+
return cached;
|
|
103
|
+
}
|
|
104
|
+
const state = this.computeLiveState(identity, now);
|
|
105
|
+
this.liveStateCache.set(identity.worktreeKey, state);
|
|
106
|
+
return state;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* The one method a future API/MCP layer calls. `since`/`until` are epoch
|
|
110
|
+
* ms, already resolved by the caller. Queries the in-memory store for
|
|
111
|
+
* records in [since, until), merges in `historical` records if given,
|
|
112
|
+
* samples live state for every workspace with activity in the resulting
|
|
113
|
+
* record set, and calls `buildGitWorkspaceReport`.
|
|
114
|
+
*
|
|
115
|
+
* The `identities` map `buildGitWorkspaceReport` needs comes from this
|
|
116
|
+
* reporter's own `knownWorkspaces()` registry, merged with the caller's
|
|
117
|
+
* `historicalIdentities` (identities the caller's own replay resolved for
|
|
118
|
+
* `historical`'s records — this reporter never resolved them itself, so it
|
|
119
|
+
* has no other way to know them). The live registry wins on key collision.
|
|
120
|
+
* A workspaceKey with no identity in either map is skipped gracefully;
|
|
121
|
+
* `buildGitWorkspaceReport` already logs a warning and drops any record
|
|
122
|
+
* whose workspaceKey it can't resolve, so there is nothing extra to do here
|
|
123
|
+
* for that case.
|
|
124
|
+
*/
|
|
125
|
+
report(input) {
|
|
126
|
+
const { scope, since, until, historical, historicalIdentities } = input;
|
|
127
|
+
const liveRecords = this.store.query({ since, until });
|
|
128
|
+
// Dedup `historical` against what's already live, on the same
|
|
129
|
+
// (workspaceKey, recordId) identity ActivityStore's own dedup uses
|
|
130
|
+
// internally (a nested Map/Set there, a joined string here — same
|
|
131
|
+
// identity, different representation): a session started today can
|
|
132
|
+
// legitimately be replayed twice for the same window — once into this
|
|
133
|
+
// reporter's own live store at startup (via ingestRecords), and again
|
|
134
|
+
// here on every request that reads it back from SessionStore for a
|
|
135
|
+
// historical window — and naive concatenation double-counted every
|
|
136
|
+
// number for any such overlap.
|
|
137
|
+
const keyOf = (r) => r.workspaceKey + '|' + r.recordId;
|
|
138
|
+
const liveKeys = new Set(liveRecords.map(keyOf));
|
|
139
|
+
// `historical` is the caller's own replay of whole session timelines, not
|
|
140
|
+
// a store query — nothing upstream of this bounds it to `[since, until)`.
|
|
141
|
+
// A session that started inside the window but ran past `until` would
|
|
142
|
+
// otherwise contribute its post-window activity too, which is exactly the
|
|
143
|
+
// "explicit time window" correctness this reporter exists to guarantee.
|
|
144
|
+
const inWindow = (r) => r.timestamp >= since && r.timestamp < until;
|
|
145
|
+
const dedupedHistorical = (historical ?? []).filter((r) => inWindow(r) && !liveKeys.has(keyOf(r)));
|
|
146
|
+
const records = [...liveRecords, ...dedupedHistorical];
|
|
147
|
+
const identities = new Map([...(historicalIdentities ?? []), ...this.knownWorkspacesRegistry]);
|
|
148
|
+
const liveStates = new Map();
|
|
149
|
+
const workspaceKeys = new Set(records.map((r) => r.workspaceKey));
|
|
150
|
+
for (const key of workspaceKeys) {
|
|
151
|
+
const identity = identities.get(key);
|
|
152
|
+
if (identity) {
|
|
153
|
+
liveStates.set(key, this.sampleLiveState(identity));
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
// `nowMs: until` caps computeVelocityCore's open-ended "since last
|
|
157
|
+
// commit" gap at the window's own boundary instead of real wall-clock
|
|
158
|
+
// time — resolveWindowParam guarantees `until <= Date.now()` for every
|
|
159
|
+
// window it produces, so this is always at least as tight as the old
|
|
160
|
+
// always-Date.now() behavior, and strictly correct for a bounded past
|
|
161
|
+
// window (e.g. "yesterday") where real "now" would reach outside the
|
|
162
|
+
// range being reported.
|
|
163
|
+
return {
|
|
164
|
+
...buildGitWorkspaceReport({ scope, records, identities, liveStates, nowMs: until }),
|
|
165
|
+
since,
|
|
166
|
+
until,
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Compare-ref resolution ladder, first one that resolves wins:
|
|
171
|
+
* 1. The branch's own configured upstream (`<branch>@{upstream}`) — NOT
|
|
172
|
+
* always `origin/<defaultBranch>`; a repo's real branch can track a
|
|
173
|
+
* differently-named remote (e.g. `internal/main`) while `origin/main`
|
|
174
|
+
* exists and diverges by hundreds of commits, so a hardcoded
|
|
175
|
+
* `origin/<default>` guess would be actively wrong.
|
|
176
|
+
* 2. The repo's default branch on origin (`refs/remotes/origin/HEAD`).
|
|
177
|
+
* 3. Give up — ahead/behind/defaultBranch all stay null.
|
|
178
|
+
*/
|
|
179
|
+
computeLiveState(identity, now) {
|
|
180
|
+
const root = identity.worktreeRoot;
|
|
181
|
+
if (root === null) {
|
|
182
|
+
return {
|
|
183
|
+
branch: identity.branch,
|
|
184
|
+
defaultBranch: null,
|
|
185
|
+
ahead: null,
|
|
186
|
+
behind: null,
|
|
187
|
+
measuredAtMs: now,
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
let compareRef = null;
|
|
191
|
+
if (identity.branch !== null) {
|
|
192
|
+
compareRef = gitOut(root, ['rev-parse', '--abbrev-ref', `${identity.branch}@{upstream}`]);
|
|
193
|
+
}
|
|
194
|
+
if (compareRef === null) {
|
|
195
|
+
compareRef = gitOut(root, ['symbolic-ref', '--short', 'refs/remotes/origin/HEAD']);
|
|
196
|
+
}
|
|
197
|
+
if (compareRef === null) {
|
|
198
|
+
return {
|
|
199
|
+
branch: identity.branch,
|
|
200
|
+
defaultBranch: null,
|
|
201
|
+
ahead: null,
|
|
202
|
+
behind: null,
|
|
203
|
+
measuredAtMs: now,
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
const defaultBranch = stripRemotePrefix(compareRef);
|
|
207
|
+
// `git rev-list --left-right --count <left>...<right>` prints
|
|
208
|
+
// "<count-of-left-only>\t<count-of-right-only>" — verified against a real
|
|
209
|
+
// repo with a real ahead/behind divergence rather than assumed: with
|
|
210
|
+
// `<upstream>...HEAD`, left is the upstream (what we're behind on) and
|
|
211
|
+
// right is HEAD (what we're ahead by), so the output is "<behind>\t<ahead>".
|
|
212
|
+
const countsOut = gitOut(root, ['rev-list', '--count', '--left-right', `${compareRef}...HEAD`]);
|
|
213
|
+
if (countsOut === null) {
|
|
214
|
+
return {
|
|
215
|
+
branch: identity.branch,
|
|
216
|
+
defaultBranch,
|
|
217
|
+
ahead: null,
|
|
218
|
+
behind: null,
|
|
219
|
+
measuredAtMs: now,
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
const [behindStr, aheadStr] = countsOut.split('\t');
|
|
223
|
+
const behind = behindStr !== undefined ? parseInt(behindStr, 10) : NaN;
|
|
224
|
+
const ahead = aheadStr !== undefined ? parseInt(aheadStr, 10) : NaN;
|
|
225
|
+
return {
|
|
226
|
+
branch: identity.branch,
|
|
227
|
+
defaultBranch,
|
|
228
|
+
ahead: Number.isFinite(ahead) ? ahead : null,
|
|
229
|
+
behind: Number.isFinite(behind) ? behind : null,
|
|
230
|
+
measuredAtMs: now,
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
// Prefix for a synthetic identity representing "this repo, but we don't know
|
|
235
|
+
// which worktree" — the fallback used when a session predates the `cwd`
|
|
236
|
+
// field on ReplayTimelineEntry but still carries a resolved `repoName`.
|
|
237
|
+
const UNKNOWN_WORKTREE_PREFIX = 'unresolved-repo:';
|
|
238
|
+
/**
|
|
239
|
+
* Re-classifies a persisted session's timeline into `GitActivityRecord`s,
|
|
240
|
+
* using the SAME `GitActivityRecorder` dispatch the live path uses (so a
|
|
241
|
+
* regex improvement in the classifier retro-applies to history) and each
|
|
242
|
+
* entry's own `cwd` to resolve workspace identity, returning both the
|
|
243
|
+
* records and the identities resolved for them so a caller never needs to
|
|
244
|
+
* re-walk `session.timeline` itself to recover the same information.
|
|
245
|
+
*
|
|
246
|
+
* An entry with no `cwd` (a session persisted before that field existed)
|
|
247
|
+
* resolves to the `'unattributed'` workspaceKey via the same path
|
|
248
|
+
* `GitActivityRecorder` uses live — UNLESS `session.repoName` is known, in
|
|
249
|
+
* which case it's remapped to a synthetic "this repo, worktree unknown"
|
|
250
|
+
* identity instead. `repoName` is coarser than a real worktree identity (one
|
|
251
|
+
* remote can't distinguish which of its worktrees a session ran in), so this
|
|
252
|
+
* can't merge into a real worktree's own rollup — it surfaces as its own
|
|
253
|
+
* row, grouped with the real ones by display name rather than by identity
|
|
254
|
+
* key. Still strictly more honest than folding every pre-`cwd` session into
|
|
255
|
+
* one anonymous bucket regardless of which repo it touched.
|
|
256
|
+
*
|
|
257
|
+
* Implementation: build one synthetic `ToolCallRecord` per timeline entry
|
|
258
|
+
* (mirroring `GitEfficiencyTracker.replayTimeline()`'s own pattern) with a
|
|
259
|
+
* synthetic `toolUseId` of `replay:<sessionId>:<index>`. `GitActivityRecorder`'s
|
|
260
|
+
* `makeRecordId` prefers `toolUseId` when present, so every resulting record
|
|
261
|
+
* gets a `recordId` starting with `replay:<sessionId>:<index>` (plus the same
|
|
262
|
+
* kind-specific discriminator suffix the live path appends, e.g. `:git` or
|
|
263
|
+
* `:edit` — needed because one entry can legitimately produce more than one
|
|
264
|
+
* activity) with zero special-casing. That id is deterministic across replays
|
|
265
|
+
* of the same session, which is what lets a destination store's own recordId
|
|
266
|
+
* dedup make a repeated replay safe.
|
|
267
|
+
*
|
|
268
|
+
* A private, throwaway `ActivityStore` + `GitActivityRecorder` pair captures
|
|
269
|
+
* whatever the dispatch produces; this function just drains it back out.
|
|
270
|
+
*/
|
|
271
|
+
export function replaySessionToActivityRecords(session, identityResolver) {
|
|
272
|
+
const replayStore = new ActivityStore();
|
|
273
|
+
const replayRecorder = new GitActivityRecorder(replayStore, identityResolver);
|
|
274
|
+
const timeline = session.timeline ?? [];
|
|
275
|
+
const identities = new Map();
|
|
276
|
+
for (let index = 0; index < timeline.length; index++) {
|
|
277
|
+
const entry = timeline[index];
|
|
278
|
+
const toolUseId = 'replay:' + session.sessionId + ':' + String(index);
|
|
279
|
+
const syntheticRecord = {
|
|
280
|
+
id: toolUseId,
|
|
281
|
+
sessionId: session.sessionId,
|
|
282
|
+
toolName: entry.toolName,
|
|
283
|
+
toolUseId,
|
|
284
|
+
timestamp: entry.timestamp,
|
|
285
|
+
durationMs: entry.durationMs,
|
|
286
|
+
success: entry.success,
|
|
287
|
+
cwd: entry.cwd,
|
|
288
|
+
filePath: entry.filePath,
|
|
289
|
+
command: entry.command,
|
|
290
|
+
isTestCommand: entry.isTestCommand,
|
|
291
|
+
isBuildCommand: entry.isBuildCommand,
|
|
292
|
+
errorType: entry.errorType,
|
|
293
|
+
};
|
|
294
|
+
replayRecorder.recordToolCall(syntheticRecord);
|
|
295
|
+
const identity = identityResolver.resolve(entry.cwd);
|
|
296
|
+
if (identity) {
|
|
297
|
+
identities.set(identity.worktreeKey, identity);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
// The replay store is private to this call and holds nothing else, so
|
|
301
|
+
// querying the full open range just drains everything that was ingested.
|
|
302
|
+
const drained = [...replayStore.query({ since: -Infinity, until: Infinity })];
|
|
303
|
+
if (!session.repoName) {
|
|
304
|
+
return { records: drained, identities };
|
|
305
|
+
}
|
|
306
|
+
const fallbackKey = UNKNOWN_WORKTREE_PREFIX + session.repoName;
|
|
307
|
+
let usedFallback = false;
|
|
308
|
+
const records = drained.map((record) => {
|
|
309
|
+
if (record.workspaceKey !== 'unattributed')
|
|
310
|
+
return record;
|
|
311
|
+
usedFallback = true;
|
|
312
|
+
return { ...record, workspaceKey: fallbackKey };
|
|
313
|
+
});
|
|
314
|
+
if (usedFallback) {
|
|
315
|
+
identities.set(fallbackKey, {
|
|
316
|
+
repoKey: fallbackKey,
|
|
317
|
+
worktreeKey: fallbackKey,
|
|
318
|
+
repoName: session.repoName,
|
|
319
|
+
worktreeRoot: null,
|
|
320
|
+
worktreeLabel: 'worktree unknown',
|
|
321
|
+
branch: null,
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
return { records, identities };
|
|
325
|
+
}
|
|
326
|
+
//# sourceMappingURL=git-workspace-reporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-workspace-reporter.js","sourceRoot":"","sources":["../../src/metrics/git-workspace-reporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-session-aggregator.d.ts","sourceRoot":"","sources":["../../src/metrics/local-session-aggregator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"local-session-aggregator.d.ts","sourceRoot":"","sources":["../../src/metrics/local-session-aggregator.ts"],"names":[],"mappings":"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"}
|
|
@@ -240,6 +240,7 @@ export class LocalSessionAggregator {
|
|
|
240
240
|
success: record.success !== false,
|
|
241
241
|
...(typeof record.filePath === 'string' && { filePath: record.filePath }),
|
|
242
242
|
...(typeof record.command === 'string' && { command: record.command }),
|
|
243
|
+
...(typeof record.cwd === 'string' && { cwd: record.cwd }),
|
|
243
244
|
...(record.isTestCommand === true && { isTestCommand: true }),
|
|
244
245
|
...(record.isBuildCommand === true && { isBuildCommand: true }),
|
|
245
246
|
...(record.isLintCommand === true && { isLintCommand: true }),
|