prismalens 0.1.0 → 0.2.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/README.md +40 -8
- package/dist/bin/prismalens.js +24 -10
- package/dist/bin/prismalens.js.map +1 -1
- package/dist/src/cli/auth.d.ts +3 -0
- package/dist/src/cli/auth.d.ts.map +1 -0
- package/dist/src/cli/auth.js +108 -0
- package/dist/src/cli/auth.js.map +1 -0
- package/dist/src/cli/doctor.d.ts +1 -0
- package/dist/src/cli/doctor.d.ts.map +1 -1
- package/dist/src/cli/doctor.js +1 -1
- package/dist/src/cli/doctor.js.map +1 -1
- package/dist/src/cli/flags.d.ts.map +1 -1
- package/dist/src/cli/flags.js +4 -0
- package/dist/src/cli/flags.js.map +1 -1
- 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/init.d.ts.map +1 -1
- package/dist/src/cli/init.js +3 -2
- package/dist/src/cli/init.js.map +1 -1
- package/dist/src/cli/investigate.d.ts.map +1 -1
- package/dist/src/cli/investigate.js +5 -4
- package/dist/src/cli/investigate.js.map +1 -1
- package/dist/src/cli/listen.d.ts +7 -1
- package/dist/src/cli/listen.d.ts.map +1 -1
- package/dist/src/cli/listen.js +67 -11
- package/dist/src/cli/listen.js.map +1 -1
- package/dist/src/cli/report.d.ts +6 -1
- package/dist/src/cli/report.d.ts.map +1 -1
- package/dist/src/cli/report.js +15 -2
- package/dist/src/cli/report.js.map +1 -1
- package/dist/src/cli/serve.js +1 -1
- package/dist/src/cli/serve.js.map +1 -1
- package/dist/src/cli/status.d.ts +6 -1
- package/dist/src/cli/status.d.ts.map +1 -1
- package/dist/src/cli/status.js +12 -2
- package/dist/src/cli/status.js.map +1 -1
- package/dist/src/config/loader.d.ts.map +1 -1
- package/dist/src/config/loader.js +19 -7
- package/dist/src/config/loader.js.map +1 -1
- package/dist/src/config/schema.d.ts +11 -5
- package/dist/src/config/schema.d.ts.map +1 -1
- package/dist/src/config/schema.js +12 -1
- package/dist/src/config/schema.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/parse-stdin.d.ts.map +1 -1
- package/dist/src/core/parse-stdin.js +3 -12
- package/dist/src/core/parse-stdin.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/dist/src/http/server.d.ts +5 -0
- package/dist/src/http/server.d.ts.map +1 -1
- package/dist/src/http/server.js +14 -1
- package/dist/src/http/server.js.map +1 -1
- package/package.json +4 -4
|
@@ -143,6 +143,8 @@ export declare const ListenCapsConfigSchema: z.ZodObject<{
|
|
|
143
143
|
* rather than a literal. The grouping_window_ms configures the debounce window.
|
|
144
144
|
*/
|
|
145
145
|
export declare const ListenConfigSchema: z.ZodObject<{
|
|
146
|
+
/** Local intake host. Default 127.0.0.1. */
|
|
147
|
+
host: z.ZodDefault<z.ZodString>;
|
|
146
148
|
/** Local intake port (4181: clear of 9090/9093/3000/8080 defaults). 0 = ephemeral. */
|
|
147
149
|
port: z.ZodDefault<z.ZodNumber>;
|
|
148
150
|
/** Shared bearer token Alertmanager presents; unset ⇒ `pl listen` refuses to start. */
|
|
@@ -164,6 +166,7 @@ export declare const ListenConfigSchema: z.ZodObject<{
|
|
|
164
166
|
max_turns?: number | undefined;
|
|
165
167
|
}, Record<string, unknown> | undefined>;
|
|
166
168
|
}, "strip", z.ZodTypeAny, {
|
|
169
|
+
host: string;
|
|
167
170
|
port: number;
|
|
168
171
|
max_pending: number;
|
|
169
172
|
grouping_window_ms: number;
|
|
@@ -175,6 +178,7 @@ export declare const ListenConfigSchema: z.ZodObject<{
|
|
|
175
178
|
token?: string | undefined;
|
|
176
179
|
slack_webhook_url?: string | undefined;
|
|
177
180
|
}, {
|
|
181
|
+
host?: string | undefined;
|
|
178
182
|
port?: number | undefined;
|
|
179
183
|
token?: string | undefined;
|
|
180
184
|
max_pending?: number | undefined;
|
|
@@ -247,16 +251,16 @@ export declare const RepoConfigSchema: z.ZodObject<{
|
|
|
247
251
|
alert_sources?: Record<string, Record<string, string>> | undefined;
|
|
248
252
|
}>;
|
|
249
253
|
export declare const SynthConfigSchema: z.ZodObject<{
|
|
250
|
-
provider: z.ZodOptional<z.ZodEnum<["
|
|
254
|
+
provider: z.ZodOptional<z.ZodEnum<["anthropic" | "openai" | "google" | "ollama" | "groq" | "custom", ...("anthropic" | "openai" | "google" | "ollama" | "groq" | "custom")[]]>>;
|
|
251
255
|
model: z.ZodOptional<z.ZodString>;
|
|
252
256
|
base_url: z.ZodOptional<z.ZodString>;
|
|
253
257
|
}, "strip", z.ZodTypeAny, {
|
|
258
|
+
provider?: "anthropic" | "openai" | "google" | "ollama" | "groq" | "custom" | undefined;
|
|
254
259
|
model?: string | undefined;
|
|
255
|
-
provider?: "custom" | "anthropic" | "openai" | "google" | "ollama" | "groq" | undefined;
|
|
256
260
|
base_url?: string | undefined;
|
|
257
261
|
}, {
|
|
262
|
+
provider?: "anthropic" | "openai" | "google" | "ollama" | "groq" | "custom" | undefined;
|
|
258
263
|
model?: string | undefined;
|
|
259
|
-
provider?: "custom" | "anthropic" | "openai" | "google" | "ollama" | "groq" | undefined;
|
|
260
264
|
base_url?: string | undefined;
|
|
261
265
|
}>;
|
|
262
266
|
export declare const PlConfigSchema: z.ZodObject<{
|
|
@@ -329,14 +333,15 @@ export declare const PlConfigSchema: z.ZodObject<{
|
|
|
329
333
|
max_turns?: number | undefined;
|
|
330
334
|
}, Record<string, unknown> | undefined>;
|
|
331
335
|
synth: z.ZodEffects<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>, {
|
|
336
|
+
provider?: "anthropic" | "openai" | "google" | "ollama" | "groq" | "custom" | undefined;
|
|
332
337
|
model?: string | undefined;
|
|
333
|
-
provider?: "custom" | "anthropic" | "openai" | "google" | "ollama" | "groq" | undefined;
|
|
334
338
|
base_url?: string | undefined;
|
|
335
339
|
}, Record<string, unknown> | undefined>;
|
|
336
340
|
workspace: z.ZodEffects<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>, {
|
|
337
341
|
base_dir: string;
|
|
338
342
|
}, Record<string, unknown> | undefined>;
|
|
339
343
|
listen: z.ZodEffects<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>, {
|
|
344
|
+
host: string;
|
|
340
345
|
port: number;
|
|
341
346
|
max_pending: number;
|
|
342
347
|
grouping_window_ms: number;
|
|
@@ -368,6 +373,7 @@ export declare const PlConfigSchema: z.ZodObject<{
|
|
|
368
373
|
}> | undefined>;
|
|
369
374
|
}, "strip", z.ZodTypeAny, {
|
|
370
375
|
listen: {
|
|
376
|
+
host: string;
|
|
371
377
|
port: number;
|
|
372
378
|
max_pending: number;
|
|
373
379
|
grouping_window_ms: number;
|
|
@@ -410,8 +416,8 @@ export declare const PlConfigSchema: z.ZodObject<{
|
|
|
410
416
|
max_turns?: number | undefined;
|
|
411
417
|
};
|
|
412
418
|
synth: {
|
|
419
|
+
provider?: "anthropic" | "openai" | "google" | "ollama" | "groq" | "custom" | undefined;
|
|
413
420
|
model?: string | undefined;
|
|
414
|
-
provider?: "custom" | "anthropic" | "openai" | "google" | "ollama" | "groq" | undefined;
|
|
415
421
|
base_url?: string | undefined;
|
|
416
422
|
};
|
|
417
423
|
workspace: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/config/schema.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;;EAEjC,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;;;;;;EAEpC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB;IACnC,qEAAqE;;IAErE,gEAAgE;;IAEhE,+EAA+E;;;;;;;;;;EAE9E,CAAC;AAEH,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB;;IAE7B;;;;;OAKG;;IAEH,4DAA4D;;;;IAE5D;;;;;;OAMG;;IAEH;;;OAGG;;;;;;IAEH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;EAGF,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;EAEhC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;IAClC,qDAAqD;;IAErD,gEAAgE;;IAEhE,iFAAiF;;;;;;;;;;EAEhF,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;IAC9B,sFAAsF;;IAEtF,uFAAuF;;IAEvF,wDAAwD;;IAExD,iFAAiF;;IAEjF;;;;OAIG;;IAEH,mFAAmF
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/config/schema.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;;EAEjC,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;;;;;;EAEpC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB;IACnC,qEAAqE;;IAErE,gEAAgE;;IAEhE,+EAA+E;;;;;;;;;;EAE9E,CAAC;AAEH,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB;;IAE7B;;;;;OAKG;;IAEH,4DAA4D;;;;IAE5D;;;;;;OAMG;;IAEH;;;OAGG;;;;;;IAEH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;EAGF,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;EAEhC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;IAClC,qDAAqD;;IAErD,gEAAgE;;IAEhE,iFAAiF;;;;;;;;;;EAEhF,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;IAC9B,4CAA4C;;IAE5C,sFAAsF;;IAEtF,uFAAuF;;IAEvF,wDAAwD;;IAExD,iFAAiF;;IAEjF;;;;OAIG;;IAEH,mFAAmF;;;;;;;;;;;;;;;;;;;;;;;;;;EAElF,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAIhC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;IAE/B,yDAAyD;;IAEzD,2DAA2D;;;;;;;;;;EAE1D,CAAC;AAEH,gFAAgF;AAChF,eAAO,MAAM,qBAAqB;;;;;;;;;EAGhC,CAAC;AAEH,mFAAmF;AACnF,eAAO,MAAM,uBAAuB,iEAGnC,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAI3B,CAAC;AAuBH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;EAI5B,CAAC;AAEH,eAAO,MAAM,cAAc;;IAE1B,mFAAmF;;;;;;;;;;;;;;;;;;;;;;;IAMnF,iFAAiF;;;QA3DjF,yDAAyD;;QAEzD,2DAA2D;;;;;;;;;;;;;;;;;;;IA8D3D,wDAAwD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUxD,sEAAsE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKrE,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAC3D,2EAA2E;AAC3E,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC"}
|
|
@@ -109,6 +109,8 @@ export const ListenCapsConfigSchema = z.object({
|
|
|
109
109
|
* rather than a literal. The grouping_window_ms configures the debounce window.
|
|
110
110
|
*/
|
|
111
111
|
export const ListenConfigSchema = z.object({
|
|
112
|
+
/** Local intake host. Default 127.0.0.1. */
|
|
113
|
+
host: z.string().default("127.0.0.1"),
|
|
112
114
|
/** Local intake port (4181: clear of 9090/9093/3000/8080 defaults). 0 = ephemeral. */
|
|
113
115
|
port: z.number().int().min(0).max(65535).default(4181),
|
|
114
116
|
/** Shared bearer token Alertmanager presents; unset ⇒ `pl listen` refuses to start. */
|
|
@@ -169,7 +171,16 @@ export const RepoConfigSchema = z.object({
|
|
|
169
171
|
function optionalWithDefaults(schema) {
|
|
170
172
|
return z
|
|
171
173
|
.optional(z.record(z.string(), z.unknown()))
|
|
172
|
-
.transform((val) =>
|
|
174
|
+
.transform((val, ctx) => {
|
|
175
|
+
const res = schema.safeParse(val ?? {});
|
|
176
|
+
if (!res.success) {
|
|
177
|
+
for (const issue of res.error.issues) {
|
|
178
|
+
ctx.addIssue(issue);
|
|
179
|
+
}
|
|
180
|
+
return z.NEVER;
|
|
181
|
+
}
|
|
182
|
+
return res.data;
|
|
183
|
+
});
|
|
173
184
|
}
|
|
174
185
|
export const SynthConfigSchema = z.object({
|
|
175
186
|
provider: llmProviderIdSchema.optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/config/schema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/config/schema.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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-stdin.d.ts","sourceRoot":"","sources":["../../../src/core/parse-stdin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-stdin.d.ts","sourceRoot":"","sources":["../../../src/core/parse-stdin.ts"],"names":[],"mappings":"AAGA,wBAAsB,UAAU,IAAI,OAAO,CAC1C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CACnC,CAiBA"}
|
|
@@ -1,14 +1,5 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
2
|
// Copyright 2026 Sumit Patel
|
|
3
|
-
/**
|
|
4
|
-
* Read JSON from piped stdin (salvaged from the retired pl orchestrator). Used to
|
|
5
|
-
* accept a webhook-shaped alert payload piped into `prismalens investigate`.
|
|
6
|
-
*
|
|
7
|
-
* Returns `undefined` if:
|
|
8
|
-
* - stdin is a TTY (interactive terminal, no pipe), or
|
|
9
|
-
* - the piped data is empty or not valid JSON.
|
|
10
|
-
*/
|
|
11
|
-
import consola from "consola";
|
|
12
3
|
export async function parseStdin() {
|
|
13
4
|
if (process.stdin.isTTY)
|
|
14
5
|
return undefined;
|
|
@@ -22,9 +13,9 @@ export async function parseStdin() {
|
|
|
22
13
|
try {
|
|
23
14
|
return JSON.parse(raw);
|
|
24
15
|
}
|
|
25
|
-
catch {
|
|
26
|
-
|
|
27
|
-
|
|
16
|
+
catch (err) {
|
|
17
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
18
|
+
throw new Error(`invalid FiringAlert JSON on stdin: ${msg}`);
|
|
28
19
|
}
|
|
29
20
|
}
|
|
30
21
|
//# sourceMappingURL=parse-stdin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-stdin.js","sourceRoot":"","sources":["../../../src/core/parse-stdin.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,6BAA6B;AAE7B
|
|
1
|
+
{"version":3,"file":"parse-stdin.js","sourceRoot":"","sources":["../../../src/core/parse-stdin.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,6BAA6B;AAE7B,MAAM,CAAC,KAAK,UAAU,UAAU;IAG/B,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAE1C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3D,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAE3B,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;IACnD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,EAAE,CAAC,CAAC;IAC9D,CAAC;AACF,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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"}
|
|
@@ -2,6 +2,8 @@ import type { GroupingPort } from "../cli/grouping.js";
|
|
|
2
2
|
export interface ListenServerOptions {
|
|
3
3
|
/** Port to bind (0 = ephemeral, for tests). */
|
|
4
4
|
port: number;
|
|
5
|
+
/** Host to bind (default 127.0.0.1). */
|
|
6
|
+
host?: string;
|
|
5
7
|
/** Shared bearer token; every request without it gets 401. */
|
|
6
8
|
token: string;
|
|
7
9
|
/** Grouping layer. */
|
|
@@ -13,12 +15,15 @@ export interface ListenServerOptions {
|
|
|
13
15
|
* regardless of size. Default 8.
|
|
14
16
|
*/
|
|
15
17
|
maxPending?: number;
|
|
18
|
+
log?: (line: string) => void;
|
|
16
19
|
}
|
|
17
20
|
/** The one route this receiver serves (Alertmanager webhook_config url path). */
|
|
18
21
|
export declare const WEBHOOK_PATH = "/webhooks/alertmanager";
|
|
19
22
|
export interface ListenServer {
|
|
20
23
|
/** The actually-bound port (resolves port 0). */
|
|
21
24
|
port: number;
|
|
25
|
+
/** The actually-bound host. */
|
|
26
|
+
host: string;
|
|
22
27
|
close(): Promise<void>;
|
|
23
28
|
}
|
|
24
29
|
/** Start the intake server; resolves once the port is bound. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/http/server.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/http/server.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,MAAM,WAAW,mBAAmB;IACnC,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,QAAQ,EAAE,YAAY,CAAC;IAEvB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAID,iFAAiF;AACjF,eAAO,MAAM,YAAY,2BAA2B,CAAC;AAErD,MAAM,WAAW,YAAY;IAC5B,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AA4BD,gEAAgE;AAChE,wBAAsB,iBAAiB,CACtC,OAAO,EAAE,mBAAmB,GAC1B,OAAO,CAAC,YAAY,CAAC,CA4IvB"}
|
package/dist/src/http/server.js
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
import { timingSafeEqual } from "node:crypto";
|
|
11
11
|
import { createServer, } from "node:http";
|
|
12
12
|
import { PrometheusWebhookSchema } from "@prismalens/contracts";
|
|
13
|
+
import { deriveDedupeKey, deriveGroupKey } from "../cli/grouping.js";
|
|
13
14
|
const DEFAULT_MAX_PENDING = 8;
|
|
14
15
|
/** The one route this receiver serves (Alertmanager webhook_config url path). */
|
|
15
16
|
export const WEBHOOK_PATH = "/webhooks/alertmanager";
|
|
@@ -116,6 +117,17 @@ export async function startListenServer(options) {
|
|
|
116
117
|
received: parsed.data.alerts.length,
|
|
117
118
|
accepted: firing.length,
|
|
118
119
|
});
|
|
120
|
+
const timestamp = new Date().toISOString();
|
|
121
|
+
const fingerprint = firing.length > 0 ? deriveDedupeKey(firing[0]) : "none";
|
|
122
|
+
const groupKey = firing.length > 0 ? deriveGroupKey(firing[0], payload) : "none";
|
|
123
|
+
console.error(JSON.stringify({
|
|
124
|
+
event: "intake_accepted",
|
|
125
|
+
timestamp,
|
|
126
|
+
fingerprint,
|
|
127
|
+
groupKey,
|
|
128
|
+
alertCount: parsed.data.alerts.length,
|
|
129
|
+
acceptedCount: firing.length,
|
|
130
|
+
}));
|
|
119
131
|
options.grouping.admit(firing, payload);
|
|
120
132
|
};
|
|
121
133
|
const server = createServer((req, res) => {
|
|
@@ -131,7 +143,7 @@ export async function startListenServer(options) {
|
|
|
131
143
|
});
|
|
132
144
|
await new Promise((resolve, reject) => {
|
|
133
145
|
server.once("error", reject);
|
|
134
|
-
server.listen(options.port, "127.0.0.1", () => resolve());
|
|
146
|
+
server.listen(options.port, options.host ?? "127.0.0.1", () => resolve());
|
|
135
147
|
});
|
|
136
148
|
const address = server.address();
|
|
137
149
|
/* v8 ignore next 3 — a TCP listen never yields a pipe/null address */
|
|
@@ -140,6 +152,7 @@ export async function startListenServer(options) {
|
|
|
140
152
|
}
|
|
141
153
|
return {
|
|
142
154
|
port: address.port,
|
|
155
|
+
host: address.address,
|
|
143
156
|
close: () => {
|
|
144
157
|
options.grouping.shutdown();
|
|
145
158
|
return new Promise((resolve, reject) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/http/server.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,6BAA6B;AAE7B;;;;;;GAMG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACN,YAAY,GAGZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/http/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prismalens",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
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/config": "0.
|
|
46
|
-
"@prismalens/engine": "0.
|
|
47
|
-
"@prismalens/contracts": "0.0
|
|
45
|
+
"@prismalens/config": "0.2.0",
|
|
46
|
+
"@prismalens/engine": "0.2.0",
|
|
47
|
+
"@prismalens/contracts": "0.1.0"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@types/node": "^24.13.2",
|