@kevin5251984/guild 0.2.18 → 0.2.19
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/package.json +1 -1
- package/src/catalog/subagents.ts +2 -1
- package/src/chat-parts.ts +6 -1
- package/src/compact.ts +27 -0
- package/src/db.ts +199 -64
- package/src/generate.ts +58 -27
- package/src/handlers.ts +341 -54
- package/src/harness.ts +21 -8
- package/src/image-gen.ts +2 -1
- package/src/llm.ts +400 -58
- package/src/memory.ts +69 -0
- package/src/mention.ts +119 -12
- package/src/oauth.ts +202 -25
- package/src/opencode-free.ts +247 -0
- package/src/public/buddy.js +432 -0
- package/src/public/chat.css +174 -72
- package/src/public/chat.html +212 -43
- package/src/public/i18n.js +41 -6
- package/src/public/index.html +1 -46
- package/src/public/mobile.css +491 -0
- package/src/public/mobile.html +784 -0
- package/src/public/settings.html +188 -27
- package/src/public/skills-add.html +8 -0
- package/src/public/studio.html +171 -117
- package/src/public/style.css +220 -26
- package/src/public/subagents-add.html +8 -0
- package/src/router.ts +76 -5
- package/src/store.ts +161 -5
- package/src/subagent.ts +233 -6
- package/src/tools.ts +124 -18
- package/src/trajectory.ts +72 -9
- package/src/usage.ts +10 -0
- package/vendor/protocol/src/index.ts +14 -1
package/src/public/chat.css
CHANGED
|
@@ -270,6 +270,12 @@ body.resizing-sidebar iframe { pointer-events: none; }
|
|
|
270
270
|
cursor: pointer;
|
|
271
271
|
}
|
|
272
272
|
.add-ch:hover { color: var(--text); background: var(--lift); }
|
|
273
|
+
.nav-branches {
|
|
274
|
+
list-style: none;
|
|
275
|
+
margin: 0.15rem 0 0;
|
|
276
|
+
padding: 0.2rem 0 0 0.7rem;
|
|
277
|
+
}
|
|
278
|
+
.nav-branches > li { margin: 0; padding: 0; }
|
|
273
279
|
.navlist {
|
|
274
280
|
list-style: none;
|
|
275
281
|
margin: 0;
|
|
@@ -394,6 +400,14 @@ body.resizing-sidebar iframe { pointer-events: none; }
|
|
|
394
400
|
padding: 0;
|
|
395
401
|
box-shadow: 0 0 0 1px color-mix(in srgb, var(--steel) 38%, transparent);
|
|
396
402
|
}
|
|
403
|
+
.avatar img,
|
|
404
|
+
.traj-av img {
|
|
405
|
+
width: 100%;
|
|
406
|
+
height: 100%;
|
|
407
|
+
object-fit: cover;
|
|
408
|
+
object-position: center 18%;
|
|
409
|
+
display: block;
|
|
410
|
+
}
|
|
397
411
|
.nav-av .avatar { font-size: 15px; letter-spacing: 0; }
|
|
398
412
|
.avatar.sm { width: 28px; height: 28px; font-size: 12px; }
|
|
399
413
|
a.avatar { text-decoration: none; color: #fff; }
|
|
@@ -674,71 +688,24 @@ body.grok #channels a.nav-row {
|
|
|
674
688
|
gap: 0.38rem;
|
|
675
689
|
margin: 0;
|
|
676
690
|
min-width: 0;
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
transparent 0 18px,
|
|
682
|
-
rgba(26, 22, 18, 0.055) 18px 19px
|
|
683
|
-
),
|
|
684
|
-
var(--notice);
|
|
685
|
-
color: var(--notice-ink);
|
|
691
|
+
min-height: 0;
|
|
692
|
+
padding: 0;
|
|
693
|
+
background: none;
|
|
694
|
+
color: inherit;
|
|
686
695
|
border: 0;
|
|
687
|
-
border-radius:
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
box-shadow:
|
|
691
|
-
0 1px 0 #fff6,
|
|
692
|
-
1px 2px 0 #0002,
|
|
693
|
-
0 9px 16px #0006,
|
|
694
|
-
inset 0 0 0 1px rgba(90, 70, 40, 0.2);
|
|
695
|
-
}
|
|
696
|
-
body.grok #channels a.nav-row:nth-child(3n) { transform: rotate(-1.1deg); }
|
|
697
|
-
body.grok #channels a.nav-row:nth-child(3n + 1) { transform: rotate(0.85deg); }
|
|
698
|
-
body.grok #channels a.nav-row:nth-child(3n + 2) { transform: rotate(-0.35deg); }
|
|
699
|
-
body.grok #channels a.nav-row::before {
|
|
700
|
-
content: "";
|
|
701
|
-
position: absolute;
|
|
702
|
-
top: 0;
|
|
703
|
-
right: 0;
|
|
704
|
-
width: 18px;
|
|
705
|
-
height: 18px;
|
|
706
|
-
background:
|
|
707
|
-
linear-gradient(135deg, transparent 50%, color-mix(in srgb, var(--board-mid) 88%, #16100B) 50.5%);
|
|
708
|
-
box-shadow: -1px 1px 0 #0002;
|
|
696
|
+
border-radius: 0;
|
|
697
|
+
box-shadow: none;
|
|
698
|
+
transform: none;
|
|
709
699
|
}
|
|
700
|
+
body.grok #channels a.nav-row::before,
|
|
710
701
|
body.grok #channels a.nav-row::after {
|
|
711
|
-
|
|
712
|
-
position: absolute;
|
|
713
|
-
top: 7px;
|
|
714
|
-
left: 50%;
|
|
715
|
-
width: 12px;
|
|
716
|
-
height: 12px;
|
|
717
|
-
margin-left: -6px;
|
|
718
|
-
border-radius: 50%;
|
|
719
|
-
background:
|
|
720
|
-
radial-gradient(circle at 32% 28%, #F8E7A6 0 22%, #C9A227 52%, #6E5814 78%, #3A2A10 100%);
|
|
721
|
-
box-shadow:
|
|
722
|
-
0 1px 2px #000a,
|
|
723
|
-
0 0 0 1px #5A4318,
|
|
724
|
-
inset 0 -1px 1px #0005;
|
|
702
|
+
display: none;
|
|
725
703
|
}
|
|
726
704
|
body.grok #channels a.nav-row:hover,
|
|
727
705
|
body.grok #channels a.nav-row.on {
|
|
728
|
-
background:
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
0deg,
|
|
732
|
-
transparent 0 18px,
|
|
733
|
-
rgba(26, 22, 18, 0.05) 18px 19px
|
|
734
|
-
),
|
|
735
|
-
var(--plaque-on);
|
|
736
|
-
transform: rotate(0deg) translateY(-1px);
|
|
737
|
-
border-color: transparent;
|
|
738
|
-
box-shadow:
|
|
739
|
-
0 1px 0 #fff8,
|
|
740
|
-
0 10px 18px #0007,
|
|
741
|
-
inset 0 0 0 1px color-mix(in srgb, var(--pin) 40%, transparent);
|
|
706
|
+
background: none;
|
|
707
|
+
box-shadow: none;
|
|
708
|
+
transform: none;
|
|
742
709
|
}
|
|
743
710
|
body.grok #channels .nav-top strong,
|
|
744
711
|
body.grok #channels .nav-top time,
|
|
@@ -798,9 +765,130 @@ body.grok #channels .busy-flash {
|
|
|
798
765
|
box-shadow: 0 0 0 2px var(--notice);
|
|
799
766
|
}
|
|
800
767
|
@media (prefers-reduced-motion: reduce) {
|
|
801
|
-
body.grok #channels
|
|
802
|
-
body.grok #channels
|
|
803
|
-
body.grok #channels
|
|
768
|
+
body.grok #channels li.nav-quest:nth-child(3n),
|
|
769
|
+
body.grok #channels li.nav-quest:nth-child(3n + 1),
|
|
770
|
+
body.grok #channels li.nav-quest:nth-child(3n + 2) { transform: none; }
|
|
771
|
+
}
|
|
772
|
+
body.grok #channels li.nav-quest {
|
|
773
|
+
position: relative;
|
|
774
|
+
display: flex;
|
|
775
|
+
flex-direction: column;
|
|
776
|
+
align-items: stretch;
|
|
777
|
+
gap: 0.2rem;
|
|
778
|
+
background:
|
|
779
|
+
linear-gradient(180deg, rgba(255, 255, 255, 0.38), transparent 16%),
|
|
780
|
+
repeating-linear-gradient(
|
|
781
|
+
0deg,
|
|
782
|
+
transparent 0 18px,
|
|
783
|
+
rgba(26, 22, 18, 0.055) 18px 19px
|
|
784
|
+
),
|
|
785
|
+
var(--notice);
|
|
786
|
+
color: var(--notice-ink);
|
|
787
|
+
border-radius: 1px;
|
|
788
|
+
padding: 1.35rem 1rem 0.85rem;
|
|
789
|
+
min-height: 5.8rem;
|
|
790
|
+
box-shadow:
|
|
791
|
+
0 1px 0 #fff6,
|
|
792
|
+
1px 2px 0 #0002,
|
|
793
|
+
0 9px 16px #0006,
|
|
794
|
+
inset 0 0 0 1px rgba(90, 70, 40, 0.2);
|
|
795
|
+
}
|
|
796
|
+
body.grok #channels li.nav-quest:nth-child(3n) { transform: rotate(-1.1deg); }
|
|
797
|
+
body.grok #channels li.nav-quest:nth-child(3n + 1) { transform: rotate(0.85deg); }
|
|
798
|
+
body.grok #channels li.nav-quest:nth-child(3n + 2) { transform: rotate(-0.35deg); }
|
|
799
|
+
body.grok #channels li.nav-quest::before {
|
|
800
|
+
content: "";
|
|
801
|
+
position: absolute;
|
|
802
|
+
top: 0;
|
|
803
|
+
right: 0;
|
|
804
|
+
width: 18px;
|
|
805
|
+
height: 18px;
|
|
806
|
+
background:
|
|
807
|
+
linear-gradient(135deg, transparent 50%, color-mix(in srgb, var(--board-mid) 88%, #16100B) 50.5%);
|
|
808
|
+
box-shadow: -1px 1px 0 #0002;
|
|
809
|
+
}
|
|
810
|
+
body.grok #channels li.nav-quest::after {
|
|
811
|
+
content: "";
|
|
812
|
+
position: absolute;
|
|
813
|
+
top: 7px;
|
|
814
|
+
left: 50%;
|
|
815
|
+
width: 12px;
|
|
816
|
+
height: 12px;
|
|
817
|
+
margin-left: -6px;
|
|
818
|
+
border-radius: 50%;
|
|
819
|
+
background:
|
|
820
|
+
radial-gradient(circle at 32% 28%, #F8E7A6 0 22%, #C9A227 52%, #6E5814 78%, #3A2A10 100%);
|
|
821
|
+
box-shadow:
|
|
822
|
+
0 1px 2px #000a,
|
|
823
|
+
0 0 0 1px #5A4318,
|
|
824
|
+
inset 0 -1px 1px #0005;
|
|
825
|
+
}
|
|
826
|
+
body.grok #channels li.nav-quest:hover,
|
|
827
|
+
body.grok #channels li.nav-quest:has(a.on) {
|
|
828
|
+
background:
|
|
829
|
+
linear-gradient(180deg, rgba(255, 255, 255, 0.5), transparent 18%),
|
|
830
|
+
repeating-linear-gradient(
|
|
831
|
+
0deg,
|
|
832
|
+
transparent 0 18px,
|
|
833
|
+
rgba(26, 22, 18, 0.05) 18px 19px
|
|
834
|
+
),
|
|
835
|
+
var(--plaque-on);
|
|
836
|
+
transform: rotate(0deg) translateY(-1px);
|
|
837
|
+
box-shadow:
|
|
838
|
+
0 1px 0 #fff8,
|
|
839
|
+
0 10px 18px #0007,
|
|
840
|
+
inset 0 0 0 1px color-mix(in srgb, var(--pin) 40%, transparent);
|
|
841
|
+
}
|
|
842
|
+
body.grok #channels li.nav-quest > a.nav-row,
|
|
843
|
+
body.grok #channels li.nav-quest .nav-branch {
|
|
844
|
+
background: none;
|
|
845
|
+
box-shadow: none;
|
|
846
|
+
min-height: 0;
|
|
847
|
+
padding: 0;
|
|
848
|
+
margin: 0;
|
|
849
|
+
transform: none;
|
|
850
|
+
border-radius: 0;
|
|
851
|
+
}
|
|
852
|
+
body.grok #channels li.nav-quest > a.nav-row::before,
|
|
853
|
+
body.grok #channels li.nav-quest > a.nav-row::after,
|
|
854
|
+
body.grok #channels li.nav-quest .nav-branch::before,
|
|
855
|
+
body.grok #channels li.nav-quest .nav-branch::after {
|
|
856
|
+
display: none;
|
|
857
|
+
}
|
|
858
|
+
body.grok #channels li.nav-quest > a.nav-row:hover,
|
|
859
|
+
body.grok #channels li.nav-quest > a.nav-row.on {
|
|
860
|
+
background: none;
|
|
861
|
+
box-shadow: none;
|
|
862
|
+
transform: none;
|
|
863
|
+
}
|
|
864
|
+
body.grok #channels .nav-branches {
|
|
865
|
+
margin: 0.35rem 0 0;
|
|
866
|
+
padding: 0.35rem 0 0 0.15rem;
|
|
867
|
+
border-top: 1px dashed color-mix(in srgb, var(--notice-ink) 18%, transparent);
|
|
868
|
+
}
|
|
869
|
+
body.grok #channels .nav-branch {
|
|
870
|
+
padding: 0.4rem 0.2rem 0.35rem 0.7rem !important;
|
|
871
|
+
border-left: 2px solid color-mix(in srgb, var(--pin) 55%, transparent);
|
|
872
|
+
border-radius: 2px !important;
|
|
873
|
+
}
|
|
874
|
+
body.grok #channels .nav-branch + .nav-branches,
|
|
875
|
+
body.grok #channels .nav-branches .nav-branches {
|
|
876
|
+
margin-left: 0.55rem;
|
|
877
|
+
border-top: 0;
|
|
878
|
+
padding-top: 0.15rem;
|
|
879
|
+
}
|
|
880
|
+
body.grok #channels .nav-branch.on,
|
|
881
|
+
body.grok #channels .nav-branch:hover {
|
|
882
|
+
background: color-mix(in srgb, var(--pin) 16%, transparent) !important;
|
|
883
|
+
}
|
|
884
|
+
body.grok #channels .nav-branch .notice-party .members-stack .avatar {
|
|
885
|
+
width: 18px;
|
|
886
|
+
height: 18px;
|
|
887
|
+
font-size: 10px;
|
|
888
|
+
}
|
|
889
|
+
body.grok #channels li.nav-quest:has(a.on) .notice-party .members-stack .avatar,
|
|
890
|
+
body.grok #channels li.nav-quest:hover .notice-party .members-stack .avatar {
|
|
891
|
+
border-color: var(--plaque-on);
|
|
804
892
|
}
|
|
805
893
|
body.grok #dms.navlist {
|
|
806
894
|
flex-grow: 1;
|
|
@@ -1038,7 +1126,7 @@ a.invite-btn:hover { text-decoration: none; }
|
|
|
1038
1126
|
.prompt-rail {
|
|
1039
1127
|
position: absolute;
|
|
1040
1128
|
top: 8px;
|
|
1041
|
-
|
|
1129
|
+
left: 4px;
|
|
1042
1130
|
bottom: 8px;
|
|
1043
1131
|
z-index: 5;
|
|
1044
1132
|
width: 16px;
|
|
@@ -1049,14 +1137,14 @@ a.invite-btn:hover { text-decoration: none; }
|
|
|
1049
1137
|
content: "";
|
|
1050
1138
|
position: absolute;
|
|
1051
1139
|
top: 0;
|
|
1052
|
-
|
|
1140
|
+
left: 7px;
|
|
1053
1141
|
bottom: 0;
|
|
1054
1142
|
width: 1px;
|
|
1055
1143
|
background: color-mix(in srgb, var(--steel) 22%, transparent);
|
|
1056
1144
|
}
|
|
1057
1145
|
.prompt-tick {
|
|
1058
1146
|
position: absolute;
|
|
1059
|
-
|
|
1147
|
+
left: 0;
|
|
1060
1148
|
width: 16px;
|
|
1061
1149
|
height: 12px;
|
|
1062
1150
|
margin: 0;
|
|
@@ -1071,7 +1159,7 @@ a.invite-btn:hover { text-decoration: none; }
|
|
|
1071
1159
|
content: "";
|
|
1072
1160
|
position: absolute;
|
|
1073
1161
|
top: 50%;
|
|
1074
|
-
|
|
1162
|
+
left: 3px;
|
|
1075
1163
|
width: 8px;
|
|
1076
1164
|
height: 2px;
|
|
1077
1165
|
border-radius: 1px;
|
|
@@ -1083,12 +1171,15 @@ a.invite-btn:hover { text-decoration: none; }
|
|
|
1083
1171
|
width: 12px;
|
|
1084
1172
|
background: var(--signal);
|
|
1085
1173
|
}
|
|
1086
|
-
.prompt-
|
|
1087
|
-
|
|
1174
|
+
.prompt-tip {
|
|
1175
|
+
display: none;
|
|
1088
1176
|
position: absolute;
|
|
1089
|
-
|
|
1177
|
+
left: 18px;
|
|
1090
1178
|
top: 50%;
|
|
1091
1179
|
z-index: 8;
|
|
1180
|
+
flex-direction: column;
|
|
1181
|
+
align-items: flex-start;
|
|
1182
|
+
gap: 2px;
|
|
1092
1183
|
max-width: min(52vw, 280px);
|
|
1093
1184
|
padding: 6px 8px;
|
|
1094
1185
|
border: 1px solid var(--line);
|
|
@@ -1098,13 +1189,24 @@ a.invite-btn:hover { text-decoration: none; }
|
|
|
1098
1189
|
font: inherit;
|
|
1099
1190
|
font-size: 12px;
|
|
1100
1191
|
line-height: 16px;
|
|
1101
|
-
|
|
1102
|
-
overflow: hidden;
|
|
1103
|
-
text-overflow: ellipsis;
|
|
1192
|
+
text-align: left;
|
|
1104
1193
|
box-shadow: 0 8px 28px #0008;
|
|
1105
1194
|
pointer-events: none;
|
|
1106
1195
|
transform: translateY(-50%);
|
|
1107
1196
|
}
|
|
1197
|
+
.prompt-tick:hover .prompt-tip { display: flex; }
|
|
1198
|
+
.prompt-tip-when {
|
|
1199
|
+
color: var(--muted);
|
|
1200
|
+
font-size: 11px;
|
|
1201
|
+
font-variant-numeric: tabular-nums;
|
|
1202
|
+
white-space: nowrap;
|
|
1203
|
+
}
|
|
1204
|
+
.prompt-tip-text {
|
|
1205
|
+
max-width: 100%;
|
|
1206
|
+
overflow: hidden;
|
|
1207
|
+
text-overflow: ellipsis;
|
|
1208
|
+
white-space: nowrap;
|
|
1209
|
+
}
|
|
1108
1210
|
.msg.you.is-jump .bubble {
|
|
1109
1211
|
box-shadow: inset 0 0 0 1px var(--steel);
|
|
1110
1212
|
}
|