siclaw 0.1.0 → 0.1.2
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 +75 -114
- package/dist/agentbox/gateway-client.d.ts +2 -1
- package/dist/agentbox/gateway-client.js +6 -2
- package/dist/agentbox/gateway-client.js.map +1 -1
- package/dist/agentbox/http-server.js +184 -19
- package/dist/agentbox/http-server.js.map +1 -1
- package/dist/agentbox/resource-handlers.d.ts +1 -0
- package/dist/agentbox/resource-handlers.js +23 -23
- package/dist/agentbox/resource-handlers.js.map +1 -1
- package/dist/agentbox/session.js +85 -5
- package/dist/agentbox/session.js.map +1 -1
- package/dist/agentbox-main.d.ts +2 -1
- package/dist/agentbox-main.js +65 -18
- package/dist/agentbox-main.js.map +1 -1
- package/dist/cli-credentials.d.ts +1 -0
- package/dist/cli-credentials.js +109 -0
- package/dist/cli-credentials.js.map +1 -0
- package/dist/cli-first-run.d.ts +11 -0
- package/dist/cli-first-run.js +99 -0
- package/dist/cli-first-run.js.map +1 -0
- package/dist/cli-main.js +33 -11
- package/dist/cli-main.js.map +1 -1
- package/dist/cli-setup.d.ts +5 -11
- package/dist/cli-setup.js +12 -225
- package/dist/cli-setup.js.map +1 -1
- package/dist/core/agent-factory.d.ts +4 -0
- package/dist/core/agent-factory.js +102 -151
- package/dist/core/agent-factory.js.map +1 -1
- package/dist/core/config.d.ts +10 -3
- package/dist/core/config.js +11 -95
- package/dist/core/config.js.map +1 -1
- package/dist/core/extensions/deep-investigation.d.ts +2 -1
- package/dist/core/extensions/deep-investigation.js +144 -24
- package/dist/core/extensions/deep-investigation.js.map +1 -1
- package/dist/core/extensions/setup.d.ts +8 -0
- package/dist/core/extensions/setup.js +669 -0
- package/dist/core/extensions/setup.js.map +1 -0
- package/dist/core/llm-proxy.js +7 -3
- package/dist/core/llm-proxy.js.map +1 -1
- package/dist/core/mcp-client.d.ts +0 -10
- package/dist/core/mcp-client.js +0 -65
- package/dist/core/mcp-client.js.map +1 -1
- package/dist/core/prompt.d.ts +1 -1
- package/dist/core/prompt.js +42 -5
- package/dist/core/prompt.js.map +1 -1
- package/dist/core/provider-presets.d.ts +14 -0
- package/dist/core/provider-presets.js +81 -0
- package/dist/core/provider-presets.js.map +1 -0
- package/dist/cron/cron-coordinator.d.ts +2 -0
- package/dist/cron/cron-coordinator.js +46 -14
- package/dist/cron/cron-coordinator.js.map +1 -1
- package/dist/cron/cron-executor.js +33 -8
- package/dist/cron/cron-executor.js.map +1 -1
- package/dist/cron/cron-scheduler.d.ts +1 -1
- package/dist/cron/gateway-client.d.ts +5 -0
- package/dist/cron/gateway-client.js +43 -8
- package/dist/cron/gateway-client.js.map +1 -1
- package/dist/cron-main.js +39 -9
- package/dist/cron-main.js.map +1 -1
- package/dist/gateway/agentbox/client.d.ts +11 -0
- package/dist/gateway/agentbox/client.js +18 -0
- package/dist/gateway/agentbox/client.js.map +1 -1
- package/dist/gateway/agentbox/k8s-spawner.d.ts +11 -2
- package/dist/gateway/agentbox/k8s-spawner.js +95 -52
- package/dist/gateway/agentbox/k8s-spawner.js.map +1 -1
- package/dist/gateway/agentbox/local-spawner.d.ts +1 -1
- package/dist/gateway/agentbox/local-spawner.js +4 -2
- package/dist/gateway/agentbox/local-spawner.js.map +1 -1
- package/dist/gateway/agentbox/manager.d.ts +0 -10
- package/dist/gateway/agentbox/manager.js +11 -30
- package/dist/gateway/agentbox/manager.js.map +1 -1
- package/dist/gateway/agentbox/types.d.ts +6 -4
- package/dist/gateway/cron/cron-service.d.ts +49 -0
- package/dist/gateway/cron/cron-service.js +259 -0
- package/dist/gateway/cron/cron-service.js.map +1 -0
- package/dist/gateway/db/init-schema.js +44 -0
- package/dist/gateway/db/init-schema.js.map +1 -1
- package/dist/gateway/db/migrate-sqlite.js +73 -4
- package/dist/gateway/db/migrate-sqlite.js.map +1 -1
- package/dist/gateway/db/repositories/chat-repo.d.ts +56 -2
- package/dist/gateway/db/repositories/chat-repo.js +132 -2
- package/dist/gateway/db/repositories/chat-repo.js.map +1 -1
- package/dist/gateway/db/repositories/config-repo.d.ts +31 -2
- package/dist/gateway/db/repositories/config-repo.js +57 -7
- package/dist/gateway/db/repositories/config-repo.js.map +1 -1
- package/dist/gateway/db/repositories/env-repo.d.ts +14 -0
- package/dist/gateway/db/repositories/env-repo.js +15 -2
- package/dist/gateway/db/repositories/env-repo.js.map +1 -1
- package/dist/gateway/db/repositories/model-config-repo.d.ts +1 -1
- package/dist/gateway/db/repositories/model-config-repo.js +26 -12
- package/dist/gateway/db/repositories/model-config-repo.js.map +1 -1
- package/dist/gateway/db/repositories/skill-repo.d.ts +0 -5
- package/dist/gateway/db/repositories/skill-review-repo.d.ts +1 -0
- package/dist/gateway/db/repositories/skill-review-repo.js +4 -1
- package/dist/gateway/db/repositories/skill-review-repo.js.map +1 -1
- package/dist/gateway/db/repositories/skill-version-repo.js +0 -1
- package/dist/gateway/db/repositories/skill-version-repo.js.map +1 -1
- package/dist/gateway/db/repositories/system-config-repo.d.ts +1 -1
- package/dist/gateway/db/repositories/system-config-repo.js +2 -1
- package/dist/gateway/db/repositories/system-config-repo.js.map +1 -1
- package/dist/gateway/db/repositories/user-env-config-repo.d.ts +13 -0
- package/dist/gateway/db/repositories/user-env-config-repo.js +11 -0
- package/dist/gateway/db/repositories/user-env-config-repo.js.map +1 -1
- package/dist/gateway/db/repositories/workspace-repo.d.ts +3 -2
- package/dist/gateway/db/repositories/workspace-repo.js +6 -2
- package/dist/gateway/db/repositories/workspace-repo.js.map +1 -1
- package/dist/gateway/db/schema-mysql.d.ts +473 -51
- package/dist/gateway/db/schema-mysql.js +35 -4
- package/dist/gateway/db/schema-mysql.js.map +1 -1
- package/dist/gateway/db/schema-sqlite.d.ts +522 -57
- package/dist/gateway/db/schema-sqlite.js +38 -6
- package/dist/gateway/db/schema-sqlite.js.map +1 -1
- package/dist/gateway/db/schema.d.ts +471 -51
- package/dist/gateway/db/schema.js +1 -1
- package/dist/gateway/db/schema.js.map +1 -1
- package/dist/gateway/metrics-aggregator.d.ts +65 -0
- package/dist/gateway/metrics-aggregator.js +244 -0
- package/dist/gateway/metrics-aggregator.js.map +1 -0
- package/dist/gateway/plugins/channel-bridge.d.ts +4 -1
- package/dist/gateway/plugins/channel-bridge.js +78 -86
- package/dist/gateway/plugins/channel-bridge.js.map +1 -1
- package/dist/gateway/rpc-methods.d.ts +4 -2
- package/dist/gateway/rpc-methods.js +962 -163
- package/dist/gateway/rpc-methods.js.map +1 -1
- package/dist/gateway/security/cert-manager.d.ts +2 -2
- package/dist/gateway/security/cert-manager.js +4 -2
- package/dist/gateway/security/cert-manager.js.map +1 -1
- package/dist/gateway/server.d.ts +4 -8
- package/dist/gateway/server.js +297 -261
- package/dist/gateway/server.js.map +1 -1
- package/dist/gateway/skills/file-writer.js +17 -11
- package/dist/gateway/skills/file-writer.js.map +1 -1
- package/dist/gateway/skills/script-evaluator.js +12 -9
- package/dist/gateway/skills/script-evaluator.js.map +1 -1
- package/dist/gateway/web/dist/assets/index-0p17ZeTP.js +740 -0
- package/dist/gateway/web/dist/assets/index-9eP6nPUq.js +741 -0
- package/dist/gateway/web/dist/assets/index-9eP6nPUq.js.map +1 -0
- package/dist/gateway/web/dist/assets/index-CAmSY91d.js +675 -0
- package/dist/gateway/web/dist/assets/index-DMFEh8Pp.css +1 -0
- package/dist/gateway/web/dist/assets/index-DyowBCEj.css +1 -0
- package/dist/gateway/web/dist/assets/index-PDK5JJDO.css +1 -0
- package/dist/gateway/web/dist/index.html +2 -2
- package/dist/gateway-main.js +27 -10
- package/dist/gateway-main.js.map +1 -1
- package/dist/memory/embeddings.js +5 -4
- package/dist/memory/embeddings.js.map +1 -1
- package/dist/memory/indexer.d.ts +23 -3
- package/dist/memory/indexer.js +235 -23
- package/dist/memory/indexer.js.map +1 -1
- package/dist/memory/schema.js +15 -1
- package/dist/memory/schema.js.map +1 -1
- package/dist/memory/types.d.ts +18 -0
- package/dist/memory/types.js +6 -1
- package/dist/memory/types.js.map +1 -1
- package/dist/shared/detect-language.d.ts +12 -0
- package/dist/shared/detect-language.js +78 -0
- package/dist/shared/detect-language.js.map +1 -0
- package/dist/shared/diagnostic-events.d.ts +70 -0
- package/dist/shared/diagnostic-events.js +38 -0
- package/dist/shared/diagnostic-events.js.map +1 -0
- package/dist/shared/local-collector.d.ts +56 -0
- package/dist/shared/local-collector.js +284 -0
- package/dist/shared/local-collector.js.map +1 -0
- package/dist/shared/metrics-types.d.ts +64 -0
- package/dist/shared/metrics-types.js +25 -0
- package/dist/shared/metrics-types.js.map +1 -0
- package/dist/shared/metrics.d.ts +19 -0
- package/dist/shared/metrics.js +185 -0
- package/dist/shared/metrics.js.map +1 -0
- package/dist/shared/path-utils.d.ts +15 -0
- package/dist/shared/path-utils.js +23 -0
- package/dist/shared/path-utils.js.map +1 -0
- package/dist/shared/retry.d.ts +35 -0
- package/dist/shared/retry.js +61 -0
- package/dist/shared/retry.js.map +1 -0
- package/dist/tools/command-sets.d.ts +18 -2
- package/dist/tools/command-sets.js +207 -32
- package/dist/tools/command-sets.js.map +1 -1
- package/dist/tools/command-validator.d.ts +56 -0
- package/dist/tools/command-validator.js +357 -0
- package/dist/tools/command-validator.js.map +1 -0
- package/dist/tools/create-skill.js +26 -1
- package/dist/tools/create-skill.js.map +1 -1
- package/dist/tools/credential-list.js +1 -23
- package/dist/tools/credential-list.js.map +1 -1
- package/dist/tools/credential-manager.d.ts +98 -0
- package/dist/tools/credential-manager.js +313 -0
- package/dist/tools/credential-manager.js.map +1 -0
- package/dist/tools/deep-search/engine.js +184 -127
- package/dist/tools/deep-search/engine.js.map +1 -1
- package/dist/tools/deep-search/prompts.d.ts +10 -2
- package/dist/tools/deep-search/prompts.js +37 -36
- package/dist/tools/deep-search/prompts.js.map +1 -1
- package/dist/tools/deep-search/schemas.d.ts +87 -0
- package/dist/tools/deep-search/schemas.js +85 -0
- package/dist/tools/deep-search/schemas.js.map +1 -0
- package/dist/tools/deep-search/sub-agent.d.ts +21 -0
- package/dist/tools/deep-search/sub-agent.js +153 -4
- package/dist/tools/deep-search/sub-agent.js.map +1 -1
- package/dist/tools/deep-search/tool.js +1 -0
- package/dist/tools/deep-search/tool.js.map +1 -1
- package/dist/tools/deep-search/types.d.ts +2 -0
- package/dist/tools/deep-search/types.js.map +1 -1
- package/dist/tools/dp-tools.js +29 -5
- package/dist/tools/dp-tools.js.map +1 -1
- package/dist/tools/exec-utils.d.ts +85 -0
- package/dist/tools/exec-utils.js +294 -0
- package/dist/tools/exec-utils.js.map +1 -0
- package/dist/tools/fork-skill.js +14 -2
- package/dist/tools/fork-skill.js.map +1 -1
- package/dist/tools/investigation-feedback.d.ts +3 -0
- package/dist/tools/investigation-feedback.js +71 -0
- package/dist/tools/investigation-feedback.js.map +1 -0
- package/dist/tools/manage-schedule.js +16 -6
- package/dist/tools/manage-schedule.js.map +1 -1
- package/dist/tools/netns-script.js +27 -281
- package/dist/tools/netns-script.js.map +1 -1
- package/dist/tools/node-exec.d.ts +2 -14
- package/dist/tools/node-exec.js +18 -225
- package/dist/tools/node-exec.js.map +1 -1
- package/dist/tools/node-script.js +14 -168
- package/dist/tools/node-script.js.map +1 -1
- package/dist/tools/pod-exec.d.ts +1 -1
- package/dist/tools/pod-exec.js +10 -26
- package/dist/tools/pod-exec.js.map +1 -1
- package/dist/tools/pod-nsenter-exec.js +21 -225
- package/dist/tools/pod-nsenter-exec.js.map +1 -1
- package/dist/tools/pod-script.js +10 -19
- package/dist/tools/pod-script.js.map +1 -1
- package/dist/tools/restricted-bash.d.ts +1 -17
- package/dist/tools/restricted-bash.js +38 -252
- package/dist/tools/restricted-bash.js.map +1 -1
- package/dist/tools/run-skill.d.ts +3 -1
- package/dist/tools/run-skill.js +21 -1
- package/dist/tools/run-skill.js.map +1 -1
- package/dist/tools/script-resolver.d.ts +3 -1
- package/dist/tools/script-resolver.js +74 -30
- package/dist/tools/script-resolver.js.map +1 -1
- package/dist/tools/update-skill.js +17 -6
- package/dist/tools/update-skill.js.map +1 -1
- package/package.json +8 -6
- package/siclaw.mjs +10 -1
- package/skills/core/cluster-events/SKILL.md +1 -1
- package/skills/core/deep-investigation/SKILL.md +11 -0
- package/skills/core/deployment-rollout-debug/SKILL.md +1 -1
- package/skills/core/dns-debug/SKILL.md +1 -0
- package/skills/core/meta.json +12 -1
- package/skills/core/networkpolicy-debug/SKILL.md +332 -0
- package/skills/core/node-logs/scripts/get-node-logs.sh +19 -9
- package/skills/core/pod-pending-debug/SKILL.md +1 -0
- package/skills/core/quota-debug/SKILL.md +203 -0
- package/skills/core/service-debug/SKILL.md +1 -0
- package/skills/core/statefulset-debug/SKILL.md +280 -0
- package/skills/core/volcano-diagnose-pod/SKILL.md +196 -0
- package/skills/core/volcano-diagnose-pod/scripts/diagnose-pod.sh +175 -0
- package/skills/core/volcano-gang-scheduling/SKILL.md +299 -0
- package/skills/core/volcano-job-diagnose/SKILL.md +319 -0
- package/skills/core/volcano-job-diagnose/scripts/diagnose-job.sh +253 -0
- package/skills/core/volcano-node-resources/SKILL.md +334 -0
- package/skills/core/volcano-node-resources/scripts/get-node-resources.sh +281 -0
- package/skills/core/volcano-queue-diagnose/SKILL.md +294 -0
- package/skills/core/volcano-queue-diagnose/scripts/diagnose-queue.sh +283 -0
- package/skills/core/volcano-resource-insufficient/SKILL.md +315 -0
- package/skills/core/volcano-scheduler-config/SKILL.md +371 -0
- package/skills/core/volcano-scheduler-config/scripts/get-scheduler-config.sh +297 -0
- package/skills/core/volcano-scheduler-logs/SKILL.md +241 -0
- package/skills/core/volcano-scheduler-logs/scripts/get-scheduler-logs.sh +159 -0
- package/skills/platform/create-skill/SKILL.md +35 -3
- package/skills/platform/manage-skill/SKILL.md +9 -2
- package/skills/platform/update-skill/SKILL.md +17 -6
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { runSubAgent,
|
|
1
|
+
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";
|
|
@@ -6,6 +6,7 @@ import { homedir } from "os";
|
|
|
6
6
|
import crypto from "node:crypto";
|
|
7
7
|
import { resolveKubeconfigPath } from "../kubeconfig-resolver.js";
|
|
8
8
|
import { NORMAL_BUDGET, EARLY_EXIT_CONFIDENCE, TRACE_MAX_OUTPUT, TRACE_HEAD_CHARS, TRACE_TAIL_CHARS, } from "./types.js";
|
|
9
|
+
import { HYPOTHESES_SCHEMA, CONCLUSION_SCHEMA } from "./schemas.js";
|
|
9
10
|
/**
|
|
10
11
|
* Write the full investigation report to ~/.siclaw/reports/deep-search-{timestamp}.md
|
|
11
12
|
* Returns the file path for inclusion in the summary.
|
|
@@ -116,121 +117,30 @@ async function writeInvestigationToMemory(memoryDir, question, hypotheses, concl
|
|
|
116
117
|
console.log(`[deep-search] Investigation summary written to memory: ${filepath}`);
|
|
117
118
|
}
|
|
118
119
|
/**
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
* 2. Fenced code block (```json ... ```)
|
|
122
|
-
* 3. Balanced brace matching (first complete top-level object)
|
|
120
|
+
* Phase 2: Generate hypotheses using LLM function calling (tool_use).
|
|
121
|
+
* Falls back to extractJSON if the provider doesn't support tool_use.
|
|
123
122
|
*/
|
|
124
|
-
function
|
|
125
|
-
|
|
123
|
+
async function generateHypotheses(question, contextSummary, maxHypotheses, options, onProgress, priorKnowledge) {
|
|
124
|
+
const prompt = hypothesisGenerationPrompt(question, contextSummary, maxHypotheses, priorKnowledge);
|
|
125
|
+
const fallback = [{ text: "Failed to parse hypotheses", confidence: 0, suggestedTools: [] }];
|
|
126
126
|
try {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
}
|
|
130
|
-
catch {
|
|
131
|
-
// continue to next strategy
|
|
132
|
-
}
|
|
133
|
-
// 2. Fenced code block
|
|
134
|
-
const fenceMatch = text.match(/```(?:json)?\s*\n?([\s\S]*?)\n?```/);
|
|
135
|
-
if (fenceMatch) {
|
|
136
|
-
try {
|
|
137
|
-
JSON.parse(fenceMatch[1]);
|
|
138
|
-
return fenceMatch[1];
|
|
139
|
-
}
|
|
140
|
-
catch {
|
|
141
|
-
// fence content wasn't valid JSON, continue
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
// 3. Balanced brace extraction — find first complete top-level { ... }
|
|
145
|
-
const start = text.indexOf("{");
|
|
146
|
-
if (start >= 0) {
|
|
147
|
-
let depth = 0;
|
|
148
|
-
let inString = false;
|
|
149
|
-
let escape = false;
|
|
150
|
-
for (let i = start; i < text.length; i++) {
|
|
151
|
-
const ch = text[i];
|
|
152
|
-
if (escape) {
|
|
153
|
-
escape = false;
|
|
154
|
-
continue;
|
|
155
|
-
}
|
|
156
|
-
if (ch === "\\" && inString) {
|
|
157
|
-
escape = true;
|
|
158
|
-
continue;
|
|
159
|
-
}
|
|
160
|
-
if (ch === '"') {
|
|
161
|
-
inString = !inString;
|
|
162
|
-
continue;
|
|
163
|
-
}
|
|
164
|
-
if (inString)
|
|
165
|
-
continue;
|
|
166
|
-
if (ch === "{")
|
|
167
|
-
depth++;
|
|
168
|
-
else if (ch === "}") {
|
|
169
|
-
depth--;
|
|
170
|
-
if (depth === 0) {
|
|
171
|
-
const candidate = text.slice(start, i + 1);
|
|
172
|
-
try {
|
|
173
|
-
JSON.parse(candidate);
|
|
174
|
-
return candidate;
|
|
175
|
-
}
|
|
176
|
-
catch {
|
|
177
|
-
// Balanced braces but not valid JSON, give up
|
|
178
|
-
return null;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
return null;
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* Phase 2: Generate hypotheses using a single LLM call (no tools).
|
|
188
|
-
* Includes robust JSON extraction and a single retry on parse failure.
|
|
189
|
-
*/
|
|
190
|
-
async function generateHypotheses(question, contextSummary, maxHypotheses, options, onProgress, relatedInvestigations) {
|
|
191
|
-
const prompt = hypothesisGenerationPrompt(question, contextSummary, maxHypotheses, relatedInvestigations);
|
|
192
|
-
const fallback = [{ text: "Failed to parse hypotheses JSON", confidence: 0, suggestedTools: [] }];
|
|
193
|
-
const MAX_RETRIES = 1;
|
|
194
|
-
for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
|
|
195
|
-
let text;
|
|
196
|
-
try {
|
|
197
|
-
// Only forward onProgress on first attempt to avoid duplicate spinner events
|
|
198
|
-
text = await llmComplete(undefined, prompt, options, attempt === 0 ? onProgress : undefined);
|
|
199
|
-
}
|
|
200
|
-
catch (err) {
|
|
201
|
-
if (attempt < MAX_RETRIES)
|
|
202
|
-
continue;
|
|
203
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
204
|
-
return [{ text: `Hypothesis generation failed: ${msg}`, confidence: 0, suggestedTools: [] }];
|
|
205
|
-
}
|
|
206
|
-
const jsonStr = extractJSON(text);
|
|
207
|
-
if (!jsonStr) {
|
|
208
|
-
if (attempt < MAX_RETRIES)
|
|
209
|
-
continue;
|
|
127
|
+
const { toolArgs } = await llmCompleteWithTool(undefined, prompt, "submit_hypotheses", "Submit ranked hypotheses for validation", HYPOTHESES_SCHEMA, options, onProgress);
|
|
128
|
+
if (!toolArgs)
|
|
210
129
|
return fallback;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
? parsed
|
|
219
|
-
: null;
|
|
220
|
-
if (!hypotheses?.length || !hypotheses[0].text) {
|
|
221
|
-
if (attempt < MAX_RETRIES)
|
|
222
|
-
continue;
|
|
223
|
-
return fallback;
|
|
224
|
-
}
|
|
225
|
-
return hypotheses.slice(0, maxHypotheses);
|
|
226
|
-
}
|
|
227
|
-
catch {
|
|
228
|
-
if (attempt < MAX_RETRIES)
|
|
229
|
-
continue;
|
|
130
|
+
// Accept both { hypotheses: [...] } and bare array [...]
|
|
131
|
+
const hypotheses = Array.isArray(toolArgs.hypotheses)
|
|
132
|
+
? toolArgs.hypotheses
|
|
133
|
+
: Array.isArray(toolArgs)
|
|
134
|
+
? toolArgs
|
|
135
|
+
: null;
|
|
136
|
+
if (!hypotheses?.length || !hypotheses[0].text)
|
|
230
137
|
return fallback;
|
|
231
|
-
|
|
138
|
+
return hypotheses.slice(0, maxHypotheses);
|
|
139
|
+
}
|
|
140
|
+
catch (err) {
|
|
141
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
142
|
+
return [{ text: `Hypothesis generation failed: ${msg}`, confidence: 0, suggestedTools: [] }];
|
|
232
143
|
}
|
|
233
|
-
return fallback; // unreachable, but satisfies TS
|
|
234
144
|
}
|
|
235
145
|
/**
|
|
236
146
|
* Parse structured extraction block from LLM conclusion output.
|
|
@@ -270,8 +180,9 @@ function parseConclusionOutput(raw) {
|
|
|
270
180
|
}
|
|
271
181
|
}
|
|
272
182
|
/**
|
|
273
|
-
* Phase 4: Generate final conclusion using
|
|
183
|
+
* Phase 4: Generate final conclusion using LLM function calling (tool_use).
|
|
274
184
|
* Returns both human-readable text and optional structured extraction.
|
|
185
|
+
* Falls back to parseConclusionOutput() for providers without tool_use support.
|
|
275
186
|
*/
|
|
276
187
|
async function generateConclusion(question, hypotheses, options) {
|
|
277
188
|
const hypothesesSummary = hypotheses
|
|
@@ -285,8 +196,22 @@ async function generateConclusion(question, hypotheses, options) {
|
|
|
285
196
|
const prompt = conclusionPrompt(question, hypothesesSummary);
|
|
286
197
|
// No onProgress here — Phase 4 conclusion text should NOT leak into spinner
|
|
287
198
|
try {
|
|
288
|
-
const
|
|
289
|
-
|
|
199
|
+
const { toolArgs, textContent } = await llmCompleteWithTool(undefined, prompt, "submit_conclusion", "Submit the final investigation conclusion with structured metadata", CONCLUSION_SCHEMA, options);
|
|
200
|
+
if (toolArgs) {
|
|
201
|
+
return {
|
|
202
|
+
text: toolArgs.conclusion_text,
|
|
203
|
+
structured: {
|
|
204
|
+
root_cause_category: toolArgs.root_cause_category ?? "unknown",
|
|
205
|
+
affected_entities: Array.isArray(toolArgs.affected_entities) ? toolArgs.affected_entities : [],
|
|
206
|
+
environment_tags: Array.isArray(toolArgs.environment_tags) ? toolArgs.environment_tags : [],
|
|
207
|
+
causal_chain: Array.isArray(toolArgs.causal_chain) ? toolArgs.causal_chain : [],
|
|
208
|
+
confidence: typeof toolArgs.confidence === "number" ? toolArgs.confidence : 0,
|
|
209
|
+
remediation_steps: Array.isArray(toolArgs.remediation_steps) ? toolArgs.remediation_steps : undefined,
|
|
210
|
+
},
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
// Fallback: marker-based parsing (for providers that returned text instead of tool_calls)
|
|
214
|
+
return parseConclusionOutput(textContent);
|
|
290
215
|
}
|
|
291
216
|
catch (err) {
|
|
292
217
|
const msg = err instanceof Error ? err.message : String(err);
|
|
@@ -351,24 +276,45 @@ export async function investigate(question, options) {
|
|
|
351
276
|
globalCallsUsed += contextResult.callsUsed;
|
|
352
277
|
contextSummary = parseContextSummary(contextResult.textOutput);
|
|
353
278
|
}
|
|
354
|
-
// --- Prior Investigation Retrieval (
|
|
355
|
-
let
|
|
279
|
+
// --- Prior Investigation Retrieval (3-layer: patterns + similar + validated hypotheses) ---
|
|
280
|
+
let priorKnowledge;
|
|
281
|
+
let similarInvestigationRecords = [];
|
|
356
282
|
if (options?.memoryIndexer && !(options?.hypotheses && options.hypotheses.length > 0)) {
|
|
357
|
-
const
|
|
358
|
-
// 1
|
|
283
|
+
const pk = {};
|
|
284
|
+
// Layer 1: Pattern Table (aggregated from recent history)
|
|
285
|
+
try {
|
|
286
|
+
const patterns = options.memoryIndexer.getInvestigationPatterns(8);
|
|
287
|
+
if (patterns.length > 0) {
|
|
288
|
+
pk.patterns = formatPatternTable(patterns);
|
|
289
|
+
onProgress?.({ type: "phase", phase: "Phase 1/4", detail: `Loaded ${patterns.length} diagnostic pattern(s) from history` });
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
catch (err) {
|
|
293
|
+
console.warn(`[deep-search] Pattern aggregation failed:`, err);
|
|
294
|
+
}
|
|
295
|
+
// Layer 2: Similar Investigations (structured + semantic search)
|
|
296
|
+
const similarParts = [];
|
|
297
|
+
// 2a. Structured query (keyword-relevant)
|
|
359
298
|
try {
|
|
360
299
|
const structuredResults = options.memoryIndexer.searchInvestigations(question, { topK: 3 });
|
|
361
300
|
if (structuredResults.length > 0) {
|
|
362
|
-
|
|
301
|
+
similarInvestigationRecords = structuredResults;
|
|
363
302
|
for (const inv of structuredResults) {
|
|
364
|
-
seenQuestions.add(inv.question);
|
|
365
303
|
const tags = [
|
|
366
304
|
`root_cause: ${inv.rootCauseCategory}`,
|
|
367
305
|
`confidence: ${inv.confidence}%`,
|
|
368
306
|
inv.environmentTags.length > 0 ? `env: ${inv.environmentTags.join(", ")}` : "",
|
|
369
307
|
].filter(Boolean).join(", ");
|
|
370
308
|
const chain = inv.causalChain.length > 0 ? `\nCausal chain: ${inv.causalChain.join(" → ")}` : "";
|
|
371
|
-
|
|
309
|
+
const remediation = inv.remediationSteps?.length
|
|
310
|
+
? `\nRemediation: ${inv.remediationSteps.join("; ")}`
|
|
311
|
+
: "";
|
|
312
|
+
const hypothesisVerdicts = inv.hypotheses
|
|
313
|
+
.filter(h => h.status !== "pending" && h.status !== "skipped")
|
|
314
|
+
.map(h => ` - ${h.text}: ${h.status.toUpperCase()} (${h.confidence}%)`)
|
|
315
|
+
.join("\n");
|
|
316
|
+
const hypothesisSection = hypothesisVerdicts ? `\nHypothesis verdicts:\n${hypothesisVerdicts}` : "";
|
|
317
|
+
similarParts.push(`[Structured] [${tags}] ${inv.question}${chain}${remediation}${hypothesisSection}\nConclusion: ${inv.conclusion.slice(0, 300)}`);
|
|
372
318
|
}
|
|
373
319
|
onProgress?.({ type: "phase", phase: "Phase 1/4", detail: `Found ${structuredResults.length} structured prior investigation(s)` });
|
|
374
320
|
}
|
|
@@ -376,13 +322,24 @@ export async function investigate(question, options) {
|
|
|
376
322
|
catch (err) {
|
|
377
323
|
console.warn(`[deep-search] Structured investigation retrieval failed:`, err);
|
|
378
324
|
}
|
|
379
|
-
//
|
|
325
|
+
// 2b. Semantic search (chunk-based) — also enrich similarInvestigationRecords
|
|
380
326
|
try {
|
|
381
327
|
const searchResult = await options.memoryIndexer.search(question, 3, 0.4);
|
|
382
328
|
const investigationChunks = searchResult.chunks.filter(c => c.file.startsWith("investigations/"));
|
|
383
329
|
if (investigationChunks.length > 0) {
|
|
384
330
|
for (const c of investigationChunks) {
|
|
385
|
-
|
|
331
|
+
similarParts.push(`[Semantic] (relevance: ${(c.score ?? 0).toFixed(2)})\n${c.content}`);
|
|
332
|
+
}
|
|
333
|
+
// Enrich: look up structured records for semantically matched investigations
|
|
334
|
+
// so Layer 3 and Phase 3 context can use them too
|
|
335
|
+
const existingIds = new Set(similarInvestigationRecords.map(r => r.id));
|
|
336
|
+
const semanticFiles = investigationChunks.map(c => c.file);
|
|
337
|
+
const semanticRecords = options.memoryIndexer.lookupInvestigationsByFiles(semanticFiles);
|
|
338
|
+
for (const rec of semanticRecords) {
|
|
339
|
+
if (!existingIds.has(rec.id)) {
|
|
340
|
+
similarInvestigationRecords.push(rec);
|
|
341
|
+
existingIds.add(rec.id);
|
|
342
|
+
}
|
|
386
343
|
}
|
|
387
344
|
onProgress?.({ type: "phase", phase: "Phase 2/4", detail: `Found ${investigationChunks.length} semantic match(es) from past investigations` });
|
|
388
345
|
}
|
|
@@ -390,8 +347,24 @@ export async function investigate(question, options) {
|
|
|
390
347
|
catch (err) {
|
|
391
348
|
console.warn(`[deep-search] Semantic investigation search failed:`, err);
|
|
392
349
|
}
|
|
393
|
-
if (
|
|
394
|
-
|
|
350
|
+
if (similarParts.length > 0) {
|
|
351
|
+
pk.similarInvestigations = similarParts.join("\n\n---\n\n");
|
|
352
|
+
}
|
|
353
|
+
// Layer 3: Validated Hypothesis Templates (extracted from ALL similar investigations — structured + semantic)
|
|
354
|
+
const validatedList = extractValidatedHypotheses(similarInvestigationRecords);
|
|
355
|
+
if (validatedList.length > 0) {
|
|
356
|
+
pk.validatedHypotheses = validatedList.join("\n");
|
|
357
|
+
}
|
|
358
|
+
if (pk.patterns || pk.similarInvestigations || pk.validatedHypotheses) {
|
|
359
|
+
// Truncate to avoid token explosion — prior knowledge should inform, not dominate the prompt
|
|
360
|
+
const MAX_CHARS = 4000;
|
|
361
|
+
if (pk.similarInvestigations && pk.similarInvestigations.length > MAX_CHARS) {
|
|
362
|
+
pk.similarInvestigations = pk.similarInvestigations.slice(0, MAX_CHARS) + "\n...(truncated)";
|
|
363
|
+
}
|
|
364
|
+
if (pk.validatedHypotheses && pk.validatedHypotheses.length > MAX_CHARS) {
|
|
365
|
+
pk.validatedHypotheses = pk.validatedHypotheses.slice(0, MAX_CHARS) + "\n...(truncated)";
|
|
366
|
+
}
|
|
367
|
+
priorKnowledge = pk;
|
|
395
368
|
}
|
|
396
369
|
}
|
|
397
370
|
let hypotheses;
|
|
@@ -410,7 +383,7 @@ export async function investigate(question, options) {
|
|
|
410
383
|
}
|
|
411
384
|
else {
|
|
412
385
|
onProgress?.({ type: "phase", phase: "Phase 2/4", detail: "Generating hypotheses..." });
|
|
413
|
-
const rawHypotheses = await generateHypotheses(question, contextSummary, budget.maxHypotheses, options, onProgress,
|
|
386
|
+
const rawHypotheses = await generateHypotheses(question, contextSummary, budget.maxHypotheses, options, onProgress, priorKnowledge);
|
|
414
387
|
hypotheses = rawHypotheses.map((h, i) => ({
|
|
415
388
|
id: `H${i + 1}`,
|
|
416
389
|
text: h.text,
|
|
@@ -428,6 +401,8 @@ export async function investigate(question, options) {
|
|
|
428
401
|
// --- Phase 3: Parallel Hypothesis Validation ---
|
|
429
402
|
// Sort hypotheses by confidence DESC so most likely root cause is validated first
|
|
430
403
|
hypotheses.sort((a, b) => b.confidence - a.confidence);
|
|
404
|
+
// Pre-compute past diagnostic context from similarInvestigationRecords (avoids N+1 queries)
|
|
405
|
+
const pastDiagnosticContext = buildPastDiagnosticContext(similarInvestigationRecords);
|
|
431
406
|
// When phases are skipped, their budget is redistributed to validation
|
|
432
407
|
const validationBudget = budget.maxTotalCalls - globalCallsUsed;
|
|
433
408
|
onProgress?.({ type: "phase", phase: "Phase 3/4", detail: `Validating ${hypotheses.length} hypotheses (budget: ${validationBudget} calls)...` });
|
|
@@ -451,7 +426,7 @@ export async function investigate(question, options) {
|
|
|
451
426
|
? (event) => onProgress({ ...event, hypothesisId: hypothesis.id })
|
|
452
427
|
: undefined;
|
|
453
428
|
try {
|
|
454
|
-
const result = await runSubAgent(hypothesisValidationPrompt(hypothesis.text, hypothesis.suggestedTools, contextSummary, perBudget, buildPriorFindings(), kubeconfigPath), `Validate hypothesis${isRetry ? " (retry)" : ""}: ${hypothesis.text}`, perBudget, options, taggedProgress, forceVerdictPrompt());
|
|
429
|
+
const result = await runSubAgent(hypothesisValidationPrompt(hypothesis.text, hypothesis.suggestedTools, contextSummary, perBudget, buildPriorFindings(), kubeconfigPath, pastDiagnosticContext.length > 0 ? pastDiagnosticContext : undefined), `Validate hypothesis${isRetry ? " (retry)" : ""}: ${hypothesis.text}`, perBudget, options, taggedProgress, forceVerdictPrompt());
|
|
455
430
|
const verdict = parseVerdict(result.textOutput);
|
|
456
431
|
hypothesis.status = verdict.status;
|
|
457
432
|
hypothesis.confidence = verdict.confidence;
|
|
@@ -535,6 +510,7 @@ export async function investigate(question, options) {
|
|
|
535
510
|
const conclusionResult = await generateConclusion(question, hypotheses, options);
|
|
536
511
|
const totalDurationMs = Date.now() - startTime;
|
|
537
512
|
// Write structured investigation record to SQLite (best-effort)
|
|
513
|
+
let investigationId;
|
|
538
514
|
if (conclusionResult.structured && options?.memoryIndexer) {
|
|
539
515
|
try {
|
|
540
516
|
const record = {
|
|
@@ -546,6 +522,7 @@ export async function investigate(question, options) {
|
|
|
546
522
|
causalChain: conclusionResult.structured.causal_chain,
|
|
547
523
|
confidence: conclusionResult.structured.confidence,
|
|
548
524
|
conclusion: conclusionResult.text,
|
|
525
|
+
remediationSteps: conclusionResult.structured.remediation_steps,
|
|
549
526
|
durationMs: totalDurationMs,
|
|
550
527
|
totalToolCalls: globalCallsUsed,
|
|
551
528
|
hypotheses: hypotheses.map((h) => ({
|
|
@@ -557,6 +534,7 @@ export async function investigate(question, options) {
|
|
|
557
534
|
createdAt: Date.now(),
|
|
558
535
|
};
|
|
559
536
|
options.memoryIndexer.insertInvestigation(record);
|
|
537
|
+
investigationId = record.id;
|
|
560
538
|
console.log(`[deep-search] Structured investigation record saved: ${record.rootCauseCategory} (${record.confidence}%)`);
|
|
561
539
|
}
|
|
562
540
|
catch (err) {
|
|
@@ -589,6 +567,85 @@ export async function investigate(question, options) {
|
|
|
589
567
|
totalDurationMs,
|
|
590
568
|
timedOut,
|
|
591
569
|
debugTracePath,
|
|
570
|
+
investigationId,
|
|
592
571
|
};
|
|
593
572
|
}
|
|
573
|
+
/** Format aggregated investigation patterns into a readable table for prompt injection. */
|
|
574
|
+
function formatPatternTable(patterns) {
|
|
575
|
+
const total = patterns.reduce((sum, p) => sum + p.count, 0);
|
|
576
|
+
const lines = [`Based on ${total} past investigations:`];
|
|
577
|
+
lines.push("| Root Cause | Frequency | Avg Confidence | Common Fix |");
|
|
578
|
+
lines.push("|------------|-----------|----------------|------------|");
|
|
579
|
+
for (const p of patterns) {
|
|
580
|
+
const pct = total > 0 ? Math.round((p.count / total) * 100) : 0;
|
|
581
|
+
const fix = p.commonRemediations.length > 0
|
|
582
|
+
? p.commonRemediations[0].slice(0, 60) + (p.commonRemediations[0].length > 60 ? "..." : "")
|
|
583
|
+
: "—";
|
|
584
|
+
lines.push(`| ${p.rootCauseCategory} | ${p.count} (${pct}%) | ${p.avgConfidence}% | ${fix} |`);
|
|
585
|
+
}
|
|
586
|
+
lines.push("\nUse these frequencies to calibrate your confidence scores.");
|
|
587
|
+
return lines.join("\n");
|
|
588
|
+
}
|
|
589
|
+
/**
|
|
590
|
+
* Pre-compute past diagnostic context from similar investigation records.
|
|
591
|
+
* Returns a single string shared by all Phase 3 sub-agents, avoiding N+1 queries.
|
|
592
|
+
*/
|
|
593
|
+
function buildPastDiagnosticContext(records) {
|
|
594
|
+
if (records.length === 0)
|
|
595
|
+
return "";
|
|
596
|
+
const contextLines = [];
|
|
597
|
+
for (const rec of records) {
|
|
598
|
+
const validatedH = rec.hypotheses.filter(h => h.status === "validated");
|
|
599
|
+
if (validatedH.length === 0)
|
|
600
|
+
continue;
|
|
601
|
+
for (const vh of validatedH) {
|
|
602
|
+
const parts = [`- "${vh.text}" (validated, ${vh.confidence}%)`];
|
|
603
|
+
if (rec.causalChain.length > 0) {
|
|
604
|
+
parts.push(` Causal chain: ${rec.causalChain.join(" → ")}`);
|
|
605
|
+
}
|
|
606
|
+
if (rec.remediationSteps?.length) {
|
|
607
|
+
parts.push(` Remediation: ${rec.remediationSteps.join("; ")}`);
|
|
608
|
+
}
|
|
609
|
+
contextLines.push(parts.join("\n"));
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
return contextLines.join("\n");
|
|
613
|
+
}
|
|
614
|
+
/**
|
|
615
|
+
* Extract validated hypotheses from investigation records, deduplicated and counted.
|
|
616
|
+
* Uses normalized text (lowercase, collapsed whitespace) for dedup to merge
|
|
617
|
+
* near-identical hypotheses like "MTU Mismatch" and "mtu mismatch".
|
|
618
|
+
* NOTE: Semantic dedup (embedding similarity) would catch more variants but
|
|
619
|
+
* requires async embedding calls — left as a future improvement.
|
|
620
|
+
*/
|
|
621
|
+
function extractValidatedHypotheses(records) {
|
|
622
|
+
// Count occurrences and track max confidence, keyed by normalized text.
|
|
623
|
+
// Raw count is used for display; weightedScore (feedback-adjusted) is used for sorting.
|
|
624
|
+
const validated = new Map();
|
|
625
|
+
for (const rec of records) {
|
|
626
|
+
const feedbackSignal = rec.feedbackSignal ?? 1.0;
|
|
627
|
+
for (const h of rec.hypotheses) {
|
|
628
|
+
if (h.status === "validated" && h.text) {
|
|
629
|
+
const key = normalizeHypothesisText(h.text);
|
|
630
|
+
const adjustedConfidence = Math.round(h.confidence * feedbackSignal);
|
|
631
|
+
const existing = validated.get(key);
|
|
632
|
+
if (existing) {
|
|
633
|
+
existing.rawCount++;
|
|
634
|
+
existing.weightedScore += feedbackSignal;
|
|
635
|
+
existing.maxConfidence = Math.max(existing.maxConfidence, adjustedConfidence);
|
|
636
|
+
}
|
|
637
|
+
else {
|
|
638
|
+
validated.set(key, { displayText: h.text, rawCount: 1, weightedScore: feedbackSignal, maxConfidence: adjustedConfidence });
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
}
|
|
643
|
+
return [...validated.entries()]
|
|
644
|
+
.sort((a, b) => b[1].weightedScore - a[1].weightedScore)
|
|
645
|
+
.map(([, { displayText, rawCount, maxConfidence }]) => `- "${displayText}" (validated ${rawCount} time${rawCount !== 1 ? "s" : ""}, max conf ${maxConfidence}%)`);
|
|
646
|
+
}
|
|
647
|
+
/** Normalize hypothesis text for dedup: lowercase, trim, collapse whitespace. */
|
|
648
|
+
function normalizeHypothesisText(text) {
|
|
649
|
+
return text.toLowerCase().trim().replace(/\s+/g, " ");
|
|
650
|
+
}
|
|
594
651
|
//# sourceMappingURL=engine.js.map
|
|
@@ -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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"}
|
|
@@ -9,16 +9,24 @@
|
|
|
9
9
|
* Skills are auto-loaded by pi-agent — only tool semantics needed here.
|
|
10
10
|
*/
|
|
11
11
|
export declare function contextGatheringPrompt(question: string, maxCalls: number, kubeconfigPath?: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* Prior knowledge from past investigations, injected into Phase 2 hypothesis generation.
|
|
14
|
+
*/
|
|
15
|
+
export interface PriorKnowledge {
|
|
16
|
+
patterns?: string;
|
|
17
|
+
similarInvestigations?: string;
|
|
18
|
+
validatedHypotheses?: string;
|
|
19
|
+
}
|
|
12
20
|
/**
|
|
13
21
|
* Phase 2: Hypothesis generation prompt (used with llmComplete, no tools).
|
|
14
22
|
* Injects auto-formatted skills so LLM can reference real script paths in suggestedTools.
|
|
15
23
|
*/
|
|
16
|
-
export declare function hypothesisGenerationPrompt(question: string, contextSummary: string, maxHypotheses: number,
|
|
24
|
+
export declare function hypothesisGenerationPrompt(question: string, contextSummary: string, maxHypotheses: number, priorKnowledge?: PriorKnowledge): string;
|
|
17
25
|
/**
|
|
18
26
|
* Phase 3: Hypothesis validation system prompt (used as pi-agent session prompt).
|
|
19
27
|
* Skills are auto-loaded by pi-agent — adds tool semantics and common mistakes.
|
|
20
28
|
*/
|
|
21
|
-
export declare function hypothesisValidationPrompt(hypothesis: string, suggestedTools: string[], contextSummary: string, maxCalls: number, priorFindings?: string, kubeconfigPath?: string): string;
|
|
29
|
+
export declare function hypothesisValidationPrompt(hypothesis: string, suggestedTools: string[], contextSummary: string, maxCalls: number, priorFindings?: string, kubeconfigPath?: string, pastDiagnosticContext?: string): string;
|
|
22
30
|
/**
|
|
23
31
|
* Prompt used to force a verdict when the sub-agent runs out of tool budget.
|
|
24
32
|
*/
|