prismalens 0.1.1 → 0.3.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.
Files changed (57) hide show
  1. package/README.md +68 -20
  2. package/dist/bin/prismalens.js +24 -10
  3. package/dist/bin/prismalens.js.map +1 -1
  4. package/dist/src/cli/auth.d.ts +3 -0
  5. package/dist/src/cli/auth.d.ts.map +1 -0
  6. package/dist/src/cli/auth.js +108 -0
  7. package/dist/src/cli/auth.js.map +1 -0
  8. package/dist/src/cli/doctor.d.ts +1 -0
  9. package/dist/src/cli/doctor.d.ts.map +1 -1
  10. package/dist/src/cli/doctor.js +3 -3
  11. package/dist/src/cli/doctor.js.map +1 -1
  12. package/dist/src/cli/flags.d.ts.map +1 -1
  13. package/dist/src/cli/flags.js +7 -0
  14. package/dist/src/cli/flags.js.map +1 -1
  15. package/dist/src/cli/init.d.ts.map +1 -1
  16. package/dist/src/cli/init.js +7 -6
  17. package/dist/src/cli/init.js.map +1 -1
  18. package/dist/src/cli/investigate.d.ts.map +1 -1
  19. package/dist/src/cli/investigate.js +13 -12
  20. package/dist/src/cli/investigate.js.map +1 -1
  21. package/dist/src/cli/listen.d.ts +6 -0
  22. package/dist/src/cli/listen.d.ts.map +1 -1
  23. package/dist/src/cli/listen.js +13 -6
  24. package/dist/src/cli/listen.js.map +1 -1
  25. package/dist/src/cli/report.d.ts +7 -2
  26. package/dist/src/cli/report.d.ts.map +1 -1
  27. package/dist/src/cli/report.js +17 -4
  28. package/dist/src/cli/report.js.map +1 -1
  29. package/dist/src/cli/serve.js +1 -1
  30. package/dist/src/cli/serve.js.map +1 -1
  31. package/dist/src/cli/status.d.ts +7 -2
  32. package/dist/src/cli/status.d.ts.map +1 -1
  33. package/dist/src/cli/status.js +14 -4
  34. package/dist/src/cli/status.js.map +1 -1
  35. package/dist/src/config/loader.d.ts.map +1 -1
  36. package/dist/src/config/loader.js +24 -10
  37. package/dist/src/config/loader.js.map +1 -1
  38. package/dist/src/config/schema.d.ts +40 -32
  39. package/dist/src/config/schema.d.ts.map +1 -1
  40. package/dist/src/config/schema.js +25 -12
  41. package/dist/src/config/schema.js.map +1 -1
  42. package/dist/src/core/parse-stdin.d.ts.map +1 -1
  43. package/dist/src/core/parse-stdin.js +3 -12
  44. package/dist/src/core/parse-stdin.js.map +1 -1
  45. package/dist/src/core/run-investigation.js +10 -8
  46. package/dist/src/core/run-investigation.js.map +1 -1
  47. package/dist/src/core/session.js +3 -3
  48. package/dist/src/core/session.js.map +1 -1
  49. package/dist/src/http/server.d.ts +5 -0
  50. package/dist/src/http/server.d.ts.map +1 -1
  51. package/dist/src/http/server.js +14 -1
  52. package/dist/src/http/server.js.map +1 -1
  53. package/dist/src/jsonrpc/server.d.ts +29 -0
  54. package/dist/src/jsonrpc/server.d.ts.map +1 -1
  55. package/dist/src/jsonrpc/server.js +34 -11
  56. package/dist/src/jsonrpc/server.js.map +1 -1
  57. package/package.json +4 -4
