From 793a04e508ecde551eacc6a013946df7fd4cc68a Mon Sep 17 00:00:00 2001 From: Kerigan Date: Thu, 20 Jun 2024 21:27:23 -0500 Subject: [PATCH 01/17] Begin webroot changes --- chipper/pkg/wirepod/ttr/kgsim.go | 2 -- chipper/webroot-overhaul-notes.md | 19 ++++++++++++ chipper/webroot/css/IBMVGA.woff | Bin 0 -> 9788 bytes chipper/webroot/css/h1Font.ttf | Bin 0 -> 6632 bytes chipper/webroot/css/style.css | 46 +++++++++++++++++++++--------- 5 files changed, 51 insertions(+), 16 deletions(-) create mode 100644 chipper/webroot-overhaul-notes.md create mode 100644 chipper/webroot/css/IBMVGA.woff create mode 100644 chipper/webroot/css/h1Font.ttf diff --git a/chipper/pkg/wirepod/ttr/kgsim.go b/chipper/pkg/wirepod/ttr/kgsim.go index 4b03cbb3..70618d45 100644 --- a/chipper/pkg/wirepod/ttr/kgsim.go +++ b/chipper/pkg/wirepod/ttr/kgsim.go @@ -64,9 +64,7 @@ func Remember(user, ai openai.ChatCompletionMessage, esn string) { } func removeSpecialCharacters(str string) string { - // Define the regular expression to match special characters re := regexp.MustCompile(`[&^*#@]`) - // Replace special characters with an empty string return re.ReplaceAllString(str, "") } diff --git a/chipper/webroot-overhaul-notes.md b/chipper/webroot-overhaul-notes.md new file mode 100644 index 00000000..4834ace0 --- /dev/null +++ b/chipper/webroot-overhaul-notes.md @@ -0,0 +1,19 @@ +# webroot + API overhaul plans + +- completely remake the bot settings page. i could probably use a lot of the same elements, but the JS will be redone. i might make all of the gRPC requests happen in JS rather than needing to go through wire-pod. + - typescript? +- better looks. i usually like to make things retro-looking. IBM PC font, simplistic page. should be much more cohesive, buttons and forms should pop out more + - themes? i was thinking making the background dark gray, and the user can choose the accent color. + - vector's eye colors? +- overhaul wire-pod settings API. use types rather than the current mess +- allow ollama and other custom openai-supported LLM things + +## things currently done + +- i have decided to stick with wing for CSS +- add box shadow to buttons +- change fonts to what i like +- simplify hr, i thought the gradient looked tacky +- dark background +- reduce padding under each nav element +- center things on screen \ No newline at end of file diff --git a/chipper/webroot/css/IBMVGA.woff b/chipper/webroot/css/IBMVGA.woff new file mode 100644 index 0000000000000000000000000000000000000000..1f1508d1d8276d85aeb98cd2753e79dd46584204 GIT binary patch literal 9788 zcmZv?V{oO<^FDln-E3^z#>Td}NjA346P$QAHaEtJZDV75W81d%&*xjes^`r!Q&;tU zbzjpx^Jc2%u69?FlmtKkJ_i*)0O>z#P6B}Zoc}*VQu3$5r;g+^MDQQ{#LkGN#3dv@ zecwJg&j0+F01PEnW>x?IqW+W1eZmk(jsDHV&d3n}fcymjK&b!#(51u{32-KEE+hcJ zm)TDZ^#8yCb!TA&{M1o>Qow&XzkPfFpe$@X%s)Rr^J7;70E)AeN@gUMW=5u;HN-zP z9G~F)dc_=Q`RV-hd4KZ%_D2CT4UuSR=K}hy`$+*lpH`NV0I%QH!Q@l-W$}{>e?oi` zW#@;T5$LlnM9QZQ_Y))##t*YDq2zkfr>v$AGGVgV#eAszlN_7fTn34x@m?-#(61QGz(3`qRH zbw=uj8C_i?U0wU1v#YBdkcX?1LWU#!D*@tb3T~`$iheAS7!*{1Hs@%t-xmY~2K-<9 z0Ei!0!DdVZ-v)a&t9rkTl{q&mYGtR_`d( zD115|W67t{YmpX)^8adCj*n03CRxCOdh|U;Vn3p?G6pMSEyD=Ia;T_8kSr{kNI2El zR3UDO@)c3@YT7#2I6KF*QD}Fv}gxGkHNEymJND7qq_Pkq10FS*uqu zsmg|S_opcghyST6N4Q|M1#b@waU=RS9P>I>^{R+Gvd3{&u3o8Th21c^%uyj?Gq+q{ zrGS+%_tUnN6U=5%3$5wTxRt~$S4zp&$I-{v$AD7VqY8p2-lB$-C=Nx5>!EX&2;-)e z?U&mwFUDxdRb&rK&sFdyCpuCWkc^pAy>$_gn^Z2FFqc^e4q(X)BKCuLK2L<)kB47_3AI%+$gcyAAV4GOc?PE>_xLXOq-Mhbanp(=J z#v3<^_#K*MVCX`VyrDaV#e_8Q2Q;ryBzeY_Jc)mpyfLe4$_RTQ`Y?hyYs8W`>Nr99 zm>JPcm=Qz`gDGl+R*%ZI=76($b-Y?%T^jU!b&_j2bsPm}b)15&IlPXHIsS?aX(Idd zFi8S~TXlk-X@VG&$Ei88*V3TxHIFa^3{RgC98ZsOIQM|l&Ril6_NG0!V83N-*7jR?n?%1D|cij0pf=quXSCzDVlpUElUJTRtJmzR5> zc`%VqTu0)zmD?|uG{C6SVZ2xRI0tJpU#SC5sW;jw9M@^2a#+cVPfN;*OKmVYs65SB z{k!IMf4&0t%ii3~=?#*K#vMZnmGXXyDQBVeAkDs`%6991eaP#8(@we?^y`6aDLH~S>a(Fn^H2!@kHQ_Bz zo^@DeA~oSOhAly!m8VW9KI46nc$mk6DwPMwIxO$37%#6_D?~L+A>$@U3@zfxmqi*O zjmaZ!{{xXweDEKEwrFQga!M#=4S!>}S`C$3)aWCIV2EE|*`we(6^ba8ig@sl8w1)& zAM$qeDOJ(1$2F7|Wy}!#HI|_;^cx9$xFJ5lZ@!W2EEUyRIJG>y+3!(Pcmkr6)1xj? z_ERyDgORMjG2WZhC5s8Iv@_$7rDWTs^7F4EDMkkK*Sg%b9!Ty-*x>x>> z=#729Yd>gxX}Fyp{2Yc;IL0k~jD8}gpBbph{ox>zb=kC8X0!Z^da5(o&H^c|q?g_L zj0?>;o9h~X8eGaMTRM(CVXHFXyICVwdB$S!>`W{n9ui|aI`#~dS9q))YCXh=Znousm|bh)cA^wSC4+ZoLm398F+~c$>nQCxvFyqx7S1% zaBo!%53d>@sRtn=7~T=rzKak9P}*vM*PT>ov2tJbIjd~dv0t-m^%Ll+YbSN+p$Abq zjFx#>tXD8U`@91?HvH%G6tVOy!xTZ zJ5i4kkQAP1N8;x~eayMupo}$L1xvFf_4R|Se6cw8Ek}XEh};rgB+|bNR{|rWq)M&n z_B9fHXsD>I6|^Wr2%>>Ijgpl4^tw-qCBTfDrC$AJOndZ1^L6btn})nrB648O@mwFgG15r)^1#g;&VJS&M@% z;@&u+c%A!J9;ldyiWA2^xw!V~;(2>8%6l6`oh}>(laa%qA8KgwCWd%@YEY>6@&SJE zyzf$nyWqdrMHF&7l81(3Y1$jVQ=9o?G@)yNf!OsTQlmF}Pr_{!HpaXQmtuUPU=|_e zK#|d~`u-l+s-&Yn6l&@O^mq^MF33Q64ZZ6xo}`cZ>tzpIL}*BE-4Ep@rhJz2D|0XP zsLJLZduvKUSs7P`$sVv07^IjPbH+Dk$;$M(FBz^MIhvXRdI|~R5qZD8;I92!X zR{-{Cu#i z;4dQO8f+KKg69} zv)Gy^^ssCV)=t<+VqKC1waVEBM$xg0ceh$PQ&7w8GCE(*x3fRG)%*4oF=7EJngXO4 z4hn>s=dlc&=a3NYcw!|p1kZ`%<}UWDj6Vwrz||835ffWn`=oOP{6f#tG(Y`C)^{8c zy16oEu+eglnX959@{qs()J&-`BR`|JWnY;w!Bg~HJw2+krSL7y8^)C}0A~{Vaj_%MqUmQ_@(O4haJiHGv)Hd<6K-6cxs9BXzZvs=f*ZeFvB^J`e>@@DS zjNdK#(om^v7gH_xNLmEsBm$Omb43V*P9t7=*J}{f#huM#qy%IT8e6Gf+1r9M z-=(iBPT@|!OI8=qe{JPa>M49&z&)FyEWxYj+@)Q4b<@8ru(=kp)`|D^FlZcIHh7G# zAJ2vQ9$D$ocR=lDQJa;K@XZU=Q|$#+FlFGsy-0Agn)ejrq zb%=WNv!6(RE9fetGSs5$3HPagof;&0EeGok7b{Ixo1cM6mV z=E!Q&t7+1diX1K|iZXQK-Ec$cFzjH|`evzLrE)xnP!oir!_Z1iM_UsjEF*-9@7Jf4 zqI}6Cd}H-NV_mMPKtmLmB@S(F+glnKRU!`6`fniL`qm0%wLu(INNjK0_;E9D+@cxU z{WW5J_C?Eqw?DLbyTw@CHWt*3v(RT>O|EQ`>QtUDgqPk=eUX4JIotWbD1f){mvyL@=}?fXG|p6pJzQlE1r~LEnOOZAMIT} z%ttI>$w=h)22os7*Tm9_h6i};c!nt5Vy^}RobRglE16G0A8VA6RLyr-Dbz>Q)K))> zoy3U4WU!xb`yprWpRr|yO5vTXDRvD#2xo3@!qA#8WdcbNyi9hypBQ#Omfq`8)s}r_ z$Uf6=N-EkY@WpSY&miE|YX5OLC(t%zM`SAuM|TfqNo83k>5obZ`gg3UY>Gvf@bSj_ zl3lTF8MmTZcCw)bsW>m6-^v(q3?NdYz>+@=d%w7V(`;N?15|G44NQ?6nD;i;Ez=A+ z7`5|v-vy$N=D0#FP#qMjgl$DXrh@W?LRYfe5#*+rIP*kau?*_^@z%rrZ(QNO!=Ysj zMqa6Iy0zwp)85l<&tOPh!9zJ3nGV5_X;a|$dXx25#wy6&k4Zib*(#@faPKkT!B-9} z&VUQLSM03LmyS=zq>qS}~8sq%eNp>bRpAS?D+r#3wU&@I;YukcTe&Dp73~ z9l0w}88SOo@9*o--SA{=4y@%E0i*Z7j-=Q!l~1qxt`1sM{}Pu9aLx|x|K{Q760fg! zmla{nmkcSBjfjnJr(k7~(=06iqx-Y4!JV;UeoCugd%=ZmtTGN`)Upo!T2Y+^E?M^* z&ahl=bfzqFU<`N#;N&PMM=338r>|+A!(C*O zqSxqJ)||3xf2FKabcIgREe$t&viVUaD?Y4>b7dGh&w;knJNRlqu;%-32 z4|c*%`8eh%$<^a(G&^@a7_FH@4Rgy0ptfgr8*SCAo!a+}G-0j(a$Z!R9)G&bYeiA5 zc1T{Hv)gAd?3r+oSr-GU+n(+9?rRZe2@5F>+X!F7*Mcc0E@{^aIRu5B!VfF42}$si z3kp~q=8dg-^E>2?cF8Cz8>ba};8gkkdEuIBm`Jt?Bd4D1{U(*mcWtwj5;^GLBWsRF^b%>V@ zG`m#5SR)tOGKB6QGBmRPM!O*BgE+3yE!om3jxZ2*s)#c_s2+aZA+d{zUR4A*LJj(}7m6*0+LWN3Cb`p; zsZ%)OMb%ACogdd86nM->wc10~UaFQsb)=U!7eubied^;whjdDGyM?~)Iw==zq8*n4 z0;%cFQ6vk37&gWd&F*1qkt8;<6GKJTh^k;mitUHzMflnOcu+90BCDby8?>9)5`=x2 z`Ui+=KJlRX_VtY8AH;D)e6KI{XCBi^)qx?jEZ?1BJeX#SdQgr{D)oPqk#VoTb&3ff zxq^NKXYLQV%V!>ls~ONsji9C@+$U8xISM2sY#u9cIS+(gsn~7*+Ty<+<6dfwT^{gy}D?l@I4+mA0uRTH`^9qd8C zscX`J&hTdTYKYXx8AJSI2nwokr@D@Ejt{p$zcy^!Di?M}{CGfM1$<)TdA~@qW|nIG z&8QbbH%@ruv6+`5_SXqp`>4w^YGc0f7-v^D2ZbPlmQ#MGU5|GH1yUU|s)WRKpJryh`;#_iT|WhTh;C8u%uj6@<6TzpQaz8w$#A98ZJMLE&*CxcxYV zv07zX*ht%5@nIxDWg`j_QsTU%efM^T#1{t|ST9w^Ze`Y*H>td^fmI%X4w1FkqmL=i zDU$S1?E{=p$%@>X(3KDoD(~#?t{O@wAh}Wh8F`erRc^{+r=c-Q@ZJu5Lm8n|Ok{en zND^Cm?kZ}&;P2&t4EinGP&pbEaMxYL6hS0*Ya-1S4iowHPV@HbKH^7>(F93Nq#O8+B&S5BqFst17BMJ`ky+?ryyQ<=4r zc=tdxr^7(hP#tr}Olxra{maz$oBqYKI0=!n`2JOZ=5tqOPH4Y_NheT(XYLP=O{}LE zfw%C8X1IFeLTS(d{YLD87YCiimRqy5j}UPc2HcP(3u zm>*q|&t7-w!)XFywQJv8aCo4)Kwf+uo4BVQ8&3op`jH3!yR1zt8!f#J?nfa5n#0ZX zjK^8WE&uA4c1F@`*q|qv;rD4CfJxT&hn|YJ*Mdf9n=+$UrR!-5D_HE^vy?Wgs|x2A5Ct04OQ;j?1p z;T7%PXL9dri8I3)=knY44z+w?0(Uu4u%&54Q*Y6^4N!CYKG*Lz900bpRD-*yLzJT- zn>(_l;t6od+SjBx(Om4YQ|&9;a-~Y_>hF&gDW)nZyvgYj$ml|HY2x&%>v0f0vO-QZ znql^$g@T+L)~M(wPE(YqmQd2CewO#UEK|!E8PUi-t&Rb;I@oOT8)piSOX1A?SUzBL zfJ}B4z2YbE^X&~C_k0VQeYUApkT$wKL`o-z`(=?wGV!PrN6vRu2l|k1YH9=6o{tk` z#3niKOgE1IXhK$0PJp$Bt!vM81_I$oDs#;H+*^Oll@K;=>2cIoZvt!BQek6=S3p zl1a%UO4_LD&~s}%Bp_U{dRA5ZkWZiuFk>jg3=edg5>0XCeH-K9|2jWW!`lD8Xn#o% zGMQ##k2`bBACR(tVvd*Dx%)oVP&bDs6J-$xa9Tq^BDPkjG>~!Dc#Gup(?cAVm07S= zNJVy~*O$*~ct`LU*SVrk(+cYvE9;}#m%{_n6#fK%wDz~vkM7LtUTZz{HPj|*30aTH|Gk%>p^`Buvw_~pGxGx$lnuH zxkRb`AdfVzOwXV#A1hpUQ2#Eu#$Z11ilMvc=z)Sz-IvX1{Ey&NQFWZ|W~@e) z)fwHMiule~%VzE52rgsmapmsZ)4jX(>r(v75OO@l@UUn~OVOiQ*b29|*fe~{!D5xb z`oJ*qhC)kO1=GKJi`yyWYQ;!W`j)DbM)eVruP7(K)GBm;3>B2eZ8SG%_v4ZKAs!Y~ zCPIAJrUgk5&A3p+3^XcRt#?G5hn>52G10P}MIIHsm`L2f#fqp*j09HiLuz9eH>mpW zf`r+T8}f`jV%i`${M}Ag;%B_e)IE@STodVC^}a7uVE{G2nxrS5X^QW2a0&+KY*EtU z0^vzt+KI#GsopT&l4 zSG#t_VdCeYU@&WVCK#d%RJQOqdJ_M_TlFF8y;s9%;M|y65c#KN_;?AK;r8452A|Q& zK)YqYJlsRM&@At=d5MAPza&o1GLZDM#oty>;w73|B{s%Dl7pQ^e|8L*`FMwNp_9XF z0pi6vhA(_amq2zig+vP*RanM@9%mv0o6P+`4@Ok3PSN)a?z6neaDTmC?WIMOTN(RW ziBj1*T;UaL!FRq{*neY0Y()A~r)!9$t*{vvrcQr`d`UW^pE$BV;laAUr^0wOPrN{i ztu(bmWlPMnq}dLxiNK+}nI&v$2fcT^9JCZ|dR!ob;=EAx>n}d`)?jX0R#$TF2IUO= z{<_?G-OIIk#>Y^>(u&<3Ug-{L-S~f-FA7cB)BT!~u=cFj=UbGD}?R3<6qFr^&P4xsBl~-H*#8kM~ z=x^;B_YzdIem{ja<*DgCY7XU^?J@xcMM=W))$-~IX3r)aw?ccoHF4avHVMXzkL&4) z+;E_OR$IlCA!9q1zsRZuO}k2B5>hp#E*}gg9OC=I23O~>G5opN(!@b79=;5rkw=FU zwtJ3Mr(Zkxj;Ig}g4z-`!Fr33 zBNx#le%6vQrLM{=lLc4VsImr4^rPQPih2u4Lu6I9q-pWHd;6zBUaJCQ30U=}$dO!a z>dO%^f27j0-WL4rMC}L&E~7W`+6N^n#i)P-UcGCwG`#!+FZ6Vn?M(^ zBZ?v$d6b2IUgb;hNQeMJD$^h9vM-!!$;?2uH3bo}A^ZK4mZMmvEjWlg(qRLTRX*fE zJE>uS86W?1Xz`7!_r)+`uLAXfSwK!mOUjVzK!C0X4LkPgU4@3!zjjAZTaMQh)mSF{ zIX8FmTh#e-%hv`JCSnX4QQAcmEeZmMl{p;(lx@#SsDC6W{(QBaDXC^gUX0eZOqVA2=M$Hdpu$DN zH58&Y*=KS5N+emrS zbYKHsD*Z>fi=WmDas58}C>Mz69x@?$6+5U&j(W*H5L*J?5UcD6&N$x~-&}3tlI^gIs_q&Hfkb>DZb4_#?+-!Ljd-Kt$4LdvX+ zo741QpbqU=4JigryKer!K60~nStZM(%mlYi=%_>^XO3~GurF!QLl4W~!<}j|_4da1V0hss6Q22*ke2zx%QNf2 z%U`hS;^FDz@=fhSV`Jrp$2&y%xZ5Ljqv5u;1OBAImurD*@gYiJ(!H}i@FL^cpqJ2N z0+dmZFlj#{j4~iZZDn;t9Cq)IB1(@`ka)~3L$2)%^eU!P4p*VoMTxVkKr5@%TS_lZ z+~jF?-W*7j+FZnE?)ptmO$4~|V5`ryrW7~fc|SXy@Mhcj{wqWg8HuWs8bo_)h)Wzu z-yFc)qgKw19B8BIX1ql^#&;1^WF>^1)&1v243zXL2SR$FE9<%0Mk%qA(l5mJYYLQQomZPyIQAy63d7EL878s%# zSDk~dJ(*1NE!H_k4g`_%Xhqr;(XOVo-U?B!`h8lZJ#2Fk=xcf!6_OD!22)((`1p(Y zA4H8c4teK22f&C->uuVYqw4mWlKaL7HHU@IYefOC?Us<`0vdu%Oaoa`M!0#bsd*Wn@e>*uezuk>|ix_KM8O~;H)ZrHZ1D>~|K7UO{X)=Ynh7#!gA)n9Io@qy~By?~Fq<*n#_FSc8pm9Ukq zBNP2S7fjt3PWy?se-rzr=eh)}&W7zid{t8OZ3+#+cHSihiq>>fY;v%aK*AJI`JAGg zcSb?bb=2^VqbYat`4-Di1GrC0yWs?}AsH{TNTdamLc=Dqa+l~W@d;cikgnJFHeKrB zb)W7e1K|;0<35!sJsm-{lxTMy&pmCG1JBG4jOa2kU$3A#<6@88EdJ~l&`Zz&u1I18 zP1Zmw=ZAY;w68#Zlg({wZ8MWQ$D|O3#QG*o^GA0ZZH3k$bv8tvHFZ|TSA?qSNp2Vj z8Q+#6@Ama^!uVnxh~3yccR{I z0$tD}lHfiniFhFN_hZd2vaD^`tSuhjLAk$O^nVA4A5+^}LcCgHUOaxmcziRsVTrk< z5!?l+S&yk&{0<=4W{Kbr24B*~+(7$o$#_RIgTjkEg2@T?a0Yq0WfZR%Ca?IJFUgp% zSgRbz4)$`BPsBe&t>wWB+}^&@p^P>xo8Y?Utu+h7GiaSZ`E7BSZfh zTY_~S;a5CSOyg|EYZXhCLlp!$yZ~H@|t{`vUi{N zTI8P@@qcQwHBB4iM0gM^1zXXMdktjRuJB8vR*6Uhs3Gv1{ zlGaANlH(6!S=wk}g|*Kgc{A%D*s4EMvOk*z01%%&R*?VeH~Ix2`ilA$i)0+SFA@a- d067Yv`!D{VXgMD0;XgagibVK7>$d{;{{XkP;Ryf$ literal 0 HcmV?d00001 diff --git a/chipper/webroot/css/h1Font.ttf b/chipper/webroot/css/h1Font.ttf new file mode 100644 index 0000000000000000000000000000000000000000..6338c199e1d86eaec23fd27a1301a39d89d855fc GIT binary patch literal 6632 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 bk@G`C%_GH;;lkK=&W`kt^^Kn&8 Date: Fri, 21 Jun 2024 11:45:59 -0500 Subject: [PATCH 02/17] changes are noted in webroot-overhaul-notes.md --- chipper/pkg/logger/logger.go | 4 +- chipper/pkg/wirepod/ttr/kgsim.go | 20 +- chipper/pkg/wirepod/ttr/kgsim_cmds.go | 2 +- chipper/webroot/css/style.css | 109 +++- chipper/webroot/index.html | 416 ++++++-------- chipper/webroot/initial.html | 483 ++++++---------- chipper/webroot/js/ble.js | 4 +- chipper/webroot/js/initial.js | 2 + chipper/webroot/js/main.js | 394 +++++++------ chipper/webroot/sdkapp/control.html | 3 +- chipper/webroot/sdkapp/index.html | 68 +-- chipper/webroot/sdkapp/js/main.js | 1 + chipper/webroot/sdkapp/settings.html | 357 ++++++------ chipper/webroot/setup.html | 523 +++++++----------- ...haul-notes.md => webroot-overhaul-notes.md | 13 +- 15 files changed, 1103 insertions(+), 1296 deletions(-) rename chipper/webroot-overhaul-notes.md => webroot-overhaul-notes.md (66%) diff --git a/chipper/pkg/logger/logger.go b/chipper/pkg/logger/logger.go index 149bffc9..2a589258 100644 --- a/chipper/pkg/logger/logger.go +++ b/chipper/pkg/logger/logger.go @@ -36,7 +36,7 @@ func Println(a ...any) { func LogUI(a ...any) { LogArray = append(LogArray, time.Now().Format("2006.01.02 15:04:05")+": "+fmt.Sprint(a...)+"\n") - if len(LogArray) >= 30 { + if len(LogArray) >= 50 { LogArray = LogArray[1:] } LogList = "" @@ -47,7 +47,7 @@ func LogUI(a ...any) { func LogTray(a ...any) { LogTrayArray = append(LogTrayArray, time.Now().Format("2006.01.02 15:04:05")+": "+fmt.Sprint(a...)+"\n") - if len(LogTrayArray) >= 30 { + if len(LogTrayArray) >= 200 { LogTrayArray = LogTrayArray[1:] } LogTrayList = "" diff --git a/chipper/pkg/wirepod/ttr/kgsim.go b/chipper/pkg/wirepod/ttr/kgsim.go index 70618d45..fe7a8548 100644 --- a/chipper/pkg/wirepod/ttr/kgsim.go +++ b/chipper/pkg/wirepod/ttr/kgsim.go @@ -139,6 +139,7 @@ func StreamingKGSim(req interface{}, esn string, transcribedText string) (string } ctx := context.Background() speakReady := make(chan string) + successIntent := make(chan bool) aireq := CreateAIReq(transcribedText, esn, false) @@ -169,6 +170,11 @@ func StreamingKGSim(req interface{}, esn string, transcribedText string) (string response, err := stream.Recv() if errors.Is(err, io.EOF) { // if fullRespSlice != fullRespText, add that missing bit to fullRespSlice + if len(fullRespSlice) == 0 { + logger.Println("LLM returned no response") + successIntent <- false + break + } isDone = true newStr := fullRespSlice[0] for i, str := range fullRespSlice { @@ -224,15 +230,23 @@ func StreamingKGSim(req interface{}, esn string, transcribedText string) (string fullRespSlice = append(fullRespSlice, strings.TrimSpace(splitResp[0])+sepStr) fullRespText = splitResp[1] select { + case successIntent <- true: + default: + } + select { case speakReady <- strings.TrimSpace(splitResp[0]) + sepStr: default: } } } }() - for range speakReady { - IntentPass(req, "intent_greeting_hello", transcribedText, map[string]string{}, false) - break + for is := range successIntent { + if is { + IntentPass(req, "intent_greeting_hello", transcribedText, map[string]string{}, false) + break + } else { + return "", errors.New("llm returned no response") + } } matched := false var robot *vector.Vector diff --git a/chipper/pkg/wirepod/ttr/kgsim_cmds.go b/chipper/pkg/wirepod/ttr/kgsim_cmds.go index a148e49c..3684be8c 100644 --- a/chipper/pkg/wirepod/ttr/kgsim_cmds.go +++ b/chipper/pkg/wirepod/ttr/kgsim_cmds.go @@ -117,7 +117,7 @@ var ValidLLMCommands []LLMCommand = []LLMCommand{ }, { Command: "getImage", - Description: "Gets an image from the robot's camera and places it in the next message. If you want to do this, tell the user what you are about to do THEN use the command. This command should END a sentence. If a user says 'what am i holding now', imply that 'now' means that they have a new object they want you to analyze, so you need to get another image.", + Description: "Gets an image from the robot's camera and places it in the next message. If you want to do this, tell the user what you are about to do THEN use the command. This command should END a sentence. Your response will be stopped when this command is recognized. If a user says something like 'what do you see', you should assume that you need to take a new photo. Do NOT automatically assume that you are analyzing a previous photo.", // not impl yet ParamChoices: "front, lookingUp", Action: ActionGetImage, diff --git a/chipper/webroot/css/style.css b/chipper/webroot/css/style.css index 139e8856..6215095c 100755 --- a/chipper/webroot/css/style.css +++ b/chipper/webroot/css/style.css @@ -11,12 +11,32 @@ src: url('h1Font.ttf') format('truetype'); } +/* { + "TIP_OVER_TEAL" : + #00d16d + { "Hue" : 0.42, "Saturation" : 1.00 }, + "OVERFIT_ORANGE" : + { "Hue" : 0.05, "Saturation" : 0.95 }, + "UNCANNY_YELLOW" : + { "Hue" : 0.11, "Saturation" : 1.00 }, + "NON_LINEAR_LIME" : + { "Hue" : 0.21, "Saturation" : 1.00 }, + "SINGULARITY_SAPPHIRE" : + { "Hue" : 0.57, "Saturation" : 1.00 }, + "FALSE_POSITIVE_PURPLE" : + #e237e6 + { "Hue" : 0.83, "Saturation" : 0.76 }, + "CONFUSION_MATRIX_GREEN" : + { "Hue" : 0.30, "Saturation" : 1.00 } +} */ + :root { - --bg-color: #1e1e1e; /* gray #2B2A33 */ + --bg-color: #1e1e1e; + --h1-color: #00d16d; --bg-color-alt: rgba(196,196,196,1); /* light gray #C4C4C4*/ --button-color: rgba(75,75,75,1); /* dark gray #4B4B4B */ --button-color-alt: rgba(164,164,164,1); /* light gray #A4A4A4 */ - --fg-color: rgba(51,237,109,1); /* light green 33ED6D */ + --fg-color: #00d16d; /* light green 33ED6D */ --fg-color-alt: rgba(51,237,109,.05); /* light green 33ED6D */ --text-color: rgba(255,255,255,1); /* white #FFFFFF */ --text-color-alt: rgba(34,34,34,1); /* black #000000 */ @@ -50,15 +70,38 @@ button { display: block; } +input[type="text"], input[type="file"], select { + background-color: #2d2d2d; + color: #ffffff; + font-family: 'IBMVGA', sans-serif; + font-size: 0.9em; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); + text-align: center; +} + +input[type="file"] { + width: auto; +} + +/* input[type="text"] { + width: ; +} */ + +select { + width: auto; +} + body { background-color: var(--bg-color); - font-family: "IBMVGA"; + font-family: "IBMVGA", sans-serif; font-size: 1.7em; display: flex; justify-content: center; align-items: center; min-height: 100vh; margin: 0; + flex-wrap: wrap; + text-align: center; } @@ -67,12 +110,32 @@ h1, h2, h3, h4, small, p, li, label { color: var(--text-color); } +h2, h3 { + margin-top: 0px; + margin-bottom: 20px; +} + +.desc { + color: var(--bg-color-alt); +} + h1 { + color: var(--h1-color); font-family: "H1Weird", sans-serif; font-size: 3em; + font-weight: bold; + letter-spacing: 0em; text-align: center; } +textarea { + background-color: #2d2d2d; + color: #ffffff; + font-family: 'IBMVGA', sans-serif; + font-size: 0.9em; + height: 280px; +} + /* p { font-size: 1.2em; } */ @@ -98,20 +161,20 @@ a:hover { text-decoration: none; color: var(--fg-color); } - +/* ul { list-style-type:none; -} +} */ ul, li { - list-style-type: none; + /* list-style-type: none; */ list-style-position:inside; margin:0; padding:0; } .tinput { - width: 100px !important; + width: 315px !important; background-color: var(--button-color) !important; color: var(--text-color) !important; } @@ -122,13 +185,21 @@ ul, li { color: var(--text-color) !important; } +canvas{ + + width:750px !important; + height:400px !important; + +} + /* RADIO BUTTON ######################### */ input[type='radio'] { appearance: none; - top: 13.33333px; + top: 13.333333px; right: 50%; - bottom: 0; + bottom: 0px; left: 0; + margin-top: 0px; height: 40px; width: 40px; transition: all .2s ease; @@ -159,9 +230,9 @@ input[type='radio']:checked:after { } #content { - width: 800px !important; - /*word-break:break-all !important;*/ - /*word-wrap: break-all !important;*/ + width: 900px !important; + /* word-break:break-all !important; */ + /* word-wrap: break-all !important; */ white-space:normal !important; } #outer { @@ -171,8 +242,8 @@ input[type='radio']:checked:after { } .main-nav-parent { - /*border: 1px solid black;*/ display: flex; + flex-wrap: wrap; /* enables wrapping */ justify-content: center; align-items: center; margin: 1rem; @@ -180,11 +251,21 @@ input[type='radio']:checked:after { text-align: center; } +/* .main-nav-parent { + border: 1px solid black; + display: flex; + justify-content: center; + align-items: center; + margin: 1rem; + padding: 2rem 2rem; + text-align: center; +} */ + .main-nav-child { display: inline-block; /*border: 1px solid white;*/ margin-bottom: 0px; - padding: 0rem 1.4rem 0rem 0rem; + padding: 1.2rem 2rem 1.4rem 0rem; vertical-align: top; width: 85px; } diff --git a/chipper/webroot/index.html b/chipper/webroot/index.html index c805b34f..fbae3acb 100755 --- a/chipper/webroot/index.html +++ b/chipper/webroot/index.html @@ -1,266 +1,200 @@ - - Wire-Pod Interface - - - - - -
-
-

Wire-Pod Interface

-
- -
+ + Wire-Pod + + + + -