siclaw 0.1.2 → 0.1.4
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/agentbox/gateway-client.d.ts +4 -0
- package/dist/agentbox/gateway-client.js +9 -1
- package/dist/agentbox/gateway-client.js.map +1 -1
- package/dist/agentbox/http-server.js +25 -1
- package/dist/agentbox/http-server.js.map +1 -1
- package/dist/agentbox/session.d.ts +2 -0
- package/dist/agentbox/session.js +11 -7
- package/dist/agentbox/session.js.map +1 -1
- package/dist/agentbox-main.js +10 -0
- package/dist/agentbox-main.js.map +1 -1
- package/dist/cli-main.js +19 -3
- package/dist/cli-main.js.map +1 -1
- package/dist/core/agent-factory.d.ts +2 -0
- package/dist/core/agent-factory.js +87 -21
- package/dist/core/agent-factory.js.map +1 -1
- package/dist/core/compaction.d.ts +80 -0
- package/dist/core/compaction.js +442 -0
- package/dist/core/compaction.js.map +1 -0
- package/dist/core/config.d.ts +7 -0
- package/dist/core/config.js +27 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/extensions/compaction-safeguard.d.ts +2 -0
- package/dist/core/extensions/compaction-safeguard.js +681 -0
- package/dist/core/extensions/compaction-safeguard.js.map +1 -0
- package/dist/core/extensions/deep-investigation.js +47 -73
- package/dist/core/extensions/deep-investigation.js.map +1 -1
- package/dist/core/extensions/memory-flush.d.ts +2 -10
- package/dist/core/extensions/memory-flush.js +4 -86
- package/dist/core/extensions/memory-flush.js.map +1 -1
- package/dist/core/llm-proxy.js +25 -6
- package/dist/core/llm-proxy.js.map +1 -1
- package/dist/core/message-utils.d.ts +18 -0
- package/dist/core/message-utils.js +28 -0
- package/dist/core/message-utils.js.map +1 -0
- package/dist/core/prompt.js +4 -5
- package/dist/core/prompt.js.map +1 -1
- package/dist/core/session-tool-result-guard.d.ts +2 -0
- package/dist/core/session-tool-result-guard.js +159 -0
- package/dist/core/session-tool-result-guard.js.map +1 -0
- package/dist/core/stream-wrappers.d.ts +41 -0
- package/dist/core/stream-wrappers.js +369 -0
- package/dist/core/stream-wrappers.js.map +1 -0
- package/dist/core/thinking-blocks.d.ts +20 -0
- package/dist/core/thinking-blocks.js +45 -0
- package/dist/core/thinking-blocks.js.map +1 -0
- package/dist/core/tool-call-id.d.ts +22 -0
- package/dist/core/tool-call-id.js +226 -0
- package/dist/core/tool-call-id.js.map +1 -0
- package/dist/core/tool-call-repair.d.ts +18 -0
- package/dist/core/tool-call-repair.js +73 -0
- package/dist/core/tool-call-repair.js.map +1 -0
- package/dist/core/tool-result-context-guard.d.ts +36 -0
- package/dist/core/tool-result-context-guard.js +272 -0
- package/dist/core/tool-result-context-guard.js.map +1 -0
- package/dist/cron/cron-limits.d.ts +16 -0
- package/dist/cron/cron-limits.js +17 -0
- package/dist/cron/cron-limits.js.map +1 -0
- package/dist/cron/cron-matcher.d.ts +14 -0
- package/dist/cron/cron-matcher.js +29 -0
- package/dist/cron/cron-matcher.js.map +1 -1
- package/dist/gateway/agentbox/client.d.ts +0 -2
- package/dist/gateway/agentbox/client.js.map +1 -1
- package/dist/gateway/agentbox/k8s-spawner.d.ts +10 -10
- package/dist/gateway/agentbox/k8s-spawner.js +27 -55
- package/dist/gateway/agentbox/k8s-spawner.js.map +1 -1
- package/dist/gateway/agentbox/local-spawner.d.ts +5 -0
- package/dist/gateway/agentbox/local-spawner.js +10 -0
- package/dist/gateway/agentbox/local-spawner.js.map +1 -1
- package/dist/gateway/cron/cron-service.js +7 -0
- package/dist/gateway/cron/cron-service.js.map +1 -1
- package/dist/gateway/db/index.js +9 -1
- package/dist/gateway/db/index.js.map +1 -1
- package/dist/gateway/db/init-schema.js +65 -16
- package/dist/gateway/db/init-schema.js.map +1 -1
- package/dist/gateway/db/migrate-sqlite.js +73 -20
- package/dist/gateway/db/migrate-sqlite.js.map +1 -1
- package/dist/gateway/db/repositories/cluster-repo.d.ts +59 -0
- package/dist/gateway/db/repositories/cluster-repo.js +107 -0
- package/dist/gateway/db/repositories/cluster-repo.js.map +1 -0
- package/dist/gateway/db/repositories/config-repo.d.ts +4 -5
- package/dist/gateway/db/repositories/config-repo.js +17 -0
- package/dist/gateway/db/repositories/config-repo.js.map +1 -1
- package/dist/gateway/db/repositories/feedback-repo.d.ts +71 -0
- package/dist/gateway/db/repositories/feedback-repo.js +52 -0
- package/dist/gateway/db/repositories/feedback-repo.js.map +1 -0
- package/dist/gateway/db/repositories/knowledge-doc-repo.d.ts +37 -0
- package/dist/gateway/db/repositories/knowledge-doc-repo.js +48 -0
- package/dist/gateway/db/repositories/knowledge-doc-repo.js.map +1 -0
- package/dist/gateway/db/repositories/user-cluster-config-repo.d.ts +45 -0
- package/dist/gateway/db/repositories/user-cluster-config-repo.js +90 -0
- package/dist/gateway/db/repositories/user-cluster-config-repo.js.map +1 -0
- package/dist/gateway/db/repositories/workspace-repo.d.ts +2 -2
- package/dist/gateway/db/repositories/workspace-repo.js +12 -12
- package/dist/gateway/db/repositories/workspace-repo.js.map +1 -1
- package/dist/gateway/db/schema-mysql.d.ts +437 -44
- package/dist/gateway/db/schema-mysql.js +36 -9
- package/dist/gateway/db/schema-mysql.js.map +1 -1
- package/dist/gateway/db/schema-sqlite.d.ts +459 -46
- package/dist/gateway/db/schema-sqlite.js +36 -9
- package/dist/gateway/db/schema-sqlite.js.map +1 -1
- package/dist/gateway/db/schema.d.ts +435 -44
- package/dist/gateway/db/schema.js +1 -1
- package/dist/gateway/db/schema.js.map +1 -1
- package/dist/gateway/plugins/channel-bridge.js +1 -1
- package/dist/gateway/plugins/channel-bridge.js.map +1 -1
- package/dist/gateway/rpc-methods.d.ts +2 -1
- package/dist/gateway/rpc-methods.js +507 -172
- package/dist/gateway/rpc-methods.js.map +1 -1
- package/dist/gateway/server.js +191 -51
- package/dist/gateway/server.js.map +1 -1
- package/dist/gateway/web/dist/assets/index-DTD0P9j8.css +1 -0
- package/dist/gateway/web/dist/assets/index-DhqsS2E0.js +756 -0
- package/dist/gateway/web/dist/assets/index-DhqsS2E0.js.map +1 -0
- package/dist/gateway/web/dist/index.html +2 -2
- package/dist/gateway-main.js +1 -3
- package/dist/gateway-main.js.map +1 -1
- package/dist/memory/indexer.d.ts +13 -0
- package/dist/memory/indexer.js +91 -1
- package/dist/memory/indexer.js.map +1 -1
- package/dist/memory/knowledge-extractor.d.ts +47 -0
- package/dist/memory/knowledge-extractor.js +165 -0
- package/dist/memory/knowledge-extractor.js.map +1 -0
- package/dist/memory/overview-generator.d.ts +16 -0
- package/dist/memory/overview-generator.js +233 -0
- package/dist/memory/overview-generator.js.map +1 -0
- package/dist/memory/session-summarizer.d.ts +28 -0
- package/dist/memory/session-summarizer.js +20 -2
- package/dist/memory/session-summarizer.js.map +1 -1
- package/dist/memory/temporal-decay.js +2 -2
- package/dist/memory/temporal-decay.js.map +1 -1
- package/dist/memory/topic-consolidator.d.ts +52 -0
- package/dist/memory/topic-consolidator.js +197 -0
- package/dist/memory/topic-consolidator.js.map +1 -0
- package/dist/tools/cluster-info.d.ts +9 -0
- package/dist/tools/cluster-info.js +74 -0
- package/dist/tools/cluster-info.js.map +1 -0
- package/dist/tools/command-sets.js +15 -5
- package/dist/tools/command-sets.js.map +1 -1
- package/dist/tools/create-skill.js +1 -1
- package/dist/tools/create-skill.js.map +1 -1
- package/dist/tools/debug-pod.d.ts +217 -0
- package/dist/tools/debug-pod.js +603 -0
- package/dist/tools/debug-pod.js.map +1 -0
- package/dist/tools/deep-search/engine.d.ts +0 -5
- package/dist/tools/deep-search/engine.js +68 -28
- package/dist/tools/deep-search/engine.js.map +1 -1
- package/dist/tools/deep-search/format.d.ts +1 -1
- package/dist/tools/deep-search/format.js +1 -2
- package/dist/tools/deep-search/format.js.map +1 -1
- package/dist/tools/deep-search/prompts.d.ts +4 -1
- package/dist/tools/deep-search/prompts.js +47 -29
- package/dist/tools/deep-search/prompts.js.map +1 -1
- package/dist/tools/deep-search/quality-gate.d.ts +25 -0
- package/dist/tools/deep-search/quality-gate.js +81 -0
- package/dist/tools/deep-search/quality-gate.js.map +1 -0
- package/dist/tools/deep-search/schemas.d.ts +25 -0
- package/dist/tools/deep-search/schemas.js +26 -1
- package/dist/tools/deep-search/schemas.js.map +1 -1
- package/dist/tools/deep-search/sre-knowledge.d.ts +6 -10
- package/dist/tools/deep-search/sre-knowledge.js +21 -52
- package/dist/tools/deep-search/sre-knowledge.js.map +1 -1
- package/dist/tools/deep-search/sub-agent.js +24 -8
- package/dist/tools/deep-search/sub-agent.js.map +1 -1
- package/dist/tools/deep-search/tool.js +3 -6
- package/dist/tools/deep-search/tool.js.map +1 -1
- package/dist/tools/deep-search/types.d.ts +13 -0
- package/dist/tools/deep-search/types.js +4 -4
- package/dist/tools/deep-search/types.js.map +1 -1
- package/dist/tools/dp-tools.d.ts +9 -6
- package/dist/tools/dp-tools.js +26 -55
- package/dist/tools/dp-tools.js.map +1 -1
- package/dist/tools/exec-utils.d.ts +8 -21
- package/dist/tools/exec-utils.js +11 -95
- package/dist/tools/exec-utils.js.map +1 -1
- package/dist/tools/fork-skill.js +1 -1
- package/dist/tools/fork-skill.js.map +1 -1
- package/dist/tools/k8s-checks.d.ts +11 -5
- package/dist/tools/k8s-checks.js +28 -9
- package/dist/tools/k8s-checks.js.map +1 -1
- package/dist/tools/knowledge-search.d.ts +3 -0
- package/dist/tools/knowledge-search.js +115 -0
- package/dist/tools/knowledge-search.js.map +1 -0
- package/dist/tools/kubeconfig-resolver.d.ts +22 -0
- package/dist/tools/kubeconfig-resolver.js +98 -18
- package/dist/tools/kubeconfig-resolver.js.map +1 -1
- package/dist/tools/manage-schedule.js +23 -1
- package/dist/tools/manage-schedule.js.map +1 -1
- package/dist/tools/netns-script.d.ts +1 -1
- package/dist/tools/netns-script.js +19 -7
- package/dist/tools/netns-script.js.map +1 -1
- package/dist/tools/node-exec.d.ts +1 -1
- package/dist/tools/node-exec.js +19 -7
- package/dist/tools/node-exec.js.map +1 -1
- package/dist/tools/node-script.d.ts +1 -1
- package/dist/tools/node-script.js +19 -7
- package/dist/tools/node-script.js.map +1 -1
- package/dist/tools/pod-exec.js +12 -1
- package/dist/tools/pod-exec.js.map +1 -1
- package/dist/tools/pod-nsenter-exec.d.ts +1 -1
- package/dist/tools/pod-nsenter-exec.js +19 -7
- package/dist/tools/pod-nsenter-exec.js.map +1 -1
- package/dist/tools/pod-script.js +12 -1
- package/dist/tools/pod-script.js.map +1 -1
- package/dist/tools/restricted-bash.js +10 -3
- package/dist/tools/restricted-bash.js.map +1 -1
- package/dist/tools/run-skill.js +14 -2
- package/dist/tools/run-skill.js.map +1 -1
- package/dist/tools/save-feedback.d.ts +7 -0
- package/dist/tools/save-feedback.js +125 -0
- package/dist/tools/save-feedback.js.map +1 -0
- package/dist/tools/update-skill.js +1 -1
- package/dist/tools/update-skill.js.map +1 -1
- package/package.json +1 -1
- package/skills/core/deep-investigation/SKILL.md +11 -14
- package/skills/core/session-feedback/SKILL.md +146 -0
|
@@ -2,30 +2,17 @@ import { runSubAgent, llmCompleteWithTool, extractJSON } from "./sub-agent.js";
|
|
|
2
2
|
import { contextGatheringPrompt, hypothesisGenerationPrompt, hypothesisValidationPrompt, conclusionPrompt, forceVerdictPrompt, forceContextSummaryPrompt, } from "./prompts.js";
|
|
3
3
|
import { writeFile, mkdir } from "fs/promises";
|
|
4
4
|
import { join } from "path";
|
|
5
|
-
import { homedir } from "os";
|
|
6
5
|
import crypto from "node:crypto";
|
|
7
6
|
import { resolveKubeconfigPath } from "../kubeconfig-resolver.js";
|
|
8
7
|
import { NORMAL_BUDGET, EARLY_EXIT_CONFIDENCE, TRACE_MAX_OUTPUT, TRACE_HEAD_CHARS, TRACE_TAIL_CHARS, } from "./types.js";
|
|
9
8
|
import { HYPOTHESES_SCHEMA, CONCLUSION_SCHEMA } from "./schemas.js";
|
|
10
|
-
|
|
11
|
-
* Write the full investigation report to ~/.siclaw/reports/deep-search-{timestamp}.md
|
|
12
|
-
* Returns the file path for inclusion in the summary.
|
|
13
|
-
*/
|
|
14
|
-
export async function writeReport(report) {
|
|
15
|
-
const reportDir = join(homedir(), ".siclaw", "reports");
|
|
16
|
-
await mkdir(reportDir, { recursive: true });
|
|
17
|
-
const timestamp = new Date().toISOString().replace(/[:.]/g, "-").slice(0, 19);
|
|
18
|
-
const filename = `deep-search-${timestamp}.md`;
|
|
19
|
-
const filepath = join(reportDir, filename);
|
|
20
|
-
await writeFile(filepath, report, "utf-8");
|
|
21
|
-
return filepath;
|
|
22
|
-
}
|
|
9
|
+
import { validateConclusion } from "./quality-gate.js";
|
|
23
10
|
/**
|
|
24
11
|
* Write a human-readable Markdown trace file for debugging sub-agent behavior.
|
|
25
12
|
* File is written to ~/.siclaw/traces/deep-search-{timestamp}.md
|
|
26
13
|
*/
|
|
27
14
|
async function writeDebugTrace(question, hypotheses, totalCalls, durationMs) {
|
|
28
|
-
const traceDir = join(
|
|
15
|
+
const traceDir = join(process.cwd(), ".siclaw", "traces");
|
|
29
16
|
await mkdir(traceDir, { recursive: true });
|
|
30
17
|
const timestamp = new Date().toISOString().replace(/[:.]/g, "-").slice(0, 19);
|
|
31
18
|
const filename = `deep-search-${timestamp}.md`;
|
|
@@ -184,7 +171,7 @@ function parseConclusionOutput(raw) {
|
|
|
184
171
|
* Returns both human-readable text and optional structured extraction.
|
|
185
172
|
* Falls back to parseConclusionOutput() for providers without tool_use support.
|
|
186
173
|
*/
|
|
187
|
-
async function generateConclusion(question, hypotheses, options) {
|
|
174
|
+
async function generateConclusion(question, hypotheses, options, critique) {
|
|
188
175
|
const hypothesesSummary = hypotheses
|
|
189
176
|
.map((h) => {
|
|
190
177
|
const evidenceText = h.evidence
|
|
@@ -193,7 +180,7 @@ async function generateConclusion(question, hypotheses, options) {
|
|
|
193
180
|
return `${h.id}: ${h.text}\nStatus: ${h.status} (${h.confidence}%)\nReasoning: ${h.reasoning}\nEvidence:\n${evidenceText}`;
|
|
194
181
|
})
|
|
195
182
|
.join("\n\n");
|
|
196
|
-
const prompt = conclusionPrompt(question, hypothesesSummary);
|
|
183
|
+
const prompt = conclusionPrompt(question, hypothesesSummary, critique);
|
|
197
184
|
// No onProgress here — Phase 4 conclusion text should NOT leak into spinner
|
|
198
185
|
try {
|
|
199
186
|
const { toolArgs, textContent } = await llmCompleteWithTool(undefined, prompt, "submit_conclusion", "Submit the final investigation conclusion with structured metadata", CONCLUSION_SCHEMA, options);
|
|
@@ -272,9 +259,22 @@ export async function investigate(question, options) {
|
|
|
272
259
|
else {
|
|
273
260
|
onProgress?.({ type: "phase", phase: "Phase 1/4", detail: "Gathering context..." });
|
|
274
261
|
const contextPrompt = contextGatheringPrompt(question, budget.maxContextCalls, kubeconfigPath);
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
262
|
+
try {
|
|
263
|
+
const contextResult = await runSubAgent(contextPrompt, question, budget.maxContextCalls, options, onProgress, forceContextSummaryPrompt());
|
|
264
|
+
globalCallsUsed += contextResult.callsUsed;
|
|
265
|
+
contextSummary = parseContextSummary(contextResult.textOutput);
|
|
266
|
+
}
|
|
267
|
+
catch (err) {
|
|
268
|
+
// Phase 1 sub-agent timed out or crashed — fall back to question as context
|
|
269
|
+
// so Phases 2-4 can still proceed with degraded quality.
|
|
270
|
+
// Charge the full Phase 1 budget conservatively — the sub-agent may have
|
|
271
|
+
// consumed calls before throwing, but we can't know the exact count.
|
|
272
|
+
globalCallsUsed += budget.maxContextCalls;
|
|
273
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
274
|
+
console.warn(`[deep-search] Phase 1 context gathering failed: ${msg}`);
|
|
275
|
+
onProgress?.({ type: "phase", phase: "Phase 1/4", detail: `Context gathering failed (${msg.slice(0, 120)}), proceeding with question only` });
|
|
276
|
+
contextSummary = `Context gathering failed. Original question: ${question}`;
|
|
277
|
+
}
|
|
278
278
|
}
|
|
279
279
|
// --- Prior Investigation Retrieval (3-layer: patterns + similar + validated hypotheses) ---
|
|
280
280
|
let priorKnowledge;
|
|
@@ -367,6 +367,7 @@ export async function investigate(question, options) {
|
|
|
367
367
|
priorKnowledge = pk;
|
|
368
368
|
}
|
|
369
369
|
}
|
|
370
|
+
const DEFAULT_ESTIMATED_CALLS = 5;
|
|
370
371
|
let hypotheses;
|
|
371
372
|
if (options?.hypotheses && options.hypotheses.length > 0) {
|
|
372
373
|
onProgress?.({ type: "phase", phase: "Phase 2/4", detail: `Using ${options.hypotheses.length} pre-confirmed hypotheses (skipped)` });
|
|
@@ -378,6 +379,7 @@ export async function investigate(question, options) {
|
|
|
378
379
|
evidence: [],
|
|
379
380
|
reasoning: "",
|
|
380
381
|
suggestedTools: h.suggestedTools,
|
|
382
|
+
estimatedCalls: Math.max(2, Math.min(budget.maxCallsPerHypothesis, DEFAULT_ESTIMATED_CALLS)),
|
|
381
383
|
toolCallsUsed: 0,
|
|
382
384
|
}));
|
|
383
385
|
}
|
|
@@ -392,6 +394,7 @@ export async function investigate(question, options) {
|
|
|
392
394
|
evidence: [],
|
|
393
395
|
reasoning: "",
|
|
394
396
|
suggestedTools: h.suggestedTools,
|
|
397
|
+
estimatedCalls: Math.max(2, Math.min(budget.maxCallsPerHypothesis, h.estimatedCalls ?? DEFAULT_ESTIMATED_CALLS)),
|
|
395
398
|
toolCallsUsed: 0,
|
|
396
399
|
}));
|
|
397
400
|
}
|
|
@@ -408,7 +411,8 @@ export async function investigate(question, options) {
|
|
|
408
411
|
onProgress?.({ type: "phase", phase: "Phase 3/4", detail: `Validating ${hypotheses.length} hypotheses (budget: ${validationBudget} calls)...` });
|
|
409
412
|
let rootCauseFound = false;
|
|
410
413
|
let timedOut = false;
|
|
411
|
-
// Build a summary of completed hypotheses for sub-agent context
|
|
414
|
+
// Build a summary of completed hypotheses for sub-agent context.
|
|
415
|
+
// Includes key evidence commands so the next sub-agent can avoid redundant checks.
|
|
412
416
|
function buildPriorFindings() {
|
|
413
417
|
const completed = hypotheses.filter(h => h.status !== "pending" && h.status !== "skipped");
|
|
414
418
|
if (completed.length === 0)
|
|
@@ -417,7 +421,11 @@ export async function investigate(question, options) {
|
|
|
417
421
|
const reasoning = h.reasoning.length > 100
|
|
418
422
|
? h.reasoning.slice(0, 100) + "..."
|
|
419
423
|
: (h.reasoning || "(no details)");
|
|
420
|
-
|
|
424
|
+
const keyCommands = h.evidence.slice(0, 2)
|
|
425
|
+
.filter(e => e.command.trim().length > 0)
|
|
426
|
+
.map(e => ` already ran: ${e.command.length > 80 ? e.command.slice(0, 77) + "..." : e.command}`)
|
|
427
|
+
.join("\n");
|
|
428
|
+
return `- ${h.id} (${h.text}): ${h.status.toUpperCase()} (${h.confidence}%) — ${reasoning}${keyCommands ? "\n" + keyCommands : ""}`;
|
|
421
429
|
}).join("\n");
|
|
422
430
|
}
|
|
423
431
|
// Validate a single hypothesis via sub-agent, handling verdict parsing and error retry
|
|
@@ -438,6 +446,10 @@ export async function investigate(question, options) {
|
|
|
438
446
|
onProgress?.({ type: "hypothesis", id: hypothesis.id, status: hypothesis.status, confidence: hypothesis.confidence });
|
|
439
447
|
}
|
|
440
448
|
catch (err) {
|
|
449
|
+
// Charge minimum 1 call so failed attempts aren't zero-cost —
|
|
450
|
+
// the sub-agent may have made calls before throwing, but we
|
|
451
|
+
// can't know the exact count without a partial result.
|
|
452
|
+
globalCallsUsed += 1;
|
|
441
453
|
if (!isRetry) {
|
|
442
454
|
// First failure → queue for retry
|
|
443
455
|
hypothesis.status = "inconclusive";
|
|
@@ -452,6 +464,7 @@ export async function investigate(question, options) {
|
|
|
452
464
|
// Concurrency pool: keep maxParallel slots busy, fill freed slots immediately
|
|
453
465
|
const queue = [...hypotheses];
|
|
454
466
|
let activeCount = 0;
|
|
467
|
+
let allocatedNotConsumed = 0; // budget allocated to in-flight sub-agents but not yet counted in globalCallsUsed
|
|
455
468
|
const retryQueue = [];
|
|
456
469
|
await new Promise((resolvePool) => {
|
|
457
470
|
function tryStartNext() {
|
|
@@ -462,8 +475,8 @@ export async function investigate(question, options) {
|
|
|
462
475
|
onProgress?.({ type: "phase", phase: "Phase 3/4", detail: `Global timeout (${(budget.maxDurationMs / 1000).toFixed(0)}s) exceeded, skipping remaining hypotheses...` });
|
|
463
476
|
break;
|
|
464
477
|
}
|
|
465
|
-
// Budget check
|
|
466
|
-
const remaining = budget.maxTotalCalls - globalCallsUsed;
|
|
478
|
+
// Budget check — account for budget already allocated to in-flight sub-agents
|
|
479
|
+
const remaining = budget.maxTotalCalls - globalCallsUsed - allocatedNotConsumed;
|
|
467
480
|
if (remaining <= 0)
|
|
468
481
|
break;
|
|
469
482
|
// Pick from retry queue first, then main queue
|
|
@@ -471,10 +484,19 @@ export async function investigate(question, options) {
|
|
|
471
484
|
if (!hypothesis)
|
|
472
485
|
break;
|
|
473
486
|
const isRetry = hypothesis.status === "inconclusive";
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
487
|
+
// Proportional budget: allocate based on each hypothesis's estimatedCalls
|
|
488
|
+
// rather than splitting evenly. This lets simple checks finish fast and
|
|
489
|
+
// complex validations get the budget they need.
|
|
490
|
+
const pendingHypotheses = [hypothesis, ...queue, ...retryQueue];
|
|
491
|
+
const totalEstimated = pendingHypotheses.reduce((sum, h) => sum + h.estimatedCalls, 0);
|
|
492
|
+
const proportionalShare = totalEstimated > 0
|
|
493
|
+
? Math.floor(remaining * (hypothesis.estimatedCalls / totalEstimated))
|
|
494
|
+
: Math.floor(remaining / Math.max(1, pendingHypotheses.length));
|
|
495
|
+
const perBudget = Math.max(2, Math.min(budget.maxCallsPerHypothesis, proportionalShare));
|
|
496
|
+
if (perBudget > remaining)
|
|
497
|
+
break; // not enough remaining budget for minimum allocation
|
|
477
498
|
activeCount++;
|
|
499
|
+
allocatedNotConsumed += perBudget;
|
|
478
500
|
runOneHypothesis(hypothesis, perBudget, isRetry)
|
|
479
501
|
.then(() => {
|
|
480
502
|
// Early exit: validated with high confidence → stop launching new tasks
|
|
@@ -487,6 +509,9 @@ export async function investigate(question, options) {
|
|
|
487
509
|
})
|
|
488
510
|
.finally(() => {
|
|
489
511
|
activeCount--;
|
|
512
|
+
// Release the pre-allocated budget reservation; actual usage is
|
|
513
|
+
// already tracked in globalCallsUsed by runOneHypothesis.
|
|
514
|
+
allocatedNotConsumed = Math.max(0, allocatedNotConsumed - perBudget);
|
|
490
515
|
tryStartNext();
|
|
491
516
|
if (activeCount === 0)
|
|
492
517
|
resolvePool();
|
|
@@ -507,7 +532,22 @@ export async function investigate(question, options) {
|
|
|
507
532
|
}
|
|
508
533
|
// --- Phase 4: Conclusion ---
|
|
509
534
|
onProgress?.({ type: "phase", phase: "Phase 4/4", detail: "Generating conclusion..." });
|
|
510
|
-
|
|
535
|
+
let conclusionResult = await generateConclusion(question, hypotheses, options);
|
|
536
|
+
// Quality gate: validate conclusion before storing (skip for text-only fallback conclusions)
|
|
537
|
+
if (conclusionResult.structured) {
|
|
538
|
+
const validation = await validateConclusion({
|
|
539
|
+
question, hypotheses, conclusion: conclusionResult, options,
|
|
540
|
+
});
|
|
541
|
+
if (!validation.pass) {
|
|
542
|
+
onProgress?.({ type: "phase", phase: "Phase 4/4", detail: "Re-generating (quality feedback)..." });
|
|
543
|
+
conclusionResult = await generateConclusion(question, hypotheses, options, validation.critique);
|
|
544
|
+
}
|
|
545
|
+
else if (validation.adjustedConfidence !== undefined && conclusionResult.structured) {
|
|
546
|
+
// Only apply adjustedConfidence when the gate passed — after retry the new conclusion
|
|
547
|
+
// has its own confidence from the critique-informed generation
|
|
548
|
+
conclusionResult.structured.confidence = validation.adjustedConfidence;
|
|
549
|
+
}
|
|
550
|
+
}
|
|
511
551
|
const totalDurationMs = Date.now() - startTime;
|
|
512
552
|
// Write structured investigation record to SQLite (best-effort)
|
|
513
553
|
let investigationId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/tools/deep-search/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/tools/deep-search/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import type { InvestigationResult } from "./types.js";
|
|
|
3
3
|
* Compact summary for PL agent context. Full report is written to a file separately.
|
|
4
4
|
* Keeps conclusion + one-line verdict per hypothesis + statistics + file path.
|
|
5
5
|
*/
|
|
6
|
-
export declare function formatSummary(result: InvestigationResult
|
|
6
|
+
export declare function formatSummary(result: InvestigationResult): string;
|
|
7
7
|
/**
|
|
8
8
|
* Full investigation report written to file.
|
|
9
9
|
* Structure: conclusion first → per-hypothesis findings → evidence appendix → stats.
|
|
@@ -64,7 +64,7 @@ function formatHypothesis(h) {
|
|
|
64
64
|
* Compact summary for PL agent context. Full report is written to a file separately.
|
|
65
65
|
* Keeps conclusion + one-line verdict per hypothesis + statistics + file path.
|
|
66
66
|
*/
|
|
67
|
-
export function formatSummary(result
|
|
67
|
+
export function formatSummary(result) {
|
|
68
68
|
const sections = [];
|
|
69
69
|
sections.push("## Deep Search Summary");
|
|
70
70
|
sections.push(`### Conclusion\n${result.conclusion}`);
|
|
@@ -87,7 +87,6 @@ export function formatSummary(result, reportPath) {
|
|
|
87
87
|
(skipped > 0 ? `, ${skipped} skipped` : "");
|
|
88
88
|
sections.push(`### Statistics\n` +
|
|
89
89
|
`- Tool calls: ${result.totalToolCalls} | Duration: ${duration} | Hypotheses: ${hypoStat}`);
|
|
90
|
-
sections.push(`Full report: \`${reportPath}\``);
|
|
91
90
|
return sections.join("\n\n");
|
|
92
91
|
}
|
|
93
92
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/tools/deep-search/format.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/tools/deep-search/format.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,9 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* Phase 1: Context gathering system prompt (used as pi-agent session prompt).
|
|
9
9
|
* Skills are auto-loaded by pi-agent — only tool semantics needed here.
|
|
10
|
+
*
|
|
11
|
+
* Uses progressive discovery: the agent follows leads from the problem
|
|
12
|
+
* rather than filling a fixed checklist. Each finding guides the next query.
|
|
10
13
|
*/
|
|
11
14
|
export declare function contextGatheringPrompt(question: string, maxCalls: number, kubeconfigPath?: string): string;
|
|
12
15
|
/**
|
|
@@ -35,4 +38,4 @@ export declare function forceVerdictPrompt(): string;
|
|
|
35
38
|
* Prompt used to force context summary when the sub-agent runs out of tool budget.
|
|
36
39
|
*/
|
|
37
40
|
export declare function forceContextSummaryPrompt(): string;
|
|
38
|
-
export declare function conclusionPrompt(question: string, hypothesesSummary: string): string;
|
|
41
|
+
export declare function conclusionPrompt(question: string, hypothesesSummary: string, critique?: string): string;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Phase 1 & 3 run as pi-agent sessions — skills are auto-loaded from skills/core/.
|
|
5
5
|
* Phase 2 & 4 use raw llmComplete — skills are injected via getFormattedSkillsPrompt().
|
|
6
6
|
*/
|
|
7
|
-
import { toolSemantics, commonMistakes,
|
|
7
|
+
import { toolSemantics, commonMistakes, } from "./sre-knowledge.js";
|
|
8
8
|
import { getFormattedSkillsPrompt } from "./sub-agent.js";
|
|
9
9
|
/**
|
|
10
10
|
* Generate environment context section for sub-agent prompts.
|
|
@@ -28,34 +28,41 @@ Use \`node_exec\` for host-level diagnostics (it handles kubeconfig internally).
|
|
|
28
28
|
/**
|
|
29
29
|
* Phase 1: Context gathering system prompt (used as pi-agent session prompt).
|
|
30
30
|
* Skills are auto-loaded by pi-agent — only tool semantics needed here.
|
|
31
|
+
*
|
|
32
|
+
* Uses progressive discovery: the agent follows leads from the problem
|
|
33
|
+
* rather than filling a fixed checklist. Each finding guides the next query.
|
|
31
34
|
*/
|
|
32
35
|
export function contextGatheringPrompt(question, maxCalls, kubeconfigPath) {
|
|
33
|
-
return `You are a Kubernetes SRE
|
|
36
|
+
return `You are a Kubernetes SRE investigator. Your job is to UNDERSTAND the problem and gather the context needed to form hypotheses.
|
|
34
37
|
|
|
35
38
|
<question>${question}</question>
|
|
36
39
|
${environmentContext(kubeconfigPath)}
|
|
37
40
|
${toolSemantics()}
|
|
38
41
|
|
|
39
|
-
|
|
42
|
+
## Approach: Progressive Discovery
|
|
43
|
+
|
|
44
|
+
Start from the problem, not from a checklist. Each finding should guide your next query.
|
|
45
|
+
|
|
46
|
+
1. **Confirm the symptom** — Verify the reported problem actually exists right now.
|
|
47
|
+
2. **Follow the thread** — If you find something unexpected, investigate it. If a pod is crashing, check its logs. If a node is NotReady, check its conditions. Let the evidence lead you.
|
|
48
|
+
3. **Broaden only if needed** — Only gather environment-level info (cluster version, node count, etc.) if it's relevant to the problem you're seeing.
|
|
49
|
+
|
|
50
|
+
## Rules
|
|
40
51
|
- You have at most ${maxCalls} tool calls (read calls are free). Use them wisely.
|
|
41
|
-
- For RDMA/RoCE questions, ALWAYS run roce-show-node-mode FIRST to determine the mode.
|
|
42
52
|
- Read a skill's SKILL.md before invoking complex scripts.
|
|
43
53
|
- Use skill scripts instead of hand-crafting commands — they encode domain knowledge.
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
|
|
47
|
-
This saves tool calls for more important checks.
|
|
48
|
-
- Do NOT diagnose or fix anything yet. Just gather context.
|
|
54
|
+
- **Chain independent commands** with && in a single bash call to save budget.
|
|
55
|
+
- If the workspace contains code repos (repos/) or documentation (docs/), use \`read\` or \`grep\` to explore relevant files.
|
|
56
|
+
- You MAY form early impressions about what's wrong — note them in your summary. This helps hypothesis generation.
|
|
49
57
|
|
|
50
|
-
IMPORTANT: When you have finished
|
|
58
|
+
IMPORTANT: When you have finished (or used all tool calls), you MUST output your final summary. Your LAST message must be plain text (no more tool calls) in this exact format:
|
|
51
59
|
|
|
52
60
|
CONTEXT_SUMMARY_START
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
- Key
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
- Anomalies: <anything unusual noticed>
|
|
61
|
+
<Write a free-form summary organized by relevance to the problem. Include:>
|
|
62
|
+
- Problem confirmation: <what you verified — is the symptom real? what exactly is happening?>
|
|
63
|
+
- Key findings: <significant observations, error messages, anomalies discovered>
|
|
64
|
+
- Environment: <only the environment details relevant to this specific problem>
|
|
65
|
+
- Initial leads: <your early impressions about possible causes, if any>
|
|
59
66
|
CONTEXT_SUMMARY_END
|
|
60
67
|
|
|
61
68
|
Do NOT make any more tool calls after outputting this summary.`;
|
|
@@ -85,19 +92,21 @@ ${contextSummary}
|
|
|
85
92
|
${patternSection}${validatedSection}${similarSection}
|
|
86
93
|
${getFormattedSkillsPrompt()}
|
|
87
94
|
|
|
88
|
-
${rdmaTroubleshootingPriority()}
|
|
89
|
-
|
|
90
95
|
Call the submit_hypotheses tool with your analysis.
|
|
91
96
|
|
|
92
97
|
Field semantics:
|
|
93
98
|
- text: specific hypothesis description ("Pod OOMKilled due to 256Mi limit" not "Pod has memory issues")
|
|
94
99
|
- confidence: 0-100 prior belief, highest first
|
|
95
|
-
- suggestedTools: MUST use real skill script paths from the skills listed above
|
|
100
|
+
- suggestedTools: MUST use real skill script paths from the skills listed above. Only fall back to raw kubectl/node_exec when no skill covers the check.
|
|
101
|
+
- estimatedCalls: how many tool calls are needed to validate this hypothesis:
|
|
102
|
+
* 1-3 (quick): simple config checks, single command verification (e.g. "check if MTU is 9000")
|
|
103
|
+
* 4-6 (standard): multi-step validation, cross-checking multiple sources (e.g. "compare driver versions across nodes")
|
|
104
|
+
* 7-10 (deep): complex multi-node/multi-layer investigation (e.g. "trace PCIe link errors across the topology")
|
|
96
105
|
|
|
97
106
|
RULES:
|
|
98
107
|
- Exactly ${maxHypotheses} hypotheses, ranked by likelihood (highest confidence first).
|
|
99
108
|
- Cover diverse failure modes — do not cluster hypotheses around a single root cause.
|
|
100
|
-
-
|
|
109
|
+
- If the context includes initial leads or early impressions from Phase 1, use them to boost confidence of related hypotheses — but still generate diverse alternatives.${hasPriorKnowledge ? `
|
|
101
110
|
- Use diagnostic_patterns to calibrate confidence: if a root cause accounts for a high percentage of past cases, start its hypothesis at higher confidence.
|
|
102
111
|
- If validated_hypotheses contains a relevant match, include it (possibly rephrased for this context) with boosted confidence.
|
|
103
112
|
- Do NOT blindly copy past hypotheses — evaluate whether the context is similar enough.` : ""}`;
|
|
@@ -198,23 +207,21 @@ REASONING: <2-3 sentences based on evidence gathered so far>`;
|
|
|
198
207
|
*/
|
|
199
208
|
export function forceContextSummaryPrompt() {
|
|
200
209
|
return `You have used all your tool call budget.
|
|
201
|
-
Summarize
|
|
210
|
+
Summarize what you found as PLAIN TEXT.
|
|
202
211
|
Do NOT output any tool calls or XML tags.
|
|
203
212
|
Do NOT output <tool_call> or <function=...> or any function call syntax.
|
|
204
213
|
|
|
205
214
|
Output in this exact format:
|
|
206
215
|
|
|
207
216
|
CONTEXT_SUMMARY_START
|
|
208
|
-
-
|
|
209
|
-
-
|
|
210
|
-
-
|
|
211
|
-
-
|
|
212
|
-
- Versions: <firmware, driver, software>
|
|
213
|
-
- Anomalies: <anything unusual>
|
|
217
|
+
- Problem confirmation: <what you verified — is the symptom real? what exactly is happening?>
|
|
218
|
+
- Key findings: <significant observations, error messages, anomalies discovered>
|
|
219
|
+
- Environment: <relevant environment details>
|
|
220
|
+
- Initial leads: <your early impressions about possible causes, if any>
|
|
214
221
|
CONTEXT_SUMMARY_END`;
|
|
215
222
|
}
|
|
216
|
-
export function conclusionPrompt(question, hypothesesSummary) {
|
|
217
|
-
|
|
223
|
+
export function conclusionPrompt(question, hypothesesSummary, critique) {
|
|
224
|
+
let result = `You are a senior SRE writing the final conclusion for an investigation.
|
|
218
225
|
|
|
219
226
|
<question>${question}</question>
|
|
220
227
|
|
|
@@ -233,6 +240,17 @@ Field semantics:
|
|
|
233
240
|
- confidence: overall confidence in the root cause diagnosis (0-100)
|
|
234
241
|
- remediation_steps: specific steps to fix the issue
|
|
235
242
|
|
|
243
|
+
Before submitting, self-check:
|
|
244
|
+
1. Does conclusion_text directly answer the original question?
|
|
245
|
+
2. Is root_cause_category supported by at least one validated/inconclusive hypothesis?
|
|
246
|
+
3. Is confidence calibrated — high confidence (>70) requires validated hypotheses with clear evidence?
|
|
247
|
+
4. Are affected_entities actually observed during investigation, not inferred?
|
|
248
|
+
If any check fails, revise before calling the tool.
|
|
249
|
+
|
|
236
250
|
Do NOT repeat all the evidence — summarize the key findings.`;
|
|
251
|
+
if (critique) {
|
|
252
|
+
result += `\n\nIMPORTANT: Your previous conclusion was rejected by the quality gate. Address this feedback:\n${critique}`;
|
|
253
|
+
}
|
|
254
|
+
return result;
|
|
237
255
|
}
|
|
238
256
|
//# sourceMappingURL=prompts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/tools/deep-search/prompts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,aAAa,EACb,cAAc,
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/tools/deep-search/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Quality Gate — validates Phase 4 conclusions before storage/return.
|
|
3
|
+
*
|
|
4
|
+
* Runs an independent LLM call to check:
|
|
5
|
+
* 1. Conclusion answers the original question
|
|
6
|
+
* 2. Root cause is supported by hypothesis evidence
|
|
7
|
+
* 3. Confidence is calibrated to evidence strength
|
|
8
|
+
* 4. Affected entities were actually observed
|
|
9
|
+
*
|
|
10
|
+
* Returns { pass, critique, adjustedConfidence }.
|
|
11
|
+
* The engine retries conclusion generation at most once on failure.
|
|
12
|
+
*/
|
|
13
|
+
import { type SubAgentOptions } from "./sub-agent.js";
|
|
14
|
+
import type { ConclusionResult, HypothesisNode } from "./types.js";
|
|
15
|
+
export interface ValidationResult {
|
|
16
|
+
pass: boolean;
|
|
17
|
+
critique?: string;
|
|
18
|
+
adjustedConfidence?: number;
|
|
19
|
+
}
|
|
20
|
+
export declare function validateConclusion(opts: {
|
|
21
|
+
question: string;
|
|
22
|
+
hypotheses: HypothesisNode[];
|
|
23
|
+
conclusion: ConclusionResult;
|
|
24
|
+
options?: SubAgentOptions;
|
|
25
|
+
}): Promise<ValidationResult>;
|