@@ -51,10 +51,11 @@ export declare const AgentLimitsConfigSchema: z.ZodObject<{
51
51
  export declare const AgentConfigSchema: z.ZodObject<{
52
52
  default: z.ZodDefault<z.ZodEnum<["deepagents", "claude-code", "codex"]>>;
53
53
  /**
54
- * BARE model id (e.g. "gpt-oss:120b") — the chosen harness applies its own
55
- * provider prefix (ADR-0017: deepagents prepends "openai:"; Claude Code takes it
56
- * bare). Also reused as the Tier-1 reduce model id. Omit to let the harness pick
57
- * its own default.
54
+ * BARE model id (e.g. "gpt-oss:120b") for the Tier-2 HARNESS ONLY — the chosen
55
+ * harness applies its own provider prefix (ADR-0017: deepagents prepends
56
+ * "openai:"; Claude Code takes it bare). Omit to let the harness pick its own
57
+ * default. The Tier-1 reduce model is a SEPARATE knob — `synth.model` (ADR-0013/
58
+ * 0016): the two calls go to different providers, so one key must never feed both.
58
59
  */
59
60
  model: z.ZodOptional<z.ZodString>;
60
61
  /** The posture dial (ADR-0017). Defaults to `read-only`. */
@@ -109,11 +110,11 @@ export declare const AgentConfigSchema: z.ZodObject<{
109
110
  max_turns?: number | undefined;
110
111
  }>;
111
112
  export declare const WorkspaceConfigSchema: z.ZodObject<{
112
- base_dir: z.ZodDefault<z.ZodString>;
113
+ dir: z.ZodDefault<z.ZodString>;
113
114
  }, "strip", z.ZodTypeAny, {
114
- base_dir: string;
115
+ dir: string;
115
116
  }, {
116
- base_dir?: string | undefined;
117
+ dir?: string | undefined;
117
118
  }>;
118
119
  /**
119
120
  * Run-budget guardrails for `pl listen` (issue #62): non-dollar caps only.
@@ -143,6 +144,8 @@ export declare const ListenCapsConfigSchema: z.ZodObject<{
143
144
  * rather than a literal. The grouping_window_ms configures the debounce window.
144
145
  */
145
146
  export declare const ListenConfigSchema: z.ZodObject<{
147
+ /** Local intake host. Default 127.0.0.1. */
148
+ host: z.ZodDefault<z.ZodString>;
146
149
  /** Local intake port (4181: clear of 9090/9093/3000/8080 defaults). 0 = ephemeral. */
147
150
  port: z.ZodDefault<z.ZodNumber>;
148
151
  /** Shared bearer token Alertmanager presents; unset ⇒ `pl listen` refuses to start. */
@@ -164,6 +167,7 @@ export declare const ListenConfigSchema: z.ZodObject<{
164
167
  max_turns?: number | undefined;
165
168
  }, Record<string, unknown> | undefined>;
166
169
  }, "strip", z.ZodTypeAny, {
170
+ host: string;
167
171
  port: number;
168
172
  max_pending: number;
169
173
  grouping_window_ms: number;
@@ -175,6 +179,7 @@ export declare const ListenConfigSchema: z.ZodObject<{
175
179
  token?: string | undefined;
176
180
  slack_webhook_url?: string | undefined;
177
181
  }, {
182
+ host?: string | undefined;
178
183
  port?: number | undefined;
179
184
  token?: string | undefined;
180
185
  max_pending?: number | undefined;
@@ -183,22 +188,23 @@ export declare const ListenConfigSchema: z.ZodObject<{
183
188
  caps?: Record<string, unknown> | undefined;
184
189
  }>;
185
190
  /**
186
- * Read-only telemetry + app endpoints the harness may query. Mirrors the engine's
187
- * TelemetryEndpoints (camelCase) so a loaded config can be handed straight to
188
- * `InvestigateOptions.telemetry`. All optional here — resolved/overridden per run.
191
+ * Read-only telemetry + app endpoints the harness may query. Keys are snake_case
192
+ * (the config-file convention — every other key in this schema is snake_case); the
193
+ * CLI maps them to the engine's camelCase `TelemetryEndpoints` at the boundary
194
+ * (`run-investigation`). All optional here — resolved/overridden per run.
189
195
  */
190
196
  export declare const TelemetryConfigSchema: z.ZodObject<{
191
- prometheusUrl: z.ZodOptional<z.ZodString>;
192
- alertmanagerUrl: z.ZodOptional<z.ZodString>;
193
- apiUrl: z.ZodOptional<z.ZodString>;
197
+ prometheus_url: z.ZodOptional<z.ZodString>;
198
+ alertmanager_url: z.ZodOptional<z.ZodString>;
199
+ api_url: z.ZodOptional<z.ZodString>;
194
200
  }, "strip", z.ZodTypeAny, {
195
- prometheusUrl?: string | undefined;
196
- alertmanagerUrl?: string | undefined;
197
- apiUrl?: string | undefined;
201
+ prometheus_url?: string | undefined;
202
+ alertmanager_url?: string | undefined;
203
+ api_url?: string | undefined;
198
204
  }, {
199
- prometheusUrl?: string | undefined;
200
- alertmanagerUrl?: string | undefined;
201
- apiUrl?: string | undefined;
205
+ prometheus_url?: string | undefined;
206
+ alertmanager_url?: string | undefined;
207
+ api_url?: string | undefined;
202
208
  }>;
203
209
  /**
204
210
  * A service in the catalog (ADR-0015). The CLI maps the matched entry into the
@@ -247,16 +253,16 @@ export declare const RepoConfigSchema: z.ZodObject<{
247
253
  alert_sources?: Record<string, Record<string, string>> | undefined;
248
254
  }>;
249
255
  export declare const SynthConfigSchema: z.ZodObject<{
250
- provider: z.ZodOptional<z.ZodEnum<["custom" | "anthropic" | "openai" | "google" | "ollama" | "groq", ...("custom" | "anthropic" | "openai" | "google" | "ollama" | "groq")[]]>>;
256
+ provider: z.ZodOptional<z.ZodEnum<["anthropic" | "openai" | "google" | "ollama" | "groq" | "custom", ...("anthropic" | "openai" | "google" | "ollama" | "groq" | "custom")[]]>>;
251
257
  model: z.ZodOptional<z.ZodString>;
252
258
  base_url: z.ZodOptional<z.ZodString>;
253
259
  }, "strip", z.ZodTypeAny, {
260
+ provider?: "anthropic" | "openai" | "google" | "ollama" | "groq" | "custom" | undefined;
254
261
  model?: string | undefined;
255
- provider?: "custom" | "anthropic" | "openai" | "google" | "ollama" | "groq" | undefined;
256
262
  base_url?: string | undefined;
257
263
  }, {
264
+ provider?: "anthropic" | "openai" | "google" | "ollama" | "groq" | "custom" | undefined;
258
265
  model?: string | undefined;
259
- provider?: "custom" | "anthropic" | "openai" | "google" | "ollama" | "groq" | undefined;
260
266
  base_url?: string | undefined;
261
267
  }>;
262
268
  export declare const PlConfigSchema: z.ZodObject<{
@@ -329,14 +335,15 @@ export declare const PlConfigSchema: z.ZodObject<{
329
335
  max_turns?: number | undefined;
330
336
  }, Record<string, unknown> | undefined>;
331
337
  synth: z.ZodEffects<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>, {
338
+ provider?: "anthropic" | "openai" | "google" | "ollama" | "groq" | "custom" | undefined;
332
339
  model?: string | undefined;
333
- provider?: "custom" | "anthropic" | "openai" | "google" | "ollama" | "groq" | undefined;
334
340
  base_url?: string | undefined;
335
341
  }, Record<string, unknown> | undefined>;
336
342
  workspace: z.ZodEffects<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>, {
337
- base_dir: string;
343
+ dir: string;
338
344
  }, Record<string, unknown> | undefined>;
339
345
  listen: z.ZodEffects<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>, {
346
+ host: string;
340
347
  port: number;
341
348
  max_pending: number;
342
349
  grouping_window_ms: number;
@@ -349,9 +356,9 @@ export declare const PlConfigSchema: z.ZodObject<{
349
356
  slack_webhook_url?: string | undefined;
350
357
  }, Record<string, unknown> | undefined>;
351
358
  telemetry: z.ZodEffects<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>, {
352
- prometheusUrl?: string | undefined;
353
- alertmanagerUrl?: string | undefined;
354
- apiUrl?: string | undefined;
359
+ prometheus_url?: string | undefined;
360
+ alertmanager_url?: string | undefined;
361
+ api_url?: string | undefined;
355
362
  }, Record<string, unknown> | undefined>;
356
363
  alert_sources: z.ZodEffects<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>, Record<string, Record<string, string>>, Record<string, Record<string, string>> | undefined>;
357
364
  /** Per-harness native passthrough (ADR-0017), keyed by harness id. */
@@ -368,6 +375,7 @@ export declare const PlConfigSchema: z.ZodObject<{
368
375
  }> | undefined>;
369
376
  }, "strip", z.ZodTypeAny, {
370
377
  listen: {
378
+ host: string;
371
379
  port: number;
372
380
  max_pending: number;
373
381
  grouping_window_ms: number;
@@ -410,17 +418,17 @@ export declare const PlConfigSchema: z.ZodObject<{
410
418
  max_turns?: number | undefined;
411
419
  };
412
420
  synth: {
421
+ provider?: "anthropic" | "openai" | "google" | "ollama" | "groq" | "custom" | undefined;
413
422
  model?: string | undefined;
414
- provider?: "custom" | "anthropic" | "openai" | "google" | "ollama" | "groq" | undefined;
415
423
  base_url?: string | undefined;
416
424
  };
417
425
  workspace: {
418
- base_dir: string;
426
+ dir: string;
419
427
  };
420
428
  telemetry: {
421
- prometheusUrl?: string | undefined;
422
- alertmanagerUrl?: string | undefined;
423
- apiUrl?: string | undefined;
429
+ prometheus_url?: string | undefined;
430
+ alertmanager_url?: string | undefined;
431
+ api_url?: string | undefined;
424
432
  };
425
433
  harnesses: Record<string, {
426
434
  native?: Record<string, unknown> | undefined;
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;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;AAcH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;EAI5B,CAAC;AAEH,eAAO,MAAM,cAAc;;IAE1B,mFAAmF;;;;;;;;;;;;;;;;;;;;;;;IAMnF,iFAAiF;;;QAlDjF,yDAAyD;;QAEzD,2DAA2D;;;;;;;;;;;;;;;;;;;IAqD3D,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"}
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;;;;;;OAMG;;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;;;;;GAKG;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"}
@@ -57,10 +57,11 @@ export const AgentLimitsConfigSchema = z.object({
57
57
  export const AgentConfigSchema = z.object({
58
58
  default: z.enum(HARNESS_IDS).default("claude-code"),
59
59
  /**
60
- * BARE model id (e.g. "gpt-oss:120b") — the chosen harness applies its own
61
- * provider prefix (ADR-0017: deepagents prepends "openai:"; Claude Code takes it
62
- * bare). Also reused as the Tier-1 reduce model id. Omit to let the harness pick
63
- * its own default.
60
+ * BARE model id (e.g. "gpt-oss:120b") for the Tier-2 HARNESS ONLY — the chosen
61
+ * harness applies its own provider prefix (ADR-0017: deepagents prepends
62
+ * "openai:"; Claude Code takes it bare). Omit to let the harness pick its own
63
+ * default. The Tier-1 reduce model is a SEPARATE knob — `synth.model` (ADR-0013/
64
+ * 0016): the two calls go to different providers, so one key must never feed both.
64
65
  */
65
66
  model: z.string().optional(),
66
67
  /** The posture dial (ADR-0017). Defaults to `read-only`. */
@@ -87,7 +88,7 @@ export const AgentConfigSchema = z.object({
87
88
  max_turns: z.number().int().positive().optional(),
88
89
  });
89
90
  export const WorkspaceConfigSchema = z.object({
90
- base_dir: z.string().default("~/.prismalens"),
91
+ dir: z.string().default("~/.prismalens"),
91
92
  });
92
93
  /**
93
94
  * Run-budget guardrails for `pl listen` (issue #62): non-dollar caps only.
@@ -109,6 +110,8 @@ export const ListenCapsConfigSchema = z.object({
109
110
  * rather than a literal. The grouping_window_ms configures the debounce window.
110
111
  */
111
112
  export const ListenConfigSchema = z.object({
113
+ /** Local intake host. Default 127.0.0.1. */
114
+ host: z.string().default("127.0.0.1"),
112
115
  /** Local intake port (4181: clear of 9090/9093/3000/8080 defaults). 0 = ephemeral. */
113
116
  port: z.number().int().min(0).max(65535).default(4181),
114
117
  /** Shared bearer token Alertmanager presents; unset ⇒ `pl listen` refuses to start. */
@@ -127,14 +130,15 @@ export const ListenConfigSchema = z.object({
127
130
  caps: optionalWithDefaults(ListenCapsConfigSchema),
128
131
  });
129
132
  /**
130
- * Read-only telemetry + app endpoints the harness may query. Mirrors the engine's
131
- * TelemetryEndpoints (camelCase) so a loaded config can be handed straight to
132
- * `InvestigateOptions.telemetry`. All optional here — resolved/overridden per run.
133
+ * Read-only telemetry + app endpoints the harness may query. Keys are snake_case
134
+ * (the config-file convention — every other key in this schema is snake_case); the
135
+ * CLI maps them to the engine's camelCase `TelemetryEndpoints` at the boundary
136
+ * (`run-investigation`). All optional here — resolved/overridden per run.
133
137
  */
134
138
  export const TelemetryConfigSchema = z.object({
135
- prometheusUrl: z.string().optional(),
136
- alertmanagerUrl: z.string().optional(),
137
- apiUrl: z.string().optional(),
139
+ prometheus_url: z.string().optional(),
140
+ alertmanager_url: z.string().optional(),
141
+ api_url: z.string().optional(),
138
142
  });
139
143
  /**
140
144
  * A service in the catalog (ADR-0015). The CLI maps the matched entry into the
@@ -169,7 +173,16 @@ export const RepoConfigSchema = z.object({
169
173
  function optionalWithDefaults(schema) {
170
174
  return z
171
175
  .optional(z.record(z.string(), z.unknown()))
172
- .transform((val) => schema.parse(val ?? {}));
176
+ .transform((val, ctx) => {
177
+ const res = schema.safeParse(val ?? {});
178
+ if (!res.success) {
179
+ for (const issue of res.error.issues) {
180
+ ctx.addIssue(issue);
181
+ }
182
+ return z.NEVER;
183
+ }
184
+ return res.data;
185
+ });
173
186
  }
174
187
  export const SynthConfigSchema = z.object({
175
188
  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":"parse-stdin.d.ts","sourceRoot":"","sources":["../../../src/core/parse-stdin.ts"],"names":[],"mappings":"AAaA,wBAAsB,UAAU,IAAI,OAAO,CAC1C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CACnC,CAiBA"}
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
- consola.warn("Invalid JSON on stdin, ignoring");
27
- return undefined;
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;;;;;;;GAOG;AACH,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,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,MAAM,CAAC;QACR,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAChD,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC"}
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"}
@@ -61,12 +61,13 @@ export function resolveInvestigation(args, config) {
61
61
  providerId = "ollama";
62
62
  }
63
63
  }
64
- const synthModel = config.synth.model ??
65
- config.agent.model ??
66
- getDefaultModel(providerId) ??
67
- "";
64
+ // Tier-1 reduce model (ADR-0013/0016): `synth.model` ONLY, never `agent.model`.
65
+ // `agent.model` is the Tier-2 harness model and can target a different provider
66
+ // (e.g. claude-code's "claude-sonnet-4-5"), so feeding it to the reduce provider
67
+ // (ollama/openai) would 404. Fall back to the provider's registry default.
68
+ const synthModel = config.synth.model ?? getDefaultModel(providerId) ?? "";
68
69
  if (!synthModel && creds.source !== "none") {
69
- throw new Error("No synthesis model configured (set synth.model or agent.model).");
70
+ throw new Error("No synthesis model configured (set synth.model).");
70
71
  }
71
72
  // Context enrichment (ADR-0015) — a single-alert CLI run is NOT context-free: it
72
73
  // still knows the service/repos/logs from `prismalens.config.yaml`.
@@ -93,12 +94,13 @@ export function resolveInvestigation(args, config) {
93
94
  // engine's SandboxLimits shape, dropping unset ones so "no cap" stays no cap
94
95
  // (never a lying default). Only present when at least one knob is set.
95
96
  const limits = toSandboxLimits(config.agent.limits);
97
+ // Map the snake_case config keys onto the engine's camelCase TelemetryEndpoints.
96
98
  const telemetry = {
97
- prometheusUrl: config.telemetry.prometheusUrl ??
99
+ prometheusUrl: config.telemetry.prometheus_url ??
98
100
  INVESTIGATION_DEFAULTS.telemetry.prometheusUrl,
99
- alertmanagerUrl: config.telemetry.alertmanagerUrl ??
101
+ alertmanagerUrl: config.telemetry.alertmanager_url ??
100
102
  INVESTIGATION_DEFAULTS.telemetry.alertmanagerUrl,
101
- apiUrl: config.telemetry.apiUrl ?? INVESTIGATION_DEFAULTS.telemetry.apiUrl,
103
+ apiUrl: config.telemetry.api_url ?? INVESTIGATION_DEFAULTS.telemetry.apiUrl,
102
104
  };
103
105
  const request = {
104
106
  query: args.query,
@@ -1 +1 @@
1
- {"version":3,"file":"run-investigation.js","sourceRoot":"","sources":["../../../src/core/run-investigation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-investigation.js","sourceRoot":"","sources":["../../../src/core/run-investigation.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Workspace + session manager for engine runs (ADR-0010), simplified from the
5
5
  * retired pl orchestrator's session-manager.
6
6
  *
7
- * Layout under `<workspace.base_dir>` (default ~/.prismalens):
7
+ * Layout under `<workspace.dir>` (default ~/.prismalens):
8
8
  * prismalens.db - sqlite store for all run metadata
9
9
  * runs/<runId>/ - per-run workspace dir
10
10
  */
@@ -22,8 +22,8 @@ function expandHome(p) {
22
22
  return p;
23
23
  }
24
24
  export function resolveBaseDir(baseDir) {
25
- // Honor PRISMALENS_USER_FOLDER for the default workspace (via getAppDataDir);
26
- // an explicit `workspace.base_dir` override still wins.
25
+ // Honor PRISMALENS_WORKSPACE_DIR for the default workspace (via getAppDataDir);
26
+ // an explicit `workspace.dir` override still wins.
27
27
  if (!baseDir || baseDir === "~/.prismalens")
28
28
  return getAppDataDir();
29
29
  return resolve(expandHome(baseDir));
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/core/session.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,6BAA6B;AAE7B;;;;;;;GAOG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAKjE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAsEjE,MAAM,SAAS,GAAG,wBAAwB,CAAC;AAE3C,SAAS,UAAU,CAAC,CAAS;IAC5B,IAAI,CAAC,KAAK,GAAG;QAAE,OAAO,OAAO,EAAE,CAAC;IAChC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,CAAC;AACV,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC9C,8EAA8E;IAC9E,wDAAwD;IACxD,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,eAAe;QAAE,OAAO,aAAa,EAAE,CAAC;IACpE,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACpD,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAE9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEpC,SAAS,WAAW,CAAC,KAAa;QACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,GAAG,CAAC,CAAC;IAC1E,CAAC;IAED,SAAS,YAAY,CAAC,KAAa;QAClC,WAAW,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,IAAI,oBAAoB,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/core/session.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,6BAA6B;AAE7B;;;;;;;GAOG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAKjE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAsEjE,MAAM,SAAS,GAAG,wBAAwB,CAAC;AAE3C,SAAS,UAAU,CAAC,CAAS;IAC5B,IAAI,CAAC,KAAK,GAAG;QAAE,OAAO,OAAO,EAAE,CAAC;IAChC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,CAAC;AACV,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC9C,gFAAgF;IAChF,mDAAmD;IACnD,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,eAAe;QAAE,OAAO,aAAa,EAAE,CAAC;IACpE,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACpD,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAE9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEpC,SAAS,WAAW,CAAC,KAAa;QACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,GAAG,CAAC,CAAC;IAC1E,CAAC;IAED,SAAS,YAAY,CAAC,KAAa;QAClC,WAAW,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,IAAI,oBAAoB,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;AACtE,CAAC"}
@@ -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;AAEvD,MAAM,WAAW,mBAAmB;IACnC,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,QAAQ,EAAE,YAAY,CAAC;IAEvB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,iFAAiF;AACjF,eAAO,MAAM,YAAY,2BAA2B,CAAC;AAErD,MAAM,WAAW,YAAY;IAC5B,iDAAiD;IACjD,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,CA0HvB"}
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"}
@@ -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":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/http/server.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type SandboxMode } from "@prismalens/engine";
1
2
  export interface JsonRpcServerOptions {
2
3
  /** serverInfo.version reported by `initialize`. */
3
4
  version: string;
@@ -6,6 +7,34 @@ export interface JsonRpcServerOptions {
6
7
  /** Response/notification stream. Defaults to process.stdout. */
7
8
  output?: NodeJS.WritableStream;
8
9
  }
10
+ export interface InvestigateParams {
11
+ alert?: Record<string, unknown>;
12
+ query?: string;
13
+ repo?: string;
14
+ harness?: string;
15
+ model?: string;
16
+ config?: string;
17
+ service?: string;
18
+ /** The posture dial (ADR-0017): "read-only" | "supervised" | "auto" | "dangerous". */
19
+ mode?: string;
20
+ /** Alias for `mode: "dangerous"` — wins over `mode` when true. */
21
+ dangerouslySkipPermissions?: boolean;
22
+ /**
23
+ * The isolation boundary (ADR-0020): the CLI's `--sandbox` parity. A supplied
24
+ * value that is not one of SANDBOX_MODES is a `-32602` error, never a silent
25
+ * floor. Unset ⇒ `agent.sandbox` from config.
26
+ */
27
+ sandbox?: SandboxMode;
28
+ /** Per-run turn ceiling for the default harness — the CLI's `--max-turns` parity. */
29
+ maxTurns?: number;
30
+ }
31
+ /**
32
+ * Coerce raw RPC params into the typed investigate shape. Unknown fields are
33
+ * dropped; a SUPPLIED `sandbox`/`maxTurns` that is malformed (wrong type, not a
34
+ * sandbox mode, non-positive-integer) THROWS `-32602` — absent is fine, invalid
35
+ * is never silently swallowed (the silent-accept antipattern the #148 audit flags).
36
+ */
37
+ export declare function parseInvestigateParams(raw: unknown): InvestigateParams;
9
38
  /**
10
39
  * Run the JSON-RPC server until the input stream closes. Reads requests
11
40
  * line-by-line, dispatches by method, and writes responses/notifications back as
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/jsonrpc/server.ts"],"names":[],"mappings":"AAoDA,MAAM,WAAW,oBAAoB;IACpC,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;CAC/B;AAyDD;;;;GAIG;AACH,wBAAsB,gBAAgB,CACrC,OAAO,EAAE,oBAAoB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAyLf"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/jsonrpc/server.ts"],"names":[],"mappings":"AAyBA,OAAO,EAGN,KAAK,WAAW,EAEhB,MAAM,oBAAoB,CAAC;AA2B5B,MAAM,WAAW,oBAAoB;IACpC,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;CAC/B;AAcD,MAAM,WAAW,iBAAiB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sFAAsF;IACtF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,CA6CtE;AAMD;;;;GAIG;AACH,wBAAsB,gBAAgB,CACrC,OAAO,EAAE,oBAAoB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA0Lf"}