prismalens 0.1.0 → 0.1.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/src/cli/grouping.d.ts.map +1 -1
- package/dist/src/cli/grouping.js +66 -8
- package/dist/src/cli/grouping.js.map +1 -1
- package/dist/src/cli/listen.d.ts +1 -1
- package/dist/src/cli/listen.d.ts.map +1 -1
- package/dist/src/cli/listen.js +58 -9
- package/dist/src/cli/listen.js.map +1 -1
- package/dist/src/core/db.d.ts.map +1 -1
- package/dist/src/core/db.js +40 -6
- package/dist/src/core/db.js.map +1 -1
- package/dist/src/core/run-investigation.d.ts +2 -0
- package/dist/src/core/run-investigation.d.ts.map +1 -1
- package/dist/src/core/run-investigation.js +1 -0
- package/dist/src/core/run-investigation.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grouping.d.ts","sourceRoot":"","sources":["../../../src/cli/grouping.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAe,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEtE,MAAM,WAAW,YAAY;IAC5B,aAAa,CACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAAC;IACV,aAAa,IAAI,MAAM,CAAC;IACxB,KAAK,CACJ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,IAAI,CAAC;IACR,QAAQ,IAAI,IAAI,CAAC;IACjB,cAAc,IAAI,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,cAAc,CAAC;IACzB,gBAAgB,EAAE,CACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3B;AAED,wBAAgB,cAAc,CAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CA8BR;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAetE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"grouping.d.ts","sourceRoot":"","sources":["../../../src/cli/grouping.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAe,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEtE,MAAM,WAAW,YAAY;IAC5B,aAAa,CACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAAC;IACV,aAAa,IAAI,MAAM,CAAC;IACxB,KAAK,CACJ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,IAAI,CAAC;IACR,QAAQ,IAAI,IAAI,CAAC;IACjB,cAAc,IAAI,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,cAAc,CAAC;IACzB,gBAAgB,EAAE,CACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3B;AAED,wBAAgB,cAAc,CAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CA8BR;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAetE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,YAAY,CA6N1E"}
|
package/dist/src/cli/grouping.js
CHANGED
|
@@ -52,6 +52,7 @@ export function createGroupingLayer(options) {
|
|
|
52
52
|
let shuttingDown = false;
|
|
53
53
|
const windows = new Map();
|
|
54
54
|
const running = new Map();
|
|
55
|
+
const activeAlerts = new Map();
|
|
55
56
|
return {
|
|
56
57
|
isShuttingDown() {
|
|
57
58
|
return shuttingDown;
|
|
@@ -77,23 +78,59 @@ export function createGroupingLayer(options) {
|
|
|
77
78
|
for (const alert of firing) {
|
|
78
79
|
const groupKey = deriveGroupKey(alert, payload);
|
|
79
80
|
const dedupeKey = deriveDedupeKey(alert);
|
|
81
|
+
// 1. Fingerprint-level suppression (Issue #137)
|
|
82
|
+
// If this exact fingerprint is already in-flight anywhere, attach the re-page
|
|
83
|
+
// to its existing investigation and suppress dispatch.
|
|
84
|
+
if (activeAlerts.has(dedupeKey)) {
|
|
85
|
+
const active = activeAlerts.get(dedupeKey);
|
|
86
|
+
if (active && active.phase === "running" && active.runId) {
|
|
87
|
+
const state = running.get(active.groupKey);
|
|
88
|
+
/* v8 ignore next */
|
|
89
|
+
if (state) {
|
|
90
|
+
// Note the re-page on the existing run
|
|
91
|
+
state.writeQueue = state.writeQueue
|
|
92
|
+
.then(() => options.sessions.appendGroupAlert(state.runId, alert))
|
|
93
|
+
/* v8 ignore start */
|
|
94
|
+
.catch((err) => {
|
|
95
|
+
options.log(`Failed to attach re-page to group ${active.groupKey} (run ${state.runId}): ${err}`);
|
|
96
|
+
});
|
|
97
|
+
/* v8 ignore stop */
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
options.log(`Suppression lookup hit but run vanished for dedupeKey ${dedupeKey}`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
// If phase === "window", it's buffered; no action needed.
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
// 2. Group-level attachment (AC2)
|
|
107
|
+
// If the group is already running, attach this NEW alert (different dedupeKey) to it.
|
|
80
108
|
if (running.has(groupKey)) {
|
|
81
109
|
const state = running.get(groupKey);
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
//
|
|
110
|
+
/* v8 ignore next */
|
|
111
|
+
if (state) {
|
|
112
|
+
// Note: we don't need seenKeys here because activeAlerts handles exact dupes above.
|
|
113
|
+
activeAlerts.set(dedupeKey, {
|
|
114
|
+
phase: "running",
|
|
115
|
+
groupKey,
|
|
116
|
+
runId: state.runId,
|
|
117
|
+
});
|
|
118
|
+
state.dedupeKeys.add(dedupeKey);
|
|
85
119
|
state.writeQueue = state.writeQueue
|
|
86
120
|
.then(() => options.sessions.appendGroupAlert(state.runId, alert))
|
|
121
|
+
/* v8 ignore start */
|
|
87
122
|
.catch((err) => {
|
|
88
123
|
options.log(`Failed to attach late alert to group ${groupKey} (run ${state.runId}): ${err}`);
|
|
89
124
|
});
|
|
125
|
+
/* v8 ignore stop */
|
|
90
126
|
}
|
|
91
127
|
continue;
|
|
92
128
|
}
|
|
93
129
|
if (windows.has(groupKey)) {
|
|
94
130
|
const state = windows.get(groupKey);
|
|
95
|
-
|
|
96
|
-
|
|
131
|
+
/* v8 ignore next */
|
|
132
|
+
if (state) {
|
|
133
|
+
activeAlerts.set(dedupeKey, { phase: "window", groupKey });
|
|
97
134
|
state.alerts.push(alert);
|
|
98
135
|
}
|
|
99
136
|
continue;
|
|
@@ -101,13 +138,22 @@ export function createGroupingLayer(options) {
|
|
|
101
138
|
// IDLE -> WINDOW_OPEN
|
|
102
139
|
const state = {
|
|
103
140
|
alerts: [alert],
|
|
104
|
-
seenKeys: new Set([dedupeKey]),
|
|
105
141
|
timer: setTimeout(() => {
|
|
106
142
|
// timer fires -> RUNNING
|
|
107
143
|
const alertsToRun = state.alerts;
|
|
108
|
-
const seenKeys = state.seenKeys;
|
|
109
144
|
windows.delete(groupKey);
|
|
110
145
|
const runId = randomUUID();
|
|
146
|
+
const dedupeKeys = new Set();
|
|
147
|
+
// Move all these dedupe keys to the running phase
|
|
148
|
+
for (const a of alertsToRun) {
|
|
149
|
+
const dkey = deriveDedupeKey(a);
|
|
150
|
+
activeAlerts.set(dkey, {
|
|
151
|
+
phase: "running",
|
|
152
|
+
groupKey,
|
|
153
|
+
runId,
|
|
154
|
+
});
|
|
155
|
+
dedupeKeys.add(dkey);
|
|
156
|
+
}
|
|
111
157
|
// synchronously set up the record
|
|
112
158
|
const rec = {
|
|
113
159
|
groupKey,
|
|
@@ -122,8 +168,8 @@ export function createGroupingLayer(options) {
|
|
|
122
168
|
});
|
|
123
169
|
running.set(groupKey, {
|
|
124
170
|
runId,
|
|
125
|
-
seenKeys,
|
|
126
171
|
writeQueue: writePromise,
|
|
172
|
+
dedupeKeys,
|
|
127
173
|
});
|
|
128
174
|
writePromise
|
|
129
175
|
.then(async () => {
|
|
@@ -131,6 +177,9 @@ export function createGroupingLayer(options) {
|
|
|
131
177
|
// resolving; don't start a new investigation while closing.
|
|
132
178
|
if (shuttingDown) {
|
|
133
179
|
running.delete(groupKey);
|
|
180
|
+
for (const key of dedupeKeys) {
|
|
181
|
+
activeAlerts.delete(key);
|
|
182
|
+
}
|
|
134
183
|
return;
|
|
135
184
|
}
|
|
136
185
|
try {
|
|
@@ -141,14 +190,22 @@ export function createGroupingLayer(options) {
|
|
|
141
190
|
}
|
|
142
191
|
finally {
|
|
143
192
|
running.delete(groupKey);
|
|
193
|
+
// Clean up global fingerprint registry for this run
|
|
194
|
+
for (const key of dedupeKeys) {
|
|
195
|
+
activeAlerts.delete(key);
|
|
196
|
+
}
|
|
144
197
|
}
|
|
145
198
|
})
|
|
146
199
|
.catch((err) => {
|
|
147
200
|
options.log(`Investigation for group ${groupKey} failed: ${err}`);
|
|
148
201
|
running.delete(groupKey);
|
|
202
|
+
for (const key of dedupeKeys) {
|
|
203
|
+
activeAlerts.delete(key);
|
|
204
|
+
}
|
|
149
205
|
});
|
|
150
206
|
}, options.windowMs),
|
|
151
207
|
};
|
|
208
|
+
activeAlerts.set(dedupeKey, { phase: "window", groupKey });
|
|
152
209
|
windows.set(groupKey, state);
|
|
153
210
|
}
|
|
154
211
|
},
|
|
@@ -160,6 +217,7 @@ export function createGroupingLayer(options) {
|
|
|
160
217
|
dropped++;
|
|
161
218
|
}
|
|
162
219
|
windows.clear();
|
|
220
|
+
activeAlerts.clear();
|
|
163
221
|
if (dropped > 0) {
|
|
164
222
|
options.log(`Shutdown: dropped ${dropped} pending grouping windows`);
|
|
165
223
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grouping.js","sourceRoot":"","sources":["../../../src/cli/grouping.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"grouping.js","sourceRoot":"","sources":["../../../src/cli/grouping.ts"],"names":[],"mappings":"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"}
|
package/dist/src/cli/listen.d.ts
CHANGED
|
@@ -31,7 +31,7 @@ export interface InvestigationRunnerDeps {
|
|
|
31
31
|
* No label / no catalog match / no checkout ⇒ the listen cwd, exactly like a
|
|
32
32
|
* manual `pl investigate` run from that directory (single-player default).
|
|
33
33
|
*/
|
|
34
|
-
export declare function resolveRepoPath(alert: Record<string, unknown>, config: PlConfig
|
|
34
|
+
export declare function resolveRepoPath(alert: Record<string, unknown>, config: PlConfig): string;
|
|
35
35
|
export declare function createInvestigationRunner(options: InvestigationRunnerOptions, deps?: InvestigationRunnerDeps): (runId: string, alerts: Record<string, unknown>[]) => Promise<void>;
|
|
36
36
|
/**
|
|
37
37
|
* The command body behind `pl listen`, separated from citty so it's testable:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listen.d.ts","sourceRoot":"","sources":["../../../src/cli/listen.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAIpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACN,KAAK,QAAQ,EAGb,MAAM,iBAAiB,CAAC;AASzB,OAAO,EACN,KAAK,YAAY,EAGjB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAEN,iBAAiB,IAAI,qBAAqB,EAC1C,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,0BAA0B;IAC1C,mFAAmF;IACnF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B;AAED,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAQ3D,MAAM,WAAW,uBAAuB;IACvC,UAAU,CAAC,EAAE,OAAO,gBAAgB,CAAC;IACrC,iBAAiB,CAAC,EAAE,OAAO,qBAAqB,CAAC;IACjD,MAAM,CAAC,EAAE,CACR,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,gBAAgB,KACrB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED;;;;;GAKG;AACH;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,MAAM,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"listen.d.ts","sourceRoot":"","sources":["../../../src/cli/listen.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAIpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACN,KAAK,QAAQ,EAGb,MAAM,iBAAiB,CAAC;AASzB,OAAO,EACN,KAAK,YAAY,EAGjB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAEN,iBAAiB,IAAI,qBAAqB,EAC1C,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,0BAA0B;IAC1C,mFAAmF;IACnF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B;AAED,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAQ3D,MAAM,WAAW,uBAAuB;IACvC,UAAU,CAAC,EAAE,OAAO,gBAAgB,CAAC;IACrC,iBAAiB,CAAC,EAAE,OAAO,qBAAqB,CAAC;IACjD,MAAM,CAAC,EAAE,CACR,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,gBAAgB,KACrB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED;;;;;GAKG;AACH;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,MAAM,EAAE,QAAQ,GACd,MAAM,CAmBR;AAED,wBAAgB,yBAAyB,CACxC,OAAO,EAAE,0BAA0B,EACnC,IAAI,GAAE,uBAA4B,GAChC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CA4KrE;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAC1C,OAAO,EAAE,0BAA0B,EACnC,IAAI,GAAE,uBAA4B,GAChC,OAAO,CAAC,YAAY,CAAC,CAgEvB;;;;;;;AAED,wBAiCG"}
|
package/dist/src/cli/listen.js
CHANGED
|
@@ -43,17 +43,21 @@ import { notifyRun } from "../core/slack-notify.js";
|
|
|
43
43
|
* No label / no catalog match / no checkout ⇒ the listen cwd, exactly like a
|
|
44
44
|
* manual `pl investigate` run from that directory (single-player default).
|
|
45
45
|
*/
|
|
46
|
-
export function resolveRepoPath(alert, config
|
|
46
|
+
export function resolveRepoPath(alert, config) {
|
|
47
47
|
const name = pickServiceLabel(alert);
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
if (!name) {
|
|
49
|
+
throw new Error(`Listen dispatch refused: alert is missing a service label (cannot resolve an investigation workspace).`);
|
|
50
|
+
}
|
|
51
|
+
const repoRef = config.services[name]?.repo;
|
|
52
|
+
if (!repoRef) {
|
|
53
|
+
throw new Error(`Listen dispatch refused: service "${name}" has no mapped repo in config (cannot resolve an investigation workspace).`);
|
|
54
|
+
}
|
|
51
55
|
const localPath = config.repos[repoRef]?.local_path;
|
|
52
56
|
if (localPath)
|
|
53
57
|
return resolve(localPath);
|
|
54
58
|
if (existsSync(repoRef))
|
|
55
59
|
return resolve(repoRef);
|
|
56
|
-
|
|
60
|
+
throw new Error(`Listen dispatch refused: repo "${repoRef}" (mapped from service "${name}") does not exist locally (cannot resolve an investigation workspace).`);
|
|
57
61
|
}
|
|
58
62
|
export function createInvestigationRunner(options, deps = {}) {
|
|
59
63
|
const conductRun = deps.conductRun ?? engineConductRun;
|
|
@@ -70,13 +74,42 @@ export function createInvestigationRunner(options, deps = {}) {
|
|
|
70
74
|
cwd,
|
|
71
75
|
...(options.configPath ? { configPath: options.configPath } : {}),
|
|
72
76
|
});
|
|
77
|
+
const alertname = (alerts[0]?.labels?.alertname ?? undefined);
|
|
78
|
+
// AC5: the checkout under investigation follows the ALERT (service label →
|
|
79
|
+
// catalog), not the directory the server happened to start in.
|
|
80
|
+
// MUST be resolved before consuming caps so unmapped alerts do not exhaust budget.
|
|
81
|
+
let repoPath;
|
|
82
|
+
try {
|
|
83
|
+
repoPath = resolveRepoPath(alerts[0], config);
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
const reason = err instanceof Error ? err.message : String(err);
|
|
87
|
+
console.error(JSON.stringify({
|
|
88
|
+
event: "dispatch_refused",
|
|
89
|
+
runId,
|
|
90
|
+
reason,
|
|
91
|
+
...(alertname ? { alertname } : {}),
|
|
92
|
+
}));
|
|
93
|
+
options.log(`Refused run ${runId} (${reason})`);
|
|
94
|
+
const refusedSessions = createSessionManager(config.workspace.base_dir);
|
|
95
|
+
try {
|
|
96
|
+
await refusedSessions.recordSuppressed({
|
|
97
|
+
runId,
|
|
98
|
+
reason,
|
|
99
|
+
...(alertname ? { alertname } : {}),
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
finally {
|
|
103
|
+
refusedSessions.close?.();
|
|
104
|
+
}
|
|
105
|
+
return; // refused, never consume caps
|
|
106
|
+
}
|
|
73
107
|
const dispatchCaps = {
|
|
74
108
|
maxConcurrent: config.listen.caps.max_concurrent,
|
|
75
109
|
maxPerHour: config.listen.caps.max_per_hour,
|
|
76
110
|
};
|
|
77
111
|
const decision = caps.tryDispatch(dispatchCaps, Date.now());
|
|
78
112
|
if (!decision.allow) {
|
|
79
|
-
const alertname = (alerts[0]?.labels?.alertname ?? undefined);
|
|
80
113
|
// Structured suppression log — match the repo convention
|
|
81
114
|
// (slack-notify.ts: console.error(JSON.stringify({ event, ... }))).
|
|
82
115
|
console.error(JSON.stringify({
|
|
@@ -101,9 +134,6 @@ export function createInvestigationRunner(options, deps = {}) {
|
|
|
101
134
|
}
|
|
102
135
|
return; // never arm a sandbox / call conductRun for a suppressed run
|
|
103
136
|
}
|
|
104
|
-
// AC5: the checkout under investigation follows the ALERT (service label →
|
|
105
|
-
// catalog), not the directory the server happened to start in.
|
|
106
|
-
const repoPath = resolveRepoPath(alerts[0], config, cwd);
|
|
107
137
|
const harnessName = config.agent.default;
|
|
108
138
|
const { selection } = await resolveRunSandbox(harnessName, config.agent.sandbox, config);
|
|
109
139
|
let sessions;
|
|
@@ -120,6 +150,7 @@ export function createInvestigationRunner(options, deps = {}) {
|
|
|
120
150
|
...(config.listen.caps.max_turns !== undefined
|
|
121
151
|
? { maxTurns: config.listen.caps.max_turns }
|
|
122
152
|
: {}),
|
|
153
|
+
isolateSettings: true,
|
|
123
154
|
}, config);
|
|
124
155
|
const { context, harness, synth, fidelity, maxBranches } = resolved;
|
|
125
156
|
const primaryAlert = context.alerts[0];
|
|
@@ -194,6 +225,24 @@ export async function startListenFromConfig(options, deps = {}) {
|
|
|
194
225
|
throw new Error("config is missing listen.token (required — intake auth). Add listen.token to prismalens.config.yaml.");
|
|
195
226
|
}
|
|
196
227
|
const sessions = createSessionManager(config.workspace.base_dir);
|
|
228
|
+
// Startup reaper (#136): mark any orphaned "running" runs from a previous
|
|
229
|
+
// dead listener as errored, so pl status reflects reality.
|
|
230
|
+
const staleRuns = await sessions.list({ status: ["running"] });
|
|
231
|
+
// Liveness guard: only reap runs whose updatedAt is older than the max possible
|
|
232
|
+
// run duration (wall-clock cap if configured, else 1 hour) plus 5 minutes slack.
|
|
233
|
+
const runWallClockMs = config.agent.limits.wall_clock_ms || 60 * 60 * 1000;
|
|
234
|
+
const staleThresholdMs = runWallClockMs + 5 * 60 * 1000;
|
|
235
|
+
const now = Date.now();
|
|
236
|
+
for (const run of staleRuns) {
|
|
237
|
+
const updatedTime = new Date(run.updatedAt).getTime();
|
|
238
|
+
if (now - updatedTime > staleThresholdMs) {
|
|
239
|
+
await sessions.update(run.runId, {
|
|
240
|
+
status: "errored",
|
|
241
|
+
error: "listener process died mid-investigation (interrupted)",
|
|
242
|
+
});
|
|
243
|
+
options.log(`Reaped stale run ${run.runId} from a previous listener`);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
197
246
|
const grouping = createGroupingLayer({
|
|
198
247
|
windowMs: config.listen.grouping_window_ms,
|
|
199
248
|
sessions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listen.js","sourceRoot":"","sources":["../../../src/cli/listen.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,6BAA6B;AAE7B;;;;;;;;GAQG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAEN,cAAc,GAEd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EACN,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAuB,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAEN,iBAAiB,EACjB,YAAY,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EACN,iBAAiB,EACjB,iBAAiB,IAAI,qBAAqB,GAC1C,MAAM,kBAAkB,CAAC;AAY1B;;;;GAIG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAapD;;;;;GAKG;AACH;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC9B,KAA8B,EAC9B,MAAgB
|
|
1
|
+
{"version":3,"file":"listen.js","sourceRoot":"","sources":["../../../src/cli/listen.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/core/db.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/core/db.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAyEpE,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAmC9D"}
|
package/dist/src/core/db.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
2
|
// Copyright 2026 Sumit Patel
|
|
3
|
-
import { mkdirSync } from "node:fs";
|
|
3
|
+
import { existsSync, mkdirSync, renameSync } from "node:fs";
|
|
4
4
|
import { join } from "node:path";
|
|
5
5
|
let DatabaseSync;
|
|
6
6
|
try {
|
|
@@ -11,10 +11,7 @@ catch {
|
|
|
11
11
|
console.error("PrismaLens requires Node >= 22.13.");
|
|
12
12
|
process.exit(1);
|
|
13
13
|
}
|
|
14
|
-
|
|
15
|
-
mkdirSync(baseDir, { recursive: true });
|
|
16
|
-
const db = new DatabaseSync(join(baseDir, "prismalens.db"));
|
|
17
|
-
db.exec(`
|
|
14
|
+
const SCHEMA = `
|
|
18
15
|
PRAGMA journal_mode = WAL;
|
|
19
16
|
PRAGMA busy_timeout = 5000;
|
|
20
17
|
PRAGMA foreign_keys = ON;
|
|
@@ -65,7 +62,44 @@ export function openDatabase(baseDir) {
|
|
|
65
62
|
payload TEXT NOT NULL
|
|
66
63
|
);
|
|
67
64
|
CREATE INDEX IF NOT EXISTS idx_group_alerts ON group_alerts(group_id, id);
|
|
68
|
-
|
|
65
|
+
`;
|
|
66
|
+
const SCHEMA_CHECK = `
|
|
67
|
+
SELECT id, group_key, formed_by, created_at FROM groups LIMIT 1;
|
|
68
|
+
SELECT run_id, group_id, status, alertname, agent, repo, workspace_path, error, suppression_reason, created_at, updated_at, completed_at FROM runs LIMIT 1;
|
|
69
|
+
SELECT id, run_id, payload FROM events LIMIT 1;
|
|
70
|
+
SELECT run_id, payload FROM reports LIMIT 1;
|
|
71
|
+
SELECT id, group_id, late, payload FROM group_alerts LIMIT 1;
|
|
72
|
+
`;
|
|
73
|
+
export function openDatabase(baseDir) {
|
|
74
|
+
mkdirSync(baseDir, { recursive: true });
|
|
75
|
+
const dbPath = join(baseDir, "prismalens.db");
|
|
76
|
+
let db = new DatabaseSync(dbPath);
|
|
77
|
+
try {
|
|
78
|
+
db.exec(SCHEMA);
|
|
79
|
+
db.exec(SCHEMA_CHECK);
|
|
80
|
+
}
|
|
81
|
+
catch (err) {
|
|
82
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
83
|
+
if (!/no such column|no such table|has no column named/i.test(msg)) {
|
|
84
|
+
try {
|
|
85
|
+
db.close();
|
|
86
|
+
}
|
|
87
|
+
catch { }
|
|
88
|
+
throw err;
|
|
89
|
+
}
|
|
90
|
+
// Schema mismatch or corruption detected.
|
|
91
|
+
const backupPath = join(baseDir, `prismalens.db.bak-${Date.now()}`);
|
|
92
|
+
if (existsSync(`${dbPath}-wal`))
|
|
93
|
+
renameSync(`${dbPath}-wal`, `${backupPath}-wal`);
|
|
94
|
+
if (existsSync(`${dbPath}-shm`))
|
|
95
|
+
renameSync(`${dbPath}-shm`, `${backupPath}-shm`);
|
|
96
|
+
db.close();
|
|
97
|
+
renameSync(dbPath, backupPath);
|
|
98
|
+
console.warn(`[!] Workspace schema is incompatible. Backed up old database to ${backupPath} and recreated.`);
|
|
99
|
+
// Recreate a fresh database.
|
|
100
|
+
db = new DatabaseSync(dbPath);
|
|
101
|
+
db.exec(SCHEMA);
|
|
102
|
+
}
|
|
69
103
|
return db;
|
|
70
104
|
}
|
|
71
105
|
//# sourceMappingURL=db.js.map
|
package/dist/src/core/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/core/db.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,6BAA6B;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/core/db.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,6BAA6B;AAE7B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,IAAI,YAAqC,CAAC;AAE1C,IAAI,CAAC;IACJ,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IACxC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;AACjC,CAAC;AAAC,MAAM,CAAC;IACR,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDd,CAAC;AAEF,MAAM,YAAY,GAAG;;;;;;CAMpB,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,OAAe;IAC3C,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAC9C,IAAI,EAAE,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IAElC,IAAI,CAAC;QACJ,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChB,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,CAAC,mDAAmD,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACpE,IAAI,CAAC;gBACJ,EAAE,CAAC,KAAK,EAAE,CAAC;YACZ,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,MAAM,GAAG,CAAC;QACX,CAAC;QAED,0CAA0C;QAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,qBAAqB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACpE,IAAI,UAAU,CAAC,GAAG,MAAM,MAAM,CAAC;YAC9B,UAAU,CAAC,GAAG,MAAM,MAAM,EAAE,GAAG,UAAU,MAAM,CAAC,CAAC;QAClD,IAAI,UAAU,CAAC,GAAG,MAAM,MAAM,CAAC;YAC9B,UAAU,CAAC,GAAG,MAAM,MAAM,EAAE,GAAG,UAAU,MAAM,CAAC,CAAC;QAClD,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CACX,mEAAmE,UAAU,iBAAiB,CAC9F,CAAC;QAEF,6BAA6B;QAC7B,EAAE,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,EAAE,CAAC;AACX,CAAC"}
|
|
@@ -35,6 +35,8 @@ export interface ResolveInvestigationArgs {
|
|
|
35
35
|
requestedSandbox?: string;
|
|
36
36
|
/** Per-run turn ceiling for the default harness (issue #62). Forwarded to the engine. */
|
|
37
37
|
maxTurns?: number;
|
|
38
|
+
/** If true, stops host settings/hooks/plugins/MCP servers from leaking into the rented harness. */
|
|
39
|
+
isolateSettings?: boolean;
|
|
38
40
|
}
|
|
39
41
|
/**
|
|
40
42
|
* Resolve a seed alert + merged `pl.config.yaml` into the inputs
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-investigation.d.ts","sourceRoot":"","sources":["../../../src/core/run-investigation.ts"],"names":[],"mappings":"AAyBA,OAAO,EAIN,KAAK,qBAAqB,EAC1B,KAAK,OAAO,EAEZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,YAAY,EAAE,qBAAqB,EAAE,CAAC;AAEtC,MAAM,WAAW,wBAAwB;IACxC,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACnC,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kFAAkF;IAClF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yFAAyF;IACzF,QAAQ,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"run-investigation.d.ts","sourceRoot":"","sources":["../../../src/core/run-investigation.ts"],"names":[],"mappings":"AAyBA,OAAO,EAIN,KAAK,qBAAqB,EAC1B,KAAK,OAAO,EAEZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,YAAY,EAAE,qBAAqB,EAAE,CAAC;AAEtC,MAAM,WAAW,wBAAwB;IACxC,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACnC,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kFAAkF;IAClF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yFAAyF;IACzF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mGAAmG;IACnG,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAa3D;AAED,wBAAgB,oBAAoB,CACnC,IAAI,EAAE,wBAAwB,EAC9B,MAAM,EAAE,QAAQ,GACd,qBAAqB,CAyIvB;AAwCD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACxC,MAAM,GAAG,SAAS,CAIpB"}
|
|
@@ -116,6 +116,7 @@ export function resolveInvestigation(args, config) {
|
|
|
116
116
|
? { maxBranches: config.agent.max_branches }
|
|
117
117
|
: {}),
|
|
118
118
|
...(args.maxTurns ? { maxTurns: args.maxTurns } : {}),
|
|
119
|
+
...(args.isolateSettings ? { isolateSettings: args.isolateSettings } : {}),
|
|
119
120
|
model: config.agent.model,
|
|
120
121
|
cwd,
|
|
121
122
|
synth: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-investigation.js","sourceRoot":"","sources":["../../../src/core/run-investigation.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,6BAA6B;AAE7B;;;;;;;;;;GAUG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAE9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EACN,wBAAwB,EACxB,eAAe,GAEf,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACN,iBAAiB,EACjB,oBAAoB,IAAI,0BAA0B,GAKlD,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-investigation.js","sourceRoot":"","sources":["../../../src/core/run-investigation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prismalens",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "AI root-cause investigation from your terminal — point it at a repo, pipe it an alert, get an evidence-linked report",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -42,9 +42,9 @@
|
|
|
42
42
|
"json-rpc-2.0": "^1.7.1",
|
|
43
43
|
"yaml": "^2.9.0",
|
|
44
44
|
"zod": "^3.25.76",
|
|
45
|
+
"@prismalens/contracts": "0.0.2",
|
|
45
46
|
"@prismalens/config": "0.1.0",
|
|
46
|
-
"@prismalens/engine": "0.1.
|
|
47
|
-
"@prismalens/contracts": "0.0.2"
|
|
47
|
+
"@prismalens/engine": "0.1.1"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@types/node": "^24.13.2",
|