@triedotdev/mcp 1.0.136 → 1.0.138
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 +6 -6
- package/dist/{autonomy-config-QA6ATWLJ.js → autonomy-config-TZ6HF4FA.js} +3 -3
- package/dist/{chat-store-HFOOWZYN.js → chat-store-OJLJCJFI.js} +3 -3
- package/dist/{chunk-DFPVUMVE.js → chunk-23RJT5WT.js} +5 -4
- package/dist/chunk-23RJT5WT.js.map +1 -0
- package/dist/{chunk-4YJ6KLGI.js → chunk-3MUCUZ46.js} +8 -8
- package/dist/chunk-3MUCUZ46.js.map +1 -0
- package/dist/{chunk-6VIMBFUZ.js → chunk-3RRXWX3V.js} +21 -17
- package/dist/chunk-3RRXWX3V.js.map +1 -0
- package/dist/{chunk-WHIQAGB7.js → chunk-4C67GV3O.js} +2 -2
- package/dist/{chunk-WS6OA7H6.js → chunk-4MJ52WBH.js} +2 -3
- package/dist/chunk-4MJ52WBH.js.map +1 -0
- package/dist/{chunk-AJ34GCMD.js → chunk-67GSG2ST.js} +41 -38
- package/dist/chunk-67GSG2ST.js.map +1 -0
- package/dist/{chunk-UHX4462X.js → chunk-6LLH3TBZ.js} +24 -25
- package/dist/chunk-6LLH3TBZ.js.map +1 -0
- package/dist/{chunk-DFHMB44X.js → chunk-D3AS5LY7.js} +6 -10
- package/dist/chunk-D3AS5LY7.js.map +1 -0
- package/dist/{chunk-6OUWNVLX.js → chunk-EDDT4ZIH.js} +8 -8
- package/dist/chunk-EDDT4ZIH.js.map +1 -0
- package/dist/{chunk-Z4DN527J.js → chunk-FG467PDD.js} +156 -39
- package/dist/chunk-FG467PDD.js.map +1 -0
- package/dist/{chunk-T4THB2OR.js → chunk-FOCXXIXY.js} +49 -28
- package/dist/chunk-FOCXXIXY.js.map +1 -0
- package/dist/{goal-validator-PDKYZSNP.js → chunk-GFFUDJMK.js} +97 -40
- package/dist/chunk-GFFUDJMK.js.map +1 -0
- package/dist/{chunk-ZEXMMTIQ.js → chunk-J5EMP4XW.js} +2 -2
- package/dist/{chunk-UHMMANC2.js → chunk-LT6VUZG2.js} +21 -18
- package/dist/chunk-LT6VUZG2.js.map +1 -0
- package/dist/{chunk-55CBWOEZ.js → chunk-QSWUPSLK.js} +2 -2
- package/dist/{chunk-45Y5TLQZ.js → chunk-SH7H3WRU.js} +3 -6
- package/dist/chunk-SH7H3WRU.js.map +1 -0
- package/dist/{chunk-VRLMTOB6.js → chunk-TIMIKBY2.js} +1 -1
- package/dist/chunk-TIMIKBY2.js.map +1 -0
- package/dist/{chunk-POHBQUG7.js → chunk-X3F5QDER.js} +1224 -448
- package/dist/chunk-X3F5QDER.js.map +1 -0
- package/dist/{chunk-O6OTJI3W.js → chunk-Y32FM3MR.js} +2 -2
- package/dist/{chunk-G5PRBQIQ.js → chunk-YOKQ25IW.js} +102 -82
- package/dist/chunk-YOKQ25IW.js.map +1 -0
- package/dist/{chunk-JAKMZI5S.js → chunk-Z2P4WST6.js} +291 -180
- package/dist/chunk-Z2P4WST6.js.map +1 -0
- package/dist/cli/create-agent.js +1 -1
- package/dist/cli/main.js +113 -86
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/yolo-daemon.js +19 -19
- package/dist/cli/yolo-daemon.js.map +1 -1
- package/dist/{client-BZHI675W.js → client-JTU5TRLB.js} +3 -3
- package/dist/{codebase-index-CR6Q2HEI.js → codebase-index-FNJ4GCBE.js} +3 -3
- package/dist/{goal-manager-FAK7H4RR.js → goal-manager-6BJQ36AH.js} +7 -8
- package/dist/goal-validator-GISXYANK.js +22 -0
- package/dist/{graph-PAUZ5EMP.js → graph-X2FMRQLG.js} +3 -3
- package/dist/{hypothesis-L5446W36.js → hypothesis-K3KQJOXJ.js} +7 -8
- package/dist/{incident-index-ZCDSJ42L.js → incident-index-BWW2UEY7.js} +3 -3
- package/dist/index.js +343 -288
- package/dist/index.js.map +1 -1
- package/dist/{insight-store-F5KDBY5Y.js → insight-store-A5XXMFD6.js} +6 -6
- package/dist/issue-store-BO5OWLJW.js +32 -0
- package/dist/{output-manager-BOTMXSND.js → output-manager-DZO5LGSG.js} +2 -2
- package/dist/{tiered-storage-QW2G7GSG.js → tiered-storage-VZL7KK64.js} +3 -3
- package/dist/trie-agent-XMSGMD7E.js +26 -0
- package/dist/trie-agent-XMSGMD7E.js.map +1 -0
- package/dist/ui/chat.html +260 -67
- package/dist/ui/goals.html +246 -3
- package/dist/ui/hypotheses.html +248 -5
- package/dist/ui/ledger.html +252 -9
- package/dist/ui/nudges.html +244 -1
- package/package.json +1 -1
- package/dist/chunk-45Y5TLQZ.js.map +0 -1
- package/dist/chunk-4YJ6KLGI.js.map +0 -1
- package/dist/chunk-6OUWNVLX.js.map +0 -1
- package/dist/chunk-6VIMBFUZ.js.map +0 -1
- package/dist/chunk-AJ34GCMD.js.map +0 -1
- package/dist/chunk-DFHMB44X.js.map +0 -1
- package/dist/chunk-DFPVUMVE.js.map +0 -1
- package/dist/chunk-G5PRBQIQ.js.map +0 -1
- package/dist/chunk-JAKMZI5S.js.map +0 -1
- package/dist/chunk-PEJEYWVR.js +0 -135
- package/dist/chunk-PEJEYWVR.js.map +0 -1
- package/dist/chunk-POHBQUG7.js.map +0 -1
- package/dist/chunk-T4THB2OR.js.map +0 -1
- package/dist/chunk-UHMMANC2.js.map +0 -1
- package/dist/chunk-UHX4462X.js.map +0 -1
- package/dist/chunk-VRLMTOB6.js.map +0 -1
- package/dist/chunk-WS6OA7H6.js.map +0 -1
- package/dist/chunk-Z4DN527J.js.map +0 -1
- package/dist/goal-validator-PDKYZSNP.js.map +0 -1
- package/dist/guardian-agent-4RHGIXUD.js +0 -27
- package/dist/ledger-WKVJWHBX.js +0 -17
- /package/dist/{autonomy-config-QA6ATWLJ.js.map → autonomy-config-TZ6HF4FA.js.map} +0 -0
- /package/dist/{chat-store-HFOOWZYN.js.map → chat-store-OJLJCJFI.js.map} +0 -0
- /package/dist/{chunk-WHIQAGB7.js.map → chunk-4C67GV3O.js.map} +0 -0
- /package/dist/{chunk-ZEXMMTIQ.js.map → chunk-J5EMP4XW.js.map} +0 -0
- /package/dist/{chunk-55CBWOEZ.js.map → chunk-QSWUPSLK.js.map} +0 -0
- /package/dist/{chunk-O6OTJI3W.js.map → chunk-Y32FM3MR.js.map} +0 -0
- /package/dist/{client-BZHI675W.js.map → client-JTU5TRLB.js.map} +0 -0
- /package/dist/{codebase-index-CR6Q2HEI.js.map → codebase-index-FNJ4GCBE.js.map} +0 -0
- /package/dist/{goal-manager-FAK7H4RR.js.map → goal-manager-6BJQ36AH.js.map} +0 -0
- /package/dist/{graph-PAUZ5EMP.js.map → goal-validator-GISXYANK.js.map} +0 -0
- /package/dist/{guardian-agent-4RHGIXUD.js.map → graph-X2FMRQLG.js.map} +0 -0
- /package/dist/{hypothesis-L5446W36.js.map → hypothesis-K3KQJOXJ.js.map} +0 -0
- /package/dist/{incident-index-ZCDSJ42L.js.map → incident-index-BWW2UEY7.js.map} +0 -0
- /package/dist/{insight-store-F5KDBY5Y.js.map → insight-store-A5XXMFD6.js.map} +0 -0
- /package/dist/{ledger-WKVJWHBX.js.map → issue-store-BO5OWLJW.js.map} +0 -0
- /package/dist/{output-manager-BOTMXSND.js.map → output-manager-DZO5LGSG.js.map} +0 -0
- /package/dist/{tiered-storage-QW2G7GSG.js.map → tiered-storage-VZL7KK64.js.map} +0 -0
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
|
-
GuardianInsightSchema,
|
|
3
2
|
InsightDetailsSchema,
|
|
3
|
+
InsightSchema,
|
|
4
4
|
InsightStore,
|
|
5
5
|
InsightStoreDataSchema,
|
|
6
6
|
clearInsightStores,
|
|
7
7
|
getInsightStore
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-3MUCUZ46.js";
|
|
9
|
+
import "./chunk-4MJ52WBH.js";
|
|
10
10
|
import "./chunk-43X6JBEM.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-SH7H3WRU.js";
|
|
12
12
|
import "./chunk-APMV77PU.js";
|
|
13
13
|
import "./chunk-DGUM43GV.js";
|
|
14
14
|
export {
|
|
15
|
-
GuardianInsightSchema,
|
|
16
15
|
InsightDetailsSchema,
|
|
16
|
+
InsightSchema,
|
|
17
17
|
InsightStore,
|
|
18
18
|
InsightStoreDataSchema,
|
|
19
19
|
clearInsightStores,
|
|
20
20
|
getInsightStore
|
|
21
21
|
};
|
|
22
|
-
//# sourceMappingURL=insight-store-
|
|
22
|
+
//# sourceMappingURL=insight-store-A5XXMFD6.js.map
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import {
|
|
2
|
+
autoResolveIssues,
|
|
3
|
+
findSimilarIssues,
|
|
4
|
+
getDailyLogs,
|
|
5
|
+
getIssueHash,
|
|
6
|
+
getMemoryStats,
|
|
7
|
+
getRecentIssues,
|
|
8
|
+
markIssueResolved,
|
|
9
|
+
purgeIssues,
|
|
10
|
+
resolveGoalViolation,
|
|
11
|
+
searchIssues,
|
|
12
|
+
storeIssues
|
|
13
|
+
} from "./chunk-Z2P4WST6.js";
|
|
14
|
+
import "./chunk-4MJ52WBH.js";
|
|
15
|
+
import "./chunk-43X6JBEM.js";
|
|
16
|
+
import "./chunk-SH7H3WRU.js";
|
|
17
|
+
import "./chunk-APMV77PU.js";
|
|
18
|
+
import "./chunk-DGUM43GV.js";
|
|
19
|
+
export {
|
|
20
|
+
autoResolveIssues,
|
|
21
|
+
findSimilarIssues,
|
|
22
|
+
getDailyLogs,
|
|
23
|
+
getIssueHash,
|
|
24
|
+
getMemoryStats,
|
|
25
|
+
getRecentIssues,
|
|
26
|
+
markIssueResolved,
|
|
27
|
+
purgeIssues,
|
|
28
|
+
resolveGoalViolation,
|
|
29
|
+
searchIssues,
|
|
30
|
+
storeIssues
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=issue-store-BO5OWLJW.js.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
getOutputManager,
|
|
3
3
|
output,
|
|
4
4
|
resetOutputManager
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-TIMIKBY2.js";
|
|
6
6
|
import "./chunk-APMV77PU.js";
|
|
7
7
|
import "./chunk-DGUM43GV.js";
|
|
8
8
|
export {
|
|
@@ -10,4 +10,4 @@ export {
|
|
|
10
10
|
output,
|
|
11
11
|
resetOutputManager
|
|
12
12
|
};
|
|
13
|
-
//# sourceMappingURL=output-manager-
|
|
13
|
+
//# sourceMappingURL=output-manager-DZO5LGSG.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TieredStorage,
|
|
3
3
|
getStorage
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-FG467PDD.js";
|
|
5
|
+
import "./chunk-SH7H3WRU.js";
|
|
6
6
|
import "./chunk-APMV77PU.js";
|
|
7
7
|
import "./chunk-DGUM43GV.js";
|
|
8
8
|
export {
|
|
9
9
|
TieredStorage,
|
|
10
10
|
getStorage
|
|
11
11
|
};
|
|
12
|
-
//# sourceMappingURL=tiered-storage-
|
|
12
|
+
//# sourceMappingURL=tiered-storage-VZL7KK64.js.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import {
|
|
2
|
+
TrieAgent,
|
|
3
|
+
getTrieAgent
|
|
4
|
+
} from "./chunk-YOKQ25IW.js";
|
|
5
|
+
import "./chunk-FOCXXIXY.js";
|
|
6
|
+
import "./chunk-67GSG2ST.js";
|
|
7
|
+
import "./chunk-3MUCUZ46.js";
|
|
8
|
+
import "./chunk-6LLH3TBZ.js";
|
|
9
|
+
import "./chunk-Y32FM3MR.js";
|
|
10
|
+
import "./chunk-LT6VUZG2.js";
|
|
11
|
+
import "./chunk-F4NJ4CBP.js";
|
|
12
|
+
import "./chunk-IXO4G4D3.js";
|
|
13
|
+
import "./chunk-6NLHFIYA.js";
|
|
14
|
+
import "./chunk-FG467PDD.js";
|
|
15
|
+
import "./chunk-QSWUPSLK.js";
|
|
16
|
+
import "./chunk-Z2P4WST6.js";
|
|
17
|
+
import "./chunk-4MJ52WBH.js";
|
|
18
|
+
import "./chunk-43X6JBEM.js";
|
|
19
|
+
import "./chunk-SH7H3WRU.js";
|
|
20
|
+
import "./chunk-APMV77PU.js";
|
|
21
|
+
import "./chunk-DGUM43GV.js";
|
|
22
|
+
export {
|
|
23
|
+
TrieAgent,
|
|
24
|
+
getTrieAgent
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=trie-agent-XMSGMD7E.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/ui/chat.html
CHANGED
|
@@ -644,12 +644,255 @@ h4 { font-size: 14px; }
|
|
|
644
644
|
flex: 1;
|
|
645
645
|
}
|
|
646
646
|
|
|
647
|
+
/* Chat App Styles */
|
|
648
|
+
.chat-container {
|
|
649
|
+
display: flex;
|
|
650
|
+
flex-direction: column;
|
|
651
|
+
height: calc(100vh - 120px);
|
|
652
|
+
max-height: 800px;
|
|
653
|
+
margin-top: 16px;
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
.messages-container {
|
|
657
|
+
flex: 1;
|
|
658
|
+
overflow-y: auto;
|
|
659
|
+
padding: 16px;
|
|
660
|
+
border: 1px solid var(--trie-border);
|
|
661
|
+
border-radius: var(--radius) var(--radius) 0 0;
|
|
662
|
+
background: var(--trie-surface);
|
|
663
|
+
min-height: 400px;
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
.message {
|
|
667
|
+
margin-bottom: 16px;
|
|
668
|
+
padding: 12px 16px;
|
|
669
|
+
border-radius: var(--radius);
|
|
670
|
+
background: var(--trie-bg);
|
|
671
|
+
border: 1px solid var(--trie-border);
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
.message.user-message {
|
|
675
|
+
margin-left: 20%;
|
|
676
|
+
background: rgba(88, 166, 255, 0.1);
|
|
677
|
+
border-color: rgba(88, 166, 255, 0.3);
|
|
678
|
+
}
|
|
679
|
+
|
|
680
|
+
.message.assistant-message {
|
|
681
|
+
margin-right: 20%;
|
|
682
|
+
}
|
|
683
|
+
|
|
684
|
+
.message-header {
|
|
685
|
+
display: flex;
|
|
686
|
+
justify-content: space-between;
|
|
687
|
+
margin-bottom: 8px;
|
|
688
|
+
font-size: 12px;
|
|
689
|
+
color: var(--trie-text-muted);
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
.message-author {
|
|
693
|
+
font-weight: 600;
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
.message-content {
|
|
697
|
+
line-height: 1.6;
|
|
698
|
+
white-space: pre-wrap;
|
|
699
|
+
word-wrap: break-word;
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
.message-content pre {
|
|
703
|
+
background: var(--trie-surface);
|
|
704
|
+
border: 1px solid var(--trie-border);
|
|
705
|
+
border-radius: var(--radius);
|
|
706
|
+
padding: 12px;
|
|
707
|
+
margin: 8px 0;
|
|
708
|
+
overflow-x: auto;
|
|
709
|
+
font-family: var(--font-mono);
|
|
710
|
+
font-size: 12px;
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
.message-content code {
|
|
714
|
+
font-family: var(--font-mono);
|
|
715
|
+
font-size: 12px;
|
|
716
|
+
background: rgba(110, 118, 129, 0.2);
|
|
717
|
+
padding: 2px 6px;
|
|
718
|
+
border-radius: 4px;
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
.message-content pre code {
|
|
722
|
+
background: none;
|
|
723
|
+
padding: 0;
|
|
724
|
+
}
|
|
725
|
+
|
|
726
|
+
.typing-indicator {
|
|
727
|
+
display: flex;
|
|
728
|
+
gap: 4px;
|
|
729
|
+
align-items: center;
|
|
730
|
+
}
|
|
731
|
+
|
|
732
|
+
.typing-indicator span {
|
|
733
|
+
width: 8px;
|
|
734
|
+
height: 8px;
|
|
735
|
+
border-radius: 50%;
|
|
736
|
+
background: var(--trie-text-muted);
|
|
737
|
+
animation: typing 1.4s infinite ease-in-out;
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
.typing-indicator span:nth-child(1) { animation-delay: 0s; }
|
|
741
|
+
.typing-indicator span:nth-child(2) { animation-delay: 0.2s; }
|
|
742
|
+
.typing-indicator span:nth-child(3) { animation-delay: 0.4s; }
|
|
743
|
+
|
|
744
|
+
@keyframes typing {
|
|
745
|
+
0%, 80%, 100% {
|
|
746
|
+
opacity: 0.3;
|
|
747
|
+
transform: scale(0.8);
|
|
748
|
+
}
|
|
749
|
+
40% {
|
|
750
|
+
opacity: 1;
|
|
751
|
+
transform: scale(1);
|
|
752
|
+
}
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
.tool-calls {
|
|
756
|
+
margin-bottom: 12px;
|
|
757
|
+
padding: 12px;
|
|
758
|
+
background: var(--trie-surface);
|
|
759
|
+
border: 1px solid var(--trie-border);
|
|
760
|
+
border-radius: var(--radius);
|
|
761
|
+
font-family: var(--font-mono);
|
|
762
|
+
font-size: 12px;
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
.tool-call {
|
|
766
|
+
display: flex;
|
|
767
|
+
gap: 8px;
|
|
768
|
+
margin-bottom: 4px;
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
.tool-call:last-child {
|
|
772
|
+
margin-bottom: 0;
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
.tool-name {
|
|
776
|
+
color: var(--trie-primary);
|
|
777
|
+
font-weight: 600;
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
.tool-input {
|
|
781
|
+
color: var(--trie-text-muted);
|
|
782
|
+
}
|
|
783
|
+
|
|
784
|
+
.pending-fix {
|
|
785
|
+
margin-top: 12px;
|
|
786
|
+
padding: 16px;
|
|
787
|
+
background: rgba(210, 153, 34, 0.1);
|
|
788
|
+
border: 1px solid rgba(210, 153, 34, 0.3);
|
|
789
|
+
border-radius: var(--radius);
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
.fix-header {
|
|
793
|
+
margin-bottom: 12px;
|
|
794
|
+
color: var(--trie-warning);
|
|
795
|
+
}
|
|
796
|
+
|
|
797
|
+
.fix-details p {
|
|
798
|
+
margin-bottom: 8px;
|
|
799
|
+
font-size: 14px;
|
|
800
|
+
}
|
|
801
|
+
|
|
802
|
+
.fix-actions {
|
|
803
|
+
display: flex;
|
|
804
|
+
gap: 8px;
|
|
805
|
+
margin-top: 12px;
|
|
806
|
+
}
|
|
807
|
+
|
|
808
|
+
.chat-input-container {
|
|
809
|
+
background: var(--trie-surface);
|
|
810
|
+
border: 1px solid var(--trie-border);
|
|
811
|
+
border-top: none;
|
|
812
|
+
border-radius: 0 0 var(--radius) var(--radius);
|
|
813
|
+
padding: 16px;
|
|
814
|
+
flex-shrink: 0;
|
|
815
|
+
}
|
|
816
|
+
|
|
817
|
+
.input-wrapper {
|
|
818
|
+
display: flex;
|
|
819
|
+
gap: 12px;
|
|
820
|
+
align-items: flex-end;
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
.chat-input {
|
|
824
|
+
flex: 1;
|
|
825
|
+
min-height: 60px;
|
|
826
|
+
max-height: 120px;
|
|
827
|
+
padding: 12px;
|
|
828
|
+
font-size: 14px;
|
|
829
|
+
line-height: 1.5;
|
|
830
|
+
border: 1px solid var(--trie-border);
|
|
831
|
+
border-radius: var(--radius);
|
|
832
|
+
background: var(--trie-bg);
|
|
833
|
+
color: var(--trie-text);
|
|
834
|
+
resize: none;
|
|
835
|
+
font-family: var(--font-sans);
|
|
836
|
+
}
|
|
837
|
+
|
|
838
|
+
.chat-input:focus {
|
|
839
|
+
outline: none;
|
|
840
|
+
border-color: var(--trie-primary);
|
|
841
|
+
}
|
|
842
|
+
|
|
843
|
+
.chat-input::placeholder {
|
|
844
|
+
color: var(--trie-text-muted);
|
|
845
|
+
}
|
|
846
|
+
|
|
847
|
+
.send-button {
|
|
848
|
+
padding: 12px 24px;
|
|
849
|
+
font-size: 14px;
|
|
850
|
+
font-weight: 600;
|
|
851
|
+
border: none;
|
|
852
|
+
border-radius: var(--radius);
|
|
853
|
+
background: var(--trie-primary);
|
|
854
|
+
color: #fff;
|
|
855
|
+
cursor: pointer;
|
|
856
|
+
transition: all 0.15s ease;
|
|
857
|
+
flex-shrink: 0;
|
|
858
|
+
height: fit-content;
|
|
859
|
+
}
|
|
860
|
+
|
|
861
|
+
.send-button:hover:not(:disabled) {
|
|
862
|
+
background: rgba(88, 166, 255, 0.9);
|
|
863
|
+
}
|
|
864
|
+
|
|
865
|
+
.send-button:disabled {
|
|
866
|
+
opacity: 0.5;
|
|
867
|
+
cursor: not-allowed;
|
|
868
|
+
}
|
|
869
|
+
|
|
870
|
+
.input-help {
|
|
871
|
+
margin-top: 8px;
|
|
872
|
+
font-size: 12px;
|
|
873
|
+
color: var(--trie-text-muted);
|
|
874
|
+
text-align: center;
|
|
875
|
+
}
|
|
876
|
+
|
|
877
|
+
.app-header {
|
|
878
|
+
margin-bottom: 0;
|
|
879
|
+
}
|
|
880
|
+
|
|
881
|
+
.app-header h1 {
|
|
882
|
+
margin-bottom: 4px;
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
.app-header p {
|
|
886
|
+
color: var(--trie-text-muted);
|
|
887
|
+
margin-bottom: 0;
|
|
888
|
+
}
|
|
889
|
+
|
|
647
890
|
</style>
|
|
648
891
|
</head>
|
|
649
892
|
<body>
|
|
650
893
|
<div id="app" class="container"></div>
|
|
651
894
|
<script type="module">
|
|
652
|
-
var
|
|
895
|
+
var u=Object.defineProperty;var m=(i,e,t)=>e in i?u(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var o=(i,e,t)=>m(i,typeof e!="symbol"?e+"":e,t);function h(i,e,t){let s=document.createElement(i);if(e)for(let[n,r]of Object.entries(e))n==="className"?s.className=String(r):typeof r=="boolean"?r&&s.setAttribute(n,""):s.setAttribute(n,String(r));if(t)for(let n of t)typeof n=="string"?s.appendChild(document.createTextNode(n)):s.appendChild(n);return s}var l=h;function v(i,e){i.innerHTML="",i.appendChild(l("div",{className:"error-state"},[l("div",{className:"error-icon"},["\u26A0\uFE0F"]),l("p",{className:"error-message"},[e])]))}function g(i){document.addEventListener("DOMContentLoaded",()=>{let e=document.getElementById("app");if(!e){console.error("App container not found");return}try{new i(e)}catch(t){v(e,`Failed to initialize app: ${t}`)}})}var c=class{constructor(e){o(this,"container");o(this,"messages",[]);o(this,"isLoading",!1);o(this,"inputElement",null);this.container=e,this.init()}async init(){await this.loadChatHistory(),this.render(),this.setupEventListeners()}async loadChatHistory(){try{this.messages=[{id:"msg-1",role:"assistant",content:`Hello! I'm Trie, your code quality assistant. I can help you with:
|
|
653
896
|
|
|
654
897
|
\u2022 Analyzing your codebase for quality issues
|
|
655
898
|
\u2022 Checking goal violations and nudges
|
|
@@ -749,72 +992,22 @@ Ask me about your code, goals, or any issues you're facing!`,timestamp:Date.now(
|
|
|
749
992
|
</div>
|
|
750
993
|
</div>
|
|
751
994
|
</div>
|
|
752
|
-
`}formatMessageContent(e){return e.replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/\*(.*?)\*/g,"<em>$1</em>").replace(/`(.*?)`/g,"<code>$1</code>").replace(/```([\s\S]*?)```/g,"<pre><code>$1</code></pre>").replace(/\n/g,"<br>")}formatToolInput(e){let t=[];for(let[s,n]of Object.entries(e))s!=="directory"&&(Array.isArray(n)?t.push(`${s}: [${n.join(", ")}]`):t.push(`${s}: ${String(n)}`));return t.join(", ")}scrollToBottom(){setTimeout(()=>{let e=this.container.querySelector("#messagesContainer");e&&(e.scrollTop=e.scrollHeight)},100)}async sendMessage(){if(!this.inputElement||this.isLoading)return;let e=this.inputElement.value.trim();if(!e)return;let t={id:`msg-${Date.now()}-user`,role:"user",content:e,timestamp:Date.now()};this.messages.push(t),this.inputElement.value="",this.isLoading=!0,this.render();try{await this.
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
\
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
\
|
|
767
|
-
|
|
768
|
-
Category: coverage
|
|
769
|
-
|
|
770
|
-
Both goals are making good progress! The emoji goal is almost complete.`):a.includes("decision")||a.includes("ledger")?(s=[{name:"trie_get_decisions",input:{limit:5}}],t=`Recent decisions from your ledger:
|
|
771
|
-
|
|
772
|
-
\u{1F4DD} **Switch to TypeScript for new components** (2 days ago)
|
|
773
|
-
Context: Increasing type safety needs
|
|
774
|
-
Outcome: success
|
|
775
|
-
|
|
776
|
-
\u{1F4DD} **Implement goal-based validation system** (1 day ago)
|
|
777
|
-
Context: Need systematic way to track code quality
|
|
778
|
-
Outcome: active
|
|
779
|
-
|
|
780
|
-
You can view the full decision ledger for more context and reasoning.`):a.includes("help")||a.includes("what can you do")?t=`I can help you with many aspects of code quality and development:
|
|
781
|
-
|
|
782
|
-
**Quality Analysis:**
|
|
783
|
-
\u2022 Run AI-powered scans for goal violations
|
|
784
|
-
\u2022 Check for emojis, TODOs, complexity issues
|
|
785
|
-
\u2022 Analyze code patterns and anti-patterns
|
|
786
|
-
|
|
787
|
-
**Goal Management:**
|
|
788
|
-
\u2022 Track progress on quality goals
|
|
789
|
-
\u2022 Set up new goals and targets
|
|
790
|
-
\u2022 Check goal violations across your codebase
|
|
791
|
-
|
|
792
|
-
**Decision Tracking:**
|
|
793
|
-
\u2022 Record architectural and coding decisions
|
|
794
|
-
\u2022 Query past decisions and their outcomes
|
|
795
|
-
\u2022 Track blockers and technical debt
|
|
796
|
-
|
|
797
|
-
**Hypotheses:**
|
|
798
|
-
\u2022 Test development theories with evidence
|
|
799
|
-
\u2022 Track confidence levels and validation
|
|
800
|
-
\u2022 Manage experiment outcomes
|
|
801
|
-
|
|
802
|
-
Just ask me about any of these topics or say things like:
|
|
803
|
-
\u2022 "scan for emojis"
|
|
804
|
-
\u2022 "check my goals"
|
|
805
|
-
\u2022 "show recent decisions"
|
|
806
|
-
\u2022 "what blockers do we have?"`:t=`I understand you're asking about: "${e}"
|
|
807
|
-
|
|
808
|
-
I can help you with code quality analysis, goal tracking, decision recording, and hypothesis management.
|
|
809
|
-
|
|
810
|
-
Some things you can try:
|
|
811
|
-
\u2022 "scan my code for issues"
|
|
812
|
-
\u2022 "check goal violations"
|
|
813
|
-
\u2022 "show me recent decisions"
|
|
814
|
-
\u2022 "what blockers do we have?"
|
|
815
|
-
\u2022 "help" - for more detailed information
|
|
816
|
-
|
|
817
|
-
What would you like to explore?`;let d={id:`msg-${Date.now()}-assistant`,role:"assistant",content:t,timestamp:Date.now(),toolCalls:s,pendingFix:n};this.messages.push(d)}addErrorMessage(e){let t={id:`msg-${Date.now()}-error`,role:"assistant",content:`\u274C ${e}`,timestamp:Date.now()};this.messages.push(t)}setupEventListeners(){this.inputElement&&(this.inputElement.addEventListener("keydown",e=>{e.key==="Enter"&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),this.sendMessage())}),this.inputElement.addEventListener("input",()=>{this.inputElement&&(this.inputElement.style.height="auto",this.inputElement.style.height=Math.min(this.inputElement.scrollHeight,120)+"px")})),window.sendMessage=()=>{this.sendMessage()},window.acceptFix=e=>{console.log("Accepting fix for:",e),this.addSystemMessage(`\u2713 Fix accepted for ${e}. Claude Code will be spawned to apply the fix.`)},window.declineFix=()=>{this.addSystemMessage("Fix declined. Let me know if you need anything else!")}}addSystemMessage(e){let t={id:`msg-${Date.now()}-system`,role:"assistant",content:e,timestamp:Date.now()};this.messages.push(t),this.render()}};c(l);
|
|
995
|
+
`}formatMessageContent(e){return e.replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/\*(.*?)\*/g,"<em>$1</em>").replace(/`(.*?)`/g,"<code>$1</code>").replace(/```([\s\S]*?)```/g,"<pre><code>$1</code></pre>").replace(/\n/g,"<br>")}formatToolInput(e){let t=[];for(let[s,n]of Object.entries(e))s!=="directory"&&(Array.isArray(n)?t.push(`${s}: [${n.join(", ")}]`):t.push(`${s}: ${String(n)}`));return t.join(", ")}scrollToBottom(){setTimeout(()=>{let e=this.container.querySelector("#messagesContainer");e&&(e.scrollTop=e.scrollHeight)},100)}async sendMessage(){if(!this.inputElement||this.isLoading)return;let e=this.inputElement.value.trim();if(!e)return;let t={id:`msg-${Date.now()}-user`,role:"user",content:e,timestamp:Date.now()};this.messages.push(t),this.inputElement.value="",this.isLoading=!0,this.render();try{await this.generateAIResponse(e)}catch(s){this.addErrorMessage(`Failed to get response: ${s}`)}finally{this.isLoading=!1,this.render()}}async generateAIResponse(e){try{let t=await this.buildContext(),s="",n,r,a=e.toLowerCase();a.includes("emoji")||a.includes("scan")?(n=[{name:"trie_scan_for_goal_violations",input:{}}],s=await this.executeChatTool("trie_scan_for_goal_violations",{})):a.includes("goal")||a.includes("progress")?s=t.goals||"No active goals found. You can add goals in the Goals view.":a.includes("decision")||a.includes("governance")||a.includes("ledger")?(n=[{name:"trie_get_governance",input:{limit:5}}],s=await this.executeChatTool("trie_get_governance",{limit:5})):a.includes("blocker")||a.includes("block")?(n=[{name:"trie_get_blockers",input:{limit:3}}],s=await this.executeChatTool("trie_get_blockers",{limit:3})):s=`I can help you with your codebase. Here's your current situation:
|
|
996
|
+
|
|
997
|
+
${t.goals||"No active goals configured."}
|
|
998
|
+
|
|
999
|
+
${t.nudges||"No recent goal violations."}
|
|
1000
|
+
|
|
1001
|
+
Try asking me to:
|
|
1002
|
+
\u2022 "scan for emoji violations"
|
|
1003
|
+
\u2022 "show my goals"
|
|
1004
|
+
\u2022 "what governance have we recorded"
|
|
1005
|
+
\u2022 "what's blocking us"`;let p={id:`msg-${Date.now()}-assistant`,role:"assistant",content:s,timestamp:Date.now(),...n&&n.length>0?{toolCalls:n}:{},...r?{pendingFix:r}:{}};this.messages.push(p)}catch(t){this.addErrorMessage(`Failed to generate response: ${t}`)}}async buildContext(){let e={};return e.goals="Browser preview mode - goals would be loaded via MCP",e.nudges="Browser preview mode - nudges would be loaded via MCP",e.governance="Browser preview mode - governance would be loaded via MCP",e}async executeChatTool(e,t){switch(e){case"trie_scan_for_goal_violations":return"Found 3 emoji violations in chat interface. Use `trie fix` to apply auto-fixes.";case"trie_get_decisions":case"trie_get_governance":return`Recent governance:
|
|
1006
|
+
\u2022 Decided to implement chat UI with Claude Code styling
|
|
1007
|
+
\u2022 Fixed scrolling issue in message container
|
|
1008
|
+
\u2022 Added proper CSS for chat layout`;case"trie_get_blockers":return`Active blockers:
|
|
1009
|
+
\u2022 Node.js dependencies preventing browser bundle
|
|
1010
|
+
\u2022 Need MCP client for full functionality`;default:return`Browser preview mode - ${e} would execute via MCP`}}addErrorMessage(e){let t={id:`msg-${Date.now()}-error`,role:"assistant",content:`\u274C ${e}`,timestamp:Date.now()};this.messages.push(t)}setupEventListeners(){this.inputElement&&(this.inputElement.addEventListener("keydown",e=>{e.key==="Enter"&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),this.sendMessage())}),this.inputElement.addEventListener("input",()=>{this.inputElement&&(this.inputElement.style.height="auto",this.inputElement.style.height=Math.min(this.inputElement.scrollHeight,120)+"px")})),window.sendMessage=()=>{this.sendMessage()},window.acceptFix=e=>{console.log("Accepting fix for:",e),this.addSystemMessage(`\u2713 Fix accepted for ${e}. Claude Code will be spawned to apply the fix.`)},window.declineFix=()=>{this.addSystemMessage("Fix declined. Let me know if you need anything else!")}}addSystemMessage(e){let t={id:`msg-${Date.now()}-system`,role:"assistant",content:e,timestamp:Date.now()};this.messages.push(t),this.render()}};g(c);
|
|
818
1011
|
|
|
819
1012
|
</script>
|
|
820
1013
|
</body>
|