@triedotdev/mcp 1.0.122 → 1.0.124
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/{chat-store-R46BCMBW.js → chat-store-HFOOWZYN.js} +2 -2
- package/dist/{chunk-JG7XVS53.js → chunk-4YJ6KLGI.js} +9 -2
- package/dist/{chunk-JG7XVS53.js.map → chunk-4YJ6KLGI.js.map} +1 -1
- package/dist/{chunk-ANQPXOT2.js → chunk-7J4ZOOAD.js} +333 -304
- package/dist/chunk-7J4ZOOAD.js.map +1 -0
- package/dist/{chunk-F4ZIAHTZ.js → chunk-A4EDTN6R.js} +2 -2
- package/dist/{chunk-7A5RLKZY.js → chunk-D2CGMX7K.js} +7 -7
- package/dist/{chunk-HWXZ3E7B.js → chunk-DFPVUMVE.js} +1 -1
- package/dist/chunk-DFPVUMVE.js.map +1 -0
- package/dist/{chunk-EOLHWFDG.js → chunk-TRIJC5MW.js} +2 -2
- package/dist/{chunk-3BVNB3GY.js → chunk-W2DEBKZ2.js} +4 -5
- package/dist/chunk-W2DEBKZ2.js.map +1 -0
- package/dist/{chunk-WRGSH5RT.js → chunk-WMI44VIC.js} +2 -2
- package/dist/{chunk-WRGSH5RT.js.map → chunk-WMI44VIC.js.map} +1 -1
- package/dist/cli/main.js +2 -2
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/yolo-daemon.js +8 -8
- package/dist/{client-PMKE26IV.js → client-EWP4SIG3.js} +2 -2
- package/dist/{goal-manager-O446DRJI.js → goal-manager-RREOIX6U.js} +3 -3
- package/dist/{goal-validator-XYA364W3.js → goal-validator-CKFKJ46J.js} +2 -2
- package/dist/{guardian-agent-KVLNECZ5.js → guardian-agent-5QVLDPKB.js} +7 -7
- package/dist/{hypothesis-QFGZ5ITT.js → hypothesis-HFYZNIMZ.js} +3 -3
- package/dist/index.js +150 -30
- package/dist/index.js.map +1 -1
- package/dist/{insight-store-DZ5C3RFM.js → insight-store-F5KDBY5Y.js} +2 -2
- package/dist/{terminal-spawn-2GU5KLPS.js → terminal-spawn-P5M5PHAV.js} +28 -6
- package/dist/terminal-spawn-P5M5PHAV.js.map +1 -0
- package/dist/ui/chat.html +821 -0
- package/dist/ui/goals.html +724 -0
- package/dist/ui/hypotheses.html +768 -0
- package/dist/ui/ledger.html +711 -0
- package/dist/ui/nudges.html +752 -0
- package/package.json +1 -1
- package/dist/chunk-3BVNB3GY.js.map +0 -1
- package/dist/chunk-ANQPXOT2.js.map +0 -1
- package/dist/chunk-HWXZ3E7B.js.map +0 -1
- package/dist/terminal-spawn-2GU5KLPS.js.map +0 -1
- package/dist/ui/memory-viewer.html +0 -773
- package/dist/ui/pr-review.html +0 -742
- package/dist/ui/scan-dashboard.html +0 -741
- package/dist/ui/visual-qa.html +0 -762
- /package/dist/{chat-store-R46BCMBW.js.map → chat-store-HFOOWZYN.js.map} +0 -0
- /package/dist/{chunk-F4ZIAHTZ.js.map → chunk-A4EDTN6R.js.map} +0 -0
- /package/dist/{chunk-7A5RLKZY.js.map → chunk-D2CGMX7K.js.map} +0 -0
- /package/dist/{chunk-EOLHWFDG.js.map → chunk-TRIJC5MW.js.map} +0 -0
- /package/dist/{client-PMKE26IV.js.map → client-EWP4SIG3.js.map} +0 -0
- /package/dist/{goal-manager-O446DRJI.js.map → goal-manager-RREOIX6U.js.map} +0 -0
- /package/dist/{goal-validator-XYA364W3.js.map → goal-validator-CKFKJ46J.js.map} +0 -0
- /package/dist/{guardian-agent-KVLNECZ5.js.map → guardian-agent-5QVLDPKB.js.map} +0 -0
- /package/dist/{hypothesis-QFGZ5ITT.js.map → hypothesis-HFYZNIMZ.js.map} +0 -0
- /package/dist/{insight-store-DZ5C3RFM.js.map → insight-store-F5KDBY5Y.js.map} +0 -0
package/dist/cli/yolo-daemon.js
CHANGED
|
@@ -3,18 +3,18 @@ import {
|
|
|
3
3
|
InteractiveDashboard,
|
|
4
4
|
StreamingManager,
|
|
5
5
|
TrieScanTool
|
|
6
|
-
} from "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
6
|
+
} from "../chunk-7J4ZOOAD.js";
|
|
7
|
+
import "../chunk-D2CGMX7K.js";
|
|
8
|
+
import "../chunk-DFPVUMVE.js";
|
|
9
|
+
import "../chunk-TRIJC5MW.js";
|
|
10
|
+
import "../chunk-W2DEBKZ2.js";
|
|
11
|
+
import "../chunk-4YJ6KLGI.js";
|
|
12
12
|
import {
|
|
13
13
|
isTrieInitialized
|
|
14
14
|
} from "../chunk-6LD7OPJL.js";
|
|
15
15
|
import "../chunk-ZV2K6M7T.js";
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
16
|
+
import "../chunk-A4EDTN6R.js";
|
|
17
|
+
import "../chunk-WMI44VIC.js";
|
|
18
18
|
import "../chunk-K5EXATBF.js";
|
|
19
19
|
import "../chunk-UHMMANC2.js";
|
|
20
20
|
import "../chunk-WS6OA7H6.js";
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
saveKeyToKeychain,
|
|
10
10
|
setAPIKey,
|
|
11
11
|
tryGetClient
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-WMI44VIC.js";
|
|
13
13
|
import "./chunk-45Y5TLQZ.js";
|
|
14
14
|
import "./chunk-APMV77PU.js";
|
|
15
15
|
import "./chunk-DGUM43GV.js";
|
|
@@ -25,4 +25,4 @@ export {
|
|
|
25
25
|
setAPIKey,
|
|
26
26
|
tryGetClient
|
|
27
27
|
};
|
|
28
|
-
//# sourceMappingURL=client-
|
|
28
|
+
//# sourceMappingURL=client-EWP4SIG3.js.map
|
|
@@ -4,8 +4,8 @@ import {
|
|
|
4
4
|
calculateAdaptiveScanFrequency,
|
|
5
5
|
clearGoalManagers,
|
|
6
6
|
getGoalManager
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-TRIJC5MW.js";
|
|
8
|
+
import "./chunk-4YJ6KLGI.js";
|
|
9
9
|
import "./chunk-K5EXATBF.js";
|
|
10
10
|
import "./chunk-UHMMANC2.js";
|
|
11
11
|
import "./chunk-WS6OA7H6.js";
|
|
@@ -21,4 +21,4 @@ export {
|
|
|
21
21
|
clearGoalManagers,
|
|
22
22
|
getGoalManager
|
|
23
23
|
};
|
|
24
|
-
//# sourceMappingURL=goal-manager-
|
|
24
|
+
//# sourceMappingURL=goal-manager-RREOIX6U.js.map
|
|
@@ -56,7 +56,7 @@ async function recordGoalViolationFixed(goal, file, projectPath) {
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
async function checkFilesForGoalViolations(goals, projectPath, filesToCheck) {
|
|
59
|
-
const { isAIAvailable, runAIAnalysis } = await import("./client-
|
|
59
|
+
const { isAIAvailable, runAIAnalysis } = await import("./client-EWP4SIG3.js");
|
|
60
60
|
if (!isAIAvailable()) {
|
|
61
61
|
throw new Error("AI not available - ANTHROPIC_API_KEY not set");
|
|
62
62
|
}
|
|
@@ -185,4 +185,4 @@ export {
|
|
|
185
185
|
recordGoalViolationCaught,
|
|
186
186
|
recordGoalViolationFixed
|
|
187
187
|
};
|
|
188
|
-
//# sourceMappingURL=goal-validator-
|
|
188
|
+
//# sourceMappingURL=goal-validator-CKFKJ46J.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
GuardianAgent,
|
|
3
3
|
getGuardian
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-D2CGMX7K.js";
|
|
5
|
+
import "./chunk-TRIJC5MW.js";
|
|
6
|
+
import "./chunk-W2DEBKZ2.js";
|
|
7
|
+
import "./chunk-4YJ6KLGI.js";
|
|
8
|
+
import "./chunk-A4EDTN6R.js";
|
|
9
|
+
import "./chunk-WMI44VIC.js";
|
|
10
10
|
import "./chunk-K5EXATBF.js";
|
|
11
11
|
import "./chunk-UHMMANC2.js";
|
|
12
12
|
import "./chunk-WS6OA7H6.js";
|
|
@@ -23,4 +23,4 @@ export {
|
|
|
23
23
|
GuardianAgent,
|
|
24
24
|
getGuardian
|
|
25
25
|
};
|
|
26
|
-
//# sourceMappingURL=guardian-agent-
|
|
26
|
+
//# sourceMappingURL=guardian-agent-5QVLDPKB.js.map
|
|
@@ -3,8 +3,8 @@ import {
|
|
|
3
3
|
clearHypothesisEngines,
|
|
4
4
|
gatherEvidenceForHypothesis,
|
|
5
5
|
getHypothesisEngine
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-W2DEBKZ2.js";
|
|
7
|
+
import "./chunk-4YJ6KLGI.js";
|
|
8
8
|
import "./chunk-K5EXATBF.js";
|
|
9
9
|
import "./chunk-UHMMANC2.js";
|
|
10
10
|
import "./chunk-WS6OA7H6.js";
|
|
@@ -19,4 +19,4 @@ export {
|
|
|
19
19
|
gatherEvidenceForHypothesis,
|
|
20
20
|
getHypothesisEngine
|
|
21
21
|
};
|
|
22
|
-
//# sourceMappingURL=hypothesis-
|
|
22
|
+
//# sourceMappingURL=hypothesis-HFYZNIMZ.js.map
|
package/dist/index.js
CHANGED
|
@@ -38,12 +38,12 @@ import {
|
|
|
38
38
|
getPrompt,
|
|
39
39
|
getSystemPrompt,
|
|
40
40
|
handleCheckpointTool
|
|
41
|
-
} from "./chunk-
|
|
42
|
-
import "./chunk-
|
|
43
|
-
import "./chunk-
|
|
44
|
-
import "./chunk-
|
|
45
|
-
import "./chunk-
|
|
46
|
-
import "./chunk-
|
|
41
|
+
} from "./chunk-7J4ZOOAD.js";
|
|
42
|
+
import "./chunk-D2CGMX7K.js";
|
|
43
|
+
import "./chunk-DFPVUMVE.js";
|
|
44
|
+
import "./chunk-TRIJC5MW.js";
|
|
45
|
+
import "./chunk-W2DEBKZ2.js";
|
|
46
|
+
import "./chunk-4YJ6KLGI.js";
|
|
47
47
|
import {
|
|
48
48
|
exportToJson,
|
|
49
49
|
formatFriendlyError,
|
|
@@ -59,11 +59,11 @@ import {
|
|
|
59
59
|
getGlobalMemoryStats,
|
|
60
60
|
listTrackedProjects,
|
|
61
61
|
searchGlobalPatterns
|
|
62
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-A4EDTN6R.js";
|
|
63
63
|
import {
|
|
64
64
|
isAIAvailable,
|
|
65
65
|
runAIAnalysis
|
|
66
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-WMI44VIC.js";
|
|
67
67
|
import {
|
|
68
68
|
findSimilarIssues,
|
|
69
69
|
getMemoryStats,
|
|
@@ -1251,7 +1251,10 @@ var TrieWatchTool = class _TrieWatchTool {
|
|
|
1251
1251
|
debounceMs
|
|
1252
1252
|
});
|
|
1253
1253
|
}
|
|
1254
|
-
|
|
1254
|
+
setTimeout(() => {
|
|
1255
|
+
void this.initialGoalComplianceScan();
|
|
1256
|
+
void this.initialHypothesisGeneration();
|
|
1257
|
+
}, 1e3);
|
|
1255
1258
|
return {
|
|
1256
1259
|
content: [{
|
|
1257
1260
|
type: "text",
|
|
@@ -1426,7 +1429,7 @@ ${f.content.slice(0, 1e3)}`
|
|
|
1426
1429
|
async checkAndGenerateHypotheses(projectPath) {
|
|
1427
1430
|
if (!isAIAvailable()) return;
|
|
1428
1431
|
try {
|
|
1429
|
-
const { getHypothesisEngine } = await import("./hypothesis-
|
|
1432
|
+
const { getHypothesisEngine } = await import("./hypothesis-HFYZNIMZ.js");
|
|
1430
1433
|
const { getOutputManager: getOutputManager2 } = await import("./output-manager-BOTMXSND.js");
|
|
1431
1434
|
const hypothesisEngine = getHypothesisEngine(projectPath);
|
|
1432
1435
|
const recentIssues = Array.from(this.state.issueCache.values()).flat();
|
|
@@ -1635,10 +1638,16 @@ ${f.content.slice(0, 1e3)}`
|
|
|
1635
1638
|
this.state.lastAutoScan = now;
|
|
1636
1639
|
try {
|
|
1637
1640
|
const graph = new ContextGraph(projectPath);
|
|
1638
|
-
const { getActiveGoals, recordGoalViolationCaught } = await import("./goal-validator-
|
|
1641
|
+
const { getActiveGoals, recordGoalViolationCaught } = await import("./goal-validator-CKFKJ46J.js");
|
|
1639
1642
|
const { appendIssuesToLedger } = await import("./ledger-JMPGJGLB.js");
|
|
1643
|
+
console.debug("[AI Watcher] Loading active goals...");
|
|
1640
1644
|
const activeGoals = await getActiveGoals(projectPath);
|
|
1641
1645
|
const hasGoals = activeGoals.length > 0;
|
|
1646
|
+
console.debug("[AI Watcher] Goals loaded:", {
|
|
1647
|
+
totalGoals: activeGoals.length,
|
|
1648
|
+
hasGoals,
|
|
1649
|
+
goals: activeGoals.map((g) => ({ id: g.id, description: g.description, status: g.status }))
|
|
1650
|
+
});
|
|
1642
1651
|
if (this.isQuiet() && !hasGoals) return;
|
|
1643
1652
|
const scored = [];
|
|
1644
1653
|
for (const file of files) {
|
|
@@ -1683,6 +1692,13 @@ ${activeGoals.map((g, i) => ` ${i + 1}. "${g.description}"`).join("\n")}
|
|
|
1683
1692
|
Goal violations are HIGH PRIORITY. If a file violates any goal, you MUST report it.
|
|
1684
1693
|
`;
|
|
1685
1694
|
}
|
|
1695
|
+
console.debug("[AI Watcher] Sending files to AI analysis:", {
|
|
1696
|
+
fileCount: valid.length,
|
|
1697
|
+
hasGoals,
|
|
1698
|
+
goalsIncluded: hasGoals,
|
|
1699
|
+
filePaths: valid.map((f) => f.path),
|
|
1700
|
+
goalsSection: goalsSection.slice(0, 200) + (goalsSection.length > 200 ? "..." : "")
|
|
1701
|
+
});
|
|
1686
1702
|
const result = await runAIAnalysis({
|
|
1687
1703
|
systemPrompt: `You are a code quality watcher. You review code for two things:
|
|
1688
1704
|
|
|
@@ -1711,13 +1727,29 @@ ${filesBlock}`,
|
|
|
1711
1727
|
if (result.tokensUsed) {
|
|
1712
1728
|
this.recordTokenUsage(result.tokensUsed.input + result.tokensUsed.output);
|
|
1713
1729
|
}
|
|
1714
|
-
|
|
1730
|
+
console.debug("[AI Watcher] AI analysis result:", {
|
|
1731
|
+
success: result.success,
|
|
1732
|
+
contentLength: result.content ? result.content.length : 0,
|
|
1733
|
+
tokensUsed: result.tokensUsed,
|
|
1734
|
+
contentPreview: result.content ? result.content.slice(0, 500) : "null"
|
|
1735
|
+
});
|
|
1736
|
+
if (!result.success || !result.content.trim()) {
|
|
1737
|
+
console.debug("[AI Watcher] AI analysis failed or returned empty content");
|
|
1738
|
+
return;
|
|
1739
|
+
}
|
|
1715
1740
|
let issues = [];
|
|
1716
1741
|
try {
|
|
1717
1742
|
const cleaned = result.content.replace(/```json?\n?|\n?```/g, "").trim();
|
|
1743
|
+
console.debug("[AI Watcher] Parsing AI response:", { cleanedContent: cleaned.slice(0, 300) });
|
|
1718
1744
|
issues = JSON.parse(cleaned);
|
|
1719
1745
|
if (!Array.isArray(issues)) issues = [];
|
|
1720
|
-
|
|
1746
|
+
console.debug("[AI Watcher] Parsed issues:", {
|
|
1747
|
+
totalIssues: issues.length,
|
|
1748
|
+
goalViolations: issues.filter((i) => i.isGoalViolation).length,
|
|
1749
|
+
issueTypes: issues.map((i) => ({ file: i.file, isGoalViolation: i.isGoalViolation, goalIndex: i.goalIndex }))
|
|
1750
|
+
});
|
|
1751
|
+
} catch (error) {
|
|
1752
|
+
console.debug("[AI Watcher] Failed to parse AI response:", error);
|
|
1721
1753
|
return;
|
|
1722
1754
|
}
|
|
1723
1755
|
const issuedFiles = new Set(issues.map((i) => i.file));
|
|
@@ -1733,6 +1765,14 @@ ${filesBlock}`,
|
|
|
1733
1765
|
const goal = activeGoals[issue.goalIndex];
|
|
1734
1766
|
const confidence = Math.min(100, Math.max(0, issue.confidence ?? 80));
|
|
1735
1767
|
const fixId = `fix-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
1768
|
+
console.debug("[AI Watcher] Goal violation detected:", {
|
|
1769
|
+
goalDescription: goal.description,
|
|
1770
|
+
file: issue.file,
|
|
1771
|
+
violation: issue.description,
|
|
1772
|
+
confidence,
|
|
1773
|
+
goalIndex: issue.goalIndex,
|
|
1774
|
+
totalActiveGoals: activeGoals.length
|
|
1775
|
+
});
|
|
1736
1776
|
const ledgerIssue = {
|
|
1737
1777
|
id: fixId,
|
|
1738
1778
|
hash: "",
|
|
@@ -1752,6 +1792,11 @@ ${filesBlock}`,
|
|
|
1752
1792
|
await recordGoalViolationCaught(goal, issue.file, projectPath);
|
|
1753
1793
|
const confidenceStr = `${confidence}%`;
|
|
1754
1794
|
const nudgeMsg = `Goal "${goal.description}" violated in ${issue.file}: ${issue.description} [${confidenceStr} confidence]`;
|
|
1795
|
+
console.debug("[AI Watcher] Sending nudge:", {
|
|
1796
|
+
message: nudgeMsg,
|
|
1797
|
+
file: issue.file,
|
|
1798
|
+
severity: "warning"
|
|
1799
|
+
});
|
|
1755
1800
|
getOutputManager().nudge(nudgeMsg, "warning", issue.file);
|
|
1756
1801
|
this.state.nudges.push({
|
|
1757
1802
|
file: basename2(issue.file),
|
|
@@ -1828,6 +1873,56 @@ ${filesBlock}`,
|
|
|
1828
1873
|
this.state.autoScanInProgress = false;
|
|
1829
1874
|
}
|
|
1830
1875
|
}
|
|
1876
|
+
/**
|
|
1877
|
+
* Initial hypothesis generation when watch starts.
|
|
1878
|
+
*
|
|
1879
|
+
* This generates hypotheses from existing patterns and issues to give
|
|
1880
|
+
* users immediate insights about their codebase.
|
|
1881
|
+
*/
|
|
1882
|
+
async initialHypothesisGeneration() {
|
|
1883
|
+
if (!isAIAvailable()) {
|
|
1884
|
+
console.debug("[Initial Hypothesis] AI not available, skipping initial hypothesis generation");
|
|
1885
|
+
return;
|
|
1886
|
+
}
|
|
1887
|
+
const projectPath = this.watchedDirectory || getWorkingDirectory(void 0, true);
|
|
1888
|
+
console.debug("[Initial Hypothesis] Starting initial hypothesis generation", { projectPath });
|
|
1889
|
+
try {
|
|
1890
|
+
const { getHypothesisEngine } = await import("./hypothesis-HFYZNIMZ.js");
|
|
1891
|
+
const hypothesisEngine = getHypothesisEngine(projectPath);
|
|
1892
|
+
console.debug("[Initial Hypothesis] Running AI-powered hypothesis generation...");
|
|
1893
|
+
const generated = await hypothesisEngine.generateHypothesesWithAI({
|
|
1894
|
+
recentIssues: [],
|
|
1895
|
+
// No recent issues yet on startup
|
|
1896
|
+
patterns: [],
|
|
1897
|
+
observations: ["Initial watch session started", "Analyzing codebase for potential patterns"]
|
|
1898
|
+
});
|
|
1899
|
+
console.debug("[Initial Hypothesis] Generated hypotheses on startup:", {
|
|
1900
|
+
count: generated.length,
|
|
1901
|
+
hypotheses: generated.map((h) => ({ statement: h.statement, confidence: h.confidence }))
|
|
1902
|
+
});
|
|
1903
|
+
if (generated.length > 0) {
|
|
1904
|
+
const { getOutputManager: getOutputManager2 } = await import("./output-manager-BOTMXSND.js");
|
|
1905
|
+
const outputManager = getOutputManager2();
|
|
1906
|
+
for (const hypothesis of generated.slice(0, 2)) {
|
|
1907
|
+
const message = `[Initial Hypothesis] "${hypothesis.statement}" (${Math.round(hypothesis.confidence * 100)}% confidence)`;
|
|
1908
|
+
outputManager.nudge(message, "info", void 0, 1e4);
|
|
1909
|
+
if (!isInteractiveMode()) {
|
|
1910
|
+
console.error(` [?] ${message}`);
|
|
1911
|
+
}
|
|
1912
|
+
}
|
|
1913
|
+
if (this.streamingManager) {
|
|
1914
|
+
this.streamingManager.reportSignalExtraction({
|
|
1915
|
+
decisions: 0,
|
|
1916
|
+
facts: 0,
|
|
1917
|
+
blockers: 0,
|
|
1918
|
+
questions: generated.length
|
|
1919
|
+
});
|
|
1920
|
+
}
|
|
1921
|
+
}
|
|
1922
|
+
} catch (error) {
|
|
1923
|
+
console.debug("[Initial Hypothesis] Failed to generate initial hypotheses:", error);
|
|
1924
|
+
}
|
|
1925
|
+
}
|
|
1831
1926
|
/**
|
|
1832
1927
|
* Initial goal compliance scan when watch starts.
|
|
1833
1928
|
*
|
|
@@ -1843,12 +1938,23 @@ ${filesBlock}`,
|
|
|
1843
1938
|
* 5. Nudge the user about any violations found
|
|
1844
1939
|
*/
|
|
1845
1940
|
async initialGoalComplianceScan() {
|
|
1846
|
-
if (!isAIAvailable())
|
|
1941
|
+
if (!isAIAvailable()) {
|
|
1942
|
+
console.debug("[Initial Scan] AI not available, skipping initial goal compliance scan");
|
|
1943
|
+
return;
|
|
1944
|
+
}
|
|
1847
1945
|
const projectPath = this.watchedDirectory || getWorkingDirectory(void 0, true);
|
|
1946
|
+
console.debug("[Initial Scan] Starting initial goal compliance scan", { projectPath });
|
|
1848
1947
|
try {
|
|
1849
|
-
const { getActiveGoals, recordGoalViolationCaught } = await import("./goal-validator-
|
|
1948
|
+
const { getActiveGoals, recordGoalViolationCaught } = await import("./goal-validator-CKFKJ46J.js");
|
|
1850
1949
|
const activeGoals = await getActiveGoals(projectPath);
|
|
1851
|
-
|
|
1950
|
+
console.debug("[Initial Scan] Loaded goals for initial scan:", {
|
|
1951
|
+
goalCount: activeGoals.length,
|
|
1952
|
+
goals: activeGoals.map((g) => ({ id: g.id, description: g.description }))
|
|
1953
|
+
});
|
|
1954
|
+
if (activeGoals.length === 0) {
|
|
1955
|
+
console.debug("[Initial Scan] No active goals found, skipping initial scan");
|
|
1956
|
+
return;
|
|
1957
|
+
}
|
|
1852
1958
|
if (!isInteractiveMode()) {
|
|
1853
1959
|
console.error("[*] Checking recent files against active goals...");
|
|
1854
1960
|
}
|
|
@@ -1866,7 +1972,17 @@ ${filesBlock}`,
|
|
|
1866
1972
|
const ext = extname3(file).toLowerCase();
|
|
1867
1973
|
return WATCH_EXTENSIONS.has(ext) && existsSync3(file);
|
|
1868
1974
|
});
|
|
1869
|
-
|
|
1975
|
+
console.debug("[Initial Scan] Files discovered for initial scan:", {
|
|
1976
|
+
totalRecentFiles: recentFiles.size,
|
|
1977
|
+
filteredFiles: filesToCheck.length,
|
|
1978
|
+
filePaths: filesToCheck.slice(0, 5).map((f) => f.replace(projectPath + "/", "")),
|
|
1979
|
+
// Show first 5
|
|
1980
|
+
watchedExtensions: Array.from(WATCH_EXTENSIONS)
|
|
1981
|
+
});
|
|
1982
|
+
if (filesToCheck.length === 0) {
|
|
1983
|
+
console.debug("[Initial Scan] No recent files found for initial scan");
|
|
1984
|
+
return;
|
|
1985
|
+
}
|
|
1870
1986
|
const maxInitialFiles = 10;
|
|
1871
1987
|
const filesToScan = filesToCheck.slice(0, maxInitialFiles);
|
|
1872
1988
|
if (!isInteractiveMode()) {
|
|
@@ -2047,7 +2163,7 @@ Use \`trie_watch start\` to begin autonomous scanning.`
|
|
|
2047
2163
|
).join("\n");
|
|
2048
2164
|
let agencyStatus = "";
|
|
2049
2165
|
try {
|
|
2050
|
-
const { getGuardian } = await import("./guardian-agent-
|
|
2166
|
+
const { getGuardian } = await import("./guardian-agent-5QVLDPKB.js");
|
|
2051
2167
|
const trieAgent = getGuardian(this.watchedDirectory || getWorkingDirectory(void 0, true));
|
|
2052
2168
|
await trieAgent.initialize();
|
|
2053
2169
|
const status = await trieAgent.getAgencyStatus();
|
|
@@ -3845,21 +3961,25 @@ async function listInstalledSkills() {
|
|
|
3845
3961
|
|
|
3846
3962
|
// src/server/resource-manager.ts
|
|
3847
3963
|
var UI_APPS = {
|
|
3848
|
-
"
|
|
3849
|
-
name: "
|
|
3850
|
-
description: "
|
|
3964
|
+
"ledger": {
|
|
3965
|
+
name: "Decision Ledger",
|
|
3966
|
+
description: "Track decisions, blockers, facts, and questions across your project"
|
|
3967
|
+
},
|
|
3968
|
+
"goals": {
|
|
3969
|
+
name: "Goals & Progress",
|
|
3970
|
+
description: "Monitor code quality goals and track progress with visual indicators"
|
|
3851
3971
|
},
|
|
3852
|
-
"
|
|
3853
|
-
name: "
|
|
3854
|
-
description: "
|
|
3972
|
+
"hypotheses": {
|
|
3973
|
+
name: "Hypotheses",
|
|
3974
|
+
description: "Test and validate development theories with evidence-based reasoning"
|
|
3855
3975
|
},
|
|
3856
|
-
"
|
|
3857
|
-
name: "
|
|
3858
|
-
description: "
|
|
3976
|
+
"nudges": {
|
|
3977
|
+
name: "Nudges & Insights",
|
|
3978
|
+
description: "AI-powered code quality insights, warnings, and suggestions"
|
|
3859
3979
|
},
|
|
3860
|
-
"
|
|
3861
|
-
name: "
|
|
3862
|
-
description: "
|
|
3980
|
+
"chat": {
|
|
3981
|
+
name: "AI Chat",
|
|
3982
|
+
description: "Interactive chat with Trie assistant for code analysis and guidance"
|
|
3863
3983
|
}
|
|
3864
3984
|
};
|
|
3865
3985
|
var ResourceManager = class {
|