From 50c1e25f69b2cda0caaebca38cd9e0b0b2e44c3b Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Sat, 10 Aug 2024 12:35:36 -0400 Subject: [PATCH 001/180] Created script to backport tokenizers from later versions of WL to 13.3 so they get included in the MX build --- Developer/CacheTokenizers.wl | 61 ++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 Developer/CacheTokenizers.wl diff --git a/Developer/CacheTokenizers.wl b/Developer/CacheTokenizers.wl new file mode 100644 index 00000000..634504a7 --- /dev/null +++ b/Developer/CacheTokenizers.wl @@ -0,0 +1,61 @@ +(* This is used to backport tokenizers from later versions of WL to 13.3 so they can be included in the MX build. *) + +(* ::Section::Closed:: *) +(*Package Header*) +BeginPackage[ "Wolfram`ChatbookDeveloper`" ]; + +`CacheTokenizers; + +Begin[ "`Private`" ]; + +PacletInstall[ "Wolfram/LLMFunctions" ]; +Block[ { $ContextPath }, Get[ "Wolfram`LLMFunctions`" ] ]; + +Get[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; +Needs[ "Developer`" -> None ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Paths*) +$assetLocation = FileNameJoin @ { DirectoryName @ $InputFileName, "Resources" }; +$tokenizerDirectory = FileNameJoin @ { $assetLocation, "Tokenizers" }; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Aliases*) +ensureDirectory = GeneralUtilities`EnsureDirectory; +readWXFFile = Developer`ReadWXFFile; +writeWXFFile = Developer`WriteWXFFile; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*CacheTokenizers*) +CacheTokenizers // ClearAll; + +CacheTokenizers[ ] := + Enclose @ Module[ { tokenizers, exported }, + tokenizers = ConfirmBy[ Select[ cachedTokenizer @ All, MatchQ[ _NetEncoder ] ], AssociationQ, "Tokenizers" ]; + ConfirmAssert[ Length @ tokenizers > 0, "LengthCheck" ]; + exported = ConfirmBy[ Association @ KeyValueMap[ exportTokenizer, tokenizers ], AssociationQ, "Exported" ]; + exported + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*exportTokenizer*) +exportTokenizer // ClearAll; +exportTokenizer[ name_String, tokenizer_NetEncoder ] := + Enclose @ Module[ { dir, file, exported }, + dir = ConfirmBy[ ensureDirectory @ $tokenizerDirectory, DirectoryQ, "Directory" ]; + file = FileNameJoin @ { dir, name <> ".wxf" }; + exported = ConfirmBy[ writeWXFFile[ file, tokenizer, PerformanceGoal -> "Size" ], FileExistsQ, "Export" ]; + ConfirmMatch[ readWXFFile[ exported ][ "Hello world" ], { __Integer }, "Verification" ]; + name -> exported + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +End[ ]; +EndPackage[ ]; From 9e0eee26cbbd8be847fac4033d37915a851f6724 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Sat, 10 Aug 2024 12:36:55 -0400 Subject: [PATCH 002/180] Save latest tokenizers from 14.2 --- Developer/Resources/Tokenizers/claude.wxf | Bin 0 -> 300923 bytes Developer/Resources/Tokenizers/gpt-2.wxf | Bin 0 -> 222429 bytes Developer/Resources/Tokenizers/gpt-3.5.wxf | Bin 0 -> 479441 bytes Developer/Resources/Tokenizers/gpt-4.wxf | Bin 0 -> 479443 bytes .../Resources/Tokenizers/gpt-4o-text.wxf | Bin 0 -> 1168236 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Developer/Resources/Tokenizers/claude.wxf create mode 100644 Developer/Resources/Tokenizers/gpt-2.wxf create mode 100644 Developer/Resources/Tokenizers/gpt-3.5.wxf create mode 100644 Developer/Resources/Tokenizers/gpt-4.wxf create mode 100644 Developer/Resources/Tokenizers/gpt-4o-text.wxf diff --git a/Developer/Resources/Tokenizers/claude.wxf b/Developer/Resources/Tokenizers/claude.wxf new file mode 100644 index 0000000000000000000000000000000000000000..98e2cea9b2140d78aeaadd610e34da749dcbca0a GIT binary patch literal 300923 zcmb?iMNl0|u!Z36Zo%Q=?(P;GE^yI{26uONcXxMpcLKrPEw}`i@Za)p{_a=x>P#=X zx~8l9oSxy8;P=RB>9z6(pSh9%av&jewwo?TB6IH|wr!KPxwKb*Q)}wcC22}Us{b`} zRj31`q6R?SazYYwq7D>plmgSR1R~+6SJQmK0(Vq;Zh~}fIoTI-a}xhj-&wBHyH_?? zfXmxS)czelq)VchaHl=PJJ$8RPksW%eBFt$+OV}nxv`+nS<~Nyr=ta`LeG~XxebEN z8V})8nHT-3O?`Q&M8n266*0nkM;|{TZd`;t8u7MEJXK;g1V#4?ZgPOF}jKi+70 znkMP4_S^4>ypPj&et3HdkXT&Rx}-ccJ93|YhzvA}uIZi% ztG4NyN~`WU25i+a*KeReea_5dRL05s5XVYQ%BDofWCSo<}px}n?=#bwBNN9V`X-e0rbs^^Y9su6!ob~|W zbxubBWzey&_N$z>=Q+U8ZSc_W0y7@DE5E#O+k3RXdvo{rWHb;7U+o{i5ZQYqyLqVUR1!@De(p?7u4Ce$aaS!xH>L$oqnx^A9=|8T^~S_kY5DR{%2S)TnCcI?OKl zBS2%dhJNV@z*RfbF;z#K?-0P!F%?~R@2LF>sr?#K{ZUZ;kx>0Xsr@=$cRyTr|6fY; zyQbnhrsBJ%M4VIouK`~}n*U0xKNz%MSL>2GruqkE!71@pBPo) zF*>sUH~6RAK@qee^8_68l1Ne`k|itV*Kv?Zz)cx5z8SOZ-6E#{&4Fgjt^L2Jf#o0m zd{_HX;D5a1@kzLS!R^ntUq@+38$Hm>!rpK1a&Yy9*_pmio^pZOk*k47Z<*2NkK3yI z;%jstY<~_8sO@-8W4Z3~(~zcX!UeKA;J*f_o7<3PbDakv{4IL4$ol8tEbr=W`%-po z4zs1;{9_#NYzD}F9X`J*cIY-;1R?aNAKD9A2i-h|zj&j@XBV);FnraK4- z;nBJg@d^8-+(S9khJeGYkMw#p08S4PmpLg@>Af|EMXban4f_^bP2R}|uK&%|W?#2zzylv_FoGar_gp`V~ z+WWY$Uo>TQJ=2J;aSc!A7L8WYnb#DAmM6&q9=&0BVLy4@L|*m-2cVdk55$Sj zVlG~m|GU&6Rb|lHFBc1t1rU7_@|yZoQ*SFFI0$R_F@NjCyF<|n|CO|keQ+DQH2Q4| zVt(>wfIAds)jRAno$;{9=LFe4E{WXDn6>}U`RNB9Sq73d(boj(9h{qAhT}4cG07N{ zUeY9?-@<7L_#`-#52Wt>Oqw4y-5OasV9Wmnzw1jz<}%>OAPvg8G2(K>d)80kX6sbl z83h>)?(O{b6-N1|+5+O7YBjwvA!&JmCq`pDVZC}ZGR))PW5|hROW(r~fp+G~x;^pY zB-i(OL%muJ_QZ2CUP{_J5gM8rD>!aJ;lzK(e?vz?Tg-C2``eEd=P2wl&*WpQ>e4Yp z*%LZ#gL;A99f*Ya_l4B`wYd2O^;vT2mrZ}J1Kp65;1K@`Nw|a^YMk!_Gp+EJ@H6E~k+ z$HJ(>OD8g4n*QLrqKr>fu}P7V1OrF3KJE!q+;T|r{HgRlHnJ7Z?kMs%gae*i O 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ℜuGl-=TDx!4UFQS_HSG!v#^#0=%p6>E1I>7LE$G&%2<6bf!wAJ7ozi){VW;;S?~BlQ7FoOx z;)!H6ZJ82+^L0||v=S{HeJx$?TMzq-Ybhi1GDI$aKRR^j4gD4a%L&J#+AMLihxA31 z#n-^#PK!wdbUC_;sN0&P{ZAM|I+l5VWYfA9yn`#toc{5J%V zM#&!FGXW*O<*%O&3=~Vll*TY26smxnthiW|BR{m!G8S8kC#I|q3u(1V+qn-W={@Kl zxOmfkY`uREo!5kBsCIiI;k4b7{ z00XneQph6Efk^LDDD0;*@~$$bq}XB*jLU|Ph9DmY@MM;|O(Kj>a!w|m$9C3a5&prG zQ}i#%py@bC{iYnvn-L00Qc8n>*)~V*!?*O9l?mX|J#D4C(0v*u=EZ8=K{5g@3N|^- zabC+Umhu?Bk4#M0N*t-3WSo=hVI5LV4WL#n0}}6>(R?!7!C+Un6Am53%{>3Cf*PZy z{iXQ4U^|k}(i$(!zp_8s9qE~)8F;T7a$Kp?x68N5_5+P>l5P-EzkhR30lUIqyTs6j z8Y>A3bpVnuRineEh$fAlvFGse-)2~_u|y?o4oAdYrJ-Xori9+mu8*3JJR__S{uYTp z6krv06#vN{n1%a>L9s@uqxn-8m4Fi%lTQE5=8D~2`{W{)Dx9fFyW9rB$XmxaY##8V-I`@G}P&0Jl0Esm-5KMXiwr*iD`lO0tOXR26=F z9@JTOEpvr%@Et;kC;9F>OFhrqk^i$#>Dr6F>ArO~#mB>-PaN5AYBjn}@TA)j%l)W7 zHtn2kq+>F}ao}SUj?~p$sbu^Iqj4g|t^kJ#DsK20TUFg-c=<*(TKu zD!;9?DrLQ7XCQ={NuVOyQs1ExvjsPFHY>W=8Cm=Oe(eO<?Zha#%!4nl;nlrfG&uMtgNmAoh^1trvO2UPNmo z8(I;j8)?-Q(YTD8@ZAJTiqSgj4_wuAsaS!7#|mq@B7xI8G>-{6!~aI_Lwc>80*_~O zVQ(DRTOlA#I}-3ZCc8PM)>u!TSSZ3eL{$0|s(C!#RQAgcWb7DVHYSINpQdoN@-jAs zInb2?1rN*zyvt&lmh)L_@`kaX{!IqJts2s5Fr>~?sgYeDXzdJ0@2ne#)BxYv`Z6|Y zcY1IB@N^OrBxv;RMqrLpJ@?{t@`p&^u`F7ugp)(_C(asE$&(ike(w*5Ty;akCDXy4 z0kI70g=`CDrMJ~e@Re+oSm>RHhRB7}?;&V&yD@sFwcCkSSD24h@MV!RxuiS-p z924o+_fUHJVBS1ud*a9}Ri4lkAaF)HU7jAY1btG{m*i}Zxt~-A@1}*1ZV{nrgqwMY zzK$^5)PvYDcq#30%wG_jL=^cFGP23WER0A6!FzlCUW)0;6j()`jVI8MKSzY56F$O=Zm)eBPi|Nlu#myF-{)}mwm^tsQ3e2uTw zYm8V(ogfz0exLR6t+2bykFFF&qCzyb`~zKZ6ZncHbr7MQxslmFVChen2~>W5Y;)=# z+)orIM{sWS6kv^OWa?Jg+(56mh7qNe_ckrVJgGVW9UYF|q{+S35#Wx@k&8d0bDr|JA6q;B}GHjll)1PdLzG2chE747Ueu+ zUe2sLUn?f1mtU$ra0ePKVWRlRxQv%n+JsQ=9D-^XZjq$p&c4+w$RL3dHgpuTFOy+d z&DlGg!}-i-?(7ElAZ{DbLn@-l%M6!33}j@7)VthZjUvxy;}e!sL)2`g4i6Jkl< zL^q?fXInueWjXZDX#~8zWd^a-q+L0ghY1)UTr2H#l)o{wIKdm`&vS zq88$&?ARi@SS(zJU+!c&K^YOYmo%JW^0?y2f_P7$(V&{YqKAWip3mb;duB&56dU&_(HNEWK+&(8fOC<1oQyP4ne%xs3&Ar4!%)MdOOOqzM=-jp&MB+h;5g~hn! zu+|fN-;V*(A5T;*=0v-y2$B&GmdzU=UV7YH0 z%Gg9zLggk5W8V5c*eABYXG_>l*4P&5XZO9FOVbF{Lk^pP3|7DI<_G&YN-n8fC6zGtRH`pQmH(HEL*(8KM#7X@|HYYu!oy-U7hqig#1>4cK7N&5! zJ54;>NK49Rh#T6r@+uSqK%i9ZJkXEp4%#CXEE6Bf_koC|*PVfKkL{F3ei?$9l}4Cg zVQmhmNX%#@{`nPysNiyaaKd{wqp0!em2K=b0PiPVs5nQ{fWe{bGX&tGCc#&^MF}I$ zkLXOJ$)P8L4YZAOw`$1=X<`kDAW3*ju z6|<&Lb0Z;hp=E$`WEBchhT*Gmm`91`9SkW>g{7h+u?Y+wmle=V;prSNSUK(Y$RZ#q zAO{>`y|_nQ2wuVbNHb0N+Y#QoauK-%oyyE@RZ7w_wtVJ-5VT5&S9G-068QAbIuvbx z8GTaZVb8&~^Q>a!3iV~2@D{LcE?vfl=HyJHNoHRaBZXmqVzU*KV}uK{{F$(Do`tWdE7en92!HtP>z`1V=b|lb&Xe8fHqP*wwrt< ze=F7cpfD*tBHdEU6_+sc4T4n1LL);DMjh3&@SbAkP!LJ`VJH3tS8}h(EGp=m>KUF~ zKOcJcdR=3(*vkS`5O#JSViRCp%>ITna+WwzNPBRi>zidfrwn(2f~T^U?o5A5iQ{tn zUllonBDEe)E$0LdD2$*YxBcR0ZAZk5ms%8{FfQyHeNHEQPu`VA{j^_n$CDbVtZY(r zE_KFCFJzf>8Ty02f6wuD!QDBKHA$8Iut+#zc2W$1KTMg*n0945#x1u!uQfq}u|(S2 zPT`(LINDbkPs1H7X*cTAHE#pgqbRbQbMEvU2YF{J;-F&38z0-CmPi?&8^oA*v~-G* z&!%YeNq|^?(P{UR#p;^g8Or8;>DZ9VXik+tuFD0);R%~|kL%ht=z&UoXC_tU3iq#q zsxWGT5>{)=i|Z=WiYFnI@h)w;Zxb?iObx4GX!wSYrlcgb=k#;uV@ez&-p5=3y4(^p zp)^%b$>cLqDf4Mc6_#F#tsg5@2&1}^#?W!o?Z%r1T-Sk#4^((E^u$I~My@=`$vAfG zzk#ynSmi?ZiizyliK1e$4C14T?F9U>m27DI4L|f%Ul5!{L_QLs^T^n$c?#*6xFaxW z5#55UvA<oIaPRWt5T?_+74^F4^i^v>1iZH`+7h z5zXY^dwo_Mj|suC#S%rNlrO`(Y<}aI5(Oz}ng`_dP$4AFIM^O}G!nZ| z^LKEeJ<%HBH>~|+ILLLus$>ZD6>d2IEw6GM%nDt+0Yjam^o6P!Q5cf&{eoT}PN`(1e5eUTksqS(uFXO&&7Y zi?RyGzuOx9V#uJjh{Je!6s>Blqlni(NYLG|vnG&In#H%JPMd9IxSnxtJ{odQO*V=~ zndItNidl@v<#Z!s>Jd^=;j&UU%&YXFh85J}F0Q@*4kSh}-Kb&9Qqn>#4`QwrqG|lraZYHHK(JpT z=140OUnwf5wkHuRFcK^91ZwTneQ0<=L%_za@pnSSQUP3o zVNn#cjGd-At4fRrOlSHjmNWi1O;^zf2je;)-BG#wCgOmfWC_**&bd*|x-PH{A5$Ba z&@enW77AXPzib~@_rgmi0<6sLq}16Zc*$lDSkotB#&RYP-mGlUIU7bZ|F8?hVNlC% z7!(_43p;dMW@@7t^w0c~q83oq@sWwgvWlEgKPoaB!wf8!xFbBysER(fo&L)~XQ#)g zCx0UF*XHTKqzGCW%OFvTLJR13m?a(&m=;&UOQjY%9M-VTk(N=mu%6J1Y*Nkxm+<*5cSN!K1R@;?7Xvr}cl>0FnG zTq_oNXEHC>UWp~8!2)94(5z}C+us?0gZ}(eCALfO9r0;y-gtRxj6pC6^Fas?d>PD$_K66^TSl5n0NmhV)`!c*3f9LTXalOyfMm zkH8kxU~rgtZ**iX`cj_*`hPB}pE9bQcx zw(@V1&J@^)bM6JYGCwemb8Xm!(JA8&*~HID*_O z_|8Sf-~&+@e4Y{oML1t3y_fr~@joV2~*NPMXY+HRiMZ z8jI}xcY1ZMKaFpC4G$wa)xYGM97D)!gKaHM8T$B7SM6Lw!Rg;{(*c=xn2pZ1=eI*g zeH^%3)rxv)R96mlIoow`JS;iYq(x`CFJHZ4JJ}v zr7h8-&9YRve51r{Zzf%KP*8(5mi8ZBRz?u}#vq@z(?PKghrwJ;yXVNR7PHJ%tXY)U zbG~(;gkbi7vcP|l4J|^d8q8)>+>#d3n^8#Zao-kR zq`peBlzO5KQ?w%PVxR{$RKOMwM86|`%$}L$f0?VDso>n2edSZ6 zM5gy;(84~ePoW>zKV!ivUap2~`wV_`O)P<~1KSdpVbF6imI2qZDeEqL@p`zGSB9XI zkNzUy`Xcfst_esJPje=)hT5}Vu5Va4}S)l1jU8uFs(P)7@2Nq zt;?6bXJtEUCJ7(lmP}k>?C0K1A>)u}rk8!|m}4)i^%lzkTFE&Et+KG)&~stK<~y97 zOFd`aXf`|wA$3uRTjDWdf*UrtdITovpGSl2iNYFHIJMyg_x&PiDB1Qy%Jx@eeI*+% zPdg*bOIvfw-dXRO;1+mk;;f)HeH(NrE2#_A37L_6W4h~Gd4%@*u~B_zVkv8OoEc}|#FO@7u~%M^AU zVmvUyih*CIm+HlYiuui;T4SxU+-t)eUZ}f92_GlY1o5Szf=(eCGmbxY(RnoexdnH9->Vq8Hy5CB~1OO5F!!rG=E5!jVcQ)Ec;M z-gz$#URF^uqj8eaGm-3Wa)*6;$QqtK*@8t84aL{CFf!%!JmS7jyHaEi3>gs*q zdv6{=*K|Gj)~T3vU*wiD|3~;ZL(e7UjDjW)4rR4L0b=g_gNAlbmAqt~&~!N5c8Y6w zRf4w}WX5e+buGo77FDVxIM+DKY3emZ)D#|}4&&ver_*wwV|f}U^n?++-%IJq#_&!% zC0mVEphT<906AVdFHxu=3@_h2I=2O-*u#Gs#@=rO#{PXuook^;i!$hJpUaIFaMu3@ zE0~^RG|i4`TMfRqWedo7hD3;f{2Ys{`E60Ha!N|jtj_?C{u@Q|t-iWxjRP_S6)5Cq z*s!B6$Ve2$rKG^GffiB1X4?A%(@CJ(6V=WJT3GD)_|%A8(Jvj-z2;|fbmHQ7e?6rb zlPZ&PRWdT2GXt3)#3}2{wRpRaAH?5=r z!e9G9C?@hNNJ`bJ9{XMGtXSP(LMs=y4+I%TSR6C2Tfl9e!>B6wWUBOlyEuL5>YdE1NRC-nbs|{&Ac(Y&yELgu z6`qIaO{vilxdkYk@DD>TZ7^vRFRQ%xHeQETqJp&DGIbr}q5?(6Wc8G~yAU$=yxE`r zTPNkCZxu=|FM2as|8%(R@k`@n0q) z!MzATJ3lciSkrB+l`?~j{jhyP5>*=zob+?EX=?tDC2v~@DNgN$Oo=UB0YZBlj}Bt- ztd~quLu0^CDy|jX!aEF$6-gDpf11r~G}($UCpGpuU4{**fOUk$zb-<7I1jY!N2X+y zj=P%mf3zhc8U=zKj#}ubygoesl_8~RfgFBotr%K??@OcHF%}Q$-Ad9Tv2Yv}x{ZF$ zuZ>ky(Sy&PiBq9|xSV0^804DdwrXDD2h3Whw-!=oWS(b0H0WZ(LO7sws6##Csjt?2 zrWgE=)Q7~sCz)^aD zUp2l5qGkWp-Ei<3(fc+l=Z3chy^dfVELR#$~3DNx_1JX-{~pd8D`g({!-n0RK>#Q;?02(jx^iM zwhC4|jY8&zfm=7%uTPm!?BBk)a0##Eg(|k$&^#TEI>lp&TG0iAq5_$kjYNHwump%4 z3{cjMlBR5pzWB|O>CehBLWw+z7dVU1rv{NUms7CxvcjB7T2|F?#kT1MFLOK0y%@r%tMUDtl($C*{ ziGr^#CC}{C$3UY-_02K==YziQlR!*^47~taQ&Y(gxr$cl9>>r~t4UA%)V*GkQo1|Y z&Z^pFUKqz$jqcxhRag6JBlKG@_2ny-76irx5UYJYgSwcF9FPb%7I0=1qNtEbp# zlP4sNU+qqekg0i+`dD*VB*szov4LY0#21d$V98bq?5d=;6Vl&klMXgcub_8phq7Mm zX<6H-9#itvF1|J&`G&@`otM6DQXf+&X+SHQ_tDN9h%>|9yy;g!-eU`0O%VPad$zn! z@^m_=r}VrN-!9hMKJQnPU0;x4afX%}cGVf|%3e4t8WF^@ESgQ=s;s}uU5WVz?Ny~;3~b0K8FgVh9jqu_gN}R+S$GmCwpa&hIogj*?wl| z-{U;5ttR@zSOwfvx`3{b-(gyt+4~EeDl-l7h)mJ*rmU=X12?}3y)jDV1x!?{T9hs~ zG=6qG@abR-IcauIoL{d~FXU~e&y8{UFOx4G64s1-7732I+4#lU}S z3M-twV=Te$gcrA8)YbE%21!p%huPC2&{b2M)G-l@g=#E%nj-~*|_zFf$` zf}MPRbZHQVKvxEt?;4XsXR&@4Nr4LY>j0^Sicbj-YDIVq%(*@wT4H~{62dmE5fE#H zyZBJNt6EqBqx-D*->X4cACh=Qoy;u)HUmQT*YE2$c0Z1NqifJ#|H?`sq}~#admAr;o&axTbLZ zPB~4gy8ENZ9@^GPj+(26gRQKrZO7+SX^$i&_WhAzIP9!h!2@Lg)uG>#S?>&~}@g~Z^ zu2S3Pm_O*K-Qy)ZmCOuhZAmbDC8QF~cot{P>+{*6lu_BfG`(X0&vU-2$aD}1E81*H z-h;gH&_j69Smu$2n`PQ`i`x;$dHG4w_riK-oFN%RUgKbao;{85Qb{uBDdg~s=#rDd zF0-ad2PAnAM;nyWcN;T;6tRBgy(#A<-sxLOK{&f$y3~Uevn>$g8d(P zEv^GZV|3^EpHpoMioTC__~z1$MC$nzKdP#zDZ)?exX-N-+No0E(?{JC%7`X;F(aRx z%vaZ5$U$N`#3=Mz;~M{|A4x1eNNFnw;q<9+DTI||AnomM%aJO}jE!7&2=+o5+J=>l za{G5|oJWr3<6%P5UmGV!Lifo@oz4pb@~|q~c+|B$XNHx2Qu=gthDAd~zj~CvGGBzb zE%4=h(W^Ov34fp}a@t9sa1)8PQPXbEWggk3JYNE+Qo<)B6T^ zv^2JzoWmb7W@A1$p9m=q9=sYz%QTl)BU#^GO4MqPc(%H(HP)HEdigRqt;#N!;f-K! znw_rHz8|$lliNK1HTLX~=*wNdRgCqQYI|m6X#R7K_nGdYd`lV-^+Mj*!7C4kElJb7f&Zc> zvge)8Gy#McxdTG}cboDsw^!L=4IO2#eBDe^ez|6#dP8QdQP!3YT`| z`IPBh00ky<3vMkE-tFe@SS&_X z&2w0}$DW#AdXU>1n&ls?(={y8GH>(Z*-p1NQZm(Op=pUW&>RTH&L}jFo0zt$x~#PQ z1AOz@&~@qxYG=B4%GP@U8xQ`<`cnJvQ)G()y2ysPoh>lNS5u%g@m(CJJ1VYIwV(hPh(xeGq(L>21Uli(o7X{XA4)`(XdSjq>nVM$u)PNrOlQri$}Ro?261$hw{I@ zmwFu-$$#GkG!bAKE)z01;CQBqb6$B5^XDWUnP=!-6;Tv!}n;FgeE_jm8LRW?O! z=H@X)lO5L+@VM{XZ5cph)M&Bnhx%-k)zTOZ5pGf4SQWB`qTJ9;duinh-`F%(J&oRi zT~F=P0fOdb<2*-UMlzFJNA7YqTQqaxnncDc&b$qmCfo)e+|n~_Z)0V`a+>{&d`}ovBIfcz=Zjrd_p!R`EtO)U(!i?g-n!twE3UzZSKg zN*t2Q>MtSVXPg=M@mk1CTcaYHq_~%ip0#|-t9X0RJ9a9){pBRABK~QF)k6Qe8(X79 zc8?*cqEG2E8e*F}dnR86TdrRzi#lK_+gFcUAz_yc5IQpY%&B%Lbjq;YLM10IX-%d6 zxDBC26L;)jZ$ZDmGn)NDN~z2j1y{Hl!3Ix%tb%?IzUTdM$QUhm65_}BPcP1L{Mn)m z99!9m!_k>G@k-YT$^u+hn#5LC*HCLOOSO*GpkkR1c50`%C18^-cCcOX;6Fa@IN9Vz zb*Bh7Y~s^`N5v0-uz^!ukkJO+G^H2vx(s}JP0TkoF)1q{AesS!(-Z_0lJMkbY?K#* zdXpw-uf2)X8l>;@ID&2`{yXQMzn$DE9MjKOFk}(lnhd zo>C&6%Sh{px|mqIg1;w5wwKu^yra6&0)|Vb#yJiqTSX%bM`Rh|@1YBYSi5i6tYENv zs8@|Y%~kFIoa$41$%8GYiU`s_UUTONHG=MX;;$H_?Wwjh-9SBWld)~D23sz-Yh(EQ zh~dlzNIBcp#gXNs+Qt(8*ee|T4<$P({2;qzvmN3O+aPqqq)d`HYDw7H1xSR8oDZuy zV{>_{^q_+7&Wh9-*~P5zMJl}*-%Pn5%@C^Mg|az%vvEU zwZR)wPIob@vVPRW+y~~skcyIN(z^t>DjRT8?FEG&Nd}+qcjxP9zEYi%Yh~VW(wkP2 z6+bowu&>4du`?Ce<8g+kGw&K{!=RYozRpEYskM@8$KE*J{n3QZonGjBTnj1n8b@S1 z{~rJ;K-Rx3wU#y@vIZU ze$tn2Q@Uc=@!KSw+nLJYE#JJrB37oYXQrK3+LlBx##gm5Va`O4wJ?a9xyl4i%OfPN zW`0fQAi-?E@`|hZGB<{4?e?^Ex5lRVzWZ=SG&e9>(69)6n2BQ%T$A`H>4|?|Dt=rONRXEJy&q6mU>jf zjHJb~M}a&{Ad`Md68G3$J=5`I>5wps;yX4L)-w!M&oVnzdS@z)1_WAQXW=CWW3{s_ zlH8g0mTfb!*h`gb8A((hv)95@#K}*y+CId~lurd2oA>OQR^M9c zO}iA()HG9>B`WyUEpmHe^O~v52-%(HHOkC%(LODR=F2en3&mrnV zUi?7MDBg8y5#&sAT2K;FQxUlP_;AkBv;j;qFDbx1b#-WY!jk<&$>S(D=(|2q7AGwJ zXz`}|SARcSO*)0!C|cUwkbIn!%8WJ0)D|EC;{%UBWM3&eCScPEvKXZVqvVwpnaO>qB>>uZ5I@hd06*zW`89Y z^`vE#IEB?CnLH^NMn=0bUj-k}UhN|bEvjrX&pO!6+gxHybf>}?Y!Py#u#4wga`)%0 zR2k@!9c>4Gg)PYz`dYnU@ij`pKE=9hVx)sCvyu;{Cymuf<{m#bu*YOcBonK z;QcJtJ7TqPVeSs>%zxr(O2EWW?H%_#;yRA|1@;=Xf*=+iOJk834q6xr=C7B_Lzs=p~-& zXGDY*WD{ckM;B~3q1>@?wK-2FO)g)9nNvN3Jtl>5>kGh}@1cEs`qy8t^_GnbgHhhmdYyb#`sa^)RX3HJ+Oq zE@>HZTCqDit~Ko{f^N$Z0BsC>V=t-mhiqCN-e>K3TWV!?YVj@R$QEZR-L`VclmBi* z>l^A=Z$Q@R7OXU)5}Xnj;&*4Mu1JLi)x-ozGrrh^(n?Ct#rF>P1nbxkW7_zN#ipl~ z$k9DkIz`N(;$6n4hlEgdb-B^umwkGI{fq(Hsy}>oIam9#C6Nt5%B9S9L6Il(n6l)d z6QmQ)oVHTQtcS&~kW1y%&sasL`MJJz@(UlGec)!;7vDopGMK^LyE0|(k$GR4b)2ywayfO%~SIPgR{XV!!1gR!)#1@Qp(sVq<^1z zR#EcesboSO10(haq!Hoyd>uRJ^1%Z)`y5!AvG#9zcAwD-T*D(qld_qY3fFaJUf#ui zuWs7$Ey4MRE_i$vh9&cWj63?|7hSYTKQqH>6(6npa!!ikd0L%k=Odw(FxkS#cnW9A zzb5S06yACt(Zk}L3x+HMdjBOCt*tEWxZvpptOuQe#C=~+ru=nu;R4UJY#_c4=XfCK z0xm!;Zf?Q?o>=_&G2Q!y+BgPev`)Tu{5P;sO!#x?G_(Q4AsOw3|~r+~sbQVAW2EIbe`AtM0>I0i5I|D{s_nEKJrL7BO6O$%m^` zKT@qq1rXqZb#8_+zs^)8(9Dyy!98Gkk_Hj(q|`$8t-C0oWw`>gY;BWA6l!N_ z{J`VKJiU9@s>2Yna5&Ttp9WvumY69i*$aK7#_7>6Ti{d~{&ABZF@O=k5C?l7(5z5a zYv@nNA^#AZzre7D^lzLf3@3n}@Ys0zvy*Qe{}s^&Ycv<;NuW-BR?XUZ;&&cB#M-G3 zr;7MES5ZoE;T637x76!u9l(6u^7nPAwsMu{wG3Y}0illd6rJUJtXETK6KS87^gT4P z8vrOp1i5Q{Hv%4nV{EAUbulbJOTFivK{h`X<7X4$U~#mFpygf<1T@ zxB3$-s!-biETzjXc=Rc~>1VY7OTTbSj>5nG9x4*0xck|iueHeu3MDx$XR&vdIM_f)+@nYtZNx|b8zo`!$bi6y0?dz<%n#G_B^F~kb^eF7Bo z^W=?GTRoe&Q%D|-bpTnit73Cigp(O6$EG6lP3eN$o6L?_K%I`56ooxpa6CtXS~2VP zS5?Lk!+dv@NQFI@Q)}o@vbFEr_txBK`S)_Hmw7AxQnGf&y8cRJwoIu#%+8;SQEXAu zG*+Oe6JpvtXN=R1J6>XVqF$Yh;Wjp0bemwX{Bc@Uoksc@ z^IvM>NhW9U(V{v*(59{d0t}gYSCV3J@w{g4f0D!-DJ@ZDmubau0(t3_@wp1e!Nm`7 z(HFR}fb5SX!Ll=k_-j{WJuw8Ncivgu(GK9&@G^&(mXPR+e5zO1(RCI*)pa9a5((O3 ztLlXZbm(gJ&m4HxHW@oC9G3U$8jHeew+pK|4*Qd_sdC#Q@VZtX&2D7JKgS}%bUclp zWB*jvLL^L9K2MoNTAIFZYl#b<3YwaYEN1HB6+Twe>Qb@Ph#2e1RGk;y7Ue^}x7xO@ zHsO-WD08)Plsb~wWH3!=5q0`AjY;ztBKD|3CX`e2#%B~)IM6}nh-vW24HbFW(GX;W zx~iF;QI8lEwucQ;dXo~%sLknKIHwlQOrl~X%vzb7^zxCK1cizWNsWfg#n7hyqN>Z3 zf%BD~C6k;yC$?`bvuC`}cxJ}c8MuzEwVm%~qmV&rqdV#;Nc8vbDPMv2sGFEl4_|QS0*qRNo~+1UbaHhSj&V7b~e{#YZPf_H>hVpP%H_i z?ESu)SK%S7yGbFj-f7ic@QA*)Yn?>Yn8_bBQ9I3urvq!GNZyf2AZB|l2ndQNEIry$ z`@-(gRP27FzB;?jCX2dq%MLNPSv~FcjxqlYyb~T^h7AX-AzE#k`-&3?s&p^`PxFk8$(}hq#MJo`X-bl|D9$5w zOZB(2j^$--gEX27LM?bXxNi0;Qfy70P+$G*U5AnD8WwWN02v4JHvg z_jLA<+M2NE9cwRl;c@o+?4)ZwkyyrpfQ1DOqgHR4ts5Cu9q%%rDPT&-qU1Vb)KsRI zE?yGZ@lCdz_ZolAo{Z>J5jNxV6KW~6$+pci95QRA5R+dfPk5g`-}x$E+6Z!?EGu)Q zC0BW@U1G&aa$)|Fzxe@gb z!G!%uK1-c;+|e-;RUHH*S@x$DK2!W#pPr{keU^GVF6$hvVxSYjgLgJe^`_`_U=>cR zjtFOGc-jMrJl=cHY9f3Yu#Th}O3zNex-&AJf6l_HHfM8#KK+Gh(-y7jnQ8Yi-1>z# zDVX!Mti9ZKMCkM;u6}3QpqsnkZ}1VKNaCWI_v{QrLQaPVn|a13M+55w=a0)^r_f^5 z^#_C5Il7KqNw_d~K`DRiN6`o`PV;`YVI$e%dh)ifPLC!woXkcV1P}HLma42_+?-a? zA5oK-H3h@G{HyA12L+tC*_qYTnui*EwVj=}w9S1NQhpLTwe@pkPwfJ={E4BFTC!~C zg25$mxvjxh)v!DDTXmh0YT3F*pKrE~SBXO7kmE!Xszx-_yp2qJCe7i~PqFF1A0Gb{ zW7x4j)+f^Wo3p1d4o|z?0C+JIQ}5XkaHR{sqp|X5Zkd|2wm_A8aI9RIbernAs3^Z?xjWtzk zt?hMwVKS!IhT)od=B28pL&pd;m}2usRE%}dZgA@%y}E5YbwJYz1YvUPO@{kqHO2>A zZ`1}32C8a36`asW99RqM_J}RR9`V#m77xiYq#_uqiODo%?XQUop)dWM?C11Mv3O~7 zjf*>x;Af&q5SJSzn-3MX1~l_>CJEm3SjPzj|9GCvvMg)IfbadhDN( zj!(%`uW!XX;hq@GId_(Q>9Mc20ByzK-Eh|FA~QPF8YHvWSDx$N^=%DDE%&LnSQ=|eJC<1nR``q~%f0l2 z*gQkk9|MY!E1y9-;T_6=_U){~geP;&JtUIoQ$IltReetodeIq*7-VGH(fIQET|NVML$mJjqTkWMZi^JpMD2 zaE>%bkwCkS(#6^~L#TsdOo)bfZe)dYYCdL%qK-51qCC{@<(D6_1B7~dn$MJYSj`S% zwH>0I&y*sy#MfR&h_kQ-8ftbFVhAyIHmLPym?-a=Grn@k{Q#Nn5AfuqXn8*vwpHz= zY;4#t-Shf;PZje3;Q7S|z?e!*)!=x9UT5AmLY2i~dq-4q`&46zd%tmv}Q`0d;|EEmmTnIz&fj%2PUduOC?_{I*{Hn_C4Un>4cPE&+7TR zzNwdVh`Z9M$e*+67~_kS2c6A5dN9YvDC(KU=FxvKP@x778I`(Ag$$F?zA3s$E6|cy zwb)E@8m`us{9$WEO+3D;PI6qVIRIAI(y~KqkQ=vjCe5rrnNlLDlW!jXofRPH&?TDuCPhDQ{w*O<6hBNEoH@)X~(@4WImfcx*O{{#EF&&^Zw!0HJWPRy#f&UYPK zU21d{S*YG&b(O1w;^mU3Evab1!#hmK@(TMu+~eo%>tH42)opQ2rN>c9hQ0QzIR73q z@b#_fsT_6RGXpsH;Uj>INuPYj_U7h}3$UZ2xts6Lxo{EAJrXey(`N9bpfYCW~)ocnf!YPn}xglgA<mubBhXN69ZuS; z{L6iNmvyo}>`tRtmi%*+4OA|zY5^*8Whz=s1(CpNvG3T-j0;vg9eADfLuyfAu?yM2 z*y{1Z#$Bf^&b-%B?upSVON%ud;M zV`%lv6p)6iJG^rqZ&Ql`EYcX!GmFNoO*7`y z)w9T~?xlqkUbGpr6F~gv2iDUEWN&N=*ky=HK}QvK%Iv5#4o2xqYD5u^Qy6!^>5lK( zF&f7|cl@8}j};i#Pg^C2Jta8XswsJZV1~1(gEA1FtCgy{4ytEMpFzdI>p<(i6If;? zcj~1`SjS}N6Ui2OIy9CJpp!DjFWJ{&JgtLgvT8_9B{?ltV!DsrWIdatv@7oL)mP7J zI>g_pP&c*)doP%x#ve)_TzHiN>)cW`v|m=l$$DfC%F#f=A@zb#!uCw#xf7XblXaf?6V9>BQeA+RMsCY7j%+88{8DA2KiYEQ8+`I`4GeLCD2ZC5 zlBZ)&Ivp1BzIMw6O?I}vO}o`pT}meMA8#^|Y;Br-t2TXk_Uh6dmGv_^O-`*zxGmIg zN1nAMu)&94!IvU4(`!?DuBz|kDRm3>&|zQs9V;Y_&HKEd#u8Hz>kPZ)nW|7d+7VQI z@u92PQM{!oa};a4H5Zg{uW5g19U~LBNeNPR^h|ZHb_Ha%7>L>kn0J8d9NOtlVj zfHmjY=hzA?YJwUXIjU2Fn-`uPA&L7~ZeVf6Q(3v%Cf$X>Uf)_uS{AF*yPJK1bJ@WECT2fr!_Sln&@x;8Kn!s?=jMWlj?tpv;JswMm7^{}v^I+na9o zIU=c=*x}!GxaYsrS(q<8*UgmWCEPa!)pbof6U}Qkm$@H`a;Wn>!&`H6xOXv1qp=kc zTA;yU`nc~oFwLToK%)3+z43W+!gM`Sz@AZJ&TsizA#sn6)S|aY~%1@nPZ=}=1=$BW#tUB?t~& zS2D!xNI2tW*pkkA%+*ho!+~3JL5G?<_5)O7y%65P1^d<~`d#+G=T+^X@Qqq?I#kX)!?GbiVkl5m( z4Tx@^&Yve_FrgjKKOMW|!)F$J^bCX3#_~~*o92fZ>QyV=%&GXH&3){XqR;;8Bxdd^F+#h_O|CGNVR@)xFIg zvEtFJD5bC}7OS7e=q^30pPii^%ck~YZbczd%UbDobm%zuL67_!i|c(q8@5a$*Ag6* zN{{BMUMf>7`%Fm)O{>efGI*d~!6X@7z_hWzKAF#GV%6VezhEak&d%e9%nx!FciC;S z#^YlMa@iNUFsk)Bj}g#8V``aFJ3Vw!03Sy4teTb$#yqwy>Z)w$U7j#JR6ooHiS7FX zP2SKB)y6mp%u@G2zSJC!ot#C)$WtZ`)awcyhUA%y}bI91kpEs|-vO3w?B`PNwN z#v&bjTK5O*>S#(G@Io8?x6;$gSyeHM(hHt^>-fL1ul!k+d@v)!PG-Rtdy?*9?%468 z#^~941SnWluXBaNYV^gMCudgm)r9zNOLcJb)Pzd3MNsf!G8N5A+z}@IiSomo?zwXU zkf|MVAY4Ik-Y> zRov-`(JR$(>|k15jxh$Z{-N)nIP?c}+UY)9@^tywH*X9N*^4I8sb}@mJam+FVK#&9 zB^l7RF?ae!qZe|kn4eAF8lOu4l3r?buZbi(K+BxtV7t=f%mAWk7~> zlfmX4N*!r_wJ;-^OQ(Zel*tNq--TC&U7SMD%*x*I=}xEX%{`^c2=*B+yCZ2-xGp}_ zns!%v*?y`>_Vi1@gW!OWu_YfPFyuotDRo@4Xhh*}0RVkmB-o3dUwyKA1^JHVPwaa?{#FO5| zq}R5tNURx;lx?r8z>5bbNZ5=YkBcGG_f_AMtLm#%t7>;#koa$UW~hCn^vaMo>^o$v zP!oo0@7RglN;Rr|LN^sN#RJX}3t2ygs_)&Z-ZW|ko-(t5rD09452-(X%DftnFB_>M zokn_P;E4j(cHLXqUNKP!Q-3}KrFyWA2dkl~g(rkkqg|db|0l=4LaqZ-$))3qKNFv$ z_q{^!IT!!ICo%+U@cls;Am)tE{yx4g6_3WB0~p#gbAy# z5f7{7U#2mgnFhWX*LPT#9!+}Eb+W9fs^gQeufB9vv|UG00XDj?hQm+ZoOi*>+ZcaS zoXz;UbTP(Wj_Lv(hTGuA@l0ay`5imk$y#O9PXR!f?vp(tvm64aYsYuIVB@rt8Z%K7 zHJECv)i+BkjQ*(WTwG(I3XH&+Q;7qY&oqVBvNm7%h<8=<{{GXs^O99c8pPuUCaeVN z_=af`Mp*Lmukh|WnU9erRTAm)^z0lPi|u)TJ`(n5?ed^_9-K_fLN!ooXSqIo`DKkG zpO(c|Cx3AK>y*VRLe39`0hQiyvu+wpGiqi*>Yi!8&Z&gL8ruQ0E&xsSG($Z}nL6X? zX@Elpif11)r*9;sOI4E7X4dIE?uGq});8a9!QNOjFj)^escECsp8B!P&o6r2@>mCO zs6Kk} z6|_bw$}J~W!Oe`WKlD_JToMz(kIyTiOlugPC+XGAt&h7;Sk={}%J7jtO>Vs~ZA9Cu zfwDnqKL+|`?sv2KuJsg=%T&oH58_ys9kteuVz=gBQ#Mbc6CR@4V^7rq>yIR)s3+5Y z58)0u&SH-N+OkGg>H0eBk^HHKzLuBvkmT}=TBGF#mUcZUR!>$Ar$?vT;R;f`kF6)i zvuH{6deZIQ^O*(0tAEGtbjG7)VjU$api8!@nfM($r%+u^k}Zni@4syT_99i`PJU%q zIvELW{WO0a!L>|_TKL8$Cac{^tsW-$%x9P=D%6>WNoUJ3(D}32nk3}As@XW8ilv@B zkL7fRfzjuG&Ppow+7_uA0kDlt6hD;enTMUIV0(H>9D&e-1+0Zh?q2x7;i;TM={D3+ zD4B-Z(@JwZyApW8+^6vFo;nL;`9#4j6E#~~Eap%ufql8Jbt4cF#&twY3lFC1;rUqzMB^LV> z5IQVRbF;yO-HCM;7JE#ypGS{nrCSmv9jT6#{S|s@7>G6TXVU}*=b-_d9yzH{hCC5B zQuh~cKUCm|cl@2WV*)e$=a-JZ?$nJMUTa#&6#*RXy67(3Bn3krmaR@Id50Oy&}QKA z!W`~%>$#)xV6l#PP_1v$o_zY#6rJZ3;b^Byzh9$vkS!0Rlb_b2v${0C{Vi74wFCf7 z_RCbV&I?$f!Z_g(yUCCJm@VgP#BUZ1pFe+o&IPw=dphdkZ$QljWI9<+#Er6+si9?< zP82p;$6NDS#)amhp?Xp|QNV8ft(Dg;RH?xbnS4$r(OkS^Dt`bR+EiT71?+n~84Oj4 zK|!+;Mt6-T2=A{hyP0P#JR^x445U1H z{E7>H@}b7POH{=Q!N|J5kEBHzT2{9<6$WA#{`B$xP>a5AV<=z03Wv7A#)doA>nRvN z(FPe}35_$g<}lG4BSh}{v{};as!;Kl2|m=qrJC5ma_rbCL1dT>sA6jH$E-gDTON@t7n5Qz3rnY^EqEH1?eI`!UX>E-V8oL%M~0=TMIn8> z%k0QNmX`h3*$ih!2jc4d%P=nsS-zgMV%gA|HN^XBc~hHqs)%+nb#E)Pu8w1nRMB{n z4k2#Ppb2I%ERhE1@$yBI!AIJgbvs?tQpvkIw3m%NsFW&ld|uJ_)%H=I)fB?F)!5Fo*5k#alV$(Xypyfe&M@1QjqvmE8Q)i z_p@4P?A{JI%OB5@)q(EBFaQVBZOqmxP8G1r%@>N!(!dXe{k0;RpYNj~Wc1~ik1 zSfyX^N~60g%7ZQohP;_|TMn|UI{{lGgkYLb5n2i4(#Sh18dfUo66{fx#UM>WyX|eX zhHH>0m3b2sl?8VARk<6=VYT97ISX>-lTBTM5-JenOPYKLFe)`CmEQFL_;jDm-xB1Y zr2i^UNDErHy)9gJk{0@baX){Q{oucCo2;sRs)Vq(ayI9Sme;bnHQe1GgeohDEPfuM ztR>2t7hvt|KmL;w&2;Y$4dua%WQew*s`0or@otn_pA-fK8IsIEL#^Nh=IB${44WHS zbl3%0+$*&N>ZN5B^K|qM8Z&oAb@zILuwbq0XbS_|QfkotLS8FVt)r%@909~xxGF2& zWJ9VLxpc(^AxhC>ON3^P(@P(R?jrdeM$Rlq2G}&%=jpL`T@XRSZyTyKU{%`L_x;!J z_+x)>ycC4DE>TLA70D>YPUU~CJI4n>#5OLJHy~X&I zen!IE%~Aw?=PoGnZlAGEN8pKZ7r%QpliYkoK##uMWG3(xF@UUvb@`oz&AGEyeWzq^ z)#Q;Z2xLOfkKT9@r*^z_)JP(%6dU#2#yNb!$&O?B9pa5Ohy#`=J$xt?sjrnRNr7 zrQ?ulV3a2+dVcEk55Xw8Kb181qt#Uki0-%-Dw!bbn!c?yz8#saID|v@j#VZ{Xt#eL zbeiUf9&wZOHGwjYXmu9OBo%8kvJx`v1&dz$DZ?!K=mT);QZbI%l~)9NhuLOH_G1sS z%CV}MINjOSXeZc&KLQBrxd48bDB*ke{s=XQGDg>?`xFQoIicP$NG<5u`t`FHu> zh#W%1^gv@lRH=#sP-oHBs*=lZ%iBuZm`ybOFPxkD0FCXoG|e5&#++u&{!luLtb?rX zy58f(fcnmLk3c$DiWR(coc+iv|IR;H z^a8dM^|`bj&_TOo(c4szjd3452$L<|b30%h!)z=Ml2^rm6;wT)TQ5voT1o^P=M>`S z5atg6@{=aN={DZl^zrg0mb35J!^cH;QVv6*=tFNRQJxGnR@;)HQ|aBtp_PWYZ)TI! z+3Wifo`Kelc59lKoHbelDxaDf9TIdx^jwxZEB%la%nl8RXv!=X)*(`n0IzK95 z7wwm_o7f!DmPU!Kph$D=>QyEC6Cp<2Zq9XO-n!-t#zHmLh?nu!Q%_O*kA|wqEx12X zx_>$PBF-^AwIBYw^z+{CMo(R57H@wU1JtwXdD3->63(#|pz%o5(9ogAcQ;n;4VPk^ zmSW0(yyyhtKqKa7{XSHR*+4d{IVL4Tj3Ir0w<7Aq;=;n>f`Udq@K8H&sB}#Y$NI8% zJqKaY7;iTA>|Y?6?Cl%a4pQJQo3v^Xw1Vs>e?qntW zSe|Jsh?y!boPp@Du<(&dZ6l2NqJyqh$5Y48EV)MOTG;Byj}rJ%d0HyI!@m%oqFS#g zJMs)C9flk=&+2Ayb7PKC+bX8saBi%wxWVRNLXfDhtY%KjQ zP4ymqqjqP-^zO)B*Um;55c*8~qCoAXM35DfZ&JQ0O5I_fv>^3fCnVWV`hwRM>>fkhE$^*$F{dt23gNl`OhVeJj1ViNvn0J#)Xou#deEoR>8`N8gaY{{nKG zt=u6z^`Mzf;qk~dVCqy(-o_kB>$EpKDdownn`gX;hE3O1Hmpkih=Bdy9E%4MHY*l! z{I36r{f!=7 zT|qEzqDS{9dFDpe_S{~6cr}aG8x+}d0foKd*#7Tj@L7z9K^)ru`;6VDO+Cv$q=>@W zIo{s&Rf0W~Cxm6)b$YRse>$+x?XUk4IlODXfa77eG^mJYj~}bcdd8wakQtI*l4e|T zdx1hcA4j=oR#eDz&Qh1J@0^gAMKeli(v?#t-0)SWsXBHWfklrOPLLO?G0ul9{qyhfr6Q^fx+<1<;7xKPwM>D4-Ci~l+ zEPC$}Fc-{5PjbY9As%j`19%@XIaH#wE+k6D$f;scVHsnZPwbmT@36J#3#0)Sh_K4| z;-b&5$`56qAw}XCz9uIey@CI;gC0A`JN3X76V<&9cQgVA(-&d zCz^=3*^gbxCDgQ;y&gDb=QVUxD;U4I7UMTg|C%!uI5$L*Ke6COOQycLa#wB<(Ifjz zuW7?NnleH;nFf+@3064kMUmj_ArTQ6n4C}t+*V5m=JX9(!8mPC%3(W)^c6N$6Wr-C zG!Els#w{bApbO>f!x2CFmF_guW%R`LiaXN5Uv^4BjIu2vva^Xhhvr&(P5QY!<`PK~ zq1qwMZ>Hzs5XHC!YRr%>ITqB)98vIY ze6Nm&02>drlbADj*jCO)N+QgYq^~mRLGYc7q%!CW=s2AoYk|PhZ`eX6IV>myzF4)U zmuDa=ty(EEgT0z1F1E{aF%v(b8Lbin2E>*S!IHP(rau3rAw-o=kLm&4PzU&{}dxY=>v`H&~d! zK09mMEbS40D#1GZsHv~AOS?hWU|G#K+UuXRx;Pj$E@-u+32=M~-?{wpiN&RJvl@hn zl!Jf?v0U`+{4eVFd)8Nn-$Ikzp2r8l-Fu%?idp^H=~u}BouF0VUV}Av8pk!pHQ;># zF1H5eQDc>twP2kiphE!lP=t-NVD;rVny^+IA}?W|xHS{xq>v8Ay&%V&`W&xTgfkys zy>>+)%Upad>k6x3#1)|?IdT5C3`Z=xe&Vh;orT*o_7Zdy?j%PNdLxMnu9*%JN%-M z;#GOKAh}uX6r-b-w)z%~E(YaG?<4Advgs&RWCCo3!Jn(kLwj@L!VOUy1DxQ93j)FZ z_ujAQ41uS2ShF zTbO@_18Y|j0B=cQV_?L0|v zR;g2HZ(-UF_@}x<(bk0!D#R%t1<>t;L7&Vs?@4e@6MlxLQkku%yTv>17k?s~MJ5h2 z87}#xJ-&x0(=*TAfLzDqP)ZbiIS{7HcPP*Y*aAIxOIlr;aP8WyWIe6{Iti{cn*Jan zH0Oay(bG?66*o`4;2&Ylp=mDLW*JX~;9|e5KkP-!ntFNBaW`AQntpBUHgx;wqU8fA zU?w+jJaY^AWh<*!EsQK8+?1d%ETd-WLq;!O*Tz|J#LBMUu2x6vW+jiAHbjRiJsO_p zBI~28!R9Kq+9H$02ijZi137cDb->H)ssEblE=)Rl+IFu)sb=Sp@A2&OOc5w5K6vKD z8=(1Md}IIvY90sVGk=Eq+@vx&8t1&O`=TRWNV_G)y^RrqT}crnrLiqw%rfM?M6K;@hD4XSRjbG?e|-99 z$~;3^?YXy5F5HC_IYuX{A*w~MCF-dC_H(TCMEAkHXrO6_A@AG4GzhJ$ef0={2Le#* z4cZB=!hiawOS|L*!@kO@62M}h){~23mZ6omodKHO7iv?~2VQA7M0KB4px%8P?hpCSae{X5OHJiz zu=rht3-!GHk*&!@j!*Z!N1JI8vHMDw#Co$RokO%^3}p#OhY zy-(#pZo&&JSNja;B1Qv5iY4pP8f^cABb~g{c8q z6Ca(9^Ea&vU=9oT*|(;4su)dId_Y>+l}8fwfYj#W%U2(IBY$hI=HP>(paH_+35^1% z@MFQ_S5!VcV}B6Ql_Q!Rk3ut$$w(GKSal#Db|AQVn2;pva3iWay+GI=D)F$UkdDnl z+Rg(@yN={qkWDK}-Mz$O=CzUrdo2FY-K?Q;Anf^dc66DuAfi!TeujZGKq|s+W?EDicBEda#!ScJ@fv4yG+}-agE#^X)FD0&H7p89kLj z-!xdVF9bf34tc3hQniq#O?{t!sgMWlhIB_;`b8}_=)-^b-3Ma-mBiO-xCDs=07#zp z2zSr0EUU+YiGsDEYJMV>#z=@wS$xahP*rPjiC#EjD!Tlxgt>J0g2+Xs2p)hrl8E%p8?c`0%iu2NM7}#Gw25(eI&y2cm_d+7iZ$W6jODx?k4Q1cLN71J=nq zSv_;zSDI8Qi&xOQMF$=n^S z$UK{T-}qoS^$p#lEI6ZZrsuv3x(O2oEJ5v#g>_@s3JS{w@B#5in253Coy4)qcOY(g zPnUYTlP#7zknLT4+%KH|HBg0oq;Zs}%{2fPp79xdX*8;KdR4eQBqM4rgeduYs?y8$ zCtExRNR6Mn`3y4Ypyo$*`bu~+^S(j$)W7|@WbR@~xRPOz)@Lg&&+6eU=}60FE)SD{ zEXmxF10neZG%$J{uOGer0awLf4mVLrzDwDV!V$8%T_w$}mVgaL_tv4_kF@+}UDD>Tg-xfF(hJ!f!?55wv~&qk zN45T_<6!h4moWj^y2vb`)I)%#>nr)aBgmkGlRl?;#d?dbN2*GCTbOT6VtK7XlOuVj zEH=)AXQ;b1B423b!JnS~zgcnx!Xc;69^a1Zm9B_HWHrmXnsbcl17m#4Ycj5#X$8>s zD3Cgd@}g!!-9bQ20fm*cS>h77sa8Y@V#(R!y}UOI6<1ui_RNU{nyAzoId?HFdqH&iyNX)Bo{3+;8md$hl@V;s z!Le2n&kdy}uJ^&?O$75yfC7U!Vhmu9zB_Ks02WAn%|$qb8dU+1x8Kexn-YAh?BrmD z7S09_RXt?I9E9cHyR4my__b zrCBU>b$$u@R>Gc^Kfulqw_$kBDEL0IqenTj*RfD7?|;VXr@BPURC$i)XjjLB_-wB2 zT_*0_EY#!MxbZm*F{^GdW`^qLsF@Wl)GckPt4uOU)Gs$O&&*y}gjU)?T$9-t-5Qv$ zaQx6OX7^-44KWnUJhPrNZR7M2Oz=P%2I~Wde>aOhxufp%%LHv9&e^*7!sxXEhs;D4 zN-8^DP~}2tL#5I8%@^%uj%QF&-oxJD3N#UXd5gnx8+~;b%~4P!gnZEHP#v}?WOE;2VJQURSDTYW4(uk>8@61zQ}i*;U40z z$vZQdi6T%GxOeY=_4MZ%!=qJu=)PvZXL)PZ^4Yv59#6EsV}_cye7>r+*+z+ZuBH-Q z)Mz$zd38w@xU25ek^e66mL)sLCr2AOjW;l*4NQ91?V!hLt509m_8sP7(UG2OBF{}b z?7x!#hon#lcLP)XNQmK6SmfRC#Z!mDHJ zDa3GnzF7T%?-;%YAX8KF@7+<~kui54v3h!w-9sOCeR5a+=>mkKy05u{H5{#(c!dqS z0vZ{_O*uM913-u5zn%Ux+*sF3VhVz7D>fr;q_a5JDG`eGgr^TG;*TcslpPDVn``D- zj&9hq{T=%>(VoMYFUgNJLex~vGL{$J0-QvbFX5?VJwau0!D9-w6LE}ekEUug+Gnys z4cgVf#u97G0YMrBi27$=1UL1nj!K-GGpD}{0tcbM z7<{hPNsk1^3OeC1WS4#IY^Bcc*?+K18kD4JC1JE;$JS?M-U%|r4pweAwP>EXj9AM) zq4g5ro36eBzoJ4q=u>T~@uJM|p~_=%RN$u2;OO6msa zp$662{qrms1Y7hH;XYUbqU%u&B)fPOI;~p{$1AIAS+u=P*7Q8SE7kC4ZrS7`}lKSu|*>FP-ME>Uv-qDEjZOKa}=wVo5d!*)E4(9q^>znI) zGSs%mAV^t!R|SJQ9!rUxfEusQJXm2{b|yuj`Ad*)fxFG7YUeF7s3W`ME72-ru-yLEp$mjOys8l?o$Q;R zLZ2om=`f9@Qsv|CYUbsg1!~cW=w%4*F^!oGdK5MFbpHA*;}ZB_8~ZF$YJGumQts;% zL2thFOjdt7{K?{b>njKjz!?gsMQd zHsDk%>0{9hS%JxfX)+;`ECsRe%5B+XG9L2!UoLt{`ldY{YhhbiyzfdZL8l|Sc7@5z zb9!_FZoP()Up-X>_sx3uK#`}4DWj^mhK#E7$8xRsF}&+Wvw?ovWw-mDcSt5Oo4oa9PxvMrM=GtynZM$}I zvV&z59S|Naaymj3BDRj)GH7QcHmnxw8+XBlGb9mVy(4x1A1yTB`;64l_~B)J)3SK^ znCmWM(gpR`5;(1--liKLowE5;8|u9Cj!I1F@u4ANLINw)))YBWBo=^a`Cd z5N}6fxnuAH@q=!9uQ&!yGYRtOue^yY(#H1k>zeES4fuwZFwh{CDiSfHkef|A0+ls_ zZPF3C#wlE{8&7_Zf3k`;T{L3$xdYNgy6Y1?xd3ZXVpJ6zJ@p`~tZNfdo%mKg&L==9 zI?x2NYD2$W7Onp%_uE06aX!QT7BLAcuP$BA8c+Va$yD)v-y%}xNeBWWa-DJd@+&xV z*(v%@|D-OcW_d*+&n*C(@et|KjiIMrgh`{V9pntCI2Q3w50Z#Us=3H)Dgh=R^IQ;q zIz+vC*f`h=S#GSXX3=URi|*}|U6CBqW-8L6B?8gP7HFEg9sp}Bz1(L;um|F6sni{aH~M%v*JqL7KLUarQ_&?U*_s{g;3|{rCS_G`9zHQh&h!KE< z;0kKbva#=)f?6xGv64kt2r7v{%^tpoHDrh)^ozC9)6Oo~5kj8#?6oyp+4ra4S>)Ms zu%|wDBBC?zf&m^j?*K$6`&nYIeb>n|U9?@sh-4-!QXwAp_SM1#yRmAgnEK{vuOqVS zLLk=5Q>i5&T%4+>&c~|w66x?(-9&(L7v&SOhX5Fh%V&P|RdwH!?1N7%ep|6BQiJR@ z^*#>YKVzGlekeA(}v~PlBgYh=oRhq?cqK9 z;`0{#u)Ww9HmH>EWbir=+@&x3i>vsIFEuR2)zX#O*lVNUoFW@a2ZkK5UQ1ti4u~Zf zT4=1pehK-j;mYMr`MP|R(p9SBuGd->r;0|)_ms5kT5WuPA` zR$nQtnWN53%p^Jy>uL$oJDO;DMFw1~(m*fTO&tb-GZBm~a(BMFWCeR=C~RE}?%qLX zF7SNla@^9^bDg~8#AVAQuTe>b)~qcD&B3JE)kAI5I(Z>I5o^=|=48@bPUgCD`?4Nb zNar?G6&9mob<>3u7KBNy3tO%|>D=qPmX@}`Pd><^D<83vME$T`{S!&30Sc{pmgnux z@IDM;wbtu8DkgW|NH-9?a_QsjM4(#btzHpY-7nZLT9R0zPY?@+WA3jEz1Q|6FSW2f zHw&r&&EscGk0jMz$%GQ{y|VjvSz|&4wcN-Qwkt=1_rOyb1)n_>g(;VHGULk+A0hNioRa~KjT<#^A^<|7Q;dMs`j9B{2|1D>&4@%-`ExqI0jVQBBHxVBtD{bL`i$MQ# zLI|A*ot1TX>=l}`@qzTpknGO|lL>h}+|`NeH>lW*A1k{p_kte!z#4wB7=k2ob*C8e z(H4X4ytBWbdrrwo=m1}8Oatz6O`l9I(-+h8DfT~}#k2W8N%+$pG&>TRP&t4AGWp7h zs8Eb01w&76zi2+l+du?@U4R5ksB*inu`J#m^S^IM2__^CsURbZG?L-taMn~q-xX#?8HPvQ)2Wq!vG?$c z2UZGiILE7MJqd+)wDE?Bm2}Ndoa3%BS1NiM+e$U(X}eRoOV3#0Aaf{-{GUaio?(fH zZ_z1=K9cqENKWIdEGx}fx95n462-K*e1>kQt%m-lVy6&v6w>*sZIZ5Vd++}d$_|A@ zZY5t(3m|u2@>&YL*RY#&&_uQ1k$3Q(5e`^ERA`AOVoa~E~g zzChs;B);{M03iLL_dkDYb;xk&KAgXz{~~X!qpl=`E_uPC?Nks=ym-zAYoY-g3KwHx zb?Q1AN?|j(FFw+vE;P$twaAsN?(X@NYOM9eYeP1aYpN$-X{+nbwNP10T}VI-Mjb%(>P zeYWLnU>?!daOx`EBCzxo(@JN*uB3h5ymC1pzzUWRwUzZfa8oQRFI}=M4!=l_+D&$R z0RpMcRRx9`uV)yXyH{wmXQ}`05=Gs~K<2+hg8iOM0FbX7$<|O9x@T?>Nt=W01K%mt zkhO9bQlkHQ2bH+`PN}MpC}zZyNk==AZeZ#)4()uSag#i}hJZzipAYr=)Lmf5g&uNf zsX*jEeI;Aio{KM4u3WwT)?32f=rLV9!>RI~9%+HknYMTXhory=vV@_Yh#BfdNaL6t zuq(nUtjBhwvV@okpq=5=Ne>KuZGE|+XI+rOaea%4s0m>g#pRIq&b4Cf4y|Vx5M0d?3MS49DL_yU`*k-P>l=(R+(|BN zcnbSJ{@Ky71%w%I>baY!ls^HCT3&kbD{m5&1UX%VpHZ^a*jicO9xwndbm71}V|4Gk zNvo%j%Z&EcSlJ$BrQ~#&sJe{)dvCq_;5?Rj90tQbueZ^6A;5T-uw}RFuh4th=Iev& z`V-%AYi6pc;`iQrki~bmR*Si}Wfpu$`jM`*_f@i<>0gCV zP7YRo5qwKfnUKa`NxlJ3BDg{TV^E#;!wl^oXr)S>5BS_gW=EHzZngK=^|D$nH(pDH^aRs8XDYUpwf|IS`Gmnm z??ecK%++))#$f$DZ!UP?x@IORm4m1(!LrlrK}Y-i9L5l zz}jo<-5m^lj@9Z6m)trnZZ7~-n7oKRrL6Kr* zFV7}&zICg%1kGG^z%RKto?EI$m+bq4C)M5QSw%gU5s0q8X;-5?6pj*feRMJs0%<5g zBz@lCOQpFV#EPf>D{ZevJou4!rlpv(qURAucG+ z2mg@DvXrl*6FE4)0KUfEKHd(?9Mnqsn&vcz z`FPafaUo#DrQBHGvLA~*XVSH>pH-)hn5m@lXIv-&)$1V8`H}E9wEW+F;@pLp}I@O|pfRAUtKi?fp5x&{{PL z7+()q_O;r)P!ElcZ_}!ayXC2!PrQyFJ@5_=b%Nfi+Q&@7TSYbnF^$Z>+d9 zVM`L^L_LX5#+kkmo=>28In)<4oSZl$&1H7F$Fjk2*J1%`6e6nWb~D#*h(ZoJ{K~TA z=GA{sbH^#V#@|TFk8qWAm9`wFHFbqB(IG4}{U7xA{e2DR67DW7P4Rk37FVYTY+4&cz}y-zWbkgAD2cl&I1 zFmK$riR8qN6qqa2+6+7G0a{#sSHLaR&%C-c6>Ftz69n#r0*`iaIq!t_H^oL3u5dHlJt>O+cCB+r0yg8RqXO4er7lA_MR*q{1=RIsjQ?jTp6yRgKfN*|17qB;ET>Ca>rW&@x%fr!@XiSSYnwlxIU z?fYBV|Mt&*icMrU?SY{6&y1-Re3VgJJ+IIEA^Ve6FtxP2Js2Kl^*J^kDQ4NDS0$N( zRR~fmlDT52RS(XV^rw~uPJbyxpTc#jz1pd2FH>ku(hG(`o%|4K4?9TSqGC1D5y8r< zyaaR^>l23OUazaY)0RxDtm=KAIM&kOG*po{O;)8x5U8=lYRBCvQ^w#iivyEyw>C<% z)M%=W^ALOKZYUO0uq7bnr(OYhJ_%&wTFHK>-osF?fG5t|rjRB_ z1kvoU(4K1wCf#As{da}b_JetDKX1BgqVH#Z(m4@07aMJ#kZJ;FfH3tzdR3hMq{*h!Q zQnUY#x00i(M5QDQf8;uaI#=JW!HBAagf!586&)E1 zcQf}s98aC!#vq-CAa`0x@@x8W0?N*bnbw58M3Ov^fkh?j(1BDpTow(F>mK;ywiXF6 zjd7N-ypQe?cMcT?zTCM2R=`^0xp|*#ql@--=qqq{&|u36Z|P<+2<8A^cNSgOZ5ZR_ zyStEtps`t+8aw6!PV)sJXu~FYv7GPlCEIIjS#>xFwvW_n;;{RE`B{EahmRn#lsyTyf0*W)B`^Q(_md->3GIsRcJlTXCK~E%!n#f8;p-rhObXEM4b#^d=!=ENVyr;#%m}p=x zb8E)b0?4&}-W%un=n^Eb$U3HYV958a)6auaeA$v1Q^L%(niQPn$RM*qLg7*A;x$#( zXOBm4@tZHbgz}xpnC^rmAp7!M(l<_TpaC65O87wuw3)073umnBe(~HtVt=xDCbrmJ z_e~az)U%fw*;o8G#VzVD7yu0~BBCM7M& zwbApf`N+w%mUtT@`@LJN_lf};qnv75-GiYHRoZC#1{;c&cC4Dl3$%WE=#r7@{#M0p{R>dF_3u=9sv?h3OOq0>dOMURZ3WkJQU(tkE6ONDo0h?a;0Ps z=;m7Kq?E{?XhE8O9=6~6@HP9l_6HoGfFqR&yG~#F^}H9xZfjDw1|uYa?yo^o>@u9 ztBp28vT1P742)Y`1gLlPLS+O9;FL^13U2IQI{od_-?VmV&c&}GSSSsJm0d{~Rd4r( zO~v3%x2UZK&U3PNN17)Rf#^Dh64I)@#y6=UNMcf^V7(qoYGT}ND^Z>`m(kK1uV$!| zc~p$)sN?(VD_Qj3%MwT>+PP`4~*4~0!BoFFohdNB7R`v7PQ!ep5s(w2y3 z-ND-~PTcE?T%naMaK$5fV@I_Fd=NH0U6HW@u*VxfhkGde%dui-6@ILjNG?A`cLl2! zkJaeTl8UPFLa zK6pmK3QW;E8`h6K{1iEHUqv{K4fIvFxAwI2ap2y<*?zF1@feFaAtGy~d)A_xLCg1| zve#ImgzLK4Vk!F$lto+CEIw3AFjeP1a;TD+nk%^1c4>yHyAJYs0wb%lvC0p87iLfe zU*4R!fxE0ir&{<=Lp9E#s^^12X$X_EhZd59Ti8mae_g-b$8Q_=U9DG&=gKv zN^B&$18b?0Aq7w(Q#KY)sgC zMj!r|hGu_GUCwiv7An(ZDp6HgqLFnMSF@!t+h^uOC$5(?n46N-WbVhEemQXG(h{u+zSZRW6Bq+n)qdq+Imdi$Ci2pNC4Avf6{|*$ zz2w~=4TAQ!U=nog zIH^w9L$fE>*8BXCG1FK5P5@O!oBm z*xHmxShrwBPESyh(m4EsR<`st;VVVN(_wS2YiBpE$1}6e#zJUxl;h71%iwse^c!>S zhWKD#3h5!A#p$IFQ>uz9?NmzpUVXqBg5B0U7CKwdig=Yg5)tfW(G|XQA4&z*7)-w^ z?)Mf`W!Hh+s(p-FN7z|(?4cn~gsvF2^Fq(W_}x{frD^PKcgI80UiWNkdv8^f#=ZcU zdm=V11{dlQ^jUgOPaHh%_IBy^&K^-YTH8@pI&_el{@K@~6C9W|)#&3;KJk&T6wt3c zcvD&TFHV2eF5r3=-`+*VIiG=-&R!=Cy0Za4awF`R*b2BwwN*^J%Xb)MwS2dRpdB4V zsU5F(En&Mw$#9fZRm%83)nNZicB*L!V79QJBJO9!c?C$)4?Xnh-(*pTG5E~&2mwW1 zet79xP|6B4A4`w!>7AsP-+eFG0{)#yEO%E~5IaR@(rx*M(BfFVwCc0(?=}Y%CZmcttM}8^#Psr z7JgYLedw}P&)Rz6b?8=UwQ@p(rlaavcUZR%=6+gr7x<7XTQP^Rqea44_`ZzCIwuHF z)w%(ctmVJNkynG)T+IT0pW*yMDdZ`hB&dMsHmyQeHBNE`_Es_&YTb9H^3LPv5BY%! zL0^^gpCi9!p<~h_->t6gSuiQ^K&~N)EXez9d*{*ST2>u59ENbag59=>OIG9u zZSAF=y{QlVi&WDvPm*pLsjEBk`29TB{SX|Dx*B_tKXLk3s_LfNWM(6R=jL`+EAvRL zWH2W;CCR$4y)*_8q4=zZ4RZnl1Tcmc%W|P+dULD|Bfm(FLQTxJ@-9Fm>K4XB<$$|S^!cENL9jnLV;l$OD z=*H~lOLJt{gc|cFbebaO$%NwodnLEHjMH1sk`?y%U6U7q&H{TEfgSh(uZ!=a=~=XQ zPl_{q**XvI{v8oK^7iChKqm7Y4c&>BHw>^qOH9#c{22xlED17v15!gi#+8F!z7?dr zEbJYrHY*MRe8H2f&q)IHv=jdXvS6nwaU^#I$>H*T^(>}fYC)X=tiz$$)4x`|p&v(grx!6oig zXJql+y*1{FLJkMdpBg0kBhVCrb|bCa44~CybA4+aSm{J-qMypD!7(qMVMfC;M5NE8 zDLTbmHDIiHp|u(m6vcJ|VR`9|=iRWs`eQUDg6AiyE)vxMTltcml_F zAd#~~$GB36<5G8`0GOCjN6v)R)B&IsDRe67{7;T{E<2kIoygIUzu0phj@o8$ZK=3Z zGAjK1@Aln2245|daTYXx^0>p)au5^Jh>K6l7f& zEIA+oVTEEbEfJciARUSxLRH+I@YmhJx|-gdI7oE|(t!$Z3De`}s786ekd#II?DGtz zEmX$>El7wBwdC`K`oH&5V%Oy!cCGY!n8inj0SOWt|T z#_ZuI@AT$c2{T73PsNj7JO|3H&*wGOrNCuvv7o4=uIRx)G^<*P0#_l)R`>SAJC@3i ztE2HxE30dbyBqE|Nrt_2g*?C+IuxBGK=mk6TarQxuq_~AqMNwLY&?{I{Eqy9Hw6}B zZ!?X!rRJXvO792XYR7tc*L zBp@($305Ag#RMI~PrZA^?g!hQi=Q~ZgN=Ud$25QI^D4UT&zz6l3Ao0P%~wd1k+!|{ z$*kFu7kpKHiyxA%qPFyga<#96nLO?ZPvwgCF9{${=iw@X1BQGa^iJJvuJYj0%XZeI z>mL_D>vPCq3U#yNBfS%mozNz%atm?|JGwp9?DNTQ6EtZ&5a?qdzw;Wx$n>|e!(&OT zZFRe&0Tzf1nYX?fEFRiYjH{=m{i1ULK1USjj&X54{fX0WWfDdc5Fan<{!jon1iR%T zG8a^>NRvmezc?U32=LV^Z7hqf+T%gd_0b_tO#9sfElM5X=$MZ-vpc$nJ*F;lvx%H zs5!&-sA$~JlbK1i3rbQ;y#=!hH3Lv$2@9l>1K;p^_K(wjHbR##U(clBZ&#Joaq-Tq z?A(@zz*%HC9=Kdz~*o-d>{C<*-%Xw@Ce7#dZU3NRq?QZ6#1}R%uHtk0a12>w~ko*kW$Y_m`cOX5Wd8N7NILLF=E#Zhj6@kt@0?fwERfj!5&t z3C&B~VkyScM_4z-L^(OooLzJa+?I|dd;=gdy^|l6HsfEh{(8GFXDn zcNIT{N8UBWySGKsvs$n!&G`v)M*pMvEkOm+KwpiyGhl*$i93aV-M$>WY^@)#V0IXu z%_>&fX_t#UJ*66pKjy7=VoRTKJJ|BV)64|k&0J@EA)PmWLM;`(LJB(;NP8c>BwGT4PvYfs#I3Q4NOR~_^2cHTPgS~GO4;@OkSSxURnxO_Audh-n?A01T2i*4GrXE059S=GMvEl_2&%uN z5OLeb#Q;&}RRj%zKvIgcY$J>Bh?u`Gz_y5HU^Mv&R(uv-jVka*O>DAq^$nG7k2>rL z{BFGa;Aw6CN<;R0EewAXISVeJ~)tuL7r?L)V&6OoyI+;jRze9ZqLtU2H>Mkuj+EJ&ni>V-K#Y26)w(>4 zDU!`4{@1Eb)rHfktIA-WF?K1h{>UXH0uRw8vp$;$@dS||IfiiV^#7?O z-%&Msy->_~jtC`=IFG@O0u*=qihWgwUl3w%z#z|a%+4m=KI1@3jnwoo+QKG+-Nz zUGgmDc^8DCxI5tr44TT(yd?TCQU0t=*ZNO^?teH0k7|L@^K^LN%1G5zt+m~byRlF&Msu??Swb72Kj8j4014j@5+NLe)ZBdJ-~UK50s*$F%a&76CqKRzAS}md5MY6 z$Ii{N6Bjy`V5kAykSl93`bE%$6Wo05&A9WiRC}&nVm|C#b4_A-V5KHvVvoLSm*?Oh z7!SvQB@;W!_JFQl#bnrGv@5N^9kpNX13?kIgia+buhrK#cZ8s|j62tBs7q@_P>$sx z;$R!HRH1?j8tRgzvwwObEj5~4!AAm|pF92Ld=<)fJCs{D)yJ0Vd!`jN7<1|>ktu-HnvzO}avCF`7wRPAhCCORG1OZGoIVti|#${?=Ql zEF{n=LSZ#_q(VGZK4|8g@8#0aZFWo{q3H9daLsh_rXPCKr(o2E?9Oyke zqk%>M>7?%tTt{R1xX0|y<0TfCYb-IM{f<~skKJDI&>;=J;NMskFkwFjQN-R#aj;g} zoyBR7Xs~=j3H59iExp0;A7~@%vJMg2?Ii=a^@5|ToQoR|WGAy1sFP`9&pSwkv9P`g z$i;HJJS^3v01$~3431Bzw&c>)tJlx~dnW9szbwFxY+){xyEi}F(&Kw%UwMCh1x#Vj z*8|CLrq#Q54EE6wXFoX54J9-%Jt{9S6XKsCy{2dtR@~o*8Oh61?j;B*Ob>vEchEEihTWPD-kA)de_$0jmM0rheNEP-sbRgZyzn*} zu)pll7C;6Oj9dgp>Z-2x;oUe+7dT|c;{T=A{{g|r0uvE#VAi>Yi~V*w|K52O<>cOpxHzXe4Z zk8ELb@$hM}yGk1418i;Atg>&~MP_l^v^Ph+zz}OVoRUXdcH~xlK$z^T@7OKhEc%)? zc1vrT<&FcZ>&pHrS4_`B$Rn#tuxt{drfrhBS69WqL+*X>fXtPOrRY26~u^_ zcCzZR|1L=DBaoH|VpHkl;K?dHgSI%0&$>)_32{k-bz7yOJ&B#5r!f?6O6zqo=;|%m z2ao&G>iN>?Z%7;IHv}VvYTXLsCaX{T#Ct(G!nU2)iXVvX?nbb?pE1mPtvG^qDxJ{f z-ppR?PDf4bNbQBaJx)eG4cZV_UwI`D>9=uL6<80Yx7-4wb|tW)Gxo`(<-lB%SqW?Hq23K0Ms)}%e3)$Rs7cLfM64`I!X zdU>Jj-Gd4hg0DH+BEfc~tOk}h?ydyo_d=1QDgh)cV+~n52W92VO!VQw%fL1`SsN;MG63& z)zIW5mh&mFaHL&y4zQ%xqOF_=(pKa9yBsA2zDif)=o+gEvGh@3U?jV{mo2u=7Hc3* znM}_Y5SoFWNACaO=^rR)@4K4&iWHvbI?RhDI6Xkce$IY}C(a3_ksus<6-}C2%YFLv zSNwm44u$8SGh27_5&cTb+dFS$(TA^O@iSOtZBXk(53XyH@HrAQ3zxoQVKGUi-1ePg z5S{^!^%v-m6~b)er7O%C!_wB!T91IJ2r&JHpyTVgvilA?@(f$p)>>Sld7d-=tMK~i ztnY8{>Qs&qk*eI4N@_B5F*xtXf*oa`@qvGUP&Pgpv2nj6O3#npq4{E=s72d_Zy!zS zJ?I2UL%)im|Byj2u>8wcA5s*p9@6k(#uuyYwR+-Pr~gP2Lrh`qCh_ZO!YS9?Wv}7imQWUJB2x_A5*szj1MH z2j*@PSr?u8Nmp~Pid2-d%282ho|a9A)MO|(kv?S8=JUzYDd+MI!wHQH_f>StL|gWJ-M^vfF(N|J-I^%ymc~c zHZ9481r!mkZg0Qc6KmqE3{6-OYXBNlJ8S8{^&RR?Om20v=<*L`QQ!KdA#@BjwX$+$ zmGEM=us`>nAhG`(VP9H`xN%wjmF||vT)rHxtV;DQX$|F$b40Ib&pdwm-S=pRHnSK1 zS7^hIJUZUDRFA^Gc6Zt9S^QYTvptC4XCyv1RB<=q>TIk%ATL0C%S438gkRQ$LxhU^ zU|ME|Ryo)c?c7W1&a5vQG=L||rg2jMqGh=d*F==lc4@ab%;HxN+Mv=H`(Pl>MJV0q z4j$RhJ`{UszF)7Tl2ruVrH=Bxn@q?HU{nNnQ+zC+h&88n)r7mAOgwa3q+mF<D-|usXZxo!}iE+^pW8m5h~T zt=l?1IbIANDX}>HFG&X)p)8{qT01DFxikP{l11G%3OVSvC-N+@10l4uy1ko-6yl!W>^Q?o!js@DY>a0g|Um|iCfBOS*xSR3Wh)%#nG9Y3(CUE(ikc&3~dAx7}s6GhsXKBB_!Hxb5%&wl0dlXzec-Mq~0=&CF0vaqQi zl&Z)CnP2jVol7}bknQ_yqZ@l*ub#I9SzU2!Uf$i0pMKq%GVA3keIL8!y=LHKf=cL? zLfAkHCkHM&@U7EdwZASt`$Dk!<-y?sEpqg9HVMjIvXV}_kQ4ONeipT)72U%leQQl= z54Dj|{MFTJO~(6H<_6kLNUHIxs2)P0WiNF+8mkP{h>sG&D!v<*4LGs?`Ja!0i6s~& zbgvE7yR|^~lnfz62skhcnr}ih(@5uwr+<~zgLXec%3W745CcdS8?Ku4bM|%iO~xk} zyj0wJIci(ea{8sy&%hvs{5h7sU+sQSCW)KXXAnMxL80!7ltVa=%1nA_en~}GE6ZJz;Pzt z-;fY=m3bDkd+p4stH&c(JaH$JfuM%H{8*!>CQ0{>JYa>zAGrHr{4&Qnorqh16zm7A zIk8k9-+casEV{o=IY~N;< zH5eif_55>G35(^vTpX`#&*K5A2lp)z)=F81>ZmgY{1?A#_dVIzZopu*AKVcGdwJZo8zo9T!qimiBoyxW0c-;iLpHN(a_*yUd2a za{6^btHp*BuxW3D>lzP-o)0zlfx1speZAYy7S2q%7E5nxlIhlr0>;kum*o+Sz4AC9 zcPDa%#Widi#!+1#RF08if`s=5-Bs5)w}N66u2ed9%&C=RC-^k9R7N4?#=+JO(w7Zi zaS^1Zq|E!niONHX%~sPpl*Bx<7cJxGj~PlI2s#$$&89vZk;z?WE|gY?nt={|FF@bF zzfX+ryV-oY!)>!t5|zLozM4hj5sE5-+^GF?eC5)U4p0!M?1dL!3f=lI;vRGyOm#nh z`roJxr_vh^#d)%>q=MF`O#YnJE%RswiIzDDd>78cBo<3VocDDnpI~)Bxb&5K zZP_KLvIY0-*&5=$Vvj(gF2Aq31cC1ZNAF@kk_)XNI5FZfgGo^M4r;N7f~7O4>w=v) zZi1P3+Zs5)uBgeK&IHF_cO<)%36cd|n^9 z(=AooZlRI7f?*kQ>|J&Hvl1wB-!)+=%OnOA-@IWBg~<8s(4`8h7+VCOHSH7xhYRQG z9`)6eBXy-50}uOgIyzAELsIm;Kt0t&kSe=*FtVtK7|5v89ngf20wPjeER~BiK&Y%(njpU3<0yfQlA9Qpx3P75n^h;c2sP*q!zFOtVc2fb{kH|| z8BPM4cOY>~tK7ho+`RPypTwcyZ4{y%T8;nK;#|~8{~R=1IbAFHA=xXRC^^LG)*JQ= zWbfHK@y2Z~zW_Y&h-Ha5h>10{#F3?3EdM$kjS~ESUi{}ec2KiOOtKQwe%+ffOPP1p zvn<*iqW2q=%20S_Ap9DmG-wtJAy7$*gLJc-MK8aZMUB2x2mVkslcP7)9M@dQ*09YM~wW{!d!WiD!eH(|Bt>WE(r)!F`dE+)@dc#))%)c!#3FR8yDs zuL)y5lm*7XH(O9uzasPzr%6Kf!VmduY3wAYW>@ICIfF}J4xcXG4nV!=>RVaVYi8BO z1-a2CEw@!1OSnTW^>&G*dd|`~IkZ1n<+UI`F(?kCA-8wb^;EdGy_Hq>x_Y=ZDUY}i z=!rD{8|2k1m#z6zwN-q18qJZbssPMOi5 z)Jo!^5cqexQ#LNuxx!QPpd~-71P|ow=D#}M{jPa0GTn|Z*4l1?dd>&98?XHT_$QM> z7}aF-Lzhr=9}5(4oMU0QzP%d!$)~_-;$ke!Mcyask3=P!1devs&7Zz(C-x4z&QGg~2fUR#WAVj{r?#-gsnSy}|x_Z&W=8Vag` zwNl)tnhy%qLR0OcWe>kF-+ub|L+zBX?qja`g}Kg_D1(l!P%1#EzOk{feP48$b6&oi zV2LiIE>fr3XECrZHTZ4jvg%`6*i+qTP0leD+q2o?Tx!Tp=G9kGdlKidiPD|#kWmcd zBi8d)*J9FN@OX|og`kp>&BL!jHDGiIHd(m9CM99-#QqUCDD(_`Y=~A2<}AfnQmwU; zv{s+vtgX7XuUc&f?qYWu)EjW)%;DHoU6R6{!Roo?XpJ%!y>cq zv7FS>0~OpBX3wo{##*Wj(0W){Em=FlYl){CANO=jUHow~hZdPbu!!4uTA?4 zH>|qDJ7`q~3voCW;D|3EwBPa-s2vj$_U4WY z&jqpjqz|xb!MVAQRrn5O)^T#fpFmo?)1~X>0$%iQ802~5HETJd2iS1n{MYq0tkv}` z1PsMx@Rj3&yZuU8J}pp8S>HsrFIrl$dps7W?_iuCidgYQd&Num(Pyr>pb^DPEW>4i zi0|MCLvi4Se6p~o(%(UFf{TI1}8U|4` zFAX)9pB!pIf-Qt3W_!hGs-4NG6vY-~gx`bt%PEk7+082o$zhITQ zZr3@RR^SAd81vMQpuF(TEKZ7tzv!FtsrQQZ`}E|wvVb90LG5jiQu*5sG1U+qbZKG= zTKcwcLMt%R{4s13Zb?IjYDH#*bm{}r+@b&rG#=WISP2OA;=3BK(z z@ZS$$WND%BabPXfteLUs+{-Sw9*gsTsdlG9=3SPzq6h07!oVKm{zrZt@jXzIh?_;r zu|2)6WTg4X!P7B*@4ai_fE4p`MDtVG?>&R4^ZLdL+>-q%i8EThoz*{4x~j+HfpENI z#q#@^FjM_P+fJgG05NN82<*1MM=Cs7^Kl?l*+`3nmVPxqg8&=c^K$qo zi{2vOPMDx~E!vd>j4x#u8G+beb?ncAOSahS%c?7{slC1Es0+&qzjFE&yjE$aPpA_Y z?e+%E%V08|OWSMI(In}E(*8TA?^v>6ah1i`6hF`o6p^{hw=t=aH|FKrqT?b`a;m!cGue5t6LDl-L10Pbp1#? zFqrmsTiz=}3J2Y3moeC4P#Ib>&+LVM_4JEbt)!*LZ(e>&&wiQid>S?}*Is^@RZjHJwXnss zZh(Y7aX7HOFgx|Yf$yp%kyo0fJnSAQXMP*MkCkCx4w)OW7K#z9j8jW%aXLO^kN`qM zGZKpQruZL~fX$OGS!A6hU2 z@*U=v?TS{V2{`eR5agTJ`(t5?t6+CARl*3sZyV~@k6d4~G1A+O?|__m>*~u^N(Z`K z((P&dGn(sc(6)$plRke_CHK(bzb=D8_ttal=(v!h)72jmGmnX*G@QM2L}omc8J4#Z zsneJ_x%}`d=x^}J@y(mJvbv0gh2&l-Z$Di`j>DcxU4p1BhuJ? zJzJRL_Oj^JYm_4Hyu7b`kPeRN*xY4nQ{tKoZkz6UJDYg+W0huc=@Yw>8hYyz9p3>n zn)*)JeMa{-g%g8kC04%Nr6u;R5dQmF?auIsGR*$V>-O{H*t)0YD^6Rq10K`kwB6#j zoVwD{P;il^E3}I{V=w+0aVO|>7MABD&X51E0&V=2Y^-m+ZWXB25UA-{TOnz5D7%M* zm4db$)7JGnBF28&ejSu4IYXMLr#rJIv0;}%t+fzR`V#g{ld#n-h62p=^sL)M?BaW* z!eq+mx=KsnCgDn~`4r8faZn9kAB<*GL^YxhziZuR_Yu^6-Ti8cD{zMlFY4)niz8_D z7SwSn%v4S!@!*f2G=Y$)!!dp)tIwrVt#NYiq55v=_lU#BIE+cYar*aJ^xns^h4YHg zdlc3iK-VBq3AxvmUSxdSLStgCM+H}w#z<1(gvV7CD`9HEX6$T*cv*qc! zYCs+Sj#`as)5QnuvPtjpotY~i#m_u<%dt&eyd$%^oc;oVYc>|`-`%50=;!n&tZIdY zys^HzV#n4hIedv3zn6Ml)%C$dTcm^H9WKpFzA9FnTU(S=f0z>|>!&#_c0lb9w)F?G+|` ze1(5M9uprTzpjM5w+-Stu}(tEww}vQ?gzEGIK6xYyx)uiHRAzL*3R5Or^jn8)s*sf z;oKgFJ62`+&z4ey-83EIa z6BU+8r88Ph$XY;(AH58nJqw_u=w8NA_dUQu5bops++pl&VN@U6VI2w6R^qIZE{Y;O z*Xe)aeAVK`)Stpi7!SLQH7>ub!zP2CuvxpjGdE%Kl63*hEiV&7$s!kUeb`9y~)i5!?B-CR)9+bORg`(JcY)`vK>zqV^XE+lM}qtT#%R zujmJ#%wkX>QU9H+UW&X5bA#l0#f@2#XP>?CVpiQ7$_1u|0g}2si^kJZ^-9VZ8Hm>= znzWIX`wJEtdNXDGiV~~^<4YeQ)&xNB&F{G|0{T9m8c%$f(?@#V0@5R2{KY$ZOsef$ zoxbajov39`1_GhcN)W=N_m7<0j<)aCx!g{XSS5~F6Ve|%KYUqej<~Z zgh6mx+(b}0ZuRX7ZSU_(wKRVE)$7d7tk$)-XU*EZ6+0k4VqF&=z^=Zlodtz`<>Xao zq~MIK-=SQVa3}qt(G>if7ZwL1RI#Z1Ng-}8Kz0WMvY1Q8n(9ACP>IO*9`0_`t zWdHZSTzbB8`SMj!2y&^I2Z8>KmMD4ur|7!V+@}SkwTXnQ1vs-FbomZPwlx-B(9s4- zr#o`BoS#>z`ZsWdxM0<>%Rt$=vy5=!v%0q2bxxdLJJ+&B=X4^_mb_Cgo}X07tP&sh zp|Gl#-~TIsLU$5w=YvTJedt1YR8bLOFk z*k{<=+Z!?%blgTLQBh_Z203-Id#ILtwPatkb$4S!c-U4;N(7i0PC5=^NrQqz72>Wo zA}htd`ruc7FpHNP%T`h0>|r@bll@9Aly7`@Z<%xjdR42vzEc|H-%)d^1})Em`4c}~ zg;X$=lk|lQ<0@L1XI00iLF<{gyBl8#r3JBGF{FL_yU55Q=)u)Wv}E+klgdq>*Mm}w zu!8O|tDlJvtbwG859R*3j5R4kQHv0km{lb=g(a<80tBZJZQs?B|7So{6b=}sVPAKJ)jKEUAI*3e$K+Ca`yA8u=Wl{0c>GCA~(Adm(6YtGu%tsfHzb>s6+r zE&{{|)tM!AYxY_ybicnugWfBPU*P-25plfcW6l=+!+``**)1>T?YYD41w6G%J3>VH z?0_Gu%VHd7sVRE;I_saN0z3BMpf^OId*Ruvy0R+veDWjqhq;?9!Q?&X4S^g4A-R3d zePewLn^o`btgx|)p8l96-)EoAqU<)h8`7X@N)}OF14PUD}zCuktX@97St=X`0nGHg)m+ueNyr5|@)W_Svw?j^R)wCh% zVD-*wV`X(0P>20;6IVY+^{Htedi6N$y`Hp>v}eUdJZ)jo4Enb#%n;Bz-(ARfC|+HD zUAg`jPk+@qXm|sGYGRS2=Mozu>|(OYk%R`~yx&zWgqNv@`dioa@vYSbV}BRJ)6?Ij z_3mhc>j=)COHs{@>yrB#`Hsdx$`&&}8KOvw06J^W9g~NnFst&X+c@ru*7aDs@l|cp zktBiwyCau)Ux5nAVpUDg2|wB(LPKrrfJ6QNxO?+AH_rP`a0gX5NlJDm*`4`ecgwWw zW>Y-+;GIYg8jbFT)R*w0Nl_#v6@Y4>*aZ}XLUlK&a305YV&_gKK4T}bsibB7oQpW!GhAB3sEyinF`j^iWjWhp(JoA+u zDT1sng*+h6A0oy`f6CSLb{*+h3OI73h5>+hrI9~rr3wX8W~Y45Hv;W}CG&9i<+X96 z;Ft_d7tA%6mX?(6GzQy5HTkU80>(zbXgrUr_3Q;hn1btClv04l>Z(qyWOoRXjr4AT zj>=26qePi9=qXx;_M8;Xk#^2`Y3?dD1OsaB%Rk(MvPqE^i|8L=x2OmMKu!(=yMy>W zxy=!c7p42EU(yc-lvfkV-@Qz-*_yR<+G0<|ygcK!{sp@ND%#CFYSrPID z8yRVqd)^P7HV2zNhO;L3^d+v(ejN{%%V;%4LJ<*LGBes)$-uVSa<5#ua*4feI^_OC zD&Ap_qpb3bE-i7FYe*}f>vV8?33tqM^UW;><_qaqC3L|n!^@Lu0O*l} zLNdm_stZAjvafLH5~QUk zJBl*fqwk#jH5YIxb6K9FDdY6J`zDt>Asl_68cT*bbfy(ChiGU;jyNWe zbn!lPeu(z45?JWs<*8vS7=b#b)JOS`S`;tR?TRu-q$GhNTLE@3EcYoYb@o~BW-L5M z=FGD~wPpE9mMaW`F1}4;$EYSXVoUq3T9w)mSf34w-zfpZ%#IQWxrf=%r%KRQX*hKNM;zi02w=Bp(c*`z*hn zDuK;Fby{vLK&K_7GxQlMb9R6zNM^Lbj`f{9mVZZzQhhHt!#zO#KojL_wvx=Kz&F9v zyFfe?0y>_99W248Y7#L=D$~WKYjoZx&C0D}<5PkH{iHAduvFy~sxzf3yfTF(Le&Wk~2l9~QKwdNX6(3yBY%%?p7{nZfi8aE)1X4vp2a3?^WTL55ADQW5 zaxPHzRj(~>*zJ2kM+aHt)X2H4>8FEHn35FF zsyvYuDUv3H%xQ18v1!gC^v}fMOD5yJ!Gw6g`=Ny&`y(aZ3VH+<1bq~#XGoU^5RRk#K1Z3}&WQW;Olkhyv!Y34 zXm=E#x7&wHgLIb@#k?V2uR^y+^6IzQyMq&&xxRex&67{dEg@+ctH|OCwCjdl;&=Yr z$u}&II@daYjt}HLLl_PBf(gu>G0hra9B~s)*p{UREpL3CMEieKb*F$i{O|XIt|huU zeGDs)=r1X$`OErjncl|1%;s@Z$~O>riH>NE2^%ycsHEgUI6&t(>Ql)fO$dmmFv--o z#|ly>=o~^uJqY9$QKqBObuK)(AlG(bnF;RuLv+HSH5u#1YNJGEWVv@L?!nE+r|~9+ zVTMoKg?MkKAqj8bM9+|7NsE-9#MGv`eP3mQxJ|3jv}8!hK6z4{WGz-y*&4{gYqC*h@Nw(ey{w5cvKBHPfcQgTnr$+Ig2` zpx{8~kYq%sYAKzz<=DRhX32;Z?l%w{s+NP|%g5-z06X0;>2V!g`=Cyd&`fU*NJ z#JOINyFFl?oHpyo3Go-5zS<=m(L~GJXx!D6+#>foOQvAx--jv!v=%IsCTuaB#id1X zWH-nt#eFMCQinS_DA+#X#xwno+#9b`1tS1UPpbJ5Z~^x?)~|rWXZclm6)P)dmX^8Q zb%Opd(txU#j^gkZLiE{dR&vDKqHa%#+pICkZ|#7^wLA&%=Z}@9!XdRzP|nKj_}s~t zG{o32exj*G~Pe1G}x!d=aDc$rCGO#2C9>HO@|R>r^<3eB~}w%A5oxp!|5t8S?2D zS8S%L#sYh3GPZnBvfvloVR)ABmeKSJmS^jDHR<*$m5N7j9k%fK?O5UD18$-Umcw1< zVqwbr1qBRi&!nXHKQ+0JJd~Wa3i|w$Kuw7fs*{C7%qC#?gI>n_Pyfsx<6M<8B=_>i z2FxP$_fYeL8mq;fN*%lK$z@g8$A>l}(TRS!|C% zs!{!0C;!BCmEsJk{NrH2o2L^7zHtV%Ecnp?6_ZOt#G*B!rG4EH$?-t`0?w`U|DXWg zlmib624&ihuwTA`tIR=aW_cSEu|CqRl(rll$~Z9nw|)BI!NA+MyVD=AU<~;Cr6o&v zk@!xOg@8BGQO}3fh8(Jclvtx=MA?E-z_+rtSzR~Ac{F!Pkr)&zk_OVLZLLySBBD5t z$=!L^IDo%Htxpc>BBautFbpNkQ6m4W)H}SP)axo>H@mbT*91jYUX^MJ){)flT2ln8 zu99>Hw7|{G<)w6+EpW7SQ&%hPJN0HBSQ!ZvvKZt+W(X>bL&6!OfRw?plDRSBm2;xA zUj}(A#`(hkkO4%YsxSJPCIJ_$+Qy(F`J(+R&e%om;kY00ykG`@&(rAH_HDwhB^*L97(DQb!V+cXQ<8Hid4;*t>qp( z01E*8dI;s@o<3p`KH-HW3{0-K+{mTnYjQjWLqKYFv1qNVo~plPh9gX>N2FK{nZajx znKRr7$Q9)Rw~6wq%_9?`xL;gc=Js%(BSgEme-Fxi*yrf}txFe+u)}HVJ@95K<#NUD zf63RI32vO7IRX$^kWRXEDthVsRV<&ixPpytjLEu6?B;75*pQW~k*eQ8Cs}1(K7H~n z&Ed4eE~p=zDW6Ua&dltPAydcwR*8cBtZg^yjrEO|!vE!0*}_iR4Jfv{Ye1X2J&NnT3A4x4$&p>mL%a5y4&CZUM|L=|RNB7Z#X1!^D6 zU4OM>l>oQnu`ciP-YVECmTU}`uA3YIkEgS)BDrrN6c+x3@}avmdPPlqbb^P9!jsH{ z|L`nb_A-=-yCr|n4+E@6U~X>ymy9FjC^9lPSzbHDF7iB9s(^{3(paq<>}Q5grdd6n z%=|TaH06s@?6EYzxo_-j*CCocVIc#xFL~wdFwQI{HP!yMabLRp(q*Y_L5s#Ldk>pl zil@^m#eRS8PMo{-O(@N(-o{suUlSGb!PuDCjif`3Kelem#$90R#^0YUM6oH%%p<;KIYUq$?-;AvJ>r; z9~!P;qIO{IdJSTCn9xzPQo=WZ{#3tNTE1?c^DyH&o!aIud>j%o;P_chw%il=TT$Tc z&tS-cd578#VA`gOTgXu=+&NW43`$dJ{RK&~v9%ajvHlfB$fEfKezY-M>nhuX!mnpe z34ZdUt2BqpZLeU1fC^#+@g?Wc{39**2+?#Kwdy7d{hqFt&*_R)j+q^dVypAVU`4cn z@9|j>TlhHI0Vc8PUdy;oRACG5o^~%aflZ#I1&P*9wOYkQY!I@VRqYKs+qv=!S5Z=g zQW|ki+l%9FLJbNE5~DR5kEA|d35P117*Uw|)%tzl=_xSedgx=y-mLb*Oy$o{{>kK4 zH;E(RGv3KdPn+VOfx^cbLZ{Ow7fKXWsZejTWJkcQ{>-_b*vV5~ zjAL*eyK6cfa}C8JnZ{m)UA2uVZTS;xwqnYKqX4bTK?M?jxATFd((b+lQ9>_>lEb!PeX`F-&Q-fhtG7wfuM^ zVL<9(iXLua`caYOqR3#0^t3v(HXo=^Ak4K33t$q=l}PTr_0Rk%{Tx|z;FjL{T^!}=f$~)BoT~= zlqq{Nk5an|<4m?O1Z@!+$w>c><{RT}C+@%+AwJ9&?3(0O>#xHbWM}t&lMRu?+zE_a zgRbO!NaR8rUc&PR)Sl!aBeb49RlFnU>+2_f3*#y3>=IE>Mo_oU2K*B}^iAqrnzNKL z_#5jypT97734o-@2u=H0CEnVG%jtq+sEI>fiw|u_;0|sfUd5D+Bj(Y&y~zGH;P$Fa z!_KkKO!dKUN)em%0I;TjQW(=Coh$*OVGCB>7;>N;MGAsbrgQ21ZnX)?(uIXv9Ji^y zEl^laqqTuccf%G&D!)kC_S}`r#=ZK&+$E`L9!V4LgJ}oPdLj?elPoUX=JF&~{VlrB zF-q?Hq3T<%QI5?#m-&Te7#XudSqfHW^i4&13nUTCc=-@%!e{trCttEMq(ut@L#Jyk z%hBntfh)LA@|WZ#?o;4#$k56`C{88}m;k9%coVT4&f>yt;{;RMhpE{JEg|t-&SRX2 z5t!7RQZ>2ZlP72){K+7VGOX$)J}(8j=T!%Sb4+C#Y_B(@*3VtJ1MZ^)qM0c;DsFg# zmi@?L1+dfu7%9o%>heol>vCj(=nj*R6Bm*J7H{2H#^z^YtsF2ixsLb7Rx!XT0KNo56R5vSGIR{dc*%muJR&nGlbllNbJ-MEm|#rp@SWug;{ z_aI~ACCZW_504}rfWRC$78SkBi@jE(9SO815=C>X>YoP&v9u0DLQbUcQhf=p)kg(I zfzeUOc?~)lLe9_$4Jd@@A2amrW8c`d>V5CaM=GnJA(Eud{KvY}KjXE4YC*qp<$)zS>5rPJ{PK3JB5jGqaJ*JQp5@ z#GPOu|JbLX6^4piN(@~gKz{`Y1TfJ+NS3;KM>-9!v3n@reNCd`0U+50a5MR;tjZBZ zY~^gb;Xc#cCKnbhG*LhDDAf?TV`a?> zl@#31iAhbB$z0%!Y{>^RC=5V>DhxG!lmY&^X|J3fxV+L zQ3zc8;tgPevnfY$x4H8QxKeJdz6+tuPPR8LeDG(IEx(N7;EE}R_N>5y?YhM<PIDou~O zLZZuv;?BUdLY+7whMf%ECH7_3g&Er?iPY18>cP~N{sO|sv=eDQJYe9H*PLeOVOMGk zNnKm$nW($ue((c|y^kb;d>i!@a%PJ%3zDK$nlm2RtqeBSqxMv{BvPjq6#*vw^0n(y z5N|c0J6C^)h#MZ^TZ@{)2osakk1GabLYx&TB<{Yemtb4m_)El z%4%g3aoqJ_SyRlIRTL6LYq&q@v$prGW{?#+abI}h;X}6SP&CH1-f6DVLweszsROR3 z%DRyR=>PMdn`alSWe3Ue0byk&s>aM<32-KcXq2xrz=E`dBq!`@x8%yUPS#YVlsRxecehVru(Utfu*Cs!9dQ zd#lw}6;%2zQ9F-gsx5X0{AFX*KDY!@Py%+{4Y8fE$ST4z0Ar+D3LhB7{dxW6x1lUL z!@ZwBpgC-D3mX^IqE$(LuAP`A0hxLVIxl+fq=YY&)PEx&G(ZB7V%|Q7X)KIsou$P^ zliO~Bii123A$c&UU$8X@#P<+ay4=S*F;siKAn6cF%F!G5GSI*;pPE@!Wcr8$m4>9h#h1maC0P)fnfFUl}+gJgJWHa$-!nwv1tp@q6y35@--H-r1Oml?6!`o5ja1ZIWQ4h@|}~fOO09aGW*JeBMI`cY}_}y(PUHb{BwT#25fh{Q)-r zO_+zd*n&%27x~kOy~~8jq)=B!f`V7)+@b(OduYZ3S>C8sY15ut*(S=Wk5M+-UQ(H@ zvoEj`U324KCvIfim*tPLBcxQ|wRml>&c)IXPriw9hqXJyBRy-aNJ83`m+Vx7h~v=j z4P!_dxc7FNubPq;*`aT8>pS@D@;uIDUh}#?Lwn?Urry$vo$_@TP$tr;ajSZl?fhqF zJLs~?sf2_IPq^#Mz$4w5ht3J$Z7PY}>ND4X&&X4D*-+tSNFJRvw8)>UoU4>MktF~w zACl=)QWzXL9Nyhx}~rIu{M@9pkD z2X0paBkUPHCaVrNG*rV%fMLFJ@-4h%n1WL~LDKo~2fb7N-t84VaB~w0CEiLS;ShnMt&^Q+_&O`rAVbb2R^g~juQs%K@0erfH zBpnCwxE(6AL|P$B$-1D>sg^--8n( z#=X0{4RI{nAxQ(2NXiS)EI9j5S)QaO6WVi%~LwqkTApD}te$F@=EGjj4df+w9flbS&PwX_o&L zrG#}sWPDIP4LlWd#4RnF{fv`SSgqfMnrg0g-{hVg0XRybQg0h0LC1qsDpc%JMjq*} zB?UyVE_(6&L(YrGS(RQGtGREHeT4kS&;7`SlGC>%&%fZQCPzj0xpsE9>yM+*+7=~Y zZvfO)@Rv(y{$xoGXu@z?Z-S6&7wf&G8P2Eg1JP7KJI4G|WJ! zNSzJ_Mv<;AB=1?;IwAa<4G9^Wjn;idp%d4GKs*5U3E>C5-B(UNW9UQoSr(S#9+jw7 zVw-~BK-G6>5e=rkg@QG=uwggn5ll9{p5Nzj#7gDPUEHW?7=Ax*9rHFMI;J zjOR^Gu6}N99VD0mev-Sl*H|S-SE180-ZNIG&gM>ymFuTY{+>C(PAEpGT4J^~0rifx z*~cE0Xf$=Bz^J;gve$y`kF$<3Tysx4vUp5|Y}^IH#jN7$8EZB`E&F0J@yE&@;VHDj zoq^){3y*_nV4HfYf}W~ejU!hMJKtsFRBIa`H!I;7BN)lr=@^!A@R9ASIY{D}?3Na#g zfP2UKBvrqx9mr~JDRDyy$^EoweU2^jhG>V}TQ5m!o*Y10 zU4pEF)};FfvwGj>Z-_L#V=+LZ)@0gIKX9T9*#fMNazzk?N{)r2mA_A*g&Pi>9*`V_SL!+4NnP<8X=rf93M0>Z%g&evOpeML2If)E@Ps4 z1mjh5O~w)*@F`d2_fruMLRXf`16bl;oqXN64REOBKY+GTYVAB?v~M$ZSp!R@e`JcQ=f7zh+Kl{9L+r<@(CIlq&t zM_j$x1bjD&RU-FPL&zVrxy6-#8zv=yNyCHPxN8Cb%^9P>Ir0xduR;|=Yw&DP2h>+6 zmGi(ho38iZ-8pQ7{Yd2#)!x!l3eV6%#V*auYA!`bF%q6~(SS~nzs67l@(T`Z0NG>- zDLve+syt(q`B*vUy}jlpX#{FI4Cy(iFWCnZ6Z;3bot~1ch2?mtR+uyo%T@x8V>#oz z{q`k*7iK$6c^p4L5xog^_K-5PUPpyoA!pLTcBd0Sn=Fro3kD%o+L|bO4Ql~*5>S)X zmbhqA#(DD}sz2hPpbT7Ql(U(~6dhiQR|v^~r+8OGLK@N5+-q{~(^T(J*wk}cSsx(b z+0bY;pTLNW$+ej+rd##qw$2$i8wlP}{IIhIQrtV;0a;oq6V3s@Y930ONBd3n7!ckM z(3&k7_xz*zd5S%JQA+)ar#3GN=&hpukW`rJtaUw(dn7IY>B*N)ei!u##Y^$h(lAk| zoz)t8f_FSno>+o_7h^x;l23~H)iG+k-R3T*Qh#>xO%i@)7Ct{>=W|YlzpXVGxl#Xw zyFyqiH>7unQMI#~Qg%T3x^W(#UV8Vu$yacq$Wt1oK%B~H1m{vJ9JQwniT67~!9s{U zid!Un-&RsUGGSu>o~mjkM`4d+VSEaOlD1|daQgS#?dz5=w49RKU`J)K7P*i=?eY3b@~BE@w}m#SV5Jz2+o z0PRpge*V3aU!`Cw(N%C(qo%`q(zZKZM3cIa)VQ$FypQ1;a0l%v;tGtI6C!iCUPpr@ zRmqrm7H?ZBN+6CTzd`rKl%%dl*NK7oSLDEBaPtcmWpzf0_X?P;z~}MU=f$dc z{VUp7xY&d(_IvW~D}a&y06 z+*NS=r2Y5?oBdu&jp05LF>y+T!!SvSRpkPPaz@G6N6S?nSTwDa9<)MGebd6u+8Rdg z`RevIcp!~8>L{Sv()ILsh_P3oyaaO8ZZ@sYH&#&`kUE$_LCV$^kjtL$pL`Xn2vCTH z9CPj?(nG&}$9&lP2_laqn!T13v>Vd)0qDOHA6tZ9agy0lYiu92Cx9BZ?DToaW6i4_o;Lt@;Zo$tdT0t%^X;Fg>W#|M7Mh%oa+>W zxs5oXv!EOt-W8yNGq)zhQ&Vr=1u;);2oGf?2fRVHb#7i4Y+SWf6B1^QjT2C=Si zKOi6DEF6nYhbC19EvEyCXu08E#C4-I)zBYH{D_ZKYC^@y8Ctv4cFAx^1OuSQ$DOnj zE)@bopjVOaa;CnY5RX9Gi|Qd&$Keya$<;NWy#Q8}x8$dUm$tJkZ-pF@WYw(V?YG}X zM7DqlA_kz7;jB07CbtV{MrR+tiCtQo@NKz~06nqN9%8NIt;V!mZg4wi+-7}i2T*+s zBZwWkgj1AlzPhG3jE7GE+Rims!06`;rPGIw_AxsBijE=JL6p!_k*w-M{gp{qf&YaW z%w6LB-Nve|^Mesn8~W@MO0oJ2ai>KBEK?D!9u_P zI#K6;Bj;^Ivtc|z>BsQ{3DM1aYsB(5hWNOUpkis)j$EX_!JEpYl+cTd_B&N*Yd5aiNX1z>Ngm#KI0d2E1etzdh7V+P*8E@5gVH877u_e&7r9D8r?0_gVKYx|LbRdxAINZL5N$*|S=S~pg z^8JCb!-tv znZ;w*);+lcY+H?dxVcA9B_M)gUT7!{rZ867ekVML*_Z>nw`;v*ON5VM9InIW4zV}i zhN)+@Mlb;?PP}5(^>C8#n7cpKqLK1wl2~eLh*gN&#C(k-tqi;-P5L!z3|plgyWZSJ zPpQ%e2>nvu40YNyLmf*U*6UFUU<)3c5;b2%TWk%?x)dq2C>|n@(+LHAvVsd8ZZwsK zk%KK=hMmdSO#J!QZWHl$0yWDuOpEmW=hb}2z3|}CB~#1h-1+$~gleiJ8VBy>4I%cg{O~GTcpd30(x&=F@~8{w4A+%oS72 z3(qMyoG1%)^r$GGNu&pTDQ50_H z22cpB@qg{)vr>`NcBEK6g~d{A%9R5)CC(s#hG|ieN{MB@CfM5Kn?Wx)Mqn8Ba9M0u z$EYwsp>z;%I$&)yoEuBmrD$%*ZOpCFL6v(iqB8xdZ_1}-s0$rR;@D#qoyJrgM@;XL zU6o1Eq#wEj7#ru#B^Cb11>eeK^4dpmdIbJJT6D^Y`c!Ab<=+A#Zmc)svnRhrOGu2o zz%=qYa7wuVyg`K_FY~uh#$DU`7NlyGbLLs6=iKUs$vwO(_qTgsoGGI7lPc1#Pdk(V zk~Ja9pc2Rq+gRnhQi%BQX24{YgNX|Dbcv;s58BvnRCiWkYRl>9svMS1S5j|JUCX7t z{}hL9-y^I9)p=u!z`0YE7y=)-$cMvbt6AM9v&Wi8TKqgV{;$TEHsMCRM}@wx%fA;` z>Kawf6O()KGK5)nF z7qfyv%CBvH&fAzwMom>n4^C~&#z)8Uf5FO#0pX^{;alfl1U?cTb%Pju8KkXWVRb{h zXKxGo`1y1>Y@< z4(Ml-_a)N-Lgpuk0rDgz^+;L$rzd{|sEYjHBRa1`X-&Oa4>*YrK&3@V@vW0TFvX0W zrRGqqTHAs8T{Sj0_wd=R(XuIiLP<)JsmVP}tvH0`_yDj>S=Jf>B`fe*DW7iIoaN;O ztle*+qFrKif?MTTZ^kah4{ewYP)W!#@sP@n!Y*q>oO}!#e)h+N-FI|jz6w;%E*`im zf8o8EqV_$K93q`?+X^Sj7sC_1|372%_umhNC0ej3TI1RcDaoniiMo+Q0Jq)dn;+4gQj>6+0QiuU-9orOeDoTr7jxPW}<5-p| zeGCLMBpCG|Mp%d8@k;I(#z&0B@?cO|N7Ey;QJ5m1C(NC#_Tn`V#9)AwFsj174Bd*m z4rY`C*>-0W^Xz`CP0W5A^Bko^%1Z(Y0BJy$zo>%xJu2&MV??nxREO($pS!Lxg~eQX zT91i^wKua&?ao8pGWi(V$^%0(9JIq>rcLUZRuzK>l<*U^I&+)QBr0|yKOFGYLmIIS zGKvdD23CT<4#XN#xEC>IugTW})1u(5s;>qdZshe&!0@cJOHI<}Zi9~ZR z8+VINl>u=r^0PTb>SMcH2zxxddCUf-G?0MA=`Y?|IEpaqyUt^eNr2VGMFk5k=$B9a zi-7C%_D{e zXD zoyZm7-ANF^#ma}Qg|Winw1!w`c;sNA*<$K-9zDH8rrXyfVMq_+c7l*1$_M*^09 zX_M4+f@--sER*3x>{}@#NPs&mS?B!uc{%V;bQ?&05TCf9irqUhdvVK~C<=~6>2_V~ z?&nF{9$Kacq)68HOzw?07_PsA+!_w~b8$j+@`Qer`=_eJ;S`m34Y;lA%T)Lp2Avsl zm^)o$v8u3V|yGWNc+(SO@cW83BQV5Nx;x6G?S4$%GM;L zL8P43?SEr69~1?L+-FNZ{R89+@=qP;p}J5mMnKQnPKguIsITO#LB`#ddu*Kj$>6o#Jeqdgr7Da+K2$qQiR>VaAvT<~B5pQMtRQdK321V6;f?|I5~w;Rx-mv$8FtkJ ziIa|khsg}?bf!~Yer)ZNg>_<8%8NJ4EOA&JVT#>kZ@i~xx1!NCveZ? z28SpIlt?Re9Hc2Zwjl=rPsCdfVf&P*o^Lvi6l7B-K9|sS65AMeU@u*#N|d?Ut5d9B7~B6Q7bP z5<9;EgHG%Aw6AkV*B?NRXC^nWRbMsk#*TceLN}xfZ$-JGlYy_h^BJ053f}em(CJ2? z;C>97H+TtwtAL8mNuv>5t^ns?O+}eJ`H|1)&=k{|>z_41re%q)$kBl-DHty1s|<4N zmYjV)F`$_a$n0Y%U05VWSshP_K$LVPZWk7-KK4vNWnsn9gHFK0!fn=dZ5(?mpOeQZH&6{M)~^80{HAW~QF!LgUp4uAs;GE? zM?SUy1_1h-7$dSMHLWeC_US;^TBM#D=jl}lB10)2rCZ)~h}u!$sw3rzbjJfKFrjrB zv0V1J^(I2Hqi``7U?EdlQ-o{+1ERYow|m#*cTq|a$?-=hen{=`<}S^V5CAyk>8{#a z*(Cg!O7`BZC0s&Z?zSTrNDc$NN9E`IXI)QqsTE*w1muIBpMQjKY1wel3qmqR0elTM z9TFN)^t}SWELYd=8aC7}n>tsHF;Z$32x@p5V`_(HwrG896>AzM6FX#6dzbu}ssYZ^ zrx&;x`y>GbML^I9IrM^2m{7AeA3k|P%B!@kwiIkYA{*v@W`H> zb#kodpsiv)?9<8M*}YWB%PiINbR?UB1eo9RhB>-S;yCl4v$NNfl8s}sR(0Jt$JGr9 z^iil&LTnkH>lt zDu_-}{UR9e{M+WOk6MwA|3Y@mw-HD!0vi1;G`M(@;l5=g zLNzq$`(2*8hrc8zEzn0Ekv|_(!*1kHt-poWtgp1V-T%Xr&q%d8i=k&%gAUkO8U0H2 zz37Nl9ZJOP$}P&JSZvH)nIkbhQ4Vce9at~SL9)+VQ#f}frd?sb!MK~z8WQ!RIpwW) zO;P`@{FId`Ru@)Nq)hOxasxjxC-v95Pg23Qe`s;e?ciDOB?%eT)zv15%e>y1{?Zxm znXRQ`$fg@hohF^gg#Eqi$$69?{0ae&5LqT{Zcnma*)ku;NyflomPBJg;jm{^LZz{Y zhuFUIsBXxWEo|ymFn9l+gnY`hgSdl-7LMu9T~mQdzpDz!?SRym0gMAFB}9nh)S4K5 zS>AL^D4y$e)3I*sAw&i%^B};A;ZT{Zx=G_;Y9Bysuy-d%YLEaTZ33QUGGX2~AJU82 zNXWw{VflvrBQgI?_$;y?D0nT<2ywQCkI4s-hU5y^pxopkp6$a~Kz@IBLe6Z-8)g1C zpifbjDD41`LxgU&zsJ4rPe)X&!{qIe}I%6x-1&_c>N_wrR~8xmTOVep)!P_dJ8_Xp5llY1@|KAz3e z!Yxzo#+}SOq^ax1f)%*Nr42?9l|v$%=!yvHY7V9Rf9RjALRO%_)e8T6PaTf3bPejDQouSyWpD?TQr+~5|0nbH1KA{G@DR@K2&{G&aOOV#~0-$QJ~`NsbzPdPBs(k4_6^qS-ZoMawc#eQn2k&@321rxDP7E zc)TqF<+o$KKNWB<$99-hZS6GCVgZ#WU+41W%fCeI+aF4P2SMl`q(9BC`mp+Pyw(~5 z5QLiKE&aR%yTJhSZmHbmF_!9?iCIye{LvJjzVS_}({KxDc<6OEUDcE$N z+K90~Y$nD8aKs%bm*yp#%fP zym^z0CaLualc>csa`nz%KF{u3C$1b|9)%N~(QQ@Dt0vca-8gN232J4Rf@2Iz0pi=N zLkYK>xl?p4VW5{e-n@76$0whcx~3PH7% zC^aBQq-9%N-F;Lu=>nJP3ogs^BGuNASmeO{#mT2oJ7~dEtG0{-$>5>|+~NxWK??it z3G9O^BzS4%2W3}6DdcblM9K0?4K?gQofbc-4O0(fuRBte=E*gNiMUi7g+z0%>#Mw0 ztm@G4V)MrYO^(MI9EOO=u@zqVWqB7HFc9Ik8D<~_L^;0Hu}^T3<3-S@&_E4aX81$~ zBTLb0?(7-}{S0}&%bq3SBn+GTDTi>$DDY`{-ANUdNIuSIxG@^DjoXtp&W+L5VAG-F z1xwDOW-7UZ@K6e^68}wz&~2rZjC6MnpxxwFj5UMNm3Ylm=S0H z$bLGHhc!2l^l~D$CF8#|XWYJ2#+V7}Skd)%`!P^KoT)=Z3e~aWJ$;HYWl4TbW4pGw zw+aoD3IT}r9s-O2YxVGm-jd|sa!nnNw7wm45Ru>EkXMz)KF>i9NzP|2qdi;d_G2m} zmuBXZu5=MVl&8fXUG0{t2-u^1rO+t(>bjF(5*3?dJ)`G^O|`4GF8MOoh%2^^)}NEU?P3_ zn2$K>FmlJ>RxoQBpxzdB>2_=VgXDWf0jntF;DDi~j4-z{ zxhF^y)dQTGiPUx8Y?UUwZbDleQP3C4#eR%C&J16Y_j@Su3Vu)XbO-R7x86b%8%v6j&#;=}na5*IAaeLo zY>`q(j+;-37x%)03v*T_;WxDD9`T9VX5HlGe}TlpUxBK52B*lBQ5=|B5cb_6tearp)t;VyK~ z^9_Tb0MW-I3eh#`|A&EGKnR`uRyu1IIiW!}J=3ht9gV1&|2a(jT1}p2{GyWmA)M+` z+)QH9&I;Aru*><%$q!BLUQ4=bL(N?dUJp?^w)~JG8kZP?Q!tAijY2yJqaZ~~Z7`fc ze9VpDFhj~vpA;%amHJHWdd3NOA0db2u2Lg&<0#rAZ}Mx>dC7@-Y^iw=QyPSL?H4Yh z6OjwQYZ0YNjnZ9%`B05cMb8jSiq;~9Rm|65bH3Svmh6}l0gIlc)KbASJ|*3}DxhO{ zciw}KpeYTgXbYM;6?(D)A%}Uah)RseD&xfs8_cPx$zvWNcSgGg} z{zn4ziMN%eh$}@!go6D~qk8C3lT|lSgl31{ZQ3*Eeg4dnequy;B#uBkM5(eURk04F zL-8d}KoIaN9>k_0c|~c|2peFxmW=m}y8#+O?k*Vls7|Dwi?NS|05g43&=myg zekz#SG#_~k-43iy^6DJ!hWJ&IfS}B=eA_&C zHw=!Rxd+ZoRUSVI5gm3pf?+E+I>0L-W>^hDrD(yNxIz=2z`9VYUN|(8`U76gPobKF z9WtglQaMH>)>+k|Vun2_*&Tn^oI6!n#4r;P?}t(v|BgJRt*Lo!)8y~5wRF`(7x1J#h7%(C333`Q2laSB9~(13%kNs()XJ zT5$)$$K6O(Y*Eq4DSqo+42Wi`SETrn$BLQsRZ`BNrU%LSZxiG&q28c>%&`v#NbcOD z`76d9fg@3wVMe-S4)MD0Vnj_1dR)#Qdq-{^YsuUOEZrdrFa1cDvj)tK^SXsDsG_>X zy^^V3kUp}HW@%~p76gStf)2OHUPn3cXl|Z5P!gN)|Bg@|B;@ZkYBYXlHnE6zWfVZo zuzbq=L4q7mbP&DNUqA-)35;hz%tD!>TFFvOU0Xo=fGPggZUZB{XyzI1%JY%-*!#s_ zlSmixujdxk|ooKD-r>MEA@yLwx-6lfMW3*w4&PIBTLA z$td%94Xsx;HEy4qQR_6u0N(P&lfRe0{^iLR3?xNa&E-D!^CoxaEmFAtGYyXW!OV+X z>p?`PL%b7+GGm$m*f;cXZlh%AsG>ju#1$K_blm0~TNU|P-VYT$s*-(wtXLQd<(NWk zvw>=<0F_^iLpH;Gk{`mc+4g>#-T1%y4{D+#%5rFB2mU#4#m}#w3ca;O%4!ULiYEmV}k~O)vuu^+?InR07`?W((DYX6)a>Tr6^gSe9g>`T$ z^HF;&?KE^xcBO!9D(^mbfGrJ$4d5*jDVuu$Y8x1M&g~mFxgerNE?vVg1pBR% zKVdlh?#VZe+a=;Qplg@6TSZI0>Z`1*nmk|`1S7^?sz9=443vcP;(1^mfE(YoJeEi2 zFA=*3QXXOLU$#aic;*dGSDeM0H%Nj0;>qWJ@~=ooWHfNY)9rU8 z7QcMuqSVJJ#Vh zCQzeIMAu(C`6SJ_ehohI$hG|xq_d9FdSU(s?GjFKIpj7pOOMB=0;hkEzPfwJ#oln{ zr76eT4^>?A8Cf^!S~gIgIqSQd#=VDX=FBNG!ebeGph)^EInq-&`??p-OO|)NIu$VQ zs?=`UPPhQYVN*GKouh#qHP9UJA@9e@N##=L-L6>)_KYZo6^i{2tDgpAr&2Ry=!vyb$G$x#wRNC z5GhG8=K5KZwg!=EjS&;ecIh2EoM~aMK#448@%kddt;_H+hXGll_o7)-E?$SHHpVC z>($X0@QfH~N)3q%wiOIhuAw_*sPS{HlAc{rwzn$SOa>!(h<`{|XwS4Ehz_4T`7XLM z*gQ#5{hI3Bf*v`A=x$efMICv`rxI$Ds_8YUS)t?>F97sf8=4`7k;M9A~*!#@_}CEf2;W&#ex9fAADwWykp zanM##%(VX4y%AY5Qr*8bhbT0H_d=$+1!bB{9Vhqjg2`JWKVDin=)q9OOlW2`SzFC~ ziicwA)@AJ?rKqwJYE`J@sDT0>!4p9m3iOb4Rz`cyt+L-v zbgJ2wV_Npq$O+CN1b^y&VnMog-m4KCt|E7h%8i$3#~qb(Yk67vA=E9QlFB@S4d1;fSTijiRc=VAj zXmG3M?mU=7)4}Pml$RH{?&1b#6w9MMgVui7&79T1$|hD7)Z_`2C7M-WB%vC|bE3Qk zb!ld}R!z42qsx~cNT;!uj@3dP5{|L1V2ScKPJ9H4*;r1f+COD~;q4gfFw^^`mtco( zCFYZXPs(dJd`zWF`Ao1xG44xmT~MAv6k$f)pLWOC#o=Vr7q`%%POr%yjbo-A&Jv>d z5SX!mDA`lR{Vpc}lH?#3Yfba=+`cK_`_w4GX;$x<4=c|*d3NSSmYE7pOKZzZR$k4t z`ilB-Q61i~lzV93>hJxxxW9GWv)7TYC_^#Vk=TjaV2 zA8=_IyVbTePB`0^o4&BA%8vyrVS5=7qHw_#=`GB0Z{{)f)avqZ;4XCBlw#5OZVXqy4e3sh$c;3y=rK!jog27$g(i9Qg^Dn7)d> zsba-=Y3=1vW0U|UDRxjD?5b!RDs(AZ8^Z zNdIX4vHSQ6LBqcR{pg0tJ%0S`E76ki-+MnrGS`JQRAvFCWN4?;KTvLAk1!DG-67Cp zn1PqCD{086jmJv9<8#f9O%!H>&x*u|uBy=yJn`L=PZB>c!w2QIflD2#{VfeZU2k!D z0j-wQ4wWrw`=Tmn930=M=K;in{BZ{O`=(BT;hK(Gs!cXXS?yVMl5!ZL9FgaEdvQ@d z-K>a4*&47jNr2J8Ca@$A-vVpFa>Cn;_3CeGze1(gJ_m&umTL}Pt*-&10ye(#>T+{0 zzyynep%ZErQM)AXX-$WdB_Gncco7yecU2jwrzF<`B$ke7)fK3|q6F>dt*hy&Tj$u) zDaj_7Dj8_2wF}wd&H;;T3ODF$OE5N|)=WrLB*>Q0Z;43-We5=A zg^isOlMpui`x@RYp3JZ$f_d4RYwx0RA{G1kaxpZw~*XxO;izzwt;~*s)8>3 zfE#!w^67bnVNZgI!K9CC^;+ty&V8h~^>Q0D{Rsvi6;IP3tz*EXnkYJ_u){~nNe)e+ zeA+-OfKwy8Dx<8%J+9U)k&NFJGNYS~6()Z|Kl#lcr#vlSz@Ge;$!%;ICzXVXA2G(( z`8*bdVQ@s+huq1SALuaK^2!agsAZG_WcwispY=dy$hba5F!ex0a{G^|;5wpsvwIvR z$JAob1MO_Vwk;ELkVSb|UlKvq5GKo_Cq9OMECNP6{uSLuy|G z(PR~SuXw<`>&O?)G|0FGxmFqZ3tfL;o?SyN{_HnQ(ca;CtGWvfkKHwV`a}r#`)Yq7MZ1rYUqW zq?xe2KSlO~L(K!w7;`VRbc_5!Tm3wwp^p`$>4Jd0hl95ddq#vODcJ#{N1 z1v#Sp%}JT+JOMRV4jnZTVf~Yjx`2)r?Cf5$BV5+Jk3FRTfSP$ps-JM*xp*5KVnxev zD5`_!N##euuVenB$v!8!yZf^b#UnaO`4fWd4(tQzMU#=a8hLz0Fhb73W21>AH zf};uf{3B98Q~-MwQ8@8ZR* zR98)|b&pq#;_npcRYbmL{I(qIF18&QK*!@QUwmU2T5=qL5je_7? zY?$QEEG#TtC#^Q=KwlI$2ibFTvnDs`AjbXht&_v4Af5C|q#)HPoqR^CJk>WY16USN zO-Zi0JnJszl-4!5OuoA=#9jq0ucd(7HHv0A&ESw{aky{t5AFcNTkuj!<5j$NpoY*S z8vxuj=0TNPNSOgd$(eJ2JjT~lH8I4P+=E*p-UEWORh5#5iO=J!B_ZoKxbC6#Y6iWT z2`iN&C6uBEQTS8Qo2urZ)yLtp&As_1h7vxnWN(UBpOC>sab3E)X$J~1P)&8kmer3d z&>=(4i5&iIej|C?-0%T=Aa5wZ`lt~3BNSriFsba!;8-#+23sZXK(b%iN-;oeTsQp0h;}4B{Ku2{_JxG8vA@<)!8<^*^C~be} zIsa7T7O!v+Xsin5qw;U`B3j~o@ZFQ&K6y|6!MzQ|ljZ7($=%&Fg;<58TmTo*QXF!u zGKm!iMtPnDR_feLhKG)7wsS8wlU)VkKX^&;t%I4Q`YIx4qJ`% z*v~kA2a-S?e;8W@ktA(n0Pif`ybYID+`Kbhbz78<=T$4gMJot7?IXK zEP0#u-yO>#8wN+b5OTJcF_Z&(l@<@j=4`ej;C@Mg5q|`S%swP9IHjC3PG^6gvE~b0 z#e5MXfEY?VdB2U7Cp-e^)=8-)ZNIv>qopV#(7TP6)OW?qTj^{)S;^7l*p>#8mIwsdBxVMC^(9H+lny1^+zXPlWV0Gr>Y^evfhN8*aoyCajPE7D^J-=hv0yL>Vx;arQ9=^IU}^~R7rO5 z4v;~bL5E^7QuN#~E)u7lHi_Hvg3@e)3!&8+V2$kpN0%cSGBTdJ7s0hciuZ zZ)Fc?!c7#n9!giPe=!D)6txaMJGGna4)z~S8CZs)uRC_=Ije?h7YkV|2r!~oV@8xb zI8X9npf0eLGR3rY43@tzJWr_X|qxqU=PL?YUGp0xMhtg;g?B0f0!qAZ!2&dTfT zbc}QT`gJAVC~V7Fx+&N0#;se{W1HT1#5P0s7S7yI_>oiAFgUvzQb_WcH6iu71HE#9 zLGU>jEp84I1PQ}nn#jvwjsU0@)0Dj=po5@Fb+JM8Bbt&+b8fwOJ!`ZOs0`EC%EI_q z1w07=rW+}6zU1wYY&u4?$5D$Z?BKCZ*3noxuS(uYg2S%)5~d^}r* zbqO07kMPP>Kof$!Q$nV-Dem|L^g8Cg!Mcu_57o)Vt5`xK8|TNN;_PWpOILO=f50<&ZLwRmL=UK%bOZ36!%6-&vm=SWN?UVJ%phNOumrg`!te1;LV4T$MMs3hNemN5r$&n)UiN zI_gXY86pb+jAs}m6c^R9JyLV8J$=;X?2qiqou^Od ziKzot09FN*5y2Hr)qbcvv)3U*X9&MPxz$hr0vpHVz;+O91lG2<`PE|* z0w7pYrb~p)q6vf-@(_j|=?FZqvY=X@9<%gZx^WET0A5&JSTqjS zXs&$kU3~UFezUHjyFo`4S3MP}FMB)DbU=EM1c9_?#R;|~(6L%6oP1qU*ZYV?J_hWr z-{o^$p)ZyT0xZzU%?9~C0lc9e$7Ds}8C$C&sV#l|$or#8VQ&X&NBkZn z*FX65$@?f4&)}siKxWDj&FA5C1Z@St?9^;fI>VS6^=GZKsr<*^j7{0%3xI%M!9B>; z<%rUv?1QhLdX63|Y@u`c?SE zQU~9Ya=buch1fXf=jM^H5{S_z(0{^-@+MfE?~_1hT)Bcgt!hf?c%jsI$Li4qLuQP< zInSC=emL#gk4=H-p@b^(I`ncjcUCZT^hpTKQ#4C);fNaLW+rRP)G;J9!0$dzm8!C} z&2qkn?f?hWNu+uJndetE(2XFf@$OU1p6#lwKBR{=fO8y9Au^casILMoKrc?!Uw~>| zON;o+ZNOO)(qBN1RJ}EKd*>eTHq^y9V2apJkrax$j+7@i>`+9#7k86cSrV#`>RLm} zOK1MUoXNfX0Femn>#h67*}|+NMXNMFFI`zh+O}FcrVpe`1Y^;A6*nD@P1{UToZjn4 z@)j4Cb);?0QJXvWObJ9&_O|ELE_#+UxJ^hBcpz!S47K$?M}x50s^F}L0E&M^7`ocy z5>EUc&Its+rFfAV-&P!5`83Lt*18BQb#Sue;;EXPb+IINB$?>UE3f1P*Jmfg!W@Q` zkY!z1z_$YKfgnz_kDtP?#=|Z_*qTGiJULh?q2)Gf6xuu!DqDy`?{0ITeT-n)C5D*1leHamx zy!&z50w?fA{Pi2ssaCwb1FBv_fM*-YMZTEvf6Bi5-`H^04TpV{ zhqP-at~Kt(l%Ss@tZKsY-t}<4T<^j8%ce}=7Q-sk3N9cNj#-u$Ohl$_?v(&Hj+%*~ zI!9tY(Pb5?Q!VdktlBkU0!eatxInYjkYAS|8#1Pw6MzqJQyT>^w@ET?fpbfmzjK~{ zC_yA!)Jx93nW6j{gFw*X(UZz+tOc%HYgEx-y#kzDC6h01Y@vwU*JhLVzTZ)v_x3TU#2Uevkp;4rs z!O{c3S>+g8zUkk{PY7N|>0?$9AqQwNjY{pq5JhdlzJ2od@^8B40J^zaNuB(yB=B@h zeKA<50x_7<%)PPLw2J`fa#dGn&VKx7*7Vh!t6HH~oB2$p zgPi%~{Ruu|Ol#Ww7WOWZiD^R120a(9K((C}FlZ`{H^5QMqPF8zS8zfpjN)RaL|+Nj zp>u+Lpw%`T>sSK;6@m^RpsO2j2S6mpdZ`9-_^5Ez+G&D?x|wob;ZJ5__Wx*Z{3|2T z8SfdbTX2g>tZt0s!O zDZ>%a3sNLQ=+9l-0d=>FT`th6FmaRodkoK{-S;oZoqIze4ENO8c zAQO1WqP4+5!W8AMGQQ;fC(320M#Ptor8|Q3?9(gMSYYswdrU1Wp13W$f=5;T=O^C+ zRB#G_jSg}C4%l^2M9CSzjmqv-UJCeV#MAg)ZV50F1jvt<%pS@?5&)UK|4Bc!6i7Jf4B zQ=a~{x{|jtBqk5^LxO_mz&B;M^d?ZbfH=0q$Q`-R;G}_3(Ad3;3ebuL6(b8Mt`O6e zf#7z129#ZnXSP;MuG2HQ?qlPOVd@~EaiWHDK&D78Is2^rgUKHRa76&!6|(GwBelsY z&1Baww!DTDr?$SR8Hs_YsL}a81^{&IjR;96-WuoZl@Pku1v4E^{9~StzdiY{rd*%t zU6(U|RQcj}A)GovpHqkx{g=E24PS<|Qa(IGr(}{=3VjV?TIQ|&mpnW70fM}BG5IQ0d z0zUt7&0Nx#Bfy}~MUCqW<71Fz=wO7Bm5l|; z{}9kya=E!4laJL0xJ}Ans9IA)$u2{^rhf!h`93p&^+$BCoG1L{Rbm~^Ke{R}Y~i{o zpNjQEOfFIdlcK>|5)Uk)B&vMh`w}8^4=ZNj!egP#Q!Hgl@I*Zvt zqL8^1k&-A+wAyT<4_-!XcvEYL_c1Bd?r5#r*d*h96!G+xJgWk0@^f##ASL}-&)P3* z!z5k&z`{H0Qo}TeeN+c%S30}zLOnN5)9IJ~dle*?r2xo0kIt3LA2E_aO6pA59R zlXGikPCZ>a^RnaPqLor)GmFv80YvKbNq$>pYoSUh=lR1kL)V$HYXL%o(@09!hJ>*_ z1JbvAUfkOWTxG0VQy`_gG|K|{M)m#_*rj5=B84plS%mw_uCAc00PciS{M z0sxFqUO25gAqrAyjO(xC3HCWEELhBuySY!9-1`sfq1^DMMf^U~>ev2_^`HTZv%_wL_qoaedd zSs2_1QnGiu&N)4oz1CE*OG&n6k-AWF&O66}G(*V-PPbI)QQ zFxVl$A5wWrk0@CuXAA+xnS^1|hN5>U|p5NSD#gJ_K0d}eNb>J&{5{o5tddIZk^}AY3 z=`~Y^{9oH8dI{!M+&utcnY+7coLy97uV02V>&ciflL?>*D%#4;o#S@l6$4BTkrB`` zxC}c>boU7S^QZtafuo|reC1D4tt20zh>>P3My7>qf`Ln-YRS*JeUug>3ROs9tUN5G zqgxPe(R~3w%p3$*5I+g)NwpGtYWPM&6yG5n68|N}8L~B+oC)biTdioiuu%$ku z&YAnJML-ul*k5@Oz`N`+2R@<&c5oBjo&KY`!tU>=F=-#@uaGS zu{u3Fn=u{WV>)Uhnv^FQRJ@dq`>~?+{1JJZD!l2w4`zv^M5jtf_wCN-&~CY~pYkcP zhYfg9H;h=;BP|Q>Ud*=uy4A?fVW`sV^y${>wb;l`i6F|80r@iayUv-Biltp z+XLzZj(LP{*Q&j~$t1a@5+;b9sRg{QqV+M#yT)u2N*@4v53L0D433mMPy>sRe6dOR z8U`Vl2YhV$M*tcg=#1`r^7+h3pBA5RMqd6+`vZxj4W%|+VNj@nifrppi-FA^hT2{3 z!mqrJ1kQVw$516HgH)Qxx6K$qeAs< z0j_jmU-f7LPV48OFhfL^Tw{+zkr(vHI@Lo&n05IJkQC!e_n5H1$_%$79bsE~&n{PL zd3|0J+Ff>3IS;sC51nRPG3ZN6HwfJ#)Ug3dQT4H*gCskrjrArM=h(gVR0e7ijjVpj znEgNnh?KB9K=_l!IAJ^98pyWeAoU#qU0 z!UkD|r9)WFXzRe@16bV~kfp#fEDckPlH_fh`FH57D|gSfb-WxBZhN#ObS}R7ev^Mm zei#P>r8z}tDecZ;sn1E1xPgDw=Ry_>3e?35myC1e(iKzKQ=!;_e~ev#_1CB>>L~9G z*;>TMREQy|^6rSB#Y6i+DN~c0Ln!Z^B|sRKrQs<7rs}gs@Tmu@6cGubAv-**UG`0W z2bN!X>D^ECz0Pa|9rwhO*ZI<`BxAtO1;;zXEFxZ?L@=)m*b@Mj9V*DE%+->Pu6H_{ zrnu_|{Q)e2cIZyS?Lf-obZ*u!ku8(E@NQGMLja1L@FNZ&J5F}4yj z(tAUA<~X!?av(Oa_2|fDUwDVtatU}{)uA5xLkpOcnxGE|SRqxPKeeumgFutjIy9%j0Zv-ZdhJG}2ab4e(sYZEVTA&n(xNP5c91 zdTu49i>4jtge{++DO#En3Q))sws`0wM<@RR-JcL^@on!&6KfegDnr{j34$||KKUEl zKAK@nXK$F|2L80X`YrVxEol6Aj;y=hrvRMd%th-Wtgkq3bvL)cQNS^LdGR^?^bp7~ zt5lJ1`$R*ph0yIT0cKo*n2>kPfL;%0ks=>{&pYI4nWLhjyz*&!CIRI<&> zcY$yokEyiZaw+R;#;8G-u838PSxZb?7!r7eER9+Ze7-@1PSz+)y-d% zv+#rI7fkLM2`G>ab;kS&;tOy8$@E92)CGK+nhGj#(A2q>zgT296uX@=meKFSt+E_HA$iFaDtuG4lW3()16*=`vUHkSLnbbIMK^|K=DEB{xR>}x!5I){@?Z$)W+ zm28rRt#=bebnfAs^3MlNE=W1t{D^V9$zxOUEkGRsQ%)i<7a>sucg zpCH>-M1S2VmdIJ28T>9}+$9UxQ0Je5H;9l^nwb-;RBP-L3QEW$`<4FZg&Ge}aihN7 zg7uI4_9wBNfl;Geh+mtTE1Y`l6+6Td;x2f^B|)tokx8mNiXcm*mY`kTg*&ihP5AEd zy5RAl$A*V@t=XdCtX4nrdK&S}N{~)hiDpgO+^GcHBi&dRAY-0b@k$U}{%HD1j@Wt<(iW3LU5vhLm$s!v7!tYAG?}^2$M$glauCilG*yq@PjX zp-eZeNGBu*0H-45IN^AB_~FCpybZGjVZg zNnlh)9}jq#QQ2}r;Kq8;BQFdc+0~_Mz~?{K{2hWVa*XO$suNShs2e%-=G9y9KwAUW z>rHU1e>nZARlF;sbR*o=39+R+ z4D{*@(~u)0Nq$~G#ZU-}L34`ZP)s{eD52VFsuh|X+L0G9Q#7M&ol>4@Gnbgz5lYvg z6Qj$`&q+2%R{t?nQLBKxS9cna^ku){Uict-J#WY{RuHSn$kI(H&_0&lYrWpWvi2|{ z1SX*47nkVIF|}AOY>6@hP~W`{B|ifW%1kMOq2p)JiS^XEC>^#(9&HMnJk65&2E?~l zq{PZZ_sU!V@v&XMaa|g_Bd^~lx){WLRE%?Es&8=i`}WtSACgvi!F?x$w>FduK7U$O zN$B6MuGZKmj_7Mx;D?7rBqU;{pLzQW=m{sBcpEffZC-@cI!@03qvD&UJTp@%%ZW{g zYR)R(*Kb2Ib)H&b1C{76552DX$L4qNp5?K&S#o?H@q;=D*m)7qD>ZFOc(sw6`7#ui zc@enYixtj=F03%5{ndh$|7Te^Jv9N8SN_a156#o{wQB$DKV}YOx-tDaijB0r!@F9g z3WdbcD=%I&P9p{Pry=DUQ~X=gAK;2$j4j10sQ~U)8nYwLFykeRRv`usacD>`bXB3+ zw;fUb+Rdw1Np+!b0+g{R1dA*6PXkkF#oi;1+7W(N~t%gszIfBw|(DN%*` zuzM76{@tM4>4KdLX?awkHfg|ymDFwSTqQoy@a#~Xu6qQENwzJJz$=e!H=sSqfd_pw z*rZ?yee3GATOa`_N)hiAOO2tmP6;NuvX)dPeJ7`(GdzBw#v#xg9GWHr4227Fx8##6 zOjv;xDHZRV`B^^u0oG0mh&-$#*XDte_Ki?xUT?DK(N1l7R3Q{*aEI33huDE zTZL7Q0$t1jN~JYr@o#w$N{}wz>u1OViLMYVomg*M7 zuxo}qvoZ;OgoGhYDufv;wV~WbYg`c>ji_Xlds$lY-6#fY^FaPdA5q5X%V@b z1k*sMxVx(Zw9e>F;jM~LCbOZ`iiuz9c(4f&Gsmkgt!CPrbTWR0kE|y zdgOX4fErLq@IOjbb06`%{3 zp%HukMAs^Z^1`}7k7HlW7wf>r5cd#zL=vl`qcr&uZ8K0F9eS4MT^~stl-rXDsQ-;A z>6RG9Rnsax70p_+-jHMU0Zdff#oq;T+s8wLJS{$>J@9@f_<~r#qEXDR+`@n)+ai<> z1I1xstb3@I2uCWBg5d@}9xf(T+00_G<;+wYbq=db*u{XzHJ3mYJ*9k}ym$pkT3zzL zG?nucui+kmo$40RWu_PqbcICTJ6!EbkbX z+Veb=8eT}ZO6W&)q~SV&^1StzBHQPWpzyp#RpOm$^R97-`FaBNQQ8myZzQq*J6Ljh zVBtZ01_1soelPbCoP*ql@8ReobD?cpToOfZvV0+jt|te@>b5Q4zG+2pIZk%!n_KeL z{KE+kzO|WDGgKuOci=jLPN+g7cOBXgXiF=JBC)$fY|fSh90CQPEV1S2q;guQN|(r~ zaMr62q#ubr^X$J3(txLrL25DTYJ2ZCNT=BFI_#mT?}znQ)NV^xq2S=+NEKGfnJkJqFXhYZdNb0i z3b01{f1G|DdT1H<`<$IKdYRl!M=ccP$r$U_Fjt*zz@0_-S!|(f$TwjT?2Mp+C3oZ> zxkmjsIvx-=Ck(s2SiSW|Oc$;JywG6rBvp=?J9U=HyALpCLQqccL~VBAgb=_m+Qba-B!a=HEnnskZ@UN7OPw z3xUs#{yYIdjFgVVhem?P4s+p#q@99yh~Fr|`wj3sXQ#Hqt8=L0gy3y=V4YcV<&mcp zhuQHZA5zuB>w05qsXX)kH;wc9MTwUKj9aj)XS)E8P*2q$BRWi>XOZw`!=`g>`Iaex zgsND1SmDfSOs6W^5CW4N8%bOn5&1eqtcevm zqyQ<$Jv^4*?n)C^>iZKbwcNCJ(E~yYQp{j!pw4()WFZ^c-0}&j;fE?=Ufo+il(5Ye zt`yiDN7K>%fGg?5vIt``1brVRwE_LrIQuZ9P8o*Vk3k|MxU(pq6X7Nv_Wf>y+6i{B zLYXLpOx7A1jPY;q$@uhDKym$j5R-;&tb)&(cSz{ZSuiIa*FmU5kP6U7*5|TBNhaWL zHiBc8k6n`+V0}j!!;+VDC@JH(agnl5rlrOh3x&1W;9& zjd?Ht#?hCTJH%j3`f#X5#+fr?1!`_~PUrOFF||%85lHL^E0tJh;PEx^q(vKt{QMrVX{*e+V2zQcg&73*$|v>| ze4PQfvESkzX`JeiS<)0wqlI|vL^$?O5uMtGc7dI}Lg)gzzgBn5hBgwI%2@Wokjpst z$sK3uC{e3Ffq6sP>j624$3UR6yyll*UVNVLHIEJKs-y%sp!s^}lYt)aJ8<}si%AjF z0&XCV)V+Xgb!chQ4i9W>LbK(XIya>QcUEozu1?utV#?N;qBQUS3nf&F<_MBw?6_$! zGQzRO+S=sae3lXTvnrE@lpqFrzbKvs9FFf);|3rfZVGAGlq6(0n7<-iA6+LzNbfbar#Y8QTm;C+rd z^Al+%=v*kp@-0(1SD8Ck(L9=HPeO8_r1!}&v=rn+rNhtMskejD+kRxhHC^7?A7O#J zfhmZ*#~FaBOXMSTvpjZ+-IQ^$xK?A{ckZNe_3lcM0?1I0iWUI^xevm1L)d#pe#qkTFqh2@0X*Sl3&zepU)L()%Pmb{iB$F14qK(feDpyd#Z!Seg2wyrEn!W4JB zV+lpHBm*qIcfxftche_aT?*nZ_+dbiw9_@A1TDpj=Q8(A}F>Bbzl2NvNdqiPn@*uo7@JcyvJ zqnN01YAwHZ?Z#C=IyHC|RprK%?d*=2D>$yIx5d}6rARfZW0iOXBb_bGYw|mg>CUS_ zHWU~a&KBNiFQkqyD1HxdrDuWMl1);^V8&Zc=SW)6?VcWE?AM9@i$NzP(n5lV6&YFJ z)Ls59g}{ZgeDkKnQ35)C>sKoMQTtC+#muA3rcu(MD#dcT?2i;}RDh7?1VF$&YERMP zA+ZC`kC-_%3&CYLcdC9$*8FAgzLuA6qR`+fw#^9VM6l=Zx}-$ZcTl-w;>|TOrK^y6 zFz1PsYfgJAe3Iu?uNj%vPQan~44$LpYYeseA%Qrh`+-!2DdJR5r3&Y(rxOG!k)*L! z@sg-wjwH&EXHO>NpD(S*A)`q$6l3!qewNdPcs@SCBU=SbGoWo)iNqgzz%AXrwhUR@ zS_7co*8pTVkv@*dqISTUVxMv00^;a{V4LD^bjW3eJouL^)Pl|u_iBYlV}&O z;{gXQWg{Q%4X7R<7^2F$Ay0Z^1HqT(*&R5=#i&gC(EQ@UuATP#x<;NkDXaXz1SfyN zJ#B`xcTNZ%EAzx*b(?D>m~%f;e$ti#7h3r*;b?$pQ`iCQufJ+YZxYVO9V-N0NrO62fh`6e~f$#9I`U=8RjOoB?8 z3@0!(@yLUeuRr9YN)wx}))RKvk4v3DS z3@|e4fy$1dK>@rE>`?_NOH_v#ku;!7W}XBy=%fG-FanF+0a`)PG&IOnFI7$%Iz43s ztNV|aU4nX|r6e>aJJu}``@oNKrG@>Ogg&Xg+L$`Y8^nsy%P@&=O@B}BB>iOG{xGa) zeY+%gB49mrTI0A!Y^3o<3K8WL3x{N!OD_qeq`6tW>>rpCMAR(A!V%@+^ zZsV@WJsO+b!J$N}5dE~9*v1Zu3&*78zr^8D$kgW#S>A?0`!MW)a4EgW!s)mdHDNV` z9t(D^=?G<=Tmi!om>0xENf&FooZ2kF&0b!=4&w`$hm1%Iv^Xi0qo^eBaur*m(l;h< zWbmTTx$lP^wZ@e)&5=8ar>x@-4}>9dQeumrhdp|%vLH^a)gW0bfPx^vl|6pMAD6Pr z%F0rs2lX6p%$&T2(Zu2e{L$kRf+^s{UTrdP{Q#eQ#IY%vb`rG8E~ozpD}icODu5ti zQibq_`igvG`bjxi;BbNd!!eT^bpg^)4F9o}()%GC=^^>&D_mS^n;U4%0+ZXS!$c84 zFL#VV$dOL}FjQbV#wBtaDtDJyh(ARF2AS}g6bS%HoBeH{)RA#4>Yry4}Vsf3Oe;BJVi0CDvr5l&bqE?vE5 z!Lkb1EwaIY;zOr{HsXN9rc44RHeC3 zst#FCWjM({x`<>U2a#W2JuVmM<(IWB^KCB)I+V_mCx7ItE?1GzmY-tIpPW(^=TOOGFSa&#Kw~bo#0Br#RCfH!ar#QaofOf97alIZTP%(4SHd_`-z&i?6-i-54s+KzG^V^uw8LHxTyYBqSvZpd0p>^&6>u-Z$%F&Nva95| zL}kc)3%9B8cByUGg3co*s*G8dqTk~Xp-kx-I@r0e;FRo6**#3(BzJgBcNqQy9Zqv+qfS^* z)kAZCpPOF{d*@uQty^;LujmVbU^tYDUyVC{hUvt3;BnM|VBWPWlux1p1ie#NXJ;&o zN=FlI3^4Z{ssV$U3puPD!`i6ET9i1!=$L8<0QgynFv&ku5yl6Gvn}=0M#LTMU8p=R z-M+mHEh1|{1#EPJhk3q+B7{Ft@``D8d5XVtUDs991(jQG^_3&RG?3( zv^>R-EQEOnfNP}8do=N*m>F@fkX7@B^mUhiedHZWM~QMiAzeQ=SK$z4h}B0sI@GnU z!Un-*!NTPFja$6SKc4=TSx}w(da?^bL&ddLZAx6AuN;xLhYG+(bbVQBUJyCgYJ^lM zaAp*ZPLx05uJ1xc5z+xOO2na4JsOw|lki2uqM?-f!_IOgqf&4OofgVE* z+?Bu&q0CS1&o22u&{+@iXsUxClos)wx69R~?>6Nv*s> z*=Qrtw2t%+?Kco!GjFbfTZPE_f}(RQIO`m25}@Mk{FTK^ zs2d#2 zkNgXU?o=IdS7}rFf4y@G_>TVq!%uHA0ja)=~1IQ*g~w)guZFk)jeGz&y^q zPg52OJpH-UdzkQ`E}NN{FxE~Y6-~?SuR&8LW&f-Sbp@AAVgVyFjIjwWQnWHBJU8`! zu9-q@mqu(bD>xd#l1Awng?-MHix|elz`SM)@z^qY1FI^(Xk+>F^i#M$R?qVhU@B>+&Ra8pe4qoU9U+>T_uein^Mq*FkA(vv>zHvM;UFG|pG zgNd0eoR16V_(6d&1y+w%jgo6T?m&D_lk5081d@Q&ZU03-1c_rYn7YUWBg9CMz~8rx4UH3ZdxOhRIza6`by-2$~I`K zk){1ZE51?(T2TihbM=k-n%bQfhH^5FvDa0Dz7HEGi4P@Gc1|cIwnM??+@MX=$&cyE zCI=e|6XZ6OLOTyda%L0w`sJgi(#miSP zeCF0tUFo3ty`~f0OB}O!s^S!I-JN$=u3j}|)&C&GdEjAwh;R6TUu8A+pZOsVKz?8- z7HR=nbn9J}IfYaPW;5!iB{>Zqey-O!7)3|YG4=h^bySxGj*m`%kEQibP0>o_}b3>?WMy?@J?8OoovZAtWgPCV+Y;_rjv|f>K50)e!DJ{1XbV zUb%8bKG7Z#z4Gr@FiWwUs!2>UnGmgGA+mHjqxDub0k2jy8gYYnGZgKn*R}zd4E<3z ziouFU)rAD;)1&Fg)7GZU3{F8GuhYR$(pHl{H8i4r>}Mw4oE3ov+=^%bhUhAJQhuuceJ3Mmirdv?|76njDNMWIuD)xtnSE?crH2XAEY(j^H*dkt(W2XKLe zyzV-k{w)6mKE3Lzav~>>3w;+OH+=7^^>!<{Xy%w#Fti2o4@n}*h=In7y@4sT2nxy5 zITC=;zsE#)GSMOzUPr3>P#Jm?bReO0KV|LRaZF#?hqO!??jx!X9s`7dC(-qWBka-7 zV!({^+WW6y?JalgrFXvwL|8)Zy8gD=};)Wdh zHSM-6+PRBx0J3n?A4A}=HtJI807c!v=TNCwU2E0v!AVo~b1*gNQEEy{Arp0oNh#AN zH(+bD2Owb(VZH*k$CFFOnNYd}6k=#9qXfe&Qk5`b)`nV?Qz?q>Zuzk5q0ruJY-3)H z{T;Ay#hSVY!MMi*&iSSiNmT?ZGg2xHJ56Z>E45==oU${}Q9B&mr2rv}b1P!eKkpu5 zB%zR$T=jjDtEry`Fbo3N|A4bJhhPvBBOkqS7h;j?#PAK`3#LD$9xnp0;3GU9PifETT&f8=E4k?^iq_{b&f3Zglnkk7#~n68#k7keh(6T zR`JTySFTdy#87l8$B6M4Ee52 z3nVG%=YZeUv4}kI>oCVV@qH3x+L+2=I&|elSoJ>O<$)RlA3bozDlXs?TM&!}GzllL zSm#pEc7`g!Z%b`ju4R^-g~tkalg#rCXg*_L5qgx3tu~OmLTa9?;>E)^S%Y;HKXmGt ztZIkXu)zgRSswHalTR?laaQDAlrsfr)GnNbTfU!!5J|>COt)_$Z{(W4_WY}FUcj?D z@@Z@ZEgejoOL#3li@3vRVznkcsz{cy**u!94{=F&A2RYJKa_mB8p+$2ATG_498X|Q za))CaDDoi2o;pdnK=nYK7emc8;wj=0-Z&%{yp$K@8kEtVTzW>C3$)7ciAi6B^x?w# znHJ9!E?$5S;nQULe{A;i=j@WCO?Y<~sQgI>9F>F~7+ch|?8$MUD%2s67B~<$udc}D zqO>>Iv3on!`mUbMVKA|9CM9omNt*qAIiF<(d@q*)t84<7uontX3xa&|PK)|+WM_>RCU`Z9RyuelWtb;Mm!IH^CRasucThnjr4mSmw zRbsc=e}MP01H@O~Z=H-85{7Mzzu~Uef>8wMifkAF9oBfYKoj9lSsBz)eMB{9`J_)( zt+27jFi7LfAe_J{!r8#EZNxX!q1%HK)1Y~k&;x!8d5?P-l|+=@Y?2WyB@zTmM(5buO2!PdYsJ`3&x zj~7X$?u>KcJr6Npx@9O6&)uCn+nl+{K|lsgdB#{#HQG-h%}UW7aO7cy;Mz#l+x4Bg zRLQShzHD;CZBDbtkOAmeIE53z0cbK{<+P*vM$HZB$ojsbgP|_VL)-Or&`gDA{WZ%N z`v*h4|9>&%C>i5m6O9-8ekOgBj?iMS*9|RM^POmHQIFsQsSf6IAjLu8r~u%S&%S4* zU}L29)>;FFK%jI5c|64nuRVGGO#r7*8S}#NaQF)FWhskwwSvzUGQlXG@isd@4 zxsRVx@UjA8>7RRu@+49q!wQ6BX=aS&Fv`Dq`o~0eC4BqViW~_@*aEgKjnBEWcF+_l z=V~BeB|4Pi2Z}$1b@}!KR{aV()jm$j8m4-+H?i;t`Sqh%xmoj^PtWXoq`7jS;*7fW z!{FRe&cpSfB2N7m$VSro+cE$!QHH8`MT)D8%T|PVDViI3JmU#_)m^JT>TW1lZdIC{ z0w*T&bRJ=@#<`0r^vFIaTj_}p$sc|3#TVglv_pt$Pcr0C9bC$LBVTc?avHxYkqMqM z0RdCroPK%w7K)T$90Amw`Kp(#QFLN*m!37nHS*m|Zs)Ev!L-z)qb8t3hlIg_D*=-2 z*SIIgmCQ@o+qKIqUCXvW_i&e%Z<|&3T`&A6e;~uM^OL8tu}6mUDN7&7(nId$A@~j; zPZys}l6sbQ{5cNOu=*)UYz`rFTRAg&Eb0246k9lotEkT)umCM7E?AJ1?%Vrxu0w0i z@JO91&(ETao#)?EO);?ScXw;B;zeqe5M*_AlZf@8A=o+wr$T;>aNBf5Sv$9ZY`+VW zE%)*z-9SA8N?e+6^qnW1=>b5AF^RmBA?OlP)fj)$3TUgq_x(`?-%vKB0`B8XPYu>} zzTI|y2hEyP3Utj~kUDfS<88p(CZ42yi)9$ktV!V>!cwlL$URVSB>?}^^z)_+HzfMK zzC)EbSzJ`Sxv-U&Wln z*@m%u50ecXDU?@P(Fap5Kv(YTw5#YIP-n0*6T;>M5`GH6xkZ+Td;KQgRMgi@Dj60B znstTTP8_!dHK~}%@l?A&PeAuTDt$T9S+#_7uEM4Ai)%BDpo-f*nfTsmP=tS;J<)4h zdv!!V=f;hzXr)2p3Sac&HB$W92}(6I!HRyq37kz{NL)FlM6b-4Go zV6hU`_e17gKScOLV!JJs8Sgg+W7lr3aA*Cq>8GXVuI_Hu2wL_+Wp=^y)DFfy8V(}S zW^;h@J>XwD9E~*OjUtVmQAf}mLpiwXL%!LVLN^ z1iUsJ!7+zdZ+~(6G0;JKA(?I+uK5ABkR%8UF9Em!IHs7~)%$?)+Ijd6X2mM67L9Cb zT9q&ArI-jer7r0wEN0cRb_`2DG8{kycER3El)lWil|WjH5WpZ%?qQ2@|4-!6L9cuS z#9a|OZiKrx_LSp{XtRqshx#|6Rll-$1y5eGEoe2M;%p=TBk3pXRHUT>&(v!hwYS)QXER8+Ktfc7+`1B2yEd=H2Wxp>h5gIrZvoglV)0}2WCXsT6oM*yPIU*gZFpOKe| zlbW)(Hn|JGWAc0VaBdQ>XL83e_G1>VC8gIr;HL*_`%F$GeY!E#)uviShdh3Ka{N;H zLwgySm5tR{OSL8WV^mhAT}%`Zd*HsZ&-$m2B{(hhtRK=^tGR8(=&7VvcCC#pqSQof z(0A9X&DjU|PZpSnvYMN+#ukLx0K-tRMed*m9$;_|+}E9D4AWPUUTb6EunT<*a!t8E z^MyJdfQeFIfdb@Ez%4>&a*SLIv>&XaIGzsyc`dLY$LC;`5Zq=J)5i%52nhHOB9+>f z3a6N;{z(}q8mjL}YmD8zyo0Z(+%Gm@xWV%oOUeqH29Oz+`x=A?x(gyN{K}OV_5XR2 ze>DA(nZt;V6`q+NE5b|tyEbWSnQK2XP8*$aS9Lwc@==vi>;C7s7vGJE4qhF?&~5`e zvsw#w#_YNtNx&rOv_7&fKgG2{%vpytn?%%oKz>N0IvGJ8P&F?(0f{>U4{*h1)H%rX z6zIx!W@(}`OC+AVD263O%*pc0~ zu6!X!N>}UO_@x`33cNmTxZy?YTOauz(ehYz-U3rbt3kHT&g~nwVA*kKOQg5xH8Zj% z(pKaG<+6l45ML!zZ$Wj6pRfF(jFMfU`J+5RaDn6TWYRHZ3QGgg?EEIEWS6AK$vyX) zlyTglNUQc!ic|gtTaCXomwq+s8)8%mO+H@zvV0kA^68e^4 zOz9Oo-$Os75Hqk;T+eu_6AN=tPiny2rgSyi_aI4zF~0+o(0qzCv`$HJpjMZA&tx9}XpLjX;zErkEMdsGuYn)Ar zTEcHL^g(C@TL_fk0PjM&qL9UYg!2wPoRN(>W6IbmF4B}h8NverCT6U<6xO;oWZm_1 z$xL(Jf&3<8;ym594<%sW_i48(HPPl+(oK~zSl^Ww&^g9S^6=RWPo-E3ZvQbnx~O&H zlWV+2l1#zf0c*0T_*Z}ibwf3;5(gN6ar5MzM0A*6!tzD+hpacL1Y;@H28lI>_%7bK z57c03-8K$oSGArHtuQ#i(FC5eP}^y=pu7)qTYj4#aRYTmA>oH#P^-0k!kte*Wr`A1 z9J!#EtlycaVx*OAf(2o+lpB3MWHF%f7GU695&-DJz?Y=|AY+l7s^gk9d|0t_z=qDX| zKsmco@a7&~Ch1s%JQ+a*OeK_9OCY%H6G}29#OF5lIu@Fo58^P<>;G;{U^^X{CcglQ zGry}?%Y2mh$Jhkh zld34G-dILP{-LVH0LC-quGSgGet{cgfJSkr6-(L1SE~jofh9uX;auwvl&`JDs)W!TEIGhZpZ=| zHa)%-Z-X(3cXVJXSQ(_2k-G*;GG@yQY85ZV_GhLaHRrOil_IBd8~di%R+C7$_Wd4` z83ZupgG)%JV6iOG0;rHxRq5q+!phM}UZFs-dl$MjDWJ#B()DF|8o%{2&c%Ri2qgd8 z%wI>aVVkRl{U}C>EL9GAE0U=4_(*mBY>Dcf0o{caTo{1Je1dXPez}KOpu`W>^=brM zxVZSz;w4jTRGZZubezCS;8v^#bOMH=1BJ36Mv@7OOdzFELbD&j0p2@em3<3JayO+u z0baa6u*m)yR=VVp9iwWmBUU05-U$O55}ODt3T6RV5bgliM3qqBu|Yb*ZgLlmN-6Wk z%^hGs)%VD5i=nBDF(qE150N}5xa=ADe)l1BMD0M-g#<%N3rbHNaKu957OUNE3*kiDc)Z4(VV*9-zQC~_h-BVLgH>H1+99D3bEl&ImXhA`Osm-@2N!o77o$C@v z&z~`~v08JIuPRnNg}>rqiK)ahWjhphCrAX94mrLo-^(5Q1IRr+KrwYR!UQ>ahp6$~ z{-!D1kE!6^^$z7c#KdZOD#2sMKHn@9I^}g-zI+kOHfaS5V@h!ssJ6p_O%l)mi{K8# z$C2NMvbobmUF>#zb%L(w30AtPyY0dMlXi3#CJ~IV4wtZ{mW>kc-wi3UG3-FFbDv0= zJN*>PmM;;DZ71w&h;@$JsG0MX$~#7ld`fK3aa91Y3N>w?vRDrmAS1 zag!1vPebTTR5D{pd}r$66UqAxskA?8a=-n$afTqTz5QJYx{iC{15!c_ARdM%Z#prs z&&A0gR=?AFbmVa~hakS5Lb1ms6PoZ}V2L0xRK^}c(!3-CZ`j5M)#;&je*749z%!^` z^OC>@lveoR^e0mG{|L*G?Y-6NwsD@j^dd0_WLyjxHzaw0@oSnS2T>LIL_I6jQw{Jw zd{d6Rqj3yvl_76n39wNb((EGXjs4vMZ7skZ@U37ULOIK3sTTrH+<|FxS1CYkSuTO4KuT2BfP4c1 zOb)ejTp(%gY4mqmdpnAOM%E|vp=SrKR)pB9^mQV;izxQ7#{nhd?N3vC3>LT0yg1>! zwvQ;<_dpdnU_at+_ZK~Y0ZED$LNTIBb$K40xfM?L=WsYYRF8Nrlc zgTDCCZW``;7(LQ%r<271^4JviLN;*zFbZO;m^_HL#oo8+HzpXPtIHE zjyFm@k{}YV6JxyWD@it#44(Pw-CSCdEV#RC@^?Wj&EJRLN3Q#ZDTa6%V^Ge~qRDZ3 z3q_JnzApT(DZY`CRfh5@_Sv-t7QDq{)F9WT7(2ikUsK@s zNtTS2cuuv**qnQ(sxOga)FFhoBeW!ZHH4wS2FDM1_rmKJr096i+5$Ie<_&?z-Hj;q zf?oYY)BjEbvwxU=_#ICc`>PiEAZV?3Iyg_cix>(oNfl-Gw$W2a7zrO?#lvnuP90^= z&|+|NJ=CVFW7A(dq{!0p5`G4eM%w6IkavNZ zb?=i)R3K5pl=RZcZS}g{YA185nSgO^r|3T0*M&O5Ro2l#Ra=5t54b64*H%Lc5gKb4 zR0!xi0dJTdvZlmHY$#aUNFZu7_gZ^va#YUg!5k$Se;k%=k;%O#@4CmeU_ZzTdiiqP z>9A|tO8W#L0hD968!G0<9cU?x`mDz0)a#4e7^#?hKz!YlZ=+bUVttcZTqu*)$WEa{ za0S^Z%C=Cr-KgszvWFpu!s~)wPyW6&LCk}kEzuLnJU>yzA{MaJ-yC5o>{(gQVO9ht zKC?;FYxDgfPAa$#Ut{U^%2iVwE5a5RVg*G!7pAZO^Wr+-H1Eh2J|%>2R412dQS6FY1xV6{meTExgb z_Nk={i3Z6-8duRMS*?bMFyK7&f#7K4nd1G3lARTuD5-g?ocs7F7*QJSkEdTzm1UE= z11TKpRktJos>NF#l{b1~C2|+iP>Bbes435g!tpM&;N_CFaabAP`cjRLRS4?*wqFd9d2|TB1gs8aA+D`l!>}~;6pMi>0n9ftK|NK% zL}*p730PM|g#1^s0UC0V=C?B2LR6BlnIgr3YCDyT0mXlBM^e1eRki{ia5Cn&b}pDa zRwM)kjzH{Quw-D(Qu%fGX60&cNaU`qNtEf2BCdl!GySUk6-5Y?r(cx=@kJ>;VNVTR z8}Q-1Hicc<2yu&7u1Ix72M~9S0D-oT%6CT^0}Pz7)*;aajU-)fBJ2-QjgFyM={O8t)QXF@tlKyg3O@v@a4;BA&ib1*@k-tqd~U zK215Co{x!uk8XfCzgSu6Esx%2GYv|IDgZ8JxS&ymwb|nHAfmwq4#SGd{zw(50pPIH zs(IJKW7kbA;B6MO-i*gs=WgLhD zWX^W>UTxPD9^u+Tm7y!m<5)89Q9$(i53teat{pOp`2eQGj@zmO+f-eJ!~}AY z$Bm@+;JdV|e7I=l6v)o1=g1G(uFyE~foBPPz@^B2y#_%g>glTJEv9{#^>JFQ0uPwn zLwyX1rDD}46fLi%9xf<<$k$CnX!pu<0;wE%d4V{fFYxDYvM%`>sY}?%bd zPNXd?S90hzIDIRFj>p5~y!r5gnOSp^%bVF3lq{MDX(UM0W=~pUoD#mluTFoWh^Y=+ zm+JbuDMCGz8Z&5Y(~6#5Rso6J6XVx3~JX_Qa##N_tYOzz36mJiL82VOQNYQTRUowo8&Sc6s5 z#Y^%7w{2saXTXyhP>PUrq89J)hC#l0i~%rk6Kh~Fk^T_N4W75`+)(rX;=g(Gy{oDF<74e-e1==>@2oyU1lk0v;QWd}(~ ze;~c`5WUVLKOC|$My&F!s7g1m0xz^VlK<(*r}c`ZCV+@t?5d6;5_oKj#G)A!{Zn)m zGmhe%)3PqJL^{^d6D55Du7nRpK5N-kEO|jEyaG8aDZv{sKae-k83O8~ak3aFj>nN^ zh^U0`@a;i0*nRU^OgboF&#@Tu!!W`yEiZL8R&}&dM(Iu0X$kNgz7K6Jv3z|=8#?sc z5<}8nk5Wr^Ur?kSmt={?>>*)%14UkSVgqGFGMgmD2y7)-lSUMdC~efLt$k_wa_?F+ zxo4%re(}Fy9>%e?v%c4oikJ3i_`nox@eTR;`_qrm{JPC{N7)hy&-D>6xUd-1@<~V8=?@Z+QlHjQq@4-@es9>`{W_^hL~SfVqYTW zh|t;s@_A^=Gjx5?3Zs-WNmt{f2Z3%lp|w+X_nX_;GTKr3r%1@UuQ=swb_)aF zBc+4*N~m8nh3#OJN{-&NvL?n!FpY{NZJfw!p3o2(R;6v|)4Y+g0_VOOjts?sBtAHs z*HI}bUp8CDqkG2MZH3|#ebg(GUwQ`~5x^uVF~m2aU)5C}1+`cSt{RRtRSBtugk zNy4%6l=3%qT3jZCpW_khhgNV+t$7d3E3^fcN+5rbR2zBc&Kl2*ymv zL-t3=fSA@mbO4J`7687+|*h$+)&`O}8q=gd|fqDgZmC4n;J7PY;8ytFGzO;e>Dt1wyUNEsX_mMSW(5F z$qOWN{NMYbsa1+r%OnbZ;|>$adjq@tK5_r9)$K!=#A7GX?60plzij1=X$KLVxAG6nw9pBVTO5w9qetLiVagdrCPPQwuRP`4uNMBxeCw)9df-w-}{7)7_2XQzDnPKK`1So zdwlYkd=>=Yc;*I=rsIUuvQg5302PU3=UhtteV@XTf2}H#0RSR68+W`zPg+FK2)e0s zK+XXL3vuR2^!3^ahxvBjDlddwTPnUuBfrKUfNM0}k}(PTB1FRlpSUkqQU{=n2j;FddPG2`6d?EHEEgiNsIiK@W9nTSm9a zhgx!bXo}&b)O=tA`8TAQc+epPlV*ol93< zH@U4lrqCY{em(-D`UI?Nd9HGwOBn{jareoJj{=T|VpQ4+MS!zBO5b*Pz-QcnpT{`j zc&L+FkaD3xFD}p~^Z{%@;>b+=F$P4Kq$$Q@;Y8{OxsB>S2g}?zNl7W73e}PCh1{HN z*EXaM*xs}1Kg5K1*5X1Q$tR>wn%ju!R3%r}G2BXY09$dpAqY1!zwHF#-&#N72oSZj zd=r@(G{!X|diRi(Ar^Qv(p@?EqE55+iYZ#0cHVukw~s8}v6}J|HXZA=HLj8rWa8Yu z3VL0ls+kvFd;S6!_Y|F1#gp$*q(eKkvb*lf-2&LCahmQhh{C^YdXVRr_x94WFhPal z(h(N$9>muZ_(U!K4qguzRZBN-LGvA1QHM!u*tj|u7vB%G34kOQFI)jNGKHT!2IFJ) z*})r-L66$#PEjgN6sdoR8jfGdaj(3{k!O+|bwOyjZ5C`ftw5tn@wLbtxmzK#Ttd1#D7XYqv0)0{_wM#vT+*<%RYs9&JqLOZNYEG?JZ7m{bY~f51 zqMu8TtgjM%M)?O&UShr0xAFmMP)-Tcq11NrZ$KI5Klu6wU&mkL?truG&&qXmuEQo0 z5-m;-8v3eT>A-riaO@pJjg}TCpODm^fBVlMLvZQRix+|4h_wI2c$MsCSa=g;ruz>` zBNZ4NP(VQv`DE6NI?F4!b+GU0eGNHhS5FUoV>xMZWan$@!394D3p@LiX4sx;)zhE* ztMXU3Ne4asW%y{s3z{`8MC1eo23pPyhA}Q(9L67~||<=-TjNP3y1dI{aJG zH|5<6QW|i3N-GFZy;v7C1Lp8eAUVqFa*N*Y`G=Q{`4?A)-84q*e;V<#y5} z^BwAiDW}Qn^(IK0638M9m{B@5?}7gI>+h%*eh;!|_d2hmx}X0Pn@3)5b9^wTEe!`Jto6sYxdDR!oPiStLD? z3cbo=73L`@7B9e-phyFHq`N!R-NbHJZgaU68B0<{ugFSu=ucE}3k<-YVL%!{c>v8O zru)8bALmZhEYHbJK4Y9rRbf<8KHZ3*U8fo(Z7I(sZ*(Bc0lop<7dU5coG!rUTw7&H zJ=XM&nm$WQ7NG~yAp!t)4oJ3Wl9~CU0~vUVjIOw+o)iQ@a!D@HWlu1L+0xlH9A)Q!`51C`D%pgdsv2x9~2&k1rm?CcnK6chp{sRVH z=&+)jSGhgt#}fS<9U5mck*{h7#Pmx}@7la*=B&uB6ejb*OkBUKCI)e4;UFzS3pSu7 z*PO^5JSJp?G@^N^XXt1hPh&TVkNiFj3?cH!xz3!+DK(~1g$;GaG~*a5d0mo7qfm1O z#toHGCP9O1vi@+ z#qGV#O?X>CBQb8Xw&&%roS$z~<3_F@ZH8mzQb1`#I^YE>9~9_*#wu&dSp_81haA%+ zQrcL>f+-IJ32v8OekesBQH!it?*NJ2qY9d2C79Vq*i9Ct%nMXFizR2?YlG(&(PpX- zBHo?7`YxL&Kt802g09>38>VQ%u#!2YiX+3$H|5onmQJ_lG9F1n-He3j5qi+Yl&*^P z$kO{E@XS;0%$V1<7@2b{n@jmRgOsk~pc|sbEkOd`8v~V2h5_q|cmL)KFTgx}XmZC9 z7Wo;KV;nq&6o_ku;yV+m#;w=`_75+B;R#JERI&HzZwIHAiM3OR5=*(8SKOZhCkx0G zQ2V*P!WGWZiLOCIFeiZ$=)@_zH17y64xQ>qZA~GFprp~iMgN62%w50aFMJ8kgVLD? zX7RYm@0a(P0^>l@@Byz@7rTmas45f#>o!|-;R34K!0-XkEZGbCi9MDdr#Ly@?#iuY zQy8e(jRkJ}gaZz0*5M`_mASx{r-*YY{YP;}L1KWkNP~jdY1A}lNUG;V39lz4|0sBW z?1vGtbbmd4i$ILOGR|s>`jf6U<3LfnD#AZUISZX};VE!Y(>Z|1zV&QC%T(XQv?K=M z@Zoc)VcU#PR)JmJ%hYm|=m<1S3h`1kml7aege|(OUQAB3Txsmx&voB{@q*4;OhJqa z>Pd(m@vp~$nzX$J5VFqN4}-^?yX#n;L_C*DS7kRN!bo_94Q!xmkG#8#(Z2gCbVb+i zt+QZ((08BVE9j>DL-zynHAh^9R@~F|yi}@DXysX!F%YEOIi6&Yc-=!xd}2!Y&M6p( zhh{tm?mq6IG+qOEQ5Q=i-_H7Ha0d`-6aqBo&TKH?;J99sgY;D?ekGr8q@zwo(Wt2i zr$-xSToDO-5G z(BiOAetTD{TV|zue&2&lfEFmZnVt=3HJ~%f* zn|cH!i`zq^OP+dnCfZa8LX!F2KI6ROwpQ5!--L6k96s1+#mL><4O!xmwC19cSNB^DgKDf^mSR`tUw7v_1Dh1XPD5WPXd60g*A>3=jYPFe9ROg zOrXtqD50HUs)4g`m#7e;nu=QbdmT*3Rb7Kd{rmslyj zUKA-w0;=e5nf%`Bdc&Om1pyZbrdcbt;t{r}EDur)KPo%X2wNjOk&67~?B$%3e?RkE z^VV;hmml5G7}Mek;Gv3xH6?s!#T?(z<|U;IeV5<^jZuZ`+CMU&whojC3tbb_+h1wsMxRD5Jlx)azDG zdfhIQ(X+u?dEPy6%AH95oddIU~e!-IvgHQ{mE zWBKZjzyWfGe78LX9=Zg4U}2Q~!UpZZQ@Dje37bl9LBdHJ!sP=W!%hrC@mUdjQc+EE z-B-KS{HGjGSUnxz#4iTywG!JRlK|A9C2XS@a+=Wb!8FqrMFgYnB4s} zlYjUcc8hF-$kRkKcocB_>9{_e?D!eyX^!W(O%RCg1S55ry$&v8(wVW-RlfR}UrF=8 zxpDOxQTmosG1r+X*i_}U85s5ZbLa^q4FVOdnc-y)1e$QsP+`^ zL{wSL->Ww3oF#z9hVSLvuRbujH(xUO>7T#-1-cP&H`4**F%L&H0y>BbL&a8v1BIkX zn4@$9wb?x;SUH=Bl~hdvVi6wDQ_`UapdwD*EA5>6!gF++4oA`t%U8Tty9Y|a@BXS9 z5x?{~mLQdjjclPlQuV(c!iR-HB5|%`191T9u=bE=&Y&fqyFXD^vb5jV z^$@?l8XrA?WWLG22S!f0+AF4TcdNCtjoYLfQl!Wuk|3Ou?g3}eZ%u#B_Bf@neo=cT0;Q%plU25kBy;pNjdYvfJZ(=0(nkmy%9=|B;A4ak0N!u}NIRM%k9 zHtJRZ_qYv-Vd;m*0P%!AgpDEWcNic`V7aqRu+8WoPSFZM(}F&!Z-0OKx#^d11R;CC zMFfheUS{fx5mCp=NkGFH$=F)MVkNMq0(0owID;e#8tPvO&CaA+`N;GS&DCEf;rUCY zJqy(_IFiLxfIM1m{Q9JutjhvNYm8_q_(X`2rkITTe&1Q%85 z5erS~YGeS7PK3W+*sSf=n*2zB1CnZEffBbL(x3Uc6Vis>9oskgzIxsoflmjYh$E?d zpAeZ3!c$}MCHx!)ha@y%%>=V75aFB>9b)zuY;4-e@v zcu}3~ttp+wKSqpMUXt>^JkuV`2i;@#2`PL=%67*nf9{oiIeGKeA(j#ZC2-PX3ps<9 zkos^W*#_MDe@dAsX&uR~pF(|M;`1g0Z9sg}RYde|pZvBzf#bFZ%4Wf(e7fVFL>xL| zD!0I4Bi1;&L;?~cw)|9%9{UPpYunkkrIsI4fOOZry-m5dQr<=p$!E9o=Uh zz6pLcM6{zZXejEW^chp0$@EudV*Xve)0xC4y3;coFW3=jESp#XoXV;0Dh5_*pr!^( z|I=EP#(7qfU#_|b%xVurj!^4e)ldYQU)oaztw_WA99&v`?Ub+v1EKi!*DqeaY@D@0 zK)skup1&jylvrM8W#uM7B-~>c>N`~|)=kYerf! z9-{w7e7#?l?rDL%gFm4L^dA~$wc0ef?G58}p(%18$3;%pQGh%5tUSgE#H~XP0EXZl zyIh4CLXsw&N98Xddz7TNRg$^8RcqEvr58s-D{`54AL#{znpb}L>h)XPIjBgo#U!54 zGCJd=sZJD!2k48aPS>|MO3Rgrm0qBfRL-ml>y+NZUNiBSMt%whkoDRIrYvqNjStk* z9fA@4jAgZr&hdSoG(%|fofxFZ6Sd1qh}i0m157`jy@(G6CTb-X#Y85oS6eDuPPIsm z&{b(B@7DGY3E2QlovD!EBmN(qYgBDmOrZGd4pFDS|t*~Od!^NYs7fwqc@s^P@3(_-MbzG`gJICK(?5kYq+2b z=woMHEw^jzEKxB*w10H^PG<_{3-%XOP2uU;BZ{q@L-rSD=0g9){=yjrEOiz9zA4YV zM~iE;yM=Kglxcc)rtnmzFR<6^CHOp_o>7CdUs<4?l>*`a2KNBsHFBSR{TE(`s-<@b znlib_L%e+?<*HtoyPp!}kqa$+4K0N(Ih>Ckg@#&x;FI13bvZOCPYNHGX_J3$&`ujUyUc z1$@pPp~_HjYeNDZ2-a8Pexer-kCohMJ809ts>IME??pD<*zB49+H^?e>5B$!He z2oY$&Lxtbw-kPacS`zE8jV4^-2>~V(56jkMC~t)KVc>^+VWkTM zH2kqN0%&}S8DfOnv^`npM@H5CUs3NZQB^iQWBA?6FAg+sYvdP4bXdJmw+&W?k0 z*88n3=on+o#*a>ZQR>nU;veEQhuE-SB-2jYZL3p7b?LM%eGVlMB5e+01!=pCX>wPU zG;NRA+!2Om?CmR=Y%kNk*8MR>z`l-EesVZ8`PVKzzbH+k)Qf~AN(JSGGq|NhiWGPw zu0vAE<`EU%Aah_>0yWTrIn8gdbijPvBerhAomrY7zwSsF>g=G^EbMrXsA8IpvE*wu zPFehO?t0CvHS3L*$w^4fx4Bm7L*(sIAn#+6PLv;$JHm#KzZ*;rbPbYi!K5@hLDAEm zEq1rV=%mZN97TwWHu6ZMkYEiblKru&EfvgwB3D+^J6rDlJ;rnJx5fD2$1s38Bj~TA zy0(Okqo7OwHT6@_PhJ`RWc?%I>7YfIlnCTj_@gYDx*emsn*##@%3AoM6K~iCSb1o2 zAWy6kpC_d#z=x`L1+l|`aM2DXgb4g@8|iA0N>M%>!`{K4N!Lhsc!Jqy$VgKgwoyrU zqp@XBEJ0IM@-*1(ydD<)D_Q6ksIa&AoDT!rN)*gi9SGWXFj5=|5VlyD19+y4HZp_F zQ#?s$w6HJ-{gKD4)1B#Kb%HLJ;{;HvtV-u31Yl$#6OfFd)SO@AfE`W)`9~}p-Io{5 z>VKSR{=-ZJJ;)K+nphTdC`(;u^fg2J;Em`2v5h6VyT9I$U)tZVuak#2!$T3?rP|r%^soNc| z>X8>7s8<+AC39SiP~@OI(`73LQ(Uo=h?674&Yf+iZCr5d{}mbq)&RX``K+OF$Sgk+BN3_>~Q)b1OGG5NK< z#sePfuSwmpt=1t${5HOD%pMIaekrSKO>~OTX_fcsY;NyMxf&!XIe*3jCi=M%$XzYx$(Z#MB1TH6dG$P209->c;F5X;Xai{x_d{@=*Sge1KY#22`*~1xRZ3#4I2boNh8v&H9oD?mLn@#fpS?0(R@N$01dmhY4 zBVf!5M1R0ED_c^Gfw1CjI%h?9ZLM9z^BZHOp94H0a z3%Nb&q-_hdqRn6h(!{tCV1>1+=B|`kKz_Uqf_4(3*Opr5n?%?E2hpczjEfbf?3)-A#yXZPVbGdC)xwEnZZeVdA)c5XVZjPvJ+qFYgv@h39e(|M?izMcB zyC_jTvL^izM7Df5N&z_O*)Lc*MJbxRL{&*_M+3Eqke5l>Zoq=@T{>QD!w#^#9Ah}9 z4&lXQq=rc4nI|l3W=2LHi9nqcsL8{j&m_<((R_g7wWD5)g^L$1TzFQ#%AZWX_4XGf zzW#=U$v@^~{uh46@PH`{2fP&>oJeUn^txQ7qh}~=QYa_Cy(b-KzCmHZeaK(t-e*ic zgp*$JD0oa-Gn#Ist_V7lQo14Z(mkON43U5^ri^ha@HtBWN;Bya?=fkqRJ8*sZ>=U( zV`(CfcS8N@cFa+jfzSvsOl8=d(af&kF24C>kuGh3-tM{+x@(hmAmRc1JJE+GkeT(_@6k4q^^u&U zG2j1%hiI`a+zYwidt~PO{=^b)pc8tiSl~WJ6~_}wj(L{td6#;O61)%$$0rKtn>#h3 znscG)G$5o$!pd7fDwz_A3aTTQgw3<=#?iu5lLht`!?OojCNb7UKY*$|;d4{tmyPN0i=Gj6Fku~G-SeEa@0Ik-o zZAsnkPqN3@W>Vc<-Cb69S5H-!r1s!E$%GIR5-thJKtc#441{n`2q8e=dD{Qj{@(ZZ zm89X29FnXP4CAroR@L|YuJ0veA|)yA<7g*Tfk2_4O(h$+rUm*=k#1o3u@jsxzY-yG?`M%sfDO032pq^1}MzR%dYPz&@; zi0bnuLwR{f$Rab1^zPx|P@VOp+yYlI-&ot-W4+s-L~2aE#SMMYP51E5Ymi%$SM()R z+$-QquCNdoK#&*4>EI&X4a~3p;>Di(z8B#$(BUwZ_Z^Y8)DKeeWqmkbq;Vd#IDEsG9D#uo$5&^uTwo%VbW5-O^P<|s*#7h7Yq}mnOQg?#$iOK zLo2#n?)NJYAv2l9-;m?)p#^s~Bw{-aOs(z)ebiZ4?PUib^JSj=Ced<=WFJ9r1SR{s zv2B%)0NVc9^Y|SAg>sW~Nj^Oo?D7vV9CF+`ZvJ+NS@{;G?(SB=0C1Pzv?l?e2+hL- zT{#5d(UjDrd41KrmP$rl74?8>6Z(;gn+AJ zC+S-;QFl*O&b#)Nt0|{9WYyU@=8Qb!0-;eIr#LkTn)lTSry-dtu`mIMu1gp=w}{R3 ztqoJ0euWd#Z(+GAXD5UjncQV)x=Tj#Jq9}Mo+aK$86>}_zfVve-J`IWrZ1td`tv(4&`hG880YI4iMP|sBrXz4$LUIFxc3;=dLpu$OLMkb% zrCI5uJ#wzfy(*2RRvKE5m2Fsb47CIvS!k=2j8v_fO=qQw=7W1XXm5(&TN#�J=AWDcl3N-8mDPfM+fTJ>NM{){ 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 z%0D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ⓈagsFu+*~)_c+j-s=ERf$M?1F6PI3_|l5Qv3 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 literal 0 HcmV?d00001 diff --git a/Developer/Resources/Tokenizers/gpt-4.wxf b/Developer/Resources/Tokenizers/gpt-4.wxf new file mode 100644 index 0000000000000000000000000000000000000000..e2ed94b9b5b993cbe06558d7f874c2ade4594587 GIT binary patch literal 479443 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 z%0D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ⓈagsFu+*~)_c+j-s=ERf$M?1F6PI3_|l5Qv3 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 z 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 Aw*UYD literal 0 HcmV?d00001 diff --git a/Developer/Resources/Tokenizers/gpt-4o-text.wxf b/Developer/Resources/Tokenizers/gpt-4o-text.wxf new file mode 100644 index 0000000000000000000000000000000000000000..11fc40ccd9bccf6e16b512e95954b67a8d682647 GIT binary patch literal 1168236 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

B8{sdWC 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 DF~8XoIFI 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

QGeOF@*~Jzp$ylmTP!Giq0`(E_jyk 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

O+DOA}}aCs%S4gtb6N29@m5-BX#q^ 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%0D~pSi5eCkLNU={t`5g(X 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 z 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ƕv#xBnI!>+5ov;s>8yC#6B$hVy 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%0DqwM2EIxK(+S-gZS?B#~54 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 Date: Sat, 10 Aug 2024 12:38:07 -0400 Subject: [PATCH 003/180] Include cached tokenizers in MX build script --- Scripts/BuildMX.wls | 30 ++++++++++++++++++++++++++++++ Source/Chatbook/CommonSymbols.wl | 1 + 2 files changed, 31 insertions(+) diff --git a/Scripts/BuildMX.wls b/Scripts/BuildMX.wls index 121ad918..08c60cfb 100755 --- a/Scripts/BuildMX.wls +++ b/Scripts/BuildMX.wls @@ -141,6 +141,33 @@ getTagPos[ file_ ] := Cases[ Infinity ]; +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*cacheTokenizers*) +cacheTokenizers[ ] := + Enclose @ Module[ { dir, files, current, new, combined }, + + dir = ConfirmBy[ FileNameJoin @ { $pacletDir, "Developer/Resources/Tokenizers" }, DirectoryQ, "Directory" ]; + files = ConfirmMatch[ FileNames[ "*.wxf", dir ], { __ }, "Files" ]; + current = ConfirmBy[ Symbol[ "Wolfram`Chatbook`Common`$cachedTokenizers" ], AssociationQ, "Current" ]; + new = ConfirmBy[ <| (FileBaseName[ # ] -> Developer`ReadWXFFile[ # ] &) /@ files |>, AssociationQ, "New" ]; + + ConfirmAssert[ AllTrue[ new, MatchQ[ _NetEncoder ] ], "NetEncoderCheck" ]; + + combined = ConfirmBy[ <| current, new |>, AssociationQ, "Combined" ]; + + setName[ "Wolfram`Chatbook`Common`$cachedTokenizers", combined ]; + + ConfirmAssert[ Symbol[ "Wolfram`Chatbook`Common`$cachedTokenizers" ] === combined, "Assignment" ]; + + combined + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*setName*) +setName[ name_String, expr_ ] := ToExpression[ name, InputForm, Function[ symbol, symbol = expr, HoldAllComplete ] ]; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Build MX*) @@ -160,6 +187,9 @@ PacletDirectoryUnload @ $pacletDir; cicd`ScriptConfirmBy[ PacletDirectoryLoad @ tmp, MemberQ @ tmp ]; cicd`ScriptConfirm @ CheckAbort[ Get[ "Wolfram`Chatbook`" ], $Failed ]; +cicd`ConsoleLog[ "Caching tokenizers..." ]; +cicd`ScriptConfirmBy[ cacheTokenizers[ ], AssociationQ ]; + cicd`ScriptConfirmMatch[ DeleteDirectory[ tmp, DeleteContents -> True ], Null ]; $mxDir = cDir @ gu`EnsureDirectory @ DirectoryName @ $mxFile; diff --git a/Source/Chatbook/CommonSymbols.wl b/Source/Chatbook/CommonSymbols.wl index 8728d39c..d2cbd094 100644 --- a/Source/Chatbook/CommonSymbols.wl +++ b/Source/Chatbook/CommonSymbols.wl @@ -11,6 +11,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `$basePrompt; `$basePromptComponents; `$baseStyle; +`$cachedTokenizers; `$cellStringBudget; `$chatDataTag; `$chatInputIndicator; From cbcfbb6478221eb2e3995400edff5b2908d772ff Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Sat, 10 Aug 2024 12:45:20 -0400 Subject: [PATCH 004/180] Speed up first-time loading of paclet by avoiding clearing names that don't exist yet --- Source/Chatbook/Chatbook.wl | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/Source/Chatbook/Chatbook.wl b/Source/Chatbook/Chatbook.wl index 1cf36d17..41d850ed 100644 --- a/Source/Chatbook/Chatbook.wl +++ b/Source/Chatbook/Chatbook.wl @@ -9,9 +9,11 @@ Wolfram`ChatbookLoader`$MXFile = FileNameJoin @ { Quiet[ If[ FileExistsQ @ Wolfram`ChatbookLoader`$MXFile , - Unprotect[ "Wolfram`Chatbook`*" ]; - ClearAll[ "Wolfram`Chatbook`*" ]; - ClearAll[ "Wolfram`Chatbook`*`*" ]; + If[ MemberQ[ $Packages, "Wolfram`Chatbook`" ], + Unprotect[ "Wolfram`Chatbook`*" ]; + ClearAll[ "Wolfram`Chatbook`*" ]; + ClearAll[ "Wolfram`Chatbook`*`*" ] + ]; Get @ Wolfram`ChatbookLoader`$MXFile; (* Ensure all subcontexts are in $Packages to avoid reloading subcontexts out of order: *) If[ MatchQ[ Wolfram`Chatbook`$ChatbookContexts, { __String } ], @@ -24,11 +26,13 @@ Quiet[ , WithCleanup[ PreemptProtect[ - Quiet[ - Unprotect[ "Wolfram`Chatbook`*" ]; - ClearAll[ "Wolfram`Chatbook`*" ]; - Remove[ "Wolfram`Chatbook`*`*" ], - { Remove::rmnsm } + If[ MemberQ[ $Packages, "Wolfram`Chatbook`" ], + Quiet[ + Unprotect[ "Wolfram`Chatbook`*" ]; + ClearAll[ "Wolfram`Chatbook`*" ]; + Remove[ "Wolfram`Chatbook`*`*" ], + { Remove::rmnsm } + ] ]; Get[ "Wolfram`Chatbook`Main`" ] ], From a49e7b6bf6096d9aa44ab55eda5cb1bfca709716 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Sat, 10 Aug 2024 12:45:41 -0400 Subject: [PATCH 005/180] Record paclet load timing --- Source/Startup/Begin/BeginStartup.wl | 1 + Source/Startup/End/EndStartup.wl | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Source/Startup/Begin/BeginStartup.wl b/Source/Startup/Begin/BeginStartup.wl index 8972bce7..ae441473 100644 --- a/Source/Startup/Begin/BeginStartup.wl +++ b/Source/Startup/Begin/BeginStartup.wl @@ -1,3 +1,4 @@ +Wolfram`ChatbookStartupDump`$loadStart = SessionTime[ ]; (* Note: This context name was chosen to avoid being cleared by the Chatbook.wl loading code, which clears names in the Wolfram`Chatbook` context diff --git a/Source/Startup/End/EndStartup.wl b/Source/Startup/End/EndStartup.wl index 4bc4c3e7..ee4d59d8 100644 --- a/Source/Startup/End/EndStartup.wl +++ b/Source/Startup/End/EndStartup.wl @@ -10,4 +10,6 @@ (* Once code assistance is ready, this "14.1.0" can be changed to "14.0.0" to enable it for 14.1 users: *) If[ PacletNewerQ[ Wolfram`ChatbookStartupDump`$versionString, "14.1.0" ], Wolfram`Chatbook`EnableCodeAssistance[ ] -] \ No newline at end of file +] + +Wolfram`ChatbookStartupDump`$loadTime = SessionTime[ ] - Wolfram`ChatbookStartupDump`$loadStart; \ No newline at end of file From 18826b2c933540a0602d08f48545b1ab4388c0ee Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Sat, 10 Aug 2024 12:57:32 -0400 Subject: [PATCH 006/180] Resave stylesheet notebooks in order to generate cache information --- .github/workflows/Release.yml | 3 +++ Scripts/BuildPaclet.wls | 1 + Scripts/UnformatFiles.wls | 40 +++++++++++++++++++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 Scripts/UnformatFiles.wls diff --git a/.github/workflows/Release.yml b/.github/workflows/Release.yml index 37f3efd4..0796fb59 100644 --- a/.github/workflows/Release.yml +++ b/.github/workflows/Release.yml @@ -98,6 +98,9 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - name: Unformat + run: wolframscript -f Scripts/UnformatFiles.wls + - name: BuildMX run: wolframscript -f Scripts/BuildMX.wls diff --git a/Scripts/BuildPaclet.wls b/Scripts/BuildPaclet.wls index f60b5a01..37667fd4 100644 --- a/Scripts/BuildPaclet.wls +++ b/Scripts/BuildPaclet.wls @@ -3,6 +3,7 @@ BeginPackage[ "Wolfram`ChatbookScripts`" ]; If[ ! TrueQ @ $loadedDefinitions, Get @ FileNameJoin @ { DirectoryName @ $InputFileName, "Common.wl" } ]; +Get @ cFile @ FileNameJoin @ { DirectoryName @ $InputFileName, "UnformatFiles.wls" }; Get @ cFile @ FileNameJoin @ { DirectoryName @ $InputFileName, "BuildMX.wls" }; result = checkResult @ Wolfram`PacletCICD`BuildPaclet[ diff --git a/Scripts/UnformatFiles.wls b/Scripts/UnformatFiles.wls new file mode 100644 index 00000000..f02382c5 --- /dev/null +++ b/Scripts/UnformatFiles.wls @@ -0,0 +1,40 @@ +#!/usr/bin/env wolframscript + +BeginPackage[ "Wolfram`ChatbookScripts`" ]; + +If[ ! TrueQ @ $loadedDefinitions, Get @ FileNameJoin @ { DirectoryName @ $InputFileName, "Common.wl" } ]; + +Needs[ "Wolfram`PacletCICD`" -> "cicd`" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Definitions*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*unformat*) +unformat[ file_ ] := + Enclose @ Module[ { nb, exported }, + nb = ConfirmMatch[ Import[ file, "NB" ], _Notebook, "Import" ]; + exported = ConfirmBy[ Export[ file, nb, "NB" ], FileExistsQ, "Export" ]; + ConfirmAssert[ StringContainsQ[ Import[ file, "String" ], "(* Internal cache information *)" ], "CacheCheck" ]; + cicd`ConsoleLog[ " "<>exported ]; + exported + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Run*) +files = cicd`ScriptConfirmMatch[ + FileNames[ "*.nb", FileNameJoin @ { $pacletDir, "FrontEnd" }, Infinity ], + { __String } +]; + +(* cSpell: ignore unformatting *) +cicd`ConsoleLog[ "Unformatting " <> ToString @ Length @ files <> " files..." ]; + +result = cicd`ScriptConfirmMatch[ unformat /@ files, { __String } ]; + +EndPackage[ ]; + +Wolfram`ChatbookScripts`result \ No newline at end of file From 6915e6956b1dc875f71dd6b6a42622d993a28d65 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Sat, 10 Aug 2024 13:12:57 -0400 Subject: [PATCH 007/180] Bump paclet version --- PacletInfo.wl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PacletInfo.wl b/PacletInfo.wl index f6aa8de5..4a31b381 100644 --- a/PacletInfo.wl +++ b/PacletInfo.wl @@ -1,7 +1,7 @@ PacletObject[ <| "Name" -> "Wolfram/Chatbook", "PublisherID" -> "Wolfram", - "Version" -> "1.5.0", + "Version" -> "1.5.1", "WolframVersion" -> "13.3+", "Description" -> "Wolfram Notebooks + LLMs", "License" -> "MIT", From eecdd103ebcf113f3a3f1d1d50c46baa79c3a259 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Sat, 10 Aug 2024 14:14:13 -0400 Subject: [PATCH 008/180] Save all Chatbook names to speed up package load time --- Scripts/BuildMX.wls | 4 ++ Source/Chatbook/Chatbook.wl | 33 ++++++------ Source/Chatbook/Main.wl | 101 ++++++++++++++++++++---------------- 3 files changed, 78 insertions(+), 60 deletions(-) diff --git a/Scripts/BuildMX.wls b/Scripts/BuildMX.wls index 08c60cfb..fb0a9a5c 100755 --- a/Scripts/BuildMX.wls +++ b/Scripts/BuildMX.wls @@ -185,6 +185,10 @@ cicd`ScriptConfirm @ expandTags @ tmp; cicd`ConsoleLog[ "Loading paclet..." ]; PacletDirectoryUnload @ $pacletDir; cicd`ScriptConfirmBy[ PacletDirectoryLoad @ tmp, MemberQ @ tmp ]; +Unprotect[ "Wolfram`Chatbook`*" ]; +Remove[ "Wolfram`Chatbook`*" ]; +Remove[ "Wolfram`Chatbook`*`*" ]; +cicd`ScriptConfirmAssert[ Names[ "Wolfram`Chatbook`*" ] === Names[ "Wolfram`Chatbook`*`*" ] === { }, "Names" ]; cicd`ScriptConfirm @ CheckAbort[ Get[ "Wolfram`Chatbook`" ], $Failed ]; cicd`ConsoleLog[ "Caching tokenizers..." ]; diff --git a/Source/Chatbook/Chatbook.wl b/Source/Chatbook/Chatbook.wl index 41d850ed..18d7cfb1 100644 --- a/Source/Chatbook/Chatbook.wl +++ b/Source/Chatbook/Chatbook.wl @@ -6,14 +6,25 @@ Wolfram`ChatbookLoader`$MXFile = FileNameJoin @ { "Chatbook.mx" }; +If[ MemberQ[ $Packages, "Wolfram`Chatbook`" ] + , + Wolfram`ChatbookLoader`$protectedNames = Replace[ + Wolfram`Chatbook`$ChatbookProtectedNames, + Except[ _List ] :> Names[ "Wolfram`Chatbook`*" ] + ]; + + Wolfram`ChatbookLoader`$allNames = Replace[ + Wolfram`Chatbook`$ChatbookNames, + Except[ _List ] :> Union[ Wolfram`ChatbookLoader`$protectedNames, Names[ "Wolfram`Chatbook`*`*" ] ] + ]; + + Unprotect @@ Wolfram`ChatbookLoader`$protectedNames; + ClearAll @@ Wolfram`ChatbookLoader`$allNames; +]; + Quiet[ If[ FileExistsQ @ Wolfram`ChatbookLoader`$MXFile , - If[ MemberQ[ $Packages, "Wolfram`Chatbook`" ], - Unprotect[ "Wolfram`Chatbook`*" ]; - ClearAll[ "Wolfram`Chatbook`*" ]; - ClearAll[ "Wolfram`Chatbook`*`*" ] - ]; Get @ Wolfram`ChatbookLoader`$MXFile; (* Ensure all subcontexts are in $Packages to avoid reloading subcontexts out of order: *) If[ MatchQ[ Wolfram`Chatbook`$ChatbookContexts, { __String } ], @@ -25,17 +36,7 @@ Quiet[ ] , WithCleanup[ - PreemptProtect[ - If[ MemberQ[ $Packages, "Wolfram`Chatbook`" ], - Quiet[ - Unprotect[ "Wolfram`Chatbook`*" ]; - ClearAll[ "Wolfram`Chatbook`*" ]; - Remove[ "Wolfram`Chatbook`*`*" ], - { Remove::rmnsm } - ] - ]; - Get[ "Wolfram`Chatbook`Main`" ] - ], + PreemptProtect @ Get[ "Wolfram`Chatbook`Main`" ], { $Context, $ContextPath, $ContextAliases } = { ## } ] & [ $Context, $ContextPath, $ContextAliases ] ], diff --git a/Source/Chatbook/Main.wl b/Source/Chatbook/Main.wl index 65f7a29a..09b93ab8 100644 --- a/Source/Chatbook/Main.wl +++ b/Source/Chatbook/Main.wl @@ -10,6 +10,8 @@ BeginPackage[ "Wolfram`Chatbook`" ]; `$AvailableTools; `$ChatAbort; `$ChatbookContexts; +`$ChatbookNames; +`$ChatbookProtectedNames; `$ChatEvaluationCell; `$ChatHandlerData; `$ChatNotebookEvaluation; @@ -131,59 +133,70 @@ $ChatbookContexts = { Scan[ Needs[ # -> None ] &, $ChatbookContexts ]; +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Names*) +$ChatbookNames := $ChatbookNames = + Block[ { $Context, $ContextPath }, + Union[ Names[ "Wolfram`Chatbook`*" ], Names[ "Wolfram`Chatbook`*`*" ] ] + ]; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Protected Symbols*) -Protect[ - $AutomaticAssistance, - $ChatbookContexts, - $ChatNotebookEvaluation, - $CurrentChatSettings, - $DefaultChatHandlerFunctions, - $DefaultChatProcessingFunctions, - $DefaultModel, - $DefaultToolOptions, - $DefaultTools, - $InlineChat, - $InstalledTools, - $ToolFunctions, - $WorkspaceChat, - AbsoluteCurrentChatSettings, - AppendURIInstructions, - BasePrompt, - CachedBoxes, - CellToChatMessage, - Chatbook, - ChatbookAction, - ChatCellEvaluate, - CreateChatDrivenNotebook, - CreateChatNotebook, - CurrentChatSettings, - DisplayBase64Boxes, - EnableCodeAssistance, - ExplodeCell, - FormatChatOutput, - FormatToolCall, - FormatToolResponse, - FormatWolframAlphaPods, - GetChatHistory, - GetExpressionURI, - GetExpressionURIs, - InlineTemplateBoxes, - MakeExpressionURI, - SandboxLinguisticAssistantData, - SetModel, - SetToolOptions, - ShowCodeAssistance, - StringToBoxes, - WriteChatOutputCell -]; +$ChatbookProtectedNames = "Wolfram`Chatbook`" <> # & /@ { + "$AutomaticAssistance", + "$ChatbookContexts", + "$ChatNotebookEvaluation", + "$CurrentChatSettings", + "$DefaultChatHandlerFunctions", + "$DefaultChatProcessingFunctions", + "$DefaultModel", + "$DefaultToolOptions", + "$DefaultTools", + "$InlineChat", + "$InstalledTools", + "$ToolFunctions", + "$WorkspaceChat", + "AbsoluteCurrentChatSettings", + "AppendURIInstructions", + "BasePrompt", + "CachedBoxes", + "CellToChatMessage", + "Chatbook", + "ChatbookAction", + "ChatCellEvaluate", + "CreateChatDrivenNotebook", + "CreateChatNotebook", + "CurrentChatSettings", + "DisplayBase64Boxes", + "EnableCodeAssistance", + "ExplodeCell", + "FormatChatOutput", + "FormatToolCall", + "FormatToolResponse", + "FormatWolframAlphaPods", + "GetChatHistory", + "GetExpressionURI", + "GetExpressionURIs", + "InlineTemplateBoxes", + "MakeExpressionURI", + "SandboxLinguisticAssistantData", + "SetModel", + "SetToolOptions", + "ShowCodeAssistance", + "StringToBoxes", + "WriteChatOutputCell" +}; + +Protect @@ $ChatbookProtectedNames; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Package Footer*) addToMXInitialization[ $ChatbookContexts; + $ChatbookNames; ]; mxInitialize[ ]; From 45f1e150dcfd85f1385bff0301686cb1506fbd60 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 12 Aug 2024 07:18:35 -0400 Subject: [PATCH 009/180] Reduce size of MX file by an order of magnitude by not preloading all tokenizers --- .../Tokenizers/claude.wxf | Bin 300923 -> 300926 bytes .../Resources => Assets}/Tokenizers/gpt-2.wxf | Bin 222429 -> 222432 bytes .../Tokenizers/gpt-3.5.wxf | Bin 479441 -> 479444 bytes .../Resources => Assets}/Tokenizers/gpt-4.wxf | Bin 479443 -> 479443 bytes .../Tokenizers/gpt-4o-text.wxf | Bin 1168236 -> 1168240 bytes Developer/CacheTokenizers.wl | 4 +- PacletInfo.wl | 7 +- Scripts/BuildMX.wls | 30 ----- Source/Chatbook/ChatMessages.wl | 45 ++++--- Source/Chatbook/Common.wl | 22 ++- Source/Chatbook/Personas.wl | 125 ++++++++++-------- 11 files changed, 122 insertions(+), 111 deletions(-) rename {Developer/Resources => Assets}/Tokenizers/claude.wxf (94%) rename {Developer/Resources => Assets}/Tokenizers/gpt-2.wxf (96%) rename {Developer/Resources => Assets}/Tokenizers/gpt-3.5.wxf (96%) rename {Developer/Resources => Assets}/Tokenizers/gpt-4.wxf (96%) rename {Developer/Resources => Assets}/Tokenizers/gpt-4o-text.wxf (98%) diff --git a/Developer/Resources/Tokenizers/claude.wxf b/Assets/Tokenizers/claude.wxf similarity index 94% rename from Developer/Resources/Tokenizers/claude.wxf rename to Assets/Tokenizers/claude.wxf index 98e2cea9b2140d78aeaadd610e34da749dcbca0a..41c82a4c8e397994fc6a55f77a316bb2467f7422 100644 GIT binary patch delta 13153 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 HKg}am?`16W delta 13150 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 y`TBd-8~Ey1a`9QH|GzKm-%x9(MV!L| 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 diff --git a/Developer/Resources/Tokenizers/gpt-3.5.wxf b/Assets/Tokenizers/gpt-3.5.wxf similarity index 96% rename from Developer/Resources/Tokenizers/gpt-3.5.wxf rename to Assets/Tokenizers/gpt-3.5.wxf index ef34356f246167f25c03d251858bd3aec3a6ee35..ea4e0f0f8f0b5a235b6d9c9ece8e48fcdd6cc111 100644 GIT binary patch delta 17182 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 delta 17178 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 diff --git a/Developer/Resources/Tokenizers/gpt-4.wxf b/Assets/Tokenizers/gpt-4.wxf similarity index 96% rename from Developer/Resources/Tokenizers/gpt-4.wxf rename to Assets/Tokenizers/gpt-4.wxf index e2ed94b9b5b993cbe06558d7f874c2ade4594587..46394dbaacd19bc1026ad95c63777e7749350d2a 100644 GIT binary patch delta 14234 zcmV;LH)Y7vp&iqq9e{)ZgaU*Egam{Iga)(+;tYQ;VRGX<&y0y1Geb$fHs0FZYE9@2 zMj|lrCR?>jlaw(4W(FiMfbd~BqC^^M0F6O&8fX}eo=f7E?bvbRc-KkAaXH5(@e%om z?Kp9q!DXIx8=N zJs*F|ZTwG@ray--^>aG2ApJvj!~sbe53}w@;uJCKV`nC&hLiFQSS%aZu)yXfZ5>B9 z@j0^PK1msX&+^ZoPB^48YHjEi zaK?q#l62iy#KwWP~Ji z?BIw59B|n49M@zb=~mpZe~sKXvF(52HkwcqD7`>2Fq}wO1az@6v57&CdFM#+z3|L| z%(BGzc;4Y2hRz5AomTKGmh7-5o0r(ML;6z4QuhX@=9#7T=h9{t6P%Hw0FwkcZL&I# zrs2eo}4ePtN&tK(L=2%qVJWIE*3g9s%F zScn|IuuJz=mc}NrehU)4sT?D$T>bRiH(9x914p~WmtJ>eyC_NS+w)IJe2wLT6M4en zcxm`0YmS~>U{nP|A~{Wu#qWPib)~A~p06gak&t5=Fm%@UaY<$z&32{`*XUqIq!=tD z&1&^7srr;f1RyxE!sr3!lI&fhmL3rVhU3KtzM18#9Lt}T!g35LDzt5?YPkaZh%ebk zT#7B|PagVG>Y+eTR-ip0hGkV{PN8p(3efHinI}K`n79H>i4-(6mrn&T@OFWS_nK_uOm`m4gvW6lw47!Q{ z8EX5M5!LHf!0cO<$udT6{R%JvDdTT)B_r+G->KI>MsEmc5|o_O*aL`dwHB-Lu& zHpvK*w<@Xl6Zi&2Pgp*mn{+p905m{N)iWV0mYZG5(kV1 z6quqooRybD69?WFaAEjM-X3_Ky%3Als^PZND`L#Fdi9q#6bIY_@0gbr6$dl{3YSV1 z2OEEJ{uPtX8yo7Da_w~t@MD>-M}X&d=ifD#9!O9sH%hl5J|H2>QCs6w&eiea(`26n zPXIbrr8=CU1gA%J+#>C1Pl|qz6OKGAZTdu+S+{RX-gP{4kz$?7PvhVR-~e#P#QiP| zKGRowOZiZGbVp*W&RNfn5UB~DJzn<5PN-ca=Q$G;jjP~dOGbO*_EoNaiUJB(o;j#B zdZiA_9~KV8IIoZxK9*2Q+@LHN_U{0A1V@9;(3VaoFbX9-Yef}R+a$w5YH;ap zoM?i;KyI`gjMSQ?AGdGTmq8W>Cj{C2pX8Tp76*6=*K#K@V}L=%_s5s+76)SjuVR-| z7Y88$rk8aW2a10S3)C6glxtgnfGqL<$=hS*CyCA>6h@$7$bNN-c7cRJ)9y$L@6`@6 z^yvb+{^)bCP_jmm4X)gLZs)EPAY70O(E|8E!K`tWP28_W?VzNMF^dFxWW=zu+qW-V zXm5tVG2bS6|Aw4{zh+Wfs#H&`sC;x9J6U(s&&7@shpZQ>2uv0B+p6rM1d+w(cOg@& zxbj8wZF*qI6S5vUCWn}kCtWcwiZ}fCjyknoxb_p^(~XQUEIG_ zWs*-<-#$UAQ&3VM?>p++*cjWz((T<=;{c+fuz53CXDk`)LeK?Zw;zAu4{VHnSE9^B ziY!T}V_W58Nz6)wT$-vWG_An*50ibbItVQK-W?ia#qzd7i|omojY-T$UviOlrG3I!3J&O#(LpO2b-_B&#_O-WRaTNl*5v22-ChXB6_^$$jy7I zuy6{lQR7H$eetPQq5kPDmquo6iNt@_{6cGxFxtP5v?S%E z&STCErD5x|hf8}AEex6%``-D8buDKIsZ7)hiGz${l8|g5e$V!fh=P+M%JKTjWH^TQ z1G}P`Oh)oS`8lf6$s9N4Y;j_E=em` zzMQYctlBM;y;EJTCR;mH9?$aaWPSntl*P-ZU$P~t>dHIFo9x)L)wkf&_k^S~U zmjlvAy@eGcQ0wru()79Ks}&~txT?Q7q&9x6Lk5RD+e4`v3WaqFsRUz);iNl$)cAdx z#;AwxY`E`s`QvdHm1(S4EXlpQzgaMsK70XGF#%*4UOmAaS2F>qff>$9df>z5>4E z61UJX{wRt^ALyljbDPrby(wD=V;g2>3u(K2$?~ZMjKOg$t(a?HU$ju^4oI`qk4y`J4^^! zDu=mE73|Aj>vT+d{+CjX%HeGi&ha^``vH@4kQPU>&N$n=Ky9{0aahlZ+Ucn&O(1;c z{!)M^x8MVfF@r2uIhoI4GoeByiq>@asYIMWM{%U zHnD#H>MQG|afP`MB?0_l7tj3Ph_b64ua5*CAnB~uIcyWOpXAjUo3?K^R z3Y)*j~1tgUcE$0{y@ob$Ce;TnfCCRX* zHrC3t?VtOg|LbcaYd)Esfk=&$OFj~NnJra7YtgStZhqfUIj~^j_9E5izE5$p+=GwF zU&%2sf(Rcp-{X=6Ul^*ie`@|kotpl3G&%hd@VNd=^B+Ra(G?8|Ho!FIhw?^GS-Y}- z+@Dkos@AJ7OAd0C7m(8aCFrfCzSHx}`?Xs?bKe1_OHF}HtVHaV;!~-(Rd92Dt zd-OMQ3^DgmWh-czIY%bTAgJdi{1&Jh(pj{A5v+UILJF?(2K%q}~3x_WBI~O&nq!_iL zNl0eigTb||l&0Q;MevPVpqIygt)l?KJ0;JR4C^Rr-vm^d{yZV?X*ePT$SqU7VAglp z+`(+_Ys{V_DXs`+k5~dTuPhvGospatLlb*NQhW&8_My;*IWO_eIIPEt=^jwflWtV? zYP(%2ONk!UcJh=Q7gtl9%*>_w%Tgru1~AM9FYdjWpYqG3`p$sNyTmJhF5Hjb4PF{6 zmB)K5W0pL3$sT3tzVXPF&OyhgJn9-#0_Y|l7jjL)TiE$$(&c5N~!TS8T3S%Mm|Z>lKbFc%FhjL z3ZfSShyQOMFpDAM(8F@ z$5=__Cj30H+n~(zbb;7t=M-^|>-GbdWC)*`e~UJd-+1)(`4=Q-cw_#%P^pNNWs|!# z)Ym4B=FnK>p{k?EFePEl>|?3^RbR&OqTUTgfd434osn7X(_*`S@F&YqZ!@J!)we1*uUHS7;yB9A&w*=L}4C;iB8+**H45{ix;VdrRD z!Mob76zj-KsC#1$i*30VJMR$XCY=^lgU_Kr+H(i$AGD(2Lw4CPq%N8g4&Rvd>?;zr zZ#Qw`fjOfhMzXJeG15(J+((+5l%tlqYMo=$|MKvM#6ZSc<+7~UK`@fs3luIn9yN!E zU%l(7q1+%mqR_zhG@3SL*`58ehi=ANVF^`>9CatYe~hLo9xl@e^4e0?%YGjU&$1;N zrE0Ne(sj8gCFjX!e0Y6J2?p+kHpw1+ZT`dgpF!ehNI$)Q+)`O7Et&8*npY!n_u*RP z3}z;~C1-c2Gt5-vM~;cWh>S$Y^&~qV3z;NPpc0A4#{G!g6+pur1B7zblxoFl9qo-* zd`Q4q4r!?^8bc>J&IELB0uiQ?Jt4~r(F%~t1dPEYg~!}NGDg7Z!S9_Ng*X6bLn{8@ zW~!I2q&k>?K2f%4sD7Zat@TaWIHr#^G6PpFvCc#_)8WG4_`VS7-_qdB0#cmyF^l6) zalcIgfxeR1KUZOjUD=rH`; zcKdy^wE7*{W);M1EtC=HkvPdsC^!MnK3|cce=z?Nr!FW=)V26`6r$C#aU7!P(z{~0 zs84dwZRSj3WMf2qX?qVsYfS#801w1EydqlX+_Ni8@otw51aMWFNmV|Gq@AHzZB`JQ0u7wAu&0s0*C{>-M<^m`4GjOb!elGgRpK zvP9VL%>NWly4ESv^wQK;>w(xS>jmWRlFA>^*Y#WTzcVR1QZF1_0-&+Ap>*oX>M8ia zkqe=8_F_zGm-kgx*oF&kkbQF7o&9K z)6~yDXZIcRu0j!=Dn+PB$hj&fdQx_BPj-ZC1!p0ec&&)TrvTUQ7J6*VNa(CG#=G@V zoKq=LR?!RzlS8H&4BB?3JV-~C=S}%{+h|P7!;oqAh37e4BltXzd zxBlWBHh>u=MnJkG_S|z<5ld8Io9*jjyRv)N#9p|$C5yQ1&;(SDn4xplcgdYvfoRI~ z{FHR1G?tT!trgl5_hD3*Ds1cLk6!?P@o;w(}88wN2>2uy>(ce&F({v;!hYdsYBw!9?g`6~kWCJTdUd2A}s zKuB86mouK7`Zu3Y4gR=UA>JWE6=p45>31Zm1Lm(SXFA$)+-qWW3SHfQVILt2JLYAB zQcmZ`f7mD8>(J1COGo^RPWL%)f(`o%`S5L zwXDuUT?Kgg)2U0(L1;Mls3033o{qtkJb?iV>eDYzkj8+l#Dk1?HqJZ)Y(8)`73DPy zyImyC5aX7ZUD(E<)kg_`U}AgWl*yz|swn&|+St&SX;Y0UVI;KO>1OOk|U{OW4S(*FG7eE5Iv5@ zm`VVT-J$DoL8({J^Ur6^dvcYt3Awwa1!V+qHKaq4x}@8q9Df;qMAkq~kxl@xRXRVR zdHN8$sB6;5viP&fVyRSVw&ClCFuJDFk$<9JwTZ6qv_z-aZqz9TJ6)Qp=6ez|W>Pno zY7~tlGJ8>NF(EvmDHZ8dK*@$|f6JLntIl0h0}flN^)+3)lAsbw_!Q+3pRmi7D5Oy< zn|H}aLSs15sTcQu?*bYDerrahEBAcd&m&kan)r=TfV01H;T)SaeLTQbk{xqxflQ$7 z&C-54QJ|Y;yzH{MMsyz1yRPE^V3NEZ^)U1DA|z?Zip4NO$A)#}s`#GzicwiY5@Hh@ zJ11t94wDPHa>!&-8c2fY1AD058ahs=&>sb~0WhF%&A&r`13zRb^eMBCS)=$}*&*

MWu-rjS6RF)T4N@2DP6jki8!X9pwJ0$^)Wk%AP`4Brub)ef#k|Y|OB;2xF(&I>)M&KwvZ`)GF$n%m{BJ>P}yJuti zV%?H^JusJ^?||asOnr7dZD?--S>u|F;@CKD*$19~tpH#Z**I%R_8*()rR6$93=ps; zy~vxqfLZ|zT}Vse0AnjjWv1dipQDdRRsee&yRVF)CL(H=q3CAKSNy#Mx1xj?=H!y^ zN$N>RCs)?cafpKilrTaGe+5qn*c?obHQNTtcjGEjf!zA~^RR^OnoA#?ARzXgGn@*Y z$A(3Ji7`wEiAJITWT`5fG1v4d^eCT5PROs#e>DFmIU)ZFY?o~pLS)6h?-93+?$rs7 zv2OvBD~}IDdiFkvbszW8Jf-q2>QTrr!G3;`we+N{Ft>2xdJ%gyDJcUD2zDIpb*D3n z2qIUL`ylck*we(SwIX?sDuf;{0;IU~WTno3Dta_ihDG8n)K*0f0cf}v0tLmiBpvYB zJEhi7M$Z&AcfPYPHww!lByjjL@dW|ehYH*_m6u4Tmzcz+F@WsQ`{d!gu zT?i8NBE(o?K*Kn6s3zwqZsoE88SBv{BbGOEALPydV*Zc#O8%X@py|q!w9&vVV=VoF z1-t332!sEL2wD3*-EUYlV@`(>{$xlJ3ss?zK5jk9!A@H>$Dim1U*B3+e*$zY`Vn`B zZbhdcbS}kgVf7`Y(}WaIU{x_U+L1|EeTymz5LLd+eHU4vkI7bP&qhOfU#d({?UM4a#!w9daLgQ$1{1yL|)2W$yMc* z)m$5AhAan@xYzU9Ko3IgWdo6&w08F!^@`jW2@9CR-o0zucbgTQs`d;{+6V?a^7XmR zO|6*0wW_Iq|UiMMFP1ITmWNR)rK8DWKs|oy@5Lsf0;cC9t4Mlp63YP3B8O zP$#n1@sNfP-wcU$``!5;KKlCnPvP@x1;-(z!d5xwgU~jg=Kxho;iZ;;PR{|%R{Ovy zjk%$*plSM+y`V@YbIl=`RY`XI(9!keiNrQG3Y`4=+KoE$rQ&nYOE&TRqz@c-6H=e? zPO(&DdEZy}CCFcJ1IG*g2=xF+)WrWL3w8U5$deO@@y$$DD)S-3>PyQDM@;{JHaG!3S&o?AqOGIIK??DwI&y^*h+=I#4{SKdWl+77h~70T zIvvr%B3>xAz_Yu!fJ?+kpA%b^@q*NoCf*)0S#!q^LXzE&!V&6>s8fbsR6SsB*wAK2%Y5#L>ruAsjC*vOq5uELq($_kA$A6t(hf& z187*d$JEvtO*F7)fCyOdk6%_8N~uwAE^=M=&cnbd(V#n-!_moB@4@~)CE(=rka93_ z;&>z$$^9-6-toN!ZfnV6!m{{Bxdrc*fFe)-pjCa0ECL7(<1s?d`VNg8Q}pR!!38~@ zX|$ixm<4mpyRwjf4?z<*23T7f=~bk|UmPEy-IOW}Lb}DItOK(L5jS`c>r71Hx`8vh zkbARI1S$)VCU&A{Y6Co!{F_@mZe6)@MP+L#R39%)Cm8IPC8;y-{b?vkxuFw)u#s55 z1@%X}w*YVsA+wbP6AifC&eUJ@;v^_>3-rkKPg*tVKgTkEgQ>Z!fT^>{zY>`b^t>_J zJPsv4k8hnyw)j+G*^{YLj4Rz~RhqS8sbW^NE25>_DuCr--?deHPZAUmx2*02&)RRz5U~Vn4MTDqU8Zu|M=p0h;;C~Y=G{{_kB{LwRO#^+vjbZnc<0{t>j`2KJM^z^vOA%PF3+Sb}%EsR)>uMV2)M94QKdY%>Mvww=?=km0AsB z5Vr^pOhU2V#c*xZ@3Jj|^0rTFAspYVIU5u9%Ov5~YDm|~GtH%1WDvn^FIz)2%zW_W z)E;?T8lSundrKeQEDPHJ@fJ}Ju;no04b5tXSAY8cd zX~Rwafqz0itkSW0587bkA9*Zf2Yz1(0q~1w+vscaH|L*F2~gj|QL;vt`Y{I~e_VR) zIgBZ0Gf79(dbBVEJv-shJttOf>_Xt)?!rYNO}->Tex@*5&H(`S2_oC--*-{4<`eK1e<;gxXwr}VR?f$_U<&`}Z|2{h|G*@4Kc|NBxF~^M zpwk&R+STy@Je#PxLmSxc$*H-+l%ZTT?N)XBpskF4owjAIJCRgmY{OYY9= zTbQ^7UeuraX5iR>A#A&n4{qOWSB&a!K!KqhPT8G{Rchb>JqYEXK>U!U7SrV*oafVz zF`mgCjE~1~s*CMAzFGU1FEa-z0V|hTGY2*UKmQ$2PS6Eky+A%Tdi|Rmyd#MoZL?ANpgT zAtwP7b0ii)*o9kC%(??3krL=P7=L0$YgexM(u);YF%YzI=+TiRiW73g1*sqp~jCKiEF7%9jIgC}39f%JHs`3+}Q^I-c!n6;J$u9ads}=!o zCptRLS~~WlSsA4S{{cn11h@VU@FajTJ8GQN4FN`3Utj0sG{N?VS@W5zEnEOb@5{Z- zBw+Dv*dmT}J~_50)J9S9en;Lb(|02_t5ne{B@pkFnZ)ma*eo}iRlQ{oWMx7bhuYR% zsW2x)xttfFoj9Y*9E^zu(1{vTCyY|4Wp_Z8LI{m>WvrK6HwPgBBA0$Q2P6TNm!mfa zNq=A3KSyUYvhvHynve)aMoKD5Q*fuC{Xo=q#+nRWg*qj{3?``y=L*EM(BCmBIg=m} zY%)1afg!zZ5|F_f!(Kr08BG0ZbO}V81(M9@hXn!k7!tCh0V(c;xVt8GZ+i+^B8Y8c zbff6vrdqjJs$+y|IMW~CNgSdVvT(PNT7P*8x#mlE4^5_HN_!Q`+a|1I+G=1T4g4@T zIj<;H@@b2eqjoBkIaH9P)CcfoYRghVV)W_x9|6nllUm&yvLpR_$lO7;kQ2{E_b~|2 z*_10#MG|Iq#StNa8G2yS(;1yYf+7IWI>#IVEtDP427W_6Z_8x1WX&ESt$?1$XkJ7_ zTTLAg;~O_&I#y#BtL_p%^WLRiDTa{?v_!1!+>siJLM1M-1XHOwK}LthR^ zKSYj%)9$btK>&d63n#NkCB*UiilQsvH=GCd2tutYRY9Hh9Be|?mqD8^s^COK`9lZaLo3ZnUQQ> zn5YH==SffHUesWSnE=WrIzy-vyL@m9&&H~kN?=KkB$btLDrc0GZz#9Wy_I8(`0Yfy zRjlsIof&wt)uZsAwhrxun97TAf00dCJCK|Oks-iu#V$p{4;XECct zDC%kVm!mRZNfx$$eZ>y@BP@C_!$QlUV4wwt+>AXkDUZhX2~tKAfII#Nua{9MQBCmj^xvPk+|HMfv^tU(44w z=AXd)&)4vW%qG6R`Rok|&rtV*Hyoi)Rp=?NZx-ZAz9|9WEm%0oVTrR*F65142%VpJ z&@S|+U5I{Ny&@|EX&=Eev8|i;Oal6RvM={#mmJ&BrtZ6H={N>nNMb0@*m&M!(I_!w z&jsX{C#Q$D?P9SL8Gl)*?(R2anI_kZ1I6mfPb?~pv^L;}h~OI=@cBy?&S(^X41TKF zOA6pc#Fw-j_0=6Ia3I4_En=A3n-X+1R#e6bo`0aC%s@`aZF(QY4Ts$bcDs^wid(tv$~%z4x{NLj^p8|Kd$ z44#xTl(eP<;>IPDb3*x`AP7wV z(JHx9Dit-s^N`i}_&LWrJ#Pv##Hp=)xOlZzE1H#xXHNpBPrhc7!a8H^53mi#yPUCh zA*x7~Y+1pG?0I{rO41W(1opTpDhujJ(k#+Wd~}YTcipL{v~)E8AyR*M|Hj5WlWOem zQfzExAtS{~uLj%kRaP-SgvD7O)&oGgRAm9bXY56-EO+<+e21N+eH#V-k zX5u^Uh2%K-fuy8SuRnjAqaNBs?WeJRN8I8I(lmyvQ}B0EtxB;BFaRw}(2Q{wjsF+R zK7AElljEII1Td*ZY6gsG{MiC(;A*W61+sEw`(PL6nLH};+bKXBnRB+aw?*Hb3qS_Z zANex$zAogphqJy9+g!%+qY&MRmNU=|8GrP9^FJ~1DHJo~7Mv4e;spbXGHAp)W{rK= zKfKD{{s5PhK?kD&e3v*v2WSDMm!U!jN*L-@`w3mHD^FAiNWDK3-QG_`^*dO!Kf#v+ zLkA;&-!MumL!c1 zBm4CmH%x514Hg)w0yr^bjm`i{El3ulT=U01ff)V%15e0c(J`m0QoV6#OGlqYKA> z+KWEGnLi`!A6YE0eNt~@a}E2v8*pQt5l%z6gyjW@6qAVQVpNKm@PQ-GB{q^|8mrN) zL^VM?_fe1;tw;Y`(&m&!B}#7kbxG)Mc!c=HUy-6$4pQLXV%GkJNwTpD?Lw_Vd3>%| z(Ts@bv@)nI$)4|HF|6emTEL3)(fJb&td-*VF~Nza?xRo5|D>0(LJpW@^Awk$RPth0siQZ&(uib7&j+O~v$gxKEtJtdO zG?b-;=R--Ugd~!ozB4@UN9!b3*tjnX^iU4CgjFaM?xDSpu3LbAPH7@TX?aQbd;r3c zv%buMcHf=?@RlOkRPN}1*;hk&c}bSIk?r8JTb}GH2q1AkpJy+6MjEM0TtJhqh;*4v zn0m3*mL*$kR$=|A)oD#`v>dpx%!#k~*9T#rGJr8_R5Y;z+M-a`lCrvzO(seNI>oFu zq@U|PjI}#QLmIPxW|V{&tBks!Q%B%Uf(&3LDZjAG<^8gq)}kbmr@c*$?p1a9hR!hH zW7kWnXVf9K7njAiIC40L(iQ8#9v6MpCJND^2&z@gj$@SiU%tmk%J~ zaq2AOmnZn(E-jK1oyL9%nx{MVIcFG&!noIkX}f~#ILqk77abMKkP+$YeQFP< zq@RCf{wa9^cXmvAC;EkMs$5I|0SLQYv?GAAUolZlgxGkQEkSZj__-20Z0#rPfSM_t z=_x58>CR!RNG*0G#ghp;Gnw4fKaH%ikRpIPV3O^B1}DGSCsYDbHUEeaNcE0TQ==(Hp{x>ll`{rbSsJqr51HTeU#;<_V91Lv@&3Vb?ymOL` z(pP&+=y2cZvd&%W@CoUUBJ+@^M)UDsyKxi$*G%W*Z-7-XOv8$Me6Cvjx4!k4tLv#{7#? z8*5YP4KU}70|~fziR#dYm~O0Cdm&wD8S149gRw>8S#|kvUqVtdmx=*@Fb6R4 zyFOJUJ(u8b8zzp_xFpkimjNnOkR>`HG8=`|^-~uh3 zrSp+6a4I)-X7mrgfb4q`U_-xuE6G5B87OZ6m5XOJJBXkK32Vni8mQQB6z>O+QDiHX zpn1fql=a#}a={b0RcQH7B^hDflIufoOiFmHA_{k8AN|$*yYsj36%+;dj7Y6FbFfs7 z$ByGEtoTI>|Pp1nb20y8* zjsOr@i<;VgM9qi!%TzXUw#%W3&cSm_*KPzZ=-MLpGnE>~^^s#0QyU7%BTkPAt(M$7 zJmKggd9Gd5ge3SIpWc*x!=qrgNP8%7%{>Vf01Wk1xr)k8K+%kPTYbstU(H`uhBb^S2<*>knol z*<6>&N-IkBdrq5)6jXJXx3wAvu=;uqy%1aVD@%|=SF)ae{t;nh6&9p^KhO=DmI91& zzUad;{|3TguUeCr$pf@*-YuVNQ3o|93mv7G!{cx~m=Sw@2Dn%I+~cT+{;%qnO+W6Q zL(9x8@}UV({|HjYoGN36MDl^u>>RA8^9xmjBz*K(b|1DI07pbh+OmfF(d=rf9oHjs z>0S%Ytv-%_hUiVS$Ctvi7r3!RZvC};>rxr?A@_Qj{sP~GYzVcN|P)Ho-P4+PkY4EP#*?mU>h_~;5sC&q(3vxpr(k#?O4&wW=!Shh1 z3T0t``7`hOl{|I3hkpO(dI3qGnw30Mg(l%l@mmTF$(yH@R1>iiMh3zEIP^UT_PkoF)tBFV^2fW%=rD874SDRX8 zy-E##B6*ou-JZx>E?-T)^$gTaV3I7GPl22A&8OP_+rRa$AZ|Q=R(h979JF`x|J|ex z#x5r7zrg3ooA*`697#n2Bp&~55F~bFS0MmUZ+mdDAk}i@ z1n=Q-t>{YSje7j3@DBU1l z*fqc4?YQ%QKl9?xc{}nZ)g=F5{BH^nsclZy`a!%s4duTtR~HIScC;f_aKU8jyyq8HKDNi%Q!*WdV!+a_76eF(p&@C1Id@ZXm^PzOo^Z$6iY wPzNI^rCj_X)c^F$y7ev$dO~Y15|JO?#SV)62HarOu^E znl?=@i4&g#{e%5Q`##S*fMhp0n>JBSD47xg%*^+_-+Os3*W|cCfRy{hZD$NdJ%>aX?bW!>qfJI7Q6**qMo`;iP;67Rv@UEU>vrTgTB& ze2#3nPf`ZpGyL;s`St6{qT|=k^XnH(RvESX>LD`*oa1e`-hkUO) zg^Cw&4FT;ZGH_pzkGOCSkwXo1ELuaOux)?&QW405+B%v}AYXOM50!?3hW=yR(4Wn} zjsg`wanZNsFhfA7tA;n}=&HG$>mmc+@qG5%vz9@FRI$FDQ=hFg6Io<}6Ar12S{u3r zoN?i`B%OJ86insZYpEaV)U3Rgi?jt*aGPdyes4-*00(x1b2;Ldzlh=9s~hswY}bE_ zsFHmf<~a_V`-xB+O`9NQr#fv#(8k+-pF(&JsAXp5&apmf#lm1(NuEE&d~LnO){#BM zXm(GE0=w%Fy8Bpx`Au0A&#q%oW>4gkFFk+d@W-(mHU79;)-w2&)vxBg2x8DpMo2=( z4vt8`0f#-$aZM(YZp97zm&kn++b(}@qX{*E(hC#=!-<4NKo=Vmn;7(%ca9X_3(p+L zEK7`!=N;~0=!_uHX$8M($qs9>d5KLsq%Vamb#HKLo>^*tE^THp!5KLUFiDWpCad#k z8czI3KFc;M)iaZlGvAw`BTp@GAQutDAqzw;3N^iA1Z z>o@axN&@y}gA(5}^hc6mo`p8ClyZj+v$;wR|INBv%dEJ%mq9nO*%|9jaHI@rbQfdGfZ)UmqX(EvvUiPIdPEQyju#*JW|psVEPqA{%Q2*=(6*_n(e*G}J&d3!L37I^Yo=B$hEvv+|-#Jdrk;Ihd@Nm1{RyLlGJVT}6P5 zH3^b*#+0NW{p9@H65Sg;G+q;B`-IpnDJFo^Jfv`+b*tKzDxgPCJb4WwB=$>^YPD{g zWCY1ulT`fiZb(Q;IwOA|5Sm_H7bCG%OZA>KSEwK!TW3^H0(Ud)$-!~C(+GOd6frDs zB=g;b+!g&ELV{q%!qU=oK#$T>jdrH%3+ zn-6p+qVd}wO3Ia#s;C8JpF9y&Avb6hja2Oa_K zmjx0BC;<(ZE)oYE0f(1M5(j1h)t9mo2aE<4n4&nG)t5vQ2i_K7Vfahl9(bO;5R28S z;kMH&V$8I9?Uy(d2iyX0o0k?92Q&dHmrE4~8-HQ`Ws}Yu8|s#F?R5Bq)^|rP~l6kdWo5t#K;n>Ui;KvQL6103B;m9nMgK)1x|Wk@mDFMZd=hM;?|o zeWJ{)+qWg}I-a>mu}8rh^d?-D-BQaLztY=4v)P&C-FZ*LB z)LoMEoC%7?HE^*dqdjr^Dpx;60fj5i9Ml?erRh$+QitUa3kPDHS4j*XODH97P!H(CxxYR%G*+c%e&LKX)n1nK-A z<(F+12Y3osawjokfI-Ih#+UCF2V(*+W0zDH2O$Bfmv$EiihuJ9)EV29m$m=_S>peb zx5vy+5}iXRj6lPX{pu9$0tthr-H{aDYaL|h(*<<>(Pv?yWQ`&lT)Fw&&Rr=$xF8pz z1@MD{S>qa;xL=9dK}j29776soh+${9Z(q33-VA|bzD@G}4LJvY#iX`Wsh(I-`RFuu zvhJv#iyb8nSr=6im@4eIRoO)eB8$)OLZ()6<%{OY%9oZH2Q>kOm&_OkNPqH@rA+u} z9j0zXI^`*g_>d!N9R6s=DRd7eW&}-F%az7%tJvJb-1^8j+1wNEE>}*}Nil74cuYOI zmMcS&~r4w#vtpgd*KMV#cMdg|d0N(2PRQ zQ&u>J|EUuMdTPfq4zgak=V~-q9M2%MlkDs?N(aVd5c;)|mFX;4WAe&Xb)sd74Wm_) zfv36bVM=fVK;x)bi^|{3x>WZ_6~b{>D{}_%uR|_Miuyk7GWO+cl7G`FUMD+69#I5f z@&X+uo&l6`aiR2yl-0#J)njb}7 zHeYd{W1p7EA~m-uhb7q%rhQ{X^mxsYoA*><;S^k>#*y0k;!~|b{nJ}6jm%zgzl@RN zRzt1EF@W*u*cLMriGQv6h1MWpw0{?ANylUdg6v;p8z!7GH2uFlD@^opRey6x zZTwh=3=Vm=hf+5b3hNY73C0k^Nq79H@%uE5Q4ihOaNq6n$Kx(4(^#=sl6!Z5vtU*} zd;wH3TvkxKqnD2x2Rwf#Xh0+f^rDr0%}{^>mag3lA+iZ!kaj7z|KxF)*+FJOY8abL za!QA^`>JEWk7*?79+!w@JX=8RQUtJ}a4&FRvY__^ci)2qM6A<1qy~ZKfwD|i8_pip zX@w6HtN`&@V_W`!#C^`J8|@+-=XJCA3iyso+(O6rqbMGIpqGEnZA!QIrfeaMZJ3e0 zH)>4%E%%BZ{{JM|J-Z08jm_t!hPOj%2*j>d%jR>YWJ~7cErtw&?M~3n$GH>)g~0k z8tTxtI-02T`=d{?4f~sB6}GAp!|%$!hBXIzCU@@|^p2O3g=sYK3F^ueW`Om(7fS>h zchM-ELder6J(#!bX~2nsCq1W9nTSW1=p17M5V~&`zB_-IZ~-ZUkcBC6rBVFQgik!`mdB<8xN` z119GnEskWJakhDZ+Uyd=VLc~mr>CYgf$*98O97tTf)6yt46N{*iUr8^qRuDI#xr zD6zi>rIwV$dIGgl1+=EgqnqeeYeC2Kd37Q!Vb|pf>@m^w<(QStyoaQJ4e> z26cb2IR#=AkW@;voMSx1vvorJX~fQyB*T{4SS!=Ef9`|+udj)$`DAtmA~jAf`AF<# zwp0PFMZYS!`F%&_z=Da}i&UTcKE=&)4?ZS;CC9`FB7D$%k4qMOVW`snsreUlYWkbe zV^Y?s_y#4=U7em*aloNY0-a6 z$0Vj~1SBK6UE1;^jptR%?|KS8rM6h;O}KER44x6g%nHETwntqb*rtv3n{uEX1!R+< z_W?^_=m+PWGcc;B!*f=IU4#u256CR%u__zw(O=6k#N0!bt)OM*9GNVGpq`uXTcB!; zOFDL0&K7K}Q=9#LNTp%oAn%kxFA9HqK9ZtK7qnx5%HihCoJ7*dzxYSd0r-9BBv3Mu za?P(?yLye80EnhoYbb9`>=rP+cr+lovuFB@6`iJUEng%ZEQr2o=t}a0Ap((9_bEeO z21V3}VJczS?o=5Tgs)sK9JI)I2eY}aGJB4sxFVQ6VhPN=vT(F@MsivV zP3#p(@gZ#6he8|Xyu>%-upTR>dq6=?x>41u?RKRsC3;lb$y0J%TupH@Gb{C%rAX=x zV3-YF+Y;p_}eID^S3xo-}&+;3T1zbNZsF!0d_%XFNH8_-70^(WiM(VZR-3E zTeVPzKr8V zy&H@G|3S7oBeUA4#dd$;PnMzHW=gG?;QWk42&_`=VbGR_J!d%=rcB>gaqqU6dgOl&e67lcePz9){&P`_r@F++j1{<-XY3OIxVUO zpF@GP=ML0AXjQ?7?6P4L zI>)I0<>3#BfsD1vWm&O1yxj}eDp@HpbG;PYVJNqRM-Hc0x zB~&eP)SdYLF`BA)xJ)C+YfD)#`+X=p%a&-As>PZ~*X5#=oF||0;q@&g7`PYOBzyGL z`48rQ3W=W~{q%owOJ$|BWWwWUUX8@vhij2Dn3?RBoZX?$FjJ8qIVJ)lG7=%zlk9vf zWRgIEN+cc|_akyw01a~t5Xx0ksuinsv^QSyApvJOq@}iK44vdS6VSN{M3_qUge)&a zD?lm}Fb0R^BRMA@RD`hmu_);DG2m_F9X z3|zIuIuq4QhYN$_`$D9DOM^2DNO9K3ERH+H{Wb*%{%HPLS(ARBg0WVs(ri^o|A=>X zn}&(;GzjfTTrp~zDh$#ZP$^&^K4jOrYRIsfai4HD%^YErkn>UU(DH4v}0P)49f;v_er-~>GT zd_{)-{``xax}Y#o*W%w+h*rzSafqTz?~3K3KFK||nKOxzjS=j{-uO92h)isL=5xiLl?E{|TIQty8AyrKzpf1F=`u3&`Ik zl|Q1d>o@0rYf^NiUO2b}Kx1n|>C~0gQ}BZ$7eeXm#hBDC@2jk^4Hw)X`wV+1UBdB& zpL%}}k!@!bK=a_D&B@Y@!WQyC;)p|i>u@770gPNhUyMKdH!4w-5&Xxo+YARSenH|5`L zqcJTHOSW@F%%Z)4TCf%59{F?d&5C0)?Do;bjNl4U-VdN@6` zPiM3?Pwe@CYl25MJ!a<$>S-kRs4j}tlr@+c`-;qn@Hkn^KAwfh8OD)22T?5L-O;qq*7W9ZTABP3PkhSklhe(v8CL;}F~joKq?mN%RO~feFG4jc&=IzB>Q3 z#vr-mk3x9b>9J)br*9eZR|N1)76#Mu*i@i_khGdFXFNOgZ$6I1_IP(m!`M}jwl-Drqc9A$kj9X%MVH<~5A0>Z)iS30`CX+s? zqVTt9V?$r2O*N*3kHLJ|=|k+Iu1O=y;?E|FrBbEYhOZyO=p~ho z{A2y9O>~8)B|61+qfRl{>C#j+-;G%sYs^+N;YKsTh3%! zb?%xPaM)63AwMdU1dME}#+Mw`Nqja?i*8 zJc8w-iQgCnIQuIX&at_qj|aF)vSY3-kO{QCS=vu03UsrKmt8j3h|WWL*L55KOp@25 z9%f!%gd`1Fu^2|^*szXV72i`|F)B+)LTqAV=ftehVR9i?4w+0!14;0FU=OuhL&xb9 z`lEn000#8U`L};*;D;=QK4tbXYZSjLI|QE7sPCLJs0T(8zvzg;z{&G`_H{68pjnm# zE||wk1fjsHwR>CswgT{kqgcNv1yR%&C2Z*mnY7MPiJADB=R#wwT5p;x{a~rlVVeI| z?V+Fc%RD0|?7$AaSqUd4QMQsLVl}DiqCEbwf^BTd+k1bG%JSk$Da@9EqKZ9M*u$-| zTxev4Ap5Qof?zfw40ieir_iRjGtXp!g2WI8@4k#|p)Mv-jhV~|qHLl4h zj*a7%ec*rD3IJA-jdKaf{$umJv|MM10Rq;f7kQHxP%D6;3u!4FU~DC+%v8MRbMz6( z3Se(z_mwf!L`3Z}6y2=(iociOR+JFKoLurfNj(YaQ1DY*>Gk7{hdsXe0_ima4KDb4{N@kMfD+ zg#7CKhx31w6Y?*?cG-3zL{{wk9&y{~UY+0=`zA2C^7t^MXYZ3(_i+!+Q!3x09)%1O z?B^F*OHaxQa|NW^h{B6=R5myqp&PO0*5aXUl5>u zsK9Mgd5Ls-iAii41IP}&Pae(-tB$L%>PT75q2o=0NWlD$k)sYI2U^RxTTmu^wGA zVtFI?LEik&=l_7O9O$R8u$QMD%fkX*YAzyc(@R=UY>U<}WZO(& zPBN{JCAb$Ys&V+w^gfj7xwom0@Pz5bLb%6gt`>n7Gy}j-7m1+?6|&-s(HS@l4(^k(Y8;a#eX{HP^7cki0^-DU-+sy%~~HiE&9e0^?nQ!8e0t!gTzU-YI5o40$aDzJaHm|@f1 zU~Tk-T#&iss!n*sF##xlq)O6|HKTXv4%GWo1@mGJgY~B)r9;f4^(CIMqM@Ih91AsB zt3nEl6wvUfPUh5rRKldJ5?D|rN)7myCiA5ss1sT1ct}HtZ-m6U{m%Rk9(`^8C-C{T zg5wZUVQZZ8L1>%LbAT$P@KS$Er{@4>t9{^<#@x_Y&@_F^UQi^Hx#keesw6vp=;(U# zL}D8o1y25b?M5B>Qt>(HC7XDD(g%*a38~L`r&y}7yzi^~667zqf#U^#gn9rZYT|#B zg}Qx2xWVoUfsB{aTOV1^`+&7Bc^|U3!DI-EJsXl z(biGqAcgo-9l62@M6ouW2R0n!GN|53MDLnaosMW>5ib;5;MrYVz$Id&&xx(dctPq( z6K@ZhthwU{A<6DX;Rtm`)G0$RDxoUSv{D-f0FV!V`}S+CK}i?Km;uK$1f`krPQc5 z7r8Eb=V9QKXwaR^;pk+m_h5gY5^!>QNI94|aXb=>Cq9)`8iBh#NeJbta~8-N2b$$h}!D0+j_w6Fbo}wE-SV{>?2Ox2{~d zqO!FVs*e|@6AbptlGK^^{v?#7+|UU?*hsA3g8HM~TL3tRkl9Lti3Z$mXX-C{aT1ic z1$yNAC#@RwpJRWS!PHzjfUx~~Idfpgq9*2^j$G1);TYRdp?8($A#+B~0D$QE4 zR57dC717dd4Z!lS@7k)pCkYCOTUK|1auUl|fwRSNA8M}gDK&GN9)?$mo3h)832_wf zicFO-+0GHRe+ptr)Jw8PzSj?^2q6jOLPs}a?S^E>`zC)bg|ZJ8m`h&CdcmxAqHw}& z6VT7`5vu}!AP-xf)@^6PdAL<}Mu6j}f0x?QwkheDu@1(8rlu+D7Us!p^ubkn#3n{j z*^hnm9~Z=#A4l=~#|zV3`SU+xn0)P;tf`P%$(~s$^&}J%m|Kf%5h1FThRoS5I)@ZI z_}>Hz4KjaM$qa~S(?B0^xmtp$T8JYo7&0I3RO*s;W_V&~E4f&Mk2^daeR7VcQ&oJ7 z9n46u)nOw5m}3=j!x{eP^WR6??TkKBrB=fj#4UmYlTfU8FT z&c=lOGD-Ng8q#(0OmnFg8ANc~%hnJLGar08wMSeY`D~N*mC+78nkOVc%zG?VA863j zB+~v<=_yrkiWmAJAQPT^xJ!VgIjRvu5H8&KwBaWIz&{}$R_WNh2W_zNk31H#1HZ3? z0QkkTZS>XooAXbo1gP)fD7i$J`Y{I~f2_Rr9L5y0nWQ6XJz5xoo}F;$o)arKb|G+Y zci|$CCSMXEKT{Yj=Kuiv1d(m^@5!>E?jgdbyy}?vH8qonS+#K#kZY1~C%4GJ0hB<( z!|Y5&4nm-#(l1=q{~1`x96{Bv)hNk1HgG69#b(qLrds#W(mh4E^>i{i^9gthf0Si8 zH0eiwBj@8=Fol2g*Yoeqzi$${pHoA5T$DgB(CG{u?do^{o=sHUp$%;JIBXDfM5Vl>(2eZng)y4K5-(32aFEa-z0jrl; zGY2*UH~(#yk~0S+Rx8gRQvFTkh$EL9Ynwz2H&8#xcy4lvjTy7AQ}ocsm~>AMk| zRjO!}5{P%oOyYMyY?d3%s@}2(vNEBJLv8D>RG5>YT+WNoPMpzY4#q?S=tPaF6Gkc2 zvOAzkA%w=cGA@@~HwPgBDwlpY2P6U2m!mfaNq?{GpQAGxS@~sUO-KYIBPA83DY#S6 zejsW)V@-yxLYwZH3CLiLVJ{&045ofHx&)%l z0!e1{!-9Z%3<=rMfE0H^++CBpw>^a{5yZAJx>0m-Q>|Pq)iFXfoaqnnBo5IFS-9Is zt$#d)T=UA^LzC&4(q4t~wh8N)wi=j713wH-&MQileA;5=sGSOB4i#i6^#OdD+OkxT z82#4#4}s5NVxK@k9G zonwxG7Rrui1HU1kw`DS0vSyEvRzOc=G+rX2t)`BL@r|1>9jmd6Rd

dGAuM6vM~` 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 diff --git a/Developer/Resources/Tokenizers/gpt-4o-text.wxf b/Assets/Tokenizers/gpt-4o-text.wxf similarity index 98% rename from Developer/Resources/Tokenizers/gpt-4o-text.wxf rename to Assets/Tokenizers/gpt-4o-text.wxf index 11fc40ccd9bccf6e16b512e95954b67a8d682647..5a0080bde3c55274570d1e6772c49f60681037ec 100644 GIT binary patch delta 11030 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 Q|N5KuKd?yuFD}V5h@st`V*mgE delta 11001 zcmVc2`tjcm` zrDUlg!o~*7t9cp>rZH+iu#NHig~3gP^3T{`_D|XKopWzxmQ3&TY&Q{-PgG^lt0o z?)x>W+NbsW86w{ix)%m3c7~C2>siX)UGU~r8*NXw?m~}o2V&!fbVv3}-ov`Zhiwte&;^@<= z;Z{5paBj%Hj9Z|W-iCFkotvZ8S`%OOwwN{218Or+yv<&En{>pieVw(bNC zDhC%Fr0aLUgq1{2=#*%yd}2;afllh|r(nIbiMc_K#y_l|FBsQ!RSaiHSlPEVp$C`> zfuxAkz`t6l?D&h6n%A+rIDH?czPe)PK(r#myx2F*zA}z6DTABwVAIlu?&jOTF z`QJr&NmtqX?rsmmY{OYV*LORY`==2;HMM)Z=VBy^aGJjE?8o z1CG~eIAx{b*gr&vJIAjlV{Jufh&~C#=Wv&9s1Zef_Q`Q>S%wYY;KPL>drb=W1FP?g zI=A-mfIfKE3Y%p+>r@vJ44k@>S==LWLiRfn_cwDd(A$%a)H*pvLZ(eqsnYV7`A}GL zC`E?<_NK=Mh24CHlG)6bu`!G){hFP7q8_+a4Ndzvb(G4--}gBsUyQYQ?KBb}c8LnW z;r^O`d(K(P3^2q2rrmSrS*Bql-&hvTu*&7Vcw>M`--f5@6E$gmP5OcKiBn!X99QxY z=FA~gISYP3_k+>j;Dck=JK(3?OAoFV1+?-cDa&n#`WZcn_gEe7Aon+SQOq72pZzTZ z4j?jiLbT2Qhyf>~jBdw?52jIa65bF%0z#jEbeH!=RK8Sw`Nv=LdMdEJ6rY3*r^T%X zjnO>DXa1WyWm`vuL4)$*mTQ`AMgaX*oVJgE&r-mEGe9w6h5+?o8GD~yJq}H~jXS$7 zPkUaSWW*?@bmQ#>+I=2nT5RwUqD$5xX!fssxO8SYC86C&0mf>pBL3g-0$3EXuQyFfGkPjo+_RD#;L+m)YQP zZv@03{B61p7ksep3rxq7=|#q3W?*i7a@*|AsjVX8*Yko6c}xSvi+gsq?7>o{qB@kH zRM0n6;^@RCWo+?_WT5I-x=2s7jZ~45XhjfES47Cchbr{!_*-HyI^D7t1ux%emIY&>6g#qxj&N?Z@Y`A>*ycY4@ zZm{0|0|t(0gfm}Z)mDJjmc^^*A}^c^R1jfc<9E}Zzmi2VPL=slN13Y#4r?AZL3Fe8 zvzQJoaWmF9e+g;gusS>u&>vQ z-TVcuK$xIyNCYX@5PxMwnlG72-^=U@V1C<4Gfe5*)pz)HKfm6##mCx*yVqQ4+}3)_ zFGH6ybnU^BhFfoVOkT)=ciN^ZDhfsRvc?i@A1KFd`i3@I_My^6MX$WSBC!BFk*bspBUu;jMezslqMER_viNf(v9 z^R54@ucqV3=VL#%}CAU$B!sNi=(zn_L>s6=PuK_S+Y12b%w(JjCZx1%PGIl&4JE}9bV8Vi#J}`YiX^7nbSoXC^-;K?5be6({b7(k!`@s=1HIB#5eOEgINUvX(W1nOgRVMa3?6 zQJIe5z#i;~G$U$%?!hh(Y*{d2&|oP1$jHS)LmZ_v&ZZJ)a|ZMSM5U7yo`xeVwtw6AyB(;&4}FjpJ{ z8knseC)~D}L({>;;Cje@vai{8MLA^t8Hd|R>(jaVik+wZAVjR~PMN0|0Mi2)ox=W~ z<29pIGTw<3WsG!La6I*y<5<@s+~C`psT}|_l;}Cz1x4p1JNHze8Je@Umu4pEm+$bs zYK6Y_vEL1Ua^y% zxo*Q*bo<=oWEyeA2qkFil6b9L!i6}IOE_s4D8CF9-DyyI-li`igM5`+dnYI;^Qb~= z-Q?9G?ba1=YtX6{meaXdjAH6+KgLZ2WJ_;QS_Alh&uRJ_jME))rxk9@E3wh{(3GE4 zg4XwW`(I3Icr8xGwmoa3IHh)xN-EF-=rW@7DNLejHEDESW##;LR)23uCeBiSG2d6l z^Xmm3d^1#qO0oqbW`8wK)Gl8}KS9-;ZrD&F*J9+pWD#B9wCIA!F7)f}8;sd?{UZg< zn%S~{ZOqhV6i65^yKBq~-e?Y4dyYv*G(sWJ&Sdg=3BR<|$NSlEr4c%oZ@J35cKf_Go z=}8S!xyY~I#c4$NI?jiJD({S(<$LqYg>l(`k1DsM>ov+iI*q`ox6t+OR^25xA;=kp z$}@BU!<&XBc7$$qsSg};CiO&V-9{dx7K_p_g(7^>+M=k`_1XPKR+JGPUv4Zw2al2u zP7UtX$H>v?>tgo8sAksML^^2As(oFax}!;ekgJx(awp_z1mzoEB8YZIAFr1g36N5M zFf#sz8?4kX?sp90A95lVCavL9e`Oa&%AjL*WuA0Y->jpU;a7lGPbAN;azvDZ^ciO# zzPM9)(U#*^{vh7}oc+?eWY3R*So;N%?4Cd>=+#(&3 zUH(*;Qa=ybqazOUP)xAq{h$q;%@9i{on*zpvvOa16LOs=17d%Nsg8%u2*%Dn({NF} zc`iy1*UpYk@7_W0U>qXO=ueD~+jiEO=RDI>UGe-08OYx@vrgHhCwsw~4gG+BlZ>D& zP!2ny-p~R7z(`4+i~9!=S9tR$GtRtaJM4Z8A9oJ26%>p(CLuL!m7=ihM0CAddDNMx zIKaNAMYV=AkLt_i85Jy3eMISgt-eD&P$ilmN8)!m{CnK}q6E9P%sIP=p?079gKd^~B!#o6}WU3eK!9|xAE5)frP{JtBW2Z_cpTLPOS9DpI%$hAtJe81tK#p;s%PqUA zwUh`&9OO=wNG*LHCyE%ar>f!=G#)!n5J0nw9&?0P+H~AzQyKqD2^$xrFLE<=3SW*z z9pF{o)Z9S7Avy2JBnv&H)BvFh2e?R+3$jH!vuAt^;|-J-F_=Szkvd&N7nIcqlrKp$L#%S!6z z`%@8DikU)DlTrpKZd3VMM{_XcZq2*8OO-u3j}c6W>CyAq>~|7aWuHcgup0Ua(0~wj z8jRB4PRl3+bl-Np1qB?vU6^p9c9p3-J}{)Tr6=65=X?lIPEhTC>37|X6TTrUzoC1x zuj2{d72w=O#kyVXst|NTW>h|!O8c&GI=DYhbQ5IQw<2kx@Csa~-IDZ!PL=vF?A&0qNU(D=%3l^hq3M#d@tf0q>u9jL#=B}OUb#Nj^oJA zzo|J4hq%3MhL4wj<3wTXwbX-vwa7D6DlKtS0w&~0)klMB&0bek?8YuqigSDHZCmZk zvu+0&FKtk_BFLEa6wvD~lr5M7&0UbsDIN_{y;rG3BGWu)r3UCMLF&#-3uEXG-^4Wk@~J{Sm2aG{A}@Y^yDQzVW4~B0~sRvI2tE6%iob zc$NNXhZHd~12~x~Xig?tNQR#{c~VsUhiYk=dl@oSQ`LBA7J268nw)Yy^ErrMXzz2 zdD~2;k-*R==~Zp;%e0dvJNwW>n+EOd)Wp-<4-sbo zckWXzFE#1*zU)*b)c`i*JpK6VoT47Wt^<2j}4T5jnv7 z=2XiGF|=$TeMafhbXpiAQLse21Bx!z3v+hiSNi^-#rt-XjuM@qiVDPQv7rwc6>vEu zPKjPhpvqXDq2CT1Mz5gFgkuc?dXk$PNDy>oxaGsWUCP++0|EjKh(Lm#hBXN~=7fBI zj0kXO^-?>e;$;(hE3c)L2QKSM<`5@y^0{xgs>y7ok~-%Em1Pjnrl+UuL8{9lAdMj4 zFiR;2C`}O^_yDhTbcQC_bCVw*T|Lim8>dDmMBl|>z6$$@2hv{bXIV3U(0aNwGhW&P z3ix_3$b7V6@uw&+to4?^WDkxwivV4JD>gm^?_9L`5oNJ zR3qTXgjsP1Ac&tP)XtQ@mx&}ytcYA^FP#E)7t8e2>RXiVqZx9Z(!uMryU);0Jk8dU zN5tzffsa5K^+T=xa+c?_JX;%=P7Kap#@pb#V$jd;kNa`f-@wSIy9``FCvf(;`j|AG zt?!Z+Po+}jro#U8^TW65*m@*?wU0C=5$7^p*B|MA%qTjc1;JX_3I}W0NLx=SN+IFF zmh#Io9hZ;z^?N>8E>LJ>1UbEaLXns~aKRw~ub0WapxRLemtBb1;C6PLM>bD2G}6Wx zk5TqADs53o-h_sC$k1o>te{mdJMBdz5w53Ez=qa&CpJo)nR2bFY4&eqF$eZjPC7IL zJ&*2c*H6?o5;gn0A9jEi&TgFBIE?FQs7ezSO4{yczdi->j9z@p^r=KbL@=aR?BYfn zv`L(N1*$VW#moVAU->;41+zBKTWf(^$G}xp4Nc)_ES~Y%UqAWqmv*@kA`Tsg1J9$J z!hR7aVB*hvm!`Q9GbGXuIY4(T>ntkROQ7e`5gDGG)x_N5AxpDijY!p(`qVL~oa2}M zxe*!xDwi0#5h7ABUGiBBOn{ws0@st28aix7b;0nZk1{1>Z=}46FOs0gVsSnWY4KOs);(D*^O1t2E4_fiY(Hyq#z9+Tj1eI0h+j zKQEP=Nafoo`X(I*L~c<*8hArmwc&K?vcBZo znpR=Iz_;}RZNPlstB$cnIS?BUOnFd3=+INE3-Mhus`zeg_nfr=de}Mx4#Cv-C#lGH zF%|>r!EHdKcLJ2{03?N!Ky)ZdCpHtjzi4ezHQjXEA@2y_VfPD+-_Cz;4iX{5w1ew6 zc4qY9Is8;VX!&i&&NfuJZ0Bd-oz#;kOiMGImX+53cz=lembDz!?Og}2J$o>InPMFf z*53k0N3jMi5Gc`eghRKv%idI>1BHDsYn%J*Ji04&rO)$(J^2n8UjUF%B=?a6u_mXT zZ$#WN%3E962m8U)uD^et;-{YNcM*E|?)PIC=Ef&WJ17xcht#?U#!Z(?cNP$R((lV>1HwAwAt>s5IO=P_Tbms#T`FlJ&tI%RB8Q zfIBl@6bSt75@nbml9y_9-ZoKcglb=e6THAaX>MqQM+Alst7xcK&0{u^D+4iU5BwVP z_pT|UZn2%Z9Em;l4M6MQ@aL^vQOoJt`MIjrK8Qc1?~z*k-5#tdDUdYk66Z2d9GPEk zg0|)^U;3qz%ddZM9{;nug{R~}f2=FHKkJ=$y@w_jkcaG{925&F#X@bg(ChtWrYFX^ zX}AD%LC*D-=+SG_leCoIkrYf?$b}#9>uK7x3og|yZO}pnoE8*~yAJR3GR9$M52i=R zJzl$2vd71y+%w*bE zqj_a+{z<<1Z}h4hTxY%xwI#~Y=0r0cvTXNRoe(^>n+jFXTm4t zvUnPy15|&4wq-h*dK4m-^#|s%b-DRnWKDPn4B|nntD2r$V{_+Czr_97OeIHIY{XA? zSwn4|v1fx@Gd2{5zOKUE};2WNj%H22Y0H3EV6Xa}Ou9b8~Z}!7gnLT0E&V)^$j?vOq(5(Zf zj9rL2Eeg=}$^xlv=f|cd$9b;1)R!*65fy(u%|&E}qGFgwdp@E)`|x&1abokcoOb~_ zJZPx>JncRvK;@6(lzWao^s>8rg?eiVSl@M=z{4c}!fvy~ic} zy8yG&HB}X>c9gN~0?|~tlVV)mu(MOUXQ%A!Lyta3=UmOL0Ar@nG3_=qYp|Nm(Q1D> zD8;{Eoe`FYI8#`WtO4X`c!kR(=Rx2Q;zY4GF})~QJ7qS4?#Fw*?Qa^H>#ZFu$=(*Q zP-b@ODdQ-3nqMy&&$$Zx7LKVj2oR)hUK??CbaS)TuF|9-g3Dz3 zV|r4b@&&(v=49Zwz`zw|Ap4BDX(%sRt?s-K+$ml-3*4W~T3dJ8W|ySp1jKLUd$a_g z;{wD2qY9F#*8QpOyWEmAYvW_Rt3J&W4XG(k zrYeggyf9Dkm(#%!Hh5Ku3AfaW%W)5_?BrS3Dq1zT|AV zB&51SaRP+BL8rr$57UL${jfp#GEQHJxO(%Tt+2V`648gETJx%2V!T{k`x6UAAj;nbF3vWH#jgIxRAo){eq!~uwE}9jC7C2bE`%p`8*>sil7~ygkI9vm~9~%xp z-fBfvNg?U{xl5`C{)HK9>%SRHypTY|+K-OIB2Un%J*9>0d-pr9DeZ3&#s=O91z{XH%-~|RjTg0*jKp2zRqj- z5qec1qJK#T)O+-gzozdvyZQ;`DFq&n}~iQKJ%NM92bHfyYjR# zCuz9tMnw0Bl|dO);*=Q*fl=(0syS(c z6n_nh`yk$dV5Q9AD8ds%R@d)3+5wb3L=jD`v6(5`ru+{|T3*Q2fJv0!)-cY+c9q8- zZ&O)pX0fmEYJO++7O-bx}d))xgGpGX02QV}qM#6_m-ks@Jhf3?)rJAA)MU z@R~6C9z+cQ9&w9O%eq=XI=8{77NzxhM1R&&CpFlI5VpMM$rtJ2zy`(6p<3@6z#bjU z%B`n$>b0wSoS-rI$O2#um=!vY7Fefr-6(^YG&jStqhLWTY3(ruTsqcB(`Ct=RcFen579OQb+e zLGFDkkp6xZeQy|c4vs~XLbX`7aD%V|6LfiRuE4^!?NIThv9c}wjHvDT4yT2qF#~Kw z80j!Ab+LcrGZG*fGz}p(C8B4%vVU5_Y8~QZWL%A}dKy>ErbpTu)mxHJoV6e69r?-k znI&lc?KgIDl&*n}6|TcN5JGB;VH_R{OG!D<&4Ek{470K3NrGo`YDEo12~}fp=Gi1CFAC(9TBnvaj8_({u?<$vSP|Uw?MC?6R~t6+Z|V zMmNEbM3X+FNg|FTs->+0`%Q>MCc9v{E|F0K1Z z5!3?%3xifv9@CU=GH?=CYp`F^J(0P!wC7L7A|1VsPDUpv!+*i0&3!yNcqzOzd@w{! zJI`!}EB4^8#{3p#W{NQg&rFxty5Mx2*wKq9cgD6$z`T2&^jo%Y|CWLyoEx)q_M~kl z7DwY`UU)!l zYOIz$6XqP4_>N{c;y8V@>Pzl2KpzJaufZq(eb!nXaT%S>CscBT~320W@6a_WIodBiGnu zpy7m}rv<6f_Uf46{X;6`T}pM9MN!PyF&<^``@k-zQQ0x_|$BPDuYmw-{igi}YZR(XT#B*}!|YWWq_y>~xoN$`K&})0dUX5hZ_+ zU$62E{gS5Mi)g=qQ7F$V!hwke&pa_p%~C+qP$Z*3mPk8(#hLk-+e$beS2Rf1tm!-S zdk_QPiVc+!xO56k4JWEW6>xz~nL{ltq+Ky|5r~DisLJq`p?nQGf)(uA7Wa*BR_wuP z2S^D1_nR!Hh)?7WAHH9)-T3`$LNgrVf@M`%hTRQM#v#Yb26YRpTf5ys8PK(JBYLQ( zki^0Z!Rj`U81c;Q+UmD-DPOIgXI|k6$kS8WUSZPDKDt;K)U`1X9^$v~r7rCUD2ldg zxWFOd0lE#}uWIw|wHkjX<|s~tC{6kb`aSZVCbr~*yZ~=;!yB-)6SSGntiH|)*nZH7 zLQa(^1I4@5jzA_ReE@w9Z8w~^+KW^I0OzHgZo}wE3sLyMUDc!H+~@nBlhtagmfuEg zHoD#QWR^Aj*zm)nkC=|fE2)}P?*|x}x)NkUsH6??JG#cr+{1t9HTkF_`jiFJob*ra z%vRMD*FIWX!z^7zPp+n1859;di@UJ|8*7+30`-y;Rao8#@Ai5qsk2|(O?)cXVh^+c zZig>Aq>rw!@b#_LgT|ZuZgm>rbZ5FjQ!}p9A>ed;R|t?eD48rksyXW^_y=ed%Xxmi zW#@`vM^)$@jkka21tAKRxH`H74af*cyJfve$2n`W2gl%Jh%6oxW2Oa|L@JFQy~K2+ zS|H<)%-GC0wlb@2M*-!-Wk8|gL#yA>@1zjk@sz5APAlyJ{N~}%9@;o&fcA88QsBuf z>xz7gPDbQ)qAre=KKAB89^DOEyJ_i00y*G$f4 z7kLuVUZSOt`Avj!tb;B=(p&V z&B%y{A5VYXq1T|shGgXrgLi>5e;8SqXXMWTx6#nC!dFRrKsMCKcD2h{5t*fM_y0iKjU5-fZWhDr&e~!$HgXUTYQ+@GP+JD17gA7U<@F$bGjvEOTxDgmB9|n?;m{mYuVVjb>*@cKRK`seG>cHXm?zm!gcvib0|Hfp*zkJ#>U!&9HDq=XNrqq0thrv6SD;m*qKdFY@}Pog74tEm)xKd zI5j#l@%Us%|$Sgs2`~In@OP`!((r%X??O*l-?@QjoIF+0GM(lqF zAnq^?u&mh|f6-5>-4hOM=lKwAqyPSl@73rFFHB5K_CEQ-o-WcCy0jN&{ibSbbj%Cz zXP_VTf{QmrKPEHjbm&+1ej0u1f$f3cqPmEiJpoje>67=(`u(5!ahSC|zdQD0JGW4%Pqjzb#sU1CLC@ ze573ui#?ldeD-NI@j@#5@q`y@B@U;ptRpQ5NZ@i_i0;1T@O=)c%Geirn*9+**e1e9(2 zOq0nDH$Le;F&w@)+Z?;w5_7{nGPK z^2fh;k^lC)#~=HrmtM4woxd?fNrsiLO?^1O8w)f3WuY`>*zIziIyii}e2jgD)|n;b5Ka diff --git a/Developer/CacheTokenizers.wl b/Developer/CacheTokenizers.wl index 634504a7..4fa73331 100644 --- a/Developer/CacheTokenizers.wl +++ b/Developer/CacheTokenizers.wl @@ -18,8 +18,8 @@ Needs[ "Developer`" -> None ]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Paths*) -$assetLocation = FileNameJoin @ { DirectoryName @ $InputFileName, "Resources" }; -$tokenizerDirectory = FileNameJoin @ { $assetLocation, "Tokenizers" }; +$pacletDirectory = DirectoryName[ $InputFileName, 2 ]; +$tokenizerDirectory = FileNameJoin @ { $pacletDirectory, "Assets", "Tokenizers" }; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) diff --git a/PacletInfo.wl b/PacletInfo.wl index 4a31b381..b11a30af 100644 --- a/PacletInfo.wl +++ b/PacletInfo.wl @@ -34,10 +34,11 @@ PacletObject[ <| { "Asset", "Root" -> "Assets", "Assets" -> { - { "Icons" , "Icons.wxf" }, - { "DisplayFunctions", "DisplayFunctions.wxf" }, { "AIAssistant" , "AIAssistant" }, - { "SandboxMessages" , "SandboxMessages.wl" } + { "DisplayFunctions", "DisplayFunctions.wxf" }, + { "Icons" , "Icons.wxf" }, + { "SandboxMessages" , "SandboxMessages.wl" }, + { "Tokenizers" , "Tokenizers" } } }, { "LLMConfiguration", diff --git a/Scripts/BuildMX.wls b/Scripts/BuildMX.wls index fb0a9a5c..b0d1d401 100755 --- a/Scripts/BuildMX.wls +++ b/Scripts/BuildMX.wls @@ -141,33 +141,6 @@ getTagPos[ file_ ] := Cases[ Infinity ]; -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*cacheTokenizers*) -cacheTokenizers[ ] := - Enclose @ Module[ { dir, files, current, new, combined }, - - dir = ConfirmBy[ FileNameJoin @ { $pacletDir, "Developer/Resources/Tokenizers" }, DirectoryQ, "Directory" ]; - files = ConfirmMatch[ FileNames[ "*.wxf", dir ], { __ }, "Files" ]; - current = ConfirmBy[ Symbol[ "Wolfram`Chatbook`Common`$cachedTokenizers" ], AssociationQ, "Current" ]; - new = ConfirmBy[ <| (FileBaseName[ # ] -> Developer`ReadWXFFile[ # ] &) /@ files |>, AssociationQ, "New" ]; - - ConfirmAssert[ AllTrue[ new, MatchQ[ _NetEncoder ] ], "NetEncoderCheck" ]; - - combined = ConfirmBy[ <| current, new |>, AssociationQ, "Combined" ]; - - setName[ "Wolfram`Chatbook`Common`$cachedTokenizers", combined ]; - - ConfirmAssert[ Symbol[ "Wolfram`Chatbook`Common`$cachedTokenizers" ] === combined, "Assignment" ]; - - combined - ]; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*setName*) -setName[ name_String, expr_ ] := ToExpression[ name, InputForm, Function[ symbol, symbol = expr, HoldAllComplete ] ]; - (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Build MX*) @@ -191,9 +164,6 @@ Remove[ "Wolfram`Chatbook`*`*" ]; cicd`ScriptConfirmAssert[ Names[ "Wolfram`Chatbook`*" ] === Names[ "Wolfram`Chatbook`*`*" ] === { }, "Names" ]; cicd`ScriptConfirm @ CheckAbort[ Get[ "Wolfram`Chatbook`" ], $Failed ]; -cicd`ConsoleLog[ "Caching tokenizers..." ]; -cicd`ScriptConfirmBy[ cacheTokenizers[ ], AssociationQ ]; - cicd`ScriptConfirmMatch[ DeleteDirectory[ tmp, DeleteContents -> True ], Null ]; $mxDir = cDir @ gu`EnsureDirectory @ DirectoryName @ $mxFile; diff --git a/Source/Chatbook/ChatMessages.wl b/Source/Chatbook/ChatMessages.wl index 395b39e0..7cf67eab 100644 --- a/Source/Chatbook/ChatMessages.wl +++ b/Source/Chatbook/ChatMessages.wl @@ -1326,7 +1326,7 @@ argumentTokenToString // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Tokenization*) -$tokenizer := $gpt2Tokenizer; +$tokenizer := cachedTokenizer[ "gpt-4o" ]; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) @@ -1377,7 +1377,7 @@ cachedTokenizer[ id_String ] := Enclose[ tokenizer = findTokenizer @ name; If[ MissingQ @ tokenizer, (* Fallback to the GPT-2 tokenizer: *) - tokenizer = ConfirmMatch[ $genericTokenizer, Except[ $$unspecified ], "GPT2Tokenizer" ]; + tokenizer = ConfirmMatch[ $cachedTokenizers[ "generic" ], Except[ $$unspecified ], "GPT2Tokenizer" ]; If[ TrueQ @ Wolfram`ChatbookInternal`$BuildingMX, tokenizer, (* Avoid caching fallback values into MX definitions *) cacheTokenizer[ name, tokenizer ] @@ -1407,12 +1407,29 @@ cacheTokenizer // endDefinition; (*findTokenizer*) findTokenizer // beginDefinition; -findTokenizer[ "gpt-4o-text" ] := +findTokenizer[ model_String ] := Enclose[ + Catch @ Module[ { dir, file, tokenizer }, + dir = ConfirmBy[ $tokenizerDirectory, StringQ, "Directory" ]; + file = FileNameJoin @ { dir, model<>".wxf" }; + tokenizer = If[ FileExistsQ @ file, Developer`ReadWXFFile @ file, findTokenizer0 @ model ]; + If[ MissingQ @ tokenizer, Throw @ tokenizer ]; + ConfirmMatch[ tokenizer[ "test" ], _List, "TokenizerTest" ]; + tokenizer + ], + throwInternalFailure +]; + +findTokenizer // endDefinition; + + +findTokenizer0 // beginDefinition; + +findTokenizer0[ "gpt-4o-text" ] := With[ { tokenizer = findTokenizer[ "gpt-4o" ] }, tokenizer /; ! MissingQ @ tokenizer ]; -findTokenizer[ model_String ] := Enclose[ +findTokenizer0[ model_String ] := Enclose[ Quiet @ Module[ { name, tokenizer }, initTools[ ]; Quiet @ Needs[ "Wolfram`LLMFunctions`Utilities`Tokenization`" -> None ]; @@ -1424,7 +1441,10 @@ findTokenizer[ model_String ] := Enclose[ Missing[ "NotFound" ] & ]; -findTokenizer // endDefinition; +findTokenizer0 // endDefinition; + + +$tokenizerDirectory := $tokenizerDirectory = FileNameJoin @ { $thisPaclet[ "Location" ], "Assets", "Tokenizers" }; (* ::**************************************************************************************************************:: *) (* ::Subsubsubsection::Closed:: *) @@ -1433,7 +1453,7 @@ $cachedTokenizers[ "chat-bison" ] = ToCharacterCode[ #, "UTF8" ] &; $cachedTokenizers[ "gpt-4-vision" ] = If[ graphicsQ @ #, gpt4ImageTokenizer, cachedTokenizer[ "gpt-4" ] ][ # ] &; $cachedTokenizers[ "gpt-4o" ] = If[ graphicsQ @ #, gpt4ImageTokenizer, cachedTokenizer[ "gpt-4o-text" ] ][ # ] &; $cachedTokenizers[ "claude-3" ] = If[ graphicsQ @ #, claude3ImageTokenizer, cachedTokenizer[ "claude" ] ][ # ] &; -$cachedTokenizers[ "generic" ] = If[ graphicsQ @ #, { }, $gpt2Tokenizer @ # ] &; +$cachedTokenizers[ "generic" ] = If[ graphicsQ @ #, { }, cachedTokenizer[ "gpt-2" ] ] &; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) @@ -1523,22 +1543,11 @@ claude3ImageTokenCount0[ image_, { w_, h_ } ] := claude3ImageTokenCount0[ w, h ] claude3ImageTokenCount0[ w_Integer, h_Integer ] := Ceiling[ (w * h) / 750 ]; claude3ImageTokenCount0 // endDefinition; -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*Fallback Tokenizer*) -$gpt2Tokenizer := $gpt2Tokenizer = gpt2Tokenizer[ ]; - -(* https://resources.wolframcloud.com/FunctionRepository/resources/GPTTokenizer *) -importResourceFunction[ gpt2Tokenizer, "GPTTokenizer" ]; - (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Package Footer*) addToMXInitialization[ - cachedTokenizer[ All ]; - $gpt2Tokenizer; - (* This is only needed to generate $gpt2Tokenizer once, so it can be removed to reduce MX file size: *) - Remove[ "Wolfram`Chatbook`ResourceFunctions`GPTTokenizer`GPTTokenizer" ]; + Null ]; (* :!CodeAnalysis::EndBlock:: *) diff --git a/Source/Chatbook/Common.wl b/Source/Chatbook/Common.wl index 886fcfe8..b59445f2 100644 --- a/Source/Chatbook/Common.wl +++ b/Source/Chatbook/Common.wl @@ -298,6 +298,7 @@ KeyValueMap[ Function[ MessageName[ Chatbook, #1 ] = #2 ], <| "NoSandboxKernel" -> "Unable to start a sandbox kernel. This may mean that the number of currently running kernels exceeds the limit defined by $LicenseProcesses.", "NotImplemented" -> "Action \"`1`\" is not implemented.", "NotInstallableResourceType" -> "Resource type `1` is not an installable resource type for chat notebooks. Valid types are `2`.", + "PersonaDirectoryNotFound" -> "The directory `2` for persona `1` was not found.", "RateLimitReached" -> "Rate limit reached for requests. Please try again later.", "ResourceNotFound" -> "Resource `1` not found.", "ResourceNotInstalled" -> "The resource `1` is not installed.", @@ -1164,14 +1165,26 @@ inlineTemplateBoxes // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*$chatbookIcons*) -$chatbookIcons := $chatbookIcons = - Developer`ReadWXFFile @ PacletObject[ "Wolfram/Chatbook" ][ "AssetLocation", "Icons" ]; +$chatbookIcons := Enclose[ + Module[ { file, icons }, + file = ConfirmBy[ $thisPaclet[ "AssetLocation", "Icons" ], FileExistsQ, "File" ]; + icons = ConfirmBy[ Developer`ReadWXFFile @ file, AssociationQ, "Icons" ]; + If[ TrueQ @ $mxFlag, icons, $chatbookIcons = icons ] + ], + throwInternalFailure[ $chatbookIcons, ## ] & +]; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*$templateBoxDisplayFunctions*) -$templateBoxDisplayFunctions := $templateBoxDisplayFunctions = - Developer`ReadWXFFile @ PacletObject[ "Wolfram/Chatbook" ][ "AssetLocation", "DisplayFunctions" ]; +$templateBoxDisplayFunctions := Enclose[ + Module[ { file, funcs }, + file = ConfirmBy[ $thisPaclet[ "AssetLocation", "DisplayFunctions" ], FileExistsQ, "File" ]; + funcs = ConfirmBy[ Developer`ReadWXFFile @ file, AssociationQ, "Functions" ]; + If[ TrueQ @ $mxFlag, funcs, $templateBoxDisplayFunctions = funcs ] + ], + throwInternalFailure[ $templateBoxDisplayFunctions, ## ] & +]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) @@ -1231,7 +1244,6 @@ mxInitialize // endDefinition; addToMXInitialization[ $debug = False; $chatbookIcons; - $templateBoxDisplayFunctions; $cloudTextResources; $releaseID; ]; diff --git a/Source/Chatbook/Personas.wl b/Source/Chatbook/Personas.wl index 6a927402..e72671d4 100644 --- a/Source/Chatbook/Personas.wl +++ b/Source/Chatbook/Personas.wl @@ -186,79 +186,98 @@ fixFEResourceBoxes // endDefinition; (*loadPacletPersonas*) loadPacletPersonas // beginDefinition; -loadPacletPersonas[ paclet_PacletObject ] := loadPacletPersonas[ paclet[ "Name" ], paclet[ "Version" ], paclet ]; +loadPacletPersonas[ paclet_PacletObject ] := + loadPacletPersonas[ paclet[ "Name" ], paclet[ "Version" ], paclet ]; loadPacletPersonas[ name_, version_, paclet_ ] := loadPacletPersonas[ name, version, _ ] = - Handle[_Failure] @ Module[{ - extensions - }, - Needs["PacletTools`" -> None]; - - extensions = RaiseConfirmMatch[ - PacletTools`PacletExtensions[paclet, "LLMConfiguration"], - {{_String, _Association}...} - ]; - - Map[ - extension |-> loadPersonaFromPacletExtension[ - paclet, - PacletTools`PacletExtensionDirectory[paclet, extension], - extension - ], - extensions - ] + Cases[ + Flatten @ Cases[ + paclet[ "StructuredExtensions" ], + { "LLMConfiguration", as_ } :> loadPersonasFromPacletExtension[ paclet, as ] + ], + HoldPattern[ _String -> _Association ] ]; loadPacletPersonas // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*loadPersonasFromPacletExtension*) +loadPersonasFromPacletExtension // beginDefinition; + +loadPersonasFromPacletExtension[ paclet_, extensionInfo_Association ] := + loadPersonasFromPacletExtension[ paclet, extensionInfo, Lookup[ extensionInfo, "Personas" ] ]; + +loadPersonasFromPacletExtension[ paclet_, extensionInfo_, personas_List ] := + Cases[ + Flatten[ loadPersonaFromPacletExtension[ paclet, extensionInfo, # ] & /@ personas ], + HoldPattern[ _String -> _Association ] + ]; + +loadPersonasFromPacletExtension // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*loadPersonaFromPacletExtension*) loadPersonaFromPacletExtension // beginDefinition; -loadPersonaFromPacletExtension[ - paclet_?PacletObjectQ, - extensionDirectory_?StringQ, - {"LLMConfiguration", options_?AssociationQ} -] := Handle[_Failure] @ Module[{ - personas = Lookup[options, "Personas"] -}, - RaiseConfirmMatch[personas, {___?StringQ}]; - - Map[ - personaName |-> ( - (* Note: - Stop errors from propagating upwards so that a failure to load - any one persona doesn't prevent other, valid, personas from - being loaded and returned. *) - personaName -> Handle[_Failure] @ loadPersonaFromDirectory[ - paclet, - personaName, - FileNameJoin[{extensionDirectory, "Personas", personaName}] - ] - ), - personas - ] -]; +loadPersonaFromPacletExtension[ paclet_, extensionInfo_, persona: KeyValuePattern[ "Symbol" -> _String ] ] := + loadPersonaFromSymbol[ paclet, extensionInfo, persona ]; + +loadPersonaFromPacletExtension[ paclet_, extensionInfo_, persona_String ] := + loadPersonaFromName[ paclet, extensionInfo, persona ]; loadPersonaFromPacletExtension // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*loadPersonaFromSymbol*) +loadPersonaFromSymbol // beginDefinition; + +(* FIXME: Need to finish loading these when actually referenced anywhere *) +loadPersonaFromSymbol[ _, _, persona: KeyValuePattern[ "Name" -> name_String ] ] := + name -> <| persona, "Hidden" -> True, "Loaded" -> False |>; + +loadPersonaFromSymbol // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*loadPersonaFromName*) +loadPersonaFromName // beginDefinition; + +loadPersonaFromName[ paclet_, extensionInfo_Association, name_String ] := + With[ { extensionDir = pacletExtensionDirectory[ paclet, { "LLMConfiguration", extensionInfo } ] }, + name -> loadPersonaFromDirectory[ paclet, name, FileNameJoin @ { extensionDir, "Personas", name } ] + ]; + +loadPersonaFromName // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*pacletExtensionDirectory*) +pacletExtensionDirectory // beginDefinition; + +pacletExtensionDirectory[ paclet_, extension_ ] := + Module[ { dir }, + Needs[ "PacletTools`" -> None ]; + dir = PacletTools`PacletExtensionDirectory[ paclet, extension ]; + If[ TrueQ @ Wolfram`ChatbookInternal`$BuildingMX, + dir, + pacletExtensionDirectory[ paclet, extension ] = dir + ] + ]; + +pacletExtensionDirectory // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*loadPersonaFromDirectory*) loadPersonaFromDirectory // beginDefinition; loadPersonaFromDirectory[ paclet_PacletObject, personaName_, dir_? StringQ ] := Enclose[ - Module[ { icon, config, origin, prompts, extra }, - - If[ ! DirectoryQ @ dir, - Raise[ - ChatbookError, - <| "PersonaDirectory" -> dir |>, - "Persona does not exist in expected directory: ``", - InputForm @ dir - ]; - ]; + Catch @ Module[ { icon, config, origin, prompts, extra }, + + If[ ! DirectoryQ @ dir, Throw @ messageFailure[ "PersonaDirectoryNotFound", personaName, dir ] ]; icon = FileNameJoin @ { dir, "Icon.wl" }; config = FileNameJoin @ { dir, "LLMConfiguration.wl" }; From aafc5103136fdf3cbbf24c6235accf3eede2c13e Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 13 Aug 2024 11:45:01 -0400 Subject: [PATCH 010/180] Enable LFS --- .gitattributes | 1 + Scripts/.githooks/post-checkout | 3 +++ Scripts/.githooks/post-commit | 3 +++ Scripts/.githooks/post-merge | 3 +++ Scripts/.githooks/pre-push | 3 +++ 5 files changed, 13 insertions(+) create mode 100644 .gitattributes create mode 100644 Scripts/.githooks/post-checkout create mode 100644 Scripts/.githooks/post-commit create mode 100644 Scripts/.githooks/post-merge create mode 100644 Scripts/.githooks/pre-push diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..8c9c4f1c --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.jsonl filter=lfs diff=lfs merge=lfs -text diff --git a/Scripts/.githooks/post-checkout b/Scripts/.githooks/post-checkout new file mode 100644 index 00000000..ca7fcb40 --- /dev/null +++ b/Scripts/.githooks/post-checkout @@ -0,0 +1,3 @@ +#!/bin/sh +command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'post-checkout' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks').\n"; exit 2; } +git lfs post-checkout "$@" diff --git a/Scripts/.githooks/post-commit b/Scripts/.githooks/post-commit new file mode 100644 index 00000000..52b339cb --- /dev/null +++ b/Scripts/.githooks/post-commit @@ -0,0 +1,3 @@ +#!/bin/sh +command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'post-commit' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks').\n"; exit 2; } +git lfs post-commit "$@" diff --git a/Scripts/.githooks/post-merge b/Scripts/.githooks/post-merge new file mode 100644 index 00000000..a912e667 --- /dev/null +++ b/Scripts/.githooks/post-merge @@ -0,0 +1,3 @@ +#!/bin/sh +command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'post-merge' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks').\n"; exit 2; } +git lfs post-merge "$@" diff --git a/Scripts/.githooks/pre-push b/Scripts/.githooks/pre-push new file mode 100644 index 00000000..0f0089bc --- /dev/null +++ b/Scripts/.githooks/pre-push @@ -0,0 +1,3 @@ +#!/bin/sh +command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'pre-push' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks').\n"; exit 2; } +git lfs pre-push "$@" From 9b212021e2a1c49b6799d93f0f8a1e99fe6dfcb7 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 13 Aug 2024 11:46:11 -0400 Subject: [PATCH 011/180] Add source data for vector databases --- Developer/VectorDatabases/SourceData/DocumentationURIs.jsonl | 3 +++ Developer/VectorDatabases/SourceData/WolframAlphaQueries.jsonl | 3 +++ 2 files changed, 6 insertions(+) create mode 100644 Developer/VectorDatabases/SourceData/DocumentationURIs.jsonl create mode 100644 Developer/VectorDatabases/SourceData/WolframAlphaQueries.jsonl diff --git a/Developer/VectorDatabases/SourceData/DocumentationURIs.jsonl b/Developer/VectorDatabases/SourceData/DocumentationURIs.jsonl new file mode 100644 index 00000000..86563c8b --- /dev/null +++ b/Developer/VectorDatabases/SourceData/DocumentationURIs.jsonl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a16442991caeaa42e704bd5aa39b43163c649caa243f85e8c3de8562e56358f +size 369614780 diff --git a/Developer/VectorDatabases/SourceData/WolframAlphaQueries.jsonl b/Developer/VectorDatabases/SourceData/WolframAlphaQueries.jsonl new file mode 100644 index 00000000..94fba276 --- /dev/null +++ b/Developer/VectorDatabases/SourceData/WolframAlphaQueries.jsonl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7475c4747948df7f0cb8d53ab9e1dd1f6bb9c50b387e48ed7cf3590cfd30808 +size 8028019 From e1bd6f85e6a431bff47ef861fd65b8561b0d42e6 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 13 Aug 2024 11:46:52 -0400 Subject: [PATCH 012/180] Created vector database build helpers --- .../VectorDatabases/VectorDatabaseBuilder.wl | 796 ++++++++++++++++++ 1 file changed, 796 insertions(+) create mode 100644 Developer/VectorDatabases/VectorDatabaseBuilder.wl diff --git a/Developer/VectorDatabases/VectorDatabaseBuilder.wl b/Developer/VectorDatabases/VectorDatabaseBuilder.wl new file mode 100644 index 00000000..2757caa6 --- /dev/null +++ b/Developer/VectorDatabases/VectorDatabaseBuilder.wl @@ -0,0 +1,796 @@ +(* ::Section::Closed:: *) +(*Package Header*) +(* :!CodeAnalysis::BeginBlock:: *) +(* :!CodeAnalysis::Disable::SuspiciousSessionSymbol:: *) +BeginPackage[ "WolframChatbookDeveloper`VectorDatabaseBuilder`" ]; + +(* Exported symbols *) +`AddToVectorDatabaseData; +`BuildVectorDatabase; +`ExportVectorDatabaseData; +`GetEmbedding; +`ImportVectorDatabaseData; + +Begin[ "`Private`" ]; + +Needs[ "Developer`" -> None ]; +Needs[ "GeneralUtilities`" -> None ]; +Needs[ "Wolfram`Chatbook`" -> None ]; + +HoldComplete[ + System`CreateVectorDatabase, + System`VectorDatabaseObject +]; + +(* Temporary deployment URL: https://www.wolframcloud.com/obj/wolframai-content/VectorDatabases/DocumentationURIs.zip *) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Aliases*) +cachedTokenizer = Wolfram`Chatbook`Common`cachedTokenizer; +ensureDirectory = GeneralUtilities`EnsureDirectory; +packedArrayQ = Developer`PackedArrayQ; +readRawJSONString = Developer`ReadRawJSONString; +readWXFFile = Developer`ReadWXFFile; +toPackedArray = Developer`ToPackedArray; +writeRawJSONString = Developer`WriteRawJSONString; +writeWXFFile = Developer`WriteWXFFile; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Patterns*) +$$vectorDatabase = _VectorDatabaseObject? System`Private`ValidQ; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Configuration*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Vector Databases*) +$vectorDBSourceDirectory = FileNameJoin @ { DirectoryName @ $InputFileName, "SourceData" }; +$vectorDBTargetDirectory = FileNameJoin @ { DirectoryName[ $InputFileName, 3 ], "Assets", "VectorDatabases" }; + +$incrementalBuildBatchSize = 256; +$dbConnectivity = 16; +$dbExpansionAdd = 256; +$dbExpansionSearch = 2048; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Embeddings*) +$embeddingDimension = 256; +$embeddingType = "Integer8"; +$embeddingService = "OpenAI"; +$embeddingModel = "text-embedding-3-small"; +$embeddingMaxTokens = 8000; +$maxSnippetLength = 4000; +$defaultEmbeddingLocation = FileNameJoin @ { $CacheBaseDirectory, "ChatbookDeveloper", "Embeddings" }; +$dataTag = "TextLiteral"; +$tokenizer := $tokenizer = cachedTokenizer[ "gpt-4o" ]; + +$embeddingLocation := $embeddingLocation = Replace[ + PersistentSymbol[ "ChatbookDeveloper/EmbeddingCacheLocation" ], + Except[ _File | _String ] :> $defaultEmbeddingLocation +]; + +$embeddingCache = <| |>; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Vector Databases*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*ImportVectorDatabaseData*) +ImportVectorDatabaseData // ClearAll; + +ImportVectorDatabaseData[ name_String ] := + Enclose @ Module[ { file, data }, + file = ConfirmBy[ FileNameJoin @ { $vectorDBSourceDirectory, name<>".jsonl" }, FileExistsQ, "File" ]; + data = ConfirmMatch[ jsonlImport @ file, { ___Association? AssociationQ }, "Data" ]; + data + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*ExportVectorDatabaseData*) +ExportVectorDatabaseData // ClearAll; + +ExportVectorDatabaseData[ name_String, data0_List ] := + Enclose @ Module[ { data, dir, file }, + data = ConfirmBy[ toDBData @ data0, dbDataQ, "Data" ]; + dir = ConfirmBy[ ensureDirectory @ $vectorDBSourceDirectory, DirectoryQ, "Directory" ]; + file = ConfirmBy[ FileNameJoin @ { dir, name<>".jsonl" }, StringQ, "File" ]; + ConfirmBy[ jsonlExport[ file, data ], FileExistsQ, "Export" ] + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*AddToVectorDatabaseData*) +AddToVectorDatabaseData // beginDefinition; +AddToVectorDatabaseData // Options = { "Tag" -> "TextLiteral", "Rebuild" -> False }; + +AddToVectorDatabaseData[ name_String, data_List, opts: OptionsPattern[ ] ] := + Enclose @ Module[ { tag, newData, existingData, combined, exported, rebuilt }, + + tag = ConfirmBy[ OptionValue[ "Tag" ], StringQ, "Tag" ]; + newData = ConfirmBy[ toDBData[ tag, data ], dbDataQ, "NewData" ]; + existingData = ConfirmBy[ ImportVectorDatabaseData @ name, dbDataQ, "ExistingData" ]; + combined = Union[ existingData, newData ]; + exported = ConfirmBy[ ExportVectorDatabaseData[ name, combined ], FileExistsQ, "Export" ]; + + rebuilt = If[ TrueQ @ OptionValue[ "Rebuild" ], + ConfirmBy[ BuildVectorDatabase @ name, $$vectorDatabase, "Rebuild" ], + Missing[ "NotAvailable" ] + ]; + + <| "Exported" -> exported, "Rebuilt" -> rebuilt |> + ]; + +AddToVectorDatabaseData // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*BuildVectorDatabase*) +BuildVectorDatabase // ClearAll; +BuildVectorDatabase // Options = { + "Connectivity" :> $dbConnectivity, + "ExpansionAdd" :> $dbExpansionAdd, + "ExpansionSearch" :> $dbExpansionSearch +}; + +BuildVectorDatabase[ All, opts: OptionsPattern[ ] ] := + Block[ + { + $dbConnectivity = OptionValue[ "Connectivity" ], + $dbExpansionAdd = OptionValue[ "ExpansionAdd" ], + $dbExpansionSearch = OptionValue[ "ExpansionSearch" ] + }, + AssociationMap[ BuildVectorDatabase, FileBaseName /@ FileNames[ "*.jsonl", $vectorDBSourceDirectory ] ] + ]; + +BuildVectorDatabase[ name_String, opts: OptionsPattern[ ] ] := Enclose[ + Block[ + { + $dbConnectivity = OptionValue[ "Connectivity" ], + $dbExpansionAdd = OptionValue[ "ExpansionAdd" ], + $dbExpansionSearch = OptionValue[ "ExpansionSearch" ] + }, + WithCleanup[ + SetDirectory @ ensureDirectory @ $vectorDBTargetDirectory, + ConfirmMatch[ buildVectorDatabase @ name, $$vectorDatabase, "Build" ], + ResetDirectory[ ] + ] + ] +]; + + +buildVectorDatabase // ClearAll; + +buildVectorDatabase[ name_String ] := + Enclose @ Catch @ Module[ { dir, rel, src, db, valueBag, count, n, stream, values }, + + loadEmbeddingCache[ ]; + + dir = ConfirmBy[ ensureDirectory @ { $vectorDBTargetDirectory, name }, DirectoryQ, "Directory" ]; + rel = ConfirmBy[ ResourceFunction[ "RelativePath" ][ dir ], DirectoryQ, "Relative" ]; + src = ConfirmBy[ FileNameJoin @ { $vectorDBSourceDirectory, name<>".jsonl" }, FileExistsQ, "File" ]; + + DeleteFile /@ FileNames[ { "*.wxf", "*.usearch" }, dir ]; + ConfirmAssert[ FileNames[ { "*.wxf", "*.usearch" }, dir ] === { }, "ClearedFilesCheck" ]; + + db = ConfirmMatch[ + CreateVectorDatabase[ + { }, + name, + "Database" -> "USearch", + WorkingPrecision -> $embeddingType, + GeneratedAssetLocation -> rel, + OverwriteTarget -> True + ], + $$vectorDatabase, + "Database" + ]; + + ConfirmBy[ setDBDefaults[ dir, name ], FileExistsQ, "SetDBDefaults" ]; + + valueBag = Internal`Bag[ ]; + count = ConfirmMatch[ lineCount @ src, _Integer? Positive, "LineCount" ]; + n = 0; + stream = ConfirmMatch[ OpenRead @ src, _InputStream, "Stream" ]; + + withProgress[ + While[ + NumericArrayQ @ ConfirmMatch[ addBatch[ db, stream, valueBag ], _NumericArray|EndOfFile, "Add" ], + n = Internal`BagLength @ valueBag + ], + <| + "Text" -> "Building database \""<>name<>"\"", + "ElapsedTime" -> Automatic, + "RemainingTime" -> Automatic, + "ItemTotal" :> count, + "ItemCurrent" :> n, + "Progress" :> Automatic + |>, + "Delay" -> 0, + UpdateInterval -> 1 + ]; + + saveEmbeddingCache[ ]; + + values = Internal`BagPart[ valueBag, All ]; + + ConfirmAssert[ Length @ values === count, "ValueCount" ]; + ConfirmAssert[ First @ db[ "Dimensions" ] === count, "VectorCount" ]; + + ConfirmBy[ + writeWXFFile[ FileNameJoin @ { dir, "Values.wxf" }, values, PerformanceGoal -> "Size" ], + FileExistsQ, + "Values" + ]; + + ConfirmBy[ + writeWXFFile[ + FileNameJoin @ { dir, "EmbeddingInformation.wxf" }, + <| + "Dimension" -> $embeddingDimension, + "Type" -> $embeddingType, + "Model" -> $embeddingModel, + "Service" -> $embeddingService + |> + ], + FileExistsQ, + "EmbeddingInformation" + ]; + + ConfirmBy[ rewriteDBData[ rel, name ], FileExistsQ, "Rewrite" ]; + + ConfirmMatch[ + VectorDatabaseObject @ File @ FileNameJoin @ { rel, name <> ".wxf" }, + $$vectorDatabase, + "Result" + ] + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*setDBDefaults*) +setDBDefaults // ClearAll; +setDBDefaults[ dir_, name_String ] := + Enclose @ Module[ { file, data }, + file = ConfirmBy[ FileNameJoin @ { dir, name<>".wxf" }, FileExistsQ, "File" ]; + data = ConfirmBy[ readWXFFile @ file, AssociationQ, "Data" ]; + ConfirmAssert[ AssociationQ @ data[ "VectorDatabaseInfo" ], "InfoCheck" ]; + data[ "VectorDatabaseInfo", "Connectivity" ] = ConfirmBy[ $dbConnectivity, IntegerQ, "Connectivity" ]; + data[ "VectorDatabaseInfo", "ExpansionAdd" ] = ConfirmBy[ $dbExpansionAdd, IntegerQ, "ExpansionAdd" ]; + data[ "VectorDatabaseInfo", "ExpansionSearch" ] = ConfirmBy[ $dbExpansionSearch, IntegerQ, "ExpansionSearch" ]; + ConfirmBy[ writeWXFFile[ file, data ], FileExistsQ, "Export" ] + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*addBatch*) +addBatch // ClearAll; + +addBatch[ db_VectorDatabaseObject, stream_InputStream, valueBag_Internal`Bag ] := + Enclose @ Catch @ Module[ { batch, text, values, embeddings }, + + batch = ConfirmMatch[ + readJSONLines[ stream, $incrementalBuildBatchSize ], + { __Association } | EndOfFile, + "Batch" + ]; + + If[ batch === EndOfFile, Throw @ EndOfFile ]; + + $lastBatch = batch; + text = ConfirmMatch[ batch[[ All, "Text" ]], { __String }, "Text" ]; + values = ConfirmMatch[ batch[[ All, "Value" ]], { __ }, "Values" ]; + embeddings = ConfirmBy[ $lastEmbedding = GetEmbedding @ text, NumericArrayQ, "Embeddings" ]; + ConfirmAssert[ Length @ values === Length @ embeddings, "LengthCheck" ]; + Confirm[ $lastAdded = AddToVectorDatabase[ db, embeddings ], "AddToVectorDatabase" ]; + Internal`StuffBag[ valueBag, values, 1 ]; + ConfirmMatch[ db[ "Dimensions" ], { Internal`BagLength @ valueBag, $embeddingDimension }, "DimensionCheck" ]; + embeddings + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*partition*) +partition // ClearAll; + +partition[ arr_NumericArray, size_Integer? Positive ] := + Module[ { max, steps }, + max = Length @ arr; + steps = Ceiling[ max / size ]; + Table[ arr[[ size * (i - 1) + 1 ;; Min[ size * i, max ] ]], { i, steps } ] + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*rewriteDBData*) +rewriteDBData // ClearAll; +rewriteDBData[ dir_? DirectoryQ, name_String ] := + Enclose @ Module[ { file, data, wxfName, vectorsName, new }, + file = ConfirmBy[ FileNameJoin @ { dir, name<>".wxf" }, FileExistsQ, "File" ]; + data = ConfirmBy[ readWXFFile @ file, AssociationQ, "Data" ]; + wxfName = ConfirmBy[ FileNameTake @ file, StringQ, "WXFName" ]; + vectorsName = ConfirmBy[ name<>"-vectors.usearch", StringQ, "VectorName" ]; + new = ConfirmBy[ createNewDBData[ name, wxfName, vectorsName, data ], AssociationQ, "NewData" ]; + ConfirmBy[ writeWXFFile[ file, new ], FileExistsQ, "Export" ] + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*createNewDBData*) +createNewDBData // ClearAll; +createNewDBData[ name_String, wxfName_String, vectorsName_String, data_Association ] := + Association[ + data, + "GeneratedAssetLocation" -> name, + "Location" -> File[ name <> "/" <> wxfName ], + "VectorDatabase" -> File[ name <> "/" <> vectorsName ] + ]; + +(* TODO: insert info about service, model, etc. *) + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*normalize*) +normalize // ClearAll; +normalize[ vectors_? MatrixQ ] := toPackedArray[ Normalize /@ vectors ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*toDBData*) +toDBData // ClearAll; +toDBData[ data_List ] := Reverse @ DeleteDuplicatesBy[ Reverse @ Union[ toDBData0 /@ data ], KeyTake @ { "Text", "Value" } ]; +toDBData[ tag_String, data_List ] := Block[ { $dataTag = tag }, toDBData @ data ]; + +toDBData0 // ClearAll; +toDBData0[ as_Association ] := KeySort @ trimSnippet @ <| "Tag" -> $dataTag, as |>; +toDBData0[ { text_String, value_ } ] := trimSnippet @ <| "Tag" -> $dataTag, "Text" -> text, "Value" -> value |>; +toDBData0[ text_String -> value_ ] := toDBData0 @ { text, value }; +toDBData0[ text_String ] := toDBData0 @ { text, text }; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*trimSnippet*) +trimSnippet // ClearAll; +trimSnippet[ str_String ] := StringTake[ str, UpTo[ $maxSnippetLength ] ]; +trimSnippet[ as: KeyValuePattern[ "Text" -> text_ ] ] := <| as, "Text" -> trimSnippet @ text |>; +trimSnippet[ other_ ] := trimSnippet @ TextString @ other; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*dbDataQ*) +dbDataQ // ClearAll; +dbDataQ[ data_List ] := AllTrue[ data, dbDataQ0 ]; +dbDataQ[ ___ ] := False; + +dbDataQ0 // ClearAll; +dbDataQ0[ KeyValuePattern @ { "Tag" -> _String, "Text" -> _String, "Value" -> _ } ] := True; +dbDataQ0[ ___ ] := False; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Embeddings*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*GetEmbedding*) +GetEmbedding // ClearAll; + +GetEmbedding[ string_String ] := First[ getEmbeddings @ { string }, $Failed ]; +GetEmbedding[ KeyValuePattern[ "Text" -> string_String ] ] := GetEmbedding @ string; +GetEmbedding[ as: { __Association } ] := GetEmbedding @ as[[ All, "Text" ]]; + +GetEmbedding[ strings: { ___String } ] := + Enclose @ Module[ { embeddings, packed }, + embeddings = ConfirmBy[ getEmbeddings @ strings, AssociationQ, "Embeddings" ]; + packed = ConfirmBy[ NumericArray[ Lookup[ embeddings, strings ], "Integer8" ], NumericArrayQ, "Packed" ]; + packed + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*getEmbeddings*) +getEmbeddings // ClearAll; +getEmbeddings[ strings0_List ] := + Module[ { strings }, + strings = DeleteDuplicates @ strings0; + setProgress[ "Checking cache for", Length @ strings ]; + withProgress[ + getEmbeddings0 @ strings, + <| + "ElapsedTime" -> Automatic, + "ItemAction" :> $itemAction, + "ItemName" -> "embeddings", + "ItemTotal" :> $totalItems, + "ItemCurrent" :> $currentItem + |>, + "OuterUpdateInterval" -> 1, + UpdateInterval -> 1 + ] + ]; + + +getEmbeddings0 // ClearAll; +getEmbeddings0[ strings_List ] := + Enclose @ Module[ { notCached }, + notCached = Select[ strings, Function @ PreemptProtect[ $currentItem++; MissingQ @ getCachedEmbedding @ # ] ]; + setProgress[ "Creating", Length @ notCached ]; + Confirm[ getAndCacheEmbeddings @ notCached, "GetAndCacheEmbeddings" ]; + setProgress[ "Checking", Length @ strings ]; + AssociationMap[ Function @ PreemptProtect[ $currentItem++; getCachedEmbedding @ # ], strings ] + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*toByteVector*) +toByteVector // ClearAll; +toByteVector[ vector_ ] := NumericArray[ 127.5 * vector - 0.5, "Integer8", "ClipAndRound" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*setProgress*) +setProgress // ClearAll; + +setProgress[ text_String, total_Integer ] := + setProgress[ text, total, 0 ]; + +setProgress[ text_String, total_Integer, current_Integer ] := PreemptProtect[ + $itemAction = text; + $totalItems = total; + $currentItem = current; +]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*getCachedEmbedding*) +getCachedEmbedding // ClearAll; + +getCachedEmbedding[ string_String ] := + With[ { embedding = $embeddingCache[ string ] }, + embedding /; NumericArrayQ @ embedding + ]; + +getCachedEmbedding[ string_String ] := + getCachedEmbedding[ string, embeddingHash @ string ]; + +getCachedEmbedding[ string_String, hash_String ] := + Catch @ Module[ { file, vector }, + file = embeddingLocation @ string; + If[ ! FileExistsQ @ file, Throw @ Missing[ "NotCached" ] ]; + vector = readWXFFile @ file; + If[ NumericArrayQ @ vector, + getCachedEmbedding[ string, hash ] = vector, + Failure[ "BadCachedVector", <| "File" -> file, "Vector" -> vector |> ] + ] + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*getAndCacheEmbeddings*) +getAndCacheEmbeddings // ClearAll; +getAndCacheEmbeddings[ strings_List ] := Catch[ FixedPoint[ getAndCacheEmbeddings0, strings ], $tag ]; + + +getAndCacheEmbeddings0 // ClearAll; + +getAndCacheEmbeddings0[ { } ] := Throw[ "Done", $tag ]; + +getAndCacheEmbeddings0[ strings: { __String } ] := Enclose[ + Module[ { notCachedTokens, acc, n, batch, remaining, batchVectors }, + notCachedTokens = ConfirmMatch[ tokenCount /@ strings, { __Integer }, "Tokens" ]; + acc = Accumulate @ notCachedTokens; + n = ConfirmBy[ LengthWhile[ acc, LessThan[ $embeddingMaxTokens ] ], Positive, "Count" ]; + { batch, remaining } = ConfirmMatch[ TakeDrop[ strings, UpTo @ n ], { { __String }, { ___String } }, "Batch" ]; + batchVectors = ConfirmBy[ createEmbeddings @ batch, AssociationQ, "Vectors" ]; + ConfirmAssert[ AllTrue[ batchVectors, NumericArrayQ ], "PackedArrayTest" ]; + If[ remaining === { }, Throw[ "Done", $tag ], remaining ] + ], + Throw[ #, $tag ] & +]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*createEmbeddings*) +createEmbeddings // ClearAll; + +createEmbeddings[ strings: { __String } ] := + Catch @ Module[ { resp, vectors, small, meta, pairs }, + $currentItem = If[ IntegerQ @ $currentItem, $currentItem + Length @ strings, Length @ strings ]; + resp = ServiceExecute[ $embeddingService, "RawEmbedding", { "input" -> strings, "model" -> $embeddingModel } ]; + vectors = Quiet @ toPackedArray @ resp[[ "data", All, "embedding" ]]; + meta = <| "Strings" -> strings, "Response" -> resp, "Vectors" -> vectors |>; + If[ ! packedArrayQ @ vectors, Throw @ Failure[ "EmbeddingServiceFailure", meta ] ]; + If[ Length @ vectors =!= Length @ strings, Throw @ Failure[ "EmbeddingShapeFailure", meta ] ]; + small = toByteVector@*Normalize /@ vectors[[ All, 1 ;; $embeddingDimension ]]; + pairs = Transpose @ { strings, small }; + Association[ cacheEmbedding /@ pairs ] + ]; + +createEmbeddings[ { } ] := + <| |>; + +createEmbeddings[ string_String ] := + First[ createEmbeddings @ { string }, $Failed ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*cacheEmbedding*) +cacheEmbedding // ClearAll; + +cacheEmbedding[ string_String, vector_NumericArray ] := + cacheEmbedding[ string, vector, embeddingHash @ string ]; + +cacheEmbedding[ string_String, vector_NumericArray, hash_String ] := + Enclose @ Module[ { file }, + file = ConfirmBy[ embeddingLocation @ string, StringQ, "File" ]; + ensureDirectory @ DirectoryName @ file; + ConfirmBy[ writeWXFFile[ file, vector ], FileExistsQ, "Export" ]; + ConfirmAssert @ NumericArrayQ @ readWXFFile @ file; + $embeddingCache[ string ] = vector; + string -> vector + ]; + +cacheEmbedding[ { string_, vector_ } ] := + cacheEmbedding[ string, vector ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*loadEmbeddingCache*) +loadEmbeddingCache // ClearAll; + +loadEmbeddingCache[ ] := + Enclose @ Catch @ Module[ { hash, file, cached, keys, values }, + + hash = ConfirmBy[ + Hash[ { $embeddingModel, $embeddingService, $embeddingDimension, $embeddingType }, "SHA" ], + IntegerQ, + "Hash" + ]; + + file = ConfirmBy[ + FileNameJoin @ { $embeddingLocation, "EmbeddingCache_" <> IntegerString[ hash, 36 ] <> ".wxf" }, + StringQ, + "File" + ]; + + If[ ! AssociationQ @ $embeddingCache, $embeddingCache = <| |> ]; + + If[ ! FileExistsQ @ file, Throw @ $embeddingCache ]; + + cached = ConfirmBy[ readWXFFile @ file, AssociationQ, "Cached" ]; + keys = ConfirmMatch[ cached[ "Keys" ], { ___String }, "Keys" ]; + values = ConfirmBy[ cached[ "Values" ], NumericArrayQ, "Values" ]; + + MapIndexed[ ($embeddingCache[ #1 ] = values[[ First[ #2 ] ]]) &, keys ]; + $embeddingCache + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*saveEmbeddingCache*) +saveEmbeddingCache // ClearAll; + +saveEmbeddingCache[ ] := + Enclose @ Module[ { hash, file, keys, values }, + + loadEmbeddingCache[ ]; + + hash = ConfirmBy[ + Hash[ { $embeddingModel, $embeddingService, $embeddingDimension, $embeddingType }, "SHA" ], + IntegerQ, + "Hash" + ]; + + file = ConfirmBy[ + FileNameJoin @ { $embeddingLocation, "EmbeddingCache_" <> IntegerString[ hash, 36 ] <> ".wxf" }, + StringQ, + "File" + ]; + + ConfirmAssert[ AssociationQ @ $embeddingCache, "CacheCheck" ]; + + keys = ConfirmMatch[ Keys @ $embeddingCache, { ___String }, "Keys" ]; + values = ConfirmBy[ NumericArray[ Values @ $embeddingCache, $embeddingType ], NumericArrayQ, "Values" ]; + + writeWXFFile[ file, <| "Keys" -> keys, "Values" -> values |> ] + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*getNamedEmbeddings*) +getNamedEmbeddings // ClearAll; +getNamedEmbeddings[ name_String, strings_List ] := + Enclose @ Module[ { embeddings }, + ConfirmBy[ loadNamedEmbeddingCache @ name, AssociationQ, "LoadCache" ]; + embeddings = ConfirmBy[ getEmbeddings @ strings, AssociationQ, "GetEmbeddings" ]; + ConfirmBy[ saveNamedEmbeddingCache[ name, embeddings ], AssociationQ, "Save" ] + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*loadNamedEmbeddingCache*) +loadNamedEmbeddingCache // ClearAll; +loadNamedEmbeddingCache[ name_String ] := + Enclose @ Catch @ Module[ { file, data }, + file = FileNameJoin @ { $embeddingLocation, name<>".wxf" }; + If[ ! FileExistsQ @ file, Throw @ <| |> ]; + data = ConfirmBy[ readWXFFile @ file, AssociationQ, "Data" ]; + KeyValueMap[ Function[ getCachedEmbedding[ #1, embeddingHash @ #1 ] = #2 ], data ]; + data + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*saveNamedEmbeddingCache*) +saveNamedEmbeddingCache // ClearAll; +saveNamedEmbeddingCache[ name_String, data_Association ] := + Enclose @ Module[ { dir, file }, + dir = ConfirmBy[ ensureDirectory @ $embeddingLocation, DirectoryQ, "Directory" ]; + file = FileNameJoin @ { dir, name<>".wxf" }; + ConfirmBy[ writeWXFFile[ file, data ], FileExistsQ, "Export" ]; + data + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*tokenCount*) +tokenCount // ClearAll; +tokenCount[ str_String ] := Enclose[ tokenCount[ str ] = Length @ ConfirmMatch[ $tokenizer @ str, { ___Integer } ] ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*embeddingLocation*) +embeddingLocation // ClearAll; + +embeddingLocation[ string_String ] := + embeddingLocation[ string, embeddingHash @ string ]; + +embeddingLocation[ string_String, hash_String ] := + Enclose @ Module[ { dir, file }, + dir = ConfirmBy[ ensureDirectory @ $embeddingLocation, DirectoryQ, "Directory" ]; + file = ConfirmBy[ FileNameJoin @ { dir, StringTake[ hash, 3 ], hash<>".wxf" }, StringQ, "File" ]; + embeddingLocation[ string ] = file + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*embeddingHash*) +embeddingHash // ClearAll; +embeddingHash[ string_String ] := + Enclose @ Module[ { model, service, dimension, hash }, + model = ConfirmBy[ $embeddingModel , StringQ , "Model" ]; + service = ConfirmBy[ $embeddingService , StringQ , "Service" ]; + dimension = ConfirmBy[ $embeddingDimension, IntegerQ, "Dimension" ]; + hash = ConfirmBy[ Hash[ { string, model, service, dimension }, "SHA", "HexString" ], StringQ, "Hash" ]; + embeddingHash[ string ] = hash + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Misc Utilities*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*withProgress*) +withProgress // ClearAll; +withProgress // Attributes = { HoldFirst }; +withProgress[ eval_, a___ ] := Block[ { withProgress = # & }, Progress`EvaluateWithProgress[ eval, a ] ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*lineCount*) +lineCount // ClearAll; +lineCount[ file_? FileExistsQ ] := + Module[ { count, stream }, + Close /@ Streams @ ExpandFileName @ file; + count = 0; + WithCleanup[ + stream = OpenRead @ file, + While[ Skip[ stream, String ] === Null, count++ ], + Close @ stream + ]; + count + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*readJSONLines*) +readJSONLines // ClearAll; + +readJSONLines[ stream_InputStream, n_Integer? Positive ] := + Enclose @ Catch @ Module[ { lines, utf8Lines, jsonData }, + lines = ConfirmMatch[ ReadList[ stream, String, n ], { ___String }, "Lines" ]; + If[ lines === { }, Throw @ EndOfFile ]; + utf8Lines = ConfirmMatch[ FromCharacterCode[ ToCharacterCode @ lines, "UTF-8" ], { __String }, "UTF8" ]; + jsonData = ConfirmMatch[ readRawJSONString /@ utf8Lines, { __Association? AssociationQ }, "JSON" ]; + jsonData + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*jsonlImport*) +jsonlImport // ClearAll; +jsonlImport[ file_? FileExistsQ ] := + Enclose @ Module[ { lines, fromJSON }, + lines = ConfirmMatch[ readLines @ file, { ___String }, "Lines" ]; + fromJSON = ConfirmBy[ readRawJSONString @ #, Not@*FailureQ, "JSON" ] &; + ConfirmMatch[ fromJSON /@ lines, { Except[ _? FailureQ ]... }, "Data" ] + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*jsonlExport*) +jsonlExport // ClearAll; +jsonlExport[ file_, data_List ] := + Enclose @ Module[ { toJSON, lines }, + toJSON = ConfirmBy[ writeRawJSONString[ #, "Compact" -> True ], StringQ, "JSON" ] &; + lines = ConfirmMatch[ toJSON /@ data, { ___String? StringQ }, "Lines" ]; + ConfirmBy[ writeLines[ file, lines ], FileExistsQ, "Export" ] + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*readLines*) +readLines // ClearAll; +readLines[ file_ ] := Enclose @ StringSplit[ ConfirmBy[ readString @ file, StringQ, "String" ], "\n" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*writeLines*) +writeLines // ClearAll; +writeLines[ file_, lines: { ___String } ] := writeString[ file, StringRiffle[ lines, "\n" ] ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*readString*) +readString // ClearAll; +readString[ file_ ] := + Enclose @ Module[ { bytes }, + bytes = ConfirmBy[ readByteArray @ file, ByteArrayQ, "Bytes" ]; + ConfirmBy[ Check[ ByteArrayToString @ bytes, $Failed ], StringQ, "String" ] + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*writeString*) +writeString // ClearAll; +writeString[ file_, string_String ] := + Enclose @ Module[ { bytes }, + bytes = ConfirmBy[ Check[ StringToByteArray @ string, $Failed ], ByteArrayQ, "Bytes" ]; + ConfirmBy[ writeByteArray[ file, bytes ], FileExistsQ, "Write" ] + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*readByteArray*) +readByteArray // ClearAll; +readByteArray[ file_ ] := + Enclose @ WithCleanup[ + Quiet @ Close @ file, + ConfirmBy[ Replace[ ReadByteArray @ file, EndOfFile :> ByteArray @ { } ], ByteArrayQ ], + Quiet @ Close @ file + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*writeByteArray*) +writeByteArray // ClearAll; +writeByteArray[ file_, bytes_ByteArray ] := + Enclose @ WithCleanup[ + Quiet @ Close @ file, + ConfirmBy[ BinaryWrite[ file, bytes ], FileExistsQ ], + Quiet @ Close @ file + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +End[ ]; +EndPackage[ ]; +(* :!CodeAnalysis::EndBlock:: *) \ No newline at end of file From 0bb7327f03ebc80ed579d4dea2a6797b34cfa35f Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 13 Aug 2024 11:47:40 -0400 Subject: [PATCH 013/180] Don't include built vector databases in git --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index e17c7adc..c7ba574b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ -build .DS_Store +Assets/VectorDatabases/**/*.usearch +Assets/VectorDatabases/**/*.wxf +build Source/Chatbook/64Bit/Chatbook.mx \ No newline at end of file From a993fc17579ad2b8c581691ce7cc8371a64cee6d Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 13 Aug 2024 11:48:08 -0400 Subject: [PATCH 014/180] WIP definition notebooks for submitting to WDR --- .../DefinitionNotebooks/DocumentationURIs.nb | 9665 +++++++++++++++++ .../WolframAlphaQueries.nb | 9663 ++++++++++++++++ 2 files changed, 19328 insertions(+) create mode 100644 Developer/VectorDatabases/DefinitionNotebooks/DocumentationURIs.nb create mode 100644 Developer/VectorDatabases/DefinitionNotebooks/WolframAlphaQueries.nb diff --git a/Developer/VectorDatabases/DefinitionNotebooks/DocumentationURIs.nb b/Developer/VectorDatabases/DefinitionNotebooks/DocumentationURIs.nb new file mode 100644 index 00000000..be7361d9 --- /dev/null +++ b/Developer/VectorDatabases/DefinitionNotebooks/DocumentationURIs.nb @@ -0,0 +1,9665 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* Created By: SaveReadableNotebook *) +(* https://resources.wolframcloud.com/FunctionRepository/resources/SaveReadableNotebook *) + +Notebook[ + { + Cell[ + CellGroupData[ + { + Cell[ + "Code Assistance Documentation Vector Database", + "Title", + CellTags -> {"DefaultContent", "Name", "TemplateCell"}, + CellID -> 806838874 + ], + Cell[ + "VectorDatabaseObject based on Wolfram Language documentation and resources used for retrieval-augmented-generation in code assistance chat", + "Text", + CellTags -> {"DefaultContent", "Description", "TemplateCell"}, + CellID -> 163956104 + ], + Cell[ + TextData[ + { + "Details", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "Details", + Cell[ + BoxData[ + FrameBox[ + Cell[ + "Give a detailed description of the data, including information about the size, structure, and history of the content elements.\n\nThis section may include multiple cells, bullet lists, tables, hyperlinks and additional styles/structures as needed.\n\nAdd any other information that may be relevant, such as when the data was first created or how and why it is used within a given field. Include all relevant background or contextual information related to the data, its development, and its usage.", + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoDetails"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Subsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "Details"}, + DefaultNewCellStyle -> "Notes", + CellTags -> {"Details", "TemplateCellGroup"}, + CellID -> 161845329 + ], + Cell[ + CellGroupData[ + { + Cell[ + TextData[ + { + "Data Definitions", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "ContentElements", + Cell[ + BoxData[ + FrameBox[ + Cell[ + TextData[ + { + "Define the content of the resource by assigning values to ", + Cell[ + BoxData[ + StyleBox[ + TagBox[ + ButtonBox[ + StyleBox[ + "ResourceData", + "SymbolsRefLink", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ], + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue["MouseOver"], + {"Link", FontColor -> RGBColor[0.8549, 0.39608, 0.1451]}, + {"Link"} + ] + ], + ButtonData -> "paclet:ref/ResourceData", + ContentPadding -> False + ], + MouseAppearanceTag["LinkHand"] + ], + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + ". The ", + Cell[ + BoxData[ + StyleBox[ + InterpretationBox[ + TagBox[ + FrameBox[ + StyleBox[ + GridBox[ + { + { + DynamicBox[ + If[ TrueQ[ + StringQ[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceType"} + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + RasterBox[ + CompressedData[ + "\n1:eJztmEFOg1AQhom6cIk3qBsTd126xKW7psZ921iNm9q0JsbduwFH4AgcgSNw\ngqZH4Aj4MP/U3wmUgkhp7EtGYZh58zkzzGu9nLwOn04cx1me2x/D8fvtYjH+\nuHftzcNs+fI8mz7ezd6mz9PFzeTUKq+tXFk5c7q/VhdOYiXtgCSKK9P195UX\nMHgZh9KlRfZtLubgPO6TSVj4+si1fR1Cf+Xd72v9RR2tv5tJB7n8TLrEZX17\ntE+vCa68+xLftRXD8e11RFyR4s1s1y1wRXSeBogr1wGuDV0nzLorV9U6gsvg\nPAuJw4cIZwgb0xLXj/4G55z2mata7vw+1OXCLMjqE8tMoLqGkE3dYB/Dp3SG\nVOkv+2xELJvPSVSrBOJCEuJk25QY5w1wBWrfAVg5Xkj2oeIfwYf/rqCMa5c6\n0p4RxfMRz4NuAEmhG8AmUb7xljhVuaRPYoo9oueG6mdIPyJm8S/sszp9T3lJ\nSDzE5tqF0HnK9iuPJTEqzVXq5yCHQ/TyPga69+jdSXbNVxmXqqHMhh5ixGRn\nVA1j2PSK9tnGVVZH6nnpc5d6mOen5trYwEfeg8Ler8glZ4nMKq5dhHi6vwZ4\nFiifEHt5v+XK8TWI6VO87PcawjoftqZ0Y6d63ytbn3JnVt+zoA9JoZPZkdlW\nPh9rcPFslfzkzfs15a2tzzlpTr681feM43y1xRUjrku6ELyRyp0L28Kzpymu\ngv1knm3mVc19Gv/+qOdXzT3+zffaJtaRq9o6kP5y5RzZM5OXw9XJ/0d3bX0C\ndbpsag==\n " + ], + {{0, 0}, {38.0, 41.0}}, + {0, 255}, + ImageResolution -> {72, 72}, + ColorFunction -> RGBColor + ], + { + ImageSize -> {Automatic, 12}, + PlotRange -> {{0, 38.0}, {0, 41.0}} + } + ], + "\"the ResourceObject defined by this notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "the ResourceObject defined by this notebook", + "Tooltip" + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + TagBox[ + RasterBox[ + CompressedData[ + "\n1:eJzdlk1ugzAQhaN20yVHoJtK3WXZJV1W8gKl6p5ETaNu0iipVHXnG3AEH4Ej\n+Ag+AkfgCO6bYUjzC4SgKipWnMF4PmYeY/Dt5GP0djUYDFY36Ebjr8flcvz9\nHODkZb56n82nr0/zz+lsunyYXGPwHr87/Mil30MFqlD+7FYIy6vhmfFEyovl\nz82tYpQx/m9Wn3q1YSmtdBtWc44qRAUWKuzOUk4lKmArUxYtYzvAqDuZZama\nkV2C/4iqEZbmNWKPsY7pJawcfSbReZx1Y6XwruIaolVxZSo9OUeNyFKOjeLJ\nxUoxqtuyoIzmiMjXwDPm7JApLIuR8kqGWVEjy/HdYzwxW2lT1Vc5gisxR+x2\nWbt6YaZDC6Su3BbLlXX2O6eeJW9HA6XL3MjO0Iy8MzNcITvY8jmqPVdTwS1a\nM4kRyajf1KqOJRnEVAWSIfmXWVKFxLsZ1rAcK0yR0TOI2Dvm6ifNC7nq9ll7\n2humU1xJpRCPV+olHBfZppFFyjrx81xp0JmfR8G8Qu5l1KKN9qyZkcqwzCCm\nFS3NtlZNLF6PvO7AWvCchdRt2mE9WlolnJUmf/SUMa2wLu8cUsYww/AT0dwX\nHVg5fEOh+vXKDDGan5rjxryQ54S1c1p/Hw/r3ZEV7FfBIdZff2vbsi51b3LJ\n+5we96u97aP7O34ARi0taQ==\n " + ], + {{0, 41.0}, {38.0, 0}}, + {0, 255}, + ColorFunction -> GrayLevel, + ImageResolution -> {72, 72} + ], + BoxForm`ImageTag[ + "Byte", + ColorSpace -> "Grayscale", + Interleaving -> True + ], + Selectable -> False + ], + DefaultBaseStyle -> "ImageGraphics", + ImageSizeRaw -> {38.0, 41.0}, + PlotRange -> {{0, 38.0}, {0, 41.0}}, + ImageSize -> {Automatic, 12} + ], + "\"only defined in a definition notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "only defined in a definition notebook", + "Tooltip" + ] + ] + ] + ], + SingleEvaluation -> True + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Automatic}}, "Rows" -> {{Center}}}, + GridBoxSpacings -> {"Columns" -> {{0.25}}} + ], + FontSize -> (11 * Inherited) / 13, + ShowStringCharacters -> False + ], + FrameMargins -> {{3, 3}, {3, 0}}, + FrameStyle -> + Directive[GrayLevel[0.5, 0.35], AbsoluteThickness[0.5]], + RoundingRadius -> 4, + Background -> GrayLevel[0.5, 0.15], + BaseStyle -> {"Text", LineSpacing -> {0, 0}, LineBreakWithin -> False} + ], + "ResourceObjectNotebook" + ], + ResourceObject[EvaluationNotebook[]], + Selectable -> False, + SelectWithContents -> True + ], + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + " icon inside ", + Cell[ + BoxData[ + StyleBox[ + TagBox[ + ButtonBox[ + StyleBox[ + "ResourceData", + "SymbolsRefLink", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ], + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue["MouseOver"], + {"Link", FontColor -> RGBColor[0.8549, 0.39608, 0.1451]}, + {"Link"} + ] + ], + ButtonData -> "paclet:ref/ResourceData", + ContentPadding -> False + ], + MouseAppearanceTag["LinkHand"] + ], + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + " below represents the ", + Cell[ + BoxData[ + StyleBox[ + TagBox[ + ButtonBox[ + StyleBox[ + "ResourceObject", + "SymbolsRefLink", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ], + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue["MouseOver"], + {"Link", FontColor -> RGBColor[0.8549, 0.39608, 0.1451]}, + {"Link"} + ] + ], + ButtonData -> "paclet:ref/ResourceObject", + ContentPadding -> False + ], + MouseAppearanceTag["LinkHand"] + ], + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + " defined within this notebook.\n\nEvaluating the ", + Cell[ + BoxData[ + StyleBox[ + RowBox[ + { + RowBox[ + { + "ResourceData", + "[", + InterpretationBox[ + TagBox[ + FrameBox[ + StyleBox[ + GridBox[ + { + { + DynamicBox[ + If[ TrueQ[ + StringQ[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceType"} + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + RasterBox[ + CompressedData[ + "\n1:eJztmEFOg1AQhom6cIk3qBsTd126xKW7psZ921iNm9q0JsbduwFH4AgcgSNw\ngqZH4Aj4MP/U3wmUgkhp7EtGYZh58zkzzGu9nLwOn04cx1me2x/D8fvtYjH+\nuHftzcNs+fI8mz7ezd6mz9PFzeTUKq+tXFk5c7q/VhdOYiXtgCSKK9P195UX\nMHgZh9KlRfZtLubgPO6TSVj4+si1fR1Cf+Xd72v9RR2tv5tJB7n8TLrEZX17\ntE+vCa68+xLftRXD8e11RFyR4s1s1y1wRXSeBogr1wGuDV0nzLorV9U6gsvg\nPAuJw4cIZwgb0xLXj/4G55z2mata7vw+1OXCLMjqE8tMoLqGkE3dYB/Dp3SG\nVOkv+2xELJvPSVSrBOJCEuJk25QY5w1wBWrfAVg5Xkj2oeIfwYf/rqCMa5c6\n0p4RxfMRz4NuAEmhG8AmUb7xljhVuaRPYoo9oueG6mdIPyJm8S/sszp9T3lJ\nSDzE5tqF0HnK9iuPJTEqzVXq5yCHQ/TyPga69+jdSXbNVxmXqqHMhh5ixGRn\nVA1j2PSK9tnGVVZH6nnpc5d6mOen5trYwEfeg8Ler8glZ4nMKq5dhHi6vwZ4\nFiifEHt5v+XK8TWI6VO87PcawjoftqZ0Y6d63ytbn3JnVt+zoA9JoZPZkdlW\nPh9rcPFslfzkzfs15a2tzzlpTr681feM43y1xRUjrku6ELyRyp0L28Kzpymu\ngv1knm3mVc19Gv/+qOdXzT3+zffaJtaRq9o6kP5y5RzZM5OXw9XJ/0d3bX0C\ndbpsag==\n " + ], + {{0, 0}, {38.0, 41.0}}, + {0, 255}, + ImageResolution -> {72, 72}, + ColorFunction -> RGBColor + ], + { + ImageSize -> {Automatic, 12}, + PlotRange -> {{0, 38.0}, {0, 41.0}} + } + ], + "\"the ResourceObject defined by this notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "the ResourceObject defined by this notebook", + "Tooltip" + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + TagBox[ + RasterBox[ + CompressedData[ + "\n1:eJzdlk1ugzAQhaN20yVHoJtK3WXZJV1W8gKl6p5ETaNu0iipVHXnG3AEH4Ej\n+Ag+AkfgCO6bYUjzC4SgKipWnMF4PmYeY/Dt5GP0djUYDFY36Ebjr8flcvz9\nHODkZb56n82nr0/zz+lsunyYXGPwHr87/Mil30MFqlD+7FYIy6vhmfFEyovl\nz82tYpQx/m9Wn3q1YSmtdBtWc44qRAUWKuzOUk4lKmArUxYtYzvAqDuZZama\nkV2C/4iqEZbmNWKPsY7pJawcfSbReZx1Y6XwruIaolVxZSo9OUeNyFKOjeLJ\nxUoxqtuyoIzmiMjXwDPm7JApLIuR8kqGWVEjy/HdYzwxW2lT1Vc5gisxR+x2\nWbt6YaZDC6Su3BbLlXX2O6eeJW9HA6XL3MjO0Iy8MzNcITvY8jmqPVdTwS1a\nM4kRyajf1KqOJRnEVAWSIfmXWVKFxLsZ1rAcK0yR0TOI2Dvm6ifNC7nq9ll7\n2humU1xJpRCPV+olHBfZppFFyjrx81xp0JmfR8G8Qu5l1KKN9qyZkcqwzCCm\nFS3NtlZNLF6PvO7AWvCchdRt2mE9WlolnJUmf/SUMa2wLu8cUsYww/AT0dwX\nHVg5fEOh+vXKDDGan5rjxryQ54S1c1p/Hw/r3ZEV7FfBIdZff2vbsi51b3LJ\n+5we96u97aP7O34ARi0taQ==\n " + ], + {{0, 41.0}, {38.0, 0}}, + {0, 255}, + ColorFunction -> GrayLevel, + ImageResolution -> {72, 72} + ], + BoxForm`ImageTag[ + "Byte", + ColorSpace -> "Grayscale", + Interleaving -> True + ], + Selectable -> False + ], + DefaultBaseStyle -> "ImageGraphics", + ImageSizeRaw -> {38.0, 41.0}, + PlotRange -> {{0, 38.0}, {0, 41.0}}, + ImageSize -> {Automatic, 12} + ], + "\"only defined in a definition notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "only defined in a definition notebook", + "Tooltip" + ] + ] + ] + ], + SingleEvaluation -> True + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Automatic}}, "Rows" -> {{Center}}}, + GridBoxSpacings -> {"Columns" -> {{0.25}}} + ], + FontSize -> (11 * Inherited) / 13, + ShowStringCharacters -> False + ], + FrameMargins -> {{3, 3}, {3, 0}}, + FrameStyle -> + Directive[GrayLevel[0.5, 0.35], AbsoluteThickness[0.5]], + RoundingRadius -> 4, + Background -> GrayLevel[0.5, 0.15], + BaseStyle -> {"Text", LineSpacing -> {0, 0}, LineBreakWithin -> False} + ], + "ResourceObjectNotebook" + ], + ResourceObject[EvaluationNotebook[]], + Selectable -> False, + SelectWithContents -> True + ], + "]" + } + ], + "=", + "xxxx" + } + ], + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + " cell below defines the default content element of this resource, which will be returned by ", + Cell[ + BoxData[ + StyleBox[ + RowBox[ + { + TagBox[ + ButtonBox[ + StyleBox[ + "ResourceData", + "SymbolsRefLink", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ], + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue["MouseOver"], + {"Link", FontColor -> RGBColor[0.8549, 0.39608, 0.1451]}, + {"Link"} + ] + ], + ButtonData -> "paclet:ref/ResourceData", + ContentPadding -> False + ], + MouseAppearanceTag["LinkHand"] + ], + "[", + StyleBox["obj", "TI"], + "]" + } + ], + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + ".\n\nEvaluating the subsequent cells defines additional content elements with the specified element names. The element name is used to access the associated content via ", + Cell[ + BoxData[ + StyleBox[ + RowBox[ + { + TagBox[ + ButtonBox[ + StyleBox[ + "ResourceData", + "SymbolsRefLink", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ], + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue["MouseOver"], + {"Link", FontColor -> RGBColor[0.8549, 0.39608, 0.1451]}, + {"Link"} + ] + ], + ButtonData -> "paclet:ref/ResourceData", + ContentPadding -> False + ], + MouseAppearanceTag["LinkHand"] + ], + "[", + RowBox[ + {StyleBox["obj", "TI"], ",", StyleBox["element", "TI"]} + ], + "]" + } + ], + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + ".\n\nThe default content element is assigned a name either based on the ", + Cell[ + BoxData[ + StyleBox[ + TagBox[ + ButtonBox[ + StyleBox[ + "Head", + "SymbolsRefLink", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ], + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue["MouseOver"], + {"Link", FontColor -> RGBColor[0.8549, 0.39608, 0.1451]}, + {"Link"} + ] + ], + ButtonData -> "paclet:ref/Head", + ContentPadding -> False + ], + MouseAppearanceTag["LinkHand"] + ], + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + " of the data or set to ", + Cell[ + BoxData[ + StyleBox[ + "\"Content\"", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + ".\n\nDefine as many elements as needed using different element names. You can insert the icon using the \"Insert ResourceObject\" button in the \"Tools\" above.\n\nElements set to ", + Cell[ + BoxData[ + StyleBox[ + TagBox[ + ButtonBox[ + StyleBox[ + "CloudObject", + "SymbolsRefLink", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ], + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue["MouseOver"], + {"Link", FontColor -> RGBColor[0.8549, 0.39608, 0.1451]}, + {"Link"} + ] + ], + ButtonData -> "paclet:ref/CloudObject", + ContentPadding -> False + ], + MouseAppearanceTag["LinkHand"] + ], + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + ", ", + Cell[ + BoxData[ + StyleBox[ + TagBox[ + ButtonBox[ + StyleBox[ + "File", + "SymbolsRefLink", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ], + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue["MouseOver"], + {"Link", FontColor -> RGBColor[0.8549, 0.39608, 0.1451]}, + {"Link"} + ] + ], + ButtonData -> "paclet:ref/File", + ContentPadding -> False + ], + MouseAppearanceTag["LinkHand"] + ], + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + ", or ", + Cell[ + BoxData[ + StyleBox[ + TagBox[ + ButtonBox[ + StyleBox[ + "LocalObject", + "SymbolsRefLink", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ], + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue["MouseOver"], + {"Link", FontColor -> RGBColor[0.8549, 0.39608, 0.1451]}, + {"Link"} + ] + ], + ButtonData -> "paclet:ref/LocalObject", + ContentPadding -> False + ], + MouseAppearanceTag["LinkHand"] + ], + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + " values will be interpreted as the content of those locations.\n\nEach content element must have a string name, preferably camel case. (Typical names describe the content element, and include ", + Cell[ + BoxData[ + StyleBox[ + "\"Dataset\"", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + ", ", + Cell[ + BoxData[ + StyleBox[ + "\"Text\"", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + " and ", + Cell[ + BoxData[ + StyleBox[ + "\"TimeSeries\"", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + ").\n\nElements defined as functions are automatically applied to the other elements of the resource. For example, ", + Cell[ + BoxData[ + StyleBox[ + RowBox[ + { + RowBox[ + { + "ResourceData", + "[", + RowBox[ + { + InterpretationBox[ + TagBox[ + FrameBox[ + StyleBox[ + GridBox[ + { + { + DynamicBox[ + If[ TrueQ[ + StringQ[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceType"} + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + RasterBox[ + CompressedData[ + "\n1:eJztmEFOg1AQhom6cIk3qBsTd126xKW7psZ921iNm9q0JsbduwFH4AgcgSNw\ngqZH4Aj4MP/U3wmUgkhp7EtGYZh58zkzzGu9nLwOn04cx1me2x/D8fvtYjH+\nuHftzcNs+fI8mz7ezd6mz9PFzeTUKq+tXFk5c7q/VhdOYiXtgCSKK9P195UX\nMHgZh9KlRfZtLubgPO6TSVj4+si1fR1Cf+Xd72v9RR2tv5tJB7n8TLrEZX17\ntE+vCa68+xLftRXD8e11RFyR4s1s1y1wRXSeBogr1wGuDV0nzLorV9U6gsvg\nPAuJw4cIZwgb0xLXj/4G55z2mata7vw+1OXCLMjqE8tMoLqGkE3dYB/Dp3SG\nVOkv+2xELJvPSVSrBOJCEuJk25QY5w1wBWrfAVg5Xkj2oeIfwYf/rqCMa5c6\n0p4RxfMRz4NuAEmhG8AmUb7xljhVuaRPYoo9oueG6mdIPyJm8S/sszp9T3lJ\nSDzE5tqF0HnK9iuPJTEqzVXq5yCHQ/TyPga69+jdSXbNVxmXqqHMhh5ixGRn\nVA1j2PSK9tnGVVZH6nnpc5d6mOen5trYwEfeg8Ler8glZ4nMKq5dhHi6vwZ4\nFiifEHt5v+XK8TWI6VO87PcawjoftqZ0Y6d63ytbn3JnVt+zoA9JoZPZkdlW\nPh9rcPFslfzkzfs15a2tzzlpTr681feM43y1xRUjrku6ELyRyp0L28Kzpymu\ngv1knm3mVc19Gv/+qOdXzT3+zffaJtaRq9o6kP5y5RzZM5OXw9XJ/0d3bX0C\ndbpsag==\n " + ], + {{0, 0}, {38.0, 41.0}}, + {0, 255}, + ImageResolution -> {72, 72}, + ColorFunction -> RGBColor + ], + { + ImageSize -> {Automatic, 12}, + PlotRange -> {{0, 38.0}, {0, 41.0}} + } + ], + "\"the ResourceObject defined by this notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "the ResourceObject defined by this notebook", + "Tooltip" + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + TagBox[ + RasterBox[ + CompressedData[ + "\n1:eJzdlk1ugzAQhaN20yVHoJtK3WXZJV1W8gKl6p5ETaNu0iipVHXnG3AEH4Ej\n+Ag+AkfgCO6bYUjzC4SgKipWnMF4PmYeY/Dt5GP0djUYDFY36Ebjr8flcvz9\nHODkZb56n82nr0/zz+lsunyYXGPwHr87/Mil30MFqlD+7FYIy6vhmfFEyovl\nz82tYpQx/m9Wn3q1YSmtdBtWc44qRAUWKuzOUk4lKmArUxYtYzvAqDuZZama\nkV2C/4iqEZbmNWKPsY7pJawcfSbReZx1Y6XwruIaolVxZSo9OUeNyFKOjeLJ\nxUoxqtuyoIzmiMjXwDPm7JApLIuR8kqGWVEjy/HdYzwxW2lT1Vc5gisxR+x2\nWbt6YaZDC6Su3BbLlXX2O6eeJW9HA6XL3MjO0Iy8MzNcITvY8jmqPVdTwS1a\nM4kRyajf1KqOJRnEVAWSIfmXWVKFxLsZ1rAcK0yR0TOI2Dvm6ifNC7nq9ll7\n2humU1xJpRCPV+olHBfZppFFyjrx81xp0JmfR8G8Qu5l1KKN9qyZkcqwzCCm\nFS3NtlZNLF6PvO7AWvCchdRt2mE9WlolnJUmf/SUMa2wLu8cUsYww/AT0dwX\nHVg5fEOh+vXKDDGan5rjxryQ54S1c1p/Hw/r3ZEV7FfBIdZff2vbsi51b3LJ\n+5we96u97aP7O34ARi0taQ==\n " + ], + {{0, 41.0}, {38.0, 0}}, + {0, 255}, + ColorFunction -> GrayLevel, + ImageResolution -> {72, 72} + ], + BoxForm`ImageTag[ + "Byte", + ColorSpace -> "Grayscale", + Interleaving -> True + ], + Selectable -> False + ], + DefaultBaseStyle -> "ImageGraphics", + ImageSizeRaw -> {38.0, 41.0}, + PlotRange -> {{0, 38.0}, {0, 41.0}}, + ImageSize -> {Automatic, 12} + ], + "\"only defined in a definition notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "only defined in a definition notebook", + "Tooltip" + ] + ] + ] + ], + SingleEvaluation -> True + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Automatic}}, "Rows" -> {{Center}}}, + GridBoxSpacings -> {"Columns" -> {{0.25}}} + ], + FontSize -> (11 * Inherited) / 13, + ShowStringCharacters -> False + ], + FrameMargins -> {{3, 3}, {3, 0}}, + FrameStyle -> + Directive[GrayLevel[0.5, 0.35], AbsoluteThickness[0.5]], + RoundingRadius -> 4, + Background -> GrayLevel[0.5, 0.15], + BaseStyle -> {"Text", LineSpacing -> {0, 0}, LineBreakWithin -> False} + ], + "ResourceObjectNotebook" + ], + ResourceObject[EvaluationNotebook[]], + Selectable -> False, + SelectWithContents -> True + ], + ",", + "\"Vertices\"" + } + ], + "]" + } + ], + "=", + RowBox[ + { + "(", + RowBox[{RowBox[{"VertexList", "[", "#Graph", "]"}], "&"}], + ")" + } + ] + } + ], + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + " will define an element named ", + Cell[ + BoxData[ + StyleBox[ + "\"Vertices\"", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + " which is derived from the ", + Cell[ + BoxData[ + StyleBox[ + "\"Graph\"", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + " element when requested by the user." + } + ], + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoContentElements"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Section", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "ContentElements"}, + CellTags -> { + "ContentElements", + "Data Definitions", + "TemplateCellGroup" + }, + CellID -> 41403987 + ], + Cell[ + CellGroupData[ + { + Cell[ + "Primary Content", + "Subsection", + Editable -> False, + Deletable -> False, + CellTags -> "PrimaryContent", + CellID -> 739468720 + ], + Cell[ + BoxData[ + RowBox[ + { + RowBox[ + { + RowBox[ + { + "ResourceData", + "[", + RowBox[ + { + InterpretationBox[ + TagBox[ + FrameBox[ + StyleBox[ + GridBox[ + { + { + DynamicBox[ + If[ TrueQ[ + StringQ[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceType"} + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + RasterBox[ + CompressedData[ + "\n1:eJztmEFOg1AQhom6cIk3qBsTd126xKW7psZ921iNm9q0JsbduwFH4AgcgSNw\ngqZH4Aj4MP/U3wmUgkhp7EtGYZh58zkzzGu9nLwOn04cx1me2x/D8fvtYjH+\nuHftzcNs+fI8mz7ezd6mz9PFzeTUKq+tXFk5c7q/VhdOYiXtgCSKK9P195UX\nMHgZh9KlRfZtLubgPO6TSVj4+si1fR1Cf+Xd72v9RR2tv5tJB7n8TLrEZX17\ntE+vCa68+xLftRXD8e11RFyR4s1s1y1wRXSeBogr1wGuDV0nzLorV9U6gsvg\nPAuJw4cIZwgb0xLXj/4G55z2mata7vw+1OXCLMjqE8tMoLqGkE3dYB/Dp3SG\nVOkv+2xELJvPSVSrBOJCEuJk25QY5w1wBWrfAVg5Xkj2oeIfwYf/rqCMa5c6\n0p4RxfMRz4NuAEmhG8AmUb7xljhVuaRPYoo9oueG6mdIPyJm8S/sszp9T3lJ\nSDzE5tqF0HnK9iuPJTEqzVXq5yCHQ/TyPga69+jdSXbNVxmXqqHMhh5ixGRn\nVA1j2PSK9tnGVVZH6nnpc5d6mOen5trYwEfeg8Ler8glZ4nMKq5dhHi6vwZ4\nFiifEHt5v+XK8TWI6VO87PcawjoftqZ0Y6d63ytbn3JnVt+zoA9JoZPZkdlW\nPh9rcPFslfzkzfs15a2tzzlpTr681feM43y1xRUjrku6ELyRyp0L28Kzpymu\ngv1knm3mVc19Gv/+qOdXzT3+zffaJtaRq9o6kP5y5RzZM5OXw9XJ/0d3bX0C\ndbpsag==\n " + ], + {{0, 0}, {38.0, 41.0}}, + {0, 255}, + ImageResolution -> {72, 72}, + ColorFunction -> RGBColor + ], + { + ImageSize -> {Automatic, 12}, + PlotRange -> {{0, 38.0}, {0, 41.0}} + } + ], + "\"the ResourceObject defined by this notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "the ResourceObject defined by this notebook", + "Tooltip" + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + TagBox[ + RasterBox[ + CompressedData[ + "\n1:eJzdlk1ugzAQhaN20yVHoJtK3WXZJV1W8gKl6p5ETaNu0iipVHXnG3AEH4Ej\n+Ag+AkfgCO6bYUjzC4SgKipWnMF4PmYeY/Dt5GP0djUYDFY36Ebjr8flcvz9\nHODkZb56n82nr0/zz+lsunyYXGPwHr87/Mil30MFqlD+7FYIy6vhmfFEyovl\nz82tYpQx/m9Wn3q1YSmtdBtWc44qRAUWKuzOUk4lKmArUxYtYzvAqDuZZama\nkV2C/4iqEZbmNWKPsY7pJawcfSbReZx1Y6XwruIaolVxZSo9OUeNyFKOjeLJ\nxUoxqtuyoIzmiMjXwDPm7JApLIuR8kqGWVEjy/HdYzwxW2lT1Vc5gisxR+x2\nWbt6YaZDC6Su3BbLlXX2O6eeJW9HA6XL3MjO0Iy8MzNcITvY8jmqPVdTwS1a\nM4kRyajf1KqOJRnEVAWSIfmXWVKFxLsZ1rAcK0yR0TOI2Dvm6ifNC7nq9ll7\n2humU1xJpRCPV+olHBfZppFFyjrx81xp0JmfR8G8Qu5l1KKN9qyZkcqwzCCm\nFS3NtlZNLF6PvO7AWvCchdRt2mE9WlolnJUmf/SUMa2wLu8cUsYww/AT0dwX\nHVg5fEOh+vXKDDGan5rjxryQ54S1c1p/Hw/r3ZEV7FfBIdZff2vbsi51b3LJ\n+5we96u97aP7O34ARi0taQ==\n " + ], + {{0, 41.0}, {38.0, 0}}, + {0, 255}, + ColorFunction -> GrayLevel, + ImageResolution -> {72, 72} + ], + BoxForm`ImageTag[ + "Byte", + ColorSpace -> "Grayscale", + Interleaving -> True + ], + Selectable -> False + ], + DefaultBaseStyle -> "ImageGraphics", + ImageSizeRaw -> {38.0, 41.0}, + PlotRange -> {{0, 38.0}, {0, 41.0}}, + ImageSize -> {Automatic, 12} + ], + "\"only defined in a definition notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "only defined in a definition notebook", + "Tooltip" + ] + ] + ] + ], + ImageSizeCache -> {11.122, {2.90039, 9.09961}}, + SingleEvaluation -> True + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Automatic}}, "Rows" -> {{Center}}}, + GridBoxSpacings -> {"Columns" -> {{0.25}}} + ], + ShowStringCharacters -> False, + FontSize -> (11 * Inherited) / 13 + ], + Background -> GrayLevel[0.5, 0.15], + BaseStyle -> {"Text", LineSpacing -> {0, 0}, LineBreakWithin -> False}, + FrameMargins -> {{3, 3}, {3, 0}}, + FrameStyle -> + Directive[GrayLevel[0.5, 0.35], AbsoluteThickness[0.5]], + RoundingRadius -> 4 + ], + "ResourceObjectNotebook" + ], + ResourceObject[EvaluationNotebook[]], + SelectWithContents -> True, + Selectable -> False + ], + ",", + "\"VectorDatabase\"" + } + ], + "]" + } + ], + "=", + RowBox[ + { + RowBox[ + { + "WithCleanup", + "[", + "\[IndentingNewLine]", + RowBox[ + { + RowBox[ + { + "SetDirectory", + "[", + RowBox[{"CreateDirectory", "[", "]"}], + "]" + } + ], + ",", + "\[IndentingNewLine]", + RowBox[ + { + "VectorDatabaseObject", + "[", + RowBox[ + { + RowBox[{"File", "[", "#DatabasePath", "]"}], + ",", + RowBox[{"OverwriteTarget", "->", "True"}] + } + ], + "]" + } + ], + ",", + "\[IndentingNewLine]", + RowBox[{"ResetDirectory", "[", "]"}] + } + ], + "\[IndentingNewLine]", + "]" + } + ], + "&" + } + ] + } + ], + ";" + } + ] + ], + "Input", + CellTags -> "DefaultContent", + CellLabel -> "In[1]:=", + CellID -> 751296993 + ] + }, + Open + ] + ], + Cell[ + CellGroupData[ + { + Cell[ + "Additional Data Elements (optional)", + "Subsection", + Editable -> False, + Deletable -> False, + CellTags -> "AdditionalDataElements", + CellLabel -> "In[7]:=", + CellID -> 651134066 + ], + Cell[ + BoxData[ + { + RowBox[ + {RowBox[{"name", "=", "\"DocumentationURIs\""}], ";"} + ], + "\[IndentingNewLine]", + RowBox[ + { + RowBox[ + { + "dir", + "=", + RowBox[ + { + "FileNameJoin", + "[", + RowBox[ + { + "{", + RowBox[ + { + RowBox[ + { + "ParentDirectory", + "[", + RowBox[{RowBox[{"NotebookDirectory", "[", "]"}], ",", "3"}], + "]" + } + ], + ",", + "\"Assets/VectorDatabases\"", + ",", + "name" + } + ], + "}" + } + ], + "]" + } + ] + } + ], + ";" + } + ], + "\[IndentingNewLine]", + RowBox[ + { + RowBox[ + { + "zip", + "=", + RowBox[ + { + "CreateArchive", + "[", + RowBox[ + { + RowBox[ + { + "FileNames", + "[", + RowBox[{"All", ",", "dir", ",", "Infinity"}], + "]" + } + ], + ",", + RowBox[{"dir", "<>", "\".zip\""}], + ",", + RowBox[{"OverwriteTarget", "->", "True"}] + } + ], + "]" + } + ] + } + ], + ";" + } + ], + "\[IndentingNewLine]", + RowBox[ + { + RowBox[ + { + "obj", + "=", + RowBox[ + { + "CopyFile", + "[", + RowBox[ + { + "zip", + ",", + RowBox[ + { + "CloudObject", + "[", + RowBox[ + { + RowBox[ + {"\"VectorDatabases/\"", "<>", "name", "<>", "\".zip\""} + ], + ",", + RowBox[{"Permissions", "->", "\"Public\""}] + } + ], + "]" + } + ], + ",", + RowBox[{"OverwriteTarget", "->", "True"}] + } + ], + "]" + } + ] + } + ], + ";" + } + ], + "\[IndentingNewLine]", + RowBox[{RowBox[{"DeleteFile", "[", "zip", "]"}], ";"}] + } + ], + "Input", + CellLabel -> "In[7]:=", + CellID -> 96470356 + ], + Cell[ + BoxData[ + RowBox[ + { + RowBox[ + { + RowBox[ + { + "ResourceData", + "[", + RowBox[ + { + InterpretationBox[ + TagBox[ + FrameBox[ + StyleBox[ + GridBox[ + { + { + DynamicBox[ + If[ TrueQ[ + StringQ[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceType"} + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + RasterBox[ + CompressedData[ + "\n1:eJztmEFOg1AQhom6cIk3qBsTd126xKW7psZ921iNm9q0JsbduwFH4AgcgSNw\ngqZH4Aj4MP/U3wmUgkhp7EtGYZh58zkzzGu9nLwOn04cx1me2x/D8fvtYjH+\nuHftzcNs+fI8mz7ezd6mz9PFzeTUKq+tXFk5c7q/VhdOYiXtgCSKK9P195UX\nMHgZh9KlRfZtLubgPO6TSVj4+si1fR1Cf+Xd72v9RR2tv5tJB7n8TLrEZX17\ntE+vCa68+xLftRXD8e11RFyR4s1s1y1wRXSeBogr1wGuDV0nzLorV9U6gsvg\nPAuJw4cIZwgb0xLXj/4G55z2mata7vw+1OXCLMjqE8tMoLqGkE3dYB/Dp3SG\nVOkv+2xELJvPSVSrBOJCEuJk25QY5w1wBWrfAVg5Xkj2oeIfwYf/rqCMa5c6\n0p4RxfMRz4NuAEmhG8AmUb7xljhVuaRPYoo9oueG6mdIPyJm8S/sszp9T3lJ\nSDzE5tqF0HnK9iuPJTEqzVXq5yCHQ/TyPga69+jdSXbNVxmXqqHMhh5ixGRn\nVA1j2PSK9tnGVVZH6nnpc5d6mOen5trYwEfeg8Ler8glZ4nMKq5dhHi6vwZ4\nFiifEHt5v+XK8TWI6VO87PcawjoftqZ0Y6d63ytbn3JnVt+zoA9JoZPZkdlW\nPh9rcPFslfzkzfs15a2tzzlpTr681feM43y1xRUjrku6ELyRyp0L28Kzpymu\ngv1knm3mVc19Gv/+qOdXzT3+zffaJtaRq9o6kP5y5RzZM5OXw9XJ/0d3bX0C\ndbpsag==\n " + ], + {{0, 0}, {38.0, 41.0}}, + {0, 255}, + ImageResolution -> {72, 72}, + ColorFunction -> RGBColor + ], + { + ImageSize -> {Automatic, 12}, + PlotRange -> {{0, 38.0}, {0, 41.0}} + } + ], + "\"the ResourceObject defined by this notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "the ResourceObject defined by this notebook", + "Tooltip" + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + TagBox[ + RasterBox[ + CompressedData[ + "\n1:eJzdlk1ugzAQhaN20yVHoJtK3WXZJV1W8gKl6p5ETaNu0iipVHXnG3AEH4Ej\n+Ag+AkfgCO6bYUjzC4SgKipWnMF4PmYeY/Dt5GP0djUYDFY36Ebjr8flcvz9\nHODkZb56n82nr0/zz+lsunyYXGPwHr87/Mil30MFqlD+7FYIy6vhmfFEyovl\nz82tYpQx/m9Wn3q1YSmtdBtWc44qRAUWKuzOUk4lKmArUxYtYzvAqDuZZama\nkV2C/4iqEZbmNWKPsY7pJawcfSbReZx1Y6XwruIaolVxZSo9OUeNyFKOjeLJ\nxUoxqtuyoIzmiMjXwDPm7JApLIuR8kqGWVEjy/HdYzwxW2lT1Vc5gisxR+x2\nWbt6YaZDC6Su3BbLlXX2O6eeJW9HA6XL3MjO0Iy8MzNcITvY8jmqPVdTwS1a\nM4kRyajf1KqOJRnEVAWSIfmXWVKFxLsZ1rAcK0yR0TOI2Dvm6ifNC7nq9ll7\n2humU1xJpRCPV+olHBfZppFFyjrx81xp0JmfR8G8Qu5l1KKN9qyZkcqwzCCm\nFS3NtlZNLF6PvO7AWvCchdRt2mE9WlolnJUmf/SUMa2wLu8cUsYww/AT0dwX\nHVg5fEOh+vXKDDGan5rjxryQ54S1c1p/Hw/r3ZEV7FfBIdZff2vbsi51b3LJ\n+5we96u97aP7O34ARi0taQ==\n " + ], + {{0, 41.0}, {38.0, 0}}, + {0, 255}, + ColorFunction -> GrayLevel, + ImageResolution -> {72, 72} + ], + BoxForm`ImageTag[ + "Byte", + ColorSpace -> "Grayscale", + Interleaving -> True + ], + Selectable -> False + ], + DefaultBaseStyle -> "ImageGraphics", + ImageSizeRaw -> {38.0, 41.0}, + PlotRange -> {{0, 38.0}, {0, 41.0}}, + ImageSize -> {Automatic, 12} + ], + "\"only defined in a definition notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "only defined in a definition notebook", + "Tooltip" + ] + ] + ] + ], + ImageSizeCache -> {11.122, {2.90039, 9.09961}}, + SingleEvaluation -> True + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Automatic}}, "Rows" -> {{Center}}}, + GridBoxSpacings -> {"Columns" -> {{0.25}}} + ], + ShowStringCharacters -> False, + FontSize -> (11 * Inherited) / 13 + ], + Background -> GrayLevel[0.5, 0.15], + BaseStyle -> {"Text", LineSpacing -> {0, 0}, LineBreakWithin -> False}, + FrameMargins -> {{3, 3}, {3, 0}}, + FrameStyle -> + Directive[GrayLevel[0.5, 0.35], AbsoluteThickness[0.5]], + RoundingRadius -> 4 + ], + "ResourceObjectNotebook" + ], + ResourceObject[EvaluationNotebook[]], + SelectWithContents -> True, + Selectable -> False + ], + ",", + "\"DatabaseDirectory\"" + } + ], + "]" + } + ], + "=", + "obj" + } + ], + ";" + } + ] + ], + "Input", + CellTags -> "DefaultContent", + CellLabel -> "In[12]:=", + CellID -> 874765044 + ], + Cell[ + BoxData[ + RowBox[ + { + RowBox[ + { + RowBox[ + { + "ResourceData", + "[", + RowBox[ + { + InterpretationBox[ + TagBox[ + FrameBox[ + StyleBox[ + GridBox[ + { + { + DynamicBox[ + If[ TrueQ[ + StringQ[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceType"} + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + RasterBox[ + CompressedData[ + "\n1:eJztmEFOg1AQhom6cIk3qBsTd126xKW7psZ921iNm9q0JsbduwFH4AgcgSNw\ngqZH4Aj4MP/U3wmUgkhp7EtGYZh58zkzzGu9nLwOn04cx1me2x/D8fvtYjH+\nuHftzcNs+fI8mz7ezd6mz9PFzeTUKq+tXFk5c7q/VhdOYiXtgCSKK9P195UX\nMHgZh9KlRfZtLubgPO6TSVj4+si1fR1Cf+Xd72v9RR2tv5tJB7n8TLrEZX17\ntE+vCa68+xLftRXD8e11RFyR4s1s1y1wRXSeBogr1wGuDV0nzLorV9U6gsvg\nPAuJw4cIZwgb0xLXj/4G55z2mata7vw+1OXCLMjqE8tMoLqGkE3dYB/Dp3SG\nVOkv+2xELJvPSVSrBOJCEuJk25QY5w1wBWrfAVg5Xkj2oeIfwYf/rqCMa5c6\n0p4RxfMRz4NuAEmhG8AmUb7xljhVuaRPYoo9oueG6mdIPyJm8S/sszp9T3lJ\nSDzE5tqF0HnK9iuPJTEqzVXq5yCHQ/TyPga69+jdSXbNVxmXqqHMhh5ixGRn\nVA1j2PSK9tnGVVZH6nnpc5d6mOen5trYwEfeg8Ler8glZ4nMKq5dhHi6vwZ4\nFiifEHt5v+XK8TWI6VO87PcawjoftqZ0Y6d63ytbn3JnVt+zoA9JoZPZkdlW\nPh9rcPFslfzkzfs15a2tzzlpTr681feM43y1xRUjrku6ELyRyp0L28Kzpymu\ngv1knm3mVc19Gv/+qOdXzT3+zffaJtaRq9o6kP5y5RzZM5OXw9XJ/0d3bX0C\ndbpsag==\n " + ], + {{0, 0}, {38.0, 41.0}}, + {0, 255}, + ImageResolution -> {72, 72}, + ColorFunction -> RGBColor + ], + { + ImageSize -> {Automatic, 12}, + PlotRange -> {{0, 38.0}, {0, 41.0}} + } + ], + "\"the ResourceObject defined by this notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "the ResourceObject defined by this notebook", + "Tooltip" + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + TagBox[ + RasterBox[ + CompressedData[ + "\n1:eJzdlk1ugzAQhaN20yVHoJtK3WXZJV1W8gKl6p5ETaNu0iipVHXnG3AEH4Ej\n+Ag+AkfgCO6bYUjzC4SgKipWnMF4PmYeY/Dt5GP0djUYDFY36Ebjr8flcvz9\nHODkZb56n82nr0/zz+lsunyYXGPwHr87/Mil30MFqlD+7FYIy6vhmfFEyovl\nz82tYpQx/m9Wn3q1YSmtdBtWc44qRAUWKuzOUk4lKmArUxYtYzvAqDuZZama\nkV2C/4iqEZbmNWKPsY7pJawcfSbReZx1Y6XwruIaolVxZSo9OUeNyFKOjeLJ\nxUoxqtuyoIzmiMjXwDPm7JApLIuR8kqGWVEjy/HdYzwxW2lT1Vc5gisxR+x2\nWbt6YaZDC6Su3BbLlXX2O6eeJW9HA6XL3MjO0Iy8MzNcITvY8jmqPVdTwS1a\nM4kRyajf1KqOJRnEVAWSIfmXWVKFxLsZ1rAcK0yR0TOI2Dvm6ifNC7nq9ll7\n2humU1xJpRCPV+olHBfZppFFyjrx81xp0JmfR8G8Qu5l1KKN9qyZkcqwzCCm\nFS3NtlZNLF6PvO7AWvCchdRt2mE9WlolnJUmf/SUMa2wLu8cUsYww/AT0dwX\nHVg5fEOh+vXKDDGan5rjxryQ54S1c1p/Hw/r3ZEV7FfBIdZff2vbsi51b3LJ\n+5we96u97aP7O34ARi0taQ==\n " + ], + {{0, 41.0}, {38.0, 0}}, + {0, 255}, + ColorFunction -> GrayLevel, + ImageResolution -> {72, 72} + ], + BoxForm`ImageTag[ + "Byte", + ColorSpace -> "Grayscale", + Interleaving -> True + ], + Selectable -> False + ], + DefaultBaseStyle -> "ImageGraphics", + ImageSizeRaw -> {38.0, 41.0}, + PlotRange -> {{0, 38.0}, {0, 41.0}}, + ImageSize -> {Automatic, 12} + ], + "\"only defined in a definition notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "only defined in a definition notebook", + "Tooltip" + ] + ] + ] + ], + ImageSizeCache -> {11.122, {2.90039, 9.09961}}, + SingleEvaluation -> True + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Automatic}}, "Rows" -> {{Center}}}, + GridBoxSpacings -> {"Columns" -> {{0.25}}} + ], + ShowStringCharacters -> False, + FontSize -> (11 * Inherited) / 13 + ], + Background -> GrayLevel[0.5, 0.15], + BaseStyle -> {"Text", LineSpacing -> {0, 0}, LineBreakWithin -> False}, + FrameMargins -> {{3, 3}, {3, 0}}, + FrameStyle -> + Directive[GrayLevel[0.5, 0.35], AbsoluteThickness[0.5]], + RoundingRadius -> 4 + ], + "ResourceObjectNotebook" + ], + ResourceObject[EvaluationNotebook[]], + SelectWithContents -> True, + Selectable -> False + ], + ",", + "\"DatabasePath\"" + } + ], + "]" + } + ], + "=", + RowBox[ + { + "With", + "[", + RowBox[ + { + RowBox[ + { + "{", + RowBox[{"file", "=", RowBox[{"name", "<>", "\".wxf\""}]}], + "}" + } + ], + ",", + RowBox[ + { + RowBox[ + { + "FileNameJoin", + "[", + RowBox[ + {"{", RowBox[{"#DatabaseDirectory", ",", "file"}], "}"} + ], + "]" + } + ], + "&" + } + ] + } + ], + "]" + } + ] + } + ], + ";" + } + ] + ], + "Input", + CellTags -> "DefaultContent", + CellLabel -> "In[13]:=", + CellID -> 874765045 + ] + }, + Open + ] + ] + }, + Open + ] + ], + Cell[ + CellGroupData[ + { + Cell[ + TextData[ + { + "Examples", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "ExampleNotebook", + Cell[ + BoxData[ + FrameBox[ + Cell[ + TextData[ + { + "Demonstrate the data's usage, starting with the most basic use case and describing each example in a preceding text cell.\n\nWithin a group, individual examples can be delimited by inserting page breaks between them (using Tools \[FilledRightTriangle] Insert Delimiter).\n\nExamples should be grouped into Subsection and Subsubsection cells similarly to existing documentation pages. Here are some typical Subsection names and the types of examples they normally contain:\n\n ", + Cell[ + BoxData[ + StyleBox[ + TemplateBox[ + { + StyleBox[ + "\"\[FilledSmallSquare] \"", + FontColor -> RGBColor[0.8, 0.043, 0.008], + StripOnInput -> False + ], + StyleBox[ + "\"Basic Examples: \"", + FontFamily -> "Source Sans Pro", + FontWeight -> "SemiBold", + FontSize -> 14, + StripOnInput -> False + ] + }, + "RowDefault" + ], + ShowStringCharacters -> False + ] + ] + ], + "most basic usage\n ", + Cell[ + BoxData[ + StyleBox[ + TemplateBox[ + { + StyleBox[ + "\"\[FilledSmallSquare] \"", + FontColor -> RGBColor[0.8, 0.043, 0.008], + StripOnInput -> False + ], + StyleBox[ + "\"Scope: \"", + FontFamily -> "Source Sans Pro", + FontWeight -> "SemiBold", + FontSize -> 14, + StripOnInput -> False + ] + }, + "RowDefault" + ], + ShowStringCharacters -> False + ] + ] + ], + "show the breadth of the data\n ", + Cell[ + BoxData[ + StyleBox[ + TemplateBox[ + { + StyleBox[ + "\"\[FilledSmallSquare] \"", + FontColor -> RGBColor[0.8, 0.043, 0.008], + StripOnInput -> False + ], + StyleBox[ + "\"Applications: \"", + FontFamily -> "Source Sans Pro", + FontWeight -> "SemiBold", + FontSize -> 14, + StripOnInput -> False + ] + }, + "RowDefault" + ], + ShowStringCharacters -> False + ] + ] + ], + "standard industry or academic applications\n ", + Cell[ + BoxData[ + StyleBox[ + TemplateBox[ + { + StyleBox[ + "\"\[FilledSmallSquare] \"", + FontColor -> RGBColor[0.8, 0.043, 0.008], + StripOnInput -> False + ], + StyleBox[ + "\"Properties and Relations: \"", + FontFamily -> "Source Sans Pro", + FontWeight -> "SemiBold", + FontSize -> 14, + StripOnInput -> False + ] + }, + "RowDefault" + ], + ShowStringCharacters -> False + ] + ] + ], + "how the data relates to other data\n ", + Cell[ + BoxData[ + StyleBox[ + TemplateBox[ + { + StyleBox[ + "\"\[FilledSmallSquare] \"", + FontColor -> RGBColor[0.8, 0.043, 0.008], + StripOnInput -> False + ], + StyleBox[ + "\"Possible Issues: \"", + FontFamily -> "Source Sans Pro", + FontWeight -> "SemiBold", + FontSize -> 14, + StripOnInput -> False + ] + }, + "RowDefault" + ], + ShowStringCharacters -> False + ] + ] + ], + "limitations or unexpected behavior a user might experience\n ", + Cell[ + BoxData[ + StyleBox[ + TemplateBox[ + { + StyleBox[ + "\"\[FilledSmallSquare] \"", + FontColor -> RGBColor[0.8, 0.043, 0.008], + StripOnInput -> False + ], + StyleBox[ + "\"Neat Examples: \"", + FontFamily -> "Source Sans Pro", + FontWeight -> "SemiBold", + FontSize -> 14, + StripOnInput -> False + ] + }, + "RowDefault" + ], + ShowStringCharacters -> False + ] + ] + ], + "particularly interesting, unconventional, or otherwise unique usage" + } + ], + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoExampleNotebook"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Section", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "ExampleNotebook"}, + CellTags -> {"ExampleNotebook", "Examples", "TemplateCellGroup"}, + CellID -> 661218443 + ], + Cell[ + CellGroupData[ + { + Cell[ + "Basic Examples", + "Subsection", + CellLabel -> "In[4]:=", + CellID -> 462042388 + ], + Cell[ + TextData[ + { + "Get the ", + Cell[ + BoxData[ + TagBox[ + ButtonBox[ + StyleBox[ + "VectorDatabaseObject", + "SymbolsRefLink", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ], + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue["MouseOver"], + {"Link", FontColor -> RGBColor[0.8549, 0.39608, 0.1451]}, + {"Link"} + ] + ], + ButtonData -> "paclet:ref/VectorDatabaseObject", + ContentPadding -> False + ], + MouseAppearanceTag["LinkHand"] + ] + ], + "InlineFormula", + FontFamily -> "Source Sans Pro" + ], + ":" + } + ], + "Text", + CellTags -> "DefaultContent", + CellID -> 395385424 + ], + Cell[ + CellGroupData[ + { + Cell[ + BoxData[ + RowBox[ + { + "db", + "=", + RowBox[ + { + "ResourceData", + "[", + InterpretationBox[ + TagBox[ + FrameBox[ + StyleBox[ + GridBox[ + { + { + DynamicBox[ + If[ TrueQ[ + StringQ[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceType"} + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + RasterBox[ + CompressedData[ + "\n1:eJztmEFOg1AQhom6cIk3qBsTd126xKW7psZ921iNm9q0JsbduwFH4AgcgSNw\ngqZH4Aj4MP/U3wmUgkhp7EtGYZh58zkzzGu9nLwOn04cx1me2x/D8fvtYjH+\nuHftzcNs+fI8mz7ezd6mz9PFzeTUKq+tXFk5c7q/VhdOYiXtgCSKK9P195UX\nMHgZh9KlRfZtLubgPO6TSVj4+si1fR1Cf+Xd72v9RR2tv5tJB7n8TLrEZX17\ntE+vCa68+xLftRXD8e11RFyR4s1s1y1wRXSeBogr1wGuDV0nzLorV9U6gsvg\nPAuJw4cIZwgb0xLXj/4G55z2mata7vw+1OXCLMjqE8tMoLqGkE3dYB/Dp3SG\nVOkv+2xELJvPSVSrBOJCEuJk25QY5w1wBWrfAVg5Xkj2oeIfwYf/rqCMa5c6\n0p4RxfMRz4NuAEmhG8AmUb7xljhVuaRPYoo9oueG6mdIPyJm8S/sszp9T3lJ\nSDzE5tqF0HnK9iuPJTEqzVXq5yCHQ/TyPga69+jdSXbNVxmXqqHMhh5ixGRn\nVA1j2PSK9tnGVVZH6nnpc5d6mOen5trYwEfeg8Ler8glZ4nMKq5dhHi6vwZ4\nFiifEHt5v+XK8TWI6VO87PcawjoftqZ0Y6d63ytbn3JnVt+zoA9JoZPZkdlW\nPh9rcPFslfzkzfs15a2tzzlpTr681feM43y1xRUjrku6ELyRyp0L28Kzpymu\ngv1knm3mVc19Gv/+qOdXzT3+zffaJtaRq9o6kP5y5RzZM5OXw9XJ/0d3bX0C\ndbpsag==\n " + ], + {{0, 0}, {38.0, 41.0}}, + {0, 255}, + ImageResolution -> {72, 72}, + ColorFunction -> RGBColor + ], + { + ImageSize -> {Automatic, 12}, + PlotRange -> {{0, 38.0}, {0, 41.0}} + } + ], + "\"the ResourceObject defined by this notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "the ResourceObject defined by this notebook", + "Tooltip" + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + TagBox[ + RasterBox[ + CompressedData[ + "\n1:eJzdlk1ugzAQhaN20yVHoJtK3WXZJV1W8gKl6p5ETaNu0iipVHXnG3AEH4Ej\n+Ag+AkfgCO6bYUjzC4SgKipWnMF4PmYeY/Dt5GP0djUYDFY36Ebjr8flcvz9\nHODkZb56n82nr0/zz+lsunyYXGPwHr87/Mil30MFqlD+7FYIy6vhmfFEyovl\nz82tYpQx/m9Wn3q1YSmtdBtWc44qRAUWKuzOUk4lKmArUxYtYzvAqDuZZama\nkV2C/4iqEZbmNWKPsY7pJawcfSbReZx1Y6XwruIaolVxZSo9OUeNyFKOjeLJ\nxUoxqtuyoIzmiMjXwDPm7JApLIuR8kqGWVEjy/HdYzwxW2lT1Vc5gisxR+x2\nWbt6YaZDC6Su3BbLlXX2O6eeJW9HA6XL3MjO0Iy8MzNcITvY8jmqPVdTwS1a\nM4kRyajf1KqOJRnEVAWSIfmXWVKFxLsZ1rAcK0yR0TOI2Dvm6ifNC7nq9ll7\n2humU1xJpRCPV+olHBfZppFFyjrx81xp0JmfR8G8Qu5l1KKN9qyZkcqwzCCm\nFS3NtlZNLF6PvO7AWvCchdRt2mE9WlolnJUmf/SUMa2wLu8cUsYww/AT0dwX\nHVg5fEOh+vXKDDGan5rjxryQ54S1c1p/Hw/r3ZEV7FfBIdZff2vbsi51b3LJ\n+5we96u97aP7O34ARi0taQ==\n " + ], + {{0, 41.0}, {38.0, 0}}, + {0, 255}, + ColorFunction -> GrayLevel, + ImageResolution -> {72, 72} + ], + BoxForm`ImageTag[ + "Byte", + ColorSpace -> "Grayscale", + Interleaving -> True + ], + Selectable -> False + ], + DefaultBaseStyle -> "ImageGraphics", + ImageSizeRaw -> {38.0, 41.0}, + PlotRange -> {{0, 38.0}, {0, 41.0}}, + ImageSize -> {Automatic, 12} + ], + "\"only defined in a definition notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "only defined in a definition notebook", + "Tooltip" + ] + ] + ] + ], + ImageSizeCache -> {11.122, {2.90039, 9.09961}}, + SingleEvaluation -> True + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Automatic}}, "Rows" -> {{Center}}}, + GridBoxSpacings -> {"Columns" -> {{0.25}}} + ], + ShowStringCharacters -> False, + FontSize -> (11 * Inherited) / 13 + ], + Background -> GrayLevel[0.5, 0.15], + BaseStyle -> {"Text", LineSpacing -> {0, 0}, LineBreakWithin -> False}, + FrameMargins -> {{3, 3}, {3, 0}}, + FrameStyle -> + Directive[GrayLevel[0.5, 0.35], AbsoluteThickness[0.5]], + RoundingRadius -> 4 + ], + "ResourceObjectNotebook" + ], + ResourceObject[EvaluationNotebook[]], + SelectWithContents -> True, + Selectable -> False + ], + "]" + } + ] + } + ] + ], + "Input", + CellTags -> "DefaultContent", + CellLabel -> "In[1]:=", + CellID -> 464452425 + ], + Cell[ + BoxData[ + InterpretationBox[ + RowBox[ + { + TagBox["VectorDatabaseObject", "SummaryHead"], + "[", + DynamicModuleBox[ + {Typeset`open$$ = False, Typeset`embedState$$ = "Ready"}, + TemplateBox[ + { + PaneSelectorBox[ + { + False -> + GridBox[ + { + { + PaneBox[ + ButtonBox[ + DynamicBox[ + FEPrivate`FrontEndResource["FEBitmaps", "SummaryBoxOpener"], + ImageSizeCache -> {10.869, {0.0, 10.869}} + ], + Appearance -> None, + BaseStyle -> { }, + ButtonFunction :> (Typeset`open$$ = True), + Evaluator -> Automatic, + Method -> "Preemptive" + ], + Alignment -> {Center, Center}, + ImageSize -> + Dynamic[ + { + Automatic, + Times[ + 3.5, + Times[ + CurrentValue["FontCapHeight"], + AbsoluteCurrentValue[Magnification]^(-1) + ] + ] + } + ] + ], + GridBox[ + { + { + RowBox[ + { + TagBox["\"ID: \"", "SummaryItemAnnotation"], + "\[InvisibleSpace]", + TagBox["\"DocumentationURIs\"", "SummaryItem"] + } + ] + }, + { + RowBox[ + { + TagBox["\"Elements: \"", "SummaryItemAnnotation"], + "\[InvisibleSpace]", + TagBox["683800", "SummaryItem"] + } + ] + } + }, + AutoDelete -> False, + BaseStyle -> { + ShowStringCharacters -> False, + NumberMarks -> False, + PrintPrecision -> 3, + ShowSyntaxStyles -> False + }, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}} + ] + } + }, + AutoDelete -> False, + BaselinePosition -> {1, 1}, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}} + ], + True -> + GridBox[ + { + { + PaneBox[ + ButtonBox[ + DynamicBox[ + FEPrivate`FrontEndResource["FEBitmaps", "SummaryBoxCloser"], + ImageSizeCache -> {10.869, {0.0, 10.869}} + ], + Appearance -> None, + BaseStyle -> { }, + ButtonFunction :> (Typeset`open$$ = False), + Evaluator -> Automatic, + Method -> "Preemptive" + ], + Alignment -> {Center, Center}, + ImageSize -> + Dynamic[ + { + Automatic, + Times[ + 3.5, + Times[ + CurrentValue["FontCapHeight"], + AbsoluteCurrentValue[Magnification]^(-1) + ] + ] + } + ] + ], + GridBox[ + { + { + RowBox[ + { + TagBox["\"ID: \"", "SummaryItemAnnotation"], + "\[InvisibleSpace]", + TagBox["\"DocumentationURIs\"", "SummaryItem"] + } + ] + }, + { + RowBox[ + { + TagBox["\"Elements: \"", "SummaryItemAnnotation"], + "\[InvisibleSpace]", + TagBox["683800", "SummaryItem"] + } + ] + }, + { + RowBox[ + { + TagBox["\"Vector length: \"", "SummaryItemAnnotation"], + "\[InvisibleSpace]", + TagBox["256", "SummaryItem"] + } + ] + }, + { + RowBox[ + { + TagBox["\"Working precision: \"", "SummaryItemAnnotation"], + "\[InvisibleSpace]", + TagBox["\"Integer8\"", "SummaryItem"] + } + ] + }, + { + RowBox[ + { + TagBox["\"Distance function: \"", "SummaryItemAnnotation"], + "\[InvisibleSpace]", + TagBox["EuclideanDistance", "SummaryItem"] + } + ] + }, + { + RowBox[ + { + TagBox["\"Location: \"", "SummaryItemAnnotation"], + "\[InvisibleSpace]", + TagBox[ + TemplateBox[ + { + RowBox[ + { + "File", + "[", + RowBox[{"\[LeftSkeleton]", "1", "\[RightSkeleton]"}], + "]" + } + ], + RowBox[ + { + "File", + "[", + TemplateBox[ + { + "\"C:\\\\Users\\\\rhennigan\\\\AppData\\\\Local\\\\Temp\\\\DocumentationURIs-6dd5ca26-4e67-4d6f-ad1d-5859efeebde3-Extracted\\\\DocumentationURIs.wxf\"" + }, + "FileArgument" + ], + "]" + } + ] + }, + "ClickToCopy2" + ], + "SummaryItem" + ] + } + ] + } + }, + AutoDelete -> False, + BaseStyle -> { + ShowStringCharacters -> False, + NumberMarks -> False, + PrintPrecision -> 3, + ShowSyntaxStyles -> False + }, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}} + ] + } + }, + AutoDelete -> False, + BaselinePosition -> {1, 1}, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}} + ] + }, + Dynamic[Typeset`open$$], + ImageSize -> Automatic + ] + }, + "SummaryPanel" + ], + DynamicModuleValues :> { } + ], + "]" + } + ], + VectorDatabaseObject[ + <| + "DistanceFunction" -> EuclideanDistance, + "FeatureExtractor" -> Identity, + "GeneratedAssetLocation" -> + File[ + "C:\\Users\\rhennigan\\AppData\\Local\\Temp\\DocumentationURIs-6dd5ca26-4e67-4d6f-ad1d-5859efeebde3-Extracted\\DocumentationURIs.wxf" + ], + "ID" -> "DocumentationURIs", + "Location" -> + File[ + "C:\\Users\\rhennigan\\AppData\\Local\\Temp\\DocumentationURIs-6dd5ca26-4e67-4d6f-ad1d-5859efeebde3-Extracted\\DocumentationURIs.wxf" + ], + "ResolvedFeatureExtractor" -> Identity, + "VectorDatabaseInfo" -> <| + "DistanceFunction" -> "l2sq", + "WorkingPrecision" -> "i8", + "Connectivity" -> 16, + "ExpansionAdd" -> 256, + "ExpansionSearch" -> 2048, + "Capacity" -> 683800, + "Dimensions" -> 256 + |>, + "Version" -> 1.1, + "WorkingPrecision" -> "Integer8", + "Evaluator" -> "c++", + "DatabaseType" -> "USearch", + "MetadataKeys" -> { }, + "Dimensions" -> {683800, 256}, + "Hash" -> 63144803136871464942014094071819592114 + |> + ], + Editable -> False, + SelectWithContents -> True, + Selectable -> False + ] + ], + "Output", + CellTags -> "DefaultContent", + CellLabel -> "Out[1]=", + CellID -> 135685633 + ] + }, + Open + ] + ], + Cell["Search it:", "Text", CellID -> 477433615], + Cell[ + BoxData[ + RowBox[ + { + RowBox[ + { + "vector", + "=", + RowBox[ + { + "RandomInteger", + "[", + RowBox[ + { + RowBox[ + {"{", RowBox[{RowBox[{"-", "128"}], ",", "127"}], "}"} + ], + ",", + "256" + } + ], + "]" + } + ] + } + ], + ";" + } + ] + ], + "Input", + CellLabel -> "In[3]:=", + CellID -> 174568640 + ], + Cell[ + CellGroupData[ + { + Cell[ + BoxData[ + RowBox[ + { + "VectorDatabaseSearch", + "[", + RowBox[{"db", ",", "vector", ",", "\"Index\""}], + "]" + } + ] + ], + "Input", + CellLabel -> "In[5]:=", + CellID -> 14128918 + ], + Cell[ + BoxData[RowBox[{"{", "250003", "}"}]], + "Output", + CellLabel -> "Out[5]=", + CellID -> 8379989 + ] + }, + Open + ] + ] + }, + Open + ] + ], + Cell[ + "Scope & Additional Elements", + "Subsection", + CellID -> 979821957 + ], + Cell["Visualizations", "Subsection", CellID -> 50804313], + Cell["Analysis", "Subsection", CellID -> 866856397] + }, + Open + ] + ], + Cell[ + CellGroupData[ + { + Cell[ + "Source & Additional Information", + "Section", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "Source & Additional Information"}, + CellTags -> {"Source & Additional Information", "TemplateSection"}, + CellID -> 871630328 + ], + Cell[ + CellGroupData[ + { + Cell[ + TextData[ + { + "Submitted By", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "ContributedBy", + Cell[ + BoxData[ + FrameBox[ + Cell[ + "Enter the name of the person, people or organization that should be publicly credited with submitting this data.", + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoContributedBy"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Subsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "ContributedBy"}, + DefaultNewCellStyle -> "Text", + CellTags -> { + "Contributed By", + "ContributedBy", + "Submitted By", + "TemplateCellGroup" + }, + CellID -> 731311331 + ], + Cell[ + "Wolfram Staff", + "Text", + CellEventActions -> { + Inherited, + {"KeyDown", "\t"} :> + Replace[ + SelectionMove[SelectedNotebook[], After, Cell]; + NotebookFind[ + SelectedNotebook[], + "TabNext", + Next, + CellTags, + AutoScroll -> True, + WrapAround -> True + ], + Blank[NotebookSelection] :> + SelectionMove[ + SelectedNotebook[], + All, + CellContents, + AutoScroll -> True + ] + ], + PassEventsDown -> False, + PassEventsUp -> False + }, + CellTags -> {"DefaultContent", "TabNext"}, + CellID -> 316640766 + ] + }, + Open + ] + ], + Cell[ + TextData[ + { + "Source/Reference Citation", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "Citation", + Cell[ + BoxData[ + FrameBox[ + Cell[ + "Give a bibliographic-style citation for the original source of the data and/or its components.", + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoCitation"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Subsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "Citation"}, + DefaultNewCellStyle -> "Text", + CellTags -> { + "Citation", + "Source/Reference Citation", + "TemplateCellGroup" + }, + CellID -> 657892269 + ], + Cell[ + CellGroupData[ + { + Cell[ + TextData[ + { + "Detailed Source Information", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "Detailed Source Information", + Cell[ + BoxData[ + FrameBox[ + Cell[ + "Add bibliographic details about the original source and publication of the data.", + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoDetailedSourceInformation"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Subsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "Detailed Source Information"}, + CellTags -> {"Detailed Source Information", "TemplateSection"}, + CellID -> 67505013 + ], + Cell[ + "Author/Creator", + "Subsubsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "SMDAuthor"}, + DefaultNewCellStyle -> "Text", + CellTags -> {"Author/Creator", "SMDAuthor", "TemplateCellGroup"}, + CellID -> 62010071 + ], + Cell[ + "Source Title", + "Subsubsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "SMDTitle"}, + DefaultNewCellStyle -> "Text", + CellTags -> {"SMDTitle", "Source Title", "TemplateCellGroup"}, + CellID -> 15581079 + ], + Cell[ + "Source Date", + "Subsubsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "SMDDate"}, + DefaultNewCellStyle -> "Text", + CellTags -> {"SMDDate", "Source Date", "TemplateCellGroup"}, + CellID -> 251981362 + ], + Cell[ + "Source Publisher", + "Subsubsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "SMDPublisher"}, + DefaultNewCellStyle -> "Text", + CellTags -> {"SMDPublisher", "Source Publisher", "TemplateCellGroup"}, + CellID -> 910715536 + ], + Cell[ + "Geographic Coverage", + "Subsubsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "SMDGeographicCoverage"}, + DefaultNewCellStyle -> "Text", + CellTags -> { + "Geographic Coverage", + "SMDGeographicCoverage", + "TemplateCellGroup" + }, + CellID -> 346798217 + ], + Cell[ + "Temporal Coverage", + "Subsubsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "SMDTemporalCoverage"}, + DefaultNewCellStyle -> "Text", + CellTags -> { + "SMDTemporalCoverage", + "TemplateCellGroup", + "Temporal Coverage" + }, + CellID -> 135354521 + ], + Cell[ + "Source Language", + "Subsubsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "SMDLanguage"}, + DefaultNewCellStyle -> "Text", + CellTags -> {"SMDLanguage", "Source Language", "TemplateCellGroup"}, + CellID -> 146694705 + ], + Cell[ + "Rights", + "Subsubsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "SMDRights"}, + DefaultNewCellStyle -> "Text", + CellTags -> {"Rights", "SMDRights", "TemplateCellGroup"}, + CellID -> 190531069 + ] + }, + Open + ] + ], + Cell[ + TextData[ + { + "Links", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "Links", + Cell[ + BoxData[ + FrameBox[ + Cell[ + "List additional URLs or hyperlinks for external information related to the data.", + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoLinks"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Subsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "Links"}, + DefaultNewCellStyle -> "Item", + CellTags -> {"Links", "TemplateCellGroup"}, + CellID -> 255897931 + ], + Cell[ + TextData[ + { + "Keywords", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "Keywords", + Cell[ + BoxData[ + FrameBox[ + Cell[ + "List relevant terms that should be used to include the data in search results.", + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoKeywords"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Subsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "Keywords"}, + DefaultNewCellStyle -> "Item", + CellTags -> {"Keywords", "TemplateCellGroup"}, + CellID -> 266337689 + ], + Cell[ + CellGroupData[ + { + Cell[ + TextData[ + { + "Categories", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "Categories", + Cell[ + BoxData[ + FrameBox[ + Cell[ + "Select any categories which the data covers.", + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoCategories"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Subsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "Categories"}, + DefaultNewCellStyle -> "Item", + CellTags -> {"Categories", "TemplateCellGroup"}, + CellID -> 885722481 + ], + Cell[ + BoxData[ + TagBox[ + GridBox[ + { + { + TagBox[ + GridBox[ + { + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Agriculture"}], + "\" \"", + "\"Agriculture\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Computer Systems"}], + "\" \"", + "\"Computer Systems\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Economics"}], + "\" \"", + "\"Economics\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Geometry Data"}], + "\" \"", + "\"Geometry Data\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Healthcare"}], + "\" \"", + "\"Healthcare\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Language"}], + "\" \"", + "\"Language\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Mathematics"}], + "\" \"", + "\"Mathematics\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Politics"}], + "\" \"", + "\"Politics\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Statistics"}], + "\" \"", + "\"Statistics\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + } + }, + DefaultBaseStyle -> "Column", + GridBoxAlignment -> {"Columns" -> {{Left}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}} + ], + "Column" + ], + TagBox[ + GridBox[ + { + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Astronomy"}], + "\" \"", + "\"Astronomy\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Culture"}], + "\" \"", + "\"Culture\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Education"}], + "\" \"", + "\"Education\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Government"}], + "\" \"", + "\"Government\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "History"}], + "\" \"", + "\"History\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Life Science"}], + "\" \"", + "\"Life Science\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Medicine"}], + "\" \"", + "\"Medicine\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Reference"}], + "\" \"", + "\"Reference\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Text & Literature"}], + "\" \"", + "\"Text & Literature\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + } + }, + DefaultBaseStyle -> "Column", + GridBoxAlignment -> {"Columns" -> {{Left}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}} + ], + "Column" + ], + TagBox[ + GridBox[ + { + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Chemistry"}], + "\" \"", + "\"Chemistry\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Demographics"}], + "\" \"", + "\"Demographics\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Engineering"}], + "\" \"", + "\"Engineering\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Graphics"}], + "\" \"", + "\"Graphics\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Human Activities"}], + "\" \"", + "\"Human Activities\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Machine Learning"}], + "\" \"", + "\"Machine Learning\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Meteorology"}], + "\" \"", + "\"Meteorology\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Social Media"}], + "\" \"", + "\"Social Media\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Transportation"}], + "\" \"", + "\"Transportation\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + } + }, + DefaultBaseStyle -> "Column", + GridBoxAlignment -> {"Columns" -> {{Left}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}} + ], + "Column" + ], + TagBox[ + GridBox[ + { + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Computational Universe"}], + "\" \"", + "\"Computational Universe\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Earth Science"}], + "\" \"", + "\"Earth Science\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Geography"}], + "\" \"", + "\"Geography\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Health"}], + "\" \"", + "\"Health\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Images"}], + "\" \"", + "\"Images\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Manufacturing"}], + "\" \"", + "\"Manufacturing\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Physical Sciences"}], + "\" \"", + "\"Physical Sciences\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Sociology"}], + "\" \"", + "\"Sociology\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + {"\"\""} + }, + DefaultBaseStyle -> "Column", + GridBoxAlignment -> {"Columns" -> {{Left}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}} + ], + "Column" + ] + } + }, + AutoDelete -> False, + BaseStyle -> {"ControlStyle"}, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{2}}} + ], + "Grid" + ] + ], + "Output", + Editable -> False, + Deletable -> False, + TaggingRules -> { + "CheckboxData" -> "OEM6eJxVTm0KgkAUjMjSiG7iIcQKhMDwdYFVx1pa3WXf2x/evpUg6tcM88FMkeaUkMwGtK2DuCA57conuhf6YcWbq+aoJJVgZM6KIHZUoruc0pu3Dl5m2pdK8LBeg2O3dqLtxMP6012wCQacnnstqo0suSjD+BrZCQa/znLAmjBO/4PHahJ452N2WaCsmGYKLSP+OzRgG3yH++xAm5MS9QYdBUrS" + }, + CellTags -> {"Categories", "Categories-Checkboxes", "CheckboxCell"}, + CellID -> 460292996 + ] + }, + Open + ] + ], + Cell[ + CellGroupData[ + { + Cell[ + TextData[ + { + "Content Types", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "ContentTypes", + Cell[ + BoxData[ + FrameBox[ + Cell[ + "Select any of the types of data included in the content elements.", + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoContentTypes"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Subsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "ContentTypes"}, + DefaultNewCellStyle -> "Item", + CellTags -> {"Content Types", "ContentTypes", "TemplateCellGroup"}, + CellID -> 765263253 + ], + Cell[ + BoxData[ + TagBox[ + GridBox[ + { + { + TagBox[ + GridBox[ + { + { + TemplateBox[ + { + CheckboxBox[False, {False, "Audio"}], + "\" \"", + StyleBox[ + "\"Audio\"", + FontSize -> 12, + Editable -> False, + StripOnInput -> False + ] + }, + "RowDefault" + ] + }, + { + TemplateBox[ + { + CheckboxBox[False, {False, "Image"}], + "\" \"", + StyleBox[ + "\"Image\"", + FontSize -> 12, + Editable -> False, + StripOnInput -> False + ] + }, + "RowDefault" + ] + }, + { + TemplateBox[ + { + CheckboxBox["Vector Database", {False, "Vector Database"}], + "\" \"", + StyleBox[ + "\"Vector Database\"", + FontSize -> 12, + Editable -> False, + StripOnInput -> False + ] + }, + "RowDefault" + ] + } + }, + DefaultBaseStyle -> "Column", + GridBoxAlignment -> {"Columns" -> {{Left}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}} + ], + "Column" + ], + TagBox[ + GridBox[ + { + { + TemplateBox[ + { + CheckboxBox[False, {False, "Entity Store"}], + "\" \"", + StyleBox[ + "\"Entity Store\"", + FontSize -> 12, + Editable -> False, + StripOnInput -> False + ] + }, + "RowDefault" + ] + }, + { + TemplateBox[ + { + CheckboxBox[False, {False, "Numerical Data"}], + "\" \"", + StyleBox[ + "\"Numerical Data\"", + FontSize -> 12, + Editable -> False, + StripOnInput -> False + ] + }, + "RowDefault" + ] + }, + { + TemplateBox[ + { + CheckboxBox[False, {False, "Video"}], + "\" \"", + StyleBox[ + "\"Video\"", + FontSize -> 12, + Editable -> False, + StripOnInput -> False + ] + }, + "RowDefault" + ] + } + }, + DefaultBaseStyle -> "Column", + GridBoxAlignment -> {"Columns" -> {{Left}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}} + ], + "Column" + ], + TagBox[ + GridBox[ + { + { + TemplateBox[ + { + CheckboxBox[False, {False, "Geospatial Data"}], + "\" \"", + StyleBox[ + "\"Geospatial Data\"", + FontSize -> 12, + Editable -> False, + StripOnInput -> False + ] + }, + "RowDefault" + ] + }, + { + TemplateBox[ + { + CheckboxBox[False, {False, "Text"}], + "\" \"", + StyleBox[ + "\"Text\"", + FontSize -> 12, + Editable -> False, + StripOnInput -> False + ] + }, + "RowDefault" + ] + }, + {"\"\""} + }, + DefaultBaseStyle -> "Column", + GridBoxAlignment -> {"Columns" -> {{Left}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}} + ], + "Column" + ], + TagBox[ + GridBox[ + { + { + TemplateBox[ + { + CheckboxBox[False, {False, "Graphs"}], + "\" \"", + StyleBox[ + "\"Graphs\"", + FontSize -> 12, + Editable -> False, + StripOnInput -> False + ] + }, + "RowDefault" + ] + }, + { + TemplateBox[ + { + CheckboxBox[False, {False, "Time Series"}], + "\" \"", + StyleBox[ + "\"Time Series\"", + FontSize -> 12, + Editable -> False, + StripOnInput -> False + ] + }, + "RowDefault" + ] + }, + {"\"\""} + }, + DefaultBaseStyle -> "Column", + GridBoxAlignment -> {"Columns" -> {{Left}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}} + ], + "Column" + ] + } + }, + AutoDelete -> False, + BaseStyle -> {"ControlStyle", ShowStringCharacters -> False}, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{2}}} + ], + "Grid" + ] + ], + "Output", + Editable -> False, + Deletable -> False, + TaggingRules -> { + "CheckboxData" -> "OEM6eJxdjtEKgkAQRQk0EyV/oR/wI2QjECKjid5XnUjSnWVn9sG/b416qNfLPfeeKishBplHhHXjxXopIVEP7J7Y31ccHQcWKG7YCbndXotuNWNAasGJOa280KRl6ErYnB1ZdDJDrsgIGrnOFjnMNVYGMr/tRNHop79wWwfOWYeiFwLSyszgW8YglSnPoViboMjxQY+Lxjd8y0QnMiHLL8jkXYfLPUSLcwmFoimA2H9uVfQCKx5XrQ==" + }, + CellTags -> {"CheckboxCell", "ContentTypes", "ContentTypes-Checkboxes"}, + CellID -> 413260493 + ] + }, + Open + ] + ], + Cell[ + TextData[ + { + "Related Resource Objects", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "SeeAlso", + Cell[ + BoxData[ + FrameBox[ + Cell[ + "List the names of published resource objects from any Wolfram repository that are related to this data.", + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoSeeAlso"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Subsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "SeeAlso"}, + DefaultNewCellStyle -> "Item", + CellTags -> { + "Related Resource Objects", + "SeeAlso", + "TemplateCellGroup" + }, + CellID -> 398191659 + ], + Cell[ + TextData[ + { + "Related Symbols", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "RelatedSymbols", + Cell[ + BoxData[ + FrameBox[ + Cell[ + "List documented, system-level Wolfram Language symbols related to the data.", + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoRelatedSymbols"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Subsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "RelatedSymbols"}, + DefaultNewCellStyle -> "Item", + CellTags -> {"Related Symbols", "RelatedSymbols", "TemplateCellGroup"}, + CellID -> 661598311 + ] + }, + Open + ] + ], + Cell[ + TextData[ + { + "Author Notes", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "AuthorNotes", + Cell[ + BoxData[ + FrameBox[ + Cell[ + "Include any notes you would like to be published along with the resource.\n\nThese notes will be available to all users and can include known limitations or possible improvements to the data.", + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoAuthorNotes"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Section", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "AuthorNotes"}, + DefaultNewCellStyle -> "Text", + CellTags -> {"Author Notes", "AuthorNotes", "TemplateCellGroup"}, + CellID -> 823423117 + ], + Cell[ + CellGroupData[ + { + Cell[ + TextData[ + { + "Submission Notes", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "SubmissionNotes", + Cell[ + BoxData[ + FrameBox[ + Cell[ + "Enter any additional information that you would like to communicate to the reviewer here. This section will not be included in the published resource.", + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoSubmissionNotes"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Section", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "SubmissionNotes"}, + DefaultNewCellStyle -> "Text", + CellTags -> { + "Submission Notes", + "SubmissionNotes", + "TemplateCellGroup" + }, + CellID -> 161504757 + ], + Cell[ + "This should be marked as non-discoverable, since it's not very useful without the relevant internal Chatbook code that interprets the results.", + "Text", + CellID -> 246497798 + ] + }, + Open + ] + ] + }, + Open + ] + ] + }, + Visible -> True, + TaggingRules -> { + "ResourceType" -> "Data", + "ResourceCreateNotebook" -> True, + "TemplateVersion" -> "2022.09.15", + "CreationTimestamp" -> 3932453782.0, + "UpdatedTimestamp" -> 3932453782.0, + "CompatibilityTest" -> + HoldComplete[ + BinaryDeserialize[ + BaseDecode[ + "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" + ] + ] + ], + "DefinitionNotebookFramework" -> "DefinitionNotebookClient", + "RuntimeConfiguration" -> { + "Contexts" -> {"DataResource`", "DataResource`DefinitionNotebook`"}, + "DefaultContentMethod" -> "Legacy", + "HintPods" -> True, + "LoadingMethod" -> "Paclet", + "PacletName" -> "DataResource", + "SourceID" -> "aab60bd760a6c130942c461f106d46d75083799b" + }, + "ToolsOpen" -> True, + "StatusMessage" -> "", + "SubmissionReviewData" -> {"Review" -> False}, + "AutoUpdate" -> True + }, + CreateCellID -> True, + StyleDefinitions -> + Notebook[ + { + Cell[StyleData[StyleDefinitions -> "Default.nb"]], + Cell[ + StyleData[All, "Working"], + WindowToolbars -> { }, + DockedCells -> { + Cell[ + BoxData[TemplateBox[{}, "MainGridTemplate"]], + "DockedCell", + CellMargins -> {{-10, -10}, {-8, -8}}, + CellFrame -> 0, + Background -> RGBColor[0.16078, 0.40392, 0.56078], + CellTags -> {"MainDockedCell"}, + CacheGraphics -> False + ], + Cell[ + BoxData[TemplateBox[{}, "ToolsGridTemplate"]], + "DockedCell", + TaggingRules -> {"Tools" -> True}, + CellTags -> {"ToolbarDockedCell"}, + CellFrameMargins -> {{0, 0}, {2, 2}}, + CellFrame -> {{0, 0}, {1, 0}}, + CacheGraphics -> False, + CellOpen -> + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ToolsOpen"}, + True + ] + ] + ] + }, + PrivateNotebookOptions -> { + "FileOutlineCache" -> False, + "SafeFileOpen" -> "IgnoreCache" + }, + CellLabelAutoDelete -> False, + CodeAssistOptions -> {"AutoDetectHyperlinks" -> False}, + AutoQuoteCharacters -> { }, + PasteAutoQuoteCharacters -> { } + ], + Cell["Hint Styles", "Section"], + Cell[ + StyleData[ + "MoreInfoText", + StyleDefinitions -> StyleData["Text"] + ], + FontColor -> GrayLevel[0.25] + ], + Cell[ + StyleData[ + "ErrorText", + StyleDefinitions -> StyleData["Text"] + ], + ShowCellBracket -> False, + CellMargins -> {{66, Inherited}, {10, 10}}, + CellElementSpacings -> {"CellMinHeight" -> 0, "ClosedCellHeight" -> 0}, + FontWeight -> Bold, + FontColor -> RGBColor[1, 0, 0] + ], + Cell[ + StyleData[ + "WarningText", + StyleDefinitions -> StyleData["Text"] + ], + ShowCellBracket -> False, + CellMargins -> {{66, 35}, {0, 0}}, + FontSize -> 14, + GridBoxOptions -> {BaseStyle -> {}} + ], + Cell["Template Boxes", "Section"], + Cell[ + StyleData["MoreInfoOpenerIconTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + PaneSelectorBox[ + { + False -> + GraphicsBox[ + { + Thickness[0.090909], + StyleBox[ + { + JoinedCurveBox[ + { + { + {1, 4, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + } + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBGJJIGYC4oSnF5RuVyo58OlumvteXcIBxj//Pfjx0tky\nDp8u+SYJzFB0kGQJ49MtUnBYIKV/V4UNRis5GHKskYl6AlOnDNUHM0cFaq4I\nnD/niMKGogx+OB+oO8X6Phtcf/+hrxox/Qxw80HKftZ9sYfZ/7BKZJ37w1f2\nMPfB+DD3w/h+SQIRlluE4foh9vDBzYfQHHD7izMmvq2xZ4K7r9CW6/rigr/2\nMPfD+DD/wfgw/8P0w8IHZj4s/GD2w8IX5j708AcA2Xetpg==\n " + ], + CurveClosed -> {1} + ] + }, + { + JoinForm[{"Miter", 3.25}], + Thickness[0.045818], + RGBColor[0.62744, 0.62744, 0.62744, 1.0] + }, + StripOnInput -> False + ], + StyleBox[ + { + FilledCurveBox[ + { + { + {1, 4, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + }, + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0} + } + }, + { + CompressedData[ + "\n1:eJxTTMoPSmViYGCQBGIQ3b48/JRRi4jD3qBpin2m8g5n6j32194VhvNZnvdo\nvPUVdoh2sntxM0feQfiT4/m0q0IOQNnSwtvyDmxCIvbHYoQcMhnyG1lUFRyk\neR/oTlAAym/iKVyTjeAf2aiXt/gggt+odqhtubgiXP+k00CLYxXh5mdrf5t+\nd7Ii3P5LDPeYOE8pwt33vfTBHMGnig4w98P4j5fOPqJgIArn539oPRlyUBSu\n/9OGgOxZ5mJw88sKgS5aKwa3XzOm/9DXF2Jw98H4MPfD+DD/wfTD/A8zHxY+\nMPth4QdzHyx80cMfAIsMpwk=\n " + ], + CompressedData[ + "\n1:eJxTTMoPSmViYGCQB2IQXTFnkfJOGwmHsNp125Lq+R1g/G8aMf2HvvI4KP39\nVvrgjgAGH6b+c19wicp0IQeBKrPVduICcL6EWjDr4ksCqPLTBeH8211/U7+n\nCMH5S+7v45tjLAznX773gHvySwS/qdhtyrc2ETj/04aA7FnfReH8RxHi2y8e\nEIPzNUHOzRCH8x8vnX1E4QOCP+/98mPe5RJw/o9goAoWSTj/6vMs7W/TJR0O\nX9ZOlVwk4PB2no3OlVsI/jKgcRs+STlonhY4vstCzCFoh1zr64syDkBXssXP\nEHO4WvFSzbADwa9JNAo1yJKA82H+gfFh/oXxA29JA7Ug+GY2e4OmJQrB+f83\nVX/aMEEQzrerjFhhelYAzofFB3r8AgApYdcE\n " + ] + } + ] + }, + {FaceForm[RGBColor[0.62744, 0.62744, 0.62744, 1.0]]}, + StripOnInput -> False + ] + }, + ImageSize -> {11.0, 11.0}, + PlotRange -> {{0.0, 11.0}, {0.0, 11.0}}, + AspectRatio -> Automatic + ], + True -> + GraphicsBox[ + { + Thickness[0.090909], + StyleBox[ + { + JoinedCurveBox[ + { + { + {1, 4, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + } + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBGJJIGYC4oSnF5RuVyo58OlumvteXcIBxj//Pfjx0tky\nDp8u+SYJzFB0kGQJ49MtUnBYIKV/V4UNRis5GHKskYl6AlOnDNUHM0cFaq4I\nnD/niMKGogx+OB+oO8X6Phtcf/+hrxox/Qxw80HKftZ9sYfZ/7BKZJ37w1f2\nMPfB+DD3w/h+SQIRlluE4foh9vDBzYfQHHD7izMmvq2xZ4K7r9CW6/rigr/2\nMPfD+DD/wfgw/8P0w8IHZj4s/GD2w8IX5j708AcA2Xetpg==\n " + ], + CurveClosed -> {1} + ] + }, + { + JoinForm[{"Miter", 3.25}], + Thickness[0.045818], + RGBColor[0.5, 0.5, 0.5, 1.0] + }, + StripOnInput -> False + ], + StyleBox[ + { + FilledCurveBox[ + { + { + {1, 4, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + } + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBGJJIGYC4oSnF5RuVyo58OlumvteXcIBxj//Pfjx0tky\nDp8u+SYJzFB0kGQJ49MtUnBYIKV/V4UNRis5GHKskYl6AlOnDNUHM0cFaq4I\nnD/niMKGogx+OB+oO8X6Phtcf/+hrxox/Qxw80HKftZ9sYfZ/7BKZJ37w1f2\nMPfB+DD3w/h+SQIRlluE4foh9vDBzYfQHHD7izMmvq2xZ4K7r9CW6/rigr/2\nMPfD+DD/wfgw/8P0w8IHZj4s/GD2w8IX5j708AcA2Xetpg==\n " + ] + ] + }, + {FaceForm[RGBColor[0.5, 0.5, 0.5, 1.0]]}, + StripOnInput -> False + ], + StyleBox[ + { + FilledCurveBox[ + { + { + {1, 4, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + }, + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0} + } + }, + { + CompressedData[ + "\n1:eJxTTMoPSmViYGCQBGIQ3b48/JRRi4jD3qBpin2m8g5n6j32194VhvNZnvdo\nvPUVdoh2sntxM0feQfiT4/m0q0IOQNnSwtvyDmxCIvbHYoQcMhnyG1lUFRyk\neR/oTlAAym/iKVyTjeAf2aiXt/gggt+odqhtubgiXP+k00CLYxXh5mdrf5t+\nd7Ii3P5LDPeYOE8pwt33vfTBHMGnig4w98P4j5fOPqJgIArn539oPRlyUBSu\n/9OGgOxZ5mJw88sKgS5aKwa3XzOm/9DXF2Jw98H4MPfD+DD/wfTD/A8zHxY+\nMPth4QdzHyx80cMfAIsMpwk=\n " + ], + CompressedData[ + "\n1:eJxTTMoPSmViYGCQB2IQXTFnkfJOGwmHsNp125Lq+R1g/G8aMf2HvvI4KP39\nVvrgjgAGH6b+c19wicp0IQeBKrPVduICcL6EWjDr4ksCqPLTBeH8211/U7+n\nCMH5S+7v45tjLAznX773gHvySwS/qdhtyrc2ETj/04aA7FnfReH8RxHi2y8e\nEIPzNUHOzRCH8x8vnX1E4QOCP+/98mPe5RJw/o9goAoWSTj/6vMs7W/TJR0O\nX9ZOlVwk4PB2no3OlVsI/jKgcRs+STlonhY4vstCzCFoh1zr64syDkBXssXP\nEHO4WvFSzbADwa9JNAo1yJKA82H+gfFh/oXxA29JA7Ug+GY2e4OmJQrB+f83\nVX/aMEEQzrerjFhhelYAzofFB3r8AgApYdcE\n " + ] + } + ] + }, + {FaceForm[RGBColor[0.99998, 0.99998, 0.99998, 1.0]]}, + StripOnInput -> False + ] + }, + ImageSize -> {11.0, 11.0}, + PlotRange -> {{0.0, 11.0}, {0.0, 11.0}}, + AspectRatio -> Automatic + ] + }, + Dynamic[CurrentValue["MouseOver"]], + ImageSize -> Automatic, + FrameMargins -> 0 + ] + ]) + } + ], + Cell[ + StyleData["MoreInfoOpenerButtonTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + AdjustmentBox[ + DynamicModuleBox[ + { + RSNB`mPosRegion$$, + RSNB`attachPos$$, + RSNB`offsetPos$$, + RSNB`horizontalRegion$$, + RSNB`verticalRegion$$, + RSNB`chooseAttachLocation$$ + }, + TagBox[ + TemplateBox[ + { + TemplateBox[{}, "MoreInfoOpenerIconTemplate"], + "\"Click for more information\"" + }, + "PrettyTooltipTemplate" + ], + EventHandlerTag[ + { + "MouseDown" :> + AttachCell[ + ParentBox[EvaluationBox[]], + #2, + RSNB`chooseAttachLocation$$[], + RemovalConditions -> {"EvaluatorQuit", "MouseClickOutside"} + ], + Method -> "Preemptive", + PassEventsDown -> Automatic, + PassEventsUp -> True + } + ] + ], + DynamicModuleValues :> { + { + DownValues[RSNB`mPosRegion$$] = { + HoldPattern[RSNB`mPosRegion$$[]] :> + RSNB`mPosRegion$$[Ceiling[MousePosition["WindowScaled"]*3]], + HoldPattern[ + RSNB`mPosRegion$$[ + Pattern[RSNB`reg, {Blank[Integer], Blank[Integer]}] + ] + ] :> RSNB`reg, + HoldPattern[RSNB`mPosRegion$$[BlankNullSequence[]]] :> None + } + }, + { + DownValues[RSNB`attachPos$$] = { + HoldPattern[ + RSNB`attachPos$$[ + { + Pattern[RSNB`h$, Blank[Integer]], + Pattern[RSNB`v$, Blank[Integer]] + } + ] + ] :> { + RSNB`horizontalRegion$$[RSNB`h$], + RSNB`verticalRegion$$[RSNB`v$] + } + } + }, + { + DownValues[RSNB`offsetPos$$] = { + HoldPattern[ + RSNB`offsetPos$$[ + { + Pattern[RSNB`h$, Blank[Integer]], + Pattern[RSNB`v$, Blank[Integer]] + } + ] + ] :> { + RSNB`horizontalRegion$$[4 - RSNB`h$], + RSNB`verticalRegion$$[4 - RSNB`v$] + } + } + }, + { + DownValues[RSNB`horizontalRegion$$] = { + HoldPattern[RSNB`horizontalRegion$$[1]] :> Left, + HoldPattern[RSNB`horizontalRegion$$[2]] :> Center, + HoldPattern[RSNB`horizontalRegion$$[3]] :> Right + } + }, + { + DownValues[RSNB`verticalRegion$$] = { + HoldPattern[RSNB`verticalRegion$$[1]] :> Top, + HoldPattern[RSNB`verticalRegion$$[2]] :> Top, + HoldPattern[RSNB`verticalRegion$$[3]] :> Top + } + }, + { + DownValues[RSNB`chooseAttachLocation$$] = { + HoldPattern[RSNB`chooseAttachLocation$$[]] :> + With[ { RSNB`p$ = RSNB`mPosRegion$$[] }, + Apply[ + Sequence, + { + RSNB`offsetPos$$[RSNB`p$], + {-30, 30}, + RSNB`attachPos$$[RSNB`p$] + } + ] + ] + } + } + } + ], + BoxBaselineShift -> -0.5, + BoxMargins -> 0.2 + ] + ]) + } + ], + Cell[ + StyleData["InlineMoreInfoOpenerButtonTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + AdjustmentBox[ + DynamicModuleBox[ + { + RSNB`mPosRegion$$, + RSNB`attachPos$$, + RSNB`offsetPos$$, + RSNB`horizontalRegion$$, + RSNB`verticalRegion$$, + RSNB`chooseAttachLocation$$ + }, + TagBox[ + TemplateBox[ + {TemplateBox[{}, "MoreInfoOpenerIconTemplate"], #4}, + "PrettyTooltipTemplate" + ], + EventHandlerTag[ + { + "MouseDown" :> + AttachCell[ + ParentBox[EvaluationBox[]], + #2, + RSNB`chooseAttachLocation$$[], + RemovalConditions -> {"EvaluatorQuit", "MouseClickOutside"} + ], + Method -> "Preemptive", + PassEventsDown -> Automatic, + PassEventsUp -> True + } + ] + ], + DynamicModuleValues :> { + { + DownValues[RSNB`mPosRegion$$] = { + HoldPattern[RSNB`mPosRegion$$[]] :> + RSNB`mPosRegion$$[Ceiling[MousePosition["WindowScaled"]*3]], + HoldPattern[ + RSNB`mPosRegion$$[ + Pattern[RSNB`reg, {Blank[Integer], Blank[Integer]}] + ] + ] :> RSNB`reg, + HoldPattern[RSNB`mPosRegion$$[BlankNullSequence[]]] :> None + } + }, + { + DownValues[RSNB`attachPos$$] = { + HoldPattern[ + RSNB`attachPos$$[ + { + Pattern[RSNB`h$, Blank[Integer]], + Pattern[RSNB`v$, Blank[Integer]] + } + ] + ] :> { + RSNB`horizontalRegion$$[RSNB`h$], + RSNB`verticalRegion$$[RSNB`v$] + } + } + }, + { + DownValues[RSNB`offsetPos$$] = { + HoldPattern[ + RSNB`offsetPos$$[ + { + Pattern[RSNB`h$, Blank[Integer]], + Pattern[RSNB`v$, Blank[Integer]] + } + ] + ] :> { + RSNB`horizontalRegion$$[4 - RSNB`h$], + RSNB`verticalRegion$$[4 - RSNB`v$] + } + } + }, + { + DownValues[RSNB`horizontalRegion$$] = { + HoldPattern[RSNB`horizontalRegion$$[1]] :> Left, + HoldPattern[RSNB`horizontalRegion$$[2]] :> Center, + HoldPattern[RSNB`horizontalRegion$$[3]] :> Right + } + }, + { + DownValues[RSNB`verticalRegion$$] = { + HoldPattern[RSNB`verticalRegion$$[1]] :> Top, + HoldPattern[RSNB`verticalRegion$$[2]] :> Top, + HoldPattern[RSNB`verticalRegion$$[3]] :> Top + } + }, + { + DownValues[RSNB`chooseAttachLocation$$] = { + HoldPattern[RSNB`chooseAttachLocation$$[]] :> + With[ { RSNB`p$ = RSNB`mPosRegion$$[] }, + Apply[ + Sequence, + { + RSNB`offsetPos$$[RSNB`p$], + {-30, 30}, + RSNB`attachPos$$[RSNB`p$] + } + ] + ] + } + } + } + ], + BoxBaselineShift -> -0.5, + BoxMargins -> 0.2 + ] + ]) + } + ], + Cell[ + StyleData["ClickToCopyTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + PaneSelectorBox[ + { + False -> + TagBox[ + GridBox[ + { + { + #1, + ButtonBox[ + GraphicsBox[ + { + GrayLevel[0.85], + Thickness[NCache[2/45, 0.044444]], + FilledCurveBox[ + { + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0} + }, + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0} + }, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + { + { + {10.5, 18.75}, + {10.5, 18.0}, + {9.0, 18.0}, + {9.0, 15.75}, + {13.5, 15.75}, + {13.5, 18.0}, + {12.0, 18.0}, + {12.0, 18.75} + }, + { + {6.0, 18.0}, + {6.0, 4.5}, + {16.5, 4.5}, + {16.5, 18.0}, + {14.25, 18.0}, + {14.25, 17.25}, + {15.75, 17.25}, + {15.75, 5.25}, + {6.75, 5.25}, + {6.75, 17.25}, + {8.25, 17.25}, + {8.25, 18.0} + }, + { + {9.75, 17.25}, + {12.75, 17.25}, + {12.75, 16.5}, + {9.75, 16.5} + } + } + ], + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + { + { + {8.25, 14.25}, + {14.25, 14.25}, + {14.25, 13.5}, + {8.25, 13.5} + }, + { + {8.25, 12.0}, + {14.25, 12.0}, + {14.25, 11.25}, + {8.25, 11.25} + }, + {{8.25, 9.75}, {14.25, 9.75}, {14.25, 9.0}, {8.25, 9.0}}, + {{8.25, 7.5}, {14.25, 7.5}, {14.25, 6.75}, {8.25, 6.75}} + } + ] + }, + ImageSize -> 12 + ], + ButtonFunction :> Null, + Appearance -> {"Default" -> None, "Hover" -> None, "Pressed" -> None}, + Evaluator -> Automatic, + Method -> "Preemptive" + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Center}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{0.4}}} + ], + "Grid" + ], + True -> + DynamicModuleBox[ + {RSNB`clickTime$$ = 0.0, RSNB`timeout$$ = 3.0}, + TagBox[ + GridBox[ + { + { + #1, + TagBox[ + ButtonBox[ + DynamicBox[ + ToBoxes[ + Refresh[ + If[ AbsoluteTime[] - RSNB`clickTime$$ > RSNB`timeout$$, + RawBoxes[ + TemplateBox[ + { + PaneSelectorBox[ + { + False -> + GraphicsBox[ + { + GrayLevel[0.65], + Thickness[NCache[2/45, 0.044444]], + FilledCurveBox[ + { + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0} + }, + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0} + }, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + { + { + {10.5, 18.75}, + {10.5, 18.0}, + {9.0, 18.0}, + {9.0, 15.75}, + {13.5, 15.75}, + {13.5, 18.0}, + {12.0, 18.0}, + {12.0, 18.75} + }, + { + {6.0, 18.0}, + {6.0, 4.5}, + {16.5, 4.5}, + {16.5, 18.0}, + {14.25, 18.0}, + {14.25, 17.25}, + {15.75, 17.25}, + {15.75, 5.25}, + {6.75, 5.25}, + {6.75, 17.25}, + {8.25, 17.25}, + {8.25, 18.0} + }, + { + {9.75, 17.25}, + {12.75, 17.25}, + {12.75, 16.5}, + {9.75, 16.5} + } + } + ], + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + { + { + {8.25, 14.25}, + {14.25, 14.25}, + {14.25, 13.5}, + {8.25, 13.5} + }, + { + {8.25, 12.0}, + {14.25, 12.0}, + {14.25, 11.25}, + {8.25, 11.25} + }, + {{8.25, 9.75}, {14.25, 9.75}, {14.25, 9.0}, {8.25, 9.0}}, + {{8.25, 7.5}, {14.25, 7.5}, {14.25, 6.75}, {8.25, 6.75}} + } + ] + }, + ImageSize -> 12 + ], + True -> + GraphicsBox[ + { + RGBColor[0.98824, 0.41961, 0.20392], + Thickness[NCache[2/45, 0.044444]], + FilledCurveBox[ + { + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0} + }, + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0} + }, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + { + { + {10.5, 18.75}, + {10.5, 18.0}, + {9.0, 18.0}, + {9.0, 15.75}, + {13.5, 15.75}, + {13.5, 18.0}, + {12.0, 18.0}, + {12.0, 18.75} + }, + { + {6.0, 18.0}, + {6.0, 4.5}, + {16.5, 4.5}, + {16.5, 18.0}, + {14.25, 18.0}, + {14.25, 17.25}, + {15.75, 17.25}, + {15.75, 5.25}, + {6.75, 5.25}, + {6.75, 17.25}, + {8.25, 17.25}, + {8.25, 18.0} + }, + { + {9.75, 17.25}, + {12.75, 17.25}, + {12.75, 16.5}, + {9.75, 16.5} + } + } + ], + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + { + { + {8.25, 14.25}, + {14.25, 14.25}, + {14.25, 13.5}, + {8.25, 13.5} + }, + { + {8.25, 12.0}, + {14.25, 12.0}, + {14.25, 11.25}, + {8.25, 11.25} + }, + {{8.25, 9.75}, {14.25, 9.75}, {14.25, 9.0}, {8.25, 9.0}}, + {{8.25, 7.5}, {14.25, 7.5}, {14.25, 6.75}, {8.25, 6.75}} + } + ] + }, + ImageSize -> 12 + ] + }, + Dynamic[CurrentValue["MouseOver"]], + ImageSize -> Automatic, + FrameMargins -> 0 + ], + "\"Click to copy to the clipboard\"" + }, + "PrettyTooltipTemplate" + ] + ], + RawBoxes[ + TemplateBox[ + { + GraphicsBox[ + { + RGBColor[0, NCache[2/3, 0.66667], 0], + Thickness[NCache[2/45, 0.044444]], + FilledCurveBox[ + { + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0} + }, + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0} + }, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + { + { + {10.5, 18.75}, + {10.5, 18.0}, + {9.0, 18.0}, + {9.0, 15.75}, + {13.5, 15.75}, + {13.5, 18.0}, + {12.0, 18.0}, + {12.0, 18.75} + }, + { + {6.0, 18.0}, + {6.0, 4.5}, + {16.5, 4.5}, + {16.5, 18.0}, + {14.25, 18.0}, + {14.25, 17.25}, + {15.75, 17.25}, + {15.75, 5.25}, + {6.75, 5.25}, + {6.75, 17.25}, + {8.25, 17.25}, + {8.25, 18.0} + }, + { + {9.75, 17.25}, + {12.75, 17.25}, + {12.75, 16.5}, + {9.75, 16.5} + } + } + ], + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + { + { + {8.25, 14.25}, + {14.25, 14.25}, + {14.25, 13.5}, + {8.25, 13.5} + }, + { + {8.25, 12.0}, + {14.25, 12.0}, + {14.25, 11.25}, + {8.25, 11.25} + }, + {{8.25, 9.75}, {14.25, 9.75}, {14.25, 9.0}, {8.25, 9.0}}, + {{8.25, 7.5}, {14.25, 7.5}, {14.25, 6.75}, {8.25, 6.75}} + } + ] + }, + ImageSize -> 12 + ], + "\"Copied\"" + }, + "PrettyTooltipTemplate" + ] + ] + ], + UpdateInterval -> 1, + TrackedSymbols :> {RSNB`clickTime$$} + ], + StandardForm + ], + Evaluator -> "System" + ], + ButtonFunction :> + (RSNB`clickTime$$ = AbsoluteTime[]; + CopyToClipboard[BinaryDeserialize[BaseDecode[#2], Defer]]), + Appearance -> {"Default" -> None, "Hover" -> None, "Pressed" -> None}, + Method -> "Queued", + Evaluator -> "System" + ], + MouseAppearanceTag["LinkHand"] + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Center}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{0.4}}} + ], + "Grid" + ], + DynamicModuleValues :> { } + ] + }, + Dynamic[CurrentValue["MouseOver"]], + ImageSize -> Automatic, + FrameMargins -> 0 + ] + ]) + } + ], + Cell[ + StyleData["PrettyTooltipTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + TagBox[ + TooltipBox[ + #1, + FrameBox[ + StyleBox[ + #2, + "Text", + FontColor -> RGBColor[0.53725, 0.53725, 0.53725], + FontSize -> 12, + FontWeight -> "Plain", + FontTracking -> "Plain", + StripOnInput -> False + ], + Background -> RGBColor[0.96078, 0.96078, 0.96078], + FrameStyle -> RGBColor[0.89804, 0.89804, 0.89804], + FrameMargins -> 8, + StripOnInput -> False + ], + TooltipDelay -> 0.1, + TooltipStyle -> {Background -> None, CellFrame -> 0} + ], + Function[ + Annotation[ + #1, + Framed[ + Style[ + RSNB`$$tooltip, + "Text", + FontColor -> RGBColor[0.53725, 0.53725, 0.53725], + FontSize -> 12, + FontWeight -> "Plain", + FontTracking -> "Plain" + ], + Background -> RGBColor[0.96078, 0.96078, 0.96078], + FrameStyle -> RGBColor[0.89804, 0.89804, 0.89804], + FrameMargins -> 8 + ], + "Tooltip" + ] + ] + ] + ]) + } + ], + Cell[ + StyleData["ToolsGridTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + StyleBox[ + TagBox[ + GridBox[ + { + { + FrameBox[ + ButtonBox[ + TemplateBox[ + { + StyleBox[ + TagBox[ + GridBox[ + { + { + "\"Insert ResourceObject\"", + GraphicsBox[ + { + Thickness[0.05], + { + FaceForm[{GrayLevel[0.34902], Opacity[1.0]}], + FilledCurveBox[ + { + { + {1, 4, 3}, + {0, 1, 0}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3} + } + }, + { + { + {18.0, 17.5}, + {18.0, 18.328}, + {17.328, 19.0}, + {16.5, 19.0}, + {4.5, 19.0}, + {3.6716, 19.0}, + {3.0, 18.328}, + {3.0, 17.5}, + {3.0, 3.5}, + {3.0, 2.6716}, + {3.6716, 2.0}, + {4.5, 2.0}, + {16.5, 2.0}, + {17.328, 2.0}, + {18.0, 2.6716}, + {18.0, 3.5} + } + } + ] + }, + { + FaceForm[{GrayLevel[0.34902], Opacity[1.0]}], + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + { + {{5.0, 12.0}, {5.0, 11.0}, {2.0, 11.0}, {2.0, 12.0}}, + {{2.0, 10.0}, {2.0, 9.0}, {5.0, 9.0}, {5.0, 10.0}}, + {{2.0, 14.0}, {2.0, 13.0}, {5.0, 13.0}, {5.0, 14.0}}, + {{2.0, 8.0}, {2.0, 7.0}, {5.0, 7.0}, {5.0, 8.0}}, + {{2.0, 6.0}, {2.0, 5.0}, {5.0, 5.0}, {5.0, 6.0}}, + { + {5.0, 18.0}, + {2.0, 18.0}, + {2.0, 17.0}, + {5.0, 17.0}, + {5.0, 18.0} + }, + { + {5.0, 4.0}, + {2.0, 4.0}, + {2.0, 3.0}, + {5.0, 3.0}, + {5.0, 4.0} + }, + {{2.0, 16.0}, {2.0, 15.0}, {5.0, 15.0}, {5.0, 16.0}} + } + ] + }, + { + FaceForm[{GrayLevel[1], Opacity[1.0]}], + FilledCurveBox[ + { + { + {0, 2, 0}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3} + } + }, + { + { + {4.5, 18.0}, + {16.5, 18.0}, + {16.776, 18.0}, + {17.0, 17.776}, + {17.0, 17.5}, + {17.0, 3.5}, + {17.0, 3.2236}, + {16.776, 3.0}, + {16.5, 3.0}, + {4.5, 3.0}, + {4.2236, 3.0}, + {4.0, 3.2236}, + {4.0, 3.5}, + {4.0, 17.5}, + {4.0, 17.776}, + {4.2236, 18.0}, + {4.5, 18.0} + } + } + ] + }, + { + FaceForm[{RGBColor[0.86667, 0.06667, 0.0], Opacity[1.0]}], + FilledCurveBox[ + { + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0} + }, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + { + CompressedData[ + "\n1:eJxTTMoPSmViYGAQAWIQrbtp7vvlx3QcGMBA1aH5wKmFrt/0He77907Pm6Th\nkCQQYbnFQ9shxRokoulw+KtGTP8hbQenhKcXlKL1HEIeL519JEHdASydpwPV\nr+Iw54jChiIPAwdlr+pm/R4luPyd643FbiEyDue/Bz9eCtTv8bBKZJ27rMOn\nS75JAjM0HZRyKqqWvhF2+FWXtadksoaDKlvjVGdvKbj7zq06fzUMKB8FclCu\nosMuTx4mbaD+qxUv1QwzFBwOrlji5xAs4+CSmf+h1VPcAey9biWH3LDadduU\npOHum/i2xt70npDDcW/zTkeg+yWmXuHMAMrD/Afxtzjc/w3bHZoepSvAw2fj\nw5dTN+UoOgAARNmGkQ==\n " + ], + { + {14.809, 9.3454}, + {13.744, 9.7099}, + {13.017, 10.654}, + {13.953, 10.307} + }, + { + {11.371, 7.1364}, + {10.712, 6.0044}, + {10.712, 7.177}, + {11.398, 8.1788} + }, + { + {9.8213, 12.979}, + {8.6908, 13.381}, + {8.0367, 14.264}, + {9.2241, 13.743} + }, + { + {11.738, 13.743}, + {12.925, 14.264}, + {12.271, 13.381}, + {11.141, 12.979} + }, + { + {13.177, 12.7}, + {12.603, 11.886}, + {12.637, 13.113}, + {13.309, 14.019} + }, + { + {10.481, 7.6484}, + {9.6004, 8.9331}, + {10.481, 10.128}, + {11.361, 8.9331} + }, + { + {8.8261, 11.306}, + {8.782, 12.866}, + {10.249, 12.344}, + {10.249, 10.826} + }, + { + {10.712, 12.344}, + {12.179, 12.866}, + {12.137, 11.306}, + {10.712, 10.826} + }, + { + {7.7855, 12.7}, + {7.6538, 14.019}, + {8.325, 13.113}, + {8.3587, 11.887} + }, + { + {10.114, 10.394}, + {9.2339, 9.2003}, + {7.7378, 9.6414}, + {8.6871, 10.875} + }, + { + {9.5648, 8.1792}, + {10.249, 7.177}, + {10.249, 6.004}, + {9.5887, 7.1366} + }, + { + {10.848, 10.394}, + {12.275, 10.875}, + {13.224, 9.6414}, + {11.728, 9.2003} + }, + { + {15.126, 12.009}, + {14.018, 10.766}, + {12.711, 11.252}, + {13.495, 12.364} + }, + { + {10.481, 15.384}, + {11.321, 13.946}, + {10.481, 12.872}, + {9.641, 13.946} + }, + { + {5.8362, 12.01}, + {7.467, 12.365}, + {8.2511, 11.252}, + {6.9436, 10.767} + }, + { + {7.009, 10.307}, + {7.9452, 10.655}, + {7.2182, 9.7099}, + {6.152, 9.3459} + }, + { + {6.2515, 8.9006}, + {7.3612, 9.2795}, + {8.5462, 8.9302}, + {7.5545, 8.6165} + }, + { + {7.776, 8.2109}, + {9.1027, 8.6306}, + {9.1365, 7.2193}, + {7.6098, 6.5491} + }, + { + {11.824, 7.219}, + {11.859, 8.6305}, + {13.185, 8.2104}, + {13.351, 6.5484} + }, + { + {13.407, 8.6159}, + {12.415, 8.9301}, + {13.6, 9.2795}, + {14.71, 8.8998} + } + } + ] + } + }, + AspectRatio -> Automatic, + ImageSize -> 12, + PlotRange -> {{0.0, 20.0}, {0.0, 20.0}}, + PlotRangePadding -> 0, + BaselinePosition -> Scaled[0.2] + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Center}}, "Rows" -> {{Baseline}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{0.25}}} + ], + "Grid" + ], + "Text", + FontFamily -> "Source Sans Pro", + FontSize -> 11, + StripOnInput -> False + ], + "\"Insert an icon representing the ResourceObject\"" + }, + "PrettyTooltipTemplate" + ], + ButtonFunction :> + With[ { RSNB`nb$ = ButtonNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 4300058170245655723; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + + DefinitionNotebookClient`$ClickedButton = + "InsertResourceObject"; + + DefinitionNotebookClient`InsertResourceObjectIcon[ + ButtonNotebook[] + ] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[4300058170245655723] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + FrameMargins -> {{4, 4}, {0, 0}}, + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue[Enabled], + FEPrivate`If[ + CurrentValue["MouseOver"], + { + FontColor -> GrayLevel[1], + TaggingRules -> {"ButtonHovering" -> True} + }, + { + FontColor -> RGBColor[0.10588, 0.27059, 0.37255], + TaggingRules -> {"ButtonHovering" -> False} + } + ], + { + FontColor -> RGBColor[0.77647, 0.81765, 0.84314], + TaggingRules -> {"ButtonHovering" -> False} + } + ], + Evaluator -> "System" + ], + Appearance -> { + "Default" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJche4+e6pyzIrq80zAsD4KAbKAIUJwYQx48fFTS\nM0vaNR4XAsoC1eAx5PCpc9ZxJUCVan7pbXNXbT969tnrtxAEZANFgOJAWaAa\noEqshgDNh5gQUtL+6MVrrKEHFAfKQsyBuwfZEIgvgGoIRgTEHKB6NEOAIQbx\nBS43oLkH4i9IOMMNAYY8UBDoa4ImQABQJVA9UBeyIcAYBAoCQ49IQ4AqgeqB\nuoB6IakRyACmBKAgMBaINASoEqgeqAtiCBBQbghVXPKfemFCldihSjqhSoql\nVt6hSi6mVnkCBxSWbGQAghHxn7jSHgAhWAlh\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Hover" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJche4+e6pyzIrq80zAsD4KAbKAIUJwYQx48fFTS\nM0vaNR4XAsoC1eAx5PCpc9ZxJUCVcp7Jhqmt1iXTXZuWQxCQDRQBigNlgWqA\nKrEaAjQfYoJ6WLFL4zKvzg2YCCgOlIWYA3cPsiEQXwDVYNWOjCDmANWjGQIM\nMYgvcLkBzT0Qf0HCGW4IMOSBgkBfEzQBgoAqgeqBupANAcYgyKcl04k0BKgS\nqB6oC6gXkhqBDGBKAAoCY4FIQ4AqQS4Py4MYAgSUG0IVl1AxTKgSO1RJJ1RJ\nsdTKO1TJxdQqT+CAwpKNDEBMMU5MaQ8AQJMCGA==\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Pressed" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJchr1+//vjx4/fv3//AAJANFAGKE2PI8+fPv3z5\ngsfZQFmgGjyGvHr16vfv30CR779+rzp+q3ndybhpOyEIyAaKAMWBskA1QJVY\nDQGaDzHh0sPXiTN2eXVuwERAcaAsxBy4e5ANgfgCqAardmQEMQeoHs0QYIhB\nfIHLDWjugfgLEs5wQ4AhD2QAfU3QBAgCqgSqB+pCNgQYg0AGMPSINASoEuTy\n79+BeiGpEcgApgQgAxgLRBoCVAlUD9QFMQQIKDeEKi6hYphQJXaokk6okmKp\nlXeokoupVZ7AAYUlGxkAj7PhgJjSHgDbEuv0\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ] + }, + Background -> GrayLevel[0.9], + Method -> "Queued", + ImageSize -> {All, 20}, + Evaluator -> Automatic + ], + FrameStyle -> + Directive[GrayLevel[0.9], AbsoluteThickness[2]], + FrameMargins -> -1, + ContentPadding -> False, + StripOnInput -> False + ], + FrameBox[ + ButtonBox[ + TemplateBox[ + { + StyleBox[ + "\"Template Input\"", + "Text", + FontFamily -> "Source Sans Pro", + FontSize -> 11, + StripOnInput -> False + ], + "\"Format selection automatically using appropriate documentation styles\"" + }, + "PrettyTooltipTemplate" + ], + ButtonFunction :> + With[ { RSNB`nb$ = ButtonNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 2790153672590285854; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Template Input"; + DefinitionNotebookClient`TemplateInput[] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[2790153672590285854] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + FrameMargins -> {{4, 4}, {0, 0}}, + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue[Enabled], + FEPrivate`If[ + CurrentValue["MouseOver"], + { + FontColor -> GrayLevel[1], + TaggingRules -> {"ButtonHovering" -> True} + }, + { + FontColor -> RGBColor[0.10588, 0.27059, 0.37255], + TaggingRules -> {"ButtonHovering" -> False} + } + ], + { + FontColor -> RGBColor[0.77647, 0.81765, 0.84314], + TaggingRules -> {"ButtonHovering" -> False} + } + ], + Evaluator -> "System" + ], + Appearance -> { + "Default" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJche4+e6pyzIrq80zAsD4KAbKAIUJwYQx48fFTS\nM0vaNR4XAsoC1eAx5PCpc9ZxJUCVan7pbXNXbT969tnrtxAEZANFgOJAWaAa\noEqshgDNh5gQUtL+6MVrrKEHFAfKQsyBuwfZEIgvgGoIRgTEHKB6NEOAIQbx\nBS43oLkH4i9IOMMNAYY8UBDoa4ImQABQJVA9UBeyIcAYBAoCQ49IQ4AqgeqB\nuoB6IakRyACmBKAgMBaINASoEqgeqAtiCBBQbghVXPKfemFCldihSjqhSoql\nVt6hSi6mVnkCBxSWbGQAghHxn7jSHgAhWAlh\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Hover" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJche4+e6pyzIrq80zAsD4KAbKAIUJwYQx48fFTS\nM0vaNR4XAsoC1eAx5PCpc9ZxJUCVcp7Jhqmt1iXTXZuWQxCQDRQBigNlgWqA\nKrEaAjQfYoJ6WLFL4zKvzg2YCCgOlIWYA3cPsiEQXwDVYNWOjCDmANWjGQIM\nMYgvcLkBzT0Qf0HCGW4IMOSBgkBfEzQBgoAqgeqBupANAcYgyKcl04k0BKgS\nqB6oC6gXkhqBDGBKAAoCY4FIQ4AqQS4Py4MYAgSUG0IVl1AxTKgSO1RJJ1RJ\nsdTKO1TJxdQqT+CAwpKNDEBMMU5MaQ8AQJMCGA==\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Pressed" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJchr1+//vjx4/fv3//AAJANFAGKE2PI8+fPv3z5\ngsfZQFmgGjyGvHr16vfv30CR779+rzp+q3ndybhpOyEIyAaKAMWBskA1QJVY\nDQGaDzHh0sPXiTN2eXVuwERAcaAsxBy4e5ANgfgCqAardmQEMQeoHs0QYIhB\nfIHLDWjugfgLEs5wQ4AhD2QAfU3QBAgCqgSqB+pCNgQYg0AGMPSINASoEuTy\n79+BeiGpEcgApgQgAxgLRBoCVAlUD9QFMQQIKDeEKi6hYphQJXaokk6okmKp\nlXeokoupVZ7AAYUlGxkAj7PhgJjSHgDbEuv0\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ] + }, + Background -> GrayLevel[0.9], + Method -> "Queued", + ImageSize -> {All, 20}, + Evaluator -> Automatic + ], + FrameStyle -> + Directive[GrayLevel[0.9], AbsoluteThickness[2]], + FrameMargins -> -1, + ContentPadding -> False, + StripOnInput -> False + ], + FrameBox[ + ButtonBox[ + TemplateBox[ + { + StyleBox[ + "\"Literal Input\"", + "Text", + FontFamily -> "Source Sans Pro", + FontSize -> 11, + StripOnInput -> False + ], + "\"Format selection as literal Wolfram Language code\"" + }, + "PrettyTooltipTemplate" + ], + ButtonFunction :> + With[ { RSNB`nb$ = ButtonNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 4138174468017918531; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Literal Input"; + DefinitionNotebookClient`LiteralInput[] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[4138174468017918531] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + FrameMargins -> {{4, 4}, {0, 0}}, + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue[Enabled], + FEPrivate`If[ + CurrentValue["MouseOver"], + { + FontColor -> GrayLevel[1], + TaggingRules -> {"ButtonHovering" -> True} + }, + { + FontColor -> RGBColor[0.10588, 0.27059, 0.37255], + TaggingRules -> {"ButtonHovering" -> False} + } + ], + { + FontColor -> RGBColor[0.77647, 0.81765, 0.84314], + TaggingRules -> {"ButtonHovering" -> False} + } + ], + Evaluator -> "System" + ], + Appearance -> { + "Default" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJche4+e6pyzIrq80zAsD4KAbKAIUJwYQx48fFTS\nM0vaNR4XAsoC1eAx5PCpc9ZxJUCVan7pbXNXbT969tnrtxAEZANFgOJAWaAa\noEqshgDNh5gQUtL+6MVrrKEHFAfKQsyBuwfZEIgvgGoIRgTEHKB6NEOAIQbx\nBS43oLkH4i9IOMMNAYY8UBDoa4ImQABQJVA9UBeyIcAYBAoCQ49IQ4AqgeqB\nuoB6IakRyACmBKAgMBaINASoEqgeqAtiCBBQbghVXPKfemFCldihSjqhSoql\nVt6hSi6mVnkCBxSWbGQAghHxn7jSHgAhWAlh\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Hover" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJche4+e6pyzIrq80zAsD4KAbKAIUJwYQx48fFTS\nM0vaNR4XAsoC1eAx5PCpc9ZxJUCVcp7Jhqmt1iXTXZuWQxCQDRQBigNlgWqA\nKrEaAjQfYoJ6WLFL4zKvzg2YCCgOlIWYA3cPsiEQXwDVYNWOjCDmANWjGQIM\nMYgvcLkBzT0Qf0HCGW4IMOSBgkBfEzQBgoAqgeqBupANAcYgyKcl04k0BKgS\nqB6oC6gXkhqBDGBKAAoCY4FIQ4AqQS4Py4MYAgSUG0IVl1AxTKgSO1RJJ1RJ\nsdTKO1TJxdQqT+CAwpKNDEBMMU5MaQ8AQJMCGA==\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Pressed" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJchr1+//vjx4/fv3//AAJANFAGKE2PI8+fPv3z5\ngsfZQFmgGjyGvHr16vfv30CR779+rzp+q3ndybhpOyEIyAaKAMWBskA1QJVY\nDQGaDzHh0sPXiTN2eXVuwERAcaAsxBy4e5ANgfgCqAardmQEMQeoHs0QYIhB\nfIHLDWjugfgLEs5wQ4AhD2QAfU3QBAgCqgSqB+pCNgQYg0AGMPSINASoEuTy\n79+BeiGpEcgApgQgAxgLRBoCVAlUD9QFMQQIKDeEKi6hYphQJXaokk6okmKp\nlXeokoupVZ7AAYUlGxkAj7PhgJjSHgDbEuv0\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ] + }, + Background -> GrayLevel[0.9], + Method -> "Queued", + ImageSize -> {All, 20}, + Evaluator -> Automatic + ], + FrameStyle -> + Directive[GrayLevel[0.9], AbsoluteThickness[2]], + FrameMargins -> -1, + ContentPadding -> False, + StripOnInput -> False + ], + FrameBox[ + ButtonBox[ + TemplateBox[ + { + StyleBox[ + "\"Insert Delimiter\"", + "Text", + FontFamily -> "Source Sans Pro", + FontSize -> 11, + StripOnInput -> False + ], + "\"Insert example delimiter\"" + }, + "PrettyTooltipTemplate" + ], + ButtonFunction :> + With[ { RSNB`nb$ = ButtonNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 1887802176716758884; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + + DefinitionNotebookClient`$ClickedButton = + "Insert Delimiter"; + + DefinitionNotebookClient`DelimiterInsert[] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[1887802176716758884] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + FrameMargins -> {{4, 4}, {0, 0}}, + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue[Enabled], + FEPrivate`If[ + CurrentValue["MouseOver"], + { + FontColor -> GrayLevel[1], + TaggingRules -> {"ButtonHovering" -> True} + }, + { + FontColor -> RGBColor[0.10588, 0.27059, 0.37255], + TaggingRules -> {"ButtonHovering" -> False} + } + ], + { + FontColor -> RGBColor[0.77647, 0.81765, 0.84314], + TaggingRules -> {"ButtonHovering" -> False} + } + ], + Evaluator -> "System" + ], + Appearance -> { + "Default" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJche4+e6pyzIrq80zAsD4KAbKAIUJwYQx48fFTS\nM0vaNR4XAsoC1eAx5PCpc9ZxJUCVan7pbXNXbT969tnrtxAEZANFgOJAWaAa\noEqshgDNh5gQUtL+6MVrrKEHFAfKQsyBuwfZEIgvgGoIRgTEHKB6NEOAIQbx\nBS43oLkH4i9IOMMNAYY8UBDoa4ImQABQJVA9UBeyIcAYBAoCQ49IQ4AqgeqB\nuoB6IakRyACmBKAgMBaINASoEqgeqAtiCBBQbghVXPKfemFCldihSjqhSoql\nVt6hSi6mVnkCBxSWbGQAghHxn7jSHgAhWAlh\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Hover" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJche4+e6pyzIrq80zAsD4KAbKAIUJwYQx48fFTS\nM0vaNR4XAsoC1eAx5PCpc9ZxJUCVcp7Jhqmt1iXTXZuWQxCQDRQBigNlgWqA\nKrEaAjQfYoJ6WLFL4zKvzg2YCCgOlIWYA3cPsiEQXwDVYNWOjCDmANWjGQIM\nMYgvcLkBzT0Qf0HCGW4IMOSBgkBfEzQBgoAqgeqBupANAcYgyKcl04k0BKgS\nqB6oC6gXkhqBDGBKAAoCY4FIQ4AqQS4Py4MYAgSUG0IVl1AxTKgSO1RJJ1RJ\nsdTKO1TJxdQqT+CAwpKNDEBMMU5MaQ8AQJMCGA==\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Pressed" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJchr1+//vjx4/fv3//AAJANFAGKE2PI8+fPv3z5\ngsfZQFmgGjyGvHr16vfv30CR779+rzp+q3ndybhpOyEIyAaKAMWBskA1QJVY\nDQGaDzHh0sPXiTN2eXVuwERAcaAsxBy4e5ANgfgCqAardmQEMQeoHs0QYIhB\nfIHLDWjugfgLEs5wQ4AhD2QAfU3QBAgCqgSqB+pCNgQYg0AGMPSINASoEuTy\n79+BeiGpEcgApgQgAxgLRBoCVAlUD9QFMQQIKDeEKi6hYphQJXaokk6okmKp\nlXeokoupVZ7AAYUlGxkAj7PhgJjSHgDbEuv0\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ] + }, + Background -> GrayLevel[0.9], + Method -> "Queued", + ImageSize -> {All, 20}, + Evaluator -> Automatic + ], + FrameStyle -> + Directive[GrayLevel[0.9], AbsoluteThickness[2]], + FrameMargins -> -1, + ContentPadding -> False, + StripOnInput -> False + ], + ActionMenuBox[ + FrameBox[ + ButtonBox[ + TemplateBox[ + { + StyleBox[ + TemplateBox[ + { + "\"Tables\"", + "\"\[ThinSpace]\[ThinSpace]\[ThinSpace]\[FilledDownTriangle]\"" + }, + "RowDefault" + ], + "Text", + FontFamily -> "Source Sans Pro", + FontSize -> 11, + StripOnInput -> False + ], + "\"Table functions\"" + }, + "PrettyTooltipTemplate" + ], + ButtonFunction :> + With[ { RSNB`nb$ = ButtonNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 3216557251994556740; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = HoldForm[Null] + ] + ], + DefinitionNotebookClient`ButtonCodeID[3216557251994556740] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + FrameMargins -> {{4, 4}, {0, 0}}, + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue[Enabled], + FEPrivate`If[ + CurrentValue["MouseOver"], + { + FontColor -> GrayLevel[1], + TaggingRules -> {"ButtonHovering" -> True} + }, + { + FontColor -> RGBColor[0.10588, 0.27059, 0.37255], + TaggingRules -> {"ButtonHovering" -> False} + } + ], + { + FontColor -> RGBColor[0.77647, 0.81765, 0.84314], + TaggingRules -> {"ButtonHovering" -> False} + } + ], + Evaluator -> "System" + ], + Appearance -> { + "Default" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJche4+e6pyzIrq80zAsD4KAbKAIUJwYQx48fFTS\nM0vaNR4XAsoC1eAx5PCpc9ZxJUCVan7pbXNXbT969tnrtxAEZANFgOJAWaAa\noEqshgDNh5gQUtL+6MVrrKEHFAfKQsyBuwfZEIgvgGoIRgTEHKB6NEOAIQbx\nBS43oLkH4i9IOMMNAYY8UBDoa4ImQABQJVA9UBeyIcAYBAoCQ49IQ4AqgeqB\nuoB6IakRyACmBKAgMBaINASoEqgeqAtiCBBQbghVXPKfemFCldihSjqhSoql\nVt6hSi6mVnkCBxSWbGQAghHxn7jSHgAhWAlh\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Hover" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJche4+e6pyzIrq80zAsD4KAbKAIUJwYQx48fFTS\nM0vaNR4XAsoC1eAx5PCpc9ZxJUCVcp7Jhqmt1iXTXZuWQxCQDRQBigNlgWqA\nKrEaAjQfYoJ6WLFL4zKvzg2YCCgOlIWYA3cPsiEQXwDVYNWOjCDmANWjGQIM\nMYgvcLkBzT0Qf0HCGW4IMOSBgkBfEzQBgoAqgeqBupANAcYgyKcl04k0BKgS\nqB6oC6gXkhqBDGBKAAoCY4FIQ4AqQS4Py4MYAgSUG0IVl1AxTKgSO1RJJ1RJ\nsdTKO1TJxdQqT+CAwpKNDEBMMU5MaQ8AQJMCGA==\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Pressed" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJchr1+//vjx4/fv3//AAJANFAGKE2PI8+fPv3z5\ngsfZQFmgGjyGvHr16vfv30CR779+rzp+q3ndybhpOyEIyAaKAMWBskA1QJVY\nDQGaDzHh0sPXiTN2eXVuwERAcaAsxBy4e5ANgfgCqAardmQEMQeoHs0QYIhB\nfIHLDWjugfgLEs5wQ4AhD2QAfU3QBAgCqgSqB+pCNgQYg0AGMPSINASoEuTy\n79+BeiGpEcgApgQgAxgLRBoCVAlUD9QFMQQIKDeEKi6hYphQJXaokk6okmKp\nlXeokoupVZ7AAYUlGxkAj7PhgJjSHgDbEuv0\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ] + }, + Background -> GrayLevel[0.9], + Method -> "Queued", + ImageSize -> {All, 20}, + Evaluator -> Automatic + ], + FrameStyle -> + Directive[GrayLevel[0.9], AbsoluteThickness[2]], + FrameMargins -> -1, + ContentPadding -> False, + StripOnInput -> False + ], + { + "\"Insert table with two columns\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 5800166344906378520; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Tables"; + + DefinitionNotebookClient`$ClickedAction = + "Insert table with two columns"; + + DefinitionNotebookClient`TableInsert[2] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[5800166344906378520] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + "\"Insert table with three columns\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + DefinitionNotebookClient`$ButtonCodeID = 533841403879783297; + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Tables"; + + DefinitionNotebookClient`$ClickedAction = + "Insert table with three columns"; + + DefinitionNotebookClient`TableInsert[3] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[533841403879783297] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + "\"Add a row to the selected table\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 4413051590217973467; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Tables"; + + DefinitionNotebookClient`$ClickedAction = + "Add a row to the selected table"; + + DefinitionNotebookClient`TableRowInsert[] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[4413051590217973467] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + "\"Sort the selected table\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 9150037060110806081; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Tables"; + + DefinitionNotebookClient`$ClickedAction = + "Sort the selected table"; + + DefinitionNotebookClient`TableSort[] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[9150037060110806081] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + "\"Merge selected tables\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 2347719643166780208; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Tables"; + + DefinitionNotebookClient`$ClickedAction = + "Merge selected tables"; + + DefinitionNotebookClient`TableMerge[] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[2347719643166780208] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ] + }, + Appearance -> None, + Method -> "Queued" + ], + ActionMenuBox[ + FrameBox[ + ButtonBox[ + StyleBox[ + TemplateBox[ + { + "\"Cells\"", + "\"\[ThinSpace]\[ThinSpace]\[ThinSpace]\[FilledDownTriangle]\"" + }, + "RowDefault" + ], + "Text", + FontFamily -> "Source Sans Pro", + FontSize -> 11, + StripOnInput -> False + ], + ButtonFunction :> + With[ { RSNB`nb$ = ButtonNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 3216557251994556740; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = HoldForm[Null] + ] + ], + DefinitionNotebookClient`ButtonCodeID[3216557251994556740] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + FrameMargins -> {{4, 4}, {0, 0}}, + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue[Enabled], + FEPrivate`If[ + CurrentValue["MouseOver"], + { + FontColor -> GrayLevel[1], + TaggingRules -> {"ButtonHovering" -> True} + }, + { + FontColor -> RGBColor[0.10588, 0.27059, 0.37255], + TaggingRules -> {"ButtonHovering" -> False} + } + ], + { + FontColor -> RGBColor[0.77647, 0.81765, 0.84314], + TaggingRules -> {"ButtonHovering" -> False} + } + ], + Evaluator -> "System" + ], + Appearance -> { + "Default" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJche4+e6pyzIrq80zAsD4KAbKAIUJwYQx48fFTS\nM0vaNR4XAsoC1eAx5PCpc9ZxJUCVan7pbXNXbT969tnrtxAEZANFgOJAWaAa\noEqshgDNh5gQUtL+6MVrrKEHFAfKQsyBuwfZEIgvgGoIRgTEHKB6NEOAIQbx\nBS43oLkH4i9IOMMNAYY8UBDoa4ImQABQJVA9UBeyIcAYBAoCQ49IQ4AqgeqB\nuoB6IakRyACmBKAgMBaINASoEqgeqAtiCBBQbghVXPKfemFCldihSjqhSoql\nVt6hSi6mVnkCBxSWbGQAghHxn7jSHgAhWAlh\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Hover" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJche4+e6pyzIrq80zAsD4KAbKAIUJwYQx48fFTS\nM0vaNR4XAsoC1eAx5PCpc9ZxJUCVcp7Jhqmt1iXTXZuWQxCQDRQBigNlgWqA\nKrEaAjQfYoJ6WLFL4zKvzg2YCCgOlIWYA3cPsiEQXwDVYNWOjCDmANWjGQIM\nMYgvcLkBzT0Qf0HCGW4IMOSBgkBfEzQBgoAqgeqBupANAcYgyKcl04k0BKgS\nqB6oC6gXkhqBDGBKAAoCY4FIQ4AqQS4Py4MYAgSUG0IVl1AxTKgSO1RJJ1RJ\nsdTKO1TJxdQqT+CAwpKNDEBMMU5MaQ8AQJMCGA==\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Pressed" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJchr1+//vjx4/fv3//AAJANFAGKE2PI8+fPv3z5\ngsfZQFmgGjyGvHr16vfv30CR779+rzp+q3ndybhpOyEIyAaKAMWBskA1QJVY\nDQGaDzHh0sPXiTN2eXVuwERAcaAsxBy4e5ANgfgCqAardmQEMQeoHs0QYIhB\nfIHLDWjugfgLEs5wQ4AhD2QAfU3QBAgCqgSqB+pCNgQYg0AGMPSINASoEuTy\n79+BeiGpEcgApgQgAxgLRBoCVAlUD9QFMQQIKDeEKi6hYphQJXaokk6okmKp\nlXeokoupVZ7AAYUlGxkAj7PhgJjSHgDbEuv0\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ] + }, + Background -> GrayLevel[0.9], + Method -> "Queued", + ImageSize -> {All, 20}, + Evaluator -> Automatic + ], + FrameStyle -> + Directive[GrayLevel[0.9], AbsoluteThickness[2]], + FrameMargins -> -1, + ContentPadding -> False, + StripOnInput -> False + ], + { + "\"Insert comment for reviewer\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 2572781756330727330; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Cells"; + + DefinitionNotebookClient`$ClickedAction = + "Insert comment for reviewer"; + + DefinitionNotebookClient`CommentInsert[] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[2572781756330727330] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + "\"Mark/unmark selected cells as comments\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 3646530685697756512; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Cells"; + + DefinitionNotebookClient`$ClickedAction = + "Mark/unmark selected cells as comments"; + + DefinitionNotebookClient`CommentToggle[] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[3646530685697756512] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + "\"Mark/unmark selected cells as excluded\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 1866935765212102190; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Cells"; + + DefinitionNotebookClient`$ClickedAction = + "Mark/unmark selected cells as excluded"; + + DefinitionNotebookClient`ExclusionToggle[] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[1866935765212102190] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ] + }, + Appearance -> None, + Method -> "Queued" + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Center}}}, + AutoDelete -> False, + GridBoxBackground -> {"Columns" -> {{None}}, "Rows" -> {GrayLevel[0.9]}}, + GridBoxFrame -> { + "Columns" -> False, + "RowsIndexed" -> {1 -> GrayLevel[0.9]} + }, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {5, {0.5}, 5}, "Rows" -> {{Automatic}}}, + FrameStyle -> GrayLevel[0.75] + ], + "Grid" + ], + ButtonBoxOptions -> { + Enabled -> + Dynamic[ + Not[TrueQ[DefinitionNotebookClient`$ButtonsDisabled]], + TrackedSymbols :> {DefinitionNotebookClient`$ButtonsDisabled} + ] + }, + StripOnInput -> False + ] + ]) + } + ], + Cell[ + StyleData["MainGridTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + StyleBox[ + TagBox[ + GridBox[ + { + { + TagBox[ + GridBox[ + { + { + GraphicsBox[ + { + Thickness[0.02963], + StyleBox[ + { + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBWIWIGZigIIGBQcwfUAPQjOoYuc3CDugqIfxGTQg9ANj\nqLgOdj66erh5+lD7oPYwGGHno6uH86H2PDCA6jPFzkdXD+M7mENpLai4JXY+\nunogHwDQSSTa\n " + ] + ] + }, + {FaceForm[RGBColor[1.0, 1.0, 1.0, 1.0]]}, + StripOnInput -> False + ], + StyleBox[ + { + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + { + { + {0.75, 1.875}, + {33.0, 1.875}, + {33.0, 0.375}, + {0.75, 0.375} + }, + { + {27.0, 19.875}, + {29.25, 19.875}, + {29.25, 4.875}, + {27.0, 4.875} + }, + { + {3.0, 4.125}, + {30.75, 4.125}, + {30.75, 2.625}, + {3.0, 2.625} + }, + { + {16.875, 32.625}, + {0.0, 24.375}, + {0.0, 22.875}, + {33.75, 22.875}, + {33.75, 24.375} + }, + {{3.75, 24.375}, {16.875, 30.75}, {30.0, 24.375}}, + { + {25.5, 22.125}, + {30.75, 22.125}, + {30.75, 20.625}, + {25.5, 20.625} + }, + { + {4.5, 19.875}, + {6.75, 19.875}, + {6.75, 4.875}, + {4.5, 4.875} + }, + { + {3.0, 22.125}, + {8.25, 22.125}, + {8.25, 20.625}, + {3.0, 20.625} + } + } + ] + }, + {FaceForm[RGBColor[0.843, 0.847, 0.847, 1.0]]}, + StripOnInput -> False + ] + }, + { + ImageSize -> {Automatic, 32}, + ImagePadding -> {{5, 0}, {0, 0}}, + BaselinePosition -> Scaled[0.25], + Background -> RGBColor[0.2902, 0.53725, 0.6902], + ImageSize -> {45.0, Automatic}, + PlotRange -> {{0.0, 33.75}, {0.0, 33.0}}, + AspectRatio -> Automatic + } + ], + StyleBox[ + TagBox[ + GridBox[ + { + { + StyleBox[ + "\"Data Resource\"", + FontFamily -> "Source Sans Pro", + FontWeight -> "SemiBold", + StripOnInput -> False + ], + StyleBox[ + "\"DEFINITION NOTEBOOK\"", + FontFamily -> "Source Sans Pro", + FontTracking -> "SemiCondensed", + FontVariations -> {"CapsType" -> "AllSmallCaps"}, + StripOnInput -> False + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Baseline}}}, + AutoDelete -> False, + GridBoxDividers -> { + "ColumnsIndexed" -> {2 -> RGBColor[1.0, 1.0, 1.0]}, + "Rows" -> {{None}} + }, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}} + ], + "Grid" + ], + FontSize -> 24, + FontColor -> RGBColor[1.0, 1.0, 1.0], + StripOnInput -> False + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Baseline}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}} + ], + "Grid" + ], + "\[SpanFromLeft]", + "\[SpanFromLeft]", + "\[SpanFromLeft]", + "\[SpanFromLeft]", + "\[SpanFromLeft]", + "\[SpanFromLeft]", + TemplateBox[ + { + StyleBox[ + TemplateBox[ + {"\"Data Repository\"", "\" \[RightGuillemet] \""}, + "RowDefault" + ], + "Text", + FontColor -> RGBColor[1.0, 1.0, 1.0], + StripOnInput -> False + ], + "https://datarepository.wolframcloud.com/" + }, + "HyperlinkURL" + ] + }, + { + TemplateBox[ + { + TemplateBox[ + { + "\"Open Sample\"", + "\"View a completed sample definition notebook\"" + }, + "PrettyTooltipTemplate" + ], + Function[ + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 4393071033038384034; + + (DefinitionNotebookClient`$ClickedButton = "Open Sample"; + DefinitionNotebookClient`ViewExampleNotebook[ + ButtonNotebook[] + ]), + DefinitionNotebookClient`ButtonCodeID[4393071033038384034] + ] + ], + "\"View a completed sample definition notebook\"", + False + }, + "OrangeButtonTemplate" + ], + TemplateBox[ + { + TemplateBox[ + { + "\"Style Guidelines\"", + "\"View general guidelines for authoring data resources\"" + }, + "PrettyTooltipTemplate" + ], + Function[ + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 5906117565281445171; + + ( + DefinitionNotebookClient`$ClickedButton = + "Style Guidelines"; + + DefinitionNotebookClient`ViewStyleGuidelines[ + ButtonNotebook[] + ]), + DefinitionNotebookClient`ButtonCodeID[5906117565281445171] + ] + ], + "\"View general guidelines for authoring data resources\"", + False + }, + "OrangeButtonTemplate" + ], + TemplateBox[ + { + TemplateBox[ + { + TagBox[ + GridBox[ + { + { + "\"Tools\"", + PaneSelectorBox[ + { + False -> + GraphicsBox[ + { + RGBColor[1.0, 1.0, 1.0], + AbsoluteThickness[1.0], + LineBox[{{0, 0}, {0, 10}, {10, 10}, {10, 0}, {0, 0}}], + LineBox[{{5, 2.5}, {5, 7.5}}], + LineBox[{{2.5, 5}, {7.5, 5}}] + }, + ImageSize -> 12, + PlotRangePadding -> 1.5 + ], + True -> + GraphicsBox[ + { + RGBColor[1.0, 1.0, 1.0], + AbsoluteThickness[1.0], + LineBox[{{0, 0}, {0, 10}, {10, 10}, {10, 0}, {0, 0}}], + LineBox[{{2.5, 5}, {7.5, 5}}] + }, + ImageSize -> 12, + PlotRangePadding -> 1.5 + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ToolsOpen"}, + True + ] + ], + BaselinePosition -> Scaled[0.05] + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Automatic}}, "Rows" -> {{Baseline}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{0.35}}} + ], + "Grid" + ], + "\"Toggle documentation toolbar\"" + }, + "PrettyTooltipTemplate" + ], + Function[ + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 5074018684552945401; + + (DefinitionNotebookClient`$ClickedButton = "Tools"; + DefinitionNotebookClient`ToggleToolbar[ButtonNotebook[]]), + DefinitionNotebookClient`ButtonCodeID[5074018684552945401] + ] + ], + "\"Toggle documentation toolbar\"", + False + }, + "OrangeButtonTemplate" + ], + TagBox[ + GridBox[ + {{"\"\"", "\"\""}}, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Center}}}, + AutoDelete -> False, + GridBoxDividers -> {"ColumnsIndexed" -> {2 -> True}, "Rows" -> {{False}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{2}}}, + GridBoxSpacings -> {"Columns" -> {{0.5}}}, + FrameStyle -> RGBColor[0.6451, 0.76863, 0.8451] + ], + "Grid" + ], + ActionMenuBox[ + TemplateBox[ + { + TemplateBox[ + { + TemplateBox[ + { + "\"Check\"", + TemplateBox[{5}, "Spacer1"], + "\"\[FilledDownTriangle]\"" + }, + "RowDefault" + ], + "\"Check notebook for potential errors\"" + }, + "PrettyTooltipTemplate" + ], + Function[ + Annotation[ + DefinitionNotebookClient`$ButtonCodeID = + 1898445052439169298;, + DefinitionNotebookClient`ButtonCodeID[1898445052439169298] + ] + ], + "\"Check notebook for potential errors\"", + True + }, + "OrangeButtonTemplate" + ], + { + "\"Check Definition Notebook\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$SuppressDynamicEvents = True, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ProgressIndicator[Appearance -> "Necklace"]; + + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 7315505126975123932; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Check"; + + DefinitionNotebookClient`$ClickedAction = + "Check Definition Notebook"; + + DefinitionNotebookClient`CheckDefinitionNotebook[ + ButtonNotebook[] + ] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[7315505126975123932] + ], + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ""; + + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + "\"Check Data\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$SuppressDynamicEvents = True, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ProgressIndicator[Appearance -> "Necklace"]; + + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 5678342563549764489; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Check"; + DefinitionNotebookClient`$ClickedAction = "Check Data"; + DataResource`DefinitionNotebook`CheckDataDefinitions[ + ButtonNotebook[] + ] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[5678342563549764489] + ], + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ""; + + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + "\"Check All\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$SuppressDynamicEvents = True, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ProgressIndicator[Appearance -> "Necklace"]; + + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 7222533872454612108; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Check"; + DefinitionNotebookClient`$ClickedAction = "Check All"; + ( + DefinitionNotebookClient`CheckDefinitionNotebook[ + ButtonNotebook[] + ]; + + DataResource`DefinitionNotebook`CheckDataDefinitions[ + ButtonNotebook[] + ]) + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[7222533872454612108] + ], + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ""; + + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ] + }, + Appearance -> None, + Method -> "Queued" + ], + ActionMenuBox[ + TemplateBox[ + { + TemplateBox[ + { + "\"Deploy\"", + TemplateBox[{5}, "Spacer1"], + "\"\[FilledDownTriangle]\"" + }, + "RowDefault" + ], + Function[ + Annotation[ + DefinitionNotebookClient`$ButtonCodeID = + 1898445052439169298;, + DefinitionNotebookClient`ButtonCodeID[1898445052439169298] + ] + ], + "\"\"", + True + }, + "OrangeButtonTemplate" + ], + { + "\"Locally on this computer\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$SuppressDynamicEvents = True, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ProgressIndicator[Appearance -> "Necklace"]; + + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 8714502586816766511; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Deploy"; + + DefinitionNotebookClient`$ClickedAction = + "Locally on this computer"; + + DefinitionNotebookClient`DisplayStripe[ + ButtonNotebook[], + DefinitionNotebookClient`DeployResource[ + ButtonNotebook[], + "Local" + ] + ] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[8714502586816766511] + ], + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ""; + + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + "\"For my cloud account\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$SuppressDynamicEvents = True, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ProgressIndicator[Appearance -> "Necklace"]; + + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 1389539917011878958; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Deploy"; + + DefinitionNotebookClient`$ClickedAction = + "For my cloud account"; + + DefinitionNotebookClient`DisplayStripe[ + ButtonNotebook[], + DefinitionNotebookClient`DeployResource[ + ButtonNotebook[], + "CloudPrivate" + ] + ] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[1389539917011878958] + ], + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ""; + + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + "\"Publicly in the cloud\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$SuppressDynamicEvents = True, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ProgressIndicator[Appearance -> "Necklace"]; + + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 5593410685219912767; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Deploy"; + + DefinitionNotebookClient`$ClickedAction = + "Publicly in the cloud"; + + DefinitionNotebookClient`DisplayStripe[ + ButtonNotebook[], + DefinitionNotebookClient`DeployResource[ + ButtonNotebook[], + "CloudPublic" + ] + ] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[5593410685219912767] + ], + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ""; + + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + "\"In this session only (without documentation)\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$SuppressDynamicEvents = True, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ProgressIndicator[Appearance -> "Necklace"]; + + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 8586347731213964380; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Deploy"; + + DefinitionNotebookClient`$ClickedAction = + "In this session only (without documentation)"; + + DefinitionNotebookClient`DisplayStripe[ + ButtonNotebook[], + DefinitionNotebookClient`DeployResource[ + ButtonNotebook[], + "KernelSession" + ] + ] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[8586347731213964380] + ], + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ""; + + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ] + }, + Appearance -> None, + Method -> "Queued" + ], + ItemBox[ + StyleBox[ + DynamicBox[ + ToBoxes[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "StatusMessage"}, + "" + ], + StandardForm + ], + Initialization :> + (CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "StatusMessage"} + ] = + "") + ], + "Text", + GrayLevel[1], + StripOnInput -> False + ], + ItemSize -> Fit, + StripOnInput -> False + ], + DynamicBox[ + ToBoxes[ + If[ CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "SubmissionReviewData", "Review"}, + False + ], + RawBoxes[ + TemplateBox[ + { + TemplateBox[ + { + TagBox[ + GridBox[ + { + { + GraphicsBox[ + { + Thickness[0.06349], + StyleBox[ + { + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBWIWIGZigIEX9mCqQd8Bwv+Bnc/A54CiHs5HV6/ngJUP\np2HmwdTp4FCHTvOhqYfZrw2lhdDk0fno6tHcD1PPwOSAnY+uns8BAE8cGz4=\n\n " + ] + ] + }, + {FaceForm[RGBColor[1.0, 1.0, 1.0]]}, + StripOnInput -> False + ], + StyleBox[ + { + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgB2IWIGZigAEJBwjNB6EblHHwX9ijqofxoeoYhKC0Bg4+\nHw4apk4Uap8aDr4QDhqqDu4uVRx8URw0TJ001D5lHHwJHDRUHYMclFbCwZfG\nQUPVNSjgp+HmIWgAG/wcEg==\n " + ] + ], + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + CompressedData[ + "\n1:eJx10EEKgCAQhWGpFtEyEAYGggQj6RKeoSMErbuCR0/IWfTgCcPwy7fR9XrO\nu3fOTXWGOp2zM+ZvH2170nv+e2sFH0ijt45/XxJp9NgRPHYAb63kHhu9tf2H\neU8aPfbS9kxawAvxnrSCx3c3XzbS6JX4RFrAS34B53ckaw==\n " + ] + ] + }, + {FaceForm[RGBColor[1.0, 1.0, 1.0]]}, + StripOnInput -> False + ] + }, + ImageSize -> 15, + PlotRange -> {{0.0, 15.75}, {0.0, 16.5}}, + AspectRatio -> 1.15 + ], + "\"Submit Update\"" + } + }, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Center}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> { + "Columns" -> {{0}}, + "ColumnsIndexed" -> {2 -> 0.5}, + "Rows" -> {{0}} + } + ], + "Grid" + ], + "\"Submit changes to update your data submission\"" + }, + "PrettyTooltipTemplate" + ], + Function[ + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 3196298050911436087; + + (DefinitionNotebookClient`$ClickedButton = "SubmitUpdate"; + With[ { RSNB`nb = ButtonNotebook[] }, + DefinitionNotebookClient`DisplayStripe[ + RSNB`nb, + DefinitionNotebookClient`SubmitRepositoryUpdate[RSNB`nb], + "ShowProgress" -> True + ] + ]), + DefinitionNotebookClient`ButtonCodeID[3196298050911436087] + ] + ], + "\"Submit changes to update your data submission\"", + True + }, + "OrangeButtonTemplate" + ] + ], + RawBoxes[ + TemplateBox[ + { + TemplateBox[ + { + TagBox[ + GridBox[ + { + { + GraphicsBox[ + { + Thickness[0.06349], + StyleBox[ + { + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBWIWIGZigIEX9mCqQd8Bwv+Bnc/A54CiHs5HV6/ngJUP\np2HmwdTp4FCHTvOhqYfZrw2lhdDk0fno6tHcD1PPwOSAnY+uns8BAE8cGz4=\n\n " + ] + ] + }, + {FaceForm[RGBColor[1.0, 1.0, 1.0]]}, + StripOnInput -> False + ], + StyleBox[ + { + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgB2IWIGZigAEJBwjNB6EblHHwX9ijqofxoeoYhKC0Bg4+\nHw4apk4Uap8aDr4QDhqqDu4uVRx8URw0TJ001D5lHHwJHDRUHYMclFbCwZfG\nQUPVNSjgp+HmIWgAG/wcEg==\n " + ] + ], + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + CompressedData[ + "\n1:eJx10EEKgCAQhWGpFtEyEAYGggQj6RKeoSMErbuCR0/IWfTgCcPwy7fR9XrO\nu3fOTXWGOp2zM+ZvH2170nv+e2sFH0ijt45/XxJp9NgRPHYAb63kHhu9tf2H\neU8aPfbS9kxawAvxnrSCx3c3XzbS6JX4RFrAS34B53ckaw==\n " + ] + ] + }, + {FaceForm[RGBColor[1.0, 1.0, 1.0]]}, + StripOnInput -> False + ] + }, + ImageSize -> 15, + PlotRange -> {{0.0, 15.75}, {0.0, 16.5}}, + AspectRatio -> 1.15 + ], + "\"Submit to Repository\"" + } + }, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Center}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> { + "Columns" -> {{0}}, + "ColumnsIndexed" -> {2 -> 0.5}, + "Rows" -> {{0}} + } + ], + "Grid" + ], + "\"Submit your data to the Wolfram Data Repository\"" + }, + "PrettyTooltipTemplate" + ], + Function[ + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 3704832848557640569; + + (DefinitionNotebookClient`$ClickedButton = "Submit"; + With[ { RSNB`nb = ButtonNotebook[] }, + DefinitionNotebookClient`DisplayStripe[ + RSNB`nb, + DefinitionNotebookClient`SubmitRepository[RSNB`nb], + "ShowProgress" -> True + ] + ]), + DefinitionNotebookClient`ButtonCodeID[3704832848557640569] + ] + ], + "\"Submit your data to the Wolfram Data Repository\"", + True + }, + "OrangeButtonTemplate" + ] + ] + ], + StandardForm + ], + Evaluator -> "System", + SingleEvaluation -> True + ] + } + }, + GridBoxAlignment -> { + "Columns" -> {{Left}}, + "ColumnsIndexed" -> {-1 -> Right}, + "Rows" -> {{Center}} + }, + AutoDelete -> False, + GridBoxBackground -> { + "Columns" -> {{None}}, + "Rows" -> { + RGBColor[0.2902, 0.53725, 0.6902], + RGBColor[0.16078, 0.40392, 0.56078] + } + }, + GridBoxFrame -> { + "Columns" -> False, + "RowsIndexed" -> { + 1 -> RGBColor[0.2902, 0.53725, 0.6902], + 2 -> RGBColor[0.16078, 0.40392, 0.56078] + } + }, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> { + "Columns" -> {5, {0.9}, 5}, + "RowsIndexed" -> {1 -> 1.1, 2 -> 1.3, 3 -> 0.25} + }, + FrameStyle -> RGBColor[0.2902, 0.53725, 0.6902] + ], + "Grid" + ], + ButtonBoxOptions -> { + Enabled -> + Dynamic[ + Not[TrueQ[DefinitionNotebookClient`$ButtonsDisabled]], + TrackedSymbols :> {DefinitionNotebookClient`$ButtonsDisabled} + ] + }, + StripOnInput -> False + ] + ]) + } + ], + Cell[ + StyleData["ReviewerCommentLabelTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + TagBox[ + GridBox[ + { + { + #1, + TemplateBox[ + { + GraphicsBox[ + { + Thickness[0.02963], + StyleBox[ + { + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBWIWIGZigIIGBQcwfUAPQjOoYuc3CDugqIfxGTQg9ANj\nqLgOdj66erh5+lD7oPYwGGHno6uH86H2PDCA6jPFzkdXD+M7mENpLai4JXY+\nunogHwDQSSTa\n " + ] + ] + }, + {FaceForm[RGBColor[1.0, 1.0, 1.0, 1.0]]}, + StripOnInput -> False + ], + StyleBox[ + { + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + { + { + {0.75, 1.875}, + {33.0, 1.875}, + {33.0, 0.375}, + {0.75, 0.375} + }, + { + {27.0, 19.875}, + {29.25, 19.875}, + {29.25, 4.875}, + {27.0, 4.875} + }, + { + {3.0, 4.125}, + {30.75, 4.125}, + {30.75, 2.625}, + {3.0, 2.625} + }, + { + {16.875, 32.625}, + {0.0, 24.375}, + {0.0, 22.875}, + {33.75, 22.875}, + {33.75, 24.375} + }, + {{3.75, 24.375}, {16.875, 30.75}, {30.0, 24.375}}, + { + {25.5, 22.125}, + {30.75, 22.125}, + {30.75, 20.625}, + {25.5, 20.625} + }, + { + {4.5, 19.875}, + {6.75, 19.875}, + {6.75, 4.875}, + {4.5, 4.875} + }, + { + {3.0, 22.125}, + {8.25, 22.125}, + {8.25, 20.625}, + {3.0, 20.625} + } + } + ] + }, + {FaceForm[RGBColor[0.843, 0.847, 0.847, 1.0]]}, + StripOnInput -> False + ] + }, + { + ImageSize -> 12, + Background -> None, + ImageSize -> {45.0, Automatic}, + PlotRange -> {{0.0, 33.75}, {0.0, 33.0}}, + AspectRatio -> Automatic + } + ], + "Wolfram Data Repository Reviewer" + }, + "PrettyTooltipTemplate" + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Automatic}}, "Rows" -> {{Center}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{0.25}}} + ], + "Grid" + ] + ]) + } + ], + Cell[ + StyleData["CommentReplyIcon"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + Thickness[0.076923], + FaceForm[{#1, Opacity[1.0]}], + FilledCurveBox[ + {{{0, 2, 0}, {0, 1, 0}}}, + {{{1.5, 7.5}, {6.5, 11.5}, {6.5, 3.5}}} + ], + FilledCurveBox[ + { + { + {1, 4, 3}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3} + } + }, + CompressedData[ + "\n1:eJw9U2tIVEEUvq5iVkttZmdfuo/ZbQukJGKVqPBLUTGJ0h9hVLIJRYhUVJj2\nAjGRWCKiF0llZWRCSEnZExEJ06CotaiQyH7EIrthT3u6NXPn3jswnDlzzzlz\nvu8711u9vWJzsqIoSXwv5tuk6IsgrQvOnLf+1CRC5ZKbg3WJAIJV90rNJoJF\nXOR6sebI6W3pyXq8DxccIoGwa+uxj/v/McxNbTxZOJ3w4Rkb+ZVgWGk2ZbcQ\nYfm0V+07Jhm6St7vzVhI2JfBT78ZCkI8cj2hqe/xxaIJJm0PoWEssCgtzvCc\nlzlYYwXP5iUYHpXlHV4xasXLeh4wyKCWX2fDqcJwbfQ+w4F83vGQDT1fJ1/U\ndzJ842bsih1XB3hiI0NzrPyOq9mBPb1tjpyNDBXci5U7MVQnLhji4nMsE+9W\nc6ARL3i3XSWbXNiiLi8EzPxbbqydsaD73LgHJ2wp/OiFoKVJ8Ui+Chha6M3T\nH8NZUMPm+XB9p8h0QtATjvtxqUh0SBgV76QHZN+lszReA5pNQ66o1+8HV6O3\nrdWCBIcTuKHxHJ4NQdO1sx4Nxxy4VYBug2dVt4lMnB/vGCi7TSgWz/504Etk\nVbXlNSGkCmWHqFYbJXziYXlT7VKXEdLq2DDMwyvvksTZZ5W4OgiCjmCVFTUP\ndh+3HSKJ8y9hqUogIfqn83PkCUndQoTLQsZ2gpperL3fQJLXIMEn5F5GaD3D\nl50g2O3OIkhiCUf7v8/fMJOMuRPTmT2FjLlU+0ghY471+dV93epzr/sPPaJz\nu3Ev65sNX/8//gP5Ei2u\n " + ] + ] + }, + AspectRatio -> Automatic, + ImageSize -> {13.0, 13.0}, + PlotRange -> {{0.0, 13.0}, {0.0, 13.0}} + ] + ]) + } + ], + Cell[ + StyleData["CommentCellLabelTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + StyleBox[ + TagBox[ + GridBox[ + { + {StyleBox[#1, FontSize -> 11], "\[SpanFromLeft]"}, + { + StyleBox[ + DynamicBox[ + ToBoxes[ + DateString[ + TimeZoneConvert[DateObject[#2, TimeZone -> 0]], + { + "Month", + "/", + "Day", + "/", + "Year", + " ", + "Hour24", + ":", + "Minute" + } + ], + StandardForm + ], + SingleEvaluation -> True + ], + FontSize -> 9 + ], + ItemBox[ + ButtonBox[ + TagBox[ + StyleBox[ + TemplateBox[ + { + "\"Reply \[RightGuillemet]\"", + StyleBox["\"Reply \[RightGuillemet]\"", "HyperlinkActive"], + BaseStyle -> "Hyperlink" + }, + "MouseoverTemplate" + ], + FontSize -> 9 + ], + MouseAppearanceTag["LinkHand"] + ], + BaseStyle -> "Hyperlink", + ButtonFunction :> + (SelectionMove[ParentCell[EvaluationCell[]], After, Cell]; + DefinitionNotebookClient`CommentInsert[]), + Evaluator -> Automatic, + Method -> "Queued" + ], + Alignment -> Right + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Left}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{Automatic}}, "Rows" -> {{0}}} + ], + "Grid" + ], + "CommentLabel", + ShowStringCharacters -> False + ] + ]) + } + ], + Cell[ + StyleData["OrangeButtonTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + FrameBox[ + ButtonBox[ + StyleBox[ + #1, + "Text", + FontFamily -> "Source Sans Pro", + FontWeight -> "SemiBold", + FontTracking -> "Condensed", + FontSize -> 13, + FontColor -> + Dynamic[ + FEPrivate`If[ + CurrentValue[Enabled], + GrayLevel[1], + RGBColor[0.77647, 0.81765, 0.84314] + ], + Evaluator -> "System" + ], + StripOnInput -> False + ], + ButtonFunction :> + With[ { RSNB`nb$ = ButtonNotebook[] }, + + If[ #4, + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ProgressIndicator[Appearance -> "Necklace"] + ]; + + + With[ { RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 3145484069433207908; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = HoldForm[#2[]] + ] + ], + DefinitionNotebookClient`ButtonCodeID[3145484069433207908] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ]; + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ""; + ], + FrameMargins -> {{5, 5}, {0, 0}}, + Appearance -> { + "Default" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqAQDO9nxI0+A3RSO1VDq9U8M+T9UiFICAbKAIUJ9IQtbhm\nWc9Uadd4TAQUB8oSNASoBqt2ZIRmDpohQNficgOae5D9hWYI0NcETYAgoEpc\nhgBDj0hDgCrhuiCpEc4FxgKRhgBVIhsCBJQbQhWXUD1MqBI7VEknVEmx1Mo7\n1MrFpKLBZgh+QExpDwCSuadO\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Hover" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqAQDO9nxI0+A3RyphgWT7foW6Ze+taCAKygSJAcSINMcqf\n7ta6xqtzAyYCigNlCRoCVINVOzJCMwfNEKBrcbkBzT3I/kIzBOhrgiZAEFAl\nLkOAoUekIUCVcF2Q1AjnAmOBSEOAKpENAQLKDaGKS6geJlSJHaqkE6qkWGrl\nHWrlYlLRYDMEPyCmtAcACbcv5Q==\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Pressed" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqAQDO9nxKEy5DQtmVdaw7tOX/nxbvPEARkA0WA4sQYYpAz\neeGec3icDZQFqsFjiF/jorvP3wJFvv38ver4reZ1J+Om7YQgIBsoAhQHygLV\nAFViNQRoPsSESw9fJ87Y5dW5ARMBxYGyEHPg7kE2BOILoBqs2pERxBygejRD\ngCEG8QUuN6C5B+IvSDjDDQGGPJAB9DVBEyAIqBKoHqgL2RBgDAIZwNAj0hCg\nSqB6oC6gXkhqBDKAKQHIAMYCkYYAVQLVA3VBDAECyg2hikuoGCZUiR2qpBOq\npFhq5R2q5GJqlSfUKtnILmPxA2JKewBFU/Kd\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ] + }, + Background -> RGBColor[0.16078, 0.40392, 0.56078], + Method -> "Queued", + ImageSize -> {All, 23}, + Evaluator -> Automatic + ], + FrameStyle -> + Directive[ + RGBColor[0.16078, 0.40392, 0.56078], + AbsoluteThickness[2] + ], + FrameMargins -> -1, + ContentPadding -> False, + StripOnInput -> False + ] + ]) + } + ], + Cell[ + StyleData["SuggestionGridTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + StyleBox[ + FrameBox[ + AdjustmentBox[ + TagBox[ + GridBox[ + { + { + TemplateBox[ + {#2, #3, {16.0, 16.0}, {{1.0, 17.0}, {1.0, 17.0}}}, + "SuggestionIconTemplate" + ], + PaneBox[ + #1, + ImageSizeAction -> "ShrinkToFit", + BaselinePosition -> Baseline, + ImageSize -> Full + ], + RowBox[ + { + AdjustmentBox[ + TemplateBox[ + { + ActionMenuBox[ + TagBox[ + PaneSelectorBox[ + { + False -> + GraphicsBox[ + { + EdgeForm[Directive[GrayLevel[1, 0], Thickness[0.025]]], + FaceForm[#4], + RectangleBox[{-1.75, -2}, {1.75, 2}, RoundingRadius -> 0.2], + Thickness[0.15], + #5, + LineBox[{{-0.5, -1.0}, {0.5, 0.0}, {-0.5, 1.0}}] + }, + ImageSize -> {Automatic, 15}, + ImageMargins -> 0 + ], + True -> + GraphicsBox[ + { + EdgeForm[Directive[#5, Thickness[0.025]]], + FaceForm[#2], + RectangleBox[{-1.75, -2}, {1.75, 2}, RoundingRadius -> 0.2], + Thickness[0.15], + GrayLevel[1], + LineBox[{{-0.5, -1.0}, {0.5, 0.0}, {-0.5, 1.0}}] + }, + ImageSize -> {Automatic, 15}, + ImageMargins -> 0 + ] + }, + Dynamic[CurrentValue["MouseOver"]], + ImageSize -> Automatic, + FrameMargins -> 0 + ], + MouseAppearanceTag["LinkHand"] + ], + #6, + Appearance -> None, + Method -> "Queued" + ], + "\"View suggestions\"" + }, + "PrettyTooltipTemplate" + ], + BoxBaselineShift -> -0.5 + ], + " " + } + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Baseline}}}, + AutoDelete -> False, + GridBoxItemSize -> { + "Columns" -> {Automatic, Automatic, Fit}, + "Rows" -> {{Automatic}} + }, + GridBoxSpacings -> {"Columns" -> {{0.4}}} + ], + "Grid" + ], + BoxMargins -> {{0.25, -0.5}, {0.15, -0.15}} + ], + RoundingRadius -> {13, 75}, + Background -> #4, + FrameStyle -> None, + FrameMargins -> {{0, 8}, {0, 0}}, + ImageMargins -> {{0, 0}, {5, 5}}, + StripOnInput -> False + ], + "Text", + FontColor -> #5, + FontSize -> 14, + FontFamily -> "Source Sans Pro", + FontWeight -> "SemiBold", + FontTracking -> "Plain", + PrivateFontOptions -> {"OperatorSubstitution" -> False}, + LineBreakWithin -> False + ] + ]) + } + ], + Cell[ + StyleData["SuggestionIconTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + Thickness[0.055556], + StyleBox[ + { + FilledCurveBox[ + { + { + {1, 4, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + } + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBGJJIGZigIIGAwcIQ8kBxk94ekHp9k9Vh8qXaoYcOfoO\nm+a+X37stKZDTP+hrxpzdOA0TBymDqYPl7n2pnG7PHlk4Pw5RxQ2FGWIwPWD\njI3p54WbLxuVYn3fnwluD8S8H/Yo9gD5KPYA+TB7YPph9sDMh9EwcZg6FPdh\nMRfdXpi7YPph7oaZD/MXzB5c4QCzBwA/Dn+d\n " + ] + ] + }, + FaceForm[#1] + ], + StyleBox[ + { + FilledCurveBox[ + { + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0} + }, + { + {1, 4, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + } + }, + { + { + {8.1753, 7.4169}, + {7.7969, 11.308}, + {7.7969, 13.38}, + {10.12, 13.38}, + {10.12, 11.308}, + {9.7415, 7.4169}, + {8.1753, 7.4169} + }, + CompressedData[ + "\n1:eJxTTMoPSmViYGCQBGIQDQFKDg+rRNa5P+RzKPOXE8vSVYTz8z+0ngxpVHCA\nqBNwmPd++THv7/IO8q2vA3fICTpUvlQz5Hgj52DLdX1xga2QQxoYyDmcYLed\nHTpfGM6/k8GQ3+giCue7M1dwq7wQg+vnmbyyKdBTAm6+tsTUK5wZknD7Pec2\nqB1qk4K772Y8iCXtAHM/jP/bquBcxyUEfyJ/ldnqOmW4/qw9JZMlWFTg5tfa\nm8bt6lSB23/2DAiowN0H48PcD+PD/AfTD/M/zHxY+MDsh4UfzH2w8EUPfwD5\nN5G6\n " + ] + } + ] + }, + FaceForm[#2] + ] + }, + ImageSize -> #3, + PlotRange -> #4, + AspectRatio -> Automatic, + BaselinePosition -> Scaled[0.1] + ] + ]) + } + ], + Cell[ + StyleData["FormEditValuesButtonTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + TemplateBox[ + { + TagBox[ + PaneBox[ + PaneSelectorBox[ + { + False -> + GraphicsBox[ + TagBox[ + RasterBox[ + CompressedData[ + "\n1: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\nN3kqZvY=\n " + ], + {{0, 50.0}, {50.0, 0}}, + {0, 255}, + ColorFunction -> GrayLevel + ], + BoxForm`ImageTag[ + "Byte", + ColorSpace -> "Grayscale", + Interleaving -> True + ], + Selectable -> False + ], + DefaultBaseStyle -> "ImageGraphics", + ImageSizeRaw -> {50.0, 50.0}, + PlotRange -> {{0, 50.0}, {0, 50.0}} + ], + True -> + GraphicsBox[ + TagBox[ + RasterBox[ + CompressedData[ + "\n1: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\nDcvuuIyle//vxt/PCE6d\n " + ], + {{0, 50.0}, {50.0, 0}}, + {0, 255}, + ColorFunction -> GrayLevel + ], + BoxForm`ImageTag[ + "Byte", + ColorSpace -> "Grayscale", + Interleaving -> True + ], + Selectable -> False + ], + DefaultBaseStyle -> "ImageGraphics", + ImageSizeRaw -> {50.0, 50.0}, + PlotRange -> {{0, 50.0}, {0, 50.0}} + ] + }, + Dynamic[CurrentValue["MouseOver"]], + ImageSize -> Automatic, + FrameMargins -> 0 + ], + ImageSize -> {Automatic, 15}, + ImageSizeAction -> "ResizeToFit" + ], + MouseAppearanceTag["LinkHand"] + ], + "\"Edit values\"" + }, + "PrettyTooltipTemplate" + ] + ]) + } + ], + Cell[ + StyleData["HintPodTitleBar"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + GrayLevel[0.97], + FilledCurveBox[ + BezierCurve[ + { + Offset[{0, -3}, {1, 1}], + Offset[{0, -1.3443}, {1, 1}], + Offset[{-1.3443, 0}, {1, 1}], + Offset[{-3, 0}, {1, 1}], + Offset[{-3, 0}, {1, 1}], + Offset[{3, 0}, {-1, 1}], + Offset[{3, 0}, {-1, 1}], + Offset[{1.3443, 0}, {-1, 1}], + Offset[{0, -1.3443}, {-1, 1}], + Offset[{0, -3}, {-1, 1}], + Offset[{0, -3}, {-1, 1}], + {-1, -1}, + {-1, -1}, + {-1, -1}, + {1, -1}, + {1, -1} + } + ] + ], + InsetBox[ + FormBox[ + StyleBox[ + "\"Notebook Analysis\"", + FontColor -> GrayLevel[0.4], + FontColor -> GrayLevel[0.4], + FontFamily -> "Source Sans Pro", + FontWeight -> Plain, + FontSize -> 13, + StripOnInput -> False + ], + TraditionalForm + ], + Offset[{8, 0}, {-1, 0}], + NCache[ImageScaled[{0, 1/2}], ImageScaled[{0, 0.5}]] + ], + TagBox[ + TagBox[ + TooltipBox[ + { + GrayLevel[0.6], + DiskBox[Offset[{-13, -10}, {1, 1}], Offset[6]], + GrayLevel[0.97], + AbsoluteThickness[1.5], + CapForm["Round"], + LineBox[ + { + {Offset[{-15, -8}, {1, 1}], Offset[{-11, -12}, {1, 1}]}, + {Offset[{-15, -12}, {1, 1}], Offset[{-11, -8}, {1, 1}]} + } + ] + }, + FrameBox[ + StyleBox[ + "\"Close analysis pod\"", + "Text", + FontColor -> RGBColor[0.53725, 0.53725, 0.53725], + FontSize -> 12, + FontWeight -> "Plain", + FontTracking -> "Plain", + StripOnInput -> False + ], + Background -> RGBColor[0.96078, 0.96078, 0.96078], + FrameStyle -> RGBColor[0.89804, 0.89804, 0.89804], + FrameMargins -> 8, + StripOnInput -> False + ], + TooltipDelay -> 0.1, + TooltipStyle -> {Background -> None, CellFrame -> 0} + ], + Annotation[#1, "Close analysis pod", "Tooltip"] & + ], + EventHandlerTag[ + { + "MouseClicked" :> NotebookDelete[EvaluationCell[]], + Method -> "Preemptive", + PassEventsDown -> Automatic, + PassEventsUp -> True + } + ] + ] + }, + AspectRatio -> Full, + ImageSize -> {Full, 20}, + PlotRange -> {{-1, 1}, {-1, 1}}, + ImageMargins -> {{0, 0}, {0, 0}}, + ImagePadding -> {{0, 0}, {0, 0}} + ] + ]) + } + ], + Cell[ + StyleData["HintPodDelimiterTop"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + AbsoluteThickness[1], + GrayLevel[0.85], + CapForm["Round"], + LineBox[{{-1, 0}, {1, 0}}] + }, + AspectRatio -> Full, + PlotRange -> {{-1, 1}, {-1, 1}}, + ImagePadding -> {{0, 0}, {0, 0}}, + ImageSize -> {Full, 2}, + BaselinePosition -> Scaled[0.1], + ImageMargins -> {{0, 0}, {4, 0}} + ] + ]) + } + ], + Cell[ + StyleData["HintPodDelimiterBottom"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + AbsoluteThickness[1], + GrayLevel[0.85], + CapForm["Round"], + LineBox[{{-1, 0}, {1, 0}}] + }, + AspectRatio -> Full, + PlotRange -> {{-1, 1}, {-1, 1}}, + ImagePadding -> {{0, 0}, {0, 0}}, + ImageSize -> {Full, 2}, + BaselinePosition -> Scaled[0.1], + ImageMargins -> {{0, 0}, {0, 4}} + ] + ]) + } + ], + Cell[ + StyleData["HintPodFooter"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + GrayLevel[0.97], + FilledCurveBox[ + BezierCurve[ + { + {-1, 1}, + {-1, 1}, + Offset[{0, 3}, {-1, -1}], + Offset[{0, 3}, {-1, -1}], + Offset[{0, 1.3443}, {-1, -1}], + Offset[{1.3443, 0}, {-1, -1}], + Offset[{3, 0}, {-1, -1}], + Offset[{3, 0}, {-1, -1}], + Offset[{-3, 0}, {1, -1}], + Offset[{-3, 0}, {1, -1}], + Offset[{-1.3443, 0}, {1, -1}], + Offset[{0, 1.3443}, {1, -1}], + Offset[{0, 3}, {1, -1}], + Offset[{0, 3}, {1, -1}], + {1, 1}, + {1, 1} + } + ] + ], + InsetBox[ + BoxData[ + FormBox[ + TemplateBox[ + { + StyleBox[ + TemplateBox[{3}, "Spacer1"], + FontColor -> GrayLevel[0.4], + FontFamily -> "Source Sans Pro", + FontWeight -> Plain, + FontSize -> 12, + StripOnInput -> False + ], + StyleBox[ + #1, + FontColor -> GrayLevel[0.4], + FontFamily -> "Source Sans Pro", + FontWeight -> Plain, + FontSize -> 12, + StripOnInput -> False + ], + StyleBox[ + TemplateBox[{5}, "Spacer1"], + FontColor -> GrayLevel[0.4], + FontFamily -> "Source Sans Pro", + FontWeight -> Plain, + FontSize -> 12, + StripOnInput -> False + ] + }, + "RowDefault" + ], + TraditionalForm + ] + ], + Offset[{5, 2.5}, {-1, 0}], + {-1, 0} + ] + }, + AspectRatio -> Full, + ImageSize -> {Full, 21}, + PlotRange -> {{-1, 1}, {-1, 1}}, + ImageMargins -> {{0, 0}, {0, 3}}, + ImagePadding -> {{0, 0}, {0, 0}} + ] + ]) + } + ], + Cell[ + StyleData["HintPodMenuItems"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + TemplateBox[ + { + #1, + FrameMargins -> 3, + Background -> GrayLevel[1], + RoundingRadius -> 0, + FrameStyle -> + Directive[ + AbsoluteThickness[1], + RGBColor[0.75686, 0.82745, 0.88235] + ], + ImageMargins -> #2 + }, + "Highlighted" + ] + ]) + } + ], + Cell[ + StyleData["HintPodActionMenuItem"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + ButtonBox[ + TemplateBox[ + { + TagBox[ + GridBox[ + {{#1, TemplateBox[{7}, "Spacer1"], #2}}, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{0}}} + ], + "Grid" + ], + FrameStyle -> None, + RoundingRadius -> 0, + FrameMargins -> {{5, 2}, {2, 2}}, + ImageSize -> Full, + ImageMargins -> {{0, 0}, {0, 0}}, + Background -> + Dynamic[ + If[ CurrentValue["MouseOver"], + GrayLevel[0.96], + GrayLevel[1.0] + ] + ] + }, + "Highlighted" + ], + ButtonFunction :> ReleaseHold[#3], + Appearance -> { + "Default" -> + Image[ + CompressedData[ + "1:eJxTTMoPSmNiYGAo5gESfqW5qUWZyY5FRYmVScxAARhmAeL/QAClwDQDBPxHFg8WALJC84oz0/NSUzzzSlLTU4ssAL+sIf8=" + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> {72, 72}, + Interleaving -> True + ], + "Hover" -> + Image[ + CompressedData[ + "1:eJxTTMoPSmNiYGAo5gESfqW5qUWZyY5FRYmVScxAARhmAeL/QAClwDQDBPxHFg8WALJC84oz0/NSUzzzSlLTU4ssAL+sIf8=" + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> {72, 72}, + Interleaving -> True + ], + "Pressed" -> + Image[ + CompressedData[ + "1:eJxTTMoPSmNiYGAo5gESfqW5qUWZyY5FRYmVScxAARhmAeL/QAClwDQDBPxHFg8WALJC84oz0/NSUzzzSlLTU4ssAL+sIf8=" + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> {72, 72}, + Interleaving -> True + ] + }, + Method -> "Queued", + Evaluator -> Automatic + ] + ]) + } + ], + Cell[ + StyleData["HintPodDisabledMenuItem"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + ButtonBox[ + TemplateBox[ + { + TagBox[ + GridBox[ + { + { + #1, + TemplateBox[{7}, "Spacer1"], + StyleBox[#2, FontOpacity -> 0.4] + } + }, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{0}}} + ], + "Grid" + ], + FrameStyle -> None, + RoundingRadius -> 0, + FrameMargins -> {{5, 2}, {2, 2}}, + ImageSize -> Full, + ImageMargins -> {{0, 0}, {0, 0}}, + Background -> GrayLevel[1.0] + }, + "Highlighted" + ], + ButtonFunction :> Null, + Appearance -> { + "Default" -> + Image[ + CompressedData[ + "1:eJxTTMoPSmNiYGAo5gESfqW5qUWZyY5FRYmVScxAARhmAeL/QAClwDQDBPxHFg8WALJC84oz0/NSUzzzSlLTU4ssAL+sIf8=" + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> {72, 72}, + Interleaving -> True + ], + "Hover" -> + Image[ + CompressedData[ + "1:eJxTTMoPSmNiYGAo5gESfqW5qUWZyY5FRYmVScxAARhmAeL/QAClwDQDBPxHFg8WALJC84oz0/NSUzzzSlLTU4ssAL+sIf8=" + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> {72, 72}, + Interleaving -> True + ], + "Pressed" -> + Image[ + CompressedData[ + "1:eJxTTMoPSmNiYGAo5gESfqW5qUWZyY5FRYmVScxAARhmAeL/QAClwDQDBPxHFg8WALJC84oz0/NSUzzzSlLTU4ssAL+sIf8=" + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> {72, 72}, + Interleaving -> True + ] + }, + Method -> "Queued", + Evaluator -> Automatic, + Enabled -> False + ] + ]) + } + ], + Cell[ + StyleData["HintPodActionLabel"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + PaneBox[ + StyleBox[ + #1, + FontColor -> GrayLevel[0.2], + FontFamily -> "Source Sans Pro", + FontWeight -> Plain, + FontSize -> 13, + LineIndent -> 0, + StripOnInput -> False + ], + FrameMargins -> 0, + ImageMargins -> 0, + BaselinePosition -> Baseline, + ImageSize -> Full + ] + ]) + } + ], + Cell[ + StyleData["HintPodMenuDelimiter"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + PaneBox[ + StyleBox[ + GraphicsBox[ + { + CapForm["Round"], + GrayLevel[0.9], + AbsoluteThickness[1], + LineBox[{{-1, 0}, {1, 0}}] + }, + AspectRatio -> Full, + PlotRange -> {{-1, 1}, {-1, 1}}, + ImageMargins -> {{0, 0}, {2, 2}}, + ImagePadding -> {{5, 5}, {0, 0}}, + ImageSize -> {Full, 2} + ], + LineIndent -> 0, + StripOnInput -> False + ], + FrameMargins -> 0, + ImageMargins -> 0, + BaselinePosition -> Baseline, + ImageSize -> Full + ] + ]) + } + ], + Cell[ + StyleData["HintPodIconChevron"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + GrayLevel[0.2], + AbsoluteThickness[1.8], + CapForm["Round"], + JoinForm["Miter"], + LineBox[{{-0.5, 1}, {0.5, 0}, {-0.5, -1}}] + }, + AspectRatio -> Full, + BaselinePosition -> Bottom, + ImageMargins -> {{0, 4}, {0, 0}}, + ImageSize -> {5.6, 7.7} + ] + ]) + } + ], + Cell[ + StyleData["HintPodIconPopOut"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + FaceForm[GrayLevel[0.4]], + FilledCurveBox[ + { + { + {1, 4, 3}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3} + } + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBGIlIGYC4h1yra8Dd6g4rHN/WCWip+KwRiYqxXq+isNk\nCZYwvlwEDROHqYPpKwUrUHFgAIEDKg5nzwDBG2VU/hlluPogMEMCzm9kOdpv\naC6OJi/mINR84NRCVwQfIq8M519wufHhi5Yymn4lNPOVHNLAQBHO/6YR03/o\nK5eDB9Ab69wFHJoeHZ+xexqng8r0/xPqfvM5cG9dVnl8JacD0FO6m+byOPxL\n/f4kUZHbQZr3ge4EBW6HD2IeAX9m8Dhkzyqfs2gxp8ONxmK3Kd/4HOYsUt75\np50Tbi6YesgF9b8ShJ+oCOfD3Anjw/zx9JP8pXx7hD9h4QfjqxtyAKNCBU0e\nEY4wPqr5iHh4/nvlx0tnVRyYObvkk98pOwA9+X75MRUHWWD03udHxCssngGf\nXO7X\n " + ] + ] + }, + AspectRatio -> Automatic, + ImageSize -> {14.0, 14.0}, + PlotRange -> {{0.0, 13.62}, {0.0, 13.62}} + ] + ]) + } + ], + Cell[ + StyleData["HintPodIconWrench"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + GrayLevel[0.4], + AbsoluteThickness[1], + Opacity[1.0], + JoinedCurveBox[ + { + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3} + } + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBGJRIGYCYmWv6mZ9n3/2cmJZvp/5BBzci37yv9wu6/Au\nysnuhaQynG8at8uT55AGXJwBDHQdPl3yTRKIUIfzo1Ks7/vzajiosjVOdfbW\nccjaUzJZokUFrv8ySLmlqoPbts9/r1iowsVh6mD6zp4BAh4NnPbA3AHTr+ss\n8/rRNoS7YXyYv2D+7H/ySf5SPrdD7D/nX29ff7H/6hXZZnGNGc6HqYPRMPED\nb+bZ6FxBqAPpOprL7YAefgCtVISU\n " + ], + CurveClosed -> {1} + ] + }, + AspectRatio -> Automatic, + BaselinePosition -> Scaled[0.2], + ImagePadding -> 0.5, + ImageSize -> {16.0, 16.0}, + PlotRange -> {{0.0, 16.0}, {0.0, 16.0}} + ] + ]) + } + ], + Cell[ + StyleData["HintPodIconInfo"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + FaceForm[GrayLevel[0.4]], + FilledCurveBox[ + { + {{1, 4, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}}, + { + {1, 4, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + }, + { + {1, 4, 3}, + {0, 1, 0}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3} + } + }, + { + { + {6.81, 13.0}, + {3.3914, 13.0}, + {0.62, 10.229}, + {0.62, 6.81}, + {0.62, 3.3914}, + {3.3914, 0.62}, + {6.81, 0.62}, + {10.229, 0.62}, + {13.0, 3.3914}, + {13.0, 6.81}, + {13.0, 10.229}, + {10.229, 13.0}, + {6.81, 13.0} + }, + CompressedData[ + "\n1:eJxTTMoPSmViYGCQB2IQbct1fXGBrbRD6+vAHXKtvA7r3B9WiayTdoCI8zgc\n/qoR039IHkoLOjCAgYKDB0iZu4CDPFijgsOsmSDAC1UnCzWPE0rLQMXZHV6x\nmAia1Ug56E1Y8MMwjdXh685bXX9VJRx4Jq9sCvRkcTh7BgREHfoPgTSwOAQB\ndb8OFHYAO4eLFeo+IQcRMIMLzoe4h9dBW2LqFc4MYYd4zdMCx38JOviYdzom\npIo4PJgjuHSvo6jDkgKQz0QdCsEelHDQjAHZJAa1VxIqLwH3Jzofok8S4i9W\nRQews67LQsJhnoKDMRjIQ9Q3wMJJwQFMJULDSRJmrhzUPKh6Blmof+QcwM6K\nkXb4Bgq2rzJQcXFovMhA5UUdciqqluo0SztsKMqY+NZG2OHV1E08hTrSDquA\noTmXQdABPX4BaWq/EA==\n " + ], + { + {8.81, 9.79}, + {8.8101, 9.5122}, + {8.5878, 9.2854}, + {8.31, 9.28}, + {7.51, 9.28}, + {7.2283, 9.28}, + {7.0, 9.5083}, + {7.0, 9.79}, + {7.0, 10.62}, + {7.0054, 10.898}, + {7.2322, 11.12}, + {7.51, 11.12}, + {8.35, 11.12}, + {8.6239, 11.115}, + {8.8447, 10.894}, + {8.85, 10.62} + } + } + ] + }, + AspectRatio -> Automatic, + ImagePadding -> 0.5, + ImageSize -> {14.0, 14.0}, + PlotRange -> {{0.0, 13.62}, {0.0, 13.62}} + ] + ]) + } + ], + Cell[ + StyleData["HintPodIconNone"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { }, + AspectRatio -> Automatic, + ImageSize -> {16.0, 16.0}, + PlotRange -> {{0.0, 16.0}, {0.0, 16.0}}, + BaselinePosition -> Scaled[0.2], + ImagePadding -> 0.5 + ] + ]) + } + ], + Cell[ + StyleData["HintPodIconIgnoreAlways"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + EdgeForm[None], + FaceForm[GrayLevel[0.4]], + FilledCurveBox[ + { + { + {0, 2, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + } + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBGJTIGYCYpF17g+rROQcbLmuLy6wlXaoBguoOvQf+qoR\nw6/i8CZwh1zralWH4oyJb2vsVRx0N819v/yYqoO0/l0VtkYEv/U1UOFRBP/D\n8mPe5pyqcP0z8oSaD3ipws2H0famcbs8fVQd2BqnOnevUXUAa+dWdUgSiLDc\nckLVwQPounXHVeB8kK1TmxH8gN7peULOKnD9EP+owM2H+QvmzyUFIBEeuHxC\nmb+c2CtuuP75NjpXZj3jgpsP0s11nRPO5+feuqzyOAec73dxYsy/w+xw/WDr\nuNjh5n9MPhPr7cEG93+V2Wq78Nus8PCB8WHhB+PDwhemHxb+MPNh8ZMGBhJw\nf8Lkv2nEAJXwOGyu/rQh4DWrwwrTs9Z+F7kdvHiYtNunsTrYgrwpy+XQteHh\ny6lGbA6HxNWCWRdzOJwKObhiyTk2B3fmCm4VDXaouRwOEaeMjmzUY4OHhybI\neA02eHgt/GH4bJ0qm4PT+bSrz4Hh+Z0tfobPVDZ4eIOVx7DD3QlzNwMYIPx1\nsmzffCl9FUg4u7M5hPEBU1S+isPs0Pmr195gdTAGgc0qUHewOswDJhfv7yoO\n/g7CiYcvszoAU9vrQAtVh6V+QAFnNqg9iHj5dMk3SWAGIt78wBGJiFcYH+ZP\nGB/mT5h+WLqBmQ/zJwC4F0s3\n " + ] + ] + }, + AspectRatio -> Automatic, + ImageMargins -> {{0, 0}, {0, 2}}, + ImageSize -> {14.0, 14.0}, + PlotRange -> {{-0.5, 13.62}, {-0.5, 13.62}} + ] + ]) + } + ], + Cell[ + StyleData["HintPodIconIgnoreInCell"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + EdgeForm[None], + FaceForm[GrayLevel[0.4]], + FilledCurveBox[ + { + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0} + }, + {{0, 2, 0}, {0, 1, 0}} + }, + { + { + {11.69, 13.37}, + {7.57, 13.37}, + {7.57, 12.37}, + {7.76, 12.37}, + {11.19, 8.93}, + {11.19, 1.25}, + {7.57, 1.25}, + {7.57, 0.25}, + {12.19, 0.25}, + {12.19, 13.37} + }, + {{9.17, 12.37}, {11.17, 12.37}, {11.17, 10.37}} + } + ], + FilledCurveBox[ + { + { + {0, 2, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + } + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBGIjIGYCYo+HVSLr3EUdbLmuLy6wlXZYUgBiyTlAxJUc\nkt9FOdllyDuU6yrKf1mD4LM879F466sMV28MApuVHX7yv9y+3lkOQj9WdngU\nIb794gFZh/Dojfvf/FN22CHX+jrQAsHvf/JJ/tJ6GTgfbI+ODFz/2TMgIA03\nvxroqodVQg5gSkQO6m4mVPubGR1E7I/d2fpE2cHy2tFckwYGB2n9uypsjCoO\nYG89/GcP4wd5zm1QO/QHzr9wNeyN/u5f9jD9kHD4aQ8zX+z36XcnD3+3v8fE\n2SXfrOygvqBzw8OX3+yDQAxHBB/srr9KcL7mW959BjuV4PrnCi7de7BcCW4+\nLLwhND88PmDyEHcLOjg2PTo+Y/d3+/21shbpLYIOTglPLyjd/mZ//wH35JVM\nCD4knATgfL0JC34YPuOH688Nq1237REf3HzNmP5DXzX4HLhVNOp6dv6yP3xZ\nO1UyiRcePrlH/22q/sQDD79vGiANPA5yy1946NUzOOy61fU39TuPw5GNenmL\nGxkdwPal8cLjB2Y+LP7SwEDCgQEMZODyf7+VPpgTKOOw9ldM7tE6XgfmCqCL\n9sk43PfvnZ4nxAuJZ2NZB5j9UV933uraK+swf/XaG/HfeCDudZJzuA1yTgov\nPH3CzBcAJg/mdHmHVElQyuSH851lXj8ykxKEq4eFNwCKHGBr\n " + ] + ] + }, + AspectRatio -> Automatic, + ImageMargins -> {{0, 0}, {0, 2}}, + ImageSize -> {14.0, 14.0}, + PlotRange -> {{-0.5, 13.62}, {-0.5, 13.62}} + ] + ]) + } + ], + Cell[ + StyleData["HintPodIconIgnoreInNotebook"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + FaceForm[GrayLevel[0.4]], + FilledCurveBox[ + { + { + {0, 2, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + } + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBGJTIGYC4qAdcq2vAwUcbLmuLy6wFXdYUgBiSTp4PKwS\nWeeu4GCgtVL4AouUw1zBpXsPlis4vDlgqexlLeWg+ZZ3n8FOBB+s/y+CH6S+\noHODoyJc/z0mzi75ZkW4+cYgsFnRoanYbco3N0kHEftjd7Y+UXRYeM3kvcVR\nCYeQx0tnH2FQgroLwb9pWxmxYqs4nP9zQfrmV8bicP0g1VzXxeDmf9OI6T/0\nlcsB6Bmgj6QcGMDggz1MvoTnRNz7f2/sf/K/3L7+saLDzmCriP/PX9iHR2/c\n/+YfzL1P4Pz+Xoc96+IfwPkrVqZm1068AdcPtAxo4yW4+ccenln/jOGkPcz/\nMjWJRqEGh+xh4QPjw8IPxoeFL0w/LPxh5sPiB0KzwuNPHhibO+Su2h8GKTvE\n7aAYeYAl7+5Z+/rfVgXnOLgdPu6qO5h345j9voPiasGsXHA+JJw44Hy9CQt+\nGD5jh+vPDatdt+0RG9x8TZByDTYH/uky5V7st+21JaZe4cxgdZgp5PnFqOuh\nvQY/99ZlP1kcIO54CjWfxeFeX0HUh0Uv7bdEft15i4vVoa2/Q3Oiy1t77Xax\nm+fKWeHxAzMfFn9pYCACj1+YfMeX29cbgfF/+LJ2qmQSKzx95B79t6n6Ews8\n/cDsB3O5JB1Upv+fUPebxeHIRr28xQeB6e+Cy40PX1gdnjTPO7uKX8qh/8kn\n+Uv57A4sYXy6m2KlHDjBCY3DwV9OLMvXGJjeda7MejaXC56eYeENAPSkchE=\n\n " + ] + ], + FilledCurveBox[ + { + { + {0, 2, 0}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3} + } + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBGJdIGYC4qAdcq2vL6o52HJdX1ywVwtC24rB+YdTViWE\nXBKE86tF1rk/rOJxMAaBzxpwPkReDY2vCDVPCMpXhvPB+jerwfnPf6/8eOms\nukPDdoemR+wiUHkNuHtgfJh7YXy2xqnO3W/U0eQ14ObB+DD7YHzNmP5DXzWY\n4PzY3KP/NlX/toeZBxYP/GIPsw/GBzuHSxrOX7TF/MchFSkH9g9iHgF/Ptmb\nvrdwdTeSdNjZywYU+WQPcb8E1B+f7H8EP146m0XcYeE1E6DKT/Z9IGUXRB02\nV3/aEJD92R5s7A4Rh1kzQeCr/YQFPwyfvRN2+Put9MEcwe/2894vP+ZtLuxw\n3793ep7QT3uIOiEHkC651t/2YH8a80LtY3NA5TPB+RPrflsVnPtkL/8lJ6xW\nT8jhTSDYo1DzxOB8BjBQh/O/aQADzlQTTV4bbh6MD7MPxoeFfwDI2czaDmfP\ngAA0nCdqOTglPL2gdFvDweNhlci645oO8iAPzdOEmPNXw+EPMDp9k7Qc4nZ5\n8jC9VncAG39KywE9/QIAH6UuJw==\n " + ] + ], + FilledCurveBox[ + {{{0, 2, 0}, {1, 3, 3}, {0, 1, 0}, {0, 1, 0}}}, + { + { + {5.63, 11.05}, + {5.63, 10.44}, + {6.0569, 10.539}, + {6.5048, 10.49}, + {6.9, 10.3}, + {9.53, 10.3}, + {9.53, 11.05} + } + } + ], + FilledCurveBox[ + {{{1, 4, 3}, {0, 1, 0}, {0, 1, 0}}}, + { + { + {7.92, 3.73}, + {8.0396, 3.4994}, + {8.0784, 3.2353}, + {8.03, 2.98}, + {9.41, 2.98}, + {9.41, 3.73} + } + } + ], + FilledCurveBox[ + {{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}}}, + { + { + {6.73, 6.21}, + {6.2, 5.82}, + {6.67, 5.46}, + {11.22, 5.46}, + {11.22, 6.21}, + {6.73, 6.21} + } + } + ], + FilledCurveBox[ + {{{1, 4, 3}, {0, 1, 0}, {0, 1, 0}}}, + { + { + {8.0, 8.7}, + {8.0514, 8.4458}, + {8.0162, 8.1818}, + {7.9, 7.95}, + {10.25, 7.95}, + {10.25, 8.7} + } + } + ] + }, + AspectRatio -> Automatic, + ImagePadding -> 0.75, + ImageSize -> {15.0, 15.0}, + PlotRange -> {{0.0, 13.62}, {0.0, 13.62}} + ] + ]) + } + ], + Cell[ + StyleData["HintPodIconHint"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + EdgeForm[None], + FaceForm[#1], + FilledCurveBox[ + { + {{1, 4, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}}, + { + {1, 4, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + }, + { + {0, 2, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + } + }, + { + { + {9.015, 17.37}, + {4.4559, 17.37}, + {0.76, 13.645}, + {0.76, 9.05}, + {0.76, 4.455}, + {4.4559, 0.73}, + {9.015, 0.73}, + {13.574, 0.73}, + {17.27, 4.455}, + {17.27, 9.05}, + {17.27, 13.645}, + {13.574, 17.37}, + {9.015, 17.37} + }, + CompressedData[ + "\n1:eJxTTMoPSmViYGCQBGIQbcixRiYqRcVh3bak+pu23A5rf8XkHt2n7OC/fkpq\nx2MOB8+5DWqHnik5nP8e/HjpbHYHj4dVIuvYlRyAiisjVrA78Bau6b6toegQ\nApQ9soDdQepAtIJjoILDJ8fzaVefczgs6Nzw8GWoPNx84yMb9fIeyzr831T9\nacMFXod1N+LL/OVkHV5uX8/8/IyAw7Fck4btDrIOZQ/mCC7dK+TAXMGtomEn\n6/DP+dfb1w0iDkIi9sfufJV1ePRy6iYeQzGHac7dOc+t5R3SwEDcwe7FzTW/\nbBQc9kybwF+1TcLh7TwbnStSig7Hd+3oZSuQdDjab1iuy6jk0MIL8qGkg8f+\nWlmL50oO9uHRG/fnSDr4fu4LLjmi7HDw1ELXbZslHGDhAzO//9BXjRh+VQeG\niXW/rQzEHKzv+/dOz1N1uFfY1fekSMRhzhGFDUUZqhB/LhaCmFOs6sC0h1VI\nZL+Ag8g6d2AIqjqYCJrZ7L3E64Ae/gDrrapT\n " + ], + CompressedData[ + "\n1:eJxTTMoPSmViYGBQBGIQ/emSb5KAhJoDAwg0aDhYbjlRtu++isNudX7urWpK\nDrX2pnG7Tqo4TFPsKy2sVnRQvv2zLqtGBULfUXAI6J2eJ8Ss4mDSsN2hKUnB\nIa0jOfZOmrKD/l0Vtsar8g5Gz9apPlms5GDgs4zLLVXeweLHoZRVDxQdnNdm\n3ivskneQW/7CQ09e0aHEbco3tnh5h+jLex6LxCo4FErzPtC9IO+wVfT36Xed\n8nDzH5tJHYheIOeQBxJ4pOCgu2nu++Vscg75Qs0HTjUqOjDkN7IcPS/rcObd\nycNOukoObqqlTLM4ZOD+O7JRL2/xQWkHHibtdrFITYeb8WX+ctOkHQ6eWui6\nzVjLQfD4rh29bdIO/Ye+asTwazuAnJswRdohaIdc6+uL2g6qbI1TnbtlHGy5\nri8uqNVxEIgAhtg3WYj5B3QcgKEkzcsAdOfS2UcUDHQdEp5eULotqehw89z3\n4Mepug63pGsSjUyVHMr3zZfSj9V1uKKdKvkoQtmhOGPi25p6XQeQ8p91KhB9\nlroOIGH7UlWH+qw9JZNn6EDs54bGF4OOA9AVtlzhag6KG4oyJupqO4CCYaGr\nmgM4XiO0HK5WvFQz9FBzuAzi7tR0cNv2+e8VCzUHJ5AF0poO6PEPAFdvzZk=\n\n " + ] + } + ] + }, + AspectRatio -> Automatic, + BaselinePosition -> Scaled[0.1], + ImagePadding -> 0.5, + ImageSize -> {14.0, 14.778}, + PlotRange -> {{0.76, 17.27}, {0.73, 17.37}} + ] + ]) + } + ], + Cell["Documentation", "Section"], + Cell["Usage", "Subsection"], + Cell[ + StyleData[ + "UsageInputs", + StyleDefinitions -> StyleData["Input"] + ], + CellMargins -> {{66, 10}, {0, 8}}, + StyleKeyMapping -> {"Tab" -> "UsageDescription"}, + Evaluatable -> False, + CellEventActions -> { + "ReturnKeyDown" :> + With[ { RSNB`nb$ = Notebooks[EvaluationCell[]] }, + SelectionMove[EvaluationCell[], After, Cell]; + NotebookWrite[RSNB`nb$, Cell["", "UsageDescription"], All]; + SelectionMove[RSNB`nb$, Before, CellContents] + ], + {"KeyDown", "\t"} :> + Replace[ + SelectionMove[SelectedNotebook[], After, Cell]; + NotebookFind[ + SelectedNotebook[], + "TabNext", + Next, + CellTags, + AutoScroll -> True, + WrapAround -> True + ], + Blank[NotebookSelection] :> + SelectionMove[ + SelectedNotebook[], + All, + CellContents, + AutoScroll -> True + ] + ] + }, + ShowAutoStyles -> False, + ShowCodeAssist -> False, + CodeAssistOptions -> {"DynamicHighlighting" -> False}, + LineSpacing -> {1, 3}, + TabSpacings -> {2.5}, + CounterIncrements -> "Text", + FontFamily -> "Source Sans Pro", + FontSize -> 15, + FontWeight -> "Plain" + ], + Cell[ + StyleData[ + "UsageDescription", + StyleDefinitions -> StyleData["Text"] + ], + CellMargins -> {{86, 10}, {7, 0}}, + StyleKeyMapping -> {"Backspace" -> "UsageInputs"}, + CellGroupingRules -> "OutputGrouping", + CellEventActions -> { + "ReturnKeyDown" :> + With[ { RSNB`nb$ = Notebooks[EvaluationCell[]] }, + SelectionMove[EvaluationCell[], After, Cell]; + + NotebookWrite[ + RSNB`nb$, + Cell[ + BoxData[""], + "UsageInputs", + FontFamily -> "Source Sans Pro" + ], + All + ]; + + SelectionMove[RSNB`nb$, Before, CellContents] + ], + {"KeyDown", "\t"} :> + Replace[ + SelectionMove[SelectedNotebook[], After, Cell]; + NotebookFind[ + SelectedNotebook[], + "TabNext", + Next, + CellTags, + AutoScroll -> True, + WrapAround -> True + ], + Blank[NotebookSelection] :> + SelectionMove[ + SelectedNotebook[], + All, + CellContents, + AutoScroll -> True + ] + ] + }, + ShowAutoSpellCheck -> False + ], + Cell["Details & Options", "Subsection"], + Cell[ + StyleData["Notes", StyleDefinitions -> StyleData["Item"]], + CellDingbat -> + StyleBox[ + "\[FilledVerySmallSquare]", + FontColor -> GrayLevel[0.6] + ], + CellMargins -> {{66, 24}, {9, 7}}, + ReturnCreatesNewCell -> False, + StyleKeyMapping -> { }, + DefaultNewCellStyle -> "Notes", + ShowAutoSpellCheck -> False, + GridBoxOptions -> {BaseStyle -> "TableNotes"} + ], + Cell[ + StyleData[ + "TableNotes", + StyleDefinitions -> StyleData["Notes"] + ], + CellDingbat -> None, + CellFrameColor -> RGBColor[0.749, 0.694, 0.553], + StyleMenuListing -> None, + ButtonBoxOptions -> {Appearance -> {Automatic, None}}, + GridBoxOptions -> { + FrameStyle -> GrayLevel[0.906], + GridBoxAlignment -> { + "Columns" -> {{Left}}, + "ColumnsIndexed" -> { }, + "Rows" -> {{Baseline}}, + "RowsIndexed" -> { } + }, + GridBoxDividers -> {"Columns" -> {{None}}, "Rows" -> {{True}}}, + GridDefaultElement -> Cell["\[Placeholder]", "TableText"] + } + ], + Cell[ + StyleData["TableText"], + DefaultInlineFormatType -> "DefaultInputInlineFormatType", + AutoQuoteCharacters -> { }, + PasteAutoQuoteCharacters -> { }, + StyleMenuListing -> None + ], + Cell["Examples", "Subsection"], + Cell[ + StyleData["ExampleDelimiter"], + Selectable -> False, + ShowCellBracket -> Automatic, + CellMargins -> {{66, 14}, {5, 10}}, + Evaluatable -> True, + CellGroupingRules -> {"SectionGrouping", 58}, + CellEvaluationFunction -> (($Line = 0;) &), + ShowCellLabel -> False, + CellLabelAutoDelete -> True, + TabFilling -> "\[LongDash]\[NegativeThickSpace]", + TabSpacings -> {100}, + StyleMenuListing -> None, + FontFamily -> "Verdana", + FontWeight -> Bold, + FontSlant -> "Plain", + FontColor -> GrayLevel[0.906] + ], + Cell[ + StyleData[ + "ExampleText", + StyleDefinitions -> StyleData["Text"] + ] + ], + Cell[ + StyleData[ + "PageBreak", + StyleDefinitions -> StyleData["ExampleDelimiter"] + ], + Selectable -> False, + CellFrame -> {{0, 0}, {1, 0}}, + CellMargins -> {{66, 14}, {15, -5}}, + CellElementSpacings -> {"CellMinHeight" -> 1}, + Evaluatable -> True, + CellEvaluationFunction -> (($Line = 0;) &), + CellFrameColor -> GrayLevel[77/85] + ], + Cell[ + StyleData["Subsection"], + Evaluatable -> True, + CellEvaluationFunction -> (($Line = 0;) &), + ShowCellLabel -> False + ], + Cell[ + StyleData["Subsubsection"], + Evaluatable -> True, + CellEvaluationFunction -> (($Line = 0;) &), + ShowCellLabel -> False + ], + Cell[ + StyleData["ExampleImage"], + PageWidth :> 650, + CellMargins -> {{66, 66}, {16, 5}}, + Evaluatable -> False, + ShowCellLabel -> False, + MenuSortingValue -> 10000, + RasterBoxOptions -> {ImageEditMode -> False} + ], + Cell["Links", "Section"], + Cell[ + StyleData["Link"], + FontFamily -> "Source Sans Pro", + FontColor -> + Dynamic[ + If[ CurrentValue["MouseOver"], + RGBColor[0.855, 0.396, 0.145], + RGBColor[0.02, 0.286, 0.651] + ] + ] + ], + Cell[ + StyleData[ + "StringTypeLink", + StyleDefinitions -> StyleData["Link"] + ], + FontColor -> + Dynamic[ + If[ CurrentValue["MouseOver"], + RGBColor[0.969, 0.467, 0.0], + GrayLevel[0.467] + ] + ] + ], + Cell[ + StyleData["CharactersRefLink"], + ShowSpecialCharacters -> False + ], + Cell["Annotation", "Section"], + Cell[ + StyleData["Excluded"], + CellBracketOptions -> {"Color" -> RGBColor[0.9, 0.4, 0.4], "Thickness" -> 2}, + GeneratedCellStyles -> { + "Graphics" -> {"Graphics", "Excluded"}, + "Message" -> {"Message", "MSG", "Excluded"}, + "Output" -> {"Output", "Excluded"}, + "Print" -> {"Print", "Excluded"}, + "PrintTemporary" -> {"PrintTemporary", "Excluded"} + }, + CellFrameMargins -> 4, + CellFrameLabels -> { + { + None, + Cell[ + BoxData[ + TemplateBox[ + { + StyleBox[ + "\"excluded\"", + "ExcludedCellLabel", + StripOnInput -> False + ], + "\"Excluded cells will not appear anywhere in the published resource except for the definition notebook\"" + }, + "PrettyTooltipTemplate" + ] + ], + "ExcludedCellLabel" + ] + }, + {None, None} + }, + StyleMenuListing -> None, + Background -> RGBColor[1, 0.95, 0.95] + ], + Cell[ + StyleData[ + "ExcludedCellLabel", + StyleDefinitions -> StyleData["Text"] + ], + ShowStringCharacters -> False, + FontFamily -> "Source Sans Pro", + FontSize -> 9, + FontWeight -> Plain, + FontSlant -> Italic, + FontColor -> RGBColor[0.9, 0.4, 0.4, 0.5], + Background -> None + ], + Cell[ + StyleData["Comment", StyleDefinitions -> StyleData["Text"]], + CellFrame -> {{3, 0}, {0, 0}}, + CellMargins -> {{66, 0}, {1, 0}}, + CellElementSpacings -> {"ClosedCellHeight" -> 0}, + GeneratedCellStyles -> { + "Graphics" -> {"Graphics", "Comment"}, + "Message" -> {"Message", "MSG", "Comment"}, + "Output" -> {"Output", "Comment"}, + "Print" -> {"Print", "Comment"}, + "PrintTemporary" -> {"PrintTemporary", "Comment"} + }, + CellFrameColor -> RGBColor[0.88072, 0.61104, 0.14205], + CellFrameLabelMargins -> {{0, 10}, {0, 0}}, + FontColor -> GrayLevel[0.25], + Background -> RGBColor[0.982, 0.942, 0.871] + ], + Cell[ + StyleData[ + "AuthorComment", + StyleDefinitions -> StyleData["Comment"] + ], + GeneratedCellStyles -> { + "Graphics" -> {"Graphics", "AuthorComment"}, + "Message" -> {"Message", "MSG", "AuthorComment"}, + "Output" -> {"Output", "AuthorComment"}, + "Print" -> {"Print", "AuthorComment"}, + "PrintTemporary" -> {"PrintTemporary", "AuthorComment"} + }, + CellFrameColor -> RGBColor[0.36842, 0.50678, 0.7098], + Background -> RGBColor[0.905, 0.926, 0.956] + ], + Cell[ + StyleData[ + "ReviewerComment", + StyleDefinitions -> StyleData["Comment"] + ], + GeneratedCellStyles -> { + "Graphics" -> {"Graphics", "ReviewerComment"}, + "Message" -> {"Message", "MSG", "ReviewerComment"}, + "Output" -> {"Output", "ReviewerComment"}, + "Print" -> {"Print", "ReviewerComment"}, + "PrintTemporary" -> {"PrintTemporary", "ReviewerComment"} + }, + CellFrameColor -> RGBColor[0.56018, 0.69157, 0.19488], + Background -> RGBColor[0.934, 0.954, 0.879] + ], + Cell[ + StyleData[ + "CommentLabel", + StyleDefinitions -> StyleData["Text"] + ], + ShowStringCharacters -> False, + FontSlant -> "Italic", + PrivateFontOptions -> {"OperatorSubstitution" -> False}, + FontColor -> GrayLevel[0.5] + ], + Cell["Special Input", "Section"], + Cell[ + StyleData["FormObjectCell"], + CellMargins -> {{66, 66}, {16, 5}} + ], + Cell[ + StyleData[ + "LocalFileInput", + StyleDefinitions -> StyleData["Input"] + ], + CellFrameLabels -> { + { + None, + Cell[ + BoxData[ + ButtonBox[ + "\"Choose\"", + FrameMargins -> {{5, 5}, {0, 0}}, + BaseStyle -> {"Panel", FontSize -> 12}, + Evaluator -> Automatic, + Method -> "Queued", + ButtonFunction :> + With[ { RSNB`nb$ = ButtonNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 1053094956087266899; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + If[ $VersionNumber >= 13.0, + DefinitionNotebookClient`LocalFileInputDialog[ + "Data", + ParentCell[EvaluationCell[]], + "Type" -> "FileOpen" + ], + MessageDialog[ + "This feature requires Wolfram Language version 13 or later." + ] + ] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[1053094956087266899] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + Appearance :> + FEPrivate`FrontEndResource[ + "FEExpressions", + "GrayButtonNinePatchAppearance" + ] + ] + ] + ] + }, + {None, None} + } + ], + Cell[ + StyleData[ + "LocalDirectoryInput", + StyleDefinitions -> StyleData["Input"] + ], + CellFrameLabels -> { + { + None, + Cell[ + BoxData[ + ButtonBox[ + "\"Choose\"", + FrameMargins -> {{5, 5}, {0, 0}}, + BaseStyle -> {"Panel", FontSize -> 12}, + Evaluator -> Automatic, + Method -> "Queued", + ButtonFunction :> + With[ { RSNB`nb$ = ButtonNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 4898876371082581810; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + If[ $VersionNumber >= 13.0, + DefinitionNotebookClient`LocalFileInputDialog[ + "Data", + ParentCell[EvaluationCell[]], + "Type" -> "Directory" + ], + MessageDialog[ + "This feature requires Wolfram Language version 13 or later." + ] + ] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[4898876371082581810] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + Appearance :> + FEPrivate`FrontEndResource[ + "FEExpressions", + "GrayButtonNinePatchAppearance" + ] + ] + ] + ] + }, + {None, None} + } + ], + Cell["Misc", "Section"], + Cell[StyleData["Item"], DefaultNewCellStyle -> "Item"], + Cell[ + StyleData[ + "RelatedSymbol", + StyleDefinitions -> StyleData["Item"] + ], + DefaultNewCellStyle -> {"RelatedSymbol", FontFamily -> "Source Sans Pro"}, + DefaultFormatType -> DefaultInputFormatType, + FormatType -> InputForm + ], + Cell[ + StyleData["ButtonText"], + FontFamily -> "Sans Serif", + FontSize -> 11, + FontWeight -> Bold, + FontColor -> RGBColor[0.459, 0.459, 0.459] + ], + Cell[ + StyleData["InlineFormula"], + HyphenationOptions -> {"HyphenationCharacter" -> "\[Continuation]"}, + LanguageCategory -> "Formula", + AutoSpacing -> True, + ScriptLevel -> 1, + SingleLetterItalics -> False, + SpanMaxSize -> 1, + StyleMenuListing -> None, + FontFamily -> "Source Sans Pro", + FontSize -> 1.0 * Inherited, + ButtonBoxOptions -> {Appearance -> {Automatic, None}}, + FractionBoxOptions -> {BaseStyle -> {SpanMaxSize -> Automatic}}, + GridBoxOptions -> { + GridBoxItemSize -> { + "Columns" -> {{Automatic}}, + "ColumnsIndexed" -> { }, + "Rows" -> {{1.0}}, + "RowsIndexed" -> { } + } + } + ], + Cell[ + StyleData["Input"], + CellProlog :> + Quiet[ + Block[{$ContextPath}, Once[ReleaseHold[CurrentValue[#1, {TaggingRules, "CompatibilityTest"}]], "KernelSession"]; If[$VersionNumber >= 12.2, Needs["DefinitionNotebookClient`"], Needs["ResourceSystemClient`DefinitionNotebook`"]]; DefinitionNotebookClient`LoadDefinitionNotebook["Data", #1]; ] &[ + InputNotebook[] + ] + ] + ], + Cell[ + StyleData["Code"], + CellProlog :> + Quiet[ + Block[{$ContextPath}, Once[ReleaseHold[CurrentValue[#1, {TaggingRules, "CompatibilityTest"}]], "KernelSession"]; If[$VersionNumber >= 12.2, Needs["DefinitionNotebookClient`"], Needs["ResourceSystemClient`DefinitionNotebook`"]]; DefinitionNotebookClient`LoadDefinitionNotebook["Data", #1]; ] &[ + InputNotebook[] + ] + ] + ], + Cell[ + StyleData["DockedCell"], + CellFrameColor -> GrayLevel[0.75], + Background -> GrayLevel[0.9] + ] + }, + Visible -> False, + StyleDefinitions -> "PrivateStylesheetFormatting.nb" + ] +] \ No newline at end of file diff --git a/Developer/VectorDatabases/DefinitionNotebooks/WolframAlphaQueries.nb b/Developer/VectorDatabases/DefinitionNotebooks/WolframAlphaQueries.nb new file mode 100644 index 00000000..3dd66c91 --- /dev/null +++ b/Developer/VectorDatabases/DefinitionNotebooks/WolframAlphaQueries.nb @@ -0,0 +1,9663 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* Created By: SaveReadableNotebook *) +(* https://resources.wolframcloud.com/FunctionRepository/resources/SaveReadableNotebook *) + +Notebook[ + { + Cell[ + CellGroupData[ + { + Cell[ + "Code Assistance Wolfram Alpha Query Vector Database", + "Title", + CellTags -> {"DefaultContent", "Name", "TemplateCell"}, + CellID -> 806838874 + ], + Cell[ + "VectorDatabaseObject based on sample Wolfram Alpha queries used for retrieval-augmented-generation in code assistance chat", + "Text", + CellTags -> {"DefaultContent", "Description", "TemplateCell"}, + CellID -> 163956104 + ], + Cell[ + TextData[ + { + "Details", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "Details", + Cell[ + BoxData[ + FrameBox[ + Cell[ + "Give a detailed description of the data, including information about the size, structure, and history of the content elements.\n\nThis section may include multiple cells, bullet lists, tables, hyperlinks and additional styles/structures as needed.\n\nAdd any other information that may be relevant, such as when the data was first created or how and why it is used within a given field. Include all relevant background or contextual information related to the data, its development, and its usage.", + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoDetails"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Subsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "Details"}, + DefaultNewCellStyle -> "Notes", + CellTags -> {"Details", "TemplateCellGroup"}, + CellID -> 161845329 + ], + Cell[ + CellGroupData[ + { + Cell[ + TextData[ + { + "Data Definitions", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "ContentElements", + Cell[ + BoxData[ + FrameBox[ + Cell[ + TextData[ + { + "Define the content of the resource by assigning values to ", + Cell[ + BoxData[ + StyleBox[ + TagBox[ + ButtonBox[ + StyleBox[ + "ResourceData", + "SymbolsRefLink", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ], + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue["MouseOver"], + {"Link", FontColor -> RGBColor[0.8549, 0.39608, 0.1451]}, + {"Link"} + ] + ], + ButtonData -> "paclet:ref/ResourceData", + ContentPadding -> False + ], + MouseAppearanceTag["LinkHand"] + ], + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + ". The ", + Cell[ + BoxData[ + StyleBox[ + InterpretationBox[ + TagBox[ + FrameBox[ + StyleBox[ + GridBox[ + { + { + DynamicBox[ + If[ TrueQ[ + StringQ[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceType"} + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + RasterBox[ + CompressedData[ + "\n1:eJztmEFOg1AQhom6cIk3qBsTd126xKW7psZ921iNm9q0JsbduwFH4AgcgSNw\ngqZH4Aj4MP/U3wmUgkhp7EtGYZh58zkzzGu9nLwOn04cx1me2x/D8fvtYjH+\nuHftzcNs+fI8mz7ezd6mz9PFzeTUKq+tXFk5c7q/VhdOYiXtgCSKK9P195UX\nMHgZh9KlRfZtLubgPO6TSVj4+si1fR1Cf+Xd72v9RR2tv5tJB7n8TLrEZX17\ntE+vCa68+xLftRXD8e11RFyR4s1s1y1wRXSeBogr1wGuDV0nzLorV9U6gsvg\nPAuJw4cIZwgb0xLXj/4G55z2mata7vw+1OXCLMjqE8tMoLqGkE3dYB/Dp3SG\nVOkv+2xELJvPSVSrBOJCEuJk25QY5w1wBWrfAVg5Xkj2oeIfwYf/rqCMa5c6\n0p4RxfMRz4NuAEmhG8AmUb7xljhVuaRPYoo9oueG6mdIPyJm8S/sszp9T3lJ\nSDzE5tqF0HnK9iuPJTEqzVXq5yCHQ/TyPga69+jdSXbNVxmXqqHMhh5ixGRn\nVA1j2PSK9tnGVVZH6nnpc5d6mOen5trYwEfeg8Ler8glZ4nMKq5dhHi6vwZ4\nFiifEHt5v+XK8TWI6VO87PcawjoftqZ0Y6d63ytbn3JnVt+zoA9JoZPZkdlW\nPh9rcPFslfzkzfs15a2tzzlpTr681feM43y1xRUjrku6ELyRyp0L28Kzpymu\ngv1knm3mVc19Gv/+qOdXzT3+zffaJtaRq9o6kP5y5RzZM5OXw9XJ/0d3bX0C\ndbpsag==\n " + ], + {{0, 0}, {38.0, 41.0}}, + {0, 255}, + ImageResolution -> {72, 72}, + ColorFunction -> RGBColor + ], + { + ImageSize -> {Automatic, 12}, + PlotRange -> {{0, 38.0}, {0, 41.0}} + } + ], + "\"the ResourceObject defined by this notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "the ResourceObject defined by this notebook", + "Tooltip" + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + TagBox[ + RasterBox[ + CompressedData[ + "\n1:eJzdlk1ugzAQhaN20yVHoJtK3WXZJV1W8gKl6p5ETaNu0iipVHXnG3AEH4Ej\n+Ag+AkfgCO6bYUjzC4SgKipWnMF4PmYeY/Dt5GP0djUYDFY36Ebjr8flcvz9\nHODkZb56n82nr0/zz+lsunyYXGPwHr87/Mil30MFqlD+7FYIy6vhmfFEyovl\nz82tYpQx/m9Wn3q1YSmtdBtWc44qRAUWKuzOUk4lKmArUxYtYzvAqDuZZama\nkV2C/4iqEZbmNWKPsY7pJawcfSbReZx1Y6XwruIaolVxZSo9OUeNyFKOjeLJ\nxUoxqtuyoIzmiMjXwDPm7JApLIuR8kqGWVEjy/HdYzwxW2lT1Vc5gisxR+x2\nWbt6YaZDC6Su3BbLlXX2O6eeJW9HA6XL3MjO0Iy8MzNcITvY8jmqPVdTwS1a\nM4kRyajf1KqOJRnEVAWSIfmXWVKFxLsZ1rAcK0yR0TOI2Dvm6ifNC7nq9ll7\n2humU1xJpRCPV+olHBfZppFFyjrx81xp0JmfR8G8Qu5l1KKN9qyZkcqwzCCm\nFS3NtlZNLF6PvO7AWvCchdRt2mE9WlolnJUmf/SUMa2wLu8cUsYww/AT0dwX\nHVg5fEOh+vXKDDGan5rjxryQ54S1c1p/Hw/r3ZEV7FfBIdZff2vbsi51b3LJ\n+5we96u97aP7O34ARi0taQ==\n " + ], + {{0, 41.0}, {38.0, 0}}, + {0, 255}, + ColorFunction -> GrayLevel, + ImageResolution -> {72, 72} + ], + BoxForm`ImageTag[ + "Byte", + ColorSpace -> "Grayscale", + Interleaving -> True + ], + Selectable -> False + ], + DefaultBaseStyle -> "ImageGraphics", + ImageSizeRaw -> {38.0, 41.0}, + PlotRange -> {{0, 38.0}, {0, 41.0}}, + ImageSize -> {Automatic, 12} + ], + "\"only defined in a definition notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "only defined in a definition notebook", + "Tooltip" + ] + ] + ] + ], + SingleEvaluation -> True + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Automatic}}, "Rows" -> {{Center}}}, + GridBoxSpacings -> {"Columns" -> {{0.25}}} + ], + FontSize -> (11 * Inherited) / 13, + ShowStringCharacters -> False + ], + FrameMargins -> {{3, 3}, {3, 0}}, + FrameStyle -> + Directive[GrayLevel[0.5, 0.35], AbsoluteThickness[0.5]], + RoundingRadius -> 4, + Background -> GrayLevel[0.5, 0.15], + BaseStyle -> {"Text", LineSpacing -> {0, 0}, LineBreakWithin -> False} + ], + "ResourceObjectNotebook" + ], + ResourceObject[EvaluationNotebook[]], + Selectable -> False, + SelectWithContents -> True + ], + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + " icon inside ", + Cell[ + BoxData[ + StyleBox[ + TagBox[ + ButtonBox[ + StyleBox[ + "ResourceData", + "SymbolsRefLink", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ], + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue["MouseOver"], + {"Link", FontColor -> RGBColor[0.8549, 0.39608, 0.1451]}, + {"Link"} + ] + ], + ButtonData -> "paclet:ref/ResourceData", + ContentPadding -> False + ], + MouseAppearanceTag["LinkHand"] + ], + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + " below represents the ", + Cell[ + BoxData[ + StyleBox[ + TagBox[ + ButtonBox[ + StyleBox[ + "ResourceObject", + "SymbolsRefLink", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ], + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue["MouseOver"], + {"Link", FontColor -> RGBColor[0.8549, 0.39608, 0.1451]}, + {"Link"} + ] + ], + ButtonData -> "paclet:ref/ResourceObject", + ContentPadding -> False + ], + MouseAppearanceTag["LinkHand"] + ], + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + " defined within this notebook.\n\nEvaluating the ", + Cell[ + BoxData[ + StyleBox[ + RowBox[ + { + RowBox[ + { + "ResourceData", + "[", + InterpretationBox[ + TagBox[ + FrameBox[ + StyleBox[ + GridBox[ + { + { + DynamicBox[ + If[ TrueQ[ + StringQ[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceType"} + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + RasterBox[ + CompressedData[ + "\n1:eJztmEFOg1AQhom6cIk3qBsTd126xKW7psZ921iNm9q0JsbduwFH4AgcgSNw\ngqZH4Aj4MP/U3wmUgkhp7EtGYZh58zkzzGu9nLwOn04cx1me2x/D8fvtYjH+\nuHftzcNs+fI8mz7ezd6mz9PFzeTUKq+tXFk5c7q/VhdOYiXtgCSKK9P195UX\nMHgZh9KlRfZtLubgPO6TSVj4+si1fR1Cf+Xd72v9RR2tv5tJB7n8TLrEZX17\ntE+vCa68+xLftRXD8e11RFyR4s1s1y1wRXSeBogr1wGuDV0nzLorV9U6gsvg\nPAuJw4cIZwgb0xLXj/4G55z2mata7vw+1OXCLMjqE8tMoLqGkE3dYB/Dp3SG\nVOkv+2xELJvPSVSrBOJCEuJk25QY5w1wBWrfAVg5Xkj2oeIfwYf/rqCMa5c6\n0p4RxfMRz4NuAEmhG8AmUb7xljhVuaRPYoo9oueG6mdIPyJm8S/sszp9T3lJ\nSDzE5tqF0HnK9iuPJTEqzVXq5yCHQ/TyPga69+jdSXbNVxmXqqHMhh5ixGRn\nVA1j2PSK9tnGVVZH6nnpc5d6mOen5trYwEfeg8Ler8glZ4nMKq5dhHi6vwZ4\nFiifEHt5v+XK8TWI6VO87PcawjoftqZ0Y6d63ytbn3JnVt+zoA9JoZPZkdlW\nPh9rcPFslfzkzfs15a2tzzlpTr681feM43y1xRUjrku6ELyRyp0L28Kzpymu\ngv1knm3mVc19Gv/+qOdXzT3+zffaJtaRq9o6kP5y5RzZM5OXw9XJ/0d3bX0C\ndbpsag==\n " + ], + {{0, 0}, {38.0, 41.0}}, + {0, 255}, + ImageResolution -> {72, 72}, + ColorFunction -> RGBColor + ], + { + ImageSize -> {Automatic, 12}, + PlotRange -> {{0, 38.0}, {0, 41.0}} + } + ], + "\"the ResourceObject defined by this notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "the ResourceObject defined by this notebook", + "Tooltip" + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + TagBox[ + RasterBox[ + CompressedData[ + "\n1:eJzdlk1ugzAQhaN20yVHoJtK3WXZJV1W8gKl6p5ETaNu0iipVHXnG3AEH4Ej\n+Ag+AkfgCO6bYUjzC4SgKipWnMF4PmYeY/Dt5GP0djUYDFY36Ebjr8flcvz9\nHODkZb56n82nr0/zz+lsunyYXGPwHr87/Mil30MFqlD+7FYIy6vhmfFEyovl\nz82tYpQx/m9Wn3q1YSmtdBtWc44qRAUWKuzOUk4lKmArUxYtYzvAqDuZZama\nkV2C/4iqEZbmNWKPsY7pJawcfSbReZx1Y6XwruIaolVxZSo9OUeNyFKOjeLJ\nxUoxqtuyoIzmiMjXwDPm7JApLIuR8kqGWVEjy/HdYzwxW2lT1Vc5gisxR+x2\nWbt6YaZDC6Su3BbLlXX2O6eeJW9HA6XL3MjO0Iy8MzNcITvY8jmqPVdTwS1a\nM4kRyajf1KqOJRnEVAWSIfmXWVKFxLsZ1rAcK0yR0TOI2Dvm6ifNC7nq9ll7\n2humU1xJpRCPV+olHBfZppFFyjrx81xp0JmfR8G8Qu5l1KKN9qyZkcqwzCCm\nFS3NtlZNLF6PvO7AWvCchdRt2mE9WlolnJUmf/SUMa2wLu8cUsYww/AT0dwX\nHVg5fEOh+vXKDDGan5rjxryQ54S1c1p/Hw/r3ZEV7FfBIdZff2vbsi51b3LJ\n+5we96u97aP7O34ARi0taQ==\n " + ], + {{0, 41.0}, {38.0, 0}}, + {0, 255}, + ColorFunction -> GrayLevel, + ImageResolution -> {72, 72} + ], + BoxForm`ImageTag[ + "Byte", + ColorSpace -> "Grayscale", + Interleaving -> True + ], + Selectable -> False + ], + DefaultBaseStyle -> "ImageGraphics", + ImageSizeRaw -> {38.0, 41.0}, + PlotRange -> {{0, 38.0}, {0, 41.0}}, + ImageSize -> {Automatic, 12} + ], + "\"only defined in a definition notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "only defined in a definition notebook", + "Tooltip" + ] + ] + ] + ], + SingleEvaluation -> True + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Automatic}}, "Rows" -> {{Center}}}, + GridBoxSpacings -> {"Columns" -> {{0.25}}} + ], + FontSize -> (11 * Inherited) / 13, + ShowStringCharacters -> False + ], + FrameMargins -> {{3, 3}, {3, 0}}, + FrameStyle -> + Directive[GrayLevel[0.5, 0.35], AbsoluteThickness[0.5]], + RoundingRadius -> 4, + Background -> GrayLevel[0.5, 0.15], + BaseStyle -> {"Text", LineSpacing -> {0, 0}, LineBreakWithin -> False} + ], + "ResourceObjectNotebook" + ], + ResourceObject[EvaluationNotebook[]], + Selectable -> False, + SelectWithContents -> True + ], + "]" + } + ], + "=", + "xxxx" + } + ], + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + " cell below defines the default content element of this resource, which will be returned by ", + Cell[ + BoxData[ + StyleBox[ + RowBox[ + { + TagBox[ + ButtonBox[ + StyleBox[ + "ResourceData", + "SymbolsRefLink", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ], + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue["MouseOver"], + {"Link", FontColor -> RGBColor[0.8549, 0.39608, 0.1451]}, + {"Link"} + ] + ], + ButtonData -> "paclet:ref/ResourceData", + ContentPadding -> False + ], + MouseAppearanceTag["LinkHand"] + ], + "[", + StyleBox["obj", "TI"], + "]" + } + ], + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + ".\n\nEvaluating the subsequent cells defines additional content elements with the specified element names. The element name is used to access the associated content via ", + Cell[ + BoxData[ + StyleBox[ + RowBox[ + { + TagBox[ + ButtonBox[ + StyleBox[ + "ResourceData", + "SymbolsRefLink", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ], + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue["MouseOver"], + {"Link", FontColor -> RGBColor[0.8549, 0.39608, 0.1451]}, + {"Link"} + ] + ], + ButtonData -> "paclet:ref/ResourceData", + ContentPadding -> False + ], + MouseAppearanceTag["LinkHand"] + ], + "[", + RowBox[ + {StyleBox["obj", "TI"], ",", StyleBox["element", "TI"]} + ], + "]" + } + ], + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + ".\n\nThe default content element is assigned a name either based on the ", + Cell[ + BoxData[ + StyleBox[ + TagBox[ + ButtonBox[ + StyleBox[ + "Head", + "SymbolsRefLink", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ], + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue["MouseOver"], + {"Link", FontColor -> RGBColor[0.8549, 0.39608, 0.1451]}, + {"Link"} + ] + ], + ButtonData -> "paclet:ref/Head", + ContentPadding -> False + ], + MouseAppearanceTag["LinkHand"] + ], + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + " of the data or set to ", + Cell[ + BoxData[ + StyleBox[ + "\"Content\"", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + ".\n\nDefine as many elements as needed using different element names. You can insert the icon using the \"Insert ResourceObject\" button in the \"Tools\" above.\n\nElements set to ", + Cell[ + BoxData[ + StyleBox[ + TagBox[ + ButtonBox[ + StyleBox[ + "CloudObject", + "SymbolsRefLink", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ], + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue["MouseOver"], + {"Link", FontColor -> RGBColor[0.8549, 0.39608, 0.1451]}, + {"Link"} + ] + ], + ButtonData -> "paclet:ref/CloudObject", + ContentPadding -> False + ], + MouseAppearanceTag["LinkHand"] + ], + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + ", ", + Cell[ + BoxData[ + StyleBox[ + TagBox[ + ButtonBox[ + StyleBox[ + "File", + "SymbolsRefLink", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ], + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue["MouseOver"], + {"Link", FontColor -> RGBColor[0.8549, 0.39608, 0.1451]}, + {"Link"} + ] + ], + ButtonData -> "paclet:ref/File", + ContentPadding -> False + ], + MouseAppearanceTag["LinkHand"] + ], + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + ", or ", + Cell[ + BoxData[ + StyleBox[ + TagBox[ + ButtonBox[ + StyleBox[ + "LocalObject", + "SymbolsRefLink", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ], + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue["MouseOver"], + {"Link", FontColor -> RGBColor[0.8549, 0.39608, 0.1451]}, + {"Link"} + ] + ], + ButtonData -> "paclet:ref/LocalObject", + ContentPadding -> False + ], + MouseAppearanceTag["LinkHand"] + ], + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + " values will be interpreted as the content of those locations.\n\nEach content element must have a string name, preferably camel case. (Typical names describe the content element, and include ", + Cell[ + BoxData[ + StyleBox[ + "\"Dataset\"", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + ", ", + Cell[ + BoxData[ + StyleBox[ + "\"Text\"", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + " and ", + Cell[ + BoxData[ + StyleBox[ + "\"TimeSeries\"", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + ").\n\nElements defined as functions are automatically applied to the other elements of the resource. For example, ", + Cell[ + BoxData[ + StyleBox[ + RowBox[ + { + RowBox[ + { + "ResourceData", + "[", + RowBox[ + { + InterpretationBox[ + TagBox[ + FrameBox[ + StyleBox[ + GridBox[ + { + { + DynamicBox[ + If[ TrueQ[ + StringQ[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceType"} + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + RasterBox[ + CompressedData[ + "\n1:eJztmEFOg1AQhom6cIk3qBsTd126xKW7psZ921iNm9q0JsbduwFH4AgcgSNw\ngqZH4Aj4MP/U3wmUgkhp7EtGYZh58zkzzGu9nLwOn04cx1me2x/D8fvtYjH+\nuHftzcNs+fI8mz7ezd6mz9PFzeTUKq+tXFk5c7q/VhdOYiXtgCSKK9P195UX\nMHgZh9KlRfZtLubgPO6TSVj4+si1fR1Cf+Xd72v9RR2tv5tJB7n8TLrEZX17\ntE+vCa68+xLftRXD8e11RFyR4s1s1y1wRXSeBogr1wGuDV0nzLorV9U6gsvg\nPAuJw4cIZwgb0xLXj/4G55z2mata7vw+1OXCLMjqE8tMoLqGkE3dYB/Dp3SG\nVOkv+2xELJvPSVSrBOJCEuJk25QY5w1wBWrfAVg5Xkj2oeIfwYf/rqCMa5c6\n0p4RxfMRz4NuAEmhG8AmUb7xljhVuaRPYoo9oueG6mdIPyJm8S/sszp9T3lJ\nSDzE5tqF0HnK9iuPJTEqzVXq5yCHQ/TyPga69+jdSXbNVxmXqqHMhh5ixGRn\nVA1j2PSK9tnGVVZH6nnpc5d6mOen5trYwEfeg8Ler8glZ4nMKq5dhHi6vwZ4\nFiifEHt5v+XK8TWI6VO87PcawjoftqZ0Y6d63ytbn3JnVt+zoA9JoZPZkdlW\nPh9rcPFslfzkzfs15a2tzzlpTr681feM43y1xRUjrku6ELyRyp0L28Kzpymu\ngv1knm3mVc19Gv/+qOdXzT3+zffaJtaRq9o6kP5y5RzZM5OXw9XJ/0d3bX0C\ndbpsag==\n " + ], + {{0, 0}, {38.0, 41.0}}, + {0, 255}, + ImageResolution -> {72, 72}, + ColorFunction -> RGBColor + ], + { + ImageSize -> {Automatic, 12}, + PlotRange -> {{0, 38.0}, {0, 41.0}} + } + ], + "\"the ResourceObject defined by this notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "the ResourceObject defined by this notebook", + "Tooltip" + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + TagBox[ + RasterBox[ + CompressedData[ + "\n1:eJzdlk1ugzAQhaN20yVHoJtK3WXZJV1W8gKl6p5ETaNu0iipVHXnG3AEH4Ej\n+Ag+AkfgCO6bYUjzC4SgKipWnMF4PmYeY/Dt5GP0djUYDFY36Ebjr8flcvz9\nHODkZb56n82nr0/zz+lsunyYXGPwHr87/Mil30MFqlD+7FYIy6vhmfFEyovl\nz82tYpQx/m9Wn3q1YSmtdBtWc44qRAUWKuzOUk4lKmArUxYtYzvAqDuZZama\nkV2C/4iqEZbmNWKPsY7pJawcfSbReZx1Y6XwruIaolVxZSo9OUeNyFKOjeLJ\nxUoxqtuyoIzmiMjXwDPm7JApLIuR8kqGWVEjy/HdYzwxW2lT1Vc5gisxR+x2\nWbt6YaZDC6Su3BbLlXX2O6eeJW9HA6XL3MjO0Iy8MzNcITvY8jmqPVdTwS1a\nM4kRyajf1KqOJRnEVAWSIfmXWVKFxLsZ1rAcK0yR0TOI2Dvm6ifNC7nq9ll7\n2humU1xJpRCPV+olHBfZppFFyjrx81xp0JmfR8G8Qu5l1KKN9qyZkcqwzCCm\nFS3NtlZNLF6PvO7AWvCchdRt2mE9WlolnJUmf/SUMa2wLu8cUsYww/AT0dwX\nHVg5fEOh+vXKDDGan5rjxryQ54S1c1p/Hw/r3ZEV7FfBIdZff2vbsi51b3LJ\n+5we96u97aP7O34ARi0taQ==\n " + ], + {{0, 41.0}, {38.0, 0}}, + {0, 255}, + ColorFunction -> GrayLevel, + ImageResolution -> {72, 72} + ], + BoxForm`ImageTag[ + "Byte", + ColorSpace -> "Grayscale", + Interleaving -> True + ], + Selectable -> False + ], + DefaultBaseStyle -> "ImageGraphics", + ImageSizeRaw -> {38.0, 41.0}, + PlotRange -> {{0, 38.0}, {0, 41.0}}, + ImageSize -> {Automatic, 12} + ], + "\"only defined in a definition notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "only defined in a definition notebook", + "Tooltip" + ] + ] + ] + ], + SingleEvaluation -> True + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Automatic}}, "Rows" -> {{Center}}}, + GridBoxSpacings -> {"Columns" -> {{0.25}}} + ], + FontSize -> (11 * Inherited) / 13, + ShowStringCharacters -> False + ], + FrameMargins -> {{3, 3}, {3, 0}}, + FrameStyle -> + Directive[GrayLevel[0.5, 0.35], AbsoluteThickness[0.5]], + RoundingRadius -> 4, + Background -> GrayLevel[0.5, 0.15], + BaseStyle -> {"Text", LineSpacing -> {0, 0}, LineBreakWithin -> False} + ], + "ResourceObjectNotebook" + ], + ResourceObject[EvaluationNotebook[]], + Selectable -> False, + SelectWithContents -> True + ], + ",", + "\"Vertices\"" + } + ], + "]" + } + ], + "=", + RowBox[ + { + "(", + RowBox[{RowBox[{"VertexList", "[", "#Graph", "]"}], "&"}], + ")" + } + ] + } + ], + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + " will define an element named ", + Cell[ + BoxData[ + StyleBox[ + "\"Vertices\"", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + " which is derived from the ", + Cell[ + BoxData[ + StyleBox[ + "\"Graph\"", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ] + ] + ], + " element when requested by the user." + } + ], + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoContentElements"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Section", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "ContentElements"}, + CellTags -> { + "ContentElements", + "Data Definitions", + "TemplateCellGroup" + }, + CellID -> 41403987 + ], + Cell[ + CellGroupData[ + { + Cell[ + "Primary Content", + "Subsection", + Editable -> False, + Deletable -> False, + CellTags -> "PrimaryContent", + CellID -> 739468720 + ], + Cell[ + BoxData[ + RowBox[ + { + RowBox[ + { + RowBox[ + { + "ResourceData", + "[", + RowBox[ + { + InterpretationBox[ + TagBox[ + FrameBox[ + StyleBox[ + GridBox[ + { + { + DynamicBox[ + If[ TrueQ[ + StringQ[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceType"} + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + RasterBox[ + CompressedData[ + "\n1:eJztmEFOg1AQhom6cIk3qBsTd126xKW7psZ921iNm9q0JsbduwFH4AgcgSNw\ngqZH4Aj4MP/U3wmUgkhp7EtGYZh58zkzzGu9nLwOn04cx1me2x/D8fvtYjH+\nuHftzcNs+fI8mz7ezd6mz9PFzeTUKq+tXFk5c7q/VhdOYiXtgCSKK9P195UX\nMHgZh9KlRfZtLubgPO6TSVj4+si1fR1Cf+Xd72v9RR2tv5tJB7n8TLrEZX17\ntE+vCa68+xLftRXD8e11RFyR4s1s1y1wRXSeBogr1wGuDV0nzLorV9U6gsvg\nPAuJw4cIZwgb0xLXj/4G55z2mata7vw+1OXCLMjqE8tMoLqGkE3dYB/Dp3SG\nVOkv+2xELJvPSVSrBOJCEuJk25QY5w1wBWrfAVg5Xkj2oeIfwYf/rqCMa5c6\n0p4RxfMRz4NuAEmhG8AmUb7xljhVuaRPYoo9oueG6mdIPyJm8S/sszp9T3lJ\nSDzE5tqF0HnK9iuPJTEqzVXq5yCHQ/TyPga69+jdSXbNVxmXqqHMhh5ixGRn\nVA1j2PSK9tnGVVZH6nnpc5d6mOen5trYwEfeg8Ler8glZ4nMKq5dhHi6vwZ4\nFiifEHt5v+XK8TWI6VO87PcawjoftqZ0Y6d63ytbn3JnVt+zoA9JoZPZkdlW\nPh9rcPFslfzkzfs15a2tzzlpTr681feM43y1xRUjrku6ELyRyp0L28Kzpymu\ngv1knm3mVc19Gv/+qOdXzT3+zffaJtaRq9o6kP5y5RzZM5OXw9XJ/0d3bX0C\ndbpsag==\n " + ], + {{0, 0}, {38.0, 41.0}}, + {0, 255}, + ImageResolution -> {72, 72}, + ColorFunction -> RGBColor + ], + { + ImageSize -> {Automatic, 12}, + PlotRange -> {{0, 38.0}, {0, 41.0}} + } + ], + "\"the ResourceObject defined by this notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "the ResourceObject defined by this notebook", + "Tooltip" + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + TagBox[ + RasterBox[ + CompressedData[ + "\n1:eJzdlk1ugzAQhaN20yVHoJtK3WXZJV1W8gKl6p5ETaNu0iipVHXnG3AEH4Ej\n+Ag+AkfgCO6bYUjzC4SgKipWnMF4PmYeY/Dt5GP0djUYDFY36Ebjr8flcvz9\nHODkZb56n82nr0/zz+lsunyYXGPwHr87/Mil30MFqlD+7FYIy6vhmfFEyovl\nz82tYpQx/m9Wn3q1YSmtdBtWc44qRAUWKuzOUk4lKmArUxYtYzvAqDuZZama\nkV2C/4iqEZbmNWKPsY7pJawcfSbReZx1Y6XwruIaolVxZSo9OUeNyFKOjeLJ\nxUoxqtuyoIzmiMjXwDPm7JApLIuR8kqGWVEjy/HdYzwxW2lT1Vc5gisxR+x2\nWbt6YaZDC6Su3BbLlXX2O6eeJW9HA6XL3MjO0Iy8MzNcITvY8jmqPVdTwS1a\nM4kRyajf1KqOJRnEVAWSIfmXWVKFxLsZ1rAcK0yR0TOI2Dvm6ifNC7nq9ll7\n2humU1xJpRCPV+olHBfZppFFyjrx81xp0JmfR8G8Qu5l1KKN9qyZkcqwzCCm\nFS3NtlZNLF6PvO7AWvCchdRt2mE9WlolnJUmf/SUMa2wLu8cUsYww/AT0dwX\nHVg5fEOh+vXKDDGan5rjxryQ54S1c1p/Hw/r3ZEV7FfBIdZff2vbsi51b3LJ\n+5we96u97aP7O34ARi0taQ==\n " + ], + {{0, 41.0}, {38.0, 0}}, + {0, 255}, + ColorFunction -> GrayLevel, + ImageResolution -> {72, 72} + ], + BoxForm`ImageTag[ + "Byte", + ColorSpace -> "Grayscale", + Interleaving -> True + ], + Selectable -> False + ], + DefaultBaseStyle -> "ImageGraphics", + ImageSizeRaw -> {38.0, 41.0}, + PlotRange -> {{0, 38.0}, {0, 41.0}}, + ImageSize -> {Automatic, 12} + ], + "\"only defined in a definition notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "only defined in a definition notebook", + "Tooltip" + ] + ] + ] + ], + ImageSizeCache -> {11.122, {2.90039, 9.09961}}, + SingleEvaluation -> True + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Automatic}}, "Rows" -> {{Center}}}, + GridBoxSpacings -> {"Columns" -> {{0.25}}} + ], + ShowStringCharacters -> False, + FontSize -> (11 * Inherited) / 13 + ], + Background -> GrayLevel[0.5, 0.15], + BaseStyle -> {"Text", LineSpacing -> {0, 0}, LineBreakWithin -> False}, + FrameMargins -> {{3, 3}, {3, 0}}, + FrameStyle -> + Directive[GrayLevel[0.5, 0.35], AbsoluteThickness[0.5]], + RoundingRadius -> 4 + ], + "ResourceObjectNotebook" + ], + ResourceObject[EvaluationNotebook[]], + SelectWithContents -> True, + Selectable -> False + ], + ",", + "\"VectorDatabase\"" + } + ], + "]" + } + ], + "=", + RowBox[ + { + RowBox[ + { + "WithCleanup", + "[", + "\[IndentingNewLine]", + RowBox[ + { + RowBox[ + { + "SetDirectory", + "[", + RowBox[{"CreateDirectory", "[", "]"}], + "]" + } + ], + ",", + "\[IndentingNewLine]", + RowBox[ + { + "VectorDatabaseObject", + "[", + RowBox[ + { + RowBox[{"File", "[", "#DatabasePath", "]"}], + ",", + RowBox[{"OverwriteTarget", "->", "True"}] + } + ], + "]" + } + ], + ",", + "\[IndentingNewLine]", + RowBox[{"ResetDirectory", "[", "]"}] + } + ], + "\[IndentingNewLine]", + "]" + } + ], + "&" + } + ] + } + ], + ";" + } + ] + ], + "Input", + CellTags -> "DefaultContent", + CellLabel -> "In[11]:=", + CellID -> 751296993 + ] + }, + Open + ] + ], + Cell[ + CellGroupData[ + { + Cell[ + "Additional Data Elements (optional)", + "Subsection", + Editable -> False, + Deletable -> False, + CellTags -> "AdditionalDataElements", + CellLabel -> "In[13]:=", + CellID -> 651134066 + ], + Cell[ + BoxData[ + { + RowBox[ + {RowBox[{"name", "=", "\"WolframAlphaQueries\""}], ";"} + ], + "\[IndentingNewLine]", + RowBox[ + { + RowBox[ + { + "dir", + "=", + RowBox[ + { + "FileNameJoin", + "[", + RowBox[ + { + "{", + RowBox[ + { + RowBox[ + { + "ParentDirectory", + "[", + RowBox[{RowBox[{"NotebookDirectory", "[", "]"}], ",", "3"}], + "]" + } + ], + ",", + "\"Assets/VectorDatabases\"", + ",", + "name" + } + ], + "}" + } + ], + "]" + } + ] + } + ], + ";" + } + ], + "\[IndentingNewLine]", + RowBox[ + { + RowBox[ + { + "zip", + "=", + RowBox[ + { + "CreateArchive", + "[", + RowBox[ + { + RowBox[ + { + "FileNames", + "[", + RowBox[{"All", ",", "dir", ",", "Infinity"}], + "]" + } + ], + ",", + RowBox[{"dir", "<>", "\".zip\""}], + ",", + RowBox[{"OverwriteTarget", "->", "True"}] + } + ], + "]" + } + ] + } + ], + ";" + } + ], + "\[IndentingNewLine]", + RowBox[ + { + RowBox[ + { + "obj", + "=", + RowBox[ + { + "CopyFile", + "[", + RowBox[ + { + "zip", + ",", + RowBox[ + { + "CloudObject", + "[", + RowBox[ + { + RowBox[ + {"\"VectorDatabases/\"", "<>", "name", "<>", "\".zip\""} + ], + ",", + RowBox[{"Permissions", "->", "\"Public\""}] + } + ], + "]" + } + ], + ",", + RowBox[{"OverwriteTarget", "->", "True"}] + } + ], + "]" + } + ] + } + ], + ";" + } + ], + "\[IndentingNewLine]", + RowBox[{RowBox[{"DeleteFile", "[", "zip", "]"}], ";"}] + } + ], + "Input", + CellLabel -> "In[1]:=", + CellID -> 96470356 + ], + Cell[ + BoxData[ + RowBox[ + { + RowBox[ + { + RowBox[ + { + "ResourceData", + "[", + RowBox[ + { + InterpretationBox[ + TagBox[ + FrameBox[ + StyleBox[ + GridBox[ + { + { + DynamicBox[ + If[ TrueQ[ + StringQ[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceType"} + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + RasterBox[ + CompressedData[ + "\n1:eJztmEFOg1AQhom6cIk3qBsTd126xKW7psZ921iNm9q0JsbduwFH4AgcgSNw\ngqZH4Aj4MP/U3wmUgkhp7EtGYZh58zkzzGu9nLwOn04cx1me2x/D8fvtYjH+\nuHftzcNs+fI8mz7ezd6mz9PFzeTUKq+tXFk5c7q/VhdOYiXtgCSKK9P195UX\nMHgZh9KlRfZtLubgPO6TSVj4+si1fR1Cf+Xd72v9RR2tv5tJB7n8TLrEZX17\ntE+vCa68+xLftRXD8e11RFyR4s1s1y1wRXSeBogr1wGuDV0nzLorV9U6gsvg\nPAuJw4cIZwgb0xLXj/4G55z2mata7vw+1OXCLMjqE8tMoLqGkE3dYB/Dp3SG\nVOkv+2xELJvPSVSrBOJCEuJk25QY5w1wBWrfAVg5Xkj2oeIfwYf/rqCMa5c6\n0p4RxfMRz4NuAEmhG8AmUb7xljhVuaRPYoo9oueG6mdIPyJm8S/sszp9T3lJ\nSDzE5tqF0HnK9iuPJTEqzVXq5yCHQ/TyPga69+jdSXbNVxmXqqHMhh5ixGRn\nVA1j2PSK9tnGVVZH6nnpc5d6mOen5trYwEfeg8Ler8glZ4nMKq5dhHi6vwZ4\nFiifEHt5v+XK8TWI6VO87PcawjoftqZ0Y6d63ytbn3JnVt+zoA9JoZPZkdlW\nPh9rcPFslfzkzfs15a2tzzlpTr681feM43y1xRUjrku6ELyRyp0L28Kzpymu\ngv1knm3mVc19Gv/+qOdXzT3+zffaJtaRq9o6kP5y5RzZM5OXw9XJ/0d3bX0C\ndbpsag==\n " + ], + {{0, 0}, {38.0, 41.0}}, + {0, 255}, + ImageResolution -> {72, 72}, + ColorFunction -> RGBColor + ], + { + ImageSize -> {Automatic, 12}, + PlotRange -> {{0, 38.0}, {0, 41.0}} + } + ], + "\"the ResourceObject defined by this notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "the ResourceObject defined by this notebook", + "Tooltip" + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + TagBox[ + RasterBox[ + CompressedData[ + "\n1:eJzdlk1ugzAQhaN20yVHoJtK3WXZJV1W8gKl6p5ETaNu0iipVHXnG3AEH4Ej\n+Ag+AkfgCO6bYUjzC4SgKipWnMF4PmYeY/Dt5GP0djUYDFY36Ebjr8flcvz9\nHODkZb56n82nr0/zz+lsunyYXGPwHr87/Mil30MFqlD+7FYIy6vhmfFEyovl\nz82tYpQx/m9Wn3q1YSmtdBtWc44qRAUWKuzOUk4lKmArUxYtYzvAqDuZZama\nkV2C/4iqEZbmNWKPsY7pJawcfSbReZx1Y6XwruIaolVxZSo9OUeNyFKOjeLJ\nxUoxqtuyoIzmiMjXwDPm7JApLIuR8kqGWVEjy/HdYzwxW2lT1Vc5gisxR+x2\nWbt6YaZDC6Su3BbLlXX2O6eeJW9HA6XL3MjO0Iy8MzNcITvY8jmqPVdTwS1a\nM4kRyajf1KqOJRnEVAWSIfmXWVKFxLsZ1rAcK0yR0TOI2Dvm6ifNC7nq9ll7\n2humU1xJpRCPV+olHBfZppFFyjrx81xp0JmfR8G8Qu5l1KKN9qyZkcqwzCCm\nFS3NtlZNLF6PvO7AWvCchdRt2mE9WlolnJUmf/SUMa2wLu8cUsYww/AT0dwX\nHVg5fEOh+vXKDDGan5rjxryQ54S1c1p/Hw/r3ZEV7FfBIdZff2vbsi51b3LJ\n+5we96u97aP7O34ARi0taQ==\n " + ], + {{0, 41.0}, {38.0, 0}}, + {0, 255}, + ColorFunction -> GrayLevel, + ImageResolution -> {72, 72} + ], + BoxForm`ImageTag[ + "Byte", + ColorSpace -> "Grayscale", + Interleaving -> True + ], + Selectable -> False + ], + DefaultBaseStyle -> "ImageGraphics", + ImageSizeRaw -> {38.0, 41.0}, + PlotRange -> {{0, 38.0}, {0, 41.0}}, + ImageSize -> {Automatic, 12} + ], + "\"only defined in a definition notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "only defined in a definition notebook", + "Tooltip" + ] + ] + ] + ], + ImageSizeCache -> {11.122, {2.90039, 9.09961}}, + SingleEvaluation -> True + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Automatic}}, "Rows" -> {{Center}}}, + GridBoxSpacings -> {"Columns" -> {{0.25}}} + ], + ShowStringCharacters -> False, + FontSize -> (11 * Inherited) / 13 + ], + Background -> GrayLevel[0.5, 0.15], + BaseStyle -> {"Text", LineSpacing -> {0, 0}, LineBreakWithin -> False}, + FrameMargins -> {{3, 3}, {3, 0}}, + FrameStyle -> + Directive[GrayLevel[0.5, 0.35], AbsoluteThickness[0.5]], + RoundingRadius -> 4 + ], + "ResourceObjectNotebook" + ], + ResourceObject[EvaluationNotebook[]], + SelectWithContents -> True, + Selectable -> False + ], + ",", + "\"DatabaseDirectory\"" + } + ], + "]" + } + ], + "=", + "obj" + } + ], + ";" + } + ] + ], + "Input", + CellTags -> "DefaultContent", + CellLabel -> "In[6]:=", + CellID -> 874765044 + ], + Cell[ + BoxData[ + RowBox[ + { + RowBox[ + { + RowBox[ + { + "ResourceData", + "[", + RowBox[ + { + InterpretationBox[ + TagBox[ + FrameBox[ + StyleBox[ + GridBox[ + { + { + DynamicBox[ + If[ TrueQ[ + StringQ[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceType"} + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + RasterBox[ + CompressedData[ + "\n1:eJztmEFOg1AQhom6cIk3qBsTd126xKW7psZ921iNm9q0JsbduwFH4AgcgSNw\ngqZH4Aj4MP/U3wmUgkhp7EtGYZh58zkzzGu9nLwOn04cx1me2x/D8fvtYjH+\nuHftzcNs+fI8mz7ezd6mz9PFzeTUKq+tXFk5c7q/VhdOYiXtgCSKK9P195UX\nMHgZh9KlRfZtLubgPO6TSVj4+si1fR1Cf+Xd72v9RR2tv5tJB7n8TLrEZX17\ntE+vCa68+xLftRXD8e11RFyR4s1s1y1wRXSeBogr1wGuDV0nzLorV9U6gsvg\nPAuJw4cIZwgb0xLXj/4G55z2mata7vw+1OXCLMjqE8tMoLqGkE3dYB/Dp3SG\nVOkv+2xELJvPSVSrBOJCEuJk25QY5w1wBWrfAVg5Xkj2oeIfwYf/rqCMa5c6\n0p4RxfMRz4NuAEmhG8AmUb7xljhVuaRPYoo9oueG6mdIPyJm8S/sszp9T3lJ\nSDzE5tqF0HnK9iuPJTEqzVXq5yCHQ/TyPga69+jdSXbNVxmXqqHMhh5ixGRn\nVA1j2PSK9tnGVVZH6nnpc5d6mOen5trYwEfeg8Ler8glZ4nMKq5dhHi6vwZ4\nFiifEHt5v+XK8TWI6VO87PcawjoftqZ0Y6d63ytbn3JnVt+zoA9JoZPZkdlW\nPh9rcPFslfzkzfs15a2tzzlpTr681feM43y1xRUjrku6ELyRyp0L28Kzpymu\ngv1knm3mVc19Gv/+qOdXzT3+zffaJtaRq9o6kP5y5RzZM5OXw9XJ/0d3bX0C\ndbpsag==\n " + ], + {{0, 0}, {38.0, 41.0}}, + {0, 255}, + ImageResolution -> {72, 72}, + ColorFunction -> RGBColor + ], + { + ImageSize -> {Automatic, 12}, + PlotRange -> {{0, 38.0}, {0, 41.0}} + } + ], + "\"the ResourceObject defined by this notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "the ResourceObject defined by this notebook", + "Tooltip" + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + TagBox[ + RasterBox[ + CompressedData[ + "\n1:eJzdlk1ugzAQhaN20yVHoJtK3WXZJV1W8gKl6p5ETaNu0iipVHXnG3AEH4Ej\n+Ag+AkfgCO6bYUjzC4SgKipWnMF4PmYeY/Dt5GP0djUYDFY36Ebjr8flcvz9\nHODkZb56n82nr0/zz+lsunyYXGPwHr87/Mil30MFqlD+7FYIy6vhmfFEyovl\nz82tYpQx/m9Wn3q1YSmtdBtWc44qRAUWKuzOUk4lKmArUxYtYzvAqDuZZama\nkV2C/4iqEZbmNWKPsY7pJawcfSbReZx1Y6XwruIaolVxZSo9OUeNyFKOjeLJ\nxUoxqtuyoIzmiMjXwDPm7JApLIuR8kqGWVEjy/HdYzwxW2lT1Vc5gisxR+x2\nWbt6YaZDC6Su3BbLlXX2O6eeJW9HA6XL3MjO0Iy8MzNcITvY8jmqPVdTwS1a\nM4kRyajf1KqOJRnEVAWSIfmXWVKFxLsZ1rAcK0yR0TOI2Dvm6ifNC7nq9ll7\n2humU1xJpRCPV+olHBfZppFFyjrx81xp0JmfR8G8Qu5l1KKN9qyZkcqwzCCm\nFS3NtlZNLF6PvO7AWvCchdRt2mE9WlolnJUmf/SUMa2wLu8cUsYww/AT0dwX\nHVg5fEOh+vXKDDGan5rjxryQ54S1c1p/Hw/r3ZEV7FfBIdZff2vbsi51b3LJ\n+5we96u97aP7O34ARi0taQ==\n " + ], + {{0, 41.0}, {38.0, 0}}, + {0, 255}, + ColorFunction -> GrayLevel, + ImageResolution -> {72, 72} + ], + BoxForm`ImageTag[ + "Byte", + ColorSpace -> "Grayscale", + Interleaving -> True + ], + Selectable -> False + ], + DefaultBaseStyle -> "ImageGraphics", + ImageSizeRaw -> {38.0, 41.0}, + PlotRange -> {{0, 38.0}, {0, 41.0}}, + ImageSize -> {Automatic, 12} + ], + "\"only defined in a definition notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "only defined in a definition notebook", + "Tooltip" + ] + ] + ] + ], + ImageSizeCache -> {11.122, {2.90039, 9.09961}}, + SingleEvaluation -> True + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Automatic}}, "Rows" -> {{Center}}}, + GridBoxSpacings -> {"Columns" -> {{0.25}}} + ], + ShowStringCharacters -> False, + FontSize -> (11 * Inherited) / 13 + ], + Background -> GrayLevel[0.5, 0.15], + BaseStyle -> {"Text", LineSpacing -> {0, 0}, LineBreakWithin -> False}, + FrameMargins -> {{3, 3}, {3, 0}}, + FrameStyle -> + Directive[GrayLevel[0.5, 0.35], AbsoluteThickness[0.5]], + RoundingRadius -> 4 + ], + "ResourceObjectNotebook" + ], + ResourceObject[EvaluationNotebook[]], + SelectWithContents -> True, + Selectable -> False + ], + ",", + "\"DatabasePath\"" + } + ], + "]" + } + ], + "=", + RowBox[ + { + "With", + "[", + RowBox[ + { + RowBox[ + { + "{", + RowBox[{"file", "=", RowBox[{"name", "<>", "\".wxf\""}]}], + "}" + } + ], + ",", + RowBox[ + { + RowBox[ + { + "FileNameJoin", + "[", + RowBox[ + {"{", RowBox[{"#DatabaseDirectory", ",", "file"}], "}"} + ], + "]" + } + ], + "&" + } + ] + } + ], + "]" + } + ] + } + ], + ";" + } + ] + ], + "Input", + CellTags -> "DefaultContent", + CellLabel -> "In[7]:=", + CellID -> 874765045 + ] + }, + Open + ] + ] + }, + Open + ] + ], + Cell[ + CellGroupData[ + { + Cell[ + TextData[ + { + "Examples", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "ExampleNotebook", + Cell[ + BoxData[ + FrameBox[ + Cell[ + TextData[ + { + "Demonstrate the data's usage, starting with the most basic use case and describing each example in a preceding text cell.\n\nWithin a group, individual examples can be delimited by inserting page breaks between them (using Tools \[FilledRightTriangle] Insert Delimiter).\n\nExamples should be grouped into Subsection and Subsubsection cells similarly to existing documentation pages. Here are some typical Subsection names and the types of examples they normally contain:\n\n ", + Cell[ + BoxData[ + StyleBox[ + TemplateBox[ + { + StyleBox[ + "\"\[FilledSmallSquare] \"", + FontColor -> RGBColor[0.8, 0.043, 0.008], + StripOnInput -> False + ], + StyleBox[ + "\"Basic Examples: \"", + FontFamily -> "Source Sans Pro", + FontWeight -> "SemiBold", + FontSize -> 14, + StripOnInput -> False + ] + }, + "RowDefault" + ], + ShowStringCharacters -> False + ] + ] + ], + "most basic usage\n ", + Cell[ + BoxData[ + StyleBox[ + TemplateBox[ + { + StyleBox[ + "\"\[FilledSmallSquare] \"", + FontColor -> RGBColor[0.8, 0.043, 0.008], + StripOnInput -> False + ], + StyleBox[ + "\"Scope: \"", + FontFamily -> "Source Sans Pro", + FontWeight -> "SemiBold", + FontSize -> 14, + StripOnInput -> False + ] + }, + "RowDefault" + ], + ShowStringCharacters -> False + ] + ] + ], + "show the breadth of the data\n ", + Cell[ + BoxData[ + StyleBox[ + TemplateBox[ + { + StyleBox[ + "\"\[FilledSmallSquare] \"", + FontColor -> RGBColor[0.8, 0.043, 0.008], + StripOnInput -> False + ], + StyleBox[ + "\"Applications: \"", + FontFamily -> "Source Sans Pro", + FontWeight -> "SemiBold", + FontSize -> 14, + StripOnInput -> False + ] + }, + "RowDefault" + ], + ShowStringCharacters -> False + ] + ] + ], + "standard industry or academic applications\n ", + Cell[ + BoxData[ + StyleBox[ + TemplateBox[ + { + StyleBox[ + "\"\[FilledSmallSquare] \"", + FontColor -> RGBColor[0.8, 0.043, 0.008], + StripOnInput -> False + ], + StyleBox[ + "\"Properties and Relations: \"", + FontFamily -> "Source Sans Pro", + FontWeight -> "SemiBold", + FontSize -> 14, + StripOnInput -> False + ] + }, + "RowDefault" + ], + ShowStringCharacters -> False + ] + ] + ], + "how the data relates to other data\n ", + Cell[ + BoxData[ + StyleBox[ + TemplateBox[ + { + StyleBox[ + "\"\[FilledSmallSquare] \"", + FontColor -> RGBColor[0.8, 0.043, 0.008], + StripOnInput -> False + ], + StyleBox[ + "\"Possible Issues: \"", + FontFamily -> "Source Sans Pro", + FontWeight -> "SemiBold", + FontSize -> 14, + StripOnInput -> False + ] + }, + "RowDefault" + ], + ShowStringCharacters -> False + ] + ] + ], + "limitations or unexpected behavior a user might experience\n ", + Cell[ + BoxData[ + StyleBox[ + TemplateBox[ + { + StyleBox[ + "\"\[FilledSmallSquare] \"", + FontColor -> RGBColor[0.8, 0.043, 0.008], + StripOnInput -> False + ], + StyleBox[ + "\"Neat Examples: \"", + FontFamily -> "Source Sans Pro", + FontWeight -> "SemiBold", + FontSize -> 14, + StripOnInput -> False + ] + }, + "RowDefault" + ], + ShowStringCharacters -> False + ] + ] + ], + "particularly interesting, unconventional, or otherwise unique usage" + } + ], + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoExampleNotebook"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Section", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "ExampleNotebook"}, + CellTags -> {"ExampleNotebook", "Examples", "TemplateCellGroup"}, + CellID -> 661218443 + ], + Cell[ + CellGroupData[ + { + Cell[ + "Basic Examples", + "Subsection", + CellLabel -> "In[8]:=", + CellID -> 462042388 + ], + Cell[ + TextData[ + { + "Get the ", + Cell[ + BoxData[ + TagBox[ + ButtonBox[ + StyleBox[ + "VectorDatabaseObject", + "SymbolsRefLink", + ShowStringCharacters -> True, + FontFamily -> "Source Sans Pro" + ], + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue["MouseOver"], + {"Link", FontColor -> RGBColor[0.8549, 0.39608, 0.1451]}, + {"Link"} + ] + ], + ButtonData -> "paclet:ref/VectorDatabaseObject", + ContentPadding -> False + ], + MouseAppearanceTag["LinkHand"] + ] + ], + "InlineFormula", + FontFamily -> "Source Sans Pro" + ], + ":" + } + ], + "Text", + CellTags -> "DefaultContent", + CellID -> 395385424 + ], + Cell[ + CellGroupData[ + { + Cell[ + BoxData[ + RowBox[ + { + "db", + "=", + RowBox[ + { + "ResourceData", + "[", + InterpretationBox[ + TagBox[ + FrameBox[ + StyleBox[ + GridBox[ + { + { + DynamicBox[ + If[ TrueQ[ + StringQ[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceType"} + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + RasterBox[ + CompressedData[ + "\n1:eJztmEFOg1AQhom6cIk3qBsTd126xKW7psZ921iNm9q0JsbduwFH4AgcgSNw\ngqZH4Aj4MP/U3wmUgkhp7EtGYZh58zkzzGu9nLwOn04cx1me2x/D8fvtYjH+\nuHftzcNs+fI8mz7ezd6mz9PFzeTUKq+tXFk5c7q/VhdOYiXtgCSKK9P195UX\nMHgZh9KlRfZtLubgPO6TSVj4+si1fR1Cf+Xd72v9RR2tv5tJB7n8TLrEZX17\ntE+vCa68+xLftRXD8e11RFyR4s1s1y1wRXSeBogr1wGuDV0nzLorV9U6gsvg\nPAuJw4cIZwgb0xLXj/4G55z2mata7vw+1OXCLMjqE8tMoLqGkE3dYB/Dp3SG\nVOkv+2xELJvPSVSrBOJCEuJk25QY5w1wBWrfAVg5Xkj2oeIfwYf/rqCMa5c6\n0p4RxfMRz4NuAEmhG8AmUb7xljhVuaRPYoo9oueG6mdIPyJm8S/sszp9T3lJ\nSDzE5tqF0HnK9iuPJTEqzVXq5yCHQ/TyPga69+jdSXbNVxmXqqHMhh5ixGRn\nVA1j2PSK9tnGVVZH6nnpc5d6mOen5trYwEfeg8Ler8glZ4nMKq5dhHi6vwZ4\nFiifEHt5v+XK8TWI6VO87PcawjoftqZ0Y6d63ytbn3JnVt+zoA9JoZPZkdlW\nPh9rcPFslfzkzfs15a2tzzlpTr681feM43y1xRUjrku6ELyRyp0L28Kzpymu\ngv1knm3mVc19Gv/+qOdXzT3+zffaJtaRq9o6kP5y5RzZM5OXw9XJ/0d3bX0C\ndbpsag==\n " + ], + {{0, 0}, {38.0, 41.0}}, + {0, 255}, + ImageResolution -> {72, 72}, + ColorFunction -> RGBColor + ], + { + ImageSize -> {Automatic, 12}, + PlotRange -> {{0, 38.0}, {0, 41.0}} + } + ], + "\"the ResourceObject defined by this notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "the ResourceObject defined by this notebook", + "Tooltip" + ] + ] + ], + TagBox[ + TooltipBox[ + GraphicsBox[ + TagBox[ + RasterBox[ + CompressedData[ + "\n1:eJzdlk1ugzAQhaN20yVHoJtK3WXZJV1W8gKl6p5ETaNu0iipVHXnG3AEH4Ej\n+Ag+AkfgCO6bYUjzC4SgKipWnMF4PmYeY/Dt5GP0djUYDFY36Ebjr8flcvz9\nHODkZb56n82nr0/zz+lsunyYXGPwHr87/Mil30MFqlD+7FYIy6vhmfFEyovl\nz82tYpQx/m9Wn3q1YSmtdBtWc44qRAUWKuzOUk4lKmArUxYtYzvAqDuZZama\nkV2C/4iqEZbmNWKPsY7pJawcfSbReZx1Y6XwruIaolVxZSo9OUeNyFKOjeLJ\nxUoxqtuyoIzmiMjXwDPm7JApLIuR8kqGWVEjy/HdYzwxW2lT1Vc5gisxR+x2\nWbt6YaZDC6Su3BbLlXX2O6eeJW9HA6XL3MjO0Iy8MzNcITvY8jmqPVdTwS1a\nM4kRyajf1KqOJRnEVAWSIfmXWVKFxLsZ1rAcK0yR0TOI2Dvm6ifNC7nq9ll7\n2humU1xJpRCPV+olHBfZppFFyjrx81xp0JmfR8G8Qu5l1KKN9qyZkcqwzCCm\nFS3NtlZNLF6PvO7AWvCchdRt2mE9WlolnJUmf/SUMa2wLu8cUsYww/AT0dwX\nHVg5fEOh+vXKDDGan5rjxryQ54S1c1p/Hw/r3ZEV7FfBIdZff2vbsi51b3LJ\n+5we96u97aP7O34ARi0taQ==\n " + ], + {{0, 41.0}, {38.0, 0}}, + {0, 255}, + ColorFunction -> GrayLevel, + ImageResolution -> {72, 72} + ], + BoxForm`ImageTag[ + "Byte", + ColorSpace -> "Grayscale", + Interleaving -> True + ], + Selectable -> False + ], + DefaultBaseStyle -> "ImageGraphics", + ImageSizeRaw -> {38.0, 41.0}, + PlotRange -> {{0, 38.0}, {0, 41.0}}, + ImageSize -> {Automatic, 12} + ], + "\"only defined in a definition notebook\"", + TooltipStyle -> "TextStyling" + ], + Function[ + Annotation[ + #1, + "only defined in a definition notebook", + "Tooltip" + ] + ] + ] + ], + ImageSizeCache -> {11.122, {2.90039, 9.09961}}, + SingleEvaluation -> True + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Automatic}}, "Rows" -> {{Center}}}, + GridBoxSpacings -> {"Columns" -> {{0.25}}} + ], + ShowStringCharacters -> False, + FontSize -> (11 * Inherited) / 13 + ], + Background -> GrayLevel[0.5, 0.15], + BaseStyle -> {"Text", LineSpacing -> {0, 0}, LineBreakWithin -> False}, + FrameMargins -> {{3, 3}, {3, 0}}, + FrameStyle -> + Directive[GrayLevel[0.5, 0.35], AbsoluteThickness[0.5]], + RoundingRadius -> 4 + ], + "ResourceObjectNotebook" + ], + ResourceObject[EvaluationNotebook[]], + SelectWithContents -> True, + Selectable -> False + ], + "]" + } + ] + } + ] + ], + "Input", + CellTags -> "DefaultContent", + CellLabel -> "In[1]:=", + CellID -> 464452425 + ], + Cell[ + BoxData[ + InterpretationBox[ + RowBox[ + { + TagBox["VectorDatabaseObject", "SummaryHead"], + "[", + DynamicModuleBox[ + {Typeset`open$$ = False, Typeset`embedState$$ = "Ready"}, + TemplateBox[ + { + PaneSelectorBox[ + { + False -> + GridBox[ + { + { + PaneBox[ + ButtonBox[ + DynamicBox[ + FEPrivate`FrontEndResource["FEBitmaps", "SummaryBoxOpener"] + ], + ButtonFunction :> (Typeset`open$$ = True), + Appearance -> None, + BaseStyle -> { }, + Evaluator -> Automatic, + Method -> "Preemptive" + ], + Alignment -> {Center, Center}, + ImageSize -> + Dynamic[ + { + Automatic, + Times[ + 3.5, + Times[ + CurrentValue["FontCapHeight"], + AbsoluteCurrentValue[Magnification]^(-1) + ] + ] + } + ] + ], + GridBox[ + { + { + RowBox[ + { + TagBox["\"ID: \"", "SummaryItemAnnotation"], + "\[InvisibleSpace]", + TagBox["\"WolframAlphaQueries\"", "SummaryItem"] + } + ] + }, + { + RowBox[ + { + TagBox["\"Elements: \"", "SummaryItemAnnotation"], + "\[InvisibleSpace]", + TagBox["59817", "SummaryItem"] + } + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}}, + BaseStyle -> { + ShowStringCharacters -> False, + NumberMarks -> False, + PrintPrecision -> 3, + ShowSyntaxStyles -> False + } + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + BaselinePosition -> {1, 1} + ], + True -> + GridBox[ + { + { + PaneBox[ + ButtonBox[ + DynamicBox[ + FEPrivate`FrontEndResource["FEBitmaps", "SummaryBoxCloser"] + ], + ButtonFunction :> (Typeset`open$$ = False), + Appearance -> None, + BaseStyle -> { }, + Evaluator -> Automatic, + Method -> "Preemptive" + ], + Alignment -> {Center, Center}, + ImageSize -> + Dynamic[ + { + Automatic, + Times[ + 3.5, + Times[ + CurrentValue["FontCapHeight"], + AbsoluteCurrentValue[Magnification]^(-1) + ] + ] + } + ] + ], + GridBox[ + { + { + RowBox[ + { + TagBox["\"ID: \"", "SummaryItemAnnotation"], + "\[InvisibleSpace]", + TagBox["\"WolframAlphaQueries\"", "SummaryItem"] + } + ] + }, + { + RowBox[ + { + TagBox["\"Elements: \"", "SummaryItemAnnotation"], + "\[InvisibleSpace]", + TagBox["59817", "SummaryItem"] + } + ] + }, + { + RowBox[ + { + TagBox["\"Vector length: \"", "SummaryItemAnnotation"], + "\[InvisibleSpace]", + TagBox["256", "SummaryItem"] + } + ] + }, + { + RowBox[ + { + TagBox["\"Working precision: \"", "SummaryItemAnnotation"], + "\[InvisibleSpace]", + TagBox["\"Integer8\"", "SummaryItem"] + } + ] + }, + { + RowBox[ + { + TagBox["\"Distance function: \"", "SummaryItemAnnotation"], + "\[InvisibleSpace]", + TagBox["EuclideanDistance", "SummaryItem"] + } + ] + }, + { + RowBox[ + { + TagBox["\"Location: \"", "SummaryItemAnnotation"], + "\[InvisibleSpace]", + TagBox[ + TemplateBox[ + { + RowBox[ + { + "File", + "[", + RowBox[{"\[LeftSkeleton]", "1", "\[RightSkeleton]"}], + "]" + } + ], + RowBox[ + { + "File", + "[", + TemplateBox[ + { + "\"C:\\\\Users\\\\rhennigan\\\\AppData\\\\Local\\\\Temp\\\\WolframAlphaQueries-6255df02-3496-4e77-b930-0d733c4a537f-Extracted\\\\WolframAlphaQueries.wxf\"" + }, + "FileArgument" + ], + "]" + } + ] + }, + "ClickToCopy2" + ], + "SummaryItem" + ] + } + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}}, + BaseStyle -> { + ShowStringCharacters -> False, + NumberMarks -> False, + PrintPrecision -> 3, + ShowSyntaxStyles -> False + } + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + BaselinePosition -> {1, 1} + ] + }, + Dynamic[Typeset`open$$], + ImageSize -> Automatic + ] + }, + "SummaryPanel" + ], + DynamicModuleValues :> { } + ], + "]" + } + ], + VectorDatabaseObject[ + <| + "DistanceFunction" -> EuclideanDistance, + "FeatureExtractor" -> Identity, + "GeneratedAssetLocation" -> + File[ + "C:\\Users\\rhennigan\\AppData\\Local\\Temp\\WolframAlphaQueries-6255df02-3496-4e77-b930-0d733c4a537f-Extracted\\WolframAlphaQueries.wxf" + ], + "ID" -> "WolframAlphaQueries", + "Location" -> + File[ + "C:\\Users\\rhennigan\\AppData\\Local\\Temp\\WolframAlphaQueries-6255df02-3496-4e77-b930-0d733c4a537f-Extracted\\WolframAlphaQueries.wxf" + ], + "ResolvedFeatureExtractor" -> Identity, + "VectorDatabaseInfo" -> <| + "DistanceFunction" -> "l2sq", + "WorkingPrecision" -> "i8", + "Connectivity" -> 16, + "ExpansionAdd" -> 256, + "ExpansionSearch" -> 2048, + "Capacity" -> 59817, + "Dimensions" -> 256 + |>, + "Version" -> 1.1, + "WorkingPrecision" -> "Integer8", + "Evaluator" -> "c++", + "DatabaseType" -> "USearch", + "MetadataKeys" -> { }, + "Dimensions" -> {59817, 256}, + "Hash" -> 235078148346117175893482954648565661383 + |> + ], + Editable -> False, + SelectWithContents -> True, + Selectable -> False + ] + ], + "Output", + CellTags -> "DefaultContent", + CellLabel -> "Out[1]=", + CellID -> 265794342 + ] + }, + Open + ] + ], + Cell["Search it:", "Text", CellID -> 477433615], + Cell[ + BoxData[ + RowBox[ + { + RowBox[ + { + "vector", + "=", + RowBox[ + { + "RandomInteger", + "[", + RowBox[ + { + RowBox[ + {"{", RowBox[{RowBox[{"-", "128"}], ",", "127"}], "}"} + ], + ",", + "256" + } + ], + "]" + } + ] + } + ], + ";" + } + ] + ], + "Input", + CellLabel -> "In[2]:=", + CellID -> 174568640 + ], + Cell[ + CellGroupData[ + { + Cell[ + BoxData[ + RowBox[ + { + "VectorDatabaseSearch", + "[", + RowBox[{"db", ",", "vector", ",", "\"Index\""}], + "]" + } + ] + ], + "Input", + CellLabel -> "In[3]:=", + CellID -> 14128918 + ], + Cell[ + BoxData[RowBox[{"{", "21567", "}"}]], + "Output", + CellLabel -> "Out[3]=", + CellID -> 66387350 + ] + }, + Open + ] + ] + }, + Open + ] + ], + Cell[ + "Scope & Additional Elements", + "Subsection", + CellID -> 979821957 + ], + Cell["Visualizations", "Subsection", CellID -> 50804313], + Cell["Analysis", "Subsection", CellID -> 866856397] + }, + Open + ] + ], + Cell[ + CellGroupData[ + { + Cell[ + "Source & Additional Information", + "Section", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "Source & Additional Information"}, + CellTags -> {"Source & Additional Information", "TemplateSection"}, + CellID -> 871630328 + ], + Cell[ + CellGroupData[ + { + Cell[ + TextData[ + { + "Submitted By", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "ContributedBy", + Cell[ + BoxData[ + FrameBox[ + Cell[ + "Enter the name of the person, people or organization that should be publicly credited with submitting this data.", + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoContributedBy"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Subsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "ContributedBy"}, + DefaultNewCellStyle -> "Text", + CellTags -> { + "Contributed By", + "ContributedBy", + "Submitted By", + "TemplateCellGroup" + }, + CellID -> 731311331 + ], + Cell[ + "Wolfram Staff", + "Text", + CellEventActions -> { + Inherited, + {"KeyDown", "\t"} :> + Replace[ + SelectionMove[SelectedNotebook[], After, Cell]; + NotebookFind[ + SelectedNotebook[], + "TabNext", + Next, + CellTags, + AutoScroll -> True, + WrapAround -> True + ], + Blank[NotebookSelection] :> + SelectionMove[ + SelectedNotebook[], + All, + CellContents, + AutoScroll -> True + ] + ], + PassEventsDown -> False, + PassEventsUp -> False + }, + CellTags -> {"DefaultContent", "TabNext"}, + CellID -> 316640766 + ] + }, + Open + ] + ], + Cell[ + TextData[ + { + "Source/Reference Citation", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "Citation", + Cell[ + BoxData[ + FrameBox[ + Cell[ + "Give a bibliographic-style citation for the original source of the data and/or its components.", + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoCitation"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Subsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "Citation"}, + DefaultNewCellStyle -> "Text", + CellTags -> { + "Citation", + "Source/Reference Citation", + "TemplateCellGroup" + }, + CellID -> 657892269 + ], + Cell[ + CellGroupData[ + { + Cell[ + TextData[ + { + "Detailed Source Information", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "Detailed Source Information", + Cell[ + BoxData[ + FrameBox[ + Cell[ + "Add bibliographic details about the original source and publication of the data.", + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoDetailedSourceInformation"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Subsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "Detailed Source Information"}, + CellTags -> {"Detailed Source Information", "TemplateSection"}, + CellID -> 67505013 + ], + Cell[ + "Author/Creator", + "Subsubsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "SMDAuthor"}, + DefaultNewCellStyle -> "Text", + CellTags -> {"Author/Creator", "SMDAuthor", "TemplateCellGroup"}, + CellID -> 62010071 + ], + Cell[ + "Source Title", + "Subsubsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "SMDTitle"}, + DefaultNewCellStyle -> "Text", + CellTags -> {"SMDTitle", "Source Title", "TemplateCellGroup"}, + CellID -> 15581079 + ], + Cell[ + "Source Date", + "Subsubsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "SMDDate"}, + DefaultNewCellStyle -> "Text", + CellTags -> {"SMDDate", "Source Date", "TemplateCellGroup"}, + CellID -> 251981362 + ], + Cell[ + "Source Publisher", + "Subsubsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "SMDPublisher"}, + DefaultNewCellStyle -> "Text", + CellTags -> {"SMDPublisher", "Source Publisher", "TemplateCellGroup"}, + CellID -> 910715536 + ], + Cell[ + "Geographic Coverage", + "Subsubsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "SMDGeographicCoverage"}, + DefaultNewCellStyle -> "Text", + CellTags -> { + "Geographic Coverage", + "SMDGeographicCoverage", + "TemplateCellGroup" + }, + CellID -> 346798217 + ], + Cell[ + "Temporal Coverage", + "Subsubsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "SMDTemporalCoverage"}, + DefaultNewCellStyle -> "Text", + CellTags -> { + "SMDTemporalCoverage", + "TemplateCellGroup", + "Temporal Coverage" + }, + CellID -> 135354521 + ], + Cell[ + "Source Language", + "Subsubsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "SMDLanguage"}, + DefaultNewCellStyle -> "Text", + CellTags -> {"SMDLanguage", "Source Language", "TemplateCellGroup"}, + CellID -> 146694705 + ], + Cell[ + "Rights", + "Subsubsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "SMDRights"}, + DefaultNewCellStyle -> "Text", + CellTags -> {"Rights", "SMDRights", "TemplateCellGroup"}, + CellID -> 190531069 + ] + }, + Open + ] + ], + Cell[ + TextData[ + { + "Links", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "Links", + Cell[ + BoxData[ + FrameBox[ + Cell[ + "List additional URLs or hyperlinks for external information related to the data.", + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoLinks"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Subsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "Links"}, + DefaultNewCellStyle -> "Item", + CellTags -> {"Links", "TemplateCellGroup"}, + CellID -> 255897931 + ], + Cell[ + TextData[ + { + "Keywords", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "Keywords", + Cell[ + BoxData[ + FrameBox[ + Cell[ + "List relevant terms that should be used to include the data in search results.", + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoKeywords"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Subsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "Keywords"}, + DefaultNewCellStyle -> "Item", + CellTags -> {"Keywords", "TemplateCellGroup"}, + CellID -> 266337689 + ], + Cell[ + CellGroupData[ + { + Cell[ + TextData[ + { + "Categories", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "Categories", + Cell[ + BoxData[ + FrameBox[ + Cell[ + "Select any categories which the data covers.", + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoCategories"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Subsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "Categories"}, + DefaultNewCellStyle -> "Item", + CellTags -> {"Categories", "TemplateCellGroup"}, + CellID -> 885722481 + ], + Cell[ + BoxData[ + TagBox[ + GridBox[ + { + { + TagBox[ + GridBox[ + { + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Agriculture"}], + "\" \"", + "\"Agriculture\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Computer Systems"}], + "\" \"", + "\"Computer Systems\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Economics"}], + "\" \"", + "\"Economics\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Geometry Data"}], + "\" \"", + "\"Geometry Data\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Healthcare"}], + "\" \"", + "\"Healthcare\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Language"}], + "\" \"", + "\"Language\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Mathematics"}], + "\" \"", + "\"Mathematics\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Politics"}], + "\" \"", + "\"Politics\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Statistics"}], + "\" \"", + "\"Statistics\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + } + }, + DefaultBaseStyle -> "Column", + GridBoxAlignment -> {"Columns" -> {{Left}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}} + ], + "Column" + ], + TagBox[ + GridBox[ + { + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Astronomy"}], + "\" \"", + "\"Astronomy\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Culture"}], + "\" \"", + "\"Culture\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Education"}], + "\" \"", + "\"Education\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Government"}], + "\" \"", + "\"Government\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "History"}], + "\" \"", + "\"History\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Life Science"}], + "\" \"", + "\"Life Science\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Medicine"}], + "\" \"", + "\"Medicine\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Reference"}], + "\" \"", + "\"Reference\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Text & Literature"}], + "\" \"", + "\"Text & Literature\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + } + }, + DefaultBaseStyle -> "Column", + GridBoxAlignment -> {"Columns" -> {{Left}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}} + ], + "Column" + ], + TagBox[ + GridBox[ + { + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Chemistry"}], + "\" \"", + "\"Chemistry\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Demographics"}], + "\" \"", + "\"Demographics\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Engineering"}], + "\" \"", + "\"Engineering\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Graphics"}], + "\" \"", + "\"Graphics\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Human Activities"}], + "\" \"", + "\"Human Activities\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Machine Learning"}], + "\" \"", + "\"Machine Learning\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Meteorology"}], + "\" \"", + "\"Meteorology\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Social Media"}], + "\" \"", + "\"Social Media\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Transportation"}], + "\" \"", + "\"Transportation\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + } + }, + DefaultBaseStyle -> "Column", + GridBoxAlignment -> {"Columns" -> {{Left}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}} + ], + "Column" + ], + TagBox[ + GridBox[ + { + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Computational Universe"}], + "\" \"", + "\"Computational Universe\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Earth Science"}], + "\" \"", + "\"Earth Science\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Geography"}], + "\" \"", + "\"Geography\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Health"}], + "\" \"", + "\"Health\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Images"}], + "\" \"", + "\"Images\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Manufacturing"}], + "\" \"", + "\"Manufacturing\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Physical Sciences"}], + "\" \"", + "\"Physical Sciences\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + { + StyleBox[ + TemplateBox[ + { + CheckboxBox[False, {False, "Sociology"}], + "\" \"", + "\"Sociology\"" + }, + "RowDefault" + ], + StripOnInput -> False, + FontSize -> 12 + ] + }, + {"\"\""} + }, + DefaultBaseStyle -> "Column", + GridBoxAlignment -> {"Columns" -> {{Left}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}} + ], + "Column" + ] + } + }, + AutoDelete -> False, + BaseStyle -> {"ControlStyle"}, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{2}}} + ], + "Grid" + ] + ], + "Output", + Editable -> False, + Deletable -> False, + TaggingRules -> { + "CheckboxData" -> "OEM6eJxVTm0KgkAUjMjSiG7iIcQKhMDwdYFVx1pa3WXf2x/evpUg6tcM88FMkeaUkMwGtK2DuCA57conuhf6YcWbq+aoJJVgZM6KIHZUoruc0pu3Dl5m2pdK8LBeg2O3dqLtxMP6012wCQacnnstqo0suSjD+BrZCQa/znLAmjBO/4PHahJ452N2WaCsmGYKLSP+OzRgG3yH++xAm5MS9QYdBUrS" + }, + CellTags -> {"Categories", "Categories-Checkboxes", "CheckboxCell"}, + CellID -> 460292996 + ] + }, + Open + ] + ], + Cell[ + CellGroupData[ + { + Cell[ + TextData[ + { + "Content Types", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "ContentTypes", + Cell[ + BoxData[ + FrameBox[ + Cell[ + "Select any of the types of data included in the content elements.", + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoContentTypes"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Subsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "ContentTypes"}, + DefaultNewCellStyle -> "Item", + CellTags -> {"Content Types", "ContentTypes", "TemplateCellGroup"}, + CellID -> 765263253 + ], + Cell[ + BoxData[ + TagBox[ + GridBox[ + { + { + TagBox[ + GridBox[ + { + { + TemplateBox[ + { + CheckboxBox[False, {False, "Audio"}], + "\" \"", + StyleBox[ + "\"Audio\"", + FontSize -> 12, + Editable -> False, + StripOnInput -> False + ] + }, + "RowDefault" + ] + }, + { + TemplateBox[ + { + CheckboxBox[False, {False, "Image"}], + "\" \"", + StyleBox[ + "\"Image\"", + FontSize -> 12, + Editable -> False, + StripOnInput -> False + ] + }, + "RowDefault" + ] + }, + { + TemplateBox[ + { + CheckboxBox["Vector Database", {False, "Vector Database"}], + "\" \"", + StyleBox[ + "\"Vector Database\"", + FontSize -> 12, + Editable -> False, + StripOnInput -> False + ] + }, + "RowDefault" + ] + } + }, + DefaultBaseStyle -> "Column", + GridBoxAlignment -> {"Columns" -> {{Left}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}} + ], + "Column" + ], + TagBox[ + GridBox[ + { + { + TemplateBox[ + { + CheckboxBox[False, {False, "Entity Store"}], + "\" \"", + StyleBox[ + "\"Entity Store\"", + FontSize -> 12, + Editable -> False, + StripOnInput -> False + ] + }, + "RowDefault" + ] + }, + { + TemplateBox[ + { + CheckboxBox[False, {False, "Numerical Data"}], + "\" \"", + StyleBox[ + "\"Numerical Data\"", + FontSize -> 12, + Editable -> False, + StripOnInput -> False + ] + }, + "RowDefault" + ] + }, + { + TemplateBox[ + { + CheckboxBox[False, {False, "Video"}], + "\" \"", + StyleBox[ + "\"Video\"", + FontSize -> 12, + Editable -> False, + StripOnInput -> False + ] + }, + "RowDefault" + ] + } + }, + DefaultBaseStyle -> "Column", + GridBoxAlignment -> {"Columns" -> {{Left}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}} + ], + "Column" + ], + TagBox[ + GridBox[ + { + { + TemplateBox[ + { + CheckboxBox[False, {False, "Geospatial Data"}], + "\" \"", + StyleBox[ + "\"Geospatial Data\"", + FontSize -> 12, + Editable -> False, + StripOnInput -> False + ] + }, + "RowDefault" + ] + }, + { + TemplateBox[ + { + CheckboxBox[False, {False, "Text"}], + "\" \"", + StyleBox[ + "\"Text\"", + FontSize -> 12, + Editable -> False, + StripOnInput -> False + ] + }, + "RowDefault" + ] + }, + {"\"\""} + }, + DefaultBaseStyle -> "Column", + GridBoxAlignment -> {"Columns" -> {{Left}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}} + ], + "Column" + ], + TagBox[ + GridBox[ + { + { + TemplateBox[ + { + CheckboxBox[False, {False, "Graphs"}], + "\" \"", + StyleBox[ + "\"Graphs\"", + FontSize -> 12, + Editable -> False, + StripOnInput -> False + ] + }, + "RowDefault" + ] + }, + { + TemplateBox[ + { + CheckboxBox[False, {False, "Time Series"}], + "\" \"", + StyleBox[ + "\"Time Series\"", + FontSize -> 12, + Editable -> False, + StripOnInput -> False + ] + }, + "RowDefault" + ] + }, + {"\"\""} + }, + DefaultBaseStyle -> "Column", + GridBoxAlignment -> {"Columns" -> {{Left}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}} + ], + "Column" + ] + } + }, + AutoDelete -> False, + BaseStyle -> {"ControlStyle", ShowStringCharacters -> False}, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{2}}} + ], + "Grid" + ] + ], + "Output", + Editable -> False, + Deletable -> False, + TaggingRules -> { + "CheckboxData" -> "OEM6eJxdjtEKgkAQRQk0EyV/oR/wI2QjECKjid5XnUjSnWVn9sG/b416qNfLPfeeKishBplHhHXjxXopIVEP7J7Y31ccHQcWKG7YCbndXotuNWNAasGJOa280KRl6ErYnB1ZdDJDrsgIGrnOFjnMNVYGMr/tRNHop79wWwfOWYeiFwLSyszgW8YglSnPoViboMjxQY+Lxjd8y0QnMiHLL8jkXYfLPUSLcwmFoimA2H9uVfQCKx5XrQ==" + }, + CellTags -> {"CheckboxCell", "ContentTypes", "ContentTypes-Checkboxes"}, + CellID -> 413260493 + ] + }, + Open + ] + ], + Cell[ + TextData[ + { + "Related Resource Objects", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "SeeAlso", + Cell[ + BoxData[ + FrameBox[ + Cell[ + "List the names of published resource objects from any Wolfram repository that are related to this data.", + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoSeeAlso"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Subsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "SeeAlso"}, + DefaultNewCellStyle -> "Item", + CellTags -> { + "Related Resource Objects", + "SeeAlso", + "TemplateCellGroup" + }, + CellID -> 398191659 + ], + Cell[ + TextData[ + { + "Related Symbols", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "RelatedSymbols", + Cell[ + BoxData[ + FrameBox[ + Cell[ + "List documented, system-level Wolfram Language symbols related to the data.", + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoRelatedSymbols"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Subsection", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "RelatedSymbols"}, + DefaultNewCellStyle -> "Item", + CellTags -> {"Related Symbols", "RelatedSymbols", "TemplateCellGroup"}, + CellID -> 661598311 + ] + }, + Open + ] + ], + Cell[ + TextData[ + { + "Author Notes", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "AuthorNotes", + Cell[ + BoxData[ + FrameBox[ + Cell[ + "Include any notes you would like to be published along with the resource.\n\nThese notes will be available to all users and can include known limitations or possible improvements to the data.", + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoAuthorNotes"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Section", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "AuthorNotes"}, + DefaultNewCellStyle -> "Text", + CellTags -> {"Author Notes", "AuthorNotes", "TemplateCellGroup"}, + CellID -> 823423117 + ], + Cell[ + CellGroupData[ + { + Cell[ + TextData[ + { + "Submission Notes", + Cell[ + BoxData[ + PaneSelectorBox[ + { + True -> + TemplateBox[ + { + "SubmissionNotes", + Cell[ + BoxData[ + FrameBox[ + Cell[ + "Enter any additional information that you would like to communicate to the reviewer here. This section will not be included in the published resource.", + "MoreInfoText" + ], + Background -> GrayLevel[0.95], + FrameMargins -> 20, + FrameStyle -> GrayLevel[0.9], + RoundingRadius -> 5, + ImageSize -> {Scaled[0.65], Automatic} + ] + ], + "MoreInfoText", + Deletable -> True, + CellTags -> {"SectionMoreInfoSubmissionNotes"}, + CellMargins -> {{66, 66}, {15, 15}} + ] + }, + "MoreInfoOpenerButtonTemplate" + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ResourceCreateNotebook"} + ] + ], + ImageSize -> Automatic + ] + ] + ] + } + ], + "Section", + Editable -> False, + Deletable -> False, + TaggingRules -> {"TemplateGroupName" -> "SubmissionNotes"}, + DefaultNewCellStyle -> "Text", + CellTags -> { + "Submission Notes", + "SubmissionNotes", + "TemplateCellGroup" + }, + CellID -> 161504757 + ], + Cell[ + "This should be marked as non-discoverable, since it's not very useful without the relevant internal Chatbook code that interprets the results.", + "Text", + CellID -> 246497798 + ] + }, + Open + ] + ] + }, + Open + ] + ] + }, + Visible -> True, + TaggingRules -> { + "ResourceType" -> "Data", + "ResourceCreateNotebook" -> True, + "TemplateVersion" -> "2022.09.15", + "CreationTimestamp" -> 3932453782.0, + "UpdatedTimestamp" -> 3932453782.0, + "CompatibilityTest" -> + HoldComplete[ + BinaryDeserialize[ + BaseDecode[ + "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" + ] + ] + ], + "DefinitionNotebookFramework" -> "DefinitionNotebookClient", + "RuntimeConfiguration" -> { + "Contexts" -> {"DataResource`", "DataResource`DefinitionNotebook`"}, + "DefaultContentMethod" -> "Legacy", + "HintPods" -> True, + "LoadingMethod" -> "Paclet", + "PacletName" -> "DataResource", + "SourceID" -> "aab60bd760a6c130942c461f106d46d75083799b" + }, + "ToolsOpen" -> True, + "StatusMessage" -> "", + "SubmissionReviewData" -> {"Review" -> False}, + "AutoUpdate" -> True + }, + CreateCellID -> True, + StyleDefinitions -> + Notebook[ + { + Cell[StyleData[StyleDefinitions -> "Default.nb"]], + Cell[ + StyleData[All, "Working"], + WindowToolbars -> { }, + DockedCells -> { + Cell[ + BoxData[TemplateBox[{}, "MainGridTemplate"]], + "DockedCell", + CellMargins -> {{-10, -10}, {-8, -8}}, + CellFrame -> 0, + Background -> RGBColor[0.16078, 0.40392, 0.56078], + CellTags -> {"MainDockedCell"}, + CacheGraphics -> False + ], + Cell[ + BoxData[TemplateBox[{}, "ToolsGridTemplate"]], + "DockedCell", + TaggingRules -> {"Tools" -> True}, + CellTags -> {"ToolbarDockedCell"}, + CellFrameMargins -> {{0, 0}, {2, 2}}, + CellFrame -> {{0, 0}, {1, 0}}, + CacheGraphics -> False, + CellOpen -> + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ToolsOpen"}, + True + ] + ] + ] + }, + PrivateNotebookOptions -> { + "FileOutlineCache" -> False, + "SafeFileOpen" -> "IgnoreCache" + }, + CellLabelAutoDelete -> False, + CodeAssistOptions -> {"AutoDetectHyperlinks" -> False}, + AutoQuoteCharacters -> { }, + PasteAutoQuoteCharacters -> { } + ], + Cell["Hint Styles", "Section"], + Cell[ + StyleData[ + "MoreInfoText", + StyleDefinitions -> StyleData["Text"] + ], + FontColor -> GrayLevel[0.25] + ], + Cell[ + StyleData[ + "ErrorText", + StyleDefinitions -> StyleData["Text"] + ], + ShowCellBracket -> False, + CellMargins -> {{66, Inherited}, {10, 10}}, + CellElementSpacings -> {"CellMinHeight" -> 0, "ClosedCellHeight" -> 0}, + FontWeight -> Bold, + FontColor -> RGBColor[1, 0, 0] + ], + Cell[ + StyleData[ + "WarningText", + StyleDefinitions -> StyleData["Text"] + ], + ShowCellBracket -> False, + CellMargins -> {{66, 35}, {0, 0}}, + FontSize -> 14, + GridBoxOptions -> {BaseStyle -> {}} + ], + Cell["Template Boxes", "Section"], + Cell[ + StyleData["MoreInfoOpenerIconTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + PaneSelectorBox[ + { + False -> + GraphicsBox[ + { + Thickness[0.090909], + StyleBox[ + { + JoinedCurveBox[ + { + { + {1, 4, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + } + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBGJJIGYC4oSnF5RuVyo58OlumvteXcIBxj//Pfjx0tky\nDp8u+SYJzFB0kGQJ49MtUnBYIKV/V4UNRis5GHKskYl6AlOnDNUHM0cFaq4I\nnD/niMKGogx+OB+oO8X6Phtcf/+hrxox/Qxw80HKftZ9sYfZ/7BKZJ37w1f2\nMPfB+DD3w/h+SQIRlluE4foh9vDBzYfQHHD7izMmvq2xZ4K7r9CW6/rigr/2\nMPfD+DD/wfgw/8P0w8IHZj4s/GD2w8IX5j708AcA2Xetpg==\n " + ], + CurveClosed -> {1} + ] + }, + { + JoinForm[{"Miter", 3.25}], + Thickness[0.045818], + RGBColor[0.62744, 0.62744, 0.62744, 1.0] + }, + StripOnInput -> False + ], + StyleBox[ + { + FilledCurveBox[ + { + { + {1, 4, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + }, + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0} + } + }, + { + CompressedData[ + "\n1:eJxTTMoPSmViYGCQBGIQ3b48/JRRi4jD3qBpin2m8g5n6j32194VhvNZnvdo\nvPUVdoh2sntxM0feQfiT4/m0q0IOQNnSwtvyDmxCIvbHYoQcMhnyG1lUFRyk\neR/oTlAAym/iKVyTjeAf2aiXt/gggt+odqhtubgiXP+k00CLYxXh5mdrf5t+\nd7Ii3P5LDPeYOE8pwt33vfTBHMGnig4w98P4j5fOPqJgIArn539oPRlyUBSu\n/9OGgOxZ5mJw88sKgS5aKwa3XzOm/9DXF2Jw98H4MPfD+DD/wfTD/A8zHxY+\nMPth4QdzHyx80cMfAIsMpwk=\n " + ], + CompressedData[ + "\n1:eJxTTMoPSmViYGCQB2IQXTFnkfJOGwmHsNp125Lq+R1g/G8aMf2HvvI4KP39\nVvrgjgAGH6b+c19wicp0IQeBKrPVduICcL6EWjDr4ksCqPLTBeH8211/U7+n\nCMH5S+7v45tjLAznX773gHvySwS/qdhtyrc2ETj/04aA7FnfReH8RxHi2y8e\nEIPzNUHOzRCH8x8vnX1E4QOCP+/98mPe5RJw/o9goAoWSTj/6vMs7W/TJR0O\nX9ZOlVwk4PB2no3OlVsI/jKgcRs+STlonhY4vstCzCFoh1zr64syDkBXssXP\nEHO4WvFSzbADwa9JNAo1yJKA82H+gfFh/oXxA29JA7Ug+GY2e4OmJQrB+f83\nVX/aMEEQzrerjFhhelYAzofFB3r8AgApYdcE\n " + ] + } + ] + }, + {FaceForm[RGBColor[0.62744, 0.62744, 0.62744, 1.0]]}, + StripOnInput -> False + ] + }, + ImageSize -> {11.0, 11.0}, + PlotRange -> {{0.0, 11.0}, {0.0, 11.0}}, + AspectRatio -> Automatic + ], + True -> + GraphicsBox[ + { + Thickness[0.090909], + StyleBox[ + { + JoinedCurveBox[ + { + { + {1, 4, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + } + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBGJJIGYC4oSnF5RuVyo58OlumvteXcIBxj//Pfjx0tky\nDp8u+SYJzFB0kGQJ49MtUnBYIKV/V4UNRis5GHKskYl6AlOnDNUHM0cFaq4I\nnD/niMKGogx+OB+oO8X6Phtcf/+hrxox/Qxw80HKftZ9sYfZ/7BKZJ37w1f2\nMPfB+DD3w/h+SQIRlluE4foh9vDBzYfQHHD7izMmvq2xZ4K7r9CW6/rigr/2\nMPfD+DD/wfgw/8P0w8IHZj4s/GD2w8IX5j708AcA2Xetpg==\n " + ], + CurveClosed -> {1} + ] + }, + { + JoinForm[{"Miter", 3.25}], + Thickness[0.045818], + RGBColor[0.5, 0.5, 0.5, 1.0] + }, + StripOnInput -> False + ], + StyleBox[ + { + FilledCurveBox[ + { + { + {1, 4, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + } + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBGJJIGYC4oSnF5RuVyo58OlumvteXcIBxj//Pfjx0tky\nDp8u+SYJzFB0kGQJ49MtUnBYIKV/V4UNRis5GHKskYl6AlOnDNUHM0cFaq4I\nnD/niMKGogx+OB+oO8X6Phtcf/+hrxox/Qxw80HKftZ9sYfZ/7BKZJ37w1f2\nMPfB+DD3w/h+SQIRlluE4foh9vDBzYfQHHD7izMmvq2xZ4K7r9CW6/rigr/2\nMPfD+DD/wfgw/8P0w8IHZj4s/GD2w8IX5j708AcA2Xetpg==\n " + ] + ] + }, + {FaceForm[RGBColor[0.5, 0.5, 0.5, 1.0]]}, + StripOnInput -> False + ], + StyleBox[ + { + FilledCurveBox[ + { + { + {1, 4, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + }, + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0} + } + }, + { + CompressedData[ + "\n1:eJxTTMoPSmViYGCQBGIQ3b48/JRRi4jD3qBpin2m8g5n6j32194VhvNZnvdo\nvPUVdoh2sntxM0feQfiT4/m0q0IOQNnSwtvyDmxCIvbHYoQcMhnyG1lUFRyk\neR/oTlAAym/iKVyTjeAf2aiXt/gggt+odqhtubgiXP+k00CLYxXh5mdrf5t+\nd7Ii3P5LDPeYOE8pwt33vfTBHMGnig4w98P4j5fOPqJgIArn539oPRlyUBSu\n/9OGgOxZ5mJw88sKgS5aKwa3XzOm/9DXF2Jw98H4MPfD+DD/wfTD/A8zHxY+\nMPth4QdzHyx80cMfAIsMpwk=\n " + ], + CompressedData[ + "\n1:eJxTTMoPSmViYGCQB2IQXTFnkfJOGwmHsNp125Lq+R1g/G8aMf2HvvI4KP39\nVvrgjgAGH6b+c19wicp0IQeBKrPVduICcL6EWjDr4ksCqPLTBeH8211/U7+n\nCMH5S+7v45tjLAznX773gHvySwS/qdhtyrc2ETj/04aA7FnfReH8RxHi2y8e\nEIPzNUHOzRCH8x8vnX1E4QOCP+/98mPe5RJw/o9goAoWSTj/6vMs7W/TJR0O\nX9ZOlVwk4PB2no3OlVsI/jKgcRs+STlonhY4vstCzCFoh1zr64syDkBXssXP\nEHO4WvFSzbADwa9JNAo1yJKA82H+gfFh/oXxA29JA7Ug+GY2e4OmJQrB+f83\nVX/aMEEQzrerjFhhelYAzofFB3r8AgApYdcE\n " + ] + } + ] + }, + {FaceForm[RGBColor[0.99998, 0.99998, 0.99998, 1.0]]}, + StripOnInput -> False + ] + }, + ImageSize -> {11.0, 11.0}, + PlotRange -> {{0.0, 11.0}, {0.0, 11.0}}, + AspectRatio -> Automatic + ] + }, + Dynamic[CurrentValue["MouseOver"]], + ImageSize -> Automatic, + FrameMargins -> 0 + ] + ]) + } + ], + Cell[ + StyleData["MoreInfoOpenerButtonTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + AdjustmentBox[ + DynamicModuleBox[ + { + RSNB`mPosRegion$$, + RSNB`attachPos$$, + RSNB`offsetPos$$, + RSNB`horizontalRegion$$, + RSNB`verticalRegion$$, + RSNB`chooseAttachLocation$$ + }, + TagBox[ + TemplateBox[ + { + TemplateBox[{}, "MoreInfoOpenerIconTemplate"], + "\"Click for more information\"" + }, + "PrettyTooltipTemplate" + ], + EventHandlerTag[ + { + "MouseDown" :> + AttachCell[ + ParentBox[EvaluationBox[]], + #2, + RSNB`chooseAttachLocation$$[], + RemovalConditions -> {"EvaluatorQuit", "MouseClickOutside"} + ], + Method -> "Preemptive", + PassEventsDown -> Automatic, + PassEventsUp -> True + } + ] + ], + DynamicModuleValues :> { + { + DownValues[RSNB`mPosRegion$$] = { + HoldPattern[RSNB`mPosRegion$$[]] :> + RSNB`mPosRegion$$[Ceiling[MousePosition["WindowScaled"]*3]], + HoldPattern[ + RSNB`mPosRegion$$[ + Pattern[RSNB`reg, {Blank[Integer], Blank[Integer]}] + ] + ] :> RSNB`reg, + HoldPattern[RSNB`mPosRegion$$[BlankNullSequence[]]] :> None + } + }, + { + DownValues[RSNB`attachPos$$] = { + HoldPattern[ + RSNB`attachPos$$[ + { + Pattern[RSNB`h$, Blank[Integer]], + Pattern[RSNB`v$, Blank[Integer]] + } + ] + ] :> { + RSNB`horizontalRegion$$[RSNB`h$], + RSNB`verticalRegion$$[RSNB`v$] + } + } + }, + { + DownValues[RSNB`offsetPos$$] = { + HoldPattern[ + RSNB`offsetPos$$[ + { + Pattern[RSNB`h$, Blank[Integer]], + Pattern[RSNB`v$, Blank[Integer]] + } + ] + ] :> { + RSNB`horizontalRegion$$[4 - RSNB`h$], + RSNB`verticalRegion$$[4 - RSNB`v$] + } + } + }, + { + DownValues[RSNB`horizontalRegion$$] = { + HoldPattern[RSNB`horizontalRegion$$[1]] :> Left, + HoldPattern[RSNB`horizontalRegion$$[2]] :> Center, + HoldPattern[RSNB`horizontalRegion$$[3]] :> Right + } + }, + { + DownValues[RSNB`verticalRegion$$] = { + HoldPattern[RSNB`verticalRegion$$[1]] :> Top, + HoldPattern[RSNB`verticalRegion$$[2]] :> Top, + HoldPattern[RSNB`verticalRegion$$[3]] :> Top + } + }, + { + DownValues[RSNB`chooseAttachLocation$$] = { + HoldPattern[RSNB`chooseAttachLocation$$[]] :> + With[ { RSNB`p$ = RSNB`mPosRegion$$[] }, + Apply[ + Sequence, + { + RSNB`offsetPos$$[RSNB`p$], + {-30, 30}, + RSNB`attachPos$$[RSNB`p$] + } + ] + ] + } + } + } + ], + BoxBaselineShift -> -0.5, + BoxMargins -> 0.2 + ] + ]) + } + ], + Cell[ + StyleData["InlineMoreInfoOpenerButtonTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + AdjustmentBox[ + DynamicModuleBox[ + { + RSNB`mPosRegion$$, + RSNB`attachPos$$, + RSNB`offsetPos$$, + RSNB`horizontalRegion$$, + RSNB`verticalRegion$$, + RSNB`chooseAttachLocation$$ + }, + TagBox[ + TemplateBox[ + {TemplateBox[{}, "MoreInfoOpenerIconTemplate"], #4}, + "PrettyTooltipTemplate" + ], + EventHandlerTag[ + { + "MouseDown" :> + AttachCell[ + ParentBox[EvaluationBox[]], + #2, + RSNB`chooseAttachLocation$$[], + RemovalConditions -> {"EvaluatorQuit", "MouseClickOutside"} + ], + Method -> "Preemptive", + PassEventsDown -> Automatic, + PassEventsUp -> True + } + ] + ], + DynamicModuleValues :> { + { + DownValues[RSNB`mPosRegion$$] = { + HoldPattern[RSNB`mPosRegion$$[]] :> + RSNB`mPosRegion$$[Ceiling[MousePosition["WindowScaled"]*3]], + HoldPattern[ + RSNB`mPosRegion$$[ + Pattern[RSNB`reg, {Blank[Integer], Blank[Integer]}] + ] + ] :> RSNB`reg, + HoldPattern[RSNB`mPosRegion$$[BlankNullSequence[]]] :> None + } + }, + { + DownValues[RSNB`attachPos$$] = { + HoldPattern[ + RSNB`attachPos$$[ + { + Pattern[RSNB`h$, Blank[Integer]], + Pattern[RSNB`v$, Blank[Integer]] + } + ] + ] :> { + RSNB`horizontalRegion$$[RSNB`h$], + RSNB`verticalRegion$$[RSNB`v$] + } + } + }, + { + DownValues[RSNB`offsetPos$$] = { + HoldPattern[ + RSNB`offsetPos$$[ + { + Pattern[RSNB`h$, Blank[Integer]], + Pattern[RSNB`v$, Blank[Integer]] + } + ] + ] :> { + RSNB`horizontalRegion$$[4 - RSNB`h$], + RSNB`verticalRegion$$[4 - RSNB`v$] + } + } + }, + { + DownValues[RSNB`horizontalRegion$$] = { + HoldPattern[RSNB`horizontalRegion$$[1]] :> Left, + HoldPattern[RSNB`horizontalRegion$$[2]] :> Center, + HoldPattern[RSNB`horizontalRegion$$[3]] :> Right + } + }, + { + DownValues[RSNB`verticalRegion$$] = { + HoldPattern[RSNB`verticalRegion$$[1]] :> Top, + HoldPattern[RSNB`verticalRegion$$[2]] :> Top, + HoldPattern[RSNB`verticalRegion$$[3]] :> Top + } + }, + { + DownValues[RSNB`chooseAttachLocation$$] = { + HoldPattern[RSNB`chooseAttachLocation$$[]] :> + With[ { RSNB`p$ = RSNB`mPosRegion$$[] }, + Apply[ + Sequence, + { + RSNB`offsetPos$$[RSNB`p$], + {-30, 30}, + RSNB`attachPos$$[RSNB`p$] + } + ] + ] + } + } + } + ], + BoxBaselineShift -> -0.5, + BoxMargins -> 0.2 + ] + ]) + } + ], + Cell[ + StyleData["ClickToCopyTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + PaneSelectorBox[ + { + False -> + TagBox[ + GridBox[ + { + { + #1, + ButtonBox[ + GraphicsBox[ + { + GrayLevel[0.85], + Thickness[NCache[2/45, 0.044444]], + FilledCurveBox[ + { + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0} + }, + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0} + }, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + { + { + {10.5, 18.75}, + {10.5, 18.0}, + {9.0, 18.0}, + {9.0, 15.75}, + {13.5, 15.75}, + {13.5, 18.0}, + {12.0, 18.0}, + {12.0, 18.75} + }, + { + {6.0, 18.0}, + {6.0, 4.5}, + {16.5, 4.5}, + {16.5, 18.0}, + {14.25, 18.0}, + {14.25, 17.25}, + {15.75, 17.25}, + {15.75, 5.25}, + {6.75, 5.25}, + {6.75, 17.25}, + {8.25, 17.25}, + {8.25, 18.0} + }, + { + {9.75, 17.25}, + {12.75, 17.25}, + {12.75, 16.5}, + {9.75, 16.5} + } + } + ], + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + { + { + {8.25, 14.25}, + {14.25, 14.25}, + {14.25, 13.5}, + {8.25, 13.5} + }, + { + {8.25, 12.0}, + {14.25, 12.0}, + {14.25, 11.25}, + {8.25, 11.25} + }, + {{8.25, 9.75}, {14.25, 9.75}, {14.25, 9.0}, {8.25, 9.0}}, + {{8.25, 7.5}, {14.25, 7.5}, {14.25, 6.75}, {8.25, 6.75}} + } + ] + }, + ImageSize -> 12 + ], + ButtonFunction :> Null, + Appearance -> {"Default" -> None, "Hover" -> None, "Pressed" -> None}, + Evaluator -> Automatic, + Method -> "Preemptive" + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Center}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{0.4}}} + ], + "Grid" + ], + True -> + DynamicModuleBox[ + {RSNB`clickTime$$ = 0.0, RSNB`timeout$$ = 3.0}, + TagBox[ + GridBox[ + { + { + #1, + TagBox[ + ButtonBox[ + DynamicBox[ + ToBoxes[ + Refresh[ + If[ AbsoluteTime[] - RSNB`clickTime$$ > RSNB`timeout$$, + RawBoxes[ + TemplateBox[ + { + PaneSelectorBox[ + { + False -> + GraphicsBox[ + { + GrayLevel[0.65], + Thickness[NCache[2/45, 0.044444]], + FilledCurveBox[ + { + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0} + }, + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0} + }, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + { + { + {10.5, 18.75}, + {10.5, 18.0}, + {9.0, 18.0}, + {9.0, 15.75}, + {13.5, 15.75}, + {13.5, 18.0}, + {12.0, 18.0}, + {12.0, 18.75} + }, + { + {6.0, 18.0}, + {6.0, 4.5}, + {16.5, 4.5}, + {16.5, 18.0}, + {14.25, 18.0}, + {14.25, 17.25}, + {15.75, 17.25}, + {15.75, 5.25}, + {6.75, 5.25}, + {6.75, 17.25}, + {8.25, 17.25}, + {8.25, 18.0} + }, + { + {9.75, 17.25}, + {12.75, 17.25}, + {12.75, 16.5}, + {9.75, 16.5} + } + } + ], + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + { + { + {8.25, 14.25}, + {14.25, 14.25}, + {14.25, 13.5}, + {8.25, 13.5} + }, + { + {8.25, 12.0}, + {14.25, 12.0}, + {14.25, 11.25}, + {8.25, 11.25} + }, + {{8.25, 9.75}, {14.25, 9.75}, {14.25, 9.0}, {8.25, 9.0}}, + {{8.25, 7.5}, {14.25, 7.5}, {14.25, 6.75}, {8.25, 6.75}} + } + ] + }, + ImageSize -> 12 + ], + True -> + GraphicsBox[ + { + RGBColor[0.98824, 0.41961, 0.20392], + Thickness[NCache[2/45, 0.044444]], + FilledCurveBox[ + { + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0} + }, + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0} + }, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + { + { + {10.5, 18.75}, + {10.5, 18.0}, + {9.0, 18.0}, + {9.0, 15.75}, + {13.5, 15.75}, + {13.5, 18.0}, + {12.0, 18.0}, + {12.0, 18.75} + }, + { + {6.0, 18.0}, + {6.0, 4.5}, + {16.5, 4.5}, + {16.5, 18.0}, + {14.25, 18.0}, + {14.25, 17.25}, + {15.75, 17.25}, + {15.75, 5.25}, + {6.75, 5.25}, + {6.75, 17.25}, + {8.25, 17.25}, + {8.25, 18.0} + }, + { + {9.75, 17.25}, + {12.75, 17.25}, + {12.75, 16.5}, + {9.75, 16.5} + } + } + ], + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + { + { + {8.25, 14.25}, + {14.25, 14.25}, + {14.25, 13.5}, + {8.25, 13.5} + }, + { + {8.25, 12.0}, + {14.25, 12.0}, + {14.25, 11.25}, + {8.25, 11.25} + }, + {{8.25, 9.75}, {14.25, 9.75}, {14.25, 9.0}, {8.25, 9.0}}, + {{8.25, 7.5}, {14.25, 7.5}, {14.25, 6.75}, {8.25, 6.75}} + } + ] + }, + ImageSize -> 12 + ] + }, + Dynamic[CurrentValue["MouseOver"]], + ImageSize -> Automatic, + FrameMargins -> 0 + ], + "\"Click to copy to the clipboard\"" + }, + "PrettyTooltipTemplate" + ] + ], + RawBoxes[ + TemplateBox[ + { + GraphicsBox[ + { + RGBColor[0, NCache[2/3, 0.66667], 0], + Thickness[NCache[2/45, 0.044444]], + FilledCurveBox[ + { + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0} + }, + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0} + }, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + { + { + {10.5, 18.75}, + {10.5, 18.0}, + {9.0, 18.0}, + {9.0, 15.75}, + {13.5, 15.75}, + {13.5, 18.0}, + {12.0, 18.0}, + {12.0, 18.75} + }, + { + {6.0, 18.0}, + {6.0, 4.5}, + {16.5, 4.5}, + {16.5, 18.0}, + {14.25, 18.0}, + {14.25, 17.25}, + {15.75, 17.25}, + {15.75, 5.25}, + {6.75, 5.25}, + {6.75, 17.25}, + {8.25, 17.25}, + {8.25, 18.0} + }, + { + {9.75, 17.25}, + {12.75, 17.25}, + {12.75, 16.5}, + {9.75, 16.5} + } + } + ], + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + { + { + {8.25, 14.25}, + {14.25, 14.25}, + {14.25, 13.5}, + {8.25, 13.5} + }, + { + {8.25, 12.0}, + {14.25, 12.0}, + {14.25, 11.25}, + {8.25, 11.25} + }, + {{8.25, 9.75}, {14.25, 9.75}, {14.25, 9.0}, {8.25, 9.0}}, + {{8.25, 7.5}, {14.25, 7.5}, {14.25, 6.75}, {8.25, 6.75}} + } + ] + }, + ImageSize -> 12 + ], + "\"Copied\"" + }, + "PrettyTooltipTemplate" + ] + ] + ], + UpdateInterval -> 1, + TrackedSymbols :> {RSNB`clickTime$$} + ], + StandardForm + ], + Evaluator -> "System" + ], + ButtonFunction :> + (RSNB`clickTime$$ = AbsoluteTime[]; + CopyToClipboard[BinaryDeserialize[BaseDecode[#2], Defer]]), + Appearance -> {"Default" -> None, "Hover" -> None, "Pressed" -> None}, + Method -> "Queued", + Evaluator -> "System" + ], + MouseAppearanceTag["LinkHand"] + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Center}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{0.4}}} + ], + "Grid" + ], + DynamicModuleValues :> { } + ] + }, + Dynamic[CurrentValue["MouseOver"]], + ImageSize -> Automatic, + FrameMargins -> 0 + ] + ]) + } + ], + Cell[ + StyleData["PrettyTooltipTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + TagBox[ + TooltipBox[ + #1, + FrameBox[ + StyleBox[ + #2, + "Text", + FontColor -> RGBColor[0.53725, 0.53725, 0.53725], + FontSize -> 12, + FontWeight -> "Plain", + FontTracking -> "Plain", + StripOnInput -> False + ], + Background -> RGBColor[0.96078, 0.96078, 0.96078], + FrameStyle -> RGBColor[0.89804, 0.89804, 0.89804], + FrameMargins -> 8, + StripOnInput -> False + ], + TooltipDelay -> 0.1, + TooltipStyle -> {Background -> None, CellFrame -> 0} + ], + Function[ + Annotation[ + #1, + Framed[ + Style[ + RSNB`$$tooltip, + "Text", + FontColor -> RGBColor[0.53725, 0.53725, 0.53725], + FontSize -> 12, + FontWeight -> "Plain", + FontTracking -> "Plain" + ], + Background -> RGBColor[0.96078, 0.96078, 0.96078], + FrameStyle -> RGBColor[0.89804, 0.89804, 0.89804], + FrameMargins -> 8 + ], + "Tooltip" + ] + ] + ] + ]) + } + ], + Cell[ + StyleData["ToolsGridTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + StyleBox[ + TagBox[ + GridBox[ + { + { + FrameBox[ + ButtonBox[ + TemplateBox[ + { + StyleBox[ + TagBox[ + GridBox[ + { + { + "\"Insert ResourceObject\"", + GraphicsBox[ + { + Thickness[0.05], + { + FaceForm[{GrayLevel[0.34902], Opacity[1.0]}], + FilledCurveBox[ + { + { + {1, 4, 3}, + {0, 1, 0}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3} + } + }, + { + { + {18.0, 17.5}, + {18.0, 18.328}, + {17.328, 19.0}, + {16.5, 19.0}, + {4.5, 19.0}, + {3.6716, 19.0}, + {3.0, 18.328}, + {3.0, 17.5}, + {3.0, 3.5}, + {3.0, 2.6716}, + {3.6716, 2.0}, + {4.5, 2.0}, + {16.5, 2.0}, + {17.328, 2.0}, + {18.0, 2.6716}, + {18.0, 3.5} + } + } + ] + }, + { + FaceForm[{GrayLevel[0.34902], Opacity[1.0]}], + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + { + {{5.0, 12.0}, {5.0, 11.0}, {2.0, 11.0}, {2.0, 12.0}}, + {{2.0, 10.0}, {2.0, 9.0}, {5.0, 9.0}, {5.0, 10.0}}, + {{2.0, 14.0}, {2.0, 13.0}, {5.0, 13.0}, {5.0, 14.0}}, + {{2.0, 8.0}, {2.0, 7.0}, {5.0, 7.0}, {5.0, 8.0}}, + {{2.0, 6.0}, {2.0, 5.0}, {5.0, 5.0}, {5.0, 6.0}}, + { + {5.0, 18.0}, + {2.0, 18.0}, + {2.0, 17.0}, + {5.0, 17.0}, + {5.0, 18.0} + }, + { + {5.0, 4.0}, + {2.0, 4.0}, + {2.0, 3.0}, + {5.0, 3.0}, + {5.0, 4.0} + }, + {{2.0, 16.0}, {2.0, 15.0}, {5.0, 15.0}, {5.0, 16.0}} + } + ] + }, + { + FaceForm[{GrayLevel[1], Opacity[1.0]}], + FilledCurveBox[ + { + { + {0, 2, 0}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3} + } + }, + { + { + {4.5, 18.0}, + {16.5, 18.0}, + {16.776, 18.0}, + {17.0, 17.776}, + {17.0, 17.5}, + {17.0, 3.5}, + {17.0, 3.2236}, + {16.776, 3.0}, + {16.5, 3.0}, + {4.5, 3.0}, + {4.2236, 3.0}, + {4.0, 3.2236}, + {4.0, 3.5}, + {4.0, 17.5}, + {4.0, 17.776}, + {4.2236, 18.0}, + {4.5, 18.0} + } + } + ] + }, + { + FaceForm[{RGBColor[0.86667, 0.06667, 0.0], Opacity[1.0]}], + FilledCurveBox[ + { + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0} + }, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + { + CompressedData[ + "\n1:eJxTTMoPSmViYGAQAWIQrbtp7vvlx3QcGMBA1aH5wKmFrt/0He77907Pm6Th\nkCQQYbnFQ9shxRokoulw+KtGTP8hbQenhKcXlKL1HEIeL519JEHdASydpwPV\nr+Iw54jChiIPAwdlr+pm/R4luPyd643FbiEyDue/Bz9eCtTv8bBKZJ27rMOn\nS75JAjM0HZRyKqqWvhF2+FWXtadksoaDKlvjVGdvKbj7zq06fzUMKB8FclCu\nosMuTx4mbaD+qxUv1QwzFBwOrlji5xAs4+CSmf+h1VPcAey9biWH3LDadduU\npOHum/i2xt70npDDcW/zTkeg+yWmXuHMAMrD/Afxtzjc/w3bHZoepSvAw2fj\nw5dTN+UoOgAARNmGkQ==\n " + ], + { + {14.809, 9.3454}, + {13.744, 9.7099}, + {13.017, 10.654}, + {13.953, 10.307} + }, + { + {11.371, 7.1364}, + {10.712, 6.0044}, + {10.712, 7.177}, + {11.398, 8.1788} + }, + { + {9.8213, 12.979}, + {8.6908, 13.381}, + {8.0367, 14.264}, + {9.2241, 13.743} + }, + { + {11.738, 13.743}, + {12.925, 14.264}, + {12.271, 13.381}, + {11.141, 12.979} + }, + { + {13.177, 12.7}, + {12.603, 11.886}, + {12.637, 13.113}, + {13.309, 14.019} + }, + { + {10.481, 7.6484}, + {9.6004, 8.9331}, + {10.481, 10.128}, + {11.361, 8.9331} + }, + { + {8.8261, 11.306}, + {8.782, 12.866}, + {10.249, 12.344}, + {10.249, 10.826} + }, + { + {10.712, 12.344}, + {12.179, 12.866}, + {12.137, 11.306}, + {10.712, 10.826} + }, + { + {7.7855, 12.7}, + {7.6538, 14.019}, + {8.325, 13.113}, + {8.3587, 11.887} + }, + { + {10.114, 10.394}, + {9.2339, 9.2003}, + {7.7378, 9.6414}, + {8.6871, 10.875} + }, + { + {9.5648, 8.1792}, + {10.249, 7.177}, + {10.249, 6.004}, + {9.5887, 7.1366} + }, + { + {10.848, 10.394}, + {12.275, 10.875}, + {13.224, 9.6414}, + {11.728, 9.2003} + }, + { + {15.126, 12.009}, + {14.018, 10.766}, + {12.711, 11.252}, + {13.495, 12.364} + }, + { + {10.481, 15.384}, + {11.321, 13.946}, + {10.481, 12.872}, + {9.641, 13.946} + }, + { + {5.8362, 12.01}, + {7.467, 12.365}, + {8.2511, 11.252}, + {6.9436, 10.767} + }, + { + {7.009, 10.307}, + {7.9452, 10.655}, + {7.2182, 9.7099}, + {6.152, 9.3459} + }, + { + {6.2515, 8.9006}, + {7.3612, 9.2795}, + {8.5462, 8.9302}, + {7.5545, 8.6165} + }, + { + {7.776, 8.2109}, + {9.1027, 8.6306}, + {9.1365, 7.2193}, + {7.6098, 6.5491} + }, + { + {11.824, 7.219}, + {11.859, 8.6305}, + {13.185, 8.2104}, + {13.351, 6.5484} + }, + { + {13.407, 8.6159}, + {12.415, 8.9301}, + {13.6, 9.2795}, + {14.71, 8.8998} + } + } + ] + } + }, + AspectRatio -> Automatic, + ImageSize -> 12, + PlotRange -> {{0.0, 20.0}, {0.0, 20.0}}, + PlotRangePadding -> 0, + BaselinePosition -> Scaled[0.2] + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Center}}, "Rows" -> {{Baseline}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{0.25}}} + ], + "Grid" + ], + "Text", + FontFamily -> "Source Sans Pro", + FontSize -> 11, + StripOnInput -> False + ], + "\"Insert an icon representing the ResourceObject\"" + }, + "PrettyTooltipTemplate" + ], + ButtonFunction :> + With[ { RSNB`nb$ = ButtonNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 4300058170245655723; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + + DefinitionNotebookClient`$ClickedButton = + "InsertResourceObject"; + + DefinitionNotebookClient`InsertResourceObjectIcon[ + ButtonNotebook[] + ] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[4300058170245655723] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + FrameMargins -> {{4, 4}, {0, 0}}, + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue[Enabled], + FEPrivate`If[ + CurrentValue["MouseOver"], + { + FontColor -> GrayLevel[1], + TaggingRules -> {"ButtonHovering" -> True} + }, + { + FontColor -> RGBColor[0.10588, 0.27059, 0.37255], + TaggingRules -> {"ButtonHovering" -> False} + } + ], + { + FontColor -> RGBColor[0.77647, 0.81765, 0.84314], + TaggingRules -> {"ButtonHovering" -> False} + } + ], + Evaluator -> "System" + ], + Appearance -> { + "Default" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJche4+e6pyzIrq80zAsD4KAbKAIUJwYQx48fFTS\nM0vaNR4XAsoC1eAx5PCpc9ZxJUCVan7pbXNXbT969tnrtxAEZANFgOJAWaAa\noEqshgDNh5gQUtL+6MVrrKEHFAfKQsyBuwfZEIgvgGoIRgTEHKB6NEOAIQbx\nBS43oLkH4i9IOMMNAYY8UBDoa4ImQABQJVA9UBeyIcAYBAoCQ49IQ4AqgeqB\nuoB6IakRyACmBKAgMBaINASoEqgeqAtiCBBQbghVXPKfemFCldihSjqhSoql\nVt6hSi6mVnkCBxSWbGQAghHxn7jSHgAhWAlh\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Hover" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJche4+e6pyzIrq80zAsD4KAbKAIUJwYQx48fFTS\nM0vaNR4XAsoC1eAx5PCpc9ZxJUCVcp7Jhqmt1iXTXZuWQxCQDRQBigNlgWqA\nKrEaAjQfYoJ6WLFL4zKvzg2YCCgOlIWYA3cPsiEQXwDVYNWOjCDmANWjGQIM\nMYgvcLkBzT0Qf0HCGW4IMOSBgkBfEzQBgoAqgeqBupANAcYgyKcl04k0BKgS\nqB6oC6gXkhqBDGBKAAoCY4FIQ4AqQS4Py4MYAgSUG0IVl1AxTKgSO1RJJ1RJ\nsdTKO1TJxdQqT+CAwpKNDEBMMU5MaQ8AQJMCGA==\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Pressed" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJchr1+//vjx4/fv3//AAJANFAGKE2PI8+fPv3z5\ngsfZQFmgGjyGvHr16vfv30CR779+rzp+q3ndybhpOyEIyAaKAMWBskA1QJVY\nDQGaDzHh0sPXiTN2eXVuwERAcaAsxBy4e5ANgfgCqAardmQEMQeoHs0QYIhB\nfIHLDWjugfgLEs5wQ4AhD2QAfU3QBAgCqgSqB+pCNgQYg0AGMPSINASoEuTy\n79+BeiGpEcgApgQgAxgLRBoCVAlUD9QFMQQIKDeEKi6hYphQJXaokk6okmKp\nlXeokoupVZ7AAYUlGxkAj7PhgJjSHgDbEuv0\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ] + }, + Background -> GrayLevel[0.9], + Method -> "Queued", + ImageSize -> {All, 20}, + Evaluator -> Automatic + ], + FrameStyle -> + Directive[GrayLevel[0.9], AbsoluteThickness[2]], + FrameMargins -> -1, + ContentPadding -> False, + StripOnInput -> False + ], + FrameBox[ + ButtonBox[ + TemplateBox[ + { + StyleBox[ + "\"Template Input\"", + "Text", + FontFamily -> "Source Sans Pro", + FontSize -> 11, + StripOnInput -> False + ], + "\"Format selection automatically using appropriate documentation styles\"" + }, + "PrettyTooltipTemplate" + ], + ButtonFunction :> + With[ { RSNB`nb$ = ButtonNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 2790153672590285854; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Template Input"; + DefinitionNotebookClient`TemplateInput[] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[2790153672590285854] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + FrameMargins -> {{4, 4}, {0, 0}}, + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue[Enabled], + FEPrivate`If[ + CurrentValue["MouseOver"], + { + FontColor -> GrayLevel[1], + TaggingRules -> {"ButtonHovering" -> True} + }, + { + FontColor -> RGBColor[0.10588, 0.27059, 0.37255], + TaggingRules -> {"ButtonHovering" -> False} + } + ], + { + FontColor -> RGBColor[0.77647, 0.81765, 0.84314], + TaggingRules -> {"ButtonHovering" -> False} + } + ], + Evaluator -> "System" + ], + Appearance -> { + "Default" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJche4+e6pyzIrq80zAsD4KAbKAIUJwYQx48fFTS\nM0vaNR4XAsoC1eAx5PCpc9ZxJUCVan7pbXNXbT969tnrtxAEZANFgOJAWaAa\noEqshgDNh5gQUtL+6MVrrKEHFAfKQsyBuwfZEIgvgGoIRgTEHKB6NEOAIQbx\nBS43oLkH4i9IOMMNAYY8UBDoa4ImQABQJVA9UBeyIcAYBAoCQ49IQ4AqgeqB\nuoB6IakRyACmBKAgMBaINASoEqgeqAtiCBBQbghVXPKfemFCldihSjqhSoql\nVt6hSi6mVnkCBxSWbGQAghHxn7jSHgAhWAlh\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Hover" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJche4+e6pyzIrq80zAsD4KAbKAIUJwYQx48fFTS\nM0vaNR4XAsoC1eAx5PCpc9ZxJUCVcp7Jhqmt1iXTXZuWQxCQDRQBigNlgWqA\nKrEaAjQfYoJ6WLFL4zKvzg2YCCgOlIWYA3cPsiEQXwDVYNWOjCDmANWjGQIM\nMYgvcLkBzT0Qf0HCGW4IMOSBgkBfEzQBgoAqgeqBupANAcYgyKcl04k0BKgS\nqB6oC6gXkhqBDGBKAAoCY4FIQ4AqQS4Py4MYAgSUG0IVl1AxTKgSO1RJJ1RJ\nsdTKO1TJxdQqT+CAwpKNDEBMMU5MaQ8AQJMCGA==\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Pressed" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJchr1+//vjx4/fv3//AAJANFAGKE2PI8+fPv3z5\ngsfZQFmgGjyGvHr16vfv30CR779+rzp+q3ndybhpOyEIyAaKAMWBskA1QJVY\nDQGaDzHh0sPXiTN2eXVuwERAcaAsxBy4e5ANgfgCqAardmQEMQeoHs0QYIhB\nfIHLDWjugfgLEs5wQ4AhD2QAfU3QBAgCqgSqB+pCNgQYg0AGMPSINASoEuTy\n79+BeiGpEcgApgQgAxgLRBoCVAlUD9QFMQQIKDeEKi6hYphQJXaokk6okmKp\nlXeokoupVZ7AAYUlGxkAj7PhgJjSHgDbEuv0\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ] + }, + Background -> GrayLevel[0.9], + Method -> "Queued", + ImageSize -> {All, 20}, + Evaluator -> Automatic + ], + FrameStyle -> + Directive[GrayLevel[0.9], AbsoluteThickness[2]], + FrameMargins -> -1, + ContentPadding -> False, + StripOnInput -> False + ], + FrameBox[ + ButtonBox[ + TemplateBox[ + { + StyleBox[ + "\"Literal Input\"", + "Text", + FontFamily -> "Source Sans Pro", + FontSize -> 11, + StripOnInput -> False + ], + "\"Format selection as literal Wolfram Language code\"" + }, + "PrettyTooltipTemplate" + ], + ButtonFunction :> + With[ { RSNB`nb$ = ButtonNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 4138174468017918531; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Literal Input"; + DefinitionNotebookClient`LiteralInput[] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[4138174468017918531] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + FrameMargins -> {{4, 4}, {0, 0}}, + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue[Enabled], + FEPrivate`If[ + CurrentValue["MouseOver"], + { + FontColor -> GrayLevel[1], + TaggingRules -> {"ButtonHovering" -> True} + }, + { + FontColor -> RGBColor[0.10588, 0.27059, 0.37255], + TaggingRules -> {"ButtonHovering" -> False} + } + ], + { + FontColor -> RGBColor[0.77647, 0.81765, 0.84314], + TaggingRules -> {"ButtonHovering" -> False} + } + ], + Evaluator -> "System" + ], + Appearance -> { + "Default" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJche4+e6pyzIrq80zAsD4KAbKAIUJwYQx48fFTS\nM0vaNR4XAsoC1eAx5PCpc9ZxJUCVan7pbXNXbT969tnrtxAEZANFgOJAWaAa\noEqshgDNh5gQUtL+6MVrrKEHFAfKQsyBuwfZEIgvgGoIRgTEHKB6NEOAIQbx\nBS43oLkH4i9IOMMNAYY8UBDoa4ImQABQJVA9UBeyIcAYBAoCQ49IQ4AqgeqB\nuoB6IakRyACmBKAgMBaINASoEqgeqAtiCBBQbghVXPKfemFCldihSjqhSoql\nVt6hSi6mVnkCBxSWbGQAghHxn7jSHgAhWAlh\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Hover" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJche4+e6pyzIrq80zAsD4KAbKAIUJwYQx48fFTS\nM0vaNR4XAsoC1eAx5PCpc9ZxJUCVcp7Jhqmt1iXTXZuWQxCQDRQBigNlgWqA\nKrEaAjQfYoJ6WLFL4zKvzg2YCCgOlIWYA3cPsiEQXwDVYNWOjCDmANWjGQIM\nMYgvcLkBzT0Qf0HCGW4IMOSBgkBfEzQBgoAqgeqBupANAcYgyKcl04k0BKgS\nqB6oC6gXkhqBDGBKAAoCY4FIQ4AqQS4Py4MYAgSUG0IVl1AxTKgSO1RJJ1RJ\nsdTKO1TJxdQqT+CAwpKNDEBMMU5MaQ8AQJMCGA==\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Pressed" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJchr1+//vjx4/fv3//AAJANFAGKE2PI8+fPv3z5\ngsfZQFmgGjyGvHr16vfv30CR779+rzp+q3ndybhpOyEIyAaKAMWBskA1QJVY\nDQGaDzHh0sPXiTN2eXVuwERAcaAsxBy4e5ANgfgCqAardmQEMQeoHs0QYIhB\nfIHLDWjugfgLEs5wQ4AhD2QAfU3QBAgCqgSqB+pCNgQYg0AGMPSINASoEuTy\n79+BeiGpEcgApgQgAxgLRBoCVAlUD9QFMQQIKDeEKi6hYphQJXaokk6okmKp\nlXeokoupVZ7AAYUlGxkAj7PhgJjSHgDbEuv0\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ] + }, + Background -> GrayLevel[0.9], + Method -> "Queued", + ImageSize -> {All, 20}, + Evaluator -> Automatic + ], + FrameStyle -> + Directive[GrayLevel[0.9], AbsoluteThickness[2]], + FrameMargins -> -1, + ContentPadding -> False, + StripOnInput -> False + ], + FrameBox[ + ButtonBox[ + TemplateBox[ + { + StyleBox[ + "\"Insert Delimiter\"", + "Text", + FontFamily -> "Source Sans Pro", + FontSize -> 11, + StripOnInput -> False + ], + "\"Insert example delimiter\"" + }, + "PrettyTooltipTemplate" + ], + ButtonFunction :> + With[ { RSNB`nb$ = ButtonNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 1887802176716758884; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + + DefinitionNotebookClient`$ClickedButton = + "Insert Delimiter"; + + DefinitionNotebookClient`DelimiterInsert[] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[1887802176716758884] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + FrameMargins -> {{4, 4}, {0, 0}}, + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue[Enabled], + FEPrivate`If[ + CurrentValue["MouseOver"], + { + FontColor -> GrayLevel[1], + TaggingRules -> {"ButtonHovering" -> True} + }, + { + FontColor -> RGBColor[0.10588, 0.27059, 0.37255], + TaggingRules -> {"ButtonHovering" -> False} + } + ], + { + FontColor -> RGBColor[0.77647, 0.81765, 0.84314], + TaggingRules -> {"ButtonHovering" -> False} + } + ], + Evaluator -> "System" + ], + Appearance -> { + "Default" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJche4+e6pyzIrq80zAsD4KAbKAIUJwYQx48fFTS\nM0vaNR4XAsoC1eAx5PCpc9ZxJUCVan7pbXNXbT969tnrtxAEZANFgOJAWaAa\noEqshgDNh5gQUtL+6MVrrKEHFAfKQsyBuwfZEIgvgGoIRgTEHKB6NEOAIQbx\nBS43oLkH4i9IOMMNAYY8UBDoa4ImQABQJVA9UBeyIcAYBAoCQ49IQ4AqgeqB\nuoB6IakRyACmBKAgMBaINASoEqgeqAtiCBBQbghVXPKfemFCldihSjqhSoql\nVt6hSi6mVnkCBxSWbGQAghHxn7jSHgAhWAlh\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Hover" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJche4+e6pyzIrq80zAsD4KAbKAIUJwYQx48fFTS\nM0vaNR4XAsoC1eAx5PCpc9ZxJUCVcp7Jhqmt1iXTXZuWQxCQDRQBigNlgWqA\nKrEaAjQfYoJ6WLFL4zKvzg2YCCgOlIWYA3cPsiEQXwDVYNWOjCDmANWjGQIM\nMYgvcLkBzT0Qf0HCGW4IMOSBgkBfEzQBgoAqgeqBupANAcYgyKcl04k0BKgS\nqB6oC6gXkhqBDGBKAAoCY4FIQ4AqQS4Py4MYAgSUG0IVl1AxTKgSO1RJJ1RJ\nsdTKO1TJxdQqT+CAwpKNDEBMMU5MaQ8AQJMCGA==\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Pressed" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJchr1+//vjx4/fv3//AAJANFAGKE2PI8+fPv3z5\ngsfZQFmgGjyGvHr16vfv30CR779+rzp+q3ndybhpOyEIyAaKAMWBskA1QJVY\nDQGaDzHh0sPXiTN2eXVuwERAcaAsxBy4e5ANgfgCqAardmQEMQeoHs0QYIhB\nfIHLDWjugfgLEs5wQ4AhD2QAfU3QBAgCqgSqB+pCNgQYg0AGMPSINASoEuTy\n79+BeiGpEcgApgQgAxgLRBoCVAlUD9QFMQQIKDeEKi6hYphQJXaokk6okmKp\nlXeokoupVZ7AAYUlGxkAj7PhgJjSHgDbEuv0\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ] + }, + Background -> GrayLevel[0.9], + Method -> "Queued", + ImageSize -> {All, 20}, + Evaluator -> Automatic + ], + FrameStyle -> + Directive[GrayLevel[0.9], AbsoluteThickness[2]], + FrameMargins -> -1, + ContentPadding -> False, + StripOnInput -> False + ], + ActionMenuBox[ + FrameBox[ + ButtonBox[ + TemplateBox[ + { + StyleBox[ + TemplateBox[ + { + "\"Tables\"", + "\"\[ThinSpace]\[ThinSpace]\[ThinSpace]\[FilledDownTriangle]\"" + }, + "RowDefault" + ], + "Text", + FontFamily -> "Source Sans Pro", + FontSize -> 11, + StripOnInput -> False + ], + "\"Table functions\"" + }, + "PrettyTooltipTemplate" + ], + ButtonFunction :> + With[ { RSNB`nb$ = ButtonNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 3216557251994556740; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = HoldForm[Null] + ] + ], + DefinitionNotebookClient`ButtonCodeID[3216557251994556740] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + FrameMargins -> {{4, 4}, {0, 0}}, + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue[Enabled], + FEPrivate`If[ + CurrentValue["MouseOver"], + { + FontColor -> GrayLevel[1], + TaggingRules -> {"ButtonHovering" -> True} + }, + { + FontColor -> RGBColor[0.10588, 0.27059, 0.37255], + TaggingRules -> {"ButtonHovering" -> False} + } + ], + { + FontColor -> RGBColor[0.77647, 0.81765, 0.84314], + TaggingRules -> {"ButtonHovering" -> False} + } + ], + Evaluator -> "System" + ], + Appearance -> { + "Default" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJche4+e6pyzIrq80zAsD4KAbKAIUJwYQx48fFTS\nM0vaNR4XAsoC1eAx5PCpc9ZxJUCVan7pbXNXbT969tnrtxAEZANFgOJAWaAa\noEqshgDNh5gQUtL+6MVrrKEHFAfKQsyBuwfZEIgvgGoIRgTEHKB6NEOAIQbx\nBS43oLkH4i9IOMMNAYY8UBDoa4ImQABQJVA9UBeyIcAYBAoCQ49IQ4AqgeqB\nuoB6IakRyACmBKAgMBaINASoEqgeqAtiCBBQbghVXPKfemFCldihSjqhSoql\nVt6hSi6mVnkCBxSWbGQAghHxn7jSHgAhWAlh\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Hover" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJche4+e6pyzIrq80zAsD4KAbKAIUJwYQx48fFTS\nM0vaNR4XAsoC1eAx5PCpc9ZxJUCVcp7Jhqmt1iXTXZuWQxCQDRQBigNlgWqA\nKrEaAjQfYoJ6WLFL4zKvzg2YCCgOlIWYA3cPsiEQXwDVYNWOjCDmANWjGQIM\nMYgvcLkBzT0Qf0HCGW4IMOSBgkBfEzQBgoAqgeqBupANAcYgyKcl04k0BKgS\nqB6oC6gXkhqBDGBKAAoCY4FIQ4AqQS4Py4MYAgSUG0IVl1AxTKgSO1RJJ1RJ\nsdTKO1TJxdQqT+CAwpKNDEBMMU5MaQ8AQJMCGA==\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Pressed" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJchr1+//vjx4/fv3//AAJANFAGKE2PI8+fPv3z5\ngsfZQFmgGjyGvHr16vfv30CR779+rzp+q3ndybhpOyEIyAaKAMWBskA1QJVY\nDQGaDzHh0sPXiTN2eXVuwERAcaAsxBy4e5ANgfgCqAardmQEMQeoHs0QYIhB\nfIHLDWjugfgLEs5wQ4AhD2QAfU3QBAgCqgSqB+pCNgQYg0AGMPSINASoEuTy\n79+BeiGpEcgApgQgAxgLRBoCVAlUD9QFMQQIKDeEKi6hYphQJXaokk6okmKp\nlXeokoupVZ7AAYUlGxkAj7PhgJjSHgDbEuv0\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ] + }, + Background -> GrayLevel[0.9], + Method -> "Queued", + ImageSize -> {All, 20}, + Evaluator -> Automatic + ], + FrameStyle -> + Directive[GrayLevel[0.9], AbsoluteThickness[2]], + FrameMargins -> -1, + ContentPadding -> False, + StripOnInput -> False + ], + { + "\"Insert table with two columns\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 5800166344906378520; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Tables"; + + DefinitionNotebookClient`$ClickedAction = + "Insert table with two columns"; + + DefinitionNotebookClient`TableInsert[2] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[5800166344906378520] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + "\"Insert table with three columns\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + DefinitionNotebookClient`$ButtonCodeID = 533841403879783297; + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Tables"; + + DefinitionNotebookClient`$ClickedAction = + "Insert table with three columns"; + + DefinitionNotebookClient`TableInsert[3] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[533841403879783297] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + "\"Add a row to the selected table\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 4413051590217973467; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Tables"; + + DefinitionNotebookClient`$ClickedAction = + "Add a row to the selected table"; + + DefinitionNotebookClient`TableRowInsert[] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[4413051590217973467] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + "\"Sort the selected table\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 9150037060110806081; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Tables"; + + DefinitionNotebookClient`$ClickedAction = + "Sort the selected table"; + + DefinitionNotebookClient`TableSort[] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[9150037060110806081] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + "\"Merge selected tables\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 2347719643166780208; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Tables"; + + DefinitionNotebookClient`$ClickedAction = + "Merge selected tables"; + + DefinitionNotebookClient`TableMerge[] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[2347719643166780208] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ] + }, + Appearance -> None, + Method -> "Queued" + ], + ActionMenuBox[ + FrameBox[ + ButtonBox[ + StyleBox[ + TemplateBox[ + { + "\"Cells\"", + "\"\[ThinSpace]\[ThinSpace]\[ThinSpace]\[FilledDownTriangle]\"" + }, + "RowDefault" + ], + "Text", + FontFamily -> "Source Sans Pro", + FontSize -> 11, + StripOnInput -> False + ], + ButtonFunction :> + With[ { RSNB`nb$ = ButtonNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 3216557251994556740; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = HoldForm[Null] + ] + ], + DefinitionNotebookClient`ButtonCodeID[3216557251994556740] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + FrameMargins -> {{4, 4}, {0, 0}}, + BaseStyle -> + Dynamic[ + FEPrivate`If[ + CurrentValue[Enabled], + FEPrivate`If[ + CurrentValue["MouseOver"], + { + FontColor -> GrayLevel[1], + TaggingRules -> {"ButtonHovering" -> True} + }, + { + FontColor -> RGBColor[0.10588, 0.27059, 0.37255], + TaggingRules -> {"ButtonHovering" -> False} + } + ], + { + FontColor -> RGBColor[0.77647, 0.81765, 0.84314], + TaggingRules -> {"ButtonHovering" -> False} + } + ], + Evaluator -> "System" + ], + Appearance -> { + "Default" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJche4+e6pyzIrq80zAsD4KAbKAIUJwYQx48fFTS\nM0vaNR4XAsoC1eAx5PCpc9ZxJUCVan7pbXNXbT969tnrtxAEZANFgOJAWaAa\noEqshgDNh5gQUtL+6MVrrKEHFAfKQsyBuwfZEIgvgGoIRgTEHKB6NEOAIQbx\nBS43oLkH4i9IOMMNAYY8UBDoa4ImQABQJVA9UBeyIcAYBAoCQ49IQ4AqgeqB\nuoB6IakRyACmBKAgMBaINASoEqgeqAtiCBBQbghVXPKfemFCldihSjqhSoql\nVt6hSi6mVnkCBxSWbGQAghHxn7jSHgAhWAlh\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Hover" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJche4+e6pyzIrq80zAsD4KAbKAIUJwYQx48fFTS\nM0vaNR4XAsoC1eAx5PCpc9ZxJUCVcp7Jhqmt1iXTXZuWQxCQDRQBigNlgWqA\nKrEaAjQfYoJ6WLFL4zKvzg2YCCgOlIWYA3cPsiEQXwDVYNWOjCDmANWjGQIM\nMYgvcLkBzT0Qf0HCGW4IMOSBgkBfEzQBgoAqgeqBupANAcYgyKcl04k0BKgS\nqB6oC6gXkhqBDGBKAAoCY4FIQ4AqQS4Py4MYAgSUG0IVl1AxTKgSO1RJJ1RJ\nsdTKO1TJxdQqT+CAwpKNDEBMMU5MaQ8AQJMCGA==\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Pressed" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqA4BllAJchr1+//vjx4/fv3//AAJANFAGKE2PI8+fPv3z5\ngsfZQFmgGjyGvHr16vfv30CR779+rzp+q3ndybhpOyEIyAaKAMWBskA1QJVY\nDQGaDzHh0sPXiTN2eXVuwERAcaAsxBy4e5ANgfgCqAardmQEMQeoHs0QYIhB\nfIHLDWjugfgLEs5wQ4AhD2QAfU3QBAgCqgSqB+pCNgQYg0AGMPSINASoEuTy\n79+BeiGpEcgApgQgAxgLRBoCVAlUD9QFMQQIKDeEKi6hYphQJXaokk6okmKp\nlXeokoupVZ7AAYUlGxkAj7PhgJjSHgDbEuv0\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ] + }, + Background -> GrayLevel[0.9], + Method -> "Queued", + ImageSize -> {All, 20}, + Evaluator -> Automatic + ], + FrameStyle -> + Directive[GrayLevel[0.9], AbsoluteThickness[2]], + FrameMargins -> -1, + ContentPadding -> False, + StripOnInput -> False + ], + { + "\"Insert comment for reviewer\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 2572781756330727330; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Cells"; + + DefinitionNotebookClient`$ClickedAction = + "Insert comment for reviewer"; + + DefinitionNotebookClient`CommentInsert[] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[2572781756330727330] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + "\"Mark/unmark selected cells as comments\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 3646530685697756512; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Cells"; + + DefinitionNotebookClient`$ClickedAction = + "Mark/unmark selected cells as comments"; + + DefinitionNotebookClient`CommentToggle[] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[3646530685697756512] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + "\"Mark/unmark selected cells as excluded\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 1866935765212102190; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Cells"; + + DefinitionNotebookClient`$ClickedAction = + "Mark/unmark selected cells as excluded"; + + DefinitionNotebookClient`ExclusionToggle[] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[1866935765212102190] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ] + }, + Appearance -> None, + Method -> "Queued" + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Center}}}, + AutoDelete -> False, + GridBoxBackground -> {"Columns" -> {{None}}, "Rows" -> {GrayLevel[0.9]}}, + GridBoxFrame -> { + "Columns" -> False, + "RowsIndexed" -> {1 -> GrayLevel[0.9]} + }, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {5, {0.5}, 5}, "Rows" -> {{Automatic}}}, + FrameStyle -> GrayLevel[0.75] + ], + "Grid" + ], + ButtonBoxOptions -> { + Enabled -> + Dynamic[ + Not[TrueQ[DefinitionNotebookClient`$ButtonsDisabled]], + TrackedSymbols :> {DefinitionNotebookClient`$ButtonsDisabled} + ] + }, + StripOnInput -> False + ] + ]) + } + ], + Cell[ + StyleData["MainGridTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + StyleBox[ + TagBox[ + GridBox[ + { + { + TagBox[ + GridBox[ + { + { + GraphicsBox[ + { + Thickness[0.02963], + StyleBox[ + { + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBWIWIGZigIIGBQcwfUAPQjOoYuc3CDugqIfxGTQg9ANj\nqLgOdj66erh5+lD7oPYwGGHno6uH86H2PDCA6jPFzkdXD+M7mENpLai4JXY+\nunogHwDQSSTa\n " + ] + ] + }, + {FaceForm[RGBColor[1.0, 1.0, 1.0, 1.0]]}, + StripOnInput -> False + ], + StyleBox[ + { + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + { + { + {0.75, 1.875}, + {33.0, 1.875}, + {33.0, 0.375}, + {0.75, 0.375} + }, + { + {27.0, 19.875}, + {29.25, 19.875}, + {29.25, 4.875}, + {27.0, 4.875} + }, + { + {3.0, 4.125}, + {30.75, 4.125}, + {30.75, 2.625}, + {3.0, 2.625} + }, + { + {16.875, 32.625}, + {0.0, 24.375}, + {0.0, 22.875}, + {33.75, 22.875}, + {33.75, 24.375} + }, + {{3.75, 24.375}, {16.875, 30.75}, {30.0, 24.375}}, + { + {25.5, 22.125}, + {30.75, 22.125}, + {30.75, 20.625}, + {25.5, 20.625} + }, + { + {4.5, 19.875}, + {6.75, 19.875}, + {6.75, 4.875}, + {4.5, 4.875} + }, + { + {3.0, 22.125}, + {8.25, 22.125}, + {8.25, 20.625}, + {3.0, 20.625} + } + } + ] + }, + {FaceForm[RGBColor[0.843, 0.847, 0.847, 1.0]]}, + StripOnInput -> False + ] + }, + { + ImageSize -> {Automatic, 32}, + ImagePadding -> {{5, 0}, {0, 0}}, + BaselinePosition -> Scaled[0.25], + Background -> RGBColor[0.2902, 0.53725, 0.6902], + ImageSize -> {45.0, Automatic}, + PlotRange -> {{0.0, 33.75}, {0.0, 33.0}}, + AspectRatio -> Automatic + } + ], + StyleBox[ + TagBox[ + GridBox[ + { + { + StyleBox[ + "\"Data Resource\"", + FontFamily -> "Source Sans Pro", + FontWeight -> "SemiBold", + StripOnInput -> False + ], + StyleBox[ + "\"DEFINITION NOTEBOOK\"", + FontFamily -> "Source Sans Pro", + FontTracking -> "SemiCondensed", + FontVariations -> {"CapsType" -> "AllSmallCaps"}, + StripOnInput -> False + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Baseline}}}, + AutoDelete -> False, + GridBoxDividers -> { + "ColumnsIndexed" -> {2 -> RGBColor[1.0, 1.0, 1.0]}, + "Rows" -> {{None}} + }, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}} + ], + "Grid" + ], + FontSize -> 24, + FontColor -> RGBColor[1.0, 1.0, 1.0], + StripOnInput -> False + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Baseline}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}} + ], + "Grid" + ], + "\[SpanFromLeft]", + "\[SpanFromLeft]", + "\[SpanFromLeft]", + "\[SpanFromLeft]", + "\[SpanFromLeft]", + "\[SpanFromLeft]", + TemplateBox[ + { + StyleBox[ + TemplateBox[ + {"\"Data Repository\"", "\" \[RightGuillemet] \""}, + "RowDefault" + ], + "Text", + FontColor -> RGBColor[1.0, 1.0, 1.0], + StripOnInput -> False + ], + "https://datarepository.wolframcloud.com/" + }, + "HyperlinkURL" + ] + }, + { + TemplateBox[ + { + TemplateBox[ + { + "\"Open Sample\"", + "\"View a completed sample definition notebook\"" + }, + "PrettyTooltipTemplate" + ], + Function[ + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 4393071033038384034; + + (DefinitionNotebookClient`$ClickedButton = "Open Sample"; + DefinitionNotebookClient`ViewExampleNotebook[ + ButtonNotebook[] + ]), + DefinitionNotebookClient`ButtonCodeID[4393071033038384034] + ] + ], + "\"View a completed sample definition notebook\"", + False + }, + "OrangeButtonTemplate" + ], + TemplateBox[ + { + TemplateBox[ + { + "\"Style Guidelines\"", + "\"View general guidelines for authoring data resources\"" + }, + "PrettyTooltipTemplate" + ], + Function[ + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 5906117565281445171; + + ( + DefinitionNotebookClient`$ClickedButton = + "Style Guidelines"; + + DefinitionNotebookClient`ViewStyleGuidelines[ + ButtonNotebook[] + ]), + DefinitionNotebookClient`ButtonCodeID[5906117565281445171] + ] + ], + "\"View general guidelines for authoring data resources\"", + False + }, + "OrangeButtonTemplate" + ], + TemplateBox[ + { + TemplateBox[ + { + TagBox[ + GridBox[ + { + { + "\"Tools\"", + PaneSelectorBox[ + { + False -> + GraphicsBox[ + { + RGBColor[1.0, 1.0, 1.0], + AbsoluteThickness[1.0], + LineBox[{{0, 0}, {0, 10}, {10, 10}, {10, 0}, {0, 0}}], + LineBox[{{5, 2.5}, {5, 7.5}}], + LineBox[{{2.5, 5}, {7.5, 5}}] + }, + ImageSize -> 12, + PlotRangePadding -> 1.5 + ], + True -> + GraphicsBox[ + { + RGBColor[1.0, 1.0, 1.0], + AbsoluteThickness[1.0], + LineBox[{{0, 0}, {0, 10}, {10, 10}, {10, 0}, {0, 0}}], + LineBox[{{2.5, 5}, {7.5, 5}}] + }, + ImageSize -> 12, + PlotRangePadding -> 1.5 + ] + }, + Dynamic[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "ToolsOpen"}, + True + ] + ], + BaselinePosition -> Scaled[0.05] + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Automatic}}, "Rows" -> {{Baseline}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{0.35}}} + ], + "Grid" + ], + "\"Toggle documentation toolbar\"" + }, + "PrettyTooltipTemplate" + ], + Function[ + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 5074018684552945401; + + (DefinitionNotebookClient`$ClickedButton = "Tools"; + DefinitionNotebookClient`ToggleToolbar[ButtonNotebook[]]), + DefinitionNotebookClient`ButtonCodeID[5074018684552945401] + ] + ], + "\"Toggle documentation toolbar\"", + False + }, + "OrangeButtonTemplate" + ], + TagBox[ + GridBox[ + {{"\"\"", "\"\""}}, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Center}}}, + AutoDelete -> False, + GridBoxDividers -> {"ColumnsIndexed" -> {2 -> True}, "Rows" -> {{False}}}, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{2}}}, + GridBoxSpacings -> {"Columns" -> {{0.5}}}, + FrameStyle -> RGBColor[0.6451, 0.76863, 0.8451] + ], + "Grid" + ], + ActionMenuBox[ + TemplateBox[ + { + TemplateBox[ + { + TemplateBox[ + { + "\"Check\"", + TemplateBox[{5}, "Spacer1"], + "\"\[FilledDownTriangle]\"" + }, + "RowDefault" + ], + "\"Check notebook for potential errors\"" + }, + "PrettyTooltipTemplate" + ], + Function[ + Annotation[ + DefinitionNotebookClient`$ButtonCodeID = + 1898445052439169298;, + DefinitionNotebookClient`ButtonCodeID[1898445052439169298] + ] + ], + "\"Check notebook for potential errors\"", + True + }, + "OrangeButtonTemplate" + ], + { + "\"Check Definition Notebook\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$SuppressDynamicEvents = True, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ProgressIndicator[Appearance -> "Necklace"]; + + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 7315505126975123932; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Check"; + + DefinitionNotebookClient`$ClickedAction = + "Check Definition Notebook"; + + DefinitionNotebookClient`CheckDefinitionNotebook[ + ButtonNotebook[] + ] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[7315505126975123932] + ], + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ""; + + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + "\"Check Data\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$SuppressDynamicEvents = True, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ProgressIndicator[Appearance -> "Necklace"]; + + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 5678342563549764489; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Check"; + DefinitionNotebookClient`$ClickedAction = "Check Data"; + DataResource`DefinitionNotebook`CheckDataDefinitions[ + ButtonNotebook[] + ] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[5678342563549764489] + ], + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ""; + + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + "\"Check All\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$SuppressDynamicEvents = True, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ProgressIndicator[Appearance -> "Necklace"]; + + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 7222533872454612108; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Check"; + DefinitionNotebookClient`$ClickedAction = "Check All"; + ( + DefinitionNotebookClient`CheckDefinitionNotebook[ + ButtonNotebook[] + ]; + + DataResource`DefinitionNotebook`CheckDataDefinitions[ + ButtonNotebook[] + ]) + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[7222533872454612108] + ], + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ""; + + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ] + }, + Appearance -> None, + Method -> "Queued" + ], + ActionMenuBox[ + TemplateBox[ + { + TemplateBox[ + { + "\"Deploy\"", + TemplateBox[{5}, "Spacer1"], + "\"\[FilledDownTriangle]\"" + }, + "RowDefault" + ], + Function[ + Annotation[ + DefinitionNotebookClient`$ButtonCodeID = + 1898445052439169298;, + DefinitionNotebookClient`ButtonCodeID[1898445052439169298] + ] + ], + "\"\"", + True + }, + "OrangeButtonTemplate" + ], + { + "\"Locally on this computer\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$SuppressDynamicEvents = True, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ProgressIndicator[Appearance -> "Necklace"]; + + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 8714502586816766511; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Deploy"; + + DefinitionNotebookClient`$ClickedAction = + "Locally on this computer"; + + DefinitionNotebookClient`DisplayStripe[ + ButtonNotebook[], + DefinitionNotebookClient`DeployResource[ + ButtonNotebook[], + "Local" + ] + ] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[8714502586816766511] + ], + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ""; + + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + "\"For my cloud account\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$SuppressDynamicEvents = True, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ProgressIndicator[Appearance -> "Necklace"]; + + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 1389539917011878958; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Deploy"; + + DefinitionNotebookClient`$ClickedAction = + "For my cloud account"; + + DefinitionNotebookClient`DisplayStripe[ + ButtonNotebook[], + DefinitionNotebookClient`DeployResource[ + ButtonNotebook[], + "CloudPrivate" + ] + ] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[1389539917011878958] + ], + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ""; + + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + "\"Publicly in the cloud\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$SuppressDynamicEvents = True, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ProgressIndicator[Appearance -> "Necklace"]; + + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 5593410685219912767; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Deploy"; + + DefinitionNotebookClient`$ClickedAction = + "Publicly in the cloud"; + + DefinitionNotebookClient`DisplayStripe[ + ButtonNotebook[], + DefinitionNotebookClient`DeployResource[ + ButtonNotebook[], + "CloudPublic" + ] + ] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[5593410685219912767] + ], + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ""; + + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + "\"In this session only (without documentation)\"" :> + With[ { RSNB`nb$ = InputNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$SuppressDynamicEvents = True, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ProgressIndicator[Appearance -> "Necklace"]; + + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 8586347731213964380; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + DefinitionNotebookClient`$ClickedButton = "Deploy"; + + DefinitionNotebookClient`$ClickedAction = + "In this session only (without documentation)"; + + DefinitionNotebookClient`DisplayStripe[ + ButtonNotebook[], + DefinitionNotebookClient`DeployResource[ + ButtonNotebook[], + "KernelSession" + ] + ] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[8586347731213964380] + ], + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ""; + + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ] + }, + Appearance -> None, + Method -> "Queued" + ], + ItemBox[ + StyleBox[ + DynamicBox[ + ToBoxes[ + CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "StatusMessage"}, + "" + ], + StandardForm + ], + Initialization :> + (CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "StatusMessage"} + ] = + "") + ], + "Text", + GrayLevel[1], + StripOnInput -> False + ], + ItemSize -> Fit, + StripOnInput -> False + ], + DynamicBox[ + ToBoxes[ + If[ CurrentValue[ + EvaluationNotebook[], + {TaggingRules, "SubmissionReviewData", "Review"}, + False + ], + RawBoxes[ + TemplateBox[ + { + TemplateBox[ + { + TagBox[ + GridBox[ + { + { + GraphicsBox[ + { + Thickness[0.06349], + StyleBox[ + { + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBWIWIGZigIEX9mCqQd8Bwv+Bnc/A54CiHs5HV6/ngJUP\np2HmwdTp4FCHTvOhqYfZrw2lhdDk0fno6tHcD1PPwOSAnY+uns8BAE8cGz4=\n\n " + ] + ] + }, + {FaceForm[RGBColor[1.0, 1.0, 1.0]]}, + StripOnInput -> False + ], + StyleBox[ + { + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgB2IWIGZigAEJBwjNB6EblHHwX9ijqofxoeoYhKC0Bg4+\nHw4apk4Uap8aDr4QDhqqDu4uVRx8URw0TJ001D5lHHwJHDRUHYMclFbCwZfG\nQUPVNSjgp+HmIWgAG/wcEg==\n " + ] + ], + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + CompressedData[ + "\n1:eJx10EEKgCAQhWGpFtEyEAYGggQj6RKeoSMErbuCR0/IWfTgCcPwy7fR9XrO\nu3fOTXWGOp2zM+ZvH2170nv+e2sFH0ijt45/XxJp9NgRPHYAb63kHhu9tf2H\neU8aPfbS9kxawAvxnrSCx3c3XzbS6JX4RFrAS34B53ckaw==\n " + ] + ] + }, + {FaceForm[RGBColor[1.0, 1.0, 1.0]]}, + StripOnInput -> False + ] + }, + ImageSize -> 15, + PlotRange -> {{0.0, 15.75}, {0.0, 16.5}}, + AspectRatio -> 1.15 + ], + "\"Submit Update\"" + } + }, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Center}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> { + "Columns" -> {{0}}, + "ColumnsIndexed" -> {2 -> 0.5}, + "Rows" -> {{0}} + } + ], + "Grid" + ], + "\"Submit changes to update your data submission\"" + }, + "PrettyTooltipTemplate" + ], + Function[ + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 3196298050911436087; + + (DefinitionNotebookClient`$ClickedButton = "SubmitUpdate"; + With[ { RSNB`nb = ButtonNotebook[] }, + DefinitionNotebookClient`DisplayStripe[ + RSNB`nb, + DefinitionNotebookClient`SubmitRepositoryUpdate[RSNB`nb], + "ShowProgress" -> True + ] + ]), + DefinitionNotebookClient`ButtonCodeID[3196298050911436087] + ] + ], + "\"Submit changes to update your data submission\"", + True + }, + "OrangeButtonTemplate" + ] + ], + RawBoxes[ + TemplateBox[ + { + TemplateBox[ + { + TagBox[ + GridBox[ + { + { + GraphicsBox[ + { + Thickness[0.06349], + StyleBox[ + { + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBWIWIGZigIEX9mCqQd8Bwv+Bnc/A54CiHs5HV6/ngJUP\np2HmwdTp4FCHTvOhqYfZrw2lhdDk0fno6tHcD1PPwOSAnY+uns8BAE8cGz4=\n\n " + ] + ] + }, + {FaceForm[RGBColor[1.0, 1.0, 1.0]]}, + StripOnInput -> False + ], + StyleBox[ + { + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgB2IWIGZigAEJBwjNB6EblHHwX9ijqofxoeoYhKC0Bg4+\nHw4apk4Uap8aDr4QDhqqDu4uVRx8URw0TJ001D5lHHwJHDRUHYMclFbCwZfG\nQUPVNSjgp+HmIWgAG/wcEg==\n " + ] + ], + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + CompressedData[ + "\n1:eJx10EEKgCAQhWGpFtEyEAYGggQj6RKeoSMErbuCR0/IWfTgCcPwy7fR9XrO\nu3fOTXWGOp2zM+ZvH2170nv+e2sFH0ijt45/XxJp9NgRPHYAb63kHhu9tf2H\neU8aPfbS9kxawAvxnrSCx3c3XzbS6JX4RFrAS34B53ckaw==\n " + ] + ] + }, + {FaceForm[RGBColor[1.0, 1.0, 1.0]]}, + StripOnInput -> False + ] + }, + ImageSize -> 15, + PlotRange -> {{0.0, 15.75}, {0.0, 16.5}}, + AspectRatio -> 1.15 + ], + "\"Submit to Repository\"" + } + }, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Center}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> { + "Columns" -> {{0}}, + "ColumnsIndexed" -> {2 -> 0.5}, + "Rows" -> {{0}} + } + ], + "Grid" + ], + "\"Submit your data to the Wolfram Data Repository\"" + }, + "PrettyTooltipTemplate" + ], + Function[ + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 3704832848557640569; + + (DefinitionNotebookClient`$ClickedButton = "Submit"; + With[ { RSNB`nb = ButtonNotebook[] }, + DefinitionNotebookClient`DisplayStripe[ + RSNB`nb, + DefinitionNotebookClient`SubmitRepository[RSNB`nb], + "ShowProgress" -> True + ] + ]), + DefinitionNotebookClient`ButtonCodeID[3704832848557640569] + ] + ], + "\"Submit your data to the Wolfram Data Repository\"", + True + }, + "OrangeButtonTemplate" + ] + ] + ], + StandardForm + ], + Evaluator -> "System", + SingleEvaluation -> True + ] + } + }, + GridBoxAlignment -> { + "Columns" -> {{Left}}, + "ColumnsIndexed" -> {-1 -> Right}, + "Rows" -> {{Center}} + }, + AutoDelete -> False, + GridBoxBackground -> { + "Columns" -> {{None}}, + "Rows" -> { + RGBColor[0.2902, 0.53725, 0.6902], + RGBColor[0.16078, 0.40392, 0.56078] + } + }, + GridBoxFrame -> { + "Columns" -> False, + "RowsIndexed" -> { + 1 -> RGBColor[0.2902, 0.53725, 0.6902], + 2 -> RGBColor[0.16078, 0.40392, 0.56078] + } + }, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> { + "Columns" -> {5, {0.9}, 5}, + "RowsIndexed" -> {1 -> 1.1, 2 -> 1.3, 3 -> 0.25} + }, + FrameStyle -> RGBColor[0.2902, 0.53725, 0.6902] + ], + "Grid" + ], + ButtonBoxOptions -> { + Enabled -> + Dynamic[ + Not[TrueQ[DefinitionNotebookClient`$ButtonsDisabled]], + TrackedSymbols :> {DefinitionNotebookClient`$ButtonsDisabled} + ] + }, + StripOnInput -> False + ] + ]) + } + ], + Cell[ + StyleData["ReviewerCommentLabelTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + TagBox[ + GridBox[ + { + { + #1, + TemplateBox[ + { + GraphicsBox[ + { + Thickness[0.02963], + StyleBox[ + { + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBWIWIGZigIIGBQcwfUAPQjOoYuc3CDugqIfxGTQg9ANj\nqLgOdj66erh5+lD7oPYwGGHno6uH86H2PDCA6jPFzkdXD+M7mENpLai4JXY+\nunogHwDQSSTa\n " + ] + ] + }, + {FaceForm[RGBColor[1.0, 1.0, 1.0, 1.0]]}, + StripOnInput -> False + ], + StyleBox[ + { + FilledCurveBox[ + { + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, + {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}} + }, + { + { + {0.75, 1.875}, + {33.0, 1.875}, + {33.0, 0.375}, + {0.75, 0.375} + }, + { + {27.0, 19.875}, + {29.25, 19.875}, + {29.25, 4.875}, + {27.0, 4.875} + }, + { + {3.0, 4.125}, + {30.75, 4.125}, + {30.75, 2.625}, + {3.0, 2.625} + }, + { + {16.875, 32.625}, + {0.0, 24.375}, + {0.0, 22.875}, + {33.75, 22.875}, + {33.75, 24.375} + }, + {{3.75, 24.375}, {16.875, 30.75}, {30.0, 24.375}}, + { + {25.5, 22.125}, + {30.75, 22.125}, + {30.75, 20.625}, + {25.5, 20.625} + }, + { + {4.5, 19.875}, + {6.75, 19.875}, + {6.75, 4.875}, + {4.5, 4.875} + }, + { + {3.0, 22.125}, + {8.25, 22.125}, + {8.25, 20.625}, + {3.0, 20.625} + } + } + ] + }, + {FaceForm[RGBColor[0.843, 0.847, 0.847, 1.0]]}, + StripOnInput -> False + ] + }, + { + ImageSize -> 12, + Background -> None, + ImageSize -> {45.0, Automatic}, + PlotRange -> {{0.0, 33.75}, {0.0, 33.0}}, + AspectRatio -> Automatic + } + ], + "Wolfram Data Repository Reviewer" + }, + "PrettyTooltipTemplate" + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Automatic}}, "Rows" -> {{Center}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{0.25}}} + ], + "Grid" + ] + ]) + } + ], + Cell[ + StyleData["CommentReplyIcon"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + Thickness[0.076923], + FaceForm[{#1, Opacity[1.0]}], + FilledCurveBox[ + {{{0, 2, 0}, {0, 1, 0}}}, + {{{1.5, 7.5}, {6.5, 11.5}, {6.5, 3.5}}} + ], + FilledCurveBox[ + { + { + {1, 4, 3}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3} + } + }, + CompressedData[ + "\n1:eJw9U2tIVEEUvq5iVkttZmdfuo/ZbQukJGKVqPBLUTGJ0h9hVLIJRYhUVJj2\nAjGRWCKiF0llZWRCSEnZExEJ06CotaiQyH7EIrthT3u6NXPn3jswnDlzzzlz\nvu8711u9vWJzsqIoSXwv5tuk6IsgrQvOnLf+1CRC5ZKbg3WJAIJV90rNJoJF\nXOR6sebI6W3pyXq8DxccIoGwa+uxj/v/McxNbTxZOJ3w4Rkb+ZVgWGk2ZbcQ\nYfm0V+07Jhm6St7vzVhI2JfBT78ZCkI8cj2hqe/xxaIJJm0PoWEssCgtzvCc\nlzlYYwXP5iUYHpXlHV4xasXLeh4wyKCWX2fDqcJwbfQ+w4F83vGQDT1fJ1/U\ndzJ842bsih1XB3hiI0NzrPyOq9mBPb1tjpyNDBXci5U7MVQnLhji4nMsE+9W\nc6ARL3i3XSWbXNiiLi8EzPxbbqydsaD73LgHJ2wp/OiFoKVJ8Ui+Chha6M3T\nH8NZUMPm+XB9p8h0QtATjvtxqUh0SBgV76QHZN+lszReA5pNQ66o1+8HV6O3\nrdWCBIcTuKHxHJ4NQdO1sx4Nxxy4VYBug2dVt4lMnB/vGCi7TSgWz/504Etk\nVbXlNSGkCmWHqFYbJXziYXlT7VKXEdLq2DDMwyvvksTZZ5W4OgiCjmCVFTUP\ndh+3HSKJ8y9hqUogIfqn83PkCUndQoTLQsZ2gpperL3fQJLXIMEn5F5GaD3D\nl50g2O3OIkhiCUf7v8/fMJOMuRPTmT2FjLlU+0ghY471+dV93epzr/sPPaJz\nu3Ev65sNX/8//gP5Ei2u\n " + ] + ] + }, + AspectRatio -> Automatic, + ImageSize -> {13.0, 13.0}, + PlotRange -> {{0.0, 13.0}, {0.0, 13.0}} + ] + ]) + } + ], + Cell[ + StyleData["CommentCellLabelTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + StyleBox[ + TagBox[ + GridBox[ + { + {StyleBox[#1, FontSize -> 11], "\[SpanFromLeft]"}, + { + StyleBox[ + DynamicBox[ + ToBoxes[ + DateString[ + TimeZoneConvert[DateObject[#2, TimeZone -> 0]], + { + "Month", + "/", + "Day", + "/", + "Year", + " ", + "Hour24", + ":", + "Minute" + } + ], + StandardForm + ], + SingleEvaluation -> True + ], + FontSize -> 9 + ], + ItemBox[ + ButtonBox[ + TagBox[ + StyleBox[ + TemplateBox[ + { + "\"Reply \[RightGuillemet]\"", + StyleBox["\"Reply \[RightGuillemet]\"", "HyperlinkActive"], + BaseStyle -> "Hyperlink" + }, + "MouseoverTemplate" + ], + FontSize -> 9 + ], + MouseAppearanceTag["LinkHand"] + ], + BaseStyle -> "Hyperlink", + ButtonFunction :> + (SelectionMove[ParentCell[EvaluationCell[]], After, Cell]; + DefinitionNotebookClient`CommentInsert[]), + Evaluator -> Automatic, + Method -> "Queued" + ], + Alignment -> Right + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Left}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{Automatic}}, "Rows" -> {{0}}} + ], + "Grid" + ], + "CommentLabel", + ShowStringCharacters -> False + ] + ]) + } + ], + Cell[ + StyleData["OrangeButtonTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + FrameBox[ + ButtonBox[ + StyleBox[ + #1, + "Text", + FontFamily -> "Source Sans Pro", + FontWeight -> "SemiBold", + FontTracking -> "Condensed", + FontSize -> 13, + FontColor -> + Dynamic[ + FEPrivate`If[ + CurrentValue[Enabled], + GrayLevel[1], + RGBColor[0.77647, 0.81765, 0.84314] + ], + Evaluator -> "System" + ], + StripOnInput -> False + ], + ButtonFunction :> + With[ { RSNB`nb$ = ButtonNotebook[] }, + + If[ #4, + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ProgressIndicator[Appearance -> "Necklace"] + ]; + + + With[ { RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 3145484069433207908; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = HoldForm[#2[]] + ] + ], + DefinitionNotebookClient`ButtonCodeID[3145484069433207908] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ]; + + CurrentValue[RSNB`nb$, {TaggingRules, "StatusMessage"}] = + ""; + ], + FrameMargins -> {{5, 5}, {0, 0}}, + Appearance -> { + "Default" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqAQDO9nxI0+A3RSO1VDq9U8M+T9UiFICAbKAIUJ9IQtbhm\nWc9Uadd4TAQUB8oSNASoBqt2ZIRmDpohQNficgOae5D9hWYI0NcETYAgoEpc\nhgBDj0hDgCrhuiCpEc4FxgKRhgBVIhsCBJQbQhWXUD1MqBI7VEknVEmx1Mo7\n1MrFpKLBZgh+QExpDwCSuadO\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Hover" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqAQDO9nxI0+A3RyphgWT7foW6Ze+taCAKygSJAcSINMcqf\n7ta6xqtzAyYCigNlCRoCVINVOzJCMwfNEKBrcbkBzT3I/kIzBOhrgiZAEFAl\nLkOAoUekIUCVcF2Q1AjnAmOBSEOAKpENAQLKDaGKS6geJlSJHaqkE6qkWGrl\nHWrlYlLRYDMEPyCmtAcACbcv5Q==\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ], + "Pressed" -> + Image[ + CompressedData[ + "\n1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRIz\nUFAcikHs/4QAMWqAQDO9nxKEy5DQtmVdaw7tOX/nxbvPEARkA0WA4sQYYpAz\neeGec3icDZQFqsFjiF/jorvP3wJFvv38ver4reZ1J+Om7YQgIBsoAhQHygLV\nAFViNQRoPsSESw9fJ87Y5dW5ARMBxYGyEHPg7kE2BOILoBqs2pERxBygejRD\ngCEG8QUuN6C5B+IvSDjDDQGGPJAB9DVBEyAIqBKoHqgL2RBgDAIZwNAj0hCg\nSqB6oC6gXkhqBDKAKQHIAMYCkYYAVQLVA3VBDAECyg2hikuoGCZUiR2qpBOq\npFhq5R2q5GJqlSfUKtnILmPxA2JKewBFU/Kd\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 144, + Interleaving -> True + ] + }, + Background -> RGBColor[0.16078, 0.40392, 0.56078], + Method -> "Queued", + ImageSize -> {All, 23}, + Evaluator -> Automatic + ], + FrameStyle -> + Directive[ + RGBColor[0.16078, 0.40392, 0.56078], + AbsoluteThickness[2] + ], + FrameMargins -> -1, + ContentPadding -> False, + StripOnInput -> False + ] + ]) + } + ], + Cell[ + StyleData["SuggestionGridTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + StyleBox[ + FrameBox[ + AdjustmentBox[ + TagBox[ + GridBox[ + { + { + TemplateBox[ + {#2, #3, {16.0, 16.0}, {{1.0, 17.0}, {1.0, 17.0}}}, + "SuggestionIconTemplate" + ], + PaneBox[ + #1, + ImageSizeAction -> "ShrinkToFit", + BaselinePosition -> Baseline, + ImageSize -> Full + ], + RowBox[ + { + AdjustmentBox[ + TemplateBox[ + { + ActionMenuBox[ + TagBox[ + PaneSelectorBox[ + { + False -> + GraphicsBox[ + { + EdgeForm[Directive[GrayLevel[1, 0], Thickness[0.025]]], + FaceForm[#4], + RectangleBox[{-1.75, -2}, {1.75, 2}, RoundingRadius -> 0.2], + Thickness[0.15], + #5, + LineBox[{{-0.5, -1.0}, {0.5, 0.0}, {-0.5, 1.0}}] + }, + ImageSize -> {Automatic, 15}, + ImageMargins -> 0 + ], + True -> + GraphicsBox[ + { + EdgeForm[Directive[#5, Thickness[0.025]]], + FaceForm[#2], + RectangleBox[{-1.75, -2}, {1.75, 2}, RoundingRadius -> 0.2], + Thickness[0.15], + GrayLevel[1], + LineBox[{{-0.5, -1.0}, {0.5, 0.0}, {-0.5, 1.0}}] + }, + ImageSize -> {Automatic, 15}, + ImageMargins -> 0 + ] + }, + Dynamic[CurrentValue["MouseOver"]], + ImageSize -> Automatic, + FrameMargins -> 0 + ], + MouseAppearanceTag["LinkHand"] + ], + #6, + Appearance -> None, + Method -> "Queued" + ], + "\"View suggestions\"" + }, + "PrettyTooltipTemplate" + ], + BoxBaselineShift -> -0.5 + ], + " " + } + ] + } + }, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Baseline}}}, + AutoDelete -> False, + GridBoxItemSize -> { + "Columns" -> {Automatic, Automatic, Fit}, + "Rows" -> {{Automatic}} + }, + GridBoxSpacings -> {"Columns" -> {{0.4}}} + ], + "Grid" + ], + BoxMargins -> {{0.25, -0.5}, {0.15, -0.15}} + ], + RoundingRadius -> {13, 75}, + Background -> #4, + FrameStyle -> None, + FrameMargins -> {{0, 8}, {0, 0}}, + ImageMargins -> {{0, 0}, {5, 5}}, + StripOnInput -> False + ], + "Text", + FontColor -> #5, + FontSize -> 14, + FontFamily -> "Source Sans Pro", + FontWeight -> "SemiBold", + FontTracking -> "Plain", + PrivateFontOptions -> {"OperatorSubstitution" -> False}, + LineBreakWithin -> False + ] + ]) + } + ], + Cell[ + StyleData["SuggestionIconTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + Thickness[0.055556], + StyleBox[ + { + FilledCurveBox[ + { + { + {1, 4, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + } + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBGJJIGZigIIGAwcIQ8kBxk94ekHp9k9Vh8qXaoYcOfoO\nm+a+X37stKZDTP+hrxpzdOA0TBymDqYPl7n2pnG7PHlk4Pw5RxQ2FGWIwPWD\njI3p54WbLxuVYn3fnwluD8S8H/Yo9gD5KPYA+TB7YPph9sDMh9EwcZg6FPdh\nMRfdXpi7YPph7oaZD/MXzB5c4QCzBwA/Dn+d\n " + ] + ] + }, + FaceForm[#1] + ], + StyleBox[ + { + FilledCurveBox[ + { + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0} + }, + { + {1, 4, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + } + }, + { + { + {8.1753, 7.4169}, + {7.7969, 11.308}, + {7.7969, 13.38}, + {10.12, 13.38}, + {10.12, 11.308}, + {9.7415, 7.4169}, + {8.1753, 7.4169} + }, + CompressedData[ + "\n1:eJxTTMoPSmViYGCQBGIQDQFKDg+rRNa5P+RzKPOXE8vSVYTz8z+0ngxpVHCA\nqBNwmPd++THv7/IO8q2vA3fICTpUvlQz5Hgj52DLdX1xga2QQxoYyDmcYLed\nHTpfGM6/k8GQ3+giCue7M1dwq7wQg+vnmbyyKdBTAm6+tsTUK5wZknD7Pec2\nqB1qk4K772Y8iCXtAHM/jP/bquBcxyUEfyJ/ldnqOmW4/qw9JZMlWFTg5tfa\nm8bt6lSB23/2DAiowN0H48PcD+PD/AfTD/M/zHxY+MDsh4UfzH2w8EUPfwD5\nN5G6\n " + ] + } + ] + }, + FaceForm[#2] + ] + }, + ImageSize -> #3, + PlotRange -> #4, + AspectRatio -> Automatic, + BaselinePosition -> Scaled[0.1] + ] + ]) + } + ], + Cell[ + StyleData["FormEditValuesButtonTemplate"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + TemplateBox[ + { + TagBox[ + PaneBox[ + PaneSelectorBox[ + { + False -> + GraphicsBox[ + TagBox[ + RasterBox[ + CompressedData[ + "\n1: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\nN3kqZvY=\n " + ], + {{0, 50.0}, {50.0, 0}}, + {0, 255}, + ColorFunction -> GrayLevel + ], + BoxForm`ImageTag[ + "Byte", + ColorSpace -> "Grayscale", + Interleaving -> True + ], + Selectable -> False + ], + DefaultBaseStyle -> "ImageGraphics", + ImageSizeRaw -> {50.0, 50.0}, + PlotRange -> {{0, 50.0}, {0, 50.0}} + ], + True -> + GraphicsBox[ + TagBox[ + RasterBox[ + CompressedData[ + "\n1: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\nDcvuuIyle//vxt/PCE6d\n " + ], + {{0, 50.0}, {50.0, 0}}, + {0, 255}, + ColorFunction -> GrayLevel + ], + BoxForm`ImageTag[ + "Byte", + ColorSpace -> "Grayscale", + Interleaving -> True + ], + Selectable -> False + ], + DefaultBaseStyle -> "ImageGraphics", + ImageSizeRaw -> {50.0, 50.0}, + PlotRange -> {{0, 50.0}, {0, 50.0}} + ] + }, + Dynamic[CurrentValue["MouseOver"]], + ImageSize -> Automatic, + FrameMargins -> 0 + ], + ImageSize -> {Automatic, 15}, + ImageSizeAction -> "ResizeToFit" + ], + MouseAppearanceTag["LinkHand"] + ], + "\"Edit values\"" + }, + "PrettyTooltipTemplate" + ] + ]) + } + ], + Cell[ + StyleData["HintPodTitleBar"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + GrayLevel[0.97], + FilledCurveBox[ + BezierCurve[ + { + Offset[{0, -3}, {1, 1}], + Offset[{0, -1.3443}, {1, 1}], + Offset[{-1.3443, 0}, {1, 1}], + Offset[{-3, 0}, {1, 1}], + Offset[{-3, 0}, {1, 1}], + Offset[{3, 0}, {-1, 1}], + Offset[{3, 0}, {-1, 1}], + Offset[{1.3443, 0}, {-1, 1}], + Offset[{0, -1.3443}, {-1, 1}], + Offset[{0, -3}, {-1, 1}], + Offset[{0, -3}, {-1, 1}], + {-1, -1}, + {-1, -1}, + {-1, -1}, + {1, -1}, + {1, -1} + } + ] + ], + InsetBox[ + FormBox[ + StyleBox[ + "\"Notebook Analysis\"", + FontColor -> GrayLevel[0.4], + FontColor -> GrayLevel[0.4], + FontFamily -> "Source Sans Pro", + FontWeight -> Plain, + FontSize -> 13, + StripOnInput -> False + ], + TraditionalForm + ], + Offset[{8, 0}, {-1, 0}], + NCache[ImageScaled[{0, 1/2}], ImageScaled[{0, 0.5}]] + ], + TagBox[ + TagBox[ + TooltipBox[ + { + GrayLevel[0.6], + DiskBox[Offset[{-13, -10}, {1, 1}], Offset[6]], + GrayLevel[0.97], + AbsoluteThickness[1.5], + CapForm["Round"], + LineBox[ + { + {Offset[{-15, -8}, {1, 1}], Offset[{-11, -12}, {1, 1}]}, + {Offset[{-15, -12}, {1, 1}], Offset[{-11, -8}, {1, 1}]} + } + ] + }, + FrameBox[ + StyleBox[ + "\"Close analysis pod\"", + "Text", + FontColor -> RGBColor[0.53725, 0.53725, 0.53725], + FontSize -> 12, + FontWeight -> "Plain", + FontTracking -> "Plain", + StripOnInput -> False + ], + Background -> RGBColor[0.96078, 0.96078, 0.96078], + FrameStyle -> RGBColor[0.89804, 0.89804, 0.89804], + FrameMargins -> 8, + StripOnInput -> False + ], + TooltipDelay -> 0.1, + TooltipStyle -> {Background -> None, CellFrame -> 0} + ], + Annotation[#1, "Close analysis pod", "Tooltip"] & + ], + EventHandlerTag[ + { + "MouseClicked" :> NotebookDelete[EvaluationCell[]], + Method -> "Preemptive", + PassEventsDown -> Automatic, + PassEventsUp -> True + } + ] + ] + }, + AspectRatio -> Full, + ImageSize -> {Full, 20}, + PlotRange -> {{-1, 1}, {-1, 1}}, + ImageMargins -> {{0, 0}, {0, 0}}, + ImagePadding -> {{0, 0}, {0, 0}} + ] + ]) + } + ], + Cell[ + StyleData["HintPodDelimiterTop"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + AbsoluteThickness[1], + GrayLevel[0.85], + CapForm["Round"], + LineBox[{{-1, 0}, {1, 0}}] + }, + AspectRatio -> Full, + PlotRange -> {{-1, 1}, {-1, 1}}, + ImagePadding -> {{0, 0}, {0, 0}}, + ImageSize -> {Full, 2}, + BaselinePosition -> Scaled[0.1], + ImageMargins -> {{0, 0}, {4, 0}} + ] + ]) + } + ], + Cell[ + StyleData["HintPodDelimiterBottom"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + AbsoluteThickness[1], + GrayLevel[0.85], + CapForm["Round"], + LineBox[{{-1, 0}, {1, 0}}] + }, + AspectRatio -> Full, + PlotRange -> {{-1, 1}, {-1, 1}}, + ImagePadding -> {{0, 0}, {0, 0}}, + ImageSize -> {Full, 2}, + BaselinePosition -> Scaled[0.1], + ImageMargins -> {{0, 0}, {0, 4}} + ] + ]) + } + ], + Cell[ + StyleData["HintPodFooter"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + GrayLevel[0.97], + FilledCurveBox[ + BezierCurve[ + { + {-1, 1}, + {-1, 1}, + Offset[{0, 3}, {-1, -1}], + Offset[{0, 3}, {-1, -1}], + Offset[{0, 1.3443}, {-1, -1}], + Offset[{1.3443, 0}, {-1, -1}], + Offset[{3, 0}, {-1, -1}], + Offset[{3, 0}, {-1, -1}], + Offset[{-3, 0}, {1, -1}], + Offset[{-3, 0}, {1, -1}], + Offset[{-1.3443, 0}, {1, -1}], + Offset[{0, 1.3443}, {1, -1}], + Offset[{0, 3}, {1, -1}], + Offset[{0, 3}, {1, -1}], + {1, 1}, + {1, 1} + } + ] + ], + InsetBox[ + BoxData[ + FormBox[ + TemplateBox[ + { + StyleBox[ + TemplateBox[{3}, "Spacer1"], + FontColor -> GrayLevel[0.4], + FontFamily -> "Source Sans Pro", + FontWeight -> Plain, + FontSize -> 12, + StripOnInput -> False + ], + StyleBox[ + #1, + FontColor -> GrayLevel[0.4], + FontFamily -> "Source Sans Pro", + FontWeight -> Plain, + FontSize -> 12, + StripOnInput -> False + ], + StyleBox[ + TemplateBox[{5}, "Spacer1"], + FontColor -> GrayLevel[0.4], + FontFamily -> "Source Sans Pro", + FontWeight -> Plain, + FontSize -> 12, + StripOnInput -> False + ] + }, + "RowDefault" + ], + TraditionalForm + ] + ], + Offset[{5, 2.5}, {-1, 0}], + {-1, 0} + ] + }, + AspectRatio -> Full, + ImageSize -> {Full, 21}, + PlotRange -> {{-1, 1}, {-1, 1}}, + ImageMargins -> {{0, 0}, {0, 3}}, + ImagePadding -> {{0, 0}, {0, 0}} + ] + ]) + } + ], + Cell[ + StyleData["HintPodMenuItems"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + TemplateBox[ + { + #1, + FrameMargins -> 3, + Background -> GrayLevel[1], + RoundingRadius -> 0, + FrameStyle -> + Directive[ + AbsoluteThickness[1], + RGBColor[0.75686, 0.82745, 0.88235] + ], + ImageMargins -> #2 + }, + "Highlighted" + ] + ]) + } + ], + Cell[ + StyleData["HintPodActionMenuItem"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + ButtonBox[ + TemplateBox[ + { + TagBox[ + GridBox[ + {{#1, TemplateBox[{7}, "Spacer1"], #2}}, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{0}}} + ], + "Grid" + ], + FrameStyle -> None, + RoundingRadius -> 0, + FrameMargins -> {{5, 2}, {2, 2}}, + ImageSize -> Full, + ImageMargins -> {{0, 0}, {0, 0}}, + Background -> + Dynamic[ + If[ CurrentValue["MouseOver"], + GrayLevel[0.96], + GrayLevel[1.0] + ] + ] + }, + "Highlighted" + ], + ButtonFunction :> ReleaseHold[#3], + Appearance -> { + "Default" -> + Image[ + CompressedData[ + "1:eJxTTMoPSmNiYGAo5gESfqW5qUWZyY5FRYmVScxAARhmAeL/QAClwDQDBPxHFg8WALJC84oz0/NSUzzzSlLTU4ssAL+sIf8=" + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> {72, 72}, + Interleaving -> True + ], + "Hover" -> + Image[ + CompressedData[ + "1:eJxTTMoPSmNiYGAo5gESfqW5qUWZyY5FRYmVScxAARhmAeL/QAClwDQDBPxHFg8WALJC84oz0/NSUzzzSlLTU4ssAL+sIf8=" + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> {72, 72}, + Interleaving -> True + ], + "Pressed" -> + Image[ + CompressedData[ + "1:eJxTTMoPSmNiYGAo5gESfqW5qUWZyY5FRYmVScxAARhmAeL/QAClwDQDBPxHFg8WALJC84oz0/NSUzzzSlLTU4ssAL+sIf8=" + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> {72, 72}, + Interleaving -> True + ] + }, + Method -> "Queued", + Evaluator -> Automatic + ] + ]) + } + ], + Cell[ + StyleData["HintPodDisabledMenuItem"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + ButtonBox[ + TemplateBox[ + { + TagBox[ + GridBox[ + { + { + #1, + TemplateBox[{7}, "Spacer1"], + StyleBox[#2, FontOpacity -> 0.4] + } + }, + GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{0}}} + ], + "Grid" + ], + FrameStyle -> None, + RoundingRadius -> 0, + FrameMargins -> {{5, 2}, {2, 2}}, + ImageSize -> Full, + ImageMargins -> {{0, 0}, {0, 0}}, + Background -> GrayLevel[1.0] + }, + "Highlighted" + ], + ButtonFunction :> Null, + Appearance -> { + "Default" -> + Image[ + CompressedData[ + "1:eJxTTMoPSmNiYGAo5gESfqW5qUWZyY5FRYmVScxAARhmAeL/QAClwDQDBPxHFg8WALJC84oz0/NSUzzzSlLTU4ssAL+sIf8=" + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> {72, 72}, + Interleaving -> True + ], + "Hover" -> + Image[ + CompressedData[ + "1:eJxTTMoPSmNiYGAo5gESfqW5qUWZyY5FRYmVScxAARhmAeL/QAClwDQDBPxHFg8WALJC84oz0/NSUzzzSlLTU4ssAL+sIf8=" + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> {72, 72}, + Interleaving -> True + ], + "Pressed" -> + Image[ + CompressedData[ + "1:eJxTTMoPSmNiYGAo5gESfqW5qUWZyY5FRYmVScxAARhmAeL/QAClwDQDBPxHFg8WALJC84oz0/NSUzzzSlLTU4ssAL+sIf8=" + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> {72, 72}, + Interleaving -> True + ] + }, + Method -> "Queued", + Evaluator -> Automatic, + Enabled -> False + ] + ]) + } + ], + Cell[ + StyleData["HintPodActionLabel"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + PaneBox[ + StyleBox[ + #1, + FontColor -> GrayLevel[0.2], + FontFamily -> "Source Sans Pro", + FontWeight -> Plain, + FontSize -> 13, + LineIndent -> 0, + StripOnInput -> False + ], + FrameMargins -> 0, + ImageMargins -> 0, + BaselinePosition -> Baseline, + ImageSize -> Full + ] + ]) + } + ], + Cell[ + StyleData["HintPodMenuDelimiter"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + PaneBox[ + StyleBox[ + GraphicsBox[ + { + CapForm["Round"], + GrayLevel[0.9], + AbsoluteThickness[1], + LineBox[{{-1, 0}, {1, 0}}] + }, + AspectRatio -> Full, + PlotRange -> {{-1, 1}, {-1, 1}}, + ImageMargins -> {{0, 0}, {2, 2}}, + ImagePadding -> {{5, 5}, {0, 0}}, + ImageSize -> {Full, 2} + ], + LineIndent -> 0, + StripOnInput -> False + ], + FrameMargins -> 0, + ImageMargins -> 0, + BaselinePosition -> Baseline, + ImageSize -> Full + ] + ]) + } + ], + Cell[ + StyleData["HintPodIconChevron"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + GrayLevel[0.2], + AbsoluteThickness[1.8], + CapForm["Round"], + JoinForm["Miter"], + LineBox[{{-0.5, 1}, {0.5, 0}, {-0.5, -1}}] + }, + AspectRatio -> Full, + BaselinePosition -> Bottom, + ImageMargins -> {{0, 4}, {0, 0}}, + ImageSize -> {5.6, 7.7} + ] + ]) + } + ], + Cell[ + StyleData["HintPodIconPopOut"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + FaceForm[GrayLevel[0.4]], + FilledCurveBox[ + { + { + {1, 4, 3}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3} + } + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBGIlIGYC4h1yra8Dd6g4rHN/WCWip+KwRiYqxXq+isNk\nCZYwvlwEDROHqYPpKwUrUHFgAIEDKg5nzwDBG2VU/hlluPogMEMCzm9kOdpv\naC6OJi/mINR84NRCVwQfIq8M519wufHhi5Yymn4lNPOVHNLAQBHO/6YR03/o\nK5eDB9Ab69wFHJoeHZ+xexqng8r0/xPqfvM5cG9dVnl8JacD0FO6m+byOPxL\n/f4kUZHbQZr3ge4EBW6HD2IeAX9m8Dhkzyqfs2gxp8ONxmK3Kd/4HOYsUt75\np50Tbi6YesgF9b8ShJ+oCOfD3Anjw/zx9JP8pXx7hD9h4QfjqxtyAKNCBU0e\nEY4wPqr5iHh4/nvlx0tnVRyYObvkk98pOwA9+X75MRUHWWD03udHxCssngGf\nXO7X\n " + ] + ] + }, + AspectRatio -> Automatic, + ImageSize -> {14.0, 14.0}, + PlotRange -> {{0.0, 13.62}, {0.0, 13.62}} + ] + ]) + } + ], + Cell[ + StyleData["HintPodIconWrench"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + GrayLevel[0.4], + AbsoluteThickness[1], + Opacity[1.0], + JoinedCurveBox[ + { + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3} + } + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBGJRIGYCYmWv6mZ9n3/2cmJZvp/5BBzci37yv9wu6/Au\nysnuhaQynG8at8uT55AGXJwBDHQdPl3yTRKIUIfzo1Ks7/vzajiosjVOdfbW\nccjaUzJZokUFrv8ySLmlqoPbts9/r1iowsVh6mD6zp4BAh4NnPbA3AHTr+ss\n8/rRNoS7YXyYv2D+7H/ySf5SPrdD7D/nX29ff7H/6hXZZnGNGc6HqYPRMPED\nb+bZ6FxBqAPpOprL7YAefgCtVISU\n " + ], + CurveClosed -> {1} + ] + }, + AspectRatio -> Automatic, + BaselinePosition -> Scaled[0.2], + ImagePadding -> 0.5, + ImageSize -> {16.0, 16.0}, + PlotRange -> {{0.0, 16.0}, {0.0, 16.0}} + ] + ]) + } + ], + Cell[ + StyleData["HintPodIconInfo"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + FaceForm[GrayLevel[0.4]], + FilledCurveBox[ + { + {{1, 4, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}}, + { + {1, 4, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + }, + { + {1, 4, 3}, + {0, 1, 0}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3} + } + }, + { + { + {6.81, 13.0}, + {3.3914, 13.0}, + {0.62, 10.229}, + {0.62, 6.81}, + {0.62, 3.3914}, + {3.3914, 0.62}, + {6.81, 0.62}, + {10.229, 0.62}, + {13.0, 3.3914}, + {13.0, 6.81}, + {13.0, 10.229}, + {10.229, 13.0}, + {6.81, 13.0} + }, + CompressedData[ + "\n1:eJxTTMoPSmViYGCQB2IQbct1fXGBrbRD6+vAHXKtvA7r3B9WiayTdoCI8zgc\n/qoR039IHkoLOjCAgYKDB0iZu4CDPFijgsOsmSDAC1UnCzWPE0rLQMXZHV6x\nmAia1Ug56E1Y8MMwjdXh685bXX9VJRx4Jq9sCvRkcTh7BgREHfoPgTSwOAQB\ndb8OFHYAO4eLFeo+IQcRMIMLzoe4h9dBW2LqFc4MYYd4zdMCx38JOviYdzom\npIo4PJgjuHSvo6jDkgKQz0QdCsEelHDQjAHZJAa1VxIqLwH3Jzofok8S4i9W\nRQews67LQsJhnoKDMRjIQ9Q3wMJJwQFMJULDSRJmrhzUPKh6Blmof+QcwM6K\nkXb4Bgq2rzJQcXFovMhA5UUdciqqluo0SztsKMqY+NZG2OHV1E08hTrSDquA\noTmXQdABPX4BaWq/EA==\n " + ], + { + {8.81, 9.79}, + {8.8101, 9.5122}, + {8.5878, 9.2854}, + {8.31, 9.28}, + {7.51, 9.28}, + {7.2283, 9.28}, + {7.0, 9.5083}, + {7.0, 9.79}, + {7.0, 10.62}, + {7.0054, 10.898}, + {7.2322, 11.12}, + {7.51, 11.12}, + {8.35, 11.12}, + {8.6239, 11.115}, + {8.8447, 10.894}, + {8.85, 10.62} + } + } + ] + }, + AspectRatio -> Automatic, + ImagePadding -> 0.5, + ImageSize -> {14.0, 14.0}, + PlotRange -> {{0.0, 13.62}, {0.0, 13.62}} + ] + ]) + } + ], + Cell[ + StyleData["HintPodIconNone"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { }, + AspectRatio -> Automatic, + ImageSize -> {16.0, 16.0}, + PlotRange -> {{0.0, 16.0}, {0.0, 16.0}}, + BaselinePosition -> Scaled[0.2], + ImagePadding -> 0.5 + ] + ]) + } + ], + Cell[ + StyleData["HintPodIconIgnoreAlways"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + EdgeForm[None], + FaceForm[GrayLevel[0.4]], + FilledCurveBox[ + { + { + {0, 2, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + } + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBGJTIGYCYpF17g+rROQcbLmuLy6wlXaoBguoOvQf+qoR\nw6/i8CZwh1zralWH4oyJb2vsVRx0N819v/yYqoO0/l0VtkYEv/U1UOFRBP/D\n8mPe5pyqcP0z8oSaD3ipws2H0famcbs8fVQd2BqnOnevUXUAa+dWdUgSiLDc\nckLVwQPounXHVeB8kK1TmxH8gN7peULOKnD9EP+owM2H+QvmzyUFIBEeuHxC\nmb+c2CtuuP75NjpXZj3jgpsP0s11nRPO5+feuqzyOAec73dxYsy/w+xw/WDr\nuNjh5n9MPhPr7cEG93+V2Wq78Nus8PCB8WHhB+PDwhemHxb+MPNh8ZMGBhJw\nf8Lkv2nEAJXwOGyu/rQh4DWrwwrTs9Z+F7kdvHiYtNunsTrYgrwpy+XQteHh\ny6lGbA6HxNWCWRdzOJwKObhiyTk2B3fmCm4VDXaouRwOEaeMjmzUY4OHhybI\neA02eHgt/GH4bJ0qm4PT+bSrz4Hh+Z0tfobPVDZ4eIOVx7DD3QlzNwMYIPx1\nsmzffCl9FUg4u7M5hPEBU1S+isPs0Pmr195gdTAGgc0qUHewOswDJhfv7yoO\n/g7CiYcvszoAU9vrQAtVh6V+QAFnNqg9iHj5dMk3SWAGIt78wBGJiFcYH+ZP\nGB/mT5h+WLqBmQ/zJwC4F0s3\n " + ] + ] + }, + AspectRatio -> Automatic, + ImageMargins -> {{0, 0}, {0, 2}}, + ImageSize -> {14.0, 14.0}, + PlotRange -> {{-0.5, 13.62}, {-0.5, 13.62}} + ] + ]) + } + ], + Cell[ + StyleData["HintPodIconIgnoreInCell"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + EdgeForm[None], + FaceForm[GrayLevel[0.4]], + FilledCurveBox[ + { + { + {0, 2, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0} + }, + {{0, 2, 0}, {0, 1, 0}} + }, + { + { + {11.69, 13.37}, + {7.57, 13.37}, + {7.57, 12.37}, + {7.76, 12.37}, + {11.19, 8.93}, + {11.19, 1.25}, + {7.57, 1.25}, + {7.57, 0.25}, + {12.19, 0.25}, + {12.19, 13.37} + }, + {{9.17, 12.37}, {11.17, 12.37}, {11.17, 10.37}} + } + ], + FilledCurveBox[ + { + { + {0, 2, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + } + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBGIjIGYCYo+HVSLr3EUdbLmuLy6wlXZYUgBiyTlAxJUc\nkt9FOdllyDuU6yrKf1mD4LM879F466sMV28MApuVHX7yv9y+3lkOQj9WdngU\nIb794gFZh/Dojfvf/FN22CHX+jrQAsHvf/JJ/tJ6GTgfbI+ODFz/2TMgIA03\nvxroqodVQg5gSkQO6m4mVPubGR1E7I/d2fpE2cHy2tFckwYGB2n9uypsjCoO\nYG89/GcP4wd5zm1QO/QHzr9wNeyN/u5f9jD9kHD4aQ8zX+z36XcnD3+3v8fE\n2SXfrOygvqBzw8OX3+yDQAxHBB/srr9KcL7mW959BjuV4PrnCi7de7BcCW4+\nLLwhND88PmDyEHcLOjg2PTo+Y/d3+/21shbpLYIOTglPLyjd/mZ//wH35JVM\nCD4knATgfL0JC34YPuOH688Nq1237REf3HzNmP5DXzX4HLhVNOp6dv6yP3xZ\nO1UyiRcePrlH/22q/sQDD79vGiANPA5yy1946NUzOOy61fU39TuPw5GNenmL\nGxkdwPal8cLjB2Y+LP7SwEDCgQEMZODyf7+VPpgTKOOw9ldM7tE6XgfmCqCL\n9sk43PfvnZ4nxAuJZ2NZB5j9UV933uraK+swf/XaG/HfeCDudZJzuA1yTgov\nPH3CzBcAJg/mdHmHVElQyuSH851lXj8ykxKEq4eFNwCKHGBr\n " + ] + ] + }, + AspectRatio -> Automatic, + ImageMargins -> {{0, 0}, {0, 2}}, + ImageSize -> {14.0, 14.0}, + PlotRange -> {{-0.5, 13.62}, {-0.5, 13.62}} + ] + ]) + } + ], + Cell[ + StyleData["HintPodIconIgnoreInNotebook"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + FaceForm[GrayLevel[0.4]], + FilledCurveBox[ + { + { + {0, 2, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + } + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBGJTIGYC4qAdcq2vAwUcbLmuLy6wFXdYUgBiSTp4PKwS\nWeeu4GCgtVL4AouUw1zBpXsPlis4vDlgqexlLeWg+ZZ3n8FOBB+s/y+CH6S+\noHODoyJc/z0mzi75ZkW4+cYgsFnRoanYbco3N0kHEftjd7Y+UXRYeM3kvcVR\nCYeQx0tnH2FQgroLwb9pWxmxYqs4nP9zQfrmV8bicP0g1VzXxeDmf9OI6T/0\nlcsB6Bmgj6QcGMDggz1MvoTnRNz7f2/sf/K/3L7+saLDzmCriP/PX9iHR2/c\n/+YfzL1P4Pz+Xoc96+IfwPkrVqZm1068AdcPtAxo4yW4+ccenln/jOGkPcz/\nMjWJRqEGh+xh4QPjw8IPxoeFL0w/LPxh5sPiB0KzwuNPHhibO+Su2h8GKTvE\n7aAYeYAl7+5Z+/rfVgXnOLgdPu6qO5h345j9voPiasGsXHA+JJw44Hy9CQt+\nGD5jh+vPDatdt+0RG9x8TZByDTYH/uky5V7st+21JaZe4cxgdZgp5PnFqOuh\nvQY/99ZlP1kcIO54CjWfxeFeX0HUh0Uv7bdEft15i4vVoa2/Q3Oiy1t77Xax\nm+fKWeHxAzMfFn9pYCACj1+YfMeX29cbgfF/+LJ2qmQSKzx95B79t6n6Ews8\n/cDsB3O5JB1Upv+fUPebxeHIRr28xQeB6e+Cy40PX1gdnjTPO7uKX8qh/8kn\n+Uv57A4sYXy6m2KlHDjBCY3DwV9OLMvXGJjeda7MejaXC56eYeENAPSkchE=\n\n " + ] + ], + FilledCurveBox[ + { + { + {0, 2, 0}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {0, 1, 0}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3} + } + }, + CompressedData[ + "\n1:eJxTTMoPSmVmYGBgBGJdIGYC4qAdcq2vL6o52HJdX1ywVwtC24rB+YdTViWE\nXBKE86tF1rk/rOJxMAaBzxpwPkReDY2vCDVPCMpXhvPB+jerwfnPf6/8eOms\nukPDdoemR+wiUHkNuHtgfJh7YXy2xqnO3W/U0eQ14ObB+DD7YHzNmP5DXzWY\n4PzY3KP/NlX/toeZBxYP/GIPsw/GBzuHSxrOX7TF/MchFSkH9g9iHgF/Ptmb\nvrdwdTeSdNjZywYU+WQPcb8E1B+f7H8EP146m0XcYeE1E6DKT/Z9IGUXRB02\nV3/aEJD92R5s7A4Rh1kzQeCr/YQFPwyfvRN2+Put9MEcwe/2894vP+ZtLuxw\n3793ep7QT3uIOiEHkC651t/2YH8a80LtY3NA5TPB+RPrflsVnPtkL/8lJ6xW\nT8jhTSDYo1DzxOB8BjBQh/O/aQADzlQTTV4bbh6MD7MPxoeFfwDI2czaDmfP\ngAA0nCdqOTglPL2gdFvDweNhlci645oO8iAPzdOEmPNXw+EPMDp9k7Qc4nZ5\n8jC9VncAG39KywE9/QIAH6UuJw==\n " + ] + ], + FilledCurveBox[ + {{{0, 2, 0}, {1, 3, 3}, {0, 1, 0}, {0, 1, 0}}}, + { + { + {5.63, 11.05}, + {5.63, 10.44}, + {6.0569, 10.539}, + {6.5048, 10.49}, + {6.9, 10.3}, + {9.53, 10.3}, + {9.53, 11.05} + } + } + ], + FilledCurveBox[ + {{{1, 4, 3}, {0, 1, 0}, {0, 1, 0}}}, + { + { + {7.92, 3.73}, + {8.0396, 3.4994}, + {8.0784, 3.2353}, + {8.03, 2.98}, + {9.41, 2.98}, + {9.41, 3.73} + } + } + ], + FilledCurveBox[ + {{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}}}, + { + { + {6.73, 6.21}, + {6.2, 5.82}, + {6.67, 5.46}, + {11.22, 5.46}, + {11.22, 6.21}, + {6.73, 6.21} + } + } + ], + FilledCurveBox[ + {{{1, 4, 3}, {0, 1, 0}, {0, 1, 0}}}, + { + { + {8.0, 8.7}, + {8.0514, 8.4458}, + {8.0162, 8.1818}, + {7.9, 7.95}, + {10.25, 7.95}, + {10.25, 8.7} + } + } + ] + }, + AspectRatio -> Automatic, + ImagePadding -> 0.75, + ImageSize -> {15.0, 15.0}, + PlotRange -> {{0.0, 13.62}, {0.0, 13.62}} + ] + ]) + } + ], + Cell[ + StyleData["HintPodIconHint"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + GraphicsBox[ + { + EdgeForm[None], + FaceForm[#1], + FilledCurveBox[ + { + {{1, 4, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}}, + { + {1, 4, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + }, + { + {0, 2, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {0, 1, 0}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3}, + {1, 3, 3} + } + }, + { + { + {9.015, 17.37}, + {4.4559, 17.37}, + {0.76, 13.645}, + {0.76, 9.05}, + {0.76, 4.455}, + {4.4559, 0.73}, + {9.015, 0.73}, + {13.574, 0.73}, + {17.27, 4.455}, + {17.27, 9.05}, + {17.27, 13.645}, + {13.574, 17.37}, + {9.015, 17.37} + }, + CompressedData[ + "\n1:eJxTTMoPSmViYGCQBGIQbcixRiYqRcVh3bak+pu23A5rf8XkHt2n7OC/fkpq\nx2MOB8+5DWqHnik5nP8e/HjpbHYHj4dVIuvYlRyAiisjVrA78Bau6b6toegQ\nApQ9soDdQepAtIJjoILDJ8fzaVefczgs6Nzw8GWoPNx84yMb9fIeyzr831T9\nacMFXod1N+LL/OVkHV5uX8/8/IyAw7Fck4btDrIOZQ/mCC7dK+TAXMGtomEn\n6/DP+dfb1w0iDkIi9sfufJV1ePRy6iYeQzGHac7dOc+t5R3SwEDcwe7FzTW/\nbBQc9kybwF+1TcLh7TwbnStSig7Hd+3oZSuQdDjab1iuy6jk0MIL8qGkg8f+\nWlmL50oO9uHRG/fnSDr4fu4LLjmi7HDw1ELXbZslHGDhAzO//9BXjRh+VQeG\niXW/rQzEHKzv+/dOz1N1uFfY1fekSMRhzhGFDUUZqhB/LhaCmFOs6sC0h1VI\nZL+Ag8g6d2AIqjqYCJrZ7L3E64Ae/gDrrapT\n " + ], + CompressedData[ + "\n1:eJxTTMoPSmViYGBQBGIQ/emSb5KAhJoDAwg0aDhYbjlRtu++isNudX7urWpK\nDrX2pnG7Tqo4TFPsKy2sVnRQvv2zLqtGBULfUXAI6J2eJ8Ss4mDSsN2hKUnB\nIa0jOfZOmrKD/l0Vtsar8g5Gz9apPlms5GDgs4zLLVXeweLHoZRVDxQdnNdm\n3ivskneQW/7CQ09e0aHEbco3tnh5h+jLex6LxCo4FErzPtC9IO+wVfT36Xed\n8nDzH5tJHYheIOeQBxJ4pOCgu2nu++Vscg75Qs0HTjUqOjDkN7IcPS/rcObd\nycNOukoObqqlTLM4ZOD+O7JRL2/xQWkHHibtdrFITYeb8WX+ctOkHQ6eWui6\nzVjLQfD4rh29bdIO/Ye+asTwazuAnJswRdohaIdc6+uL2g6qbI1TnbtlHGy5\nri8uqNVxEIgAhtg3WYj5B3QcgKEkzcsAdOfS2UcUDHQdEp5eULotqehw89z3\n4Mepug63pGsSjUyVHMr3zZfSj9V1uKKdKvkoQtmhOGPi25p6XQeQ8p91KhB9\nlroOIGH7UlWH+qw9JZNn6EDs54bGF4OOA9AVtlzhag6KG4oyJupqO4CCYaGr\nmgM4XiO0HK5WvFQz9FBzuAzi7tR0cNv2+e8VCzUHJ5AF0poO6PEPAFdvzZk=\n\n " + ] + } + ] + }, + AspectRatio -> Automatic, + BaselinePosition -> Scaled[0.1], + ImagePadding -> 0.5, + ImageSize -> {14.0, 14.778}, + PlotRange -> {{0.76, 17.27}, {0.73, 17.37}} + ] + ]) + } + ], + Cell["Documentation", "Section"], + Cell["Usage", "Subsection"], + Cell[ + StyleData[ + "UsageInputs", + StyleDefinitions -> StyleData["Input"] + ], + CellMargins -> {{66, 10}, {0, 8}}, + StyleKeyMapping -> {"Tab" -> "UsageDescription"}, + Evaluatable -> False, + CellEventActions -> { + "ReturnKeyDown" :> + With[ { RSNB`nb$ = Notebooks[EvaluationCell[]] }, + SelectionMove[EvaluationCell[], After, Cell]; + NotebookWrite[RSNB`nb$, Cell["", "UsageDescription"], All]; + SelectionMove[RSNB`nb$, Before, CellContents] + ], + {"KeyDown", "\t"} :> + Replace[ + SelectionMove[SelectedNotebook[], After, Cell]; + NotebookFind[ + SelectedNotebook[], + "TabNext", + Next, + CellTags, + AutoScroll -> True, + WrapAround -> True + ], + Blank[NotebookSelection] :> + SelectionMove[ + SelectedNotebook[], + All, + CellContents, + AutoScroll -> True + ] + ] + }, + ShowAutoStyles -> False, + ShowCodeAssist -> False, + CodeAssistOptions -> {"DynamicHighlighting" -> False}, + LineSpacing -> {1, 3}, + TabSpacings -> {2.5}, + CounterIncrements -> "Text", + FontFamily -> "Source Sans Pro", + FontSize -> 15, + FontWeight -> "Plain" + ], + Cell[ + StyleData[ + "UsageDescription", + StyleDefinitions -> StyleData["Text"] + ], + CellMargins -> {{86, 10}, {7, 0}}, + StyleKeyMapping -> {"Backspace" -> "UsageInputs"}, + CellGroupingRules -> "OutputGrouping", + CellEventActions -> { + "ReturnKeyDown" :> + With[ { RSNB`nb$ = Notebooks[EvaluationCell[]] }, + SelectionMove[EvaluationCell[], After, Cell]; + + NotebookWrite[ + RSNB`nb$, + Cell[ + BoxData[""], + "UsageInputs", + FontFamily -> "Source Sans Pro" + ], + All + ]; + + SelectionMove[RSNB`nb$, Before, CellContents] + ], + {"KeyDown", "\t"} :> + Replace[ + SelectionMove[SelectedNotebook[], After, Cell]; + NotebookFind[ + SelectedNotebook[], + "TabNext", + Next, + CellTags, + AutoScroll -> True, + WrapAround -> True + ], + Blank[NotebookSelection] :> + SelectionMove[ + SelectedNotebook[], + All, + CellContents, + AutoScroll -> True + ] + ] + }, + ShowAutoSpellCheck -> False + ], + Cell["Details & Options", "Subsection"], + Cell[ + StyleData["Notes", StyleDefinitions -> StyleData["Item"]], + CellDingbat -> + StyleBox[ + "\[FilledVerySmallSquare]", + FontColor -> GrayLevel[0.6] + ], + CellMargins -> {{66, 24}, {9, 7}}, + ReturnCreatesNewCell -> False, + StyleKeyMapping -> { }, + DefaultNewCellStyle -> "Notes", + ShowAutoSpellCheck -> False, + GridBoxOptions -> {BaseStyle -> "TableNotes"} + ], + Cell[ + StyleData[ + "TableNotes", + StyleDefinitions -> StyleData["Notes"] + ], + CellDingbat -> None, + CellFrameColor -> RGBColor[0.749, 0.694, 0.553], + StyleMenuListing -> None, + ButtonBoxOptions -> {Appearance -> {Automatic, None}}, + GridBoxOptions -> { + FrameStyle -> GrayLevel[0.906], + GridBoxAlignment -> { + "Columns" -> {{Left}}, + "ColumnsIndexed" -> { }, + "Rows" -> {{Baseline}}, + "RowsIndexed" -> { } + }, + GridBoxDividers -> {"Columns" -> {{None}}, "Rows" -> {{True}}}, + GridDefaultElement -> Cell["\[Placeholder]", "TableText"] + } + ], + Cell[ + StyleData["TableText"], + DefaultInlineFormatType -> "DefaultInputInlineFormatType", + AutoQuoteCharacters -> { }, + PasteAutoQuoteCharacters -> { }, + StyleMenuListing -> None + ], + Cell["Examples", "Subsection"], + Cell[ + StyleData["ExampleDelimiter"], + Selectable -> False, + ShowCellBracket -> Automatic, + CellMargins -> {{66, 14}, {5, 10}}, + Evaluatable -> True, + CellGroupingRules -> {"SectionGrouping", 58}, + CellEvaluationFunction -> (($Line = 0;) &), + ShowCellLabel -> False, + CellLabelAutoDelete -> True, + TabFilling -> "\[LongDash]\[NegativeThickSpace]", + TabSpacings -> {100}, + StyleMenuListing -> None, + FontFamily -> "Verdana", + FontWeight -> Bold, + FontSlant -> "Plain", + FontColor -> GrayLevel[0.906] + ], + Cell[ + StyleData[ + "ExampleText", + StyleDefinitions -> StyleData["Text"] + ] + ], + Cell[ + StyleData[ + "PageBreak", + StyleDefinitions -> StyleData["ExampleDelimiter"] + ], + Selectable -> False, + CellFrame -> {{0, 0}, {1, 0}}, + CellMargins -> {{66, 14}, {15, -5}}, + CellElementSpacings -> {"CellMinHeight" -> 1}, + Evaluatable -> True, + CellEvaluationFunction -> (($Line = 0;) &), + CellFrameColor -> GrayLevel[77/85] + ], + Cell[ + StyleData["Subsection"], + Evaluatable -> True, + CellEvaluationFunction -> (($Line = 0;) &), + ShowCellLabel -> False + ], + Cell[ + StyleData["Subsubsection"], + Evaluatable -> True, + CellEvaluationFunction -> (($Line = 0;) &), + ShowCellLabel -> False + ], + Cell[ + StyleData["ExampleImage"], + PageWidth :> 650, + CellMargins -> {{66, 66}, {16, 5}}, + Evaluatable -> False, + ShowCellLabel -> False, + MenuSortingValue -> 10000, + RasterBoxOptions -> {ImageEditMode -> False} + ], + Cell["Links", "Section"], + Cell[ + StyleData["Link"], + FontFamily -> "Source Sans Pro", + FontColor -> + Dynamic[ + If[ CurrentValue["MouseOver"], + RGBColor[0.855, 0.396, 0.145], + RGBColor[0.02, 0.286, 0.651] + ] + ] + ], + Cell[ + StyleData[ + "StringTypeLink", + StyleDefinitions -> StyleData["Link"] + ], + FontColor -> + Dynamic[ + If[ CurrentValue["MouseOver"], + RGBColor[0.969, 0.467, 0.0], + GrayLevel[0.467] + ] + ] + ], + Cell[ + StyleData["CharactersRefLink"], + ShowSpecialCharacters -> False + ], + Cell["Annotation", "Section"], + Cell[ + StyleData["Excluded"], + CellBracketOptions -> {"Color" -> RGBColor[0.9, 0.4, 0.4], "Thickness" -> 2}, + GeneratedCellStyles -> { + "Graphics" -> {"Graphics", "Excluded"}, + "Message" -> {"Message", "MSG", "Excluded"}, + "Output" -> {"Output", "Excluded"}, + "Print" -> {"Print", "Excluded"}, + "PrintTemporary" -> {"PrintTemporary", "Excluded"} + }, + CellFrameMargins -> 4, + CellFrameLabels -> { + { + None, + Cell[ + BoxData[ + TemplateBox[ + { + StyleBox[ + "\"excluded\"", + "ExcludedCellLabel", + StripOnInput -> False + ], + "\"Excluded cells will not appear anywhere in the published resource except for the definition notebook\"" + }, + "PrettyTooltipTemplate" + ] + ], + "ExcludedCellLabel" + ] + }, + {None, None} + }, + StyleMenuListing -> None, + Background -> RGBColor[1, 0.95, 0.95] + ], + Cell[ + StyleData[ + "ExcludedCellLabel", + StyleDefinitions -> StyleData["Text"] + ], + ShowStringCharacters -> False, + FontFamily -> "Source Sans Pro", + FontSize -> 9, + FontWeight -> Plain, + FontSlant -> Italic, + FontColor -> RGBColor[0.9, 0.4, 0.4, 0.5], + Background -> None + ], + Cell[ + StyleData["Comment", StyleDefinitions -> StyleData["Text"]], + CellFrame -> {{3, 0}, {0, 0}}, + CellMargins -> {{66, 0}, {1, 0}}, + CellElementSpacings -> {"ClosedCellHeight" -> 0}, + GeneratedCellStyles -> { + "Graphics" -> {"Graphics", "Comment"}, + "Message" -> {"Message", "MSG", "Comment"}, + "Output" -> {"Output", "Comment"}, + "Print" -> {"Print", "Comment"}, + "PrintTemporary" -> {"PrintTemporary", "Comment"} + }, + CellFrameColor -> RGBColor[0.88072, 0.61104, 0.14205], + CellFrameLabelMargins -> {{0, 10}, {0, 0}}, + FontColor -> GrayLevel[0.25], + Background -> RGBColor[0.982, 0.942, 0.871] + ], + Cell[ + StyleData[ + "AuthorComment", + StyleDefinitions -> StyleData["Comment"] + ], + GeneratedCellStyles -> { + "Graphics" -> {"Graphics", "AuthorComment"}, + "Message" -> {"Message", "MSG", "AuthorComment"}, + "Output" -> {"Output", "AuthorComment"}, + "Print" -> {"Print", "AuthorComment"}, + "PrintTemporary" -> {"PrintTemporary", "AuthorComment"} + }, + CellFrameColor -> RGBColor[0.36842, 0.50678, 0.7098], + Background -> RGBColor[0.905, 0.926, 0.956] + ], + Cell[ + StyleData[ + "ReviewerComment", + StyleDefinitions -> StyleData["Comment"] + ], + GeneratedCellStyles -> { + "Graphics" -> {"Graphics", "ReviewerComment"}, + "Message" -> {"Message", "MSG", "ReviewerComment"}, + "Output" -> {"Output", "ReviewerComment"}, + "Print" -> {"Print", "ReviewerComment"}, + "PrintTemporary" -> {"PrintTemporary", "ReviewerComment"} + }, + CellFrameColor -> RGBColor[0.56018, 0.69157, 0.19488], + Background -> RGBColor[0.934, 0.954, 0.879] + ], + Cell[ + StyleData[ + "CommentLabel", + StyleDefinitions -> StyleData["Text"] + ], + ShowStringCharacters -> False, + FontSlant -> "Italic", + PrivateFontOptions -> {"OperatorSubstitution" -> False}, + FontColor -> GrayLevel[0.5] + ], + Cell["Special Input", "Section"], + Cell[ + StyleData["FormObjectCell"], + CellMargins -> {{66, 66}, {16, 5}} + ], + Cell[ + StyleData[ + "LocalFileInput", + StyleDefinitions -> StyleData["Input"] + ], + CellFrameLabels -> { + { + None, + Cell[ + BoxData[ + ButtonBox[ + "\"Choose\"", + FrameMargins -> {{5, 5}, {0, 0}}, + BaseStyle -> {"Panel", FontSize -> 12}, + Evaluator -> Automatic, + Method -> "Queued", + ButtonFunction :> + With[ { RSNB`nb$ = ButtonNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 1053094956087266899; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + If[ $VersionNumber >= 13.0, + DefinitionNotebookClient`LocalFileInputDialog[ + "Data", + ParentCell[EvaluationCell[]], + "Type" -> "FileOpen" + ], + MessageDialog[ + "This feature requires Wolfram Language version 13 or later." + ] + ] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[1053094956087266899] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + Appearance :> + FEPrivate`FrontEndResource[ + "FEExpressions", + "GrayButtonNinePatchAppearance" + ] + ] + ] + ] + }, + {None, None} + } + ], + Cell[ + StyleData[ + "LocalDirectoryInput", + StyleDefinitions -> StyleData["Input"] + ], + CellFrameLabels -> { + { + None, + Cell[ + BoxData[ + ButtonBox[ + "\"Choose\"", + FrameMargins -> {{5, 5}, {0, 0}}, + BaseStyle -> {"Panel", FontSize -> 12}, + Evaluator -> Automatic, + Method -> "Queued", + ButtonFunction :> + With[ { RSNB`nb$ = ButtonNotebook[], RSNB`$cp$ = $ContextPath }, + Quiet[ + Block[ + { + $ContextPath = RSNB`$cp$, + ResourceSystemClient`$AsyncronousResourceInformationUpdates = + False, + DefinitionNotebookClient`$ButtonCodeID = None + }, + Internal`WithLocalSettings[ + DefinitionNotebookClient`$ButtonsDisabled = True; + + Once[ + ReleaseHold[ + CurrentValue[RSNB`nb$, {TaggingRules, "CompatibilityTest"}] + ], + "KernelSession" + ]; + + Needs["DefinitionNotebookClient`"], + Annotation[ + + DefinitionNotebookClient`$ButtonCodeID = + 4898876371082581810; + + DefinitionNotebookClient`CheckForUpdates[ + RSNB`nb$, + ReleaseHold[ + DefinitionNotebookClient`$ButtonCode = + HoldForm[ + If[ $VersionNumber >= 13.0, + DefinitionNotebookClient`LocalFileInputDialog[ + "Data", + ParentCell[EvaluationCell[]], + "Type" -> "Directory" + ], + MessageDialog[ + "This feature requires Wolfram Language version 13 or later." + ] + ] + ] + ] + ], + DefinitionNotebookClient`ButtonCodeID[4898876371082581810] + ], + DefinitionNotebookClient`$ButtonsDisabled = False; + ]; + ] + ] + ], + Appearance :> + FEPrivate`FrontEndResource[ + "FEExpressions", + "GrayButtonNinePatchAppearance" + ] + ] + ] + ] + }, + {None, None} + } + ], + Cell["Misc", "Section"], + Cell[StyleData["Item"], DefaultNewCellStyle -> "Item"], + Cell[ + StyleData[ + "RelatedSymbol", + StyleDefinitions -> StyleData["Item"] + ], + DefaultNewCellStyle -> {"RelatedSymbol", FontFamily -> "Source Sans Pro"}, + DefaultFormatType -> DefaultInputFormatType, + FormatType -> InputForm + ], + Cell[ + StyleData["ButtonText"], + FontFamily -> "Sans Serif", + FontSize -> 11, + FontWeight -> Bold, + FontColor -> RGBColor[0.459, 0.459, 0.459] + ], + Cell[ + StyleData["InlineFormula"], + HyphenationOptions -> {"HyphenationCharacter" -> "\[Continuation]"}, + LanguageCategory -> "Formula", + AutoSpacing -> True, + ScriptLevel -> 1, + SingleLetterItalics -> False, + SpanMaxSize -> 1, + StyleMenuListing -> None, + FontFamily -> "Source Sans Pro", + FontSize -> 1.0 * Inherited, + ButtonBoxOptions -> {Appearance -> {Automatic, None}}, + FractionBoxOptions -> {BaseStyle -> {SpanMaxSize -> Automatic}}, + GridBoxOptions -> { + GridBoxItemSize -> { + "Columns" -> {{Automatic}}, + "ColumnsIndexed" -> { }, + "Rows" -> {{1.0}}, + "RowsIndexed" -> { } + } + } + ], + Cell[ + StyleData["Input"], + CellProlog :> + Quiet[ + Block[{$ContextPath}, Once[ReleaseHold[CurrentValue[#1, {TaggingRules, "CompatibilityTest"}]], "KernelSession"]; If[$VersionNumber >= 12.2, Needs["DefinitionNotebookClient`"], Needs["ResourceSystemClient`DefinitionNotebook`"]]; DefinitionNotebookClient`LoadDefinitionNotebook["Data", #1]; ] &[ + InputNotebook[] + ] + ] + ], + Cell[ + StyleData["Code"], + CellProlog :> + Quiet[ + Block[{$ContextPath}, Once[ReleaseHold[CurrentValue[#1, {TaggingRules, "CompatibilityTest"}]], "KernelSession"]; If[$VersionNumber >= 12.2, Needs["DefinitionNotebookClient`"], Needs["ResourceSystemClient`DefinitionNotebook`"]]; DefinitionNotebookClient`LoadDefinitionNotebook["Data", #1]; ] &[ + InputNotebook[] + ] + ] + ], + Cell[ + StyleData["DockedCell"], + CellFrameColor -> GrayLevel[0.75], + Background -> GrayLevel[0.9] + ] + }, + Visible -> False, + StyleDefinitions -> "PrivateStylesheetFormatting.nb" + ] +] \ No newline at end of file From 798c2033bdc00c1c28e3b041d17ad9d8adde5ce4 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 13 Aug 2024 11:51:27 -0400 Subject: [PATCH 015/180] WIP client side code for vector databases --- Source/Chatbook/Main.wl | 7 +- Source/Chatbook/VectorDatabases.wl | 872 +++++++++++++++++++++++++++++ 2 files changed, 878 insertions(+), 1 deletion(-) create mode 100644 Source/Chatbook/VectorDatabases.wl diff --git a/Source/Chatbook/Main.wl b/Source/Chatbook/Main.wl index 09b93ab8..f59a2132 100644 --- a/Source/Chatbook/Main.wl +++ b/Source/Chatbook/Main.wl @@ -53,6 +53,8 @@ BeginPackage[ "Wolfram`Chatbook`" ]; `InlineTemplateBoxes; `InvalidateServiceCache; `MakeExpressionURI; +`RelatedDocumentation; +`RelatedWolframAlphaQueries; `SandboxLinguisticAssistantData; `SetModel; `SetToolOptions; @@ -128,7 +130,8 @@ $ChatbookContexts = { "Wolfram`Chatbook`ToolManager`", "Wolfram`Chatbook`Tools`", "Wolfram`Chatbook`UI`", - "Wolfram`Chatbook`Utils`" + "Wolfram`Chatbook`Utils`", + "Wolfram`Chatbook`VectorDatabases`" }; Scan[ Needs[ # -> None ] &, $ChatbookContexts ]; @@ -181,6 +184,8 @@ $ChatbookProtectedNames = "Wolfram`Chatbook`" <> # & /@ { "GetExpressionURIs", "InlineTemplateBoxes", "MakeExpressionURI", + "RelatedDocumentation", + "RelatedWolframAlphaQueries", "SandboxLinguisticAssistantData", "SetModel", "SetToolOptions", diff --git a/Source/Chatbook/VectorDatabases.wl b/Source/Chatbook/VectorDatabases.wl new file mode 100644 index 00000000..186c6537 --- /dev/null +++ b/Source/Chatbook/VectorDatabases.wl @@ -0,0 +1,872 @@ +(* ::Section::Closed:: *) +(*Package Header*) +BeginPackage[ "Wolfram`Chatbook`VectorDatabases`" ]; +Begin[ "`Private`" ]; + +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; + +HoldComplete[ + System`VectorDatabaseObject, + System`VectorDatabaseSearch +]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Configuration*) +$vectorDBNames = { "DocumentationURIs", "WolframAlphaQueries" }; + +$embeddingDimension = 256; +$maxNeighbors = 50; +$maxEmbeddingDistance = 150.0; +$embeddingService = "OpenAI"; (* FIXME *) +$embeddingModel = "text-embedding-3-small"; +$embeddingAuthentication = Automatic; (* FIXME *) + +$smallContextMessageCount = 3; +$smallContextStringLength = 8000; +$conversationVectorSearchPenalty = 16.0; + +$relatedQueryCount = 5; +$relatedDocsCount = 20; +$querySampleCount = 10; + +$relevantFileCount = 3; +$maxExtraFiles = 20; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Remote Content Locations*) +$documentationSnippetBaseURL = "https://www.wolframcloud.com/obj/wolframai-content/DocumentationSnippets/Text"; +$baseVectorDatabasesURL = "https://www.wolframcloud.com/obj/wolframai-content/VectorDatabases"; + +(* TODO: these will be moved to the data repository: *) +$vectorDBDownloadURLs = AssociationMap[ $baseVectorDatabasesURL <> "/" <> # <> ".zip" &, $vectorDBNames ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Paths*) +$pacletVectorDBDirectory := FileNameJoin @ { $thisPaclet[ "Location" ], "Assets/VectorDatabases" }; +$localVectorDBDirectory := FileNameJoin @ { ExpandFileName @ LocalObject @ $LocalBase, "Chatbook/VectorDatabases" }; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Argument Patterns*) +$$vectorDatabase = _VectorDatabaseObject? System`Private`ValidQ; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Cache*) +$vectorDBSearchCache = <| |>; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*RelatedWolframAlphaQueries*) +RelatedWolframAlphaQueries // beginDefinition; + +GeneralUtilities`SetUsage[ RelatedWolframAlphaQueries, "\ +RelatedWolframAlphaQueries[\"string$\"] gives a list of Wolfram|Alpha queries that are semantically related to the \ +conversational-style question specified by \"string$\". +RelatedWolframAlphaQueries[All] gives the full list of available Wolfram|Alpha sample queries." ]; + +RelatedWolframAlphaQueries[ prompt: _String | { ___String } ] := + catchMine @ RelatedWolframAlphaQueries[ prompt, Automatic ]; + +RelatedWolframAlphaQueries[ prompt: _String | { ___String }, Automatic ] := catchMine @ Enclose[ + ConfirmMatch[ vectorDBSearch[ "WolframAlphaQueries", prompt, "Values" ], { ___String }, "Queries" ], + throwInternalFailure +]; + +RelatedWolframAlphaQueries[ prompt_, UpTo[ n_Integer ] ] := + RelatedWolframAlphaQueries[ prompt, n ]; + +RelatedWolframAlphaQueries[ prompt_, n_Integer ] := catchMine @ Enclose[ + ConfirmMatch[ Take[ RelatedWolframAlphaQueries[ prompt, Automatic ], UpTo @ n ], { ___String }, "Queries" ], + throwInternalFailure +]; + +RelatedWolframAlphaQueries[ All ] := catchMine @ $uniqueWAQueries; + +RelatedWolframAlphaQueries[ args___ ] := catchMine @ throwFailure[ + "InvalidArguments", + RelatedWolframAlphaQueries, + HoldForm @ RelatedWolframAlphaQueries @ args +]; + +RelatedWolframAlphaQueries // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*RelatedDocumentation*) +RelatedDocumentation // beginDefinition; + +GeneralUtilities`SetUsage[ RelatedDocumentation, "\ +RelatedDocumentation[\"string$\"] gives a list of documentation URIs that are semantically related to the \ +conversational-style question specified by \"string$\". +RelatedDocumentation[All] gives the full list of available documentation URIs." ]; + +RelatedDocumentation[ prompt_ ] := catchMine @ RelatedDocumentation[ prompt, Automatic ]; +RelatedDocumentation[ prompt_, Automatic ] := catchMine @ RelatedDocumentation[ prompt, "URIs" ]; +RelatedDocumentation[ prompt_, count: _Integer | UpTo[ _Integer ] ] := RelatedDocumentation[ prompt, Automatic, count ]; +RelatedDocumentation[ prompt_, property_ ] := catchMine @ RelatedDocumentation[ prompt, property, Automatic ]; +RelatedDocumentation[ prompt_, Automatic, count_ ] := RelatedDocumentation[ prompt, "URIs", count ]; + +RelatedDocumentation[ prompt: _String | { ___String }, "URIs", Automatic ] := catchMine @ Enclose[ + ConfirmMatch[ vectorDBSearch[ "DocumentationURIs", prompt, "Values" ], { ___String }, "Queries" ], + throwInternalFailure +]; + +RelatedDocumentation[ All, "URIs", Automatic ] := catchMine @ Enclose[ + Union @ ConfirmMatch[ vectorDBSearch[ "DocumentationURIs", All ], { __String }, "QueryList" ], + throwInternalFailure +]; + +RelatedDocumentation[ prompt_, "Snippets", Automatic ] := catchMine @ Enclose[ + ConfirmMatch[ + DeleteMissing[ makeDocSnippets @ vectorDBSearch[ "DocumentationURIs", prompt, "Values" ] ], + { ___String }, + "Snippets" + ], + throwInternalFailure +]; + +RelatedDocumentation[ prompt_, property_, UpTo[ n_Integer ] ] := + catchMine @ RelatedDocumentation[ prompt, property, n ]; + +RelatedDocumentation[ prompt_, property_, n_Integer ] := catchMine @ Enclose[ + Take[ ConfirmMatch[ RelatedDocumentation[ prompt, property, Automatic ], { ___String } ], UpTo @ n ], + throwInternalFailure +]; + +RelatedDocumentation[ prompt_, property: "Results"|"Values"|"EmbeddingVector"|All, n_Integer ] := catchMine @ Enclose[ + Take[ ConfirmBy[ vectorDBSearch[ "DocumentationURIs", prompt, property ], ListQ, "Results" ], UpTo @ n ], + throwInternalFailure +]; + +RelatedDocumentation[ prompt_, property: "Index"|"Distance", n_Integer ] := catchMine @ Enclose[ + Lookup[ + Take[ + ConfirmMatch[ RelatedDocumentation[ prompt, "Results", n ], { KeyValuePattern[ property -> _ ]... }, "Results" ], + UpTo @ n + ], + property + ], + throwInternalFailure +]; + +RelatedDocumentation[ args___ ] := catchMine @ throwFailure[ + "InvalidArguments", + RelatedDocumentation, + HoldForm @ RelatedDocumentation @ args +]; + +RelatedDocumentation // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Vector Database Utilities*) +(* TODO: only use this during development and download from above URL otherwise *) +$vectorDBDirectory := + With[ { dir = FileNameJoin @ { $thisPaclet[ "Location" ], "Assets/VectorDatabases" } }, + If[ TrueQ @ Wolfram`ChatbookInternal`$BuildingMX, + dir, + $vectorDBDirectory = dir + ] + ]; + +$vectorDBDirectory := getVectorDBDirectory[ ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*getVectorDBDirectory*) +getVectorDBDirectory // beginDefinition; + +getVectorDBDirectory[ ] := Enclose[ + $vectorDBDirectory = SelectFirst[ + { + $pacletVectorDBDirectory, + $localVectorDBDirectory + }, + vectorDBDirectoryQ, + ConfirmBy[ downloadVectorDatabases[ ], vectorDBDirectoryQ, "Downloaded" ] + ], + throwInternalFailure +]; + +getVectorDBDirectory // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*vectorDBDirectoryQ*) +vectorDBDirectoryQ // beginDefinition; +vectorDBDirectoryQ[ dir_? DirectoryQ ] := AllTrue[ $vectorDBNames, vectorDBDirectoryQ0 @ FileNameJoin @ { dir, # } & ]; +vectorDBDirectoryQ[ _ ] := False; +vectorDBDirectoryQ // endDefinition; + +vectorDBDirectoryQ0 // beginDefinition; + +vectorDBDirectoryQ0[ dir_? DirectoryQ ] := Enclose[ + Module[ { name, existsQ, expected }, + name = ConfirmBy[ FileBaseName @ dir, StringQ, "Name" ]; + existsQ = FileExistsQ @ FileNameJoin @ { dir, # } &; + expected = { name <> ".wxf", "Values.wxf", name <> "-vectors.usearch" }; + TrueQ @ AllTrue[ expected, existsQ ] + ], + throwInternalFailure +]; + +vectorDBDirectoryQ0[ _ ] := False; + +vectorDBDirectoryQ0 // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*inVectorDBDirectory*) +inVectorDBDirectory // beginDefinition; +inVectorDBDirectory // Attributes = { HoldFirst }; +inVectorDBDirectory[ eval_ ] := WithCleanup[ SetDirectory @ $vectorDBDirectory, eval, ResetDirectory[ ] ]; +inVectorDBDirectory // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*initializeVectorDatabases*) +initializeVectorDatabases // beginDefinition; +initializeVectorDatabases[ ] := getVectorDB /@ $vectorDBNames; +initializeVectorDatabases // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*getVectorDB*) +getVectorDB // beginDefinition; + +getVectorDB[ name_String ] := Enclose[ + getVectorDB[ name ] = ConfirmMatch[ + Association @ loadVectorDB @ name, + KeyValuePattern @ { "Values" -> { ___String }, "VectorDatabaseObject" -> $$vectorDatabase }, + "VectorDB" + ], + throwInternalFailure +]; + +getVectorDB // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*loadVectorDB*) +loadVectorDB // beginDefinition; + +loadVectorDB[ name_String ] := Enclose[ + Module[ { values, vectorDB, dims }, + + values = ConfirmMatch[ loadVectorDBValues @ name, { ___String }, "Values" ]; + vectorDB = ConfirmMatch[ loadVectorDatabase @ name, $$vectorDatabase, "VectorDatabaseObject" ]; + dims = ConfirmMatch[ inVectorDBDirectory @ vectorDB[ "Dimensions" ], { _Integer, _Integer }, "Dimensions" ]; + + ConfirmAssert[ Length @ values === First @ dims, "LengthCheck" ]; + + <| "Values" -> values, "VectorDatabaseObject" -> vectorDB |> + ], + throwInternalFailure +]; + +loadVectorDB // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*loadVectorDatabase*) +loadVectorDatabase // beginDefinition; + +loadVectorDatabase[ name_String ] := Enclose[ + inVectorDBDirectory @ Module[ { dir, file }, + dir = ConfirmBy[ name, DirectoryQ, "Directory" ]; + file = ConfirmBy[ File @ FileNameJoin @ { dir, name<>".wxf" }, FileExistsQ, "File" ]; + ConfirmMatch[ VectorDatabaseObject @ file, $$vectorDatabase, "Database" ] + ], + throwInternalFailure +]; + +loadVectorDatabase // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*loadVectorDBValues*) +loadVectorDBValues // beginDefinition; + +loadVectorDBValues[ name_String ] := Enclose[ + Module[ { root, dir, file }, + root = ConfirmBy[ $vectorDBDirectory, DirectoryQ, "RootDirectory" ]; + dir = ConfirmBy[ FileNameJoin @ { root, name }, DirectoryQ, "Directory" ]; + file = ConfirmBy[ FileNameJoin @ { dir, "Values.wxf" }, FileExistsQ, "File" ]; + loadVectorDBValues[ name ] = ConfirmMatch[ Developer`ReadWXFFile @ file, { __String }, "Read" ] + ], + throwInternalFailure +]; + +loadVectorDBValues // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*vectorDBSearch*) +vectorDBSearch // beginDefinition; + +vectorDBSearch[ dbName_String, prompt_String ] := + vectorDBSearch[ dbName, prompt, All ]; + +vectorDBSearch[ dbName_String, All ] := + vectorDBSearch[ dbName, All, "Values" ]; + +vectorDBSearch[ dbName_String, "", All ] := <| + "EmbeddingVector" -> None, + "SearchData" -> Missing[ "NoInput" ], + "Values" -> { } +|>; + +vectorDBSearch[ dbName_String, prompt_String, All ] := + With[ { result = $vectorDBSearchCache[ dbName, prompt ] }, + result /; AssociationQ @ result + ]; + +vectorDBSearch[ dbName_String, prompt_String, All ] := Enclose[ + Module[ { vectorDBInfo, vectorDB, allValues, embeddingVector, close, indices, distances, values, data, result }, + + vectorDBInfo = ConfirmBy[ getVectorDB @ dbName, AssociationQ, "VectorDBInfo" ]; + vectorDB = ConfirmMatch[ vectorDBInfo[ "VectorDatabaseObject" ], $$vectorDatabase, "VectorDatabase" ]; + allValues = ConfirmBy[ vectorDBInfo[ "Values" ], ListQ, "Values" ]; + embeddingVector = ConfirmMatch[ getEmbedding @ prompt, { __Real }, "EmbeddingVector" ]; + + close = ConfirmMatch[ + inVectorDBDirectory @ VectorDatabaseSearch[ + vectorDB, + embeddingVector, + { "Index", "Distance" }, + MaxItems -> $maxNeighbors + ], + { ___Association }, + "PositionsAndDistances" + ]; + + indices = ConfirmMatch[ close[[ All, "Index" ]], { ___Integer }, "Indices" ]; + distances = ConfirmMatch[ close[[ All, "Distance" ]], { ___Real }, "Distances" ]; + + values = ConfirmBy[ allValues[[ indices ]], ListQ, "Values" ]; + + ConfirmAssert[ Length @ indices === Length @ distances === Length @ values, "LengthCheck" ]; + + data = MapApply[ + <| "Value" -> #1, "Index" -> #2, "Distance" -> #3 |> &, + Transpose @ { values, indices, distances } + ]; + + result = <| "Values" -> DeleteDuplicates @ values, "Results" -> data, "EmbeddingVector" -> embeddingVector |>; + + (* Cache and verify: *) + cacheVectorDBResult[ dbName, prompt, result ]; + ConfirmAssert[ $vectorDBSearchCache[ dbName, prompt ] === result, "CacheCheck" ]; + + result + ], + throwInternalFailure +]; + +vectorDBSearch[ dbName_String, prompt_String, key_String ] := Enclose[ + Lookup[ ConfirmBy[ vectorDBSearch[ dbName, prompt, All ], AssociationQ, "Result" ], key ], + throwInternalFailure +]; + +vectorDBSearch[ dbName_String, prompt_String, keys: { ___String } ] := Enclose[ + KeyTake[ ConfirmBy[ vectorDBSearch[ dbName, prompt, All ], AssociationQ, "Result" ], keys ], + throwInternalFailure +]; + +vectorDBSearch[ dbName_String, prompts: { ___String }, prop_ ] := + AssociationMap[ vectorDBSearch[ dbName, #, prop ] &, prompts ]; + +vectorDBSearch[ dbName_String, All, "Values" ] := Enclose[ + Module[ { vectorDBInfo }, + vectorDBInfo = ConfirmBy[ getVectorDB @ dbName, AssociationQ, "VectorDB" ]; + ConfirmBy[ vectorDBInfo[ "Values" ], ListQ, "Values" ] + ], + throwInternalFailure +]; + +vectorDBSearch[ dbName_String, messages: { __Association }, prop: "Values"|"Results" ] := Enclose[ + Catch @ Module[ { conversationString, lastMessageString, conversationResults, lastMessageResults, combined }, + + conversationString = ConfirmBy[ getSmallContextString @ messages, StringQ, "ConversationString" ]; + lastMessageString = ConfirmBy[ getSmallContextString @ { Last @ messages }, StringQ, "LastMessageString" ]; + + If[ conversationString === "" || lastMessageString === "", Throw @ { } ]; + + conversationResults = ConfirmMatch[ + MapAt[ + # + $conversationVectorSearchPenalty &, + vectorDBSearch[ dbName, conversationString, "Results" ], + { All, "Distance" } + ], + { KeyValuePattern[ { "Distance" -> _Real, "Value" -> _ } ]... }, + "ConversationResults" + ]; + + lastMessageResults = + If[ lastMessageString === conversationString, + { }, + ConfirmMatch[ + vectorDBSearch[ dbName, lastMessageString, "Results" ], + { KeyValuePattern[ { "Distance" -> _Real, "Value" -> _ } ]... }, + "LastMessageResults" + ] + ]; + + combined = SortBy[ Join[ conversationResults, lastMessageResults ], Lookup[ "Distance" ] ]; + + If[ prop === "Results", + combined, + DeleteDuplicates[ Lookup[ "Value" ] /@ combined ] + ] + ], + throwInternalFailure +]; + +vectorDBSearch // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*cacheVectorDBResult*) +cacheVectorDBResult // beginDefinition; + +cacheVectorDBResult[ dbName_String, prompt_String, data_Association ] := ( + If[ ! AssociationQ @ $vectorDBSearchCache, $vectorDBSearchCache = <| |> ]; + If[ ! AssociationQ @ $vectorDBSearchCache[ dbName ], $vectorDBSearchCache[ dbName ] = <| |> ]; + $vectorDBSearchCache[ dbName, prompt ] = data +); + +cacheVectorDBResult // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*getEmbedding*) +getEmbedding // beginDefinition; + +getEmbedding[ string_String ] := Enclose[ + Catch @ Module[ { resp, vector }, + + resp = ConfirmBy[ + setServiceCaller @ ServiceExecute[ + $embeddingService, + "RawEmbedding", + { "input" -> string, "model" -> $embeddingModel }, + Authentication -> $embeddingAuthentication + ], + AssociationQ, + "EmbeddingResponse" + ]; + + vector = ConfirmBy[ + Developer`ToPackedArray @ Flatten @ resp[[ "data", All, "embedding" ]], + Developer`PackedArrayQ, + "PackedArray" + ]; + + getEmbedding[ string ] = ConfirmBy[ + toTinyVector @ vector, + Developer`PackedArrayQ, + "TinyVector" + ] + ], + throwInternalFailure +]; + +getEmbedding // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*toTinyVector*) +toTinyVector // beginDefinition; +toTinyVector[ v_ ] := 127.5 * Normalize @ v[[ 1;;$embeddingDimension ]] - 0.5; +toTinyVector // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Prompt Generation*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*insertVectorDBPrompts*) +insertVectorDBPrompts // beginDefinition; + +insertVectorDBPrompts[ messages_List, settings_Association ] := Enclose[ + Module[ + { + conversation, relatedQueries, relatedDocs, + randomQueries, queries, docSnippets, bestDocPage, docString, + querySampleString, relatedDocsString + }, + + conversation = ConfirmMatch[ makeChatTranscript @ messages, { __Association }, "Conversation" ]; + + relatedQueries = ConfirmMatch[ + Take[ vectorDBSearch[ "WolframAlphaQueries", conversation, "Values" ], UpTo[ $relatedQueryCount ] ], + { ___String }, + "Queries" + ]; + + relatedDocs = ConfirmMatch[ + Take[ vectorDBSearch[ "DocumentationURIs", conversation, "Values" ], UpTo[ $relatedDocsCount ] ], + { ___String }, + "Documentation" + ]; + + randomQueries = ConfirmMatch[ RandomSample[ $uniqueWAQueries, $querySampleCount ], { ___String }, "Random" ]; + queries = Take[ Join[ relatedQueries, randomQueries ], UpTo[ $querySampleCount ] ]; + + docSnippets = ConfirmMatch[ + DeleteMissing[ makeDocSnippets @ relatedDocs ], + { ___String }, + "DocumentationSnippets" + ]; + + bestDocPage = selectBestDocumentationPages[ messages, relatedDocs ]; + docString = If[ StringQ @ bestDocPage, bestDocPage, StringRiffle[ docSnippets, "\n---\n" ] ]; + + querySampleString = $querySampleStringHeader <> StringRiffle[ queries, "\n" ]; + relatedDocsString = $relatedDocsStringHeader <> docString; + + $lastVectorDBPrompts = <| + "Queries" -> querySampleString, + "Documentation" -> relatedDocsString + |>; + + (* FIXME: implement as a prompt generator instead: *) + stringReplaceSystemMessage[ + messages, + { + "$$SAMPLE_WL_QUERIES$$" :> querySampleString, + "$$SAMPLE_DOC_SNIPPETS$$" :> relatedDocsString + } + ] + ], + throwInternalFailure +]; + +insertVectorDBPrompts // endDefinition; + +$querySampleStringHeader = "\ +The Wolfram Alpha tool can accept a wide variety of inputs. \ +Here are some example queries that would work in place of to give you a sense of what it can do: + +"; + +$relatedDocsStringHeader = "\ +Here are some Wolfram documentation snippets that might be helpful: + +"; + + +$uniqueWAQueries := Enclose[ + $uniqueWAQueries = Union @ ConfirmMatch[ vectorDBSearch[ "WolframAlphaQueries", All ], { __String }, "QueryList" ], + throwInternalFailure +]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*selectBestDocumentationPages*) +selectBestDocumentationPages // beginDefinition; + +selectBestDocumentationPages[ messages_List, { } ] := + Missing[ "NotAvailable" ]; + +selectBestDocumentationPages[ messages_List, relatedDocs0: { __String } ] := Enclose[ + Catch @ Module[ { relatedDocs, snippets, transcript, prompt, response, pages }, + relatedDocs = Take[ relatedDocs0, UpTo[ 10 ] ]; + If[ relatedDocs === { }, Throw @ Missing[ "NotAvailable" ] ]; + snippets = StringRiffle[ makeDocSnippets @ relatedDocs, "\n\n---\n\n" ]; + transcript = ConfirmBy[ getSmallContextString @ messages, StringQ, "Transcript" ]; + + prompt = ConfirmBy[ + TemplateApply[ $bestDocumentationPrompt, <| "Snippets" -> snippets, "Transcript" -> transcript |> ], + StringQ, + "Prompt" + ]; + + response = StringTrim @ ConfirmBy[ llmSynthesize @ prompt, StringQ, "Response" ]; + pages = makeDocSnippets @ Join[ StringCases[ response, relatedDocs ], Take[ relatedDocs, UpTo[ 3 ] ] ]; + + If[ pages === { }, + Missing[ "NotAvailable" ], + StringRiffle[ pages, "\n\n---\n\n" ] + ] + ], + throwInternalFailure +]; + +selectBestDocumentationPages // endDefinition; + + +$bestDocumentationPrompt = StringTemplate[ "\ +Your task is to read a chat transcript between a user and assistant, and then select the most relevant \ +Wolfram Language documentation snippets that could help the assistant answer the user's latest message. \ +Each snippet is uniquely identified by a URI (always starts with 'paclet:'). \ + +Here are the available documentation snippets to choose from: + +%%Snippets%% + +--- + +Here is the chat transcript: + +%%Transcript%% + +Choose up to 5 documentation snippets that would help answer the user's MOST RECENT message. \ +Respond only with the corresponding URIs of the snippets and nothing else. \ +If there are no relevant pages, respond with just the string \"none\"\ +", Delimiters -> "%%" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*makeDocSnippets*) +makeDocSnippets // beginDefinition; + +makeDocSnippets[ uris0: { ___String } ] := Enclose[ + Module[ { uris, data, snippets, strings }, + uris = DeleteDuplicates @ uris0; + data = ConfirmBy[ getDocumentationSnippetData @ uris, AssociationQ, "Data" ]; + snippets = ConfirmMatch[ Values @ data, { ___Association }, "Snippets" ]; + strings = ConfirmMatch[ Lookup[ "String" ] /@ snippets, { ___String }, "Strings" ]; + strings + ], + throwInternalFailure +]; + +makeDocSnippets[ uri_String ] := + First @ makeDocSnippets @ { uri }; + +makeDocSnippets // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*stringReplaceSystemMessage*) +stringReplaceSystemMessage // beginDefinition; + +stringReplaceSystemMessage[ + { sysMessage: KeyValuePattern @ { "Role" -> "System", "Content" -> content_ }, messages___ }, + rules_ +] := { + <| sysMessage, "Content" -> (content /. s_String :> RuleCondition @ StringReplace[ s, rules ]) |>, + messages +}; + +stringReplaceSystemMessage // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*getSmallContextString*) +getSmallContextString // beginDefinition; + +getSmallContextString[ messages0: { ___Association } ] := Enclose[ + Catch @ Module[ { messages, recent, strings, string }, + messages = ConfirmMatch[ makeChatTranscript @ messages0, { ___Association }, "Messages" ]; + If[ messages === { }, Throw[ "" ] ]; + recent = revertMultimodalContent @ Reverse @ Take[ Reverse @ messages, UpTo[ $smallContextMessageCount ] ]; + strings = ConfirmMatch[ recent[[ All, "Content" ]], { __String }, "Strings" ]; + string = StringRiffle[ strings, "\n\n" ]; + If[ StringLength @ string > $smallContextStringLength, + StringTake[ string, { -$smallContextStringLength, -1 } ], + string + ] + ], + throwInternalFailure +]; + +getSmallContextString // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Documentation Snippets*) +$documentationSnippets = <| |>; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*getDocumentationSnippetData*) +getDocumentationSnippetData // beginDefinition; + +getDocumentationSnippetData[ { } ] := <| |>; + +getDocumentationSnippetData[ uris: { __String } ] := Enclose[ + Module[ { cached, missing }, + + cached = ConfirmBy[ + AssociationMap[ getCachedDocumentationSnippet, uris ], + AllTrue @ MatchQ[ _Missing | KeyValuePattern[ "String" -> _String ] ], + "Cached" + ]; + + missing = ConfirmMatch[ + Union[ First /@ StringSplit[ Keys @ Select[ cached, MissingQ ], "#" ] ], + { ___String }, + "Missing" + ]; + + fetchDocumentationSnippets @ missing; + + ConfirmBy[ + AssociationMap[ getCachedDocumentationSnippet, uris ], + AllTrue @ MatchQ[ KeyValuePattern[ "String" -> _String ] ], + "Result" + ] + ], + throwInternalFailure +]; + +getDocumentationSnippetData // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*getCachedDocumentationSnippet*) +getCachedDocumentationSnippet // beginDefinition; +getCachedDocumentationSnippet[ uri_String ] := getCachedDocumentationSnippet @ StringSplit[ uri, "#" ]; +getCachedDocumentationSnippet[ { base_String } ] := getCachedDocumentationSnippet @ { base, None }; +getCachedDocumentationSnippet[ { base_String, fragment_ } ] := $documentationSnippets[ base, fragment ]; +getCachedDocumentationSnippet // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*fetchDocumentationSnippets*) +fetchDocumentationSnippets // beginDefinition; + +fetchDocumentationSnippets[ { } ] := { }; + +fetchDocumentationSnippets[ uris: { __String } ] := + Module[ { $results, tasks }, + $results = AssociationMap[ <| "URI" -> #1 |> &, uris ]; + tasks = fetchDocumentationSnippets0 @ $results /@ uris; + TaskWait @ tasks; + processDocumentationSnippetResults @ $results + ]; + +fetchDocumentationSnippets // endDefinition; + + +fetchDocumentationSnippets0 // beginDefinition; +fetchDocumentationSnippets0 // Attributes = { HoldFirst }; + +fetchDocumentationSnippets0[ $results_ ] := + fetchDocumentationSnippets0[ $results, # ] &; + +fetchDocumentationSnippets0[ $results_, uri_String ] := Enclose[ + Module[ { url, setResult, task }, + url = ConfirmBy[ toDocSnippetURL @ uri, StringQ, "URL" ]; + setResult = Function[ $results[ uri ] = <| $results @ uri, # |> ]; + + task = URLSubmit[ + url, + HandlerFunctions -> <| + "BodyReceived" -> setResult, + "ConnectionFailed" -> Function[ $results[ uri ] = <| $results @ uri, # |> ] + |>, + HandlerFunctionsKeys -> { "BodyByteArray", "StatusCode", "Headers", "ContentType", "Cookies" } + ]; + + $results[ uri, "URL" ] = url; + $results[ uri, "Task" ] = task + ], + throwInternalFailure +]; + +fetchDocumentationSnippets0 // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*toDocSnippetURL*) +toDocSnippetURL // beginDefinition; + +toDocSnippetURL[ uri_String ] /; StringStartsQ[ uri, "paclet:" ] := + URLBuild @ { $documentationSnippetBaseURL, StringDelete[ uri, StartOfString~~"paclet:" ] <> ".wxf" }; + +toDocSnippetURL[ uri_String ] := + toDocSnippetURL0 @ URLParse[ uri, { "Domain", "Path" } ]; + +toDocSnippetURL // endDefinition; + + +toDocSnippetURL0 // beginDefinition; + +toDocSnippetURL0[ { "resources.wolframcloud.com", { "", repo_String, "resources", name_String } } ] := + URLBuild @ { $documentationSnippetBaseURL, "Resources", repo, name <> ".wxf" }; + +toDocSnippetURL0 // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*processDocumentationSnippetResults*) +processDocumentationSnippetResults // beginDefinition; +processDocumentationSnippetResults[ results_Association ] := processDocumentationSnippetResult /@ results; +processDocumentationSnippetResults // endDefinition; + +(* TODO: retry failed results *) + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*processDocumentationSnippetResult*) +processDocumentationSnippetResult // beginDefinition; + +processDocumentationSnippetResult[ as_Association ] := + processDocumentationSnippetResult[ as, as[ "BodyByteArray" ], as[ "StatusCode" ] ]; + +processDocumentationSnippetResult[ as_, bytes_ByteArray, 200 ] := + processDocumentationSnippetResult[ as, Quiet @ Developer`ReadWXFByteArray @ bytes ]; + +processDocumentationSnippetResult[ as_, data_List ] := + Association[ + makeCombinedSnippet @ data, + cacheDocumentationSnippetResult /@ data + ]; + +processDocumentationSnippetResult // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*makeCombinedSnippet*) +makeCombinedSnippet // beginDefinition; + +makeCombinedSnippet[ { data_Association, ___ } ] := makeCombinedSnippet @ data; + +makeCombinedSnippet[ data_Association ] := Enclose[ + Module[ { uri, base }, + uri = ConfirmBy[ data[ "URI" ], StringQ, "URI" ]; + base = ConfirmBy[ First @ StringSplit[ uri, "#" ], StringQ, "Base" ]; + cacheDocumentationSnippetResult[ { base, None }, data ] + ], + throwInternalFailure +]; + +makeCombinedSnippet // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*cacheDocumentationSnippetResult*) +cacheDocumentationSnippetResult // beginDefinition; + +cacheDocumentationSnippetResult[ as_Association ] := + cacheDocumentationSnippetResult[ as[ "URI" ], as ]; + +cacheDocumentationSnippetResult[ uri_String, as_Association ] := + uri -> cacheDocumentationSnippetResult[ StringSplit[ uri, "#" ], as ]; + +cacheDocumentationSnippetResult[ { base_String, fragment: _String|None }, as_Association ] := + If[ AssociationQ @ $documentationSnippets[ base ], + $documentationSnippets[ base, fragment ] = as, + $documentationSnippets[ base ] = <| fragment -> as |> + ]; + +cacheDocumentationSnippetResult // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +addToMXInitialization[ + Null +]; + +End[ ]; +EndPackage[ ]; From dc843a1cd7d91f10828047a4548d687c49697a6d Mon Sep 17 00:00:00 2001 From: Kevin Daily Date: Mon, 19 Aug 2024 11:55:25 -0700 Subject: [PATCH 016/180] Fix 447719: let context menus be localizable --- Developer/Resources/Styles.wl | 12 +- Developer/StylesheetBuilder.wl | 35 +- FrontEnd/StyleSheets/Chatbook.nb | 758 +----------------- FrontEnd/TextResources/ChatbookStrings.tr | 2 + .../ChineseSimplified/ChatbookStrings.tr | 2 + .../ChineseTraditional/ChatbookStrings.tr | 2 + .../TextResources/French/ChatbookStrings.tr | 2 + .../TextResources/Japanese/ChatbookStrings.tr | 2 + .../TextResources/Korean/ChatbookStrings.tr | 2 + .../TextResources/Spanish/ChatbookStrings.tr | 2 + 10 files changed, 88 insertions(+), 731 deletions(-) diff --git a/Developer/Resources/Styles.wl b/Developer/Resources/Styles.wl index e0ec2ac8..33918882 100644 --- a/Developer/Resources/Styles.wl +++ b/Developer/Resources/Styles.wl @@ -33,9 +33,9 @@ Cell[ |>, ComponentwiseContextMenu -> <| - "CellBracket" -> contextMenu[ $askMenuItem, $excludeMenuItem, Delimiter, "CellBracket" ], - "CellGroup" -> contextMenu[ $excludeMenuItem, Delimiter, "CellGroup" ], - "CellRange" -> contextMenu[ $excludeMenuItem, Delimiter, "CellRange" ] + "CellBracket" -> contextMenu[ { $askMenuItem, $excludeMenuItem, Delimiter }, "CellBracket" ], + "CellGroup" -> contextMenu[ { $excludeMenuItem, Delimiter }, "CellGroup" ], + "CellRange" -> contextMenu[ { $excludeMenuItem, Delimiter }, "CellRange" ] |>, PrivateCellOptions -> { @@ -59,7 +59,7 @@ Cell[ Cell[ StyleData[ "Text" ], - ContextMenu -> contextMenu[ $askMenuItem, Delimiter, "Text" ] + ContextMenu -> contextMenu[ { $askMenuItem, Delimiter }, "Text" ] ] @@ -77,7 +77,7 @@ Cell[ "*" -> "Item", ">" -> "ExternalLanguageDefault" }, - ContextMenu -> contextMenu[ $askMenuItem, Delimiter, "Input" ], + ContextMenu -> contextMenu[ { $askMenuItem, Delimiter }, "Input" ], CellEpilog :> With[ { $CellContext`cell = (FinishDynamic[ ]; EvaluationCell[ ]) }, Quiet @ Needs[ "Wolfram`Chatbook`" -> None ]; Symbol[ "Wolfram`Chatbook`ChatbookAction" ][ "AIAutoAssist", $CellContext`cell ] @@ -92,7 +92,7 @@ Cell[ Cell[ StyleData[ "Output" ], - ContextMenu -> contextMenu[ $askMenuItem, Delimiter, "Output" ], + ContextMenu -> contextMenu[ { $askMenuItem, Delimiter }, "Output" ], CellTrayWidgets -> <| "GearMenu" -> <| "Condition" -> False |> |> ] diff --git a/Developer/StylesheetBuilder.wl b/Developer/StylesheetBuilder.wl index 0b8ba9ca..e6cd8be0 100644 --- a/Developer/StylesheetBuilder.wl +++ b/Developer/StylesheetBuilder.wl @@ -73,8 +73,8 @@ Get[ "Wolfram`Chatbook`" ]; (*tr*) -tr[name_?StringQ] := Dynamic[FEPrivate`FrontEndResource["ChatbookStrings", name]] -trBox[name_?StringQ] := DynamicBox[FEPrivate`FrontEndResource["ChatbookStrings", name]] +tr[ name_?StringQ ] := Dynamic[ FEPrivate`FrontEndResource[ "ChatbookStrings", name ] ] +trBox[ name_?StringQ ] := DynamicBox[ FEPrivate`FrontEndResource[ "ChatbookStrings", name ] ] (* ::Subsection::Closed:: *) @@ -266,7 +266,7 @@ makeIconTemplateBoxStyle[ file_, icon_, boxes_ ] := $askMenuItem = MenuItem[ - "Ask AI Assistant", + "StylesheetContextMenuAskAI", KernelExecute[ With[ { $CellContext`nbo = InputNotebook[ ] }, @@ -286,7 +286,7 @@ $askMenuItem = MenuItem[ $excludeMenuItem = MenuItem[ - "Include/Exclude From AI Chat", + "StylesheetContextMenuIncludeExclude", KernelExecute[ With[ { $CellContext`nbo = InputNotebook[ ] }, @@ -305,10 +305,25 @@ $excludeMenuItem = MenuItem[ (*contextMenu*) -contextMenu[ a___, name_String, b___ ] := contextMenu[ a, FrontEndResource[ "ContextMenus", name ], b ]; -contextMenu[ a___, list_List, b___ ] := contextMenu @@ Flatten @ { a, list, b }; -contextMenu[ a___ ] := Flatten @ { a }; - +(* Note: + MenuItem cannot have Dynamic or FEPrivate`FrontEndResource expressions as its first argument. + Maybe this is a bug, but a workaround is to use ContextMenu -> Dynamic[Function[...][args]]. + The purpose of the Function is to inject resolved versions of FEPrivate`FrontEndResource. + Said differently, MenuItem can only take a String as its first argument, so we coerce the + FrontEnd to first resolve the string resources before it tries to resolve the ContextMenu. *) + +contextMenu[ a___, name_String, b___ ] := contextMenu[ a, FEPrivate`FrontEndResource[ "ContextMenus", name ], b ]; +contextMenu[ a : (_List | _FEPrivate`FrontEndResource).. ] := + Replace[ + Reap @ Module[ { i = 1 }, + Replace[ + FEPrivate`Join[ a ], + MenuItem[ s_String, rest__ ] :> ( Sow[ FEPrivate`FrontEndResource[ "ChatbookStrings", s ] ]; MenuItem[ Slot[ i++ ], rest ] ), + { 2 } + ] + ], + { menu_FEPrivate`Join, { { resourceStrings__ } } } :> Dynamic[ Function[ menu ][ resourceStrings ] ] + ] (* ::Subsection::Closed:: *) @@ -360,7 +375,7 @@ assistantMenuInitializer[ name_String, color_ ] := ], Appearance -> $suppressButtonAppearance ], - tr["StylesheetAssistantMenuInitializerButtonTooltip"] + tr[ "StylesheetAssistantMenuInitializerButtonTooltip" ] ], RawBoxes @ TemplateBox[ { name, color }, "ChatMenuButton" ] }, @@ -400,7 +415,7 @@ feedbackButton[ positive: True|False, name_String ] := RawBoxes @ TemplateBox[ { }, name<>"Inactive" ], RawBoxes @ TemplateBox[ { }, name<>"Active" ] ], - tr["StylesheetFeedbackButtonTooltip"] + tr[ "StylesheetFeedbackButtonTooltip" ] ], "LinkHand" ], diff --git a/FrontEnd/StyleSheets/Chatbook.nb b/FrontEnd/StyleSheets/Chatbook.nb index 10f85f2b..8f98741b 100644 --- a/FrontEnd/StyleSheets/Chatbook.nb +++ b/FrontEnd/StyleSheets/Chatbook.nb @@ -793,516 +793,54 @@ Notebook[ |> |>, ComponentwiseContextMenu -> <| - "CellBracket" -> { - MenuItem[ - "Ask AI Assistant", - KernelExecute[ - With[ { Wolfram`ChatNB`nbo = InputNotebook[] }, - {Wolfram`ChatNB`cells = SelectedCells[Wolfram`ChatNB`nbo]}, - Quiet[Needs["Wolfram`Chatbook`" -> None]]; - Symbol["Wolfram`Chatbook`ChatbookAction"][ - "Ask", - Wolfram`ChatNB`nbo, - Wolfram`ChatNB`cells - ] - ] - ], - MenuEvaluator -> Automatic, - Method -> "Queued" - ], - MenuItem[ - "Include/Exclude From AI Chat", - KernelExecute[ - With[ { Wolfram`ChatNB`nbo = InputNotebook[] }, - {Wolfram`ChatNB`cells = SelectedCells[Wolfram`ChatNB`nbo]}, - Quiet[Needs["Wolfram`Chatbook`" -> None]]; - Symbol["Wolfram`Chatbook`ChatbookAction"][ - "ExclusionToggle", - Wolfram`ChatNB`nbo, - Wolfram`ChatNB`cells - ] - ] - ], - MenuEvaluator -> Automatic, - Method -> "Queued" - ], - Delimiter, - MenuItem["Cu&t", "Cut"], - MenuItem["&Copy", "Copy"], - MenuItem["&Paste", FrontEnd`Paste[After]], - Menu[ - "Cop&y As", - { - MenuItem["Plain &Text", FrontEnd`CopySpecial["PlainText"]], - MenuItem["&Input Text", FrontEnd`CopySpecial["InputText"]], - MenuItem[ - "&LaTeX", - KernelExecute[ToExpression["FrontEnd`CopyAsTeX[]"]], - MenuEvaluator -> "System" + "CellBracket" -> + Dynamic[ + FEPrivate`Join[{MenuItem[#1, KernelExecute[With[{Wolfram`ChatNB`nbo = InputNotebook[]}, {Wolfram`ChatNB`cells = SelectedCells[Wolfram`ChatNB`nbo]}, Quiet[Needs["Wolfram`Chatbook`" -> None]]; Symbol["Wolfram`Chatbook`ChatbookAction"]["Ask", Wolfram`ChatNB`nbo, Wolfram`ChatNB`cells]]], MenuEvaluator -> Automatic, Method -> "Queued"], MenuItem[#2, KernelExecute[With[{Wolfram`ChatNB`nbo = InputNotebook[]}, {Wolfram`ChatNB`cells = SelectedCells[Wolfram`ChatNB`nbo]}, Quiet[Needs["Wolfram`Chatbook`" -> None]]; Symbol["Wolfram`Chatbook`ChatbookAction"]["ExclusionToggle", Wolfram`ChatNB`nbo, Wolfram`ChatNB`cells]]], MenuEvaluator -> Automatic, Method -> "Queued"], Delimiter}, FEPrivate`FrontEndResource["ContextMenus", "CellBracket"]] &[ + FEPrivate`FrontEndResource[ + "ChatbookStrings", + "StylesheetContextMenuAskAI" ], - MenuItem[ - "M&athML", - KernelExecute[ToExpression["FrontEnd`CopyAsMathML[]"]], - MenuEvaluator -> "System" - ], - Delimiter, - MenuItem[ - "Cell &Object", - FrontEnd`CopySpecial["CellObject"] - ], - MenuItem[ - "&Cell Expression", - FrontEnd`CopySpecial["CellExpression"] - ], - MenuItem[ - "&Notebook Expression", - FrontEnd`CopySpecial["NotebookExpression"] + FEPrivate`FrontEndResource[ + "ChatbookStrings", + "StylesheetContextMenuIncludeExclude" ] - } - ], - Delimiter, - MenuItem["&Evaluate Cell", "EvaluateCells"], - MenuItem[ - "&Remove from Evaluation Queue", - "RemoveFromEvaluationQueue" - ], - MenuItem[ - "Analyze Cell", - KernelExecute[ - Needs["CodeInspector`"]; - CodeInspector`AttachAnalysis[ - SelectedCells[InputNotebook[]] - ] - ], - MenuEvaluator -> Automatic, - Method -> "Queued" - ], - Delimiter, - Menu[ - "Con&vert To", - { - MenuItem["&InputForm", "SelectionConvert" -> InputForm], - MenuItem[ - "&Raw InputForm", - "SelectionConvert" -> RawInputForm - ], - MenuItem["&OutputForm", "SelectionConvert" -> OutputForm], - MenuItem[ - "First Convert to BoxForm", - "MenuListConvertFormatTypes", - MenuAnchor -> True - ], - Delimiter, - MenuItem["&Bitmap", "SelectionConvert" -> "Bitmap"] - } - ], - ToggleMenuItem[ - "&Initialization Cell", - InitializationCell -> Toggle - ], - MenuItem["Add/Remove Cell Tags...", "CellTagsEditDialog"], - Delimiter, - Menu[ - "&Style", - { - LinkedItems[ - { - MenuItem[ - "Start Cell Style Names", - "MenuListStyles", - MenuAnchor -> True - ] - } - ], - Delimiter, - MenuItem["&Other...", "StyleOther"] - } - ], - Menu[ - "Back&ground Color", - { - MenuItem["Palette...", "BackgroundDialog"], - Delimiter, - LinkedItems[ - { - MenuItem["None", Background -> None], - Delimiter, - MenuItem["Black", Background -> GrayLevel[0]], - MenuItem["Gray", Background -> GrayLevel[0.5]], - MenuItem["Light Gray", Background -> GrayLevel[0.85]], - MenuItem["White", Background -> GrayLevel[1]], - Delimiter, - MenuItem[ - "Light Blue", - Background -> RGBColor[0.87, 0.94, 1] - ], - MenuItem[ - "Light Brown", - Background -> RGBColor[0.94, 0.91, 0.88] - ], - MenuItem["Light Cyan", Background -> RGBColor[0.9, 1, 1]], - MenuItem[ - "Light Green", - Background -> RGBColor[0.88, 1, 0.88] - ], - MenuItem[ - "Light Magenta", - Background -> RGBColor[1, 0.9, 1] - ], - MenuItem[ - "Light Orange", - Background -> RGBColor[1, 0.9, 0.8] - ], - MenuItem[ - "Light Pink", - Background -> RGBColor[1, 0.925, 0.925] - ], - MenuItem[ - "Light Purple", - Background -> RGBColor[0.94, 0.88, 0.94] - ], - MenuItem[ - "Light Red", - Background -> RGBColor[1, 0.85, 0.85] - ], - MenuItem[ - "Light Yellow", - Background -> RGBColor[1, 1, 0.85] - ], - Delimiter, - MenuItem["Orange", Background -> RGBColor[1, 0.5, 0]], - MenuItem["Pink", Background -> RGBColor[1, 0.5, 0.5]], - MenuItem["Yellow", Background -> RGBColor[1, 1, 0]] - } - ] - } - ], - Menu[ - "Si&ze", - { - MenuItem["&Larger", FontSize -> Larger], - MenuItem["&Smaller", FontSize -> Smaller], - Delimiter, - LinkedItems[ - { - MenuItem["&9 Point", FontSize -> 9], - MenuItem["1&0 Point", FontSize -> 10], - MenuItem["&12 Point", FontSize -> 12], - MenuItem["1&4 Point", FontSize -> 14], - MenuItem["1&6 Point", FontSize -> 16], - MenuItem["1&8 Point", FontSize -> 18], - MenuItem["&24 Point", FontSize -> 24], - MenuItem["&36 Point", FontSize -> 36], - MenuItem["&72 Point", FontSize -> 72] - } - ] - } - ], - MenuItem["Clear &Formatting", "ClearCellOptions"], - Delimiter, - MenuItem["Save Se&lection As...", "SelectionSaveSpecial"], - MenuItem["Print Selection...", "PrintSelectionDialog"], - MenuItem["Spea&k Selection", "SelectionSpeak"], - Delimiter, - MenuItem[ - "Properties...", - "OptionsDialog", - Scope -> Selection - ] - }, - "CellGroup" -> { - MenuItem[ - "Include/Exclude From AI Chat", - KernelExecute[ - With[ { Wolfram`ChatNB`nbo = InputNotebook[] }, - {Wolfram`ChatNB`cells = SelectedCells[Wolfram`ChatNB`nbo]}, - Quiet[Needs["Wolfram`Chatbook`" -> None]]; - Symbol["Wolfram`Chatbook`ChatbookAction"][ - "ExclusionToggle", - Wolfram`ChatNB`nbo, - Wolfram`ChatNB`cells - ] - ] - ], - MenuEvaluator -> Automatic, - Method -> "Queued" - ], - Delimiter, - MenuItem["Cu&t", "Cut"], - MenuItem["&Copy", "Copy"], - MenuItem["&Paste", FrontEnd`Paste[After]], - Menu[ - "Cop&y As", - { - MenuItem["Plain &Text", FrontEnd`CopySpecial["PlainText"]], - MenuItem[ - "Cell &Object", - FrontEnd`CopySpecial["CellObject"] - ], - MenuItem[ - "&Cell Expression", - FrontEnd`CopySpecial["CellExpression"] - ], - MenuItem[ - "&Notebook Expression", - FrontEnd`CopySpecial["NotebookExpression"] - ] - } - ], - Delimiter, - MenuItem["&Merge Cells", "CellMerge"], - MenuItem["&Ungroup Cells", "CellUngroup"], - Delimiter, - MenuItem["Open&/Close Group", "OpenCloseGroup"], - MenuItem["&Open All Subgroups", "SelectionOpenAllGroups"], - MenuItem["C&lose All Subgroups", "SelectionCloseAllGroups"], - Delimiter, - MenuItem["&Evaluate Cells", "EvaluateCells"], - MenuItem[ - "&Remove from Evaluation Queue", - "RemoveFromEvaluationQueue" - ], - MenuItem[ - "Analyze Cells", - KernelExecute[ - Needs["CodeInspector`"]; - CodeInspector`AttachAnalysis[ - SelectedCells[InputNotebook[]] - ] - ], - MenuEvaluator -> Automatic, - Method -> "Queued" - ], - Delimiter, - MenuItem["Clear &Formatting", "ClearCellOptions"], - Menu[ - "&Style", - { - LinkedItems[ - { - MenuItem[ - "Start Cell Style Names", - "MenuListStyles", - MenuAnchor -> True - ] - } - ], - Delimiter, - MenuItem["&Other...", "StyleOther"] - } - ] - }, - "CellRange" -> { - MenuItem[ - "Include/Exclude From AI Chat", - KernelExecute[ - With[ { Wolfram`ChatNB`nbo = InputNotebook[] }, - {Wolfram`ChatNB`cells = SelectedCells[Wolfram`ChatNB`nbo]}, - Quiet[Needs["Wolfram`Chatbook`" -> None]]; - Symbol["Wolfram`Chatbook`ChatbookAction"][ - "ExclusionToggle", - Wolfram`ChatNB`nbo, - Wolfram`ChatNB`cells - ] - ] - ], - MenuEvaluator -> Automatic, - Method -> "Queued" + ] ], - Delimiter, - MenuItem["Cu&t", "Cut"], - MenuItem["&Copy", "Copy"], - MenuItem["&Paste", FrontEnd`Paste[After]], - Menu[ - "Cop&y As", - { - MenuItem["Plain &Text", FrontEnd`CopySpecial["PlainText"]], - MenuItem[ - "Cell &Object", - FrontEnd`CopySpecial["CellObject"] - ], - MenuItem[ - "&Cell Expression", - FrontEnd`CopySpecial["CellExpression"] - ], - MenuItem[ - "&Notebook Expression", - FrontEnd`CopySpecial["NotebookExpression"] + "CellGroup" -> + Dynamic[ + FEPrivate`Join[{MenuItem[#1, KernelExecute[With[{Wolfram`ChatNB`nbo = InputNotebook[]}, {Wolfram`ChatNB`cells = SelectedCells[Wolfram`ChatNB`nbo]}, Quiet[Needs["Wolfram`Chatbook`" -> None]]; Symbol["Wolfram`Chatbook`ChatbookAction"]["ExclusionToggle", Wolfram`ChatNB`nbo, Wolfram`ChatNB`cells]]], MenuEvaluator -> Automatic, Method -> "Queued"], Delimiter}, FEPrivate`FrontEndResource["ContextMenus", "CellGroup"]] &[ + FEPrivate`FrontEndResource[ + "ChatbookStrings", + "StylesheetContextMenuIncludeExclude" ] - } - ], - Delimiter, - MenuItem["&Merge Cells", "CellMerge"], - MenuItem["&Group Cells", "CellGroup"], - Delimiter, - MenuItem["&Open All Subgroups", "SelectionOpenAllGroups"], - MenuItem["C&lose All Subgroups", "SelectionCloseAllGroups"], - Delimiter, - MenuItem["&Evaluate Cells", "EvaluateCells"], - MenuItem[ - "&Remove from Evaluation Queue", - "RemoveFromEvaluationQueue" + ] ], - MenuItem[ - "Analyze Cells", - KernelExecute[ - Needs["CodeInspector`"]; - CodeInspector`AttachAnalysis[ - SelectedCells[InputNotebook[]] + "CellRange" -> + Dynamic[ + FEPrivate`Join[{MenuItem[#1, KernelExecute[With[{Wolfram`ChatNB`nbo = InputNotebook[]}, {Wolfram`ChatNB`cells = SelectedCells[Wolfram`ChatNB`nbo]}, Quiet[Needs["Wolfram`Chatbook`" -> None]]; Symbol["Wolfram`Chatbook`ChatbookAction"]["ExclusionToggle", Wolfram`ChatNB`nbo, Wolfram`ChatNB`cells]]], MenuEvaluator -> Automatic, Method -> "Queued"], Delimiter}, FEPrivate`FrontEndResource["ContextMenus", "CellRange"]] &[ + FEPrivate`FrontEndResource[ + "ChatbookStrings", + "StylesheetContextMenuIncludeExclude" ] - ], - MenuEvaluator -> Automatic, - Method -> "Queued" - ], - Delimiter, - MenuItem["Clear &Formatting", "ClearCellOptions"], - Menu[ - "&Style", - { - LinkedItems[ - { - MenuItem[ - "Start Cell Style Names", - "MenuListStyles", - MenuAnchor -> True - ] - } - ], - Delimiter, - MenuItem["&Other...", "StyleOther"] - } + ] ] - } |> ], Cell[ StyleData["ChatStyleSheetInformation"], - TaggingRules -> <|"StyleSheetVersion" -> "1.5.0.3931772186"|> + TaggingRules -> <|"StyleSheetVersion" -> "1.5.1.3933057070"|> ], Cell[ StyleData["Text"], - ContextMenu -> { - MenuItem[ - "Ask AI Assistant", - KernelExecute[ - With[ { Wolfram`ChatNB`nbo = InputNotebook[] }, - {Wolfram`ChatNB`cells = SelectedCells[Wolfram`ChatNB`nbo]}, - Quiet[Needs["Wolfram`Chatbook`" -> None]]; - Symbol["Wolfram`Chatbook`ChatbookAction"][ - "Ask", - Wolfram`ChatNB`nbo, - Wolfram`ChatNB`cells - ] - ] - ], - MenuEvaluator -> Automatic, - Method -> "Queued" - ], - Delimiter, - MenuItem["Cu&t", "Cut"], - MenuItem["&Copy", "Copy"], - MenuItem["&Paste", FrontEnd`Paste[After]], - Menu[ - "Cop&y As", - { - MenuItem["Plain &Text", FrontEnd`CopySpecial["PlainText"]], - MenuItem["&Input Text", FrontEnd`CopySpecial["InputText"]], - MenuItem[ - "&LaTeX", - KernelExecute[ToExpression["FrontEnd`CopyAsTeX[]"]], - MenuEvaluator -> "System" - ], - MenuItem[ - "M&athML", - KernelExecute[ToExpression["FrontEnd`CopyAsMathML[]"]], - MenuEvaluator -> "System" - ], - Delimiter, - MenuItem[ - "Cell &Object", - FrontEnd`CopySpecial["CellObject"] - ], - MenuItem[ - "&Cell Expression", - FrontEnd`CopySpecial["CellExpression"] - ], - MenuItem[ - "&Notebook Expression", - FrontEnd`CopySpecial["NotebookExpression"] - ] - } - ], - Delimiter, - MenuItem["Make &Hyperlink...", "CreateHyperlinkDialog"], - MenuItem[ - "Insert Table/&Matrix...", - FrontEndExecute[ - { - FrontEnd`NotebookOpen[ - FrontEnd`FindFileOnPath[ - "InsertGrid.nb", - "PrivatePathsSystemResources" - ] - ] - } - ] - ], - MenuItem["Chec&k Spelling...", "FindNextMisspelling"], - Menu[ - "Citatio&n", - { - MenuItem[ - "Insert Bibliographical &Reference...", - "InsertBibReference" - ], - MenuItem[ - "Insert Bibliographical &Note...", - "InsertBibNote" - ], - Delimiter, - MenuItem[ - "Set / Change Citation &Style...", - "SetCitationStyle" - ], - MenuItem[ - "&Insert Bibliography and Notes", - "InsertBibAndNotes" - ], - MenuItem[ - "&Delete Bibliography and Notes", - "DeleteBibAndNotes" - ], - MenuItem[ - "Re&build Bibliography and Notes", - "RebuildBibAndNotes" + ContextMenu -> + Dynamic[ + FEPrivate`Join[{MenuItem[#1, KernelExecute[With[{Wolfram`ChatNB`nbo = InputNotebook[]}, {Wolfram`ChatNB`cells = SelectedCells[Wolfram`ChatNB`nbo]}, Quiet[Needs["Wolfram`Chatbook`" -> None]]; Symbol["Wolfram`Chatbook`ChatbookAction"]["Ask", Wolfram`ChatNB`nbo, Wolfram`ChatNB`cells]]], MenuEvaluator -> Automatic, Method -> "Queued"], Delimiter}, FEPrivate`FrontEndResource["ContextMenus", "Text"]] &[ + FEPrivate`FrontEndResource[ + "ChatbookStrings", + "StylesheetContextMenuAskAI" ] - } - ], - Delimiter, - Menu[ - "Sty&le", - { - MenuItem[ - "Start Cell Style Names", - "MenuListStyles", - MenuAnchor -> True - ], - Delimiter, - MenuItem["&Other...", "StyleOther"] - } - ], - Delimiter, - MenuItem["Create Inline Cell", "CreateInlineCell"], - MenuItem["Di&vide Cell", "CellSplit"], - MenuItem["Evaluate &in Place", All], - Delimiter, - MenuItem[ - "Toggle &Full Screen", - FrontEndExecute[ - FrontEnd`Value[FEPrivate`NotebookToggleFullScreen[]] ] ] - } ], Cell[ StyleData["Input"], @@ -1321,238 +859,28 @@ Notebook[ Wolfram`ChatNB`cell ] ], - ContextMenu -> { - MenuItem[ - "Ask AI Assistant", - KernelExecute[ - With[ { Wolfram`ChatNB`nbo = InputNotebook[] }, - {Wolfram`ChatNB`cells = SelectedCells[Wolfram`ChatNB`nbo]}, - Quiet[Needs["Wolfram`Chatbook`" -> None]]; - Symbol["Wolfram`Chatbook`ChatbookAction"][ - "Ask", - Wolfram`ChatNB`nbo, - Wolfram`ChatNB`cells - ] - ] - ], - MenuEvaluator -> Automatic, - Method -> "Queued" - ], - Delimiter, - MenuItem["Cu&t", "Cut"], - MenuItem["&Copy", "Copy"], - MenuItem["&Paste", FrontEnd`Paste[After]], - Menu[ - "Cop&y As", - { - MenuItem["Plain &Text", FrontEnd`CopySpecial["PlainText"]], - MenuItem["&Input Text", FrontEnd`CopySpecial["InputText"]], - MenuItem[ - "&LaTeX", - KernelExecute[ToExpression["FrontEnd`CopyAsTeX[]"]], - MenuEvaluator -> "System" - ], - MenuItem[ - "M&athML", - KernelExecute[ToExpression["FrontEnd`CopyAsMathML[]"]], - MenuEvaluator -> "System" - ], - Delimiter, - MenuItem[ - "Cell &Object", - FrontEnd`CopySpecial["CellObject"] - ], - MenuItem[ - "&Cell Expression", - FrontEnd`CopySpecial["CellExpression"] - ], - MenuItem[ - "&Notebook Expression", - FrontEnd`CopySpecial["NotebookExpression"] - ] - } - ], - Delimiter, - MenuItem["&Evaluate Cell", "EvaluateCells"], - MenuItem["Evaluate &in Place", All], - MenuItem[ - "Analyze Cell", - KernelExecute[ - Needs["CodeInspector`"]; - CodeInspector`AttachAnalysis[ - SelectedCells[InputNotebook[]] + ContextMenu -> + Dynamic[ + FEPrivate`Join[{MenuItem[#1, KernelExecute[With[{Wolfram`ChatNB`nbo = InputNotebook[]}, {Wolfram`ChatNB`cells = SelectedCells[Wolfram`ChatNB`nbo]}, Quiet[Needs["Wolfram`Chatbook`" -> None]]; Symbol["Wolfram`Chatbook`ChatbookAction"]["Ask", Wolfram`ChatNB`nbo, Wolfram`ChatNB`cells]]], MenuEvaluator -> Automatic, Method -> "Queued"], Delimiter}, FEPrivate`FrontEndResource["ContextMenus", "Input"]] &[ + FEPrivate`FrontEndResource[ + "ChatbookStrings", + "StylesheetContextMenuAskAI" ] - ], - MenuEvaluator -> Automatic, - Method -> "Queued" - ], - Menu[ - "C&onvert To", - { - MenuItem["&InputForm", "SelectionConvert" -> InputForm], - MenuItem[ - "&Raw InputForm", - "SelectionConvert" -> RawInputForm - ], - MenuItem["&OutputForm", "SelectionConvert" -> OutputForm], - MenuItem[ - "First Convert to BoxForm", - "MenuListConvertFormatTypes", - MenuAnchor -> True - ], - Delimiter, - MenuItem["&Bitmap", "SelectionConvert" -> "Bitmap"] - } - ], - Delimiter, - MenuItem["Make &Hyperlink...", "CreateHyperlinkDialog"], - MenuItem[ - "Insert Table/&Matrix...", - FrontEndExecute[ - { - FrontEnd`NotebookOpen[ - FrontEnd`FindFileOnPath[ - "InsertGrid.nb", - "PrivatePathsSystemResources" - ] - ] - } - ] - ], - MenuItem[ - "Insert &Special Character...", - FrontEndExecute[ - {FrontEnd`NotebookOpen["SpecialCharacters.nb"]} - ] - ], - Delimiter, - MenuItem["Check &Balance", "Balance"], - MenuItem["Di&vide Cell", "CellSplit"], - MenuItem[ - "&Un/Comment Selection", - KernelExecute[ToExpression["FE`toggleComment[]"]], - MenuEvaluator -> "System" - ], - MenuItem[ - "Un/Iconi&ze Selection", - KernelExecute[ToExpression["FE`iconizeSelectionToggle[]"]], - MenuEvaluator -> Automatic - ], - Delimiter, - MenuItem["&Get Help", FrontEnd`SelectionHelpDialog[True]], - MenuItem[ - "Why the Coloring?...", - FrontEndExecute[ - { - FrontEnd`NotebookOpen[ - FrontEnd`FindFileOnPath[ - "WhyTheColoring.nb", - "PrivatePathsSystemResources" - ] - ] - } - ] - ], - MenuItem["Spea&k Selection", "SelectionSpeak"], - Delimiter, - MenuItem[ - "Toggle &Full Screen", - FrontEndExecute[ - FrontEnd`Value[FEPrivate`NotebookToggleFullScreen[]] ] ] - } ], Cell[ StyleData["Output"], CellTrayWidgets -> <|"GearMenu" -> <|"Condition" -> False|>|>, - ContextMenu -> { - MenuItem[ - "Ask AI Assistant", - KernelExecute[ - With[ { Wolfram`ChatNB`nbo = InputNotebook[] }, - {Wolfram`ChatNB`cells = SelectedCells[Wolfram`ChatNB`nbo]}, - Quiet[Needs["Wolfram`Chatbook`" -> None]]; - Symbol["Wolfram`Chatbook`ChatbookAction"][ - "Ask", - Wolfram`ChatNB`nbo, - Wolfram`ChatNB`cells - ] - ] - ], - MenuEvaluator -> Automatic, - Method -> "Queued" - ], - Delimiter, - MenuItem["Cu&t", "Cut"], - MenuItem["&Copy", "Copy"], - MenuItem["&Paste", FrontEnd`Paste[After]], - Menu[ - "Cop&y As", - { - MenuItem["Plain &Text", FrontEnd`CopySpecial["PlainText"]], - MenuItem["&Input Text", FrontEnd`CopySpecial["InputText"]], - MenuItem[ - "&LaTeX", - KernelExecute[ToExpression["FrontEnd`CopyAsTeX[]"]], - MenuEvaluator -> "System" - ], - MenuItem[ - "M&athML", - KernelExecute[ToExpression["FrontEnd`CopyAsMathML[]"]], - MenuEvaluator -> "System" - ], - Delimiter, - MenuItem[ - "Cell &Object", - FrontEnd`CopySpecial["CellObject"] - ], - MenuItem[ - "&Cell Expression", - FrontEnd`CopySpecial["CellExpression"] - ], - MenuItem[ - "&Notebook Expression", - FrontEnd`CopySpecial["NotebookExpression"] + ContextMenu -> + Dynamic[ + FEPrivate`Join[{MenuItem[#1, KernelExecute[With[{Wolfram`ChatNB`nbo = InputNotebook[]}, {Wolfram`ChatNB`cells = SelectedCells[Wolfram`ChatNB`nbo]}, Quiet[Needs["Wolfram`Chatbook`" -> None]]; Symbol["Wolfram`Chatbook`ChatbookAction"]["Ask", Wolfram`ChatNB`nbo, Wolfram`ChatNB`cells]]], MenuEvaluator -> Automatic, Method -> "Queued"], Delimiter}, FEPrivate`FrontEndResource["ContextMenus", "Output"]] &[ + FEPrivate`FrontEndResource[ + "ChatbookStrings", + "StylesheetContextMenuAskAI" ] - } - ], - Delimiter, - Menu[ - "Con&vert To", - { - MenuItem["&InputForm", "SelectionConvert" -> InputForm], - MenuItem[ - "&Raw InputForm", - "SelectionConvert" -> RawInputForm - ], - MenuItem["&OutputForm", "SelectionConvert" -> OutputForm], - MenuItem[ - "First Convert to BoxForm", - "MenuListConvertFormatTypes", - MenuAnchor -> True - ], - Delimiter, - MenuItem["&Bitmap", "SelectionConvert" -> "Bitmap"] - } - ], - Delimiter, - MenuItem[ - "Un/Iconi&ze Selection", - KernelExecute[ToExpression["FE`iconizeSelectionToggle[]"]], - MenuEvaluator -> Automatic - ], - Delimiter, - MenuItem["&Get Help", FrontEnd`SelectionHelpDialog[True]], - MenuItem["Spea&k Selection", "SelectionSpeak"], - Delimiter, - MenuItem[ - "Toggle &Full Screen", - FrontEndExecute[ - FrontEnd`Value[FEPrivate`NotebookToggleFullScreen[]] ] ] - } ], Cell[ StyleData["Message"], diff --git a/FrontEnd/TextResources/ChatbookStrings.tr b/FrontEnd/TextResources/ChatbookStrings.tr index caae4a34..10f7201b 100644 --- a/FrontEnd/TextResources/ChatbookStrings.tr +++ b/FrontEnd/TextResources/ChatbookStrings.tr @@ -162,6 +162,8 @@ "StylesheetCopyChatObject" -> "Copy ChatObject", "StylesheetInsertionMenuChatInput" -> "Chat Input", "StylesheetInsertionMenuSideChat" -> "Side Chat", +"StylesheetContextMenuAskAI" -> "Ask AI Assistant", +"StylesheetContextMenuIncludeExclude" -> "Include/Exclude From AI Chat", "PersonaNameBirdnardo" -> "Birdnardo", "PersonaNameCodeAssistant" -> "Code Assistant", diff --git a/FrontEnd/TextResources/ChineseSimplified/ChatbookStrings.tr b/FrontEnd/TextResources/ChineseSimplified/ChatbookStrings.tr index 69c7c0ce..7c0077a4 100644 --- a/FrontEnd/TextResources/ChineseSimplified/ChatbookStrings.tr +++ b/FrontEnd/TextResources/ChineseSimplified/ChatbookStrings.tr @@ -162,6 +162,8 @@ "StylesheetCopyChatObject" -> "\:590D\:5236 ChatObject", "StylesheetInsertionMenuChatInput" -> "\:804A\:5929\:8F93\:5165", "StylesheetInsertionMenuSideChat" -> "\:79C1\:804A", +"StylesheetContextMenuAskAI" -> "Ask AI Assistant", +"StylesheetContextMenuIncludeExclude" -> "Include/Exclude From AI Chat", "PersonaNameBirdnardo" -> "Birdnardo", "PersonaNameCodeAssistant" -> "\:4EE3\:7801\:52A9\:624B", diff --git a/FrontEnd/TextResources/ChineseTraditional/ChatbookStrings.tr b/FrontEnd/TextResources/ChineseTraditional/ChatbookStrings.tr index abff0bf2..15629e30 100644 --- a/FrontEnd/TextResources/ChineseTraditional/ChatbookStrings.tr +++ b/FrontEnd/TextResources/ChineseTraditional/ChatbookStrings.tr @@ -162,6 +162,8 @@ "StylesheetCopyChatObject" -> "\:8907\:88FD ChatObject", "StylesheetInsertionMenuChatInput" -> "\:7DB2\:8DEF\:804A\:5929\:7CFB\:7D71\:8F38\:5165", "StylesheetInsertionMenuSideChat" -> "Side Chat \:FF08\:585E\:6390\:FF09", +"StylesheetContextMenuAskAI" -> "Ask AI Assistant", +"StylesheetContextMenuIncludeExclude" -> "Include/Exclude From AI Chat", "PersonaNameBirdnardo" -> "Birdnardo", "PersonaNameCodeAssistant" -> "\:7DE8\:78BC\:5C0F\:5E6B\:624B", diff --git a/FrontEnd/TextResources/French/ChatbookStrings.tr b/FrontEnd/TextResources/French/ChatbookStrings.tr index 7a6eadf4..91fa8a73 100644 --- a/FrontEnd/TextResources/French/ChatbookStrings.tr +++ b/FrontEnd/TextResources/French/ChatbookStrings.tr @@ -162,6 +162,8 @@ "StylesheetCopyChatObject" -> "Copier l\[CloseCurlyQuote]objet de Chat", "StylesheetInsertionMenuChatInput" -> "Entr\[EAcute]e de chat", "StylesheetInsertionMenuSideChat" -> "Chat lat\[EAcute]ral", +"StylesheetContextMenuAskAI" -> "Ask AI Assistant", +"StylesheetContextMenuIncludeExclude" -> "Include/Exclude From AI Chat", "PersonaNameBirdnardo" -> "Birdnardo", "PersonaNameCodeAssistant" -> "Assistant de code", diff --git a/FrontEnd/TextResources/Japanese/ChatbookStrings.tr b/FrontEnd/TextResources/Japanese/ChatbookStrings.tr index ba877dd0..e326953b 100644 --- a/FrontEnd/TextResources/Japanese/ChatbookStrings.tr +++ b/FrontEnd/TextResources/Japanese/ChatbookStrings.tr @@ -162,6 +162,8 @@ "StylesheetCopyChatObject" -> "ChatObject\:3092\:30b3\:30d4\:30fc\:3059\:308b", "StylesheetInsertionMenuChatInput" -> "\:30c1\:30e3\:30c3\:30c8\:5165\:529b", "StylesheetInsertionMenuSideChat" -> "\:30b5\:30a4\:30c9\:30c1\:30e3\:30c3\:30c8", +"StylesheetContextMenuAskAI" -> "Ask AI Assistant", +"StylesheetContextMenuIncludeExclude" -> "Include/Exclude From AI Chat", "PersonaNameBirdnardo" -> "Birdnardo", "PersonaNameCodeAssistant" -> "Code Assistant", diff --git a/FrontEnd/TextResources/Korean/ChatbookStrings.tr b/FrontEnd/TextResources/Korean/ChatbookStrings.tr index 0a861cfc..d12a632c 100644 --- a/FrontEnd/TextResources/Korean/ChatbookStrings.tr +++ b/FrontEnd/TextResources/Korean/ChatbookStrings.tr @@ -163,6 +163,8 @@ "StylesheetCopyChatObject" -> "ChatObject \:BCF5\:C0AC", "StylesheetInsertionMenuChatInput" -> "\:CC44\:D305 \:C785\:B825", "StylesheetInsertionMenuSideChat" -> "\:C0AC\:C774\:B4DC \:CC44\:D305", +"StylesheetContextMenuAskAI" -> "Ask AI Assistant", +"StylesheetContextMenuIncludeExclude" -> "Include/Exclude From AI Chat", "PersonaNameBirdnardo" -> "Birdnardo", "PersonaNameCodeAssistant" -> "Code Assistant", diff --git a/FrontEnd/TextResources/Spanish/ChatbookStrings.tr b/FrontEnd/TextResources/Spanish/ChatbookStrings.tr index 86f37b27..cfe589b6 100644 --- a/FrontEnd/TextResources/Spanish/ChatbookStrings.tr +++ b/FrontEnd/TextResources/Spanish/ChatbookStrings.tr @@ -162,6 +162,8 @@ "StylesheetCopyChatObject" -> "Copiar ChatObject", "StylesheetInsertionMenuChatInput" -> "Entrada de chat", "StylesheetInsertionMenuSideChat" -> "Chat lateral", +"StylesheetContextMenuAskAI" -> "Ask AI Assistant", +"StylesheetContextMenuIncludeExclude" -> "Include/Exclude From AI Chat", "PersonaNameBirdnardo" -> "Birdnardo", "PersonaNameCodeAssistant" -> "Asistente de c\[OAcute]digo", From 975a5a523c339b989ad0feeadc10845b2795c0de Mon Sep 17 00:00:00 2001 From: Kevin Daily Date: Mon, 19 Aug 2024 15:19:46 -0700 Subject: [PATCH 017/180] Fix 447860: let long menu item labels line wrap --- Source/Chatbook/UI.wl | 52 ++++++++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/Source/Chatbook/UI.wl b/Source/Chatbook/UI.wl index a48c739a..f81982a3 100644 --- a/Source/Chatbook/UI.wl +++ b/Source/Chatbook/UI.wl @@ -111,20 +111,15 @@ SetFallthroughError[createChatNotEnabledToolbar] createChatNotEnabledToolbar[ nbObj_NotebookObject, menuCell_CellObject -] := Module[{ - button -}, - button = EventHandler[ +] := + EventHandler[ makeEnableAIChatFeaturesLabel[False], "MouseClicked" :> ( tryMakeChatEnabledNotebook[nbObj, menuCell] ), (* Needed so that we can open a ChoiceDialog if required. *) Method -> "Queued" - ]; - - Pane[button, {$chatMenuWidth, Automatic}] -] + ] (*====================================*) @@ -232,19 +227,32 @@ makeAutomaticResultAnalysisCheckbox[ }, labeledCheckbox[ Dynamic[ autoAssistQ @ target, setterFunction ], - Row @ { - tr[ "UIAutomaticAnalysisLabel" ], - Spacer[ 3 ], - Tooltip[ chatbookIcon[ "InformationTooltip", False ], tr[ "UIAutomaticAnalysisTooltip" ] ] - } + (* We can only get the tooltip to glue itself to the text by first literalizing the text resource as a string before typesetting to RowBox. *) + Dynamic @ Row[ + { + FrontEndResource[ "ChatbookStrings", "UIAutomaticAnalysisLabel" ], + Spacer[ 3 ], + Tooltip[ chatbookIcon[ "InformationTooltip", False ], FrontEndResource[ "ChatbookStrings", "UIAutomaticAnalysisTooltip" ] ] + }, + "\[NoBreak]", StripOnInput -> True] ] ] (*====================================*) +SetFallthroughError[menuItemLineWrap] + +menuItemLineWrap[label_, width_ : 50] := +Pane[ + label, + $chatMenuWidth - width, + BaselinePosition -> Baseline, BaseStyle -> { LineBreakWithin -> Automatic, LineIndent -> -0.05, LinebreakAdjustments -> { 1, 10, 1, 0, 1 } } ] + +(*====================================*) + SetFallthroughError[labeledCheckbox] -labeledCheckbox[value_, label_, enabled_ : Automatic] := Style[ +labeledCheckbox[value_, label_, enabled_ : Automatic] := Row[ { Checkbox[ @@ -253,7 +261,7 @@ labeledCheckbox[value_, label_, enabled_ : Automatic] := Style[ Enabled -> enabled ], Spacer[3], - label + menuItemLineWrap @ label }, BaseStyle -> { "Text", @@ -262,9 +270,7 @@ labeledCheckbox[value_, label_, enabled_ : Automatic] := Style[ Preferences.nb *) CheckboxBoxOptions -> { ImageMargins -> 0 } } - ], - LineBreakWithin -> False -] + ] (*====================================*) @@ -280,7 +286,7 @@ makeToolCallFrequencySlider[ obj_ ] := ] ] ], - Style[ tr[ "UIAdvancedChooseAutomatically" ], "ChatMenuLabel" ] + Style[ menuItemLineWrap @ tr[ "UIAdvancedChooseAutomatically" ], "ChatMenuLabel" ] ]; slider = Pane[ Grid[ @@ -720,7 +726,7 @@ makeChatActionMenuContent[ } }, { - tr[ "UIAdvancedToolCallFrequency" ], + menuItemLineWrap @ tr[ "UIAdvancedToolCallFrequency" ], { None, makeToolCallFrequencySlider[toolValue], @@ -761,7 +767,7 @@ makeChatActionMenuContent[ }, { alignedMenuIcon[persona, personaValue, icon], - personaDisplayName[persona, personaSettings], + menuItemLineWrap @ personaDisplayName[persona, personaSettings], Hold[callback["Persona", persona];updateDynamics[{"ChatBlock"}]] } ], @@ -780,8 +786,8 @@ makeChatActionMenuContent[ }] }], Delimiter, - {alignedMenuIcon[getIcon["PersonaOther"]], tr[ "UIAddAndManagePersonas" ], "PersonaManage"}, - {alignedMenuIcon[getIcon["ToolManagerRepository"]], tr[ "UIAddAndManageTools" ], "ToolManage"}, + {alignedMenuIcon[getIcon["PersonaOther"]], menuItemLineWrap @ tr[ "UIAddAndManagePersonas" ], "PersonaManage"}, + {alignedMenuIcon[getIcon["ToolManagerRepository"]], menuItemLineWrap @ tr[ "UIAddAndManageTools" ], "ToolManage"}, Delimiter, <| "Label" -> tr[ "UIModels" ], From 2de1d9a1819adb87796c29ace5fa667a15b0b7f9 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 20 Aug 2024 06:58:02 -0400 Subject: [PATCH 018/180] Initial work to set fine-grained service caller for code assistance --- .../Chatbook/ChatModes/ShowCodeAssistance.wl | 5 ++- Source/Chatbook/Common.wl | 31 ++++++++++++++----- Source/Chatbook/CommonSymbols.wl | 1 + 3 files changed, 29 insertions(+), 8 deletions(-) diff --git a/Source/Chatbook/ChatModes/ShowCodeAssistance.wl b/Source/Chatbook/ChatModes/ShowCodeAssistance.wl index 19efe860..b18ab13a 100644 --- a/Source/Chatbook/ChatModes/ShowCodeAssistance.wl +++ b/Source/Chatbook/ChatModes/ShowCodeAssistance.wl @@ -14,9 +14,12 @@ $workspaceChatWidth = 325; $workspaceChatNotebookOptions = Sequence[ DefaultNewCellStyle -> "AutoMoveToChatInputField", - StyleDefinitions -> FrontEnd`FileName[ { "Wolfram" }, "WorkspaceChat.nb", CharacterEncoding -> "UTF-8" ] + StyleDefinitions -> FrontEnd`FileName[ { "Wolfram" }, "WorkspaceChat.nb", CharacterEncoding -> "UTF-8" ], + TaggingRules -> <| "ChatNotebookSettings" -> <| "ServiceCaller" -> "CodeAssistance" |> |> ]; +(* TODO: set $serviceCaller from chat settings *) + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*EnableCodeAssistance*) diff --git a/Source/Chatbook/Common.wl b/Source/Chatbook/Common.wl index b59445f2..b831e91e 100644 --- a/Source/Chatbook/Common.wl +++ b/Source/Chatbook/Common.wl @@ -156,6 +156,7 @@ $$size = Infinity | (_Real|_Integer)? NonNegative; $$unspecified = _Missing | Automatic | Inherited; $$feObj = _FrontEndObject | $FrontEndSession | _NotebookObject | _CellObject | _BoxObject; $$template = _String|_TemplateObject|_TemplateExpression|_TemplateSequence; +$$serviceCaller = _String? StringQ | { ___String? StringQ }; (* Helper functions for held pattern tests: *) u[ f_ ] := Function[ Null, f @ Unevaluated @ #, HoldAllComplete ]; @@ -775,23 +776,39 @@ makeInternalFailureData[ eval_, args___ ] := (* ::Subsection::Closed:: *) (*setServiceCaller*) setServiceCaller // beginDefinition; -setServiceCaller // Attributes = { HoldFirst }; -setServiceCaller[ eval_ ] := ( +setServiceCaller[ eval_ ] := + setServiceCaller[ eval, chatbookServiceCaller[ ] ]; + +setServiceCaller[ eval_, caller_ ] := ( Quiet @ Needs[ "ServiceConnectionUtilities`" -> None ]; - setServiceCaller[ eval, ServiceConnectionUtilities`$Caller ] + setServiceCaller[ eval, caller, ServiceConnectionUtilities`$Caller ] ); -setServiceCaller[ eval_, { c___ } ] := - Block[ { ServiceConnectionUtilities`$Caller = { c, "Chatbook" }, setServiceCaller = # & }, +setServiceCaller[ eval_, caller: $$serviceCaller, { current___ } ] := + Block[ { ServiceConnectionUtilities`$Caller = DeleteDuplicates @ Flatten @ { current, "Chatbook", caller } }, eval ]; -setServiceCaller[ eval_, _ ] := - setServiceCaller[ eval, { } ]; +setServiceCaller[ eval_, caller_, _ ] := + setServiceCaller[ eval, caller, { } ]; +setServiceCaller // Attributes = { HoldFirst }; setServiceCaller // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*chatbookServiceCaller*) +chatbookServiceCaller // beginDefinition; + +chatbookServiceCaller[ ] := Flatten @ { + If[ TrueQ @ $InlineChat, "InlineChat", Nothing ], + If[ TrueQ @ $WorkspaceChat, "WorkspaceChat", Nothing ], + Replace[ $serviceCaller, Except[ $$serviceCaller ] -> Nothing ] +}; + +chatbookServiceCaller // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Bug Report Link Generation*) diff --git a/Source/Chatbook/CommonSymbols.wl b/Source/Chatbook/CommonSymbols.wl index d2cbd094..507e0d7e 100644 --- a/Source/Chatbook/CommonSymbols.wl +++ b/Source/Chatbook/CommonSymbols.wl @@ -55,6 +55,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `$sandboxKernelCommandLine; `$selectedTools; `$serviceCache; +`$serviceCaller; `$servicesLoaded; `$statelessProgressIndicator; `$suppressButtonAppearance; From e0e801817351fa2173117aad18a20d7b9868bd52 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 20 Aug 2024 07:31:24 -0400 Subject: [PATCH 019/180] Avoid CodeInspector UnscopedObjectError hint --- Developer/StylesheetBuilder.wl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Developer/StylesheetBuilder.wl b/Developer/StylesheetBuilder.wl index e6cd8be0..0cab1b7e 100644 --- a/Developer/StylesheetBuilder.wl +++ b/Developer/StylesheetBuilder.wl @@ -313,17 +313,18 @@ $excludeMenuItem = MenuItem[ FrontEnd to first resolve the string resources before it tries to resolve the ContextMenu. *) contextMenu[ a___, name_String, b___ ] := contextMenu[ a, FEPrivate`FrontEndResource[ "ContextMenus", name ], b ]; -contextMenu[ a : (_List | _FEPrivate`FrontEndResource).. ] := +contextMenu[ a : (_List | _FEPrivate`FrontEndResource).. ] := With[ { slot = Slot }, Replace[ Reap @ Module[ { i = 1 }, Replace[ FEPrivate`Join[ a ], - MenuItem[ s_String, rest__ ] :> ( Sow[ FEPrivate`FrontEndResource[ "ChatbookStrings", s ] ]; MenuItem[ Slot[ i++ ], rest ] ), + MenuItem[ s_String, rest__ ] :> ( Sow[ FEPrivate`FrontEndResource[ "ChatbookStrings", s ] ]; MenuItem[ slot[ i++ ], rest ] ), { 2 } ] ], { menu_FEPrivate`Join, { { resourceStrings__ } } } :> Dynamic[ Function[ menu ][ resourceStrings ] ] ] +] (* ::Subsection::Closed:: *) From 90ff7f6ecdf0fab96aa8767febb6be904e3e619e Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 20 Aug 2024 08:29:12 -0400 Subject: [PATCH 020/180] Improve display name for chatgpt-4o-latest --- Source/Chatbook/Models.wl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Source/Chatbook/Models.wl b/Source/Chatbook/Models.wl index ed87d1b1..6794e689 100644 --- a/Source/Chatbook/Models.wl +++ b/Source/Chatbook/Models.wl @@ -272,6 +272,9 @@ modelNameData0[ model_String ] := "-"|" " ]; +modelNameData0[ { before___, "chatgpt", after___ } ] := + modelNameData0 @ { before, "ChatGPT", after }; + modelNameData0[ { "gpt", rest___ } ] := modelNameData0 @ { "GPT", rest }; @@ -301,6 +304,9 @@ modelNameData0[ { "GPT", version_String, rest___ } ] /; StringStartsQ[ version, modelNameData0[ { "GPT-4o", rest___ } ] := modelNameData0 @ { "GPT-4", "Omni", rest }; +modelNameData0[ { before___, gpt_String, "4o", after___ } ] /; StringEndsQ[ gpt, "gpt", IgnoreCase -> True ] := + modelNameData0 @ { before, gpt<>"-4", "Omni", after }; + modelNameData0[ parts: { __String } ] := <| "BaseName" -> StringRiffle @ Capitalize @ parts |>; From e3513946ef9e46dae3dfd35388fe3664361df5ba Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 20 Aug 2024 08:29:47 -0400 Subject: [PATCH 021/180] Use gpt-4 icon for chatgpt-4o-latest --- Source/Chatbook/Models.wl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Chatbook/Models.wl b/Source/Chatbook/Models.wl index 6794e689..bdf3fffb 100644 --- a/Source/Chatbook/Models.wl +++ b/Source/Chatbook/Models.wl @@ -487,7 +487,7 @@ modelIcon[ name_String ] /; StringStartsQ[ name, "ft:" ] := modelIcon[ gpt_String ] /; StringStartsQ[ gpt, "gpt-3.5" ] := RawBoxes @ TemplateBox[ { }, "ModelGPT35" ]; -modelIcon[ gpt_String ] /; StringStartsQ[ gpt, "gpt-4" ] := +modelIcon[ gpt_String ] /; StringStartsQ[ gpt, "gpt-4"|"chatgpt-4" ] := RawBoxes @ TemplateBox[ { }, "ModelGPT4" ]; modelIcon[ name_String ] := From f9659ceb24703c139275d168ebaa6395cf39be44 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 20 Aug 2024 08:30:25 -0400 Subject: [PATCH 022/180] Set other properties for chatgpt-4o-latest --- Source/Chatbook/Models.wl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Chatbook/Models.wl b/Source/Chatbook/Models.wl index bdf3fffb..b1480401 100644 --- a/Source/Chatbook/Models.wl +++ b/Source/Chatbook/Models.wl @@ -107,7 +107,7 @@ $fallbackModelList = { "gpt-3.5-turbo", "gpt-3.5-turbo-16k", "gpt-4" }; (*chatModelQ*) chatModelQ // beginDefinition; chatModelQ[ _? (modelContains[ "instruct" ]) ] := False; -chatModelQ[ _? (modelContains[ StartOfString~~("gpt"|"ft:gpt") ]) ] := True; +chatModelQ[ _? (modelContains[ StartOfString~~("gpt"|"ft:gpt"|"chatgpt-4o") ]) ] := True; chatModelQ[ _String ] := False; chatModelQ // endDefinition; @@ -193,7 +193,7 @@ multimodalModelQ[ "gpt-4-turbo" ] := multimodalModelQ[ name_String? StringQ ] /; StringStartsQ[ name, "claude-3" ] := True; -multimodalModelQ[ name_String? StringQ ] /; StringStartsQ[ name, "gpt-4o"|"gpt-4o-mini" ] := +multimodalModelQ[ name_String? StringQ ] /; StringStartsQ[ name, "gpt-4o"|"gpt-4o-mini"|"chatgpt-4o" ] := True; multimodalModelQ[ name_String? StringQ ] /; StringStartsQ[ name, "gpt-4-turbo-" ] := From 1e90be777d4d5645a20f00683fa85669b8079783 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 20 Aug 2024 08:55:46 -0400 Subject: [PATCH 023/180] Set max tokens --- Source/Chatbook/Settings.wl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Chatbook/Settings.wl b/Source/Chatbook/Settings.wl index 2e586699..9378ef23 100644 --- a/Source/Chatbook/Settings.wl +++ b/Source/Chatbook/Settings.wl @@ -432,7 +432,7 @@ autoMaxContextTokens // endDefinition; autoMaxContextTokens0 // beginDefinition; autoMaxContextTokens0[ name_String ] := autoMaxContextTokens0 @ StringSplit[ name, "-"|Whitespace ]; -autoMaxContextTokens0[ { ___, "gpt", "4o" , ___ } ] := 2^17; +autoMaxContextTokens0[ { ___, "gpt"|"chatgpt", "4o" , ___ } ] := 2^17; autoMaxContextTokens0[ { ___, "gpt", "4", "vision" , ___ } ] := 2^17; autoMaxContextTokens0[ { ___, "gpt", "4", "turbo" , ___ } ] := 2^17; autoMaxContextTokens0[ { ___, "claude", "2" , ___ } ] := 10^5; From c32df49bbf86440ea3804f1fb4bf15ed4671ddfc Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 20 Aug 2024 09:08:20 -0400 Subject: [PATCH 024/180] Serialize `=[query]` as natural language input --- Source/Chatbook/Serialization.wl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Source/Chatbook/Serialization.wl b/Source/Chatbook/Serialization.wl index 35262803..cb129c06 100644 --- a/Source/Chatbook/Serialization.wl +++ b/Source/Chatbook/Serialization.wl @@ -914,6 +914,9 @@ fasterCellToString0[ NamespaceBox[ ___ ] ] := "\[FreeformPrompt][\""<>query<>"\"]"; +(* FreeformEvaluate *) +fasterCellToString0[ RowBox @ { "=[", query_String, "]" } ] := "\[FreeformPrompt]["<>query<>"]"; + (* ::**************************************************************************************************************:: *) (* ::Subsubsubsection::Closed:: *) (*Graphics*) From b0a82ad0d692fcec8d8a96620371ec9e3b92bd11 Mon Sep 17 00:00:00 2001 From: Kevin Daily Date: Tue, 20 Aug 2024 10:06:24 -0700 Subject: [PATCH 025/180] Fix 444912: let the persona manager select local files for installation --- FrontEnd/TextResources/ChatbookStrings.tr | 2 + .../ChineseSimplified/ChatbookStrings.tr | 2 + .../ChineseTraditional/ChatbookStrings.tr | 2 + .../TextResources/French/ChatbookStrings.tr | 2 + .../TextResources/Japanese/ChatbookStrings.tr | 2 + .../TextResources/Korean/ChatbookStrings.tr | 2 + .../TextResources/Spanish/ChatbookStrings.tr | 2 + Source/Chatbook/PersonaManager.wl | 10 ++- Source/Chatbook/ResourceInstaller.wl | 67 +++++++++++++++++++ 9 files changed, 90 insertions(+), 1 deletion(-) diff --git a/FrontEnd/TextResources/ChatbookStrings.tr b/FrontEnd/TextResources/ChatbookStrings.tr index 10f7201b..e5a8f4ce 100644 --- a/FrontEnd/TextResources/ChatbookStrings.tr +++ b/FrontEnd/TextResources/ChatbookStrings.tr @@ -75,6 +75,7 @@ "PersonaManagerInstallPersonas" -> "Install Personas", "PersonaManagerInstallFrom" -> "Install from", "PersonaManagerInstallFromPromptRepo" -> "Prompt Repository \[UpperRightArrow]", +"PersonaManagerInstallFromFile" -> "Definition Notebook", "PersonaManagerManagePersonas" -> "Manage and Enable Personas", "PersonaManagerInMenu" -> "In Menu", "PersonaManagerName" -> "Name", @@ -113,6 +114,7 @@ "PreferencesContentOpenAICompletionURLLabel" -> "Chat Completion URL:", "ResourceInstallerFromURLPrompt" -> "Enter a URL", +"ResourceInstallerFromFilePrompt" -> "Choose a Resource Definition Notebook", "ToolManagerTitle" -> "Add & Manage LLM Tools", "ToolManagerInstallTools" -> "Install Tools", diff --git a/FrontEnd/TextResources/ChineseSimplified/ChatbookStrings.tr b/FrontEnd/TextResources/ChineseSimplified/ChatbookStrings.tr index 7c0077a4..31d4ca18 100644 --- a/FrontEnd/TextResources/ChineseSimplified/ChatbookStrings.tr +++ b/FrontEnd/TextResources/ChineseSimplified/ChatbookStrings.tr @@ -75,6 +75,7 @@ "PersonaManagerInstallPersonas" -> "\:5B89\:88C5\:89D2\:8272", "PersonaManagerInstallFrom" -> "\:4ECE\:6B64\:5904\:5B89\:88C5\:ff1a", "PersonaManagerInstallFromPromptRepo" -> "\:63D0\:793A\:8BCD\:5B58\:50A8\:5E93 \[UpperRightArrow]", +"PersonaManagerInstallFromFile" -> "Definition Notebook", "PersonaManagerManagePersonas" -> "\:7BA1\:7406\:548C\:542F\:7528\:89D2\:8272", "PersonaManagerInMenu" -> "\:5305\:62EC\:5728\:83DC\:5355\:4E2D", "PersonaManagerName" -> "\:540D\:5B57", @@ -113,6 +114,7 @@ "PreferencesContentOpenAICompletionURLLabel" -> "\:804A\:5929\:8865\:5168 URL\:ff1a", "ResourceInstallerFromURLPrompt" -> "\:8F93\:5165 URL", +"ResourceInstallerFromFilePrompt" -> "Choose a Resource Definition Notebook", "ToolManagerTitle" -> "\:6DFB\:52A0\:548C\:7BA1\:7406 LLM \:5DE5\:5177", "ToolManagerInstallTools" -> "\:5B89\:88C5\:5DE5\:5177", diff --git a/FrontEnd/TextResources/ChineseTraditional/ChatbookStrings.tr b/FrontEnd/TextResources/ChineseTraditional/ChatbookStrings.tr index 15629e30..f2d7a845 100644 --- a/FrontEnd/TextResources/ChineseTraditional/ChatbookStrings.tr +++ b/FrontEnd/TextResources/ChineseTraditional/ChatbookStrings.tr @@ -75,6 +75,7 @@ "PersonaManagerInstallPersonas" -> "\:5B89\:88DD\:4EBA\:7269\:8A8C", "PersonaManagerInstallFrom" -> "\:5B89\:88DD\:8D77\:65BC", "PersonaManagerInstallFromPromptRepo" -> "\:63D0\:793A\:5132\:5B58\:5EAB \[UpperRightArrow]", +"PersonaManagerInstallFromFile" -> "Definition Notebook", "PersonaManagerManagePersonas" -> "\:7BA1\:7406\:4E26\:8CE6\:80FD\:4EBA\:7269\:8A8C", "PersonaManagerInMenu" -> "\:6311\:9078\:9078\:55AE", "PersonaManagerName" -> "\:540D\:7A31", @@ -113,6 +114,7 @@ "PreferencesContentOpenAICompletionURLLabel" -> "\:7DB2\:8DEF\:804A\:5929\:7CFB\:7D71\:5BE6\:73FE\:7DB2\:5740\:FF1A", "ResourceInstallerFromURLPrompt" -> "\:8F38\:5165\:7DB2\:5740", +"ResourceInstallerFromFilePrompt" -> "Choose a Resource Definition Notebook", "ToolManagerTitle" -> "\:589E\:6DFB\:4E26\:7BA1\:7406 LLM \:5DE5\:5177", "ToolManagerInstallTools" -> "\:5B89\:88DD\:5DE5\:5177", diff --git a/FrontEnd/TextResources/French/ChatbookStrings.tr b/FrontEnd/TextResources/French/ChatbookStrings.tr index 91fa8a73..6610eaa7 100644 --- a/FrontEnd/TextResources/French/ChatbookStrings.tr +++ b/FrontEnd/TextResources/French/ChatbookStrings.tr @@ -75,6 +75,7 @@ "PersonaManagerInstallPersonas" -> "Installer des personnages", "PersonaManagerInstallFrom" -> "Installer \[AGrave] partir de", "PersonaManagerInstallFromPromptRepo" -> "R\[EAcute]f\[EAcute]rentiel de l\[CloseCurlyQuote]invite \[UpperRightArrow]", +"PersonaManagerInstallFromFile" -> "Definition Notebook", "PersonaManagerManagePersonas" -> "G\[EAcute]rer et activer les personnages", "PersonaManagerInMenu" -> "Dans le menu", "PersonaManagerName" -> "Nom", @@ -113,6 +114,7 @@ "PreferencesContentOpenAICompletionURLLabel" -> "URL compl\[EGrave]te du chat\[NonBreakingSpace]:", "ResourceInstallerFromURLPrompt" -> "Entrer une URL", +"ResourceInstallerFromFilePrompt" -> "Choose a Resource Definition Notebook", "ToolManagerTitle" -> "Ajouter et g\[EAcute]rer des outils LLM", "ToolManagerInstallTools" -> "Installer des outils", diff --git a/FrontEnd/TextResources/Japanese/ChatbookStrings.tr b/FrontEnd/TextResources/Japanese/ChatbookStrings.tr index e326953b..816a655b 100644 --- a/FrontEnd/TextResources/Japanese/ChatbookStrings.tr +++ b/FrontEnd/TextResources/Japanese/ChatbookStrings.tr @@ -75,6 +75,7 @@ "PersonaManagerInstallPersonas" -> "\:30da\:30eb\:30bd\:30ca\:306e\:30a4\:30f3\:30b9\:30c8\:30fc\:30eb", "PersonaManagerInstallFrom" -> "\:6b21\:304b\:3089\:30a4\:30f3\:30b9\:30c8\:30fc\:30eb\:ff1a", "PersonaManagerInstallFromPromptRepo" -> "Prompt Repository \[UpperRightArrow]", +"PersonaManagerInstallFromFile" -> "Definition Notebook", "PersonaManagerManagePersonas" -> "\:30da\:30eb\:30bd\:30ca\:306e\:7ba1\:7406\:3068\:6709\:52b9\:5316", "PersonaManagerInMenu" -> "\:30e1\:30cb\:30e5\:30fc", "PersonaManagerName" -> "\:540d\:524d", @@ -113,6 +114,7 @@ "PreferencesContentOpenAICompletionURLLabel" -> "\:30c1\:30e3\:30c3\:30c8\:5b8c\:4e86\:306eURL\:ff1a", "ResourceInstallerFromURLPrompt" -> "URL\:3092\:5165\:529b\:3057\:3066\:304f\:3060\:3055\:3044", +"ResourceInstallerFromFilePrompt" -> "Choose a Resource Definition Notebook", "ToolManagerTitle" -> "\:5927\:898f\:6a21\:8a00\:8a9e\:30c4\:30fc\:30eb\:306e\:8ffd\:52a0\:3068\:7ba1\:7406", "ToolManagerInstallTools" -> "\:30c4\:30fc\:30eb\:306e\:30a4\:30f3\:30b9\:30c8\:30fc\:30eb", diff --git a/FrontEnd/TextResources/Korean/ChatbookStrings.tr b/FrontEnd/TextResources/Korean/ChatbookStrings.tr index d12a632c..b9f05128 100644 --- a/FrontEnd/TextResources/Korean/ChatbookStrings.tr +++ b/FrontEnd/TextResources/Korean/ChatbookStrings.tr @@ -76,6 +76,7 @@ "PersonaManagerInstallPersonas" -> "\:D398\:B974\:C18C\:B098 \:C124\:CE58", "PersonaManagerInstallFrom" -> "\:B2E4\:C74C\:BD80\:D130 \:C124\:CE58", "PersonaManagerInstallFromPromptRepo" -> "\:D504\:B86C\:D504\:D2B8 \:B9AC\:D3EC\:C9C0\:D1A0\:B9AC \[UpperRightArrow]", +"PersonaManagerInstallFromFile" -> "Definition Notebook", "PersonaManagerManagePersonas" -> "\:D398\:B974\:C18C\:B098 \:AD00\:B9AC \:BC0F \:D65C\:C131\:D654", "PersonaManagerInMenu" -> "\:BA54\:B274\:C5D0\:C11C", "PersonaManagerName" -> "\:C774\:B984", @@ -114,6 +115,7 @@ "PreferencesContentOpenAICompletionURLLabel" -> "\:CC44\:D305 \:C644\:B8CC URL:", "ResourceInstallerFromURLPrompt" -> "URL\:C744 \:C785\:B825", +"ResourceInstallerFromFilePrompt" -> "Choose a Resource Definition Notebook", "ToolManagerTitle" -> "\:B300\:D615 \:C5B8\:C5B4 \:BAA8\:B378 \:B3C4\:AD6C\:C758 \:CD94\:AC00 \:BC0F \:AD00\:B9AC", "ToolManagerInstallTools" -> "\:B3C4\:AD6C \:C124\:CE58", diff --git a/FrontEnd/TextResources/Spanish/ChatbookStrings.tr b/FrontEnd/TextResources/Spanish/ChatbookStrings.tr index cfe589b6..e9f3d97c 100644 --- a/FrontEnd/TextResources/Spanish/ChatbookStrings.tr +++ b/FrontEnd/TextResources/Spanish/ChatbookStrings.tr @@ -75,6 +75,7 @@ "PersonaManagerInstallPersonas" -> "Instalar personas", "PersonaManagerInstallFrom" -> "Instalar desde", "PersonaManagerInstallFromPromptRepo" -> "Repositorio de prompts \[UpperRightArrow]", +"PersonaManagerInstallFromFile" -> "Definition Notebook", "PersonaManagerManagePersonas" -> "Gestionar y habilitar personas", "PersonaManagerInMenu" -> "En men\[UAcute]", "PersonaManagerName" -> "Nombre", @@ -113,6 +114,7 @@ "PreferencesContentOpenAICompletionURLLabel" -> "URL de finalizaci\[OAcute]n de chat:", "ResourceInstallerFromURLPrompt" -> "Ingrese un enlace URL", +"ResourceInstallerFromFilePrompt" -> "Choose a Resource Definition Notebook", "ToolManagerTitle" -> "Agregar y administrar herramientas LLM", "ToolManagerInstallTools" -> "Instalar herramientas", diff --git a/Source/Chatbook/PersonaManager.wl b/Source/Chatbook/PersonaManager.wl index c82af5b5..ee517ce7 100644 --- a/Source/Chatbook/PersonaManager.wl +++ b/Source/Chatbook/PersonaManager.wl @@ -69,6 +69,14 @@ CreatePersonaManagerPanel[ ] := DynamicModule[{favorites, delimColor}, Appearance -> "Suppressed", BaselinePosition -> Baseline, Method -> "Queued" + ], + Button[ + grayDialogButtonLabel @ tr[ "PersonaManagerInstallFromFile" ], + If[ $CloudEvaluation, SetOptions[ EvaluationNotebook[ ], DockedCells -> Inherited ] ]; + Block[ { PrintTemporary }, ResourceInstallFromFile[ ] ], + Appearance -> "Suppressed", + BaselinePosition -> Baseline, + Method -> "Queued" ] } } @@ -146,7 +154,7 @@ CreatePersonaManagerPanel[ ] := DynamicModule[{favorites, delimColor}, { 2 -> True, 4 -> True, - -2 -> Directive[delimColor, AbsoluteThickness[5]] + -2 -> Directive[AbsoluteThickness[5]] }, { 3 -> True diff --git a/Source/Chatbook/ResourceInstaller.wl b/Source/Chatbook/ResourceInstaller.wl index bd6ebcc2..26abf482 100644 --- a/Source/Chatbook/ResourceInstaller.wl +++ b/Source/Chatbook/ResourceInstaller.wl @@ -6,6 +6,7 @@ BeginPackage[ "Wolfram`Chatbook`ResourceInstaller`" ]; `$ResourceInstallationDirectory; `GetInstalledResourceData; `ResourceInstall; +`ResourceInstallFromFile; `ResourceInstallFromRepository; `ResourceInstallFromURL; `ResourceInstallLocation; @@ -397,6 +398,72 @@ scrapeResourceFromShingle[ url_String ] := Enclose[ scrapeResourceFromShingle // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*ResourceInstallFromFile*) + +ResourceInstallFromFile // ClearAll; + +ResourceInstallFromFile[ ] := + catchMine @ ResourceInstallFromFile @ Automatic; + +ResourceInstallFromFile[ path_String ] := + catchMine @ ResourceInstallFromFile[ Automatic, path ]; + +ResourceInstallFromFile[ File[ path_String ] ] := + catchMine @ ResourceInstallFromFile[ Automatic, path ]; + +ResourceInstallFromFile[ rtype: $$installableType|Automatic ] := catchMine @ Enclose[ + Module[ { path }, + + path = ConfirmMatch[ + SystemDialogInput[ "FileOpen", ".nb", WindowTitle -> FrontEndResource[ "ChatbookStrings", "ResourceInstallerFromFilePrompt" ] ], + _String|$Canceled, + "InputString" + ]; + + If[ path === $Canceled, + $Canceled, + ConfirmBy[ ResourceInstallFromFile[ rtype, path ], AssociationQ, "Install" ] + ] + ], + throwInternalFailure[ ResourceInstallFromFile @ rtype, ## ] & +]; + +ResourceInstallFromFile[ rtype: $$installableType|Automatic, path_String ] := Enclose[ + Module[ { ro, expected, actual, file }, + + ro = ConfirmMatch[ resourceFromFile @ path, _ResourceObject, "ResourceObject" ]; + expected = Replace[ rtype, Automatic -> $$installableType ]; + actual = ConfirmBy[ ro[ "ResourceType" ], StringQ, "ResourceType" ]; + + If[ ! MatchQ[ actual, expected ], + If[ StringQ @ expected, + throwMessageDialog[ "ExpectedInstallableResourceType", expected, actual ], + throwMessageDialog[ "NotInstallableResourceType", actual, $installableTypes ] + ] + ]; + + file = ConfirmBy[ ResourceInstall @ ro, FileExistsQ, "ResourceInstall" ]; + ConfirmBy[ getResourceFile @ file, AssociationQ, "GetResourceFile" ] + ], + throwInternalFailure[ ResourceInstallFromFile[ rtype, path ], ## ] & +]; + +ResourceInstallFromFile[ args___ ] := + catchMine @ throwFailure[ "InvalidArguments", ResourceInstallFromFile, HoldForm @ ResourceInstallFromFile @ args ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*resourceFromFile*) +resourceFromFile // beginDefinition; + +resourceFromFile[ path_String ] := Block[ { PrintTemporary }, + Quiet[ DefinitionNotebookClient`ScrapeResource[ Import[ path ] ] ] +]; + +resourceFromFile // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*ResourceInstallLocation*) From dfc5948f5a1c76fedb2fd5b24fa4a8b263d8b73a Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 21 Aug 2024 11:39:55 -0400 Subject: [PATCH 026/180] Download vector DB zip files --- Source/Chatbook/VectorDatabases.wl | 66 ++++++++++++++++++++++++++---- 1 file changed, 57 insertions(+), 9 deletions(-) diff --git a/Source/Chatbook/VectorDatabases.wl b/Source/Chatbook/VectorDatabases.wl index 186c6537..0fc9866a 100644 --- a/Source/Chatbook/VectorDatabases.wl +++ b/Source/Chatbook/VectorDatabases.wl @@ -165,15 +165,6 @@ RelatedDocumentation // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Vector Database Utilities*) -(* TODO: only use this during development and download from above URL otherwise *) -$vectorDBDirectory := - With[ { dir = FileNameJoin @ { $thisPaclet[ "Location" ], "Assets/VectorDatabases" } }, - If[ TrueQ @ Wolfram`ChatbookInternal`$BuildingMX, - dir, - $vectorDBDirectory = dir - ] - ]; - $vectorDBDirectory := getVectorDBDirectory[ ]; (* ::**************************************************************************************************************:: *) @@ -188,6 +179,7 @@ getVectorDBDirectory[ ] := Enclose[ $localVectorDBDirectory }, vectorDBDirectoryQ, + (* TODO: need a version of this that prompts the user with a dialog asking them to download *) ConfirmBy[ downloadVectorDatabases[ ], vectorDBDirectoryQ, "Downloaded" ] ], throwInternalFailure @@ -219,6 +211,62 @@ vectorDBDirectoryQ0[ _ ] := False; vectorDBDirectoryQ0 // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*downloadVectorDatabases*) +(* TODO: need some kind of progress indicator *) +downloadVectorDatabases // beginDefinition; + +downloadVectorDatabases[ ] := + downloadVectorDatabases[ $localVectorDBDirectory, $vectorDBDownloadURLs ]; + +downloadVectorDatabases[ dir0_, urls_Association ] := Enclose[ + Module[ { dir, tasks }, + dir = ConfirmBy[ GeneralUtilities`EnsureDirectory @ dir0, DirectoryQ, "Directory" ]; + tasks = ConfirmMatch[ KeyValueMap[ downloadVectorDatabase @ dir, urls ], { __TaskObject }, "Download" ]; + ConfirmMatch[ taskWait @ tasks, { __TaskObject }, "TaskWait" ]; + ConfirmBy[ unpackVectorDatabases @ dir, DirectoryQ, "Unpacked" ] + ], + throwInternalFailure +]; + +downloadVectorDatabases // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*unpackVectorDatabases*) +unpackVectorDatabases // beginDefinition; +(* FIXME: define this *) +unpackVectorDatabases // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*taskWait*) +taskWait // beginDefinition; +taskWait[ tasks_List ] := taskWait /@ tasks; +taskWait[ task_TaskObject ] := taskWait[ task, task[ "TaskStatus" ] ]; +taskWait[ task_TaskObject, "Removed" ] := task; +taskWait[ task_TaskObject, _ ] := TaskWait @ task; +taskWait // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*downloadVectorDatabase*) +downloadVectorDatabase // beginDefinition; + +downloadVectorDatabase[ dir_ ] := + downloadVectorDatabase[ dir, ## ] &; + +downloadVectorDatabase[ dir_, name_String, url_String ] := Enclose[ + Module[ { file }, + file = ConfirmBy[ FileNameJoin @ { dir, name <> ".zip" }, StringQ, "File" ]; + ConfirmMatch[ URLDownloadSubmit[ url, file ], _TaskObject, "Task" ] + ], + throwInternalFailure +]; + +downloadVectorDatabase // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*inVectorDBDirectory*) From fa549d34547949ad5aa0130ed14b9c4ec90651e3 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 21 Aug 2024 11:50:31 -0400 Subject: [PATCH 027/180] "Fix: Address spacing issues for inline code cells - Added `BaseStyle` option to inline code cells to disable `AutoSpacing` and `AutoMultiplicationSymbol`. - Improved spacing for inline code cells for better readability." --- Developer/Resources/Styles.wl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Developer/Resources/Styles.wl b/Developer/Resources/Styles.wl index 33918882..2d97c011 100644 --- a/Developer/Resources/Styles.wl +++ b/Developer/Resources/Styles.wl @@ -611,7 +611,8 @@ Cell[ BaselinePosition -> Scaled[ 0.275 ], FrameMargins -> { { 3, 3 }, { 2, 2 } }, FrameStyle -> Directive[ AbsoluteThickness[ 1 ], GrayLevel[ 0.92941 ] ], - ImageMargins -> { { 0, 0 }, { 0, 0 } } + ImageMargins -> { { 0, 0 }, { 0, 0 } }, + BaseStyle -> { "InlineCode", AutoSpacing -> False, AutoMultiplicationSymbol -> False } ] } ] From f98c35591bd9b83bd8ac0a061bb8e7a2f017162a Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 21 Aug 2024 12:05:13 -0400 Subject: [PATCH 028/180] "Build: Rebuilt stylesheet after fixing spacing issues for inline code cells" --- Assets/DisplayFunctions.wxf | Bin 538935 -> 539043 bytes FrontEnd/StyleSheets/Chatbook.nb | 9 +++++++-- FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Assets/DisplayFunctions.wxf b/Assets/DisplayFunctions.wxf index 2ed01ba124315f58c13546849a7533db8fa6be6f..79c8dcbe2474d6298a346b0d62bcd35134b92965 100644 GIT binary patch delta 193 zcmdn~Nn!D4g$+kU7}+N`3Oh{qTFopoSyA-RC^gL|GcP-hv6#cHG%p#XERCu8zi9h^QAQwU0%B$$ TW&vVWAZ7z%_U->gIV_X`!fZz} delta 64 zcmZ4dSz-Gpg$+kUCN~H>PPaPEA~QYCo}F#7y6B!}f3bFdF-9O}0%B$$W&vVWAZ7z% L_U-;+93jd8`{5J{ diff --git a/FrontEnd/StyleSheets/Chatbook.nb b/FrontEnd/StyleSheets/Chatbook.nb index 8f98741b..8c75206f 100644 --- a/FrontEnd/StyleSheets/Chatbook.nb +++ b/FrontEnd/StyleSheets/Chatbook.nb @@ -828,7 +828,7 @@ Notebook[ ], Cell[ StyleData["ChatStyleSheetInformation"], - TaggingRules -> <|"StyleSheetVersion" -> "1.5.1.3933057070"|> + TaggingRules -> <|"StyleSheetVersion" -> "1.5.1.3933230601"|> ], Cell[ StyleData["Text"], @@ -1920,7 +1920,12 @@ Notebook[ FrameMargins -> {{3, 3}, {2, 2}}, FrameStyle -> Directive[AbsoluteThickness[1], GrayLevel[0.92941]], - ImageMargins -> {{0, 0}, {0, 0}} + ImageMargins -> {{0, 0}, {0, 0}}, + BaseStyle -> { + "InlineCode", + AutoSpacing -> False, + AutoMultiplicationSymbol -> False + } ] ]) } diff --git a/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb b/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb index 3753132e..309d6869 100644 --- a/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb +++ b/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb @@ -60,7 +60,7 @@ Notebook[ ], Cell[ StyleData["WorkspaceChatStyleSheetInformation"], - TaggingRules -> <|"WorkspaceChatStyleSheetVersion" -> "1.5.0.3931772186"|> + TaggingRules -> <|"WorkspaceChatStyleSheetVersion" -> "1.5.1.3933230601"|> ], Cell[ StyleData["ChatInput"], From eda82e438f1849c9c60091024f1cd313d958afe2 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 21 Aug 2024 13:45:32 -0400 Subject: [PATCH 029/180] "Fix: Correct tokenizer application for generic tokenizer - Fixed the generic tokenizer to correctly apply the cached tokenizer for non-graphics inputs. - This resolves the issue where the generic tokenizer was returning the `NetEncoder` instead of applying it. Closes #765" --- Source/Chatbook/ChatMessages.wl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Chatbook/ChatMessages.wl b/Source/Chatbook/ChatMessages.wl index 7cf67eab..ea09b434 100644 --- a/Source/Chatbook/ChatMessages.wl +++ b/Source/Chatbook/ChatMessages.wl @@ -1453,7 +1453,7 @@ $cachedTokenizers[ "chat-bison" ] = ToCharacterCode[ #, "UTF8" ] &; $cachedTokenizers[ "gpt-4-vision" ] = If[ graphicsQ @ #, gpt4ImageTokenizer, cachedTokenizer[ "gpt-4" ] ][ # ] &; $cachedTokenizers[ "gpt-4o" ] = If[ graphicsQ @ #, gpt4ImageTokenizer, cachedTokenizer[ "gpt-4o-text" ] ][ # ] &; $cachedTokenizers[ "claude-3" ] = If[ graphicsQ @ #, claude3ImageTokenizer, cachedTokenizer[ "claude" ] ][ # ] &; -$cachedTokenizers[ "generic" ] = If[ graphicsQ @ #, { }, cachedTokenizer[ "gpt-2" ] ] &; +$cachedTokenizers[ "generic" ] = If[ graphicsQ @ #, { }, cachedTokenizer[ "gpt-2" ][ # ] ] &; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) From fe86fe52cd042b70f00ac0d464b89228e407890f Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 21 Aug 2024 17:10:23 -0400 Subject: [PATCH 030/180] Unpack vector databases --- Source/Chatbook/VectorDatabases.wl | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/Source/Chatbook/VectorDatabases.wl b/Source/Chatbook/VectorDatabases.wl index 0fc9866a..3fb0c169 100644 --- a/Source/Chatbook/VectorDatabases.wl +++ b/Source/Chatbook/VectorDatabases.wl @@ -236,9 +236,27 @@ downloadVectorDatabases // endDefinition; (* ::Subsubsection::Closed:: *) (*unpackVectorDatabases*) unpackVectorDatabases // beginDefinition; -(* FIXME: define this *) +unpackVectorDatabases[ dir_? DirectoryQ ] := unpackVectorDatabases[ dir, FileNames[ "*.zip", dir ] ]; +unpackVectorDatabases[ dir_, zips: { __String } ] := unpackVectorDatabases[ dir, zips, unpackVectorDatabase /@ zips ]; +unpackVectorDatabases[ dir_, zips_, extracted: { { __String }.. } ] := dir; unpackVectorDatabases // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*unpackVectorDatabase*) +unpackVectorDatabase // beginDefinition; + +unpackVectorDatabase[ zip_String? FileExistsQ ] := Enclose[ + Module[ { root, dir }, + root = ConfirmBy[ DirectoryName @ zip, DirectoryQ, "RootDirectory" ]; + dir = ConfirmBy[ GeneralUtilities`EnsureDirectory @ { root, FileBaseName @ zip }, DirectoryQ, "Directory" ]; + ConfirmMatch[ ExtractArchive[ zip, dir, OverwriteTarget -> True ], { __? FileExistsQ }, "Extracted" ] + ], + throwInternalFailure +]; + +unpackVectorDatabase // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*taskWait*) From ce81066fdab37c0ef2b24e6890b651f5c8563e1e Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 21 Aug 2024 17:39:25 -0400 Subject: [PATCH 031/180] Added progress indicator --- Source/Chatbook/VectorDatabases.wl | 59 ++++++++++++++++++++++++++---- 1 file changed, 52 insertions(+), 7 deletions(-) diff --git a/Source/Chatbook/VectorDatabases.wl b/Source/Chatbook/VectorDatabases.wl index 3fb0c169..c175e0f1 100644 --- a/Source/Chatbook/VectorDatabases.wl +++ b/Source/Chatbook/VectorDatabases.wl @@ -49,6 +49,8 @@ $vectorDBDownloadURLs = AssociationMap[ $baseVectorDatabasesURL <> "/" <> # <> " $pacletVectorDBDirectory := FileNameJoin @ { $thisPaclet[ "Location" ], "Assets/VectorDatabases" }; $localVectorDBDirectory := FileNameJoin @ { ExpandFileName @ LocalObject @ $LocalBase, "Chatbook/VectorDatabases" }; +(* TODO: need versioned URLs and paths *) + (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*Argument Patterns*) @@ -214,24 +216,50 @@ vectorDBDirectoryQ0 // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*downloadVectorDatabases*) -(* TODO: need some kind of progress indicator *) downloadVectorDatabases // beginDefinition; downloadVectorDatabases[ ] := downloadVectorDatabases[ $localVectorDBDirectory, $vectorDBDownloadURLs ]; downloadVectorDatabases[ dir0_, urls_Association ] := Enclose[ - Module[ { dir, tasks }, + Module[ { names, sizes, dir, tasks }, + dir = ConfirmBy[ GeneralUtilities`EnsureDirectory @ dir0, DirectoryQ, "Directory" ]; - tasks = ConfirmMatch[ KeyValueMap[ downloadVectorDatabase @ dir, urls ], { __TaskObject }, "Download" ]; - ConfirmMatch[ taskWait @ tasks, { __TaskObject }, "TaskWait" ]; - ConfirmBy[ unpackVectorDatabases @ dir, DirectoryQ, "Unpacked" ] + names = ConfirmMatch[ Keys @ urls, { __String }, "Names" ]; + sizes = ConfirmMatch[ getDownloadSize /@ Values @ urls, { __? Positive }, "Sizes" ]; + + $downloadProgress = AssociationMap[ 0 &, names ]; + $progressText = "Downloading semantic search indices\[Ellipsis]"; + Progress`EvaluateWithProgress[ + tasks = ConfirmMatch[ KeyValueMap[ downloadVectorDatabase @ dir, urls ], { __TaskObject }, "Download" ]; + ConfirmMatch[ taskWait @ tasks, { __TaskObject }, "TaskWait" ]; + $progressText = "Unpacking files\[Ellipsis]"; + ConfirmBy[ unpackVectorDatabases @ dir, DirectoryQ, "Unpacked" ], + With[ { s = Total @ sizes }, + <| + "Text" :> $progressText, + "ElapsedTime" -> Automatic, + "RemainingTime" -> Automatic, + (* "ByteCountCurrent" :> Total @ $downloadProgress, + "ByteCountTotal" -> Total @ sizes, *) + "Progress" :> Total @ $downloadProgress / s + |> + ] + ] ], throwInternalFailure ]; downloadVectorDatabases // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*getDownloadSize*) +getDownloadSize // beginDefinition; +getDownloadSize[ url_String ] := getDownloadSize @ CloudObject @ url; +getDownloadSize[ obj_CloudObject ] := FileByteCount @ obj; +getDownloadSize // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*unpackVectorDatabases*) @@ -277,14 +305,31 @@ downloadVectorDatabase[ dir_ ] := downloadVectorDatabase[ dir_, name_String, url_String ] := Enclose[ Module[ { file }, - file = ConfirmBy[ FileNameJoin @ { dir, name <> ".zip" }, StringQ, "File" ]; - ConfirmMatch[ URLDownloadSubmit[ url, file ], _TaskObject, "Task" ] + file = ConfirmBy[ FileNameJoin @ { dir, name<>".zip" }, StringQ, "File" ]; + ConfirmMatch[ + URLDownloadSubmit[ + url, + file, + HandlerFunctions -> <| "TaskProgress" -> setDownloadProgress @ name |>, + HandlerFunctionsKeys -> { "ByteCountDownloaded" } + ], + _TaskObject, + "Task" + ] ], throwInternalFailure ]; downloadVectorDatabase // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*setDownloadProgress*) +setDownloadProgress // beginDefinition; +setDownloadProgress[ name_String ] := setDownloadProgress[ name, ## ] &; +setDownloadProgress[ name_, KeyValuePattern[ "ByteCountDownloaded" -> b_? Positive ] ] := $downloadProgress[ name ] = b; +setDownloadProgress // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*inVectorDBDirectory*) From 950f5ab7d7375c6c7b71e6c71137cf25f4d0bfac Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 21 Aug 2024 18:01:14 -0400 Subject: [PATCH 032/180] Bugfix: Fixed `NotPublisherContext` inspection error --- Developer/VectorDatabases/VectorDatabaseBuilder.wl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Developer/VectorDatabases/VectorDatabaseBuilder.wl b/Developer/VectorDatabases/VectorDatabaseBuilder.wl index 2757caa6..c3a05404 100644 --- a/Developer/VectorDatabases/VectorDatabaseBuilder.wl +++ b/Developer/VectorDatabases/VectorDatabaseBuilder.wl @@ -2,7 +2,7 @@ (*Package Header*) (* :!CodeAnalysis::BeginBlock:: *) (* :!CodeAnalysis::Disable::SuspiciousSessionSymbol:: *) -BeginPackage[ "WolframChatbookDeveloper`VectorDatabaseBuilder`" ]; +BeginPackage[ "Wolfram`ChatbookVectorDatabaseBuilder`" ]; (* Exported symbols *) `AddToVectorDatabaseData; From 71d629f5299f5538eebd11e43ba9d224a8a3678e Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 21 Aug 2024 18:26:22 -0400 Subject: [PATCH 033/180] Added tests for `RelatedDocumentation` --- Tests/Common.wl | 2 +- Tests/RelatedDocumentation.wlt | 85 ++++++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 Tests/RelatedDocumentation.wlt diff --git a/Tests/Common.wl b/Tests/Common.wl index 27db4ae9..3b4110ad 100644 --- a/Tests/Common.wl +++ b/Tests/Common.wl @@ -68,10 +68,10 @@ If[ ! DirectoryQ @ $pacletDirectory, abort[ "Paclet directory ", $pacletDirector Quiet @ PacletDirectoryUnload @ $sourceDirectory; PacletDataRebuild[ ]; PacletDirectoryLoad @ $pacletDirectory; +Get[ "Wolfram`Chatbook`" ]; If[ ! MemberQ[ $LoadedFiles, FileNameJoin @ { $pacletDirectory, "Source", "Chatbook", "64Bit", "Chatbook.mx" } ], abort[ "Paclet MX file was not loaded!" ] ]; -Needs[ "Wolfram`Chatbook`" ]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) diff --git a/Tests/RelatedDocumentation.wlt b/Tests/RelatedDocumentation.wlt new file mode 100644 index 00000000..8d2070e5 --- /dev/null +++ b/Tests/RelatedDocumentation.wlt @@ -0,0 +1,85 @@ +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Initialization*) +VerificationTest[ + Get @ FileNameJoin @ { DirectoryName[ $TestFileName ], "Common.wl" }, + Null, + SameTest -> MatchQ, + TestID -> "GetDefinitions@@Tests/RelatedDocumentation.wlt:4,1-9,2" +] + +VerificationTest[ + Needs[ "Wolfram`Chatbook`" ], + Null, + SameTest -> MatchQ, + TestID -> "LoadContext@@Tests/RelatedDocumentation.wlt:11,1-16,2" +] + +VerificationTest[ + Context @ RelatedDocumentation, + "Wolfram`Chatbook`", + SameTest -> MatchQ, + TestID -> "RelatedDocumentationContext@@Tests/RelatedDocumentation.wlt:18,1-23,2" +] + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*RelatedDocumentation*) +VerificationTest[ + uris = RelatedDocumentation[ "What's the biggest pokemon?" ], + { __String }, + SameTest -> MatchQ, + TestID -> "RelatedDocumentation-URIs@@Tests/RelatedDocumentation.wlt:28,1-33,2" +] + +(* cSpell: ignore textcontent *) +VerificationTest[ + Length @ Select[ + uris, + StringStartsQ @ StringExpression[ + "paclet:ref/", + "interpreter"|"entity"|"textcontent", + "/", + "Pokemon"|"ComputedPokemon", + "#" + ] + ], + _Integer? (GreaterThan[ 5 ]), + SameTest -> MatchQ, + TestID -> "RelatedDocumentation-URIs-Count@@Tests/RelatedDocumentation.wlt:36,1-50,2" +] + +VerificationTest[ + snippets = RelatedDocumentation[ "What's the biggest pokemon?", "Snippets" ], + { __String }, + SameTest -> MatchQ, + TestID -> "RelatedDocumentation-Snippets@@Tests/RelatedDocumentation.wlt:52,1-57,2" +] + +VerificationTest[ + Total @ StringCount[ snippets, "Entity[\"Pokemon\"," ], + _Integer? (GreaterThan[ 5 ]), + SameTest -> MatchQ, + TestID -> "RelatedDocumentation-Snippets-Count@@Tests/RelatedDocumentation.wlt:59,1-64,2" +] + +VerificationTest[ + uris = RelatedDocumentation[ "What's the biggest pokemon?", Automatic, 3 ], + { _String, _String, _String }, + SameTest -> MatchQ, + TestID -> "RelatedDocumentation-URIs-Count@@Tests/RelatedDocumentation.wlt:66,1-71,2" +] + +VerificationTest[ + AllTrue[ uris, StringStartsQ[ "paclet:ref/" ] ], + True, + SameTest -> MatchQ, + TestID -> "RelatedDocumentation-URIs-Match@@Tests/RelatedDocumentation.wlt:73,1-78,2" +] + +VerificationTest[ + RelatedDocumentation[ "What's the biggest pokemon?", "Snippets", 3 ], + { _String, _String, _String }, + SameTest -> MatchQ, + TestID -> "RelatedDocumentation-Snippets-Count@@Tests/RelatedDocumentation.wlt:80,1-85,2" +] \ No newline at end of file From 4e8b54229173fa182b9ffa7dce3d29a74d6256c8 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 21 Aug 2024 18:55:31 -0400 Subject: [PATCH 034/180] Add a prebuilt SemanticSearch paclet for running tests in GItHub actions --- .gitattributes | 1 + .../Resources/Paclets/SemanticSearch.paclet | 3 +++ Source/Chatbook/VectorDatabases.wl | 18 ++++++++++++++++++ Tests/Common.wl | 11 +++++++++++ 4 files changed, 33 insertions(+) create mode 100644 Developer/Resources/Paclets/SemanticSearch.paclet diff --git a/.gitattributes b/.gitattributes index 8c9c4f1c..8c9146aa 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,2 @@ *.jsonl filter=lfs diff=lfs merge=lfs -text +*.paclet filter=lfs diff=lfs merge=lfs -text diff --git a/Developer/Resources/Paclets/SemanticSearch.paclet b/Developer/Resources/Paclets/SemanticSearch.paclet new file mode 100644 index 00000000..16366bee --- /dev/null +++ b/Developer/Resources/Paclets/SemanticSearch.paclet @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:075e14d69d6cf40f270493f7b27ae5236abcaad41dacfba1fd0304534ccf2d9a +size 948428 diff --git a/Source/Chatbook/VectorDatabases.wl b/Source/Chatbook/VectorDatabases.wl index c175e0f1..e1a26da5 100644 --- a/Source/Chatbook/VectorDatabases.wl +++ b/Source/Chatbook/VectorDatabases.wl @@ -71,6 +71,14 @@ RelatedWolframAlphaQueries[\"string$\"] gives a list of Wolfram|Alpha queries th conversational-style question specified by \"string$\". RelatedWolframAlphaQueries[All] gives the full list of available Wolfram|Alpha sample queries." ]; +RelatedWolframAlphaQueries[ ___ ] /; $noSemanticSearch := Failure[ + "SemanticSearchUnavailable", + <| + "MessageTemplate" :> "SemanticSearch paclet is not available.", + "MessageParameters" -> { } + |> +]; + RelatedWolframAlphaQueries[ prompt: _String | { ___String } ] := catchMine @ RelatedWolframAlphaQueries[ prompt, Automatic ]; @@ -107,6 +115,14 @@ RelatedDocumentation[\"string$\"] gives a list of documentation URIs that are se conversational-style question specified by \"string$\". RelatedDocumentation[All] gives the full list of available documentation URIs." ]; +RelatedDocumentation[ ___ ] /; $noSemanticSearch := Failure[ + "SemanticSearchUnavailable", + <| + "MessageTemplate" :> "SemanticSearch paclet is not available.", + "MessageParameters" -> { } + |> +]; + RelatedDocumentation[ prompt_ ] := catchMine @ RelatedDocumentation[ prompt, Automatic ]; RelatedDocumentation[ prompt_, Automatic ] := catchMine @ RelatedDocumentation[ prompt, "URIs" ]; RelatedDocumentation[ prompt_, count: _Integer | UpTo[ _Integer ] ] := RelatedDocumentation[ prompt, Automatic, count ]; @@ -169,6 +185,8 @@ RelatedDocumentation // endDefinition; (*Vector Database Utilities*) $vectorDBDirectory := getVectorDBDirectory[ ]; +$noSemanticSearch := $noSemanticSearch = ! PacletObjectQ @ Quiet @ PacletInstall[ "SemanticSearch" ]; + (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*getVectorDBDirectory*) diff --git a/Tests/Common.wl b/Tests/Common.wl index 3b4110ad..f046e7d8 100644 --- a/Tests/Common.wl +++ b/Tests/Common.wl @@ -29,6 +29,17 @@ If[ ! PacletObjectQ @ PacletObject[ "Wolfram/PacletCICD" ], Needs[ "Wolfram`PacletCICD`" -> "cicd`" ]; +(* A prebuilt version of the SemanticSearch paclet is included for running tests on 13.3: *) +If[ ! PacletObjectQ @ PacletObject[ "SemanticSearch" ], + cicd`ScriptConfirmBy[ + PacletInstall @ FileNameJoin @ { + DirectoryName[ $InputFileName, 2 ], + "Developer", "Resources", "Paclets", "SemanticSearch.paclet" + }, + PacletObjectQ + ] +]; + (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*Definitions*) From 9b42c44ac55695e6b2a85452b616fa178eb59a83 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 21 Aug 2024 19:01:16 -0400 Subject: [PATCH 035/180] Untrack paclet files in LFS --- .gitattributes | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitattributes b/.gitattributes index 8c9146aa..8c9c4f1c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1 @@ *.jsonl filter=lfs diff=lfs merge=lfs -text -*.paclet filter=lfs diff=lfs merge=lfs -text From e1135c786de90e530a1f37860b622b74006b5e93 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 21 Aug 2024 19:10:56 -0400 Subject: [PATCH 036/180] Debugging --- Tests/Common.wl | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Tests/Common.wl b/Tests/Common.wl index f046e7d8..27ee8443 100644 --- a/Tests/Common.wl +++ b/Tests/Common.wl @@ -31,13 +31,15 @@ Needs[ "Wolfram`PacletCICD`" -> "cicd`" ]; (* A prebuilt version of the SemanticSearch paclet is included for running tests on 13.3: *) If[ ! PacletObjectQ @ PacletObject[ "SemanticSearch" ], - cicd`ScriptConfirmBy[ - PacletInstall @ FileNameJoin @ { - DirectoryName[ $InputFileName, 2 ], - "Developer", "Resources", "Paclets", "SemanticSearch.paclet" - }, - PacletObjectQ - ] + semanticSearchPaclet = FileNameJoin @ { + DirectoryName[ $InputFileName, 2 ], + "Developer", "Resources", "Paclets", "SemanticSearch.paclet" + }; + Print[ "File: ", semanticSearchPaclet ]; + Print[ "Exists: ", FileExistsQ @ semanticSearchPaclet ]; + Print[ "Size: ", FileByteCount @ semanticSearchPaclet ]; + Print[ "Hash: ", FileHash @ semanticSearchPaclet ]; + cicd`ScriptConfirmBy[ PacletInstall @ semanticSearchPaclet, PacletObjectQ ] ]; (* ::**************************************************************************************************************:: *) From a95a24000f5a83417a6f46d23035f487a087c26a Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 21 Aug 2024 19:14:37 -0400 Subject: [PATCH 037/180] Rename to trigger LFS update --- .../Resources/Paclets/SemanticSearch.paclet | 3 --- .../Paclets/SemanticSearch_rename.paclet | Bin 0 -> 948428 bytes 2 files changed, 3 deletions(-) delete mode 100644 Developer/Resources/Paclets/SemanticSearch.paclet create mode 100644 Developer/Resources/Paclets/SemanticSearch_rename.paclet diff --git a/Developer/Resources/Paclets/SemanticSearch.paclet b/Developer/Resources/Paclets/SemanticSearch.paclet deleted file mode 100644 index 16366bee..00000000 --- a/Developer/Resources/Paclets/SemanticSearch.paclet +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:075e14d69d6cf40f270493f7b27ae5236abcaad41dacfba1fd0304534ccf2d9a -size 948428 diff --git a/Developer/Resources/Paclets/SemanticSearch_rename.paclet b/Developer/Resources/Paclets/SemanticSearch_rename.paclet new file mode 100644 index 0000000000000000000000000000000000000000..de7df530859454567390dcfceb77d17f45e3c9cc GIT binary patch literal 948428 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≫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

$&gP1kd+u_=YlDFT3+-t>B-FJZc*)~YAC+J_) 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%0DCSKhVfN25pCD$?%W3PJgHF9j-F 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

<^a?~& zWG~$S#n?eTyA4UA#n($w%iW~c+y@xB8efhQelYX}f92RoCdTzcZsOr|%4<$3*T_5g*5|P$ zyI_Bd5&z0g<3S48)_wv{Z&{oAaMXU`d9-rh7s;rlL?K@N{EHL85~v0cUc@ zr|>vc5iwLaDz_q!ccNYby_&h|=Lqu8Q9g&(03`puc=F%Ib0)yILvJ(!?+=8(k)O7S z>=2>4jWZ`&+KJeV`O(Sc6R@|Zb5b#(3DhXyviN!cGhxTr@oE=3gSq1^?C_4ze#{xn zMNJas!1G^}|Dy5NSHb{M?iv0s3k@O839@b7iBHrDF% zUbgVy-%Oj?p9Q`+%J4vJ*GR^1oFe%5L;6@ugPnTXcTet#(uL5(>xlPKZE9LYFl`-E z3o>a#$IhUv7g{}JtV4P>1k)GBt7#9#2Wf{mo2!sCm>;gQh#5u+0YQ_vitqv_cl1>? z@w!Z7Jox!?!a;3;frp*AN>H3;=DY}@Lzr89{?Cvx*7tn1i&PtN<6}Le zc;$jI|A&Zgv9i9hH-6!t=blFB#X5)q;jU{#1SaxKTWTfS5lT+Rb< zwI&+TR!|78k;v}s{SDd<8O+a`6l8vubLQuHd<6*V%OL&|HbKE8*h2>@f!nF~pTt(Y z{u|mJ?bToAH{|1KCJy|3rgE>r(Ca0*Q<~EF45R^`rbzHK__&JmEfsLPJ5uWj4j13% z#lAiAn~R?>T>2F^y*^8Eo)0D=zjoTAR>Km;L*cCCE72wrUe%QI_{Q+OmcPaYDw6Tb zD-nM;@kqw&YxyT}p_f2V?qk|LfXX9J3SKz(N(?YH2bh65zzpQVmqX%9cm4%fhB?44 z%sC35LgLf;E9g@Qe)aIHH7)P{S7>$n=M@y=jW3p)#DxNDa0u@cgn7U)Rx5@;*I2I0 zx#0#6SgXEF!RXXYhb$Zvzl8XumS5`m|W;j2n|V1@kD+|7mt`0PmjjM7IgDx z!Qa-kRrv0Uz;BHnUr#Yc!^e^?N^-O4{P!BR&!vvU_m_X{U$Sd>?$GN5rsKI z5q>%~aWBiRW3IzMj-LK#& zqP_ZWU&Hk(ITv*viII*H*XQ`EoK?^z#9nM@_^ge&8s>D7wd8sZC<d{qzFj*3JMC$H6$fdOz{!*{R1uB3NS8Ev7*)~YJ(|0kUGLXO6%dp zy^|MsFF?L4W%aTVYVr}2p;f*#C>ebRR*lfQddb!nI{r#Dr9yQ`e7dkA6<2y)wZ2Ra zr*4FrRyiV=R_9e~F>XcEQ|1ojI+m~^8)Y9XTSekp!~AH~X$d3^;)c z?!-cM2T}t!LT+Fw1vEm{5>87QWW9Jw~6G*1weK)YRp`9 zMj$VRyu2vT9l5*pW2=cxnHhEc7C+x|sK36IQMT3{<9Vr-N-*DEo$s*lSdfA3Il#9s z4I5k@)1Q2r^x+RJ-5L$iCNsfTX)7olS}s%MOchue`l8>3p?g#cuL-=?U=BPuh3J;M zy4YdmB@v5Mv)qW%rjK|!DgYYxbi6+j!!*T{No^S8V73sNQfkR}K%dR-!6KFVomLdE z`5mUnV#M!B8zmMMF`{@lPB={t!K97FRvCSWhw<)pPcCp)3 zaf=rj=zE_Av}#l^OEDZDbOuf?Eje>(nfw{w!_Ldg!TIE;o6uS&39SlgmgNDWyg29lM-wotM zZqVgOEsDzNE>~O%nWo?3u`lAvsU|e|N7PN-K z*)F1^&Q5OkQKj$O*g}92TTh?phv-1(hjS9nBj=F!$HRehX;OJtBy;yyGOg3B8RsMF zvrGT}0=gGzh#Vs!E1AHO?V@mA1PfJ8e|~6AttzYl4w5WiA@LR`?Kf-+vXmmVK3%g= zT7cpZPyB*1`;et=Cx>d@mx21 zLMX69>+iwZ7Nl_qoh}6-Hwxi~D1_{bLP+d*Yrkm6pYPkUkZ7HqNk%9=f6qYIo1s3wn%sI(D35|`b|NZ>gOU}7> zX3m*2XJ*c8&MNq;fWN5KTFry-_jmX^0e=zj?U=u6h5ZQkgX66GqLbErO58X8Aw@%G zlP0=bt+>mWA00Gaa+6d6t3^l`91)UoQw!N0!T~HGusvS?2e&PD7!eB74Nb-lcT())ao3%UOE3X6Vf9S zn2^3eGd@b{C6v?36x=GySj%5D#pvl2lYveoIL8EeUj6e~64+@SwfsD$)9^}1xA3AU zT9z%q%lbfI$1s6?qazbi_*A#2qg#08WEhifWW&ABXt!)%TP+MKoF2zc*;#w#k z+}%ncxVyW%yK8X>?(XjH?(XjH6e;$n@AuE#$xP14-Mjnjvzz41IlCLoi0rU~bNt)l zp?c*I{p9p1;6f9SanRV0x!9`TN6vth0Qt#r1NrI?l%`T~S(uMNVqL#R)tsCPz4(`& zx>x&ig!0F@aiG7rh{qw;+d@Vo#BR>2uZ330UISl@OoQ+{5ejZXV)Z4-;W=V+r^;dN zUvGZtiYv&5%fG3r!Z*KaO3`?gtR6)cZ|uKR8AxgWbV4Ziu5f*`<}F{ec^J^x<+Sil zvhkn&z>$d#)=%FGjOC(QE<=QWhsA&5Om@ir+v2OC_D0X(9eC&p^+Xsn@8XtG=yvLe zwMKt0vPd(l#cZ(63SZ9WRjc;W=p$;i#jn%-pd~Q0Ln+Ap;WO>t5#ajWAnDcbmfIbv zY^xh~;jfn@><5$UQH1xQk8BI0x^|0RIHXl~_bIyzTiMoAjrkkWg6tcy8r8wchrrvR znd_S|-Cu*V$5DmM_lIkfkGl89%>umzx4jkq=B@-|x6`@9@DDXFDw~_X_^Q~pUNj`r z2YF+-MjO}UnLA%KW}x`VHxJDK)`oPCzM^&oHRZ zoC9TK4vLP|yT?v-j=iL>CGq21oI|)In!WoVf<)nyf3`RIbnV63qD%H;y_PB=g zE|KEDhc$Ig-Lv${-P-#LMpGV`dngfu<*(T%R~D?d@KcDcS+Jc!Dn}Y-tgO+!(YUV= z7g%;MJ_sR%6gMKcuf@HDp}%2$?wx(m;Q8scqou8RDmGjtU8Qk+So{gacGRs~7LCG3 zZEB06ox1NReKbEtJ9^g47nvdcRK2`cF3<#aIX-!yzB6rKF+Sma@maZk{PEiH#b>H- z%lv6B@J;8V2=OZt9Q<4mTW&lbO}Sm%+98D;p-}BfxIhkpSN6^vmYuoG{VWX5Xbwfn zxMkZGEi;aIG@(r>QJyl>;dI#(bJOx~N5(8@)$>f~VnqiW-!q7geM=3umm&AG_7MN! z8SQPzQ795|pG|+$@Ilp|c$@1>L>K9UgSYi$dX{V|BMNewh1t!9Ge0AC`Ja-KN&xgN zeq-T|kz-@onps5c!N@!O>OZ~kRwiB=fo8SQf2^>Dg+0Ib{B_2NOd{O(;_iuC$cw&$ zVz%IK^aC~l`schYSP>g^!p+LxDv?#zYz~q63_kIh%$krBLf$I`c;Bd49VZM1$99eK z3>nHlexq%DeS3=Gfy8 zOS8XHjs1xKBX{-pdFrBs`j~xX4nsi=ejiEU;^aBb``qkWvbIQoz{CBR((})Y{Key($-RCEVBLqIx#&aLzgfv~}i65Lk)jl4^s97I4RO27%#XgoZwt*)f z?!WE#QLFAUSA4dgZbyaqKA44)Kb||^|8719%5DvRoc+ywPg#0gEAsa6N=m1neabk~ zDmQhlz$j~51TkH5ETrPQN%|mhjeU;}$x=bvz4|7IALM^2QUTImr%{2O>6+*K*v$+W zRx*A?gsdnOI>JpmN`T#|#j0BwJhV6ZCN+3C7k@l;O~5PHs5COMS%O&0j<%A9!Qlb# zy?d?|bD&3W1|s8*aiR+8V0td3p+m(iI4{#USLCbX5l@oj@=|=JFEj^KP3W&Wq9*f5 zdq*^kGl(S&U2JXI=P;8>FtV-m6!yWdTo%PV31XW&;H05`G(^h4;#5*A07KkCB93bx zIq!~=v?kUeYF&2i>O<#ecd#toXm7Ds|CHtw0NJbOE{C@ic#YYOnF#a>&m4hsc!X0P zVxR9(gVr{Qb=KPW7}mh0ZB0GKOk}A`EtKm9Sj#36m(xC+cTW9$?vxuQuNiy3viAhZ z$mx`zN!dO*FF;ix&6Q@pnDhyuNvgrsl)^pqBcnzgs>Y8Hp#vf~kjp#$U*cEj#105i z83%$xHk@(pd~&&V?bz?U4c=eo*O7mjX`rrMK|cU?dFB6DqA}8WDfC^&;&OjCvX#zI z#Eh_*DH!>hO&|wMzJ8T#@h#azq(CM~#6*xNP)yVun2z65mM-?TZ!x4}#gw$I*?W*% z-q^JrGTSW4{S>Hw=7t_7liB}-oX>S;iufJ5XeY(>YmavDSlP888&AoSxvXqt8Y0@x z5tD`^%doczV)XWErIGkITK|-+{#lv=;7EJF?eIY7^rbyha8=mT?q6E2Y-K+qsUOn! zL~@0@?5g{+RJDg<^;xfpXQ8+4U^k=vA+?7CF)Qh>m-@o3c*_$)Xe?XtjTSu=*eoXE3*L}vuA3&jJxqQ ztNIZcA^B~b5l>fbpR#sjkI^1;1dyrnq0{$Wgp;tB+6fGh9Ycg+T!TFELVMPJe5)@m z8y|82hLjYuSy}K~ljbtoAr)mbjPe6%h8@8(r@Z;<;G7@+ z(&e{~!TqoeWxAxFPD*&xwtqC;`sQ2C>%<-B&!U~woS(jA9uMiV)z}s0^TG7dNtw*O ziq_qO@TF1x)83X0YNrm3r%yXfXV&Q-Fa2Ng-!}S3cUid*wBq_-ZVa_7s_H%XUDB24 z!dzBv{>rQiyGf3YMdr)OPCH{LyCvNo>CUP(mjq=s_2S*7!s1DRMwUGR`}?W+Oz>Sf zbbeb`dU|bYkBbt>0J|-OJ^a=uFUSBi7*qR7`%)_(3Z;B3G4^$R7Nn^Ta()SWRsv-@ zYNFFhP<-GqckJ=Cs3C;5D4K?lirb;ZvRJib88g(k0!WWaeG&gCFT^KCi;5qyCP%ZpX{f>-YgPD} zV^zBdSGv)(c&C2$`;G*m zoqPGa%Y@NETP*m=Mn#bMEo?*R+p1i4G)8Jzvod?+5m@(#YwhY;oh{_YX)V@XB!1>Z zUI8M*%omf#%F_$7H$pkP0$v7*P~e%)6Y}Tdv>f$E@KLx-v>dDYeA}-|K??KGe@2SM zG>_U(${bSbEEGIsZUOinG%SmTXs0Q9lg9%6_mIv2-@x zh&m6&&2pRMQzsK<1M_c+<44~E#YY?3Lb#U}oDG0+k(0lw9w`FsN4*U^QAed0fZ8<} z`A4I~R;#FX9A$(HBIEtgM=*YAYqhPwS4c~6b3Kr5>2m!9O@I_!z)f%B?#Z;DbR9My ziAYHuR@RkuRqRGcAAeQl!$dEy6_tConV5G`#6Y@@1k zo!RW=lQS1Tv9`TB2nDQP6H-;BA^MUaQtAuUoh1`O;^Lx-eNf*8QI1o%RE_ZK;9n(Q zxbi5IL4`TR@QY$moS9M?1wE;?^9ARf_^u@2&0H>qIb{k(85<~Eq%g!f6r2hwIU!I{ z;-{q}Mnr$famP!E9wR=_t)>Sf_cAOB%7K_61rw^|VKjpv?vis!6$O<=qTt?T11K09 zNK-(f^qjRk;_Zq7Mmc~|RU{&w*V0e;wdo4SF%$0bK_Oeyfk7cUDygksXK;XyDv&>2 z*mJ^nkC`}Ig$qhlSeO0iBZuU{U;FN?zwt`v^V0WBTCC8D@H=4&@s$!Q`x~HFyfH@| zW9wE^o|ed6$-i>&ZNcC-$>~0dMA=96As5kMbulE3TS0bkN-`}?SU?!$xN%|soM)*U zNwTa_;awWd7KRRLWPqoYD(Q#X3k4sQotm;+23Lm|GOf_HWUBo}`o~mC#BvO~cN?QX zR^ouqE)o~*v^i+0CZe2?bOe8GEE~hE+n|PZrPIchI+{y1+Asm)gw}dw)gQC~Cs9{W zSV5(B3!zln2r!}BV?mJb9HnG0&9aBx9Vjk~BipMRm=3;XFOrX@JRcXm-Zm_|S+TeM zo#3NQfzem6-`QOtq!1);@5O_-o*nETV+HrA{Rzt7hbPz2cp>7-aUOX?#p+MQC^|P$d1XzLb?^dukyd0$Tqi%EX|JW7|cHS zlRdRYI4fT2Qv#Xc7%6X^@gh3pd;VhJyL0iLn3LTdIb&TyHs_Zq4IKGLrZr(HL35_1 z`a2gmQcJ6Aq9?V|eEHO4?un>Fo&e)ibs~Y{%5(JRb8u754~h`mRbq?+trz_8a@xIe zc*UpvynS{P*C2%FKX=^w9y<^t(Cclp-eR@q&0A0b^zCL&#dn#0=&Co#hMlIK-f&`n zr76oL|IY4l`h7okZ^OGQvfCdt+&Xe19ja}>csvF~^|3Ob5iAu$yF?!Hsol}5^xy8` zVj|~-f_S1LFoZ3hgzf8#{1zn9T=hVEE24(LMaM%o$$`!2L&MKTF#&SoCW7LE`mDWn zC_6F3FVDL_3g2Iiy`GAl2ef86oqM)Gf}6!NVrTbp zvJA!|(PUvjXHgN(m>AGF!n}2Q_Oc-h-wNJDoj|?rLcjX|vg0`PE6PgmvB{R6`q@-K zld`dKeSmh$QPCsJe=wRBvw|F!`8|wqiB!JfCyzTxdTqjG8%~B_ z+0^Yd!U3~5^4O2)^Xl3}ikrtW0~|C|S4)d%`Xi6`wUV@N{&Y)>BRNi4Y)h0iip~8e z{BbCLt>ZGX>IzCBgFlJI%|=mwKp7`2EvRJbnxKw+pn7&KO}TpVVJNTbY^i%mfMbs{X1_VSse9&TrR4S*QTw#oz2awetZ{ph2g#2qts zS5lZuNl8U-YzNpGKz6M!!dz{h0l1j-di+TOhD|=w@c7p~r52+b^(|Ck)QEc!2^5b1;C>lo@4epcB z;>5)tYdSakHxuW^fBv}=E89p^L)GIpYvh^fIKW{nz*gH3gi+s^?dVZS;I$K)bvd6g z*BTUs1aPQX3tZ~txOzFr)i^&S1=vX0g>R$-4!{-bYr<9Vuh;AgB-5;x*%AZIqib~$ z(kPs!J~b=(u4#Wq3zTFV=YcW$F=NW=ksP1I0XHiQ&_Je*qcBAg^ck+hnM3Tj)+wUH z6sYcN+>JYC1c2m3+pbezM!!_kiZ_vI|0#Mo6A`A^9w!5-d=>Gh=qe-3G-WTugjet) z@ZM2`4(2J**E;SYtly>LZA-$ilI|fg@aC*Y;1NN)afJ_|==?zL5Qq@fcAKI$pjMc8 zvPoxg$r4S?%|R187gS4v6NA-AWVfD)T-=5$do^9hkV_?e3k#+P((Fl~q>P^OwVPC9 zz$|hux1gUA@}#wX87ri;SvZnW!&DiZynL#3=m%^??QHbaEyi50E#eZq;10N~0~SfN zy9#;;Vr2#ZMq~=F+|=uLuR zZH_K{U%aVptoQ;b2bZ(guwT}Xw?>u+b@V0zM3@H2w_XEqUfxlJK9IDO9OD`DOl**u z6XC{HE0_#Yx+4~vm<9K(B0zSL4%=O{`Xp4j&Vg%eB(qVE3bMY~&JKf}&z7{LQOd53 zIcBm*eAzS8;t*|E5|ep?7GEMZlKxu5T`pcw)TR=#c+;v6AF+`jT?L z@#YyKmR|cOWzFq&;LQ?_ECO3l!d`B-GI=sDr6kla0AoHvY|m~Mb&A>E$7{rGP*iLD zksxS<3+j0FiQ04z&05E`0iY4*$EL-2+DQ-X5LXd%radWwmlbaDHouZu*P1uKR^?DK zgq3J?8LlEMe6*S#>J(CsohU~+-u?A%LN52u1fs8(4WZCOMGp+nG6!|9FN?LRZ}F12)-R zO^cl&VC5(9dr3OMB!y|MSEr9fP; zlTAB?;kZyO0Pks;I>n(EUT3cddRq=5s6U6QwVH6)bJmoU%RCPI0Sc z^=3sslPZg1^?-8=a?o?*sDf1UPokBBbx}$iZvdr!Rn-*u5-eFNzJ?!m#nvA)8%19H238+G?@ zb80#wt)`I$XSebZI+bfU#5PM%r{mBx#8MwpaCTY!0@|roq)MXYI=((=SAf~7Iatng zoUCqYZ66Z*5sAHZyWOcvgGSR4;i9>k3zsb6b6IIywur1N=&h*XL4pW5q865fq<9pB2OKJVW2!iwzo`N_WI@cTu}FD*(JonmJ4;s?*PB++ZisK5mzEys>KOI`X2hoq_O|fQni7$5msD~7In#Nz z8t2X(O4hiDI)^N|vECC1Y50h5cE<5bUfG)Ul(+@H82c3o6S0L&T)U)0 zmVh!|`3iq2YjsO@_Q*-N1pJP03-#skw&$tBMsLc2zxdxpEf~8WfNC@9E2TDxHlixw zt{7oE1&AU8u$WHegK0Cy&@d3sx2)%Zmz~>{;!WGg|L||ZA)(>g3HkbNs zDdl~C%RXrht(e>y*9sqxUG|=k*r%Nz(>{!rXxbZ9rJbgVUXKN`U%U{GPr7-RMi^O+ zf>Wz-gH3T&gvK(oKW`U?#2pXi`wKP;mM~_sQPx!%>@nIbiWV4|B9YzcoWAn3^$A)_ z!BdX>_*-riGWOK*6Hjpuz( zcN$qLrU;$RHhMvm@umGw<&LbcVx*!c6VyB}P^4yrk?k%hy$}RB_|)Rwx+DV{Iz7AL z_vMNZ|80*ZHrVgf_6jMSB&i5mK9{md!?$Ek@~Z@an?RgEhvDBtAB(}~qn0Ddibc)1 zW0EKQs@p%cC|n(9U3rtMS(1rU!hl;HcjAWAA zgTGAn1G!w}qi=dY;CNu05SD1?cLfJE07A@t~^T=*&WoP_?(S~m)2|StsFQfivhO{y&v4P!+hXzJ%5X; z(j%iXiPTPb-X?hMO4~4eay`ty02`KQ(|#2xn(m2${n$&~ zv5;}Fx&=2x#@!&|(&4WWqku8vTYT=1ruc(FflGo!3%~WRiD?imIyLK(dzc&S3mkiC z@kZ8N zo(Ao(IE9%vu&iv{#X1^EnhXQ@jU7`f| zYn7stbX9Fs6Zyg)!}4%?8WiiYyKPwpEm3Xz>8SMuZzGiJZ{epdztc+D^#!j1E%dk@ zR&DhB511lCSjizzUH4yR@;)@;Y#0M#B2Wp9nX`)5v*@qG;tB_p6TrIQMau7&HjZNL zEK21p0lWpV^RvrtW`=!VppTMkNS&!hwl@m`UUbD$t3mU`u{Y*owpc8Q`-5i6sQ>Et z1&)%^g!aApS+6Q7BfNeBXmgE))eP8P(6F|TG_T0Q^CyYXiqq1@>Jw!c*zclzI`G6p z9zc+u>7g_x9-skzyk916ZykT-kb8w${Ya>@&T)M!7XfVYoS}q0PP*Us@&9`fPE7NY zYB-^>pql@NSF$apAQ4xnXV+G{YpiF7wy;~dJ@9r2OUI$^qEK+}!jADF{P>DN#}Of7 zFxi@R8e5lH=svEsP8&=a;b1o{Fhp_$^GNj_KN|SFge7SX@ZQWQoxjdSI0BaR=E}-! ztWJ@zwgXtZY)kZja5v}$BWg+}tb6O9THwG9fY2ZePw^iD zCcOq-{oJNX0m{XIMbt3Y;NEdJzpSZUz$kWDWU`5}oMJJc^b7Rb1~$qNcw(zhuDwro zUSC^_IsuCddgQ}viTrgljKsmyI3j%bfaxO=h=p_6&H(|~#vEl)+ z_(#UVzu_nuBY^kHKW%+f z@dsdn^+^sl3UZ5Ot|JkdSyaERi6>f^zM*-(Pz@Wtmfhu?j^y95jW2NDoDSRVpB zUU>vy0i*4bUoZ;a0ls8oDLClwv8#-j1noSj_n;3u@^gn}2-sz~ zGQ$7{hY{C>X45}7Xm20QafBUVhtZ6m<>jj8MQKz^b}oMd_mm)}Y+cr6__4 zUYhzPSE(P2X_j|-4mOxkZg@)Qg$xN;dY|d}_S=2Izf+=e3BhVk{7-#2phWO4Ef^zD z9&mkgFxagn|IgGf!TJPXh&F@sn(KpZKHp8^{tFa^-LeQr;Biplf652$5(MWypzlF@cZTLQhk)_KECWaiCtwNd={lwV z%V7%mKm)M$5{mzchXdjY)}(>Q#gU_S$BQDstmc(G2ny4u%>gGz{C^CRXU@z4=>4+* z^Z!Xo%7C8sFaG|3OECoJV&2s%p}WQgrD2f^&1B>}Q5*%q9r1941^siuM%jNLr9xHw zVF#nyjwW*R4GijATPPTef2lPw$2ARX9{nmy6@n;`d=)=K6501CwwyUzWlSV zgz9U%VDCiuq5pR`@aJyhVL8LH*cid-(BywSZP8WG`Ijs-?9g9uz&zz%Q2n1B)ePwL z_Fw{s3^AgA=>D?JCW_ZN<4=HgP zAUT-9nNxDFM`(la<72X5`K9fql*L$^*jEbIuXweF$F>?pNd`@?u}Wn#NiKS{oavezfS>DhR? z&g7lc9HSk-G0-Zt!LX~X!)%RYW*tu7w1=ossbALO`2hW>jiM>X?itcNbb2#7{7oz~ zTV-5yf=4-PL(QIi$gR<5=t}8*MM{vGzP`+P1c~N45S8p4VeR@L!u6U|Ic=zXef|rw zCHFIdp|ExI?HinPGvx*Bx(Enm;EC0VJt(Pk(wTnI(=F@p;e~i*l#9+L3KiMmYFDmj z8Rz%>6Fg-UPMJKumQ@tR{k4gHn%d<6xn1{1b9_Q!QhFb;)hWBYnmT?41D%9KcL%W% z1FkmDFnQ5QTza15=;=!~ol!~IF@wKlBKIk+JL(I>IS|GJW77s8wc%f_0^uA0+QL)OpwJ4m!L6~mJ|E4Y|FV!&P-65% zX}Hp*NMM-tOU~G_n)3n{aClHm*X+snr14eLkUtxMt<6w1?w>&OyWq~WpxFjt#WI0V zx_Z=sM%k@1a4F{&k?8bUHtWtQv+!2*sSMAH^i@0U6~J&`%jm-Z>~UlJsxJ4u4-2B^ z+#PT0o+6?P+2MH2u8=N}6zB4mVT2f^41izmwRs}Lv=gT&9@vGRVZ=4)Va(o}t#DH* z)ARGZ4Pz!%I~$$$xG4DW&HASMh_L9O+SW_5p%YyQxhBGEhg&rBY4$Ikw_w#P5;r7evo_PKn`Q~VWjs{ zqYRQK{B!IyiVS&1@VoqFVMeW`JdqA?(*JcJrVHUN4&XSD2{5Lq{o%pLZ5!JfLD(p| z*@vuwup$^jE1zf-oX0{ApjfLj@KIws{8d3#x$zf^vN&vDmUOYm7bT>renUX$Z#50QQf*rgQpG}vcD;_@yE~e*J{}W zR0$QhkC!VLo{#71jULX>TfA+Hhr{SHD;xwX$0fp9Te6Y84XTmR+%eGK2lisU*JACA zI+hEmKX=9zop)71jH|>S%5I?!MUj zk`TAH?pYpqDBJvdi3z33kof)kwHLZIOQix#n{~?y5(t(jv;KW)MLV%IHs~5#NuvF9 zz*ULzy3~ocor$htdpEX)*MvKmG!=iKnNbn6&%t##Z1H|c-F_H;eEW3B=Jp$ongEC) zWB)xc%*88+>V28ZWgwwqUM(a{Jo%C0Nn?=pYX9$^gE1xYrce0E6Ah)!4iirkJb%UQ zPfn+rHY0siA&HgiJ&ShFA^&!b;MW$8MJC271qhkWp|7q##kQy(+O_}uwtS1Q2&Rq^ zxESttSA@LJq=^*Kz3R}?JsWC(SGqcER5h=rPf&J9snP9~nu;}`zvx>WxUhP&$l4QW zdEoS#KPy)8-)&b|;6vL~Xpphb84e)&bG^O!mrGqkCD0kskwvBd&ys+zCQ8yW|B=qn zrb}U@@Ltzv`g#;9-P_8aHp&prZ6qgti{>q3n@VG}HYj7@L%ER&Vae;kgpzdtIm&b0 zROqH!wdJ0AQ<^+WnV);DjgZWhm=(uZZ{0GJJo34o;DfXR5P_%heOYmK1EQJPf-c_D zof0UMTV5423_X*tfe00JXbxX!{?JaCH z&Q_+PH<$Dey&ANR;O1f_=jJV?qDd{Ivjjpwsu3gC@r5dY0$*-MUduohu zs#0@;05rJB1O*wInEI#rB_}^JQ~1?$?Xpr-Ky*_}b=|EzN9Heibt0#n-GQQ+vgSHaMk;Jfwct ztH>xx-yAl)y4R!g;L(3=j`V-MneK9G<6$z@foJ;tcb&w>?Ffw_UGNFxiM&&EbS>65 z){gmjNW01vjnr#2GP>FpyKQn%kkDQFOhZfQPt?b;t$4Z;pK-$3e%1{`io(*p!TfhI zcWiX-;1rPf9C1&~*{V;3N$;x3 zy%>{E953levzw}+b^}|R*Cwl#w9fkUx`Z0?^fPcpD?v^1A!0a{`x z+el!PK9nfw&sWI8`)hE?7OEX*z-bxlO&b$nn?!2UG>AELRXY+={&vsF5K)rr-~)6; zW7;n3ly)G+iOk=1=yATYMraSbkIN2$o?z23id=xp7+JZ`-q7TeF=0)bYDt6pxmlv2 z{G7Uv@DUat*seiUiPTB@)`!`Shl2|}T&q!bNBDarr{NIeYzH_g)47AOe)GdlS+Cwz zl_D(a{Y)Sl{%+PyxpXIbRmM;*=|xlG1^_F=q+mCvYb8f43D6JOYiIn+P=maVyZ z!1AUnUwwG7LasPAh&Y`KbRTKwg}r7K6iX>R(9tlU&fh)jDP}KH&*;mIS6wHjDI&^d z#rzA|hR$l*!%&tE^NVN!0^QcFjX-3vrmbRN$-iQa<-BWPcwHzv?z_CLqfun%J`ClC>NQcD=pnCz)#w|C6zpJWHUPX8;$pn46ofCYC6!OTTaw@?dAD{> zKKw*?Z6qbjGjP)*HQ&R-^JVZ?{x_mgy1MECPJh5>?V(IeO&aFx zldnC#aJ7Y%#m#;(mlOL*d?XJSezhjV+X{hx6qy}|_=<4bamhR!%JIguxR3IBn7bX9 z>j2zu?~ewslUJ-w2o1SiXV_EuO*#moxQ7a-3>e({9BckAAUmG2v`+1qC5c4)X9F($+Q}+js zd)u6Uu8F^mz4W4?*dge=vXuAkqa$$3fDD`Qu4$!%?C8t(p8}%E#)|SD{=27VDN7{T zz<{&t@`~y2=5QTX5KnlTA?PyG2-GaT7&Pp~prsM}gq8HY>mOHrO)>;jRl6C|qy12e ztT*6IoZNvdt7w{tWT$2TG5%=+BJs1dV^5`7G59o|&xnzvA!-8OxaFRhc*0 zDUZ-vg0(4-P%ZK-Ct@X+OCZ!H^>MfQ8hAAOGl^GNi79J1>V8WjRcxI@*E3iLK7R}6 z&)>?z^Kvafg{-g64^x3kp-qRsQPcsB}$B_St&`C-+5nywS zu6PK;wd}i#u$M<~PAQgPfckSsE{Y0P|;z7)GFx1JAS%|CJz4`+20%gy-7K}YHj*-X|and?%! z6Dj>+Zyq_=LOZPF-;j5IC2m!kmmRP1&BTnfRi8 zw2p;Zwi32?1AYT~G&y9GX-5kS#rY7^lt`}cMYN;aWOf!MQWY7z*YnOr9^r9zu7s{*0|w#LkACuuf;KhD*2Jc67G#YWr;h z`AP*Q)uyF+ld^)Jm@~ZSNbVqVg@+HxOMi|yg_tsHZF21`b*xGl7qg_kZ`yl04Q-b` z`=)7_y}%nXt3g*eJ@*+86H8d;aE5U^QZHuo#|R^$ItlHl;v7D#qNUWQZx_vIms+VCe9o=KWK@#E4%32FL( zQ;_1~fJd)8RCc<)?O;;s!F!<;zUl21dHNw~OZup*)TLCw&H9StamKG zv*?et35s|6dpDmOA0?0Iwy*J3Iuz^zptJbuCAW0>uanl(Po@a)4jwf751N7%4-*!b zN=jo}s#Brz+C5`JH%zkXRC>k!Uod*;Ije}8&M3mdeGtDVkPK-VTq^ZC%?Z2kD+_j62 ze2(41GgEmyVP=>EGjs0e=jz~i(`M^%c%|+w1*UA>8*@!ad9U)1?vLhQ!^oc2rKhCs zJ)<+rPFm74;g31vGE?q7eKRTV&jqKj-8aRi3h&z+u(KNOd4N+S_cR42M7&!?M@WC) zW$rx~c}?aVh-}JIdZvw&CFE# zm0)2}Ga#h+W3d3prF)uY^su@co1~A$KSWNv`Y!6#p`-wxugjX%x;W0iN-zEsl=DT8 zbX?G+k_Bbr=N+S6GEviB;?>;r@1>mTVP#Ytp;57sF^LTH(tFm2k0#$}4>h&>IOaGY z_1^i~8dw*De%E2^t3Zv0?^BgeoS^^L?|Kjo^A zJjnsZCrkd?&imqG6hPP1_ zfS0S-XUm!3skpT^b?BZ=(tir`+Ky=>CQvWW8OW>Abzy1_XWRJh<)?47_h6KZCnH)b z)vQx3FOkHh#2?lcG(j$V_&X>b%KvFfpi@o9u7nkbC3J^WW)N-ZLT@<01RSq+@6$JYen{S~;hH!f`w+3P5Lu%6X%FkPeETBZ;e6Naw9`$uk z7Qrav=bH1FS3ypxgo|wonyoxf<89)BLu}WNQ3*?E!o38Q9}z9raL(-Yp18xx1Z)iI zAjSiRVD-IjQhHaMILC%sshI_F6;2D$@uo4cW*CzMWROp9AzllUj4f2SO=E6}@!9aER167{;uYo7{MZ-{q7|`z4yX ziq2fSz8-@M8s5Xov&~i7HLU#1U8qcKlzORJ z5n3#^YrwxbTyOnBaF0_;zAp^oVP3DIP_l?;s=9~+fxlN~ud!}tusumt7~0S?`0Q(x zbK7zon?q)>$r`7_r;f&7RD2j@K}y@`I_Q%nKqsmb9T2ndVh4=QQNr1nN&P&{b(Cfp=yGS(Y8}knQ#&I4&k10;ftMR=vUMx z)MfZ?(rI^NR%oOL^|es@s*CL~CctoX<(_^eV^-yLJMy5{7hIqxd7_HQ({}dwcrO@5_`h)7Cxzdzd?}evuVhIKoXWdShw3U0w*3{YuZ~_}%e@?i1B63ay7*MR{}Eq%t~L0e%sM5Fy`W?Q3fJ%eQU#Fiae524tQ? zDwkvBUibp3??;k~+WLevj?(S3Xy%3WLk9KqeI!*5F9GU>AKB$MAv9yi03A7aB~+aQ zQ0k*9#B9wc>Sh8W{;%tR5u%e83L^oB@UhzL(#SXBUWkia;Tzz>2aN8K?(xr6H-_1{ zijRo&xODQ%gsfCsmHr*gYKw&CdS3?(!Z}GjN)0-XBXZ$8$1ZiU&Qtu;;86!Nhrgd@ zwGG#Av<%iY)or0k#aE=LC0a8hY@L}O*(-nB{lpwJZsk$2jT#7OO!~>#M*Z`>HWH(y z#-SXunNS7o@_i9wW>w)fb=viO)6PLYLl~g{E{Qp@SerQBmn4B7z`@Ab}+GUPS?Ep$P~`5d=X)5Rf8Dm)?tn-avDr|mWA{hJ`j%#)bL-s~X*WAt%)-;U8}lrJ#0}}7${Gh{g>Q=ki>ayc z6b7v{J>g8po{40xf5jB znUp!|&EH3TbLVqK>I($EjXqI4MIJoIA7fZX%m)P=*}39$aEcc`fidWa_)b zy~c&hmCvYN*;wYc&wZF}`|)y5Umd$vH}C(%O0VqVZ_Vz2gXdE*4Ax_FEfvvU(_S*1 zd)gNI={4s|VZ_}|q>>NchrK1^@%b2SV_Q}$7X^PI;U&{HnHy#?x*}azR@t@LMP30F zula-9%EgqbuIy$6S*td~C@tAslM7iGK@H4#*Nb${lAHsJ5*{8;Ir<)AH@=>y@`=8N zndf26m7JSNzE?UySyS~nm%FbNWZR!*?08KAxash2;O+otzbn^@Bjt9ts_IJIT9e#3^}U1g9e(66`v) zKR7pzqJH3Bt!yr!8O}|vr09=^Hi|vC8>QTN!CqPKqE1^~lC)nD*CmyfUv}3#!0*(WFGdJ)(219~<0%cjib(u{pZ zssd{e;n$^8h=?c65 z*jv9=Yv5A5wkdVq6NYmQMvZ3?Yh#|pnlIlfrJKczU%gln^KyR9?@E+WV0Az@lS3mT z+s^rOPtmc#_>QxeI>dDw8Q@73V>N{m^MWEXRIg=v5WdG8+$rpu4d8ct0mEaA;`#NgHi?B|y`GSV*U zn)Z2FzkoU3`vzt#GA9}9uG5=LA;?Z7MZgh;y*o8kDCNf{9)skH^D{h91!P3K4F8RKPg$1RTjV9ze=wGf*L#mwFjTQ>spC3@0^VaiOMV4({-XSiPTCd{p z(nU2rV~aO2umW$1v7C4Ai8@T6gpGo}GOLokkJB?I+)P%2uTKkeE$OQmfk07PhfZ@& zxsJUS>J5-#5-?;TuI8Xh02@@*@-yPyiZm4zKj8~~nn$E6~xrgXW|IJQQ@Kjo6= z)ep~;rMz)`I;RE**EHs{?|gQakDE-(Ba3=7UlU0LyN z*~*SMsJ%G?H{XbMsVwy)VEoY`vu;=RTiF+W_5Z4WE!Sg-RxKBLgU%U~`VwkooGAOE>)V(_3Pu+)Mg}2<_`-xprA2VfCt6-w?dV;!{$@`2 z6xfp~B!)gLtcil$%25opnlb<8WAxgOD2LoOi`?Uz2qxb|n%3`4%+J+RAIE>Yk>%pK zT)+5hx@U=7_Jg|p6Y@uKw9A(X4g4pNX69hhY5DclUr!1tv-(UJ%WUnaP9x6j6nqbr zYkd#7cuU;=CNhbAdP8aFlayxa;#>eIkUuoBZ2E|DMJOk=w4kSSMdBN`P6e*z98#cZ zHQ)?|73%k=nZt%7cpmwXd*l81yQ3yQSvjn${V-$*`}lG17HaKme$lgc#6$|L98Itw#NZRtw zKM%pXzlo?E1mf1bHuvE%d}~vP-5l39QI}!!43nC8J|ybvA;aq}4NrggGM{q65~+T8#T_1_X(zqa`I+7XT4KYuBPt_f#1#L0v6_6Ue^ceBXPY_?55BKbLa?!Tv$)YCbfV5V%YSq@=E=$`+ zlQO-VOpf(|(j@8$+189weVJpFgQy0w7i&*0h=U@7{|B#GuV{D+%oR7;Lu|K90z zJGhsYMiBIG%~rlbq>fX|AWh(j&ier$>WhCVrkqu>H6gHU7X*5;%_p&QtX)B)=Z+5~7oE99sK>gy{GUImM9R%=#9e9z*F{_X*+N{!oW86+pIPoV7 z_|pp-aUzn7TAXmT8SU~RzYK>I+o{T@^NJLj?e`^trCW5{>2~J;OZy3Yyo0 zIfV0latc)1)6Ec>4zd2OO}(@&R;1qFLOP!cN3;(>hz;%Rp2o% zrTne`pE0igKgjyF{}W_bu|DFLpuK=le*;AGqX;W-7&4x|ZK1kDG$B~x5k zxeRzj0gM;|X=6S+`^RgOP2Qi3NfQ0^06Y_U0G=oRBcnfy#sJJxfPe(gHUIHCW&Lli z{$lN>z4_uA@-`4gLJ7bCAfOerDX?gUbyfj&BS;D+319~nVf6qAV$?7Gun_QH_5AS) z^G7ozt_+@p!Kx&1Her8ertbyQubdB0U$52eNb*(6?Ea`6YV4Tss+No;Y}%T|x% zr`#bb?QE6Cx`EvKnrt#Nw_KxW8yPFJBR+p{?X0@Gn$K)7zIewT}Al~hXy8JFlaZ9=B z%hYRDiPtL`g|1V(b1<7pCQqZo5INJm2*?Nvf!g!vZ~!&uSFA$ixgSxFYqsVKno((E zBpr)PZ*PHIPfg4Ee~mPr-kvI?nRPj{AA$}jQ6VJdG4ZByg2nLoP$^Yu-##@qam*4pn9*p@jBRALKUUdMS+@JJhk#f?FYuzwi&}@ZUCk4 zI*&>-95(OG5$%h;N}pt>UR?ib@ENP7e(uN^2<7WafodE&wIZO|hMD@hB4DHs4S#nY zWo|fR?uj(=gxw3m7CnWo{k{y19Y~rUQhaS!Dg@oogAY@W!>vGBOChLz6!vy8t`(S*1&uaHivs9OzR;6w1&I`}Coh-T>21Uwu! zTIsSKJp4?L;kr$j9fI4>$F;}!Y!>88C71gfLa}T6FXL(2t&)Lq4r~I#moHX`!dxP zEr5%!m*kjE))fI^XgCGR-hF=%Z&6tPgR6uz(YkN1 zT%htb0xO=GOD6Q0)W+hz3YL%-u)n>aXQS=jYRTopp%I%z6tNW!COMKLaFJu55!k~O zA*QeP+YyM~^~+#+6)Gf#35lUZjwZo*G4GKyI81Rc(@NUuX`FLVBAlnM@92KgA@HyF z=)Q$6R%RM21IEfQ#e-gcnV6w%x_U!*yK8zo6gHc}_Y%qBd3^OC85uE~J-uXZvRe&0 zk)w`KKk1Nuh?M4qCv()3VV$Hy)^+rvOJKhhzde>|i1Z9v_TlI#UoKt_$8azM(hLYu zZ8D-unjX7hP{~-lEDDX$@^onwB2L;5^%5xxRT2j$F2$}b!wZr4cUXhtyn6G(`X)rs zNnTg7rt?XPO_<67yuwd&;$Oj)`Cft=y6oauA&k`U-$!|dxL=o>=xX7%s;F~W(`h%+ z`#MA)I0hy%VEu&IhwwQx5#h4E6aJ?C>_bOF=Bi7ef)+NBhDx2ZgiZB^3eY4W6t%d? zxV$t~i`q&`N&#}}_KsY!pF;AwTfRKWbmwvt%gSq7V^4-~`E3e1MjH(TZMnBKxXPk@M<_nd?sIRFwzh zhc6})Kf~5Ll4v$&9JX-yW)+@E3nFT6X0ICgnJ*|2Bl|rKY;pYf=8ydu#o=iwqnvJP zf09C1BAjLAJ@c#SQqc->&MYo?(Z5`{R}GFCqm4drv&h9I4raEjG(-VMeDFBW&!*6d zTN))}?@d&B-5=n^GSDp`j)BAq5nWjKkrF5Jlv%>6-!UTJr6MjzPMap%Ip<;%NU>`W zGf&EXYneX0PZIJt(qo$Bsv<A>|RK8b2l zA?$&-w}3zc);uw*8}=PXM}DAVNpan7(f9MIfeK0?BZ6#L==QBS5Gf4qp;9eagbg>FC2aF9+9wK>7ZwM_9lDwF{9_~hLEm6*ti5y2CrXpVm9Y=c_ zk+$|z5y)MnTP}h1@+KEC_A{Ul&)*B=Yn%3yrlfCEEl21|K8#GzQay`%6L7e?c-dJ!U6_u$X29+$xhnAb7?Gu<`>gpeMqZPyO&ig;2vXb#2LdE#3&>^1;oCow-*GDlQ@S1EKd4U*b4~@dTH4HjACC;E{#DP$(3CNMy z0Yb^?!7G?wA^o00fiioyt+yKZ82idnG34S|eCuw+%6{QK60y6FjC|@>r%m}ZCAhqn zziaw)R?2(3gC3c*3-fR6uB37g1gP2Nrf~{65OLnnJ;D3?CW(eRUOO!~bK?GGo2T-4 zZ%7}B9^r(A#+BL@PjiRWQ_sEEo>rlGJsTeV{Vd-~k(|7~r)v7SmY8|ZlEeE1+6zzz z+{U5EQ{t4#&Lo-bl!m6N;U2TZi##k&icmOyw z@AarC*gd(?;_SntH}>o+w+_yn$fquDanDWD z75={XL{~0nSH4jhSF#qT^{h0Mz+)`XLQcdX^V-AL!Mo3X;U~!gU)Kz=w;8eCguc&D z6ETn}_7ZaUis>A7`covKIN-0Y0=|*_Jab7~GYw??sV#)p5P6=8T%Rd~7aka-HU6u^ zY+>jU1*!**k!X+Jk7XPpyBGBgwAw-~ge^wP7 zqE#2Xf@eO#NI!sF3L#C7jhU0#_n&*@;-G-%Z#{USeiIf<{I2d6dQdK273K38Lfmz# zMeb`~M|04W+TTX~+(5=xg4j?t!FCBk&?$W=PHW})+{vkw>YPqxJh%;%;*6gA_~*<+ zB-FQ!8H;In_B*0FjhR+={xQ!@btznR|x$y zm!#WELHh0%*y};NDc-7t4_d2)0e_Z|qQ~AK_PI$7lrg?ST8(()JAfes&c#3=lokjb zb4-{ENuvO!-@NX2QS5T5bpS??6XRF_h}X$Er_`&o$UQW9h1_{ktJ=i$YPwP76EWrJ zC>8UK4$A<{E9>Gomu!lU06SOAw(cA5_Np@+^ny@4^MM&0n815uGoOeHSoOZZ47+sm zfcjRU6?EJj_V!!+p8Y1kZ-C)-um;Uz^6*mtSay`?aU9#aJs!6r^Ti}r<)A`qL#Vi3 zBEEmk|Lj2Q7n3Rk9K)k`e3RnsNYqJnZ4!sBQ9~hhdxP-%#M?l#{|2KWdlV2>xO)1QFL%>Qze=DeJ>-NJ!fI377fzRgJ7TB?JuhZ=d_ z&BYF=0hCNrop7g)&#Sj6R8h8o8rm-%Bo3}!#fnlxk##$R@ay;S`qYmB4L$GrLM$Q6 zu;c83@wfw+p@C@+XLX`3V1BF6+A7l^9?6NK_JapbW@Dz`B*v2@W-dnB-KXsb`_TQv zbnHeKxE6R)xf=vmgDQbc&^{*LeuhtL+jr3zKyFasmm}>ol7a7xJK+SFo;0*h`VA{- zb;PXPJ{SA_wiloSd+Snr>#rnz+&iREWyOpQHvReQ@X;d~hh6HO*n>sY6?e)G`N9=Z}&_DL1yP zZ+qj@I`8(m74?<$X5a> z=fbrX&%wumQ-09`Y6-OD{4{)GX zU#dalOi#|F8(KpZrSK53acIH_A?;`9BLqso)`x8M2x0@m6z7i0?FEEvJ!p`He8gS? zs1=yJTPOMmVSR8`IA()=t)A4QwK2nRl2LuXmt^l^2XY3!8j%kxVZ3Rd2&j2~;UE$F zJTJF$YfrcL+(0JpBYZY&hg^NAy!|9~spTkJ$~D#3HqFC!Bo+3+I@sM^V(q(hN}{{l zXXatH5sz2Vt^>-pt>fa7E5lwaloY8Tg{Lf$a`%^n(JN)Zr(d%Lm(FUI?CrgeYP!|W zu7=UzRAZH5);qF4gxQ;WL(GvHu8ljS9y~dl;JXa1z~h?GkeqT=avrMe4pA)}hcB|d z1dlmb{e1RtsB1oxb$&vs`q0peq@lKa4BFVx2@rBQkoKN@^(5|`~YlyAwllrvutwTw07-C@A`9wgYUpq$??qeGL#&QWf}c`l$?&b z{dGFBOnhG|b-Ak{by>Fd@O16r&Qdukm2nT*HZ7MHy;kE4INAIL>;Qx_+lR=;#SLAZ^%Va?-bp1maXC#?1atY;re+vioDL4CYP z8CE&E;#PhbxHXg)u!5NQxa)h~zeBE_{5FLsqP;tVBqLxphZ#KO+DAA|{-&tyNIImB zYWTKY7;9JntB3w4E=SImLBD6|+DB(v7U)vwKw?-?cip4r4Sq=$0~TiC$=E8Ux!Yl8 zVXMo{+5DdRcOtic2=J2x=PFs?tV=E|O~HM^Smm(mVIa{!wz>MvzH#&lB}S!1In0!f zk5yT?R;*U^3m=iF)}jdb7izS0lPhaon@+^BGzIcSLiCSrg(Zq)>2d44IORyIbGC&h zj4MoTCI-q1r<`+P0f%ir45OseVD-=<^Riazypa4l$4FPq3Xb1aZJ}kEj(bYwD5s;+ z!bIoB(sT@FHW$e{3527?kaaqCn=4GCZ%dO7M(3&bg1zNx7)T_LV$PBdseL5cGDyei zj(Gi8qr+Qm$Br2t+ZRi^l6cfjH=}pQpK+M4C7!NcWHPibRz7CiEG$tNh|Q0+DQNpl z3j@}Px9B1uz)As~6f3hx zpwEpmGFPpiN{eIIPdYbN5*OZ;e`l~{d6^DaNioL|=K5-F_}lAmgb`L*Z4yIROpkdn zv$=h__%(_+n-<3#w7+@{t!s}gC+J!Qmc7!oFgoda7z5RC`H-i)d9;oUc_2q#k@7&* zgrp(Sggz9-(rvFthG0Xb`Of7#2?t4#5CZd}xiFgYn7wmLmqfK2aFZkvC5E6mPU%GI zz|ZcwSfCk?YcBMI7R^P`e8;vWGw}qf75YV_&SdebAsl&6_IYO{!F4fF7#(nKz7rBo zIJbzry&*#8*p<48SiLT{>yiX{yE`JBKmafHilSjk?eB*#>`EoiB;bmYA+bjsy8%fE zYuz!BXU74LxxExLuN5XrP{q+~PCET)V|?QKapY z;&h}ISY@8dEAn1WNpC@&#$rtw?w4;7F8)|=pK`%ZCLe!beTQyAAK~==|p_wqW^H;+L)3_}k&$s2_sgC6X$1e)XPvgR-g?Dj}#tiY2_u?G9-O1=bmR@h`s@ zG@beG>_bW^6NeKx@w5ZCN^n~*JKtLL{Milv;Gky~$9v-V+V}OmNsfVHA9#`Tf!%`l zpb>KT_|5B1+mQvHM2*9J-&(sb3y-c;HAx9FMKFhG4jE4BQU2QLo=ZL2Q9p1hEVB?m zUtw$D_kra$&N zzsO;FJ^OzA#V5g#UjYl=CRemvV};my-VYenR+JwR^yQG2dt{ecUn&!exbyjPr+J>h z*;Px&3Zl{ar|A}Ny+(##2goEKGTCTsp=<@w24nAGajxoVer zZw~5~r?Iy=&*5H57q|R3-M`!49JCN0n$&oq`g1fal}#%gzR_TqJ;#7ilgkHN5=${c%K= z4vh6xECws#3?G#TU<0Zbi{(3sMr14;>i6>-IWW}cwUd8t7Q?e8k$yn0bOU1Q4U7B) zmb3@sgfEEuO{%vZ@9C2W>UR8|ipM&L2hcOak)r53Gvk5TNSZzW)x%HBt-BU^>eEFM zON%(liq<6X`wKJW<#rYcv+&#D4aXmAnpGVwmlt4Yg9A-9m2_TOHYeZMCr*01uB0`C$VohT=?^wb_>Asr~bNO$cFjp&YpYS_L_ z{XjaR8M3&Ym=Hlr%sRd!0=~DJU@;rzq{yPqU5o&}TYVI>9u?V|&@X>xFyU7F?%f}U zm|dyce9II3S7w5byI3Nlb@>}B7W(4*BDWocIihH2fBiNcl6^am*QuWUYT;mnM6O+G z4{RXVaPsag?LM=eNl#qb^Z1$f{nO<6G zH%Rv#NcRay*OfN!dE6dJFN9Txrd8q6IDY_WDVB=R&+U`WN}khFq~Q$NSKy%H=baON zIEfMB#~MZkdAi5RI?a;}G~%QI%sm64wCv%2FHf81jRb3xSzEDuEbdp^*-YJE4C5Q;MP%Ji%E{ z-3!Fd_8Az0Q{$QAoC+u@i{mcl$1^Jx#xskg?{IH3C1^po8Lm~4o{oZ;{Sp)VH@n)m z?C6po^epcqn-4PE4i?pOpMb>HsoG7EAo-20HYAIPu1@2fGl%IN5~C8Am-cazk*5S!QdITn|SfdqE`*f6K+*=A`)ig9~p z>IC%=h4jn0hfH6cI#1tXIw0gRF05XoKrt8#Lx&Xj6VwR_bB~0pTwj^{3)BjQ5FAu_ z1rpmR<;%1Z1@}RMG1^vPT@NTSrnqZG)8p^!9}yE+w}X`eFw3-|p-~#`Aqss;s`I05 zHiEy^(?dnJ)9Z|i&Q4N-s{)1;SWbOzZ9V;{+3V3_!D&PsvpnU(*M5w%a{GEuHN~C2s-b)->AaEs0X6ea%zKc#|b?@a?Q*=A0mHAe??Tv zfEH?3c%18BQ*0c3fi4gD&(|A@%uKLrxr4r2qXS=DPks5Ra_e!hxl}C^yC!)!b>OJF z-DSy=m8*nu&2dr3M#}NHOnxe1p-V7j4!6Vc-MKD9QT{nkPxlCScf4xDB=)VO%w+UJ zCD0xklI+8~y1ii1HT8naw2Qskaf327k=~Y_l`XY=Be84^$xJVDLI~%x8riz7fcpRP zu}vweEXn@imgu@+XQfVvx9l6uS2a#*CGsKrV40eF)-}+Yb@nl70z&XZ=Vn@oJ*n@BIFZarm=(PVM83WLYOQo8A@& z{$L&kmlUzDM|7Jnm14Pd&Mco*PhW`9&wA`bNcPHNOMb4(E9ms8vtrq0usHN5K|z;Z z7fxwFw=7&frt1~wBm;Wc)9UkHJ5)#z#5CalJkv>L9YV3i1G1S8caw0K^;QjPqedSddwUHvT)!8u@`~^%s-#-r}_&*Y-7IS zE;U=-*U@ZCNMH&xyem@z|H`)An6uf;dMhSrqx#MZdCXa}h$EMPPF4p|Lqe76UTa3q zx39z9p;c+8=o>q4tnuCfzBQU3)py$HeE*H`(+|Gi0z$;tnE06^I-C+Tv)=s_ zI@A~?UE+T{FwO*GPB1J89OFGZRLYgvX+v1j@PCd^hKzbwwM4~(K(w@>eHqCG(eB0F z?u`=ri3|*my(S}#KCsEcnzVXOj=GSH*S4>2temz9s@U|>;yx9wTU~U2Y2(zB>PZW> z0p4hwZsczaXbReP=Kc!vvxYkr%?&MUEd{N84Bwy(yBk#NOd0&PBwhLQTGnsHXx;}@ z8`M9c6pR;F)QE2)IY@Ia7vxMMS`TR8OzqEfLH0Y!oU$rA4@9KK#Fw|0ma>*F{vO#> zAb$-KK|_bWKbRN04($mM5awWh!f?$Yn<_HHc)mE2`i4e-v-WqcpMJ{UnO6xrlfScE z=by+zra=@;b+K^YqzkDTIUs|r=8H7`$B)hjZ3O;$^1`tp5ay=Xw)^C*1*&Z!SV5Y@ zmuh1h#7uKv!7i@h#?T|CIGPt5^j;CV@}et8qu0_kSRCe_x`;20e#^8REZ^;Bjj5Ac z%(C@)wkcPlW##Q+4KGo$^47CwzS5Hu1>t4jK~Q70pzb%H3Z_1RM(}xPg)&&ZtzExPXe9cnMorkm?xp(<-U{L&EjR|k@3qzkr)|Y zVM?>XKuAt?Tg-@M?TdMmgOP1dqyv*+^k7lL zRHsAQ!)=OU{;!hGmS9s+p;6KD+k)Y(}@gI72s#7UB`hP@L8v(1w%z61nMk;g)Hu!?D2X z>W#q%Q~|u&k(VJ_dmk&s$}0qPBQe*EmVeL<`8Yg6!L`=oX~La8-r*je5vx7rfaaLZ zcMB+32>z(}>Z1U>({?Q=Re^;$k%myk{qry_R36&b`ou29XKto&#r&0Es6-0nyf+3z z;JRgexNNAPm{i4m)OTuR;@dioUPZRs=6+E%@HGGY&pu#1nk>7IbT$O!V#YlQ~gdUhs*o{?po zGVZXN5Twk@Y)I2AGW<|+sgwtab$^hU!5UlRS%-|2k&A=)d}f|l)p}(or|MuYP#CL- z_C2dR(xticRI$&rK7kc+u{~2vcc(ljUf<_Y`USG^O-mNsK8tNwjhH9cxUagu(*sf~ zQ|BPWRr#t4!T&4KR#OblYhqLY`ciQ(m%`n!y=M$#8D)S)}wHJ{!?jmn{|?3(t>SCQLTn(81@6L2E`D_32WI}6&)TlWFU~BmE>d*rWT+n zKTQ)EDjFY=D07|PiaXo(=Wzr~&EMDK>q5-t1Eoo(3EotV*lCk`v(J&cdSZ>YZLXYk z1u-r4>W2{$`gca7O64E{YBcSR@-!U{f?0R?OKmwjD3Nc|(Y$$3W*>zXCUqN7y>MIT zg%7tPJqPDLv)IK}Sw_x8S-^I*P_#EejiNHoK1ce7bu47Iv}TTa(Fi#l-w##3MEKSY0_paqi47m2({h{eX|aUZ9F}0YE&7fQDF(}4NpQ1 z-X&GOJ1>H!H1JJqlu<}3@UdNS!+iGYtwVaCFfgw`=0F(R_QFSI8s#O1?EbqV;Ls_|ctfv2}dEZ<-=< zD|W|hW|xl}rd7*M+l=V$Hz$aeY#@(e)V-Vsj2TCYcdG5__bfhV-v2`kCJlRIT&g*CM*`GS31CfVnDrd^z9?Nd3 zAtvVZ=b>#i)3>ueArlNZv7l`N~07(8Y|#R-cQrjBjlqi{CM8(YCeX7)o2W zcXD0=t^Ol5W_Yssm$&$m;{=r*I7c4NE4EXO@Cj1+u>gJv**5bGenX)!rM^pOtaz8r z31XgyaJdOV&h|z0k@Tj?=A@%0M~1W7y!qtp&bQmoo5r-(#t@SAb9hm@wJNX_SS+>p z!l8Kk@1vqOKL~btTbm~Pmd3YpCrG(TO)+ED7Ph4xAF~@oeqwxL4^o5&X>m3PX?KWd zpVZv(r(j}X8+=A+@t{T#o?9F<+RNZGVZxy1`1`+Q}~`;k*wX2IZW;54q6y1aY%dffDZ;O?*RfU^^3Wq>Wrl)So|#N!bqk-VFZb z%uN|ta(nlYf6doz6emcv7fIxceWWJJ9ZJnxZEzs&4-9YQt4?s*HW=AqYwFwck| z|KiCuIrAFjzkPx@o$ZOvC|Dlt}bOQg}AN6!4{-NLc|I)A0K&0#Zaq1uSOb4B$OYbCI zL|0x2<{9exU-a4CXWAim37!D@oY4QOClW9}5jh}-t4S-A0Q-O8oUnf)9(4Eributf zRH<}_+j#*DrnRrJQI1kc1Oy;^56&)&qg$^ET6u+naM__N>x+W%U|zRCKt z<%y0>03FMk{LPb}GIuRNJXZs3ruSc!S-%;3O1%2#kOQ>{r-dvl|0~Kwo;GCa=+=dl z2|ohGzaqXH-+fY9&_P7;lZue`N5KP+ZAd_hz-5zQf5CrEW#m&VX?FhVSLpPKe(zcQ z4f6dmPdOS8Fjwb>`QX0_P`>;|u?iw{QZ7g2PW1JG^F)v1aesE4k^Emq>b#Q_qW;53 zKFRYp3C(# z0M?{iUv9?@P-E4?18xwry>#+>J$&k8agtOSB<7<+J!EB2Qwrd%*p2+Ly6NU=*z*=t zAt|BGJU@|p(zz680NC|BH_q?1)S96WE<)>SO7yGT(n6Ykq8*xvZnTphPLs*4H1Eqp zFI+RiHpFk79lZpX}m!FW<8WbjqY}VrePVQ z>jgHLY{6&H(4PbuU1EbpQ{c?#6^YrAd#@f4E&%yatsj|jj5ETjo$0~df}M~pr6BQd zINWAev2PhM&lr{$aT=7%TjC4IuVam+o;tv;rvlkvO@KQFMdBNh*FW(z)RN*zuk?fz zRJ(8Q$I}6CeO@?xxdY^p9dI217X6zaRoY=>G@y!ZuD%f|OdrzAMI1LtnBG^#;y4=`;C`kiC&0`g&^TZ2y4K9O;3CN0^Coc~ zG6Tkqv*!ucC5kl~9NB-DZ#9$S5$(z#JC-}k0+}|Et&MA!V=Ki z)4IadOcucG)75CO{b`sKAkk}X_wwa#Y1wB#l`Vu6lm^@dvYjRI?oWb#yfe@5Em#c#M6gbJNQgIM1ApFs!cML}brOMf_yJc&z?7sQh z8*i3$m6CYpH2&2kvA*8snjf^cilH@SDsDCkYL{%9e&paa*A$uEvQj~hu$j>qPv9SBX8K0?fHPNbl<=6ocFcc)Z+%BLE+2# z`xU8p$6z0wT$kB~bh%QG*QMvuC`eghAAHn+4a|-92e>t;8$mhy&+}I=mAa(qsVrr) zJvyg3gWw(6E7TQCjQw7&FoYQebkFcJG{%IM-*n zeeFrF(Ss7Rf&-P{^x=rf{qZL2JCE5n(k*E; zO)1TnC8D+eQl=skz3?E|+v|Pz;N)6u;N9q^#^<}fb3Zb!vSGy57M0Ixsmu16f2~2W zw)+@KiTuh2J!30ORwK!#jMwrWy%{?0OH=Z&e;?oO`>4V&HyX?fdwF+ZXEr?yiF?WR z=+czbhxYxX*BIxGo6;I6vyaGzt8?(81V$*B_$l`QX{L$PCVMT^jGMirdG0QHOrFqN z(h!-mgw%StYCeqFb`I`+9{h%6ns7I8HS&f!HID9zl*kG`vt+Quw!ugF9{Ir}*vu#} zPraBr;|J|e)Va|r`$t8H&)RGPBWqtQFo)Y$++=lZ4M^j1S+W?YL9_}pAru_f@M`$>nGId@X8ujVGIp0uh#HayULyC@C> z5D`ZsnJY8*r60{S*hL{w)h7*%wC|0lPr6D0djJDk74+VHh)6Z^;>i>?<4}a)%g==^ z(}<9m+7B*&I8y1{2rvWsuF%*?H_1sIEp9xsAm;#Vb`T4w;}%El))%8FvZxa`Dcy$dABEqzKht#G1NntvhZ6R{=`W1G ztqvyCIjZtzWoGvT^VKLsN;M4G)&#Q*CK)c!;yVAd`Pw$P!O0}MiPj;QKE&1QGmQHw z)9@Fhpg&Z9 z`U@HPYSf&o$`ipf?+2i;JNIa2g>ByN>O8`f4PB;15Kf`OMV0+uQ-S#z_aX#i5kTBS z5z^0>NA_uL=!U|ItQ$pFE51HpN)&d-SQAe?tRlP37yZcQ9kG zy2X`jneblTcV-2|Y?S^c?bKR7%(l?E&g`eZcw0J6juTCwC^=3G@^;~^`cUHUFV?eV zp@rhF^cEx@?y5>(Y2ZBQPC8uhW8LL5(p6#E1toc?8+B?XfoZxf>2%hMz(51$!bDZ0 zPP8QbF>B#>e4dT)M#y3~cFmCPIL(~Jd&4s9NCY;^7&ghc(wgLfyCkxOQ_&$UtI!|w z6;jVokj>bnibGDyTz>%4}3 zXT}Wcz`-Sv8RBITp~}n2y}FGqZ=(ax3>5dMBqPGHnQ(T0${WQqdO1Nufunj{0t(4X zhNgNAKlNlIvBQPYggIIElWO+rN)svrLpd70_>pvCd@3fvsb*vRp$D>r)zjPnU*8S@X{XFJI z=e*lZf;5@DRU|C9{WhAE_JY)I0z5N1g~83*RCZ)mzP6xIio@4qy!M%=r_)T&#;cCJ zpA))!S?1d>}@@g{OBJi_pWQr zIk2PFKhBe3_mY*C-K$i33>nozN>fQtIk+K+BR5VxeJ-0wj0}C%y8Q5LMD znVYPd`RMV8^-pKMfu6o`N?QKHu`BtaeC04b+VJ{LJN+=#g1q41ms87X&qlAAy|l@6 zM3`y7+J3Z4|8OEJ?Veere-caFUuWM^O2LPm?5B-gyt5_>GOa-(vMFReelrK~ye^6WFB z_z-Q%E#Qx!-<(UUl47_nyn9qF;Vqey3w)kw`vf1CiS)6_IifcSevCb8$=S^C4#kW#oT;3;V z2LBF>d_zR`_x#-MW4QWGcwh2mEx*<6f#U?cg<0x8h5Oy+z&n;jNgqTmcpZKnW$t3S z@Ak;c^=Z=ZPC8e5SBSvFL<#{%)9mme)Tg9ZnwHu&pG_B~3j^Lw-oJ1+kT;Mj(^*$J z6~Q~8P@DHH&pCuSf8=zas7GmaGH>6l!OuZMT57|Jx_7I+E5$iMcf|Hh8KcFTUaCgi zW-;vcZ*we_P#Tlq(cs{hDbP&I>?(HU*$9o)5FRTllC|uN==5g4Tj1W^Qkw#8{^cN= z^PZ;@@dj?2*SGcXUaA`hzRY+CSHAK3JMosRckbi&npWf-98;~JN)o3eZM93;rPqU; zuGSBNdt>U%LmI3~HiY_VjX2BU@b~To!YyZx)Lz~<^6ir6v3g~4F?EfztlRhIyH8UG zpD)cvtd?{r``O3p+_ur)x;?ulYGnM&vGc>nb7nWn6y1)-gVrZZ{Zk+9dRi<|CS82O zaFNdl)t7qCTxY2vcK3xU=)L`;-q>JIuRWc1Kbs}|m5&RSpK`(rMZfQ76@m#t19lQc z4B@|Z`69i!?-{IGr@q8Vr9IeqQ|jaVATM$knMXhr6Vm$KByZTdio7=eaKpK2#P;fz z@SK~NxXG<{k>P_D}Dcb5@5}sSUHnZK++MWJ>zmF9^H80~%mG^>^mf5`qm3+N_(ue!-tE8kl zaeZ+75T|(UPS*hIy+o7Fc`J8T%WlyDZ?+hY`O?r&smwA`Cf1L;ZdfwCiwoL{=PdLx z5a~7xGL7;VX>$)w@A?^5tIOLEGr{SV@{H9h=Vlb;_ZsH!&&~}U4y5w-HH57dIt|ie z5-fTc^Ri?tdIk;Y@A|R>-#ZTDoeY9d*6xu-dgbONsfVM6m<6_SWeTO}kJSphr?RZt z#*P@CxG)9Y#aw*OC}JWUFI*Xwc}J*9drZawmJ4qPAIEow-`5gG&Pmv;ikDqz6(6iCk zuJSeQ((U%&lH=r{!~>^_fYV;EK0U#pp$`K8kGZ#gXsZeSMsatiSh3>n5C~dmahKv0 zhhoLOxJz+&DDK7G-HN-rJ0!Vz-uHX;FSx%XCwunH&hE_4nc3`ob}cNNcA9s4^69{n zSMXI36WsCfnQ^y6e{9q=&DN^5GT*PGC1CW$*h*gf72}l12|vmncR&lZjxBf@CT`I} zfrU6R`R3sJfeM@MN_%u=aB~CRs**jD>3Ic>Z)sK0Q7dB6TRL;SuN7`<$KS*x*>Ube zl!sj^@pGwKOa!lF-TE}=ipcb_GDSVndk7xv1()-!j-SAHn}Sm8B3T24f!`)@tI zYJ8!@T8P12T*#lKE2%w6Ur4I;V2t!o{x%@OgIcs6{_I;1`oA4{ji=nQ%L}`HZ3Bm( zo4Tw8Dc!}OnAbydJJzZdRI{zG&u!#t=E-Jc(Z1}j2PH;gugQ5v>et0T*~%&{_$zu# zDD2pgGBt~KzWkV%bw%7cL-S0_sU6A~IbS|EsL=t45GmYbHUUp5|=P5OQB^n&Mwuv79j=3RkrXZr_G)ss~* z^Vomb$$E`w6jmefQHJ1K7f0$H|Ing7|6;CwyTW%EJnP{u)QgB+2)>%Rh=aEt`Rb<; zylq-9Phm=wmWU}9wu6C9{d5yw!LER&3%jTYyOsgz-HR6J?oV!(Tr0M>224B97qma~hMcI@q%@}})iI({pzp;(8 zj-hMyEitH2eIg6LsQteD?vxXgg=}9zw5mZ^X|LN3=es14aop3?fE4D8BnHRb*ohmD ze`2cJA!k--TMAT*TTOahl-cil7M>50vQ;E*uH-VXvf(_?qpN1pKIi`J5P*90ay^6j zr`+b0q6JBKJIJ;2i)X;Ei!tm{>n;i+IdAJfFE&(k*x!sr?u+2yGa+CHxZ4f0)P4tv-I!V=+qsKU+=Z+kj~*JZZR!ZBZW#xmlp4qqqh(OPwk z09ou`N{+7%(dY&7Fs9t*1edMbp!drTbgCB?gY4^+u@CmuS>m>d*Y*~&K?@UAvgY0Dx{}}3G-PurNYF9Kw z@kG%icZE8H;zfaB;ej=ilIG{CR3L(KJH#;UGrJ^@X=DGtT*JmpdijKAU;iUCk%b1l%W#M~bU03e=ZY9EdHMJ9_j@(YvF>#S_q5RHK=pk-jI zbkVUfaLYySm_s~#GrFWk!_LQl2dpesmaIo z`ILUJzld1D`q~BdRoQ#P^oOcbo}+(O!9vmD zR+Z1ZPl-HRr9E98cC9LE+qBM;7r@EcS_gkP+gAk#n)uoYfHgLF#llL zIpREvFdO+o&PI$EW?gkiekg=fk>~f0M_F(1b5aid9{-S{QM`0H-ahWPBGGsinsw++ z(c-ECWx&moPa6C#aSyqp*aWO?#A+&8doO0W13uvVwB#W;JJDU1pS?{=!+sKGrCi^* zbvmP2|A&j7jUC$kSR`AXPELYqQ)MmOhUgH31eiuYWT?ny8>z_j9k- zYb?nOP90^2CP93sYGsxpx;J#^ax~*UjeZ|$Ld0rOy8ugbAn^~M4`NQ5T4xigP%jVp zbuG31@-&V?l$~1FZ;T(^jpWZ-3vL%}U6d}gvc1M0z5g*)Te^z*8AIUb;juX+U&ovJ z^asoJqWxn84ZD&A9%xx&Q%TpzI8}E%TI;g1EYWba)aO-Ve#Q>C)y~3Skhv*N$#3V6 zOFf}hkAD*D#F@|AyH^Lwysp4m?( zSAWB!$NET6} zdzU2S7Rx8JbmUb`e!qN0jwU6fQa2v1@6x}~6|VZnM_9XQpkVW8L!0kKS>z>#WR!cE zzgK`vWO`|zAnavvO&oPg(QuGz!3y-d+-nPr--uthqrt7|wt}?|--0>oa!)`~ry^TA zX%$B^#D0=&bd#VXYmt(GsG*(sP`@ozYpKA= zu$0+eu_;7D9oQQR0@YgjcDE_#dkZYDo!%;T5*9rTI@dG&piS);YeU>^;Aat=r(w}u z(9bd8G)O67dE%3=`hF6XT*Tak^HUpVsT~zn+^d6lTs&yrS4abJjVH<>8Wk<&-I3x3Cof$0jF>57B6 zzPS-V+$}3Qyn9rrInaPhlpjyIK0U5DaAuv|v#Rg1c(ChE$)QT-U%)S>-)qO2JB6I9 zMe^FXE4*z4Z!|V$GuB-)CRtuPJ$p$KcAq3n)YtO)#y@z!BlfL$SSH=8Jvj$dW=o?r z`~*GAPIS$SgfiA>*sw%ZOd_92Vk@=Qu%-vic~0fAi17_yZjpU#;*ufedAjV~+}A>F ze%PMv)U5gVjdXE3;fkfE{A|;e^Kg+gw$=XQEggkg+qOwn65Q-2I=6NL1!jaa}&`c)pUSYbUQZZUbDVrxktlW#L;= zmSY^Du5}RHoE)6XM2yzd*x7Q+zAW{-Qa= zRl&&SI=It``pg&HUv1Uy>!HaiqQzTf2^5;vdr8e&QkfdoPwIMwp^q(J-&l(c^74x{ zSKS#W^EJ?);-)Jaw^Z~>)jH#Id#6egBG1}?>RZ!@@mDAHH>13U zjY%0bZCyi#Uon8v3iV7c zCBYTDa;kbFOTZx4kn+z1+umI+^And1GQZhYF#oomg8pv{l2TSqrQ`(Ht(mcZd2#dQ z=hJ29RD{JFN(x7s@poRfBc5#Xqn^s_)9mA{+10VjzUScMbov3xPjs+ME&)&KxHYBj zaqMx&S)dLznnm)|(i@@4> zTj#bCQc`*l8?el1hi9l=Hw9k!GmDuw1LWLvK2+IZH+H~1nvaj(T3Xf+&V3ZSrFecl zX}4ON=6e>)#bYcz*k}po9h#<%k$Nb?eKd(Fp>G)aIgXhZ^w=qLZQR)vt#4F4lj?A) zof>%c@EtdLWfA4-imm5X_4JMK+VKJNr|+&#^(8-dvY~U+Zf&K?5TSFaDIFE@!4^6b zgENqjtI_iv384H6006QZPR#gAUCY8AXGX08ReSp4I`KQ?P@`=ck(4Pk1TWb~@qW`@Nxff2* zUmJtW(r+_JAMMb%l5ZYPJ}jSAhcropR7iE#ZFg+fDirn!R_0W4@$YszBYxteF6ZE z4nSAPhKrD6kuFO*9V>ciA-ZvoAl0!V=WRt%hl4%6C7D zX7?5czh!^UN=P{eI`xdrZ1VN1Ol!uB#~jm>&*pPK{D*Sq8nol%`$5Ae==4nl!27xk zI@A8@mRz;+Qp1;1xol6() zte##~?6F4I0=hiIL1SKf=;kvi4HwV;WbzHi@i(Wt>BjeQZXJON`|l4fMD_RSJ{ul6 z{0ZMaZp5}V3MTPg|F*n!rJYkmyv%+Pbrbq?f{1da{d$St8CToiHjH&gMb+x`es|}R z6>)JrgMC5-6gew~Pb}3H^aKUpk_;=&?rjEv*B^?$}+ zXI3e%_~q$PRxMZQ_}OllaWOq(5j5h8u`fz?>nD;C&*$C$&`bT#!FX+Qr=2IHyiJ;` z*7i4R3KU#@w9<;{_@^gz{Vz6l!S<}uqZBJvz-JYFNZysz8_YKzfmL*A&7< zOn%Fd!Z}sV)`EH^o~OmbQxU%KgBx>?=hwV8Z2dx=Rg}t~au2UE-+g^Bb%FaI&%SB> zeyFuDN*Co&2X+EFF^*nY!-b53Y6hi#c5ZiNbWMnNCtkbavu!3l7#@5&>$f1A2s5v> z@DdlAPSRMoDMTD7;QI*<4V&&02TK$$?r1HsA?tT*9UV--_)cvzoyQQo2s?Z+5|AYw zih4dHioM|mdyx*030fSaC7YoOHV2sT$F2x!P1QNaYC2Z_GD8 zAsj9jY)&(a60$f-%QpK*UU9gL7t6M@tQO05po2MVBiI~mHZG_&UZ)q!cC_pq`_HK| z*6e}2;z$R6_=BJu-FA*s7i753yAT%X+a@ zd&|PHe9n~#W=AgPKCuQpb?Aa_)WhuiX}`^sVyljpy<+XRmyu!(2I`^&n-k2)gqkDF zG6fe0>ORF9Ow>gQ9qy(@nPmz!r<+ZZ+a4|x#oF)apbzT_x}grU?<{M@+8-A$WM0mT9&o)SPW5 z0<~CXB0|l-&Fsl-_jE*tSA`aP>#$-kc9+>>U7ag`o3#ryXPRldoZG}2^w-%6Hiwyc z3oZ`ULGQX$W|}QIpXJ1Ut7P1-CHQ!E_H*xkga8))3


zJG(y3(?&aL>GRzDid5>mJrHxwdnDZ+Nl3 zcj4yM;ho*N37QhSf<3}CteHQeaK!Qq%ck8V%P!oE=h=-B-rMY-LcLO)%Iy3rh`+g( z_1F9Ar;^u|+vZv4bo#y6w$IF4{9W2p;goDgoN#GJoDkKM*bd+l)Og3UIW45V$&jt= z*?kPy0Y%LRo#$0e7U>oG6me&_ zYtAir^Cj`g+;Z_P@~-ho^N957Y)YWRL0B>JuYyww%ce|ZgWe6hde%dvd-1M*p~tj# z)*0c|r@>a;8^Z!Y4)qRg#;J?QzXnd1S{(+FciEBdxw{>PH(lSHUI`t2yTdZx0=-TGd8%9JI_H2Q$R>=T&vW9mV{Dk8Rf$jQ$HOr^*xYfJfEFHQj zmE)lGs8em!b45+uv=A>-bG?P2k5wr!+uA}w`ADg@WcUuc4QKmGsae8CrS;TMVM6IJ zGP#Ez=7{-UBx{g*k}p01o%hhN8__G?f3s<7WDm^WTmUmjnSr%_-~ z*w&%Xu8U*+ZPXZ@N71@PtD2`kH&yA89K4T#G1(w!f!kvlF!rR*BI|-KDgfe2X%Lq1 zk2}yPCz!`1+z*{UC_-MGh|*&|UIBcgZ*Y0-JkV_(zwI$hzUUW0+*elI zKZ<{h-tGK_6ef&l2-hJ!9CZa~T^3=jjdcik_%0cv!e)+=8=jV<)e+Cr$3_zm%URcW zR9lJd>2z!2f#Q+TCNEZwA)Q8yhnjcpC(ADbPk;P@fi*@mE#>t~Gldl9GT>|z9dC}! zc1|_ydUOSO-ORe+V9)`LxE<|4v0XsPXMg11M{A6?29ht5-&t;N>hiPVFz?+FoXEVj z=jzm`gW}hz*WXZE%DmP7`2qnxk*7HuRFvjd)S@w6LKyzEHz1rGigyG`f||aqiV%di zSmE%_Y9WZ>MLJGSOh#Xiccz;1)t?MqgS#!DxZBywbyJR*c>SuKD_S6%V_G)X%oZ)P z{r%q$L^0SooUe|e2W$BY{gh^dDt!K>;sTfJ3YuHc1=e5pR%x54Yv-;?Ug+<*KSIE_ zv#+!vfU22X>rA4I6Ur5-VGR&yW|VXDqO$c!%ZVRiUmD!6`)|gU$P!H3K-e?DVSO zgp#*a`VQDUlRHumY1f!Onz@-(?hA-pm^c*q(R0MVt-dEu_N;t%MXjENds|;`+Bvm z@I_Mbv65}bbI=rY)D!ghF3b~8ISvUg_{4|Wbk@K|v^gX>w)pkqFTg)xW|h4k)}WQQJ$C|PH$Q{1F1{f>c*-bQ|@!p=h;V}vglY1$5V12X0&m+?_v zj@vZ|^xzd7$$df^>I;KEbr}JMPK)~SX*bT|hfhC#o><_DO7Z$7kUs?K?ZI_6@c1cs zO0|Yh9{yS=`xcaM3^=AL1_+ON$mI>f<>z+>2KDLya4<2NWD9vaNL-CMaUz1??O_@J z&62Qf^hjqt<`=$*%{jKGe+TB*ZmCt|?#0V)IRJ$crrTeXwu3s9BpwT?IDeyzkP^g-3xWW!gu};XB`yMQP!oil8+t*Jh{vp>C;@!B-)OM1~;kB^&6#0ZZ8^>4ExFxuhvd=TwdfvJehEIMAVb=$1 zg6~XyH8egLJ9K?GeNY@5oHiUNB+f^l7p;Y;Ycdolb?RUNT5|E_2uJwWrEm|zJ|0vo zBXPl)YwO@)T(JNs`VB3LH*Omg|3)Y1dh*H118oPR&l0BuM=TPG;q&+7dZ6Ex#IckI zZC@si5{(ba4n7p$2a140jGObh%=oQBV@)V!9F?4`>;I1cH(@We$R)QMoVgSj(gF_j zbY-I}a|$DApDbi2@u2*hXY=`VlMrtOm1`51jcO23esgN}EKQ@#OplOAP{?AFhYteszfiuXjxO&+H#QeByoa z+|WL{3(?v9Jw2G!9blB>R3~jTzdwTqYX20LQZ`C=*qA6BYZg&GV%GC6!p`PVmoSgJ zHo=vTP~DT|bDz5Je4AjDGCnQ~viwnD2H=%j0!q)mwu*juprYT`G?)Oqxf-kko)itv zp?|7G6E{^86b=ER7QvJ{!%N5q8wD?-M2Fm;D0^yA1*{Z3w789Z5v!&8pIgJqOqegw3a~7JvP(~_Li`m zo>NksqXsv&dPc7~);|tODMj$OECu#U^ML|4r3Nn;9Jca{v?{0Sg zdmNB5TlLuqDgu_%xoKWAqUnv*Gvl}*>cS@Dd1EO2?53l))$ytcAIT}!3uOZ@uB`e# z#X{)}PC+}&83{#POgzIM%9%CN05WxB5;ZVv9a zME<2fUWB#v+~f=F&wG2|*^9!$9SNO3WgfD;I3K&Y++S#ambzbXCNn^^nmKq&MqiqZ zQ9Womv+No6GafrPF1(w0T^zJh4G`fo{ol9cI)HhXH>Q_5J|h=he%_W_u(!AeA}#Ts0SafR!}48IkKt0rJ%xq6?Nf*y?-D}&OSC8|29J;UIJ=1lJ!Ih*4`DR-BFvr3_Bk|fU(lg+nW zHVD?C<0K)+!jdfJE)3498S>!83-~~WbyV(pJ%!~I^f&{ zV&zx{+%1)mNO%bAQ!rvA#~c_g#NkV#T=>q2ai+};7(rs;RtkmRF_GMq5AFXs;teE? zos0DsAQi*IluYNz|U2IFhhp zApI)rr~3lMIdKMpklKL^g*!p}fA7g^=|3^oFAN~aRWUv0FeddnBZZAhBs!p~|J$r5i}bVhPomd>_VSRfP-W| zSFnQ;28TbhvI~YK$;k`3m%Sl) zD6nLQ-}5EHF;)?+jCj8FUs5}F#iQ?0|8yRq^Dk-T92kZ->zpZS9zG71&mDOwX*P}~ z`e-?Xzmz>QZ%SvknSDkg`crX~7##w7@xM2NXorB^v-d-r$fsU@^YVa|lH8LRuRgyZ zj2Rge_`n^Ms)A$qibqRTHy<_GkC^ztZ>=3<2gz!CvM+RFR~&qPNkA|uyCsXNSj;VH z5)~sK7`eq~!?IOh^UqCT2l9dJ*BGh;2Gy>Tg=ba6N8QTXeDEUPg9zB^$LmGzo);PP z_Ji&89g1$z{8q%Pky}y;kVh5*#hv}7b_VHfJ<0tH>SnI;DCdERshGDryC`0&ll`a3Y>HB;Um;<9ih z=hWHFQRl;rJ;_exwOPTDE4JWYK5*;g|NRG;N*1J@q9dkGh5JrCg`?TYJdp>si#U*q zot&GlCqBJj^36FDH86d7j-9OX0hD!DE!-Gg0dq=D$1U+5y7f$71SxZha}UnO8Dd_I zppD>RPdoW}CZ740Ej$8cLD^*x7Wz|nXqGzF&ExmS_hfMp@>dE7P*?y0WnK2GJp^L* z{K^?Tj7__bAUbBH(y4ep3R%=3-6eb zp$)`eA>7ELP+|*w?*KSHv77-Xs;vQ6-LumyLBNt2f2lt=kl#4n*M6a5Vk-;+U3n1K z;-R?5QWfx{+8NbB1LGAlA9(nPzl*R?q#H2(2x;L5N2u-j>y!DL{kid1tAxChiG*Hs z!)yp_Jhr=B6V-{fN;5iaVG;qIY}a)-aOTci^*90$6b*l)=)$FHC;a3NLq z0~P4?>tSlNp(~Tzp*4^bm98n zd(>_Ii7Vz=_^8kQ-yf?!Sj86AsqAw^M;kv}j% zP;2BE-E8I?rYf%3J6HJg8JkoWiT9{czs1PX7Ek7EIJQ4dkKgHtj!T8GROef@4f*}> zE(m$=@=OnjU%Bydcw>+25!lx-nmMvRVf?kx&``=_iZi=%e3ck7PhV5eP+!XDJatz3 zjY#=v4PW{1;>gM{&l9G*!|}V;oojH@HmzhFYK4JO?Ln2 ziQM0}=QxD!9cBX*rV<9GB%6tIRzP+a!_*lUua&{VkNz#D~2Pj<<*Zto+?n-@n`K1)X8hXz+3-eaXww)^WT%7*U4t;|$6y8>74 zr5%n_i#dx^Ynoz5Holx^zr?QEW1XkYPolFf{1g{B6jF8-Jo&+HqmiX&7bivrdbCH) zpnc@CY8TDijr!XYKPb^}w)+>%xtA}=%Ck$c7L!vVtAMtD&mHHZhH-PrIlaaLK=1mc zme!-AD)j zo@EVKzQb8{iJl7|U6`bnh-OuR3u=bHe!Z(4rd_e^Xt=l#`wMdYTjJ-Id-u9h^(S}k z0sGku*1cCGqwne)!2(Yls4#(YMf2;Z*Hi*9`)Gt}@1Mts*LMNZ;xjI{G7ZuCitxmT ztisy_1Nx*&%P#Q5ORPB9Zadz<D!PQ2EtP+JgV{UIw%Cn$cMm-$6??z^{o{Y2A?e`9UZXF_7X)d9+;AoDfQT82VB4AdNq6=CUsI zXF{2`R~i1Tqp?$87hU+l?$c}jqkptcz^TqZtZMy|vcx7?DEs#k)j;V_U^}Ju`?+y# z|27pHz)&gvUF7gKLEgQ`efy2tUV0P&V#XT;_SiNS^lB9Jhg6F*;$VXPFS1efqivxX zHR+PLpOT48>BjKfGZPC42xS=QH5wV!3MowJMk#gcmERh%CHuJQ>DN?7#848<8NWmP zFAs%}1jp~lr|(3j@7^GW9ELSlp8jp^muIh=OSd3H9+%0{t*6}e=hCMbY>e9nOK{Pz z^?%)rS6rXG_~#YIw-Qak+EKU?^Y8GZsWjjYD*e&i7tH9|f2GJL^KQ*R|FGSfF>Fin zK2eD2OE0A3U0`qSRy&5=N0#TUwmaH?ORTl(>e!(R<@V@c?8kGav4?k_JFok86cOa6Xa0zB+KuL}4>F*t|HG;c@< zp)yF^45_}dA`o!&6Xg01><`kp&sB`^ujmAluYr+&UvBy4Tmdb>ab)1!Mo8G+jsM*p zXr~3dWdM2dt=e|T#P)w)?cV|cwm^I_kO`mX{v~=JKLhCqZxZQ&{S zf?M8wJ%la>z4i2h1>T5UV}e81)FE07Yr_Rf26ZkqO(NFBynBgmz1h;}EfZUv)K8CjWvHSfuGi?ZNtD%R z2}g+S_jKR@E+~iI(k@==8afWGhk?Z5DFH)B1IUh|vvBd;boPNf;r|sLKIWH&ixnvt zMP{s~-eY^DSfN@i#7)3*1|Ab!lg@I_6a$&CZO9VpkkBKD0$1VX+P5VOUbfW>%(sgI z2avBxX7L<36?1UcWg21ZEEQgnF=#T7wQ$&An-t~RjZtQ4)FainXrF$;N=He!y6nQI z$u^?+DD(26+dyd; z1Ic7g+WV+#HxOD60~!GP<{sPB%8jsWNQ#{!IzeP6%~AwPZ2~q|FS4UzWY@oVY$rqErf`u_bUTq zqa(*Tc_YcWXmSC97$Y`PU;R3vUfNO6?F@#zF`iZEo3WY|SJ^T0MT8$re`&r$zUTJp z2?-D?5XXS+Y8P=ah105;K14uLphXL6$uB>gfL0eq8<8A& z1j^{5GU4b{5{;;#Hi}5$-fa@7CKT6^xLa}Q2&EQy%;2e*QTlu+nUSPEC*tiVt5u#+ zt6lQ(Bn>4tWm7p;tuEY@IS+6D7L!7+Et;Etpa{H2)YT`k$h%i~Z#r+)ZW#xFw z4Q)j{B4&!YDLI$&!1fZk)dUN3YC-71coSPonOybDwrYZYRBw&R-$XN<4VGq8h9U=F($aMoNy)$_sG0L^A` zw8ljuO!&oBfD^d{5h$}g5SBKqppWJ*E9GP+WaeYL%`$AU9 z^6686`<6OEOjq)+^4z-5oK!8_*)`##W{wm|^*S1&he-WTc0`)!icGbP8(OSiw>}*7 z_EzaGn0$KtRmWMP{JgDCPegCR>midaqevR-)dSDWT288mVc}-1%05GL{UJ=|-%37) zheWcB6HYFD-VX*Xd7xu2Q}+HtX~0o<$%4)T1D~g8l5iBaYO2v+#Jz~api-0Rw0Eoz zRwHLc5>->IW|Nls5oPhS;h3#Q`H(T_Gmt;`ruhtT5?X{m zPh4Y65M}JJrHSzNr`EzKTTG7@_%t0nJO}#dP`?J}Ct|&lX5>>>B4r?ny2^Q8Gb+I4 z4(1h9cPIA6A8R8DP60vcQN#Z&=aJ}LVz za|s@WU&)fC0iCU^%!uHbZTsqu>Eb*^?ABaAHv_I}Z*9w~PH|()xdZbdyk;VIO$T zEd~mLXD~XA!_wU(=3!YQ!_v&q*#mV=v$@wr<7HYUca;yA{p7=5oYbD^=ncmR>)1lmmac&#y z8R0P=FN)%Vo{`VZikV@;k%p3C0(8zs8aIwSW=SWEI^_xemzYT+7Wf7CFX@;u!ESRE zW>jQtLaNEKKjR_B7$0m5ozoFhqp=m90VzOkfp^0$ofhaN0@ud*|{<4`U?TXE4lbU1l(V{XZml zG)Q8+^MtlLW^e2ETIv};XpKx@aw3!ja|0abNnTn|dN$1Vxnwa6Y4pi%Tc^-v& z;|h3eS2;OP-t?>nN9=SHd{?C7!d!=|Xp{wQXGat%)s~j(zXi4f4xBV$Ry}uG<7L-- zlxw-qr~iCmwc)Bvim1pVaU<~z-pT%Q+g!9wTp+YbqV9m_(nFrs6S$JwQ1;vJSY&_* z^>{B%toIBK=xFuv6;^1RXq`AZjpxHdkS;X|?RmDe@v*`^Eibl0V7f`}(2Qluy1$r5 zpcQHwd8n}JXP8**;TGEF=fH0?`!`=Owe19kCCx`hxBVgDc}VUh`SlVu1|z(z`f4_c0VD3z5q+-ps+|HL{BzVU=DY3N|B zuod)`Fgb&FEymPe+s}MYd}%HS)0{o3xV@-JM-=E)forCkgS6B?p%S_yk;cZ`kI(52 zbtURQ8;0)C>A?I%H*t#2-PTScIs`VQ$haEGzXC#Jbo=XPi27w~xvfHj7I)I~?R!bm zsE0y!T+>K-`=2<8t!zXOhrB$MOpbFRN#G{qu|+T@9iKl6 zuI1OU7j2Jchx5#EUoWyxP@PW}<>>@8=aFg^(JmSPkng!54G$bKf{V{(;^=p@A$lhb z6GC164z>JciL@NkunxFvh%6x7hp4*GwQg1_>cP#m zB`w=L3DBv{xDoRb;7$7VafGk`T5Vs#in7Iq>Jad*0Q;9xT+~V%1`V4=EB5>23+pLT zC6XSR8>1|{^t#2dHwqLJ)8wPVxORR>gK_AL59eMy036<(C=)Ie%QDBu7b26 zO0%TTiDQ8|d5t=OnXyxrdmTOVV_Q;(hPS_@Fzqi?`+L6Tld73cXj_GfnkZez?EL)C z64KWiLwy8zR?-ZYXc^DkK0q)Or8Fn;Z32E$xnEiTFQTPJfrBa#``qg@VOvs zo^yk+CWJ{x!T*dErvl0(=Z8-w?+ABdW|TgMYql^uwjwrey%doyHO&4F2yh9i z7#K2OBK24Hb3OGSX7BLuQrU$vNvdbq*&v*Ap1Q+R^?dDDVMwbPEV0R#+2&&N%*Jy} z=YK_BQtv?`!G7YdTrg3On8CQ}f!Z~(VAOn4{`fNtql7aJVt&4ks184YYa#{o2YHF) zYG@!9kZH`FL>%y;&F(AOBqGS9nQ{7>bpkPChh7JU_g{?SiYqM$$pVKBZnC}M;EW*p z7nf}eHf2b1f&YLp1~I7Tp3Eak{`6$DHx6aR_}uSV|vfU||Ml2o0q@6!8H>#=~3?H5ch>GE3p2bL3-7jyG;yre#l z^zn+JJ9Xz8iokjalM^tSN7}_@s*dGCP-ZdX6VL%+>lK3E2TKS3jY#=r2!D`)3`U6R z?_}r^CTXbADp*O%c1l%;eSUc!H$Qg{2C*=4jVkFF`!zw1$yo)21CDC%`)gQ*BF3CpW7Ry+59?+KAc@8OZ!H>cb7E)ZI@ z8ynH9R__UtcCnkO#{5GCK*TqJh-1t6V$dbSFN~Pn-ui8inG_k+I+HMA zcTs0h_Lg+Wj*PFxnyOP5?(3m3L(z>!VJD%E(E%rQ1Ai})bGCD@k4wVVxFdbE=fw~w zK2gZaP;FL{iH;&~|FAUAf~&cDK8Y;5V6Uba@_Ua)0irSAteT2FhA!HjK@CvY4P7-iogT)i@<$=Kb@4_R zji0HuSR^vMRF$-PNNwIYxxN2a6EruZS>laUXJqei>+FS1kqM#UQb#)a# zG$!oN&`A0$JSFf_{R=RF0UEMei0vD4MnR**OZitE1v+6wJDQB!{+71{CuCcw*s$j1 z{QqN`A5T#+Yg6el_UPX{eO)lTW}IG1I`6<2_94-pz3ME^TpE< zZr0D384Avj0gX`kqy9e?@{0h1fmT4yWGh%5#YO^+OvSMv{P0J3WoU#v**7BiOIJEd z{K3(gBTeon+Ojn7V87rkv=k~2PX#Q7yBO+OQx)K^N+U;jXbWa^y50Y+8e9|3Y7neO z(%AoRxmnE-Nfiv{`C(Y2|1Ysc)7uBCLPuJ-z&y{J{DkEiVHR)3j{St?e+`9L+&$s{ zG{#2-o@M|C{V(Br>;nHI0*2cKwgg(imbJt`V}Hi|A7Mm=L$*;1=<`T(pRp})+2H;W z<3oC-3)Fi)75qVX&J}K6Rk>IC}#Ji|V95xt2ZCpq%Bh?>jPYkR(B74)|EDvq1OB1V^#;(x|1iRp z{Qu|-+5gGN=l@}3OZpx8f0Tp2A2K=M4_%cBg`eN|zNLbI{hx;m8n2B=AWus-%*h3i z{kD1<86k<66=rS+f5=YmLv71S{(4$Z_(=RUCmH-6Y$L1y=L8V&kBM56ZqOsFI*r6K8N4++}cgm%#^jcXx+_>);N9ySuv{7;JFYgS)%y^55Oqr`@=5 zyZfQ5Iw~WxGoz|H`^(IP?Vm~#AKQ)9CE}Ars3x|(*#ZpoKd6~mt#?|h^Jy8EcxlOa zSx0&3sk7!w9yGJybW3$xb!&BjYg@Yd_PUHhTs&M9TnrlVbmN%&Df^KwbS@O_&F!;mFS=UxE{qha z=+3{jMQWxMr4SfGT12SwGpA*as1UJkemjZuFl(ie$$p3bEs`&#Nr{0#7lLk7tw>vi zJ^Fh>gjRtjE~zwmc!F)b@Rt78_BQKg?WXJI?I!5f!_&$0t!uCAPgfKF&m3ljKN=}i zla=F1dkY7@ZclDaJtsU>dz1yK4Crz*9nusIbq+uWeEXgI-utinu!pxdyEo6zBhNI? zR?k5`Mm^L(dV?&3bf%HoiPVFo!?Byp+j59v2>C#D@YdeC0LD7{ItE8tN4hK8E4put zTbKiwR|ts+%J8%BP|$xNlzwUjw&gVlD=X@dFqARHW3po_hDe8GiByZ&=NpmgS!!A8 z9H}0uQ&VGLMZ%B44~8U%B>r6$u`=?_uc~X0r&Xri!LY(~ib9M!A{!$Ek(H9QlGTy{ z3%1Dgm2}a7)a}&8)YVdoKj_ghlQAQrXrq3JH;c~}ypR>5W&>=G(U=Cy6MkPh5M9xJ*5B}X5HU8yfSKrjuqp7~8E1OK6>?qwN-9`~g;TmBU zVHcqip%bAIVercluJ%XGZ-YeLMCC+vGHSGxaOqL$0g7ab#Kcu}t6#nmRYmPkw{im| z9jx2>c|W$kH9_eH<_BPD!rMa2LvRJA_9~##Z^7+A`2-4ol?Q?{gQ(9_CPABrFADMs zl%1x}n@yhOIo3X2bM1HKU1weAT&G!QSf^WO65!5GB}$!CP>@&nr67Y{gfJ(5Y<9eJ zH|qM!%dUgHTTqWCI4M85Z-RL|kBy$qmMx2QjkSyQjWvkP1J?=nEqX8dPjnOF&roL3 zKT0X2lV#)art{`fY$t4{xD&XlCCZdkDs*$KbDVQDa}0BIb4+a9NvXK0BU7@IvLmu% z7^d)S;^}7TJL99Wzs&7Q*c$~^QdY8lnbDXzH8eG}X@zRJrkJJJrKn&D(ecnx&@srw zQ;egVC7VSw(l-9kYSx;qdZE`+cfm@o{xdPMIC@}?Z$7t@veL35zhb|lzv8#jx6*ai zX6xtf>@MxD-9n<1#xTk_hGn5)F4JJs=&v{OdBOW(LHBg2)w~JR|6GxN|5$hsI32H? zu4QgxZf7oLJ_p#y_pI*Go!2fd0fG8;lmoUEs62PXQwCaIF1*Rt=kyy!Jrb)wWo)}4S z-97{RGtxwbdkN({!I@U!I0FMY4JlHE3+Ng<+GNspGH-RZ5m;6X_4z!R5wQ9UmB1=9 zcgyDSkhYYBT02~eu@oga8{B?#QZ{3KhFz6KRy=J6U*e_Nxn_oU>y_CkD+b?1-QK%+ z4N_v8vMLH0tLD9;wiHZd9WhKg(j{gd%4*H%u36pjD)`zI4#mYpQfhF0V&>N=gO|`_ z+!6!&8DijhOz!JXqGX0&Ow3LiM0N~l2Ky|{>32}M15%W%w4}5*F4PGS&Dprf^K>#? zVnk9BYpLdzq#d`Y6BOyvM@l6^bV^~QFRZw3UumOIl{~|9(W@94)zOJhB~mIw+!CTO zNyLFXM*3{NLw&L_q7Dm(F3hJMX-3V^1mpRJV(HQYn3OqJGkl2!2V{)Sbzn}xQU6F7 z^9SHn!F+bf@FSshO*z3Ag|I!P18fIE{DV@^0KtGndPdejdJsxN){u4yb0j)x45qlz z#>f{gG}R7muFXxbeZCvFL{S&S!v#arA|M7(MaAGr&55y3^}^Nc!f~m3 zSJ}nJ%)-ay!}}A-7|sl4nJcLWw1fs!S$2bE1Dyj=LYFm)3>inDQjR2lbuhfdN8yrB zxQZSW&j2uTlrl`Boc0VcT~On=k9d%cgPVGh$nUe6az9W$cH{c}mu(~Eakx60oi~4! z76Hz+?3ROmI|;V!O_?(7jUd)I(rmtW>FE2o$@4{HnDgtDq1#Wt5mh-Sats z?XwB$>V`@XgNU5D1u_1BS~7s+6gk3Wv4Mk7`zBcGYR%zP+k|G(>bajC$38lcZhO8( zJm~jB*zxbh$|I;j>OhFhL30<)v*X8-Q;ms_8_N1;jC0qd@+6N@xaqMR=mf z>V;*Z@6jAqNC#mp)`SEi=D(L=CB*IzdBdJjm={a$(+sG~+@7DYbzkAuuD_p+AN2*d z?e_NqkwpRycY9U7c$) zbhGaqJ4c$vSFIZ!NMtgh0r<(tf4J>%-%T4ogY+h{y$9xndZw9;^({qDVmn9kMa4K{ zvS0m2F6R%84s&a|ka{pZeggW!&6xC%(+~deFJ+@@6>zMbJTr6NTQ)*6y-8a{`S&f`2n&6R&?xe>_hwp0D{NqpyWULCj z(9ftskC6DADk7D!;Ek$r> zocX{nB5U?)r7pBx_Ib6^2(9Zlidz9|Jl-pv{&sT>ho=(Sbu|mvyv|TQeEe7-q}xQX z-F5wOY}9G-eEUeOThUan8i!g`0}Wxdtw_$jp!04D40 zFZ&AqwJ)}MHIS}PqL-riv>LA^_g8V;nu;3qgV3TH?{H-&-Xca5k28EbuHpXEQc_(P zjQ7X%!9@-&zhqNKj(R=0JhZaxXXT8Yc56nxW=OFxU9GpeTsO8!?x=n#zC3 zj5=QbNSYO>q7uzOV}kxO%zkVIHVd}Hk$cgLJw(#JrD2hie~4oRFZistLT{S;bjR2X zYG;h1-Z>Jn%=Hn%&)V9|*H25$@nZTROS0A~JS(hyMErVTquNI-1hS6)#T?&0dTks} z`ZX-NIC}itZ95+g;|mcM|lt zmcITttS!wz(X;=4;F~vUv@G0hZ1%BU_%rTy9e7l8-0gApBLwX)X|2!~#v1dOAhU*T z!Busd=5no+t-l*9%0X&0Qej@7%b#G+snL0^Vwr)WvRVJ3QQ(UO#f~)0jq2<(lAf#ju-rcNwM&LW*978PZi=3kmiDr%`d8glq7Wlp2&N-pr zBYJA|S)C`TJRZs6~?mFl7Did$>TaKtH&vge@ZgHfDdM#HO$1~BEpr6_^{ihy#RW3u%l##~Qr(;t)L zCo$**z31}?yG{j6f%4+-t2nc8)!aXb-Ht4MTz9_jrjtuvn=`*H z2^s&!cCpw%vXvWZ;bEyb(6q949e7i_*822(dx`ncclpWc@N4sMDsH(-d*8m$9|o@2 zS%**XaQC%Q1?6E~$E3z{uL_{MSK!6hdPvMq`KZmtcBr}4Rz}W2?kv%@-lEYhcdbCN zfP%u`p6c|e`~lU7>>JCFm1R{nB!SWix-Zc<+g>+BKyl3G}*pHHgKQ*>w&?V54o$>DLqli{OczrBcdnt7o@@67VrS8TJi>2Cv1T2$k0%V3N;d{|a$ub(Oj z@9kcyG2HnVc5`}fy%*UYJM2o=!wRFzDV>Iv^MqlZVeS?;4Ta(S1F5F}9L z{k{Gqy)@mZHELfc7v=fx7kT++rpqJ%V2fg4nC)K;ScunoCF86q7iuoyZIY9`#V_^d z-vre;HM~!Go}%9@K5zcW7n)E8Qr4%NB^+;W1Y2)%%1ZBO(iUM(DQJtMB*Qw4d#~Q5 zrmcr@KJftSw6Z(nt5EUrUqMBNmz>+JJT*w4Q!Z;eF*mY}9vs~s&~{99-w|aRp2u`| zEk9&h5^8nLw~g0Zeq;-&8b3IwHgIoe?%|6{`hMksc&2<_^;5Wcr;-lhwkkv>` z`8I4-WKU7JV04{Bhk9*)78$xfkc=xWj;g>8Oac zJp>8yq=UU$d?HSx$#tB4a~RUh^+yevdAvRu!1z{;zE3v)6M zqbaG{J~=Nt>%#5Ej~FYw`X~!}4(YB6N*{E64sKWRc*$PJSDN7^TMnTzujbSl^Fbq! zL8*s&XZksIXU1C^e%5{&&$?YUFSMMU%r-2(`(~}P1|iI6Ok#%)XWV( z$GUM+tyb7$U)<4tWT2i=e#v-BuipD%O`y@#m1{1)6XWisYeg}iPwZ#^#?;72a3xU9 z`!kJ=c>GjH;E8?3^Ryx_fBkI^Uxqyi2A692bPn!8x666p;7TYN{*xch|5ii=HBR>N zG)fuM#Jt1$lT|MnGg__37c&au@l@eFns0jZLp_-2=`<#C$SZOUnn=dNT27u#vp6XL1SeE#m#|;AL}PbP$TOm|a|G?ZX~WS=rx$1>_PcnycN8@yx7v z7(?s=auegMcBnjMZa)%Kap4^0zOE9ey6Iu?-`rI)IfY1ChaTx%d?9YteU7y@1*h6} zrD_KEU9eWtFIcc3IDT99xHluiP0PykBj>D7*G%{y-z3ojux)1ThZ?mQ|p&T z4|==-Fa7`aqkxmOget}QzLH*-D^$f1p1}h;lNNAcD2(*owuxqJlO}lSsdRzQc(RJtYXk9$PtSkwe7UOd0Tva zY$AGh-UU%5zi;aM>v_q$W!R~x=C>IoPWV-)lk<1SE#t|fPj>Z~FJaJaSlol0E{4OF zYCz5&_MX)n`9T}Ilq1UW!zirAR)d6sb6Txp6Wj%QTZ~kvPvpc)7yi%b@6YO9LDlft zc|3cmp2c~+tn$-mVKy*8&s}j9gw**J`VgU>YjjY@`qW%}zcL0C9n1{4rp1lOuUt`3 z-NznM>M@HMA0sy~K1LVNlczosrBl&*|4rlSLpHv+cX8By!isa4kzz^nwjM-sE&)Pl zAF2PNE=kYEw)!`XvxS`_pP>sH&U(~UGpbpO;cKhXgcJ9NY38NmAQn!zH zqUBFM>Vi(H(qK9Vnlkd5Cn}={rn1rIx<}Qu1YTPuG<<|sL1p8! zjoE~$%5@i3H{b1sm!6k~Ts*N3ABvq;FE%7W9=M;Ovw!^DU&!y_I;;G?DJ2hdW4*ye z>!x`bvy=Bqr5GM1irH+Ny4Kds?Q1M@O5zl9JmNYT9YSDAX3wRBYV$jP&Z9jRw^EM- z)9+6X3&Q{KhUK@qC;P1az+dkNbzJald22k7nFn5{2usEh7T&>PJ%HZkYC5KF$-^?b za2y`$4-`dX@_;KXuzMYppKhqY&))I5rjzBv@amQ(anfzAsr$@0|o;nnr` z%NRNuhFQz%57&-FZ8xdbC$J?#!b|{gIp zw#|@M8e4I7DguYAmDJra1-M4xRP8wi8;j0ofAjZ7uRluwE*X5wdsi%(y9<-eB8%H$ zor7YU(y5j2yrrg=T2Eiu{J5;LBKKyJVN|Mc2g|kwxfPmtf7vXB z9(sFzrcOT5nq9NzHv1Oyk_daL*BUI)i8d2W?qandR}kIIg@wAMH1Dpe+HpH>GIY;W zcnu~tw%qz}?A8nr0al0~(rAHQ8vUmElMHD1Jggv~%rZf?%){A8N&%eX2riDX>8J)O8QHYk zSQi@#*S6{Ny|iScE>qb757(NxycN!*|%vP^^wlukuR4ezT4Uu3XvdIfu3Le z?I{J8xe;0CM(d@A1CdQfhq>EX&=K14ihj2RZFHNO z(}mHl^ual#l;f0Mza!Rxe|KqjKy3JsOI5O#l_%%zs}$Bprs(EtWT=7OtFX&@u}}SQ za8Y3h%=`Hd9XUxj*ad><jOd*R$QlahS;YZ3XE$}orQ+Yi4&s|5-7*Mly zZZ=-4tviB;95<`>hPF@;@LHK1S}i3XvkB!oJIk9-3EQpQ8%yK6w;Fw|c90e{5;`Ay zj)oO<^Gn@Yw?il3Cd8pv-$Rjs93~TUPMi&u-))HS@iVN zxXoLCGyAg5yUyaziM3N*lpo*n9#m@hPssSOP|Y&wV!5>hOI|O0^=n*!x;psj+ROe| z@3y6ttO@nnITpEcFpwMcV_JNa68(i-Ox2HMfwAOEAA#LM{(i1$KWqQ6)5$D!J8WL~ zu$$gA4g&7xYpL!8xu+q0k8r*cY+Vm%L*)rny5E zZ*mF!!GLq(c0icg0VedZl2)kO!j+D;eAN5|qrN+hNBhKqOjtue4{-s~{do?G(5kg} z{H;f8iBn8)mY#+))8iw1E=XaS`|qXW)Pnw{y%I}tBve>JH|Nnf-QGZA>E zr*qE6TQb)+&sM1#DyyGQ#lNU?+|65>^cP|?Ck%qfiDd?^E7v^b+fGrC7c@oj&Q7)9_6Ps0bOcKVNp?p9;ho{<# zZdI9C$}q+BraS#MRayi{-uL-yNSoOzhTF~GLpvv!$i`@TVU?)=GNK8_QFnoH_B$iN z!i&eM-O2lmui%Y()70hn8=Adk@pVpx&=9|weK;T@-)pvWw zIXAUG=)be$_T;+C(AqPKmrnl<#T&)e6O$Lr*ZMNxbQXMe1r;Bj`{ur$PZ4)AT3UQ& z&tit42-WfuOnYk`y^!} z598gpLpxtNSf<9POp9mJ*KUx2&?%mJuAjjt?Zl%Aa5bb>@*@0Vb0W|GGIJa6w$rMX zKs81C_Ne(F<(C?N`rr)v31jQ6W^kMz8*eFW^5z4o&iya+Vz?K9O-n%UNu)%E)3NJ* ztX&*^PtC)=an-+sfcg2kx}Q?Q6j;yq3H4mH5hc^mBFbYlG6N z52FqNzij=3E;g1a#u{Au2UIdGPO;9?Upu7lowF|&)E9U8VlVxyOC=uu=DP2Dy65bn zDWPYLRxYa$b(@(NjfBb&z)l8q!o}F36N@9I3mo<&NT*`2(OI;0eE3E)^55dBq_3`- zta3Jns+aoY$Sv}$IUejhi?HczuHOdf52*9P1@j94+P$lljsb?YjK01*Q5DZB#2DGQ zr?=B@_17!-<$|q?Rr{OEK*kA9vy1DtxmQ5$GMCDja$sXe%Mh83a3%DJ1A3_Q;x#-! z`k8Fax@zQMuF4rRr$HmW)**wT^@HEVXND1?FA%l)mk|`ryZM zFRPxpTvlhh-cA$J5f&>J&ZH9LIIR{Rmw)_J>Fk9nsd?2(Y5)m<_gWwDNoiv2{A6M(UWHLpx02zkW-O~`cv^mM- z-wI6Wm&i^#M%cU&Cq9LAmStjaaJl>!DEXkJZN^hypbGSh496P5Ti_tFSAB(bZ0aPY7^!`<1iON_qgf9&GafRjy_W+tqE^oE}s^;w^x zsI8WhyE^;tq#Bd7T*wD!(pZVVPwAD0D2~AwI$cT6_5slIa8YKFNv?x1mwNBtGEb#& z7_WcJnvDwRKGYhiZ;U%C<0_BI;F>-P*dHsYeG8sAzSNgon-SvI&v%Y4y39tA_|DYh z;H4oo1?q5)QtT>N;;-c)|qixxI2urGP!LBT8o&OFYB#>fNHzQ`<$H~+BdU~%!yK*{jCALZ8fg; z%8B=m2Fyuk@eutWD=(F{=s~Rh zzJA(fW&tqjH{K1hNQSJChdIWvXWCdVv273GunEWoUMd2g=^pk#GpF=TahF$&eDfw^ zU(kItJ#38=tjlkX?(a|clg(H6TwRdEaaKVMsW@+KIg6ZF8qC_ z6?CfsAxZ@8h_4Xi_>V`&ck%PSs^-Tjq@0b)rk=>=Q9ixvs-?Q$EO>y)V%w%_WN)5+ zK1_fE_Y*Go zWNT1)fSFFQ_v6J!2csIVh1`4xw|8Zt#|QYSUK|_mfZkct==<`*Eea3jBk$A2+FyG% z55El^`(FFZ7!a(vop_d+Rzczn+Gt_p>)3g^etTquGYH! zk*v}dxwZ#D3UzzTu*-3uKUaHi;XnPmr``RpGPM@_)GCH2Nk@6>?w`d>-4x%SprofB zfet&q4fXP|={E6Sc>Rseg$Mkt1{G6IR%gZfSpHJ^@9BFSMEmZU@|1_F8|oXLV{;#G zU9B~~eqPSbT1MI3E?#lxVZQt+1Kve`v-Xo+Ot`$)Fy2iYp!QZ{jn>?y{S!LCn0I|e zil2^kNtO%KN_zd1T#WnK>O)5=ca!(46CGh36(*x^MTPI#ImMja%v5wMhM=0>$Ib7; zl?KA3gU&ME+6sQ=aCv6_+tXpzNcvr<{@}KjOD>08{DUp!uNf*zXp-TByY*>zZRfvj z6uLz5=DP;TUwuBb4-VRV?rjxVpSB1ABMPc5t9qZFfSxHV+ZBEAhaIIW4=sK~r-@!_ z?a{5XodPV4x-Dg8aV7@P!}W2Lt9m8^AYwuDc}``kzH~0@r~yAv|$h8&+<} zo98~8HgU~M@(OsEIGgr>*D3r54|_OVzv9hd<63;o&cvRMY;DOU&mc)+KzV7dYU@}4n-|NE$M9M$kX z7j8{`9AB%n+xV9Upxe*OdYHaOJsVq{lE0g6&U!R_5ykz7Tnqzm=~+&v z#<_IA*DxKeOQPUpdxw;P?*>%v`$J+)ht1K$Xo&JI}CrSm~g6kO{ z=ab{OBw+vP_kE#3*QHBHE4ANFV&v0f(#u(g-KYxAhjw4JjJ5EgWZ;w#;Pc3<`)ls$Fpc31gsD$98`K7Rb<3l{Qn+qC1;A-wUk)Jp6p4v5zxq9?! zo^yW1^76;9W&ZtHucpV`>*=MLi2-mZ7%td#RqfK?8)w=HGd$@ z#q7EhX!bk1-7%Eh>1MXsS)5HMP++VqMh4H{D~08v)dE)(!(uwn|I3KVmfn6JPr#e- zS>xP$vAPVk?6L2!<#4i`ig3n6`7c{{V(KKnI1YK`r$#Vw-0wDl4%G3r-!GU8_v8Ab zg^<}kxW}J%nZNKT|HFp=?H7s9D`pb~hjTT2`Bb3G*gDtW`zr(!28YFeDDEbOv6I{w ziFwtXr%# zX<^ac@DRq^rLW%(nI=XU!^DC$HlJGqIZ}yLD@WwN!UU^#bOV(piA5){&aJj+)Fv#4$%diLmVQz zL$h_dslefKSLPU^myG_I%rZx@k&8-YZPve;92PmN$aj3c@kLe4>n!gR>UjitSLrmL zu9F)tjm-s<%+g7pO3vXZz=2sMq>>9H1-^pBRNcRm_=5QPjXCP^lB@9-fXrh?4Gz!Z z+_CV|Q$25uk<~B?fg@*QN6+0IA8@Gd$*J+79GT}#b=`dBZl_eu0MJAvxIrB)8X}IU zu+C$mw6itodA+XQv`7~hVel^BJ!w(qy?;ZcGhb^O5o_VET~J3mIwNXi|GYajsD<^{ z1(H!${?SwayYlSY(@l4?1hIw%Z}>(tJfSWcMw9nIqbSy^zGt(}K*pzS|L}!eEG%D5 zT&-8OyPNOC4y?7+#euKT>NB`*}=GCnB?DoknTCKg0^2Z#F1qd za9w-0o{N1+Q}LePeO_;~E~<_ayo*j(WMD;y&hcbFKBGQS6lGw)bwIQu{HX>93vhx0 zQQynbGqQKJGEp%zayGGKU}0otWM@(| zGO;yt{bg_NzzDF7NdiejvY>|6V)}%|)1fp|d(nuL7Z{fhdbOeUt(eX)|7iSCz9_o6 zZfmU5VtG0kdiG}Uk-jqiAZ&?G<1e7~gm=DTrr32F~fR)&J`f7 zp`O_B%7H{n=Z{fN7ps&O-1Lu58mTGxNfzR1{&|Hgt%yPoYnB42m%-_-j8O2;1UkPb zU>~nnFxli18WeS}36bW8=H%1hbOFrC9{*h8P2@qmSahXZ){(-7Qb^R?ijsS;zp)T@ zbWW(etgQvMpc-Ye0^~h@cLBKeJ=$la)oPRK)YA6*>Iv8XR^hjA-@qhnPc*-@_J0rJ zue<-J3YE=V9Ne5u%v_itzbpXu+kZwt{GVa}e{!_{Jvmhe8#8+=FEi)=8D-Z05oHl^ zWmQIihq({HP4$n#{QVR}apzCCpB;Rv#+ImQ;6?by$iI>kaZrtle&RSE*~fpKG=bnn zf6y^{_%2@-Uza*ftGf@{A6KT@Uvpe8+F@CE;5P395Nk~vdT!@pK=y*;W=QKrr?7a$ zhip9zQ7Cb|B6s2i8HDz18**gQUuZ%%dVZzylmY@zWrWZ~50paUBZIPRb*(V#HDBqKHiLPD_lEcfZ3qjU}%M*yYp@Ew~K~U)n6Cia$E~ z6=Fl%jxD%nd)8rI`6{Ob7|PY}uMfu*6hF>TLPQC|l8cNZF}90@OK(=Kdrhm!&Yq5& zbLhfiiIyIh`cZX2zljtq?S>(4ByJL{egPrQT3^Pu9IwuD`!lU^&H&pQtdI`YtH`3QQ*cxnMjW%Rc@hI7_Z(H`3;f^p7OjNqc zz2lPC9mJQ*jEs32Vtczny&cTdthrpJ=`5;n#u{SF_R!KlY2<1w=4x5@H^+{yMAhgh z#@;6HYhcwXwvMZ{dZvkUb`sa|Yl*i$OI!f@Z5>%m)Us7^*CmrGm4ulcwS!Q_&bbYm z0?qWm>B5WO=UI|Sw-E=mp_tan2(hC$HLK~O5sc>q-LlN2!t27OWjuKF1+!l_1i5*P z8q?Eg{_2pZR+8jsj0+50>_N>fJ1x6t)a%O5Cumm50UvQKOq>nJxPUK(Rq|(chA}Z8~mJWyZDt&lx9x|F~^I?SIpE$g32}x znT6lmCqI9kR0U?9qqFp_br#?1?93l*4z0Jt6fR94a?vCgBWt{=NC8J8m`hm4h5>dK zPVWTTHX>jNA>b73EEy&U4gxW^a%%t|9!9FScqx!xo?hL!gs0CHER7PHjP0%uHpMVL z0M{@@4r&NNFvdIA13%#S*OgT$RvHn^T+6q-65KL0SaXT?K-}-b&m4E7o3+nuX~>Xs z`~-%pNV1g>!9y@xW3*Rh%89WCF35Q#RW=t*c#yd%Ct&g{b@qsF^*}K01hBnc2-q~A zx3sovGCjpvx`Ue1dHqrt-)lYc&D>hHAFdAH2nDzfSE648&R`4eF81{3O7w0wSo_b9 z9LI4f>hdQFi9_?co)A~K#>HICc?l4H)KxZ)@joH*v`l1#CUFYdCe4&n&=@Lct3Wh` zo~dF&y1IJwz)T6%*HLk8Lp_UH1>3*(Om6rLZ7ymEnfbUC#FcF#2^czR`H?W(Gvv-s z)ec6S@0B_McnF%9VAlg!%V#qoKA3GSn5I)I+`;@}>$RsXWGQmQr zFtMP-rZDts!bCgvD#9X)_Ljj$i}q@QQ?4>osxO9)#rC>S?t_V<{TEf{90&5pI|In2lbr~}Z8g;Pi0na#tl!^9+tiCvFl_9f z4Tuv=gAay9BN@m2rUUagBaoR`t#=XnOu25AOi}-GA7r2p`4fP-xjT2sT zsMnlL@dEN2ENt(AAZiQZZw^Q!K^!C205eF`Z)bYo_lLp){j`R&h3kyPKdatY>i_PU zavHjUd!q@P5QHaxGh7r{VN6EK$XVvrf>P4a1v`RH1IK{|Bh`UQd~*qmpu&kWo=qiQ zu7|3;4_w#@h#6O_o8~rzc=Csmr9(_YWR3!JL9fyTQzw9=GY>k8hp{>_fYo#jm=3>w zx9NR>K2w5lxC*M`0>|Cth1E>sAKWYBAVDQ1>r|xARdMp(tkwqB~17q+LMiAVZ4N5IAyk)f53J)@AN7?C&gPWvzxk&w*2maPqM4Ltc0TkWB{thF5<&FI3BmxqE z9SlA+d?@@tx?GC*FTA&Q>&^#EWTMY`yf>1JGU(Hyx(uA&y0-$R%1#(335wH`B^msw z0cn86k*KZ!3;{+H`O8YNT>CI!qS=7p4y}Q*-=GFB;W2t#ta>{j=tT@qNvEH_EYdIF z2`b3&JsYA5qxS}kUb=S&x)RE ziF7>$^8~zXB_#MsFU$cK(l@mGK2@kK5{s=ov#q=X?cNgTGv3|}*l}@^0a#Sz>9j~N zf+j?Qc>*L&5;c@;a2wp^8(3ssSR#Hf?13Ay<#`Cy7H-5e947_vTRi4VFz;nya#F=9 zunXK{``$lb@;3@FAOJMIaqlWb9@rC9K)F5}7+G4Q(YMLa9|1yOLmJmx(CBHZ0~okl zbTILqvxPWGTc*z@qdY)Zb9?(7pBV(ZW-6`C!FF2 zcds2gL`yhA)gBn_m9IdFW{^t9H{-R)729tTqz5TR(D0IAGpIOPLts(~Fu>WZR?N2+ zV|kd8*j8{TaKjyEge`_%mjGlii2&R2>-XFih^<^b=!2(@z%Y|>FnUq=lxy%#3rKr@ zD4u-qf@*Md{eGl9ZNW5pFu~qGRyx8B&?Y*}EzrB7!UWJxZ!IXwc2FM17*IwSZE3K3 z#3*$Gkl*-w(NRL7V&hm24t8OF5DC*l7O~2b2e&f?YQzNc#ekP%u4RAp?J)ikimDG} z6{*`2HI#(eGce@h76|FJc{60f7Z$`Pu{4hCpp5?mt)2)D1JQ@%1}(k)Y}5M}DiGZ^ z5gS#uyDwBWAcfOW3X&zP39jx6oDOMD5ln~CP=gNVFA?hMi;y0);d^I!uj+64-ciUZ ze=batgHpHvGX%{~ds^nyJ<(okSo&JrTz?MCG_N!ms0fIkWS_RQ%;|f-%Ta|j--R;a zqa`!H=30`otz0?ioh95d!rosW4gvPErBNdzs8{eVzGx5(h-rlgO;2G#=L*4L;#*aN z{+yU;F0nj$5xslBOn5{WFy>0I+f6y>gRVh{6tw^1=!t0V*&br?>v23evmu1b`g>t{ zZyVv7@x5V`)u$ybGdmG83LaeQ7t4lPOsIkmTM><4Ty}x(8h-xGBa#l%5l46RPBe^5 z-1_z_2%Ztny8B0X=-0Iebw!TE9du{tefJ+pCP~3i@)U_b8oyowIfwAy`Q!gEXN>`) zPYw3=)ye&j7?FA5>5DmuJ)uwV=gks`!db{UEkoLYFX6{e3ew=g8;th9gg?0Ahw8{N z_JWaBQTlGMK~F2HEkiBJ6Jzn>7dXpq9XQSIyq#~=G~iEnNfEAI@Z+LZOj@y8OlHmZ zML+1w>JQY$oD^I~=?r=+XcIJ?K|Al~G{U0!I72HCNuAX`9XR{p8NJg}l1AC)=|GHK zwRJBJu_3tbj#^vGRa{*A<#%!59Ta-Bt#G~=`~%9Goxjfdz%Z8ggXe?|X@EoXhAWle zFe(=3R4Nj$Oxw0jn6eTjUP>V8uy9TzNLS*HQYzEGBzTQn6k&BJ@D|F+gX;c;+Fi)= zkUSIOv9T9UbeOdsdGNP8GF+sCja4l77xH8l>7S>Q_Y1zvto6~GzYRQcN7-!BOjZzN zwR}*f`r}YP^oyV{^n;+>rvY$O zFqyF&+O;&;ipQiI1R$R3VBk#dy2GFdegsBTv`7MTj=o=Pk(%$oa|MpbLbaKr%Gooe zyjT9K37jedg-(K!CPY9vSLM{=Zyvln#w?ZO6_)h2;XyVt<2ud@IYy)Xw&r0;uJ*QNp6^aR!LEYEn*~!( zP%GenILL1Wb0#}ucnhS#Sbt6HJA9|^0HB96E=Bh>e~@*wG6ZWYz|ZYE!}L${TnuzF z6G00MOfOAc#EsqQ-|_-2i_pYzLyAVm#=l2m&4u8LaF~jt!R-!Zno=Xl-)5#n<8vkzJJNfdE-Y~mEbTJPOe@_sZov&xp4tvxT&x$+72jc7Po>%lP7&wfEPa);O{j;Bro7ZpI8pBdNYI#3>J2t~;K ztzG(j;#Fqw!n8x&m2{4PQGh-Cg#&jW)aG@o{<86M#(6mRHEDSf2Mul*Gx)6MCR35- z4N@V@WXubq&PsnSpXtQ%DB(x{((^ykmy~*o`)Pe$QgZYF9}*~1jA2u!}|^jgMMBk zEKKYp^ve|rNdZD_(w_PShN&)E%?)G3ytnAHf*Jz`6HFU&6jnJV>uN1ED$I;9*6ZQ(Cyttb>v&O-^N5i!&? zVh>UJ8TF(UbQQ1$Q#7_aZ^G>e-bo)V*Uw4^@~#geZ!N%oTgTF?5Yrp0$FR#yvyWtDMI+>vMc3qI#mD59#h28| zzmj5m*|ss_>kljbiGHJU<|}o7TUye;yVO9YYTyX+L&36ygrg|a9>K8EzQ!omImWQk zv3e=fu76QXXM6IUpB3|Mn%%Qioqe(`8+QO4ZNpyuP798QdivQUKmIcdIg8YqHI&pD zeG&{i+UOhFZ#FTFVP-Mae%u}YfHpf4d;D+^%no%Rw=_vCdUzq!PGUgY4?L^YAJ$f9 zKURfjSOtZ0SV@IKS;2*H;ZD@a1oEn)H{-fxm*X;^{#N2}>Q|WoMEW7{MZ+EoLGaDR zzP}ZF;n<}(DNny2VY|YwUjL@Uwp{{ipD^_#GlQOrP7+qGfn;9IiT4T1?A?sv>k5!g zmElxkP{|RQ+`lVvvUA~`2IBYRmwtuBN;|ZX4fFgj09`<$zg-i?Io+zqi(R94^OnDk zptI3selLAa_?meAXryUcf$zUTR>EZR;9lkGUJE~VFcz6PSB3NKI z;Z&_eaxmV*aC6il{rfctVekFvVn4Io@m9V;^ct1ZiBb%|A6YMrG*&%LAg8n7rACaP zpFl70Q$4LTJ*j;A%D%`_cGEVWnvkE^fso%_R%&UI1UN$&J0z|bitMvU9j~`&8m~7G zAK&1cL?0(xpX?_)o!nirKFLV7JYiXKI zpFDmuE_n2Ly!zg;u=xpCUw7Ksrn%H*?&F{N{uDtkyHayNAPdJVr*Ey;j*Ex^;G zg{(x5DFlCYqH5#w6KewwYZLHeX%q1yYvcD5Y7_RuYZJWG4RASey68Z=U5uj_j}yj8 zkE+LgRw`FnQRKz#bPAm?8w zfb%~=&O3D>=e;wK^9~Wnc~2eWyvrMM-ggEe{6YZoBNjr~p#dT68if${@c{RiLE^fd zL9h=XaUBehxSmYNN>po18@@lSGyy0E3?txtUC~IBUr|frUeQWpV^g*MhfUK;hh20a zOaiI_7N`cdKsBI_C_0cP0p$QkvG70;4@5YY0uuL36{(nm7)O3xK<~UlHo5TD2>TH& zP)pz5hn?@eB>+0(fle);a~$a82YM=j1~;H#1DrY1n6^7?G}53RWJV^$WQHYxQ>Ozx zKa9|UXNFG3WJXQGGs6X;gy^?|@PiOg5#XRAM0-F9f51Ipal7HaVh-N^g2gqGf}%i6 ziDHl>qbzEx73C3WBIMz3dddR}T+C<~Mzc38q3s$v(K`(j=w>$rs9egY-6;(V=$8$U z(|7)ErMu+SANVd!poJ#F_=udRKW6Bak^YYanjWG+ak58Zf9^%URRY<~=f@{OD}C1v z8Id!CUX0gTZpE&GoXcj62fAjA|NS87_uo$lp?n9r;|Yy4nQ;t5tRL`B@i=na>_p!P z(dO=8l$0HYkV;_J7rH5#C$Ri8ZHIN0CAIAmx=Fut17AKBs!k0X1f|t%} zqJ9iEAQ1%NCZR7Oyd93nq;(!-l4UF?Y4zg{e0pAE2g$acn!}<^loV9U*tqb62nCRU z7D#N1$ZxN*74DKxRZ&B-e+(M#PDK0hg4nn3IWVLv8a>OeMK+L6EQ<4ZT7Or6t8 z;}cT-{~_kbXARVYRW0OUuO&G48xW5hmlG8!J8OH`YhLm@!qLR*ghaiOAoDj|KVw4_Uw*!Q*a}N^NNefOu8f2`)5FErsz?4Mk zdG|E~ray4R6=bXj8`Re~gdiv5pyf2-ajyDUs0$PiozoAI7pkXU*)JB+MHhYOu!~u=wZ5(8c-N)5G4je%8i{Ql zh{U$MGtG=;E;qf=XTgl@v$RC&nUhY}6L#lAH04Q=+sLBb2htTOyODAgjk}VKH==(0 zbx`R|9>+Yt-4~8dCsdA>CwPtyCtQxUCytITC&qKnPiuna#?cCM%BRbi7|=HtW-j74 z(=1aqQ!hVkrj@4fr;;Y{r;)zrPc2R95AM%1en0%wqRjf+SE$StN>C}tK&2qSE;RY_ zw|zG(!S%zg!uhJ%baccj(X=X%a7jRCb3#K`<~M(rF5B-nlMoPPK-G%J4L1qVMIE-1 zmx8J%g3{xbHJmQSNG4gJZ6%|JmhVI|!w=ROwknIXU1tIbXE9A0zDk0O*w98&t_mRa zHr%IuVtU9?1;afEQ~~}M7|NDMk!`vfYu$d@hp__($3iv%h!A+uQkV%YrejW19PCExcOTm;2H;FWuj)pKJ{RXtHV7z;9iRp8VUay>| z`y$xl(@QH`Fi`p4?cVYLy@l1Ira}f`;#0_&q8>6S=lN+eaf69)-!FVfc_$pzciO2A zO6mxzZ>)zK!Yd~_UGJmlgJjEz*o}<-s&hI;jR6-fhOR_%QBcQ87NmFMpb|Nrmz|CBhT*qX>__E?H!Xd9fVK00Gwk5=yB5 zW*mjh^Mz_!Zri+MckQoR@ouG#TiUL22;V5WlB(Qqfo7@9@A8@23+ZafgBQ|Q1ZvQc z-#!JqVWfNm=$_;fzs>*D`2G0uQ6_%IG>o!u+B74`6%`AT0p+f)EDY~K?4Qo(5y)e;7 z`Q1Lh0nu=uPO!BI+hr%M)IL2~bS)qEs8BgIuD7VQKj@nQxpy9U?XBUn*6#>z%y}5q@60j5%yJo zmd&d5WzQhsmW$GB;g+SepDX0}zN+OWUlz3uU_6G=J|`znB777?9X|E>=ll{nZ$pPW z5Rtfj_N>UNsz=b& zoAU1$j;x)taKEn0RH!w6+c-i0njw2O>-ghNpZvED$E_y(orKzEFpebNRmDu%Da)UGAKXvQk@Fab2T^p%0+m6zuOmPw4`U|ojWTOdK+lMa{5l zQ>+*FpVXGcEIPC46q9++%)tFUDcSET5R4da5@miY>UD-&A+7i+zaG5f$U%Mm&p%n! zx}tze!=^In_aWEW43-)T^ABc)El!83d7)I{95}9UqhnW#FdDj8kJ=?0&In&)0 zqQ~y9>C7&pCa>IfmEyDA!Mb<6wm^fy zWeh!Zm8uC6Tcncb;8se2g60dzcH&j@MRN$P+K3BrdSzOBWW-N-G{j6j`q)JAt5D#1 z`9~2g?rB2i5=fdzk1JxLhaC_4O!4kjeRZM%qENlkYtmgQQ!7^&XP|QGwg9V%^@nL0 zm-jyl6LjpWve(K5L!QQOn+>OAf08pHe2^d*C(FE$$eqT++Ev42e{NfyG2X*v3nSj$ zyi9S7h0jlO4LUYsm3q8e+wf})cwEioeTwg{#+vSl9Ni)EaQ=upok#lPD$RPzO-A1Q zZM%YBl|;0>tSG*2E>aA7(-0+Ou8j*Vtlg!M31Ce=MMtf?m(h6=rvu_<$_JDcXT zma{xdXsUe`duQ&ghr-b3dORJpF zYNNz0&o#3aogthMw~su=JMwqpQn;REaF8{ms`D3H2;1&K*`-qkDXF+|lWmyHx%2m$ zzK~gm_ZG|Nze%yF9B_{sn_&NB;hEtCd5GJnio3Zks5odQ(K+W)uOS=j#uM&g{YK#9 zs7|z2P7{@R8yT&|$n8=GDhFJ6BNN5WUAzSEO8$gF&t8(|hAp?aH=jntbv_L)7}Ni} zP;=_`erZz%3)z$)ClT+BA=lQX>(#SIm*dk``CF^$DW>?Ul?!OamDU?5y2eZP3FnW- zV4tTn^fMpKb`Zs(u&w?J=aOkC?+xjdx0T9ORPYLWk_jhNdq=em}AAS^jHnZ=5~)tjy}CN8*d?^iLN@Ea?>8)oIY52!%nq@D@@ld;xbBjj-;IC zYm2mrATBBIWz%T!2a8rl@?vhUo-|fI_hVG-(I@W4JKsbc0$cK1ko>v&@iw_ZvoTDp z42O2O5$NkSo}1w#nXfzDEEEq@@p9h83CUBgxApc(OgcoFTLf4@j33KPZ;I|3e6h8E zlxCR|G4?pwS`2q%=0a9u*t)v*LOaPW{{;U+1(i6e%PMPgUW?URSOuLCt?M#aGo+7q z+&Yxkv&FsmCgLyo$IKD7p=hi{`!ikbLYY9hx+7>NQdRGwhhl-EU4=2PF=9n1wU=|| zu-Do#>lX)HU@&v;6IpURe7qB8$*J;Q`hjr8fBIICDAip>A2Y zA&#ozr7s0}`V1fRhc9={tmi7wIx<&TdpH))IIJ&nE$%$nul$>zKf7p#T?$Fu`?#*) z?P#SYzgv;uO|e+~CS$WC$_VvgaMp~n)PY{oLQkA~pbgdG?5?zZVFRbr9;!_5W>~;a z_qY4O&axCSWXZeJK1g$B8mqTxXa>_ODni{mavg9??`Zk z+b>_Tatm%Y*MKGa4h5 z;R$N52xeJT-*`#Ma%Nc2r>P!#t`P{z=TIy}2^SfWaMucU;!o&$JJu*Th_l5L4tdd1 zo2CDt&Z(PtXY^rVC)b*%pLroVM9K%BUS8BeH-fpxo6(TICwfflwnt2T5uaG>Cz_dX z`aOOFq3x|oiCbc+uSeY`%m<(_avzBw6&oXJ8%N^LM@!yQIeZk;O08strNvFa&`-8u z3h58n2A=1gio_-4E$=pr46TvTr_VcPGqJcAsBBI~`lYiLcnyR{`ZgJHTOEsaLDTSE z^Qp6zo@C_}uq1n=I~je)eW?-ckvnD}+}F6?3i=$i;a|i0ufAbz@5$RmmMP%3BF=Be-Yh_vLnMZS?QtGkty`pNP#V#t$Wvx+5YNO?(oY7NJYivL@LnP(nB zs4UNV(`y8jZ>e#QWi!-2zQKTpTqNbS5pqbKDKyi;OJ#~p3{Fy~N>cbij;2Aq2$EN4 z?7))8)meU)>V)*hOUx8lJIj?jnOVawY}0 z2%o$XQx*EImH6q&GCK0BLQNCnTCdVP?@$6Ky3$#rE%)xWkUcfqAvNd^JA^ay2{`rs5lZvZT0Eif?04(5 z4lL>k>2f=c#w|M!%RS2Jos&pYkjLE*WL4q>4?gH|FAd=chjA{nn~JnG@Z3e{w`1J#IaXOi=CRu}5(VtAJa_mID9YO=yM6 zL8NVTlILxo6r<0Nw_ZI{=5yY5t>2G$N{C8h6jYvmY*~ zUl|wd7kj6g$|~R^E!>IVG{?xW%*fZ<16XL&h!Y;5r41a&`Uw!lG`}X(m zc(g~a1;uB!x_Do0LxhfU%4}cGtUWG*F_Is2wQ-dijqOAA<4wnr7L(-*A8~!vHF4uP zwW4S9VqtU>F8%k*hS$|Ad!NOZsv&wi4Q=u)Ok26F*(QvBH`oRD#TI|^ogGdxx_v18 zZiK^uq}Gc|(li0pb+w+KPt|#fZScCzJ#lDNt|$N(Yd%ixcgkHE=ez13wHgdbBjz-J zNTl@^+!k|V3SiaS``DjX)gvX7)Vb^aax}Vuz3r>`%578oi-R}iQ%Yn%`^%k*Yrcr4 zvgNINUK%FA`O1O{P9JD`zg|1cLmv%`#628-RoWS+ZMnrazJPbcR{chZ&-`LOeU7HR zUy1wWrqW-S|C?W8&=XN{eyx{Z4z-U5@80?LkOn0dz*JTloLXc;k2*=Bqo^CmPP(44 zXZ={jbv@qm)S{f_xICTeKsHRJbW%PG5M#uzJUwZVeo1FELEu6fIQvhTFdISJ84ySG6pMObH<# z?0B~lvzisr^;@~gEGuWVAYInNLj>QmGFBo$>>4@!o%bli5X9DEXgHs8rT@$?;8 zdv>eQ(b|?Sm$gge+KfF_u$>G=Fit#!6QSa-Yb8haRISVyp&BarK0nB0mL`rCuUkVpElFZ8W@4SS<>>^P%#34R=2Z0)UEj<4w0HaO!4 zLghaN2DXrW+V=B)x1+PQ%4Xk6Ez0DXD7Pz1C8;b?dlH&-FU!$>9;=}LCHam;sE!v_ zIO~RTfgP9fhNm=(BV(hJwA^mj2ZYM1+Og>qC+aZ)(s}{sgX*x-z_(c2$!9i;nVg>$ zA_(YRGs!YzeirTGjk?IIC)b9B@(!os=8~^d3dnM}X4l9H&xS>N-VINipj7=$9(mz* z_IQ_#b|s?`TAXj#8iL75Uk1x&9HF8xAx4xEIF4(Yet~ zI~;KMhBoiB6_b>htx?lJ_aby|bGanGng_Z@A&I?+Ov4(qkl~ogX@*?U5RBZHJ}HC> z45Um=mOQAf{gG;tpE@#bsPlOh87E|sjeBWd5q&5$Pn7X27@oX_pK@#WNzhZ*&ndy? zAreYhaxDZO@n;soonDj3<<^;t3QvW8v!Ln9MSy>6JF)I|IgvZ?b(RRF$f`3i*M3}U zq=!5xDp6K|QE?X_M8c_%UTRh(19yAvvjmoHnO9KJDv4j5Sn2wBugualBFNYTd|q#; zODCAmEb&CZzN_$>sqq!_UVSHMG*L&riA?1UjX*0eu`e5>b+Js!@7!fwd_GH{lPivz zSYup(GG-g%CbP0ox7&*t-+`#tiNyEe8M+$|Pubv?Ta)n(-PO|AoOf5-hW^R_W;`*C z7xu%^#3lBn=3J-`Zed)`Xfo&HFvValyG%OL^W6aBFI`V?A`fow*T{1$Id;jG`t6)X zDQN4nqQ)#M>AK!zZCx1V)Z*d$#1Y(-Etz>#@gOv;Vk4{#hMwp}Z@OzcMODkFScYY+ zWh?6rqO@KPhizM_(H;nQJdJ~SzYm3X+p}jm*cvMl%_==cbuquc5<22P9oh(@e(99D zaZ9q2Dw!cs0M+Sy!U&(FKdSf>EMS!s_sS#8FglIG|gL8S#N!#MA*y!zT>(-*&#eFjHmffe&TN}crNsIVsRu(`Ylf3Hu+R0KLQom$dOPKu1>no z=9k(K(!-SN?aZ6NTNzz-f9}xAF09H4LOFHJb%R+-l6mK^^tWH;c>3&;I*mWU={VMT z&WLZbaFdexGHFndX2Zj-uFRDPG&mc)De^Yi1yFUpt{c ztmeRwJtjU&F_2A8XgrLcy{-FvLc%ffZqSD|lPj32um83poP2FuH#93Z4*j`i^6$%X zZOQ`nnzLx?G5nT;@;W_(4N-BHmi+j>!zQclIJ@gtENNjQa*Xw7LCab0uNtNk`%F_) zLql&|=r0(juN4hSh4z15=y7f49QobiY}e3v>A0a8{8PWah=zlew!(yYEvKK(Bk)eL zx6{}ABKZDmP)5(8aJXlyBff||Dv&zULt#!|BW9%|X64O%ZoD&@=Ae{_ll=l z24$Ve3GVS4VxiwFqmM#HzBkCq8HbMaFjq%h;?;c^L`xrv?kWka?Ru7kYLRad&IPnx;^+O7e{V2)jB(lZ%NcW+LM zaI<^$vO~d#t&zl|UdsCuO~f|E+T%Fm@1LKHXw20Ty9UF)I8Xd>>^l14>%-2bXZ5QZ zc20zB6r290qom$2`>r)~N+CPSf2fDVsP&xRGV-;hU?bFNuJZWj)u58fRz;S`EB(N8 z(Xj6{u5ZZPjrn2oDbEj|+4W7xNsYb<`9WkK7Sa>o#V^I*!DzvRw{(|)oOC30dV{aX zw3tH72uEG;yq7pXsP=(S(t)AmZT%DqcSidIn4wBX&*-bXJA6Uu>52{+<>njFB6Y$) zUvXyI)2=`Ns)6IYOt-)J{=zbrMWS%e@j~spQbtIlW70)P7BW{QubJdE9e3VzQlTdd<=$DHTsy$r%i{HA2f?66fi}d}|o){!8@aV}p^Lnw^hd zm>r!)Gv~dj(3e4oH@jc)GOQZD>xdhb+Oml4mW@9nW|%T|;F%DA8(Q|pXungHpS+U< z5orZoe50a65@MxI*PRuOeF)V=bEul-F;qkg`ieO?r-r^5LW^D=#D;K#17$p}{{v0F5e;<5yLg~(D~ zyM{fjb5!?vzQ@8lhr^}q(?K;6v07X|=Nt*Qz>6oyCwgXc1D~UNdnTlx9aQWIXNC{A z6(>HFDPBFYtJv?TDw`eefSqH(Rg6aGCq#GOJb1|YjivT`H;46*=pL84mvWw4bT3>j zvDo>UD13Q1Y7$+x=Y7$}7gNe05vx6`h%Qow;Dv{cn7iVo`;#!1clkXYIl-xG=PLE~M5z3t*WKb}k1QYm(Te;PhS2*EsDjxH7vy{l@uhM?akv6*UMv&Z|e}OAE zQjNhl%6lwnBtP4B~= z@0GH&JjCC~Oo|xe9*`CEwz^xq6=eKjq&J@)r8;Ua&M$vl_(oWSshjgWuv5R>chakU zCPw+0@9D)Ye)5$a{Oq&mjrP6{xmbkr;xAu)=@OXXXyo*h-$lf9hEPax%;NImgqZ{l zmn7r+8Zn#WFP0N=9EI}Co4*M^&l9?N&=JLx^)Whptb0C6bFYee=8df*)5pGQnw#pi zfh~`T`);gsW#=t#wUREl(T%4v_>nHRXyify_~P5lyY zq6T!Uyw)_9inW&=FRYVihYg5LN(pes_Pm!WeO5kHXr+vFXA$sa2kQ{DlumRu2WAS7-0kl2EBRvp7xna+H9g?Aw>$g=U{Fi@N;fG~~e>RGW7sq9U}R`-Qd zSDa`5RQN;dOMS)h1?UzjwZapy0cf9^jW zv@>^(cZYvqMMCM=24N}8 zmwa8*m`?Wl%}~r|s|MrAH|riIosU>K7TFiRh?}{OEaq zB~9exX|rqjihQh@(BZ_Je0O==x+@!Z`HQtTQX(!aMid*1nTA3+>Rn_5-B|UBcSutj zM(VW52p>4Mrigg+ggJdrzKCG|IH&tUV%@tEYf-s1=OPTgpQqk1tQSE`E_olgPE@E7CIu=F*zol<@skinpVwe>^UL_O=_;*3-RpymuDQB=&0Yb4pAV)VHzmL}k6rKwJHO^3_0! zuzB5nxij*Kh9|*?$<96O*K~z))%w&c@1>NYQ22*q3|#aG&c6r!j1!RK7{YiYbOtG_scz*4OSJsbE4%Q zdDMC@R>V9<6DI%L2h5n7UWsclQGr9XH-S?il)~YM% zdPUPm{$%)tpMGioj>5CIdjI!47e1|S=e5_FH1Ji4I`fP7%RYxHl*CQObO|M-hfrRv0-c3(RIVjLeFQGiZs}4TrS@OB@*<7ShGD- zJK9sMBFSzWPcY_Ns%Pj`kMapWF=s%${>x{kq_z#Lr;|P0ZP^KO!FF9ocjA7(*I|#l z$eqr>Sst+v$VvfqrUg+R0dM2OQ#}fxPj5JqKnHva& z5`-tmlYBY(l^_L4`9icpNY6c87~7so%Urin5Pf`wpmJau@#=w6QPnSavE*{p&o41j zZa>)Y9Hy8&mfkuRxHohCj!^QqH+yB%$$bA^Qu+;+ErLd+^p9ai)Ym)?fWHt;KqmcXUWP!tsHAKu%oKiVCnccE)6SS)!A^$AytEoAIe zn~XD}u~mM&ZmNgVX1g~*)}9-bM0ECF(l_yig<}`vP?vino=&s3Jk(#5MDuBC;PSrd zmXHwuA3NOp z6!M{4T0*4pW?NsMW4a7?U_`*Kk8dJLbtg};wxbWHStPy$Y8%<)s;RbpwLsi92x+9y zFGW5|BRqUt8c$PWh2xr)m_87`)o7Zp>1!FbIKZTb!XCV>Mnb6a`#7WEK4Ho#N#{sc zogNh%13$8W^{rxF`jO#(T$lXtJ!8(U$?U#7tUN`1WhwJ_mQKd}^7(9D+65@N+RTqK zaS2^FZLjc zJOV~%CKHZKOZgkQ!Se*ypL~0S^l~W5ao%T%x3aQwtY?h{8Y3-4q$Yjk`edhs$=jF` ziz8-NC$zY~O;9J`5Qlf2?B9@TA&vgLxulQYFiMsCVa(2Sy`0A2!qa)Bkiblb1#Rc&tbB z4{dGUe^+63);ujbmzy^`bw~DSJ$Go}AD)3(S$nbCi3`Xb3z3#vC#6PJCx5k;R#%k0 zI*cuh@!Kd9hbg+~KRmqKV<{T<(CbsUskN2l4a@WVljtaOhriW!@c|b{>y+HQq`}J9 z#h)uot$I(>c#MAsKxs`f{}@YTGjVkW_bceARj7=a-jFqWtsU6zJQy`ib?B-8_VdD! z0NykcmX(Lc{VQ&Nf97JAV&E>*X!z`W%W=aI5!oKj{r2T|r!>zewYR8xbZq}Z+T46; zIV$jJ<{_teQS*L|Pa+g+64-(lmfq@?w8&WIqg)3TqN=D9C^*@>L3VHEtrqa4feu?WX(kaSxu*~4}_xYPG1 zCVVLzGZu@Gx}bZ80g~gt3pwkOJUWMn))2k)xw={nn$%66ibej_HYHaY?$AHcSlPJV z&Y@}UZ+fze-WYdl$^3xg%uUznO8#K=j`A`;UNR;yk2Q{v_N)ml-nYZGi*3#Q5Po6# zu{BS2ZKFhuj`Tc!V_lPVe0WZ^pt79q;f&}`VH;kakTSyxSp&&Eh}W_GYFYwORtjG^~w&Nr=rei73|+ zAu|cB;qH|&hS~d~4l#N$@IFdB z{ChkC!b%0G4cipTA@j9+w~d&*%i>6m;l-+X1SuDa>^unvE(6RwvlgBEA)IRRcv)Y_ zUGvhR{WI$v^j-6GJ_s}mE{wS8Lc##$~KDxFi3^#E3zdrd}s~1z#zJ zoYOQ3U-a;EY*i1GA;XKFaIA1ro2*ZjO1AbLNlJjPG9NR!(<0r=2a-3-T$Zps$C#Zr zd&8Yc@GQP<&+dp*e#g9D3ogf^=TG_@9aflRwXo=PN{n`VvYPv?J=Uf!Ar%TtFE1;c z_TfWi?x#FObiY19Z{x4WzTP^efp+cdk3Q4=gOx#gtd3{Ure&W34>pj5r#Uu}Vy%t1 zA1q|)_is=%YA9UTbxiQCdyz`gg}?SpGAZE+x8;`>N{8UD5k5W<(n+RYRE<@(*$Atu zzbGkHcqpEOI=M0rR8PcP+50{|R?2rcgRmsMu%y`ewPT?QM@C7&(lsd78 zp8r1pAVA;0@jHt-43X=Ve#Iz{p|<_PUMr7bHb|x7pVAsGHRE=p9wTJTtbLxyi;R@O zk;-Q<$`0Lj7%d0Xaf32O8!HiSPsi#={_iu)Tcx0y@QYZt>5L0;Y@C!_k?o4{X69C> z;++0=6AF-xU#6I#(I&Z@Yc_C8PWgy+#rt`Vy1MTh5>7)UZOI}M3|*xA=No-hG)x} zrKbOu~ zKnta$_)ja40fl?4H8ugNjz2HDPp+3|9q-ps z7KNJz4@gPj$4fb?AJkcwO5q`C+mPts;YP3-GqQYiU9t25<|7(#!V~aE&5%uI@t8Oa zKW-F$ljm_=f5I=mgkR0l)h*nRNa9Hy+okV|pEB782g}n^bz~zvBSqIGD#L9qJgXT> zAtc@fJf{}p?-*r{B%|7FWmuUi@q)Hrip_-=mE^+T-g?P+u1w%%GYrCd^okj+46v`t zA%$%CiyW_ME#sRedAu%N9DX`KzPa~?jft)CrUh;BmPWwvI4{ihx6Nn`KSuqInG4LR zlX%w_)dufL&(}qnOuixAB@q_q_cb*L-?iuPfm}9z3pw=bhngp)6RGf}%tt21gujCI zu@Gd#)0pBzE(v@mOI!T+-{L>?^}W!wzoW;R{h%STz;r5)A9ZC4 zkG_ABDumy;%HwCPR3Vi9iw4ao5x-OOs~lCI2+`;_ARSGoVzLvrEsg@3dc;-8PfzdD~2@yfK$7P?jwhCFfIMz~St=^ zHSy0fZzIQqM<3X>5j07r^8dYSvYnjDEIhmgrh_GYG$nU?J@d@<*=$`Nhg(Bg z93f|M&&%AYxg1g*eg?9IRH^ZCSspE=!D@<`WN7SGa>@GA_t34i`{RcTZG`00;d}VD zrdeylotbvpMeNJ4S8gv&xb`*BJUYmM@lV>b8b@ktg%8`0l1p|;gde9mS}uvGJ_Mj+ zq@>b4@H~z+9n`utjuVhiR7E&mibgTqnLa_P8UDOx{5#brnpu!zUvxC1HIa@N-IL5H zEd3>=lVx@=DB%>-iPZ_5s#CwT6FyA>8N+?o(w6FU?c2ol5zY`0f7NuRMy5RpC_f&CK?zG&X?mDeKPSk7q~zhF=YOs zB`(w+3cu*exqOiv7X5jlr!@&;iLsBo*JsFKUcpLcxCNVunh*b*R_Xps@Be z(5?!vD<+b;@S>N!Y)f3PO;L#A=WRF0L8)-ojpi(_z&DvL3kmMcI$y)zmcT7i&(d}R z-K2N&og2_yPpS*g@G0t@SY_7M=w$7<^cI{HxM;tOM zi~o*FU%hbr3RFKiDt>&xsny?%)!I7dodY!Dq~ZrC1I?)5=o%!)@SJdycd(Qm{vu3B zbBCDo*kD6VfJ=mzJcgNQU0K@l4sV3(RVFb)2Vu6VfRQF5gpVFEN{cRi_%d2f;}mGX z7`axWa_x&;W7SKx^keU)-uVP>6LTDA@jE}`q_DN0V&*a4%;AvdGF`k~&JK5>!epPI z+0)wLe1}}NHatC;D1)FP{K=U3?&h63jl-{-Ofp>^egtc>kW_8Bvob}BN@c3JQiqyN zm7?mykNr%O6XVyDFkLFjU44|}$}&TjhH&#Qyf8Y`48qdy7tE5j4S&v+#%Jp&tVqR8 zd6$iRwej0TbL8BH(v79Nb#*A++HSyHn@P09JUKD^hz <_BNkLc0Z0+~x|e>*pP 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 z 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 literal 0 HcmV?d00001 From 0e79e111a33c1ceeef722a4e43ffbf58180826a1 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 21 Aug 2024 19:15:16 -0400 Subject: [PATCH 038/180] Rename again to remove from LFS --- ...icSearch_rename.paclet => SemanticSearch.paclet} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename Developer/Resources/Paclets/{SemanticSearch_rename.paclet => SemanticSearch.paclet} (100%) diff --git a/Developer/Resources/Paclets/SemanticSearch_rename.paclet b/Developer/Resources/Paclets/SemanticSearch.paclet similarity index 100% rename from Developer/Resources/Paclets/SemanticSearch_rename.paclet rename to Developer/Resources/Paclets/SemanticSearch.paclet From 7a74e033a1b76b01f26d9e97f5de1a15f602c356 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 21 Aug 2024 19:28:15 -0400 Subject: [PATCH 039/180] Install dependencies --- Tests/Common.wl | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/Tests/Common.wl b/Tests/Common.wl index 27ee8443..22b0854e 100644 --- a/Tests/Common.wl +++ b/Tests/Common.wl @@ -29,17 +29,23 @@ If[ ! PacletObjectQ @ PacletObject[ "Wolfram/PacletCICD" ], Needs[ "Wolfram`PacletCICD`" -> "cicd`" ]; +If[ $VersionNumber < 14 && StringQ @ Environment[ "GITHUB_ACTIONS" ], + PacletSiteUpdate @ PacletSites[ ]; + PacletInstall[ "OAuth" ]; + PacletInstall[ "ServiceConnection_OpenAI" ]; + PacletInstall[ "ServiceConnectionUtilities" ]; + PacletInstall[ "Wolfram/LLMFunctions" ]; +]; + (* A prebuilt version of the SemanticSearch paclet is included for running tests on 13.3: *) If[ ! PacletObjectQ @ PacletObject[ "SemanticSearch" ], - semanticSearchPaclet = FileNameJoin @ { - DirectoryName[ $InputFileName, 2 ], - "Developer", "Resources", "Paclets", "SemanticSearch.paclet" - }; - Print[ "File: ", semanticSearchPaclet ]; - Print[ "Exists: ", FileExistsQ @ semanticSearchPaclet ]; - Print[ "Size: ", FileByteCount @ semanticSearchPaclet ]; - Print[ "Hash: ", FileHash @ semanticSearchPaclet ]; - cicd`ScriptConfirmBy[ PacletInstall @ semanticSearchPaclet, PacletObjectQ ] + cicd`ScriptConfirmBy[ + PacletInstall @ FileNameJoin @ { + DirectoryName[ $InputFileName, 2 ], + "Developer/Resources/Paclets/SemanticSearch.paclet" + }, + PacletObjectQ + ] ]; (* ::**************************************************************************************************************:: *) From f8c153b113da4b038767acb742c04cca4d93c439 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 21 Aug 2024 19:45:03 -0400 Subject: [PATCH 040/180] Install dependent paclets in separate kernel process and need an API key for embeddings --- .github/workflows/Build.yml | 4 ++++ .github/workflows/Release.yml | 4 ++++ Scripts/InstallTestDependencies.wls | 25 +++++++++++++++++++++++++ Tests/Common.wl | 19 ------------------- 4 files changed, 33 insertions(+), 19 deletions(-) create mode 100644 Scripts/InstallTestDependencies.wls diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index e4f22de4..666cbf9c 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -12,6 +12,7 @@ concurrency: env: RESOURCE_PUBLISHER_TOKEN: ${{ secrets.RESOURCE_PUBLISHER_TOKEN }} WOLFRAMSCRIPT_ENTITLEMENTID: ${{ secrets.WOLFRAMSCRIPT_ENTITLEMENTID }} + OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} jobs: @@ -42,5 +43,8 @@ jobs: with: path: ${{ env.PACLET_BUILD_DIR }} + - name: InstallTestDependencies + run: wolframscript -f Scripts/InstallTestDependencies.wls + - name: Test run: wolframscript -f Scripts/TestPaclet.wls \ No newline at end of file diff --git a/.github/workflows/Release.yml b/.github/workflows/Release.yml index 0796fb59..10edd31e 100644 --- a/.github/workflows/Release.yml +++ b/.github/workflows/Release.yml @@ -12,6 +12,7 @@ concurrency: env: RESOURCE_PUBLISHER_TOKEN: ${{ secrets.RESOURCE_PUBLISHER_TOKEN }} WOLFRAMSCRIPT_ENTITLEMENTID: ${{ secrets.WOLFRAMSCRIPT_ENTITLEMENTID }} + OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} jobs: @@ -37,6 +38,9 @@ jobs: - name: Build run: wolframscript -f Scripts/BuildPaclet.wls + - name: InstallTestDependencies + run: wolframscript -f Scripts/InstallTestDependencies.wls + - name: Test run: wolframscript -f Scripts/TestPaclet.wls diff --git a/Scripts/InstallTestDependencies.wls b/Scripts/InstallTestDependencies.wls new file mode 100644 index 00000000..4401d10c --- /dev/null +++ b/Scripts/InstallTestDependencies.wls @@ -0,0 +1,25 @@ +#!/usr/bin/env wolframscript + +(* :!CodeAnalysis::BeginBlock:: *) +(* :!CodeAnalysis::Disable::SuspiciousSessionSymbol:: *) + +PacletSiteUpdate @ PacletSites[ ]; + +PacletInstall[ "OAuth" ]; +PacletInstall[ "ServiceConnection_OpenAI" ]; +PacletInstall[ "ServiceConnectionUtilities" ]; +PacletInstall[ "Wolfram/LLMFunctions" ]; + +(* A prebuilt version of the SemanticSearch paclet is included for running tests on 13.3: *) +If[ ! PacletObjectQ @ PacletInstall[ "SemanticSearch" ], + PacletInstall @ FileNameJoin @ { + DirectoryName[ $InputFileName, 2 ], + "Developer/Resources/Paclets/SemanticSearch.paclet" + } +]; + +If[ ! PacletObjectQ @ PacletObject[ "SemanticSearch" ], + Print[ "::error::Failed to install SemanticSearch." ]; + Exit[ 1 ] +]; +(* :!CodeAnalysis::EndBlock:: *) \ No newline at end of file diff --git a/Tests/Common.wl b/Tests/Common.wl index 22b0854e..3b4110ad 100644 --- a/Tests/Common.wl +++ b/Tests/Common.wl @@ -29,25 +29,6 @@ If[ ! PacletObjectQ @ PacletObject[ "Wolfram/PacletCICD" ], Needs[ "Wolfram`PacletCICD`" -> "cicd`" ]; -If[ $VersionNumber < 14 && StringQ @ Environment[ "GITHUB_ACTIONS" ], - PacletSiteUpdate @ PacletSites[ ]; - PacletInstall[ "OAuth" ]; - PacletInstall[ "ServiceConnection_OpenAI" ]; - PacletInstall[ "ServiceConnectionUtilities" ]; - PacletInstall[ "Wolfram/LLMFunctions" ]; -]; - -(* A prebuilt version of the SemanticSearch paclet is included for running tests on 13.3: *) -If[ ! PacletObjectQ @ PacletObject[ "SemanticSearch" ], - cicd`ScriptConfirmBy[ - PacletInstall @ FileNameJoin @ { - DirectoryName[ $InputFileName, 2 ], - "Developer/Resources/Paclets/SemanticSearch.paclet" - }, - PacletObjectQ - ] -]; - (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*Definitions*) From a71ec81579d734820f62fe4e70d8956d3c05eadb Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 21 Aug 2024 20:20:40 -0400 Subject: [PATCH 041/180] ServiceConnect with API key --- Tests/Common.wl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Tests/Common.wl b/Tests/Common.wl index 3b4110ad..60b4bb24 100644 --- a/Tests/Common.wl +++ b/Tests/Common.wl @@ -29,6 +29,10 @@ If[ ! PacletObjectQ @ PacletObject[ "Wolfram/PacletCICD" ], Needs[ "Wolfram`PacletCICD`" -> "cicd`" ]; +If[ StringQ @ Environment[ "GITHUB_ACTIONS" ], + EchoEvaluation @ ServiceConnect[ "OpenAI", Authentication -> <| "APIKey" -> Environment[ "OPENAI_API_KEY" ] |> ] +]; + (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*Definitions*) From c1f8743bf56bed5ef8a210d03c9f099c586a7c9b Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 21 Aug 2024 20:32:35 -0400 Subject: [PATCH 042/180] Only load common test definitions once --- Scripts/InstallTestDependencies.wls | 2 +- Tests/Common.wl | 3 ++- Tests/CurrentChatSettings.wlt | 28 +++++++++++++++------------- Tests/RelatedDocumentation.wlt | 24 +++++++++++++----------- 4 files changed, 31 insertions(+), 26 deletions(-) diff --git a/Scripts/InstallTestDependencies.wls b/Scripts/InstallTestDependencies.wls index 4401d10c..575d03b3 100644 --- a/Scripts/InstallTestDependencies.wls +++ b/Scripts/InstallTestDependencies.wls @@ -11,7 +11,7 @@ PacletInstall[ "ServiceConnectionUtilities" ]; PacletInstall[ "Wolfram/LLMFunctions" ]; (* A prebuilt version of the SemanticSearch paclet is included for running tests on 13.3: *) -If[ ! PacletObjectQ @ PacletInstall[ "SemanticSearch" ], +If[ ! PacletObjectQ @ Quiet @ PacletInstall[ "SemanticSearch" ], PacletInstall @ FileNameJoin @ { DirectoryName[ $InputFileName, 2 ], "Developer/Resources/Paclets/SemanticSearch.paclet" diff --git a/Tests/Common.wl b/Tests/Common.wl index 60b4bb24..f6f62e26 100644 --- a/Tests/Common.wl +++ b/Tests/Common.wl @@ -6,6 +6,7 @@ BeginPackage[ "Wolfram`ChatbookTests`" ]; (* :!CodeAnalysis::BeginBlock:: *) HoldComplete[ + `$TestDefinitionsLoaded, `$TestNotebook; `CreateChatCell; `CreateChatCells; @@ -30,7 +31,7 @@ If[ ! PacletObjectQ @ PacletObject[ "Wolfram/PacletCICD" ], Needs[ "Wolfram`PacletCICD`" -> "cicd`" ]; If[ StringQ @ Environment[ "GITHUB_ACTIONS" ], - EchoEvaluation @ ServiceConnect[ "OpenAI", Authentication -> <| "APIKey" -> Environment[ "OPENAI_API_KEY" ] |> ] + ServiceConnect[ "OpenAI", Authentication -> <| "APIKey" -> Environment[ "OPENAI_API_KEY" ] |> ] ]; (* ::**************************************************************************************************************:: *) diff --git a/Tests/CurrentChatSettings.wlt b/Tests/CurrentChatSettings.wlt index 710b279e..f38b7d59 100644 --- a/Tests/CurrentChatSettings.wlt +++ b/Tests/CurrentChatSettings.wlt @@ -2,24 +2,26 @@ (* ::Section::Closed:: *) (*Initialization*) VerificationTest[ - Get @ FileNameJoin @ { DirectoryName[ $TestFileName ], "Common.wl" }, + If[ ! TrueQ @ Wolfram`ChatbookTests`$TestDefinitionsLoaded, + Get @ FileNameJoin @ { DirectoryName[ $TestFileName ], "Common.wl" } + ], Null, SameTest -> MatchQ, - TestID -> "GetDefinitions@@Tests/CurrentChatSettings.wlt:4,1-9,2" + TestID -> "GetDefinitions@@Tests/CurrentChatSettings.wlt:4,1-11,2" ] VerificationTest[ Needs[ "Wolfram`Chatbook`" ], Null, SameTest -> MatchQ, - TestID -> "LoadContext@@Tests/CurrentChatSettings.wlt:11,1-16,2" + TestID -> "LoadContext@@Tests/CurrentChatSettings.wlt:13,1-18,2" ] VerificationTest[ Context @ CurrentChatSettings, "Wolfram`Chatbook`", SameTest -> MatchQ, - TestID -> "CurrentChatSettingsContext@@Tests/CurrentChatSettings.wlt:18,1-23,2" + TestID -> "CurrentChatSettingsContext@@Tests/CurrentChatSettings.wlt:20,1-25,2" ] (* ::**************************************************************************************************************:: *) @@ -29,14 +31,14 @@ VerificationTest[ CurrentChatSettings[ ], KeyValuePattern[ (Rule|RuleDelayed)[ "Model", _ ] ], SameTest -> MatchQ, - TestID -> "CurrentChatSettings@@Tests/CurrentChatSettings.wlt:28,1-33,2" + TestID -> "CurrentChatSettings@@Tests/CurrentChatSettings.wlt:30,1-35,2" ] VerificationTest[ CurrentChatSettings[ "Model" ], KeyValuePattern @ { "Service" -> _String, "Name" -> _String } | _String | Automatic, SameTest -> MatchQ, - TestID -> "CurrentChatSettings@@Tests/CurrentChatSettings.wlt:35,1-40,2" + TestID -> "CurrentChatSettings@@Tests/CurrentChatSettings.wlt:37,1-42,2" ] (* ::**************************************************************************************************************:: *) @@ -46,14 +48,14 @@ VerificationTest[ UsingFrontEnd @ CurrentChatSettings[ $FrontEnd, "Model" ], KeyValuePattern @ { "Service" -> _String, "Name" -> _String } | _String | Automatic, SameTest -> MatchQ, - TestID -> "CurrentChatSettings@@Tests/CurrentChatSettings.wlt:45,1-50,2" + TestID -> "CurrentChatSettings@@Tests/CurrentChatSettings.wlt:47,1-52,2" ] VerificationTest[ UsingFrontEnd @ CurrentChatSettings[ $FrontEndSession, "Model" ], KeyValuePattern @ { "Service" -> _String, "Name" -> _String } | _String | Automatic, SameTest -> MatchQ, - TestID -> "CurrentChatSettings@@Tests/CurrentChatSettings.wlt:52,1-57,2" + TestID -> "CurrentChatSettings@@Tests/CurrentChatSettings.wlt:54,1-59,2" ] (* ::**************************************************************************************************************:: *) @@ -66,7 +68,7 @@ VerificationTest[ ], "MyModelName", SameTest -> MatchQ, - TestID -> "CurrentChatSettings-Notebooks@@Tests/CurrentChatSettings.wlt:62,1-70,2" + TestID -> "CurrentChatSettings-Notebooks@@Tests/CurrentChatSettings.wlt:64,1-72,2" ] (* ::**************************************************************************************************************:: *) @@ -89,7 +91,7 @@ VerificationTest[ "BlockModel" }, SameTest -> MatchQ, - TestID -> "CurrentChatSettings-ChatBlocks@@Tests/CurrentChatSettings.wlt:75,1-93,2" + TestID -> "CurrentChatSettings-ChatBlocks@@Tests/CurrentChatSettings.wlt:77,1-95,2" ] VerificationTest[ @@ -106,7 +108,7 @@ VerificationTest[ ], { "NotebookModel", "BlockModel", "BlockModel" }, SameTest -> MatchQ, - TestID -> "CurrentChatSettings-ChatBlocks@@Tests/CurrentChatSettings.wlt:95,1-110,2" + TestID -> "CurrentChatSettings-ChatBlocks@@Tests/CurrentChatSettings.wlt:97,1-112,2" ] (* ::**************************************************************************************************************:: *) @@ -129,7 +131,7 @@ VerificationTest[ ], Except[ _? FailureQ ], SameTest -> MatchQ, - TestID -> "CurrentChatSettings-Regression#426@@Tests/CurrentChatSettings.wlt:119,1-133,2" + TestID -> "CurrentChatSettings-Regression#426@@Tests/CurrentChatSettings.wlt:121,1-135,2" ] (* ::**************************************************************************************************************:: *) @@ -142,5 +144,5 @@ VerificationTest[ ], Except[ _? FailureQ ], SameTest -> MatchQ, - TestID -> "CurrentChatSettings-Regression#592@@Tests/CurrentChatSettings.wlt:138,1-146,2" + TestID -> "CurrentChatSettings-Regression#592@@Tests/CurrentChatSettings.wlt:140,1-148,2" ] \ No newline at end of file diff --git a/Tests/RelatedDocumentation.wlt b/Tests/RelatedDocumentation.wlt index 8d2070e5..5679b929 100644 --- a/Tests/RelatedDocumentation.wlt +++ b/Tests/RelatedDocumentation.wlt @@ -2,24 +2,26 @@ (* ::Section::Closed:: *) (*Initialization*) VerificationTest[ - Get @ FileNameJoin @ { DirectoryName[ $TestFileName ], "Common.wl" }, + If[ ! TrueQ @ Wolfram`ChatbookTests`$TestDefinitionsLoaded, + Get @ FileNameJoin @ { DirectoryName[ $TestFileName ], "Common.wl" } + ], Null, SameTest -> MatchQ, - TestID -> "GetDefinitions@@Tests/RelatedDocumentation.wlt:4,1-9,2" + TestID -> "GetDefinitions@@Tests/RelatedDocumentation.wlt:4,1-11,2" ] VerificationTest[ Needs[ "Wolfram`Chatbook`" ], Null, SameTest -> MatchQ, - TestID -> "LoadContext@@Tests/RelatedDocumentation.wlt:11,1-16,2" + TestID -> "LoadContext@@Tests/RelatedDocumentation.wlt:13,1-18,2" ] VerificationTest[ Context @ RelatedDocumentation, "Wolfram`Chatbook`", SameTest -> MatchQ, - TestID -> "RelatedDocumentationContext@@Tests/RelatedDocumentation.wlt:18,1-23,2" + TestID -> "RelatedDocumentationContext@@Tests/RelatedDocumentation.wlt:20,1-25,2" ] (* ::**************************************************************************************************************:: *) @@ -29,7 +31,7 @@ VerificationTest[ uris = RelatedDocumentation[ "What's the biggest pokemon?" ], { __String }, SameTest -> MatchQ, - TestID -> "RelatedDocumentation-URIs@@Tests/RelatedDocumentation.wlt:28,1-33,2" + TestID -> "RelatedDocumentation-URIs@@Tests/RelatedDocumentation.wlt:30,1-35,2" ] (* cSpell: ignore textcontent *) @@ -46,40 +48,40 @@ VerificationTest[ ], _Integer? (GreaterThan[ 5 ]), SameTest -> MatchQ, - TestID -> "RelatedDocumentation-URIs-Count@@Tests/RelatedDocumentation.wlt:36,1-50,2" + TestID -> "RelatedDocumentation-URIs-Count@@Tests/RelatedDocumentation.wlt:38,1-52,2" ] VerificationTest[ snippets = RelatedDocumentation[ "What's the biggest pokemon?", "Snippets" ], { __String }, SameTest -> MatchQ, - TestID -> "RelatedDocumentation-Snippets@@Tests/RelatedDocumentation.wlt:52,1-57,2" + TestID -> "RelatedDocumentation-Snippets@@Tests/RelatedDocumentation.wlt:54,1-59,2" ] VerificationTest[ Total @ StringCount[ snippets, "Entity[\"Pokemon\"," ], _Integer? (GreaterThan[ 5 ]), SameTest -> MatchQ, - TestID -> "RelatedDocumentation-Snippets-Count@@Tests/RelatedDocumentation.wlt:59,1-64,2" + TestID -> "RelatedDocumentation-Snippets-Count@@Tests/RelatedDocumentation.wlt:61,1-66,2" ] VerificationTest[ uris = RelatedDocumentation[ "What's the biggest pokemon?", Automatic, 3 ], { _String, _String, _String }, SameTest -> MatchQ, - TestID -> "RelatedDocumentation-URIs-Count@@Tests/RelatedDocumentation.wlt:66,1-71,2" + TestID -> "RelatedDocumentation-URIs-Count@@Tests/RelatedDocumentation.wlt:68,1-73,2" ] VerificationTest[ AllTrue[ uris, StringStartsQ[ "paclet:ref/" ] ], True, SameTest -> MatchQ, - TestID -> "RelatedDocumentation-URIs-Match@@Tests/RelatedDocumentation.wlt:73,1-78,2" + TestID -> "RelatedDocumentation-URIs-Match@@Tests/RelatedDocumentation.wlt:75,1-80,2" ] VerificationTest[ RelatedDocumentation[ "What's the biggest pokemon?", "Snippets", 3 ], { _String, _String, _String }, SameTest -> MatchQ, - TestID -> "RelatedDocumentation-Snippets-Count@@Tests/RelatedDocumentation.wlt:80,1-85,2" + TestID -> "RelatedDocumentation-Snippets-Count@@Tests/RelatedDocumentation.wlt:82,1-87,2" ] \ No newline at end of file From 9a410c7807310eeea6349d6a09e8186139aed679 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 22 Aug 2024 09:48:59 -0400 Subject: [PATCH 043/180] Split VectorDatabases.wl into a PromptGenerators subpackage --- Source/Chatbook/Main.wl | 4 +- Source/Chatbook/PromptGenerators/Common.wl | 8 + .../PromptGenerators/PromptGenerators.wl | 31 ++ .../PromptGenerators/RelatedDocumentation.wl | 306 ++++++++++++++++ .../RelatedWolframAlphaQueries.wl | 70 ++++ .../{ => PromptGenerators}/VectorDatabases.wl | 337 +----------------- 6 files changed, 422 insertions(+), 334 deletions(-) create mode 100644 Source/Chatbook/PromptGenerators/Common.wl create mode 100644 Source/Chatbook/PromptGenerators/PromptGenerators.wl create mode 100644 Source/Chatbook/PromptGenerators/RelatedDocumentation.wl create mode 100644 Source/Chatbook/PromptGenerators/RelatedWolframAlphaQueries.wl rename Source/Chatbook/{ => PromptGenerators}/VectorDatabases.wl (66%) diff --git a/Source/Chatbook/Main.wl b/Source/Chatbook/Main.wl index f59a2132..84eadf15 100644 --- a/Source/Chatbook/Main.wl +++ b/Source/Chatbook/Main.wl @@ -120,6 +120,7 @@ $ChatbookContexts = { "Wolfram`Chatbook`Personas`", "Wolfram`Chatbook`PreferencesContent`", "Wolfram`Chatbook`PreferencesUtils`", + "Wolfram`Chatbook`PromptGenerators`", "Wolfram`Chatbook`Prompting`", "Wolfram`Chatbook`ResourceInstaller`", "Wolfram`Chatbook`Sandbox`", @@ -130,8 +131,7 @@ $ChatbookContexts = { "Wolfram`Chatbook`ToolManager`", "Wolfram`Chatbook`Tools`", "Wolfram`Chatbook`UI`", - "Wolfram`Chatbook`Utils`", - "Wolfram`Chatbook`VectorDatabases`" + "Wolfram`Chatbook`Utils`" }; Scan[ Needs[ # -> None ] &, $ChatbookContexts ]; diff --git a/Source/Chatbook/PromptGenerators/Common.wl b/Source/Chatbook/PromptGenerators/Common.wl new file mode 100644 index 00000000..6143fa94 --- /dev/null +++ b/Source/Chatbook/PromptGenerators/Common.wl @@ -0,0 +1,8 @@ +BeginPackage[ "Wolfram`Chatbook`PromptGenerators`Common`" ]; + +HoldComplete[ + `$noSemanticSearch, + `vectorDBSearch +]; + +EndPackage[ ]; \ No newline at end of file diff --git a/Source/Chatbook/PromptGenerators/PromptGenerators.wl b/Source/Chatbook/PromptGenerators/PromptGenerators.wl new file mode 100644 index 00000000..69762952 --- /dev/null +++ b/Source/Chatbook/PromptGenerators/PromptGenerators.wl @@ -0,0 +1,31 @@ +(* ::Section::Closed:: *) +(*Package Header*) +BeginPackage[ "Wolfram`Chatbook`PromptGenerators`" ]; +Begin[ "`Private`" ]; + +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Load Subcontexts*) +$subcontexts = { + "Wolfram`Chatbook`PromptGenerators`Common`", + "Wolfram`Chatbook`PromptGenerators`RelatedDocumentation`", + "Wolfram`Chatbook`PromptGenerators`RelatedWolframAlphaQueries`", + "Wolfram`Chatbook`PromptGenerators`VectorDatabases`" +}; + +Scan[ Needs[ # -> None ] &, $subcontexts ]; + +$ChatbookContexts = Union[ $ChatbookContexts, $subcontexts ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +addToMXInitialization[ + Null +]; + +End[ ]; +EndPackage[ ]; diff --git a/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl b/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl new file mode 100644 index 00000000..2d2e17a1 --- /dev/null +++ b/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl @@ -0,0 +1,306 @@ +(* ::Section::Closed:: *) +(*Package Header*) +BeginPackage[ "Wolfram`Chatbook`PromptGenerators`RelatedDocumentation`" ]; +Begin[ "`Private`" ]; + +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; +Needs[ "Wolfram`Chatbook`PromptGenerators`Common`" ]; + +(* TODO: move selectBestDocumentationPages to this file and implement via filtering option for RelatedDocumentation *) + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Configuration*) +$documentationSnippetBaseURL = "https://www.wolframcloud.com/obj/wolframai-content/DocumentationSnippets/Text"; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*RelatedDocumentation*) +RelatedDocumentation // beginDefinition; + +GeneralUtilities`SetUsage[ RelatedDocumentation, "\ +RelatedDocumentation[\"string$\"] gives a list of documentation URIs that are semantically related to the \ +conversational-style question specified by \"string$\". +RelatedDocumentation[All] gives the full list of available documentation URIs." ]; + +RelatedDocumentation[ ___ ] /; $noSemanticSearch := Failure[ + "SemanticSearchUnavailable", + <| + "MessageTemplate" :> "SemanticSearch paclet is not available.", + "MessageParameters" -> { } + |> +]; + +RelatedDocumentation[ prompt_ ] := catchMine @ RelatedDocumentation[ prompt, Automatic ]; +RelatedDocumentation[ prompt_, Automatic ] := catchMine @ RelatedDocumentation[ prompt, "URIs" ]; +RelatedDocumentation[ prompt_, count: _Integer | UpTo[ _Integer ] ] := RelatedDocumentation[ prompt, Automatic, count ]; +RelatedDocumentation[ prompt_, property_ ] := catchMine @ RelatedDocumentation[ prompt, property, Automatic ]; +RelatedDocumentation[ prompt_, Automatic, count_ ] := RelatedDocumentation[ prompt, "URIs", count ]; + +RelatedDocumentation[ prompt: _String | { ___String }, "URIs", Automatic ] := catchMine @ Enclose[ + ConfirmMatch[ vectorDBSearch[ "DocumentationURIs", prompt, "Values" ], { ___String }, "Queries" ], + throwInternalFailure +]; + +RelatedDocumentation[ All, "URIs", Automatic ] := catchMine @ Enclose[ + Union @ ConfirmMatch[ vectorDBSearch[ "DocumentationURIs", All ], { __String }, "QueryList" ], + throwInternalFailure +]; + +RelatedDocumentation[ prompt_, "Snippets", Automatic ] := catchMine @ Enclose[ + ConfirmMatch[ + DeleteMissing[ makeDocSnippets @ vectorDBSearch[ "DocumentationURIs", prompt, "Values" ] ], + { ___String }, + "Snippets" + ], + throwInternalFailure +]; + +RelatedDocumentation[ prompt_, property_, UpTo[ n_Integer ] ] := + catchMine @ RelatedDocumentation[ prompt, property, n ]; + +RelatedDocumentation[ prompt_, property_, n_Integer ] := catchMine @ Enclose[ + Take[ ConfirmMatch[ RelatedDocumentation[ prompt, property, Automatic ], { ___String } ], UpTo @ n ], + throwInternalFailure +]; + +RelatedDocumentation[ prompt_, property: "Results"|"Values"|"EmbeddingVector"|All, n_Integer ] := catchMine @ Enclose[ + Take[ ConfirmBy[ vectorDBSearch[ "DocumentationURIs", prompt, property ], ListQ, "Results" ], UpTo @ n ], + throwInternalFailure +]; + +RelatedDocumentation[ prompt_, property: "Index"|"Distance", n_Integer ] := catchMine @ Enclose[ + Lookup[ + Take[ + ConfirmMatch[ + RelatedDocumentation[ prompt, "Results", n ], + { KeyValuePattern[ property -> _ ]... }, + "Results" + ], + UpTo @ n + ], + property + ], + throwInternalFailure +]; + +RelatedDocumentation[ args___ ] := catchMine @ throwFailure[ + "InvalidArguments", + RelatedDocumentation, + HoldForm @ RelatedDocumentation @ args +]; + +RelatedDocumentation // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Documentation Snippets*) +$documentationSnippets = <| |>; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*makeDocSnippets*) +makeDocSnippets // beginDefinition; + +makeDocSnippets[ uris0: { ___String } ] := Enclose[ + Module[ { uris, data, snippets, strings }, + uris = DeleteDuplicates @ uris0; + data = ConfirmBy[ getDocumentationSnippetData @ uris, AssociationQ, "Data" ]; + snippets = ConfirmMatch[ Values @ data, { ___Association }, "Snippets" ]; + strings = ConfirmMatch[ Lookup[ "String" ] /@ snippets, { ___String }, "Strings" ]; + strings + ], + throwInternalFailure +]; + +makeDocSnippets[ uri_String ] := + First @ makeDocSnippets @ { uri }; + +makeDocSnippets // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*getDocumentationSnippetData*) +getDocumentationSnippetData // beginDefinition; + +getDocumentationSnippetData[ { } ] := <| |>; + +getDocumentationSnippetData[ uris: { __String } ] := Enclose[ + Module[ { cached, missing }, + + cached = ConfirmBy[ + AssociationMap[ getCachedDocumentationSnippet, uris ], + AllTrue @ MatchQ[ _Missing | KeyValuePattern[ "String" -> _String ] ], + "Cached" + ]; + + missing = ConfirmMatch[ + Union[ First /@ StringSplit[ Keys @ Select[ cached, MissingQ ], "#" ] ], + { ___String }, + "Missing" + ]; + + fetchDocumentationSnippets @ missing; + + ConfirmBy[ + AssociationMap[ getCachedDocumentationSnippet, uris ], + AllTrue @ MatchQ[ KeyValuePattern[ "String" -> _String ] ], + "Result" + ] + ], + throwInternalFailure +]; + +getDocumentationSnippetData // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*getCachedDocumentationSnippet*) +getCachedDocumentationSnippet // beginDefinition; +getCachedDocumentationSnippet[ uri_String ] := getCachedDocumentationSnippet @ StringSplit[ uri, "#" ]; +getCachedDocumentationSnippet[ { base_String } ] := getCachedDocumentationSnippet @ { base, None }; +getCachedDocumentationSnippet[ { base_String, fragment_ } ] := $documentationSnippets[ base, fragment ]; +getCachedDocumentationSnippet // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*fetchDocumentationSnippets*) +fetchDocumentationSnippets // beginDefinition; + +fetchDocumentationSnippets[ { } ] := { }; + +fetchDocumentationSnippets[ uris: { __String } ] := + Module[ { $results, tasks }, + $results = AssociationMap[ <| "URI" -> #1 |> &, uris ]; + tasks = fetchDocumentationSnippets0 @ $results /@ uris; + TaskWait @ tasks; + processDocumentationSnippetResults @ $results + ]; + +fetchDocumentationSnippets // endDefinition; + + +fetchDocumentationSnippets0 // beginDefinition; +fetchDocumentationSnippets0 // Attributes = { HoldFirst }; + +fetchDocumentationSnippets0[ $results_ ] := + fetchDocumentationSnippets0[ $results, # ] &; + +fetchDocumentationSnippets0[ $results_, uri_String ] := Enclose[ + Module[ { url, setResult, task }, + url = ConfirmBy[ toDocSnippetURL @ uri, StringQ, "URL" ]; + setResult = Function[ $results[ uri ] = <| $results @ uri, # |> ]; + + task = URLSubmit[ + url, + HandlerFunctions -> <| + "BodyReceived" -> setResult, + "ConnectionFailed" -> Function[ $results[ uri ] = <| $results @ uri, # |> ] + |>, + HandlerFunctionsKeys -> { "BodyByteArray", "StatusCode", "Headers", "ContentType", "Cookies" } + ]; + + $results[ uri, "URL" ] = url; + $results[ uri, "Task" ] = task + ], + throwInternalFailure +]; + +fetchDocumentationSnippets0 // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*toDocSnippetURL*) +toDocSnippetURL // beginDefinition; + +toDocSnippetURL[ uri_String ] /; StringStartsQ[ uri, "paclet:" ] := + URLBuild @ { $documentationSnippetBaseURL, StringDelete[ uri, StartOfString~~"paclet:" ] <> ".wxf" }; + +toDocSnippetURL[ uri_String ] := + toDocSnippetURL0 @ URLParse[ uri, { "Domain", "Path" } ]; + +toDocSnippetURL // endDefinition; + + +toDocSnippetURL0 // beginDefinition; + +toDocSnippetURL0[ { "resources.wolframcloud.com", { "", repo_String, "resources", name_String } } ] := + URLBuild @ { $documentationSnippetBaseURL, "Resources", repo, name <> ".wxf" }; + +toDocSnippetURL0 // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*processDocumentationSnippetResults*) +processDocumentationSnippetResults // beginDefinition; +processDocumentationSnippetResults[ results_Association ] := processDocumentationSnippetResult /@ results; +processDocumentationSnippetResults // endDefinition; + +(* TODO: retry failed results *) + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*processDocumentationSnippetResult*) +processDocumentationSnippetResult // beginDefinition; + +processDocumentationSnippetResult[ as_Association ] := + processDocumentationSnippetResult[ as, as[ "BodyByteArray" ], as[ "StatusCode" ] ]; + +processDocumentationSnippetResult[ as_, bytes_ByteArray, 200 ] := + processDocumentationSnippetResult[ as, Quiet @ Developer`ReadWXFByteArray @ bytes ]; + +processDocumentationSnippetResult[ as_, data_List ] := + Association[ + makeCombinedSnippet @ data, + cacheDocumentationSnippetResult /@ data + ]; + +processDocumentationSnippetResult // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*makeCombinedSnippet*) +makeCombinedSnippet // beginDefinition; + +makeCombinedSnippet[ { data_Association, ___ } ] := makeCombinedSnippet @ data; + +makeCombinedSnippet[ data_Association ] := Enclose[ + Module[ { uri, base }, + uri = ConfirmBy[ data[ "URI" ], StringQ, "URI" ]; + base = ConfirmBy[ First @ StringSplit[ uri, "#" ], StringQ, "Base" ]; + cacheDocumentationSnippetResult[ { base, None }, data ] + ], + throwInternalFailure +]; + +makeCombinedSnippet // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*cacheDocumentationSnippetResult*) +cacheDocumentationSnippetResult // beginDefinition; + +cacheDocumentationSnippetResult[ as_Association ] := + cacheDocumentationSnippetResult[ as[ "URI" ], as ]; + +cacheDocumentationSnippetResult[ uri_String, as_Association ] := + uri -> cacheDocumentationSnippetResult[ StringSplit[ uri, "#" ], as ]; + +cacheDocumentationSnippetResult[ { base_String, fragment: _String|None }, as_Association ] := + If[ AssociationQ @ $documentationSnippets[ base ], + $documentationSnippets[ base, fragment ] = as, + $documentationSnippets[ base ] = <| fragment -> as |> + ]; + +cacheDocumentationSnippetResult // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +addToMXInitialization[ + Null +]; + +End[ ]; +EndPackage[ ]; diff --git a/Source/Chatbook/PromptGenerators/RelatedWolframAlphaQueries.wl b/Source/Chatbook/PromptGenerators/RelatedWolframAlphaQueries.wl new file mode 100644 index 00000000..3b847225 --- /dev/null +++ b/Source/Chatbook/PromptGenerators/RelatedWolframAlphaQueries.wl @@ -0,0 +1,70 @@ +(* ::Section::Closed:: *) +(*Package Header*) +BeginPackage[ "Wolfram`Chatbook`PromptGenerators`RelatedWolframAlphaQueries`" ]; +Begin[ "`Private`" ]; + +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; +Needs[ "Wolfram`Chatbook`PromptGenerators`Common`" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*RelatedWolframAlphaQueries*) +RelatedWolframAlphaQueries // beginDefinition; + +GeneralUtilities`SetUsage[ RelatedWolframAlphaQueries, "\ +RelatedWolframAlphaQueries[\"string$\"] gives a list of Wolfram|Alpha queries that are semantically related to the \ +conversational-style question specified by \"string$\". +RelatedWolframAlphaQueries[All] gives the full list of available Wolfram|Alpha sample queries." ]; + +RelatedWolframAlphaQueries[ ___ ] /; $noSemanticSearch := Failure[ + "SemanticSearchUnavailable", + <| + "MessageTemplate" :> "SemanticSearch paclet is not available.", + "MessageParameters" -> { } + |> +]; + +RelatedWolframAlphaQueries[ prompt: _String | { ___String } ] := + catchMine @ RelatedWolframAlphaQueries[ prompt, Automatic ]; + +RelatedWolframAlphaQueries[ prompt: _String | { ___String }, Automatic ] := catchMine @ Enclose[ + ConfirmMatch[ vectorDBSearch[ "WolframAlphaQueries", prompt, "Values" ], { ___String }, "Queries" ], + throwInternalFailure +]; + +RelatedWolframAlphaQueries[ prompt_, UpTo[ n_Integer ] ] := + RelatedWolframAlphaQueries[ prompt, n ]; + +RelatedWolframAlphaQueries[ prompt_, n_Integer ] := catchMine @ Enclose[ + ConfirmMatch[ Take[ RelatedWolframAlphaQueries[ prompt, Automatic ], UpTo @ n ], { ___String }, "Queries" ], + throwInternalFailure +]; + +RelatedWolframAlphaQueries[ All ] := catchMine @ $uniqueWAQueries; + +RelatedWolframAlphaQueries[ args___ ] := catchMine @ throwFailure[ + "InvalidArguments", + RelatedWolframAlphaQueries, + HoldForm @ RelatedWolframAlphaQueries @ args +]; + +RelatedWolframAlphaQueries // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*$uniqueWAQueries*) +$uniqueWAQueries := Enclose[ + $uniqueWAQueries = Union @ ConfirmMatch[ vectorDBSearch[ "WolframAlphaQueries", All ], { __String }, "QueryList" ], + throwInternalFailure +]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +addToMXInitialization[ + Null +]; + +End[ ]; +EndPackage[ ]; diff --git a/Source/Chatbook/VectorDatabases.wl b/Source/Chatbook/PromptGenerators/VectorDatabases.wl similarity index 66% rename from Source/Chatbook/VectorDatabases.wl rename to Source/Chatbook/PromptGenerators/VectorDatabases.wl index e1a26da5..308563dc 100644 --- a/Source/Chatbook/VectorDatabases.wl +++ b/Source/Chatbook/PromptGenerators/VectorDatabases.wl @@ -1,10 +1,11 @@ (* ::Section::Closed:: *) (*Package Header*) -BeginPackage[ "Wolfram`Chatbook`VectorDatabases`" ]; +BeginPackage[ "Wolfram`Chatbook`PromptGenerators`VectorDatabases`" ]; Begin[ "`Private`" ]; -Needs[ "Wolfram`Chatbook`" ]; -Needs[ "Wolfram`Chatbook`Common`" ]; +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; +Needs[ "Wolfram`Chatbook`PromptGenerators`Common`" ]; HoldComplete[ System`VectorDatabaseObject, @@ -37,8 +38,7 @@ $maxExtraFiles = 20; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*Remote Content Locations*) -$documentationSnippetBaseURL = "https://www.wolframcloud.com/obj/wolframai-content/DocumentationSnippets/Text"; -$baseVectorDatabasesURL = "https://www.wolframcloud.com/obj/wolframai-content/VectorDatabases"; +$baseVectorDatabasesURL = "https://www.wolframcloud.com/obj/wolframai-content/VectorDatabases"; (* TODO: these will be moved to the data repository: *) $vectorDBDownloadURLs = AssociationMap[ $baseVectorDatabasesURL <> "/" <> # <> ".zip" &, $vectorDBNames ]; @@ -61,125 +61,6 @@ $$vectorDatabase = _VectorDatabaseObject? System`Private`ValidQ; (*Cache*) $vectorDBSearchCache = <| |>; -(* ::**************************************************************************************************************:: *) -(* ::Section::Closed:: *) -(*RelatedWolframAlphaQueries*) -RelatedWolframAlphaQueries // beginDefinition; - -GeneralUtilities`SetUsage[ RelatedWolframAlphaQueries, "\ -RelatedWolframAlphaQueries[\"string$\"] gives a list of Wolfram|Alpha queries that are semantically related to the \ -conversational-style question specified by \"string$\". -RelatedWolframAlphaQueries[All] gives the full list of available Wolfram|Alpha sample queries." ]; - -RelatedWolframAlphaQueries[ ___ ] /; $noSemanticSearch := Failure[ - "SemanticSearchUnavailable", - <| - "MessageTemplate" :> "SemanticSearch paclet is not available.", - "MessageParameters" -> { } - |> -]; - -RelatedWolframAlphaQueries[ prompt: _String | { ___String } ] := - catchMine @ RelatedWolframAlphaQueries[ prompt, Automatic ]; - -RelatedWolframAlphaQueries[ prompt: _String | { ___String }, Automatic ] := catchMine @ Enclose[ - ConfirmMatch[ vectorDBSearch[ "WolframAlphaQueries", prompt, "Values" ], { ___String }, "Queries" ], - throwInternalFailure -]; - -RelatedWolframAlphaQueries[ prompt_, UpTo[ n_Integer ] ] := - RelatedWolframAlphaQueries[ prompt, n ]; - -RelatedWolframAlphaQueries[ prompt_, n_Integer ] := catchMine @ Enclose[ - ConfirmMatch[ Take[ RelatedWolframAlphaQueries[ prompt, Automatic ], UpTo @ n ], { ___String }, "Queries" ], - throwInternalFailure -]; - -RelatedWolframAlphaQueries[ All ] := catchMine @ $uniqueWAQueries; - -RelatedWolframAlphaQueries[ args___ ] := catchMine @ throwFailure[ - "InvalidArguments", - RelatedWolframAlphaQueries, - HoldForm @ RelatedWolframAlphaQueries @ args -]; - -RelatedWolframAlphaQueries // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Section::Closed:: *) -(*RelatedDocumentation*) -RelatedDocumentation // beginDefinition; - -GeneralUtilities`SetUsage[ RelatedDocumentation, "\ -RelatedDocumentation[\"string$\"] gives a list of documentation URIs that are semantically related to the \ -conversational-style question specified by \"string$\". -RelatedDocumentation[All] gives the full list of available documentation URIs." ]; - -RelatedDocumentation[ ___ ] /; $noSemanticSearch := Failure[ - "SemanticSearchUnavailable", - <| - "MessageTemplate" :> "SemanticSearch paclet is not available.", - "MessageParameters" -> { } - |> -]; - -RelatedDocumentation[ prompt_ ] := catchMine @ RelatedDocumentation[ prompt, Automatic ]; -RelatedDocumentation[ prompt_, Automatic ] := catchMine @ RelatedDocumentation[ prompt, "URIs" ]; -RelatedDocumentation[ prompt_, count: _Integer | UpTo[ _Integer ] ] := RelatedDocumentation[ prompt, Automatic, count ]; -RelatedDocumentation[ prompt_, property_ ] := catchMine @ RelatedDocumentation[ prompt, property, Automatic ]; -RelatedDocumentation[ prompt_, Automatic, count_ ] := RelatedDocumentation[ prompt, "URIs", count ]; - -RelatedDocumentation[ prompt: _String | { ___String }, "URIs", Automatic ] := catchMine @ Enclose[ - ConfirmMatch[ vectorDBSearch[ "DocumentationURIs", prompt, "Values" ], { ___String }, "Queries" ], - throwInternalFailure -]; - -RelatedDocumentation[ All, "URIs", Automatic ] := catchMine @ Enclose[ - Union @ ConfirmMatch[ vectorDBSearch[ "DocumentationURIs", All ], { __String }, "QueryList" ], - throwInternalFailure -]; - -RelatedDocumentation[ prompt_, "Snippets", Automatic ] := catchMine @ Enclose[ - ConfirmMatch[ - DeleteMissing[ makeDocSnippets @ vectorDBSearch[ "DocumentationURIs", prompt, "Values" ] ], - { ___String }, - "Snippets" - ], - throwInternalFailure -]; - -RelatedDocumentation[ prompt_, property_, UpTo[ n_Integer ] ] := - catchMine @ RelatedDocumentation[ prompt, property, n ]; - -RelatedDocumentation[ prompt_, property_, n_Integer ] := catchMine @ Enclose[ - Take[ ConfirmMatch[ RelatedDocumentation[ prompt, property, Automatic ], { ___String } ], UpTo @ n ], - throwInternalFailure -]; - -RelatedDocumentation[ prompt_, property: "Results"|"Values"|"EmbeddingVector"|All, n_Integer ] := catchMine @ Enclose[ - Take[ ConfirmBy[ vectorDBSearch[ "DocumentationURIs", prompt, property ], ListQ, "Results" ], UpTo @ n ], - throwInternalFailure -]; - -RelatedDocumentation[ prompt_, property: "Index"|"Distance", n_Integer ] := catchMine @ Enclose[ - Lookup[ - Take[ - ConfirmMatch[ RelatedDocumentation[ prompt, "Results", n ], { KeyValuePattern[ property -> _ ]... }, "Results" ], - UpTo @ n - ], - property - ], - throwInternalFailure -]; - -RelatedDocumentation[ args___ ] := catchMine @ throwFailure[ - "InvalidArguments", - RelatedDocumentation, - HoldForm @ RelatedDocumentation @ args -]; - -RelatedDocumentation // endDefinition; - (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Vector Database Utilities*) @@ -690,12 +571,6 @@ Here are some Wolfram documentation snippets that might be helpful: "; - -$uniqueWAQueries := Enclose[ - $uniqueWAQueries = Union @ ConfirmMatch[ vectorDBSearch[ "WolframAlphaQueries", All ], { __String }, "QueryList" ], - throwInternalFailure -]; - (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*selectBestDocumentationPages*) @@ -751,27 +626,6 @@ Respond only with the corresponding URIs of the snippets and nothing else. \ If there are no relevant pages, respond with just the string \"none\"\ ", Delimiters -> "%%" ]; -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*makeDocSnippets*) -makeDocSnippets // beginDefinition; - -makeDocSnippets[ uris0: { ___String } ] := Enclose[ - Module[ { uris, data, snippets, strings }, - uris = DeleteDuplicates @ uris0; - data = ConfirmBy[ getDocumentationSnippetData @ uris, AssociationQ, "Data" ]; - snippets = ConfirmMatch[ Values @ data, { ___Association }, "Snippets" ]; - strings = ConfirmMatch[ Lookup[ "String" ] /@ snippets, { ___String }, "Strings" ]; - strings - ], - throwInternalFailure -]; - -makeDocSnippets[ uri_String ] := - First @ makeDocSnippets @ { uri }; - -makeDocSnippets // endDefinition; - (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*stringReplaceSystemMessage*) @@ -809,187 +663,6 @@ getSmallContextString[ messages0: { ___Association } ] := Enclose[ getSmallContextString // endDefinition; -(* ::**************************************************************************************************************:: *) -(* ::Section::Closed:: *) -(*Documentation Snippets*) -$documentationSnippets = <| |>; - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*getDocumentationSnippetData*) -getDocumentationSnippetData // beginDefinition; - -getDocumentationSnippetData[ { } ] := <| |>; - -getDocumentationSnippetData[ uris: { __String } ] := Enclose[ - Module[ { cached, missing }, - - cached = ConfirmBy[ - AssociationMap[ getCachedDocumentationSnippet, uris ], - AllTrue @ MatchQ[ _Missing | KeyValuePattern[ "String" -> _String ] ], - "Cached" - ]; - - missing = ConfirmMatch[ - Union[ First /@ StringSplit[ Keys @ Select[ cached, MissingQ ], "#" ] ], - { ___String }, - "Missing" - ]; - - fetchDocumentationSnippets @ missing; - - ConfirmBy[ - AssociationMap[ getCachedDocumentationSnippet, uris ], - AllTrue @ MatchQ[ KeyValuePattern[ "String" -> _String ] ], - "Result" - ] - ], - throwInternalFailure -]; - -getDocumentationSnippetData // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*getCachedDocumentationSnippet*) -getCachedDocumentationSnippet // beginDefinition; -getCachedDocumentationSnippet[ uri_String ] := getCachedDocumentationSnippet @ StringSplit[ uri, "#" ]; -getCachedDocumentationSnippet[ { base_String } ] := getCachedDocumentationSnippet @ { base, None }; -getCachedDocumentationSnippet[ { base_String, fragment_ } ] := $documentationSnippets[ base, fragment ]; -getCachedDocumentationSnippet // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*fetchDocumentationSnippets*) -fetchDocumentationSnippets // beginDefinition; - -fetchDocumentationSnippets[ { } ] := { }; - -fetchDocumentationSnippets[ uris: { __String } ] := - Module[ { $results, tasks }, - $results = AssociationMap[ <| "URI" -> #1 |> &, uris ]; - tasks = fetchDocumentationSnippets0 @ $results /@ uris; - TaskWait @ tasks; - processDocumentationSnippetResults @ $results - ]; - -fetchDocumentationSnippets // endDefinition; - - -fetchDocumentationSnippets0 // beginDefinition; -fetchDocumentationSnippets0 // Attributes = { HoldFirst }; - -fetchDocumentationSnippets0[ $results_ ] := - fetchDocumentationSnippets0[ $results, # ] &; - -fetchDocumentationSnippets0[ $results_, uri_String ] := Enclose[ - Module[ { url, setResult, task }, - url = ConfirmBy[ toDocSnippetURL @ uri, StringQ, "URL" ]; - setResult = Function[ $results[ uri ] = <| $results @ uri, # |> ]; - - task = URLSubmit[ - url, - HandlerFunctions -> <| - "BodyReceived" -> setResult, - "ConnectionFailed" -> Function[ $results[ uri ] = <| $results @ uri, # |> ] - |>, - HandlerFunctionsKeys -> { "BodyByteArray", "StatusCode", "Headers", "ContentType", "Cookies" } - ]; - - $results[ uri, "URL" ] = url; - $results[ uri, "Task" ] = task - ], - throwInternalFailure -]; - -fetchDocumentationSnippets0 // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*toDocSnippetURL*) -toDocSnippetURL // beginDefinition; - -toDocSnippetURL[ uri_String ] /; StringStartsQ[ uri, "paclet:" ] := - URLBuild @ { $documentationSnippetBaseURL, StringDelete[ uri, StartOfString~~"paclet:" ] <> ".wxf" }; - -toDocSnippetURL[ uri_String ] := - toDocSnippetURL0 @ URLParse[ uri, { "Domain", "Path" } ]; - -toDocSnippetURL // endDefinition; - - -toDocSnippetURL0 // beginDefinition; - -toDocSnippetURL0[ { "resources.wolframcloud.com", { "", repo_String, "resources", name_String } } ] := - URLBuild @ { $documentationSnippetBaseURL, "Resources", repo, name <> ".wxf" }; - -toDocSnippetURL0 // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*processDocumentationSnippetResults*) -processDocumentationSnippetResults // beginDefinition; -processDocumentationSnippetResults[ results_Association ] := processDocumentationSnippetResult /@ results; -processDocumentationSnippetResults // endDefinition; - -(* TODO: retry failed results *) - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*processDocumentationSnippetResult*) -processDocumentationSnippetResult // beginDefinition; - -processDocumentationSnippetResult[ as_Association ] := - processDocumentationSnippetResult[ as, as[ "BodyByteArray" ], as[ "StatusCode" ] ]; - -processDocumentationSnippetResult[ as_, bytes_ByteArray, 200 ] := - processDocumentationSnippetResult[ as, Quiet @ Developer`ReadWXFByteArray @ bytes ]; - -processDocumentationSnippetResult[ as_, data_List ] := - Association[ - makeCombinedSnippet @ data, - cacheDocumentationSnippetResult /@ data - ]; - -processDocumentationSnippetResult // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*makeCombinedSnippet*) -makeCombinedSnippet // beginDefinition; - -makeCombinedSnippet[ { data_Association, ___ } ] := makeCombinedSnippet @ data; - -makeCombinedSnippet[ data_Association ] := Enclose[ - Module[ { uri, base }, - uri = ConfirmBy[ data[ "URI" ], StringQ, "URI" ]; - base = ConfirmBy[ First @ StringSplit[ uri, "#" ], StringQ, "Base" ]; - cacheDocumentationSnippetResult[ { base, None }, data ] - ], - throwInternalFailure -]; - -makeCombinedSnippet // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*cacheDocumentationSnippetResult*) -cacheDocumentationSnippetResult // beginDefinition; - -cacheDocumentationSnippetResult[ as_Association ] := - cacheDocumentationSnippetResult[ as[ "URI" ], as ]; - -cacheDocumentationSnippetResult[ uri_String, as_Association ] := - uri -> cacheDocumentationSnippetResult[ StringSplit[ uri, "#" ], as ]; - -cacheDocumentationSnippetResult[ { base_String, fragment: _String|None }, as_Association ] := - If[ AssociationQ @ $documentationSnippets[ base ], - $documentationSnippets[ base, fragment ] = as, - $documentationSnippets[ base ] = <| fragment -> as |> - ]; - -cacheDocumentationSnippetResult // endDefinition; - (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Package Footer*) From 1954887e02a5600a1bfcd34e5b681331ae6e001f Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Fri, 23 Aug 2024 11:04:56 -0400 Subject: [PATCH 044/180] Show bytes in progress indicator --- .../PromptGenerators/VectorDatabases.wl | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/Source/Chatbook/PromptGenerators/VectorDatabases.wl b/Source/Chatbook/PromptGenerators/VectorDatabases.wl index 308563dc..d30c1d34 100644 --- a/Source/Chatbook/PromptGenerators/VectorDatabases.wl +++ b/Source/Chatbook/PromptGenerators/VectorDatabases.wl @@ -129,21 +129,22 @@ downloadVectorDatabases[ dir0_, urls_Association ] := Enclose[ $downloadProgress = AssociationMap[ 0 &, names ]; $progressText = "Downloading semantic search indices\[Ellipsis]"; + Progress`EvaluateWithProgress[ + tasks = ConfirmMatch[ KeyValueMap[ downloadVectorDatabase @ dir, urls ], { __TaskObject }, "Download" ]; ConfirmMatch[ taskWait @ tasks, { __TaskObject }, "TaskWait" ]; $progressText = "Unpacking files\[Ellipsis]"; ConfirmBy[ unpackVectorDatabases @ dir, DirectoryQ, "Unpacked" ], - With[ { s = Total @ sizes }, - <| - "Text" :> $progressText, - "ElapsedTime" -> Automatic, - "RemainingTime" -> Automatic, - (* "ByteCountCurrent" :> Total @ $downloadProgress, - "ByteCountTotal" -> Total @ sizes, *) - "Progress" :> Total @ $downloadProgress / s - |> - ] + + <| + "Text" :> $progressText, + "ElapsedTime" -> Automatic, + "RemainingTime" -> Automatic, + "ByteCountCurrent" :> Total @ $downloadProgress, + "ByteCountTotal" -> Total @ sizes, + "Progress" -> Automatic + |> ] ], throwInternalFailure From b4168b489ae2dc1467938a9f5dc868e174057a26 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Fri, 23 Aug 2024 12:54:56 -0400 Subject: [PATCH 045/180] Added `LogChatTiming` and `$ChatTimingData` --- Source/Chatbook/Common.wl | 2 + Source/Chatbook/CommonSymbols.wl | 3 ++ Source/Chatbook/FrontEnd.wl | 15 +++++- Source/Chatbook/Main.wl | 4 ++ Source/Chatbook/Utils.wl | 88 ++++++++++++++++++++++++++++++++ 5 files changed, 110 insertions(+), 2 deletions(-) diff --git a/Source/Chatbook/Common.wl b/Source/Chatbook/Common.wl index b831e91e..ab4d4ae4 100644 --- a/Source/Chatbook/Common.wl +++ b/Source/Chatbook/Common.wl @@ -577,6 +577,7 @@ catchTop[ eval_, sym_Symbol ] := Block[ { $ChatNotebookEvaluation = True, + $chatEvaluationID = CreateUUID[ ], $currentChatSettings = None, $messageSymbol = Replace[ $messageSymbol, Chatbook -> sym ], $catching = True, @@ -584,6 +585,7 @@ catchTop[ eval_, sym_Symbol ] := catchTop = # &, catchTopAs = (#1 &) & }, + $chatStartTime = AbsoluteTime[ ]; Catch[ setServiceCaller @ eval, $catchTopTag ] ]; diff --git a/Source/Chatbook/CommonSymbols.wl b/Source/Chatbook/CommonSymbols.wl index 507e0d7e..7faf3743 100644 --- a/Source/Chatbook/CommonSymbols.wl +++ b/Source/Chatbook/CommonSymbols.wl @@ -14,7 +14,9 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `$cachedTokenizers; `$cellStringBudget; `$chatDataTag; +`$chatEvaluationID; `$chatInputIndicator; +`$chatStartTime; `$chatState; `$cloudEvaluationNotebook; `$cloudInlineReferenceButtons; @@ -59,6 +61,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `$servicesLoaded; `$statelessProgressIndicator; `$suppressButtonAppearance; +`$timingLog; `$tinyHashLength; `$tokenBudget; `$tokenBudgetLog; diff --git a/Source/Chatbook/FrontEnd.wl b/Source/Chatbook/FrontEnd.wl index ab4f7a39..19edd8a7 100644 --- a/Source/Chatbook/FrontEnd.wl +++ b/Source/Chatbook/FrontEnd.wl @@ -126,10 +126,21 @@ createFETask[ eval_ ] /; $cloudNotebooks := eval; createFETask[ eval_ ] := - With[ { inline = $InlineChat, state = $inlineChatState }, + With[ { inline = $InlineChat, state = $inlineChatState, id = $chatEvaluationID, t = $chatStartTime }, If[ $feTaskDebug, Internal`StuffBag[ $feTaskLog, <| "Task" -> Hold @ eval, "Created" -> AbsoluteTime[ ] |> ] ]; (* FIXME: This Block is a bit of a hack: *) - AppendTo[ $feTasks, Hold @ Block[ { $InlineChat = inline, $inlineChatState = state }, eval ] ]; + AppendTo[ + $feTasks, + Hold @ Block[ + { + $InlineChat = inline, + $inlineChatState = state, + $chatEvaluationID = id, + $chatStartTime = t + }, + eval + ] + ]; ++$feTaskCreationCount; ++$feTaskTrigger ]; diff --git a/Source/Chatbook/Main.wl b/Source/Chatbook/Main.wl index f59a2132..a2d0f547 100644 --- a/Source/Chatbook/Main.wl +++ b/Source/Chatbook/Main.wl @@ -17,6 +17,7 @@ BeginPackage[ "Wolfram`Chatbook`" ]; `$ChatNotebookEvaluation; `$ChatPost; `$ChatPre; +`$ChatTimingData; `$CurrentChatSettings; `$DefaultChatHandlerFunctions; `$DefaultChatProcessingFunctions; @@ -52,6 +53,7 @@ BeginPackage[ "Wolfram`Chatbook`" ]; `GetExpressionURIs; `InlineTemplateBoxes; `InvalidateServiceCache; +`LogChatTiming; `MakeExpressionURI; `RelatedDocumentation; `RelatedWolframAlphaQueries; @@ -151,6 +153,7 @@ $ChatbookProtectedNames = "Wolfram`Chatbook`" <> # & /@ { "$AutomaticAssistance", "$ChatbookContexts", "$ChatNotebookEvaluation", + "$ChatTimingData", "$CurrentChatSettings", "$DefaultChatHandlerFunctions", "$DefaultChatProcessingFunctions", @@ -183,6 +186,7 @@ $ChatbookProtectedNames = "Wolfram`Chatbook`" <> # & /@ { "GetExpressionURI", "GetExpressionURIs", "InlineTemplateBoxes", + "LogChatTiming", "MakeExpressionURI", "RelatedDocumentation", "RelatedWolframAlphaQueries", diff --git a/Source/Chatbook/Utils.wl b/Source/Chatbook/Utils.wl index 38a663b8..ace28264 100644 --- a/Source/Chatbook/Utils.wl +++ b/Source/Chatbook/Utils.wl @@ -419,6 +419,94 @@ tinyHash[ e_ ] := tinyHash[ Unevaluated @ e, $tinyHashLength ]; tinyHash[ e_, n_ ] := StringTake[ IntegerString[ Hash @ Unevaluated @ e, 36 ], -n ]; tinyHash // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*$ChatTimingData*) +$ChatTimingData := chatTimingData[ ]; + +$ChatTimingData /: Unset @ $ChatTimingData := ($timingLog = Internal`Bag[ ]; Null); + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*chatTimingData*) +chatTimingData // beginDefinition; +chatTimingData[ ] := SortBy[ Internal`BagPart[ $timingLog, All ], Lookup[ "AbsoluteTime" ] ]; (* TODO: format this data *) +chatTimingData // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*LogChatTiming*) +LogChatTiming // beginDefinition; +LogChatTiming // Attributes = { HoldFirst, SequenceHold }; + +LogChatTiming[ tag_String ] := Function[ eval, LogChatTiming[ eval, tag ], HoldAllComplete ]; +LogChatTiming[ sym_Symbol ] := LogChatTiming @ Evaluate @ SymbolName @ sym; +LogChatTiming[ eval: (h_Symbol)[ ___ ] ] := LogChatTiming[ eval, SymbolName @ h ]; +LogChatTiming[ eval_ ] := LogChatTiming[ eval, "None" ]; + +LogChatTiming[ eval_, tag_String ] := ( + If[ ! NumberQ @ $chatStartTime, $chatStartTime = AbsoluteTime[ ] ]; + If[ ! StringQ @ $chatEvaluationID, $chatEvaluationID = CreateUUID[ ] ]; + If[ MatchQ[ $timings, _Internal`Bag ], + logChatTiming[ eval, tag ], + Block[ { $timings = Internal`Bag[ ] }, + logChatTiming[ eval, tag ] + ] + ] +); + +LogChatTiming // endExportedDefinition; + +$timings = Internal`Bag[ ]; +$timingLog = Internal`Bag[ ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*logChatTiming*) +logChatTiming // beginDefinition; +logChatTiming // Attributes = { HoldFirst, SequenceHold }; + +logChatTiming[ eval_, tag_String ] := + Module[ { now, absNow, result, fullTime, innerTimings, usedTime }, + + now = chatTime[ ]; + absNow = AbsoluteTime[ ]; + + Block[ { $timings = Internal`Bag[ ] }, + fullTime = First @ AbsoluteTiming[ result = eval ]; + innerTimings = Internal`BagPart[ $timings, All ]; + ]; + + usedTime = fullTime - Total @ innerTimings; + Internal`StuffBag[ $timings, fullTime ]; + + Internal`StuffBag[ + $timingLog, + <| + "ChatEvaluationCell" -> $ChatEvaluationCell, + "Tag" -> tag, + "UsedTiming" -> usedTime, + "FullTiming" -> fullTime, + "ChatTime" -> now, + "AbsoluteTime" -> absNow, + "UUID" -> $chatEvaluationID + |> + ]; + + result + ]; + +logChatTiming // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*chatTime*) +chatTime // beginDefinition; +chatTime[ ] := chatTime @ $chatStartTime; +chatTime[ start_Real ] := AbsoluteTime[ ] - start; +chatTime[ _ ] := Missing[ "NotAvailable" ]; +chatTime // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Package Footer*) From a1481f84e17c04700eb44df53f1de62d36eefb34 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Fri, 23 Aug 2024 18:51:09 -0400 Subject: [PATCH 046/180] Log timing for some actions --- Source/Chatbook/Actions.wl | 13 +++++++------ Source/Chatbook/Handlers.wl | 8 ++++---- Source/Chatbook/Sandbox.wl | 8 ++++---- Source/Chatbook/SendChat.wl | 12 ++++++------ Source/Chatbook/Settings.wl | 2 +- Source/Chatbook/Utils.wl | 1 + 6 files changed, 23 insertions(+), 21 deletions(-) diff --git a/Source/Chatbook/Actions.wl b/Source/Chatbook/Actions.wl index ec36c786..1b68d2b4 100644 --- a/Source/Chatbook/Actions.wl +++ b/Source/Chatbook/Actions.wl @@ -402,7 +402,7 @@ EvaluateChatInput[ evalCell_CellObject, nbo_NotebookObject, settings_Association (* Send chat while listening for an abort: *) CheckAbort[ - sendChat[ evalCell, nbo, settings ]; + sendChat[ evalCell, nbo, settings ] // LogChatTiming[ "SendChat" ]; waitForLastTask[ ] , (* The user has issued an abort: *) @@ -425,7 +425,7 @@ EvaluateChatInput[ evalCell_CellObject, nbo_NotebookObject, settings_Association chat = constructChatObject @ Append[ $lastMessages, <| "Role" -> "Assistant", "Content" -> $lastChatString |> - ] + ] // LogChatTiming[ "ConstructChatObject" ] }, applyChatPost[ chat, settings, nbo, $aborted ] ], @@ -434,7 +434,7 @@ EvaluateChatInput[ evalCell_CellObject, nbo_NotebookObject, settings_Association ]; ] ] - ]; + ] // LogChatTiming[ "EvaluateChatInput" ]; EvaluateChatInput // endDefinition; @@ -544,11 +544,12 @@ waitForLastTask[ ] := waitForLastTask @ $lastTask; waitForLastTask[ $Canceled ] := $Canceled; -waitForLastTask[ task_TaskObject ] := ( +waitForLastTask[ task_TaskObject ] := LogChatTiming[ TaskWait @ task; runNextTask[ ]; - If[ $lastTask =!= task, waitForLastTask @ $lastTask ] -); + If[ $lastTask =!= task, waitForLastTask @ $lastTask ], + "WaitForLastTask" +]; waitForLastTask[ HoldPattern[ $lastTask ] ] := Null; diff --git a/Source/Chatbook/Handlers.wl b/Source/Chatbook/Handlers.wl index 6bffb647..3f9091bf 100644 --- a/Source/Chatbook/Handlers.wl +++ b/Source/Chatbook/Handlers.wl @@ -58,8 +58,8 @@ applyHandlerFunction[ settings_Association, name_String, args0_ ] := Enclose[ $ChatHandlerData = ConfirmBy[ addHandlerArguments @ args, AssociationQ, "AddHandlerArguments" ]; handler = Confirm[ getHandlerFunction[ settings, name ], "HandlerFunction" ]; handler @ KeyDrop[ $ChatHandlerData, $handlerDroppedParameters ] - ], - throwInternalFailure[ applyHandlerFunction[ settings, name, args0 ], ## ] & + ] // LogChatTiming[ name ], + throwInternalFailure ]; applyHandlerFunction // endDefinition; @@ -167,8 +167,8 @@ applyProcessingFunction[ settings_Association, name_String, args_HoldComplete, p ]; function = Confirm[ getProcessingFunction[ settings, name, default ], "ProcessingFunction" ]; function @@ args - ], - throwInternalFailure[ applyProcessingFunction[ settings, name, args, default ], ## ] & + ] // LogChatTiming[ name ], + throwInternalFailure ]; applyProcessingFunction[ settings_, name_, args: Except[ _HoldComplete ], params_, default_ ] := diff --git a/Source/Chatbook/Sandbox.wl b/Source/Chatbook/Sandbox.wl index be44f2ec..fd97ebaf 100644 --- a/Source/Chatbook/Sandbox.wl +++ b/Source/Chatbook/Sandbox.wl @@ -194,7 +194,7 @@ pingSandboxKernel[ kernel_LinkObject ] := Enclose[ IntegerQ, "ProcessID" ] - ] + ] // LogChatTiming[ "PingSandboxKernel" ] ]; pingSandboxKernel // endDefinition; @@ -300,8 +300,8 @@ startSandboxKernel[ ] := Enclose[ Quiet @ LinkClose @ kernel; throwFailure[ "NoSandboxKernel" ] ] - ], - throwInternalFailure[ startSandboxKernel[ ], ## ] & + ] // LogChatTiming[ "StartSandboxKernel" ], + throwInternalFailure ]; startSandboxKernel // endDefinition; @@ -437,7 +437,7 @@ $messageOverrides := $messageOverrides = Flatten @ Apply[ sandboxEvaluate // beginDefinition; sandboxEvaluate[ KeyValuePattern[ "code" -> code_ ] ] := sandboxEvaluate @ code; -sandboxEvaluate[ code_String ] := sandboxEvaluate @ toSandboxExpression @ code; +sandboxEvaluate[ code_String ] := sandboxEvaluate @ toSandboxExpression @ code // LogChatTiming[ "SandboxEvaluate" ]; sandboxEvaluate[ HoldComplete[ xs__, x_ ] ] := sandboxEvaluate @ HoldComplete @ CompoundExpression[ xs, x ]; sandboxEvaluate[ HoldComplete[ eval_ ] ] /; useCloudSandboxQ[ ] := cloudSandboxEvaluate @ HoldComplete @ eval; sandboxEvaluate[ HoldComplete[ eval_ ] ] /; useSessionQ[ ] := sessionEvaluate @ HoldComplete @ eval; diff --git a/Source/Chatbook/SendChat.wl b/Source/Chatbook/SendChat.wl index 8c78060e..93ac643a 100644 --- a/Source/Chatbook/SendChat.wl +++ b/Source/Chatbook/SendChat.wl @@ -53,7 +53,7 @@ sendChat[ evalCell_, nbo_, settings0_ ] /; $useLLMServices := catchTopAs[ Chatbo cells0 = ConfirmMatch[ selectChatCells[ settings, evalCell, nbo ], { __CellObject }, "SelectChatCells" ]; { cells, target } = ConfirmMatch[ - chatHistoryCellsAndTarget @ cells0, + chatHistoryCellsAndTarget @ cells0 // LogChatTiming[ "ChatHistoryCellsAndTarget" ], { { __CellObject }, _CellObject | None }, "HistoryAndTarget" ]; @@ -71,7 +71,7 @@ sendChat[ evalCell_, nbo_, settings0_ ] /; $useLLMServices := catchTopAs[ Chatbo { messages, data } = Reap[ ConfirmMatch[ - constructMessages[ settings, cells ], + constructMessages[ settings, cells ] // LogChatTiming[ "ConstructMessages" ], { __Association }, "MakeHTTPRequest" ], @@ -120,14 +120,14 @@ sendChat[ evalCell_, nbo_, settings0_ ] /; $useLLMServices := catchTopAs[ Chatbo CurrentValue[ evalCell, CellDingbat ], TemplateBox[ { }, "ChatInputActiveCellDingbat" ] -> TemplateBox[ { }, "ChatInputCellDingbat" ] ] - ] + ] // LogChatTiming[ "SetCellDingbat" ] ]; cellObject = $lastCellObject = ConfirmMatch[ createNewChatOutput[ settings, target, cell ], _CellObject, "CreateOutput" - ]; + ] // LogChatTiming[ "CreateChatOutput" ]; applyHandlerFunction[ settings, @@ -1197,7 +1197,7 @@ toolEvaluation[ settings_, container_Symbol, cell_, as_Association ] := Enclose[ If[ task === $Canceled, StopChat @ cell ]; task - ], + ] // LogChatTiming[ "ToolEvaluation" ], throwInternalFailure ]; @@ -1304,7 +1304,7 @@ selectChatCells[ as_Association? AssociationQ, cell_CellObject, nbo_NotebookObje ] }, $selectedChatCells = selectChatCells0[ cell, clearMinimizedChats @ nbo ] - ]; + ] // LogChatTiming[ "SelectChatCells" ]; selectChatCells // endDefinition; diff --git a/Source/Chatbook/Settings.wl b/Source/Chatbook/Settings.wl index 9378ef23..c6f65179 100644 --- a/Source/Chatbook/Settings.wl +++ b/Source/Chatbook/Settings.wl @@ -241,7 +241,7 @@ resolveAutoSettings[ settings0_Association ] := Enclose[ If[ $catching, $currentChatSettings = resolved ]; resolved - ], + ] // LogChatTiming[ "ResolveAutoSettings" ], throwInternalFailure ]; diff --git a/Source/Chatbook/Utils.wl b/Source/Chatbook/Utils.wl index ace28264..b77f9544 100644 --- a/Source/Chatbook/Utils.wl +++ b/Source/Chatbook/Utils.wl @@ -441,6 +441,7 @@ LogChatTiming // Attributes = { HoldFirst, SequenceHold }; LogChatTiming[ tag_String ] := Function[ eval, LogChatTiming[ eval, tag ], HoldAllComplete ]; LogChatTiming[ sym_Symbol ] := LogChatTiming @ Evaluate @ SymbolName @ sym; +LogChatTiming[ tags_List ] := LogChatTiming @ Evaluate @ StringRiffle[ tags, ":" ]; LogChatTiming[ eval: (h_Symbol)[ ___ ] ] := LogChatTiming[ eval, SymbolName @ h ]; LogChatTiming[ eval_ ] := LogChatTiming[ eval, "None" ]; From 47a40a97a616dd6c9fa56da9943d2431ba836f8c Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 26 Aug 2024 09:24:18 -0400 Subject: [PATCH 047/180] Save about 500ms when calling `ChatSubmit` --- Source/Chatbook/SendChat.wl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Source/Chatbook/SendChat.wl b/Source/Chatbook/SendChat.wl index 93ac643a..627d9d75 100644 --- a/Source/Chatbook/SendChat.wl +++ b/Source/Chatbook/SendChat.wl @@ -537,7 +537,8 @@ chatSubmit0[ container_, messages: { __Association }, cellObject_, settings_ ] : makeLLMConfiguration @ settings, Authentication -> settings[ "Authentication" ], HandlerFunctions -> chatHandlers[ container, cellObject, settings ], - HandlerFunctionsKeys -> chatHandlerFunctionsKeys @ settings + HandlerFunctionsKeys -> chatHandlerFunctionsKeys @ settings, + "TestConnection" -> False ], <| "Container" :> container, From 7e0abee6292ce0d8b6811a3aa34492139267256c Mon Sep 17 00:00:00 2001 From: Kevin Daily Date: Wed, 28 Aug 2024 10:16:47 -0700 Subject: [PATCH 048/180] (tc) addressing reviewer comments * rework install resource from file to confirm type * add install from file button to tool manager --- FrontEnd/TextResources/ChatbookStrings.tr | 1 + .../ChineseSimplified/ChatbookStrings.tr | 1 + .../ChineseTraditional/ChatbookStrings.tr | 1 + .../TextResources/French/ChatbookStrings.tr | 1 + .../TextResources/Japanese/ChatbookStrings.tr | 1 + .../TextResources/Korean/ChatbookStrings.tr | 1 + .../TextResources/Spanish/ChatbookStrings.tr | 1 + Source/Chatbook/PersonaManager.wl | 2 +- Source/Chatbook/ResourceInstaller.wl | 21 +++++++++++++------ Source/Chatbook/ToolManager.wl | 8 +++++++ 10 files changed, 31 insertions(+), 7 deletions(-) diff --git a/FrontEnd/TextResources/ChatbookStrings.tr b/FrontEnd/TextResources/ChatbookStrings.tr index e5a8f4ce..64fcfa38 100644 --- a/FrontEnd/TextResources/ChatbookStrings.tr +++ b/FrontEnd/TextResources/ChatbookStrings.tr @@ -120,6 +120,7 @@ "ToolManagerInstallTools" -> "Install Tools", "ToolManagerInstallFrom" -> "Install from", "ToolManagerInstallFromLLMToolRepo" -> "LLM Tool Repository \[UpperRightArrow]", +"ToolManagerInstallFromFile" -> "Definition Notebook", "ToolManagerManageTools" -> "Manage and Enable Tools", "ToolManagerShowEnabledFor" -> "Show enabled tools for:", "ToolManagerTool" -> "Tool", diff --git a/FrontEnd/TextResources/ChineseSimplified/ChatbookStrings.tr b/FrontEnd/TextResources/ChineseSimplified/ChatbookStrings.tr index 31d4ca18..4ab8801e 100644 --- a/FrontEnd/TextResources/ChineseSimplified/ChatbookStrings.tr +++ b/FrontEnd/TextResources/ChineseSimplified/ChatbookStrings.tr @@ -120,6 +120,7 @@ "ToolManagerInstallTools" -> "\:5B89\:88C5\:5DE5\:5177", "ToolManagerInstallFrom" -> "\:4ECE\:6B64\:5904\:5B89\:88C5\:ff1a", "ToolManagerInstallFromLLMToolRepo" -> "LLM \:5DE5\:5177\:5E93 \[UpperRightArrow]", +"ToolManagerInstallFromFile" -> "Definition Notebook", "ToolManagerManageTools" -> "\:7BA1\:7406\:548C\:542F\:7528\:5DE5\:5177", "ToolManagerShowEnabledFor" -> "\:663E\:793A\:542F\:7528\:7684\:5DE5\:5177\:ff1a", "ToolManagerTool" -> "\:5DE5\:5177", diff --git a/FrontEnd/TextResources/ChineseTraditional/ChatbookStrings.tr b/FrontEnd/TextResources/ChineseTraditional/ChatbookStrings.tr index f2d7a845..e7fe0cf0 100644 --- a/FrontEnd/TextResources/ChineseTraditional/ChatbookStrings.tr +++ b/FrontEnd/TextResources/ChineseTraditional/ChatbookStrings.tr @@ -120,6 +120,7 @@ "ToolManagerInstallTools" -> "\:5B89\:88DD\:5DE5\:5177", "ToolManagerInstallFrom" -> "\:5B89\:88DD\:8D77\:65BC", "ToolManagerInstallFromLLMToolRepo" -> "LLM \:5DE5\:5177\:5132\:5B58\:5EAB \[UpperRightArrow]", +"ToolManagerInstallFromFile" -> "Definition Notebook", "ToolManagerManageTools" -> "\:7BA1\:7406\:4E26\:8CE6\:80FD\:5DE5\:5177", "ToolManagerShowEnabledFor" -> "\:986F\:793A\:8CE6\:80FD\:5DE5\:5177\:FF1A", "ToolManagerTool" -> "\:5DE5\:5177", diff --git a/FrontEnd/TextResources/French/ChatbookStrings.tr b/FrontEnd/TextResources/French/ChatbookStrings.tr index 6610eaa7..93a5f1c4 100644 --- a/FrontEnd/TextResources/French/ChatbookStrings.tr +++ b/FrontEnd/TextResources/French/ChatbookStrings.tr @@ -120,6 +120,7 @@ "ToolManagerInstallTools" -> "Installer des outils", "ToolManagerInstallFrom" -> "Installer \[AGrave] partir de", "ToolManagerInstallFromLLMToolRepo" -> "R\[EAcute]f\[EAcute]rentiel d\[CloseCurlyQuote]outils LLM \[UpperRightArrow]", +"ToolManagerInstallFromFile" -> "Definition Notebook", "ToolManagerManageTools" -> "G\[EAcute]rer et activer les outils", "ToolManagerShowEnabledFor" -> "Afficher les outils activ\[EAcute]s pour\[NonBreakingSpace]:", "ToolManagerTool" -> "Outil", diff --git a/FrontEnd/TextResources/Japanese/ChatbookStrings.tr b/FrontEnd/TextResources/Japanese/ChatbookStrings.tr index 816a655b..746257a8 100644 --- a/FrontEnd/TextResources/Japanese/ChatbookStrings.tr +++ b/FrontEnd/TextResources/Japanese/ChatbookStrings.tr @@ -120,6 +120,7 @@ "ToolManagerInstallTools" -> "\:30c4\:30fc\:30eb\:306e\:30a4\:30f3\:30b9\:30c8\:30fc\:30eb", "ToolManagerInstallFrom" -> "\:6b21\:304b\:3089\:30a4\:30f3\:30b9\:30c8\:30fc\:30eb\:ff1a", "ToolManagerInstallFromLLMToolRepo" -> "LLM Tool Repository \[UpperRightArrow]", +"ToolManagerInstallFromFile" -> "Definition Notebook", "ToolManagerManageTools" -> "\:30c4\:30fc\:30eb\:306e\:7ba1\:7406\:3068\:6709\:52b9\:5316", "ToolManagerShowEnabledFor" -> "\:6b21\:306b\:3064\:3044\:3066\:6709\:52b9\:5316\:3055\:308c\:305f\:30c4\:30fc\:30eb\:3092\:8868\:793a\:ff1a", "ToolManagerTool" -> "\:30c4\:30fc\:30eb", diff --git a/FrontEnd/TextResources/Korean/ChatbookStrings.tr b/FrontEnd/TextResources/Korean/ChatbookStrings.tr index b9f05128..8032e1d7 100644 --- a/FrontEnd/TextResources/Korean/ChatbookStrings.tr +++ b/FrontEnd/TextResources/Korean/ChatbookStrings.tr @@ -121,6 +121,7 @@ "ToolManagerInstallTools" -> "\:B3C4\:AD6C \:C124\:CE58", "ToolManagerInstallFrom" -> "\:B2E4\:C74C\:BD80\:D130 \:C124\:CE58", "ToolManagerInstallFromLLMToolRepo" -> "\:B300\:D615 \:C5B8\:C5B4 \:BAA8\:B378 \:B3C4\:AD6C \:B9AC\:D3EC\:C9C0\:D1A0\:B9AC \[UpperRightArrow]", +"ToolManagerInstallFromFile" -> "Definition Notebook", "ToolManagerManageTools" -> "\:B3C4\:AD6C \:AD00\:B9AC \:BC0F \:D65C\:C131\:D654", "ToolManagerShowEnabledFor" -> "\:B2E4\:C74C\:C5D0 \:B300\:D574 \:D65C\:C131\:D654\:B41C \:B3C4\:AD6C \:D45C\:C2DC:", "ToolManagerTool" -> "\:B3C4\:AD6C", diff --git a/FrontEnd/TextResources/Spanish/ChatbookStrings.tr b/FrontEnd/TextResources/Spanish/ChatbookStrings.tr index e9f3d97c..6c95c031 100644 --- a/FrontEnd/TextResources/Spanish/ChatbookStrings.tr +++ b/FrontEnd/TextResources/Spanish/ChatbookStrings.tr @@ -120,6 +120,7 @@ "ToolManagerInstallTools" -> "Instalar herramientas", "ToolManagerInstallFrom" -> "Instalar desde", "ToolManagerInstallFromLLMToolRepo" -> "Repositorio de herramientas LLM \[UpperRightArrow]", +"ToolManagerInstallFromFile" -> "Definition Notebook", "ToolManagerManageTools" -> "Administrar y habilitar herramientas", "ToolManagerShowEnabledFor" -> "Mostrar herramientas habilitadas para:", "ToolManagerTool" -> "Herramienta", diff --git a/Source/Chatbook/PersonaManager.wl b/Source/Chatbook/PersonaManager.wl index ee517ce7..6c824aa5 100644 --- a/Source/Chatbook/PersonaManager.wl +++ b/Source/Chatbook/PersonaManager.wl @@ -73,7 +73,7 @@ CreatePersonaManagerPanel[ ] := DynamicModule[{favorites, delimColor}, Button[ grayDialogButtonLabel @ tr[ "PersonaManagerInstallFromFile" ], If[ $CloudEvaluation, SetOptions[ EvaluationNotebook[ ], DockedCells -> Inherited ] ]; - Block[ { PrintTemporary }, ResourceInstallFromFile[ ] ], + Block[ { PrintTemporary }, ResourceInstallFromFile[ "Prompt" ] ], Appearance -> "Suppressed", BaselinePosition -> Baseline, Method -> "Queued" diff --git a/Source/Chatbook/ResourceInstaller.wl b/Source/Chatbook/ResourceInstaller.wl index 26abf482..af7c841b 100644 --- a/Source/Chatbook/ResourceInstaller.wl +++ b/Source/Chatbook/ResourceInstaller.wl @@ -404,16 +404,18 @@ scrapeResourceFromShingle // endDefinition; ResourceInstallFromFile // ClearAll; +(* Not sure if this syntactic sugar is warranted *) ResourceInstallFromFile[ ] := - catchMine @ ResourceInstallFromFile @ Automatic; + catchMine @ ResourceInstallFromFile[ Automatic, Automatic ] -ResourceInstallFromFile[ path_String ] := - catchMine @ ResourceInstallFromFile[ Automatic, path ]; +ResourceInstallFromFile[ rtype: $$installableType|Automatic ] := + catchMine @ ResourceInstallFromFile[ rtype, Automatic ]; ResourceInstallFromFile[ File[ path_String ] ] := catchMine @ ResourceInstallFromFile[ Automatic, path ]; -ResourceInstallFromFile[ rtype: $$installableType|Automatic ] := catchMine @ Enclose[ +(* I expect these next two definitions to be the most used *) +ResourceInstallFromFile[ rtype: $$installableType|Automatic, Automatic ] := catchMine @ Enclose[ Module[ { path }, path = ConfirmMatch[ @@ -433,7 +435,7 @@ ResourceInstallFromFile[ rtype: $$installableType|Automatic ] := catchMine @ Enc ResourceInstallFromFile[ rtype: $$installableType|Automatic, path_String ] := Enclose[ Module[ { ro, expected, actual, file }, - ro = ConfirmMatch[ resourceFromFile @ path, _ResourceObject, "ResourceObject" ]; + ro = ConfirmMatch[ resourceFromFile[ rtype, path ], _ResourceObject, "ResourceObject" ]; expected = Replace[ rtype, Automatic -> $$installableType ]; actual = ConfirmBy[ ro[ "ResourceType" ], StringQ, "ResourceType" ]; @@ -458,10 +460,17 @@ ResourceInstallFromFile[ args___ ] := (*resourceFromFile*) resourceFromFile // beginDefinition; -resourceFromFile[ path_String ] := Block[ { PrintTemporary }, +resourceFromFile[ Automatic, path_String ] := Block[ { PrintTemporary }, Quiet[ DefinitionNotebookClient`ScrapeResource[ Import[ path ] ] ] ]; +resourceFromFile[ rtype_, path_String ] := Block[ { PrintTemporary }, + Quiet[ + With[ { nb = Import[ path ] }, + ConfirmMatch[ DefinitionNotebookClient`NotebookResourceType @ nb, rtype, "ResourceType" ]; + DefinitionNotebookClient`ScrapeResource @ nb ] ] +]; + resourceFromFile // endDefinition; (* ::**************************************************************************************************************:: *) diff --git a/Source/Chatbook/ToolManager.wl b/Source/Chatbook/ToolManager.wl index aee9a049..4afe6729 100644 --- a/Source/Chatbook/ToolManager.wl +++ b/Source/Chatbook/ToolManager.wl @@ -1224,6 +1224,14 @@ installToolsSection[ ] := Sequence[ Appearance -> "Suppressed", BaselinePosition -> Baseline, Method -> "Queued" + ], + Button[ + grayDialogButtonLabel @ tr[ "ToolManagerInstallFromFile" ], + If[ $CloudEvaluation, SetOptions[ EvaluationNotebook[ ], DockedCells -> Inherited ] ]; + Block[ { PrintTemporary }, ResourceInstallFromFile[ "LLMTool" ] ], + Appearance -> "Suppressed", + BaselinePosition -> Baseline, + Method -> "Queued" ] } } From 8466c052f07154dc687bebd4667db19790e69203 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 28 Aug 2024 18:07:54 -0400 Subject: [PATCH 049/180] Hooked up RelatedDocumentation prompt generator to code assistance chat --- Source/Chatbook/ChatMessages.wl | 11 +- Source/Chatbook/ChatModes/Context.wl | 11 +- Source/Chatbook/ChatModes/Evaluate.wl | 6 +- .../Chatbook/ChatModes/ShowCodeAssistance.wl | 18 +- Source/Chatbook/ChatModes/UI.wl | 31 ++- Source/Chatbook/ChatState.wl | 1 + Source/Chatbook/Common.wl | 56 ++++-- Source/Chatbook/CommonSymbols.wl | 9 + Source/Chatbook/Graphics.wl | 133 ++++++++++++ Source/Chatbook/LLMUtilities.wl | 188 +++++++++++++++++ Source/Chatbook/Main.wl | 2 + Source/Chatbook/PromptGenerators/Common.wl | 24 +++ .../DefaultPromptGenerators.wl | 108 ++++++++++ .../PromptGenerators/EmbeddingContext.wl | 103 ++++++++++ .../PromptGenerators/PromptGenerators.wl | 2 + .../PromptGenerators/RelatedDocumentation.wl | 190 +++++++++++++++--- .../PromptGenerators/VectorDatabases.wl | 99 +++++---- Source/Chatbook/SendChat.wl | 2 +- Source/Chatbook/Settings.wl | 1 + Source/Chatbook/Utils.wl | 107 ---------- 20 files changed, 873 insertions(+), 229 deletions(-) create mode 100644 Source/Chatbook/Graphics.wl create mode 100644 Source/Chatbook/LLMUtilities.wl create mode 100644 Source/Chatbook/PromptGenerators/DefaultPromptGenerators.wl create mode 100644 Source/Chatbook/PromptGenerators/EmbeddingContext.wl diff --git a/Source/Chatbook/ChatMessages.wl b/Source/Chatbook/ChatMessages.wl index ea09b434..daf00d8b 100644 --- a/Source/Chatbook/ChatMessages.wl +++ b/Source/Chatbook/ChatMessages.wl @@ -176,11 +176,12 @@ constructInlineMessages // endDefinition; addPrompts // beginDefinition; addPrompts[ settings_Association, messages_List ] := Enclose[ - Module[ { custom, workspace, inline, prompt }, - custom = ConfirmMatch[ assembleCustomPrompt @ settings, None|_String, "Custom" ]; - workspace = ConfirmMatch[ getWorkspacePrompt @ settings , None|_String, "Workspace" ]; - inline = ConfirmMatch[ getInlineChatPrompt @ settings , None|_String, "Inline" ]; - prompt = StringRiffle[ Select[ { custom, workspace, inline }, StringQ ], "\n\n" ]; + Module[ { custom, workspace, inline, generated, prompt }, + custom = ConfirmMatch[ assembleCustomPrompt @ settings , None|_String, "Custom" ]; + workspace = ConfirmMatch[ getWorkspacePrompt @ settings , None|_String, "Workspace" ]; + inline = ConfirmMatch[ getInlineChatPrompt @ settings , None|_String, "Inline" ]; + generated = ConfirmMatch[ applyPromptGenerators[ settings, messages ], None|_String, "Generated" ]; + prompt = StringRiffle[ Select[ { custom, workspace, inline, generated }, StringQ ], "\n\n" ]; addPrompts[ prompt, messages ] ], throwInternalFailure diff --git a/Source/Chatbook/ChatModes/Context.wl b/Source/Chatbook/ChatModes/Context.wl index 6834a1ee..6dd86ca3 100644 --- a/Source/Chatbook/ChatModes/Context.wl +++ b/Source/Chatbook/ChatModes/Context.wl @@ -98,8 +98,9 @@ getContextFromSelection[ chatNB_NotebookObject, None, settings_Association ] := None; getContextFromSelection[ chatNB_, nbo_NotebookObject, settings_Association ] := Enclose[ - Module[ { selectionData }, - selectionData = ConfirmBy[ selectContextCells @ nbo, AssociationQ, "SelectionData" ]; + Catch @ Module[ { selectionData }, + selectionData = ConfirmMatch[ selectContextCells @ nbo, _Association|None, "SelectionData" ]; + If[ selectionData === None, Throw @ None ]; ConfirmBy[ getContextFromSelection0[ selectionData, settings ], StringQ, "Context" ] ], throwInternalFailure @@ -132,6 +133,7 @@ getContextFromSelection0[ selectionData_Association, settings_ ] := Enclose[ marked = ConfirmMatch[ insertSelectionIndicator @ { before, selected, after }, { ___Cell }, "Marked" ]; messages = ConfirmMatch[ makeChatMessages[ settings, marked, False ], { ___Association }, "Messages" ]; string = ConfirmBy[ messagesToString @ messages, StringQ, "String" ]; + $contextPrompt = string; postProcessNotebookContextString[ applyNotebookContextTemplate @ string, string ] ], throwInternalFailure @@ -244,7 +246,10 @@ selectContextCells // beginDefinition; selectContextCells[ nbo_NotebookObject ] := selectContextCells @ Cells @ nbo; -selectContextCells[ cells: { ___CellObject } ] := +selectContextCells[ { } ] := + None; + +selectContextCells[ cells: { __CellObject } ] := selectContextCells @ cellInformation @ cells; selectContextCells[ { a: KeyValuePattern[ "CursorPosition" -> "AboveCell" ], after___ } ] := diff --git a/Source/Chatbook/ChatModes/Evaluate.wl b/Source/Chatbook/ChatModes/Evaluate.wl index 6e773820..8eb6419b 100644 --- a/Source/Chatbook/ChatModes/Evaluate.wl +++ b/Source/Chatbook/ChatModes/Evaluate.wl @@ -76,7 +76,11 @@ evaluateInlineChat[ "InlineChatCell" -> cell, "SelectionInfo" -> selectionInfo, "MessageCells" -> Dynamic @ messageCells - |> + |>, + $defaultChatSettings = mergeChatSettings @ { + $defaultChatSettings, + CurrentValue[ cell, { TaggingRules, "ChatNotebookSettings" } ] + } }, result = ConfirmMatch[ ChatCellEvaluate @ root, _ChatObject|Null, "ChatCellEvaluate" ] ]; diff --git a/Source/Chatbook/ChatModes/ShowCodeAssistance.wl b/Source/Chatbook/ChatModes/ShowCodeAssistance.wl index b18ab13a..f06fb773 100644 --- a/Source/Chatbook/ChatModes/ShowCodeAssistance.wl +++ b/Source/Chatbook/ChatModes/ShowCodeAssistance.wl @@ -12,10 +12,17 @@ Needs[ "Wolfram`Chatbook`ChatModes`Common`" ]; (*Configuration*) $workspaceChatWidth = 325; +$codeAssistanceSettings = <| + "ServiceCaller" -> "CodeAssistance", + "PromptGenerators" -> { "RelatedDocumentation" }, + "Tools" -> { "WolframLanguageEvaluator" }, + "ToolSelectionType" -> <| "DocumentationLookup" -> None, "DocumentationSearcher" -> None |> +|>; + $workspaceChatNotebookOptions = Sequence[ DefaultNewCellStyle -> "AutoMoveToChatInputField", StyleDefinitions -> FrontEnd`FileName[ { "Wolfram" }, "WorkspaceChat.nb", CharacterEncoding -> "UTF-8" ], - TaggingRules -> <| "ChatNotebookSettings" -> <| "ServiceCaller" -> "CodeAssistance" |> |> + TaggingRules -> <| "ChatNotebookSettings" -> $codeAssistanceSettings |> ]; (* TODO: set $serviceCaller from chat settings *) @@ -70,8 +77,11 @@ enableCodeAssistance // endDefinition; (*ShowCodeAssistance*) ShowCodeAssistance // beginDefinition; ShowCodeAssistance[ ] := catchMine @ ShowCodeAssistance[ "Window" ]; -ShowCodeAssistance[ "Window" ] := catchMine @ showCodeAssistanceWindow @ getUserNotebook[ ]; -ShowCodeAssistance[ "Inline" ] := catchMine @ showCodeAssistanceInline @ InputNotebook[ ]; +ShowCodeAssistance[ nbo_NotebookObject ] := catchMine @ showCodeAssistanceWindow @ nbo; +ShowCodeAssistance[ "Window" ] := catchMine @ ShowCodeAssistance[ getUserNotebook[ ], "Window" ]; +ShowCodeAssistance[ "Inline" ] := catchMine @ ShowCodeAssistance[ InputNotebook[ ], "Inline" ]; +ShowCodeAssistance[ nbo_NotebookObject, "Window" ] := catchMine @ showCodeAssistanceWindow @ nbo; +ShowCodeAssistance[ nbo_NotebookObject, "Inline" ] := catchMine @ showCodeAssistanceInline @ nbo; ShowCodeAssistance // endExportedDefinition; (* ::**************************************************************************************************************:: *) @@ -82,7 +92,7 @@ ShowCodeAssistance // endExportedDefinition; (* ::Subsection::Closed:: *) (*showCodeAssistanceInline*) showCodeAssistanceInline // beginDefinition; -showCodeAssistanceInline[ nbo_NotebookObject ] := attachInlineChatInput @ nbo; +showCodeAssistanceInline[ nbo_NotebookObject ] := attachInlineChatInput[ nbo, $codeAssistanceSettings ]; showCodeAssistanceInline[ _ ] := MessageDialog[ "No notebook selected." ]; showCodeAssistanceInline // endDefinition; diff --git a/Source/Chatbook/ChatModes/UI.wl b/Source/Chatbook/ChatModes/UI.wl index d65fec21..604dffd9 100644 --- a/Source/Chatbook/ChatModes/UI.wl +++ b/Source/Chatbook/ChatModes/UI.wl @@ -156,12 +156,15 @@ $attachedWorkspaceChatInputCell := $attachedWorkspaceChatInputCell = Cell[ attachInlineChatInput // beginDefinition; attachInlineChatInput[ nbo_NotebookObject ] := + attachInlineChatInput[ nbo, <| |> ]; + +attachInlineChatInput[ nbo_NotebookObject, settings_Association ] := If[ TrueQ @ userNotebookQ @ nbo, - attachInlineChatInput[ nbo, SelectedCells @ nbo ], + attachInlineChatInput[ nbo, settings, SelectedCells @ nbo ], Null ]; -attachInlineChatInput[ nbo_NotebookObject, { root_CellObject } ] := Enclose[ +attachInlineChatInput[ nbo_NotebookObject, settings_Association, { root_CellObject } ] := Enclose[ Module[ { selectionInfo, attached }, NotebookDelete @ $lastAttachedInlineChat; @@ -180,7 +183,7 @@ attachInlineChatInput[ nbo_NotebookObject, { root_CellObject } ] := Enclose[ attached = ConfirmMatch[ AttachCell[ NotebookSelection @ nbo, - inlineChatInputCell[ root, selectionInfo ], + inlineChatInputCell[ root, selectionInfo, settings ], { Left, Bottom }, 0, { Left, Top }, @@ -198,8 +201,21 @@ attachInlineChatInput[ nbo_NotebookObject, { root_CellObject } ] := Enclose[ throwInternalFailure ]; -(* FIXME: Need to handle multiple or no cell selections *) -attachInlineChatInput[ nbo_NotebookObject, { ___ } ] := Null; +(* TODO: moving the selection probably isn't ideal: *) +attachInlineChatInput[ nbo_NotebookObject, settings_, { } ] := Enclose[ + Module[ { root }, + SelectionMove[ nbo, Previous, Cell ]; + root = Replace[ SelectedCells @ nbo, { cell_CellObject } :> cell ]; + If[ MatchQ[ root, _CellObject ], + attachInlineChatInput[ nbo, settings, { root } ], + Null + ] + ], + throwInternalFailure +]; + +(* FIXME: Need to handle multiple cell selections *) +attachInlineChatInput[ nbo_NotebookObject, settings_, { ___ } ] := Null; attachInlineChatInput // endDefinition; @@ -233,7 +249,7 @@ cellHash // endDefinition; (*inlineChatInputCell*) inlineChatInputCell // beginDefinition; -inlineChatInputCell[ root_CellObject, selectionInfo_ ] := Cell[ +inlineChatInputCell[ root_CellObject, selectionInfo_, settings_ ] := Cell[ BoxData @ inlineTemplateBox @ TemplateBox[ { ToBoxes @ DynamicModule[ { messageCells = { }, cell }, @@ -268,7 +284,8 @@ inlineChatInputCell[ root_CellObject, selectionInfo_ ] := Cell[ ], "AttachedChatInput", Background -> None, - Selectable -> True + Selectable -> True, + TaggingRules -> <| "ChatNotebookSettings" -> settings |> ]; inlineChatInputCell // endDefinition; diff --git a/Source/Chatbook/ChatState.wl b/Source/Chatbook/ChatState.wl index 612ca939..e0e30808 100644 --- a/Source/Chatbook/ChatState.wl +++ b/Source/Chatbook/ChatState.wl @@ -26,6 +26,7 @@ withChatState[ eval_ ] := $enableLLMServices = Automatic, $WorkspaceChat = False, withChatState = # &, + $contextPrompt = None, (* Values used for token budgets during cell serialization: *) $cellStringBudget = $cellStringBudget, diff --git a/Source/Chatbook/Common.wl b/Source/Chatbook/Common.wl index ab4d4ae4..b9c55574 100644 --- a/Source/Chatbook/Common.wl +++ b/Source/Chatbook/Common.wl @@ -132,25 +132,7 @@ $resourceVersions = <| (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) -(*Style Patterns*) -cellStylePattern // beginDefinition; -cellStylePattern[ { styles__String } ] := styles | { ___, Alternatives @ styles , ___ }; -cellStylePattern // endDefinition; - -$$chatDelimiterStyle = cellStylePattern @ $chatDelimiterStyles ; -$$chatIgnoredStyle = cellStylePattern @ $chatIgnoredStyles; -$$chatInputStyle = cellStylePattern @ $chatInputStyles; -$$chatOutputStyle = cellStylePattern @ $chatOutputStyles; -$$excludeHistoryStyle = cellStylePattern @ $excludeHistoryStyles; -$$nestedCellStyle = cellStylePattern @ $nestedCellStyles; - -$$textDataItem = (_String|_Cell|_StyleBox|_ButtonBox); -$$textDataList = { $$textDataItem... }; -$$textData = $$textDataItem | $$textDataList; - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*Other Argument Patterns *) +(*Basic Argument Patterns*) $$optionsSequence = (Rule|RuleDelayed)[ _Symbol|_String, _ ] ...; $$size = Infinity | (_Real|_Integer)? NonNegative; $$unspecified = _Missing | Automatic | Inherited; @@ -171,10 +153,46 @@ $$string = pt[ _String , StringQ ]; $$symbol = pt[ _Symbol , Developer`SymbolQ ]; $$atomic = $$complex | $$integer | $$rational | $$real | $$string | $$symbol; +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Style Patterns*) +cellStylePattern // beginDefinition; +cellStylePattern[ { styles__String } ] := styles | { ___, Alternatives @ styles , ___ }; +cellStylePattern // endDefinition; + +$$chatDelimiterStyle = cellStylePattern @ $chatDelimiterStyles ; +$$chatIgnoredStyle = cellStylePattern @ $chatIgnoredStyles; +$$chatInputStyle = cellStylePattern @ $chatInputStyles; +$$chatOutputStyle = cellStylePattern @ $chatOutputStyles; +$$excludeHistoryStyle = cellStylePattern @ $excludeHistoryStyles; +$$nestedCellStyle = cellStylePattern @ $nestedCellStyles; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Text Data*) +$$textDataItem = (_String|_Cell|_StyleBox|_ButtonBox); +$$textDataList = { $$textDataItem... }; +$$textData = $$textDataItem | $$textDataList; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Graphics*) +$$graphics = _? graphicsQ; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Chat Messages*) +$$messageRole = "System"|"Assistant"|"User"; +$$messageContentData = KeyValuePattern @ { "Type" -> "Text"|"Image", "Data" -> _ } | $$string | $$graphics; +$$messageContent = $$messageContentData | { $$messageContentData... }; +$$chatMessage = KeyValuePattern @ { "Role" -> $$messageRole, "Content" -> $$messageContent }; +$$chatMessages = { $$chatMessage... }; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Text and Expression Resources*) +(* FIXME: These need to go after beginDefinition and endDefinition initializations *) (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*tr*) diff --git a/Source/Chatbook/CommonSymbols.wl b/Source/Chatbook/CommonSymbols.wl index 7faf3743..fd117cab 100644 --- a/Source/Chatbook/CommonSymbols.wl +++ b/Source/Chatbook/CommonSymbols.wl @@ -2,6 +2,9 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; +`$$chatMessage; +`$$chatMessages; +`$$graphics; `$absoluteCurrentSettingsCache; `$allowConnectionDialog; `$alwaysOpen; @@ -20,6 +23,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `$chatState; `$cloudEvaluationNotebook; `$cloudInlineReferenceButtons; +`$contextPrompt; `$conversionRules; `$corePersonaNames; `$CurrentCell; @@ -30,6 +34,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `$defaultChatTools; `$defaultMaxCellStringLength; `$defaultMaxOutputCellStringLength; +`$defaultPromptGenerators; `$dialogInputAllowed; `$dynamicSplitRules; `$dynamicText; @@ -79,6 +84,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `apiKeyDialog; `applyHandlerFunction; `applyProcessingFunction; +`applyPromptGenerators; `assistantMessageBox; `assistantMessageLabel; `associationKeyDeflatten; @@ -171,6 +177,8 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `insertPersonaTemplate; `insertTrailingFunctionInputBox; `insertWLTemplate; +`llmSynthesize; +`llmSynthesizeSubmit; `logUsage; `makeCellStringBudget; `makeChatCloudDockedCellContents; @@ -185,6 +193,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `makeToolResponseString; `makeWorkspaceChatDockedCell; `menuMagnification; +`mergeChatSettings; `modelDisplayName; `modelListCachedQ; `modifierTemplateBoxes; diff --git a/Source/Chatbook/Graphics.wl b/Source/Chatbook/Graphics.wl new file mode 100644 index 00000000..b85474ad --- /dev/null +++ b/Source/Chatbook/Graphics.wl @@ -0,0 +1,133 @@ +(* ::Section::Closed:: *) +(*Package Header*) +BeginPackage[ "Wolfram`Chatbook`Graphics`" ]; +Begin[ "`Private`" ]; + +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Argument Patterns*) +$$graphicsPattern = HoldPattern @ Alternatives[ + _System`AstroGraphics, + _GeoGraphics, + _Graphics, + _Graphics3D, + _Image, + _Image3D, + _Legended +]; + +$$definitelyNotGraphics = HoldPattern @ Alternatives[ + _Association, + _CloudObject, + _File, + _List, + _String, + _URL, + Null, + True|False +]; + +$$graphicsBoxIgnoredHead = HoldPattern @ Alternatives[ + BoxData, + Cell, + FormBox, + PaneBox, + StyleBox, + TagBox +]; + +$$graphicsBoxIgnoredTemplates = Alternatives[ + "Labeled", + "Legended" +]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Graphics Testing*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*graphicsQ*) +graphicsQ // beginDefinition; +graphicsQ[ $$graphicsPattern ] := True; +graphicsQ[ $$definitelyNotGraphics ] := False; +graphicsQ[ RawBoxes[ boxes_ ] ] := graphicsBoxQ @ Unevaluated @ boxes; +graphicsQ[ g_ ] := MatchQ[ Quiet @ Show @ Unevaluated @ g, $$graphicsPattern ]; +graphicsQ[ ___ ] := False; +graphicsQ // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*graphicsBoxQ*) +graphicsBoxQ // beginDefinition; +graphicsBoxQ[ _GraphicsBox|_Graphics3DBox ] := True; +graphicsBoxQ[ $$graphicsBoxIgnoredHead[ box_, ___ ] ] := graphicsBoxQ @ Unevaluated @ box; +graphicsBoxQ[ TemplateBox[ { box_, ___ }, $$graphicsBoxIgnoredTemplates, ___ ] ] := graphicsBoxQ @ Unevaluated @ box; +graphicsBoxQ[ RowBox[ boxes_List ] ] := AnyTrue[ boxes, graphicsBoxQ ]; +graphicsBoxQ[ TemplateBox[ boxes_List, "RowDefault", ___ ] ] := AnyTrue[ boxes, graphicsBoxQ ]; +graphicsBoxQ[ GridBox[ boxes_List, ___ ] ] := AnyTrue[ Flatten @ boxes, graphicsBoxQ ]; +graphicsBoxQ[ ___ ] := False; +graphicsBoxQ // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*validGraphicsQ*) +validGraphicsQ // beginDefinition; +validGraphicsQ[ g_? graphicsQ ] := getPinkBoxErrors @ Unevaluated @ g === { }; +validGraphicsQ[ ___ ] := False; +validGraphicsQ // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*getPinkBoxErrors*) +getPinkBoxErrors // beginDefinition; +(* TODO: hook this up to evaluator outputs and CellToString to give feedback about pink boxes *) + +getPinkBoxErrors[ { } ] := + { }; + +getPinkBoxErrors[ cells: _CellObject | { __CellObject } ] := + getPinkBoxErrors @ NotebookRead @ cells; + +getPinkBoxErrors[ cells: _Cell | { __Cell } ] := + Module[ { nbo }, + UsingFrontEnd @ WithCleanup[ + nbo = NotebookPut[ Notebook @ Flatten @ { cells }, Visible -> False ], + SelectionMove[ nbo, All, Notebook ]; + MathLink`CallFrontEnd @ FrontEnd`GetErrorsInSelectionPacket @ nbo, + NotebookClose @ nbo + ] + ]; + +getPinkBoxErrors[ data: _TextData | _BoxData | { __BoxData } ] := + getPinkBoxErrors @ Cell @ data; + +getPinkBoxErrors[ exprs_List ] := + getPinkBoxErrors[ Cell @* BoxData /@ MakeBoxes /@ Unevaluated @ exprs ]; + +getPinkBoxErrors[ expr_ ] := + getPinkBoxErrors @ { Cell @ BoxData @ MakeBoxes @ expr }; + +getPinkBoxErrors // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*image2DQ*) +(* Matches against the head in addition to checking ImageQ to avoid passing Image3D when a 2D image is expected: *) +image2DQ // beginDefinition; +image2DQ[ _Image? ImageQ ] := True; +image2DQ[ _ ] := False; +image2DQ // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +addToMXInitialization[ + Null +]; + +End[ ]; +EndPackage[ ]; diff --git a/Source/Chatbook/LLMUtilities.wl b/Source/Chatbook/LLMUtilities.wl new file mode 100644 index 00000000..6a546d01 --- /dev/null +++ b/Source/Chatbook/LLMUtilities.wl @@ -0,0 +1,188 @@ +(* ::Section::Closed:: *) +(*Package Header*) +BeginPackage[ "Wolfram`Chatbook`LLMUtilities`" ]; +Begin[ "`Private`" ]; + +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Configuration*) +$llmSynthesizeAuthentication = Automatic; (* TODO *) +$defaultLLMSynthesizeEvaluator = <| "Model" -> <| "Service" -> "OpenAI", "Name" -> "gpt-4o-mini" |> |>; (* TODO *) + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*LLM Utilities*) +$$llmPrompt = $$string|$$graphics|{ ($$string|$$graphics).. }; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*llmSynthesize*) +llmSynthesize // beginDefinition; + +llmSynthesize[ prompt: $$llmPrompt ] := + llmSynthesize[ prompt, $defaultLLMSynthesizeEvaluator ]; + +llmSynthesize[ prompt: $$llmPrompt, evaluator_Association ] := Enclose[ + ConfirmMatch[ llmSynthesize0[ prompt, evaluator, 1 ], Except[ "", _String ], "Result" ], + throwInternalFailure +]; + +llmSynthesize // endDefinition; + + +llmSynthesize0 // beginDefinition; + +llmSynthesize0[ prompt: $$llmPrompt, evaluator_Association, attempt_ ] := Enclose[ + Module[ { result, callback }, + result = $Failed; + callback = Function[ result = # ]; + TaskWait @ llmSynthesizeSubmit[ prompt, evaluator, callback ]; + If[ MatchQ[ result, Failure[ "InvalidResponse", _ ] ] && attempt <= 3, + Pause[ Exp @ attempt / E ]; + llmSynthesize0[ prompt, evaluator, attempt + 1 ], + result + ] + ], + throwInternalFailure +]; + +llmSynthesize0 // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*llmSynthesizeSubmit*) +llmSynthesizeSubmit // beginDefinition; + +llmSynthesizeSubmit[ prompt: $$llmPrompt, callback_ ] := + llmSynthesizeSubmit[ prompt, $defaultLLMSynthesizeEvaluator, callback ]; + +llmSynthesizeSubmit[ prompt0: $$llmPrompt, evaluator_Association, callback_ ] := Enclose[ + Module[ { prompt, messages, config, chunks, handlers, keys }, + + prompt = ConfirmMatch[ truncatePrompt[ prompt0, evaluator ], $$llmPrompt, "Prompt" ]; + messages = { <| "Role" -> "User", "Content" -> prompt |> }; + config = LLMConfiguration @ evaluator; + chunks = Internal`Bag[ ]; + + handlers = <| + "BodyChunkReceived" -> Function[ + Internal`StuffBag[ chunks, # ] + ], + "TaskFinished" -> Function[ + Module[ { string }, + $lastSynthesizeSubmitLog = Internal`BagPart[ chunks, All ]; + string = StringJoin @ Select[ + Flatten @ Cases[ + Internal`BagPart[ chunks, All ], + KeyValuePattern[ "BodyChunkProcessed" -> c_ ] :> c + ], + StringQ + ]; + If[ string === "", + callback[ Failure[ "InvalidResponse", <| "Data" -> Internal`BagPart[ chunks, All ] |> ], #1 ], + callback[ string, #1 ] + ] + ] + ] + |>; + + keys = { "BodyChunk", "BodyChunkProcessed", "StatusCode", "EventName" }; + + setServiceCaller @ LLMServices`ChatSubmit[ + messages, + config, + Authentication -> $llmSynthesizeAuthentication, + HandlerFunctions -> handlers, + HandlerFunctionsKeys -> keys, + "TestConnection" -> False + ] + ], + throwInternalFailure +]; + +llmSynthesizeSubmit // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*truncatePrompt*) +truncatePrompt // beginDefinition; + +truncatePrompt[ string_String, evaluator_ ] := stringTrimMiddle[ string, modelContextLimit @ evaluator ]; +truncatePrompt[ { strings___String }, evaluator_ ] := truncatePrompt[ StringJoin @ strings, evaluator ]; + +truncatePrompt[ prompts: { (_String|_Image).. }, evaluator_ ] := Enclose[ + Module[ { stringCount, images, imageCount, budget, imageBudget, resized, imageTokens, stringBudget }, + + stringCount = Count[ prompts, _String ]; + images = Cases[ prompts, _Image ]; + imageCount = Length @ images; + budget = ConfirmBy[ modelContextLimit @ evaluator, IntegerQ, "Budget" ]; + imageBudget = Max[ 512, 2^(13 - imageCount) ]; + resized = Replace[ prompts, i_Image :> resizePromptImage[ i, imageBudget ], { 1 } ]; + imageTokens = Total @ Cases[ resized, i_Image :> imageTokenCount @ i ]; + + stringBudget = ConfirmMatch[ + Floor[ (budget - imageTokens) / stringCount ], + _Integer? Positive, + "StringBudget" + ]; + + ConfirmMatch[ + Replace[ resized, s_String :> stringTrimMiddle[ s, stringBudget ], { 1 } ], + { (_String|_Image).. }, + "Result" + ] + ], + throwInternalFailure +]; + +truncatePrompt // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*resizePromptImage*) +resizePromptImage // beginDefinition; + +resizePromptImage[ image_Image ] := resizePromptImage[ image, 4096 ]; + +resizePromptImage[ image_Image, max_Integer ] := Enclose[ + Module[ { dims, size }, + dims = ConfirmMatch[ ImageDimensions @ image, { _Integer, _Integer }, "Dimensions" ]; + size = ConfirmBy[ Max[ dims, max ], IntegerQ, "Max" ]; + If[ size > max, ImageResize[ image, { UpTo[ max ], UpTo[ max ] } ], image ] + ], + throwInternalFailure +]; + +resizePromptImage // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*modelContextLimit*) +modelContextLimit // beginDefinition; +modelContextLimit[ KeyValuePattern[ "Model" -> model_ ] ] := modelContextLimit @ model; +modelContextLimit[ KeyValuePattern[ "Name" -> model_String ] ] := modelContextLimit @ model; +modelContextLimit[ "gpt-4-turbo"|"gpt-4o"|"gpt-4o-mini" ] := 200000; +modelContextLimit[ _ ] := 8000; +modelContextLimit // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*imageTokenCount*) +imageTokenCount // beginDefinition; +imageTokenCount[ img_Image ] := imageTokenCount @ ImageDimensions @ img; +imageTokenCount[ { w_Integer, h_Integer } ] := 85 + 170 * Ceiling[ h / 512 ] * Ceiling[ w / 512 ]; +imageTokenCount // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +addToMXInitialization[ + Null +]; + +End[ ]; +EndPackage[ ]; diff --git a/Source/Chatbook/Main.wl b/Source/Chatbook/Main.wl index 8840b4de..a38302c4 100644 --- a/Source/Chatbook/Main.wl +++ b/Source/Chatbook/Main.wl @@ -114,8 +114,10 @@ $ChatbookContexts = { "Wolfram`Chatbook`Feedback`", "Wolfram`Chatbook`Formatting`", "Wolfram`Chatbook`FrontEnd`", + "Wolfram`Chatbook`Graphics`", "Wolfram`Chatbook`Handlers`", "Wolfram`Chatbook`InlineReferences`", + "Wolfram`Chatbook`LLMUtilities`", "Wolfram`Chatbook`Menus`", "Wolfram`Chatbook`Models`", "Wolfram`Chatbook`PersonaManager`", diff --git a/Source/Chatbook/PromptGenerators/Common.wl b/Source/Chatbook/PromptGenerators/Common.wl index 6143fa94..20989fcd 100644 --- a/Source/Chatbook/PromptGenerators/Common.wl +++ b/Source/Chatbook/PromptGenerators/Common.wl @@ -1,8 +1,32 @@ +(* ::Section::Closed:: *) +(*Package Header*) BeginPackage[ "Wolfram`Chatbook`PromptGenerators`Common`" ]; HoldComplete[ + `$$prompt, `$noSemanticSearch, + `getSmallContextString, + `insertContextPrompt, + `makeChatTranscript, `vectorDBSearch ]; +Begin[ "`Private`" ]; + +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Argument Patterns*) +$$prompt = $$string | { $$string... } | $$chatMessages; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +addToMXInitialization[ + Null +]; + +End[ ]; EndPackage[ ]; \ No newline at end of file diff --git a/Source/Chatbook/PromptGenerators/DefaultPromptGenerators.wl b/Source/Chatbook/PromptGenerators/DefaultPromptGenerators.wl new file mode 100644 index 00000000..bf3df806 --- /dev/null +++ b/Source/Chatbook/PromptGenerators/DefaultPromptGenerators.wl @@ -0,0 +1,108 @@ +(* ::Section::Closed:: *) +(*Package Header*) +BeginPackage[ "Wolfram`Chatbook`PromptGenerators`DefaultPromptGenerators`" ]; +Begin[ "`Private`" ]; + +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; +Needs[ "Wolfram`Chatbook`PromptGenerators`Common`" ]; + +HoldComplete[ + System`LLMPromptGenerator +]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*DefaultPromptGenerators*) +$defaultPromptGenerators := $defaultPromptGenerators = <| + "RelatedDocumentation" -> LLMPromptGenerator[ RelatedDocumentation[ #, "Prompt", MaxItems -> 20 ] &, "Messages" ], + "RelatedWolframAlphaQueries" -> LLMPromptGenerator[ RelatedWolframAlphaQueries[ #, "Prompt" ] &, "Messages" ] +|>; + +(* TODO: prompt generator selectors that work like tool selections *) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*applyPromptGenerators*) +applyPromptGenerators // beginDefinition; + +applyPromptGenerators[ settings_Association, messages_ ] := + applyPromptGenerators[ settings, settings[ "PromptGenerators" ], messages ]; + +applyPromptGenerators[ settings_, generators0_, messages: $$chatMessages ] := Enclose[ + Catch @ Module[ { generators, data, prompts }, + + generators = ConfirmMatch[ + toPromptGenerator /@ Flatten @ { generators0 }, + { ___LLMPromptGenerator }, + "Generators" + ]; + + If[ generators === { }, Throw @ None ]; + + data = ConfirmBy[ makePromptGeneratorData[ settings, messages ], AssociationQ, "Data" ]; + prompts = ConfirmMatch[ applyPromptGenerator[ #, data ] & /@ generators, { $$string... }, "Prompts" ]; + + StringRiffle[ DeleteCases[ prompts, "" ], "\n\n" ] + ], + throwInternalFailure +]; + +applyPromptGenerators // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*toPromptGenerator*) +toPromptGenerator // beginDefinition; +toPromptGenerator[ ___ ] /; $VersionNumber < 14.1 := Nothing; +toPromptGenerator[ name_String ] := toPromptGenerator @ $defaultPromptGenerators @ name; +toPromptGenerator[ generator_LLMPromptGenerator ] := generator; +toPromptGenerator // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*makePromptGeneratorData*) +makePromptGeneratorData // beginDefinition; + +(* TODO: build the full spec supported by LLMPromptGenerator: + * Input + * Messages + * LLMEvaluator + * ChatObject + * { spec1, spec2, ... } +*) +makePromptGeneratorData[ settings_, messages: { ___, KeyValuePattern[ "Content" -> input_ ] } ] := <| + "Input" -> input, + "Messages" -> messages +|>; + +makePromptGeneratorData // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*applyPromptGenerator*) +applyPromptGenerator // beginDefinition; +applyPromptGenerator[ gen_LLMPromptGenerator, data_Association ] := formatGeneratedPrompt @ gen @ data; +applyPromptGenerator // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*formatGeneratedPrompt*) +formatGeneratedPrompt // beginDefinition; +formatGeneratedPrompt[ string_String ] := string; +formatGeneratedPrompt[ content_List ] := StringJoin[ formatGeneratedPrompt /@ content ]; +formatGeneratedPrompt[ KeyValuePattern @ { "Type" -> "Text", "Data" -> data_ } ] := TextString @ data; +formatGeneratedPrompt[ KeyValuePattern @ { "Type" -> "Image", "Data" -> image_? image2DQ } ] := image; +formatGeneratedPrompt[ _Missing | None ] := ""; +formatGeneratedPrompt[ expr_ ] := FormatToolResponse @ expr; +formatGeneratedPrompt // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +addToMXInitialization[ + Null +]; + +End[ ]; +EndPackage[ ]; diff --git a/Source/Chatbook/PromptGenerators/EmbeddingContext.wl b/Source/Chatbook/PromptGenerators/EmbeddingContext.wl new file mode 100644 index 00000000..ea313e09 --- /dev/null +++ b/Source/Chatbook/PromptGenerators/EmbeddingContext.wl @@ -0,0 +1,103 @@ +(* ::Section::Closed:: *) +(*Package Header*) +BeginPackage[ "Wolfram`Chatbook`PromptGenerators`EmbeddingContext`" ]; +Begin[ "`Private`" ]; + +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; +Needs[ "Wolfram`Chatbook`PromptGenerators`Common`" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Config*) +$smallContextMessageCount = 10; +$smallContextStringLength = 8000; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Convert Chat Messages to String*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*messageListToString*) +messageListToString // beginDefinition; + +messageListToString // Options = { "IncludeSystemMessage" -> False }; + +messageListToString[ { messages__ }, result_String, opts: OptionsPattern[ ] ] := + messageListToString[ { messages, <| "Role" -> "Assistant", "Content" -> result |> }, opts ]; + +messageListToString[ messages0_List, opts: OptionsPattern[ ] ] := Enclose[ + Catch @ Module[ { messages, reverted, strings }, + messages = ConfirmMatch[ makeChatTranscript[ messages0, opts ], $$chatMessages, "Messages" ]; + reverted = ConfirmMatch[ revertMultimodalContent @ messages, $$chatMessages, "Revert" ]; + If[ Length @ reverted === 1, Throw @ ConfirmBy[ reverted[[ 1, "Content" ]], StringQ, "String" ] ]; + strings = ConfirmMatch[ messageToString /@ reverted, { __String }, "Strings" ]; + StringRiffle[ strings, "\n\n" ] + ], + throwInternalFailure +]; + +messageListToString // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*messageToString*) +messageToString // beginDefinition; + +messageToString[ KeyValuePattern @ { "Role" -> role_String, "Content" -> content_String } ] := + StringJoin[ Capitalize @ role, ": ", content ]; + +messageToString // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*getSmallContextString*) +getSmallContextString // beginDefinition; + +getSmallContextString // Options = { "IncludeSystemMessage" -> False }; + +getSmallContextString[ messages0: { ___Association }, opts: OptionsPattern[ ] ] := Enclose[ + Catch @ Module[ { messages, string }, + messages = Reverse @ Take[ Reverse @ messages0, UpTo[ $smallContextMessageCount ] ]; + If[ messages === { }, Throw[ "" ] ]; + string = ConfirmBy[ messageListToString[ messages, opts ], StringQ, "String" ]; + If[ StringLength @ string > $smallContextStringLength, + StringTake[ string, { -$smallContextStringLength, -1 } ], + string + ] + ], + throwInternalFailure +]; + +getSmallContextString // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*makeChatTranscript*) +makeChatTranscript // beginDefinition; +makeChatTranscript // Options = { "IncludeSystemMessage" -> False }; + +makeChatTranscript[ { messages__ }, result_String, opts: OptionsPattern[ ] ] := + makeChatTranscript[ { messages, <| "Role" -> "Assistant", "Content" -> result |> }, opts ]; + +makeChatTranscript[ { messages__ }, result_String, opts: OptionsPattern[ ] ] := + makeChatTranscript[ { messages, <| "Role" -> "Assistant", "Content" -> result |> }, opts ]; + +makeChatTranscript[ messages_List, opts: OptionsPattern[ ] ] := + If[ TrueQ @ OptionValue[ "IncludeSystemMessage" ], + revertMultimodalContent @ messages, + revertMultimodalContent @ DeleteCases[ messages, KeyValuePattern[ "Role"|"role" -> "System"|"system" ] ] + ]; + +makeChatTranscript // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +addToMXInitialization[ + Null +]; + +End[ ]; +EndPackage[ ]; diff --git a/Source/Chatbook/PromptGenerators/PromptGenerators.wl b/Source/Chatbook/PromptGenerators/PromptGenerators.wl index 69762952..2d1fcb6e 100644 --- a/Source/Chatbook/PromptGenerators/PromptGenerators.wl +++ b/Source/Chatbook/PromptGenerators/PromptGenerators.wl @@ -11,6 +11,8 @@ Needs[ "Wolfram`Chatbook`Common`" ]; (*Load Subcontexts*) $subcontexts = { "Wolfram`Chatbook`PromptGenerators`Common`", + "Wolfram`Chatbook`PromptGenerators`DefaultPromptGenerators`", + "Wolfram`Chatbook`PromptGenerators`EmbeddingContext`", "Wolfram`Chatbook`PromptGenerators`RelatedDocumentation`", "Wolfram`Chatbook`PromptGenerators`RelatedWolframAlphaQueries`", "Wolfram`Chatbook`PromptGenerators`VectorDatabases`" diff --git a/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl b/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl index 2d2e17a1..de3f45ba 100644 --- a/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl +++ b/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl @@ -18,6 +18,10 @@ $documentationSnippetBaseURL = "https://www.wolframcloud.com/obj/wolframai-conte (* ::Section::Closed:: *) (*RelatedDocumentation*) RelatedDocumentation // beginDefinition; +RelatedDocumentation // Options = { + "FilterResults" -> Automatic, + "MaxItems" -> 20 +}; GeneralUtilities`SetUsage[ RelatedDocumentation, "\ RelatedDocumentation[\"string$\"] gives a list of documentation URIs that are semantically related to the \ @@ -32,24 +36,36 @@ RelatedDocumentation[ ___ ] /; $noSemanticSearch := Failure[ |> ]; -RelatedDocumentation[ prompt_ ] := catchMine @ RelatedDocumentation[ prompt, Automatic ]; -RelatedDocumentation[ prompt_, Automatic ] := catchMine @ RelatedDocumentation[ prompt, "URIs" ]; -RelatedDocumentation[ prompt_, count: _Integer | UpTo[ _Integer ] ] := RelatedDocumentation[ prompt, Automatic, count ]; -RelatedDocumentation[ prompt_, property_ ] := catchMine @ RelatedDocumentation[ prompt, property, Automatic ]; -RelatedDocumentation[ prompt_, Automatic, count_ ] := RelatedDocumentation[ prompt, "URIs", count ]; +RelatedDocumentation[ prompt_, opts: OptionsPattern[ ] ] := + catchMine @ RelatedDocumentation[ prompt, Automatic, opts ]; -RelatedDocumentation[ prompt: _String | { ___String }, "URIs", Automatic ] := catchMine @ Enclose[ +RelatedDocumentation[ prompt_, Automatic, opts: OptionsPattern[ ] ] := + catchMine @ RelatedDocumentation[ prompt, "URIs", opts ]; + +RelatedDocumentation[ prompt_, count: _Integer | UpTo[ _Integer ], opts: OptionsPattern[ ] ] := + RelatedDocumentation[ prompt, Automatic, count, opts ]; + +RelatedDocumentation[ prompt_, property_, opts: OptionsPattern[ ] ] := + catchMine @ RelatedDocumentation[ prompt, property, OptionValue @ MaxItems, opts ]; + +RelatedDocumentation[ prompt_, Automatic, count_, opts: OptionsPattern[ ] ] := + RelatedDocumentation[ prompt, "URIs", count, opts ]; + +RelatedDocumentation[ prompt: $$prompt, "URIs", Automatic, opts: OptionsPattern[ ] ] := catchMine @ Enclose[ + (* TODO: filter results *) ConfirmMatch[ vectorDBSearch[ "DocumentationURIs", prompt, "Values" ], { ___String }, "Queries" ], throwInternalFailure ]; -RelatedDocumentation[ All, "URIs", Automatic ] := catchMine @ Enclose[ +RelatedDocumentation[ All, "URIs", Automatic, opts: OptionsPattern[ ] ] := catchMine @ Enclose[ + (* TODO: filter results *) Union @ ConfirmMatch[ vectorDBSearch[ "DocumentationURIs", All ], { __String }, "QueryList" ], throwInternalFailure ]; -RelatedDocumentation[ prompt_, "Snippets", Automatic ] := catchMine @ Enclose[ +RelatedDocumentation[ prompt: $$prompt, "Snippets", Automatic, opts: OptionsPattern[ ] ] := catchMine @ Enclose[ ConfirmMatch[ + (* TODO: filter results *) DeleteMissing[ makeDocSnippets @ vectorDBSearch[ "DocumentationURIs", prompt, "Values" ] ], { ___String }, "Snippets" @@ -57,33 +73,48 @@ RelatedDocumentation[ prompt_, "Snippets", Automatic ] := catchMine @ Enclose[ throwInternalFailure ]; -RelatedDocumentation[ prompt_, property_, UpTo[ n_Integer ] ] := - catchMine @ RelatedDocumentation[ prompt, property, n ]; +RelatedDocumentation[ prompt_, property_, UpTo[ n_Integer ], opts: OptionsPattern[ ] ] := + catchMine @ RelatedDocumentation[ prompt, property, n, opts ]; -RelatedDocumentation[ prompt_, property_, n_Integer ] := catchMine @ Enclose[ - Take[ ConfirmMatch[ RelatedDocumentation[ prompt, property, Automatic ], { ___String } ], UpTo @ n ], +RelatedDocumentation[ prompt_, property_, n_Integer, opts: OptionsPattern[ ] ] := catchMine @ Enclose[ + Take[ ConfirmMatch[ RelatedDocumentation[ prompt, property, Automatic, opts ], { ___String } ], UpTo @ n ], throwInternalFailure ]; -RelatedDocumentation[ prompt_, property: "Results"|"Values"|"EmbeddingVector"|All, n_Integer ] := catchMine @ Enclose[ - Take[ ConfirmBy[ vectorDBSearch[ "DocumentationURIs", prompt, property ], ListQ, "Results" ], UpTo @ n ], - throwInternalFailure -]; +RelatedDocumentation[ + prompt: $$prompt, + property: "Results"|"Values"|"EmbeddingVector"|All, + n_Integer, + opts: OptionsPattern[ ] +] := + catchMine @ Enclose[ + (* TODO: filter results *) + Take[ ConfirmBy[ vectorDBSearch[ "DocumentationURIs", prompt, property ], ListQ, "Results" ], UpTo @ n ], + throwInternalFailure + ]; -RelatedDocumentation[ prompt_, property: "Index"|"Distance", n_Integer ] := catchMine @ Enclose[ - Lookup[ - Take[ - ConfirmMatch[ - RelatedDocumentation[ prompt, "Results", n ], - { KeyValuePattern[ property -> _ ]... }, - "Results" +RelatedDocumentation[ prompt_, property: "Index"|"Distance", n_Integer, opts: OptionsPattern[ ] ] := + catchMine @ Enclose[ + Lookup[ + Take[ + ConfirmMatch[ + RelatedDocumentation[ prompt, "Results", n, opts ], + { KeyValuePattern[ property -> _ ]... }, + "Results" + ], + UpTo @ n ], - UpTo @ n + property ], - property - ], - throwInternalFailure -]; + throwInternalFailure + ]; + +RelatedDocumentation[ prompt_, "Prompt", n_Integer, opts: OptionsPattern[ ] ] := + catchMine @ relatedDocumentationPrompt[ + ensureChatMessages @ prompt, + n, + MatchQ[ OptionValue[ "FilterResults" ], Automatic|True ] + ]; RelatedDocumentation[ args___ ] := catchMine @ throwFailure[ "InvalidArguments", @@ -93,6 +124,107 @@ RelatedDocumentation[ args___ ] := catchMine @ throwFailure[ RelatedDocumentation // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*ensureChatMessages*) +ensureChatMessages // beginDefinition; +ensureChatMessages[ prompt_String ] := { <| "Role" -> "User", "Content" -> prompt |> }; +ensureChatMessages[ message: KeyValuePattern[ "Role" -> _ ] ] := { message }; +ensureChatMessages[ messages: $$chatMessages ] := messages; +ensureChatMessages // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*relatedDocumentationPrompt*) +relatedDocumentationPrompt // beginDefinition; + +relatedDocumentationPrompt[ messages: $$chatMessages, count_, filter_ ] := Enclose[ + Catch @ Module[ { uris, filtered, string }, + uris = ConfirmMatch[ RelatedDocumentation[ messages, "URIs", count ], { ___String }, "URIs" ]; + If[ uris === { }, Throw[ "" ] ]; + + filtered = ConfirmMatch[ filterSnippets[ messages, uris, filter ], { ___String }, "Filtered" ]; + string = StringTrim @ StringRiffle[ "# "<># & /@ DeleteCases[ filtered, "" ], "\n\n======\n\n" ]; + $relatedDocsStringHeader <> string + ], + throwInternalFailure +]; + +relatedDocumentationPrompt // endDefinition; + + +$relatedDocsStringHeader = "\ +Here are some Wolfram documentation snippets that might be helpful: + +"; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*filterSnippets*) +filterSnippets // beginDefinition; + +filterSnippets[ messages_, uris: { __String }, filter_ ] := Enclose[ + Catch @ Module[ { snippets, transcript, xml, instructions, response, pages }, + + snippets = ConfirmMatch[ makeDocSnippets @ uris, { ___String }, "Snippets" ]; + If[ ! TrueQ @ filter, Throw @ snippets ]; + + transcript = ConfirmBy[ getSmallContextString @ insertContextPrompt @ messages, StringQ, "Transcript" ]; + + xml = ConfirmMatch[ snippetXML /@ snippets, { __String }, "XML" ]; + instructions = ConfirmBy[ + TemplateApply[ + $bestDocumentationPrompt, + <| "Snippets" -> StringRiffle[ xml, "\n\n" ], "Transcript" -> transcript |> + ], + StringQ, + "Prompt" + ]; + + response = StringTrim @ ConfirmBy[ llmSynthesize @ instructions, StringQ, "Response" ]; + pages = ConfirmMatch[ makeDocSnippets @ StringCases[ response, uris ], { ___String }, "Pages" ]; + + pages + ], + throwInternalFailure +]; + +filterSnippets // endDefinition; + + +$bestDocumentationPrompt = StringTemplate[ "\ +Your task is to read a chat transcript between a user and assistant, and then select the most relevant \ +Wolfram Language documentation snippets that could help the assistant answer the user's latest message. \ +Each snippet is uniquely identified by a URI (always starts with 'paclet:' or 'https://resources.wolframcloud.com'). + +Choose up to 5 documentation snippets that would help answer the user's MOST RECENT message. \ +Respond only with the corresponding URIs of the snippets and nothing else. \ +If there are no relevant pages, respond with just the string \"none\". + +Here is the chat transcript: + + +%%Transcript%% + + +Here are the available documentation snippets to choose from: + + +%%Snippets%% + + +Reminder: Choose up to 5 documentation snippets that would help answer the user's MOST RECENT message. \ +Respond only with the corresponding URIs of the snippets and nothing else. \ +If there are no relevant pages, respond with just the string \"none\".\ +", Delimiters -> "%%" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*snippetXML*) +snippetXML // beginDefinition; +snippetXML[ snippet_String ] := "\n" <> snippet <> "\n"; +snippetXML // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Documentation Snippets*) @@ -148,7 +280,7 @@ getDocumentationSnippetData[ uris: { __String } ] := Enclose[ AllTrue @ MatchQ[ KeyValuePattern[ "String" -> _String ] ], "Result" ] - ], + ] // LogChatTiming[ "GetDocumentationSnippets" ], throwInternalFailure ]; diff --git a/Source/Chatbook/PromptGenerators/VectorDatabases.wl b/Source/Chatbook/PromptGenerators/VectorDatabases.wl index d30c1d34..edee01ec 100644 --- a/Source/Chatbook/PromptGenerators/VectorDatabases.wl +++ b/Source/Chatbook/PromptGenerators/VectorDatabases.wl @@ -24,9 +24,8 @@ $embeddingService = "OpenAI"; (* FIXME *) $embeddingModel = "text-embedding-3-small"; $embeddingAuthentication = Automatic; (* FIXME *) -$smallContextMessageCount = 3; -$smallContextStringLength = 8000; -$conversationVectorSearchPenalty = 16.0; + +$conversationVectorSearchPenalty = 1.0; $relatedQueryCount = 5; $relatedDocsCount = 20; @@ -146,7 +145,7 @@ downloadVectorDatabases[ dir0_, urls_Association ] := Enclose[ "Progress" -> Automatic |> ] - ], + ] // LogChatTiming[ "DownloadVectorDatabases" ], throwInternalFailure ]; @@ -164,9 +163,16 @@ getDownloadSize // endDefinition; (* ::Subsubsection::Closed:: *) (*unpackVectorDatabases*) unpackVectorDatabases // beginDefinition; -unpackVectorDatabases[ dir_? DirectoryQ ] := unpackVectorDatabases[ dir, FileNames[ "*.zip", dir ] ]; -unpackVectorDatabases[ dir_, zips: { __String } ] := unpackVectorDatabases[ dir, zips, unpackVectorDatabase /@ zips ]; -unpackVectorDatabases[ dir_, zips_, extracted: { { __String }.. } ] := dir; + +unpackVectorDatabases[ dir_? DirectoryQ ] := + unpackVectorDatabases[ dir, FileNames[ "*.zip", dir ] ] // LogChatTiming[ "UnpackVectorDatabases" ]; + +unpackVectorDatabases[ dir_, zips: { __String } ] := + unpackVectorDatabases[ dir, zips, unpackVectorDatabase /@ zips ]; + +unpackVectorDatabases[ dir_, zips_, extracted: { { __String }.. } ] := + dir; + unpackVectorDatabases // endDefinition; (* ::**************************************************************************************************************:: *) @@ -216,7 +222,7 @@ downloadVectorDatabase[ dir_, name_String, url_String ] := Enclose[ _TaskObject, "Task" ] - ], + ] // LogChatTiming[ { "DownloadVectorDatabase", name } ], throwInternalFailure ]; @@ -351,7 +357,7 @@ vectorDBSearch[ dbName_String, prompt_String, All ] := Enclose[ embeddingVector, { "Index", "Distance" }, MaxItems -> $maxNeighbors - ], + ] // LogChatTiming[ "VectorDatabaseSearch" ], { ___Association }, "PositionsAndDistances" ]; @@ -400,11 +406,19 @@ vectorDBSearch[ dbName_String, All, "Values" ] := Enclose[ throwInternalFailure ]; -vectorDBSearch[ dbName_String, messages: { __Association }, prop: "Values"|"Results" ] := Enclose[ - Catch @ Module[ { conversationString, lastMessageString, conversationResults, lastMessageResults, combined }, +vectorDBSearch[ dbName_String, messages0: { __Association }, prop: "Values"|"Results" ] := Enclose[ + Catch @ Module[ + { messages, conversationString, lastMessageString, conversationResults, lastMessageResults, combined }, + + messages = ConfirmMatch[ insertContextPrompt @ messages0, { __Association }, "Messages" ]; conversationString = ConfirmBy[ getSmallContextString @ messages, StringQ, "ConversationString" ]; - lastMessageString = ConfirmBy[ getSmallContextString @ { Last @ messages }, StringQ, "LastMessageString" ]; + + lastMessageString = ConfirmBy[ + getSmallContextString[ { Last @ messages }, "IncludeSystemMessage" -> True ], + StringQ, + "LastMessageString" + ]; If[ conversationString === "" || lastMessageString === "", Throw @ { } ]; @@ -440,6 +454,25 @@ vectorDBSearch[ dbName_String, messages: { __Association }, prop: "Values"|"Resu vectorDBSearch // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*insertContextPrompt*) +insertContextPrompt // beginDefinition; + +insertContextPrompt[ messages_ ] := + insertContextPrompt[ messages, $contextPrompt ]; + +insertContextPrompt[ { before___, last_Association }, prompt_String ] := { + before, + <| "Role" -> "User", "Content" -> prompt |>, + last +}; + +insertContextPrompt[ messages_List, other_ ] := + messages; + +insertContextPrompt // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*cacheVectorDBResult*) @@ -483,7 +516,7 @@ getEmbedding[ string_String ] := Enclose[ Developer`PackedArrayQ, "TinyVector" ] - ], + ] // LogChatTiming[ "GetEmbedding" ], throwInternalFailure ]; @@ -607,25 +640,7 @@ selectBestDocumentationPages[ messages_List, relatedDocs0: { __String } ] := Enc selectBestDocumentationPages // endDefinition; -$bestDocumentationPrompt = StringTemplate[ "\ -Your task is to read a chat transcript between a user and assistant, and then select the most relevant \ -Wolfram Language documentation snippets that could help the assistant answer the user's latest message. \ -Each snippet is uniquely identified by a URI (always starts with 'paclet:'). \ - -Here are the available documentation snippets to choose from: - -%%Snippets%% - ---- - -Here is the chat transcript: - -%%Transcript%% -Choose up to 5 documentation snippets that would help answer the user's MOST RECENT message. \ -Respond only with the corresponding URIs of the snippets and nothing else. \ -If there are no relevant pages, respond with just the string \"none\"\ -", Delimiters -> "%%" ]; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) @@ -642,28 +657,6 @@ stringReplaceSystemMessage[ stringReplaceSystemMessage // endDefinition; -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*getSmallContextString*) -getSmallContextString // beginDefinition; - -getSmallContextString[ messages0: { ___Association } ] := Enclose[ - Catch @ Module[ { messages, recent, strings, string }, - messages = ConfirmMatch[ makeChatTranscript @ messages0, { ___Association }, "Messages" ]; - If[ messages === { }, Throw[ "" ] ]; - recent = revertMultimodalContent @ Reverse @ Take[ Reverse @ messages, UpTo[ $smallContextMessageCount ] ]; - strings = ConfirmMatch[ recent[[ All, "Content" ]], { __String }, "Strings" ]; - string = StringRiffle[ strings, "\n\n" ]; - If[ StringLength @ string > $smallContextStringLength, - StringTake[ string, { -$smallContextStringLength, -1 } ], - string - ] - ], - throwInternalFailure -]; - -getSmallContextString // endDefinition; - (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Package Footer*) diff --git a/Source/Chatbook/SendChat.wl b/Source/Chatbook/SendChat.wl index 627d9d75..207d0c88 100644 --- a/Source/Chatbook/SendChat.wl +++ b/Source/Chatbook/SendChat.wl @@ -1164,7 +1164,7 @@ toolEvaluation[ settings_, container_Symbol, cell_, as_Association ] := Enclose[ newMessages = Join[ messages, { - <| "Role" -> "assistant", "Content" -> appendToolCallEndToken[ settings, StringTrim @ string ] |>, + <| "Role" -> "Assistant", "Content" -> appendToolCallEndToken[ settings, StringTrim @ string ] |>, makeToolResponseMessage[ settings, response ] } ]; diff --git a/Source/Chatbook/Settings.wl b/Source/Chatbook/Settings.wl index c6f65179..cc6c9b84 100644 --- a/Source/Chatbook/Settings.wl +++ b/Source/Chatbook/Settings.wl @@ -51,6 +51,7 @@ $defaultChatSettings = <| "PresencePenalty" -> 0.1, "ProcessingFunctions" :> $DefaultChatProcessingFunctions, "Prompts" -> { }, + "PromptGenerators" -> { }, "SetCellDingbat" -> True, "ShowMinimized" -> Automatic, "StreamingOutputMethod" -> Automatic, diff --git a/Source/Chatbook/Utils.wl b/Source/Chatbook/Utils.wl index b77f9544..f562c346 100644 --- a/Source/Chatbook/Utils.wl +++ b/Source/Chatbook/Utils.wl @@ -152,113 +152,6 @@ fastFileHash[ file_ ] := fastFileHash[ file, ReadByteArray @ file ]; fastFileHash[ file_, bytes_ByteArray ] := Hash @ bytes; fastFileHash // endDefinition; -(* ::**************************************************************************************************************:: *) -(* ::Section::Closed:: *) -(*Graphics*) -$$graphics = HoldPattern @ Alternatives[ - _System`AstroGraphics, - _GeoGraphics, - _Graphics, - _Graphics3D, - _Image, - _Image3D, - _Legended -]; - -$$definitelyNotGraphics = HoldPattern @ Alternatives[ - _Association, - _CloudObject, - _File, - _List, - _String, - _URL, - Null, - True|False -]; - -$$graphicsBoxIgnoredHead = HoldPattern @ Alternatives[ - BoxData, - Cell, - FormBox, - PaneBox, - StyleBox, - TagBox -]; - -$$graphicsBoxIgnoredTemplates = Alternatives[ - "Labeled", - "Legended" -]; - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*graphicsQ*) -graphicsQ[ $$graphics ] := True; -graphicsQ[ $$definitelyNotGraphics ] := False; -graphicsQ[ RawBoxes[ boxes_ ] ] := graphicsBoxQ @ Unevaluated @ boxes; -graphicsQ[ g_ ] := MatchQ[ Quiet @ Show @ Unevaluated @ g, $$graphics ]; -graphicsQ[ ___ ] := False; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*graphicsBoxQ*) -graphicsBoxQ[ _GraphicsBox|_Graphics3DBox ] := True; -graphicsBoxQ[ $$graphicsBoxIgnoredHead[ box_, ___ ] ] := graphicsBoxQ @ Unevaluated @ box; -graphicsBoxQ[ TemplateBox[ { box_, ___ }, $$graphicsBoxIgnoredTemplates, ___ ] ] := graphicsBoxQ @ Unevaluated @ box; -graphicsBoxQ[ RowBox[ boxes_List ] ] := AnyTrue[ boxes, graphicsBoxQ ]; -graphicsBoxQ[ TemplateBox[ boxes_List, "RowDefault", ___ ] ] := AnyTrue[ boxes, graphicsBoxQ ]; -graphicsBoxQ[ GridBox[ boxes_List, ___ ] ] := AnyTrue[ Flatten @ boxes, graphicsBoxQ ]; -graphicsBoxQ[ ___ ] := False; - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*validGraphicsQ*) -validGraphicsQ[ g_? graphicsQ ] := getPinkBoxErrors @ Unevaluated @ g === { }; -validGraphicsQ[ ___ ] := False; - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*getPinkBoxErrors*) -getPinkBoxErrors // beginDefinition; -(* TODO: hook this up to evaluator outputs and CellToString to give feedback about pink boxes *) - -getPinkBoxErrors[ { } ] := - { }; - -getPinkBoxErrors[ cells: _CellObject | { __CellObject } ] := - getPinkBoxErrors @ NotebookRead @ cells; - -getPinkBoxErrors[ cells: _Cell | { __Cell } ] := - Module[ { nbo }, - UsingFrontEnd @ WithCleanup[ - nbo = NotebookPut[ Notebook @ Flatten @ { cells }, Visible -> False ], - SelectionMove[ nbo, All, Notebook ]; - MathLink`CallFrontEnd @ FrontEnd`GetErrorsInSelectionPacket @ nbo, - NotebookClose @ nbo - ] - ]; - -getPinkBoxErrors[ data: _TextData | _BoxData | { __BoxData } ] := - getPinkBoxErrors @ Cell @ data; - -getPinkBoxErrors[ exprs_List ] := - getPinkBoxErrors[ Cell @* BoxData /@ MakeBoxes /@ Unevaluated @ exprs ]; - -getPinkBoxErrors[ expr_ ] := - getPinkBoxErrors @ { Cell @ BoxData @ MakeBoxes @ expr }; - -getPinkBoxErrors // endDefinition; - - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*image2DQ*) -(* Matches against the head in addition to checking ImageQ to avoid passing Image3D when a 2D image is expected: *) -image2DQ // beginDefinition; -image2DQ[ _Image? ImageQ ] := True; -image2DQ[ _ ] := False; -image2DQ // endDefinition; - (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*File Format Utilities*) From 17f3529dd723acf108dcafb1f55fb91ad8641041 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 28 Aug 2024 18:29:47 -0400 Subject: [PATCH 050/180] Fix for download progress indicator not displaying --- .../PromptGenerators/VectorDatabases.wl | 35 ++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/Source/Chatbook/PromptGenerators/VectorDatabases.wl b/Source/Chatbook/PromptGenerators/VectorDatabases.wl index edee01ec..8a11bb83 100644 --- a/Source/Chatbook/PromptGenerators/VectorDatabases.wl +++ b/Source/Chatbook/PromptGenerators/VectorDatabases.wl @@ -129,7 +129,7 @@ downloadVectorDatabases[ dir0_, urls_Association ] := Enclose[ $downloadProgress = AssociationMap[ 0 &, names ]; $progressText = "Downloading semantic search indices\[Ellipsis]"; - Progress`EvaluateWithProgress[ + evaluateWithProgress[ tasks = ConfirmMatch[ KeyValueMap[ downloadVectorDatabase @ dir, urls ], { __TaskObject }, "Download" ]; ConfirmMatch[ taskWait @ tasks, { __TaskObject }, "TaskWait" ]; @@ -151,6 +151,39 @@ downloadVectorDatabases[ dir0_, urls_Association ] := Enclose[ downloadVectorDatabases // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*evaluateWithProgress*) +(* This is a workaround for EvaluateWithProgress never printing a progress panel when called normally in a chat: *) +evaluateWithProgress // beginDefinition; +evaluateWithProgress // Attributes = { HoldFirst }; + +evaluateWithProgress[ args___ ] /; $Notebooks && $EvaluationEnvironment === "Session" := + Module[ { container, dialog }, + + container = ProgressIndicator[ Appearance -> "Percolate" ]; + + dialog = CreateDialog[ + Pane[ Dynamic @ container, ImageMargins -> { { 5, 5 }, { 10, 5 } } ], + WindowTitle -> Dynamic[ $progressText ] + ]; + + WithCleanup[ + Progress`EvaluateWithProgress[ + args, + "Container" :> container, + "Delay" -> 0 + ], + NotebookClose @ dialog; + Remove @ container; + ] + ]; + +evaluateWithProgress[ args___ ] := + Progress`EvaluateWithProgress @ args; + +evaluateWithProgress // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*getDownloadSize*) From c57bdca240367adfbe2b55eb49a995b545212f52 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 28 Aug 2024 18:30:17 -0400 Subject: [PATCH 051/180] Added tests for new `RelatedDocumentation` functionality --- Tests/RelatedDocumentation.wlt | 89 +++++++++++++++++++++++++++++++++- 1 file changed, 88 insertions(+), 1 deletion(-) diff --git a/Tests/RelatedDocumentation.wlt b/Tests/RelatedDocumentation.wlt index 5679b929..38d625da 100644 --- a/Tests/RelatedDocumentation.wlt +++ b/Tests/RelatedDocumentation.wlt @@ -84,4 +84,91 @@ VerificationTest[ { _String, _String, _String }, SameTest -> MatchQ, TestID -> "RelatedDocumentation-Snippets-Count@@Tests/RelatedDocumentation.wlt:82,1-87,2" -] \ No newline at end of file +] + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Prompt*) +VerificationTest[ + prompt = RelatedDocumentation[ + "What's the 123456789th prime?", + "Prompt", + "FilterResults" -> False, + "MaxItems" -> 20 + ], + _String, + SameTest -> MatchQ, + TestID -> "RelatedDocumentation-Prompt@@Tests/RelatedDocumentation.wlt:92,1-102,2" +] + +VerificationTest[ + StringCount[ prompt, "paclet:ref/Prime#" ], + _Integer? (GreaterThan[ 5 ]), + SameTest -> MatchQ, + TestID -> "RelatedDocumentation-Prompt-Count@@Tests/RelatedDocumentation.wlt:104,1-109,2" +] + +VerificationTest[ + prompt = RelatedDocumentation[ "What's the 123456789th prime?", "Prompt", "FilterResults" -> True ], + _String, + SameTest -> MatchQ, + TestID -> "RelatedDocumentation-Prompt-Filtered@@Tests/RelatedDocumentation.wlt:111,1-116,2" +] + +VerificationTest[ + StringCount[ prompt, "paclet:ref/Prime#" ], + _Integer? Positive, + SameTest -> MatchQ, + TestID -> "RelatedDocumentation-Prompt-Filtered-Count@@Tests/RelatedDocumentation.wlt:118,1-123,2" +] + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*Message Input*) +VerificationTest[ + prompt = RelatedDocumentation[ + { + <| "Role" -> "User" , "Content" -> "What's the 123456789th prime?" |>, + <| "Role" -> "Assistant", "Content" -> "```wl\nPrime[123456789]\n```" |>, + <| "Role" -> "User" , "Content" -> "What about the one after that?" |> + }, + "Prompt", + "FilterResults" -> False, + "MaxItems" -> 20 + ], + _String, + SameTest -> MatchQ, + TestID -> "RelatedDocumentation-Prompt-Messages@@Tests/RelatedDocumentation.wlt:128,1-142,2" +] + +VerificationTest[ + StringCount[ prompt, { "paclet:ref/Prime#", "paclet:ref/NextPrime#" } ], + _Integer? (GreaterThan[ 10 ]), + SameTest -> MatchQ, + TestID -> "RelatedDocumentation-Prompt-Messages-Count@@Tests/RelatedDocumentation.wlt:144,1-149,2" +] + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*Selection Prompt*) +VerificationTest[ + prompt = Block[ + { Wolfram`Chatbook`Common`$contextPrompt = "```wl\nIn[1]:= Prime[123456789]\nOut[1]= 2543568463\n```" }, + RelatedDocumentation[ + { <| "Role" -> "User", "Content" -> "What does this do?" |> }, + "Prompt", + "FilterResults" -> False, + "MaxItems" -> 20 + ] + ], + _String, + SameTest -> MatchQ, + TestID -> "RelatedDocumentation-Prompt-Selection@@Tests/RelatedDocumentation.wlt:154,1-167,2" +] + +VerificationTest[ + StringCount[ prompt, "paclet:ref/Prime#" ], + _Integer? (GreaterThan[ 5 ]), + SameTest -> MatchQ, + TestID -> "RelatedDocumentation-Prompt-Selection-Count@@Tests/RelatedDocumentation.wlt:169,1-174,2" +] From 44e3b23143cff3c4e89c0eb028c101d8565ffb81 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 28 Aug 2024 19:02:53 -0400 Subject: [PATCH 052/180] Remove tests that can't pass when running in GitHub actions --- Tests/RelatedDocumentation.wlt | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/Tests/RelatedDocumentation.wlt b/Tests/RelatedDocumentation.wlt index 38d625da..97cce44c 100644 --- a/Tests/RelatedDocumentation.wlt +++ b/Tests/RelatedDocumentation.wlt @@ -103,25 +103,11 @@ VerificationTest[ VerificationTest[ StringCount[ prompt, "paclet:ref/Prime#" ], - _Integer? (GreaterThan[ 5 ]), + _Integer? (GreaterThan[ 3 ]), SameTest -> MatchQ, TestID -> "RelatedDocumentation-Prompt-Count@@Tests/RelatedDocumentation.wlt:104,1-109,2" ] -VerificationTest[ - prompt = RelatedDocumentation[ "What's the 123456789th prime?", "Prompt", "FilterResults" -> True ], - _String, - SameTest -> MatchQ, - TestID -> "RelatedDocumentation-Prompt-Filtered@@Tests/RelatedDocumentation.wlt:111,1-116,2" -] - -VerificationTest[ - StringCount[ prompt, "paclet:ref/Prime#" ], - _Integer? Positive, - SameTest -> MatchQ, - TestID -> "RelatedDocumentation-Prompt-Filtered-Count@@Tests/RelatedDocumentation.wlt:118,1-123,2" -] - (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*Message Input*) @@ -138,14 +124,14 @@ VerificationTest[ ], _String, SameTest -> MatchQ, - TestID -> "RelatedDocumentation-Prompt-Messages@@Tests/RelatedDocumentation.wlt:128,1-142,2" + TestID -> "RelatedDocumentation-Prompt-Messages@@Tests/RelatedDocumentation.wlt:114,1-128,2" ] VerificationTest[ StringCount[ prompt, { "paclet:ref/Prime#", "paclet:ref/NextPrime#" } ], _Integer? (GreaterThan[ 10 ]), SameTest -> MatchQ, - TestID -> "RelatedDocumentation-Prompt-Messages-Count@@Tests/RelatedDocumentation.wlt:144,1-149,2" + TestID -> "RelatedDocumentation-Prompt-Messages-Count@@Tests/RelatedDocumentation.wlt:130,1-135,2" ] (* ::**************************************************************************************************************:: *) @@ -163,12 +149,12 @@ VerificationTest[ ], _String, SameTest -> MatchQ, - TestID -> "RelatedDocumentation-Prompt-Selection@@Tests/RelatedDocumentation.wlt:154,1-167,2" + TestID -> "RelatedDocumentation-Prompt-Selection@@Tests/RelatedDocumentation.wlt:140,1-153,2" ] VerificationTest[ StringCount[ prompt, "paclet:ref/Prime#" ], _Integer? (GreaterThan[ 5 ]), SameTest -> MatchQ, - TestID -> "RelatedDocumentation-Prompt-Selection-Count@@Tests/RelatedDocumentation.wlt:169,1-174,2" + TestID -> "RelatedDocumentation-Prompt-Selection-Count@@Tests/RelatedDocumentation.wlt:155,1-160,2" ] From 3428373dc55abf1dbf4066342ed127ca73f510cb Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 29 Aug 2024 09:25:20 -0400 Subject: [PATCH 053/180] Add close and popout buttons to inline code assistance --- Developer/StylesheetBuilder.wl | 13 ++-- Source/Chatbook/ChatModes/UI.wl | 131 +++++++++++++++++++++++++++----- 2 files changed, 121 insertions(+), 23 deletions(-) diff --git a/Developer/StylesheetBuilder.wl b/Developer/StylesheetBuilder.wl index 0cab1b7e..6b7496f3 100644 --- a/Developer/StylesheetBuilder.wl +++ b/Developer/StylesheetBuilder.wl @@ -101,11 +101,14 @@ $dropShadowConfig = <| $dropShadowPaneBox := $dropShadowPaneBox = With[ { img = createNinePatch @ $dropShadowConfig }, Function[ - PanelBox[ - #, - Appearance -> img, - ContentPadding -> False, - FrameMargins -> { { 0, 0 }, { 0, 0 } } + PaneBox[ + PanelBox[ + #, + Appearance -> img, + ContentPadding -> False, + FrameMargins -> { { 0, 0 }, { 0, 0 } } + ], + ImageMargins -> { { 40, 50 }, { 0, 0 } } ] ] ]; diff --git a/Source/Chatbook/ChatModes/UI.wl b/Source/Chatbook/ChatModes/UI.wl index 604dffd9..c9f8e468 100644 --- a/Source/Chatbook/ChatModes/UI.wl +++ b/Source/Chatbook/ChatModes/UI.wl @@ -13,7 +13,7 @@ Needs[ "Wolfram`Chatbook`ChatModes`Common`" ]; $inputFieldPaneMargins = 5; $inputFieldGridMagnification = 0.8; $inputFieldOuterBackground = GrayLevel[ 0.95 ]; -$initialInlineChatWidth = Scaled[ 0.5 ]; +$initialInlineChatWidth = Scaled[ 1 ]; $initialInlineChatHeight = UpTo[ 200 ]; $inputFieldOptions = Sequence[ @@ -184,9 +184,9 @@ attachInlineChatInput[ nbo_NotebookObject, settings_Association, { root_CellObje AttachCell[ NotebookSelection @ nbo, inlineChatInputCell[ root, selectionInfo, settings ], - { Left, Bottom }, + { "WindowCenter", Bottom }, 0, - { Left, Top }, + { Center, Top }, RemovalConditions -> { "EvaluatorQuit" } ], _CellObject, @@ -271,6 +271,7 @@ inlineChatInputCell[ root_CellObject, selectionInfo_, settings_ ] := Cell[ cell = EvaluationCell[ ]; parentCell[ cell ] = root; parentNotebook[ cell ] = parentNotebook @ root; + attachInlineChatButtons[ EvaluationCell[ ], Dynamic @ messageCells ] ), Deinitialization :> Quiet[ @@ -290,6 +291,110 @@ inlineChatInputCell[ root_CellObject, selectionInfo_, settings_ ] := Cell[ inlineChatInputCell // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*attachInlineChatButtons*) +attachInlineChatButtons // beginDefinition; + +attachInlineChatButtons[ cell_CellObject, messageCells_Dynamic ] := AttachCell[ + cell, + inlineChatButtonsCell[ cell, messageCells ], + { Right, Top }, + Offset[ { -57, -7 }, 0 ], + { Left, Top } +]; + +attachInlineChatButtons // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*inlineChatButtonsCell*) +inlineChatButtonsCell // beginDefinition; + +(* TODO: define a template box for this in the stylesheet *) +inlineChatButtonsCell[ cell_CellObject, messageCells_Dynamic ] := + Cell @ BoxData @ GridBox[ + { { closeButton @ cell }, { popOutButton[ cell, messageCells ] } }, + AutoDelete -> False, + GridBoxItemSize -> { "Columns" -> { { 0 } }, "Rows" -> { { 0 } } }, + GridBoxSpacings -> { "Columns" -> { { 0 } }, "Rows" -> { { 0 } } } + ]; + +inlineChatButtonsCell // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*closeButton*) +closeButton // beginDefinition; + +closeButton[ cell_CellObject ] := ToBoxes @ Button[ + RawBoxes @ FrameBox[ + GraphicsBox[ + { + GrayLevel[ 0.3 ], + AbsoluteThickness[ 1 ], + CapForm[ "Round" ], + LineBox @ { { { -1, -1 }, { 1, 1 } }, { { 1, -1 }, { -1, 1 } } } + }, + ImagePadding -> { { 0, 1 }, { 1, 0 } }, + ImageSize -> { 6, 6 }, + PlotRange -> 1 + ], + Alignment -> { Center, Center }, + Background -> GrayLevel[ 0.96 ], + ContentPadding -> False, + FrameMargins -> None, + FrameStyle -> GrayLevel[ 0.85 ], + ImageSize -> { 16, 16 }, + RoundingRadius -> 2, + StripOnInput -> False + ], + NotebookDelete @ cell, + Appearance -> "Suppressed", + Tooltip -> "Close" +]; + +closeButton // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*popOutButton*) +popOutButton // beginDefinition; + +popOutButton[ cell_CellObject, messageCells_Dynamic ] := ToBoxes @ Button[ + RawBoxes @ FrameBox[ + GraphicsBox[ + { + GrayLevel[ 0.3 ], + AbsoluteThickness[ 1 ], + CapForm[ "Round" ], + LineBox @ { + { { -0.4, 0.8 }, { -0.8, 0.8 }, { -0.8, -0.8 }, { 0.8, -0.8 }, { 0.8, -0.4 } }, + { { -0.1, -0.1 }, { 1, 1 } }, + { { 0.2, 1 }, { 1, 1 }, { 1, 0.2 } } + } + }, + ImagePadding -> { { 0, 1 }, { 1, 0 } }, + ImageSize -> { 10, 10 }, + PlotRange -> 1 + ], + Alignment -> { Center, Center }, + Background -> GrayLevel[ 0.96 ], + ContentPadding -> False, + FrameMargins -> None, + FrameStyle -> GrayLevel[ 0.85 ], + ImageSize -> { 16, 16 }, + RoundingRadius -> 2, + StripOnInput -> False + ], + NotebookDelete @ cell; + popOutWorkspaceChatNB @ messageCells, + Appearance -> "Suppressed", + Tooltip -> "View in Code Assistance Chat" +]; + +popOutButton // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*displayInlineChat*) @@ -340,20 +445,6 @@ inlineChatInputField[ RawBoxes @ inlineTemplateBox @ TemplateBox[ { RGBColor[ "#a3c9f2" ], RGBColor[ "#f1f7fd" ], 27 }, "SendChatButton" - ], - Style[ - ActionMenu[ - "More", - { - "Close" :> NotebookDelete @ EvaluationCell[ ], - "View in Chat" :> ( - NotebookDelete @ EvaluationCell[ ]; - popOutWorkspaceChatNB @ messageCells - ) - }, - ImageSize -> { Automatic, 25 } - ], - Magnification -> 1 ] } }, @@ -401,7 +492,7 @@ moveToInlineChatInputField // endDefinition; displayInlineChatMessages // beginDefinition; displayInlineChatMessages[ { }, inputField_ ] := - Pane[ inputField, ImageSize -> { Scaled[ 0.5 ], Automatic } ]; + Pane[ inputField, ImageSize -> { $initialInlineChatWidth, Automatic } ]; displayInlineChatMessages[ cells: { __Cell }, inputField_ ] := DynamicModule[ { w, h, size }, @@ -415,6 +506,7 @@ displayInlineChatMessages[ cells: { __Cell }, inputField_ ] := { Pane[ Column[ + (* FIXME: code blocks don't show syntax styles or string characters *) formatInlineMessageCells /@ cells, Alignment -> Left, BaseStyle -> { Magnification -> 0.8 }, @@ -597,6 +689,9 @@ userImage // endDefinition; (*popOutWorkspaceChatNB*) popOutWorkspaceChatNB // beginDefinition; +popOutWorkspaceChatNB[ Dynamic[ cells_ ] ] := + popOutWorkspaceChatNB @ cells; + popOutWorkspaceChatNB[ cells: { ___Cell } ] := Enclose[ Module[ { nbo }, NotebookClose @ findCurrentWorkspaceChat[ ]; From cef73ea2445c2c3f2f435114e0a6916b4ca544d9 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 29 Aug 2024 09:26:38 -0400 Subject: [PATCH 054/180] Defined a style for an initial splash image in code assistance chat --- Developer/Resources/WorkspaceStyles.wl | 56 ++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/Developer/Resources/WorkspaceStyles.wl b/Developer/Resources/WorkspaceStyles.wl index e1f6a546..f56b6bb2 100644 --- a/Developer/Resources/WorkspaceStyles.wl +++ b/Developer/Resources/WorkspaceStyles.wl @@ -121,6 +121,16 @@ Cell[ ) ] +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*CodeAssistanceWelcomeCell*) +Cell[ + StyleData[ "CodeAssistanceWelcomeCell" ], + CellMargins -> { { 10, 10 }, { 30, 10 } }, + ShowStringCharacters -> False, + TaggingRules -> <| "ChatNotebookSettings" -> <| "ExcludeFromChat" -> True |> |> +] + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Template Boxes*) @@ -159,6 +169,52 @@ Cell[ } ] +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*WelcomeToCodeAssistanceSplash*) +Cell[ + StyleData[ "WelcomeToCodeAssistanceSplash" ], + TemplateBoxOptions -> { + DisplayFunction -> Function @ Evaluate @ ToBoxes @ Framed[ + Pane[ + Grid[ + { + { Magnify[ RawBoxes @ TemplateBox[ { }, "ChatIconCodeAssistant" ], 5 ] }, + { + Style[ + "Welcome to Code Assistance Chat", + FontWeight -> Bold, + FontSize -> 17, + FontColor -> GrayLevel[ 0.25 ] + ] + }, + { "Ask me anything using the input field below." }, + { + Button[ + "View Tutorial \[RightGuillemet]", + MessageDialog[ "Not implemented yet." ], + Appearance -> None, + BaseStyle -> { "Link" } + ] + } + }, + BaseStyle -> { "Text", FontSize -> 13, FontColor -> GrayLevel[ 0.5 ], LineBreakWithin -> False }, + Spacings -> { 1, { 0, 1.25, 1.25, 0.75 } } + ], + Alignment -> { Center, Automatic }, + ImageSize -> { Scaled[ 1 ], Automatic }, + ImageSizeAction -> "ShrinkToFit" + ], + Alignment -> { Center, Automatic }, + Background -> RGBColor[ "#fcfdff" ], + FrameMargins -> { { 10, 10 }, { 10, 10 } }, + FrameStyle -> RGBColor[ "#ecf0f5" ], + ImageSize -> { Automatic, Automatic }, + RoundingRadius -> 10 + ] + } +] + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Package Footer*) From 120cd7a963500fcc4623982c11003d1cfac169e2 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 29 Aug 2024 09:26:54 -0400 Subject: [PATCH 055/180] Rebuilt stylesheets --- Assets/DisplayFunctions.wxf | Bin 539043 -> 539108 bytes FrontEnd/StyleSheets/Chatbook.nb | 31 ++++---- FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb | 73 +++++++++++++++++- 3 files changed, 89 insertions(+), 15 deletions(-) diff --git a/Assets/DisplayFunctions.wxf b/Assets/DisplayFunctions.wxf index 79c8dcbe2474d6298a346b0d62bcd35134b92965..aacf1a8ba3ebbe522991168cb254bd5ded7385b6 100644 GIT binary patch delta 66 zcmV-I0KNaC^C0B&Ab^AcgaU*Egam{Iga(8Mv Y2F7M2#)7Pc1lEgZXf8CfP5a#>9-;ntj7z{5UWQj9}$asxNZ Q_BcL{eva+R;v5H+0DUhKzW@LL diff --git a/FrontEnd/StyleSheets/Chatbook.nb b/FrontEnd/StyleSheets/Chatbook.nb index 8c75206f..7b85f382 100644 --- a/FrontEnd/StyleSheets/Chatbook.nb +++ b/FrontEnd/StyleSheets/Chatbook.nb @@ -828,7 +828,7 @@ Notebook[ ], Cell[ StyleData["ChatStyleSheetInformation"], - TaggingRules -> <|"StyleSheetVersion" -> "1.5.1.3933230601"|> + TaggingRules -> <|"StyleSheetVersion" -> "1.5.1.3933912045"|> ], Cell[ StyleData["Text"], @@ -17647,20 +17647,23 @@ Notebook[ TemplateBoxOptions -> { DisplayFunction -> (Function[ - PanelBox[ - #1, - Appearance -> - Image[ - CompressedData[ - "\n1:eJy9lU1LAlEUhqdxdIYYQ5gkwQFNXLiQlkMhLqJVIQhGCK7UUmljoEG0m7/p\n3/AP2HvlvXK6STnFNPB4mcM5z5x7nI/z8UtvaluWtfTw0xu9XS8Wo/f7Ak4e\n5svn2XzydDt/ncwmi8txBsEz4oBNgiNh+vaI49gSHBGbZICzh4zI0TU7zx63\n9KraLMgBF3gCl/GsuMYnv+GWToe1ynMMfJAX+Ix7zHOMa0i3vqb2uqxVngII\nQFEQMJ5nniv8W5fhtg3vCR0lEIIKqHINGQ+YJ/224dazyAnvKSiDGmiAJrjg\n2mC8zDztz+nZGO4s55dnP6quTl8EWqDNNWK8zryAdR490i17LnC/NdZfgZvV\narXRqHPGL5hXYt2ud/08iDn77CHkviN6usq5Xq+1u8t4xLyQdb6eu37O6Nbz\nKPL/anL/d6Bv9N1nvMW8Cuv0XBwxE9Nd5X7VfDtgAB7BlOuA8TbzqgncX/oG\nQ3qHv+j723nTN+D647yT3Cfss8P1oPvkH+7vNJ/LNN8nab4HrTi997cVp/vd\n2ef/8/fy0CPpd/4Dbscq/g==\n " + PaneBox[ + PanelBox[ + #1, + Appearance -> + Image[ + CompressedData[ + "\n1:eJy9lU1LAlEUhqdxdIYYQ5gkwQFNXLiQlkMhLqJVIQhGCK7UUmljoEG0m7/p\n3/AP2HvlvXK6STnFNPB4mcM5z5x7nI/z8UtvaluWtfTw0xu9XS8Wo/f7Ak4e\n5svn2XzydDt/ncwmi8txBsEz4oBNgiNh+vaI49gSHBGbZICzh4zI0TU7zx63\n9KraLMgBF3gCl/GsuMYnv+GWToe1ynMMfJAX+Ix7zHOMa0i3vqb2uqxVngII\nQFEQMJ5nniv8W5fhtg3vCR0lEIIKqHINGQ+YJ/224dazyAnvKSiDGmiAJrjg\n2mC8zDztz+nZGO4s55dnP6quTl8EWqDNNWK8zryAdR490i17LnC/NdZfgZvV\narXRqHPGL5hXYt2ud/08iDn77CHkviN6usq5Xq+1u8t4xLyQdb6eu37O6Nbz\nKPL/anL/d6Bv9N1nvMW8Cuv0XBwxE9Nd5X7VfDtgAB7BlOuA8TbzqgncX/oG\nQ3qHv+j723nTN+D647yT3Cfss8P1oPvkH+7vNJ/LNN8nab4HrTi997cVp/vd\n2ef/8/fy0CPpd/4Dbscq/g==\n " + ], + "Byte", + ColorSpace -> "RGB", + ImageResolution -> 72, + Interleaving -> True ], - "Byte", - ColorSpace -> "RGB", - ImageResolution -> 72, - Interleaving -> True - ], - ContentPadding -> False, - FrameMargins -> {{0, 0}, {0, 0}} + ContentPadding -> False, + FrameMargins -> {{0, 0}, {0, 0}} + ], + ImageMargins -> {{40, 50}, {0, 0}} ] ]) } diff --git a/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb b/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb index 309d6869..1c01e99a 100644 --- a/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb +++ b/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb @@ -60,7 +60,7 @@ Notebook[ ], Cell[ StyleData["WorkspaceChatStyleSheetInformation"], - TaggingRules -> <|"WorkspaceChatStyleSheetVersion" -> "1.5.1.3933230601"|> + TaggingRules -> <|"WorkspaceChatStyleSheetVersion" -> "1.5.1.3933912045"|> ], Cell[ StyleData["ChatInput"], @@ -149,6 +149,12 @@ Notebook[ True ];) ], + Cell[ + StyleData["CodeAssistanceWelcomeCell"], + CellMargins -> {{10, 10}, {30, 10}}, + TaggingRules -> <|"ChatNotebookSettings" -> <|"ExcludeFromChat" -> True|>|>, + ShowStringCharacters -> False + ], Cell[ StyleData["WorkspaceSendChatButton"], TemplateBoxOptions -> { @@ -197,6 +203,71 @@ Notebook[ ] ]) } + ], + Cell[ + StyleData["WelcomeToCodeAssistanceSplash"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + FrameBox[ + PaneBox[ + TagBox[ + GridBox[ + { + { + StyleBox[ + TemplateBox[{}, "ChatIconCodeAssistant"], + Magnification -> 5 * Inherited, + StripOnInput -> False + ] + }, + { + StyleBox[ + "\"Welcome to Code Assistance Chat\"", + FontWeight -> Bold, + FontSize -> 17, + FontColor -> GrayLevel[0.25], + StripOnInput -> False + ] + }, + {"\"Ask me anything using the input field below.\""}, + { + ButtonBox[ + "\"View Tutorial \[RightGuillemet]\"", + ButtonFunction :> MessageDialog["Not implemented yet."], + Appearance -> None, + BaseStyle -> {"Link"}, + Evaluator -> Automatic, + Method -> "Preemptive" + ] + } + }, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{1}}, "Rows" -> {0, 1.25, 1.25, 0.75}}, + BaseStyle -> { + "Text", + FontSize -> 13, + FontColor -> GrayLevel[0.5], + LineBreakWithin -> False + } + ], + "Grid" + ], + Alignment -> {Center, Automatic}, + ImageSize -> {Scaled[1], Automatic}, + ImageSizeAction -> "ShrinkToFit" + ], + Alignment -> {Center, Automatic}, + Background -> RGBColor[0.988235, 0.992157, 1.0], + FrameMargins -> {{10, 10}, {10, 10}}, + FrameStyle -> RGBColor[0.92549, 0.941176, 0.960784], + ImageSize -> {Automatic, Automatic}, + RoundingRadius -> 10, + StripOnInput -> False + ] + ]) + } ] }, StyleDefinitions -> "PrivateStylesheetFormatting.nb" From 48d48a0da38267a01674167afce23cc64ccc0e71 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 29 Aug 2024 18:27:14 -0400 Subject: [PATCH 056/180] NotebookEditor Tool * Added WIP version of a NotebookEditor tool * Serialization now has different behavior when serializing context from other notebooks * XML syntax is used to identify cells * Improved related documentation RAG by injecting current selection text * Fixed some simple tool call syntax issues * Fixed a few internal failures --- Source/Chatbook/Actions.wl | 3 + Source/Chatbook/ChatHistory.wl | 2 +- Source/Chatbook/ChatModes/Context.wl | 62 +++++- .../Chatbook/ChatModes/ShowCodeAssistance.wl | 2 +- Source/Chatbook/ChatModes/UI.wl | 2 + Source/Chatbook/ChatState.wl | 1 + Source/Chatbook/CommonSymbols.wl | 5 + Source/Chatbook/FrontEnd.wl | 71 +++++- .../PromptGenerators/EmbeddingContext.wl | 5 +- .../PromptGenerators/RelatedDocumentation.wl | 11 +- .../PromptGenerators/VectorDatabases.wl | 63 +++++- Source/Chatbook/Prompting.wl | 2 + Source/Chatbook/Serialization.wl | 97 +++++++- Source/Chatbook/Tools/Common.wl | 10 +- Source/Chatbook/Tools/DefaultTools.wl | 207 +++++++++++++++++- 15 files changed, 513 insertions(+), 30 deletions(-) diff --git a/Source/Chatbook/Actions.wl b/Source/Chatbook/Actions.wl index 1b68d2b4..b460bdf7 100644 --- a/Source/Chatbook/Actions.wl +++ b/Source/Chatbook/Actions.wl @@ -533,6 +533,9 @@ ensureChatOutputCell[ cell_, new_CellObject? chatInputCellQ ] := ensureChatOutputCell[ cell_, None ] := None; +ensureChatOutputCell[ _, _ ] := + None; + ensureChatOutputCell // endDefinition; (* ::**************************************************************************************************************:: *) diff --git a/Source/Chatbook/ChatHistory.wl b/Source/Chatbook/ChatHistory.wl index 68c14103..9a0ba8f4 100644 --- a/Source/Chatbook/ChatHistory.wl +++ b/Source/Chatbook/ChatHistory.wl @@ -84,7 +84,7 @@ selectProperties // endDefinition; (*getCellExpressions*) getCellExpressions // beginDefinition; getCellExpressions[ KeyValuePattern[ "CellObjects" -> cells_ ] ] := getCellExpressions @ cells; -getCellExpressions[ cells: { ___CellObject } ] := NotebookRead @ cells; +getCellExpressions[ cells: { ___CellObject } ] := notebookRead @ cells; getCellExpressions // endDefinition; (* ::**************************************************************************************************************:: *) diff --git a/Source/Chatbook/ChatModes/Context.wl b/Source/Chatbook/ChatModes/Context.wl index 6dd86ca3..cf1d03a4 100644 --- a/Source/Chatbook/ChatModes/Context.wl +++ b/Source/Chatbook/ChatModes/Context.wl @@ -60,7 +60,7 @@ getInlineChatPrompt0[ cell_CellObject, { before___CellObject, cell_, after___CellObject } ] := - Block[ { $selectionInfo = info }, + Block[ { $selectionInfo = info, $includeCellXML = TrueQ @ $notebookEditorEnabled }, getContextFromSelection0[ <| "Before" -> { before }, @@ -80,7 +80,9 @@ getWorkspacePrompt // beginDefinition; getWorkspacePrompt[ settings_Association ] := If[ TrueQ @ $WorkspaceChat, - getContextFromSelection[ $evaluationNotebook, settings ], + Block[ { $includeCellXML = TrueQ @ $notebookEditorEnabled }, + getContextFromSelection[ $evaluationNotebook, settings ] + ], None ]; @@ -133,7 +135,14 @@ getContextFromSelection0[ selectionData_Association, settings_ ] := Enclose[ marked = ConfirmMatch[ insertSelectionIndicator @ { before, selected, after }, { ___Cell }, "Marked" ]; messages = ConfirmMatch[ makeChatMessages[ settings, marked, False ], { ___Association }, "Messages" ]; string = ConfirmBy[ messagesToString @ messages, StringQ, "String" ]; - $contextPrompt = string; + + $contextPrompt = processContextPromptString @ string; + $selectionPrompt = extractSelectionPrompt @ string; + + $lastContextPrompt = $contextPrompt; + $lastSelectionPrompt = $selectionPrompt; + + (* FIXME: pass $selectionPrompt instead of extracting again: *) postProcessNotebookContextString[ applyNotebookContextTemplate @ string, string ] ], throwInternalFailure @@ -141,6 +150,53 @@ getContextFromSelection0[ selectionData_Association, settings_ ] := Enclose[ getContextFromSelection0 // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*extractSelectionPrompt*) +extractSelectionPrompt // beginDefinition; + +extractSelectionPrompt[ prompt_String ] := Enclose[ + Catch @ Module[ { selections, selected }, + selections = StringCases[ prompt, $leftSelectionIndicator ~~ s___ ~~ $rightSelectionIndicator :> s, 1 ]; + If[ selections === { }, Throw @ None ]; + selected = StringTrim @ ConfirmBy[ First @ selections, StringQ, "Selected" ]; + If[ selected === "", Throw @ None, selected ] + ], + throwInternalFailure +]; + +extractSelectionPrompt // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*processContextPromptString*) +processContextPromptString // beginDefinition; + +processContextPromptString[ prompt_String ] := Enclose[ + Module[ { noXML, noSelection }, + noXML = ConfirmBy[ stripCellXML @ prompt, StringQ, "NoXML" ]; + noSelection = ConfirmBy[ (*stripSelectionIndicators @*) noXML, StringQ, "NoSelection" ]; + ConfirmBy[ mergeCodeBlocks @ noSelection, StringQ, "Merged" ] + ], + throwInternalFailure +]; + +processContextPromptString // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*stripCellXML*) +stripCellXML // beginDefinition; +stripCellXML[ prompt_String ] := StringDelete[ prompt, { "\n", "\n" } ]; +stripCellXML // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*stripSelectionIndicators*) +stripSelectionIndicators // beginDefinition; +stripSelectionIndicators[ s_String ] := StringDelete[ s, { $leftSelectionIndicator, $rightSelectionIndicator } ]; +stripSelectionIndicators // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*messagesToString*) diff --git a/Source/Chatbook/ChatModes/ShowCodeAssistance.wl b/Source/Chatbook/ChatModes/ShowCodeAssistance.wl index f06fb773..2d94ac51 100644 --- a/Source/Chatbook/ChatModes/ShowCodeAssistance.wl +++ b/Source/Chatbook/ChatModes/ShowCodeAssistance.wl @@ -15,7 +15,7 @@ $workspaceChatWidth = 325; $codeAssistanceSettings = <| "ServiceCaller" -> "CodeAssistance", "PromptGenerators" -> { "RelatedDocumentation" }, - "Tools" -> { "WolframLanguageEvaluator" }, + "Tools" -> { "NotebookEditor" }, "ToolSelectionType" -> <| "DocumentationLookup" -> None, "DocumentationSearcher" -> None |> |>; diff --git a/Source/Chatbook/ChatModes/UI.wl b/Source/Chatbook/ChatModes/UI.wl index c9f8e468..3609ece6 100644 --- a/Source/Chatbook/ChatModes/UI.wl +++ b/Source/Chatbook/ChatModes/UI.wl @@ -484,6 +484,8 @@ moveToInlineChatInputField[ box_BoxObject ] := Quiet @ Catch[ _ ]; +moveToInlineChatInputField[ None ] := Null; + moveToInlineChatInputField // endDefinition; (* ::**************************************************************************************************************:: *) diff --git a/Source/Chatbook/ChatState.wl b/Source/Chatbook/ChatState.wl index e0e30808..c79cd088 100644 --- a/Source/Chatbook/ChatState.wl +++ b/Source/Chatbook/ChatState.wl @@ -27,6 +27,7 @@ withChatState[ eval_ ] := $WorkspaceChat = False, withChatState = # &, $contextPrompt = None, + $selectionPrompt = None, (* Values used for token budgets during cell serialization: *) $cellStringBudget = $cellStringBudget, diff --git a/Source/Chatbook/CommonSymbols.wl b/Source/Chatbook/CommonSymbols.wl index fd117cab..cfaf6b8e 100644 --- a/Source/Chatbook/CommonSymbols.wl +++ b/Source/Chatbook/CommonSymbols.wl @@ -43,6 +43,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `$evaluationNotebook; `$finalCell; `$fullBasePrompt; +`$includeCellXML; `$inDialog; `$inEpilog; `$initialCellStringBudget; @@ -56,11 +57,13 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `$longNameCharacters; `$multimodalMessages; `$nextTaskEvaluation; +`$notebookEditorEnabled; `$preferencesScope; `$resultCellCache; `$rightSelectionIndicator; `$sandboxKernelCommandLine; `$selectedTools; +`$selectionPrompt; `$serviceCache; `$serviceCaller; `$servicesLoaded; @@ -97,6 +100,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `cellOpenQ; `cellPrint; `cellPrintAfter; +`cellReference; `cellStyles; `channelCleanup; `chatExcludedQ; @@ -194,6 +198,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `makeWorkspaceChatDockedCell; `menuMagnification; `mergeChatSettings; +`mergeCodeBlocks; `modelDisplayName; `modelListCachedQ; `modifierTemplateBoxes; diff --git a/Source/Chatbook/FrontEnd.wl b/Source/Chatbook/FrontEnd.wl index 19edd8a7..dab4ceba 100644 --- a/Source/Chatbook/FrontEnd.wl +++ b/Source/Chatbook/FrontEnd.wl @@ -761,6 +761,54 @@ $cloudCellFixes := $cloudCellFixes = Dispatch @ { StyleBox[ a_ ] :> a }; +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*cellReference*) +cellReference // beginDefinition; +cellReference[ cell_CellObject ] := Lookup[ $cellReferences, cell, createCellReference @ cell ]; +cellReference[ ref_String ] := Lookup[ $cellReferences, ref , findCellReference @ ref ]; +cellReference // endDefinition; + +$cellReferences = <| |>; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*createCellReference*) +createCellReference // beginDefinition; + +createCellReference[ cell_CellObject ] := + With[ { ref = tinyHash @ cell }, + $cellReferences[ cell ] = ref; + $cellReferences[ ref ] = cell; + ref + ]; + +createCellReference // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*findCellReference*) +findCellReference // beginDefinition; +findCellReference[ ref_String ] := Catch[ findNotebookCell[ ref ] /@ Notebooks[ ]; Missing[ "NotFound" ], $ref ]; +findCellReference // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*findNotebookCell*) +findNotebookCell // beginDefinition; +findNotebookCell[ ref_ ] := findNotebookCell[ ref, # ] &; +findNotebookCell[ ref_, nbo_ ] := checkCellReference[ ref ] /@ Cells @ nbo; +findNotebookCell // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*checkCellReference*) +checkCellReference // beginDefinition; +checkCellReference[ ref_ ] := checkCellReference[ ref, # ] &; +checkCellReference[ ref_, cell_CellObject ] := With[ { r = cellReference @ cell }, Throw[ cell, $ref ] /; ref === r ]; +checkCellReference[ _, _ ] := Null; +checkCellReference // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Notebooks*) @@ -824,17 +872,34 @@ tryInlineChatParent // endDefinition; (*notebookRead*) notebookRead // beginDefinition; notebookRead[ cells_ ] /; $cloudNotebooks := cloudNotebookRead @ cells; -notebookRead[ cells_ ] := NotebookRead @ cells; +notebookRead[ cells_ ] := notebookReadWithCellObjects @ cells; notebookRead // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*cloudNotebookRead*) cloudNotebookRead // beginDefinition; -cloudNotebookRead[ cells: { ___CellObject } ] := NotebookRead /@ cells; -cloudNotebookRead[ cell_ ] := NotebookRead @ cell; +cloudNotebookRead[ cells: { ___CellObject } ] := notebookReadWithCellObjects /@ cells; +cloudNotebookRead[ cell_ ] := notebookReadWithCellObjects @ cell; cloudNotebookRead // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*notebookReadWithCellObjects*) +notebookReadWithCellObjects // beginDefinition; +notebookReadWithCellObjects[ cell_CellObject ] := appendCellObject[ NotebookRead @ cell, cell ]; +notebookReadWithCellObjects[ cells: { ___CellObject } ] := appendCellObject[ NotebookRead @ cells, cells ]; +notebookReadWithCellObjects[ other_ ] := NotebookRead @ other; +notebookReadWithCellObjects // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*appendCellObject*) +appendCellObject // beginDefinition; +appendCellObject[ Cell[ a___ ], obj_CellObject ] := Cell[ a, CellObject -> obj ]; +appendCellObject[ cells: { ___Cell }, objs: { ___CellObject } ] := MapThread[ appendCellObject, { cells, objs } ]; +appendCellObject // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Boxes*) diff --git a/Source/Chatbook/PromptGenerators/EmbeddingContext.wl b/Source/Chatbook/PromptGenerators/EmbeddingContext.wl index ea313e09..33e6e137 100644 --- a/Source/Chatbook/PromptGenerators/EmbeddingContext.wl +++ b/Source/Chatbook/PromptGenerators/EmbeddingContext.wl @@ -87,7 +87,10 @@ makeChatTranscript[ { messages__ }, result_String, opts: OptionsPattern[ ] ] := makeChatTranscript[ messages_List, opts: OptionsPattern[ ] ] := If[ TrueQ @ OptionValue[ "IncludeSystemMessage" ], revertMultimodalContent @ messages, - revertMultimodalContent @ DeleteCases[ messages, KeyValuePattern[ "Role"|"role" -> "System"|"system" ] ] + revertMultimodalContent @ Replace[ + messages, + { KeyValuePattern[ "Role"|"role" -> "System"|"system" ], rest___ } :> { rest } + ] ]; makeChatTranscript // endDefinition; diff --git a/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl b/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl index de3f45ba..3941d072 100644 --- a/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl +++ b/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl @@ -145,7 +145,11 @@ relatedDocumentationPrompt[ messages: $$chatMessages, count_, filter_ ] := Enclo filtered = ConfirmMatch[ filterSnippets[ messages, uris, filter ], { ___String }, "Filtered" ]; string = StringTrim @ StringRiffle[ "# "<># & /@ DeleteCases[ filtered, "" ], "\n\n======\n\n" ]; - $relatedDocsStringHeader <> string + + If[ string === "", + "", + $relatedDocsStringHeader <> string + ] ], throwInternalFailure ]; @@ -164,12 +168,13 @@ Here are some Wolfram documentation snippets that might be helpful: filterSnippets // beginDefinition; filterSnippets[ messages_, uris: { __String }, filter_ ] := Enclose[ - Catch @ Module[ { snippets, transcript, xml, instructions, response, pages }, + Catch @ Module[ { snippets, inserted, transcript, xml, instructions, response, pages }, snippets = ConfirmMatch[ makeDocSnippets @ uris, { ___String }, "Snippets" ]; If[ ! TrueQ @ filter, Throw @ snippets ]; - transcript = ConfirmBy[ getSmallContextString @ insertContextPrompt @ messages, StringQ, "Transcript" ]; + inserted = insertContextPrompt @ messages; + transcript = ConfirmBy[ getSmallContextString @ inserted, StringQ, "Transcript" ]; xml = ConfirmMatch[ snippetXML /@ snippets, { __String }, "XML" ]; instructions = ConfirmBy[ diff --git a/Source/Chatbook/PromptGenerators/VectorDatabases.wl b/Source/Chatbook/PromptGenerators/VectorDatabases.wl index 8a11bb83..35f9a323 100644 --- a/Source/Chatbook/PromptGenerators/VectorDatabases.wl +++ b/Source/Chatbook/PromptGenerators/VectorDatabases.wl @@ -441,7 +441,14 @@ vectorDBSearch[ dbName_String, All, "Values" ] := Enclose[ vectorDBSearch[ dbName_String, messages0: { __Association }, prop: "Values"|"Results" ] := Enclose[ Catch @ Module[ - { messages, conversationString, lastMessageString, conversationResults, lastMessageResults, combined }, + { + messages, + conversationString, lastMessageString, selectionString, + conversationResults, lastMessageResults, selectionResults, + combined, n, merged + }, + + (* TODO: asynchronously pre-cache embeddings for each type *) messages = ConfirmMatch[ insertContextPrompt @ messages0, { __Association }, "Messages" ]; @@ -453,8 +460,12 @@ vectorDBSearch[ dbName_String, messages0: { __Association }, prop: "Values"|"Res "LastMessageString" ]; + selectionString = If[ StringQ @ $selectionPrompt, $selectionPrompt, None ]; + If[ conversationString === "" || lastMessageString === "", Throw @ { } ]; + preloadEmbeddings @ { conversationString, lastMessageString, selectionString }; + conversationResults = ConfirmMatch[ MapAt[ # + $conversationVectorSearchPenalty &, @@ -475,11 +486,32 @@ vectorDBSearch[ dbName_String, messages0: { __Association }, prop: "Values"|"Res ] ]; - combined = SortBy[ Join[ conversationResults, lastMessageResults ], Lookup[ "Distance" ] ]; + selectionResults = + If[ StringQ @ selectionString, + ConfirmMatch[ + vectorDBSearch[ dbName, selectionString, "Results" ], + { KeyValuePattern[ { "Distance" -> _Real, "Value" -> _ } ]... }, + "SelectionResults" + ], + { } + ]; + + combined = SortBy[ Join[ conversationResults, lastMessageResults, selectionResults ], Lookup[ "Distance" ] ]; + + n = Ceiling[ $maxNeighbors / 10 ]; + merged = Take[ + DeleteDuplicates @ Join[ + Take[ conversationResults, UpTo[ n ] ], + Take[ lastMessageResults , UpTo[ n ] ], + Take[ selectionResults , UpTo[ n ] ], + combined + ], + UpTo[ $maxNeighbors ] + ]; If[ prop === "Results", - combined, - DeleteDuplicates[ Lookup[ "Value" ] /@ combined ] + merged, + DeleteDuplicates[ Lookup[ "Value" ] /@ merged ] ] ], throwInternalFailure @@ -487,21 +519,36 @@ vectorDBSearch[ dbName_String, messages0: { __Association }, prop: "Values"|"Res vectorDBSearch // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*preloadEmbeddings*) +preloadEmbeddings // beginDefinition; +(* FIXME: find a way to asynchronously fetch embeddings (ServiceSubmit isn't working) *) +preloadEmbeddings[ strings: { (_String|None)... } ] := Null; +preloadEmbeddings // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*insertContextPrompt*) insertContextPrompt // beginDefinition; insertContextPrompt[ messages_ ] := - insertContextPrompt[ messages, $contextPrompt ]; + insertContextPrompt[ messages, $contextPrompt, $selectionPrompt ]; + +insertContextPrompt[ { before___, last_Association }, context_String, selection_String ] := { + before, + <| "Role" -> "User" , "Content" -> context |>, + <| "Role" -> "System", "Content" -> "User's currently selected text: \""<>selection<>"\"" |>, + last +}; -insertContextPrompt[ { before___, last_Association }, prompt_String ] := { +insertContextPrompt[ { before___, last_Association }, context_String, _ ] := { before, - <| "Role" -> "User", "Content" -> prompt |>, + <| "Role" -> "User", "Content" -> context |>, last }; -insertContextPrompt[ messages_List, other_ ] := +insertContextPrompt[ messages_List, _, _ ] := messages; insertContextPrompt // endDefinition; diff --git a/Source/Chatbook/Prompting.wl b/Source/Chatbook/Prompting.wl index 78ad36fa..37eae713 100644 --- a/Source/Chatbook/Prompting.wl +++ b/Source/Chatbook/Prompting.wl @@ -245,6 +245,8 @@ $basePromptComponents[ "WolframLanguageStyle" ] = " * Keep code simple when possible * Use functional programming instead of procedural * Do not assign global variables when it's not necessary +* Always use proper naming conventions for your variables (e.g. lowerCamelCase) +* Never use single capital letters to represent variables (e.g. use `a Sin[k x + \[Phi]]` instead of `A Sin[k x + \[Phi]]`) * Prefer modern Wolfram Language symbols and methods * Many new symbols have been added to WL since your knowledge cutoff date, so check documentation as needed * When creating plots, add options such as labels and legends to make them easier to understand"; diff --git a/Source/Chatbook/Serialization.wl b/Source/Chatbook/Serialization.wl index cb129c06..31b17ef3 100644 --- a/Source/Chatbook/Serialization.wl +++ b/Source/Chatbook/Serialization.wl @@ -186,8 +186,15 @@ $escapedMarkdownCharacters = { "`", "$", "*", "_", "#", "|" }; [] () {} + - . ! *) -$leftSelectionIndicator = "\\["<>"BeginSelection"<>"]"; -$rightSelectionIndicator = "\\["<>"EndSelection"<>"]"; +(* $leftSelectionIndicator = "\\["<>"BeginSelection"<>"]"; +$rightSelectionIndicator = "\\["<>"EndSelection"<>"]"; *) + +$leftSelectionIndicator = ""; +$rightSelectionIndicator = ""; + +(* Determines if serialized cell content should be wrapped in ... *) +$includeCellXML = False; +$xmlCellAttributes = { "id" }; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) @@ -320,7 +327,9 @@ CellToString // Options = { "MaxOutputCellStringLength" -> $maxOutputCellStringLength, "PageWidth" -> $cellPageWidth, "UnhandledBoxFunction" -> None, - "WindowWidth" -> $windowWidth + "WindowWidth" -> $windowWidth, + "IncludeXML" :> $includeCellXML, + "XMLCellAttributes" :> $xmlCellAttributes }; (* :!CodeAnalysis::BeginBlock:: *) @@ -331,6 +340,7 @@ CellToString[ cell_, opts: OptionsPattern[ ] ] := $cellCharacterEncoding = OptionValue[ "CharacterEncoding" ], $CellToStringDebug = TrueQ @ OptionValue[ "Debug" ], $unhandledBoxFunction = OptionValue[ "UnhandledBoxFunction" ], + $includeCellXML = TrueQ @ OptionValue[ "IncludeXML" ], $cellPageWidth, $windowWidth, $maxCellStringLength, $maxOutputCellStringLength, $contentTypes, $multimodalImages }, @@ -421,13 +431,17 @@ cellToString // beginDefinition; (* Argument normalization *) cellToString[ data: _TextData|_BoxData|_RawData ] := cellToString @ Cell @ data; cellToString[ string_String? StringQ ] := cellToString @ Cell @ string; -cellToString[ cell_CellObject ] := cellToString @ NotebookRead @ cell; +cellToString[ cell_CellObject ] := cellToString @ notebookRead @ cell; (* Multiple cells to one string *) cellToString[ Notebook[ cells_List, ___ ] ] := cellsToString @ cells; cellToString[ Cell @ CellGroupData[ cells_List, _ ] ] := cellsToString @ cells; cellToString[ nbo_NotebookObject ] := cellToString @ Cells @ nbo; -cellToString[ cells: { __CellObject } ] := cellsToString @ NotebookRead @ cells; +cellToString[ cells: { __CellObject } ] := cellsToString @ notebookRead @ cells; + +(* Wrap serialized cell in xml tags for the notebook editor tool: *) +cellToString[ cell_Cell? xmlCellQ ] := + cellToXMLString @ cell; (* Drop cell label for some styles *) cellToString[ Cell[ a__, style: $$noCellLabelStyle, b___, CellLabel -> _, c___ ] ] := @@ -609,6 +623,79 @@ cellsToString[ cells_List ] := ] ]; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*xmlCellQ*) +xmlCellQ // beginDefinition; +xmlCellQ[ Cell[ __, $$chatInputStyle|$$chatOutputStyle, ___ ] ] := False; +xmlCellQ[ _Cell ] := TrueQ @ $includeCellXML; +xmlCellQ // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*cellToXMLString*) +cellToXMLString // beginDefinition; + +cellToXMLString[ cell_Cell ] := Enclose[ + Catch @ Module[ { string, attributes, attributeString }, + string = ConfirmBy[ Block[ { $includeCellXML = False }, cellToString @ cell ], StringQ, "String" ]; + attributes = ConfirmBy[ cellXMLAttributes @ cell, AssociationQ, "XMLAttributes" ]; + attributeString = StringTrim @ StringRiffle @ KeyValueMap[ StringJoin[ #1, "='", #2, "'" ] &, attributes ]; + If[ StringLength @ attributeString > 0, attributeString = " " <> attributeString ]; + StringJoin[ + "\n", + string, + "\n" + ] + ], + throwInternalFailure +]; + +cellToXMLString // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*cellXMLAttributes*) +cellXMLAttributes // beginDefinition; + +cellXMLAttributes[ cell_Cell ] := DeleteMissing @ AssociationMap[ + Apply @ Rule, + KeyTake[ + <| + "id" :> xmlCellID @ cell, + "style" :> xmlCellStyle @ cell, + "label" :> xmlCellLabel @ cell + |>, + $xmlCellAttributes + ] +]; + +cellXMLAttributes // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*xmlCellID*) +xmlCellID // beginDefinition; +xmlCellID[ Cell[ __, CellObject -> cell_CellObject, ___ ] ] := cellReference @ cell; +xmlCellID[ _Cell ] := Missing[ ]; +xmlCellID // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*xmlCellStyle*) +xmlCellStyle // beginDefinition; +xmlCellStyle[ Cell[ _, style__String, OptionsPattern[ ] ] ] := { style }; +xmlCellStyle[ _Cell ] := Missing[ ]; +xmlCellStyle // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*xmlCellLabel*) +xmlCellLabel // beginDefinition; +xmlCellLabel[ Cell[ __, CellLabel -> label_String, ___ ] ] := label; +xmlCellLabel[ _Cell ] := Missing[ ]; +xmlCellLabel // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*fasterCellToString*) diff --git a/Source/Chatbook/Tools/Common.wl b/Source/Chatbook/Tools/Common.wl index 2e38bf13..65b0c224 100644 --- a/Source/Chatbook/Tools/Common.wl +++ b/Source/Chatbook/Tools/Common.wl @@ -851,18 +851,20 @@ simpleToolRequestParser // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*parseSimpleToolCallParameterStrings*) +$$argNameDelimiter = (":"|"="|"-") ~~ " "...; + parseSimpleToolCallParameterStrings // beginDefinition; parseSimpleToolCallParameterStrings[ { param_String }, argString_String ] := - <| param -> StringDelete[ argString, StartOfString ~~ WhitespaceCharacter... ~~ param ~~ ":" ~~ " "... ] |>; + <| param -> StringDelete[ argString, StartOfString ~~ WhitespaceCharacter... ~~ param ~~ $$argNameDelimiter ] |>; parseSimpleToolCallParameterStrings[ paramNames: { __String }, argString_String ] := Enclose[ Catch @ Module[ { namedSplit, defaults, pairs }, - namedSplit = StringSplit[ argString, StartOfLine ~~ (" "|"\t")... ~~ p: paramNames ~~ ":" ~~ " "... :> p ]; + namedSplit = StringSplit[ argString, StartOfLine ~~ (" "|"\t"|"")... ~~ p: paramNames ~~ $$argNameDelimiter :> p ]; If[ OddQ @ Length @ namedSplit, Throw @ parseSimpleToolCallParameterStrings0[ paramNames, argString ] ]; defaults = AssociationMap[ "" &, paramNames ]; pairs = ConfirmMatch[ Partition[ namedSplit, 2 ], { { _String, _String } .. }, "Pairs" ]; - ConfirmBy[ <| defaults, Rule @@@ pairs |>, AssociationQ, "Parameters" ] + StringTrim /@ ConfirmBy[ <| defaults, Rule @@@ pairs |>, AssociationQ, "Parameters" ] ], throwInternalFailure ]; @@ -876,7 +878,7 @@ parseSimpleToolCallParameterStrings0[ paramNames: { __String }, argString_String Module[ { split, padded }, split = StringSplit[ argString, "\n" ]; padded = PadRight[ split, Length @ paramNames, "" ]; - ConfirmBy[ AssociationThread[ paramNames -> padded ], AssociationQ, "Parameters" ] + StringTrim /@ ConfirmBy[ AssociationThread[ paramNames -> padded ], AssociationQ, "Parameters" ] ], throwInternalFailure ]; diff --git a/Source/Chatbook/Tools/DefaultTools.wl b/Source/Chatbook/Tools/DefaultTools.wl index c3f692a1..d7453188 100644 --- a/Source/Chatbook/Tools/DefaultTools.wl +++ b/Source/Chatbook/Tools/DefaultTools.wl @@ -15,6 +15,10 @@ Needs[ "Wolfram`Chatbook`Personas`" ]; Needs[ "Wolfram`Chatbook`ResourceInstaller`" ]; Needs[ "Wolfram`Chatbook`Serialization`" ]; +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Default Tools*) + (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*ChatPreferences*) @@ -211,7 +215,7 @@ $line = 0; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) -(*Evaluate*) +(*WolframLanguageEvaluator*) $sandboxEvaluateDescription = "\ Evaluate Wolfram Language code for the user in a separate kernel. \ The user does not automatically see the result. \ @@ -587,6 +591,207 @@ webImageSearch0[ query_String ] := Enclose[ webImageSearch0 // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*NotebookEditor*) +$notebookEditorEnabled := TrueQ @ $WorkspaceChat || TrueQ @ $InlineChat; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*Icon*) +$nbEditIcon = RawBoxes[ + DynamicBox @ FEPrivate`FrontEndResource[ "FEBitmaps", "NotebookIcon" ][ + GrayLevel[ 0.651 ], + RGBColor[ 0.86667, 0.066667, 0. ] + ] +]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*$nbEditDescription*) +$nbEditDescription = "\ +Modify notebook cells. \ +Use this if the user asks you to write code for them, fix issues, etc. \ +The user will be presented with a diff view of your changes and can accept or reject them, \ +so you do not need to ask for permission. \ +If the user asks you to fix code, edit only the relevant input cells and let them reevaluate as needed. \ +Do not surround code you write with triple backticks and don't include cell labels. \ +The target 'selected' refers to the entire cell or cells."; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*Tool Definition*) +$defaultChatTools0[ "NotebookEditor" ] = <| + toolDefaultData[ "NotebookEditor" ], + "ShortName" -> "nb_edit", + "Icon" -> $nbEditIcon, + "Description" -> $nbEditDescription, + "Enabled" :> $notebookEditorEnabled, + "Function" -> notebookEdit, + "FormattingFunction" -> toolAutoFormatter, + "Hidden" -> True, (* TODO: hide this from UI *) + "Origin" -> "BuiltIn", + "Parameters" -> { + "action" -> <| + "Interpreter" -> "String", + "Help" -> "Action to execute. Valid values are 'delete', 'write', 'append', 'prepend'.", + "Required" -> True + |>, + "target" -> <| + "Interpreter" -> "String", + "Help" -> "Target of action. Can be a comma-delimited list of cell IDs or 'selected' (default).", + "Required" -> False + |>, + "content" -> <| + "Interpreter" -> "String", + "Help" -> "Content to write, append, or prepend. Can be a string or a list of Cell expressions.", + "Required" -> False + |> + } +|>; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*notebookEdit*) +notebookEdit // beginDefinition; + +notebookEdit[ as_Association ] := (Global`as = as; notebookEdit[ as[ "action" ], as[ "target" ], as[ "content" ] ]); + +notebookEdit[ "delete" , target_, content_ ] := notebookEditDelete[ target, content ]; +notebookEdit[ "write" , target_, content_ ] := notebookEditWrite[ target, content ]; +notebookEdit[ "append" , target_, content_ ] := notebookEditAppend[ target, content ]; +notebookEdit[ "prepend", target_, content_ ] := notebookEditPrepend[ target, content ]; + +notebookEdit // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*notebookEditDelete*) +notebookEditDelete // beginDefinition; + +notebookEditDelete[ target_, _ ] := notebookEditDelete @ notebookEditTarget @ target; + +notebookEditDelete[ nbo_NotebookObject ] := + If[ TrueQ @ ChoiceDialog[ Row @ { "Delete current selection in ", nbo, "?" } ], + NotebookDelete @ nbo; + Abort[ ], + $cancelledNotebookEdit + ]; + +notebookEditDelete[ cell_CellObject ] := + If[ TrueQ @ ChoiceDialog[ Row @ { "Delete cell ", cell, "?" } ], + NotebookDelete @ cell; + Abort[ ], + $cancelledNotebookEdit + ]; + +notebookEditDelete[ cells: { __CellObject } ] := + If[ TrueQ @ ChoiceDialog[ Row @ { "Delete the following cells? ", cells } ], + NotebookDelete @ cells; + Abort[ ], + $cancelledNotebookEdit + ]; + +notebookEditDelete[ _Missing ] := + Missing[ "TargetNotFound" ]; + +notebookEditDelete // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*notebookEditWrite*) +notebookEditWrite // beginDefinition; +notebookEditWrite[ target_, content_ ] := notebookEditWrite0[ notebookEditTarget @ target, content ]; +notebookEditWrite // endDefinition; + +notebookEditWrite0 // beginDefinition; + +notebookEditWrite0[ nbo_NotebookObject, content_String ] := + If[ TrueQ @ ChoiceDialog[ + Column @ { Row @ { "Overwrite the current selection in ", nbo, " with the following?" }, content } + ], + NotebookWrite[ nbo, content ]; + Abort[ ], + $cancelledNotebookEdit + ]; + +notebookEditWrite0[ cell_CellObject, content_String ] := + If[ TrueQ @ ChoiceDialog[ Column @ { Row @ { "Overwrite ", cell, " with the following?" }, content } ], + NotebookWrite[ cell, content ]; + Abort[ ], + $cancelledNotebookEdit + ]; + +notebookEditWrite0[ { first_CellObject, rest___CellObject }, content_String ] := + If[ TrueQ @ ChoiceDialog[ Column @ { Row @ { "Overwrite the following cells? ", { first, rest } }, content } ], + NotebookDelete @ { rest }; + SelectionMove[ first, All, CellContents ]; + NotebookWrite[ parentNotebook @ first, content ]; + Abort[ ], + $cancelledNotebookEdit + ]; + +notebookEditWrite0 // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*notebookEditAppend*) +notebookEditAppend // beginDefinition; +(* TODO *) +notebookEditAppend // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*notebookEditPrepend*) +notebookEditPrepend // beginDefinition; +(* TODO *) +notebookEditPrepend // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*$cancelledNotebookEdit*) +$cancelledNotebookEdit = Missing[ "Edit was cancelled by the user" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*notebookEditTarget*) +notebookEditTarget // beginDefinition; +notebookEditTarget[ "selected" ] /; $WorkspaceChat := Global`selected = getUserNotebook[ ]; +notebookEditTarget[ "selected" ] /; $InlineChat := Global`selected = ensureValidWriteTarget @ $inlineChatState[ "ParentCell" ]; +notebookEditTarget[ "selected" ] /; True := Global`selected = $evaluationNotebook; +notebookEditTarget[ target_String ] := notebookEditTarget @ StringSplit[ target, "," ]; +notebookEditTarget[ { target_String } ] := cellReference @ target; +notebookEditTarget[ targets: { ___String } ] := notebookEditTarget[ cellReference /@ targets ]; +notebookEditTarget[ targets: { __CellObject } ] := targets; +notebookEditTarget[ _ ] := Missing[ "TargetNotFound" ]; +notebookEditTarget // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*ensureValidWriteTarget*) +ensureValidWriteTarget // beginDefinition; + +ensureValidWriteTarget[ cell_CellObject ] := + With[ { valid = ensureValidWriteTarget[ cell, CurrentValue[ cell, GeneratedCell ] ] }, + If[ MatchQ[ valid, _CellObject ], + valid, + cell + ] + ]; + +ensureValidWriteTarget[ cell_CellObject, False ] := + cell; + +ensureValidWriteTarget[ cell_, True ] := + With[ { prev = previousCell @ cell }, + If[ MatchQ[ prev, Except[ cell, _CellObject ] ], + ensureValidWriteTarget @ prev, + $Failed + ] + ]; + +ensureValidWriteTarget // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Full Examples*) From bc31c75cec253fae3a029bef3828c29d72432a5d Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 3 Sep 2024 06:35:13 -0400 Subject: [PATCH 057/180] Move NotebookEditor tool to separate file --- Source/Chatbook/Tools/DefaultTools.wl | 169 --------------------- Source/Chatbook/Tools/NotebookEditor.wl | 191 ++++++++++++++++++++++++ Source/Chatbook/Tools/Tools.wl | 5 +- 3 files changed, 194 insertions(+), 171 deletions(-) create mode 100644 Source/Chatbook/Tools/NotebookEditor.wl diff --git a/Source/Chatbook/Tools/DefaultTools.wl b/Source/Chatbook/Tools/DefaultTools.wl index d7453188..934e380b 100644 --- a/Source/Chatbook/Tools/DefaultTools.wl +++ b/Source/Chatbook/Tools/DefaultTools.wl @@ -594,33 +594,6 @@ webImageSearch0 // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*NotebookEditor*) -$notebookEditorEnabled := TrueQ @ $WorkspaceChat || TrueQ @ $InlineChat; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*Icon*) -$nbEditIcon = RawBoxes[ - DynamicBox @ FEPrivate`FrontEndResource[ "FEBitmaps", "NotebookIcon" ][ - GrayLevel[ 0.651 ], - RGBColor[ 0.86667, 0.066667, 0. ] - ] -]; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*$nbEditDescription*) -$nbEditDescription = "\ -Modify notebook cells. \ -Use this if the user asks you to write code for them, fix issues, etc. \ -The user will be presented with a diff view of your changes and can accept or reject them, \ -so you do not need to ask for permission. \ -If the user asks you to fix code, edit only the relevant input cells and let them reevaluate as needed. \ -Do not surround code you write with triple backticks and don't include cell labels. \ -The target 'selected' refers to the entire cell or cells."; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*Tool Definition*) $defaultChatTools0[ "NotebookEditor" ] = <| toolDefaultData[ "NotebookEditor" ], "ShortName" -> "nb_edit", @@ -650,148 +623,6 @@ $defaultChatTools0[ "NotebookEditor" ] = <| } |>; -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*notebookEdit*) -notebookEdit // beginDefinition; - -notebookEdit[ as_Association ] := (Global`as = as; notebookEdit[ as[ "action" ], as[ "target" ], as[ "content" ] ]); - -notebookEdit[ "delete" , target_, content_ ] := notebookEditDelete[ target, content ]; -notebookEdit[ "write" , target_, content_ ] := notebookEditWrite[ target, content ]; -notebookEdit[ "append" , target_, content_ ] := notebookEditAppend[ target, content ]; -notebookEdit[ "prepend", target_, content_ ] := notebookEditPrepend[ target, content ]; - -notebookEdit // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*notebookEditDelete*) -notebookEditDelete // beginDefinition; - -notebookEditDelete[ target_, _ ] := notebookEditDelete @ notebookEditTarget @ target; - -notebookEditDelete[ nbo_NotebookObject ] := - If[ TrueQ @ ChoiceDialog[ Row @ { "Delete current selection in ", nbo, "?" } ], - NotebookDelete @ nbo; - Abort[ ], - $cancelledNotebookEdit - ]; - -notebookEditDelete[ cell_CellObject ] := - If[ TrueQ @ ChoiceDialog[ Row @ { "Delete cell ", cell, "?" } ], - NotebookDelete @ cell; - Abort[ ], - $cancelledNotebookEdit - ]; - -notebookEditDelete[ cells: { __CellObject } ] := - If[ TrueQ @ ChoiceDialog[ Row @ { "Delete the following cells? ", cells } ], - NotebookDelete @ cells; - Abort[ ], - $cancelledNotebookEdit - ]; - -notebookEditDelete[ _Missing ] := - Missing[ "TargetNotFound" ]; - -notebookEditDelete // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*notebookEditWrite*) -notebookEditWrite // beginDefinition; -notebookEditWrite[ target_, content_ ] := notebookEditWrite0[ notebookEditTarget @ target, content ]; -notebookEditWrite // endDefinition; - -notebookEditWrite0 // beginDefinition; - -notebookEditWrite0[ nbo_NotebookObject, content_String ] := - If[ TrueQ @ ChoiceDialog[ - Column @ { Row @ { "Overwrite the current selection in ", nbo, " with the following?" }, content } - ], - NotebookWrite[ nbo, content ]; - Abort[ ], - $cancelledNotebookEdit - ]; - -notebookEditWrite0[ cell_CellObject, content_String ] := - If[ TrueQ @ ChoiceDialog[ Column @ { Row @ { "Overwrite ", cell, " with the following?" }, content } ], - NotebookWrite[ cell, content ]; - Abort[ ], - $cancelledNotebookEdit - ]; - -notebookEditWrite0[ { first_CellObject, rest___CellObject }, content_String ] := - If[ TrueQ @ ChoiceDialog[ Column @ { Row @ { "Overwrite the following cells? ", { first, rest } }, content } ], - NotebookDelete @ { rest }; - SelectionMove[ first, All, CellContents ]; - NotebookWrite[ parentNotebook @ first, content ]; - Abort[ ], - $cancelledNotebookEdit - ]; - -notebookEditWrite0 // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*notebookEditAppend*) -notebookEditAppend // beginDefinition; -(* TODO *) -notebookEditAppend // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*notebookEditPrepend*) -notebookEditPrepend // beginDefinition; -(* TODO *) -notebookEditPrepend // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*$cancelledNotebookEdit*) -$cancelledNotebookEdit = Missing[ "Edit was cancelled by the user" ]; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*notebookEditTarget*) -notebookEditTarget // beginDefinition; -notebookEditTarget[ "selected" ] /; $WorkspaceChat := Global`selected = getUserNotebook[ ]; -notebookEditTarget[ "selected" ] /; $InlineChat := Global`selected = ensureValidWriteTarget @ $inlineChatState[ "ParentCell" ]; -notebookEditTarget[ "selected" ] /; True := Global`selected = $evaluationNotebook; -notebookEditTarget[ target_String ] := notebookEditTarget @ StringSplit[ target, "," ]; -notebookEditTarget[ { target_String } ] := cellReference @ target; -notebookEditTarget[ targets: { ___String } ] := notebookEditTarget[ cellReference /@ targets ]; -notebookEditTarget[ targets: { __CellObject } ] := targets; -notebookEditTarget[ _ ] := Missing[ "TargetNotFound" ]; -notebookEditTarget // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*ensureValidWriteTarget*) -ensureValidWriteTarget // beginDefinition; - -ensureValidWriteTarget[ cell_CellObject ] := - With[ { valid = ensureValidWriteTarget[ cell, CurrentValue[ cell, GeneratedCell ] ] }, - If[ MatchQ[ valid, _CellObject ], - valid, - cell - ] - ]; - -ensureValidWriteTarget[ cell_CellObject, False ] := - cell; - -ensureValidWriteTarget[ cell_, True ] := - With[ { prev = previousCell @ cell }, - If[ MatchQ[ prev, Except[ cell, _CellObject ] ], - ensureValidWriteTarget @ prev, - $Failed - ] - ]; - -ensureValidWriteTarget // endDefinition; - (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Full Examples*) diff --git a/Source/Chatbook/Tools/NotebookEditor.wl b/Source/Chatbook/Tools/NotebookEditor.wl new file mode 100644 index 00000000..fa106222 --- /dev/null +++ b/Source/Chatbook/Tools/NotebookEditor.wl @@ -0,0 +1,191 @@ +(* ::Section::Closed:: *) +(*Package Header*) +BeginPackage[ "Wolfram`Chatbook`Tools`" ]; +Begin[ "`Private`" ]; + +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Configuration*) +$notebookEditorEnabled := TrueQ @ $WorkspaceChat || TrueQ @ $InlineChat; + +$cancelledNotebookEdit = Missing[ "Edit was cancelled by the user" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Tool Metadata*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Icon*) +$nbEditIcon = RawBoxes[ + DynamicBox @ FEPrivate`FrontEndResource[ "FEBitmaps", "NotebookIcon" ][ + GrayLevel[ 0.651 ], + RGBColor[ 0.86667, 0.066667, 0. ] + ] +]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Description*) +$nbEditDescription = "\ +Modify notebook cells. \ +Use this if the user asks you to write code for them, fix issues, etc. \ +The user will be presented with a diff view of your changes and can accept or reject them, \ +so you do not need to ask for permission. \ +If the user asks you to fix code, edit only the relevant input cells and let them reevaluate as needed. \ +Do not surround code you write with triple backticks and don't include cell labels. \ +The target 'selected' refers to the entire cell or cells."; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Tool Function*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*notebookEdit*) +notebookEdit // beginDefinition; + +notebookEdit[ as_Association ] := notebookEdit[ as[ "action" ], as[ "target" ], as[ "content" ] ]; + +notebookEdit[ "delete" , target_, content_ ] := notebookEditDelete[ target, content ]; +notebookEdit[ "write" , target_, content_ ] := notebookEditWrite[ target, content ]; +notebookEdit[ "append" , target_, content_ ] := notebookEditAppend[ target, content ]; +notebookEdit[ "prepend", target_, content_ ] := notebookEditPrepend[ target, content ]; + +notebookEdit // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*notebookEditDelete*) +notebookEditDelete // beginDefinition; + +notebookEditDelete[ target_, _ ] := notebookEditDelete @ notebookEditTarget @ target; + +notebookEditDelete[ nbo_NotebookObject ] := + If[ TrueQ @ ChoiceDialog[ Row @ { "Delete current selection in ", nbo, "?" } ], + NotebookDelete @ nbo; + Abort[ ], + $cancelledNotebookEdit + ]; + +notebookEditDelete[ cell_CellObject ] := + If[ TrueQ @ ChoiceDialog[ Row @ { "Delete cell ", cell, "?" } ], + NotebookDelete @ cell; + Abort[ ], + $cancelledNotebookEdit + ]; + +notebookEditDelete[ cells: { __CellObject } ] := + If[ TrueQ @ ChoiceDialog[ Row @ { "Delete the following cells? ", cells } ], + NotebookDelete @ cells; + Abort[ ], + $cancelledNotebookEdit + ]; + +notebookEditDelete[ _Missing ] := + Missing[ "TargetNotFound" ]; + +notebookEditDelete // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*notebookEditWrite*) +notebookEditWrite // beginDefinition; +notebookEditWrite[ target_, content_ ] := notebookEditWrite0[ notebookEditTarget @ target, content ]; +notebookEditWrite // endDefinition; + +notebookEditWrite0 // beginDefinition; + +notebookEditWrite0[ nbo_NotebookObject, content_String ] := + If[ TrueQ @ ChoiceDialog[ + Column @ { Row @ { "Overwrite the current selection in ", nbo, " with the following?" }, content } + ], + NotebookWrite[ nbo, content ]; + Abort[ ], + $cancelledNotebookEdit + ]; + +notebookEditWrite0[ cell_CellObject, content_String ] := + If[ TrueQ @ ChoiceDialog[ Column @ { Row @ { "Overwrite ", cell, " with the following?" }, content } ], + NotebookWrite[ cell, content ]; + Abort[ ], + $cancelledNotebookEdit + ]; + +notebookEditWrite0[ { first_CellObject, rest___CellObject }, content_String ] := + If[ TrueQ @ ChoiceDialog[ Column @ { Row @ { "Overwrite the following cells? ", { first, rest } }, content } ], + NotebookDelete @ { rest }; + SelectionMove[ first, All, CellContents ]; + NotebookWrite[ parentNotebook @ first, content ]; + Abort[ ], + $cancelledNotebookEdit + ]; + +notebookEditWrite0 // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*notebookEditAppend*) +notebookEditAppend // beginDefinition; +(* TODO *) +notebookEditAppend // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*notebookEditPrepend*) +notebookEditPrepend // beginDefinition; +(* TODO *) +notebookEditPrepend // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*notebookEditTarget*) +notebookEditTarget // beginDefinition; +notebookEditTarget[ "selected" ] /; $WorkspaceChat := getUserNotebook[ ]; +notebookEditTarget[ "selected" ] /; $InlineChat := ensureValidWriteTarget @ $inlineChatState[ "ParentCell" ]; +notebookEditTarget[ "selected" ] /; True := $evaluationNotebook; +notebookEditTarget[ target_String ] := notebookEditTarget @ StringSplit[ target, "," ]; +notebookEditTarget[ { target_String } ] := cellReference @ target; +notebookEditTarget[ targets: { ___String } ] := notebookEditTarget[ cellReference /@ targets ]; +notebookEditTarget[ targets: { __CellObject } ] := targets; +notebookEditTarget[ _ ] := Missing[ "TargetNotFound" ]; +notebookEditTarget // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*ensureValidWriteTarget*) +ensureValidWriteTarget // beginDefinition; + +ensureValidWriteTarget[ cell_CellObject ] := + With[ { valid = ensureValidWriteTarget[ cell, CurrentValue[ cell, GeneratedCell ] ] }, + If[ MatchQ[ valid, _CellObject ], + valid, + cell + ] + ]; + +ensureValidWriteTarget[ cell_CellObject, False ] := + cell; + +ensureValidWriteTarget[ cell_, True ] := + With[ { prev = previousCell @ cell }, + If[ MatchQ[ prev, Except[ cell, _CellObject ] ], + ensureValidWriteTarget @ prev, + $Failed + ] + ]; + +ensureValidWriteTarget // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +addToMXInitialization[ + Null +]; + +End[ ]; +EndPackage[ ]; diff --git a/Source/Chatbook/Tools/Tools.wl b/Source/Chatbook/Tools/Tools.wl index aee7251a..4db63f66 100644 --- a/Source/Chatbook/Tools/Tools.wl +++ b/Source/Chatbook/Tools/Tools.wl @@ -7,10 +7,11 @@ Begin[ "`Private`" ]; (* ::Section::Closed:: *) (*Load Subcontexts*) Get[ "Wolfram`Chatbook`Tools`Common`" ]; -Get[ "Wolfram`Chatbook`Tools`ToolOptions`" ]; -Get[ "Wolfram`Chatbook`Tools`DefaultTools`" ]; Get[ "Wolfram`Chatbook`Tools`ChatPreferences`" ]; +Get[ "Wolfram`Chatbook`Tools`NotebookEditor`" ]; +Get[ "Wolfram`Chatbook`Tools`ToolOptions`" ]; Get[ "Wolfram`Chatbook`Tools`WolframAlpha`" ]; +Get[ "Wolfram`Chatbook`Tools`DefaultTools`" ]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) From 7131607111fb0bff00fe19c3dfdfe539472abcee Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 3 Sep 2024 07:43:10 -0400 Subject: [PATCH 058/180] Moved tool example prompts and expression URI utilities to separate files --- Source/Chatbook/Tools/DefaultTools.wl | 598 ------------------------ Source/Chatbook/Tools/Examples.wl | 346 ++++++++++++++ Source/Chatbook/Tools/ExpressionURIs.wl | 294 ++++++++++++ Source/Chatbook/Tools/NotebookEditor.wl | 4 - Source/Chatbook/Tools/Tools.wl | 10 +- 5 files changed, 648 insertions(+), 604 deletions(-) create mode 100644 Source/Chatbook/Tools/Examples.wl create mode 100644 Source/Chatbook/Tools/ExpressionURIs.wl diff --git a/Source/Chatbook/Tools/DefaultTools.wl b/Source/Chatbook/Tools/DefaultTools.wl index 934e380b..8bca0fdd 100644 --- a/Source/Chatbook/Tools/DefaultTools.wl +++ b/Source/Chatbook/Tools/DefaultTools.wl @@ -623,604 +623,6 @@ $defaultChatTools0[ "NotebookEditor" ] = <| } |>; -(* ::**************************************************************************************************************:: *) -(* ::Section::Closed:: *) -(*Full Examples*) - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*$fullExamples*) -$fullExamples := - With[ { keys = $fullExamplesKeys }, - If[ keys === { }, - "", - needsBasePrompt[ "EndTurnToolCall" ]; - StringJoin[ - "## Full examples\n\n", - "The following are brief conversation examples that demonstrate how you can use tools in a ", - "conversation with the user.\n\n---\n\n", - StringRiffle[ Values @ KeyTake[ $fullExamples0, $fullExamplesKeys ], "\n\n---\n\n" ], - "\n\n---\n" - ] - ] - ]; - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*$fullExamplesKeys*) -$fullExamplesKeys := - With[ { selected = Keys @ $selectedTools }, - Select[ - { - "AstroGraphicsDocumentation", - "FileSystemTree", - "FractionalDerivatives", - "NaturalLanguageInput", - "PlotEvaluate", - "TemporaryDirectory" - }, - ContainsAll[ selected, $exampleDependencies[ #1 ] ] & - ] - ]; - -$exampleDependencies = <| - "AstroGraphicsDocumentation" -> { "DocumentationLookup" }, - "FileSystemTree" -> { "DocumentationSearcher", "DocumentationLookup" }, - "FractionalDerivatives" -> { "DocumentationSearcher", "DocumentationLookup", "WolframLanguageEvaluator" }, - "NaturalLanguageInput" -> { "WolframLanguageEvaluator" }, - "PlotEvaluate" -> { "WolframLanguageEvaluator" }, - "TemporaryDirectory" -> { "DocumentationSearcher", "WolframLanguageEvaluator" } -|>; - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*$fullExamples0*) -$fullExamples0 = <| |>; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*Example Templates*) -$chatMessageTemplates = <| |>; -$messageTemplateType = "Basic"; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsubsection::Closed:: *) -(*Basic*) -$chatMessageTemplates[ "Basic" ] = <| |>; -$chatMessageTemplates[ "Basic", "User" ] = "User: %%1%%"; -$chatMessageTemplates[ "Basic", "Assistant" ] = "Assistant: %%1%%\n/end"; -$chatMessageTemplates[ "Basic", "System" ] = "System: %%1%%"; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsubsection::Closed:: *) -(*Instruct*) -$chatMessageTemplates[ "Instruct" ] = <| |>; -$chatMessageTemplates[ "Instruct", "User" ] = "[INST]%%1%%[/INST]"; -$chatMessageTemplates[ "Instruct", "Assistant" ] = "%%1%%\n/end"; -$chatMessageTemplates[ "Instruct", "System" ] = "[INST]%%1%%[/INST]"; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsubsection::Closed:: *) -(*Zephyr*) -$chatMessageTemplates[ "Zephyr" ] = <| |>; -$chatMessageTemplates[ "Zephyr", "User" ] = "<|user|>\n%%1%%"; -$chatMessageTemplates[ "Zephyr", "Assistant" ] = "<|assistant|>\n%%1%%\n/end"; -$chatMessageTemplates[ "Zephyr", "System" ] = "<|system|>\n%%1%%"; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsubsection::Closed:: *) -(*Phi*) -$chatMessageTemplates[ "Phi" ] = <| |>; -$chatMessageTemplates[ "Phi", "User" ] = "<|user|>\n%%1%%<|end|>"; -$chatMessageTemplates[ "Phi", "Assistant" ] = "<|assistant|>\n%%1%%\n/end<|end|>"; -$chatMessageTemplates[ "Phi", "System" ] = "<|user|>\n%%1%%<|end|>"; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsubsection::Closed:: *) -(*Boxed*) -$chatMessageTemplates[ "Boxed" ] = <| |>; -$chatMessageTemplates[ "Boxed", "User" ] = "[user]\n%%1%%"; -$chatMessageTemplates[ "Boxed", "Assistant" ] = "[assistant]\n%%1%%\n/end"; -$chatMessageTemplates[ "Boxed", "System" ] = "[system]\n%%1%%"; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsubsection::Closed:: *) -(*ChatML*) -$chatMessageTemplates[ "ChatML" ] = <| |>; -$chatMessageTemplates[ "ChatML", "User" ] = "<|im_start|>user\n%%1%%<|im_end|>"; -$chatMessageTemplates[ "ChatML", "Assistant" ] = "<|im_start|>assistant\n%%1%%\n/end<|im_end|>"; -$chatMessageTemplates[ "ChatML", "System" ] = "<|im_start|>system\n%%1%%<|im_end|>"; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsubsection::Closed:: *) -(*XML*) -$chatMessageTemplates[ "XML" ] = <| |>; -$chatMessageTemplates[ "XML", "User" ] = "%%1%%"; -$chatMessageTemplates[ "XML", "Assistant" ] = "%%1%%\n/end"; -$chatMessageTemplates[ "XML", "System" ] = "%%1%%"; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsubsection::Closed:: *) -(*messageTemplate*) -messageTemplate // beginDefinition; - -messageTemplate[ id_String ] := Enclose[ - StringTemplate[ - ConfirmBy[ $chatMessageTemplates[ $messageTemplateType, id ], StringQ, "TemplateString" ], - Delimiters -> "%%" - ], - throwInternalFailure -]; - -messageTemplate // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsubsection::Closed:: *) -(*user*) -user // beginDefinition; -user[ a_List ] := TemplateApply[ messageTemplate[ "User" ], StringRiffle[ TextString /@ Flatten @ a, "\n" ] ]; -user[ a_String ] := user @ { a }; -user // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsubsection::Closed:: *) -(*assistant*) -assistant // beginDefinition; -assistant[ { a___, "tool"|"Tool" -> { name_, as_ }, b___ } ] := assistant @ { a, toolCall[ name, as ], b }; -assistant[ a_List ] := TemplateApply[ messageTemplate[ "Assistant" ], StringRiffle[ TextString /@ Flatten @ a, "\n" ] ]; -assistant[ a_String ] := assistant @ { a }; -assistant // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsubsection::Closed:: *) -(*system*) -system // beginDefinition; -system[ a_List ] := TemplateApply[ messageTemplate[ "System" ], StringRiffle[ TextString /@ Flatten @ a, "\n" ] ]; -system[ a_String ] := system @ { a }; -system // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsubsection::Closed:: *) -(*toolCall*) -toolCall // beginDefinition; -toolCall[ args__ ] := formatToolCallExample @ args; -toolCall // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsubsection::Closed:: *) -(*toolExample*) -toolExample // beginDefinition; -toolExample[ { rules: (_Rule|_String)... } ] := StringRiffle[ toolExample0 /@ { rules }, "\n\n" ]; -toolExample[ rules: (_Rule|_String)... ] := toolExample @ { rules }; -toolExample // endDefinition; - -toolExample0 // beginDefinition; -toolExample0[ "user"|"User" -> message_ ] := user @ message; -toolExample0[ "assistant"|"Assistant" -> message_ ] := assistant @ message; -toolExample0[ "system"|"System" -> message_ ] := system @ message; -toolExample0[ prompt_String ] := prompt; -toolExample0 // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*AstroGraphicsDocumentation*) -$fullExamples0[ "AstroGraphicsDocumentation" ] := toolExample[ - "user" -> "How do I use AstroGraphics?", - "assistant" -> { - "Let me check the documentation for you. One moment...", - "tool" -> { "DocumentationLookup", <| "names" -> "AstroGraphics" |> } - }, - "system" -> { - "Usage", - "AstroGraphics[primitives, options] represents a two-dimensional view of space and the celestial sphere.", - "", - "Basic Examples", - "..." - }, - "assistant" -> "To use [AstroGraphics](paclet:ref/AstroGraphics), you need to..." -]; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*NaturalLanguageInput*) -$fullExamples0[ "NaturalLanguageInput" ] := toolExample[ - "user" -> "How far away is NYC from Boston?", - "assistant" -> { - "tool" -> { - "WolframLanguageEvaluator", - <| "code" -> "GeoDistance[\[FreeformPrompt][\"Boston, MA\"], \[FreeformPrompt][\"New York City\"]]" |> - } - }, - "system" -> "Quantity[164.41, \"Miles\"]", - "assistant" -> "It's 164.41 miles from Boston to New York City.", - "user" -> "If I made the trip in 3h 17m, how fast was I going?", - "assistant" -> { - "tool" -> { - "WolframLanguageEvaluator", - <| "code" -> "\[FreeformPrompt][\"164.41 Miles\"] / \[FreeformPrompt][\"3h 17m\"]" |> - } - }, - "system" -> "Quantity[50.071, \"Miles\" / \"Hours\"]", - "assistant" -> "You were going 50.071 miles per hour.", - "user" -> "What time would I arrive if I left right now?", - "assistant" -> { - "tool" -> { - "WolframLanguageEvaluator", - <| "code" -> "\[FreeformPrompt][\"3h 17m from now\"]" |> - } - } -]; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*FileSystemTree*) -$fullExamples0[ "FileSystemTree" ] := toolExample[ - "user" -> "What's the best way to generate a tree of files in a given directory?", - "assistant" -> { - "tool" -> { "DocumentationSearcher", <| "query" -> "tree of files" |> } - }, - "system" -> { - "* FileSystemTree - (score: 9.9) FileSystemTree[root] gives a tree whose keys are ...", - "* Tree Drawing - (score: 3.0) ..." - }, - "assistant" -> { - "tool" -> { "DocumentationLookup", <| "names" -> "FileSystemTree" |> } - }, - "..." -]; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*FractionalDerivatives*) -$fullExamples0[ "FractionalDerivatives" ] := toolExample[ - "user" -> "Calculate the half-order fractional derivative of x^n with respect to x.", - "assistant" -> { - "tool" -> { "DocumentationSearcher", <| "query" -> "fractional derivatives" |> } - }, - "system" -> { - "* FractionalD - (score: 9.5) FractionalD[f, {x, a}] gives ...", - "* NFractionalD - (score: 9.2) ..." - }, - "assistant" -> { - "tool" -> { "DocumentationLookup", <| "names" -> "FractionalD" |> } - }, - "system" -> { - "Usage", - "FractionalD[f, {x, a}] gives the Riemann-Liouville fractional derivative D_x^a f(x) of order a of the function f.", - "", - "Basic Examples", - "..." - }, - "assistant" -> { - "tool" -> { - "WolframLanguageEvaluator", - <| "code" -> "FractionalD[x^n, {x, 1/2}]" |> - } - }, - "system" -> { - "Out[n]= Piecewise[...]\n", - "![Formatted Result](expression://content-{id})" - }, - "assistant" -> { - "The half-order fractional derivative of $$x^n$$ with respect to $$x$$ is given by:", - "![Fractional Derivative](expression://content-{id})" - } -]; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*PlotEvaluate*) -$fullExamples0[ "PlotEvaluate" ] := toolExample[ - "user" -> "Plot sin(x) from -5 to 5", - "assistant" -> { - "tool" -> { - "WolframLanguageEvaluator", - <| "code" -> "Plot[Sin[x], {x, -5, 5}, AxesLabel -> {\"x\", \"sin(x)\"}" |> - } - }, - "system" -> "Out[n]= ![image](attachment://content-{id})", - "assistant" -> { - "Here's the plot of $$\\sin{x}$$ from -5 to 5:", - "![Plot](attachment://content-{id})" - } -]; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*TemporaryDirectory*) -$fullExamples0[ "TemporaryDirectory" ] := toolExample[ - "user" -> "Where is the temporary directory located?", - "assistant" -> { - "tool" -> { "DocumentationSearcher", <| "query" -> "location of temporary directory" |> } - }, - "system" -> { - "* $TemporaryDirectory - (score: 9.6) $TemporaryDirectory gives the main system directory for temporary files.", - "* CreateDirectory - (score: 8.5) CreateDirectory[\"dir\"] creates ..." - }, - "assistant" -> { - "tool" -> { "WolframLanguageEvaluator", <| "code" -> "$TemporaryDirectory" |> } - }, - "system" -> "Out[n]= \"C:\\Users\\UserName\\AppData\\Local\\Temp\"", - "assistant" -> "The temporary directory is located at C:\\Users\\UserName\\AppData\\Local\\Temp." -]; - -(* ::**************************************************************************************************************:: *) -(* ::Section::Closed:: *) -(*Expression URIs*) -$expressionSchemes = { "attachment", "audio", "dynamic", "expression", "video" }; -$$expressionScheme = Alternatives @@ $expressionSchemes; - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*FormatToolResponse*) -FormatToolResponse // ClearAll; -FormatToolResponse[ response_ ] := makeToolResponseString @ response; - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*MakeExpressionURI*) -MakeExpressionURI // ClearAll; -MakeExpressionURI[ args: Repeated[ _, { 1, 3 } ] ] := makeExpressionURI @ args; - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*GetExpressionURIs*) -GetExpressionURIs // ClearAll; -GetExpressionURIs // Options = { Tooltip -> Automatic }; - -GetExpressionURIs[ str_, opts: OptionsPattern[ ] ] := - GetExpressionURIs[ str, ## &, opts ]; - -GetExpressionURIs[ str_String, wrapper_, opts: OptionsPattern[ ] ] := - catchMine @ Block[ { $uriTooltip = OptionValue @ Tooltip }, - StringSplit[ - str, - link: Shortest[ "![" ~~ __ ~~ "](" ~~ __ ~~ ")" ] /; expressionURIQ @ link :> - catchAlways @ GetExpressionURI[ link, wrapper ] - ] - ]; - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*GetExpressionURI*) -GetExpressionURI // beginDefinition; -GetExpressionURI // Options = { Tooltip -> Automatic }; - -GetExpressionURI[ uri_, opts: OptionsPattern[ ] ] := - catchMine @ GetExpressionURI[ uri, ## &, opts ]; - -GetExpressionURI[ URL[ uri_ ], wrapper_, opts: OptionsPattern[ ] ] := - catchMine @ GetExpressionURI[ uri, wrapper, opts ]; - -GetExpressionURI[ uri_String, wrapper_, opts: OptionsPattern[ ] ] := catchMine @ Enclose[ - Module[ { held }, - held = ConfirmMatch[ getExpressionURI[ uri, OptionValue[ Tooltip ] ], _HoldComplete, "GetExpressionURI" ]; - wrapper @@ held - ], - throwInternalFailure -]; - -GetExpressionURI[ All, wrapper_, opts: OptionsPattern[ ] ] := catchMine @ Enclose[ - Module[ { attachments }, - attachments = ConfirmBy[ $attachments, AssociationQ, "Attachments" ]; - ConfirmAssert[ AllTrue[ attachments, MatchQ[ _HoldComplete ] ], "HeldAttachments" ]; - Replace[ attachments, HoldComplete[ a___ ] :> RuleCondition @ wrapper @ a, { 1 } ] - ], - throwInternalFailure -]; - -GetExpressionURI // endExportedDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*getExpressionURI0*) -getExpressionURI // beginDefinition; -getExpressionURI[ uri_, tooltip_ ] := Block[ { $tooltip = tooltip }, getExpressionURI0 @ uri ]; -getExpressionURI // endDefinition; - - -getExpressionURI0 // beginDefinition; - -getExpressionURI0[ str_String ] := - Module[ { split }, - split = First[ StringSplit[ str, "![" ~~ alt__ ~~ "](" ~~ url__ ~~ ")" :> { alt, url } ], $Failed ]; - getExpressionURI0 @@ split /; MatchQ[ split, { _String, _String } ] - ]; - -getExpressionURI0[ uri_String ] := getExpressionURI0[ None, uri ]; - -getExpressionURI0[ tooltip_, uri_String? expressionURIKeyQ ] := - getExpressionURI0[ tooltip, uri, <| "Domain" -> uri |> ]; - -getExpressionURI0[ tooltip_, uri_String ] := getExpressionURI0[ tooltip, uri, URLParse @ uri ]; - -getExpressionURI0[ tooltip_, uri_, as: KeyValuePattern[ "Domain" -> key_? expressionURIKeyQ ] ] := Enclose[ - ConfirmMatch[ displayAttachment[ uri, tooltip, key ], _HoldComplete, "DisplayAttachment" ], - throwInternalFailure -]; - -getExpressionURI0[ tooltip_, uri_String, as_ ] := - throwFailure[ "InvalidExpressionURI", uri ]; - -getExpressionURI0 // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*expressionURIQ*) -expressionURIQ // beginDefinition; -expressionURIQ[ str_String ] := expressionURIKeyQ @ expressionURIKey @ str; -expressionURIQ // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*expressionURIKeyQ*) -expressionURIKeyQ // beginDefinition; - -expressionURIKeyQ[ key_String ] := - StringMatchQ[ key, "content-" ~~ Repeated[ LetterCharacter|DigitCharacter, $tinyHashLength ] ]; - -expressionURIKeyQ[ _ ] := - False; - -expressionURIKeyQ // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*expressionURIKey*) -expressionURIKey // beginDefinition; - -expressionURIKey[ str_String ] := expressionURIKey[ str ] = FixedPoint[ - StringDelete @ { - StartOfString ~~ "![" ~~ __ ~~ "](", - StartOfString ~~ LetterCharacter.. ~~ "://", - ")"~~EndOfString - }, - str -]; - -expressionURIKey // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*displayAttachment*) -displayAttachment // beginDefinition; - -displayAttachment[ uri_, None, key_ ] := - getAttachment[ uri, key ]; - -displayAttachment[ uri_, tooltip_String, key_ ] := Enclose[ - Replace[ - ConfirmMatch[ getAttachment[ uri, key ], _HoldComplete, "GetAttachment" ], - HoldComplete[ expr_ ] :> - If[ TrueQ @ $tooltip, - HoldComplete @ Tooltip[ expr, tooltip ], - HoldComplete @ expr - ] - ], - throwInternalFailure -]; - -displayAttachment // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*getAttachment*) -getAttachment // beginDefinition; - -getAttachment[ uri_String, key_String ] := - Lookup[ $attachments, key, throwFailure[ "URIUnavailable", uri ] ]; - -getAttachment // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*makeToolResponseString*) -makeToolResponseString // beginDefinition; - -makeToolResponseString[ failure_Failure ] := makeFailureString @ failure; - -makeToolResponseString[ expr_? simpleResultQ ] := - With[ { string = fixLineEndings @ TextString @ expr }, - If[ StringLength @ string < $toolResultStringLength, - If[ StringContainsQ[ string, "\n" ], "\n" <> string, string ], - StringJoin[ - "\n", - fixLineEndings @ ToString[ - Unevaluated @ Short[ expr, Floor[ $toolResultStringLength / 100 ] ], - OutputForm, - PageWidth -> 100 - ], - "\n\n\n", - makeExpressionURI[ "expression", "Formatted Result", Unevaluated @ expr ] - ] - ] - ]; - -makeToolResponseString[ expr_ ] := makeExpressionURI @ expr; - -makeToolResponseString // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*makeExpressionURI*) -makeExpressionURI // beginDefinition; - -makeExpressionURI[ expr_ ] := - makeExpressionURI[ Automatic, Unevaluated @ expr ]; - -makeExpressionURI[ label_, expr_ ] := - makeExpressionURI[ Automatic, label, Unevaluated @ expr ]; - -makeExpressionURI[ Automatic, label_, expr_ ] := - makeExpressionURI[ expressionURIScheme @ expr, label, Unevaluated @ expr ]; - -makeExpressionURI[ scheme_, Automatic, expr_ ] := - makeExpressionURI[ scheme, expressionURILabel @ expr, Unevaluated @ expr ]; - -makeExpressionURI[ scheme_, label_, expr_ ] := - With[ { id = "content-" <> tinyHash @ Unevaluated @ expr }, - $attachments[ id ] = HoldComplete @ expr; - "![" <> TextString @ label <> "](" <> TextString @ scheme <> "://" <> id <> ")" - ]; - -makeExpressionURI // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsubsection::Closed:: *) -(*expressionURILabel*) -expressionURILabel // beginDefinition; -expressionURILabel // Attributes = { HoldAllComplete }; - -(* Audio *) -expressionURILabel[ Audio[ path_String, ___ ] ] := "Audio Player: " <> path; -expressionURILabel[ Audio[ File[ path_String ], ___ ] ] := "Audio Player: " <> path; -expressionURILabel[ _Audio ] := "Embedded Audio Player"; - -(* Video *) -expressionURILabel[ Video[ path_String, ___ ] ] := "Video Player: " <> path; -expressionURILabel[ Video[ File[ path_String ], ___ ] ] := "Video Player: " <> path; -expressionURILabel[ _Video ] := "Embedded Video Player"; - -(* Dynamic *) -expressionURILabel[ _Manipulate ] := "Embedded Interactive Content"; - -(* Graphics *) -expressionURILabel[ _Graph|_Graph3D ] := "Graph"; -expressionURILabel[ _Tree ] := "Tree"; -expressionURILabel[ gfx_ ] /; graphicsQ @ Unevaluated @ gfx := "Image"; - -(* Data *) -expressionURILabel[ _List|_Association ] := "Data"; - -(* Other *) -expressionURILabel[ _ ] := "Content"; - -expressionURILabel // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsubsection::Closed:: *) -(*expressionURIScheme*) -expressionURIScheme // beginDefinition; -expressionURIScheme // Attributes = { HoldAllComplete }; -expressionURIScheme[ _Video ] := (needsURIPrompt[ "SpecialURIVideo" ]; "video"); -expressionURIScheme[ _Audio ] := (needsURIPrompt[ "SpecialURIAudio" ]; "audio"); -expressionURIScheme[ _Manipulate|_DynamicModule|_Dynamic ] := (needsURIPrompt[ "SpecialURIDynamic" ]; "dynamic"); -expressionURIScheme[ gfx_ ] /; graphicsQ @ Unevaluated @ gfx := "attachment"; -expressionURIScheme[ _ ] := "expression"; -expressionURIScheme // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsubsection::Closed:: *) -(*needsURIPrompt*) -needsURIPrompt // beginDefinition; - -needsURIPrompt[ name_String ] := ( - needsBasePrompt[ name ]; - If[ toolSelectedQ[ "WolframLanguageEvaluator" ], needsBasePrompt[ "SpecialURIImporting" ] ] -); - -needsURIPrompt // endDefinition; - (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Utilities*) diff --git a/Source/Chatbook/Tools/Examples.wl b/Source/Chatbook/Tools/Examples.wl new file mode 100644 index 00000000..dc75b21c --- /dev/null +++ b/Source/Chatbook/Tools/Examples.wl @@ -0,0 +1,346 @@ +(* ::Section::Closed:: *) +(*Package Header*) +BeginPackage[ "Wolfram`Chatbook`Tools`" ]; +Begin[ "`Private`" ]; + +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Configuration*) + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Definitions*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*$fullExamples*) +$fullExamples := + With[ { keys = $fullExamplesKeys }, + If[ keys === { }, + "", + needsBasePrompt[ "EndTurnToolCall" ]; + StringJoin[ + "## Full examples\n\n", + "The following are brief conversation examples that demonstrate how you can use tools in a ", + "conversation with the user.\n\n---\n\n", + StringRiffle[ Values @ KeyTake[ $fullExamples0, $fullExamplesKeys ], "\n\n---\n\n" ], + "\n\n---\n" + ] + ] + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*$fullExamplesKeys*) +$fullExamplesKeys := + With[ { selected = Keys @ $selectedTools }, + Select[ + { + "AstroGraphicsDocumentation", + "FileSystemTree", + "FractionalDerivatives", + "NaturalLanguageInput", + "PlotEvaluate", + "TemporaryDirectory" + }, + ContainsAll[ selected, $exampleDependencies[ #1 ] ] & + ] + ]; + +$exampleDependencies = <| + "AstroGraphicsDocumentation" -> { "DocumentationLookup" }, + "FileSystemTree" -> { "DocumentationSearcher", "DocumentationLookup" }, + "FractionalDerivatives" -> { "DocumentationSearcher", "DocumentationLookup", "WolframLanguageEvaluator" }, + "NaturalLanguageInput" -> { "WolframLanguageEvaluator" }, + "PlotEvaluate" -> { "WolframLanguageEvaluator" }, + "TemporaryDirectory" -> { "DocumentationSearcher", "WolframLanguageEvaluator" } +|>; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*$fullExamples0*) +$fullExamples0 = <| |>; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*Example Templates*) +$chatMessageTemplates = <| |>; +$messageTemplateType = "Basic"; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*Basic*) +$chatMessageTemplates[ "Basic" ] = <| |>; +$chatMessageTemplates[ "Basic", "User" ] = "User: %%1%%"; +$chatMessageTemplates[ "Basic", "Assistant" ] = "Assistant: %%1%%\n/end"; +$chatMessageTemplates[ "Basic", "System" ] = "System: %%1%%"; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*Instruct*) +$chatMessageTemplates[ "Instruct" ] = <| |>; +$chatMessageTemplates[ "Instruct", "User" ] = "[INST]%%1%%[/INST]"; +$chatMessageTemplates[ "Instruct", "Assistant" ] = "%%1%%\n/end"; +$chatMessageTemplates[ "Instruct", "System" ] = "[INST]%%1%%[/INST]"; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*Zephyr*) +$chatMessageTemplates[ "Zephyr" ] = <| |>; +$chatMessageTemplates[ "Zephyr", "User" ] = "<|user|>\n%%1%%"; +$chatMessageTemplates[ "Zephyr", "Assistant" ] = "<|assistant|>\n%%1%%\n/end"; +$chatMessageTemplates[ "Zephyr", "System" ] = "<|system|>\n%%1%%"; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*Phi*) +$chatMessageTemplates[ "Phi" ] = <| |>; +$chatMessageTemplates[ "Phi", "User" ] = "<|user|>\n%%1%%<|end|>"; +$chatMessageTemplates[ "Phi", "Assistant" ] = "<|assistant|>\n%%1%%\n/end<|end|>"; +$chatMessageTemplates[ "Phi", "System" ] = "<|user|>\n%%1%%<|end|>"; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*Boxed*) +$chatMessageTemplates[ "Boxed" ] = <| |>; +$chatMessageTemplates[ "Boxed", "User" ] = "[user]\n%%1%%"; +$chatMessageTemplates[ "Boxed", "Assistant" ] = "[assistant]\n%%1%%\n/end"; +$chatMessageTemplates[ "Boxed", "System" ] = "[system]\n%%1%%"; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*ChatML*) +$chatMessageTemplates[ "ChatML" ] = <| |>; +$chatMessageTemplates[ "ChatML", "User" ] = "<|im_start|>user\n%%1%%<|im_end|>"; +$chatMessageTemplates[ "ChatML", "Assistant" ] = "<|im_start|>assistant\n%%1%%\n/end<|im_end|>"; +$chatMessageTemplates[ "ChatML", "System" ] = "<|im_start|>system\n%%1%%<|im_end|>"; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*XML*) +$chatMessageTemplates[ "XML" ] = <| |>; +$chatMessageTemplates[ "XML", "User" ] = "%%1%%"; +$chatMessageTemplates[ "XML", "Assistant" ] = "%%1%%\n/end"; +$chatMessageTemplates[ "XML", "System" ] = "%%1%%"; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*messageTemplate*) +messageTemplate // beginDefinition; + +messageTemplate[ id_String ] := Enclose[ + StringTemplate[ + ConfirmBy[ $chatMessageTemplates[ $messageTemplateType, id ], StringQ, "TemplateString" ], + Delimiters -> "%%" + ], + throwInternalFailure +]; + +messageTemplate // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*user*) +user // beginDefinition; +user[ a_List ] := TemplateApply[ messageTemplate[ "User" ], StringRiffle[ TextString /@ Flatten @ a, "\n" ] ]; +user[ a_String ] := user @ { a }; +user // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*assistant*) +assistant // beginDefinition; +assistant[ { a___, "tool"|"Tool" -> { name_, as_ }, b___ } ] := assistant @ { a, toolCall[ name, as ], b }; +assistant[ a_List ] := TemplateApply[ messageTemplate[ "Assistant" ], StringRiffle[ TextString /@ Flatten @ a, "\n" ] ]; +assistant[ a_String ] := assistant @ { a }; +assistant // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*system*) +system // beginDefinition; +system[ a_List ] := TemplateApply[ messageTemplate[ "System" ], StringRiffle[ TextString /@ Flatten @ a, "\n" ] ]; +system[ a_String ] := system @ { a }; +system // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*toolCall*) +toolCall // beginDefinition; +toolCall[ args__ ] := formatToolCallExample @ args; +toolCall // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*toolExample*) +toolExample // beginDefinition; +toolExample[ { rules: (_Rule|_String)... } ] := StringRiffle[ toolExample0 /@ { rules }, "\n\n" ]; +toolExample[ rules: (_Rule|_String)... ] := toolExample @ { rules }; +toolExample // endDefinition; + +toolExample0 // beginDefinition; +toolExample0[ "user"|"User" -> message_ ] := user @ message; +toolExample0[ "assistant"|"Assistant" -> message_ ] := assistant @ message; +toolExample0[ "system"|"System" -> message_ ] := system @ message; +toolExample0[ prompt_String ] := prompt; +toolExample0 // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Full Example Specifications*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*AstroGraphicsDocumentation*) +$fullExamples0[ "AstroGraphicsDocumentation" ] := toolExample[ + "user" -> "How do I use AstroGraphics?", + "assistant" -> { + "Let me check the documentation for you. One moment...", + "tool" -> { "DocumentationLookup", <| "names" -> "AstroGraphics" |> } + }, + "system" -> { + "Usage", + "AstroGraphics[primitives, options] represents a two-dimensional view of space and the celestial sphere.", + "", + "Basic Examples", + "..." + }, + "assistant" -> "To use [AstroGraphics](paclet:ref/AstroGraphics), you need to..." +]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*NaturalLanguageInput*) +$fullExamples0[ "NaturalLanguageInput" ] := toolExample[ + "user" -> "How far away is NYC from Boston?", + "assistant" -> { + "tool" -> { + "WolframLanguageEvaluator", + <| "code" -> "GeoDistance[\[FreeformPrompt][\"Boston, MA\"], \[FreeformPrompt][\"New York City\"]]" |> + } + }, + "system" -> "Quantity[164.41, \"Miles\"]", + "assistant" -> "It's 164.41 miles from Boston to New York City.", + "user" -> "If I made the trip in 3h 17m, how fast was I going?", + "assistant" -> { + "tool" -> { + "WolframLanguageEvaluator", + <| "code" -> "\[FreeformPrompt][\"164.41 Miles\"] / \[FreeformPrompt][\"3h 17m\"]" |> + } + }, + "system" -> "Quantity[50.071, \"Miles\" / \"Hours\"]", + "assistant" -> "You were going 50.071 miles per hour.", + "user" -> "What time would I arrive if I left right now?", + "assistant" -> { + "tool" -> { + "WolframLanguageEvaluator", + <| "code" -> "\[FreeformPrompt][\"3h 17m from now\"]" |> + } + } +]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*FileSystemTree*) +$fullExamples0[ "FileSystemTree" ] := toolExample[ + "user" -> "What's the best way to generate a tree of files in a given directory?", + "assistant" -> { + "tool" -> { "DocumentationSearcher", <| "query" -> "tree of files" |> } + }, + "system" -> { + "* FileSystemTree - (score: 9.9) FileSystemTree[root] gives a tree whose keys are ...", + "* Tree Drawing - (score: 3.0) ..." + }, + "assistant" -> { + "tool" -> { "DocumentationLookup", <| "names" -> "FileSystemTree" |> } + }, + "..." +]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*FractionalDerivatives*) +$fullExamples0[ "FractionalDerivatives" ] := toolExample[ + "user" -> "Calculate the half-order fractional derivative of x^n with respect to x.", + "assistant" -> { + "tool" -> { "DocumentationSearcher", <| "query" -> "fractional derivatives" |> } + }, + "system" -> { + "* FractionalD - (score: 9.5) FractionalD[f, {x, a}] gives ...", + "* NFractionalD - (score: 9.2) ..." + }, + "assistant" -> { + "tool" -> { "DocumentationLookup", <| "names" -> "FractionalD" |> } + }, + "system" -> { + "Usage", + "FractionalD[f, {x, a}] gives the Riemann-Liouville fractional derivative D_x^a f(x) of order a of the function f.", + "", + "Basic Examples", + "..." + }, + "assistant" -> { + "tool" -> { + "WolframLanguageEvaluator", + <| "code" -> "FractionalD[x^n, {x, 1/2}]" |> + } + }, + "system" -> { + "Out[n]= Piecewise[...]\n", + "![Formatted Result](expression://content-{id})" + }, + "assistant" -> { + "The half-order fractional derivative of $$x^n$$ with respect to $$x$$ is given by:", + "![Fractional Derivative](expression://content-{id})" + } +]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*PlotEvaluate*) +$fullExamples0[ "PlotEvaluate" ] := toolExample[ + "user" -> "Plot sin(x) from -5 to 5", + "assistant" -> { + "tool" -> { + "WolframLanguageEvaluator", + <| "code" -> "Plot[Sin[x], {x, -5, 5}, AxesLabel -> {\"x\", \"sin(x)\"}" |> + } + }, + "system" -> "Out[n]= ![image](attachment://content-{id})", + "assistant" -> { + "Here's the plot of $$\\sin{x}$$ from -5 to 5:", + "![Plot](attachment://content-{id})" + } +]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*TemporaryDirectory*) +$fullExamples0[ "TemporaryDirectory" ] := toolExample[ + "user" -> "Where is the temporary directory located?", + "assistant" -> { + "tool" -> { "DocumentationSearcher", <| "query" -> "location of temporary directory" |> } + }, + "system" -> { + "* $TemporaryDirectory - (score: 9.6) $TemporaryDirectory gives the main system directory for temporary files.", + "* CreateDirectory - (score: 8.5) CreateDirectory[\"dir\"] creates ..." + }, + "assistant" -> { + "tool" -> { "WolframLanguageEvaluator", <| "code" -> "$TemporaryDirectory" |> } + }, + "system" -> "Out[n]= \"C:\\Users\\UserName\\AppData\\Local\\Temp\"", + "assistant" -> "The temporary directory is located at C:\\Users\\UserName\\AppData\\Local\\Temp." +]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +addToMXInitialization[ + Null +]; + +End[ ]; +EndPackage[ ]; diff --git a/Source/Chatbook/Tools/ExpressionURIs.wl b/Source/Chatbook/Tools/ExpressionURIs.wl new file mode 100644 index 00000000..0148f24f --- /dev/null +++ b/Source/Chatbook/Tools/ExpressionURIs.wl @@ -0,0 +1,294 @@ +(* ::Section::Closed:: *) +(*Package Header*) +BeginPackage[ "Wolfram`Chatbook`Tools`" ]; +Begin[ "`Private`" ]; + +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Configuration*) +$expressionSchemes = { "attachment", "audio", "dynamic", "expression", "video" }; +$$expressionScheme = Alternatives @@ $expressionSchemes; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*FormatToolResponse*) +FormatToolResponse // ClearAll; +FormatToolResponse[ response_ ] := makeToolResponseString @ response; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*makeToolResponseString*) +makeToolResponseString // beginDefinition; + +makeToolResponseString[ failure_Failure ] := makeFailureString @ failure; + +makeToolResponseString[ expr_? simpleResultQ ] := + With[ { string = fixLineEndings @ TextString @ expr }, + If[ StringLength @ string < $toolResultStringLength, + If[ StringContainsQ[ string, "\n" ], "\n" <> string, string ], + StringJoin[ + "\n", + fixLineEndings @ ToString[ + Unevaluated @ Short[ expr, Floor[ $toolResultStringLength / 100 ] ], + OutputForm, + PageWidth -> 100 + ], + "\n\n\n", + makeExpressionURI[ "expression", "Formatted Result", Unevaluated @ expr ] + ] + ] + ]; + +makeToolResponseString[ expr_ ] := makeExpressionURI @ expr; + +makeToolResponseString // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*MakeExpressionURI*) +MakeExpressionURI // ClearAll; +MakeExpressionURI[ args: Repeated[ _, { 1, 3 } ] ] := makeExpressionURI @ args; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*makeExpressionURI*) +makeExpressionURI // beginDefinition; + +makeExpressionURI[ expr_ ] := + makeExpressionURI[ Automatic, Unevaluated @ expr ]; + +makeExpressionURI[ label_, expr_ ] := + makeExpressionURI[ Automatic, label, Unevaluated @ expr ]; + +makeExpressionURI[ Automatic, label_, expr_ ] := + makeExpressionURI[ expressionURIScheme @ expr, label, Unevaluated @ expr ]; + +makeExpressionURI[ scheme_, Automatic, expr_ ] := + makeExpressionURI[ scheme, expressionURILabel @ expr, Unevaluated @ expr ]; + +makeExpressionURI[ scheme_, label_, expr_ ] := + With[ { id = "content-" <> tinyHash @ Unevaluated @ expr }, + $attachments[ id ] = HoldComplete @ expr; + "![" <> TextString @ label <> "](" <> TextString @ scheme <> "://" <> id <> ")" + ]; + +makeExpressionURI // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*expressionURIScheme*) +expressionURIScheme // beginDefinition; +expressionURIScheme // Attributes = { HoldAllComplete }; +expressionURIScheme[ _Video ] := (needsURIPrompt[ "SpecialURIVideo" ]; "video"); +expressionURIScheme[ _Audio ] := (needsURIPrompt[ "SpecialURIAudio" ]; "audio"); +expressionURIScheme[ _Manipulate|_DynamicModule|_Dynamic ] := (needsURIPrompt[ "SpecialURIDynamic" ]; "dynamic"); +expressionURIScheme[ gfx_ ] /; graphicsQ @ Unevaluated @ gfx := "attachment"; +expressionURIScheme[ _ ] := "expression"; +expressionURIScheme // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*needsURIPrompt*) +needsURIPrompt // beginDefinition; + +needsURIPrompt[ name_String ] := ( + needsBasePrompt[ name ]; + If[ toolSelectedQ[ "WolframLanguageEvaluator" ], needsBasePrompt[ "SpecialURIImporting" ] ] +); + +needsURIPrompt // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*expressionURILabel*) +expressionURILabel // beginDefinition; +expressionURILabel // Attributes = { HoldAllComplete }; + +(* Audio *) +expressionURILabel[ Audio[ path_String, ___ ] ] := "Audio Player: " <> path; +expressionURILabel[ Audio[ File[ path_String ], ___ ] ] := "Audio Player: " <> path; +expressionURILabel[ _Audio ] := "Embedded Audio Player"; + +(* Video *) +expressionURILabel[ Video[ path_String, ___ ] ] := "Video Player: " <> path; +expressionURILabel[ Video[ File[ path_String ], ___ ] ] := "Video Player: " <> path; +expressionURILabel[ _Video ] := "Embedded Video Player"; + +(* Dynamic *) +expressionURILabel[ _Manipulate ] := "Embedded Interactive Content"; + +(* Graphics *) +expressionURILabel[ _Graph|_Graph3D ] := "Graph"; +expressionURILabel[ _Tree ] := "Tree"; +expressionURILabel[ gfx_ ] /; graphicsQ @ Unevaluated @ gfx := "Image"; + +(* Data *) +expressionURILabel[ _List|_Association ] := "Data"; + +(* Other *) +expressionURILabel[ _ ] := "Content"; + +expressionURILabel // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*GetExpressionURIs*) +GetExpressionURIs // ClearAll; +GetExpressionURIs // Options = { Tooltip -> Automatic }; + +GetExpressionURIs[ str_, opts: OptionsPattern[ ] ] := + GetExpressionURIs[ str, ## &, opts ]; + +GetExpressionURIs[ str_String, wrapper_, opts: OptionsPattern[ ] ] := + catchMine @ Block[ { $uriTooltip = OptionValue @ Tooltip }, + StringSplit[ + str, + link: Shortest[ "![" ~~ __ ~~ "](" ~~ __ ~~ ")" ] /; expressionURIQ @ link :> + catchAlways @ GetExpressionURI[ link, wrapper ] + ] + ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*expressionURIQ*) +expressionURIQ // beginDefinition; +expressionURIQ[ str_String ] := expressionURIKeyQ @ expressionURIKey @ str; +expressionURIQ // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*expressionURIKeyQ*) +expressionURIKeyQ // beginDefinition; + +expressionURIKeyQ[ key_String ] := + StringMatchQ[ key, "content-" ~~ Repeated[ LetterCharacter|DigitCharacter, $tinyHashLength ] ]; + +expressionURIKeyQ[ _ ] := + False; + +expressionURIKeyQ // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*expressionURIKey*) +expressionURIKey // beginDefinition; + +expressionURIKey[ str_String ] := expressionURIKey[ str ] = FixedPoint[ + StringDelete @ { + StartOfString ~~ "![" ~~ __ ~~ "](", + StartOfString ~~ LetterCharacter.. ~~ "://", + ")"~~EndOfString + }, + str +]; + +expressionURIKey // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*GetExpressionURI*) +GetExpressionURI // beginDefinition; +GetExpressionURI // Options = { Tooltip -> Automatic }; + +GetExpressionURI[ uri_, opts: OptionsPattern[ ] ] := + catchMine @ GetExpressionURI[ uri, ## &, opts ]; + +GetExpressionURI[ URL[ uri_ ], wrapper_, opts: OptionsPattern[ ] ] := + catchMine @ GetExpressionURI[ uri, wrapper, opts ]; + +GetExpressionURI[ uri_String, wrapper_, opts: OptionsPattern[ ] ] := catchMine @ Enclose[ + Module[ { held }, + held = ConfirmMatch[ getExpressionURI[ uri, OptionValue[ Tooltip ] ], _HoldComplete, "GetExpressionURI" ]; + wrapper @@ held + ], + throwInternalFailure +]; + +GetExpressionURI[ All, wrapper_, opts: OptionsPattern[ ] ] := catchMine @ Enclose[ + Module[ { attachments }, + attachments = ConfirmBy[ $attachments, AssociationQ, "Attachments" ]; + ConfirmAssert[ AllTrue[ attachments, MatchQ[ _HoldComplete ] ], "HeldAttachments" ]; + Replace[ attachments, HoldComplete[ a___ ] :> RuleCondition @ wrapper @ a, { 1 } ] + ], + throwInternalFailure +]; + +GetExpressionURI // endExportedDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*getExpressionURI*) +getExpressionURI // beginDefinition; +getExpressionURI[ uri_, tooltip_ ] := Block[ { $tooltip = tooltip }, getExpressionURI0 @ uri ]; +getExpressionURI // endDefinition; + + +getExpressionURI0 // beginDefinition; + +getExpressionURI0[ str_String ] := + Module[ { split }, + split = First[ StringSplit[ str, "![" ~~ alt__ ~~ "](" ~~ url__ ~~ ")" :> { alt, url } ], $Failed ]; + getExpressionURI0 @@ split /; MatchQ[ split, { _String, _String } ] + ]; + +getExpressionURI0[ uri_String ] := getExpressionURI0[ None, uri ]; + +getExpressionURI0[ tooltip_, uri_String? expressionURIKeyQ ] := + getExpressionURI0[ tooltip, uri, <| "Domain" -> uri |> ]; + +getExpressionURI0[ tooltip_, uri_String ] := getExpressionURI0[ tooltip, uri, URLParse @ uri ]; + +getExpressionURI0[ tooltip_, uri_, as: KeyValuePattern[ "Domain" -> key_? expressionURIKeyQ ] ] := Enclose[ + ConfirmMatch[ displayAttachment[ uri, tooltip, key ], _HoldComplete, "DisplayAttachment" ], + throwInternalFailure +]; + +getExpressionURI0[ tooltip_, uri_String, as_ ] := + throwFailure[ "InvalidExpressionURI", uri ]; + +getExpressionURI0 // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*displayAttachment*) +displayAttachment // beginDefinition; + +displayAttachment[ uri_, None, key_ ] := + getAttachment[ uri, key ]; + +displayAttachment[ uri_, tooltip_String, key_ ] := Enclose[ + Replace[ + ConfirmMatch[ getAttachment[ uri, key ], _HoldComplete, "GetAttachment" ], + HoldComplete[ expr_ ] :> + If[ TrueQ @ $tooltip, + HoldComplete @ Tooltip[ expr, tooltip ], + HoldComplete @ expr + ] + ], + throwInternalFailure +]; + +displayAttachment // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*getAttachment*) +getAttachment // beginDefinition; + +getAttachment[ uri_String, key_String ] := + Lookup[ $attachments, key, throwFailure[ "URIUnavailable", uri ] ]; + +getAttachment // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +addToMXInitialization[ + Null +]; + +End[ ]; +EndPackage[ ]; diff --git a/Source/Chatbook/Tools/NotebookEditor.wl b/Source/Chatbook/Tools/NotebookEditor.wl index fa106222..c0f69e1f 100644 --- a/Source/Chatbook/Tools/NotebookEditor.wl +++ b/Source/Chatbook/Tools/NotebookEditor.wl @@ -13,10 +13,6 @@ $notebookEditorEnabled := TrueQ @ $WorkspaceChat || TrueQ @ $InlineChat; $cancelledNotebookEdit = Missing[ "Edit was cancelled by the user" ]; -(* ::**************************************************************************************************************:: *) -(* ::Section::Closed:: *) -(*Tool Metadata*) - (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*Icon*) diff --git a/Source/Chatbook/Tools/Tools.wl b/Source/Chatbook/Tools/Tools.wl index 4db63f66..c185973a 100644 --- a/Source/Chatbook/Tools/Tools.wl +++ b/Source/Chatbook/Tools/Tools.wl @@ -6,10 +6,16 @@ Begin[ "`Private`" ]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Load Subcontexts*) -Get[ "Wolfram`Chatbook`Tools`Common`" ]; +Get[ "Wolfram`Chatbook`Tools`Common`" ]; +Get[ "Wolfram`Chatbook`Tools`ToolOptions`" ]; +Get[ "Wolfram`Chatbook`Tools`Examples`" ]; +Get[ "Wolfram`Chatbook`Tools`ExpressionURIs`" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Default Tool Definitions*) Get[ "Wolfram`Chatbook`Tools`ChatPreferences`" ]; Get[ "Wolfram`Chatbook`Tools`NotebookEditor`" ]; -Get[ "Wolfram`Chatbook`Tools`ToolOptions`" ]; Get[ "Wolfram`Chatbook`Tools`WolframAlpha`" ]; Get[ "Wolfram`Chatbook`Tools`DefaultTools`" ]; From 4f74ad2c6206c393a282ec18acc622849dedc10a Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 3 Sep 2024 08:49:55 -0400 Subject: [PATCH 059/180] Move tool definition files to separate directory --- Source/Chatbook/Tools/Common.wl | 43 +- .../ChatPreferences.wl | 79 +- .../DocumentationLookup.wl | 156 ++++ .../DocumentationSearcher.wl | 69 ++ .../NotebookEditor.wl | 32 + .../DefaultToolDefinitions/WebFetcher.wl | 143 ++++ .../WebImageSearcher.wl | 97 +++ .../DefaultToolDefinitions/WebSearcher.wl | 117 +++ .../WolframAlpha.wl | 48 ++ .../WolframLanguageEvaluator.wl | 81 ++ Source/Chatbook/Tools/DefaultTools.wl | 692 +----------------- Source/Chatbook/Tools/Tools.wl | 11 +- 12 files changed, 859 insertions(+), 709 deletions(-) rename Source/Chatbook/Tools/{ => DefaultToolDefinitions}/ChatPreferences.wl (85%) create mode 100644 Source/Chatbook/Tools/DefaultToolDefinitions/DocumentationLookup.wl create mode 100644 Source/Chatbook/Tools/DefaultToolDefinitions/DocumentationSearcher.wl rename Source/Chatbook/Tools/{ => DefaultToolDefinitions}/NotebookEditor.wl (84%) create mode 100644 Source/Chatbook/Tools/DefaultToolDefinitions/WebFetcher.wl create mode 100644 Source/Chatbook/Tools/DefaultToolDefinitions/WebImageSearcher.wl create mode 100644 Source/Chatbook/Tools/DefaultToolDefinitions/WebSearcher.wl rename Source/Chatbook/Tools/{ => DefaultToolDefinitions}/WolframAlpha.wl (91%) create mode 100644 Source/Chatbook/Tools/DefaultToolDefinitions/WolframLanguageEvaluator.wl diff --git a/Source/Chatbook/Tools/Common.wl b/Source/Chatbook/Tools/Common.wl index 65b0c224..e3401f7f 100644 --- a/Source/Chatbook/Tools/Common.wl +++ b/Source/Chatbook/Tools/Common.wl @@ -1214,11 +1214,52 @@ $toolFrequencyExplanations = <| 5 -> "ALWAYS make a tool call in EVERY response, no matter what." |>; +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Tool Properties*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*getToolIcon*) +getToolIcon // beginDefinition; +getToolIcon[ tool: $$llmTool ] := getToolIcon @ toolData @ tool; +getToolIcon[ as_Association ] := Lookup[ toolData @ as, "Icon", RawBoxes @ TemplateBox[ { }, "WrenchIcon" ] ]; +getToolIcon[ _ ] := $defaultToolIcon; +getToolIcon // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*getToolDisplayName*) +getToolDisplayName // beginDefinition; + +getToolDisplayName[ tool_ ] := + getToolDisplayName[ tool, Missing[ "NotFound" ] ]; + +getToolDisplayName[ tool: $$llmTool, default_ ] := + getToolDisplayName @ toolData @ tool; + +getToolDisplayName[ as_Association, default_ ] := + Lookup[ as, "DisplayName", toDisplayToolName @ Lookup[ as, "Name", default ] ]; + +getToolDisplayName[ _, default_ ] := + default; + +getToolDisplayName // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*getToolFormattingFunction*) +getToolFormattingFunction // beginDefinition; +getToolFormattingFunction[ HoldPattern @ LLMTool[ as_, ___ ] ] := getToolFormattingFunction @ as; +getToolFormattingFunction[ as_Association ] := Lookup[ as, "FormattingFunction", Automatic ]; +getToolFormattingFunction[ _ ] := Automatic; +getToolFormattingFunction // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Package Footer*) addToMXInitialization[ - Null + $toolConfiguration; ]; (* :!CodeAnalysis::EndBlock:: *) diff --git a/Source/Chatbook/Tools/ChatPreferences.wl b/Source/Chatbook/Tools/DefaultToolDefinitions/ChatPreferences.wl similarity index 85% rename from Source/Chatbook/Tools/ChatPreferences.wl rename to Source/Chatbook/Tools/DefaultToolDefinitions/ChatPreferences.wl index d9cd96fd..c70e2552 100644 --- a/Source/Chatbook/Tools/ChatPreferences.wl +++ b/Source/Chatbook/Tools/DefaultToolDefinitions/ChatPreferences.wl @@ -14,29 +14,16 @@ Needs[ "Wolfram`Chatbook`Serialization`" ]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) -(*Config*) -$usableChatSettingsKeys = { - "Assistance", - "ChatHistoryLength", - "LLMEvaluator", - "MaxCellStringLength", - "MergeMessages", - "Model", - "Prompts", - "Temperature", - "ToolCallFrequency", - "Tools" -}; - -$$scope = _NotebookObject | $FrontEnd; +(*Tool Specification*) (* ::**************************************************************************************************************:: *) -(* ::Section::Closed:: *) -(*Chat Preferences*) +(* ::Subsection::Closed:: *) +(*Icon*) +$chatPreferencesIcon = RawBoxes @ TemplateBox[ { }, "ChatBlockSettingsMenuIcon" ]; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) -(*Tool Description*) +(*Description*) $chatPreferencesDescription = "\ Get and set current chat preferences. @@ -63,6 +50,62 @@ Key descriptions | Tools | [ string ] | | The list of currently enabled tools. Use the 'get' action for available names. | "; +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Spec*) +$defaultChatTools0[ "ChatPreferences" ] = <| + toolDefaultData[ "ChatPreferences" ], + "Icon" -> $chatPreferencesIcon, + "Description" -> $chatPreferencesDescription, + "Function" -> chatPreferences, + "FormattingFunction" -> toolAutoFormatter, + "Origin" -> "BuiltIn", + "Parameters" -> { + "action" -> <| + "Interpreter" -> { "get", "set" }, + "Help" -> "Whether to get or set chat settings", + "Required" -> True + |>, + "key" -> <| + "Interpreter" -> "String", + "Help" -> "Which chat setting to get or set", + "Required" -> False + |>, + "value" -> <| + "Interpreter" -> "String", + "Help" -> "The value to set the chat setting to", + "Required" -> False + |>, + "scope" -> <| + "Interpreter" -> { "global", "notebook" }, + "Help" -> "The scope of the chat setting (default is 'notebook')", + "Required" -> False + |> + } +|>; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Config*) +$usableChatSettingsKeys = { + "Assistance", + "ChatHistoryLength", + "LLMEvaluator", + "MaxCellStringLength", + "MergeMessages", + "Model", + "Prompts", + "Temperature", + "ToolCallFrequency", + "Tools" +}; + +$$scope = _NotebookObject | $FrontEnd; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Chat Preferences*) + (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*Definitions*) diff --git a/Source/Chatbook/Tools/DefaultToolDefinitions/DocumentationLookup.wl b/Source/Chatbook/Tools/DefaultToolDefinitions/DocumentationLookup.wl new file mode 100644 index 00000000..7f1521f7 --- /dev/null +++ b/Source/Chatbook/Tools/DefaultToolDefinitions/DocumentationLookup.wl @@ -0,0 +1,156 @@ +(* ::Section::Closed:: *) +(*Package Header*) +BeginPackage[ "Wolfram`Chatbook`Tools`" ]; +Begin[ "`Private`" ]; + +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; +Needs[ "Wolfram`Chatbook`Serialization`" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Tool Specification*) +$defaultChatTools0[ "DocumentationLookup" ] = <| + toolDefaultData[ "DocumentationLookup" ], + "ShortName" -> "doc_lookup", + "Icon" -> RawBoxes @ TemplateBox[ { }, "ToolIconDocumentationLookup" ], + "Description" -> "Get documentation pages for Wolfram Language symbols.", + "Function" -> documentationLookup, + "FormattingFunction" -> toolAutoFormatter, + "Origin" -> "BuiltIn", + "Parameters" -> { + "names" -> <| + "Interpreter" -> DelimitedSequence[ "WolframLanguageSymbol", "," ], + "Help" -> "One or more Wolfram Language symbols separated by commas", + "Required" -> True + |> + } +|>; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Tool Function*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*documentationLookup*) +documentationLookup // beginDefinition; + +documentationLookup[ KeyValuePattern[ "names" -> name_ ] ] := documentationLookup @ name; +documentationLookup[ name_Entity ] := documentationLookup @ CanonicalName @ name; +documentationLookup[ names_List ] := StringRiffle[ documentationLookup /@ names, "\n\n---\n\n" ]; + +documentationLookup[ name_String ] := Enclose[ + Module[ { usage, details, examples, strings, body }, + usage = ConfirmMatch[ documentationUsage @ name, _String|_Missing, "Usage" ]; + details = ConfirmMatch[ documentationDetails @ name, _String|_Missing, "Details" ]; + examples = ConfirmMatch[ documentationBasicExamples @ name, _String|_Missing, "Examples" ]; + strings = ConfirmMatch[ DeleteMissing @ { usage, details, examples }, { ___String }, "Strings" ]; + body = If[ strings === { }, ToString[ Missing[ "NotFound" ], InputForm ], StringRiffle[ strings, "\n\n" ] ]; + "# " <> name <> "\n\n" <> body + ], + throwInternalFailure +]; + +documentationLookup // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*documentationUsage*) +documentationUsage // beginDefinition; +documentationUsage[ name_String ] := documentationUsage[ name, wolframLanguageData[ name, "PlaintextUsage" ] ]; +documentationUsage[ name_, missing_Missing ] := missing; +documentationUsage[ name_, usage_String ] := "## Usage\n\n" <> usage; +documentationUsage // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*documentationDetails*) +documentationDetails // beginDefinition; +documentationDetails[ name_String ] := Missing[ ]; (* TODO *) +documentationDetails // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*documentationBasicExamples*) +documentationBasicExamples // beginDefinition; + +documentationBasicExamples[ name_String ] := + documentationBasicExamples[ name, wolframLanguageData[ name, "DocumentationBasicExamples" ] ]; + +documentationBasicExamples[ name_, missing_Missing ] := missing; + +documentationBasicExamples[ name_, examples_List ] := Enclose[ + Module[ { cells, strings }, + cells = renumberCells @ Replace[ Flatten @ examples, RawBoxes[ cell_ ] :> cell, { 1 } ]; + strings = ConfirmMatch[ cellToString /@ cells, { ___String }, "CellToString" ]; + If[ strings === { }, + Missing[ ], + StringDelete[ + "## Basic Examples\n\n" <> StringRiffle[ strings, "\n\n" ], + Longest[ "```\n\n```"~~("wl"|"") ] + ] + ] + ], + throwInternalFailure +]; + +documentationBasicExamples // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*cellToString*) +cellToString[ args___ ] := CellToString[ + args, + "ContentTypes" -> If[ TrueQ @ $multimodalMessages, { "Text", "Image" }, Automatic ], + "MaxCellStringLength" -> 100 +]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*renumberCells*) +renumberCells // beginDefinition; +renumberCells[ cells_List ] := Block[ { $line = 0 }, renumberCell /@ Flatten @ cells ]; +renumberCells // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*renumberCell*) +renumberCell // beginDefinition; + +renumberCell[ Cell[ a__, "Input", b: (Rule|RuleDelayed)[ _, _ ]... ] ] := + Cell[ a, "Input", CellLabel -> "In[" <> ToString @ ++$line <> "]:=" ]; + +renumberCell[ Cell[ a__, "Output", b: (Rule|RuleDelayed)[ _, _ ]... ] ] := + Cell[ a, "Output", CellLabel -> "Out[" <> ToString @ $line <> "]=" ]; + +renumberCell[ Cell[ a__, style: "Print"|"Echo", b: (Rule|RuleDelayed)[ _, _ ]... ] ] := + Cell[ a, style, CellLabel -> "During evaluation of In[" <> ToString @ $line <> "]:=" ]; + +renumberCell[ cell_Cell ] := cell; + +renumberCell // endDefinition; + +$line = 0; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*wolframLanguageData*) +wolframLanguageData // beginDefinition; + +wolframLanguageData[ name_, property_ ] := Enclose[ + wolframLanguageData[ name, property ] = ConfirmBy[ WolframLanguageData[ name, property ], Not@*FailureQ ], + Missing[ "DataFailure" ] & +]; + +wolframLanguageData // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +addToMXInitialization[ + Null +]; + +End[ ]; +EndPackage[ ]; diff --git a/Source/Chatbook/Tools/DefaultToolDefinitions/DocumentationSearcher.wl b/Source/Chatbook/Tools/DefaultToolDefinitions/DocumentationSearcher.wl new file mode 100644 index 00000000..2beaa628 --- /dev/null +++ b/Source/Chatbook/Tools/DefaultToolDefinitions/DocumentationSearcher.wl @@ -0,0 +1,69 @@ +(* ::Section::Closed:: *) +(*Package Header*) +BeginPackage[ "Wolfram`Chatbook`Tools`" ]; +Begin[ "`Private`" ]; + +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Tool Specification*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Icon*) +$documentationSearcherIcon = RawBoxes @ TemplateBox[ { }, "ToolIconDocumentationSearcher" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Description*) +$documentationSearcherDescription = "\ +Search Wolfram Language documentation for symbols and more. \ +Follow up search results with the documentation lookup tool to get the full information."; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Spec*) +$defaultChatTools0[ "DocumentationSearcher" ] = <| + toolDefaultData[ "DocumentationSearcher" ], + "ShortName" -> "doc_search", + "Icon" -> $documentationSearcherIcon, + "Description" -> $documentationSearcherDescription, + "Function" -> documentationSearch, + "FormattingFunction" -> toolAutoFormatter, + "Origin" -> "BuiltIn", + "Parameters" -> { + "query" -> <| + "Interpreter" -> "String", + "Help" -> "A string representing a documentation search query", + "Required" -> True + |> + } +|>; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Tool Function*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*documentationSearch*) +documentationSearch // beginDefinition; +documentationSearch[ KeyValuePattern[ "query" -> name_ ] ] := documentationSearch @ name; +documentationSearch[ names_List ] := StringRiffle[ documentationSearch /@ names, "\n\n" ]; +documentationSearch[ name_String ] /; NameQ[ "System`" <> name ] := documentationLookup @ name; +documentationSearch[ query_String ] := documentationSearch[ query, documentationSearchAPI @ query ]; +documentationSearch[ query_String, { } ] := ToString[ Missing[ "NoResults" ], InputForm ]; +documentationSearch[ query_String, results_List ] := StringRiffle[ results, "\n" ]; +documentationSearch // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +addToMXInitialization[ + Null +]; + +End[ ]; +EndPackage[ ]; diff --git a/Source/Chatbook/Tools/NotebookEditor.wl b/Source/Chatbook/Tools/DefaultToolDefinitions/NotebookEditor.wl similarity index 84% rename from Source/Chatbook/Tools/NotebookEditor.wl rename to Source/Chatbook/Tools/DefaultToolDefinitions/NotebookEditor.wl index c0f69e1f..3e38d4f6 100644 --- a/Source/Chatbook/Tools/NotebookEditor.wl +++ b/Source/Chatbook/Tools/DefaultToolDefinitions/NotebookEditor.wl @@ -35,6 +35,38 @@ If the user asks you to fix code, edit only the relevant input cells and let the Do not surround code you write with triple backticks and don't include cell labels. \ The target 'selected' refers to the entire cell or cells."; +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Spec*) +$defaultChatTools0[ "NotebookEditor" ] = <| + toolDefaultData[ "NotebookEditor" ], + "ShortName" -> "nb_edit", + "Icon" -> $nbEditIcon, + "Description" -> $nbEditDescription, + "Enabled" :> $notebookEditorEnabled, + "Function" -> notebookEdit, + "FormattingFunction" -> toolAutoFormatter, + "Hidden" -> True, (* TODO: hide this from UI *) + "Origin" -> "BuiltIn", + "Parameters" -> { + "action" -> <| + "Interpreter" -> "String", + "Help" -> "Action to execute. Valid values are 'delete', 'write', 'append', 'prepend'.", + "Required" -> True + |>, + "target" -> <| + "Interpreter" -> "String", + "Help" -> "Target of action. Can be a comma-delimited list of cell IDs or 'selected' (default).", + "Required" -> False + |>, + "content" -> <| + "Interpreter" -> "String", + "Help" -> "Content to write, append, or prepend. Can be a string or a list of Cell expressions.", + "Required" -> False + |> + } +|>; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Tool Function*) diff --git a/Source/Chatbook/Tools/DefaultToolDefinitions/WebFetcher.wl b/Source/Chatbook/Tools/DefaultToolDefinitions/WebFetcher.wl new file mode 100644 index 00000000..af7f22ae --- /dev/null +++ b/Source/Chatbook/Tools/DefaultToolDefinitions/WebFetcher.wl @@ -0,0 +1,143 @@ +(* ::Section::Closed:: *) +(*Package Header*) +BeginPackage[ "Wolfram`Chatbook`Tools`" ]; +Begin[ "`Private`" ]; + +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Tool Specification*) +$defaultChatTools0[ "WebFetcher" ] = <| + toolDefaultData[ "WebFetcher" ], + "ShortName" -> "web_fetch", + "Icon" -> RawBoxes @ TemplateBox[ { }, "ToolIconWebFetcher" ], + "Description" -> "Fetch plain text or image links from a URL.", + "Function" -> webFetch, + "FormattingFunction" -> toolAutoFormatter, + "Origin" -> "BuiltIn", + "Parameters" -> { + "url" -> <| + "Interpreter" -> "URL", + "Help" -> "The URL", + "Required" -> True + |>, + "format" -> <| + "Interpreter" -> { "Plaintext", "ImageLinks" }, + "Help" -> "The type of content to retrieve (\"Plaintext\" or \"ImageLinks\")", + "Required" -> True + |> + } +|>; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Tool Function*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*webFetch*) +webFetch // beginDefinition; +webFetch[ KeyValuePattern @ { "url" -> url_, "format" -> fmt_ } ] := webFetch[ url, fmt ]; +webFetch[ url_, "Plaintext" ] := fetchWebText @ url; +webFetch[ url: _URL|_String, fmt_String ] := webFetch[ url, fmt, Import[ url, { "HTML", fmt } ] ]; +webFetch[ url_, "ImageLinks", { } ] := <| "Result" -> { }, "String" -> "No links found at " <> TextString @ url |>; +webFetch[ url_, "ImageLinks", links: { __String } ] := <| "Result" -> links, "String" -> StringRiffle[ links, "\n" ] |>; +webFetch[ url_, fmt_, result_String ] := shortenWebText @ niceWebText @ result; +webFetch // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*fetchWebText*) +fetchWebText // beginDefinition; + +fetchWebText[ URL[ url_ ] ] := + fetchWebText @ url; + +fetchWebText[ url_String ] := + fetchWebText[ url, $webSession ]; + +fetchWebText[ url_String, session_WebSessionObject ] := Enclose[ + Module[ { body, strings }, + ConfirmMatch[ WebExecute[ session, { "OpenPage" -> url } ], _Success | { __Success } ]; + Pause[ 3 ]; (* Allow time for the page to load *) + body = ConfirmMatch[ WebExecute[ session, "LocateElements" -> "Tag" -> "body" ], { __WebElementObject } ]; + strings = ConfirmMatch[ WebExecute[ "ElementText" -> body ], { __String } ]; + shortenWebText @ niceWebText @ strings + ], + shortenWebText @ niceWebText @ Import[ url, { "HTML", "Plaintext" } ] & +]; + +fetchWebText[ url_String, _Missing | _? FailureQ ] := + shortenWebText @ niceWebText @ Import[ url, { "HTML", "Plaintext" } ]; + +fetchWebText // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*shortenWebText*) +shortenWebText // beginDefinition; +shortenWebText[ text_String ] := shortenWebText[ text, toolOptionValue[ "WebFetcher", "MaxContentLength" ] ]; +shortenWebText[ text_String, len_Integer? Positive ] := StringTake[ text, UpTo[ len ] ]; +shortenWebText[ text_String, Infinity|All ] := text; +shortenWebText[ text_String, _ ] := shortenWebText[ text, $defaultWebTextLength ]; +shortenWebText // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*niceWebText*) +niceWebText // beginDefinition; +niceWebText[ str_String ] := StringReplace[ StringDelete[ str, "\r" ], Longest[ "\n"~~Whitespace~~"\n" ] :> "\n\n" ]; +niceWebText[ strings_List ] := StringRiffle[ StringTrim[ niceWebText /@ strings ], "\n\n" ]; +niceWebText // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*$webSession*) +$webSession := getWebSession[ ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*getWebSession*) +getWebSession // beginDefinition; +getWebSession[ ] := getWebSession @ $currentWebSession; +getWebSession[ session_WebSessionObject? validWebSessionQ ] := session; +getWebSession[ session_WebSessionObject ] := (Quiet @ DeleteObject @ session; startWebSession[ ]); +getWebSession[ _ ] := startWebSession[ ]; +getWebSession // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*validWebSessionQ*) +validWebSessionQ // ClearAll; + +validWebSessionQ[ session_WebSessionObject ] := + With[ { valid = Quiet @ StringQ @ WebExecute[ session, "PageURL" ] }, + If[ valid, True, Quiet @ DeleteObject @ session; False ] + ]; + +validWebSessionQ[ ___ ] := False; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*startWebSession*) +startWebSession // beginDefinition; + +startWebSession[ ] := $currentWebSession = + If[ TrueQ @ $CloudEvaluation, + Missing[ "NotAvailable" ], + StartWebSession[ Visible -> $webSessionVisible ] + ]; + +startWebSession // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +addToMXInitialization[ + Null +]; + +End[ ]; +EndPackage[ ]; diff --git a/Source/Chatbook/Tools/DefaultToolDefinitions/WebImageSearcher.wl b/Source/Chatbook/Tools/DefaultToolDefinitions/WebImageSearcher.wl new file mode 100644 index 00000000..9498b82f --- /dev/null +++ b/Source/Chatbook/Tools/DefaultToolDefinitions/WebImageSearcher.wl @@ -0,0 +1,97 @@ +(* ::Section::Closed:: *) +(*Package Header*) +BeginPackage[ "Wolfram`Chatbook`Tools`" ]; +Begin[ "`Private`" ]; + +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Tool Specification*) +$defaultChatTools0[ "WebImageSearcher" ] = <| + toolDefaultData[ "WebImageSearcher" ], + "ShortName" -> "img_search", + "Icon" -> RawBoxes @ TemplateBox[ { }, "ToolIconWebImageSearcher" ], + "Description" -> "Search the web for images.", + "Function" -> webImageSearch, + "FormattingFunction" -> toolAutoFormatter, + "Origin" -> "BuiltIn", + "Parameters" -> { + "query" -> <| + "Interpreter" -> "String", + "Help" -> "Search query text", + "Required" -> True + |> + } +|>; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Tool Function*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*webImageSearch*) +webImageSearch // beginDefinition; + +webImageSearch[ KeyValuePattern[ "query" -> query_ ] ] := Block[ { PrintTemporary }, webImageSearch @ query ]; +webImageSearch[ query_String ] := webImageSearch[ query, webImageSearch0[ query ] ]; + +webImageSearch[ query_, { } ] := <| + "Result" -> { }, + "String" -> "No results found" +|>; + +webImageSearch[ query_, urls: { __ } ] := <| + "Result" -> Column[ Hyperlink /@ urls, BaseStyle -> "Text" ], + "String" -> StringRiffle[ TextString /@ urls, "\n" ] +|>; + +webImageSearch[ query_, failed_Failure ] := <| + "Result" -> failed, + "String" -> makeFailureString @ failed +|>; + +webImageSearch // endDefinition; + + +webImageSearch0 // beginDefinition; + +webImageSearch0[ query_String ] := Enclose[ + Module[ { opts, raw, result, held, $unavailable }, + opts = Sequence @@ ConfirmMatch[ toolOptions[ "WebImageSearcher" ], { $$optionsSequence }, "Options" ]; + result = Quiet[ + Check[ + raw = WebImageSearch[ query, "ImageHyperlinks", opts ], + $unavailable, + (* cSpell: ignore unexp *) + IntegratedServices`IntegratedServices::unexp + ], + IntegratedServices`IntegratedServices::unexp + ]; + + held = HoldForm @ Evaluate @ raw; + + Quiet @ Replace[ + result, + { + $unavailable :> messageFailure[ "IntegratedServiceUnavailable", "WebImageSearch", held ], + Except[ _List ] :> messageFailure[ "IntegratedServiceError" , "WebImageSearch", held ] + } + ] + ], + throwInternalFailure +]; + +webImageSearch0 // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +addToMXInitialization[ + Null +]; + +End[ ]; +EndPackage[ ]; diff --git a/Source/Chatbook/Tools/DefaultToolDefinitions/WebSearcher.wl b/Source/Chatbook/Tools/DefaultToolDefinitions/WebSearcher.wl new file mode 100644 index 00000000..c19d8f44 --- /dev/null +++ b/Source/Chatbook/Tools/DefaultToolDefinitions/WebSearcher.wl @@ -0,0 +1,117 @@ +(* ::Section::Closed:: *) +(*Package Header*) +BeginPackage[ "Wolfram`Chatbook`Tools`" ]; +Begin[ "`Private`" ]; + +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Tool Specification*) +$defaultChatTools0[ "WebSearcher" ] = <| + toolDefaultData[ "WebSearcher" ], + "ShortName" -> "web_search", + "Icon" -> RawBoxes @ TemplateBox[ { }, "ToolIconWebSearcher" ], + "Description" -> "Search the web.", + "Function" -> webSearch, + "FormattingFunction" -> toolAutoFormatter, + "Origin" -> "BuiltIn", + "Parameters" -> { + "query" -> <| + "Interpreter" -> "String", + "Help" -> "Search query text", + "Required" -> True + |> + } +|>; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Tool Function*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*webSearch*) +webSearch // beginDefinition; + +webSearch[ KeyValuePattern[ "query" -> query_ ] ] := + Block[ { PrintTemporary }, webSearch @ query ]; + +webSearch[ query_String ] := Enclose[ + Catch @ Module[ { result, json, string }, + result = ConfirmMatch[ webSearch0 @ query, _Dataset|_Failure, "WebSearch" ]; + + If[ MatchQ[ result, _Failure ], + Throw @ <| "Result" -> result, "String" -> makeFailureString @ result |> + ]; + + json = ConfirmBy[ Developer`WriteRawJSONString[ Normal @ result /. URL[ url_ ] :> url ], StringQ, "JSON" ]; + json = StringReplace[ json, "\\/" -> "/" ]; + string = ConfirmBy[ TemplateApply[ $webSearchResultTemplate, json ], StringQ, "TemplateApply" ]; + + <| "Result" -> result, "String" -> string |> + ], + throwInternalFailure +]; + +webSearch // endDefinition; + + +webSearch0 // beginDefinition; + +webSearch0[ query_String ] := Enclose[ + Module[ { opts, raw, result, held, $unavailable }, + opts = Sequence @@ ConfirmMatch[ toolOptions[ "WebSearcher" ], { $$optionsSequence }, "Options" ]; + result = Quiet[ + Check[ + raw = WebSearch[ query, opts ], + $unavailable, + (* cSpell: ignore unexp *) + IntegratedServices`IntegratedServices::unexp + ], + IntegratedServices`IntegratedServices::unexp + ]; + + held = HoldForm @ Evaluate @ raw; + + Quiet @ Replace[ + result, + { + $unavailable :> messageFailure[ "IntegratedServiceUnavailable", "WebSearch", held ], + Except[ _Dataset ] :> messageFailure[ "IntegratedServiceError" , "WebSearch", held ] + } + ] + ], + throwInternalFailure +]; + +webSearch0 // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*$webSearchResultTemplate*) +$webSearchResultTemplate := StringTemplate @ StringJoin[ + "Results\n-------\n\n`1`\n\n-------", + If[ toolSelectedQ[ "WebFetcher" ], + $webSearchFetchPrompt, + "" + ] +]; + +$webSearchFetchPrompt = " + +Important: The snippet text is not enough information to write an informed response! If there are any relevant \ +results, you should now immediately use the web_fetcher tool to retrieve them before responding. Do not ask the user \ +for permission first. If it made sense to use the web_searcher tool, it's also implied that you should use the \ +web_fetcher tool."; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +addToMXInitialization[ + Null +]; + +End[ ]; +EndPackage[ ]; diff --git a/Source/Chatbook/Tools/WolframAlpha.wl b/Source/Chatbook/Tools/DefaultToolDefinitions/WolframAlpha.wl similarity index 91% rename from Source/Chatbook/Tools/WolframAlpha.wl rename to Source/Chatbook/Tools/DefaultToolDefinitions/WolframAlpha.wl index 1c12dfcc..cd872203 100644 --- a/Source/Chatbook/Tools/WolframAlpha.wl +++ b/Source/Chatbook/Tools/DefaultToolDefinitions/WolframAlpha.wl @@ -6,6 +6,54 @@ Begin[ "`Private`" ]; Needs[ "Wolfram`Chatbook`" ]; Needs[ "Wolfram`Chatbook`Common`" ]; +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Tool Specification*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Icon*) +$wolframAlphaIcon = RawBoxes @ DynamicBox @ FEPrivate`FrontEndResource[ "FEBitmaps", "InsertionAlpha" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Description*) +$wolframAlphaDescription = "\ +Use natural language queries with Wolfram|Alpha to get up-to-date computational results about entities in chemistry, \ +physics, geography, history, art, astronomy, and more."; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Spec*) +$defaultChatTools0[ "WolframAlpha" ] = <| + toolDefaultData[ "WolframAlpha" ], + "ShortName" -> "wa", + "Icon" -> $wolframAlphaIcon, + "Description" -> $wolframAlphaDescription, + "DisplayName" -> "Wolfram|Alpha", + "Enabled" :> ! TrueQ @ $AutomaticAssistance, + "FormattingFunction" -> wolframAlphaResultFormatter, + "Function" -> getWolframAlphaText, + "Origin" -> "BuiltIn", + "Parameters" -> { + "query" -> <| + "Interpreter" -> "String", + "Help" -> "the input", + "Required" -> True + |>, + "steps" -> <| + "Interpreter" -> "Boolean", + "Help" -> "whether to show step-by-step solution", + "Required" -> False + |>(*, + "assumption" -> <| + "Interpreter" -> "String", + "Help" -> "the assumption to use, passed back from a previous query with the same input.", + "Required" -> False + |>*) + } +|>; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Configuration*) diff --git a/Source/Chatbook/Tools/DefaultToolDefinitions/WolframLanguageEvaluator.wl b/Source/Chatbook/Tools/DefaultToolDefinitions/WolframLanguageEvaluator.wl new file mode 100644 index 00000000..fce3102c --- /dev/null +++ b/Source/Chatbook/Tools/DefaultToolDefinitions/WolframLanguageEvaluator.wl @@ -0,0 +1,81 @@ +(* ::Section::Closed:: *) +(*Package Header*) +BeginPackage[ "Wolfram`Chatbook`Tools`" ]; +Begin[ "`Private`" ]; + +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Tool Specification*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Icon*) +$wolframLanguageEvaluatorIcon = RawBoxes @ TemplateBox[ { }, "AssistantEvaluate" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Description*) +$wolframLanguageEvaluatorDescription = "\ +Evaluate Wolfram Language code for the user in a separate kernel. \ +The user does not automatically see the result. \ +Do not ask permission to evaluate code. \ +You must include the result in your response in order for them to see it. \ +If a formatted result is provided as a markdown link, use that in your response instead of typing out the output. \ +The evaluator supports interactive content such as Manipulate. \ +You have read access to local files. +Parse natural language input with `\[FreeformPrompt][\"query\"]`, which is analogous to ctrl-= input in notebooks. \ +Natural language input is parsed before evaluation, so it works like macro expansion. \ +You should ALWAYS use this natural language input to obtain things like `Quantity`, `DateObject`, `Entity`, etc. \ +\[FreeformPrompt] should be written as \\uf351 in JSON. +"; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Spec*) +$defaultChatTools0[ "WolframLanguageEvaluator" ] = <| + toolDefaultData[ "WolframLanguageEvaluator" ], + "ShortName" -> "wl", + "Icon" -> $wolframLanguageEvaluatorIcon, + "Description" -> $wolframLanguageEvaluatorDescription, + "Enabled" :> ! TrueQ @ $AutomaticAssistance, + "FormattingFunction" -> sandboxFormatter, + "Function" -> sandboxEvaluate, + "Origin" -> "BuiltIn", + "Parameters" -> { + "code" -> <| + "Interpreter" -> "String", + "Help" -> "Wolfram Language code to evaluate", + "Required" -> True + |> + } +|>; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Tool Function*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*wolframLanguageEvaluator*) +wolframLanguageEvaluator // beginDefinition; + +wolframLanguageEvaluator[ code_String ] := + Block[ { $ChatNotebookEvaluation = True }, wolframLanguageEvaluator[ code, sandboxEvaluate @ code ] ]; + +wolframLanguageEvaluator[ code_, result_Association ] := + KeyTake[ result, { "Result", "String" } ]; + +wolframLanguageEvaluator // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +addToMXInitialization[ + Null +]; + +End[ ]; +EndPackage[ ]; diff --git a/Source/Chatbook/Tools/DefaultTools.wl b/Source/Chatbook/Tools/DefaultTools.wl index 8bca0fdd..2bfef15f 100644 --- a/Source/Chatbook/Tools/DefaultTools.wl +++ b/Source/Chatbook/Tools/DefaultTools.wl @@ -1,688 +1,24 @@ (* ::Section::Closed:: *) (*Package Header*) BeginPackage[ "Wolfram`Chatbook`Tools`" ]; - -(* cSpell: ignore TOOLCALL, ENDARGUMENTS, ENDTOOLCALL, Deflatten, Liouville, unexp *) - -(* :!CodeAnalysis::BeginBlock:: *) -(* :!CodeAnalysis::Disable::SuspiciousSessionSymbol:: *) - Begin[ "`Private`" ]; -Needs[ "Wolfram`Chatbook`" ]; -Needs[ "Wolfram`Chatbook`Common`" ]; -Needs[ "Wolfram`Chatbook`Personas`" ]; -Needs[ "Wolfram`Chatbook`ResourceInstaller`" ]; -Needs[ "Wolfram`Chatbook`Serialization`" ]; +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Default Tools*) - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*ChatPreferences*) - (* Uncomment the following when the ChatPreferences tool is ready: *) -(* $defaultChatTools0[ "ChatPreferences" ] = <| - toolDefaultData[ "ChatPreferences" ], - "Icon" -> RawBoxes @ TemplateBox[ { }, "ChatBlockSettingsMenuIcon" ], - "Description" -> $chatPreferencesDescription, - "Function" -> chatPreferences, - "FormattingFunction" -> toolAutoFormatter, - "Origin" -> "BuiltIn", - "Parameters" -> { - "action" -> <| - "Interpreter" -> { "get", "set" }, - "Help" -> "Whether to get or set chat settings", - "Required" -> True - |>, - "key" -> <| - "Interpreter" -> "String", - "Help" -> "Which chat setting to get or set", - "Required" -> False - |>, - "value" -> <| - "Interpreter" -> "String", - "Help" -> "The value to set the chat setting to", - "Required" -> False - |>, - "scope" -> <| - "Interpreter" -> { "global", "notebook" }, - "Help" -> "The scope of the chat setting (default is 'notebook')", - "Required" -> False - |> - } -|>; *) - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*DocumentationSearch*) -$documentationSearchDescription = "\ -Search Wolfram Language documentation for symbols and more. \ -Follow up search results with the documentation lookup tool to get the full information."; - -$defaultChatTools0[ "DocumentationSearcher" ] = <| - toolDefaultData[ "DocumentationSearcher" ], - "ShortName" -> "doc_search", - "Icon" -> RawBoxes @ TemplateBox[ { }, "ToolIconDocumentationSearcher" ], - "Description" -> $documentationSearchDescription, - "Function" -> documentationSearch, - "FormattingFunction" -> toolAutoFormatter, - "Origin" -> "BuiltIn", - "Parameters" -> { - "query" -> <| - "Interpreter" -> "String", - "Help" -> "A string representing a documentation search query", - "Required" -> True - |> - } -|>; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*documentationSearch*) -documentationSearch // beginDefinition; -documentationSearch[ KeyValuePattern[ "query" -> name_ ] ] := documentationSearch @ name; -documentationSearch[ names_List ] := StringRiffle[ documentationSearch /@ names, "\n\n" ]; -documentationSearch[ name_String ] /; NameQ[ "System`" <> name ] := documentationLookup @ name; -documentationSearch[ query_String ] := documentationSearch[ query, documentationSearchAPI @ query ]; -documentationSearch[ query_String, { } ] := ToString[ Missing[ "NoResults" ], InputForm ]; -documentationSearch[ query_String, results_List ] := StringRiffle[ results, "\n" ]; -documentationSearch // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*DocumentationLookup*) -$defaultChatTools0[ "DocumentationLookup" ] = <| - toolDefaultData[ "DocumentationLookup" ], - "ShortName" -> "doc_lookup", - "Icon" -> RawBoxes @ TemplateBox[ { }, "ToolIconDocumentationLookup" ], - "Description" -> "Get documentation pages for Wolfram Language symbols.", - "Function" -> documentationLookup, - "FormattingFunction" -> toolAutoFormatter, - "Origin" -> "BuiltIn", - "Parameters" -> { - "names" -> <| - "Interpreter" -> DelimitedSequence[ "WolframLanguageSymbol", "," ], - "Help" -> "One or more Wolfram Language symbols separated by commas", - "Required" -> True - |> - } -|>; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*documentationLookup*) -documentationLookup // beginDefinition; - -documentationLookup[ KeyValuePattern[ "names" -> name_ ] ] := documentationLookup @ name; -documentationLookup[ name_Entity ] := documentationLookup @ CanonicalName @ name; -documentationLookup[ names_List ] := StringRiffle[ documentationLookup /@ names, "\n\n---\n\n" ]; - -documentationLookup[ name_String ] := Enclose[ - Module[ { usage, details, examples, strings, body }, - usage = ConfirmMatch[ documentationUsage @ name, _String|_Missing, "Usage" ]; - details = ConfirmMatch[ documentationDetails @ name, _String|_Missing, "Details" ]; - examples = ConfirmMatch[ documentationBasicExamples @ name, _String|_Missing, "Examples" ]; - strings = ConfirmMatch[ DeleteMissing @ { usage, details, examples }, { ___String }, "Strings" ]; - body = If[ strings === { }, ToString[ Missing[ "NotFound" ], InputForm ], StringRiffle[ strings, "\n\n" ] ]; - "# " <> name <> "\n\n" <> body - ], - throwInternalFailure[ documentationLookup @ name, ## ] & -]; - -documentationLookup // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*documentationUsage*) -documentationUsage // beginDefinition; -documentationUsage[ name_String ] := documentationUsage[ name, wolframLanguageData[ name, "PlaintextUsage" ] ]; -documentationUsage[ name_, missing_Missing ] := missing; -documentationUsage[ name_, usage_String ] := "## Usage\n\n" <> usage; -documentationUsage // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*documentationDetails*) -documentationDetails // beginDefinition; -documentationDetails[ name_String ] := Missing[ ]; (* TODO *) -documentationDetails // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*documentationBasicExamples*) -documentationBasicExamples // beginDefinition; - -documentationBasicExamples[ name_String ] := - documentationBasicExamples[ name, wolframLanguageData[ name, "DocumentationBasicExamples" ] ]; - -documentationBasicExamples[ name_, missing_Missing ] := missing; - -documentationBasicExamples[ name_, examples_List ] := Enclose[ - Module[ { cells, strings }, - cells = renumberCells @ Replace[ Flatten @ examples, RawBoxes[ cell_ ] :> cell, { 1 } ]; - strings = ConfirmMatch[ cellToString /@ cells, { ___String }, "CellToString" ]; - If[ strings === { }, - Missing[ ], - StringDelete[ - "## Basic Examples\n\n" <> StringRiffle[ strings, "\n\n" ], - Longest[ "```\n\n```"~~("wl"|"") ] - ] - ] - ], - throwInternalFailure[ documentationBasicExamples[ name, examples ], ## ] & -]; - -documentationBasicExamples // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsubsection::Closed:: *) -(*cellToString*) -cellToString[ args___ ] := CellToString[ - args, - "ContentTypes" -> If[ TrueQ @ $multimodalMessages, { "Text", "Image" }, Automatic ], - "MaxCellStringLength" -> 100 -]; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*renumberCells*) -renumberCells // beginDefinition; -renumberCells[ cells_List ] := Block[ { $line = 0 }, renumberCell /@ Flatten @ cells ]; -renumberCells // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsubsection::Closed:: *) -(*renumberCell*) -renumberCell // beginDefinition; - -renumberCell[ Cell[ a__, "Input", b: (Rule|RuleDelayed)[ _, _ ]... ] ] := - Cell[ a, "Input", CellLabel -> "In[" <> ToString @ ++$line <> "]:=" ]; - -renumberCell[ Cell[ a__, "Output", b: (Rule|RuleDelayed)[ _, _ ]... ] ] := - Cell[ a, "Output", CellLabel -> "Out[" <> ToString @ $line <> "]=" ]; - -renumberCell[ Cell[ a__, style: "Print"|"Echo", b: (Rule|RuleDelayed)[ _, _ ]... ] ] := - Cell[ a, style, CellLabel -> "During evaluation of In[" <> ToString @ $line <> "]:=" ]; - -renumberCell[ cell_Cell ] := cell; - -renumberCell // endDefinition; - -$line = 0; - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*WolframLanguageEvaluator*) -$sandboxEvaluateDescription = "\ -Evaluate Wolfram Language code for the user in a separate kernel. \ -The user does not automatically see the result. \ -Do not ask permission to evaluate code. \ -You must include the result in your response in order for them to see it. \ -If a formatted result is provided as a markdown link, use that in your response instead of typing out the output. \ -The evaluator supports interactive content such as Manipulate. \ -You have read access to local files. -Parse natural language input with `\[FreeformPrompt][\"query\"]`, which is analogous to ctrl-= input in notebooks. \ -Natural language input is parsed before evaluation, so it works like macro expansion. \ -You should ALWAYS use this natural language input to obtain things like `Quantity`, `DateObject`, `Entity`, etc. \ -\[FreeformPrompt] should be written as \\uf351 in JSON. -"; - -$defaultChatTools0[ "WolframLanguageEvaluator" ] = <| - toolDefaultData[ "WolframLanguageEvaluator" ], - "ShortName" -> "wl", - "Description" -> $sandboxEvaluateDescription, - "Enabled" :> ! TrueQ @ $AutomaticAssistance, - "FormattingFunction" -> sandboxFormatter, - "Function" -> sandboxEvaluate, - "Icon" -> RawBoxes @ TemplateBox[ { }, "AssistantEvaluate" ], - "Origin" -> "BuiltIn", - "Parameters" -> { - "code" -> <| - "Interpreter" -> "String", - "Help" -> "Wolfram Language code to evaluate", - "Required" -> True - |> - } -|>; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*wolframLanguageEvaluator*) -wolframLanguageEvaluator // beginDefinition; - -wolframLanguageEvaluator[ code_String ] := - Block[ { $ChatNotebookEvaluation = True }, wolframLanguageEvaluator[ code, sandboxEvaluate @ code ] ]; - -wolframLanguageEvaluator[ code_, result_Association ] := - KeyTake[ result, { "Result", "String" } ]; - -wolframLanguageEvaluator // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*Wolfram Alpha*) -$wolframAlphaDescription = "\ -Use natural language queries with Wolfram|Alpha to get up-to-date computational results about entities in chemistry, \ -physics, geography, history, art, astronomy, and more."; - -$wolframAlphaIcon = RawBoxes @ DynamicBox @ FEPrivate`FrontEndResource[ "FEBitmaps", "InsertionAlpha" ]; - -$defaultChatTools0[ "WolframAlpha" ] = <| - toolDefaultData[ "WolframAlpha" ], - "ShortName" -> "wa", - "Description" -> $wolframAlphaDescription, - "DisplayName" -> "Wolfram|Alpha", - "Enabled" :> ! TrueQ @ $AutomaticAssistance, - "FormattingFunction" -> wolframAlphaResultFormatter, - "Function" -> getWolframAlphaText, - "Icon" -> $wolframAlphaIcon, - "Origin" -> "BuiltIn", - "Parameters" -> { - "query" -> <| - "Interpreter" -> "String", - "Help" -> "the input", - "Required" -> True - |>, - "steps" -> <| - "Interpreter" -> "Boolean", - "Help" -> "whether to show step-by-step solution", - "Required" -> False - |>(*, - "assumption" -> <| - "Interpreter" -> "String", - "Help" -> "the assumption to use, passed back from a previous query with the same input.", - "Required" -> False - |>*) - } -|>; - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*WebSearch*) -$defaultChatTools0[ "WebSearcher" ] = <| - toolDefaultData[ "WebSearcher" ], - "ShortName" -> "web_search", - "Icon" -> RawBoxes @ TemplateBox[ { }, "ToolIconWebSearcher" ], - "Description" -> "Search the web.", - "Function" -> webSearch, - "FormattingFunction" -> toolAutoFormatter, - "Origin" -> "BuiltIn", - "Parameters" -> { - "query" -> <| - "Interpreter" -> "String", - "Help" -> "Search query text", - "Required" -> True - |> - } -|>; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*webSearch*) -webSearch // beginDefinition; - -webSearch[ KeyValuePattern[ "query" -> query_ ] ] := - Block[ { PrintTemporary }, webSearch @ query ]; - -webSearch[ query_String ] := Enclose[ - Catch @ Module[ { result, json, string }, - result = ConfirmMatch[ webSearch0 @ query, _Dataset|_Failure, "WebSearch" ]; - - If[ MatchQ[ result, _Failure ], - Throw @ <| "Result" -> result, "String" -> makeFailureString @ result |> - ]; - - json = ConfirmBy[ Developer`WriteRawJSONString[ Normal @ result /. URL[ url_ ] :> url ], StringQ, "JSON" ]; - json = StringReplace[ json, "\\/" -> "/" ]; - string = ConfirmBy[ TemplateApply[ $webSearchResultTemplate, json ], StringQ, "TemplateApply" ]; - - <| "Result" -> result, "String" -> string |> - ], - throwInternalFailure -]; - -webSearch // endDefinition; - - -webSearch0 // beginDefinition; - -webSearch0[ query_String ] := Enclose[ - Module[ { opts, raw, result, held, $unavailable }, - opts = Sequence @@ ConfirmMatch[ toolOptions[ "WebSearcher" ], { $$optionsSequence }, "Options" ]; - result = Quiet[ - Check[ - raw = WebSearch[ query, opts ], - $unavailable, - IntegratedServices`IntegratedServices::unexp - ], - IntegratedServices`IntegratedServices::unexp - ]; - - held = HoldForm @ Evaluate @ raw; - - Quiet @ Replace[ - result, - { - $unavailable :> messageFailure[ "IntegratedServiceUnavailable", "WebSearch", held ], - Except[ _Dataset ] :> messageFailure[ "IntegratedServiceError" , "WebSearch", held ] - } - ] - ], - throwInternalFailure -]; - -webSearch0 // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*$webSearchResultTemplate*) -$webSearchResultTemplate := StringTemplate @ StringJoin[ - "Results\n-------\n\n`1`\n\n-------", - If[ toolSelectedQ[ "WebFetcher" ], - $webSearchFetchPrompt, - "" - ] -]; - -$webSearchFetchPrompt = " - -Important: The snippet text is not enough information to write an informed response! If there are any relevant \ -results, you should now immediately use the web_fetcher tool to retrieve them before responding. Do not ask the user \ -for permission first. If it made sense to use the web_searcher tool, it's also implied that you should use the \ -web_fetcher tool."; - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*WebFetch*) -$defaultChatTools0[ "WebFetcher" ] = <| - toolDefaultData[ "WebFetcher" ], - "ShortName" -> "web_fetch", - "Icon" -> RawBoxes @ TemplateBox[ { }, "ToolIconWebFetcher" ], - "Description" -> "Fetch plain text or image links from a URL.", - "Function" -> webFetch, - "FormattingFunction" -> toolAutoFormatter, - "Origin" -> "BuiltIn", - "Parameters" -> { - "url" -> <| - "Interpreter" -> "URL", - "Help" -> "The URL", - "Required" -> True - |>, - "format" -> <| - "Interpreter" -> { "Plaintext", "ImageLinks" }, - "Help" -> "The type of content to retrieve (\"Plaintext\" or \"ImageLinks\")", - "Required" -> True - |> - } -|>; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*webFetch*) -webFetch // beginDefinition; -webFetch[ KeyValuePattern @ { "url" -> url_, "format" -> fmt_ } ] := webFetch[ url, fmt ]; -webFetch[ url_, "Plaintext" ] := fetchWebText @ url; -webFetch[ url: _URL|_String, fmt_String ] := webFetch[ url, fmt, Import[ url, { "HTML", fmt } ] ]; -webFetch[ url_, "ImageLinks", { } ] := <| "Result" -> { }, "String" -> "No links found at " <> TextString @ url |>; -webFetch[ url_, "ImageLinks", links: { __String } ] := <| "Result" -> links, "String" -> StringRiffle[ links, "\n" ] |>; -webFetch[ url_, fmt_, result_String ] := shortenWebText @ niceWebText @ result; -webFetch // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*fetchWebText*) -fetchWebText // beginDefinition; - -fetchWebText[ URL[ url_ ] ] := - fetchWebText @ url; - -fetchWebText[ url_String ] := - fetchWebText[ url, $webSession ]; - -fetchWebText[ url_String, session_WebSessionObject ] := Enclose[ - Module[ { body, strings }, - ConfirmMatch[ WebExecute[ session, { "OpenPage" -> url } ], _Success | { __Success } ]; - Pause[ 3 ]; (* Allow time for the page to load *) - body = ConfirmMatch[ WebExecute[ session, "LocateElements" -> "Tag" -> "body" ], { __WebElementObject } ]; - strings = ConfirmMatch[ WebExecute[ "ElementText" -> body ], { __String } ]; - shortenWebText @ niceWebText @ strings - ], - shortenWebText @ niceWebText @ Import[ url, { "HTML", "Plaintext" } ] & -]; - -fetchWebText[ url_String, _Missing | _? FailureQ ] := - shortenWebText @ niceWebText @ Import[ url, { "HTML", "Plaintext" } ]; - -fetchWebText // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*shortenWebText*) -shortenWebText // beginDefinition; -shortenWebText[ text_String ] := shortenWebText[ text, toolOptionValue[ "WebFetcher", "MaxContentLength" ] ]; -shortenWebText[ text_String, len_Integer? Positive ] := StringTake[ text, UpTo[ len ] ]; -shortenWebText[ text_String, Infinity|All ] := text; -shortenWebText[ text_String, _ ] := shortenWebText[ text, $defaultWebTextLength ]; -shortenWebText // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*niceWebText*) -niceWebText // beginDefinition; -niceWebText[ str_String ] := StringReplace[ StringDelete[ str, "\r" ], Longest[ "\n"~~Whitespace~~"\n" ] :> "\n\n" ]; -niceWebText[ strings_List ] := StringRiffle[ StringTrim[ niceWebText /@ strings ], "\n\n" ]; -niceWebText // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*$webSession*) -$webSession := getWebSession[ ]; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*getWebSession*) -getWebSession // beginDefinition; -getWebSession[ ] := getWebSession @ $currentWebSession; -getWebSession[ session_WebSessionObject? validWebSessionQ ] := session; -getWebSession[ session_WebSessionObject ] := (Quiet @ DeleteObject @ session; startWebSession[ ]); -getWebSession[ _ ] := startWebSession[ ]; -getWebSession // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*validWebSessionQ*) -validWebSessionQ // ClearAll; - -validWebSessionQ[ session_WebSessionObject ] := - With[ { valid = Quiet @ StringQ @ WebExecute[ session, "PageURL" ] }, - If[ valid, True, Quiet @ DeleteObject @ session; False ] - ]; - -validWebSessionQ[ ___ ] := False; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*startWebSession*) -startWebSession // beginDefinition; - -startWebSession[ ] := $currentWebSession = - If[ TrueQ @ $CloudEvaluation, - Missing[ "NotAvailable" ], - StartWebSession[ Visible -> $webSessionVisible ] - ]; - -startWebSession // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*WebImageSearch*) -$defaultChatTools0[ "WebImageSearcher" ] = <| - toolDefaultData[ "WebImageSearcher" ], - "ShortName" -> "img_search", - "Icon" -> RawBoxes @ TemplateBox[ { }, "ToolIconWebImageSearcher" ], - "Description" -> "Search the web for images.", - "Function" -> webImageSearch, - "FormattingFunction" -> toolAutoFormatter, - "Origin" -> "BuiltIn", - "Parameters" -> { - "query" -> <| - "Interpreter" -> "String", - "Help" -> "Search query text", - "Required" -> True - |> - } -|>; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*webImageSearch*) -webImageSearch // beginDefinition; - -webImageSearch[ KeyValuePattern[ "query" -> query_ ] ] := Block[ { PrintTemporary }, webImageSearch @ query ]; -webImageSearch[ query_String ] := webImageSearch[ query, webImageSearch0[ query ] ]; - -webImageSearch[ query_, { } ] := <| - "Result" -> { }, - "String" -> "No results found" -|>; - -webImageSearch[ query_, urls: { __ } ] := <| - "Result" -> Column[ Hyperlink /@ urls, BaseStyle -> "Text" ], - "String" -> StringRiffle[ TextString /@ urls, "\n" ] -|>; - -webImageSearch[ query_, failed_Failure ] := <| - "Result" -> failed, - "String" -> makeFailureString @ failed -|>; - -webImageSearch // endDefinition; - - -webImageSearch0 // beginDefinition; - -webImageSearch0[ query_String ] := Enclose[ - Module[ { opts, raw, result, held, $unavailable }, - opts = Sequence @@ ConfirmMatch[ toolOptions[ "WebImageSearcher" ], { $$optionsSequence }, "Options" ]; - result = Quiet[ - Check[ - raw = WebImageSearch[ query, "ImageHyperlinks", opts ], - $unavailable, - IntegratedServices`IntegratedServices::unexp - ], - IntegratedServices`IntegratedServices::unexp - ]; - - held = HoldForm @ Evaluate @ raw; - - Quiet @ Replace[ - result, - { - $unavailable :> messageFailure[ "IntegratedServiceUnavailable", "WebImageSearch", held ], - Except[ _List ] :> messageFailure[ "IntegratedServiceError" , "WebImageSearch", held ] - } - ] - ], - throwInternalFailure -]; - -webImageSearch0 // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*NotebookEditor*) -$defaultChatTools0[ "NotebookEditor" ] = <| - toolDefaultData[ "NotebookEditor" ], - "ShortName" -> "nb_edit", - "Icon" -> $nbEditIcon, - "Description" -> $nbEditDescription, - "Enabled" :> $notebookEditorEnabled, - "Function" -> notebookEdit, - "FormattingFunction" -> toolAutoFormatter, - "Hidden" -> True, (* TODO: hide this from UI *) - "Origin" -> "BuiltIn", - "Parameters" -> { - "action" -> <| - "Interpreter" -> "String", - "Help" -> "Action to execute. Valid values are 'delete', 'write', 'append', 'prepend'.", - "Required" -> True - |>, - "target" -> <| - "Interpreter" -> "String", - "Help" -> "Target of action. Can be a comma-delimited list of cell IDs or 'selected' (default).", - "Required" -> False - |>, - "content" -> <| - "Interpreter" -> "String", - "Help" -> "Content to write, append, or prepend. Can be a string or a list of Cell expressions.", - "Required" -> False - |> - } -|>; - -(* ::**************************************************************************************************************:: *) -(* ::Section::Closed:: *) -(*Utilities*) - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*Documentation*) - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*wolframLanguageData*) -wolframLanguageData // beginDefinition; - -wolframLanguageData[ name_, property_ ] := Enclose[ - wolframLanguageData[ name, property ] = ConfirmBy[ WolframLanguageData[ name, property ], Not@*FailureQ ], - Missing[ "DataFailure" ] & -]; - -wolframLanguageData // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*Tool Properties*) - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*getToolIcon*) -getToolIcon // beginDefinition; -getToolIcon[ tool: $$llmTool ] := getToolIcon @ toolData @ tool; -getToolIcon[ as_Association ] := Lookup[ toolData @ as, "Icon", RawBoxes @ TemplateBox[ { }, "WrenchIcon" ] ]; -getToolIcon[ _ ] := $defaultToolIcon; -getToolIcon // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*getToolDisplayName*) -getToolDisplayName // beginDefinition; - -getToolDisplayName[ tool_ ] := - getToolDisplayName[ tool, Missing[ "NotFound" ] ]; - -getToolDisplayName[ tool: $$llmTool, default_ ] := - getToolDisplayName @ toolData @ tool; - -getToolDisplayName[ as_Association, default_ ] := - Lookup[ as, "DisplayName", toDisplayToolName @ Lookup[ as, "Name", default ] ]; - -getToolDisplayName[ _, default_ ] := - default; - -getToolDisplayName // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*getToolFormattingFunction*) -getToolFormattingFunction // beginDefinition; -getToolFormattingFunction[ HoldPattern @ LLMTool[ as_, ___ ] ] := getToolFormattingFunction @ as; -getToolFormattingFunction[ as_Association ] := Lookup[ as, "FormattingFunction", Automatic ]; -getToolFormattingFunction[ _ ] := Automatic; -getToolFormattingFunction // endDefinition; +(* Get[ "Wolfram`Chatbook`Tools`DefaultToolDefinitions`ChatPreferences`" ]; *) +Get[ "Wolfram`Chatbook`Tools`DefaultToolDefinitions`DocumentationLookup`" ]; +Get[ "Wolfram`Chatbook`Tools`DefaultToolDefinitions`DocumentationSearcher`" ]; +Get[ "Wolfram`Chatbook`Tools`DefaultToolDefinitions`NotebookEditor`" ]; +Get[ "Wolfram`Chatbook`Tools`DefaultToolDefinitions`WebFetcher`" ]; +Get[ "Wolfram`Chatbook`Tools`DefaultToolDefinitions`WebImageSearcher`" ]; +Get[ "Wolfram`Chatbook`Tools`DefaultToolDefinitions`WebSearcher`" ]; +Get[ "Wolfram`Chatbook`Tools`DefaultToolDefinitions`WolframAlpha`" ]; +Get[ "Wolfram`Chatbook`Tools`DefaultToolDefinitions`WolframLanguageEvaluator`" ]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) @@ -694,11 +30,5 @@ $defaultChatTools0 = Map[ <| KeyTake[ $defaultChatTools0, $defaultToolOrder ], $defaultChatTools0 |> ]; -addToMXInitialization[ - $toolConfiguration; -]; - -(* :!CodeAnalysis::EndBlock:: *) - End[ ]; EndPackage[ ]; diff --git a/Source/Chatbook/Tools/Tools.wl b/Source/Chatbook/Tools/Tools.wl index c185973a..6246c9ea 100644 --- a/Source/Chatbook/Tools/Tools.wl +++ b/Source/Chatbook/Tools/Tools.wl @@ -7,17 +7,10 @@ Begin[ "`Private`" ]; (* ::Section::Closed:: *) (*Load Subcontexts*) Get[ "Wolfram`Chatbook`Tools`Common`" ]; -Get[ "Wolfram`Chatbook`Tools`ToolOptions`" ]; +Get[ "Wolfram`Chatbook`Tools`DefaultTools`" ]; Get[ "Wolfram`Chatbook`Tools`Examples`" ]; Get[ "Wolfram`Chatbook`Tools`ExpressionURIs`" ]; - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*Default Tool Definitions*) -Get[ "Wolfram`Chatbook`Tools`ChatPreferences`" ]; -Get[ "Wolfram`Chatbook`Tools`NotebookEditor`" ]; -Get[ "Wolfram`Chatbook`Tools`WolframAlpha`" ]; -Get[ "Wolfram`Chatbook`Tools`DefaultTools`" ]; +Get[ "Wolfram`Chatbook`Tools`ToolOptions`" ]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) From 8a89ac4d0f1e73a9a328788eb14b1991b52740c3 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 3 Sep 2024 15:35:04 -0400 Subject: [PATCH 060/180] More NotebookEditor tool implementation --- Source/Chatbook/CommonSymbols.wl | 1 + Source/Chatbook/FrontEnd.wl | 9 ++ Source/Chatbook/Tools/Common.wl | 42 ++++- .../DefaultToolDefinitions/NotebookEditor.wl | 144 +++++++++++++++--- 4 files changed, 172 insertions(+), 24 deletions(-) diff --git a/Source/Chatbook/CommonSymbols.wl b/Source/Chatbook/CommonSymbols.wl index cfaf6b8e..900cd890 100644 --- a/Source/Chatbook/CommonSymbols.wl +++ b/Source/Chatbook/CommonSymbols.wl @@ -15,6 +15,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `$basePromptComponents; `$baseStyle; `$cachedTokenizers; +`$cellReferences; `$cellStringBudget; `$chatDataTag; `$chatEvaluationID; diff --git a/Source/Chatbook/FrontEnd.wl b/Source/Chatbook/FrontEnd.wl index dab4ceba..b2155209 100644 --- a/Source/Chatbook/FrontEnd.wl +++ b/Source/Chatbook/FrontEnd.wl @@ -789,9 +789,18 @@ createCellReference // endDefinition; (* ::Subsubsection::Closed:: *) (*findCellReference*) findCellReference // beginDefinition; +findCellReference[ ref_String ] /; StringLength @ ref > $tinyHashLength := findCellReferenceInString @ ref; findCellReference[ ref_String ] := Catch[ findNotebookCell[ ref ] /@ Notebooks[ ]; Missing[ "NotFound" ], $ref ]; findCellReference // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*findCellReferenceInString*) +findCellReferenceInString // beginDefinition; +findCellReferenceInString[ s_String ] := findCellReferenceInString[ s, Select[ Keys @ $cellReferences, StringQ ] ]; +findCellReferenceInString[ s_String, refs: { ___String } ] := First[ StringCases[ s, refs, 1 ], Missing[ "NotFound" ] ]; +findCellReferenceInString // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsubsection::Closed:: *) (*findNotebookCell*) diff --git a/Source/Chatbook/Tools/Common.wl b/Source/Chatbook/Tools/Common.wl index e3401f7f..2fe5ef29 100644 --- a/Source/Chatbook/Tools/Common.wl +++ b/Source/Chatbook/Tools/Common.wl @@ -859,12 +859,13 @@ parseSimpleToolCallParameterStrings[ { param_String }, argString_String ] := <| param -> StringDelete[ argString, StartOfString ~~ WhitespaceCharacter... ~~ param ~~ $$argNameDelimiter ] |>; parseSimpleToolCallParameterStrings[ paramNames: { __String }, argString_String ] := Enclose[ - Catch @ Module[ { namedSplit, defaults, pairs }, + Catch @ Module[ { namedSplit, defaults, pairs, as }, namedSplit = StringSplit[ argString, StartOfLine ~~ (" "|"\t"|"")... ~~ p: paramNames ~~ $$argNameDelimiter :> p ]; If[ OddQ @ Length @ namedSplit, Throw @ parseSimpleToolCallParameterStrings0[ paramNames, argString ] ]; defaults = AssociationMap[ "" &, paramNames ]; pairs = ConfirmMatch[ Partition[ namedSplit, 2 ], { { _String, _String } .. }, "Pairs" ]; - StringTrim /@ ConfirmBy[ <| defaults, Rule @@@ pairs |>, AssociationQ, "Parameters" ] + as = ConfirmBy[ <| defaults, Rule @@@ pairs |>, AssociationQ, "Parameters" ]; + ConfirmBy[ trimSimpleParameterString /@ as, AllTrue @ StringQ, "Result" ] ], throwInternalFailure ]; @@ -875,16 +876,35 @@ parseSimpleToolCallParameterStrings // endDefinition; parseSimpleToolCallParameterStrings0 // beginDefinition; parseSimpleToolCallParameterStrings0[ paramNames: { __String }, argString_String ] := Enclose[ - Module[ { split, padded }, + Module[ { split, padded, threaded }, split = StringSplit[ argString, "\n" ]; padded = PadRight[ split, Length @ paramNames, "" ]; - StringTrim /@ ConfirmBy[ AssociationThread[ paramNames -> padded ], AssociationQ, "Parameters" ] + threaded = ConfirmBy[ AssociationThread[ paramNames -> padded ], AssociationQ, "Parameters" ]; + ConfirmBy[ trimSimpleParameterString /@ threaded, AllTrue @ StringQ, "Result" ] ], throwInternalFailure ]; parseSimpleToolCallParameterStrings0 // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*trimSimpleParameterString*) +trimSimpleParameterString // beginDefinition; + +trimSimpleParameterString[ s_String ] := StringDelete[ + s, + { + StartOfString ~~ Alternatives[ + WhitespaceCharacter... ~~ "|" ~~ WhitespaceCharacter... ~~ "\n" ~~ WhitespaceCharacter..., + WhitespaceCharacter... + ], + WhitespaceCharacter... ~~ EndOfString + } +]; + +trimSimpleParameterString // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*toolShortName*) @@ -1078,7 +1098,19 @@ arg1 arg2 /exec -After you write /exec, the system will execute the tool call for you and return the result."; +After you write /exec, the system will execute the tool call for you and return the result. + +If your arguments require multiple lines, specify the name of each argument followed by a colon and a space, \ +then the value: + +/command +arg1: value that +spans multiple +lines +arg2: another +value +/exec +"; $simpleToolPost = "\ diff --git a/Source/Chatbook/Tools/DefaultToolDefinitions/NotebookEditor.wl b/Source/Chatbook/Tools/DefaultToolDefinitions/NotebookEditor.wl index 3e38d4f6..a1665570 100644 --- a/Source/Chatbook/Tools/DefaultToolDefinitions/NotebookEditor.wl +++ b/Source/Chatbook/Tools/DefaultToolDefinitions/NotebookEditor.wl @@ -11,7 +11,7 @@ Needs[ "Wolfram`Chatbook`Common`" ]; (*Configuration*) $notebookEditorEnabled := TrueQ @ $WorkspaceChat || TrueQ @ $InlineChat; -$cancelledNotebookEdit = Missing[ "Edit was cancelled by the user" ]; +$cancelledNotebookEdit = Failure[ "Cancelled", <| "Message" -> "Proposed change was rejected by the user" |> ]; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) @@ -32,8 +32,9 @@ Use this if the user asks you to write code for them, fix issues, etc. \ The user will be presented with a diff view of your changes and can accept or reject them, \ so you do not need to ask for permission. \ If the user asks you to fix code, edit only the relevant input cells and let them reevaluate as needed. \ -Do not surround code you write with triple backticks and don't include cell labels. \ -The target 'selected' refers to the entire cell or cells."; +Do not include cell labels like `In[...]:=` in the content you write. These will be automatically generated for you. \ +Do not try to write output cells. Instead, just write inputs so that the user can reevaluate them. \ +Write content as Markdown and the tool will automatically convert it to the right format."; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) @@ -56,12 +57,12 @@ $defaultChatTools0[ "NotebookEditor" ] = <| |>, "target" -> <| "Interpreter" -> "String", - "Help" -> "Target of action. Can be a comma-delimited list of cell IDs or 'selected' (default).", + "Help" -> "Target of action. Can be a cell ID or 'selected' (default).", "Required" -> False |>, "content" -> <| "Interpreter" -> "String", - "Help" -> "Content to write, append, or prepend. Can be a string or a list of Cell expressions.", + "Help" -> "Content to write, append, or prepend.", "Required" -> False |> } @@ -76,7 +77,14 @@ $defaultChatTools0[ "NotebookEditor" ] = <| (*notebookEdit*) notebookEdit // beginDefinition; -notebookEdit[ as_Association ] := notebookEdit[ as[ "action" ], as[ "target" ], as[ "content" ] ]; +notebookEdit[ as_Association ] := Catch[ + notebookEdit[ + as[ "action" ], + notebookEditTarget @ as[ "target" ], + notebookEditContent @ as[ "content" ] + ], + $notebookEditTag +]; notebookEdit[ "delete" , target_, content_ ] := notebookEditDelete[ target, content ]; notebookEdit[ "write" , target_, content_ ] := notebookEditWrite[ target, content ]; @@ -90,26 +98,27 @@ notebookEdit // endDefinition; (*notebookEditDelete*) notebookEditDelete // beginDefinition; -notebookEditDelete[ target_, _ ] := notebookEditDelete @ notebookEditTarget @ target; +notebookEditDelete[ target_, _ ] := + notebookEditDelete @ target; notebookEditDelete[ nbo_NotebookObject ] := If[ TrueQ @ ChoiceDialog[ Row @ { "Delete current selection in ", nbo, "?" } ], NotebookDelete @ nbo; - Abort[ ], + Success[ "NotebookDelete", <| "Content" -> "Selection" |> ], $cancelledNotebookEdit ]; notebookEditDelete[ cell_CellObject ] := If[ TrueQ @ ChoiceDialog[ Row @ { "Delete cell ", cell, "?" } ], NotebookDelete @ cell; - Abort[ ], + Success[ "NotebookDelete", <| "Content" -> cell |> ], $cancelledNotebookEdit ]; notebookEditDelete[ cells: { __CellObject } ] := If[ TrueQ @ ChoiceDialog[ Row @ { "Delete the following cells? ", cells } ], NotebookDelete @ cells; - Abort[ ], + Success[ "NotebookDelete", <| "Content" -> cells |> ], $cancelledNotebookEdit ]; @@ -122,52 +131,99 @@ notebookEditDelete // endDefinition; (* ::Subsubsection::Closed:: *) (*notebookEditWrite*) notebookEditWrite // beginDefinition; -notebookEditWrite[ target_, content_ ] := notebookEditWrite0[ notebookEditTarget @ target, content ]; +notebookEditWrite[ target_, content_ ] := notebookEditWrite0[ target, content ]; notebookEditWrite // endDefinition; notebookEditWrite0 // beginDefinition; -notebookEditWrite0[ nbo_NotebookObject, content_String ] := +notebookEditWrite0[ nbo_NotebookObject, content: { __Cell } ] := If[ TrueQ @ ChoiceDialog[ Column @ { Row @ { "Overwrite the current selection in ", nbo, " with the following?" }, content } ], NotebookWrite[ nbo, content ]; - Abort[ ], + Success[ "NotebookWrite", <| "Content" -> content |> ], $cancelledNotebookEdit ]; -notebookEditWrite0[ cell_CellObject, content_String ] := +notebookEditWrite0[ cell_CellObject, content: { __Cell } ] := If[ TrueQ @ ChoiceDialog[ Column @ { Row @ { "Overwrite ", cell, " with the following?" }, content } ], NotebookWrite[ cell, content ]; - Abort[ ], + Success[ "NotebookWrite", <| "Content" -> content |> ], $cancelledNotebookEdit ]; -notebookEditWrite0[ { first_CellObject, rest___CellObject }, content_String ] := +notebookEditWrite0[ { first_CellObject, rest___CellObject }, content: { __Cell } ] := If[ TrueQ @ ChoiceDialog[ Column @ { Row @ { "Overwrite the following cells? ", { first, rest } }, content } ], NotebookDelete @ { rest }; SelectionMove[ first, All, CellContents ]; NotebookWrite[ parentNotebook @ first, content ]; - Abort[ ], + Success[ "NotebookWrite", <| "Content" -> content |> ], $cancelledNotebookEdit ]; +notebookEditWrite0[ _Missing, _ ] := + Missing[ "TargetNotFound" ]; + notebookEditWrite0 // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*notebookEditAppend*) notebookEditAppend // beginDefinition; -(* TODO *) +notebookEditAppend[ target_, content_ ] := notebookEditAppend0[ target, content ]; notebookEditAppend // endDefinition; +notebookEditAppend0 // beginDefinition; + +notebookEditAppend0[ nbo_NotebookObject, content: { __Cell } ] := ( + SelectionMove[ nbo, After, Cell ]; + NotebookWrite[ nbo, content, After ]; + Success[ "NotebookWrite", <| "Content" -> content |> ] +); + +notebookEditAppend0[ cell_CellObject, content: { __Cell } ] := ( + SelectionMove[ cell, After, Cell ]; + NotebookWrite[ parentNotebook @ cell, content, After ]; + Success[ "NotebookWrite", <| "Content" -> content |> ] +); + +notebookEditAppend0[ { ___, last_CellObject }, content: { __Cell } ] := + notebookEditAppend0[ last, content ]; + +notebookEditAppend0[ _Missing, _ ] := + Missing[ "TargetNotFound" ]; + +notebookEditAppend0 // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*notebookEditPrepend*) notebookEditPrepend // beginDefinition; -(* TODO *) +notebookEditPrepend[ target_, content_ ] := notebookEditPrepend0[ target, content ]; notebookEditPrepend // endDefinition; +notebookEditPrepend0 // beginDefinition; + +notebookEditPrepend0[ nbo_NotebookObject, content: { __Cell } ] := ( + SelectionMove[ nbo, Before, Cell ]; + NotebookWrite[ nbo, content, Before ]; + Success[ "NotebookWrite", <| "Content" -> content |> ] +); + +notebookEditPrepend0[ cell_CellObject, content: { __Cell } ] := ( + SelectionMove[ cell, Before, Cell ]; + NotebookWrite[ parentNotebook @ cell, content, Before ]; + Success[ "NotebookWrite", <| "Content" -> content |> ] +); + +notebookEditPrepend0[ { first_CellObject, ___ }, content: { __Cell } ] := + notebookEditPrepend0[ first, content ]; + +notebookEditPrepend0[ _Missing, _ ] := + Missing[ "TargetNotFound" ]; + +notebookEditPrepend0 // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*notebookEditTarget*) @@ -175,10 +231,12 @@ notebookEditTarget // beginDefinition; notebookEditTarget[ "selected" ] /; $WorkspaceChat := getUserNotebook[ ]; notebookEditTarget[ "selected" ] /; $InlineChat := ensureValidWriteTarget @ $inlineChatState[ "ParentCell" ]; notebookEditTarget[ "selected" ] /; True := $evaluationNotebook; +notebookEditTarget[ _Missing | "" ] := notebookEditTarget[ "selected" ]; notebookEditTarget[ target_String ] := notebookEditTarget @ StringSplit[ target, "," ]; notebookEditTarget[ { target_String } ] := cellReference @ target; notebookEditTarget[ targets: { ___String } ] := notebookEditTarget[ cellReference /@ targets ]; notebookEditTarget[ targets: { __CellObject } ] := targets; +notebookEditTarget[ s_String ] /; StringContainsQ[ s, "selected"|"selection" ] := notebookEditTarget[ "selected" ]; notebookEditTarget[ _ ] := Missing[ "TargetNotFound" ]; notebookEditTarget // endDefinition; @@ -208,6 +266,54 @@ ensureValidWriteTarget[ cell_, True ] := ensureValidWriteTarget // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*notebookEditContent*) +notebookEditContent // beginDefinition; + +notebookEditContent[ content_String ] := Enclose[ + Module[ { cells }, + cells = ConfirmMatch[ toCellExpressions @ content, { ___Cell } | _String, "Cells" ]; + cells + ], + throwInternalFailure +]; + +notebookEditContent // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*toCellExpressions*) +toCellExpressions // beginDefinition; + +toCellExpressions[ "" ] := + Missing[ "NoContent" ]; + +toCellExpressions[ content_String ] /; StringContainsQ[ content, "Cell["~~___~~"]" ] && SyntaxQ @ content := + toCellExpressions[ content, Quiet @ ToExpression[ content, InputForm, HoldComplete ] ]; + +toCellExpressions[ content_String ] := + toCellExpressions[ content, FormatChatOutput @ content ]; + +toCellExpressions[ content_, RawBoxes[ boxes_ ] ] := + toCellExpressions[ content, boxes ]; + +toCellExpressions[ content_, boxes_Cell ] := + With[ { exploded = catchAlways @ ExplodeCell @ boxes }, + If[ MatchQ[ exploded, { ___Cell } ], + exploded, + content + ] + ]; + +toCellExpressions[ content_, HoldComplete[ cell_Cell ] ] := + { cell }; + +toCellExpressions[ content_, HoldComplete[ cells: { ___Cell } ] ] := + cells; + +toCellExpressions // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Package Footer*) From 3bac8e39da8aa4092461e8458a843eb616f4f0b9 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 3 Sep 2024 16:03:04 -0400 Subject: [PATCH 061/180] Disable NotebookEditor for now --- Source/Chatbook/Tools/DefaultToolDefinitions/NotebookEditor.wl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Source/Chatbook/Tools/DefaultToolDefinitions/NotebookEditor.wl b/Source/Chatbook/Tools/DefaultToolDefinitions/NotebookEditor.wl index a1665570..7b35684c 100644 --- a/Source/Chatbook/Tools/DefaultToolDefinitions/NotebookEditor.wl +++ b/Source/Chatbook/Tools/DefaultToolDefinitions/NotebookEditor.wl @@ -9,7 +9,8 @@ Needs[ "Wolfram`Chatbook`Common`" ]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Configuration*) -$notebookEditorEnabled := TrueQ @ $WorkspaceChat || TrueQ @ $InlineChat; +(* $notebookEditorEnabled := TrueQ @ $WorkspaceChat || TrueQ @ $InlineChat; *) +$notebookEditorEnabled = False; $cancelledNotebookEdit = Failure[ "Cancelled", <| "Message" -> "Proposed change was rejected by the user" |> ]; From e643074be61658b82a6c548978abe634a4c9abab Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 4 Sep 2024 11:27:45 -0400 Subject: [PATCH 062/180] Don't remove inline chat when inserting code --- Source/Chatbook/Formatting.wl | 1 - 1 file changed, 1 deletion(-) diff --git a/Source/Chatbook/Formatting.wl b/Source/Chatbook/Formatting.wl index 320575f6..79b2a965 100644 --- a/Source/Chatbook/Formatting.wl +++ b/Source/Chatbook/Formatting.wl @@ -783,7 +783,6 @@ insertCodeBelow[ cell_Cell, evaluate_ ] := cellObj = topParentCell @ EvaluationCell[ ]; nbo = parentNotebook @ cellObj; insertAfterChatGeneratedCells[ cellObj, cell ]; - NotebookDelete @ Cells[ nbo, AttachedCell -> True, CellStyle -> "AttachedChatInput" ]; If[ TrueQ @ evaluate, selectionEvaluateCreateCell @ nbo, SelectionMove[ nbo, After, CellContents ] From 79ab337d29e0583a5ef40602d08a4972e3173e38 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 4 Sep 2024 11:29:25 -0400 Subject: [PATCH 063/180] Make text in inline chat outputs selectable --- Source/Chatbook/ChatModes/UI.wl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Source/Chatbook/ChatModes/UI.wl b/Source/Chatbook/ChatModes/UI.wl index 3609ece6..a4cfee3e 100644 --- a/Source/Chatbook/ChatModes/UI.wl +++ b/Source/Chatbook/ChatModes/UI.wl @@ -567,7 +567,11 @@ formatInlineMessageCells[ cell: Cell[ __, "ChatOutput", ___ ] ] := { { Pane[ assistantImage[ ], ImageMargins -> $messageAuthorImagePadding ], - RawBoxes @ Append[ DeleteCases[ cell, Background -> _ ], Background -> None ] + RawBoxes @ InputFieldBox[ + Append[ DeleteCases[ cell, Background -> _ ], Background -> None ], + Appearance -> None, + ImageSize -> { Scaled[ 1 ], Automatic } + ] } }, Alignment -> { Left, Top } From d2647a9dcc55494b0107b7cf63a84d579f99c8e4 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 4 Sep 2024 11:30:17 -0400 Subject: [PATCH 064/180] Bugfix: Show string characters and autostyles in code blocks for inline chat (and ImportMarkdownString) --- Source/Chatbook/Formatting.wl | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Source/Chatbook/Formatting.wl b/Source/Chatbook/Formatting.wl index 79b2a965..2f4260b6 100644 --- a/Source/Chatbook/Formatting.wl +++ b/Source/Chatbook/Formatting.wl @@ -1723,7 +1723,11 @@ makeInteractiveCodeCell[ lang_String? wolframLanguageQ, code_ ] := BoxData @ If[ StringQ @ code, wlStringToBoxes @ code, code ], "ChatCode", "Input", - Background -> GrayLevel[ 1 ] + Background -> GrayLevel[ 1 ], + LanguageCategory -> "Input", + ShowAutoStyles -> True, + ShowStringCharacters -> True, + ShowSyntaxStyles -> True ]; handler = inlineInteractiveCodeCell[ display, code ]; codeBlockFrame[ Cell @ BoxData @ ToBoxes @ handler, code ] @@ -2079,7 +2083,11 @@ attachment[ alt_String, key_String, expr_ ] := BoxData @ boxes, "ChatCode", "Input", - Background -> GrayLevel[ 1 ] + Background -> GrayLevel[ 1 ], + LanguageCategory -> "Input", + ShowAutoStyles -> True, + ShowStringCharacters -> True, + ShowSyntaxStyles -> True ]; handler = inlineInteractiveCodeCell[ display, Cell[ BoxData @ cachedBoxes @ expr, "Input" ] ]; codeBlockFrame[ Cell @ BoxData @ ToBoxes @ handler, expr ] From 02424de68f8665e2f326270b0a43b3bbb67d11f7 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 4 Sep 2024 21:34:30 -0400 Subject: [PATCH 065/180] Cache multiple embeddings at once --- .../PromptGenerators/VectorDatabases.wl | 81 +++++++++++++------ 1 file changed, 58 insertions(+), 23 deletions(-) diff --git a/Source/Chatbook/PromptGenerators/VectorDatabases.wl b/Source/Chatbook/PromptGenerators/VectorDatabases.wl index 35f9a323..b846be12 100644 --- a/Source/Chatbook/PromptGenerators/VectorDatabases.wl +++ b/Source/Chatbook/PromptGenerators/VectorDatabases.wl @@ -59,6 +59,7 @@ $$vectorDatabase = _VectorDatabaseObject? System`Private`ValidQ; (* ::Subsection::Closed:: *) (*Cache*) $vectorDBSearchCache = <| |>; +$embeddingCache = <| |>; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) @@ -158,7 +159,7 @@ downloadVectorDatabases // endDefinition; evaluateWithProgress // beginDefinition; evaluateWithProgress // Attributes = { HoldFirst }; -evaluateWithProgress[ args___ ] /; $Notebooks && $EvaluationEnvironment === "Session" := +evaluateWithProgress[ args___ ] /; $ChatNotebookEvaluation := Module[ { container, dialog }, container = ProgressIndicator[ Appearance -> "Percolate" ]; @@ -382,7 +383,7 @@ vectorDBSearch[ dbName_String, prompt_String, All ] := Enclose[ vectorDBInfo = ConfirmBy[ getVectorDB @ dbName, AssociationQ, "VectorDBInfo" ]; vectorDB = ConfirmMatch[ vectorDBInfo[ "VectorDatabaseObject" ], $$vectorDatabase, "VectorDatabase" ]; allValues = ConfirmBy[ vectorDBInfo[ "Values" ], ListQ, "Values" ]; - embeddingVector = ConfirmMatch[ getEmbedding @ prompt, { __Real }, "EmbeddingVector" ]; + embeddingVector = ConfirmMatch[ getEmbedding @ prompt, _NumericArray, "EmbeddingVector" ]; close = ConfirmMatch[ inVectorDBDirectory @ VectorDatabaseSearch[ @@ -464,7 +465,7 @@ vectorDBSearch[ dbName_String, messages0: { __Association }, prop: "Values"|"Res If[ conversationString === "" || lastMessageString === "", Throw @ { } ]; - preloadEmbeddings @ { conversationString, lastMessageString, selectionString }; + getEmbeddings @ Select[ { conversationString, lastMessageString, selectionString }, StringQ ]; conversationResults = ConfirmMatch[ MapAt[ @@ -519,14 +520,6 @@ vectorDBSearch[ dbName_String, messages0: { __Association }, prop: "Values"|"Res vectorDBSearch // endDefinition; -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*preloadEmbeddings*) -preloadEmbeddings // beginDefinition; -(* FIXME: find a way to asynchronously fetch embeddings (ServiceSubmit isn't working) *) -preloadEmbeddings[ strings: { (_String|None)... } ] := Null; -preloadEmbeddings // endDefinition; - (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*insertContextPrompt*) @@ -567,46 +560,88 @@ cacheVectorDBResult[ dbName_String, prompt_String, data_Association ] := ( cacheVectorDBResult // endDefinition; (* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) +(* ::Section::Closed:: *) +(*Embeddings*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) (*getEmbedding*) getEmbedding // beginDefinition; +getEmbedding[ string_String ] := + With[ { embedding = $embeddingCache[ string ] }, + embedding /; NumericArrayQ @ embedding + ]; + getEmbedding[ string_String ] := Enclose[ - Catch @ Module[ { resp, vector }, + First @ ConfirmMatch[ getEmbeddings @ { string }, { _NumericArray }, "Embedding" ], + throwInternalFailure +]; + +getEmbedding // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*getEmbeddings*) +getEmbeddings // beginDefinition; + +getEmbeddings[ { } ] := { }; + +getEmbeddings[ strings: { __String } ] := Enclose[ + Module[ { notCached }, + notCached = Select[ strings, ! KeyExistsQ[ $embeddingCache, # ] & ]; + ConfirmMatch[ getAndCacheEmbeddings @ notCached, { ___NumericArray }, "CacheEmbeddings" ]; + ConfirmMatch[ Lookup[ $embeddingCache, strings ], { __NumericArray }, "Result" ] + ] // LogChatTiming[ "GetEmbeddings" ], + throwInternalFailure +]; +getEmbeddings // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*getAndCacheEmbeddings*) +getAndCacheEmbeddings // beginDefinition; + +getAndCacheEmbeddings[ { } ] := + { }; + +getAndCacheEmbeddings[ strings: { __String } ] := Enclose[ + Module[ { resp, vectors }, resp = ConfirmBy[ setServiceCaller @ ServiceExecute[ $embeddingService, "RawEmbedding", - { "input" -> string, "model" -> $embeddingModel }, + { "input" -> strings, "model" -> $embeddingModel }, Authentication -> $embeddingAuthentication ], AssociationQ, "EmbeddingResponse" ]; - vector = ConfirmBy[ - Developer`ToPackedArray @ Flatten @ resp[[ "data", All, "embedding" ]], + vectors = ConfirmBy[ + Developer`ToPackedArray @ resp[[ "data", All, "embedding" ]], Developer`PackedArrayQ, "PackedArray" ]; - getEmbedding[ string ] = ConfirmBy[ - toTinyVector @ vector, - Developer`PackedArrayQ, - "TinyVector" + ConfirmAssert[ Length @ strings === Length @ vectors, "LengthCheck" ]; + + MapThread[ + ($embeddingCache[ #1 ] = toTinyVector @ #2) &, + { strings, vectors } ] - ] // LogChatTiming[ "GetEmbedding" ], + ], throwInternalFailure ]; -getEmbedding // endDefinition; +getAndCacheEmbeddings // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*toTinyVector*) toTinyVector // beginDefinition; -toTinyVector[ v_ ] := 127.5 * Normalize @ v[[ 1;;$embeddingDimension ]] - 0.5; +toTinyVector[ v_ ] := NumericArray[ 127.5 * Normalize @ v[[ 1;;$embeddingDimension ]] - 0.5, "Real16" ]; toTinyVector // endDefinition; (* ::**************************************************************************************************************:: *) From 928b9c7102e307dc8e8cf04cc78dd42d9743a856 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 4 Sep 2024 21:35:42 -0400 Subject: [PATCH 066/180] Log additional timings --- Source/Chatbook/ChatModes/Context.wl | 4 ++-- .../DefaultPromptGenerators.wl | 20 ++++++++++++------- .../PromptGenerators/RelatedDocumentation.wl | 15 ++++++++++++-- 3 files changed, 28 insertions(+), 11 deletions(-) diff --git a/Source/Chatbook/ChatModes/Context.wl b/Source/Chatbook/ChatModes/Context.wl index cf1d03a4..4baa6f20 100644 --- a/Source/Chatbook/ChatModes/Context.wl +++ b/Source/Chatbook/ChatModes/Context.wl @@ -34,7 +34,7 @@ getInlineChatPrompt // beginDefinition; getInlineChatPrompt[ settings_ ] := If[ TrueQ @ $InlineChat, - getInlineChatPrompt0[ settings, $inlineChatState ], + getInlineChatPrompt0[ settings, $inlineChatState ] // LogChatTiming[ "GetInlineChatPrompt" ], None ]; @@ -82,7 +82,7 @@ getWorkspacePrompt[ settings_Association ] := If[ TrueQ @ $WorkspaceChat, Block[ { $includeCellXML = TrueQ @ $notebookEditorEnabled }, getContextFromSelection[ $evaluationNotebook, settings ] - ], + ] // LogChatTiming[ "GetWorkspacePrompt" ], None ]; diff --git a/Source/Chatbook/PromptGenerators/DefaultPromptGenerators.wl b/Source/Chatbook/PromptGenerators/DefaultPromptGenerators.wl index bf3df806..709b3923 100644 --- a/Source/Chatbook/PromptGenerators/DefaultPromptGenerators.wl +++ b/Source/Chatbook/PromptGenerators/DefaultPromptGenerators.wl @@ -15,10 +15,13 @@ HoldComplete[ (* ::Section::Closed:: *) (*DefaultPromptGenerators*) $defaultPromptGenerators := $defaultPromptGenerators = <| - "RelatedDocumentation" -> LLMPromptGenerator[ RelatedDocumentation[ #, "Prompt", MaxItems -> 20 ] &, "Messages" ], - "RelatedWolframAlphaQueries" -> LLMPromptGenerator[ RelatedWolframAlphaQueries[ #, "Prompt" ] &, "Messages" ] + "RelatedDocumentation" -> LLMPromptGenerator[ relatedDocumentationGenerator, "Messages" ], + "RelatedWolframAlphaQueries" -> LLMPromptGenerator[ relatedWolframAlphaQueriesGenerator, "Messages" ] |>; +relatedDocumentationGenerator := LogChatTiming @ RelatedDocumentation[ #, "Prompt", MaxItems -> 20 ] &; +relatedWolframAlphaQueriesGenerator := LogChatTiming @ RelatedWolframAlphaQueries[ #, "Prompt" ] &; + (* TODO: prompt generator selectors that work like tool selections *) (* ::**************************************************************************************************************:: *) @@ -33,18 +36,18 @@ applyPromptGenerators[ settings_, generators0_, messages: $$chatMessages ] := En Catch @ Module[ { generators, data, prompts }, generators = ConfirmMatch[ - toPromptGenerator /@ Flatten @ { generators0 }, + LogChatTiming[ toPromptGenerator /@ Flatten @ { generators0 }, "LLMPromptGenerators" ], { ___LLMPromptGenerator }, "Generators" ]; - If[ generators === { }, Throw @ None ]; + If[ generators === { }, Throw @ { } ]; data = ConfirmBy[ makePromptGeneratorData[ settings, messages ], AssociationQ, "Data" ]; prompts = ConfirmMatch[ applyPromptGenerator[ #, data ] & /@ generators, { $$string... }, "Prompts" ]; - StringRiffle[ DeleteCases[ prompts, "" ], "\n\n" ] - ], + DeleteCases[ prompts, "" ] + ] // LogChatTiming[ "ApplyPromptGenerators" ], throwInternalFailure ]; @@ -82,7 +85,10 @@ makePromptGeneratorData // endDefinition; (* ::Subsubsection::Closed:: *) (*applyPromptGenerator*) applyPromptGenerator // beginDefinition; -applyPromptGenerator[ gen_LLMPromptGenerator, data_Association ] := formatGeneratedPrompt @ gen @ data; + +applyPromptGenerator[ gen_LLMPromptGenerator, data_Association ] := + formatGeneratedPrompt @ LogChatTiming[ gen @ data, "ApplyPromptGenerator" ]; + applyPromptGenerator // endDefinition; (* ::**************************************************************************************************************:: *) diff --git a/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl b/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl index 3941d072..ee516b23 100644 --- a/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl +++ b/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl @@ -140,10 +140,21 @@ relatedDocumentationPrompt // beginDefinition; relatedDocumentationPrompt[ messages: $$chatMessages, count_, filter_ ] := Enclose[ Catch @ Module[ { uris, filtered, string }, - uris = ConfirmMatch[ RelatedDocumentation[ messages, "URIs", count ], { ___String }, "URIs" ]; + + uris = ConfirmMatch[ + RelatedDocumentation[ messages, "URIs", count ], + { ___String }, + "URIs" + ] // LogChatTiming[ "RelatedDocumentationURIs" ]; + If[ uris === { }, Throw[ "" ] ]; - filtered = ConfirmMatch[ filterSnippets[ messages, uris, filter ], { ___String }, "Filtered" ]; + filtered = ConfirmMatch[ + filterSnippets[ messages, uris, filter ] // LogChatTiming[ "FilterSnippets" ], + { ___String }, + "Filtered" + ]; + string = StringTrim @ StringRiffle[ "# "<># & /@ DeleteCases[ filtered, "" ], "\n\n======\n\n" ]; If[ string === "", From 51bc164e8d9828762d9ed9e3a265655dfe8fa370 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 4 Sep 2024 21:36:52 -0400 Subject: [PATCH 067/180] Bugfix: Fixed ChatObject not being stored in `%` --- Source/Chatbook/Actions.wl | 2 +- Source/Chatbook/Utils.wl | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Source/Chatbook/Actions.wl b/Source/Chatbook/Actions.wl index b460bdf7..50c5a188 100644 --- a/Source/Chatbook/Actions.wl +++ b/Source/Chatbook/Actions.wl @@ -434,7 +434,7 @@ EvaluateChatInput[ evalCell_CellObject, nbo_NotebookObject, settings_Association ]; ] ] - ] // LogChatTiming[ "EvaluateChatInput" ]; + ]; EvaluateChatInput // endDefinition; diff --git a/Source/Chatbook/Utils.wl b/Source/Chatbook/Utils.wl index f562c346..a7641734 100644 --- a/Source/Chatbook/Utils.wl +++ b/Source/Chatbook/Utils.wl @@ -387,6 +387,7 @@ logChatTiming[ eval_, tag_String ] := |> ]; + result; result ]; From cf1f03ad1315bad9c133cd07180119a457f3ef63 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 4 Sep 2024 21:37:22 -0400 Subject: [PATCH 068/180] Improvement: Add emphasis to related documentation prompt --- Source/Chatbook/PromptGenerators/RelatedDocumentation.wl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl b/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl index ee516b23..1fd69f50 100644 --- a/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl +++ b/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl @@ -169,7 +169,7 @@ relatedDocumentationPrompt // endDefinition; $relatedDocsStringHeader = "\ -Here are some Wolfram documentation snippets that might be helpful: +IMPORTANT: Here are some Wolfram documentation snippets that you should use to respond. "; From 643eb6cb3f64e4a739c84cd98016ef6ac516fb1f Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 4 Sep 2024 21:38:29 -0400 Subject: [PATCH 069/180] Added two settings to control placement and role of RAG prompts --- Source/Chatbook/ChatMessages.wl | 51 ++++++++--- Source/Chatbook/Common.wl | 17 ++-- Source/Chatbook/Settings.wl | 155 ++++++++++++++++---------------- 3 files changed, 129 insertions(+), 94 deletions(-) diff --git a/Source/Chatbook/ChatMessages.wl b/Source/Chatbook/ChatMessages.wl index daf00d8b..5cd65465 100644 --- a/Source/Chatbook/ChatMessages.wl +++ b/Source/Chatbook/ChatMessages.wl @@ -116,7 +116,8 @@ constructMessages[ settings_Association? AssociationQ, cells: { __Cell } ] := constructMessages[ settings, makeChatMessages[ settings, cells ] ]; constructMessages[ settings_Association? AssociationQ, messages0: { __Association } ] := - Enclose @ Module[ { prompted, messages, processed }, + Enclose @ Module[ + { prompted, messages, merged, genRole, genPos, generatedPrompts, generatedMessages, combined, processed }, If[ settings[ "AutoFormat" ], needsBasePrompt[ "Formatting" ] ]; needsBasePrompt @ settings; @@ -133,7 +134,36 @@ constructMessages[ settings_Association? AssociationQ, messages0: { __Associatio } ]; - processed = applyProcessingFunction[ settings, "ChatMessages", HoldComplete[ messages, $ChatHandlerData ] ]; + merged = If[ TrueQ @ Lookup[ settings, "MergeMessages" ], + ConfirmMatch[ mergeMessageData @ messages, $$chatMessages, "Merged" ], + messages + ]; + + genRole = settings[ "PromptGeneratorMessageRole" ]; + genPos = settings[ "PromptGeneratorMessagePosition" ]; + + If[ ! MatchQ[ genRole, "System"|"Assistant"|"User" ], + throwFailure[ "InvalidPromptGeneratorRole", genRole ] + ]; + + generatedPrompts = ConfirmMatch[ applyPromptGenerators[ settings, merged ], { ___String }, "Generated" ]; + + generatedMessages = Splice @ ConfirmMatch[ + <| "Role" -> genRole, "Content" -> # |> & /@ generatedPrompts, + $$chatMessages, + "GeneratedMessages" + ]; + + combined = ConfirmMatch[ + Check[ + Insert[ merged, generatedMessages, genPos ], + throwFailure[ "InvalidPromptGeneratorPosition", genPos ] + ], + $$chatMessages, + "Combined" + ]; + + processed = applyProcessingFunction[ settings, "ChatMessages", HoldComplete[ combined, $ChatHandlerData ] ]; If[ ! MatchQ[ processed, $$validMessageResults ], messagePrint[ "InvalidMessages", getProcessingFunction[ settings, "ChatMessages" ], processed ]; @@ -141,6 +171,7 @@ constructMessages[ settings_Association? AssociationQ, messages0: { __Associatio ]; processed //= DeleteCases @ KeyValuePattern[ "Content" -> "" ]; + Sow[ <| "Messages" -> processed |>, $chatDataTag ]; $lastSettings = settings; @@ -176,12 +207,11 @@ constructInlineMessages // endDefinition; addPrompts // beginDefinition; addPrompts[ settings_Association, messages_List ] := Enclose[ - Module[ { custom, workspace, inline, generated, prompt }, - custom = ConfirmMatch[ assembleCustomPrompt @ settings , None|_String, "Custom" ]; - workspace = ConfirmMatch[ getWorkspacePrompt @ settings , None|_String, "Workspace" ]; - inline = ConfirmMatch[ getInlineChatPrompt @ settings , None|_String, "Inline" ]; - generated = ConfirmMatch[ applyPromptGenerators[ settings, messages ], None|_String, "Generated" ]; - prompt = StringRiffle[ Select[ { custom, workspace, inline, generated }, StringQ ], "\n\n" ]; + Module[ { custom, workspace, inline, prompt }, + custom = ConfirmMatch[ assembleCustomPrompt @ settings, None|_String, "Custom" ]; + workspace = ConfirmMatch[ getWorkspacePrompt @ settings , None|_String, "Workspace" ]; + inline = ConfirmMatch[ getInlineChatPrompt @ settings , None|_String, "Inline" ]; + prompt = StringRiffle[ Select[ { custom, workspace, inline }, StringQ ], "\n\n" ]; addPrompts[ prompt, messages ] ], throwInternalFailure @@ -282,7 +312,7 @@ makeChatMessages0[ settings_, { cells___, cell_ ? promptFunctionCellQ }, include ); makeChatMessages0[ settings0_, cells_List, includeSystem_ ] := Enclose[ - Module[ { settings, role, message, toMessage0, toMessage, cell, history, messages, merged }, + Module[ { settings, role, message, toMessage0, toMessage, cell, history, messages }, settings = ConfirmBy[ <| settings0, "HistoryPosition" -> 0, "Cells" -> cells |>, AssociationQ, "Settings" ]; role = If[ TrueQ @ includeSystem, makeCurrentRole @ settings, Missing[ ] ]; cell = ConfirmMatch[ Last[ cells, $Failed ], _Cell, "Cell" ]; @@ -311,8 +341,7 @@ makeChatMessages0[ settings0_, cells_List, includeSystem_ ] := Enclose[ messages = addExcisedCellMessage @ DeleteMissing @ Flatten @ { role, history, message }; - merged = If[ TrueQ @ Lookup[ settings, "MergeMessages" ], mergeMessageData @ messages, messages ]; - $lastMessageList = merged + $lastMessageList = messages ], throwInternalFailure ]; diff --git a/Source/Chatbook/Common.wl b/Source/Chatbook/Common.wl index b9c55574..b8b810da 100644 --- a/Source/Chatbook/Common.wl +++ b/Source/Chatbook/Common.wl @@ -306,6 +306,8 @@ KeyValueMap[ Function[ MessageName[ Chatbook, #1 ] = #2 ], <| "InvalidHandlerKeys" -> "Invalid setting for HandlerFunctionsKeys: `1`; using defaults instead.", "InvalidHandlers" -> "Invalid setting for HandlerFunctions: `1`; using defaults instead.", "InvalidMessages" -> "The value `2` returned by `1` is not a valid list of messages.", + "InvalidPromptGeneratorPosition" -> "Invalid position spec for prompt generator messages: `1`.", + "InvalidPromptGeneratorRole" -> "Invalid role for prompt generator messages: `1`. Valid values are: \"System\", \"Assistant\", or \"User\".", "InvalidResourceSpecification" -> "The argument `1` is not a valid resource specification.", "InvalidResourceURL" -> "The specified URL does not represent a valid resource object.", "InvalidRootSettings" -> "The value `1` is not valid for root chat settings.", @@ -594,14 +596,13 @@ catchTop[ eval_ ] := catchTop[ eval, Chatbook ]; catchTop[ eval_, sym_Symbol ] := Block[ { - $ChatNotebookEvaluation = True, - $chatEvaluationID = CreateUUID[ ], - $currentChatSettings = None, - $messageSymbol = Replace[ $messageSymbol, Chatbook -> sym ], - $catching = True, - $failed = False, - catchTop = # &, - catchTopAs = (#1 &) & + $chatEvaluationID = CreateUUID[ ], + $currentChatSettings = None, + $messageSymbol = Replace[ $messageSymbol, Chatbook -> sym ], + $catching = True, + $failed = False, + catchTop = # &, + catchTopAs = (#1 &) & }, $chatStartTime = AbsoluteTime[ ]; Catch[ setServiceCaller @ eval, $catchTopTag ] diff --git a/Source/Chatbook/Settings.wl b/Source/Chatbook/Settings.wl index cc6c9b84..d4cea598 100644 --- a/Source/Chatbook/Settings.wl +++ b/Source/Chatbook/Settings.wl @@ -19,58 +19,60 @@ $cloudInheritanceFix := $cloudNotebooks; (* cSpell: ignore AIAPI *) $defaultChatSettings = <| - "Assistance" -> Automatic, - "Authentication" -> Automatic, - "AutoFormat" -> True, - "BasePrompt" -> Automatic, - "BypassResponseChecking" -> False, - "ChatContextPreprompt" -> Automatic, - "ChatDrivenNotebook" -> False, - "ChatHistoryLength" -> 1000, - "ChatInputIndicator" -> Automatic, - "ConversionRules" -> None, - "DynamicAutoFormat" -> Automatic, - "EnableChatGroupSettings" -> False, - "EnableLLMServices" -> Automatic, - "FrequencyPenalty" -> 0.1, - "HandlerFunctions" :> $DefaultChatHandlerFunctions, - "HandlerFunctionsKeys" -> Automatic, - "IncludeHistory" -> Automatic, - "InitialChatCell" -> True, - "LLMEvaluator" -> "CodeAssistant", - "MaxCellStringLength" -> Automatic, - "MaxContextTokens" -> Automatic, - "MaxOutputCellStringLength" -> Automatic, - "MaxTokens" -> Automatic, - "MergeMessages" -> True, - "Model" :> $DefaultModel, - "Multimodal" -> Automatic, - "NotebookWriteMethod" -> Automatic, - "OpenAIAPICompletionURL" -> "https://api.openai.com/v1/chat/completions", - "OpenAIKey" -> Automatic, - "PresencePenalty" -> 0.1, - "ProcessingFunctions" :> $DefaultChatProcessingFunctions, - "Prompts" -> { }, - "PromptGenerators" -> { }, - "SetCellDingbat" -> True, - "ShowMinimized" -> Automatic, - "StreamingOutputMethod" -> Automatic, - "TabbedOutput" -> True, (* TODO: define a "MaxOutputPages" setting *) - "TargetCloudObject" -> Automatic, - "Temperature" -> 0.7, - "TokenBudgetMultiplier" -> Automatic, - "Tokenizer" -> Automatic, - "ToolCallExamplePromptStyle" -> Automatic, - "ToolCallFrequency" -> Automatic, - "ToolExamplePrompt" -> Automatic, - "ToolMethod" -> Automatic, - "ToolOptions" :> $DefaultToolOptions, - "Tools" -> Automatic, - "ToolSelectionType" -> <| |>, - "ToolsEnabled" -> Automatic, - "TopP" -> 1, - "TrackScrollingWhenPlaced" -> Automatic, - "VisiblePersonas" -> $corePersonaNames + "Assistance" -> Automatic, + "Authentication" -> Automatic, + "AutoFormat" -> True, + "BasePrompt" -> Automatic, + "BypassResponseChecking" -> False, + "ChatContextPreprompt" -> Automatic, + "ChatDrivenNotebook" -> False, + "ChatHistoryLength" -> 1000, + "ChatInputIndicator" -> Automatic, + "ConversionRules" -> None, + "DynamicAutoFormat" -> Automatic, + "EnableChatGroupSettings" -> False, + "EnableLLMServices" -> Automatic, + "FrequencyPenalty" -> 0.1, + "HandlerFunctions" :> $DefaultChatHandlerFunctions, + "HandlerFunctionsKeys" -> Automatic, + "IncludeHistory" -> Automatic, + "InitialChatCell" -> True, + "LLMEvaluator" -> "CodeAssistant", + "MaxCellStringLength" -> Automatic, + "MaxContextTokens" -> Automatic, + "MaxOutputCellStringLength" -> Automatic, + "MaxTokens" -> Automatic, + "MergeMessages" -> True, + "Model" :> $DefaultModel, + "Multimodal" -> Automatic, + "NotebookWriteMethod" -> Automatic, + "OpenAIAPICompletionURL" -> "https://api.openai.com/v1/chat/completions", + "OpenAIKey" -> Automatic, + "PresencePenalty" -> 0.1, + "ProcessingFunctions" :> $DefaultChatProcessingFunctions, + "Prompts" -> { }, + "PromptGenerators" -> { }, + "PromptGeneratorMessageRole" -> "System", + "PromptGeneratorMessagePosition" -> 2, + "SetCellDingbat" -> True, + "ShowMinimized" -> Automatic, + "StreamingOutputMethod" -> Automatic, + "TabbedOutput" -> True, (* TODO: define a "MaxOutputPages" setting *) + "TargetCloudObject" -> Automatic, + "Temperature" -> 0.7, + "TokenBudgetMultiplier" -> Automatic, + "Tokenizer" -> Automatic, + "ToolCallExamplePromptStyle" -> Automatic, + "ToolCallFrequency" -> Automatic, + "ToolExamplePrompt" -> Automatic, + "ToolMethod" -> Automatic, + "ToolOptions" :> $DefaultToolOptions, + "Tools" -> Automatic, + "ToolSelectionType" -> <| |>, + "ToolsEnabled" -> Automatic, + "TopP" -> 1, + "TrackScrollingWhenPlaced" -> Automatic, + "VisiblePersonas" -> $corePersonaNames |>; $cachedGlobalSettings := $cachedGlobalSettings = getGlobalSettingsFile[ ]; @@ -291,29 +293,32 @@ resolveAutoSetting[ settings_, key_ -> value_ ] := <| settings, key -> resolveAu resolveAutoSetting // endDefinition; resolveAutoSetting0 // beginDefinition; -resolveAutoSetting0[ as_, "Assistance" ] := False; -resolveAutoSetting0[ as_, "ChatInputIndicator" ] := "\|01f4ac"; -resolveAutoSetting0[ as_, "DynamicAutoFormat" ] := dynamicAutoFormatQ @ as; -resolveAutoSetting0[ as_, "EnableLLMServices" ] := $useLLMServices; -resolveAutoSetting0[ as_, "HandlerFunctionsKeys" ] := chatHandlerFunctionsKeys @ as; -resolveAutoSetting0[ as_, "IncludeHistory" ] := Automatic; -resolveAutoSetting0[ as_, "MaxCellStringLength" ] := chooseMaxCellStringLength @ as; -resolveAutoSetting0[ as_, "MaxContextTokens" ] := autoMaxContextTokens @ as; -resolveAutoSetting0[ as_, "MaxOutputCellStringLength" ] := chooseMaxOutputCellStringLength @ as; -resolveAutoSetting0[ as_, "MaxTokens" ] := autoMaxTokens @ as; -resolveAutoSetting0[ as_, "Multimodal" ] := multimodalQ @ as; -resolveAutoSetting0[ as_, "NotebookWriteMethod" ] := "PreemptiveLink"; -resolveAutoSetting0[ as_, "ShowMinimized" ] := Automatic; -resolveAutoSetting0[ as_, "StreamingOutputMethod" ] := "PartialDynamic"; -resolveAutoSetting0[ as_, "TokenBudgetMultiplier" ] := 1; -resolveAutoSetting0[ as_, "Tokenizer" ] := getTokenizer @ as; -resolveAutoSetting0[ as_, "TokenizerName" ] := getTokenizerName @ as; -resolveAutoSetting0[ as_, "ToolCallExamplePromptStyle" ] := chooseToolExamplePromptStyle @ as; -resolveAutoSetting0[ as_, "ToolCallFrequency" ] := Automatic; -resolveAutoSetting0[ as_, "ToolExamplePrompt" ] := chooseToolExamplePromptSpec @ as; -resolveAutoSetting0[ as_, "ToolsEnabled" ] := toolsEnabledQ @ as; -resolveAutoSetting0[ as_, "TrackScrollingWhenPlaced" ] := scrollOutputQ @ as; -resolveAutoSetting0[ as_, key_String ] := Automatic; +resolveAutoSetting0[ as_, "Assistance" ] := False; +resolveAutoSetting0[ as_, "ChatInputIndicator" ] := "\|01f4ac"; +resolveAutoSetting0[ as_, "DynamicAutoFormat" ] := dynamicAutoFormatQ @ as; +resolveAutoSetting0[ as_, "EnableLLMServices" ] := $useLLMServices; +resolveAutoSetting0[ as_, "HandlerFunctionsKeys" ] := chatHandlerFunctionsKeys @ as; +resolveAutoSetting0[ as_, "IncludeHistory" ] := Automatic; +resolveAutoSetting0[ as_, "PromptGenerators" ] := { }; +resolveAutoSetting0[ as_, "PromptGeneratorMessageRole" ] := "System"; +resolveAutoSetting0[ as_, "PromptGeneratorMessagePosition" ] := 2; +resolveAutoSetting0[ as_, "MaxCellStringLength" ] := chooseMaxCellStringLength @ as; +resolveAutoSetting0[ as_, "MaxContextTokens" ] := autoMaxContextTokens @ as; +resolveAutoSetting0[ as_, "MaxOutputCellStringLength" ] := chooseMaxOutputCellStringLength @ as; +resolveAutoSetting0[ as_, "MaxTokens" ] := autoMaxTokens @ as; +resolveAutoSetting0[ as_, "Multimodal" ] := multimodalQ @ as; +resolveAutoSetting0[ as_, "NotebookWriteMethod" ] := "PreemptiveLink"; +resolveAutoSetting0[ as_, "ShowMinimized" ] := Automatic; +resolveAutoSetting0[ as_, "StreamingOutputMethod" ] := "PartialDynamic"; +resolveAutoSetting0[ as_, "TokenBudgetMultiplier" ] := 1; +resolveAutoSetting0[ as_, "Tokenizer" ] := getTokenizer @ as; +resolveAutoSetting0[ as_, "TokenizerName" ] := getTokenizerName @ as; +resolveAutoSetting0[ as_, "ToolCallExamplePromptStyle" ] := chooseToolExamplePromptStyle @ as; +resolveAutoSetting0[ as_, "ToolCallFrequency" ] := Automatic; +resolveAutoSetting0[ as_, "ToolExamplePrompt" ] := chooseToolExamplePromptSpec @ as; +resolveAutoSetting0[ as_, "ToolsEnabled" ] := toolsEnabledQ @ as; +resolveAutoSetting0[ as_, "TrackScrollingWhenPlaced" ] := scrollOutputQ @ as; +resolveAutoSetting0[ as_, key_String ] := Automatic; resolveAutoSetting0 // endDefinition; (* Settings that require other settings to be resolved first: *) From 62bb87323e27ff37565af91272848604060a3ed1 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 4 Sep 2024 21:39:00 -0400 Subject: [PATCH 070/180] Bugfix: `$ChatNotebookEvaluation` should only be set during notebook-related evaluations --- Source/Chatbook/ChatState.wl | 1 + 1 file changed, 1 insertion(+) diff --git a/Source/Chatbook/ChatState.wl b/Source/Chatbook/ChatState.wl index c79cd088..563e7743 100644 --- a/Source/Chatbook/ChatState.wl +++ b/Source/Chatbook/ChatState.wl @@ -19,6 +19,7 @@ withChatState // Attributes = { HoldFirst }; withChatState[ eval_ ] := Block[ { + $ChatNotebookEvaluation = True, $absoluteCurrentSettingsCache = <| |>, $AutomaticAssistance = False, $chatState = True, From c992f7693de62d11ff086b1176cab739a6fb98e1 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 4 Sep 2024 21:49:00 -0400 Subject: [PATCH 071/180] Update test --- Tests/RelatedDocumentation.wlt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/RelatedDocumentation.wlt b/Tests/RelatedDocumentation.wlt index 97cce44c..1233fe65 100644 --- a/Tests/RelatedDocumentation.wlt +++ b/Tests/RelatedDocumentation.wlt @@ -129,7 +129,7 @@ VerificationTest[ VerificationTest[ StringCount[ prompt, { "paclet:ref/Prime#", "paclet:ref/NextPrime#" } ], - _Integer? (GreaterThan[ 10 ]), + _Integer? (GreaterEqualThan[ 10 ]), SameTest -> MatchQ, TestID -> "RelatedDocumentation-Prompt-Messages-Count@@Tests/RelatedDocumentation.wlt:130,1-135,2" ] From 2c40ca9cc2a83c0fbfd2368c14b5ab28ddb064fb Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 5 Sep 2024 17:54:52 -0400 Subject: [PATCH 072/180] Added `ShowContentSuggestions` for `BoxData` cells --- Source/Chatbook/ChatModes/ChatModes.wl | 4 +- Source/Chatbook/ChatModes/Common.wl | 1 + .../Chatbook/ChatModes/ContentSuggestions.wl | 231 ++++++++++++++++++ .../Chatbook/ChatModes/ShowCodeAssistance.wl | 81 +++--- Source/Chatbook/ChatModes/UI.wl | 25 +- Source/Chatbook/Main.wl | 2 + 6 files changed, 304 insertions(+), 40 deletions(-) create mode 100644 Source/Chatbook/ChatModes/ContentSuggestions.wl diff --git a/Source/Chatbook/ChatModes/ChatModes.wl b/Source/Chatbook/ChatModes/ChatModes.wl index 72f03983..7caf0c15 100644 --- a/Source/Chatbook/ChatModes/ChatModes.wl +++ b/Source/Chatbook/ChatModes/ChatModes.wl @@ -10,9 +10,6 @@ Needs[ "Wolfram`Chatbook`Common`" ]; * Workspace Chat * Get context from multiple notebooks * Set up an LLM subtask to choose relevant notebooks for inclusion - * Fine-grained selection prompts (e.g. specific character ranges, instead of whole cells) - * Update serialization to include cell identifiers when serializing notebook context - * Create NotebookEditor tool that utilizes these cell identifiers to allow for editing of notebooks * Create test writer tool * Define a `$ChatEvaluationMode` that gives "Inline", "Workspace", or None based on the current chat mode *) @@ -38,6 +35,7 @@ $InlineChat = False; (*Load Subcontexts*) $subcontexts = { "Wolfram`Chatbook`ChatModes`Common`", + "Wolfram`Chatbook`ChatModes`ContentSuggestions`", "Wolfram`Chatbook`ChatModes`Context`", "Wolfram`Chatbook`ChatModes`Evaluate`", "Wolfram`Chatbook`ChatModes`ShowCodeAssistance`", diff --git a/Source/Chatbook/ChatModes/Common.wl b/Source/Chatbook/ChatModes/Common.wl index cda3b9ce..5b7a5023 100644 --- a/Source/Chatbook/ChatModes/Common.wl +++ b/Source/Chatbook/ChatModes/Common.wl @@ -10,6 +10,7 @@ HoldComplete[ `$inputFieldPaneMargins, `createWorkspaceChat, `findCurrentWorkspaceChat, + `getContextFromSelection, `getSelectionInfo, `moveToInlineChatInputField, `scrollInlineChat, diff --git a/Source/Chatbook/ChatModes/ContentSuggestions.wl b/Source/Chatbook/ChatModes/ContentSuggestions.wl new file mode 100644 index 00000000..80089902 --- /dev/null +++ b/Source/Chatbook/ChatModes/ContentSuggestions.wl @@ -0,0 +1,231 @@ +(* ::Section::Closed:: *) +(*Package Header*) +BeginPackage[ "Wolfram`Chatbook`ChatModes`ContentSuggestions`" ]; +Begin[ "`Private`" ]; + +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; +Needs[ "Wolfram`Chatbook`ChatModes`Common`" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Configuration*) +$suggestionsService = "OpenAI"; +$suggestionsAuthentication = Automatic; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Wolfram Language Suggestions*) +$wlSuggestionsModel = "gpt-4-turbo"; +$wlSuggestionsCount = 3; +$wlSuggestionsMaxTokens = 128; +$wlSuggestionsTemperature = 1.0; + +$wlSuggestionsPrompt = "\ +Complete the following Wolfram Language code by writing text that can be inserted into `Placeholder`. \ +Do your best to match the existing style (whitespace, line breaks, etc.). \ +Respond with the completion text and nothing else. \ +Do not include any formatting in your response. Do not include outputs or `In[]:=` cell labels."; + +(* TODO: need to also handle TextData cells *) + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*ShowContentSuggestions*) +ShowContentSuggestions // beginDefinition; +ShowContentSuggestions[ ] := catchMine @ showContentSuggestions @ InputNotebook[ ]; +ShowContentSuggestions[ nbo_NotebookObject ] := catchMine @ showContentSuggestions @ nbo; +ShowContentSuggestions // endExportedDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*showContentSuggestions*) +showContentSuggestions // beginDefinition; +showContentSuggestions[ $Failed ] := Null; +showContentSuggestions[ nbo_NotebookObject ] := showContentSuggestions[ nbo, SelectedCells @ nbo ]; +showContentSuggestions[ nbo_NotebookObject, { selected_CellObject } ] := showContentSuggestions0[ nbo, selected ]; +showContentSuggestions[ _NotebookObject, _ ] := Null; +showContentSuggestions // endDefinition; + + +showContentSuggestions0 // beginDefinition; + +showContentSuggestions0[ a__ ] := Enclose[ + ConfirmMatch[ + setServiceCaller[ showContentSuggestions1 @ a, "ContentSuggestions" ], + _CellObject | Null, + "ShowContentSuggestions" + ], + throwInternalFailure +]; + +showContentSuggestions0 // endDefinition; + + +showContentSuggestions1 // beginDefinition; + +showContentSuggestions1[ nbo_NotebookObject, root_CellObject ] := Enclose[ + Catch @ Module[ { selectionInfo, suggestionsContainer, attached, settings, context }, + + NotebookDelete @ Cells[ nbo, AttachedCell -> True, CellStyle -> "AttachedContentSuggestions" ]; + + selectionInfo = ConfirmMatch[ + getSelectionInfo @ root, + None | KeyValuePattern[ "CursorPosition" -> { _Integer, _Integer } ], + "SelectionInfo" + ]; + + (* TODO: need to support TextData suggestions: *) + If[ ! MatchQ[ selectionInfo[ "ContentData" ], BoxData|"BoxData"|_Missing ], Throw @ Null ]; + + (* Only show autocomplete if the selection is between characters: *) + If[ ! MatchQ[ selectionInfo, KeyValuePattern[ "CursorPosition" -> { n_Integer, n_Integer } ] ], Throw @ Null ]; + + suggestionsContainer = ProgressIndicator[ Appearance -> "Necklace" ]; + attached = ConfirmMatch[ + AttachCell[ + NotebookSelection @ nbo, + contentSuggestionsCell[ Dynamic[ suggestionsContainer ] ], + { "WindowCenter", Bottom }, + 0, + { Center, Top }, + RemovalConditions -> { "EvaluatorQuit", "MouseClickOutside", "SelectionExit" } + ], + _CellObject, + "Attached" + ]; + + ClearAttributes[ suggestionsContainer, Temporary ]; + + settings = ConfirmBy[ AbsoluteCurrentChatSettings @ root, AssociationQ, "Settings" ]; + context = ConfirmBy[ getContextFromSelection[ None, nbo, settings ], StringQ, "Context" ]; + + ConfirmMatch[ + generateWLSuggestions[ Dynamic[ suggestionsContainer ], nbo, root, context, settings ], + _Pane, + "Submit" + ]; + + attached + ], + throwInternalFailure +]; + +showContentSuggestions1 // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*contentSuggestionsCell*) +contentSuggestionsCell // beginDefinition; + +contentSuggestionsCell[ Dynamic[ container_Symbol ] ] := Cell[ + BoxData @ ToBoxes @ Framed[ + Dynamic[ container(*, Deinitialization :> Quiet @ Remove @ container*) ], + Background -> GrayLevel[ 0.95 ], + FrameStyle -> GrayLevel[ 0.75 ], + RoundingRadius -> 5 + ], + "AttachedContentSuggestions" +]; + +contentSuggestionsCell // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*generateWLSuggestions*) +generateWLSuggestions // beginDefinition; + +generateWLSuggestions[ Dynamic[ container_ ], nbo_, root_CellObject, context_String, settings_ ] := Enclose[ + Module[ { placeholder, instructions, response, suggestions }, + + placeholder = ConfirmBy[ $leftSelectionIndicator<>$rightSelectionIndicator, StringQ, "Placeholder" ]; + + instructions = ConfirmBy[ + TemplateApply[ $wlSuggestionsPrompt, <| "Placeholder" -> placeholder |> ], + StringQ, + "Instructions" + ]; + + response = setServiceCaller @ ServiceExecute[ + $suggestionsService, + "Chat", + { + "Messages" -> { + <| "Role" -> "System", "Content" -> instructions |>, + <| "Role" -> "User" , "Content" -> context |> + }, + "Model" -> $wlSuggestionsModel, + "N" -> $wlSuggestionsCount, + "MaxTokens" -> $wlSuggestionsMaxTokens, + "Temperature" -> $wlSuggestionsTemperature + }, + Authentication -> $suggestionsAuthentication + ]; + + suggestions = DeleteDuplicates @ ConfirmMatch[ getSuggestions @ response, { __String }, "Suggestions" ]; + + container = formatSuggestions[ Dynamic[ container ], suggestions, nbo, root, context, settings ] + ], + throwInternalFailure +]; + +generateWLSuggestions // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*getSuggestions*) +getSuggestions // beginDefinition; +getSuggestions[ KeyValuePattern[ "Content"|"content"|"choices"|"message" -> content_ ] ] := getSuggestions @ content; +getSuggestions[ content_String ] := content; +getSuggestions[ items_List ] := getSuggestions /@ items; +getSuggestions // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*formatSuggestions*) +formatSuggestions // beginDefinition; + +formatSuggestions[ + container_, + suggestions: { __String }, + nbo_NotebookObject, + root_CellObject, + context_, + settings_ +] := Enclose[ + Module[ { formatted }, + formatted = ConfirmMatch[ formatSuggestion[ root, nbo ] /@ suggestions, { __Button }, "Formatted" ]; + Pane[ Column[ formatted, Spacings -> 0 ] ] + ], + throwInternalFailure +]; + +formatSuggestions // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*formatSuggestion*) +formatSuggestion // beginDefinition; + +formatSuggestion[ root_CellObject, nbo_NotebookObject ] := + formatSuggestion[ root, nbo, # ] &; + +formatSuggestion[ root_CellObject, nbo_NotebookObject, suggestion_String ] := Button[ + suggestion, + NotebookDelete @ EvaluationCell[ ]; + NotebookWrite[ nbo, suggestion, After ], + BaseStyle -> { "Input" }, + Alignment -> Left +]; + +formatSuggestion // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +addToMXInitialization[ + Null +]; + +End[ ]; +EndPackage[ ]; diff --git a/Source/Chatbook/ChatModes/ShowCodeAssistance.wl b/Source/Chatbook/ChatModes/ShowCodeAssistance.wl index 2d94ac51..05d546e7 100644 --- a/Source/Chatbook/ChatModes/ShowCodeAssistance.wl +++ b/Source/Chatbook/ChatModes/ShowCodeAssistance.wl @@ -31,7 +31,7 @@ $workspaceChatNotebookOptions = Sequence[ (* ::Section::Closed:: *) (*EnableCodeAssistance*) EnableCodeAssistance // beginDefinition; -EnableCodeAssistance[ ] := catchMine @ Once[ enableCodeAssistance[ ]; Null, "FrontEndSession" ]; +EnableCodeAssistance[ ] := catchMine @ (enableCodeAssistance[ ]; Null); EnableCodeAssistance // endExportedDefinition; (* ::**************************************************************************************************************:: *) @@ -39,36 +39,59 @@ EnableCodeAssistance // endExportedDefinition; (*enableCodeAssistance*) enableCodeAssistance // beginDefinition; -enableCodeAssistance[ ] := FrontEndExecute @ { - FrontEnd`AddMenuCommands[ - "OpenHelpLink", - { - MenuItem[ - "Code Assistance Chat\[Ellipsis]", - FrontEnd`KernelExecute[ - Needs[ "Wolfram`Chatbook`" -> None ]; - Symbol[ "Wolfram`Chatbook`ShowCodeAssistance" ][ "Window" ] - ], - FrontEnd`MenuEvaluator -> Automatic, - Evaluate[ - If[ $OperatingSystem === "MacOSX", - FrontEnd`MenuKey[ "'", FrontEnd`Modifiers -> { FrontEnd`Control } ], - FrontEnd`MenuKey[ "'", FrontEnd`Modifiers -> { FrontEnd`Command } ] +enableCodeAssistance[ ] := Once[ + FrontEndExecute @ { + FrontEnd`AddMenuCommands[ + "OpenHelpLink", + { + MenuItem[ + "Code Assistance Chat\[Ellipsis]", + FrontEnd`KernelExecute[ + Needs[ "Wolfram`Chatbook`" -> None ]; + Symbol[ "Wolfram`Chatbook`ShowCodeAssistance" ][ "Window" ] + ], + FrontEnd`MenuEvaluator -> Automatic, + Evaluate[ + If[ $OperatingSystem === "MacOSX", + FrontEnd`MenuKey[ "'", FrontEnd`Modifiers -> { FrontEnd`Control } ], + FrontEnd`MenuKey[ "'", FrontEnd`Modifiers -> { FrontEnd`Command } ] + ] ] - ] - ], - MenuItem[ - "Code Assistance for Selection", - FrontEnd`KernelExecute[ - Needs[ "Wolfram`Chatbook`" -> None ]; - Symbol[ "Wolfram`Chatbook`ShowCodeAssistance" ][ "Inline" ] ], - FrontEnd`MenuEvaluator -> Automatic, - FrontEnd`MenuKey[ "'", FrontEnd`Modifiers -> { FrontEnd`Control, FrontEnd`Shift } ] - ] - } - ] -}; + MenuItem[ + "Code Assistance for Selection", + FrontEnd`KernelExecute[ + Needs[ "Wolfram`Chatbook`" -> None ]; + Symbol[ "Wolfram`Chatbook`ShowCodeAssistance" ][ "Inline" ] + ], + FrontEnd`MenuEvaluator -> Automatic, + FrontEnd`MenuKey[ "'", FrontEnd`Modifiers -> { FrontEnd`Control, FrontEnd`Shift } ] + ] + } + ], + FrontEnd`AddMenuCommands[ + "DuplicatePreviousOutput", + { + MenuItem[ + "AI Content Suggestion", + FrontEnd`KernelExecute[ + Needs[ "Wolfram`Chatbook`" -> None ]; + Symbol[ "Wolfram`Chatbook`ShowContentSuggestions" ][ ] + ], + FrontEnd`MenuEvaluator -> Automatic, + Evaluate[ + If[ $OperatingSystem === "MacOSX", + FrontEnd`MenuKey[ "k", FrontEnd`Modifiers -> { FrontEnd`Control } ], + FrontEnd`MenuKey[ "k", FrontEnd`Modifiers -> { FrontEnd`Command } ] + ] + ], + Method -> "Queued" + ] + } + ] + }, + "FrontEndSession" +]; enableCodeAssistance // endDefinition; diff --git a/Source/Chatbook/ChatModes/UI.wl b/Source/Chatbook/ChatModes/UI.wl index a4cfee3e..26f31cf2 100644 --- a/Source/Chatbook/ChatModes/UI.wl +++ b/Source/Chatbook/ChatModes/UI.wl @@ -224,14 +224,23 @@ attachInlineChatInput // endDefinition; (*getSelectionInfo*) getSelectionInfo // beginDefinition; -getSelectionInfo[ cell_CellObject ] := getSelectionInfo[ cell, cellInformation[ cell, "CursorPosition" ] ]; -getSelectionInfo[ cell_, Except[ { _Integer, _Integer } ] ] := None; -getSelectionInfo[ cell_, pos_ ] := getSelectionInfo[ cell, pos, cellHash @ cell ]; - -getSelectionInfo[ cell_CellObject, pos: { _Integer, _Integer }, hash_String ] := <| - "CellObject" -> cell, - "CursorPosition" -> pos, - "Hash" -> hash +getSelectionInfo[ cell_CellObject ] := + getSelectionInfo[ cell, cellInformation[ cell, { "ContentData", "CursorPosition" } ] ]; + +getSelectionInfo[ cell_, KeyValuePattern[ "CursorPosition" -> Except[ { _Integer, _Integer } ] ] ] := + None; + +getSelectionInfo[ cell_, info_ ] := + getSelectionInfo[ cell, info, cellHash @ cell ]; + +getSelectionInfo[ + cell_CellObject, + as: KeyValuePattern[ "CursorPosition" -> { _Integer, _Integer } ], + hash_String +] := <| + as, + "CellObject" -> cell, + "Hash" -> hash |>; getSelectionInfo // endDefinition; diff --git a/Source/Chatbook/Main.wl b/Source/Chatbook/Main.wl index a38302c4..c4cee1b5 100644 --- a/Source/Chatbook/Main.wl +++ b/Source/Chatbook/Main.wl @@ -61,6 +61,7 @@ BeginPackage[ "Wolfram`Chatbook`" ]; `SetModel; `SetToolOptions; `ShowCodeAssistance; +`ShowContentSuggestions; `StringToBoxes; `WriteChatOutputCell; @@ -196,6 +197,7 @@ $ChatbookProtectedNames = "Wolfram`Chatbook`" <> # & /@ { "SetModel", "SetToolOptions", "ShowCodeAssistance", + "ShowContentSuggestions", "StringToBoxes", "WriteChatOutputCell" }; From 104cf935fe6d180d2be8891e045a42aaf4c1d3b4 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 9 Sep 2024 08:05:51 -0400 Subject: [PATCH 073/180] Bugfix: Don't show hidden tools in UI --- Source/Chatbook/ToolManager.wl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Source/Chatbook/ToolManager.wl b/Source/Chatbook/ToolManager.wl index aee9a049..824776a4 100644 --- a/Source/Chatbook/ToolManager.wl +++ b/Source/Chatbook/ToolManager.wl @@ -435,7 +435,12 @@ addPersonaSource // endDefinition; (* ::Subsection::Closed:: *) (*getFullToolList*) getFullToolList // beginDefinition; -getFullToolList[ ] := DeleteDuplicates @ Join[ Values @ $DefaultTools, Values @ $InstalledTools ]; + +getFullToolList[ ] := DeleteCases[ + DeleteDuplicates @ Join[ Values @ $DefaultTools, Values @ $InstalledTools ], + _[ KeyValuePattern[ "Hidden" -> True ], ___ ] +]; + getFullToolList // endDefinition; (* ::**************************************************************************************************************:: *) From aeb63b01633797e57135d573091859be077cec9a Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 9 Sep 2024 08:20:50 -0400 Subject: [PATCH 074/180] Bugfix: Add missing `Enclose` --- Source/Chatbook/ResourceInstaller.wl | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Source/Chatbook/ResourceInstaller.wl b/Source/Chatbook/ResourceInstaller.wl index af7c841b..1afd51a2 100644 --- a/Source/Chatbook/ResourceInstaller.wl +++ b/Source/Chatbook/ResourceInstaller.wl @@ -464,11 +464,14 @@ resourceFromFile[ Automatic, path_String ] := Block[ { PrintTemporary }, Quiet[ DefinitionNotebookClient`ScrapeResource[ Import[ path ] ] ] ]; -resourceFromFile[ rtype_, path_String ] := Block[ { PrintTemporary }, - Quiet[ - With[ { nb = Import[ path ] }, +resourceFromFile[ rtype_, path_String ] := Enclose[ + Block[ { PrintTemporary }, + Quiet @ With[ { nb = Import @ path }, ConfirmMatch[ DefinitionNotebookClient`NotebookResourceType @ nb, rtype, "ResourceType" ]; - DefinitionNotebookClient`ScrapeResource @ nb ] ] + DefinitionNotebookClient`ScrapeResource @ nb + ] + ], + throwInternalFailure ]; resourceFromFile // endDefinition; From c2e300888ca6b286cf77ecb656e28c811ad50cb0 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 11 Sep 2024 12:57:46 -0400 Subject: [PATCH 075/180] Added support for TextData completions --- .../Chatbook/ChatModes/ContentSuggestions.wl | 322 +++++++++++++++--- Source/Chatbook/ChatModes/Context.wl | 38 ++- 2 files changed, 305 insertions(+), 55 deletions(-) diff --git a/Source/Chatbook/ChatModes/ContentSuggestions.wl b/Source/Chatbook/ChatModes/ContentSuggestions.wl index 80089902..d02fc63b 100644 --- a/Source/Chatbook/ChatModes/ContentSuggestions.wl +++ b/Source/Chatbook/ChatModes/ContentSuggestions.wl @@ -16,18 +16,52 @@ $suggestionsAuthentication = Automatic; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*Wolfram Language Suggestions*) -$wlSuggestionsModel = "gpt-4-turbo"; +$wlSuggestionsModel = "gpt-4o"; +$wlSuggestionsMultimodal = False; $wlSuggestionsCount = 3; $wlSuggestionsMaxTokens = 128; $wlSuggestionsTemperature = 1.0; +$wlPlaceholderString = ""; -$wlSuggestionsPrompt = "\ -Complete the following Wolfram Language code by writing text that can be inserted into `Placeholder`. \ -Do your best to match the existing style (whitespace, line breaks, etc.). \ -Respond with the completion text and nothing else. \ -Do not include any formatting in your response. Do not include outputs or `In[]:=` cell labels."; +$wlSuggestionsPrompt = StringTemplate[ "\ +Complete the following Wolfram Language code by writing text that can be inserted into %%Placeholder%%. +Do your best to match the existing style (whitespace, line breaks, etc.). +Your suggested text will be inserted into %%Placeholder%%, so be careful not to repeat the immediately surrounding text. +Use `%` to refer to the previous output or `%n` for earlier outputs (where n is an output number) when appropriate. +Respond with the completion text and nothing else. +Do not include any formatting in your response. Do not include outputs or `In[]:=` cell labels.", +Delimiters -> "%%" ]; -(* TODO: need to also handle TextData cells *) +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*TextData Suggestions*) +$textSuggestionsModel = "gpt-4o"; +$textSuggestionsMultimodal = False; +$textSuggestionsCount = 3; +$textSuggestionsMaxTokens = 256; +$textSuggestionsTemperature = 1.0; +$textPlaceholderString = ""; + +$textSuggestionsPrompt = StringTemplate[ "\ +Complete the following by writing text that can be inserted into %%Placeholder%%. +Do your best to match the existing style (whitespace, line breaks, etc.). +Your suggested text will be inserted into %%Placeholder%%, so be careful not to repeat the immediately surrounding text. +Respond with the completion text and nothing else.", +Delimiters -> "%%" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Notebook Content Suggestions*) +(* TODO: between cells suggestions *) + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Patterns*) +$$emptyItem = "" | { } | { "" }; +$$emptySuggestion = $$emptyItem | BoxData @ $$emptyItem | TextData @ $$emptyItem; + +$$inLabel = "In[" ~~ DigitCharacter... ~~ "]" ~~ WhitespaceCharacter... ~~ ":="; +$$outLabel = "Out[" ~~ DigitCharacter... ~~ "]" ~~ WhitespaceCharacter... ~~ ("="|"//"); (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) @@ -41,31 +75,37 @@ ShowContentSuggestions // endExportedDefinition; (* ::Subsection::Closed:: *) (*showContentSuggestions*) showContentSuggestions // beginDefinition; -showContentSuggestions[ $Failed ] := Null; -showContentSuggestions[ nbo_NotebookObject ] := showContentSuggestions[ nbo, SelectedCells @ nbo ]; -showContentSuggestions[ nbo_NotebookObject, { selected_CellObject } ] := showContentSuggestions0[ nbo, selected ]; -showContentSuggestions[ _NotebookObject, _ ] := Null; -showContentSuggestions // endDefinition; +showContentSuggestions[ $Failed ] := + Null; -showContentSuggestions0 // beginDefinition; +showContentSuggestions[ nbo_NotebookObject ] := + showContentSuggestions[ nbo, SelectedCells @ nbo ]; -showContentSuggestions0[ a__ ] := Enclose[ - ConfirmMatch[ - setServiceCaller[ showContentSuggestions1 @ a, "ContentSuggestions" ], - _CellObject | Null, - "ShowContentSuggestions" +showContentSuggestions[ nbo_NotebookObject, { selected_CellObject } ] := + showContentSuggestions0[ nbo, selected ]; + +showContentSuggestions[ nbo_NotebookObject, { } ] := Enclose[ + Module[ { selected }, + (* FIXME: this is where notebook content suggestions should come in *) + SelectionMove[ nbo, After, Cell ]; + NotebookWrite[ nbo, "", All ]; + selected = ConfirmMatch[ SelectedCells @ nbo, { _CellObject }, "Selected" ]; + showContentSuggestions0[ nbo, First @ selected ] ], throwInternalFailure ]; -showContentSuggestions0 // endDefinition; +showContentSuggestions[ _NotebookObject, _ ] := + Null; + +showContentSuggestions // endDefinition; -showContentSuggestions1 // beginDefinition; +showContentSuggestions0 // beginDefinition; -showContentSuggestions1[ nbo_NotebookObject, root_CellObject ] := Enclose[ - Catch @ Module[ { selectionInfo, suggestionsContainer, attached, settings, context }, +showContentSuggestions0[ nbo_NotebookObject, root_CellObject ] := Enclose[ + Module[ { selectionInfo }, NotebookDelete @ Cells[ nbo, AttachedCell -> True, CellStyle -> "AttachedContentSuggestions" ]; @@ -75,11 +115,21 @@ showContentSuggestions1[ nbo_NotebookObject, root_CellObject ] := Enclose[ "SelectionInfo" ]; - (* TODO: need to support TextData suggestions: *) - If[ ! MatchQ[ selectionInfo[ "ContentData" ], BoxData|"BoxData"|_Missing ], Throw @ Null ]; + $lastSelectionInfo = selectionInfo; + + ConfirmMatch[ + setServiceCaller[ showContentSuggestions0[ nbo, root, selectionInfo ], "ContentSuggestions" ], + _CellObject | Null, + "ShowContentSuggestions" + ] + ], + throwInternalFailure +]; + +showContentSuggestions0[ nbo_NotebookObject, root_CellObject, selectionInfo_Association ] := Enclose[ + Catch @ Module[ { suggestionsContainer, attached, settings, context }, - (* Only show autocomplete if the selection is between characters: *) - If[ ! MatchQ[ selectionInfo, KeyValuePattern[ "CursorPosition" -> { n_Integer, n_Integer } ] ], Throw @ Null ]; + If[ ! MatchQ[ selectionInfo, KeyValuePattern[ "CursorPosition" -> { _Integer, _Integer } ] ], Throw @ Null ]; suggestionsContainer = ProgressIndicator[ Appearance -> "Necklace" ]; attached = ConfirmMatch[ @@ -98,10 +148,15 @@ showContentSuggestions1[ nbo_NotebookObject, root_CellObject ] := Enclose[ ClearAttributes[ suggestionsContainer, Temporary ]; settings = ConfirmBy[ AbsoluteCurrentChatSettings @ root, AssociationQ, "Settings" ]; - context = ConfirmBy[ getContextFromSelection[ None, nbo, settings ], StringQ, "Context" ]; + + context = ConfirmBy[ + getContextFromSelection[ None, nbo, settings, "NotebookInstructionsPrompt" -> False ], + StringQ, + "Context" + ]; ConfirmMatch[ - generateWLSuggestions[ Dynamic[ suggestionsContainer ], nbo, root, context, settings ], + generateSuggestions[ selectionInfo, Dynamic[ suggestionsContainer ], nbo, root, context, settings ], _Pane, "Submit" ]; @@ -111,7 +166,7 @@ showContentSuggestions1[ nbo_NotebookObject, root_CellObject ] := Enclose[ throwInternalFailure ]; -showContentSuggestions1 // endDefinition; +showContentSuggestions0 // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) @@ -130,18 +185,40 @@ contentSuggestionsCell[ Dynamic[ container_Symbol ] ] := Cell[ contentSuggestionsCell // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*generateSuggestions*) +generateSuggestions // beginDefinition; +generateSuggestions[ selectionInfo_Association, args__ ] := generateSuggestions[ selectionInfo[ "ContentData" ], args ]; +generateSuggestions[ BoxData, args__ ] := generateWLSuggestions @ args; +generateSuggestions[ TextData, args__ ] := generateTextSuggestions @ args; +generateSuggestions // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*generateWLSuggestions*) generateWLSuggestions // beginDefinition; -generateWLSuggestions[ Dynamic[ container_ ], nbo_, root_CellObject, context_String, settings_ ] := Enclose[ - Module[ { placeholder, instructions, response, suggestions }, +generateWLSuggestions[ Dynamic[ container_ ], nbo_, root_CellObject, context0_String, settings_ ] := Enclose[ + Module[ { context, instructions, response, suggestions }, + + context = ConfirmBy[ + StringReplace[ + context0, + Shortest[ $leftSelectionIndicator~~___~~$rightSelectionIndicator ] :> $wlPlaceholderString + ], + StringQ, + "Context" + ]; + + If[ TrueQ @ $wlSuggestionsMultimodal, + context = ConfirmMatch[ GetExpressionURIs @ context, { (_String|_Image)... }, "MultimodalContext" ] + ]; - placeholder = ConfirmBy[ $leftSelectionIndicator<>$rightSelectionIndicator, StringQ, "Placeholder" ]; + $lastSuggestionContext = context; instructions = ConfirmBy[ - TemplateApply[ $wlSuggestionsPrompt, <| "Placeholder" -> placeholder |> ], + TemplateApply[ $wlSuggestionsPrompt, <| "Placeholder" -> $wlPlaceholderString |> ], StringQ, "Instructions" ]; @@ -162,7 +239,11 @@ generateWLSuggestions[ Dynamic[ container_ ], nbo_, root_CellObject, context_Str Authentication -> $suggestionsAuthentication ]; - suggestions = DeleteDuplicates @ ConfirmMatch[ getSuggestions @ response, { __String }, "Suggestions" ]; + $lastSuggestionsResponse = response; + + suggestions = DeleteDuplicates @ ConfirmMatch[ getWLSuggestions @ response, { __BoxData }, "Suggestions" ]; + + $lastSuggestions = suggestions; container = formatSuggestions[ Dynamic[ container ], suggestions, nbo, root, context, settings ] ], @@ -173,11 +254,146 @@ generateWLSuggestions // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) +(*getWLSuggestions*) +getWLSuggestions // beginDefinition; +getWLSuggestions[ content_ ] := postProcessWLSuggestions @ getSuggestions @ content; +getWLSuggestions // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*postProcessWLSuggestions*) +postProcessWLSuggestions // beginDefinition; + +postProcessWLSuggestions[ suggestions_List ] := + postProcessWLSuggestions /@ suggestions; + +postProcessWLSuggestions[ suggestion_String ] := Enclose[ + Module[ { noOutputs, noBlocks, noLabels }, + + noOutputs = StringDelete[ + StringDelete[ + suggestion, + "```" ~~ Except[ "\n" ]... ~~ WhitespaceCharacter... ~~ $$outLabel ~~ ___ ~~ EndOfString + ], + $$outLabel ~~ ___ ~~ EndOfString + ]; + + noBlocks = StringTrim @ StringDelete[ + If[ StringContainsQ[ noOutputs, "```"~~__~~"```" ], + ConfirmBy[ + First @ StringCases[ noOutputs, "```" ~~ Except[ "\n" ]... ~~ "\n" ~~ code___ ~~ "```" :> code, 1 ], + StringQ, + "NoBlocks" + ], + noOutputs + ], + { + StartOfLine ~~ WhitespaceCharacter... ~~ "```" ~~ Except[ "\n" ]... ~~ EndOfLine, + "```" ~~ WhitespaceCharacter... ~~ EndOfLine + } + ]; + + noLabels = StringTrim @ StringDelete[ noBlocks, $$inLabel ]; + + ConfirmMatch[ StripBoxes @ stringToBoxes @ noLabels, _BoxData, "Result" ] + ], + throwInternalFailure +]; + +postProcessWLSuggestions // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*generateTextSuggestions*) +generateTextSuggestions // beginDefinition; + +generateTextSuggestions[ Dynamic[ container_ ], nbo_, root_CellObject, context0_String, settings_ ] := Enclose[ + Module[ { context, instructions, response, suggestions }, + + context = ConfirmBy[ + StringReplace[ + context0, + Shortest[ $leftSelectionIndicator~~___~~$rightSelectionIndicator ] :> $textPlaceholderString + ], + StringQ, + "Context" + ]; + + If[ TrueQ @ $textSuggestionsMultimodal, + context = ConfirmMatch[ GetExpressionURIs @ context, { (_String|_Image)... }, "MultimodalContext" ] + ]; + + $lastSuggestionContext = context; + + instructions = ConfirmBy[ + TemplateApply[ $textSuggestionsPrompt, <| "Placeholder" -> $textPlaceholderString |> ], + StringQ, + "Instructions" + ]; + + response = setServiceCaller @ ServiceExecute[ + $suggestionsService, + "Chat", + { + "Messages" -> { + <| "Role" -> "System", "Content" -> instructions |>, + <| "Role" -> "User" , "Content" -> context |> + }, + "Model" -> $textSuggestionsModel, + "N" -> $textSuggestionsCount, + "MaxTokens" -> $textSuggestionsMaxTokens, + "Temperature" -> $textSuggestionsTemperature, + "StopTokens" -> { "\n\n" } + }, + Authentication -> $suggestionsAuthentication + ]; + + $lastSuggestionsResponse = response; + + suggestions = DeleteDuplicates @ ConfirmMatch[ getTextSuggestions @ response, { __TextData }, "Suggestions" ]; + + $lastSuggestions = suggestions; + + container = formatSuggestions[ Dynamic[ container ], suggestions, nbo, root, context, settings ] + ], + throwInternalFailure +]; + +generateTextSuggestions // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*getTextSuggestions*) +getTextSuggestions // beginDefinition; +getTextSuggestions[ content_ ] := postProcessTextSuggestions @ getSuggestions @ content; +getTextSuggestions // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*postProcessTextSuggestions*) +postProcessTextSuggestions // beginDefinition; +postProcessTextSuggestions[ suggestions_List ] := postProcessTextSuggestions /@ suggestions; +postProcessTextSuggestions[ s_String ] := postProcessTextSuggestions[ s, FormatChatOutput @ s ]; +postProcessTextSuggestions[ s_, RawBoxes[ cell_Cell ] ] := postProcessTextSuggestions[ s, ExplodeCell @ cell ]; +postProcessTextSuggestions[ s_, { cell_Cell, ___ } ] := toTextData @ cell; +postProcessTextSuggestions // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*toTextData*) +toTextData // beginDefinition; +toTextData[ Cell[ text_, ___ ] ] := toTextData @ text; +toTextData[ text_TextData ] := text; +toTextData[ text: $$textData ] := TextData @ Flatten @ { text }; +toTextData // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) (*getSuggestions*) getSuggestions // beginDefinition; -getSuggestions[ KeyValuePattern[ "Content"|"content"|"choices"|"message" -> content_ ] ] := getSuggestions @ content; +getSuggestions[ KeyValuePattern[ "Content"|"content"|"choices"|"message" -> data_ ] ] := getSuggestions @ data; getSuggestions[ content_String ] := content; -getSuggestions[ items_List ] := getSuggestions /@ items; +getSuggestions[ items_List ] := DeleteCases[ getSuggestions /@ items, $$emptySuggestion ]; getSuggestions // endDefinition; (* ::**************************************************************************************************************:: *) @@ -187,14 +403,15 @@ formatSuggestions // beginDefinition; formatSuggestions[ container_, - suggestions: { __String }, + suggestions: { __ }, nbo_NotebookObject, root_CellObject, context_, settings_ ] := Enclose[ - Module[ { formatted }, - formatted = ConfirmMatch[ formatSuggestion[ root, nbo ] /@ suggestions, { __Button }, "Formatted" ]; + Module[ { styles, formatted }, + styles = ConfirmMatch[ cellStyles @ root, { ___String }, "Styles" ]; + formatted = ConfirmMatch[ formatSuggestion[ root, nbo, styles ] /@ suggestions, { __Button }, "Formatted" ]; Pane[ Column[ formatted, Spacings -> 0 ] ] ], throwInternalFailure @@ -207,14 +424,31 @@ formatSuggestions // endDefinition; (*formatSuggestion*) formatSuggestion // beginDefinition; -formatSuggestion[ root_CellObject, nbo_NotebookObject ] := - formatSuggestion[ root, nbo, # ] &; +formatSuggestion[ root_CellObject, nbo_NotebookObject, styles_ ] := + formatSuggestion[ root, nbo, styles, # ] &; + +formatSuggestion[ root_CellObject, nbo_NotebookObject, { styles___String }, suggestion_BoxData ] := Button[ + RawBoxes @ Cell[ + suggestion, + styles, + If[ MemberQ[ { styles }, "Input"|"Code" ], + Sequence @@ { + ShowStringCharacters -> True, + ShowAutoStyles -> True, + LanguageCategory -> "Input" + }, + Sequence @@ { } + ] + ], + NotebookDelete @ EvaluationCell[ ]; + NotebookWrite[ nbo, suggestion, After ], + Alignment -> Left +]; -formatSuggestion[ root_CellObject, nbo_NotebookObject, suggestion_String ] := Button[ - suggestion, +formatSuggestion[ root_CellObject, nbo_NotebookObject, { styles___String }, suggestion_TextData ] := Button[ + RawBoxes @ Cell[ suggestion, styles, Deployed -> True, Selectable -> False ], NotebookDelete @ EvaluationCell[ ]; NotebookWrite[ nbo, suggestion, After ], - BaseStyle -> { "Input" }, Alignment -> Left ]; diff --git a/Source/Chatbook/ChatModes/Context.wl b/Source/Chatbook/ChatModes/Context.wl index 4baa6f20..360613e3 100644 --- a/Source/Chatbook/ChatModes/Context.wl +++ b/Source/Chatbook/ChatModes/Context.wl @@ -11,10 +11,10 @@ Needs[ "Wolfram`Chatbook`Serialization`" ]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Configuration*) -$maxCellsBeforeSelection = 100; -$maxCellsAfterSelection = 10; - -$currentSelectionIndicator = { $leftSelectionIndicator, $rightSelectionIndicator }; +$maxCellsBeforeSelection = 100; +$maxCellsAfterSelection = 20; +$notebookInstructionsPrompt = True; +$currentSelectionIndicator = { $leftSelectionIndicator, $rightSelectionIndicator }; $notebookContextTemplate = StringTemplate[ "\ IMPORTANT: Below is some context from the user's currently selected notebook. \ @@ -92,18 +92,25 @@ getWorkspacePrompt // endDefinition; (* ::Subsection::Closed:: *) (*getContextFromSelection*) getContextFromSelection // beginDefinition; +getContextFromSelection // Options = { "NotebookInstructionsPrompt" -> True }; -getContextFromSelection[ chatNB_NotebookObject, settings_Association ] := - getContextFromSelection[ chatNB, getUserNotebook @ chatNB, settings ]; +getContextFromSelection[ chatNB_NotebookObject, settings_Association, opts: OptionsPattern[ ] ] := + getContextFromSelection[ chatNB, getUserNotebook @ chatNB, settings, opts ]; -getContextFromSelection[ chatNB_NotebookObject, None, settings_Association ] := +getContextFromSelection[ chatNB_NotebookObject, None, settings_Association, opts: OptionsPattern[ ] ] := None; -getContextFromSelection[ chatNB_, nbo_NotebookObject, settings_Association ] := Enclose[ +getContextFromSelection[ chatNB_, nbo_NotebookObject, settings_Association, opts: OptionsPattern[ ] ] := Enclose[ Catch @ Module[ { selectionData }, selectionData = ConfirmMatch[ selectContextCells @ nbo, _Association|None, "SelectionData" ]; If[ selectionData === None, Throw @ None ]; - ConfirmBy[ getContextFromSelection0[ selectionData, settings ], StringQ, "Context" ] + ConfirmBy[ + Block[ { $notebookInstructionsPrompt = TrueQ @ OptionValue[ "NotebookInstructionsPrompt" ] }, + getContextFromSelection0[ selectionData, settings ] + ], + StringQ, + "Context" + ] ], throwInternalFailure ]; @@ -120,7 +127,8 @@ getContextFromSelection0[ selectionData: KeyValuePattern[ "Selected" -> { cell_C ]; getContextFromSelection0[ selectionData_Association, settings_ ] := Enclose[ - Catch @ Module[ { cellObjects, cells, len1, len2, before, selected, after, marked, messages, string }, + Catch @ Module[ + { cellObjects, cells, len1, len2, before, selected, after, marked, messages, string, nbCtx }, cellObjects = ConfirmMatch[ Flatten @ Values @ selectionData, { ___CellObject }, "CellObjects" ]; cells = ConfirmMatch[ notebookRead @ cellObjects, { ___Cell }, "Cells" ]; @@ -142,8 +150,10 @@ getContextFromSelection0[ selectionData_Association, settings_ ] := Enclose[ $lastContextPrompt = $contextPrompt; $lastSelectionPrompt = $selectionPrompt; + nbCtx = ConfirmBy[ applyNotebookContextTemplate @ string, StringQ, "NotebookContext" ]; + (* FIXME: pass $selectionPrompt instead of extracting again: *) - postProcessNotebookContextString[ applyNotebookContextTemplate @ string, string ] + postProcessNotebookContextString[ nbCtx, string ] ], throwInternalFailure ]; @@ -220,6 +230,9 @@ messageToString // endDefinition; (*postProcessNotebookContextString*) postProcessNotebookContextString // beginDefinition; +postProcessNotebookContextString[ prompt_String, string_String ] /; ! TrueQ @ $notebookInstructionsPrompt := + prompt; + postProcessNotebookContextString[ prompt_String, string_String ] := Module[ { selected, selectedString }, selected = StringCases[ string, $leftSelectionIndicator ~~ s__ ~~ $rightSelectionIndicator :> s, 1 ]; @@ -242,6 +255,9 @@ postProcessNotebookContextString // endDefinition; (*applyNotebookContextTemplate*) applyNotebookContextTemplate // beginDefinition; +applyNotebookContextTemplate[ string_String ] /; ! TrueQ @ $notebookInstructionsPrompt := + string; + applyNotebookContextTemplate[ string_String ] := applyNotebookContextTemplate[ string, $currentSelectionIndicator ]; From 98d707359aac7247f72661e056d8163e8584f432 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 11 Sep 2024 13:42:08 -0400 Subject: [PATCH 076/180] Support new format of `ChatSubmit` stream data --- Source/Chatbook/CommonSymbols.wl | 1 + Source/Chatbook/LLMUtilities.wl | 42 +++++++++++++++++++++++--------- Source/Chatbook/SendChat.wl | 8 +++--- 3 files changed, 35 insertions(+), 16 deletions(-) diff --git a/Source/Chatbook/CommonSymbols.wl b/Source/Chatbook/CommonSymbols.wl index 900cd890..731a8eca 100644 --- a/Source/Chatbook/CommonSymbols.wl +++ b/Source/Chatbook/CommonSymbols.wl @@ -138,6 +138,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `exportDataURI; `expressionURIKey; `expressionURIKeyQ; +`extractBodyChunks; `fastFileHash; `feParentObject; `filterChatCells; diff --git a/Source/Chatbook/LLMUtilities.wl b/Source/Chatbook/LLMUtilities.wl index 6a546d01..7951e244 100644 --- a/Source/Chatbook/LLMUtilities.wl +++ b/Source/Chatbook/LLMUtilities.wl @@ -72,18 +72,13 @@ llmSynthesizeSubmit[ prompt0: $$llmPrompt, evaluator_Association, callback_ ] := Internal`StuffBag[ chunks, # ] ], "TaskFinished" -> Function[ - Module[ { string }, - $lastSynthesizeSubmitLog = Internal`BagPart[ chunks, All ]; - string = StringJoin @ Select[ - Flatten @ Cases[ - Internal`BagPart[ chunks, All ], - KeyValuePattern[ "BodyChunkProcessed" -> c_ ] :> c - ], - StringQ - ]; - If[ string === "", - callback[ Failure[ "InvalidResponse", <| "Data" -> Internal`BagPart[ chunks, All ] |> ], #1 ], - callback[ string, #1 ] + Module[ { data, strings }, + data = Internal`BagPart[ chunks, All ]; + $lastSynthesizeSubmitLog = data; + strings = extractBodyChunks @ data; + If[ ! MatchQ[ strings, { __String } ], + callback[ Failure[ "InvalidResponse", <| "Data" -> data |> ], #1 ], + With[ { s = StringJoin @ strings }, callback[ s, #1 ] ] ] ] ] @@ -177,6 +172,29 @@ imageTokenCount[ img_Image ] := imageTokenCount @ ImageDimensions @ img; imageTokenCount[ { w_Integer, h_Integer } ] := 85 + 170 * Ceiling[ h / 512 ] * Ceiling[ w / 512 ]; imageTokenCount // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*extractBodyChunks*) +extractBodyChunks // beginDefinition; + +extractBodyChunks[ data_ ] := Enclose[ + ConfirmMatch[ DeleteCases[ Flatten @ { extractBodyChunks0 @ data }, "" ], { ___String }, "Result" ], + throwInternalFailure +]; + +extractBodyChunks // endDefinition; + + +extractBodyChunks0 // beginDefinition; +extractBodyChunks0[ content_String ] := content; +extractBodyChunks0[ content_List ] := extractBodyChunks /@ content; +extractBodyChunks0[ KeyValuePattern[ "BodyChunkProcessed" -> content_ ] ] := extractBodyChunks0 @ content; +extractBodyChunks0[ KeyValuePattern[ "ContentDelta" -> content_ ] ] := extractBodyChunks0 @ content; +extractBodyChunks0[ KeyValuePattern @ { "Type" -> "Text", "Data" -> content_ } ] := extractBodyChunks0 @ content; +extractBodyChunks0[ bag_Internal`Bag ] := extractBodyChunks0 @ Internal`BagPart[ bag, All ]; +extractBodyChunks0[ Null ] := { }; +extractBodyChunks0 // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Package Footer*) diff --git a/Source/Chatbook/SendChat.wl b/Source/Chatbook/SendChat.wl index 207d0c88..23e565d8 100644 --- a/Source/Chatbook/SendChat.wl +++ b/Source/Chatbook/SendChat.wl @@ -726,10 +726,10 @@ withFETasks // endDefinition; writeChunk // beginDefinition; writeChunk[ container_, cell_, KeyValuePattern[ "BodyChunkProcessed" -> chunks_ ] ] := - With[ { chunk = StringJoin @ Select[ Flatten @ { chunks }, StringQ ] }, - If[ chunk === "", + With[ { strings = extractBodyChunks @ chunks }, + If[ ! MatchQ[ strings, { __String } ], Null, - writeChunk0[ container, cell, chunk, chunk ] + With[ { chunk = StringJoin @ strings }, writeChunk0[ container, cell, chunk, chunk ] ] ] ]; @@ -975,7 +975,7 @@ writeResult[ settings_, container_, cell_, as_Association ] := Enclose[ If[ settings[ "BypassResponseChecking" ], Throw @ writeReformattedCell[ settings, container, cell ] ]; log = ConfirmMatch[ Internal`BagPart[ $debugLog, All ], { ___Association }, "DebugLog" ]; - processed = StringJoin @ Cases[ log, KeyValuePattern[ "BodyChunkProcessed" -> s_String ] :> s ]; + processed = StringJoin @ ConfirmMatch[ extractBodyChunks @ log, { ___String }, "Processed" ]; { body, data } = ConfirmMatch[ extractBodyData @ log, { _, _ }, "ExtractBodyData" ]; $lastFullResponseData = <| "Body" -> body, "Processed" -> processed, "Data" -> data |>; From 7b7ae574cf30b5ffa5e595ad89ede74b6c434c1a Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 11 Sep 2024 14:34:19 -0400 Subject: [PATCH 077/180] Bugfix: Handle missing "ContentDelta" key in streaming data --- Source/Chatbook/LLMUtilities.wl | 1 + 1 file changed, 1 insertion(+) diff --git a/Source/Chatbook/LLMUtilities.wl b/Source/Chatbook/LLMUtilities.wl index 7951e244..a71e644e 100644 --- a/Source/Chatbook/LLMUtilities.wl +++ b/Source/Chatbook/LLMUtilities.wl @@ -191,6 +191,7 @@ extractBodyChunks0[ content_List ] := extractBodyChunks /@ content; extractBodyChunks0[ KeyValuePattern[ "BodyChunkProcessed" -> content_ ] ] := extractBodyChunks0 @ content; extractBodyChunks0[ KeyValuePattern[ "ContentDelta" -> content_ ] ] := extractBodyChunks0 @ content; extractBodyChunks0[ KeyValuePattern @ { "Type" -> "Text", "Data" -> content_ } ] := extractBodyChunks0 @ content; +extractBodyChunks0[ KeyValuePattern @ { } ] := { }; extractBodyChunks0[ bag_Internal`Bag ] := extractBodyChunks0 @ Internal`BagPart[ bag, All ]; extractBodyChunks0[ Null ] := { }; extractBodyChunks0 // endDefinition; From dd6a76793487d095e5256ced1771d7eb55cf05d6 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 12 Sep 2024 09:29:47 -0400 Subject: [PATCH 078/180] Promote `CellToString` to main context --- Source/Chatbook/Main.wl | 2 ++ Source/Chatbook/Serialization.wl | 28 ++++++++++++---------------- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/Source/Chatbook/Main.wl b/Source/Chatbook/Main.wl index c4cee1b5..72d2e88f 100644 --- a/Source/Chatbook/Main.wl +++ b/Source/Chatbook/Main.wl @@ -35,6 +35,7 @@ BeginPackage[ "Wolfram`Chatbook`" ]; `BasePrompt; `CachedBoxes; `CellToChatMessage; +`CellToString; `Chatbook; `ChatbookAction; `ChatCellEvaluate; @@ -172,6 +173,7 @@ $ChatbookProtectedNames = "Wolfram`Chatbook`" <> # & /@ { "BasePrompt", "CachedBoxes", "CellToChatMessage", + "CellToString", "Chatbook", "ChatbookAction", "ChatCellEvaluate", diff --git a/Source/Chatbook/Serialization.wl b/Source/Chatbook/Serialization.wl index 31b17ef3..50032fdf 100644 --- a/Source/Chatbook/Serialization.wl +++ b/Source/Chatbook/Serialization.wl @@ -5,7 +5,7 @@ BeginPackage[ "Wolfram`Chatbook`Serialization`" ]; (* Avoiding context aliasing due to bug 434990: *) Needs[ "GeneralUtilities`" -> None ]; -GeneralUtilities`SetUsage[ `CellToString, "\ +GeneralUtilities`SetUsage[ CellToString, "\ CellToString[cell$] serializes a Cell expression as a string for use in chat.\ " ]; @@ -21,20 +21,6 @@ Needs[ "Wolfram`Chatbook`ErrorUtils`" ]; StyleBox[..., FontVariations -> {"StrikeThrough" -> True}] *) -(* TODO: - - There should be a way to pass custom serialization rules in chat settings, e.g. - ``` - "ConversionRules" -> { - _GraphicsBox -> "[Image]", - Cell[box_, "MyStyle"] :> formatMyStyle[box] - } - ``` - - These replacements should be done prior to calling `cellToString`, but need to be tagged in some way so we don't - try to serialize the results again via `fasterCellToString0`. -*) - (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Initialization*) @@ -314,7 +300,7 @@ $wolframAlphaInputTemplate = codeTemplate[ "\ (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*CellToString*) -CellToString // SetFallthroughError; +CellToString // beginDefinition; CellToString // Options = { "CharacterEncoding" -> $cellCharacterEncoding, @@ -378,6 +364,8 @@ CellToString[ cell_, opts: OptionsPattern[ ] ] := ]; (* :!CodeAnalysis::EndBlock:: *) +CellToString // endExportedDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*applyConversionRules*) @@ -2753,6 +2741,14 @@ firstMatchingCellGroup[ nb_, patt_, "Content" ] := Catch[ $cellGroupTag ]; +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Backwards Compatibility*) + +(* The resource function ExportMarkdownString depends on CellToString in the original context: *) +Wolfram`Chatbook`Serialization`CellToString = CellToString; +(* https://resources.wolframcloud.com/FunctionRepository/resources/ExportMarkdownString *) + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Package Footer*) From ab1bc0446a8bd491a5b6bf5bfcfa5f75ea35c00f Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 12 Sep 2024 09:30:38 -0400 Subject: [PATCH 079/180] Remove redundant `Needs[...]` calls --- Source/Chatbook/Actions.wl | 1 - Source/Chatbook/ChatMessages.wl | 9 ++++----- Source/Chatbook/ChatModes/Context.wl | 1 - Source/Chatbook/Feedback.wl | 5 ++--- Source/Chatbook/InlineReferences.wl | 1 - Source/Chatbook/SendChat.wl | 9 ++++----- Source/Chatbook/Settings.wl | 1 - Source/Chatbook/Tools/Common.wl | 1 - .../Tools/DefaultToolDefinitions/ChatPreferences.wl | 1 - .../Tools/DefaultToolDefinitions/DocumentationLookup.wl | 5 ++--- Source/Chatbook/Tools/ToolOptions.wl | 1 - Source/Chatbook/UI.wl | 1 - 12 files changed, 12 insertions(+), 24 deletions(-) diff --git a/Source/Chatbook/Actions.wl b/Source/Chatbook/Actions.wl index 50c5a188..a2e8c904 100644 --- a/Source/Chatbook/Actions.wl +++ b/Source/Chatbook/Actions.wl @@ -21,7 +21,6 @@ Begin[ "`Private`" ]; Needs[ "Wolfram`Chatbook`" ]; Needs[ "Wolfram`Chatbook`Common`" ]; Needs[ "Wolfram`Chatbook`PersonaManager`" ]; -Needs[ "Wolfram`Chatbook`Serialization`" ]; Needs[ "Wolfram`Chatbook`ToolManager`" ]; HoldComplete[ diff --git a/Source/Chatbook/ChatMessages.wl b/Source/Chatbook/ChatMessages.wl index 5cd65465..f3737348 100644 --- a/Source/Chatbook/ChatMessages.wl +++ b/Source/Chatbook/ChatMessages.wl @@ -5,11 +5,10 @@ Begin[ "`Private`" ]; (* :!CodeAnalysis::BeginBlock:: *) -Needs[ "Wolfram`Chatbook`" ]; -Needs[ "Wolfram`Chatbook`Actions`" ]; -Needs[ "Wolfram`Chatbook`Common`" ]; -Needs[ "Wolfram`Chatbook`Personas`" ]; -Needs[ "Wolfram`Chatbook`Serialization`" ]; +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Actions`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; +Needs[ "Wolfram`Chatbook`Personas`" ]; $ContextAliases[ "tokens`" ] = "Wolfram`LLMFunctions`Utilities`Tokenization`"; diff --git a/Source/Chatbook/ChatModes/Context.wl b/Source/Chatbook/ChatModes/Context.wl index 360613e3..03145d13 100644 --- a/Source/Chatbook/ChatModes/Context.wl +++ b/Source/Chatbook/ChatModes/Context.wl @@ -6,7 +6,6 @@ Begin[ "`Private`" ]; Needs[ "Wolfram`Chatbook`" ]; Needs[ "Wolfram`Chatbook`Common`" ]; Needs[ "Wolfram`Chatbook`ChatModes`Common`" ]; -Needs[ "Wolfram`Chatbook`Serialization`" ]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) diff --git a/Source/Chatbook/Feedback.wl b/Source/Chatbook/Feedback.wl index 4bc02512..29f40783 100644 --- a/Source/Chatbook/Feedback.wl +++ b/Source/Chatbook/Feedback.wl @@ -5,9 +5,8 @@ Begin[ "`Private`" ]; (* :!CodeAnalysis::BeginBlock:: *) -Needs[ "Wolfram`Chatbook`" ]; -Needs[ "Wolfram`Chatbook`Common`" ]; -Needs[ "Wolfram`Chatbook`Serialization`" ]; +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) diff --git a/Source/Chatbook/InlineReferences.wl b/Source/Chatbook/InlineReferences.wl index 0dbc2242..53e3656f 100644 --- a/Source/Chatbook/InlineReferences.wl +++ b/Source/Chatbook/InlineReferences.wl @@ -19,7 +19,6 @@ Needs[ "Wolfram`Chatbook`" ]; Needs[ "Wolfram`Chatbook`Common`" ]; Needs[ "Wolfram`Chatbook`Personas`" ]; Needs[ "Wolfram`Chatbook`ResourceInstaller`" ]; -Needs[ "Wolfram`Chatbook`Serialization`" ]; diff --git a/Source/Chatbook/SendChat.wl b/Source/Chatbook/SendChat.wl index 23e565d8..e46a774e 100644 --- a/Source/Chatbook/SendChat.wl +++ b/Source/Chatbook/SendChat.wl @@ -5,11 +5,10 @@ Begin[ "`Private`" ]; (* :!CodeAnalysis::BeginBlock:: *) -Needs[ "Wolfram`Chatbook`" ]; -Needs[ "Wolfram`Chatbook`Actions`" ]; -Needs[ "Wolfram`Chatbook`Common`" ]; -Needs[ "Wolfram`Chatbook`Personas`" ]; -Needs[ "Wolfram`Chatbook`Serialization`" ]; +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Actions`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; +Needs[ "Wolfram`Chatbook`Personas`" ]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) diff --git a/Source/Chatbook/Settings.wl b/Source/Chatbook/Settings.wl index d4cea598..cfcdbba8 100644 --- a/Source/Chatbook/Settings.wl +++ b/Source/Chatbook/Settings.wl @@ -10,7 +10,6 @@ Needs[ "Wolfram`Chatbook`Actions`" ]; Needs[ "Wolfram`Chatbook`Common`" ]; Needs[ "Wolfram`Chatbook`Personas`" ]; Needs[ "Wolfram`Chatbook`ResourceInstaller`" ]; -Needs[ "Wolfram`Chatbook`Serialization`" ]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) diff --git a/Source/Chatbook/Tools/Common.wl b/Source/Chatbook/Tools/Common.wl index 2fe5ef29..63559bc3 100644 --- a/Source/Chatbook/Tools/Common.wl +++ b/Source/Chatbook/Tools/Common.wl @@ -10,7 +10,6 @@ Needs[ "Wolfram`Chatbook`" ]; Needs[ "Wolfram`Chatbook`Common`" ]; Needs[ "Wolfram`Chatbook`Personas`" ]; Needs[ "Wolfram`Chatbook`ResourceInstaller`" ]; -Needs[ "Wolfram`Chatbook`Serialization`" ]; HoldComplete[ System`LLMTool; diff --git a/Source/Chatbook/Tools/DefaultToolDefinitions/ChatPreferences.wl b/Source/Chatbook/Tools/DefaultToolDefinitions/ChatPreferences.wl index c70e2552..69f54527 100644 --- a/Source/Chatbook/Tools/DefaultToolDefinitions/ChatPreferences.wl +++ b/Source/Chatbook/Tools/DefaultToolDefinitions/ChatPreferences.wl @@ -10,7 +10,6 @@ Needs[ "Wolfram`Chatbook`" ]; Needs[ "Wolfram`Chatbook`Common`" ]; Needs[ "Wolfram`Chatbook`Personas`" ]; Needs[ "Wolfram`Chatbook`ResourceInstaller`" ]; -Needs[ "Wolfram`Chatbook`Serialization`" ]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) diff --git a/Source/Chatbook/Tools/DefaultToolDefinitions/DocumentationLookup.wl b/Source/Chatbook/Tools/DefaultToolDefinitions/DocumentationLookup.wl index 7f1521f7..22e60e6f 100644 --- a/Source/Chatbook/Tools/DefaultToolDefinitions/DocumentationLookup.wl +++ b/Source/Chatbook/Tools/DefaultToolDefinitions/DocumentationLookup.wl @@ -3,9 +3,8 @@ BeginPackage[ "Wolfram`Chatbook`Tools`" ]; Begin[ "`Private`" ]; -Needs[ "Wolfram`Chatbook`" ]; -Needs[ "Wolfram`Chatbook`Common`" ]; -Needs[ "Wolfram`Chatbook`Serialization`" ]; +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) diff --git a/Source/Chatbook/Tools/ToolOptions.wl b/Source/Chatbook/Tools/ToolOptions.wl index 0dcd0691..eafdd366 100644 --- a/Source/Chatbook/Tools/ToolOptions.wl +++ b/Source/Chatbook/Tools/ToolOptions.wl @@ -10,7 +10,6 @@ Needs[ "Wolfram`Chatbook`" ]; Needs[ "Wolfram`Chatbook`Common`" ]; Needs[ "Wolfram`Chatbook`Personas`" ]; Needs[ "Wolfram`Chatbook`ResourceInstaller`" ]; -Needs[ "Wolfram`Chatbook`Serialization`" ]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) diff --git a/Source/Chatbook/UI.wl b/Source/Chatbook/UI.wl index f81982a3..cbed585e 100644 --- a/Source/Chatbook/UI.wl +++ b/Source/Chatbook/UI.wl @@ -32,7 +32,6 @@ Needs[ "Wolfram`Chatbook`ErrorUtils`" ]; Needs[ "Wolfram`Chatbook`Menus`" ]; Needs[ "Wolfram`Chatbook`Personas`" ]; Needs[ "Wolfram`Chatbook`PreferencesUtils`" ]; -Needs[ "Wolfram`Chatbook`Serialization`" ]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) From 24a91ca7d6024f6414acb882fd267c72bb60c1e5 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 12 Sep 2024 09:30:55 -0400 Subject: [PATCH 080/180] Update usage for `CurrentChatSettings` --- Source/Chatbook/Settings.wl | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/Source/Chatbook/Settings.wl b/Source/Chatbook/Settings.wl index cfcdbba8..d06776b9 100644 --- a/Source/Chatbook/Settings.wl +++ b/Source/Chatbook/Settings.wl @@ -590,10 +590,21 @@ dynamicSplitQ // endDefinition; (* TODO: need to support something like CurrentChatSettings[scope, {"key1", "key2", ...}] for nested values *) GeneralUtilities`SetUsage[ CurrentChatSettings, "\ -CurrentChatSettings[obj$, \"key$\"] gives the current chat settings for the CellObject or NotebookObject obj$ for the specified key. -CurrentChatSettings[obj$] gives all current chat settings for obj$. -CurrentChatSettings[] is equivalent to CurrentChatSettings[EvaluationCell[]]. -CurrentChatSettings[\"key$\"] is equivalent to CurrentChatSettings[EvaluationCell[], \"key$\"].\ +CurrentChatSettings[] gives the current global chat settings. +CurrentChatSettings[\"key$\"] gives the global setting for the specified key. +CurrentChatSettings[obj$] gives all settings scoped by obj$. +CurrentChatSettings[obj$, \"key$\"] gives the setting scoped by obj$ for the specified key. +CurrentChatSettings[obj$, $$] = value$ sets the chat settings for obj$ to value$. +CurrentChatSettings[obj$, $$] =. resets the chat settings for obj$ to the default value. + +* The value for obj$ can be any of the following: +| $FrontEnd | persistent global scope | +| $FrontEndSession | session global scope | +| NotebookObject[$$] | notebook scope | +| CellObject[$$] | cell scope | +* When setting chat settings without a key using CurrentChatSettings[obj$] = value$, \ +the value$ must be an Association or Inherited. +* CurrentChatSettings[obj$, $$] =. is equivalent to CurrentChatSettings[obj$, $$] = Inherited.\ " ]; CurrentChatSettings[ ] := catchMine @ From db313e61ae15035407e196bd43dfefa5f190e9fe Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 12 Sep 2024 09:31:23 -0400 Subject: [PATCH 081/180] Set `ReadProtected` attribute on exported symbols --- Source/Chatbook/Main.wl | 1 + 1 file changed, 1 insertion(+) diff --git a/Source/Chatbook/Main.wl b/Source/Chatbook/Main.wl index 72d2e88f..cb74348b 100644 --- a/Source/Chatbook/Main.wl +++ b/Source/Chatbook/Main.wl @@ -212,6 +212,7 @@ Protect @@ $ChatbookProtectedNames; addToMXInitialization[ $ChatbookContexts; $ChatbookNames; + SetAttributes[ Evaluate @ Names[ "Wolfram`Chatbook`*" ], ReadProtected ]; ]; mxInitialize[ ]; From 0f4e44009a575ed59fec4c47fc4d09acb7998731 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 12 Sep 2024 10:50:25 -0400 Subject: [PATCH 082/180] Improve text suggestions by prompting the LLM with the current cell style --- Source/Chatbook/ChatModes/ContentSuggestions.wl | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Source/Chatbook/ChatModes/ContentSuggestions.wl b/Source/Chatbook/ChatModes/ContentSuggestions.wl index d02fc63b..dd44b7a7 100644 --- a/Source/Chatbook/ChatModes/ContentSuggestions.wl +++ b/Source/Chatbook/ChatModes/ContentSuggestions.wl @@ -44,6 +44,7 @@ $textPlaceholderString = ""; $textSuggestionsPrompt = StringTemplate[ "\ Complete the following by writing text that can be inserted into %%Placeholder%%. +The current cell style is \"%%Style%%\", so only write content that would be appropriate for this cell type. Do your best to match the existing style (whitespace, line breaks, etc.). Your suggested text will be inserted into %%Placeholder%%, so be careful not to repeat the immediately surrounding text. Respond with the completion text and nothing else.", @@ -308,7 +309,9 @@ postProcessWLSuggestions // endDefinition; generateTextSuggestions // beginDefinition; generateTextSuggestions[ Dynamic[ container_ ], nbo_, root_CellObject, context0_String, settings_ ] := Enclose[ - Module[ { context, instructions, response, suggestions }, + Module[ { style, context, instructions, response, suggestions }, + + style = First[ ConfirmMatch[ cellStyles @ root, { ___String }, "Styles" ], "Text" ]; context = ConfirmBy[ StringReplace[ @@ -326,11 +329,13 @@ generateTextSuggestions[ Dynamic[ container_ ], nbo_, root_CellObject, context0_ $lastSuggestionContext = context; instructions = ConfirmBy[ - TemplateApply[ $textSuggestionsPrompt, <| "Placeholder" -> $textPlaceholderString |> ], + TemplateApply[ $textSuggestionsPrompt, <| "Placeholder" -> $textPlaceholderString, "Style" -> style |> ], StringQ, "Instructions" ]; + $lastInstructions = instructions; + response = setServiceCaller @ ServiceExecute[ $suggestionsService, "Chat", @@ -385,6 +390,7 @@ toTextData // beginDefinition; toTextData[ Cell[ text_, ___ ] ] := toTextData @ text; toTextData[ text_TextData ] := text; toTextData[ text: $$textData ] := TextData @ Flatten @ { text }; +toTextData[ boxes_BoxData ] := TextData @ { Cell[ postProcessWLSuggestions @ CellToString @ boxes, "InlineCode" ] }; toTextData // endDefinition; (* ::**************************************************************************************************************:: *) From 6ad5c26d77535dda316570b142158d3f79fbd170 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 12 Sep 2024 10:51:10 -0400 Subject: [PATCH 083/180] Add some heuristics to automatically address some common LLM mistakes --- .../Chatbook/ChatModes/ContentSuggestions.wl | 110 +++++++++++++++--- 1 file changed, 95 insertions(+), 15 deletions(-) diff --git a/Source/Chatbook/ChatModes/ContentSuggestions.wl b/Source/Chatbook/ChatModes/ContentSuggestions.wl index dd44b7a7..73ac8b52 100644 --- a/Source/Chatbook/ChatModes/ContentSuggestions.wl +++ b/Source/Chatbook/ChatModes/ContentSuggestions.wl @@ -19,8 +19,8 @@ $suggestionsAuthentication = Automatic; $wlSuggestionsModel = "gpt-4o"; $wlSuggestionsMultimodal = False; $wlSuggestionsCount = 3; -$wlSuggestionsMaxTokens = 128; -$wlSuggestionsTemperature = 1.0; +$wlSuggestionsMaxTokens = 64; +$wlSuggestionsTemperature = 1.25; $wlPlaceholderString = ""; $wlSuggestionsPrompt = StringTemplate[ "\ @@ -201,7 +201,7 @@ generateSuggestions // endDefinition; generateWLSuggestions // beginDefinition; generateWLSuggestions[ Dynamic[ container_ ], nbo_, root_CellObject, context0_String, settings_ ] := Enclose[ - Module[ { context, instructions, response, suggestions }, + Module[ { context, instructions, response, suggestions, stripped }, context = ConfirmBy[ StringReplace[ @@ -243,16 +243,93 @@ generateWLSuggestions[ Dynamic[ container_ ], nbo_, root_CellObject, context0_St $lastSuggestionsResponse = response; suggestions = DeleteDuplicates @ ConfirmMatch[ getWLSuggestions @ response, { __BoxData }, "Suggestions" ]; + stripped = ConfirmMatch[ stripSurroundingWLCode[ suggestions, context ], { __BoxData }, "Stripped" ]; $lastSuggestions = suggestions; - container = formatSuggestions[ Dynamic[ container ], suggestions, nbo, root, context, settings ] + container = formatSuggestions[ Dynamic[ container ], stripped, nbo, root, context, settings ] ], throwInternalFailure ]; generateWLSuggestions // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*stripSurroundingWLCode*) +stripSurroundingWLCode // beginDefinition; + +stripSurroundingWLCode[ suggestions: { __BoxData }, context_String ] := Enclose[ + Catch @ Module[ { surrounding, stripped }, + + surrounding = ConfirmMatch[ getSurroundingWLCode @ context, { _String, _String }, "Surrounding" ]; + If[ StringTrim @ surrounding === { "", "" }, Throw @ suggestions ]; + + stripped = ConfirmMatch[ + Flatten[ stripSurroundingWLCode[ #, surrounding ] & /@ suggestions ], + { suggestionWrapper[ _Integer, _BoxData ].. }, + "Result" + ]; + + ConfirmMatch[ DeleteDuplicates @ SortBy[ stripped, First ][[ All, 2 ]], { __BoxData }, "Result" ] + ], + throwInternalFailure +]; + +stripSurroundingWLCode[ suggestion_BoxData, { before_String, after_String } ] := Enclose[ + Module[ { string, stripped, boxes }, + string = ConfirmBy[ CellToString @ StyleBox[ suggestion, ShowStringCharacters -> True ], StringQ, "String" ]; + + stripped = ConfirmBy[ + If[ StringMatchQ[ string, before ~~ ___ ~~ after ], + StringDelete[ string, { StartOfString~~before, after~~EndOfString } ], + string + ], + StringQ, + "Stripped" + ]; + + boxes = ConfirmMatch[ postProcessWLSuggestions @ stripped, _BoxData, "Result" ]; + + DeleteDuplicatesBy[ { suggestionWrapper[ 0, boxes ], suggestionWrapper[ 1, suggestion ] }, Last ] + ], + throwInternalFailure +]; + +stripSurroundingWLCode // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*getSurroundingWLCode*) +getSurroundingWLCode // beginDefinition; + +getSurroundingWLCode[ context_String ] := Enclose[ + Catch @ Module[ { strings, boxes }, + strings = First @ ConfirmMatch[ + StringCases[ + context, + StringExpression[ + "```wl\n", + a___ /; StringFreeQ[ a, "```" ], + $wlPlaceholderString, + b___ /; StringFreeQ[ b, "```" ], + "\n```" + ] :> { a, b }, + 1 + ], + { { _String, _String } }, + "Strings" + ]; + + boxes = ConfirmMatch[ postProcessWLSuggestions @ strings, { _BoxData, _BoxData }, "Boxes" ]; + + ConfirmMatch[ CellToString /@ boxes, { _String, _String }, "Result" ] + ], + throwInternalFailure +]; + +getSurroundingWLCode // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*getWLSuggestions*) @@ -279,19 +356,22 @@ postProcessWLSuggestions[ suggestion_String ] := Enclose[ $$outLabel ~~ ___ ~~ EndOfString ]; - noBlocks = StringTrim @ StringDelete[ - If[ StringContainsQ[ noOutputs, "```"~~__~~"```" ], - ConfirmBy[ - First @ StringCases[ noOutputs, "```" ~~ Except[ "\n" ]... ~~ "\n" ~~ code___ ~~ "```" :> code, 1 ], - StringQ, - "NoBlocks" + noBlocks = StringTrim[ + StringTrim @ StringDelete[ + If[ StringContainsQ[ noOutputs, "```"~~__~~"```" ], + ConfirmBy[ + First @ StringCases[ noOutputs, "```" ~~ Except[ "\n" ]... ~~ "\n" ~~ code___ ~~ "```" :> code, 1 ], + StringQ, + "NoBlocks" + ], + noOutputs ], - noOutputs + { + StartOfLine ~~ WhitespaceCharacter... ~~ "```" ~~ Except[ "\n" ]... ~~ EndOfLine, + "```" ~~ WhitespaceCharacter... ~~ EndOfLine + } ], - { - StartOfLine ~~ WhitespaceCharacter... ~~ "```" ~~ Except[ "\n" ]... ~~ EndOfLine, - "```" ~~ WhitespaceCharacter... ~~ EndOfLine - } + Longest[ "```"|"``" ] ]; noLabels = StringTrim @ StringDelete[ noBlocks, $$inLabel ]; From 1d35aad2fcd6f80b2e2ec25af5ab3ef6673d1cf8 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 12 Sep 2024 13:38:19 -0400 Subject: [PATCH 084/180] Bugfix: Fixed an out-of-order evaluation bug when defining `$llmAutoCorrectRules` --- Source/Chatbook/SendChat.wl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Source/Chatbook/SendChat.wl b/Source/Chatbook/SendChat.wl index e46a774e..d15bd6f4 100644 --- a/Source/Chatbook/SendChat.wl +++ b/Source/Chatbook/SendChat.wl @@ -842,7 +842,7 @@ autoCorrect[ string_String ] := StringReplace[ string, $llmAutoCorrectRules ]; autoCorrect // endDefinition; (* cSpell: ignore evaliator *) -$llmAutoCorrectRules = Flatten @ { +$llmAutoCorrectRules := $llmAutoCorrectRules = Flatten @ { "wolfram_language_evaliator" -> "wolfram_language_evaluator", "\\!\\(\\*MarkdownImageBox[\"" ~~ Shortest[ uri__ ] ~~ "\"]\\)" :> uri, "\\!\\(MarkdownImageBox[\"" ~~ Shortest[ uri__ ] ~~ "\"]\\)" :> uri, @@ -2541,6 +2541,7 @@ errorBoxes[ as___ ] := (*Package Footer*) addToMXInitialization[ $autoSettingKeyPriority; + $llmAutoCorrectRules; ]; (* :!CodeAnalysis::EndBlock:: *) From f981c149bb70e8d7a1df261b892105971f88ede2 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 12 Sep 2024 13:47:59 -0400 Subject: [PATCH 085/180] Improve content suggestions * Log some additional timings * Do not strip spacing in boxes when generating suggestions for Code cells * Specify different before/after context lengths for text/WL --- Source/Chatbook/ChatMessages.wl | 14 +- .../Chatbook/ChatModes/ContentSuggestions.wl | 144 ++++++++++++++---- Source/Chatbook/ChatModes/Context.wl | 40 +++-- Source/Chatbook/CommonSymbols.wl | 1 + Source/Chatbook/Utils.wl | 4 +- 5 files changed, 156 insertions(+), 47 deletions(-) diff --git a/Source/Chatbook/ChatMessages.wl b/Source/Chatbook/ChatMessages.wl index f3737348..c68680f9 100644 --- a/Source/Chatbook/ChatMessages.wl +++ b/Source/Chatbook/ChatMessages.wl @@ -1403,7 +1403,7 @@ cachedTokenizer[ id_String ] := cachedTokenizer[ id_String ] := Enclose[ Module[ { name, tokenizer }, name = ConfirmBy[ tokenizerName @ toModelName @ id, StringQ, "Name" ]; - tokenizer = findTokenizer @ name; + tokenizer = LogChatTiming @ findTokenizer @ name; If[ MissingQ @ tokenizer, (* Fallback to the GPT-2 tokenizer: *) tokenizer = ConfirmMatch[ $cachedTokenizers[ "generic" ], Except[ $$unspecified ], "GPT2Tokenizer" ]; @@ -1438,11 +1438,19 @@ findTokenizer // beginDefinition; findTokenizer[ model_String ] := Enclose[ Catch @ Module[ { dir, file, tokenizer }, + dir = ConfirmBy[ $tokenizerDirectory, StringQ, "Directory" ]; file = FileNameJoin @ { dir, model<>".wxf" }; - tokenizer = If[ FileExistsQ @ file, Developer`ReadWXFFile @ file, findTokenizer0 @ model ]; + + tokenizer = If[ FileExistsQ @ file, + LogChatTiming[ Developer`ReadWXFFile @ file, "ReadTokenizerFile" ], + findTokenizer0 @ model + ]; + If[ MissingQ @ tokenizer, Throw @ tokenizer ]; - ConfirmMatch[ tokenizer[ "test" ], _List, "TokenizerTest" ]; + + ConfirmMatch[ LogChatTiming[ tokenizer[ "test" ], "TokenizerTest" ], _List, "TokenizerTest" ]; + tokenizer ], throwInternalFailure diff --git a/Source/Chatbook/ChatModes/ContentSuggestions.wl b/Source/Chatbook/ChatModes/ContentSuggestions.wl index 73ac8b52..f32644bf 100644 --- a/Source/Chatbook/ChatModes/ContentSuggestions.wl +++ b/Source/Chatbook/ChatModes/ContentSuggestions.wl @@ -12,6 +12,7 @@ Needs[ "Wolfram`Chatbook`ChatModes`Common`" ]; (*Configuration*) $suggestionsService = "OpenAI"; $suggestionsAuthentication = Automatic; +$stripWhitespace = True; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) @@ -19,15 +20,18 @@ $suggestionsAuthentication = Automatic; $wlSuggestionsModel = "gpt-4o"; $wlSuggestionsMultimodal = False; $wlSuggestionsCount = 3; -$wlSuggestionsMaxTokens = 64; -$wlSuggestionsTemperature = 1.25; +$wlSuggestionsMaxTokens = 128; +$wlSuggestionsTemperature = 0.9; $wlPlaceholderString = ""; +$wlCellsBefore = 20; +$wlCellsAfter = 5; $wlSuggestionsPrompt = StringTemplate[ "\ Complete the following Wolfram Language code by writing text that can be inserted into %%Placeholder%%. Do your best to match the existing style (whitespace, line breaks, etc.). Your suggested text will be inserted into %%Placeholder%%, so be careful not to repeat the immediately surrounding text. Use `%` to refer to the previous output or `%n` for earlier outputs (where n is an output number) when appropriate. +Limit your suggested completion to approximately one or two lines of code. Respond with the completion text and nothing else. Do not include any formatting in your response. Do not include outputs or `In[]:=` cell labels.", Delimiters -> "%%" ]; @@ -39,8 +43,10 @@ $textSuggestionsModel = "gpt-4o"; $textSuggestionsMultimodal = False; $textSuggestionsCount = 3; $textSuggestionsMaxTokens = 256; -$textSuggestionsTemperature = 1.0; +$textSuggestionsTemperature = 0.7; $textPlaceholderString = ""; +$textCellsBefore = 20; +$textCellsAfter = 20; $textSuggestionsPrompt = StringTemplate[ "\ Complete the following by writing text that can be inserted into %%Placeholder%%. @@ -68,8 +74,8 @@ $$outLabel = "Out[" ~~ DigitCharacter... ~~ "]" ~~ WhitespaceCharacter... ~~ ("= (* ::Section::Closed:: *) (*ShowContentSuggestions*) ShowContentSuggestions // beginDefinition; -ShowContentSuggestions[ ] := catchMine @ showContentSuggestions @ InputNotebook[ ]; -ShowContentSuggestions[ nbo_NotebookObject ] := catchMine @ showContentSuggestions @ nbo; +ShowContentSuggestions[ ] := catchMine @ LogChatTiming @ showContentSuggestions @ InputNotebook[ ]; +ShowContentSuggestions[ nbo_NotebookObject ] := catchMine @ LogChatTiming @ showContentSuggestions @ nbo; ShowContentSuggestions // endExportedDefinition; (* ::**************************************************************************************************************:: *) @@ -111,7 +117,7 @@ showContentSuggestions0[ nbo_NotebookObject, root_CellObject ] := Enclose[ NotebookDelete @ Cells[ nbo, AttachedCell -> True, CellStyle -> "AttachedContentSuggestions" ]; selectionInfo = ConfirmMatch[ - getSelectionInfo @ root, + LogChatTiming @ getSelectionInfo @ root, None | KeyValuePattern[ "CursorPosition" -> { _Integer, _Integer } ], "SelectionInfo" ]; @@ -128,10 +134,12 @@ showContentSuggestions0[ nbo_NotebookObject, root_CellObject ] := Enclose[ ]; showContentSuggestions0[ nbo_NotebookObject, root_CellObject, selectionInfo_Association ] := Enclose[ - Catch @ Module[ { suggestionsContainer, attached, settings, context }, + Catch @ Module[ { type, suggestionsContainer, attached, settings, context }, If[ ! MatchQ[ selectionInfo, KeyValuePattern[ "CursorPosition" -> { _Integer, _Integer } ] ], Throw @ Null ]; + type = ConfirmBy[ suggestionsType @ selectionInfo, StringQ, "Type" ]; + suggestionsContainer = ProgressIndicator[ Appearance -> "Necklace" ]; attached = ConfirmMatch[ AttachCell[ @@ -148,18 +156,13 @@ showContentSuggestions0[ nbo_NotebookObject, root_CellObject, selectionInfo_Asso ClearAttributes[ suggestionsContainer, Temporary ]; - settings = ConfirmBy[ AbsoluteCurrentChatSettings @ root, AssociationQ, "Settings" ]; - - context = ConfirmBy[ - getContextFromSelection[ None, nbo, settings, "NotebookInstructionsPrompt" -> False ], - StringQ, - "Context" - ]; + settings = ConfirmBy[ LogChatTiming @ AbsoluteCurrentChatSettings @ root, AssociationQ, "Settings" ]; + context = ConfirmBy[ LogChatTiming @ getSuggestionsContext[ type, nbo, settings ], StringQ, "Context" ]; ConfirmMatch[ - generateSuggestions[ selectionInfo, Dynamic[ suggestionsContainer ], nbo, root, context, settings ], + LogChatTiming @ generateSuggestions[ type, Dynamic[ suggestionsContainer ], nbo, root, context, settings ], _Pane, - "Submit" + "Generate" ]; attached @@ -169,6 +172,31 @@ showContentSuggestions0[ nbo_NotebookObject, root_CellObject, selectionInfo_Asso showContentSuggestions0 // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*getSuggestionsContext*) +getSuggestionsContext // beginDefinition; + +getSuggestionsContext[ "WL", nbo_NotebookObject, settings_ ] := getContextFromSelection[ + None, + nbo, + settings, + "NotebookInstructionsPrompt" -> False, + "MaxCellsBeforeSelection" -> $wlCellsBefore, + "MaxCellsAfterSelection" -> $wlCellsAfter +]; + +getSuggestionsContext[ "Text", nbo_NotebookObject, settings_ ] := getContextFromSelection[ + None, + nbo, + settings, + "NotebookInstructionsPrompt" -> False, + "MaxCellsBeforeSelection" -> $textCellsBefore, + "MaxCellsAfterSelection" -> $textCellsAfter +]; + +getSuggestionsContext // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*contentSuggestionsCell*) @@ -186,13 +214,22 @@ contentSuggestionsCell[ Dynamic[ container_Symbol ] ] := Cell[ contentSuggestionsCell // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*suggestionsType*) +suggestionsType // beginDefinition; +suggestionsType[ selectionInfo_Association ] := suggestionsType @ selectionInfo[ "ContentData" ]; +suggestionsType[ BoxData ] := "WL"; +suggestionsType[ TextData ] := "Text"; +suggestionsType[ _ ] := "Notebook"; +suggestionsType // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*generateSuggestions*) generateSuggestions // beginDefinition; -generateSuggestions[ selectionInfo_Association, args__ ] := generateSuggestions[ selectionInfo[ "ContentData" ], args ]; -generateSuggestions[ BoxData, args__ ] := generateWLSuggestions @ args; -generateSuggestions[ TextData, args__ ] := generateTextSuggestions @ args; +generateSuggestions[ "WL" , args__ ] := generateWLSuggestions @ args; +generateSuggestions[ "Text", args__ ] := generateTextSuggestions @ args; generateSuggestions // endDefinition; (* ::**************************************************************************************************************:: *) @@ -201,7 +238,7 @@ generateSuggestions // endDefinition; generateWLSuggestions // beginDefinition; generateWLSuggestions[ Dynamic[ container_ ], nbo_, root_CellObject, context0_String, settings_ ] := Enclose[ - Module[ { context, instructions, response, suggestions, stripped }, + Module[ { context, instructions, response, style, suggestions, stripped }, context = ConfirmBy[ StringReplace[ @@ -224,7 +261,9 @@ generateWLSuggestions[ Dynamic[ container_ ], nbo_, root_CellObject, context0_St "Instructions" ]; - response = setServiceCaller @ ServiceExecute[ + $lastInstructions = instructions; + + response = setServiceCaller @ LogChatTiming @ ServiceExecute[ $suggestionsService, "Chat", { @@ -242,8 +281,18 @@ generateWLSuggestions[ Dynamic[ container_ ], nbo_, root_CellObject, context0_St $lastSuggestionsResponse = response; - suggestions = DeleteDuplicates @ ConfirmMatch[ getWLSuggestions @ response, { __BoxData }, "Suggestions" ]; - stripped = ConfirmMatch[ stripSurroundingWLCode[ suggestions, context ], { __BoxData }, "Stripped" ]; + style = First[ ConfirmMatch[ cellStyles @ root, { ___String }, "Styles" ], "Input" ]; + + suggestions = DeleteDuplicates @ ConfirmMatch[ + getWLSuggestions[ style, response ], + { __BoxData }, + "Suggestions" + ]; + + stripped = Take[ + ConfirmMatch[ stripSurroundingWLCode[ style, suggestions, context ], { __BoxData }, "Stripped" ], + UpTo[ $wlSuggestionsCount ] + ]; $lastSuggestions = suggestions; @@ -259,6 +308,11 @@ generateWLSuggestions // endDefinition; (*stripSurroundingWLCode*) stripSurroundingWLCode // beginDefinition; +stripSurroundingWLCode[ style_, suggestions_, context_ ] := + Block[ { $stripWhitespace = stripWhitespaceQ @ style }, + stripSurroundingWLCode[ suggestions, context ] + ]; + stripSurroundingWLCode[ suggestions: { __BoxData }, context_String ] := Enclose[ Catch @ Module[ { surrounding, stripped }, @@ -334,9 +388,22 @@ getSurroundingWLCode // endDefinition; (* ::Subsubsection::Closed:: *) (*getWLSuggestions*) getWLSuggestions // beginDefinition; -getWLSuggestions[ content_ ] := postProcessWLSuggestions @ getSuggestions @ content; + +getWLSuggestions[ style_, content_ ] := + Block[ { $stripWhitespace = stripWhitespaceQ @ style }, + postProcessWLSuggestions @ getSuggestions @ content + ]; + getWLSuggestions // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*stripWhitespaceQ*) +stripWhitespaceQ // beginDefinition; +stripWhitespaceQ[ "Code" ] := False; +stripWhitespaceQ[ _String ] := True; +stripWhitespaceQ // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*postProcessWLSuggestions*) @@ -376,13 +443,32 @@ postProcessWLSuggestions[ suggestion_String ] := Enclose[ noLabels = StringTrim @ StringDelete[ noBlocks, $$inLabel ]; - ConfirmMatch[ StripBoxes @ stringToBoxes @ noLabels, _BoxData, "Result" ] + ConfirmMatch[ + If[ TrueQ @ $stripWhitespace, + Flatten @ BoxData @ StripBoxes @ stringToBoxes @ noLabels, + Flatten @ BoxData @ simpleStringToBoxes @ noLabels + ], + _BoxData, + "Result" + ] ], throwInternalFailure ]; postProcessWLSuggestions // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*simpleStringToBoxes*) +simpleStringToBoxes // beginDefinition; + +simpleStringToBoxes[ string_String ] := Enclose[ + ConfirmBy[ usingFrontEnd @ FrontEndExecute @ FrontEnd`ReparseBoxStructurePacket @ string, boxDataQ, "Boxes" ], + throwInternalFailure +]; + +simpleStringToBoxes // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*generateTextSuggestions*) @@ -416,7 +502,7 @@ generateTextSuggestions[ Dynamic[ container_ ], nbo_, root_CellObject, context0_ $lastInstructions = instructions; - response = setServiceCaller @ ServiceExecute[ + response = setServiceCaller @ LogChatTiming @ ServiceExecute[ $suggestionsService, "Chat", { @@ -498,7 +584,7 @@ formatSuggestions[ Module[ { styles, formatted }, styles = ConfirmMatch[ cellStyles @ root, { ___String }, "Styles" ]; formatted = ConfirmMatch[ formatSuggestion[ root, nbo, styles ] /@ suggestions, { __Button }, "Formatted" ]; - Pane[ Column[ formatted, Spacings -> 0 ] ] + Pane[ Column[ formatted, Spacings -> 0 ], ImageSize -> { UpTo[ Scaled[ 0.9 ] ], Automatic } ] ], throwInternalFailure ]; @@ -521,7 +607,9 @@ formatSuggestion[ root_CellObject, nbo_NotebookObject, { styles___String }, sugg Sequence @@ { ShowStringCharacters -> True, ShowAutoStyles -> True, - LanguageCategory -> "Input" + LanguageCategory -> "Input", + LineBreakWithin -> True, + PageWidth :> WindowWidth }, Sequence @@ { } ] diff --git a/Source/Chatbook/ChatModes/Context.wl b/Source/Chatbook/ChatModes/Context.wl index 03145d13..89bc0c1e 100644 --- a/Source/Chatbook/ChatModes/Context.wl +++ b/Source/Chatbook/ChatModes/Context.wl @@ -91,7 +91,11 @@ getWorkspacePrompt // endDefinition; (* ::Subsection::Closed:: *) (*getContextFromSelection*) getContextFromSelection // beginDefinition; -getContextFromSelection // Options = { "NotebookInstructionsPrompt" -> True }; +getContextFromSelection // Options = { + "NotebookInstructionsPrompt" -> True, + "MaxCellsBeforeSelection" :> $maxCellsBeforeSelection, + "MaxCellsAfterSelection" :> $maxCellsAfterSelection +}; getContextFromSelection[ chatNB_NotebookObject, settings_Association, opts: OptionsPattern[ ] ] := getContextFromSelection[ chatNB, getUserNotebook @ chatNB, settings, opts ]; @@ -100,15 +104,23 @@ getContextFromSelection[ chatNB_NotebookObject, None, settings_Association, opts None; getContextFromSelection[ chatNB_, nbo_NotebookObject, settings_Association, opts: OptionsPattern[ ] ] := Enclose[ - Catch @ Module[ { selectionData }, - selectionData = ConfirmMatch[ selectContextCells @ nbo, _Association|None, "SelectionData" ]; - If[ selectionData === None, Throw @ None ]; - ConfirmBy[ - Block[ { $notebookInstructionsPrompt = TrueQ @ OptionValue[ "NotebookInstructionsPrompt" ] }, - getContextFromSelection0[ selectionData, settings ] - ], - StringQ, - "Context" + Catch @ Block[ + { + $notebookInstructionsPrompt = OptionValue[ "NotebookInstructionsPrompt" ], + $maxCellsBeforeSelection = OptionValue[ "MaxCellsBeforeSelection" ], + $maxCellsAfterSelection = OptionValue[ "MaxCellsAfterSelection" ] + }, + Module[ { selectionData }, + + selectionData = ConfirmMatch[ + LogChatTiming @ selectContextCells @ nbo, + _Association|None, + "SelectionData" + ]; + + If[ selectionData === None, Throw @ None ]; + + ConfirmBy[ getContextFromSelection0[ selectionData, settings ], StringQ, "Context" ] ] ], throwInternalFailure @@ -130,7 +142,7 @@ getContextFromSelection0[ selectionData_Association, settings_ ] := Enclose[ { cellObjects, cells, len1, len2, before, selected, after, marked, messages, string, nbCtx }, cellObjects = ConfirmMatch[ Flatten @ Values @ selectionData, { ___CellObject }, "CellObjects" ]; - cells = ConfirmMatch[ notebookRead @ cellObjects, { ___Cell }, "Cells" ]; + cells = ConfirmMatch[ LogChatTiming @ notebookRead @ cellObjects, { ___Cell }, "Cells" ]; len1 = Length @ ConfirmMatch[ selectionData[ "Before" ], { ___CellObject }, "BeforeLength" ]; len2 = Length @ ConfirmMatch[ selectionData[ "Selected" ], { ___CellObject }, "SelectedLength" ]; @@ -140,7 +152,7 @@ getContextFromSelection0[ selectionData_Association, settings_ ] := Enclose[ after = ConfirmMatch[ cells[[ len1 + len2 + 1 ;; All ]] , { ___Cell }, "AfterCells" ]; marked = ConfirmMatch[ insertSelectionIndicator @ { before, selected, after }, { ___Cell }, "Marked" ]; - messages = ConfirmMatch[ makeChatMessages[ settings, marked, False ], { ___Association }, "Messages" ]; + messages = ConfirmMatch[ LogChatTiming @ makeChatMessages[ settings, marked, False ], { ___Association }, "Messages" ]; string = ConfirmBy[ messagesToString @ messages, StringQ, "String" ]; $contextPrompt = processContextPromptString @ string; @@ -229,7 +241,7 @@ messageToString // endDefinition; (*postProcessNotebookContextString*) postProcessNotebookContextString // beginDefinition; -postProcessNotebookContextString[ prompt_String, string_String ] /; ! TrueQ @ $notebookInstructionsPrompt := +postProcessNotebookContextString[ prompt_String, string_String ] /; ! $notebookInstructionsPrompt := prompt; postProcessNotebookContextString[ prompt_String, string_String ] := @@ -254,7 +266,7 @@ postProcessNotebookContextString // endDefinition; (*applyNotebookContextTemplate*) applyNotebookContextTemplate // beginDefinition; -applyNotebookContextTemplate[ string_String ] /; ! TrueQ @ $notebookInstructionsPrompt := +applyNotebookContextTemplate[ string_String ] /; ! $notebookInstructionsPrompt := string; applyNotebookContextTemplate[ string_String ] := diff --git a/Source/Chatbook/CommonSymbols.wl b/Source/Chatbook/CommonSymbols.wl index 731a8eca..5c0a438a 100644 --- a/Source/Chatbook/CommonSymbols.wl +++ b/Source/Chatbook/CommonSymbols.wl @@ -96,6 +96,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `attachMenuCell; `attachWorkspaceChatInput; `autoAssistQ; +`boxDataQ; `cachedTokenizer; `cellInformation; `cellOpenQ; diff --git a/Source/Chatbook/Utils.wl b/Source/Chatbook/Utils.wl index a7641734..7812778d 100644 --- a/Source/Chatbook/Utils.wl +++ b/Source/Chatbook/Utils.wl @@ -333,9 +333,9 @@ LogChatTiming // beginDefinition; LogChatTiming // Attributes = { HoldFirst, SequenceHold }; LogChatTiming[ tag_String ] := Function[ eval, LogChatTiming[ eval, tag ], HoldAllComplete ]; -LogChatTiming[ sym_Symbol ] := LogChatTiming @ Evaluate @ SymbolName @ sym; +LogChatTiming[ sym_Symbol ] := LogChatTiming @ Evaluate @ Capitalize @ SymbolName @ sym; LogChatTiming[ tags_List ] := LogChatTiming @ Evaluate @ StringRiffle[ tags, ":" ]; -LogChatTiming[ eval: (h_Symbol)[ ___ ] ] := LogChatTiming[ eval, SymbolName @ h ]; +LogChatTiming[ eval: (h_Symbol)[ ___ ] ] := LogChatTiming[ eval, Capitalize @ SymbolName @ h ]; LogChatTiming[ eval_ ] := LogChatTiming[ eval, "None" ]; LogChatTiming[ eval_, tag_String ] := ( From 2194ab922146459ae179d2bb46f2606de233bab4 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Fri, 13 Sep 2024 09:55:09 -0400 Subject: [PATCH 086/180] Initial work to support o1 models (still need `ChatSubmit` support) --- Source/Chatbook/ChatMessages.wl | 26 ++++++++++++++++++++++++++ Source/Chatbook/CommonSymbols.wl | 1 + Source/Chatbook/Models.wl | 18 ++++++++++++++++++ Source/Chatbook/SendChat.wl | 7 +++++-- Source/Chatbook/Settings.wl | 23 ++++++++++++++++++----- 5 files changed, 68 insertions(+), 7 deletions(-) diff --git a/Source/Chatbook/ChatMessages.wl b/Source/Chatbook/ChatMessages.wl index c68680f9..e3cb1fed 100644 --- a/Source/Chatbook/ChatMessages.wl +++ b/Source/Chatbook/ChatMessages.wl @@ -171,6 +171,8 @@ constructMessages[ settings_Association? AssociationQ, messages0: { __Associatio processed //= DeleteCases @ KeyValuePattern[ "Content" -> "" ]; + processed = rewriteMessageRoles[ settings, processed ]; + Sow[ <| "Messages" -> processed |>, $chatDataTag ]; $lastSettings = settings; @@ -181,6 +183,30 @@ constructMessages[ settings_Association? AssociationQ, messages0: { __Associatio constructMessages // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*rewriteMessageRoles*) +rewriteMessageRoles // beginDefinition; +rewriteMessageRoles[ settings_? o1ModelQ, messages_ ] := convertSystemRoleToUser @ messages; +rewriteMessageRoles[ settings_, messages_ ] := messages; +rewriteMessageRoles // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*convertSystemRoleToUser*) +convertSystemRoleToUser // beginDefinition; + +convertSystemRoleToUser[ messages_List ] := + convertSystemRoleToUser /@ messages; + +convertSystemRoleToUser[ as: KeyValuePattern @ { "Role" -> "System", "Content" -> content_ } ] := + <| as, "Role" -> "User" |>; + +convertSystemRoleToUser[ message_Association ] := + message; + +convertSystemRoleToUser // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*constructInlineMessages*) diff --git a/Source/Chatbook/CommonSymbols.wl b/Source/Chatbook/CommonSymbols.wl index 5c0a438a..4dba2fc7 100644 --- a/Source/Chatbook/CommonSymbols.wl +++ b/Source/Chatbook/CommonSymbols.wl @@ -212,6 +212,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `nextCell; `notebookInformation; `notebookRead; +`o1ModelQ; `openerView; `openPreferencesPage; `parentCell; diff --git a/Source/Chatbook/Models.wl b/Source/Chatbook/Models.wl index b1480401..5b843c99 100644 --- a/Source/Chatbook/Models.wl +++ b/Source/Chatbook/Models.wl @@ -119,6 +119,21 @@ modelContains[ patt_ ] := modelContains[ #, patt ] &; modelContains[ m_String, patt_ ] := StringContainsQ[ m, WordBoundary~~patt~~WordBoundary, IgnoreCase -> True ]; modelContains // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*o1ModelQ*) +o1ModelQ // beginDefinition; + +o1ModelQ[ model_ ] := Enclose[ + o1ModelQ[ model ] = StringContainsQ[ + ConfirmBy[ toModelName @ model, StringQ, "Name" ], + WordBoundary~~"o1"~~WordBoundary + ], + throwInternalFailure +]; + +o1ModelQ // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*modelName*) @@ -132,6 +147,9 @@ modelName // endDefinition; (*toModelName*) toModelName // beginDefinition; +toModelName[ KeyValuePattern[ "Model" -> model_ ] ] := + toModelName @ model; + toModelName[ KeyValuePattern @ { "Service" -> service_, "Name"|"Model" -> model_ } ] := toModelName @ { service, model }; diff --git a/Source/Chatbook/SendChat.wl b/Source/Chatbook/SendChat.wl index d15bd6f4..322937f8 100644 --- a/Source/Chatbook/SendChat.wl +++ b/Source/Chatbook/SendChat.wl @@ -343,6 +343,9 @@ makeHTTPRequest // endDefinition; (*makeStopTokens*) makeStopTokens // beginDefinition; +makeStopTokens[ settings_Association? o1ModelQ ] := + Missing[ ]; + makeStopTokens[ settings_Association ] := Select[ DeleteDuplicates @ Flatten @ { @@ -584,7 +587,7 @@ makeLLMConfiguration[ as: KeyValuePattern[ "Model" -> model_String ] ] := makeLLMConfiguration @ Append[ as, "Model" -> { "OpenAI", model } ]; makeLLMConfiguration[ as_Association ] := - $lastLLMConfiguration = LLMConfiguration @ Association[ + $lastLLMConfiguration = LLMConfiguration @ DeleteMissing @ Association[ KeyTake[ as, { "Model", "MaxTokens", "Temperature", "PresencePenalty" } ], "StopTokens" -> makeStopTokens @ as ]; @@ -679,7 +682,7 @@ trimStopTokens[ container_, stop: { ___String } ] := ) /; StringQ @ full ]; -trimStopTokens[ container_, { ___String } ] := +trimStopTokens[ container_, { ___String } | _Missing ] := Null; trimStopTokens // endDefinition; diff --git a/Source/Chatbook/Settings.wl b/Source/Chatbook/Settings.wl index d06776b9..a1384781 100644 --- a/Source/Chatbook/Settings.wl +++ b/Source/Chatbook/Settings.wl @@ -257,15 +257,16 @@ resolveAutoSettings0[ settings: KeyValuePattern[ _ :> _ ] ] := resolveAutoSettings @ AssociationMap[ Apply @ Rule, settings ]; resolveAutoSettings0[ settings_Association ] := Enclose[ - Module[ { auto, sorted, resolved, result }, + Module[ { auto, sorted, resolved, override, result }, auto = ConfirmBy[ Select[ settings, SameAs @ Automatic ], AssociationQ, "Auto" ]; sorted = ConfirmBy[ <| KeyTake[ auto, $autoSettingKeyPriority ], auto |>, AssociationQ, "Sorted" ]; resolved = ConfirmBy[ Fold[ resolveAutoSetting, settings, Normal @ sorted ], AssociationQ, "Resolved" ]; + override = ConfirmBy[ overrideSettings @ resolved, AssociationQ, "Override" ]; If[ $chatState, - If[ resolved[ "Assistance" ], $AutomaticAssistance = True ]; - If[ resolved[ "WorkspaceChat" ], $WorkspaceChat = True ]; + If[ override[ "Assistance" ], $AutomaticAssistance = True ]; + If[ override[ "WorkspaceChat" ], $WorkspaceChat = True ]; ]; - result = ConfirmBy[ resolveTools @ KeySort @ resolved, AssociationQ, "ResolveTools" ]; + result = ConfirmBy[ resolveTools @ KeySort @ override, AssociationQ, "ResolveTools" ]; If[ result[ "ToolMethod" ] === Automatic, result[ "ToolMethod" ] = chooseToolMethod @ result ]; @@ -276,6 +277,16 @@ resolveAutoSettings0[ settings_Association ] := Enclose[ resolveAutoSettings0 // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*overrideSettings*) +overrideSettings // beginDefinition; +overrideSettings[ settings_Association? o1ModelQ ] := <| settings, $o1Overrides |>; +overrideSettings[ settings_Association ] := settings; +overrideSettings // endDefinition; + +$o1Overrides = <| "PresencePenalty" -> 0, "Temperature" -> 1 |>; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*evaluateSettings*) @@ -562,13 +573,15 @@ $$disabledToolsModel = Alternatives[ "claude-instant-1.2", "gemini-1.0-pro" ~~ ___, "gemini-pro-vision", - "gemini-pro" + "gemini-pro", + "o1" ~~ WordBoundary ~~ ___ ]; toolsEnabledQ[ KeyValuePattern[ "ToolsEnabled" -> enabled: True|False ] ] := enabled; toolsEnabledQ[ KeyValuePattern[ "ToolCallFrequency" -> freq: (_Integer|_Real)? NonPositive ] ] := False; toolsEnabledQ[ KeyValuePattern[ "Model" -> model_ ] ] := toolsEnabledQ @ toModelName @ model; toolsEnabledQ[ model: KeyValuePattern @ { "Service" -> _, "Name" -> _ } ] := toolsEnabledQ @ toModelName @ model; +toolsEnabledQ[ { service_String, name_String } ] := toolsEnabledQ @ <| "Service" -> service, "Name" -> name |>; toolsEnabledQ[ model_String ] := ! StringMatchQ[ model, $$disabledToolsModel, IgnoreCase -> True ]; toolsEnabledQ[ ___ ] := False; From 8c6793a2205fbc5d8c91f23ae711cd4c9667621a Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 16 Sep 2024 09:08:15 -0400 Subject: [PATCH 087/180] Testing local embedding model --- .../VectorDatabases/VectorDatabaseBuilder.wl | 42 ++++++++++++++++--- .../PromptGenerators/VectorDatabases.wl | 36 ++++++++++++++-- 2 files changed, 70 insertions(+), 8 deletions(-) diff --git a/Developer/VectorDatabases/VectorDatabaseBuilder.wl b/Developer/VectorDatabases/VectorDatabaseBuilder.wl index c3a05404..f4ff6f90 100644 --- a/Developer/VectorDatabases/VectorDatabaseBuilder.wl +++ b/Developer/VectorDatabases/VectorDatabaseBuilder.wl @@ -51,7 +51,7 @@ $$vectorDatabase = _VectorDatabaseObject? System`Private`ValidQ; $vectorDBSourceDirectory = FileNameJoin @ { DirectoryName @ $InputFileName, "SourceData" }; $vectorDBTargetDirectory = FileNameJoin @ { DirectoryName[ $InputFileName, 3 ], "Assets", "VectorDatabases" }; -$incrementalBuildBatchSize = 256; +$incrementalBuildBatchSize = 512; $dbConnectivity = 16; $dbExpansionAdd = 256; $dbExpansionSearch = 2048; @@ -59,10 +59,10 @@ $dbExpansionSearch = 2048; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*Embeddings*) -$embeddingDimension = 256; +$embeddingDimension = 384; $embeddingType = "Integer8"; -$embeddingService = "OpenAI"; -$embeddingModel = "text-embedding-3-small"; +$embeddingService = "Local"; +$embeddingModel = "SentenceBERT"; $embeddingMaxTokens = 8000; $maxSnippetLength = 4000; $defaultEmbeddingLocation = FileNameJoin @ { $CacheBaseDirectory, "ChatbookDeveloper", "Embeddings" }; @@ -457,7 +457,10 @@ getCachedEmbedding[ string_String ] := ]; getCachedEmbedding[ string_String ] := - getCachedEmbedding[ string, embeddingHash @ string ]; + If[ $embeddingModel === "SentenceBERT", + Missing[ "NotCached" ], + getCachedEmbedding[ string, embeddingHash @ string ] + ]; getCachedEmbedding[ string_String, hash_String ] := Catch @ Module[ { file, vector }, @@ -499,6 +502,18 @@ getAndCacheEmbeddings0[ strings: { __String } ] := Enclose[ (*createEmbeddings*) createEmbeddings // ClearAll; +createEmbeddings[ strings: { __String } ] /; $embeddingModel === "SentenceBERT" := + Catch @ Module[ { vectors, small, meta, pairs }, + $currentItem = If[ IntegerQ @ $currentItem, $currentItem + Length @ strings, Length @ strings ]; + vectors = Quiet @ toPackedArray @ sentenceBERTEmbedding @ strings; + meta = <| "Strings" -> strings, "Vectors" -> vectors |>; + If[ ! packedArrayQ @ vectors, Throw @ Failure[ "EmbeddingFailure", meta ] ]; + If[ Length @ vectors =!= Length @ strings, Throw @ Failure[ "EmbeddingShapeFailure", meta ] ]; + small = toByteVector@*Normalize /@ vectors[[ All, 1 ;; $embeddingDimension ]]; + pairs = Transpose @ { strings, small }; + Association[ cacheEmbedding /@ pairs ] + ]; + createEmbeddings[ strings: { __String } ] := Catch @ Module[ { resp, vectors, small, meta, pairs }, $currentItem = If[ IntegerQ @ $currentItem, $currentItem + Length @ strings, Length @ strings ]; @@ -518,11 +533,28 @@ createEmbeddings[ { } ] := createEmbeddings[ string_String ] := First[ createEmbeddings @ { string }, $Failed ]; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*sentenceBERTEmbedding*) +sentenceBERTEmbedding // beginDefinition; + +sentenceBERTEmbedding[ args___ ] := ( + Needs[ "SemanticSearch`" -> None ]; + SemanticSearch`SemanticSearch`Private`SentenceBERTEmbedding @ args +); + +sentenceBERTEmbedding // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*cacheEmbedding*) cacheEmbedding // ClearAll; +cacheEmbedding[ string_String, vector_NumericArray ] /; $embeddingModel === "SentenceBERT" := ( + $embeddingCache[ string ] = vector; + string -> vector +); + cacheEmbedding[ string_String, vector_NumericArray ] := cacheEmbedding[ string, vector, embeddingHash @ string ]; diff --git a/Source/Chatbook/PromptGenerators/VectorDatabases.wl b/Source/Chatbook/PromptGenerators/VectorDatabases.wl index b846be12..154c5844 100644 --- a/Source/Chatbook/PromptGenerators/VectorDatabases.wl +++ b/Source/Chatbook/PromptGenerators/VectorDatabases.wl @@ -17,11 +17,11 @@ HoldComplete[ (*Configuration*) $vectorDBNames = { "DocumentationURIs", "WolframAlphaQueries" }; -$embeddingDimension = 256; +$embeddingDimension = 384; $maxNeighbors = 50; $maxEmbeddingDistance = 150.0; -$embeddingService = "OpenAI"; (* FIXME *) -$embeddingModel = "text-embedding-3-small"; +$embeddingService = "Local"; +$embeddingModel = "SentenceBERT"; $embeddingAuthentication = Automatic; (* FIXME *) @@ -606,6 +606,24 @@ getAndCacheEmbeddings // beginDefinition; getAndCacheEmbeddings[ { } ] := { }; +getAndCacheEmbeddings[ strings: { __String } ] /; $embeddingModel === "SentenceBERT" := Enclose[ + Module[ { vectors }, + vectors = ConfirmBy[ + Developer`ToPackedArray @ sentenceBERTEmbedding @ strings, + Developer`PackedArrayQ, + "PackedArray" + ]; + + ConfirmAssert[ Length @ strings === Length @ vectors, "LengthCheck" ]; + + MapThread[ + ($embeddingCache[ #1 ] = toTinyVector @ #2) &, + { strings, vectors } + ] + ], + throwInternalFailure +]; + getAndCacheEmbeddings[ strings: { __String } ] := Enclose[ Module[ { resp, vectors }, resp = ConfirmBy[ @@ -637,6 +655,18 @@ getAndCacheEmbeddings[ strings: { __String } ] := Enclose[ getAndCacheEmbeddings // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*sentenceBERTEmbedding*) +sentenceBERTEmbedding // beginDefinition; + +sentenceBERTEmbedding[ args___ ] := ( + Needs[ "SemanticSearch`" -> None ]; + SemanticSearch`SemanticSearch`Private`SentenceBERTEmbedding @ args +); + +sentenceBERTEmbedding // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*toTinyVector*) From bf27f5161e3b30a7b2c51626df2b276be1390ad0 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 16 Sep 2024 10:50:57 -0400 Subject: [PATCH 088/180] Cache snippets locally --- .../PromptGenerators/RelatedDocumentation.wl | 106 +++++++++++++----- 1 file changed, 81 insertions(+), 25 deletions(-) diff --git a/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl b/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl index 1fd69f50..6952e8c2 100644 --- a/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl +++ b/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl @@ -14,6 +14,11 @@ Needs[ "Wolfram`Chatbook`PromptGenerators`Common`" ]; (*Configuration*) $documentationSnippetBaseURL = "https://www.wolframcloud.com/obj/wolframai-content/DocumentationSnippets/Text"; +$snippetsCacheDirectory := $snippetsCacheDirectory = FileNameJoin @ { + ExpandFileName @ LocalObject @ $LocalBase, + "Chatbook/DocumentationSnippets" +}; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*RelatedDocumentation*) @@ -289,7 +294,7 @@ getDocumentationSnippetData[ uris: { __String } ] := Enclose[ "Missing" ]; - fetchDocumentationSnippets @ missing; + LogChatTiming @ fetchDocumentationSnippets @ missing; ConfirmBy[ AssociationMap[ getCachedDocumentationSnippet, uris ], @@ -308,9 +313,62 @@ getDocumentationSnippetData // endDefinition; getCachedDocumentationSnippet // beginDefinition; getCachedDocumentationSnippet[ uri_String ] := getCachedDocumentationSnippet @ StringSplit[ uri, "#" ]; getCachedDocumentationSnippet[ { base_String } ] := getCachedDocumentationSnippet @ { base, None }; -getCachedDocumentationSnippet[ { base_String, fragment_ } ] := $documentationSnippets[ base, fragment ]; +getCachedDocumentationSnippet[ { base_String, fragment_ } ] := getCachedDocumentationSnippet0[ base, fragment ]; getCachedDocumentationSnippet // endDefinition; + +getCachedDocumentationSnippet0 // beginDefinition; + +getCachedDocumentationSnippet0[ base_String, fragment_ ] := + With[ { snippet = $documentationSnippets[ base, fragment ] }, + snippet /; snippetDataQ @ snippet + ]; + +getCachedDocumentationSnippet0[ base_String, fragment_ ] := Enclose[ + Catch @ Module[ { file, data, snippet }, + file = ConfirmBy[ snippetCacheFile @ base, StringQ, "File" ]; + data = If[ TrueQ @ FileExistsQ @ file, Quiet @ Developer`ReadWXFFile @ file, Throw @ Missing[ "NotCached" ] ]; + snippet = data[ fragment ]; + If[ AssociationQ @ data && snippetDataQ @ snippet, + $documentationSnippets[ base ] = data; snippet, + Missing[ "NotCached" ] + ] + ], + throwInternalFailure +]; + +getCachedDocumentationSnippet0 // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*snippetDataQ*) +snippetDataQ // beginDefinition; +snippetDataQ[ KeyValuePattern[ "String" -> _String ] ] := True; +snippetDataQ[ _ ] := False; +snippetDataQ // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*snippetCacheFile*) +snippetCacheFile // beginDefinition; + +snippetCacheFile[ uri_String ] /; StringStartsQ[ uri, "paclet:" ] := + snippetCacheFile[ uri, StringDelete[ uri, "paclet:" ], "Documentation" ]; + +snippetCacheFile[ uri_String ] /; StringStartsQ[ uri, "https://resources.wolframcloud.com/" ] := + snippetCacheFile[ uri, StringDelete[ uri, "https://resources.wolframcloud.com/" ], "ResourceSystem" ]; + +snippetCacheFile[ uri_String, path0_String, name_String ] := Enclose[ + Module[ { path, file }, + path = ConfirmBy[ StringTrim[ path0, "/" ] <> ".wxf", StringQ, "Path" ]; + file = ConfirmBy[ FileNameJoin @ { $snippetsCacheDirectory, name, path }, StringQ, "File" ]; + snippetCacheFile[ uri ] = file + ], + throwInternalFailure +]; + +snippetCacheFile // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*fetchDocumentationSnippets*) @@ -382,7 +440,7 @@ toDocSnippetURL0 // endDefinition; (* ::Subsubsection::Closed:: *) (*processDocumentationSnippetResults*) processDocumentationSnippetResults // beginDefinition; -processDocumentationSnippetResults[ results_Association ] := processDocumentationSnippetResult /@ results; +processDocumentationSnippetResults[ results_Association ] := KeyValueMap[ processDocumentationSnippetResult, results ]; processDocumentationSnippetResults // endDefinition; (* TODO: retry failed results *) @@ -392,17 +450,24 @@ processDocumentationSnippetResults // endDefinition; (*processDocumentationSnippetResult*) processDocumentationSnippetResult // beginDefinition; -processDocumentationSnippetResult[ as_Association ] := - processDocumentationSnippetResult[ as, as[ "BodyByteArray" ], as[ "StatusCode" ] ]; - -processDocumentationSnippetResult[ as_, bytes_ByteArray, 200 ] := - processDocumentationSnippetResult[ as, Quiet @ Developer`ReadWXFByteArray @ bytes ]; - -processDocumentationSnippetResult[ as_, data_List ] := - Association[ - makeCombinedSnippet @ data, - cacheDocumentationSnippetResult /@ data - ]; +processDocumentationSnippetResult[ base_String, as_Association ] := + processDocumentationSnippetResult[ base, as, as[ "BodyByteArray" ], as[ "StatusCode" ] ]; + +processDocumentationSnippetResult[ base_String, as_, bytes_ByteArray, 200 ] := + processDocumentationSnippetResult[ base, as, Quiet @ Developer`ReadWXFByteArray @ bytes ]; + +processDocumentationSnippetResult[ base_String, as_, data_List ] := Enclose[ + Module[ { combined, keyed, processed, file }, + combined = ConfirmMatch[ makeCombinedSnippet @ data, None -> _Association, "Combined" ]; + keyed = Last @ StringSplit[ ConfirmBy[ #[ "URI" ], StringQ, "URI" ], "#" ] -> # & /@ data; + processed = ConfirmBy[ Association[ combined, keyed ], AssociationQ, "Processed" ]; + file = ConfirmBy[ snippetCacheFile @ base, StringQ, "File" ]; + ConfirmBy[ GeneralUtilities`EnsureDirectory @ DirectoryName @ file, DirectoryQ, "Directory" ]; + ConfirmBy[ Developer`WriteWXFFile[ file, processed ], FileExistsQ, "Export" ]; + $documentationSnippets[ base ] = processed + ], + throwInternalFailure +]; processDocumentationSnippetResult // endDefinition; @@ -410,18 +475,9 @@ processDocumentationSnippetResult // endDefinition; (* ::Subsubsection::Closed:: *) (*makeCombinedSnippet*) makeCombinedSnippet // beginDefinition; - makeCombinedSnippet[ { data_Association, ___ } ] := makeCombinedSnippet @ data; - -makeCombinedSnippet[ data_Association ] := Enclose[ - Module[ { uri, base }, - uri = ConfirmBy[ data[ "URI" ], StringQ, "URI" ]; - base = ConfirmBy[ First @ StringSplit[ uri, "#" ], StringQ, "Base" ]; - cacheDocumentationSnippetResult[ { base, None }, data ] - ], - throwInternalFailure -]; - +(* TODO: combined several initial snippets instead of just one *) +makeCombinedSnippet[ data_Association ] := None -> data; makeCombinedSnippet // endDefinition; (* ::**************************************************************************************************************:: *) From bd490fff1176be2ef18cdedaba00220186a039de Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 16 Sep 2024 11:44:48 -0400 Subject: [PATCH 089/180] Create a new URL and download location for SentenceBERT vector databases --- Source/Chatbook/PromptGenerators/VectorDatabases.wl | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Source/Chatbook/PromptGenerators/VectorDatabases.wl b/Source/Chatbook/PromptGenerators/VectorDatabases.wl index 154c5844..a57e7ff4 100644 --- a/Source/Chatbook/PromptGenerators/VectorDatabases.wl +++ b/Source/Chatbook/PromptGenerators/VectorDatabases.wl @@ -16,6 +16,7 @@ HoldComplete[ (* ::Section::Closed:: *) (*Configuration*) $vectorDBNames = { "DocumentationURIs", "WolframAlphaQueries" }; +$dbVersion = "1.1.0"; $embeddingDimension = 384; $maxNeighbors = 50; @@ -40,13 +41,21 @@ $maxExtraFiles = 20; $baseVectorDatabasesURL = "https://www.wolframcloud.com/obj/wolframai-content/VectorDatabases"; (* TODO: these will be moved to the data repository: *) -$vectorDBDownloadURLs = AssociationMap[ $baseVectorDatabasesURL <> "/" <> # <> ".zip" &, $vectorDBNames ]; +$vectorDBDownloadURLs = AssociationMap[ + URLBuild @ { $baseVectorDatabasesURL, $dbVersion, # <> ".zip" } &, + $vectorDBNames +]; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*Paths*) $pacletVectorDBDirectory := FileNameJoin @ { $thisPaclet[ "Location" ], "Assets/VectorDatabases" }; -$localVectorDBDirectory := FileNameJoin @ { ExpandFileName @ LocalObject @ $LocalBase, "Chatbook/VectorDatabases" }; + +$localVectorDBDirectory := FileNameJoin @ { + ExpandFileName @ LocalObject @ $LocalBase, + "Chatbook/VectorDatabases", + $dbVersion +}; (* TODO: need versioned URLs and paths *) From af9276eadc3c71f35d251fd30705b3038cfa7372 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 16 Sep 2024 13:27:42 -0400 Subject: [PATCH 090/180] Add documentation RAG to WL suggestions --- .../Chatbook/ChatModes/ContentSuggestions.wl | 47 ++++++++++++++++--- 1 file changed, 41 insertions(+), 6 deletions(-) diff --git a/Source/Chatbook/ChatModes/ContentSuggestions.wl b/Source/Chatbook/ChatModes/ContentSuggestions.wl index f32644bf..58b00c4a 100644 --- a/Source/Chatbook/ChatModes/ContentSuggestions.wl +++ b/Source/Chatbook/ChatModes/ContentSuggestions.wl @@ -33,7 +33,9 @@ Your suggested text will be inserted into %%Placeholder%%, so be careful not to Use `%` to refer to the previous output or `%n` for earlier outputs (where n is an output number) when appropriate. Limit your suggested completion to approximately one or two lines of code. Respond with the completion text and nothing else. -Do not include any formatting in your response. Do not include outputs or `In[]:=` cell labels.", +Do not include any formatting in your response. Do not include outputs or `In[]:=` cell labels. + +%%RelatedDocumentation%%", Delimiters -> "%%" ]; (* ::**************************************************************************************************************:: *) @@ -74,8 +76,8 @@ $$outLabel = "Out[" ~~ DigitCharacter... ~~ "]" ~~ WhitespaceCharacter... ~~ ("= (* ::Section::Closed:: *) (*ShowContentSuggestions*) ShowContentSuggestions // beginDefinition; -ShowContentSuggestions[ ] := catchMine @ LogChatTiming @ showContentSuggestions @ InputNotebook[ ]; -ShowContentSuggestions[ nbo_NotebookObject ] := catchMine @ LogChatTiming @ showContentSuggestions @ nbo; +ShowContentSuggestions[ ] := catchMine @ withChatState @ LogChatTiming @ showContentSuggestions @ InputNotebook[ ]; +ShowContentSuggestions[ nbo_ ] := catchMine @ withChatState @ LogChatTiming @ showContentSuggestions @ nbo; ShowContentSuggestions // endExportedDefinition; (* ::**************************************************************************************************************:: *) @@ -159,6 +161,9 @@ showContentSuggestions0[ nbo_NotebookObject, root_CellObject, selectionInfo_Asso settings = ConfirmBy[ LogChatTiming @ AbsoluteCurrentChatSettings @ root, AssociationQ, "Settings" ]; context = ConfirmBy[ LogChatTiming @ getSuggestionsContext[ type, nbo, settings ], StringQ, "Context" ]; + $contextPrompt = None; + $selectionPrompt = None; + ConfirmMatch[ LogChatTiming @ generateSuggestions[ type, Dynamic[ suggestionsContainer ], nbo, root, context, settings ], _Pane, @@ -238,7 +243,7 @@ generateSuggestions // endDefinition; generateWLSuggestions // beginDefinition; generateWLSuggestions[ Dynamic[ container_ ], nbo_, root_CellObject, context0_String, settings_ ] := Enclose[ - Module[ { context, instructions, response, style, suggestions, stripped }, + Module[ { context, preprocessed, relatedDocs, instructions, response, style, suggestions, stripped }, context = ConfirmBy[ StringReplace[ @@ -255,8 +260,19 @@ generateWLSuggestions[ Dynamic[ container_ ], nbo_, root_CellObject, context0_St $lastSuggestionContext = context; - instructions = ConfirmBy[ - TemplateApply[ $wlSuggestionsPrompt, <| "Placeholder" -> $wlPlaceholderString |> ], + preprocessed = ConfirmBy[ preprocessRelatedDocsContext @ context, StringQ, "Preprocessing" ]; + + relatedDocs = ConfirmBy[ + LogChatTiming @ RelatedDocumentation[ preprocessed, "Prompt", "FilterResults" -> False, MaxItems -> 5 ], + StringQ, + "RelatedDocumentation" + ]; + + instructions = StringTrim @ ConfirmBy[ + TemplateApply[ + $wlSuggestionsPrompt, + <| "Placeholder" -> $wlPlaceholderString, "RelatedDocumentation" -> relatedDocs |> + ], StringQ, "Instructions" ]; @@ -303,6 +319,25 @@ generateWLSuggestions[ Dynamic[ container_ ], nbo_, root_CellObject, context0_St generateWLSuggestions // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*preprocessRelatedDocsContext*) +preprocessRelatedDocsContext // beginDefinition; + +preprocessRelatedDocsContext[ context_String ] := + preprocessRelatedDocsContext[ + context, + StringSplit[ context, code: Shortest[ "```" ~~ __ ~~ "```" ] :> codeBlock @ code ] + ]; + +preprocessRelatedDocsContext[ context_, { ___, text_String, codeBlock[ code_String ] } ] := + StringJoin[ text, code ]; + +preprocessRelatedDocsContext[ context_String, { (_String|_codeBlock)... } ] := + context; + +preprocessRelatedDocsContext // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*stripSurroundingWLCode*) From 95b82f9fbbe05029d5d53ad7c59dfcb01a5fd47a Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 17 Sep 2024 14:05:07 -0400 Subject: [PATCH 091/180] Use public `SentenceBERTEmbedding` if available --- .../PromptGenerators/VectorDatabases.wl | 34 +++++++++++++++---- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/Source/Chatbook/PromptGenerators/VectorDatabases.wl b/Source/Chatbook/PromptGenerators/VectorDatabases.wl index a57e7ff4..7ce15d2f 100644 --- a/Source/Chatbook/PromptGenerators/VectorDatabases.wl +++ b/Source/Chatbook/PromptGenerators/VectorDatabases.wl @@ -667,14 +667,36 @@ getAndCacheEmbeddings // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*sentenceBERTEmbedding*) -sentenceBERTEmbedding // beginDefinition; +sentenceBERTEmbedding := getSentenceBERTEmbeddingFunction[ ]; -sentenceBERTEmbedding[ args___ ] := ( - Needs[ "SemanticSearch`" -> None ]; - SemanticSearch`SemanticSearch`Private`SentenceBERTEmbedding @ args -); +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*getSentenceBERTEmbeddingFunction*) +getSentenceBERTEmbeddingFunction // beginDefinition; + +getSentenceBERTEmbeddingFunction[ ] := Enclose[ + Module[ { name }, + + Needs[ "SemanticSearch`" -> None ]; + + name = ConfirmBy[ + SelectFirst[ + { + "SemanticSearch`SentenceBERTEmbedding", + "SemanticSearch`SemanticSearch`Private`SentenceBERTEmbedding" + }, + NameQ @ # && ToExpression[ #, InputForm, System`Private`HasAnyEvaluationsQ ] & + ], + StringQ, + "SymbolName" + ]; + + getSentenceBERTEmbeddingFunction[ ] = Symbol @ name + ], + throwInternalFailure +]; -sentenceBERTEmbedding // endDefinition; +getSentenceBERTEmbeddingFunction // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) From 67c3dc68d9b9325d94a3056373477fe8c0f3b1fe Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 17 Sep 2024 14:13:37 -0400 Subject: [PATCH 092/180] Only filter RAG results when using code assistance chat --- .../DefaultPromptGenerators.wl | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/Source/Chatbook/PromptGenerators/DefaultPromptGenerators.wl b/Source/Chatbook/PromptGenerators/DefaultPromptGenerators.wl index 709b3923..58be0cbd 100644 --- a/Source/Chatbook/PromptGenerators/DefaultPromptGenerators.wl +++ b/Source/Chatbook/PromptGenerators/DefaultPromptGenerators.wl @@ -19,8 +19,31 @@ $defaultPromptGenerators := $defaultPromptGenerators = <| "RelatedWolframAlphaQueries" -> LLMPromptGenerator[ relatedWolframAlphaQueriesGenerator, "Messages" ] |>; -relatedDocumentationGenerator := LogChatTiming @ RelatedDocumentation[ #, "Prompt", MaxItems -> 20 ] &; -relatedWolframAlphaQueriesGenerator := LogChatTiming @ RelatedWolframAlphaQueries[ #, "Prompt" ] &; +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*relatedDocumentationGenerator*) +relatedDocumentationGenerator // beginDefinition; + +relatedDocumentationGenerator[ messages: $$chatMessages ] := + If[ TrueQ[ $InlineChat || $WorkspaceChat ], (* TODO: define a flag for when using Code Assistance instead of this *) + LogChatTiming @ RelatedDocumentation[ messages, "Prompt", MaxItems -> 20, "FilterResults" -> True ], + LogChatTiming @ RelatedDocumentation[ messages, "Prompt", MaxItems -> 5, "FilterResults" -> False ] + ]; + +relatedDocumentationGenerator // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*relatedWolframAlphaQueriesGenerator*) +relatedWolframAlphaQueriesGenerator // beginDefinition; + +relatedWolframAlphaQueriesGenerator[ messages: $$chatMessages ] := + If[ TrueQ[ $InlineChat || $WorkspaceChat ], + LogChatTiming @ RelatedWolframAlphaQueries[ messages, "Prompt", MaxItems -> 20, "FilterResults" -> True ], + LogChatTiming @ RelatedWolframAlphaQueries[ messages, "Prompt", MaxItems -> 5, "FilterResults" -> False ] + ]; + +relatedWolframAlphaQueriesGenerator // endDefinition; (* TODO: prompt generator selectors that work like tool selections *) From ad5ebaacc319b3970dcd4e9445cce9509f18013a Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 17 Sep 2024 14:14:21 -0400 Subject: [PATCH 093/180] Improvement: Better serialization of derivative boxes --- Source/Chatbook/Serialization.wl | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Source/Chatbook/Serialization.wl b/Source/Chatbook/Serialization.wl index 50032fdf..3f2ef928 100644 --- a/Source/Chatbook/Serialization.wl +++ b/Source/Chatbook/Serialization.wl @@ -1453,6 +1453,16 @@ preprocessTraditionalForm // endDefinition; fasterCellToString0[ SubscriptBox[ "\[InvisiblePrefixScriptBase]", x_ ] ] := fasterCellToString0 @ SubscriptBox[ " ", x ]; +(* Derivative *) +fasterCellToString0[ SuperscriptBox[ f_, "\[Prime]", ___ ] ] := + "Derivative[1][" <> fasterCellToString0 @ f <> "]"; + +fasterCellToString0[ SuperscriptBox[ f_, "\[Prime]\[Prime]", ___ ] ] := + "Derivative[2][" <> fasterCellToString0 @ f <> "]"; + +fasterCellToString0[ SuperscriptBox[ f_, TagBox[ RowBox @ { "(", n_String, ")" }, Derivative ], ___ ] ] := + "Derivative[" <> n <> "][" <> fasterCellToString0 @ f <> "]"; + (* Sqrt *) fasterCellToString0[ SqrtBox[ a_ ] ] := (needsBasePrompt[ "WolframLanguage" ]; "Sqrt["<>fasterCellToString0 @ a<>"]"); From 254c2b710e4b851edf888990e1845659ee1e2c97 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 17 Sep 2024 14:15:14 -0400 Subject: [PATCH 094/180] Improvement: Better formatting of resource functions in LLM outputs --- Source/Chatbook/Formatting.wl | 45 +++++++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/Source/Chatbook/Formatting.wl b/Source/Chatbook/Formatting.wl index 2f4260b6..078e4c33 100644 --- a/Source/Chatbook/Formatting.wl +++ b/Source/Chatbook/Formatting.wl @@ -1784,8 +1784,12 @@ formatNLInputs // beginDefinition; formatNLInputs[ string_String ] := StringReplace[ string, - "\[FreeformPrompt][\"" ~~ q: Except[ "\"" ].. ~~ ("\"]"|EndOfString) :> - ToString[ RawBoxes @ formatNLInputFast @ q, StandardForm ] + { + "\[FreeformPrompt][\"" ~~ q: Except[ "\"" ].. ~~ ("\"]"|EndOfString) :> + ToString[ RawBoxes @ formatNLInputFast @ q, StandardForm ], + "ResourceFunction[\"" ~~ name: Except[ "\"" ].. ~~ ("\"]"|EndOfString) :> + ToString[ RawBoxes @ formatResourceFunctionFast @ name, StandardForm ] + } ]; formatNLInputs[ boxes_ ] := @@ -1795,10 +1799,47 @@ formatNLInputs[ boxes_ ] := , RowBox @ { "\[FreeformPrompt]", "[", q_String } /; StringMatchQ[ q, "\""~~Except[ "\""]..~~("\""|"") ] :> RuleCondition @ formatNLInputFast @ q + , + RowBox @ { "ResourceFunction", "[", name_String, "]" } /; StringMatchQ[ name, "\""~~Except[ "\""]..~~"\"" ] :> + RuleCondition @ If[ TrueQ @ $dynamicText, + formatResourceFunctionFast @ name, + formatResourceFunctionSlow @ name + ] }; formatNLInputs // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*formatResourceFunctionFast*) +formatResourceFunctionFast // beginDefinition; + +formatResourceFunctionFast[ name_String ] := ( + Needs[ "FunctionResource`" -> None ]; + FunctionResource`InertResourceFunctionBoxes[ "Published", StringTrim[ name, "\"" ] ] +); + +formatResourceFunctionFast // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*formatResourceFunctionSlow*) +formatResourceFunctionSlow // beginDefinition; + +(* formatResourceFunctionSlow[ name_String ] := ( + Needs[ "FunctionResource`" -> None ]; + With[ { display = FunctionResource`InertResourceFunctionBoxes[ "Published", StringTrim[ name, "\"" ] ] }, + InterpretationBox[ display, ResourceFunction @ name, Selectable -> False, SelectWithContents -> True ] + ] +); *) + +formatResourceFunctionSlow[ name_String ] := ( + Needs[ "FunctionResource`" -> None ]; + FunctionResource`MakeResourceFunctionBoxes @ StringTrim[ name, "\"" ] +); + +formatResourceFunctionSlow // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*formatNLInputFast*) From 8373df7bfdddb6d8667c2591ff4f7ca49caa52f9 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 17 Sep 2024 14:15:55 -0400 Subject: [PATCH 095/180] Use less emphasis if related docs aren't filtered, since it may be junk --- .../PromptGenerators/RelatedDocumentation.wl | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl b/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl index 6952e8c2..6198cc9a 100644 --- a/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl +++ b/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl @@ -164,7 +164,7 @@ relatedDocumentationPrompt[ messages: $$chatMessages, count_, filter_ ] := Enclo If[ string === "", "", - $relatedDocsStringHeader <> string + prependRelatedDocsHeader[ string, filter ] ] ], throwInternalFailure @@ -172,11 +172,20 @@ relatedDocumentationPrompt[ messages: $$chatMessages, count_, filter_ ] := Enclo relatedDocumentationPrompt // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*prependRelatedDocsHeader*) +prependRelatedDocsHeader // beginDefinition; +prependRelatedDocsHeader[ string_String, True ] := $relatedDocsStringFilteredHeader <> string; +prependRelatedDocsHeader[ string_String, _ ] := $relatedDocsStringUnfilteredHeader <> string; +prependRelatedDocsHeader // endDefinition; + -$relatedDocsStringHeader = "\ -IMPORTANT: Here are some Wolfram documentation snippets that you should use to respond. +$relatedDocsStringFilteredHeader = +"IMPORTANT: Here are some Wolfram documentation snippets that you should use to respond.\n\n"; -"; +$relatedDocsStringUnfilteredHeader = +"Here are some Wolfram documentation snippets that you may find useful.\n\n"; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) From 419474b520e791526f55e2ea2031bbcedb9df1bd Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 17 Sep 2024 14:18:51 -0400 Subject: [PATCH 096/180] Bugfix: Need to update tests to account for new embedding model results --- Tests/RelatedDocumentation.wlt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Tests/RelatedDocumentation.wlt b/Tests/RelatedDocumentation.wlt index 1233fe65..0d2c67be 100644 --- a/Tests/RelatedDocumentation.wlt +++ b/Tests/RelatedDocumentation.wlt @@ -129,7 +129,7 @@ VerificationTest[ VerificationTest[ StringCount[ prompt, { "paclet:ref/Prime#", "paclet:ref/NextPrime#" } ], - _Integer? (GreaterEqualThan[ 10 ]), + _Integer? (GreaterEqualThan[ 8 ]), SameTest -> MatchQ, TestID -> "RelatedDocumentation-Prompt-Messages-Count@@Tests/RelatedDocumentation.wlt:130,1-135,2" ] @@ -144,7 +144,7 @@ VerificationTest[ { <| "Role" -> "User", "Content" -> "What does this do?" |> }, "Prompt", "FilterResults" -> False, - "MaxItems" -> 20 + "MaxItems" -> 20 ] ], _String, @@ -154,7 +154,7 @@ VerificationTest[ VerificationTest[ StringCount[ prompt, "paclet:ref/Prime#" ], - _Integer? (GreaterThan[ 5 ]), + _Integer? (GreaterEqualThan[ 2 ]), SameTest -> MatchQ, TestID -> "RelatedDocumentation-Prompt-Selection-Count@@Tests/RelatedDocumentation.wlt:155,1-160,2" ] From 817731a08bf3a0c33a2ffcd7727666673f223c8b Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 17 Sep 2024 14:19:49 -0400 Subject: [PATCH 097/180] Correct formatting of WL completions --- Source/Chatbook/ChatModes/ContentSuggestions.wl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Chatbook/ChatModes/ContentSuggestions.wl b/Source/Chatbook/ChatModes/ContentSuggestions.wl index 58b00c4a..86a5f5e3 100644 --- a/Source/Chatbook/ChatModes/ContentSuggestions.wl +++ b/Source/Chatbook/ChatModes/ContentSuggestions.wl @@ -480,7 +480,7 @@ postProcessWLSuggestions[ suggestion_String ] := Enclose[ ConfirmMatch[ If[ TrueQ @ $stripWhitespace, - Flatten @ BoxData @ StripBoxes @ stringToBoxes @ noLabels, + Flatten @ BoxData @ StripBoxes @ StringToBoxes[ noLabels, "WL" ], Flatten @ BoxData @ simpleStringToBoxes @ noLabels ], _BoxData, From c9153d73f8b6e0b6d24a50a8d8a07fd0c848c721 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 17 Sep 2024 14:20:27 -0400 Subject: [PATCH 098/180] Avoid duplicating RAG messages when sending tool responses --- Source/Chatbook/ChatMessages.wl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Chatbook/ChatMessages.wl b/Source/Chatbook/ChatMessages.wl index e3cb1fed..35cdda7a 100644 --- a/Source/Chatbook/ChatMessages.wl +++ b/Source/Chatbook/ChatMessages.wl @@ -120,7 +120,7 @@ constructMessages[ settings_Association? AssociationQ, messages0: { __Associatio If[ settings[ "AutoFormat" ], needsBasePrompt[ "Formatting" ] ]; needsBasePrompt @ settings; - prompted = addPrompts[ settings, messages0 ]; + prompted = addPrompts[ settings, DeleteCases[ messages0, KeyValuePattern[ "Temporary" -> True ] ] ]; messages = prompted /. s_String :> RuleCondition @ StringTrim @ StringReplace[ @@ -148,7 +148,7 @@ constructMessages[ settings_Association? AssociationQ, messages0: { __Associatio generatedPrompts = ConfirmMatch[ applyPromptGenerators[ settings, merged ], { ___String }, "Generated" ]; generatedMessages = Splice @ ConfirmMatch[ - <| "Role" -> genRole, "Content" -> # |> & /@ generatedPrompts, + <| "Role" -> genRole, "Content" -> #, "Temporary" -> True |> & /@ generatedPrompts, $$chatMessages, "GeneratedMessages" ]; From 9b26ba7f3662291948a2226de170aaa04a176065 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 18 Sep 2024 11:48:22 -0400 Subject: [PATCH 099/180] Remove some unused code --- .../PromptGenerators/VectorDatabases.wl | 128 ------------------ 1 file changed, 128 deletions(-) diff --git a/Source/Chatbook/PromptGenerators/VectorDatabases.wl b/Source/Chatbook/PromptGenerators/VectorDatabases.wl index 7ce15d2f..63f0d454 100644 --- a/Source/Chatbook/PromptGenerators/VectorDatabases.wl +++ b/Source/Chatbook/PromptGenerators/VectorDatabases.wl @@ -705,134 +705,6 @@ toTinyVector // beginDefinition; toTinyVector[ v_ ] := NumericArray[ 127.5 * Normalize @ v[[ 1;;$embeddingDimension ]] - 0.5, "Real16" ]; toTinyVector // endDefinition; -(* ::**************************************************************************************************************:: *) -(* ::Section::Closed:: *) -(*Prompt Generation*) - -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*insertVectorDBPrompts*) -insertVectorDBPrompts // beginDefinition; - -insertVectorDBPrompts[ messages_List, settings_Association ] := Enclose[ - Module[ - { - conversation, relatedQueries, relatedDocs, - randomQueries, queries, docSnippets, bestDocPage, docString, - querySampleString, relatedDocsString - }, - - conversation = ConfirmMatch[ makeChatTranscript @ messages, { __Association }, "Conversation" ]; - - relatedQueries = ConfirmMatch[ - Take[ vectorDBSearch[ "WolframAlphaQueries", conversation, "Values" ], UpTo[ $relatedQueryCount ] ], - { ___String }, - "Queries" - ]; - - relatedDocs = ConfirmMatch[ - Take[ vectorDBSearch[ "DocumentationURIs", conversation, "Values" ], UpTo[ $relatedDocsCount ] ], - { ___String }, - "Documentation" - ]; - - randomQueries = ConfirmMatch[ RandomSample[ $uniqueWAQueries, $querySampleCount ], { ___String }, "Random" ]; - queries = Take[ Join[ relatedQueries, randomQueries ], UpTo[ $querySampleCount ] ]; - - docSnippets = ConfirmMatch[ - DeleteMissing[ makeDocSnippets @ relatedDocs ], - { ___String }, - "DocumentationSnippets" - ]; - - bestDocPage = selectBestDocumentationPages[ messages, relatedDocs ]; - docString = If[ StringQ @ bestDocPage, bestDocPage, StringRiffle[ docSnippets, "\n---\n" ] ]; - - querySampleString = $querySampleStringHeader <> StringRiffle[ queries, "\n" ]; - relatedDocsString = $relatedDocsStringHeader <> docString; - - $lastVectorDBPrompts = <| - "Queries" -> querySampleString, - "Documentation" -> relatedDocsString - |>; - - (* FIXME: implement as a prompt generator instead: *) - stringReplaceSystemMessage[ - messages, - { - "$$SAMPLE_WL_QUERIES$$" :> querySampleString, - "$$SAMPLE_DOC_SNIPPETS$$" :> relatedDocsString - } - ] - ], - throwInternalFailure -]; - -insertVectorDBPrompts // endDefinition; - -$querySampleStringHeader = "\ -The Wolfram Alpha tool can accept a wide variety of inputs. \ -Here are some example queries that would work in place of to give you a sense of what it can do: - -"; - -$relatedDocsStringHeader = "\ -Here are some Wolfram documentation snippets that might be helpful: - -"; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*selectBestDocumentationPages*) -selectBestDocumentationPages // beginDefinition; - -selectBestDocumentationPages[ messages_List, { } ] := - Missing[ "NotAvailable" ]; - -selectBestDocumentationPages[ messages_List, relatedDocs0: { __String } ] := Enclose[ - Catch @ Module[ { relatedDocs, snippets, transcript, prompt, response, pages }, - relatedDocs = Take[ relatedDocs0, UpTo[ 10 ] ]; - If[ relatedDocs === { }, Throw @ Missing[ "NotAvailable" ] ]; - snippets = StringRiffle[ makeDocSnippets @ relatedDocs, "\n\n---\n\n" ]; - transcript = ConfirmBy[ getSmallContextString @ messages, StringQ, "Transcript" ]; - - prompt = ConfirmBy[ - TemplateApply[ $bestDocumentationPrompt, <| "Snippets" -> snippets, "Transcript" -> transcript |> ], - StringQ, - "Prompt" - ]; - - response = StringTrim @ ConfirmBy[ llmSynthesize @ prompt, StringQ, "Response" ]; - pages = makeDocSnippets @ Join[ StringCases[ response, relatedDocs ], Take[ relatedDocs, UpTo[ 3 ] ] ]; - - If[ pages === { }, - Missing[ "NotAvailable" ], - StringRiffle[ pages, "\n\n---\n\n" ] - ] - ], - throwInternalFailure -]; - -selectBestDocumentationPages // endDefinition; - - - - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*stringReplaceSystemMessage*) -stringReplaceSystemMessage // beginDefinition; - -stringReplaceSystemMessage[ - { sysMessage: KeyValuePattern @ { "Role" -> "System", "Content" -> content_ }, messages___ }, - rules_ -] := { - <| sysMessage, "Content" -> (content /. s_String :> RuleCondition @ StringReplace[ s, rules ]) |>, - messages -}; - -stringReplaceSystemMessage // endDefinition; - (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Package Footer*) From 2c75c735915d4c34ad074b3a1a65ad8a9a4b2d7a Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 18 Sep 2024 11:50:15 -0400 Subject: [PATCH 100/180] Fix lack of line breaks in suggestions list --- Source/Chatbook/ChatModes/ContentSuggestions.wl | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Source/Chatbook/ChatModes/ContentSuggestions.wl b/Source/Chatbook/ChatModes/ContentSuggestions.wl index 86a5f5e3..822af0fc 100644 --- a/Source/Chatbook/ChatModes/ContentSuggestions.wl +++ b/Source/Chatbook/ChatModes/ContentSuggestions.wl @@ -462,7 +462,11 @@ postProcessWLSuggestions[ suggestion_String ] := Enclose[ StringTrim @ StringDelete[ If[ StringContainsQ[ noOutputs, "```"~~__~~"```" ], ConfirmBy[ - First @ StringCases[ noOutputs, "```" ~~ Except[ "\n" ]... ~~ "\n" ~~ code___ ~~ "```" :> code, 1 ], + First @ StringCases[ + noOutputs, + "```" ~~ Except[ "\n" ]... ~~ "\n" ~~ code___ ~~ "```" :> code, + 1 + ], StringQ, "NoBlocks" ], @@ -643,7 +647,8 @@ formatSuggestion[ root_CellObject, nbo_NotebookObject, { styles___String }, sugg ShowStringCharacters -> True, ShowAutoStyles -> True, LanguageCategory -> "Input", - LineBreakWithin -> True, + LineBreakWithin -> Automatic, + LineIndent -> 1, PageWidth :> WindowWidth }, Sequence @@ { } From 494448b87ca3e1004162f13c2d6df6c5a398f171 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 18 Sep 2024 11:51:25 -0400 Subject: [PATCH 101/180] Only use documentation RAG in content suggestions when there's plain text available --- .../Chatbook/ChatModes/ContentSuggestions.wl | 44 ++++++++++++++++--- .../PromptGenerators/RelatedDocumentation.wl | 2 - 2 files changed, 38 insertions(+), 8 deletions(-) diff --git a/Source/Chatbook/ChatModes/ContentSuggestions.wl b/Source/Chatbook/ChatModes/ContentSuggestions.wl index 822af0fc..6c545050 100644 --- a/Source/Chatbook/ChatModes/ContentSuggestions.wl +++ b/Source/Chatbook/ChatModes/ContentSuggestions.wl @@ -38,6 +38,8 @@ Do not include any formatting in your response. Do not include outputs or `In[]: %%RelatedDocumentation%%", Delimiters -> "%%" ]; +$defaultWLContextString = ""; + (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*TextData Suggestions*) @@ -324,19 +326,49 @@ generateWLSuggestions // endDefinition; (*preprocessRelatedDocsContext*) preprocessRelatedDocsContext // beginDefinition; -preprocessRelatedDocsContext[ context_String ] := - preprocessRelatedDocsContext[ +preprocessRelatedDocsContext[ context_String ] := Enclose[ + Module[ { processed, noPlaceholder }, + processed = ConfirmBy[ preprocessRelatedDocsContext0 @ context, StringQ, "Processed" ]; + noPlaceholder = ConfirmBy[ StringDelete[ processed, $wlPlaceholderString ], StringQ, "NoPlaceholder" ]; + ConfirmBy[ + StringReplace[ + StringTrim @ noPlaceholder, + StartOfString ~~ "```wl" ~~ WhitespaceCharacter... ~~ "```" ~~ EndOfString :> $defaultWLContextString + ], + StringQ, + "Result" + ] + ], + throwInternalFailure +]; + +preprocessRelatedDocsContext // endDefinition; + + +preprocessRelatedDocsContext0 // beginDefinition; + +preprocessRelatedDocsContext0[ context_String ] := + preprocessRelatedDocsContext0[ context, - StringSplit[ context, code: Shortest[ "```" ~~ __ ~~ "```" ] :> codeBlock @ code ] + DeleteCases[ + StringSplit[ context, code: Shortest[ "```" ~~ __ ~~ "```" ] :> codeBlock @ code ], + _String? (StringMatchQ[ WhitespaceCharacter... ]) + ] ]; -preprocessRelatedDocsContext[ context_, { ___, text_String, codeBlock[ code_String ] } ] := +preprocessRelatedDocsContext0[ context_, { ___, text_String, codeBlock[ code_String ] } ] := StringJoin[ text, code ]; -preprocessRelatedDocsContext[ context_String, { (_String|_codeBlock)... } ] := +(* SentenceBERT doesn't do well with pure code, so don't try to include documentation RAG if that's all we have: *) +preprocessRelatedDocsContext0[ context_, { ___codeBlock } ] := + ""; + +(* TODO: in cases like this, it might be best to just use heuristics to choose relevant documentation from symbols. *) + +preprocessRelatedDocsContext0[ context_String, { (_String|_codeBlock)... } ] := context; -preprocessRelatedDocsContext // endDefinition; +preprocessRelatedDocsContext0 // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) diff --git a/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl b/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl index 6198cc9a..4f22050d 100644 --- a/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl +++ b/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl @@ -7,8 +7,6 @@ Needs[ "Wolfram`Chatbook`" ]; Needs[ "Wolfram`Chatbook`Common`" ]; Needs[ "Wolfram`Chatbook`PromptGenerators`Common`" ]; -(* TODO: move selectBestDocumentationPages to this file and implement via filtering option for RelatedDocumentation *) - (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Configuration*) From ed185ce8438d21f1320a1d9c4b70fe2a22f59659 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 18 Sep 2024 12:14:02 -0400 Subject: [PATCH 102/180] Minor config changes --- Source/Chatbook/ChatModes/ContentSuggestions.wl | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Source/Chatbook/ChatModes/ContentSuggestions.wl b/Source/Chatbook/ChatModes/ContentSuggestions.wl index 6c545050..3f07299b 100644 --- a/Source/Chatbook/ChatModes/ContentSuggestions.wl +++ b/Source/Chatbook/ChatModes/ContentSuggestions.wl @@ -22,12 +22,12 @@ $wlSuggestionsMultimodal = False; $wlSuggestionsCount = 3; $wlSuggestionsMaxTokens = 128; $wlSuggestionsTemperature = 0.9; -$wlPlaceholderString = ""; -$wlCellsBefore = 20; -$wlCellsAfter = 5; +$wlPlaceholderString = "\:2758"; +$wlCellsBefore = 50; +$wlCellsAfter = 10; $wlSuggestionsPrompt = StringTemplate[ "\ -Complete the following Wolfram Language code by writing text that can be inserted into %%Placeholder%%. +Complete the following Wolfram Language code by writing text that can be inserted into \"%%Placeholder%%\". Do your best to match the existing style (whitespace, line breaks, etc.). Your suggested text will be inserted into %%Placeholder%%, so be careful not to repeat the immediately surrounding text. Use `%` to refer to the previous output or `%n` for earlier outputs (where n is an output number) when appropriate. @@ -48,12 +48,12 @@ $textSuggestionsMultimodal = False; $textSuggestionsCount = 3; $textSuggestionsMaxTokens = 256; $textSuggestionsTemperature = 0.7; -$textPlaceholderString = ""; -$textCellsBefore = 20; +$textPlaceholderString = "\:2758"; +$textCellsBefore = 50; $textCellsAfter = 20; $textSuggestionsPrompt = StringTemplate[ "\ -Complete the following by writing text that can be inserted into %%Placeholder%%. +Complete the following by writing text that can be inserted into \"%%Placeholder%%\". The current cell style is \"%%Style%%\", so only write content that would be appropriate for this cell type. Do your best to match the existing style (whitespace, line breaks, etc.). Your suggested text will be inserted into %%Placeholder%%, so be careful not to repeat the immediately surrounding text. From 6056065fbbf974082dadd76af844829d160f5f91 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Sat, 21 Sep 2024 21:02:52 -0400 Subject: [PATCH 103/180] Added `ChatbookFilesDirectory` --- Source/Chatbook/ChatbookFiles.wl | 48 +++++++++++++++++++ Source/Chatbook/Main.wl | 5 ++ .../PromptGenerators/RelatedDocumentation.wl | 5 +- .../PromptGenerators/VectorDatabases.wl | 7 +-- Source/Chatbook/ResourceInstaller.wl | 5 +- 5 files changed, 56 insertions(+), 14 deletions(-) create mode 100644 Source/Chatbook/ChatbookFiles.wl diff --git a/Source/Chatbook/ChatbookFiles.wl b/Source/Chatbook/ChatbookFiles.wl new file mode 100644 index 00000000..ec6c719e --- /dev/null +++ b/Source/Chatbook/ChatbookFiles.wl @@ -0,0 +1,48 @@ +(* ::Section::Closed:: *) +(*Package Header*) +BeginPackage[ "Wolfram`Chatbook`ChatbookFiles`" ]; +Begin[ "`Private`" ]; + +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Configuration*) +$chatbookRoot := FileNameJoin @ { ExpandFileName @ LocalObject @ $LocalBase, "Chatbook" }; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*$ChatbookFilesDirectory*) +$ChatbookFilesDirectory := chatbookFilesDirectory @ { }; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*ChatbookFilesDirectory*) +ChatbookFilesDirectory // beginDefinition; +ChatbookFilesDirectory[ ] := catchMine @ chatbookFilesDirectory @ { }; +ChatbookFilesDirectory[ name_String ] := catchMine @ chatbookFilesDirectory @ { name }; +ChatbookFilesDirectory[ { names___String } ] := catchMine @ chatbookFilesDirectory @ { names }; +ChatbookFilesDirectory // endExportedDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*chatbookFilesDirectory*) +chatbookFilesDirectory // beginDefinition; + +chatbookFilesDirectory[ { names___String } ] := Enclose[ + ConfirmBy[ GeneralUtilities`EnsureDirectory @ { $chatbookRoot, names }, DirectoryQ, "Directory" ], + throwInternalFailure +]; + +chatbookFilesDirectory // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +addToMXInitialization[ + Null +]; + +End[ ]; +EndPackage[ ]; diff --git a/Source/Chatbook/Main.wl b/Source/Chatbook/Main.wl index cb74348b..eab6b5ee 100644 --- a/Source/Chatbook/Main.wl +++ b/Source/Chatbook/Main.wl @@ -10,6 +10,7 @@ BeginPackage[ "Wolfram`Chatbook`" ]; `$AvailableTools; `$ChatAbort; `$ChatbookContexts; +`$ChatbookFilesDirectory; `$ChatbookNames; `$ChatbookProtectedNames; `$ChatEvaluationCell; @@ -38,6 +39,7 @@ BeginPackage[ "Wolfram`Chatbook`" ]; `CellToString; `Chatbook; `ChatbookAction; +`ChatbookFilesDirectory; `ChatCellEvaluate; `CreateChatDrivenNotebook; `CreateChatNotebook; @@ -100,6 +102,7 @@ Chatbook is a symbol for miscellaneous chat notebook messages.\ $ChatbookContexts = { "Wolfram`Chatbook`", "Wolfram`Chatbook`Actions`", + "Wolfram`Chatbook`ChatbookFiles`", "Wolfram`Chatbook`ChatGroups`", "Wolfram`Chatbook`ChatHistory`", "Wolfram`Chatbook`ChatMessages`", @@ -156,6 +159,7 @@ $ChatbookNames := $ChatbookNames = $ChatbookProtectedNames = "Wolfram`Chatbook`" <> # & /@ { "$AutomaticAssistance", "$ChatbookContexts", + "$ChatbookFilesDirectory", "$ChatNotebookEvaluation", "$ChatTimingData", "$CurrentChatSettings", @@ -176,6 +180,7 @@ $ChatbookProtectedNames = "Wolfram`Chatbook`" <> # & /@ { "CellToString", "Chatbook", "ChatbookAction", + "ChatbookFilesDirectory", "ChatCellEvaluate", "CreateChatDrivenNotebook", "CreateChatNotebook", diff --git a/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl b/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl index 4f22050d..77825a72 100644 --- a/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl +++ b/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl @@ -12,10 +12,7 @@ Needs[ "Wolfram`Chatbook`PromptGenerators`Common`" ]; (*Configuration*) $documentationSnippetBaseURL = "https://www.wolframcloud.com/obj/wolframai-content/DocumentationSnippets/Text"; -$snippetsCacheDirectory := $snippetsCacheDirectory = FileNameJoin @ { - ExpandFileName @ LocalObject @ $LocalBase, - "Chatbook/DocumentationSnippets" -}; +$snippetsCacheDirectory := $snippetsCacheDirectory = ChatbookFilesDirectory[ "DocumentationSnippets" ]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) diff --git a/Source/Chatbook/PromptGenerators/VectorDatabases.wl b/Source/Chatbook/PromptGenerators/VectorDatabases.wl index 63f0d454..b1c99f03 100644 --- a/Source/Chatbook/PromptGenerators/VectorDatabases.wl +++ b/Source/Chatbook/PromptGenerators/VectorDatabases.wl @@ -50,12 +50,7 @@ $vectorDBDownloadURLs = AssociationMap[ (* ::Subsection::Closed:: *) (*Paths*) $pacletVectorDBDirectory := FileNameJoin @ { $thisPaclet[ "Location" ], "Assets/VectorDatabases" }; - -$localVectorDBDirectory := FileNameJoin @ { - ExpandFileName @ LocalObject @ $LocalBase, - "Chatbook/VectorDatabases", - $dbVersion -}; +$localVectorDBDirectory := ChatbookFilesDirectory @ { "VectorDatabases", $dbVersion }; (* TODO: need versioned URLs and paths *) diff --git a/Source/Chatbook/ResourceInstaller.wl b/Source/Chatbook/ResourceInstaller.wl index 1afd51a2..b086beca 100644 --- a/Source/Chatbook/ResourceInstaller.wl +++ b/Source/Chatbook/ResourceInstaller.wl @@ -60,10 +60,7 @@ $resourceBrowseURLs = <| "LLMTool" -> "https://resources.wolframcloud.com/LLMToolRepository" |>; -$ResourceInstallationDirectory := GeneralUtilities`EnsureDirectory @ { - ExpandFileName @ LocalObject @ $LocalBase, - "Chatbook" -}; +$ResourceInstallationDirectory := $ChatbookFilesDirectory; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) From 02774a3f479629ec9f84398214019fdc65694952 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Sat, 21 Sep 2024 21:04:00 -0400 Subject: [PATCH 104/180] Bugfix: `RelatedWolframAlphaQueries` still needs to be updated for "Prompt" property --- Source/Chatbook/PromptGenerators/DefaultPromptGenerators.wl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Source/Chatbook/PromptGenerators/DefaultPromptGenerators.wl b/Source/Chatbook/PromptGenerators/DefaultPromptGenerators.wl index 58be0cbd..42b4fd55 100644 --- a/Source/Chatbook/PromptGenerators/DefaultPromptGenerators.wl +++ b/Source/Chatbook/PromptGenerators/DefaultPromptGenerators.wl @@ -15,10 +15,12 @@ HoldComplete[ (* ::Section::Closed:: *) (*DefaultPromptGenerators*) $defaultPromptGenerators := $defaultPromptGenerators = <| - "RelatedDocumentation" -> LLMPromptGenerator[ relatedDocumentationGenerator, "Messages" ], - "RelatedWolframAlphaQueries" -> LLMPromptGenerator[ relatedWolframAlphaQueriesGenerator, "Messages" ] + "RelatedDocumentation" -> LLMPromptGenerator[ relatedDocumentationGenerator, "Messages" ](*, + "RelatedWolframAlphaQueries" -> LLMPromptGenerator[ relatedWolframAlphaQueriesGenerator, "Messages" ]*) |>; +(* TODO: update RelatedWolframAlphaQueries to support same argument types as RelatedDocumentation *) + (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*relatedDocumentationGenerator*) From d0bc008035de0b635be1ae16c75d4e0f1644dec7 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Sat, 21 Sep 2024 21:07:06 -0400 Subject: [PATCH 105/180] Added `GenerateChatTitle` and `GenerateChatTitleAsynchronous` --- Source/Chatbook/ChatHistory.wl | 7 +- Source/Chatbook/ChatTitle.wl | 87 +++++++++++++++++++ Source/Chatbook/CommonSymbols.wl | 1 + Source/Chatbook/LLMUtilities.wl | 21 +++-- Source/Chatbook/Main.wl | 5 ++ .../PromptGenerators/EmbeddingContext.wl | 2 +- 6 files changed, 113 insertions(+), 10 deletions(-) create mode 100644 Source/Chatbook/ChatTitle.wl diff --git a/Source/Chatbook/ChatHistory.wl b/Source/Chatbook/ChatHistory.wl index 9a0ba8f4..ac36ff6f 100644 --- a/Source/Chatbook/ChatHistory.wl +++ b/Source/Chatbook/ChatHistory.wl @@ -30,6 +30,8 @@ $$historyProperty = All | $$validChatHistoryProperty | { $$validChatHi (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*GetChatHistory*) +GetChatHistory // beginDefinition; + GeneralUtilities`SetUsage[ GetChatHistory, "\ GetChatHistory[cell$] gives the list of cells that would be included in the chat history for the \ CellObject specified by cell$. @@ -60,11 +62,10 @@ GetChatHistory[ cell_CellObject, property: $$historyProperty ] := catchMine @ En If[ KeyExistsQ[ as, "Settings" ], as[ "Settings" ] = resolveAutoSettings @ as[ "Settings" ] ]; ConfirmMatch[ selectProperties[ as, property ], Except[ _selectProperties ], "SelectedProperties" ] ], - throwInternalFailure[ GetChatHistory[ cell, property ], ## ] & + throwInternalFailure ]; -GetChatHistory[ args___ ] := - catchMine @ throwFailure[ "InvalidArguments", GetChatHistory, HoldForm @ GetChatHistory @ args ]; +GetChatHistory // endExportedDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) diff --git a/Source/Chatbook/ChatTitle.wl b/Source/Chatbook/ChatTitle.wl new file mode 100644 index 00000000..895665f1 --- /dev/null +++ b/Source/Chatbook/ChatTitle.wl @@ -0,0 +1,87 @@ +(* ::Section::Closed:: *) +(*Package Header*) +BeginPackage[ "Wolfram`Chatbook`ChatTitle`" ]; +Begin[ "`Private`" ]; + +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Configuration*) +$maxTitleLength = 30; +$hardMaxTitleLength = 40; +$maxContextLength = 100000; (* characters *) + +$titlePrompt := "\ +Please come up with a meaningful window title for the current chat conversation using no more than \ +"<>ToString[$maxTitleLength]<>" characters. +The title should be specific to the topics discussed in the chat. +Do not give generic titles such as \"Chat\", \"Transcript\", or \"Chat Transcript\". +Respond only with the title and nothing else. + +Here is the chat transcript: +`1` + +Remember, respond only with the title and nothing else."; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*GenerateChatTitle*) +GenerateChatTitle // beginDefinition; + +GenerateChatTitle[ messages: $$chatMessages ] := catchMine @ Enclose[ + Module[ { title, callback, task }, + callback = Function[ title = # ]; + task = ConfirmMatch[ generateChatTitle[ messages, callback ], _TaskObject, "Task" ]; + TaskWait @ task; + ConfirmMatch[ title, Except[ "", _String ], "Title" ] + ], + throwInternalFailure +]; + +GenerateChatTitle // endExportedDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*GenerateChatTitleAsynchronous*) +GenerateChatTitleAsynchronous // beginDefinition; +GenerateChatTitleAsynchronous[ messages: $$chatMessages, f_ ] := catchMine @ generateChatTitle[ messages, f ]; +GenerateChatTitleAsynchronous // endExportedDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*generateChatTitle*) +generateChatTitle // beginDefinition; + +generateChatTitle[ messages_, callback_ ] := Enclose[ + Module[ { string, short, instructions, context }, + + string = ConfirmBy[ messageListToString[ messages, "IncludeSystemMessage" -> False ], StringQ, "String" ]; + short = ConfirmBy[ StringTake[ string, UpTo[ $maxContextLength ] ], StringQ, "Short" ]; + instructions = ConfirmBy[ TemplateApply[ $titlePrompt, short ], StringQ, "Prompt" ]; + + context = ConfirmMatch[ + Block[ { $multimodalMessages = True }, expandMultimodalString @ instructions ], + _String | { __ }, + "Context" + ]; + + $lastChatTitleContext = context; + + ConfirmMatch[ llmSynthesizeSubmit[ context, callback ], _TaskObject, "Task" ] + ], + throwInternalFailure +]; + +generateChatTitle // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +addToMXInitialization[ + Null +]; + +End[ ]; +EndPackage[ ]; diff --git a/Source/Chatbook/CommonSymbols.wl b/Source/Chatbook/CommonSymbols.wl index 4dba2fc7..3cbfbe54 100644 --- a/Source/Chatbook/CommonSymbols.wl +++ b/Source/Chatbook/CommonSymbols.wl @@ -202,6 +202,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `menuMagnification; `mergeChatSettings; `mergeCodeBlocks; +`messageListToString; `modelDisplayName; `modelListCachedQ; `modifierTemplateBoxes; diff --git a/Source/Chatbook/LLMUtilities.wl b/Source/Chatbook/LLMUtilities.wl index a71e644e..27ad9d64 100644 --- a/Source/Chatbook/LLMUtilities.wl +++ b/Source/Chatbook/LLMUtilities.wl @@ -15,7 +15,10 @@ $defaultLLMSynthesizeEvaluator = <| "Model" -> <| "Service" -> "OpenAI", "Name" (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*LLM Utilities*) -$$llmPrompt = $$string|$$graphics|{ ($$string|$$graphics).. }; +$$llmPromptString = $$string | KeyValuePattern @ { "Type" -> "Text" , "Data" -> $$string }; +$$llmPromptGraphics = $$graphics | KeyValuePattern @ { "Type" -> "Image", "Data" -> $$graphics }; +$$llmPromptItem = $$llmPromptString | $$llmPromptGraphics; +$$llmPrompt = $$llmPromptItem | { $$llmPromptItem.. }; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) @@ -108,16 +111,16 @@ truncatePrompt // beginDefinition; truncatePrompt[ string_String, evaluator_ ] := stringTrimMiddle[ string, modelContextLimit @ evaluator ]; truncatePrompt[ { strings___String }, evaluator_ ] := truncatePrompt[ StringJoin @ strings, evaluator ]; -truncatePrompt[ prompts: { (_String|_Image).. }, evaluator_ ] := Enclose[ +truncatePrompt[ prompts: { ($$string|$$graphics).. }, evaluator_ ] := Enclose[ Module[ { stringCount, images, imageCount, budget, imageBudget, resized, imageTokens, stringBudget }, stringCount = Count[ prompts, _String ]; - images = Cases[ prompts, _Image ]; + images = Cases[ prompts, $$graphics ]; imageCount = Length @ images; budget = ConfirmBy[ modelContextLimit @ evaluator, IntegerQ, "Budget" ]; imageBudget = Max[ 512, 2^(13 - imageCount) ]; - resized = Replace[ prompts, i_Image :> resizePromptImage[ i, imageBudget ], { 1 } ]; - imageTokens = Total @ Cases[ resized, i_Image :> imageTokenCount @ i ]; + resized = Replace[ prompts, i: $$graphics :> resizePromptImage[ i, imageBudget ], { 1 } ]; + imageTokens = Total @ Cases[ resized, i: $$graphics :> imageTokenCount @ i ]; stringBudget = ConfirmMatch[ Floor[ (budget - imageTokens) / stringCount ], @@ -134,6 +137,9 @@ truncatePrompt[ prompts: { (_String|_Image).. }, evaluator_ ] := Enclose[ throwInternalFailure ]; +truncatePrompt[ prompts: { ___, _Association, ___ }, evaluator_ ] := + truncatePrompt[ Replace[ prompts, as_Association :> as[ "Data" ], { 1 } ], evaluator ]; + truncatePrompt // endDefinition; (* ::**************************************************************************************************************:: *) @@ -141,7 +147,7 @@ truncatePrompt // endDefinition; (*resizePromptImage*) resizePromptImage // beginDefinition; -resizePromptImage[ image_Image ] := resizePromptImage[ image, 4096 ]; +resizePromptImage[ image_ ] := resizePromptImage[ image, 4096 ]; resizePromptImage[ image_Image, max_Integer ] := Enclose[ Module[ { dims, size }, @@ -152,6 +158,9 @@ resizePromptImage[ image_Image, max_Integer ] := Enclose[ throwInternalFailure ]; +resizePromptImage[ gfx: $$graphics, max_Integer ] := + resizePromptImage[ resizeMultimodalImage @ gfx, max ]; + resizePromptImage // endDefinition; (* ::**************************************************************************************************************:: *) diff --git a/Source/Chatbook/Main.wl b/Source/Chatbook/Main.wl index eab6b5ee..7e81aee8 100644 --- a/Source/Chatbook/Main.wl +++ b/Source/Chatbook/Main.wl @@ -51,6 +51,8 @@ BeginPackage[ "Wolfram`Chatbook`" ]; `FormatToolCall; `FormatToolResponse; `FormatWolframAlphaPods; +`GenerateChatTitle; +`GenerateChatTitleAsynchronous; `GetChatHistory; `GetExpressionURI; `GetExpressionURIs; @@ -108,6 +110,7 @@ $ChatbookContexts = { "Wolfram`Chatbook`ChatMessages`", "Wolfram`Chatbook`ChatModes`", "Wolfram`Chatbook`ChatState`", + "Wolfram`Chatbook`ChatTitle`", "Wolfram`Chatbook`CloudToolbar`", "Wolfram`Chatbook`Common`", "Wolfram`Chatbook`CreateChatNotebook`", @@ -192,6 +195,8 @@ $ChatbookProtectedNames = "Wolfram`Chatbook`" <> # & /@ { "FormatToolCall", "FormatToolResponse", "FormatWolframAlphaPods", + "GenerateChatTitle", + "GenerateChatTitleAsynchronous", "GetChatHistory", "GetExpressionURI", "GetExpressionURIs", diff --git a/Source/Chatbook/PromptGenerators/EmbeddingContext.wl b/Source/Chatbook/PromptGenerators/EmbeddingContext.wl index 33e6e137..453763df 100644 --- a/Source/Chatbook/PromptGenerators/EmbeddingContext.wl +++ b/Source/Chatbook/PromptGenerators/EmbeddingContext.wl @@ -89,7 +89,7 @@ makeChatTranscript[ messages_List, opts: OptionsPattern[ ] ] := revertMultimodalContent @ messages, revertMultimodalContent @ Replace[ messages, - { KeyValuePattern[ "Role"|"role" -> "System"|"system" ], rest___ } :> { rest } + { Longest[ KeyValuePattern[ "Role"|"role" -> "System"|"system" ].. ], rest___ } :> { rest } ] ]; From e530c2aa83ee292e51286a0775c2c01b69f54437 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Sat, 21 Sep 2024 21:08:22 -0400 Subject: [PATCH 106/180] WIP implementation of `SaveChat` --- Source/Chatbook/ChatModes/ChatModes.wl | 1 + .../Chatbook/ChatModes/ShowCodeAssistance.wl | 3 +- Source/Chatbook/ChatModes/Storage.wl | 175 ++++++++++++++++++ Source/Chatbook/Settings.wl | 1 + 4 files changed, 179 insertions(+), 1 deletion(-) create mode 100644 Source/Chatbook/ChatModes/Storage.wl diff --git a/Source/Chatbook/ChatModes/ChatModes.wl b/Source/Chatbook/ChatModes/ChatModes.wl index 7caf0c15..f28f4864 100644 --- a/Source/Chatbook/ChatModes/ChatModes.wl +++ b/Source/Chatbook/ChatModes/ChatModes.wl @@ -39,6 +39,7 @@ $subcontexts = { "Wolfram`Chatbook`ChatModes`Context`", "Wolfram`Chatbook`ChatModes`Evaluate`", "Wolfram`Chatbook`ChatModes`ShowCodeAssistance`", + "Wolfram`Chatbook`ChatModes`Storage`", "Wolfram`Chatbook`ChatModes`UI`" }; diff --git a/Source/Chatbook/ChatModes/ShowCodeAssistance.wl b/Source/Chatbook/ChatModes/ShowCodeAssistance.wl index 05d546e7..df0bc652 100644 --- a/Source/Chatbook/ChatModes/ShowCodeAssistance.wl +++ b/Source/Chatbook/ChatModes/ShowCodeAssistance.wl @@ -13,8 +13,9 @@ Needs[ "Wolfram`Chatbook`ChatModes`Common`" ]; $workspaceChatWidth = 325; $codeAssistanceSettings = <| - "ServiceCaller" -> "CodeAssistance", + "AppName" -> "CodeAssistance", "PromptGenerators" -> { "RelatedDocumentation" }, + "ServiceCaller" -> "CodeAssistance", "Tools" -> { "NotebookEditor" }, "ToolSelectionType" -> <| "DocumentationLookup" -> None, "DocumentationSearcher" -> None |> |>; diff --git a/Source/Chatbook/ChatModes/Storage.wl b/Source/Chatbook/ChatModes/Storage.wl new file mode 100644 index 00000000..66454791 --- /dev/null +++ b/Source/Chatbook/ChatModes/Storage.wl @@ -0,0 +1,175 @@ +(* ::Section::Closed:: *) +(*Package Header*) +BeginPackage[ "Wolfram`Chatbook`ChatModes`Storage`" ]; +Begin[ "`Private`" ]; + +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; +Needs[ "Wolfram`Chatbook`ChatModes`Common`" ]; + +(* TODO: + * Need to also save/restore tool call results + * Save chat as a callback to GenerateChatTitleAsynchronous? + * Does this belong in the ChatModes context? +*) + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Configuration*) +$rootStorageName = "SavedChats"; + +$$chatMetadata = KeyValuePattern @ { "UUID" -> _String, "Title" -> _String, "Date" -> _Real }; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*SaveChat*) +SaveChat // beginDefinition; +SaveChat[ messages: $$chatMessages, settings_Association ] := catchMine @ saveChat[ messages, settings ]; +SaveChat // endExportedDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*saveChat*) +saveChat // beginDefinition; + +saveChat[ messages0_, settings_ ] := Enclose[ + Module[ { messages, appName, directory, metadata, uuid, attachments, data, savedMeta, savedData }, + messages = ConfirmMatch[ prepareMessagesForSaving[ messages0, settings ], $$chatMessages, "Messages" ]; + appName = ConfirmBy[ settings[ "AppName" ], StringQ, "AppName" ]; + directory = ConfirmBy[ ChatbookFilesDirectory @ { $rootStorageName, appName }, DirectoryQ, "Directory" ]; + metadata = ConfirmMatch[ getChatMetadata[ messages, settings ], $$chatMetadata, "Metadata" ]; + uuid = ConfirmBy[ metadata[ "UUID" ], StringQ, "UUID" ]; + attachments = ConfirmMatch[ getAttachments @ messages, None | _Association, "Attachments" ]; + data = <| "UUID" -> uuid, "Messages" -> messages, "Attachments" -> attachments |>; + savedMeta = ConfirmBy[ saveChatMetadata[ metadata, uuid, directory ], FileExistsQ, "SaveMetadata" ]; + savedData = ConfirmBy[ saveChatData[ data, uuid, directory ], FileExistsQ, "SaveData" ]; + <| "Metadata" -> metadata, "SavedMetadata" -> savedMeta, "SavedData" -> savedData |> + ], + throwInternalFailure +]; + +saveChat // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*prepareMessagesForSaving*) +prepareMessagesForSaving // beginDefinition; + +prepareMessagesForSaving[ messages_, settings_ ] := + If[ TrueQ @ settings[ "SaveSystemMessage" ], + dropTemporaryMessages @ messages, + dropSystemMessage @ dropTemporaryMessages @ messages + ]; + +prepareMessagesForSaving // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*dropTemporaryMessages*) +dropTemporaryMessages // beginDefinition; +dropTemporaryMessages[ messages_List ] := DeleteCases[ messages, KeyValuePattern[ "Temporary" -> True ] ]; +dropTemporaryMessages // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*dropSystemMessage*) +dropSystemMessage // beginDefinition; +dropSystemMessage[ { KeyValuePattern[ "Role" -> "System" ], messages___ } ] := dropSystemMessage @ { messages }; +dropSystemMessage[ messages_List ] := messages; +dropSystemMessage // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*saveChatMetadata*) +saveChatMetadata // beginDefinition; + +saveChatMetadata[ metadata_Association, uuid_, directory_ ] := + saveChatFile[ metadata, "metadata", uuid, directory ]; + +saveChatMetadata // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*saveChatData*) +saveChatData // beginDefinition; + +saveChatData[ data_Association, uuid_, directory_ ] := + saveChatFile[ data, "data", uuid, directory, PerformanceGoal -> "Size" ]; + +saveChatData // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*saveChatFile*) +saveChatFile // beginDefinition; + +saveChatFile[ data_, type_String, uuid_String, directory_, opts: OptionsPattern[ ] ] := Enclose[ + Module[ { file }, + file = ConfirmBy[ FileNameJoin @ { directory, uuid <> "_" <> type <> ".wxf" }, StringQ, "File" ]; + ConfirmBy[ Developer`WriteWXFFile[ file, data, opts ], FileExistsQ, "Export" ] + ], + throwInternalFailure +]; + +saveChatFile // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*getChatMetadata*) +getChatMetadata // beginDefinition; + +getChatMetadata[ messages_, settings_Association ] := Enclose[ + Module[ { uuid, title, date }, + uuid = ConfirmBy[ getChatUUID @ settings, StringQ, "UUID" ]; + title = ConfirmBy[ getChatTitle[ messages, settings ], StringQ, "Title" ]; + date = ConfirmMatch[ AbsoluteTime[ TimeZone -> 0 ], _Real, "Date" ]; + <| "UUID" -> uuid, "Title" -> title, "Date" -> date |> + ], + throwInternalFailure +]; + +getChatMetadata // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*getChatUUID*) +getChatUUID // beginDefinition; +getChatUUID[ KeyValuePattern[ "ChatUUID" -> id_String ] ] := id; +getChatUUID[ _Association ] := CreateUUID[ ]; +getChatUUID // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*getChatTitle*) +getChatTitle // beginDefinition; +getChatTitle[ messages_, KeyValuePattern[ "ChatTitle" -> title_String ] ] := title; +getChatTitle[ messages_, _Association ] := GenerateChatTitle @ messages; +getChatTitle // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*getAttachments*) +getAttachments // beginDefinition; + +getAttachments[ messages_ ] := Enclose[ + Catch @ Module[ { allKeys, usedKeys }, + allKeys = ConfirmMatch[ Keys @ $attachments, { ___String }, "Keys" ]; + If[ allKeys === { }, Throw @ None ]; + usedKeys = Union @ Flatten @ Cases[ messages, s_String :> StringCases[ s, allKeys ], 4 ]; + If[ usedKeys === { }, Throw @ None ]; + KeyTake[ $attachments, usedKeys ] + ], + throwInternalFailure +]; + +getAttachments // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +addToMXInitialization[ + Null +]; + +End[ ]; +EndPackage[ ]; diff --git a/Source/Chatbook/Settings.wl b/Source/Chatbook/Settings.wl index a1384781..77792f6e 100644 --- a/Source/Chatbook/Settings.wl +++ b/Source/Chatbook/Settings.wl @@ -18,6 +18,7 @@ $cloudInheritanceFix := $cloudNotebooks; (* cSpell: ignore AIAPI *) $defaultChatSettings = <| + "AppName" -> "Default", "Assistance" -> Automatic, "Authentication" -> Automatic, "AutoFormat" -> True, From 7dd0e332e3db64acb3677e91a88c110d331d9b07 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 23 Sep 2024 08:19:32 -0400 Subject: [PATCH 107/180] Move storage context --- Source/Chatbook/ChatModes/ChatModes.wl | 1 - Source/Chatbook/Main.wl | 1 + Source/Chatbook/{ChatModes => }/Storage.wl | 8 +++----- 3 files changed, 4 insertions(+), 6 deletions(-) rename Source/Chatbook/{ChatModes => }/Storage.wl (96%) diff --git a/Source/Chatbook/ChatModes/ChatModes.wl b/Source/Chatbook/ChatModes/ChatModes.wl index f28f4864..7caf0c15 100644 --- a/Source/Chatbook/ChatModes/ChatModes.wl +++ b/Source/Chatbook/ChatModes/ChatModes.wl @@ -39,7 +39,6 @@ $subcontexts = { "Wolfram`Chatbook`ChatModes`Context`", "Wolfram`Chatbook`ChatModes`Evaluate`", "Wolfram`Chatbook`ChatModes`ShowCodeAssistance`", - "Wolfram`Chatbook`ChatModes`Storage`", "Wolfram`Chatbook`ChatModes`UI`" }; diff --git a/Source/Chatbook/Main.wl b/Source/Chatbook/Main.wl index 7e81aee8..958b9ec8 100644 --- a/Source/Chatbook/Main.wl +++ b/Source/Chatbook/Main.wl @@ -140,6 +140,7 @@ $ChatbookContexts = { "Wolfram`Chatbook`Serialization`", "Wolfram`Chatbook`Services`", "Wolfram`Chatbook`Settings`", + "Wolfram`Chatbook`Storage`", "Wolfram`Chatbook`ToolManager`", "Wolfram`Chatbook`Tools`", "Wolfram`Chatbook`UI`", diff --git a/Source/Chatbook/ChatModes/Storage.wl b/Source/Chatbook/Storage.wl similarity index 96% rename from Source/Chatbook/ChatModes/Storage.wl rename to Source/Chatbook/Storage.wl index 66454791..0debaf4f 100644 --- a/Source/Chatbook/ChatModes/Storage.wl +++ b/Source/Chatbook/Storage.wl @@ -1,16 +1,14 @@ (* ::Section::Closed:: *) (*Package Header*) -BeginPackage[ "Wolfram`Chatbook`ChatModes`Storage`" ]; +BeginPackage[ "Wolfram`Chatbook`Storage`" ]; Begin[ "`Private`" ]; -Needs[ "Wolfram`Chatbook`" ]; -Needs[ "Wolfram`Chatbook`Common`" ]; -Needs[ "Wolfram`Chatbook`ChatModes`Common`" ]; +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; (* TODO: * Need to also save/restore tool call results * Save chat as a callback to GenerateChatTitleAsynchronous? - * Does this belong in the ChatModes context? *) (* ::**************************************************************************************************************:: *) From 622727653164b97b61ccaf64799cfdb29ec0070c Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 23 Sep 2024 14:27:53 -0400 Subject: [PATCH 108/180] Consolidated some duplicated code --- Source/Chatbook/Actions.wl | 3 + Source/Chatbook/ChatModes/Context.wl | 18 ------ Source/Chatbook/ChatTitle.wl | 2 +- Source/Chatbook/CommonSymbols.wl | 2 +- Source/Chatbook/PromptGenerators/Common.wl | 1 - .../PromptGenerators/EmbeddingContext.wl | 58 +------------------ Source/Chatbook/Utils.wl | 58 +++++++++++++++++++ 7 files changed, 64 insertions(+), 78 deletions(-) diff --git a/Source/Chatbook/Actions.wl b/Source/Chatbook/Actions.wl index a2e8c904..81118644 100644 --- a/Source/Chatbook/Actions.wl +++ b/Source/Chatbook/Actions.wl @@ -767,6 +767,9 @@ revertMultimodalContent[ as: KeyValuePattern[ "Content" -> content_List ] ] := < ] |>; +revertMultimodalContent[ as: KeyValuePattern[ "Content" -> content_Association ] ] := + revertMultimodalContent[ <| as, "Content" -> { content } |> ]; + revertMultimodalContent[ as: KeyValuePattern[ "Content" -> _String ] ] := as; diff --git a/Source/Chatbook/ChatModes/Context.wl b/Source/Chatbook/ChatModes/Context.wl index 89bc0c1e..a643c8fe 100644 --- a/Source/Chatbook/ChatModes/Context.wl +++ b/Source/Chatbook/ChatModes/Context.wl @@ -218,24 +218,6 @@ stripSelectionIndicators // beginDefinition; stripSelectionIndicators[ s_String ] := StringDelete[ s, { $leftSelectionIndicator, $rightSelectionIndicator } ]; stripSelectionIndicators // endDefinition; -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*messagesToString*) -messagesToString // beginDefinition; -messagesToString[ messages_List ] := messagesToString[ messages, messageToString /@ revertMultimodalContent @ messages ]; -messagesToString[ _, strings: { ___String } ] := StringRiffle[ strings, "\n\n" ]; -messagesToString // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*messageToString*) -messageToString // beginDefinition; -messageToString[ KeyValuePattern[ "Content" -> content_ ] ] := messageToString @ content; -messageToString[ KeyValuePattern[ "Data" -> content_ ] ] := messageToString @ content; -messageToString[ { message___String } ] := StringJoin @ message; -messageToString[ message_String ] := message; -messageToString // endDefinition; - (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*postProcessNotebookContextString*) diff --git a/Source/Chatbook/ChatTitle.wl b/Source/Chatbook/ChatTitle.wl index 895665f1..a8ceed6c 100644 --- a/Source/Chatbook/ChatTitle.wl +++ b/Source/Chatbook/ChatTitle.wl @@ -57,7 +57,7 @@ generateChatTitle // beginDefinition; generateChatTitle[ messages_, callback_ ] := Enclose[ Module[ { string, short, instructions, context }, - string = ConfirmBy[ messageListToString[ messages, "IncludeSystemMessage" -> False ], StringQ, "String" ]; + string = ConfirmBy[ messagesToString[ messages, "IncludeSystemMessage" -> False ], StringQ, "String" ]; short = ConfirmBy[ StringTake[ string, UpTo[ $maxContextLength ] ], StringQ, "Short" ]; instructions = ConfirmBy[ TemplateApply[ $titlePrompt, short ], StringQ, "Prompt" ]; diff --git a/Source/Chatbook/CommonSymbols.wl b/Source/Chatbook/CommonSymbols.wl index 3cbfbe54..9c46267a 100644 --- a/Source/Chatbook/CommonSymbols.wl +++ b/Source/Chatbook/CommonSymbols.wl @@ -202,7 +202,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `menuMagnification; `mergeChatSettings; `mergeCodeBlocks; -`messageListToString; +`messagesToString; `modelDisplayName; `modelListCachedQ; `modifierTemplateBoxes; diff --git a/Source/Chatbook/PromptGenerators/Common.wl b/Source/Chatbook/PromptGenerators/Common.wl index 20989fcd..d13d5935 100644 --- a/Source/Chatbook/PromptGenerators/Common.wl +++ b/Source/Chatbook/PromptGenerators/Common.wl @@ -7,7 +7,6 @@ HoldComplete[ `$noSemanticSearch, `getSmallContextString, `insertContextPrompt, - `makeChatTranscript, `vectorDBSearch ]; diff --git a/Source/Chatbook/PromptGenerators/EmbeddingContext.wl b/Source/Chatbook/PromptGenerators/EmbeddingContext.wl index 453763df..961e3dde 100644 --- a/Source/Chatbook/PromptGenerators/EmbeddingContext.wl +++ b/Source/Chatbook/PromptGenerators/EmbeddingContext.wl @@ -17,39 +17,6 @@ $smallContextStringLength = 8000; (* ::Section::Closed:: *) (*Convert Chat Messages to String*) -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*messageListToString*) -messageListToString // beginDefinition; - -messageListToString // Options = { "IncludeSystemMessage" -> False }; - -messageListToString[ { messages__ }, result_String, opts: OptionsPattern[ ] ] := - messageListToString[ { messages, <| "Role" -> "Assistant", "Content" -> result |> }, opts ]; - -messageListToString[ messages0_List, opts: OptionsPattern[ ] ] := Enclose[ - Catch @ Module[ { messages, reverted, strings }, - messages = ConfirmMatch[ makeChatTranscript[ messages0, opts ], $$chatMessages, "Messages" ]; - reverted = ConfirmMatch[ revertMultimodalContent @ messages, $$chatMessages, "Revert" ]; - If[ Length @ reverted === 1, Throw @ ConfirmBy[ reverted[[ 1, "Content" ]], StringQ, "String" ] ]; - strings = ConfirmMatch[ messageToString /@ reverted, { __String }, "Strings" ]; - StringRiffle[ strings, "\n\n" ] - ], - throwInternalFailure -]; - -messageListToString // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*messageToString*) -messageToString // beginDefinition; - -messageToString[ KeyValuePattern @ { "Role" -> role_String, "Content" -> content_String } ] := - StringJoin[ Capitalize @ role, ": ", content ]; - -messageToString // endDefinition; - (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*getSmallContextString*) @@ -61,7 +28,7 @@ getSmallContextString[ messages0: { ___Association }, opts: OptionsPattern[ ] ] Catch @ Module[ { messages, string }, messages = Reverse @ Take[ Reverse @ messages0, UpTo[ $smallContextMessageCount ] ]; If[ messages === { }, Throw[ "" ] ]; - string = ConfirmBy[ messageListToString[ messages, opts ], StringQ, "String" ]; + string = ConfirmBy[ messagesToString[ messages, opts ], StringQ, "String" ]; If[ StringLength @ string > $smallContextStringLength, StringTake[ string, { -$smallContextStringLength, -1 } ], string @@ -72,29 +39,6 @@ getSmallContextString[ messages0: { ___Association }, opts: OptionsPattern[ ] ] getSmallContextString // endDefinition; -(* ::**************************************************************************************************************:: *) -(* ::Subsection::Closed:: *) -(*makeChatTranscript*) -makeChatTranscript // beginDefinition; -makeChatTranscript // Options = { "IncludeSystemMessage" -> False }; - -makeChatTranscript[ { messages__ }, result_String, opts: OptionsPattern[ ] ] := - makeChatTranscript[ { messages, <| "Role" -> "Assistant", "Content" -> result |> }, opts ]; - -makeChatTranscript[ { messages__ }, result_String, opts: OptionsPattern[ ] ] := - makeChatTranscript[ { messages, <| "Role" -> "Assistant", "Content" -> result |> }, opts ]; - -makeChatTranscript[ messages_List, opts: OptionsPattern[ ] ] := - If[ TrueQ @ OptionValue[ "IncludeSystemMessage" ], - revertMultimodalContent @ messages, - revertMultimodalContent @ Replace[ - messages, - { Longest[ KeyValuePattern[ "Role"|"role" -> "System"|"system" ].. ], rest___ } :> { rest } - ] - ]; - -makeChatTranscript // endDefinition; - (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Package Footer*) diff --git a/Source/Chatbook/Utils.wl b/Source/Chatbook/Utils.wl index 7812778d..3deeecfd 100644 --- a/Source/Chatbook/Utils.wl +++ b/Source/Chatbook/Utils.wl @@ -11,6 +11,9 @@ Needs[ "Wolfram`Chatbook`Common`" ]; (*Config*) $tinyHashLength = 5; +$messageToStringDelimiter = "\n\n"; +$messageToStringTemplate = StringTemplate[ "`Role`: `Content`" ]; + (* cSpell: ignore deflatten *) (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) @@ -40,6 +43,61 @@ importResourceFunction[ selectByCurrentValue, "SelectByCurrentValue" ]; (* ::Section::Closed:: *) (*Strings*) +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*messagesToString*) +messagesToString // beginDefinition; + +messagesToString // Options = { + "IncludeSystemMessage" -> False, + "IncludeTemporaryMessages" -> False, + "MessageDelimiter" -> $messageToStringDelimiter, + "MessageTemplate" -> $messageToStringTemplate +}; + +messagesToString[ { }, opts: OptionsPattern[ ] ] := + ""; + +messagesToString[ messages0_, opts: OptionsPattern[ ] ] := Enclose[ + Catch @ Module[ { messages, system, temporary, template, delimiter, reverted, strings }, + + messages = ConfirmMatch[ messages0, $$chatMessages, "Messages" ]; + + (* Check if the system messages should be included: *) + system = ConfirmMatch[ OptionValue[ "IncludeSystemMessage" ], True|False, "System" ]; + If[ ! system, messages = Replace[ messages, { KeyValuePattern[ "Role" -> "System" ], m___ } :> { m } ] ]; + If[ messages === { }, Throw[ "" ] ]; + + (* Check if the temporary messages should be included: *) + temporary = ConfirmMatch[ OptionValue[ "IncludeTemporaryMessages" ], True|False, "Temporary" ]; + If[ ! temporary, messages = DeleteCases[ messages, KeyValuePattern[ "Temporary" -> True ] ] ]; + If[ messages === { }, Throw[ "" ] ]; + + template = ConfirmMatch[ OptionValue[ "MessageTemplate" ], _String|_TemplateObject|None, "Template" ]; + delimiter = ConfirmMatch[ OptionValue[ "MessageDelimiter" ], _String, "Delimiter" ]; + + reverted = ConfirmMatch[ + revertMultimodalContent @ messages, + { KeyValuePattern[ "Content" -> _String ].. }, + "Reverted" + ]; + + strings = ConfirmMatch[ + If[ template === None, Lookup[ reverted, "Content" ], TemplateApply[ template, # ] & /@ reverted ], + { __String }, + "Strings" + ]; + + ConfirmBy[ StringRiffle[ strings, delimiter ], StringQ, "Result" ] + ], + throwInternalFailure +]; + +messagesToString[ { messages__ }, assistant_String, opts: OptionsPattern[ ] ] := + messagesToString[ { messages, <| "Role" -> "Assistant", "Content" -> assistant |> }, opts ]; + +messagesToString // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*fixLineEndings*) From 17011683aca93a7304971037d637d0f6cd621e70 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 23 Sep 2024 14:29:01 -0400 Subject: [PATCH 109/180] Renamed `smallSettings` function to `toSmallSettings` --- Source/Chatbook/SendChat.wl | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/Source/Chatbook/SendChat.wl b/Source/Chatbook/SendChat.wl index 322937f8..f0e3dcf0 100644 --- a/Source/Chatbook/SendChat.wl +++ b/Source/Chatbook/SendChat.wl @@ -1744,7 +1744,7 @@ activeAIAssistantCell[ CellTags -> cellTags, CellTrayWidgets -> <| "ChatFeedback" -> <| "Visible" -> False |> |>, PrivateCellOptions -> { "ContentsOpacity" -> 1 }, - TaggingRules -> <| "ChatNotebookSettings" -> smallSettings @ settings |> + TaggingRules -> <| "ChatNotebookSettings" -> toSmallSettings @ settings |> ] ] ]; @@ -1805,7 +1805,7 @@ activeAIAssistantCell[ Selectable -> True, ShowAutoSpellCheck -> False, ShowCursorTracker -> False, - TaggingRules -> <| "ChatNotebookSettings" -> smallSettings @ settings |>, + TaggingRules -> <| "ChatNotebookSettings" -> toSmallSettings @ settings |>, If[ scrollOutputQ @ settings, PrivateCellOptions -> { "TrackScrollingWhenPlaced" -> True }, Sequence @@ { } @@ -2282,7 +2282,7 @@ makeCompactChatData[ BaseEncode @ BinarySerialize[ DeleteCases[ Association[ - smallSettings @ as, + toSmallSettings @ as, "MessageTag" -> tag, "Data" -> Association[ data, @@ -2301,29 +2301,29 @@ makeCompactChatData // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) -(*smallSettings*) -smallSettings // beginDefinition; -smallSettings[ as_Association ] := smallSettings0 @ KeyDrop[ as, { "OpenAIKey", "Tokenizer" } ] /. $exprToNameRules; -smallSettings // endDefinition; +(*toSmallSettings*) +toSmallSettings // beginDefinition; +toSmallSettings[ as_Association ] := toSmallSettings0 @ KeyDrop[ as, { "OpenAIKey", "Tokenizer" } ] /. $exprToNameRules; +toSmallSettings // endDefinition; -smallSettings0 // beginDefinition; +toSmallSettings0 // beginDefinition; -smallSettings0[ as: KeyValuePattern[ "Model" -> model: KeyValuePattern[ "Icon" -> _ ] ] ] := - smallSettings0 @ <| as, "Model" -> KeyTake[ model, { "Service", "Name" } ] |>; +toSmallSettings0[ as: KeyValuePattern[ "Model" -> model: KeyValuePattern[ "Icon" -> _ ] ] ] := + toSmallSettings0 @ <| as, "Model" -> KeyTake[ model, { "Service", "Name" } ] |>; -smallSettings0[ as_Association ] := - smallSettings0[ as, as[ "LLMEvaluator" ] ]; +toSmallSettings0[ as_Association ] := + toSmallSettings0[ as, as[ "LLMEvaluator" ] ]; -smallSettings0[ as_, KeyValuePattern[ "LLMEvaluatorName" -> name_String ] ] := +toSmallSettings0[ as_, KeyValuePattern[ "LLMEvaluatorName" -> name_String ] ] := If[ AssociationQ @ GetCachedPersonaData @ name, Append[ as, "LLMEvaluator" -> name ], as ]; -smallSettings0[ as_, _ ] := +toSmallSettings0[ as_, _ ] := as; -smallSettings0 // endDefinition; +toSmallSettings0 // endDefinition; $exprToNameRules := AssociationMap[ Reverse, $AvailableTools ]; From 9b1b6731178f580fd8ed1e1b33e093cd0031e6f7 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 23 Sep 2024 14:29:40 -0400 Subject: [PATCH 110/180] Added `GetAttachments` (needed to save/restore chats) --- Source/Chatbook/Tools/Common.wl | 1 - Source/Chatbook/Tools/ExpressionURIs.wl | 72 ++++++++++++++++++++++--- 2 files changed, 65 insertions(+), 8 deletions(-) diff --git a/Source/Chatbook/Tools/Common.wl b/Source/Chatbook/Tools/Common.wl index 63559bc3..6c4624a3 100644 --- a/Source/Chatbook/Tools/Common.wl +++ b/Source/Chatbook/Tools/Common.wl @@ -90,7 +90,6 @@ $DefaultToolOptions = <| $defaultToolIcon = RawBoxes @ TemplateBox[ { }, "WrenchIcon" ]; -$attachments = <| |>; $selectedTools = <| |>; $toolBox = <| |>; $toolEvaluationResults = <| |>; diff --git a/Source/Chatbook/Tools/ExpressionURIs.wl b/Source/Chatbook/Tools/ExpressionURIs.wl index 0148f24f..3ce3c381 100644 --- a/Source/Chatbook/Tools/ExpressionURIs.wl +++ b/Source/Chatbook/Tools/ExpressionURIs.wl @@ -12,6 +12,13 @@ Needs[ "Wolfram`Chatbook`Common`" ]; $expressionSchemes = { "attachment", "audio", "dynamic", "expression", "video" }; $$expressionScheme = Alternatives @@ $expressionSchemes; +$$expressionURIKey := "content-" ~~ Repeated[ LetterCharacter|DigitCharacter, $tinyHashLength ]; + +$attachmentTypes = { "Expressions", "ToolCalls" }; +$$attachmentProperty = Alternatives @@ $attachmentTypes; + +$attachments = <| |>; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*FormatToolResponse*) @@ -162,13 +169,8 @@ expressionURIQ // endDefinition; (* ::Subsection::Closed:: *) (*expressionURIKeyQ*) expressionURIKeyQ // beginDefinition; - -expressionURIKeyQ[ key_String ] := - StringMatchQ[ key, "content-" ~~ Repeated[ LetterCharacter|DigitCharacter, $tinyHashLength ] ]; - -expressionURIKeyQ[ _ ] := - False; - +expressionURIKeyQ[ key_String ] := StringMatchQ[ key, $$expressionURIKey ]; +expressionURIKeyQ[ _ ] := False; expressionURIKeyQ // endDefinition; (* ::**************************************************************************************************************:: *) @@ -283,6 +285,62 @@ getAttachment[ uri_String, key_String ] := getAttachment // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*GetAttachments*) +GetAttachments // beginDefinition; + +GetAttachments[ ] := + GetAttachments[ None, All ]; + +GetAttachments[ prop: $$attachmentProperty ] := + GetAttachments[ None, prop ]; + +GetAttachments[ messages_ ] := + catchMine @ GetAttachments[ messages, All ]; + +GetAttachments[ messages: $$chatMessages|None, prop: $$attachmentProperty|All ] := + catchMine @ getAttachments[ messages, prop ]; + +GetAttachments // endExportedDefinition; + +(* TODO: this should identify expression and tool call keys from earlier sessions and give Missing[...] for those *) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*getAttachments*) +getAttachments // beginDefinition; + +(* cSpell: ignore ENDRESULT *) +getAttachments[ messages_List, All ] := Enclose[ + Catch @ Module[ { allExprKeys, allToolKeys, string, exprKeys, toolKeys, exprs, toolCalls }, + allExprKeys = ConfirmMatch[ Keys @ $attachments, { ___String }, "ExpressionKeys" ]; + allToolKeys = ConfirmMatch[ Keys @ $toolEvaluationResults, { ___String }, "ToolKeys" ]; + string = ConfirmBy[ messagesToString[ messages, "MessageTemplate" -> None ], StringQ, "String" ]; + exprKeys = DeleteDuplicates @ StringCases[ string, allExprKeys ]; + toolKeys = DeleteDuplicates @ StringCases[ string, "ENDRESULT("~~key:allToolKeys~~")" :> key ]; + exprs = ConfirmBy[ KeyTake[ $attachments, exprKeys ], AssociationQ, "Expressions" ]; + toolCalls = ConfirmBy[ KeyTake[ $toolEvaluationResults, toolKeys ], AssociationQ, "ToolCalls" ]; + <| "Expressions" -> exprs, "ToolCalls" -> toolCalls |> + ], + throwInternalFailure +]; + +getAttachments[ None, All ] := Enclose[ + <| + "Expressions" -> ConfirmBy[ $attachments, AssociationQ, "Expressions" ], + "ToolCalls" -> ConfirmBy[ $toolEvaluationResults, AssociationQ, "ToolCalls" ] + |>, + throwInternalFailure +]; + +getAttachments[ messages_, prop: $$attachmentProperty ] := Enclose[ + ConfirmBy[ getAttachments[ messages, All ][ prop ], AssociationQ, "Result" ], + throwInternalFailure +]; + +getAttachments // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Package Footer*) From 5fce1c24e9ac6e28e931b4c1001111471ec6ccef Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 23 Sep 2024 14:31:20 -0400 Subject: [PATCH 111/180] Bugfix: Expression URIs contained in tool calls shouldn't trigger top-level formatting rules --- Source/Chatbook/Formatting.wl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Source/Chatbook/Formatting.wl b/Source/Chatbook/Formatting.wl index 078e4c33..b950b213 100644 --- a/Source/Chatbook/Formatting.wl +++ b/Source/Chatbook/Formatting.wl @@ -1087,16 +1087,16 @@ $textDataFormatRules = { ] /; StringFreeQ[ code, "TOOLCALL:" ~~ ___ ~~ ($$endToolCall|EndOfString) ] :> codeBlockCell[ language, code ] , - "![" ~~ alt: Shortest[ ___ ] ~~ "](" ~~ url: Shortest[ Except[ ")" ].. ] ~~ ")" /; - StringFreeQ[ alt, "["~~___~~"]("~~__~~")" ] :> - imageCell[ alt, url ] - , tool: ("TOOLCALL:" ~~ Shortest[ ___ ] ~~ ($$endToolCall|EndOfString)) :> inlineToolCallCell @ tool , tool: $$simpleToolCall :> inlineToolCallCell @ tool , StartOfLine ~~ "/retry" ~~ (WhitespaceCharacter|EndOfString) :> $discardPreviousToolCall , + "![" ~~ alt: Shortest[ ___ ] ~~ "](" ~~ url: Shortest[ Except[ ")" ].. ] ~~ ")" /; + StringFreeQ[ alt, "["~~___~~"]("~~__~~")" ] :> + imageCell[ alt, url ] + , ("\n"|StartOfString).. ~~ w:" "... ~~ ("* "|"- ") ~~ item: Longest[ Except[ "\n" ].. ] :> bulletCell[ w, item ] , From a9bb63aa5445d804e2f7e72083fd9543f0059c7c Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 23 Sep 2024 14:32:00 -0400 Subject: [PATCH 112/180] Bugfix: Some more progress towards making `FormatChatOutput` stateless --- Source/Chatbook/Formatting.wl | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Source/Chatbook/Formatting.wl b/Source/Chatbook/Formatting.wl index b950b213..c9c5e947 100644 --- a/Source/Chatbook/Formatting.wl +++ b/Source/Chatbook/Formatting.wl @@ -1065,7 +1065,7 @@ fancyTooltip[ expr_, tooltip_ ] := Tooltip[ $$endToolCall = Longest[ "ENDRESULT" ~~ (("(" ~~ (LetterCharacter|DigitCharacter).. ~~ ")") | "") ]; $$eol = " "... ~~ "\n"; $$cmd = Repeated[ Except[ WhitespaceCharacter ], { 1, 80 } ]; -$$simpleToolCommand = StartOfLine ~~ $$ws ~~ ("/" ~~ c: $$cmd) ~~ $$eol /; $simpleToolMethod && toolShortNameQ @ c; +$$simpleToolCommand = StartOfLine ~~ $$ws ~~ ("/" ~~ $$cmd) ~~ $$eol; $$simpleToolCall = Shortest[ $$simpleToolCommand ~~ ___ ~~ ($$endToolCall|EndOfString) ]; @@ -1428,8 +1428,7 @@ parseToolCallID[ string_String? StringQ ] := WhitespaceCharacter..., Alternatives[ "TOOLCALL:", - StartOfLine ~~ "/" ~~ cmd: Except[ WhitespaceCharacter ].. ~~ WhitespaceCharacter... ~~ "\n" /; - toolShortNameQ @ cmd + StartOfLine ~~ "/" ~~ cmd: Except[ WhitespaceCharacter ].. ~~ WhitespaceCharacter... ~~ "\n" ], ___, "ENDRESULT(", From 058ed52adeccab035a49eacf19e9fbdae4ac629a Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 23 Sep 2024 14:33:18 -0400 Subject: [PATCH 113/180] Made `EnsureDirectory` an option for `ChatbookFilesDirectory` --- Source/Chatbook/ChatbookFiles.wl | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/Source/Chatbook/ChatbookFiles.wl b/Source/Chatbook/ChatbookFiles.wl index ec6c719e..18f9ca89 100644 --- a/Source/Chatbook/ChatbookFiles.wl +++ b/Source/Chatbook/ChatbookFiles.wl @@ -14,15 +14,23 @@ $chatbookRoot := FileNameJoin @ { ExpandFileName @ LocalObject @ $LocalBase, "Ch (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*$ChatbookFilesDirectory*) -$ChatbookFilesDirectory := chatbookFilesDirectory @ { }; +$ChatbookFilesDirectory := chatbookFilesDirectory[ { }, False ]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*ChatbookFilesDirectory*) ChatbookFilesDirectory // beginDefinition; -ChatbookFilesDirectory[ ] := catchMine @ chatbookFilesDirectory @ { }; -ChatbookFilesDirectory[ name_String ] := catchMine @ chatbookFilesDirectory @ { name }; -ChatbookFilesDirectory[ { names___String } ] := catchMine @ chatbookFilesDirectory @ { names }; +ChatbookFilesDirectory // Options = { "EnsureDirectory" -> True }; + +ChatbookFilesDirectory[ opts: OptionsPattern[ ] ] := + catchMine @ chatbookFilesDirectory[ { }, OptionValue[ "EnsureDirectory" ] ]; + +ChatbookFilesDirectory[ name_String, opts: OptionsPattern[ ] ] := + catchMine @ chatbookFilesDirectory[ { name }, OptionValue[ "EnsureDirectory" ] ]; + +ChatbookFilesDirectory[ { names___String }, opts: OptionsPattern[ ] ] := + catchMine @ chatbookFilesDirectory[ { names }, OptionValue[ "EnsureDirectory" ] ]; + ChatbookFilesDirectory // endExportedDefinition; (* ::**************************************************************************************************************:: *) @@ -30,8 +38,11 @@ ChatbookFilesDirectory // endExportedDefinition; (*chatbookFilesDirectory*) chatbookFilesDirectory // beginDefinition; -chatbookFilesDirectory[ { names___String } ] := Enclose[ - ConfirmBy[ GeneralUtilities`EnsureDirectory @ { $chatbookRoot, names }, DirectoryQ, "Directory" ], +chatbookFilesDirectory[ { names___String }, ensure_ ] := Enclose[ + If[ TrueQ @ ensure, + ConfirmBy[ GeneralUtilities`EnsureDirectory @ { $chatbookRoot, names }, DirectoryQ, "Directory" ], + ConfirmBy[ FileNameJoin @ { $chatbookRoot, names }, StringQ, "Directory" ] + ], throwInternalFailure ]; From 9b533ff5f2f140ba7b6306fb9740ad341c3f71f8 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 23 Sep 2024 14:36:19 -0400 Subject: [PATCH 114/180] More progress on chat saving --- Source/Chatbook/CommonSymbols.wl | 1 + Source/Chatbook/Main.wl | 4 + Source/Chatbook/Storage.wl | 250 +++++++++++++++++++++++-------- 3 files changed, 193 insertions(+), 62 deletions(-) diff --git a/Source/Chatbook/CommonSymbols.wl b/Source/Chatbook/CommonSymbols.wl index 9c46267a..de052a86 100644 --- a/Source/Chatbook/CommonSymbols.wl +++ b/Source/Chatbook/CommonSymbols.wl @@ -271,6 +271,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `toolSelectedQ; `toolsEnabledQ; `topParentCell; +`toSmallSettings; `trackedDynamic; `truncateString; `unsetCV; diff --git a/Source/Chatbook/Main.wl b/Source/Chatbook/Main.wl index 958b9ec8..627d733c 100644 --- a/Source/Chatbook/Main.wl +++ b/Source/Chatbook/Main.wl @@ -53,6 +53,7 @@ BeginPackage[ "Wolfram`Chatbook`" ]; `FormatWolframAlphaPods; `GenerateChatTitle; `GenerateChatTitleAsynchronous; +`GetAttachments; `GetChatHistory; `GetExpressionURI; `GetExpressionURIs; @@ -63,6 +64,7 @@ BeginPackage[ "Wolfram`Chatbook`" ]; `RelatedDocumentation; `RelatedWolframAlphaQueries; `SandboxLinguisticAssistantData; +`SaveChat; `SetModel; `SetToolOptions; `ShowCodeAssistance; @@ -198,6 +200,7 @@ $ChatbookProtectedNames = "Wolfram`Chatbook`" <> # & /@ { "FormatWolframAlphaPods", "GenerateChatTitle", "GenerateChatTitleAsynchronous", + "GetAttachments", "GetChatHistory", "GetExpressionURI", "GetExpressionURIs", @@ -207,6 +210,7 @@ $ChatbookProtectedNames = "Wolfram`Chatbook`" <> # & /@ { "RelatedDocumentation", "RelatedWolframAlphaQueries", "SandboxLinguisticAssistantData", + "SaveChat", "SetModel", "SetToolOptions", "ShowCodeAssistance", diff --git a/Source/Chatbook/Storage.wl b/Source/Chatbook/Storage.wl index 0debaf4f..5612fb49 100644 --- a/Source/Chatbook/Storage.wl +++ b/Source/Chatbook/Storage.wl @@ -7,22 +7,76 @@ Needs[ "Wolfram`Chatbook`" ]; Needs[ "Wolfram`Chatbook`Common`" ]; (* TODO: - * Need to also save/restore tool call results * Save chat as a callback to GenerateChatTitleAsynchronous? + * Save attachments separately by their hash ID (requires maintaining ref counts) *) (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Configuration*) -$rootStorageName = "SavedChats"; +$savedChatDataVersion = 1; +$rootStorageName = "SavedChats"; +$defaultAppName = "Default"; +$defaultConversationTitle = "Untitled Chat"; +$timestampPrefixLength = 7; (* enough for about 1000 years *) +$$timestampPrefix = Repeated[ LetterCharacter|DigitCharacter, { $timestampPrefixLength } ]; + +$$chatMetadata = KeyValuePattern @ { + "ConversationTitle" -> _String, + "ConversationUUID" -> _String, + "Date" -> _Real, + "Version" -> _Integer +}; -$$chatMetadata = KeyValuePattern @ { "UUID" -> _String, "Title" -> _String, "Date" -> _Real }; +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*ListSavedChats*) +ListSavedChats // beginDefinition; +ListSavedChats[ ] := catchMine @ ListSavedChats @ $defaultAppName; +ListSavedChats[ appName_String ] := catchMine @ LogChatTiming @ listSavedChats @ appName; +ListSavedChats // endExportedDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*listSavedChats*) +listSavedChats // beginDefinition; + +listSavedChats[ appName_String ] := Enclose[ + Catch @ Module[ { root, files }, + + root = ConfirmBy[ + ChatbookFilesDirectory[ { $rootStorageName, appName }, "EnsureDirectory" -> False ], + StringQ, + "Root" + ]; + + files = FileNames[ "metadata.wxf", root, { 2 } ]; + If[ files === { }, Throw @ { } ]; + + ConfirmMatch[ readChatMetaFile /@ files, { ___Association }, "Metadata" ] + ], + throwInternalFailure +]; + +listSavedChats // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*readChatMetaFile*) +readChatMetaFile // beginDefinition; +readChatMetaFile[ file_String ] := readChatMetaFile[ file, Quiet @ Developer`ReadWXFFile @ file ]; +readChatMetaFile[ file_String, as: $$chatMetadata ] := <| as, "Path" -> File @ DirectoryName @ file |>; +readChatMetaFile[ file_String, _? FailureQ ] := Nothing; (* corrupt WXF file (should we auto-remove it?) *) +readChatMetaFile // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*SaveChat*) SaveChat // beginDefinition; -SaveChat[ messages: $$chatMessages, settings_Association ] := catchMine @ saveChat[ messages, settings ]; + +SaveChat[ messages: $$chatMessages, settings_Association ] := + catchMine @ LogChatTiming @ saveChat[ messages, settings ]; + SaveChat // endExportedDefinition; (* ::**************************************************************************************************************:: *) @@ -31,33 +85,128 @@ SaveChat // endExportedDefinition; saveChat // beginDefinition; saveChat[ messages0_, settings_ ] := Enclose[ - Module[ { messages, appName, directory, metadata, uuid, attachments, data, savedMeta, savedData }, + Module[ { messages, appName, metadata, directory, attachments, smallSettings, as }, + messages = ConfirmMatch[ prepareMessagesForSaving[ messages0, settings ], $$chatMessages, "Messages" ]; - appName = ConfirmBy[ settings[ "AppName" ], StringQ, "AppName" ]; - directory = ConfirmBy[ ChatbookFilesDirectory @ { $rootStorageName, appName }, DirectoryQ, "Directory" ]; + appName = ConfirmBy[ Lookup[ settings, "AppName", $defaultAppName ], StringQ, "AppName" ]; metadata = ConfirmMatch[ getChatMetadata[ messages, settings ], $$chatMetadata, "Metadata" ]; - uuid = ConfirmBy[ metadata[ "UUID" ], StringQ, "UUID" ]; - attachments = ConfirmMatch[ getAttachments @ messages, None | _Association, "Attachments" ]; - data = <| "UUID" -> uuid, "Messages" -> messages, "Attachments" -> attachments |>; - savedMeta = ConfirmBy[ saveChatMetadata[ metadata, uuid, directory ], FileExistsQ, "SaveMetadata" ]; - savedData = ConfirmBy[ saveChatData[ data, uuid, directory ], FileExistsQ, "SaveData" ]; - <| "Metadata" -> metadata, "SavedMetadata" -> savedMeta, "SavedData" -> savedData |> + directory = ConfirmBy[ targetDirectory[ appName, metadata ], DirectoryQ, "Directory" ]; + attachments = ConfirmBy[ GetAttachments[ messages, All ], AssociationQ, "Attachments" ]; + smallSettings = ConfirmBy[ toSmallSettings @ settings, AssociationQ, "Settings" ]; + + (* Save metadata file for quick loading of minimal information: *) + ConfirmBy[ + saveChatFile[ "metadata", metadata, directory ], + FileExistsQ, + "SaveMetadata" + ]; + + (* Save messages and attachments (if any): *) + ConfirmBy[ + saveChatFile[ + "data", + <| + metadata, + "Attachments" -> attachments, + "Messages" -> messages, + "Settings" -> smallSettings + |>, + directory, + PerformanceGoal -> "Size" + ], + FileExistsQ, + "SaveMessages" + ]; + + as = ConfirmBy[ + <| + "Path" -> Flatten @ File @ directory, + KeyTake[ metadata, { "ConversationTitle", "ConversationUUID" } ], + metadata + |>, + AssociationQ, + "ResultData" + ]; + + ConfirmMatch[ cleanupStaleChats @ appName, { ___String }, "Cleanup" ]; + + Success[ "Saved", as ] ], throwInternalFailure ]; saveChat // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*targetDirectory*) +targetDirectory // beginDefinition; + +targetDirectory[ app_String, meta_Association ] := Enclose[ + Module[ { uuid, date, root, prefix }, + uuid = ConfirmBy[ meta[ "ConversationUUID" ], StringQ, "UUID" ]; + date = ConfirmMatch[ meta[ "Date" ], _Real, "Date" ]; + root = ConfirmBy[ $rootStorageName, StringQ, "RootName" ]; + prefix = ConfirmBy[ timestampPrefixString @ date, StringQ, "Prefix" ]; + ConfirmBy[ ChatbookFilesDirectory @ { root, app, prefix<>"_"<>uuid }, DirectoryQ, "Result" ] + ], + throwInternalFailure +]; + +targetDirectory // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*timestampPrefixString*) +timestampPrefixString // beginDefinition; +timestampPrefixString[ date_Real ] := IntegerString[ Round @ date, 36, $timestampPrefixLength ]; +timestampPrefixString // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*cleanupStaleChats*) +cleanupStaleChats // beginDefinition; + +cleanupStaleChats[ app_String ] := Enclose[ + Module[ { root, dirs, grouped, delete }, + root = ConfirmBy[ + ChatbookFilesDirectory[ { $rootStorageName, app }, "EnsureDirectory" -> False ], + StringQ, + "Root" + ]; + + dirs = ConfirmMatch[ Sort @ FileNames[ $$timestampPrefix ~~ "_" ~~ __, root ], { ___String }, "Directories" ]; + grouped = GatherBy[ dirs, StringDrop[ FileNameTake @ #, $timestampPrefixLength ] & ]; + delete = ConfirmMatch[ Flatten[ Most /@ grouped ], { ___String }, "Delete" ]; + + ConfirmAssert[ Length @ delete < Length @ dirs, "LengthCheck" ]; + + ConfirmMatch[ (DeleteDirectory[ #, DeleteContents -> True ]; #) & /@ delete, { ___String }, "Result" ] + ], + throwInternalFailure +]; + +cleanupStaleChats // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*getAttachmentsForSaving*) +getAttachmentsForSaving // beginDefinition; +getAttachmentsForSaving[ messages_ ] := getAttachmentsForSaving[ messages, GetAttachments[ messages, All ] ]; +getAttachmentsForSaving[ messages_, as_Association ] := If[ AllTrue[ as, SameAs @ <| |> ], None, as ]; +getAttachmentsForSaving // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*prepareMessagesForSaving*) prepareMessagesForSaving // beginDefinition; prepareMessagesForSaving[ messages_, settings_ ] := - If[ TrueQ @ settings[ "SaveSystemMessage" ], - dropTemporaryMessages @ messages, - dropSystemMessage @ dropTemporaryMessages @ messages - ]; + revertMultimodalContent @ + If[ TrueQ @ settings[ "SaveSystemMessage" ], + messages, + dropSystemMessage @ dropTemporaryMessages @ messages + ]; prepareMessagesForSaving // endDefinition; @@ -76,34 +225,14 @@ dropSystemMessage[ { KeyValuePattern[ "Role" -> "System" ], messages___ } ] := d dropSystemMessage[ messages_List ] := messages; dropSystemMessage // endDefinition; -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*saveChatMetadata*) -saveChatMetadata // beginDefinition; - -saveChatMetadata[ metadata_Association, uuid_, directory_ ] := - saveChatFile[ metadata, "metadata", uuid, directory ]; - -saveChatMetadata // endDefinition; - -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*saveChatData*) -saveChatData // beginDefinition; - -saveChatData[ data_Association, uuid_, directory_ ] := - saveChatFile[ data, "data", uuid, directory, PerformanceGoal -> "Size" ]; - -saveChatData // endDefinition; - (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*saveChatFile*) saveChatFile // beginDefinition; -saveChatFile[ data_, type_String, uuid_String, directory_, opts: OptionsPattern[ ] ] := Enclose[ +saveChatFile[ type_String, data_, directory_, opts: OptionsPattern[ ] ] := Enclose[ Module[ { file }, - file = ConfirmBy[ FileNameJoin @ { directory, uuid <> "_" <> type <> ".wxf" }, StringQ, "File" ]; + file = ConfirmBy[ FileNameJoin @ { directory, type <> ".wxf" }, StringQ, "File" ]; ConfirmBy[ Developer`WriteWXFFile[ file, data, opts ], FileExistsQ, "Export" ] ], throwInternalFailure @@ -117,11 +246,19 @@ saveChatFile // endDefinition; getChatMetadata // beginDefinition; getChatMetadata[ messages_, settings_Association ] := Enclose[ - Module[ { uuid, title, date }, - uuid = ConfirmBy[ getChatUUID @ settings, StringQ, "UUID" ]; - title = ConfirmBy[ getChatTitle[ messages, settings ], StringQ, "Title" ]; - date = ConfirmMatch[ AbsoluteTime[ TimeZone -> 0 ], _Real, "Date" ]; - <| "UUID" -> uuid, "Title" -> title, "Date" -> date |> + Module[ { uuid, title, date, version }, + + uuid = ConfirmBy[ getChatUUID @ settings, StringQ, "ConversationUUID" ]; + title = ConfirmBy[ getChatTitle[ messages, settings ], StringQ, "ConversationTitle" ]; + date = ConfirmMatch[ AbsoluteTime[ TimeZone -> 0 ], _Real, "Date" ]; + version = ConfirmBy[ $savedChatDataVersion, IntegerQ, "Version" ]; + + <| + "ConversationUUID" -> uuid, + "ConversationTitle" -> title, + "Date" -> date, + "Version" -> version + |> ], throwInternalFailure ]; @@ -132,7 +269,7 @@ getChatMetadata // endDefinition; (* ::Subsubsection::Closed:: *) (*getChatUUID*) getChatUUID // beginDefinition; -getChatUUID[ KeyValuePattern[ "ChatUUID" -> id_String ] ] := id; +getChatUUID[ KeyValuePattern[ "ConversationUUID" -> id_String ] ] := id; getChatUUID[ _Association ] := CreateUUID[ ]; getChatUUID // endDefinition; @@ -140,27 +277,16 @@ getChatUUID // endDefinition; (* ::Subsubsection::Closed:: *) (*getChatTitle*) getChatTitle // beginDefinition; -getChatTitle[ messages_, KeyValuePattern[ "ChatTitle" -> title_String ] ] := title; -getChatTitle[ messages_, _Association ] := GenerateChatTitle @ messages; +getChatTitle[ messages_, KeyValuePattern[ "ConversationTitle" -> title_String ] ] := title; +getChatTitle[ messages_, _Association ] := defaultConversationTitle @ messages; getChatTitle // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) -(*getAttachments*) -getAttachments // beginDefinition; - -getAttachments[ messages_ ] := Enclose[ - Catch @ Module[ { allKeys, usedKeys }, - allKeys = ConfirmMatch[ Keys @ $attachments, { ___String }, "Keys" ]; - If[ allKeys === { }, Throw @ None ]; - usedKeys = Union @ Flatten @ Cases[ messages, s_String :> StringCases[ s, allKeys ], 4 ]; - If[ usedKeys === { }, Throw @ None ]; - KeyTake[ $attachments, usedKeys ] - ], - throwInternalFailure -]; - -getAttachments // endDefinition; +(*defaultConversationTitle*) +defaultConversationTitle // beginDefinition; +defaultConversationTitle[ messages_ ] := $defaultConversationTitle; (* This could maybe use GenerateChatTitle here *) +defaultConversationTitle // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) From faad0e9fda811c35de23bc6c07d103c9b82bd9d9 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 23 Sep 2024 17:20:05 -0400 Subject: [PATCH 115/180] Sort saved chats so most recent appear first --- Source/Chatbook/Storage.wl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Source/Chatbook/Storage.wl b/Source/Chatbook/Storage.wl index 5612fb49..0ad44807 100644 --- a/Source/Chatbook/Storage.wl +++ b/Source/Chatbook/Storage.wl @@ -50,7 +50,8 @@ listSavedChats[ appName_String ] := Enclose[ "Root" ]; - files = FileNames[ "metadata.wxf", root, { 2 } ]; + (* most recent appear first *) + files = Reverse @ FileNames[ "metadata.wxf", root, { 2 } ]; If[ files === { }, Throw @ { } ]; ConfirmMatch[ readChatMetaFile /@ files, { ___Association }, "Metadata" ] From 325159159a3f96d3814d139ae7b01e5a5cd430b8 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 23 Sep 2024 17:20:58 -0400 Subject: [PATCH 116/180] Add post-processing to `GenerateChatTitle` and a temperature option --- Source/Chatbook/ChatTitle.wl | 80 ++++++++++++++++++++++++++++++------ 1 file changed, 68 insertions(+), 12 deletions(-) diff --git a/Source/Chatbook/ChatTitle.wl b/Source/Chatbook/ChatTitle.wl index a8ceed6c..d19e2154 100644 --- a/Source/Chatbook/ChatTitle.wl +++ b/Source/Chatbook/ChatTitle.wl @@ -29,32 +29,49 @@ Remember, respond only with the title and nothing else."; (* ::Section::Closed:: *) (*GenerateChatTitle*) GenerateChatTitle // beginDefinition; +GenerateChatTitle // Options = { "Temperature" -> 0.7 }; + +GenerateChatTitle[ messages: $$chatMessages, opts: OptionsPattern[ ] ] := + catchMine @ LogChatTiming @ generateChatTitle[ messages, OptionValue[ "Temperature" ] ]; + +GenerateChatTitle // endExportedDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*generateChatTitle*) +generateChatTitle // beginDefinition; + +generateChatTitle[ messages_, temperature_ ] := Enclose[ + Module[ { title, task }, + + task = ConfirmMatch[ + generateChatTitleAsync[ messages, Function[ title = # ], temperature ], + _TaskObject, + "Task" + ]; -GenerateChatTitle[ messages: $$chatMessages ] := catchMine @ Enclose[ - Module[ { title, callback, task }, - callback = Function[ title = # ]; - task = ConfirmMatch[ generateChatTitle[ messages, callback ], _TaskObject, "Task" ]; TaskWait @ task; - ConfirmMatch[ title, Except[ "", _String ], "Title" ] + + ConfirmMatch[ title, _String|_Failure, "Result" ] ], throwInternalFailure ]; -GenerateChatTitle // endExportedDefinition; +generateChatTitle // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*GenerateChatTitleAsynchronous*) GenerateChatTitleAsynchronous // beginDefinition; -GenerateChatTitleAsynchronous[ messages: $$chatMessages, f_ ] := catchMine @ generateChatTitle[ messages, f ]; +GenerateChatTitleAsynchronous[ messages: $$chatMessages, f_ ] := catchMine @ generateChatTitleAsync[ messages, f ]; GenerateChatTitleAsynchronous // endExportedDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) -(*generateChatTitle*) -generateChatTitle // beginDefinition; +(*generateChatTitleAsync*) +generateChatTitleAsync // beginDefinition; -generateChatTitle[ messages_, callback_ ] := Enclose[ +generateChatTitleAsync[ messages: $$chatMessages, callback_, temperature: Automatic | _? NumericQ ] := Enclose[ Module[ { string, short, instructions, context }, string = ConfirmBy[ messagesToString[ messages, "IncludeSystemMessage" -> False ], StringQ, "String" ]; @@ -69,12 +86,51 @@ generateChatTitle[ messages_, callback_ ] := Enclose[ $lastChatTitleContext = context; - ConfirmMatch[ llmSynthesizeSubmit[ context, callback ], _TaskObject, "Task" ] + ConfirmMatch[ + llmSynthesizeSubmit[ context, <| "Temperature" -> temperature |>, callback ], + _TaskObject, + "Task" + ] ], throwInternalFailure ]; -generateChatTitle // endDefinition; +generateChatTitleAsync // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*postProcessChatTitle*) +postProcessChatTitle // beginDefinition; + +postProcessChatTitle[ title0_String ] := Enclose[ + Module[ { title }, + + title = ConfirmBy[ + StringReplace[ + StringTrim @ title0, + StartOfString ~~ (("\"" ~~ t___ ~~ "\"") | ("'" ~~ t___ ~~ "'")) ~~ EndOfString :> t + ], + StringQ, + "Title" + ]; + + ConfirmAssert[ StringQ @ title && StringLength @ title > 0, "StringCheck" ]; + + Which[ + StringContainsQ[ title, "\n"|"```" ], + Failure[ "TitleCharacters", <| "MessageTemplate" -> "Unexpected characters in generated title." |> ], + + StringLength @ title > $hardMaxTitleLength, + Failure[ "TitleLength", <| "MessageTemplate" -> "Generated title exceeds the maximum length." |> ], + + True, + title + ] + ], + throwInternalFailure +]; + +postProcessChatTitle // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) From bc292598956a367d337356c307661cfc75d4a580 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 23 Sep 2024 17:21:34 -0400 Subject: [PATCH 117/180] Basic merge of LLM evaluator specs --- Source/Chatbook/LLMUtilities.wl | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Source/Chatbook/LLMUtilities.wl b/Source/Chatbook/LLMUtilities.wl index 27ad9d64..f4aff9a4 100644 --- a/Source/Chatbook/LLMUtilities.wl +++ b/Source/Chatbook/LLMUtilities.wl @@ -26,7 +26,7 @@ $$llmPrompt = $$llmPromptItem | { $$llmPromptItem.. }; llmSynthesize // beginDefinition; llmSynthesize[ prompt: $$llmPrompt ] := - llmSynthesize[ prompt, $defaultLLMSynthesizeEvaluator ]; + llmSynthesize[ prompt, <| |> ]; llmSynthesize[ prompt: $$llmPrompt, evaluator_Association ] := Enclose[ ConfirmMatch[ llmSynthesize0[ prompt, evaluator, 1 ], Except[ "", _String ], "Result" ], @@ -60,10 +60,16 @@ llmSynthesize0 // endDefinition; llmSynthesizeSubmit // beginDefinition; llmSynthesizeSubmit[ prompt: $$llmPrompt, callback_ ] := - llmSynthesizeSubmit[ prompt, $defaultLLMSynthesizeEvaluator, callback ]; + llmSynthesizeSubmit[ prompt, <| |>, callback ]; -llmSynthesizeSubmit[ prompt0: $$llmPrompt, evaluator_Association, callback_ ] := Enclose[ - Module[ { prompt, messages, config, chunks, handlers, keys }, +llmSynthesizeSubmit[ prompt0: $$llmPrompt, evaluator0_Association, callback_ ] := Enclose[ + Module[ { evaluator, prompt, messages, config, chunks, handlers, keys }, + + evaluator = ConfirmBy[ + <| $defaultLLMSynthesizeEvaluator, DeleteCases[ evaluator0, Automatic | _Missing ] |>, + AssociationQ, + "Evaluator" + ]; prompt = ConfirmMatch[ truncatePrompt[ prompt0, evaluator ], $$llmPrompt, "Prompt" ]; messages = { <| "Role" -> "User", "Content" -> prompt |> }; From 48270afbfe72ed6640f2ac4f09a308695cae1d88 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 23 Sep 2024 17:22:47 -0400 Subject: [PATCH 118/180] Added title generation to `SaveChat` --- Source/Chatbook/Storage.wl | 86 ++++++++++++++++++++++++++++++++------ 1 file changed, 73 insertions(+), 13 deletions(-) diff --git a/Source/Chatbook/Storage.wl b/Source/Chatbook/Storage.wl index 0ad44807..47bff515 100644 --- a/Source/Chatbook/Storage.wl +++ b/Source/Chatbook/Storage.wl @@ -14,12 +14,13 @@ Needs[ "Wolfram`Chatbook`Common`" ]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Configuration*) -$savedChatDataVersion = 1; -$rootStorageName = "SavedChats"; -$defaultAppName = "Default"; -$defaultConversationTitle = "Untitled Chat"; -$timestampPrefixLength = 7; (* enough for about 1000 years *) -$$timestampPrefix = Repeated[ LetterCharacter|DigitCharacter, { $timestampPrefixLength } ]; +$maxTitleGenerationMessages = 10; +$savedChatDataVersion = 1; +$rootStorageName = "SavedChats"; +$defaultAppName = "Default"; +$defaultConversationTitle = "Untitled Chat"; +$timestampPrefixLength = 7; (* good for about 1000 years *) +$$timestampPrefix = Repeated[ LetterCharacter|DigitCharacter, { $timestampPrefixLength } ]; $$chatMetadata = KeyValuePattern @ { "ConversationTitle" -> _String, @@ -28,6 +29,8 @@ $$chatMetadata = KeyValuePattern @ { "Version" -> _Integer }; +$generatedTitleCache = <| |>; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*ListSavedChats*) @@ -74,9 +77,13 @@ readChatMetaFile // endDefinition; (* ::Section::Closed:: *) (*SaveChat*) SaveChat // beginDefinition; +SaveChat // Options = { "AutoGenerateTitle" -> True }; + +SaveChat[ messages: $$chatMessages, settings_Association, opts: OptionsPattern[ ] ] := + catchMine @ LogChatTiming @ saveChat[ messages, settings, OptionValue[ "AutoGenerateTitle" ] ]; -SaveChat[ messages: $$chatMessages, settings_Association ] := - catchMine @ LogChatTiming @ saveChat[ messages, settings ]; +SaveChat[ chat_ChatObject, settings_Association, opts: OptionsPattern[ ] ] := + catchMine @ LogChatTiming @ saveChat[ chat[ "Messages" ], settings, OptionValue[ "AutoGenerateTitle" ] ]; SaveChat // endExportedDefinition; @@ -85,9 +92,9 @@ SaveChat // endExportedDefinition; (*saveChat*) saveChat // beginDefinition; -saveChat[ messages0_, settings_ ] := Enclose[ - Module[ { messages, appName, metadata, directory, attachments, smallSettings, as }, - +saveChat[ messages0_, settings0_, autoTitle_ ] := Enclose[ + Module[ { settings, messages, appName, metadata, directory, attachments, smallSettings, as }, + settings = If[ TrueQ @ autoTitle, <| settings0, "AutoGenerateTitle" -> True |>, settings0 ]; messages = ConfirmMatch[ prepareMessagesForSaving[ messages0, settings ], $$chatMessages, "Messages" ]; appName = ConfirmBy[ Lookup[ settings, "AppName", $defaultAppName ], StringQ, "AppName" ]; metadata = ConfirmMatch[ getChatMetadata[ messages, settings ], $$chatMetadata, "Metadata" ]; @@ -138,6 +145,15 @@ saveChat[ messages0_, settings_ ] := Enclose[ saveChat // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*getAppName*) +getAppName // beginDefinition; +getAppName[ settings_Association ] := getAppName @ settings[ "AppName" ]; +getAppName[ app_String ] := app; +getAppName[ _ ] := $defaultAppName; +getAppName // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*targetDirectory*) @@ -279,16 +295,60 @@ getChatUUID // endDefinition; (*getChatTitle*) getChatTitle // beginDefinition; getChatTitle[ messages_, KeyValuePattern[ "ConversationTitle" -> title_String ] ] := title; -getChatTitle[ messages_, _Association ] := defaultConversationTitle @ messages; +getChatTitle[ messages_, settings_Association ] := defaultConversationTitle[ messages, settings ]; getChatTitle // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*defaultConversationTitle*) defaultConversationTitle // beginDefinition; -defaultConversationTitle[ messages_ ] := $defaultConversationTitle; (* This could maybe use GenerateChatTitle here *) + +defaultConversationTitle[ messages_, settings_ ] := + If[ TrueQ @ settings[ "AutoGenerateTitle" ], + generateTitleCached @ messages, + $defaultConversationTitle + ]; + defaultConversationTitle // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*generateTitleCached*) +generateTitleCached // beginDefinition; +generateTitleCached[ messages_List ] := generateTitleCached0 @ Take[ messages, UpTo @ $maxTitleGenerationMessages ]; +generateTitleCached // endDefinition; + + +generateTitleCached0 // beginDefinition; + +generateTitleCached0[ messages_List ] := + generateTitleCached0[ Hash @ messages, messages ]; + +generateTitleCached0[ hash_Integer, messages_ ] := + With[ { cached = $generatedTitleCache[ hash ] }, + cached /; StringQ @ cached + ]; + +generateTitleCached0[ hash_Integer, messages_ ] := Enclose[ + Module[ { title }, + title = ConfirmMatch[ GenerateChatTitle @ messages, _String|_Failure, "Title" ]; + + $lastGeneratedTitle = title; + $lastRegeneratedTitle = None; + + (* retry once if first attempt failed using higher temperature: *) + If[ FailureQ @ title, + title = ConfirmBy[ GenerateChatTitle[ messages, "Temperature" -> 1.0 ], StringQ, "Retry" ]; + $lastRegeneratedTitle = title + ]; + + $generatedTitleCache[ hash ] = title + ], + throwInternalFailure +]; + +generateTitleCached0 // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Package Footer*) From b7516804ef3a1a4c082c0e2fbc960f15359045c8 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 23 Sep 2024 17:23:36 -0400 Subject: [PATCH 119/180] Hooked up auto-saving mechanism --- Source/Chatbook/Actions.wl | 1 + Source/Chatbook/Settings.wl | 14 +++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/Source/Chatbook/Actions.wl b/Source/Chatbook/Actions.wl index 81118644..f1047b52 100644 --- a/Source/Chatbook/Actions.wl +++ b/Source/Chatbook/Actions.wl @@ -426,6 +426,7 @@ EvaluateChatInput[ evalCell_CellObject, nbo_NotebookObject, settings_Association <| "Role" -> "Assistant", "Content" -> $lastChatString |> ] // LogChatTiming[ "ConstructChatObject" ] }, + If[ TrueQ @ settings[ "AutoSaveConversations" ], SaveChat[ chat, settings ] ]; applyChatPost[ chat, settings, nbo, $aborted ] ], applyChatPost[ None, settings, nbo, $aborted ]; diff --git a/Source/Chatbook/Settings.wl b/Source/Chatbook/Settings.wl index 77792f6e..21f4b029 100644 --- a/Source/Chatbook/Settings.wl +++ b/Source/Chatbook/Settings.wl @@ -18,16 +18,18 @@ $cloudInheritanceFix := $cloudNotebooks; (* cSpell: ignore AIAPI *) $defaultChatSettings = <| - "AppName" -> "Default", + "AppName" -> None, "Assistance" -> Automatic, "Authentication" -> Automatic, "AutoFormat" -> True, + "AutoSaveConversations" -> Automatic, "BasePrompt" -> Automatic, "BypassResponseChecking" -> False, "ChatContextPreprompt" -> Automatic, "ChatDrivenNotebook" -> False, "ChatHistoryLength" -> 1000, "ChatInputIndicator" -> Automatic, + "ConversationUUID" -> None, "ConversionRules" -> None, "DynamicAutoFormat" -> Automatic, "EnableChatGroupSettings" -> False, @@ -52,6 +54,7 @@ $defaultChatSettings = <| "ProcessingFunctions" :> $DefaultChatProcessingFunctions, "Prompts" -> { }, "PromptGenerators" -> { }, + "PromptGeneratorsEnabled" -> Automatic, (* TODO *) "PromptGeneratorMessageRole" -> "System", "PromptGeneratorMessagePosition" -> 2, "SetCellDingbat" -> True, @@ -305,6 +308,7 @@ resolveAutoSetting // endDefinition; resolveAutoSetting0 // beginDefinition; resolveAutoSetting0[ as_, "Assistance" ] := False; +resolveAutoSetting0[ as_, "AutoSaveConversations" ] := autoSaveConversationsQ @ as; resolveAutoSetting0[ as_, "ChatInputIndicator" ] := "\|01f4ac"; resolveAutoSetting0[ as_, "DynamicAutoFormat" ] := dynamicAutoFormatQ @ as; resolveAutoSetting0[ as_, "EnableLLMServices" ] := $useLLMServices; @@ -334,6 +338,7 @@ resolveAutoSetting0 // endDefinition; (* Settings that require other settings to be resolved first: *) $autoSettingKeyDependencies = <| + "AutoSaveConversations" -> { "AppName", "ConversationUUID" }, "HandlerFunctionsKeys" -> "EnableLLMServices", "MaxCellStringLength" -> { "Model", "MaxContextTokens" }, "MaxContextTokens" -> "Model", @@ -365,6 +370,13 @@ $autoSettingKeyPriority := Enclose[ * ChatContextPreprompt *) +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*autoSaveConversationsQ*) +autoSaveConversationsQ // beginDefinition; +autoSaveConversationsQ[ as_Association ] := TrueQ[ StringQ @ as[ "AppName" ] && StringQ @ as[ "ConversationUUID" ] ]; +autoSaveConversationsQ // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*chooseToolMethod*) From fb52581f89ec568a55c9854fbca2b1b7148dc46a Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 23 Sep 2024 17:24:10 -0400 Subject: [PATCH 120/180] Autosave Code Assistance chats in workspace mode --- .../Chatbook/ChatModes/ShowCodeAssistance.wl | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/Source/Chatbook/ChatModes/ShowCodeAssistance.wl b/Source/Chatbook/ChatModes/ShowCodeAssistance.wl index df0bc652..081d300e 100644 --- a/Source/Chatbook/ChatModes/ShowCodeAssistance.wl +++ b/Source/Chatbook/ChatModes/ShowCodeAssistance.wl @@ -12,18 +12,31 @@ Needs[ "Wolfram`Chatbook`ChatModes`Common`" ]; (*Configuration*) $workspaceChatWidth = 325; -$codeAssistanceSettings = <| +$codeAssistanceBaseSettings = <| "AppName" -> "CodeAssistance", "PromptGenerators" -> { "RelatedDocumentation" }, "ServiceCaller" -> "CodeAssistance", + "ToolOptions" -> <| "WolframLanguageEvaluator" -> <| "AppendURIPrompt" -> True, "Method" -> "Session" |> |>, "Tools" -> { "NotebookEditor" }, "ToolSelectionType" -> <| "DocumentationLookup" -> None, "DocumentationSearcher" -> None |> |>; -$workspaceChatNotebookOptions = Sequence[ +$codeAssistanceWorkspaceSettings := <| + $codeAssistanceBaseSettings, + "AutoGenerateTitle" -> True, + "ConversationUUID" -> CreateUUID[ ] +|>; + +$codeAssistanceInlineSettings := <| + $codeAssistanceBaseSettings, + "AutoGenerateTitle" -> False, + "AutoSaveConversations" -> False +|>; + +$workspaceChatNotebookOptions := Sequence[ DefaultNewCellStyle -> "AutoMoveToChatInputField", StyleDefinitions -> FrontEnd`FileName[ { "Wolfram" }, "WorkspaceChat.nb", CharacterEncoding -> "UTF-8" ], - TaggingRules -> <| "ChatNotebookSettings" -> $codeAssistanceSettings |> + TaggingRules -> <| "ChatNotebookSettings" -> $codeAssistanceWorkspaceSettings |> ]; (* TODO: set $serviceCaller from chat settings *) @@ -116,7 +129,7 @@ ShowCodeAssistance // endExportedDefinition; (* ::Subsection::Closed:: *) (*showCodeAssistanceInline*) showCodeAssistanceInline // beginDefinition; -showCodeAssistanceInline[ nbo_NotebookObject ] := attachInlineChatInput[ nbo, $codeAssistanceSettings ]; +showCodeAssistanceInline[ nbo_NotebookObject ] := attachInlineChatInput[ nbo, $codeAssistanceInlineSettings ]; showCodeAssistanceInline[ _ ] := MessageDialog[ "No notebook selected." ]; showCodeAssistanceInline // endDefinition; From 478330f3ca62f505d09d84da74c96794dfc16b0d Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 23 Sep 2024 17:24:40 -0400 Subject: [PATCH 121/180] Reset conversation ID when clearing the current chat --- Source/Chatbook/ChatModes/UI.wl | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Source/Chatbook/ChatModes/UI.wl b/Source/Chatbook/ChatModes/UI.wl index 26f31cf2..16475b3c 100644 --- a/Source/Chatbook/ChatModes/UI.wl +++ b/Source/Chatbook/ChatModes/UI.wl @@ -63,11 +63,13 @@ makeWorkspaceChatDockedCell // beginDefinition; makeWorkspaceChatDockedCell[ ] := Grid @ { { Button[ - "New", - SelectionMove[ EvaluationNotebook[ ], After, Notebook ]; - NotebookWrite[ EvaluationNotebook[ ], Cell[ "", "ChatDelimiter", CellFrameLabels -> None ] ] - ], - Button[ "Clear", NotebookDelete @ Cells @ EvaluationNotebook[ ] ], + "New Chat", + With[ { nbo = EvaluationNotebook[ ] }, + NotebookDelete @ Cells @ nbo; + CurrentChatSettings[ nbo, "ConversationUUID" ] = CreateUUID[ ] + ] + ] + , Item[ "", ItemSize -> Fit ], Button[ "Pop Out", popOutChatNB @ EvaluationNotebook[ ], Method -> "Queued" ] } From 42ed5e26c8286080b3be04bcff66a7bcb8889f6f Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 23 Sep 2024 17:34:10 -0400 Subject: [PATCH 122/180] Bugfix: Added unhandled argument pattern for `formatRaw` --- Source/Chatbook/Formatting.wl | 1 + 1 file changed, 1 insertion(+) diff --git a/Source/Chatbook/Formatting.wl b/Source/Chatbook/Formatting.wl index 078e4c33..59afd58a 100644 --- a/Source/Chatbook/Formatting.wl +++ b/Source/Chatbook/Formatting.wl @@ -578,6 +578,7 @@ formatRaw[ item_, { } ] := item; formatRaw[ item_, StyleBox[ box_ ] ] := formatRaw[ item, box ]; formatRaw[ item_, box: _ButtonBox|_Cell|_StyleBox ] := RawBoxes @ box; formatRaw[ item_, string_String ] := string; +formatRaw[ item_, text: $$textDataList ] := RawBoxes @ Cell @ TextData @ text; formatRaw // endDefinition; (* ::**************************************************************************************************************:: *) From 235a93f19bf838cf430f10540f95ffb0b53859ae Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 23 Sep 2024 21:38:54 -0400 Subject: [PATCH 123/180] Added history menu to workspace chat --- Source/Chatbook/Actions.wl | 25 +++++- Source/Chatbook/ChatMessageToCell.wl | 120 +++++++++++++++++++++++++++ Source/Chatbook/ChatModes/UI.wl | 100 ++++++++++++++++++---- Source/Chatbook/Dynamics.wl | 1 + Source/Chatbook/Main.wl | 7 ++ Source/Chatbook/SendChat.wl | 41 +++++++-- Source/Chatbook/Storage.wl | 68 ++++++++++++++- 7 files changed, 337 insertions(+), 25 deletions(-) create mode 100644 Source/Chatbook/ChatMessageToCell.wl diff --git a/Source/Chatbook/Actions.wl b/Source/Chatbook/Actions.wl index f1047b52..c513defe 100644 --- a/Source/Chatbook/Actions.wl +++ b/Source/Chatbook/Actions.wl @@ -3,7 +3,7 @@ (*Package Header*) BeginPackage[ "Wolfram`Chatbook`Actions`" ]; -(* cSpell: ignore TOOLCALL, ENDTOOLCALL, ENDRESULT, nodef *) +(* cSpell: ignore TOOLCALL, ENDTOOLCALL, nodef *) (* TODO: these probably aren't needed as exported symbols since all hooks are going through ChatbookAction *) `AskChat; @@ -421,7 +421,7 @@ EvaluateChatInput[ evalCell_CellObject, nbo_NotebookObject, settings_Association If[ ListQ @ $lastMessages && StringQ @ $lastChatString, With[ { - chat = constructChatObject @ Append[ + chat = constructChatObject @ mergeToolCallMessages @ Append[ $lastMessages, <| "Role" -> "Assistant", "Content" -> $lastChatString |> ] // LogChatTiming[ "ConstructChatObject" ] @@ -438,6 +438,27 @@ EvaluateChatInput[ evalCell_CellObject, nbo_NotebookObject, settings_Association EvaluateChatInput // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*mergeToolCallMessages*) +mergeToolCallMessages // beginDefinition; + +(* :!CodeAnalysis::BeginBlock:: *) +(* :!CodeAnalysis::Disable::KernelBug:: *) +mergeToolCallMessages[ { + a___, + KeyValuePattern[ "ToolRequest" -> True ], + KeyValuePattern[ "ToolResponse" -> True ], + b: KeyValuePattern[ "Role" -> "Assistant" ], + c___ +} ] := mergeToolCallMessages @ { a, b, c }; +(* :!CodeAnalysis::EndBlock:: *) + +mergeToolCallMessages[ messages_List ] := + messages; + +mergeToolCallMessages // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*applyChatPost*) diff --git a/Source/Chatbook/ChatMessageToCell.wl b/Source/Chatbook/ChatMessageToCell.wl new file mode 100644 index 00000000..c8c70866 --- /dev/null +++ b/Source/Chatbook/ChatMessageToCell.wl @@ -0,0 +1,120 @@ +(* ::Section::Closed:: *) +(*Package Header*) +BeginPackage[ "Wolfram`Chatbook`ChatMessageToCell`" ]; +Begin[ "`Private`" ]; + +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Configuration*) +$chatOutputOptions = Sequence[ GeneratedCell -> True, CellAutoOverwrite -> True ]; + +$$chatCellFormat = None | Automatic | "Default" | "Inline" | "Workspace"; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*ChatMessageToCell*) +ChatMessageToCell // beginDefinition; + +ChatMessageToCell[ message: $$chatMessage, format: $$chatCellFormat ] := catchMine @ Enclose[ + First @ ConfirmMatch[ chatMessagesToCells[ { message }, format ], { _Cell }, "Cell" ], + throwInternalFailure +]; + +ChatMessageToCell[ messages: $$chatMessages, format: $$chatCellFormat ] := catchMine @ Enclose[ + ConfirmMatch[ chatMessagesToCells[ messages, format ], { ___Cell }, "Cells" ], + throwInternalFailure +]; + +ChatMessageToCell // endExportedDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*chatMessagesToCells*) +chatMessagesToCells // beginDefinition; +chatMessagesToCells[ messages_, None|Automatic ] := chatMessagesToCells[ messages, "Default" ]; +chatMessagesToCells[ messages_, format_ ] := chatMessageToCell[ #, format ] & /@ revertMultimodalContent @ messages; +chatMessagesToCells // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*chatMessageToCell*) +chatMessageToCell // beginDefinition; + +chatMessageToCell[ message_Association, format_ ] := + chatMessageToCell[ message[ "Role" ], message[ "Content" ], format ]; + +chatMessageToCell[ role_String, content_, format_ ] := Enclose[ + Module[ { formatted }, + formatted = ConfirmMatch[ getFormattedTextData @ content, _TextData, "TextData" ]; + ConfirmMatch[ wrapCellContent[ formatted, role, format ], _Cell | Nothing, "Result" ] + ], + throwInternalFailure +]; + +chatMessageToCell // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*wrapCellContent*) +wrapCellContent // beginDefinition; + +wrapCellContent[ text_, "Assistant", "Default" ] := Cell[ text, "ChatOutput", $chatOutputOptions ]; +wrapCellContent[ text_, "System" , "Default" ] := Cell[ text, "ChatSystemInput" ]; +wrapCellContent[ text_, "User" , "Default" ] := Cell[ text, "ChatInput" ]; + +wrapCellContent[ text_, "Assistant", "Workspace" ] := workspaceOutput @ text; +wrapCellContent[ text_, "System" , "Workspace" ] := Nothing; (* System inputs shouldn't appear in workspace chat *) +wrapCellContent[ text_, "User" , "Workspace" ] := workspaceInput @ text; + +wrapCellContent // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*workspaceInput*) +workspaceInput // beginDefinition; +workspaceInput[ TextData[ { text_String } ] ] := workspaceInput @ text; +workspaceInput[ TextData[ text_String ] ] := workspaceInput @ text; +workspaceInput[ text_String ] := Cell[ BoxData @ TemplateBox[ { text }, "UserMessageBox" ], "ChatInput" ]; +workspaceInput[ text_ ] := Cell[ BoxData @ TemplateBox[ { Cell @ text }, "UserMessageBox" ], "ChatInput" ]; +workspaceInput // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*workspaceOutput*) +workspaceOutput // beginDefinition; + +workspaceOutput[ text_TextData ] := + wrapCellContent[ + TextData @ Cell[ + BoxData @ TemplateBox[ { Cell[ text, Background -> None ] }, "AssistantMessageBox" ], + Background -> None + ], + "Assistant", + "Default" + ]; + +workspaceOutput // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*getFormattedTextData*) +getFormattedTextData // beginDefinition; +getFormattedTextData[ content_String ] := getFormattedTextData[ content, FormatChatOutput @ content ]; +getFormattedTextData[ content_, (Cell|RawBoxes)[ boxes_ ] ] := getFormattedTextData[ content, boxes ]; +getFormattedTextData[ content_, TextData[ text: $$textDataList ] ] := TextData @ text; +getFormattedTextData[ content_, string_String ] := TextData @ { string }; +getFormattedTextData[ content_String, boxes_ ] := TextData @ { content }; +getFormattedTextData // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +addToMXInitialization[ + Null +]; + +End[ ]; +EndPackage[ ]; diff --git a/Source/Chatbook/ChatModes/UI.wl b/Source/Chatbook/ChatModes/UI.wl index 16475b3c..47aa6ff2 100644 --- a/Source/Chatbook/ChatModes/UI.wl +++ b/Source/Chatbook/ChatModes/UI.wl @@ -51,6 +51,8 @@ $inputFieldBox = None; $inlineChatScrollPosition = 0.0; $lastScrollPosition = 0.0; +$maxHistoryItems = 50; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Workspace Chat*) @@ -60,20 +62,23 @@ $lastScrollPosition = 0.0; (*makeWorkspaceChatDockedCell*) makeWorkspaceChatDockedCell // beginDefinition; -makeWorkspaceChatDockedCell[ ] := Grid @ { - { - Button[ - "New Chat", - With[ { nbo = EvaluationNotebook[ ] }, - NotebookDelete @ Cells @ nbo; - CurrentChatSettings[ nbo, "ConversationUUID" ] = CreateUUID[ ] - ] - ] - , - Item[ "", ItemSize -> Fit ], - Button[ "Pop Out", popOutChatNB @ EvaluationNotebook[ ], Method -> "Queued" ] - } -}; +makeWorkspaceChatDockedCell[ ] := + DynamicModule[ { nbo }, + Grid @ { + { + Button[ + "New Chat", + NotebookDelete @ Cells @ nbo; + CurrentChatSettings[ nbo, "ConversationUUID" ] = CreateUUID[ ] + ], + trackedDynamic[ createHistoryMenu @ nbo, "SavedChats" ] + , + Item[ "", ItemSize -> Fit ], + Button[ "Pop Out", popOutChatNB @ nbo, Method -> "Queued" ] + } + }, + Initialization :> (nbo = EvaluationNotebook[ ]) + ]; makeWorkspaceChatDockedCell // endDefinition; @@ -764,6 +769,73 @@ $fromWorkspaceChatConversionRules := $fromWorkspaceChatConversionRules = Dispatc ] :> Cell[ Flatten @ TextData @ text, "ChatOutput" ] }; +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*History*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*createHistoryMenu*) +createHistoryMenu // beginDefinition; + +createHistoryMenu[ nbo_NotebookObject ] := + createHistoryMenu[ nbo, ListSavedChats @ CurrentChatSettings[ nbo, "AppName" ] ]; + +createHistoryMenu[ nbo_NotebookObject ] := Enclose[ + Catch @ Module[ { appName, chats }, + appName = ConfirmBy[ CurrentChatSettings[ nbo, "AppName" ], StringQ, "AppName" ]; + chats = ConfirmMatch[ ListSavedChats @ appName, { ___Association }, "Chats" ]; + If[ chats === { }, Throw @ ActionMenu[ "History", { "Nothing here yet" :> Null } ] ]; + ActionMenu[ "History", makeHistoryMenuItem[ nbo ] /@ Take[ chats, UpTo @ $maxHistoryItems ] ] + ], + throwInternalFailure +]; + +createHistoryMenu // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*makeHistoryMenuItem*) +makeHistoryMenuItem // beginDefinition; + +makeHistoryMenuItem[ nbo_NotebookObject ] := + makeHistoryMenuItem[ nbo, # ] &; + +makeHistoryMenuItem[ nbo_NotebookObject, chat_Association ] := Enclose[ + Module[ { title, date, timeString, label }, + title = ConfirmBy[ chat[ "ConversationTitle" ], StringQ, "Title" ]; + date = DateObject[ ConfirmBy[ chat[ "Date" ], NumericQ, "Date" ], TimeZone -> 0 ]; + timeString = ConfirmBy[ relativeTimeString @ date, StringQ, "TimeString" ]; + label = Row @ { title, " ", Style[ timeString, FontOpacity -> 0.75, FontSize -> Inherited * 0.75 ] }; + label :> loadConversation[ nbo, chat ] + ], + throwInternalFailure +]; + +makeHistoryMenuItem // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*loadConversation*) +loadConversation // beginDefinition; + +loadConversation[ nbo_NotebookObject, id_ ] := Enclose[ + Module[ { loaded, uuid, messages, cells, cellObjects }, + loaded = ConfirmBy[ LoadChat @ id, AssociationQ, "Loaded" ]; + uuid = ConfirmBy[ loaded[ "ConversationUUID" ], StringQ, "UUID" ]; + messages = ConfirmBy[ loaded[ "Messages" ], ListQ, "Messages" ]; + cells = ConfirmMatch[ ChatMessageToCell[ messages, "Workspace" ], { __Cell }, "Cells" ]; + cellObjects = ConfirmMatch[ Cells @ nbo, { ___CellObject }, "CellObjects" ]; + ConfirmMatch[ NotebookDelete @ cellObjects, { Null... }, "Delete" ]; + ConfirmMatch[ NotebookWrite[ nbo, cells, AutoScroll -> False ], Null, "Write" ]; + CurrentChatSettings[ nbo, "ConversationUUID" ] = uuid; + moveToChatInputField @ nbo + ], + throwInternalFailure +]; + +loadConversation // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Package Footer*) diff --git a/Source/Chatbook/Dynamics.wl b/Source/Chatbook/Dynamics.wl index cc489f1b..9d39204b 100644 --- a/Source/Chatbook/Dynamics.wl +++ b/Source/Chatbook/Dynamics.wl @@ -17,6 +17,7 @@ $dynamicTriggers = <| "Models" :> $modelsTrigger, "Personas" :> $personasTrigger, "Preferences" :> $preferencesTrigger, + "SavedChats" :> $savedChatsTrigger, "Services" :> $servicesTrigger, "Tools" :> $toolsTrigger |>; diff --git a/Source/Chatbook/Main.wl b/Source/Chatbook/Main.wl index 627d733c..4257cc15 100644 --- a/Source/Chatbook/Main.wl +++ b/Source/Chatbook/Main.wl @@ -41,6 +41,7 @@ BeginPackage[ "Wolfram`Chatbook`" ]; `ChatbookAction; `ChatbookFilesDirectory; `ChatCellEvaluate; +`ChatMessageToCell; `CreateChatDrivenNotebook; `CreateChatNotebook; `CurrentChatSettings; @@ -59,6 +60,8 @@ BeginPackage[ "Wolfram`Chatbook`" ]; `GetExpressionURIs; `InlineTemplateBoxes; `InvalidateServiceCache; +`ListSavedChats; +`LoadChat; `LogChatTiming; `MakeExpressionURI; `RelatedDocumentation; @@ -110,6 +113,7 @@ $ChatbookContexts = { "Wolfram`Chatbook`ChatGroups`", "Wolfram`Chatbook`ChatHistory`", "Wolfram`Chatbook`ChatMessages`", + "Wolfram`Chatbook`ChatMessageToCell`", "Wolfram`Chatbook`ChatModes`", "Wolfram`Chatbook`ChatState`", "Wolfram`Chatbook`ChatTitle`", @@ -188,6 +192,7 @@ $ChatbookProtectedNames = "Wolfram`Chatbook`" <> # & /@ { "ChatbookAction", "ChatbookFilesDirectory", "ChatCellEvaluate", + "ChatMessageToCell", "CreateChatDrivenNotebook", "CreateChatNotebook", "CurrentChatSettings", @@ -205,6 +210,8 @@ $ChatbookProtectedNames = "Wolfram`Chatbook`" <> # & /@ { "GetExpressionURI", "GetExpressionURIs", "InlineTemplateBoxes", + "ListSavedChats", + "LoadChat", "LogChatTiming", "MakeExpressionURI", "RelatedDocumentation", diff --git a/Source/Chatbook/SendChat.wl b/Source/Chatbook/SendChat.wl index f0e3dcf0..f2b429db 100644 --- a/Source/Chatbook/SendChat.wl +++ b/Source/Chatbook/SendChat.wl @@ -139,7 +139,7 @@ sendChat[ evalCell_, nbo_, settings0_ ] /; $useLLMServices := catchTopAs[ Chatbo |> ]; - task = $lastTask = chatSubmit[ container, messages, cellObject, settings ]; + task = $lastTask = chatSubmit[ container, prepareMessagesForLLM @ messages, cellObject, settings ]; addHandlerArguments[ "Task" -> task ]; @@ -338,6 +338,21 @@ makeHTTPRequest[ settings_Association? AssociationQ, messages: { __Association } makeHTTPRequest // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*prepareMessagesForLLM*) +prepareMessagesForLLM // beginDefinition; + +prepareMessagesForLLM[ messages: $$chatMessages ] := ReplaceAll[ + messages, + s_String :> RuleCondition @ StringTrim @ StringReplace[ + s, + "\nENDRESULT(" ~~ Repeated[ LetterCharacter|DigitCharacter, $tinyHashLength ] ~~ ")\n" :> "\nENDRESULT\n" + ] + ]; + +prepareMessagesForLLM // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*makeStopTokens*) @@ -372,7 +387,10 @@ chatIndicatorSymbol // endDefinition; (* ::Subsubsection::Closed:: *) (*prepareMessagesForHTTPRequest*) prepareMessagesForHTTPRequest // beginDefinition; -prepareMessagesForHTTPRequest[ messages_List ] := $lastHTTPMessages = prepareMessageForHTTPRequest /@ messages; + +prepareMessagesForHTTPRequest[ messages_List ] := + $lastHTTPMessages = prepareMessagesForLLM[ prepareMessageForHTTPRequest /@ messages ]; + prepareMessagesForHTTPRequest // endDefinition; (* ::**************************************************************************************************************:: *) @@ -1166,7 +1184,11 @@ toolEvaluation[ settings_, container_Symbol, cell_, as_Association ] := Enclose[ newMessages = Join[ messages, { - <| "Role" -> "Assistant", "Content" -> appendToolCallEndToken[ settings, StringTrim @ string ] |>, + <| + "Role" -> "Assistant", + "Content" -> appendToolCallEndToken[ settings, StringTrim @ string ], + "ToolRequest" -> True + |>, makeToolResponseMessage[ settings, response ] } ]; @@ -1174,7 +1196,11 @@ toolEvaluation[ settings_, container_Symbol, cell_, as_Association ] := Enclose[ $finishReason = None; req = If[ TrueQ @ $useLLMServices, - ConfirmMatch[ constructMessages[ settings, newMessages ], { __Association }, "ConstructMessages" ], + ConfirmMatch[ + prepareMessagesForLLM @ constructMessages[ settings, newMessages ], + { __Association }, + "ConstructMessages" + ], (* TODO: this path will be obsolete when LLMServices is widely available *) ConfirmMatch[ makeHTTPRequest[ settings, newMessages ], _HTTPRequest, "HTTPRequest" ] ]; @@ -1220,12 +1246,13 @@ makeToolResponseMessage // endDefinition; makeToolResponseMessage0 // beginDefinition; makeToolResponseMessage0[ "Anthropic"|"MistralAI", response_ ] := <| - "Role" -> "User", - "Content" -> Replace[ Flatten @ { "", response, "" }, { s__String } :> StringJoin @ s ] + "Role" -> "User", + "Content" -> Replace[ Flatten @ { "", response, "" }, { s__String } :> StringJoin @ s ], + "ToolResponse" -> True |>; makeToolResponseMessage0[ service_String, response_ ] := - <| "Role" -> "System", "Content" -> response |>; + <| "Role" -> "System", "Content" -> response, "ToolResponse" -> True |>; makeToolResponseMessage0 // endDefinition; diff --git a/Source/Chatbook/Storage.wl b/Source/Chatbook/Storage.wl index 47bff515..6381202b 100644 --- a/Source/Chatbook/Storage.wl +++ b/Source/Chatbook/Storage.wl @@ -23,6 +23,7 @@ $timestampPrefixLength = 7; (* good for about 1000 years *) $$timestampPrefix = Repeated[ LetterCharacter|DigitCharacter, { $timestampPrefixLength } ]; $$chatMetadata = KeyValuePattern @ { + "AppName" -> _String, "ConversationTitle" -> _String, "ConversationUUID" -> _String, "Date" -> _Real, @@ -73,6 +74,66 @@ readChatMetaFile[ file_String, as: $$chatMetadata ] := <| as, "Path" -> File @ D readChatMetaFile[ file_String, _? FailureQ ] := Nothing; (* corrupt WXF file (should we auto-remove it?) *) readChatMetaFile // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*LoadChat*) +LoadChat // beginDefinition; +LoadChat[ as_Association ] := catchMine @ LoadChat[ as[ "AppName" ], as[ "ConversationUUID" ] ]; +LoadChat[ uuid_String ] := catchMine @ LogChatTiming @ loadChat[ $defaultAppName, uuid ]; +LoadChat[ appName_String, uuid_String ] := catchMine @ LogChatTiming @ loadChat[ appName, uuid ]; +LoadChat // endExportedDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*loadChat*) +loadChat // beginDefinition; + +loadChat[ appName_String, uuid_String ] := Enclose[ + Catch @ Module[ { root, dirs, dir, file, data }, + + root = ConfirmBy[ + ChatbookFilesDirectory[ { $rootStorageName, appName }, "EnsureDirectory" -> False ], + StringQ, + "Root" + ]; + + dirs = ConfirmMatch[ Sort @ FileNames[ $$timestampPrefix ~~ "_" ~~ uuid, root ], { ___String }, "Directories" ]; + If[ dirs === { }, Throw @ Missing[ "NotFound" ] ]; + dir = ConfirmBy[ First[ dirs, $Failed ], StringQ, "Directory" ]; + file = ConfirmBy[ FileNameJoin @ { dir, "data.wxf" }, StringQ, "File" ]; + If[ ! FileExistsQ @ file, Throw @ Missing[ "NotFound" ] ]; + data = ConfirmBy[ Developer`ReadWXFFile @ file, AssociationQ, "Data" ]; + ConfirmBy[ restoreAttachments @ data, AssociationQ, "RestoreAttachments" ]; + data + ], + throwInternalFailure +]; + +loadChat // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*restoreAttachments*) +restoreAttachments // beginDefinition; + +restoreAttachments[ KeyValuePattern[ "Attachments" -> attachments_Association ] ] := + Association @ KeyValueMap[ # -> restoreAttachments @ ## &, attachments ]; + +restoreAttachments[ "Expressions", expressions_Association ] := Enclose[ + $attachments = ConfirmBy[ <| $attachments, expressions |>, AssociationQ, "Attachments" ], + throwInternalFailure +]; + +restoreAttachments[ "ToolCalls", toolCalls_Association ] := Enclose[ + $toolEvaluationResults = ConfirmBy[ <| $toolEvaluationResults, toolCalls |>, AssociationQ, "ToolCalls" ], + throwInternalFailure +]; + +restoreAttachments[ key_, value_ ] := + value; + +restoreAttachments // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*SaveChat*) @@ -97,7 +158,7 @@ saveChat[ messages0_, settings0_, autoTitle_ ] := Enclose[ settings = If[ TrueQ @ autoTitle, <| settings0, "AutoGenerateTitle" -> True |>, settings0 ]; messages = ConfirmMatch[ prepareMessagesForSaving[ messages0, settings ], $$chatMessages, "Messages" ]; appName = ConfirmBy[ Lookup[ settings, "AppName", $defaultAppName ], StringQ, "AppName" ]; - metadata = ConfirmMatch[ getChatMetadata[ messages, settings ], $$chatMetadata, "Metadata" ]; + metadata = ConfirmMatch[ getChatMetadata[ appName, messages, settings ], $$chatMetadata, "Metadata" ]; directory = ConfirmBy[ targetDirectory[ appName, metadata ], DirectoryQ, "Directory" ]; attachments = ConfirmBy[ GetAttachments[ messages, All ], AssociationQ, "Attachments" ]; smallSettings = ConfirmBy[ toSmallSettings @ settings, AssociationQ, "Settings" ]; @@ -138,6 +199,8 @@ saveChat[ messages0_, settings0_, autoTitle_ ] := Enclose[ ConfirmMatch[ cleanupStaleChats @ appName, { ___String }, "Cleanup" ]; + updateDynamics[ "SavedChats" ]; + Success[ "Saved", as ] ], throwInternalFailure @@ -262,7 +325,7 @@ saveChatFile // endDefinition; (*getChatMetadata*) getChatMetadata // beginDefinition; -getChatMetadata[ messages_, settings_Association ] := Enclose[ +getChatMetadata[ appName_, messages_, settings_Association ] := Enclose[ Module[ { uuid, title, date, version }, uuid = ConfirmBy[ getChatUUID @ settings, StringQ, "ConversationUUID" ]; @@ -271,6 +334,7 @@ getChatMetadata[ messages_, settings_Association ] := Enclose[ version = ConfirmBy[ $savedChatDataVersion, IntegerQ, "Version" ]; <| + "AppName" -> appName, "ConversationUUID" -> uuid, "ConversationTitle" -> title, "Date" -> date, From 95f4a029f37f2b55dfbbe389adeab4911e3ebe5a Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 23 Sep 2024 21:47:48 -0400 Subject: [PATCH 124/180] Bugfix: `$ResourceInstallationDirectory` isn't created until actually needed --- Source/Chatbook/ResourceInstaller.wl | 2 +- Source/Chatbook/Settings.wl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Chatbook/ResourceInstaller.wl b/Source/Chatbook/ResourceInstaller.wl index b086beca..d6055402 100644 --- a/Source/Chatbook/ResourceInstaller.wl +++ b/Source/Chatbook/ResourceInstaller.wl @@ -630,7 +630,7 @@ resourceTypeDirectory // beginDefinition; resourceTypeDirectory[ rtype_String ] := Enclose[ Module[ { root, typeName }, - root = ConfirmBy[ $ResourceInstallationDirectory, DirectoryQ, "RootDirectory" ]; + root = ConfirmBy[ $ResourceInstallationDirectory, StringQ, "RootDirectory" ]; typeName = ConfirmBy[ resourceTypeDirectoryName @ rtype, StringQ, "TypeName" ]; ConfirmBy[ GeneralUtilities`EnsureDirectory @ { root, typeName }, DirectoryQ, "Directory" ] ], diff --git a/Source/Chatbook/Settings.wl b/Source/Chatbook/Settings.wl index 21f4b029..72b115f8 100644 --- a/Source/Chatbook/Settings.wl +++ b/Source/Chatbook/Settings.wl @@ -919,7 +919,7 @@ storeGlobalSettings // endDefinition; (*$globalSettingsFile*) $globalSettingsFile := Enclose[ Module[ { dir }, - dir = ConfirmBy[ $ResourceInstallationDirectory, DirectoryQ, "ResourceInstallationDirectory" ]; + dir = ConfirmBy[ $ResourceInstallationDirectory, StringQ, "ResourceInstallationDirectory" ]; $globalSettingsFile = ConfirmBy[ FileNameJoin @ { dir, "GlobalChatSettings.wxf" }, StringQ, "File" ] ], throwInternalFailure From 9a09b5f3731008c58c4bbbad61ff77ee13abe8fb Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 24 Sep 2024 13:29:46 -0400 Subject: [PATCH 125/180] Added delete button to workspace chats and some other misc UI tweaks --- .../Chatbook/ChatModes/ShowCodeAssistance.wl | 5 +- Source/Chatbook/ChatModes/UI.wl | 61 +++++++++++++++---- Source/Chatbook/Main.wl | 2 + Source/Chatbook/Storage.wl | 36 +++++++++++ 4 files changed, 92 insertions(+), 12 deletions(-) diff --git a/Source/Chatbook/ChatModes/ShowCodeAssistance.wl b/Source/Chatbook/ChatModes/ShowCodeAssistance.wl index 081d300e..9eb21a15 100644 --- a/Source/Chatbook/ChatModes/ShowCodeAssistance.wl +++ b/Source/Chatbook/ChatModes/ShowCodeAssistance.wl @@ -192,7 +192,10 @@ attachToLeft[ source_NotebookObject, current_NotebookObject ] := Enclose[ WindowSize -> { $workspaceChatWidth, Automatic } ]; - SetSelectedNotebook @ current + SetSelectedNotebook @ current; + moveToChatInputField[ current, True ]; + + current ], throwInternalFailure ]; diff --git a/Source/Chatbook/ChatModes/UI.wl b/Source/Chatbook/ChatModes/UI.wl index 47aa6ff2..bc52996c 100644 --- a/Source/Chatbook/ChatModes/UI.wl +++ b/Source/Chatbook/ChatModes/UI.wl @@ -66,15 +66,33 @@ makeWorkspaceChatDockedCell[ ] := DynamicModule[ { nbo }, Grid @ { { - Button[ - "New Chat", - NotebookDelete @ Cells @ nbo; - CurrentChatSettings[ nbo, "ConversationUUID" ] = CreateUUID[ ] + Tooltip[ + Button[ + "New Chat", + NotebookDelete @ Cells @ nbo; + CurrentChatSettings[ nbo, "ConversationUUID" ] = CreateUUID[ ] + ], + "Start a new conversation" ], - trackedDynamic[ createHistoryMenu @ nbo, "SavedChats" ] + trackedDynamic[ createHistoryMenu @ nbo, "SavedChats" ], + Tooltip[ + Button[ + "Delete", + DeleteChat[ + CurrentChatSettings[ nbo, "AppName" ], + CurrentChatSettings[ nbo, "ConversationUUID" ] + ]; + NotebookDelete @ Cells @ nbo; + CurrentChatSettings[ nbo, "ConversationUUID" ] = CreateUUID[ ] + ], + "Remove the current chat from the history menu" + ] , Item[ "", ItemSize -> Fit ], - Button[ "Pop Out", popOutChatNB @ nbo, Method -> "Queued" ] + Tooltip[ + Button[ "Pop Out", popOutChatNB @ nbo, Method -> "Queued" ], + "View the chat as a normal chat notebook" + ] } }, Initialization :> (nbo = EvaluationNotebook[ ]) @@ -294,6 +312,7 @@ inlineChatInputCell[ root_CellObject, selectionInfo_, settings_ ] := Cell[ $inputFieldBox = None; Unset @ parentCell @ cell; Unset @ parentNotebook @ cell; + ClearAll @ evaluateCurrentInlineChat; ] ] }, @@ -443,7 +462,15 @@ inlineChatInputField[ selectionInfo_, Dynamic[ currentInput_ ], Dynamic[ messageCells_ ] -] := +] := ( + evaluateCurrentInlineChat[ ] := ChatbookAction[ + "EvaluateInlineChat", + cell, + root, + selectionInfo, + Dynamic @ currentInput, + Dynamic @ messageCells + ]; EventHandler[ Pane[ Grid[ @@ -482,7 +509,8 @@ inlineChatInputField[ ) }, Method -> "Queued" - ]; + ] +); inlineChatInputField // endDefinition; @@ -806,7 +834,7 @@ makeHistoryMenuItem[ nbo_NotebookObject, chat_Association ] := Enclose[ title = ConfirmBy[ chat[ "ConversationTitle" ], StringQ, "Title" ]; date = DateObject[ ConfirmBy[ chat[ "Date" ], NumericQ, "Date" ], TimeZone -> 0 ]; timeString = ConfirmBy[ relativeTimeString @ date, StringQ, "TimeString" ]; - label = Row @ { title, " ", Style[ timeString, FontOpacity -> 0.75, FontSize -> Inherited * 0.75 ] }; + label = Row @ { title, " ", Style[ timeString, FontOpacity -> 0.75, FontSize -> Inherited * 0.9 ] }; label :> loadConversation[ nbo, chat ] ], throwInternalFailure @@ -827,9 +855,20 @@ loadConversation[ nbo_NotebookObject, id_ ] := Enclose[ cells = ConfirmMatch[ ChatMessageToCell[ messages, "Workspace" ], { __Cell }, "Cells" ]; cellObjects = ConfirmMatch[ Cells @ nbo, { ___CellObject }, "CellObjects" ]; ConfirmMatch[ NotebookDelete @ cellObjects, { Null... }, "Delete" ]; - ConfirmMatch[ NotebookWrite[ nbo, cells, AutoScroll -> False ], Null, "Write" ]; + + WithCleanup[ + NotebookDelete @ First[ Cells[ nbo, AttachedCell -> True, CellStyle -> "ChatInputField" ], $Failed ], + SelectionMove[ nbo, Before, Notebook, AutoScroll -> True ]; + ConfirmMatch[ + NotebookWrite[ nbo, cells, AutoScroll -> False ], + Null, + "Write" + ], + ChatbookAction[ "AttachWorkspaceChatInput", nbo ] + ]; + CurrentChatSettings[ nbo, "ConversationUUID" ] = uuid; - moveToChatInputField @ nbo + moveToChatInputField[ nbo, True ] ], throwInternalFailure ]; diff --git a/Source/Chatbook/Main.wl b/Source/Chatbook/Main.wl index 4257cc15..6c42676d 100644 --- a/Source/Chatbook/Main.wl +++ b/Source/Chatbook/Main.wl @@ -45,6 +45,7 @@ BeginPackage[ "Wolfram`Chatbook`" ]; `CreateChatDrivenNotebook; `CreateChatNotebook; `CurrentChatSettings; +`DeleteChat; `DisplayBase64Boxes; `EnableCodeAssistance; `ExplodeCell; @@ -196,6 +197,7 @@ $ChatbookProtectedNames = "Wolfram`Chatbook`" <> # & /@ { "CreateChatDrivenNotebook", "CreateChatNotebook", "CurrentChatSettings", + "DeleteChat", "DisplayBase64Boxes", "EnableCodeAssistance", "ExplodeCell", diff --git a/Source/Chatbook/Storage.wl b/Source/Chatbook/Storage.wl index 6381202b..d32c1847 100644 --- a/Source/Chatbook/Storage.wl +++ b/Source/Chatbook/Storage.wl @@ -134,6 +134,42 @@ restoreAttachments[ key_, value_ ] := restoreAttachments // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*DeleteChat*) +DeleteChat // beginDefinition; +DeleteChat[ as_Association ] := catchMine @ DeleteChat[ as[ "AppName" ], as[ "ConversationUUID" ] ]; +DeleteChat[ uuid_String ] := catchMine @ LogChatTiming @ deleteChat[ $defaultAppName, uuid ]; +DeleteChat[ appName_String, uuid_String ] := catchMine @ LogChatTiming @ deleteChat[ appName, uuid ]; +DeleteChat // endExportedDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*deleteChat*) +deleteChat // beginDefinition; + +deleteChat[ appName_String, uuid_String ] := Enclose[ + Catch @ Module[ { root, dirs, dir }, + + root = ConfirmBy[ + ChatbookFilesDirectory[ { $rootStorageName, appName }, "EnsureDirectory" -> False ], + StringQ, + "Root" + ]; + + dirs = ConfirmMatch[ Sort @ FileNames[ $$timestampPrefix ~~ "_" ~~ uuid, root ], { ___String }, "Directories" ]; + If[ dirs === { }, Throw @ Missing[ "NotFound" ] ]; + dir = ConfirmBy[ First[ dirs, $Failed ], StringQ, "Directory" ]; + ConfirmMatch[ DeleteDirectory[ dir, DeleteContents -> True ], Null, "DeleteDirectory" ]; + ConfirmAssert[ ! DirectoryQ @ dir, "DirectoryCheck" ]; + updateDynamics[ "SavedChats" ]; + dir + ], + throwInternalFailure +]; + +deleteChat // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*SaveChat*) From 236e294a9d32856ccf8f589406831a3d917e4d0b Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 25 Sep 2024 11:05:45 -0400 Subject: [PATCH 126/180] Bugfix: The `stringToBoxes` in Serialization.wl should have been removed when `stringToBoxes` was promoted to the common context --- Source/Chatbook/Formatting.wl | 10 +++------- Source/Chatbook/Serialization.wl | 18 ------------------ 2 files changed, 3 insertions(+), 25 deletions(-) diff --git a/Source/Chatbook/Formatting.wl b/Source/Chatbook/Formatting.wl index 9c44e4f5..a2e1f645 100644 --- a/Source/Chatbook/Formatting.wl +++ b/Source/Chatbook/Formatting.wl @@ -1826,13 +1826,6 @@ formatResourceFunctionFast // endDefinition; (*formatResourceFunctionSlow*) formatResourceFunctionSlow // beginDefinition; -(* formatResourceFunctionSlow[ name_String ] := ( - Needs[ "FunctionResource`" -> None ]; - With[ { display = FunctionResource`InertResourceFunctionBoxes[ "Published", StringTrim[ name, "\"" ] ] }, - InterpretationBox[ display, ResourceFunction @ name, Selectable -> False, SelectWithContents -> True ] - ] -); *) - formatResourceFunctionSlow[ name_String ] := ( Needs[ "FunctionResource`" -> None ]; FunctionResource`MakeResourceFunctionBoxes @ StringTrim[ name, "\"" ] @@ -2581,6 +2574,9 @@ stringToBoxes[ s_String ] /; $dynamicText := StringReplace[ $expressionURIPlaceholder ]; +stringToBoxes[ s_String /; StringMatchQ[ s, "\"" ~~ __ ~~ "\"" ] ] := + With[ { str = stringToBoxes @ StringTrim[ s, "\"" ] }, "\""<>str<>"\"" /; StringQ @ str ]; + stringToBoxes[ s_String ] := adjustBoxSpacing @ stringToBoxes0 @ usingFrontEnd @ MathLink`CallFrontEnd @ FrontEnd`ReparseBoxStructurePacket @ s; diff --git a/Source/Chatbook/Serialization.wl b/Source/Chatbook/Serialization.wl index 3f2ef928..d6c81e86 100644 --- a/Source/Chatbook/Serialization.wl +++ b/Source/Chatbook/Serialization.wl @@ -2290,24 +2290,6 @@ makeExpressionString[ box_, _ ] := makeExpressionString[ box ] = makeExpressionString // endDefinition; -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*stringToBoxes*) -stringToBoxes // SetFallthroughError; - -stringToBoxes[ s_String /; StringMatchQ[ s, "\"" ~~ __ ~~ "\"" ] ] := - With[ { str = stringToBoxes @ StringTrim[ s, "\"" ] }, "\""<>str<>"\"" /; StringQ @ str ]; - -stringToBoxes[ string_String ] := - stringToBoxes[ - string, - (* TODO: there could be a kernel implementation of this *) - Quiet @ usingFrontEnd @ MathLink`CallFrontEnd @ FrontEnd`UndocumentedTestFEParserPacket[ string, True ] - ]; - -stringToBoxes[ string_, { BoxData[ boxes_, ___ ], ___ } ] := boxes; -stringToBoxes[ string_, other_ ] := string; - (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*makeGraphicsString*) From c42a4b94648697accce53329b1d34f8be345ca5e Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 26 Sep 2024 07:09:00 -0400 Subject: [PATCH 127/180] Bugfix: Prevent `ShowStringCharacters` message for partial strings in code blocks --- Source/Chatbook/Formatting.wl | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/Source/Chatbook/Formatting.wl b/Source/Chatbook/Formatting.wl index a2e1f645..7580ef84 100644 --- a/Source/Chatbook/Formatting.wl +++ b/Source/Chatbook/Formatting.wl @@ -2578,7 +2578,7 @@ stringToBoxes[ s_String /; StringMatchQ[ s, "\"" ~~ __ ~~ "\"" ] ] := With[ { str = stringToBoxes @ StringTrim[ s, "\"" ] }, "\""<>str<>"\"" /; StringQ @ str ]; stringToBoxes[ s_String ] := - adjustBoxSpacing @ stringToBoxes0 @ usingFrontEnd @ MathLink`CallFrontEnd @ FrontEnd`ReparseBoxStructurePacket @ s; + adjustBoxSpacing @ stringToBoxes0 @ reparseBoxStructurePacket @ s; stringToBoxes // endDefinition; @@ -2587,6 +2587,21 @@ stringToBoxes0 // beginDefinition; stringToBoxes0[ boxes_? boxDataQ ] := boxes; stringToBoxes0 // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*reparseBoxStructurePacket*) +reparseBoxStructurePacket // beginDefinition; + +reparseBoxStructurePacket[ string_String ] := Replace[ + usingFrontEnd @ MathLink`CallFrontEnd @ FrontEnd`ReparseBoxStructurePacket @ StyleBox[ + string, + ShowStringCharacters -> False + ], + StyleBox[ boxes_, ___ ] :> boxes +]; + +reparseBoxStructurePacket // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*boxDataQ*) From b7b87bb95f99efd939a4b3ddb34765324bae0ec3 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 26 Sep 2024 07:14:29 -0400 Subject: [PATCH 128/180] Use `ShowStringCharacters -> True` --- Source/Chatbook/Formatting.wl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Chatbook/Formatting.wl b/Source/Chatbook/Formatting.wl index 7580ef84..23a182f8 100644 --- a/Source/Chatbook/Formatting.wl +++ b/Source/Chatbook/Formatting.wl @@ -2595,7 +2595,7 @@ reparseBoxStructurePacket // beginDefinition; reparseBoxStructurePacket[ string_String ] := Replace[ usingFrontEnd @ MathLink`CallFrontEnd @ FrontEnd`ReparseBoxStructurePacket @ StyleBox[ string, - ShowStringCharacters -> False + ShowStringCharacters -> True ], StyleBox[ boxes_, ___ ] :> boxes ]; From 3329a87135a34bb846443b55ffc56639cbd927cf Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 26 Sep 2024 08:15:12 -0400 Subject: [PATCH 129/180] Custom progress display for inline and workspace chats --- .../PromptGenerators/VectorDatabases.wl | 136 ++++++++++++++++-- 1 file changed, 127 insertions(+), 9 deletions(-) diff --git a/Source/Chatbook/PromptGenerators/VectorDatabases.wl b/Source/Chatbook/PromptGenerators/VectorDatabases.wl index b1c99f03..7d68f748 100644 --- a/Source/Chatbook/PromptGenerators/VectorDatabases.wl +++ b/Source/Chatbook/PromptGenerators/VectorDatabases.wl @@ -162,14 +162,133 @@ downloadVectorDatabases // endDefinition; (* This is a workaround for EvaluateWithProgress never printing a progress panel when called normally in a chat: *) evaluateWithProgress // beginDefinition; evaluateWithProgress // Attributes = { HoldFirst }; +evaluateWithProgress[ args___ ] /; $WorkspaceChat := evaluateWithWorkspaceProgress @ args; +evaluateWithProgress[ args___ ] /; $InlineChat := evaluateWithInlineProgress @ args; +evaluateWithProgress[ args___ ] := Progress`EvaluateWithProgress @ args; +evaluateWithProgress // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*evaluateWithWorkspaceProgress*) +evaluateWithWorkspaceProgress // beginDefinition; +evaluateWithWorkspaceProgress // Attributes = { HoldFirst }; + +evaluateWithWorkspaceProgress[ args___ ] := + Catch @ Module[ { nbo, cell, container, attached }, + + nbo = $evaluationNotebook; + cell = First[ Cells[ nbo, AttachedCell -> True, CellStyle -> "ChatInputField" ], None ]; + If[ ! MatchQ[ cell, _CellObject ], Throw @ evaluateWithDialogProgress @ args ]; + + container = ProgressIndicator[ Appearance -> "Percolate" ]; + + attached = AttachCell[ + cell, + Magnify[ + Panel[ + Dynamic[ container, Deinitialization :> Quiet @ Remove @ container ], + ImageSize -> { Full, Automatic } + ], + AbsoluteCurrentValue[ nbo, Magnification ] + ], + { Center, Top }, + 0, + { Center, Bottom } + ]; + + WithCleanup[ + Progress`EvaluateWithProgress[ + args, + "Container" :> container, + "Delay" -> 0 + ], + NotebookDelete @ attached; + Quiet @ Remove @ container; + ] + ]; + +evaluateWithWorkspaceProgress // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*evaluateWithInlineProgress*) +evaluateWithInlineProgress // beginDefinition; +evaluateWithInlineProgress // Attributes = { HoldFirst }; + +evaluateWithInlineProgress[ args___ ] := Enclose[ + Catch @ Module[ { container, cells, inserted }, + + container = ProgressIndicator[ Appearance -> "Percolate" ]; + cells = $inlineChatState[ "MessageCells" ]; + inserted = insertInlineProgressIndicator[ Dynamic @ container, cells ]; + If[ ! MatchQ[ inserted, { ___Cell } ], Throw @ evaluateWithDialogProgress @ args ]; + + WithCleanup[ + Progress`EvaluateWithProgress[ + args, + "Container" :> container, + "Delay" -> 0 + ], + ConfirmMatch[ removeInlineProgressIndicator @ cells, { ___Cell }, "Removed" ]; + Quiet @ Remove @ container; + ] + ], + throwInternalFailure +]; + +evaluateWithInlineProgress // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*insertInlineProgressIndicator*) +insertInlineProgressIndicator // beginDefinition; + +insertInlineProgressIndicator[ Dynamic[ container_ ], Dynamic[ cells0_Symbol ] ] := Enclose[ + Module[ { cells, cell }, + cells = ConfirmMatch[ cells0, { ___Cell }, "Cells" ]; + cell = Cell[ + BoxData @ assistantMessageBox @ ToBoxes @ Dynamic[ + container, + Deinitialization :> Quiet @ Remove @ container + ], + "ChatOutput", + "EvaluateWithProgressContainer", + CellFrame -> 0, + PrivateCellOptions -> { "ContentsOpacity" -> 1 } + ]; + cells0 = Append[ cells, cell ] + ], + throwInternalFailure +]; + +insertInlineProgressIndicator // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*removeInlineProgressIndicator*) +removeInlineProgressIndicator // beginDefinition; + +removeInlineProgressIndicator[ Dynamic[ cells_Symbol ] ] := + cells = DeleteCases[ cells, Cell[ __, "EvaluateWithProgressContainer", ___ ] ]; -evaluateWithProgress[ args___ ] /; $ChatNotebookEvaluation := +removeInlineProgressIndicator // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*evaluateWithDialogProgress*) +evaluateWithDialogProgress // beginDefinition; +evaluateWithDialogProgress // Attributes = { HoldFirst }; + +evaluateWithDialogProgress[ args___ ] := Module[ { container, dialog }, container = ProgressIndicator[ Appearance -> "Percolate" ]; dialog = CreateDialog[ - Pane[ Dynamic @ container, ImageMargins -> { { 5, 5 }, { 10, 5 } } ], + Pane[ + Dynamic[ container, Deinitialization :> Quiet @ Remove @ container ], + ImageMargins -> { { 5, 5 }, { 10, 5 } } + ], WindowTitle -> Dynamic[ $progressText ] ]; @@ -180,14 +299,11 @@ evaluateWithProgress[ args___ ] /; $ChatNotebookEvaluation := "Delay" -> 0 ], NotebookClose @ dialog; - Remove @ container; + Quiet @ Remove @ container; ] ]; -evaluateWithProgress[ args___ ] := - Progress`EvaluateWithProgress @ args; - -evaluateWithProgress // endDefinition; +evaluateWithDialogProgress // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) @@ -219,10 +335,12 @@ unpackVectorDatabases // endDefinition; unpackVectorDatabase // beginDefinition; unpackVectorDatabase[ zip_String? FileExistsQ ] := Enclose[ - Module[ { root, dir }, + Module[ { root, dir, res }, root = ConfirmBy[ DirectoryName @ zip, DirectoryQ, "RootDirectory" ]; dir = ConfirmBy[ GeneralUtilities`EnsureDirectory @ { root, FileBaseName @ zip }, DirectoryQ, "Directory" ]; - ConfirmMatch[ ExtractArchive[ zip, dir, OverwriteTarget -> True ], { __? FileExistsQ }, "Extracted" ] + res = ConfirmMatch[ ExtractArchive[ zip, dir, OverwriteTarget -> True ], { __? FileExistsQ }, "Extracted" ]; + DeleteFile @ zip; + res ], throwInternalFailure ]; From b014ab3b5845666a008906771254540dc4f303d2 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 26 Sep 2024 12:11:34 -0400 Subject: [PATCH 130/180] Align chat input text using a PaneBox instead of TextAlignment --- Developer/Resources/Styles.wl | 18 +++++++++++------- Developer/Resources/WorkspaceStyles.wl | 1 - 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/Developer/Resources/Styles.wl b/Developer/Resources/Styles.wl index 2d97c011..db855366 100644 --- a/Developer/Resources/Styles.wl +++ b/Developer/Resources/Styles.wl @@ -1085,13 +1085,17 @@ Cell[ Cell[ StyleData[ "UserMessageBox" ], TemplateBoxOptions -> { - DisplayFunction -> Function @ Evaluate @ FrameBox[ - Cell[ #, "Text", Background -> None ], - Background -> RGBColor[ "#edf4fc" ], - FrameMargins -> 8, - FrameStyle -> RGBColor[ "#a3c9f2" ], - RoundingRadius -> 10, - StripOnInput -> False + DisplayFunction -> Function @ Evaluate @ PaneBox[ + FrameBox[ + Cell[ #, "Text", Background -> None ], + Background -> RGBColor[ "#edf4fc" ], + FrameMargins -> 8, + FrameStyle -> RGBColor[ "#a3c9f2" ], + RoundingRadius -> 10, + StripOnInput -> False + ], + Alignment -> Right, + ImageSize -> { Full, Automatic } ] } ] diff --git a/Developer/Resources/WorkspaceStyles.wl b/Developer/Resources/WorkspaceStyles.wl index f56b6bb2..ac8c0dbd 100644 --- a/Developer/Resources/WorkspaceStyles.wl +++ b/Developer/Resources/WorkspaceStyles.wl @@ -44,7 +44,6 @@ Cell[ CellMargins -> { { 15, 10 }, { 5, 10 } }, Selectable -> True, ShowCellBracket -> False, - TextAlignment -> Right, CellFrameLabels -> { { None, None }, { From ed42b82ef1c70b1fc9ca620ed3da998f6c3793ee Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 26 Sep 2024 12:13:08 -0400 Subject: [PATCH 131/180] Rebuilt stylesheets --- Assets/DisplayFunctions.wxf | Bin 539108 -> 539189 bytes Developer/StylesheetBuilder.wl | 8 ------- FrontEnd/StyleSheets/Chatbook.nb | 20 +++++++++++------- FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb | 5 ++--- 4 files changed, 14 insertions(+), 19 deletions(-) diff --git a/Assets/DisplayFunctions.wxf b/Assets/DisplayFunctions.wxf index aacf1a8ba3ebbe522991168cb254bd5ded7385b6..7860349451e9365b6ef390364ebbe699271fb2af 100644 GIT binary patch delta 65 zcmV-H0KWg^^B}eKAb^AcgaU*Egam{Iga(8Mv@0uqyr6ce{p3F7M2#)7Pc1lEgS*d+oQQTm>9P&=HZy63jh)q3}pZS diff --git a/Developer/StylesheetBuilder.wl b/Developer/StylesheetBuilder.wl index 6b7496f3..6ae9044d 100644 --- a/Developer/StylesheetBuilder.wl +++ b/Developer/StylesheetBuilder.wl @@ -15,14 +15,6 @@ BuildStylesheets; BuildChatbookStylesheet; BuildWorkspaceStylesheet; -System`LinkedItems; -System`MenuAnchor; -System`MenuItem; -System`RawInputForm; -System`ToggleMenuItem; -System`Scope; -System`ClosingSaveDialog; - Begin[ "`Private`" ]; diff --git a/FrontEnd/StyleSheets/Chatbook.nb b/FrontEnd/StyleSheets/Chatbook.nb index 7b85f382..b3dc60ba 100644 --- a/FrontEnd/StyleSheets/Chatbook.nb +++ b/FrontEnd/StyleSheets/Chatbook.nb @@ -828,7 +828,7 @@ Notebook[ ], Cell[ StyleData["ChatStyleSheetInformation"], - TaggingRules -> <|"StyleSheetVersion" -> "1.5.1.3933912045"|> + TaggingRules -> <|"StyleSheetVersion" -> "1.5.1.3936341552"|> ], Cell[ StyleData["Text"], @@ -17613,13 +17613,17 @@ Notebook[ TemplateBoxOptions -> { DisplayFunction -> (Function[ - FrameBox[ - Cell[#1, "Text", Background -> None], - Background -> RGBColor[0.929412, 0.956863, 0.988235], - FrameMargins -> 8, - FrameStyle -> RGBColor[0.639216, 0.788235, 0.94902], - RoundingRadius -> 10, - StripOnInput -> False + PaneBox[ + FrameBox[ + Cell[#1, "Text", Background -> None], + Background -> RGBColor[0.929412, 0.956863, 0.988235], + FrameMargins -> 8, + FrameStyle -> RGBColor[0.639216, 0.788235, 0.94902], + RoundingRadius -> 10, + StripOnInput -> False + ], + Alignment -> Right, + ImageSize -> {Full, Automatic} ] ]) } diff --git a/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb b/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb index 1c01e99a..69ffc6b5 100644 --- a/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb +++ b/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb @@ -60,7 +60,7 @@ Notebook[ ], Cell[ StyleData["WorkspaceChatStyleSheetInformation"], - TaggingRules -> <|"WorkspaceChatStyleSheetVersion" -> "1.5.1.3933912045"|> + TaggingRules -> <|"WorkspaceChatStyleSheetVersion" -> "1.5.1.3936341552"|> ], Cell[ StyleData["ChatInput"], @@ -94,8 +94,7 @@ Notebook[ ] } }, - CellFrameLabelMargins -> 6, - TextAlignment -> Right + CellFrameLabelMargins -> 6 ], Cell[ StyleData["ChatOutput"], From 88ceb608bb06cb812268159cc6232fa3826fbe06 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 26 Sep 2024 12:14:23 -0400 Subject: [PATCH 132/180] Bugfix: Don't use message templates in notebook context strings --- Source/Chatbook/ChatModes/Context.wl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Chatbook/ChatModes/Context.wl b/Source/Chatbook/ChatModes/Context.wl index a643c8fe..80193381 100644 --- a/Source/Chatbook/ChatModes/Context.wl +++ b/Source/Chatbook/ChatModes/Context.wl @@ -153,7 +153,7 @@ getContextFromSelection0[ selectionData_Association, settings_ ] := Enclose[ marked = ConfirmMatch[ insertSelectionIndicator @ { before, selected, after }, { ___Cell }, "Marked" ]; messages = ConfirmMatch[ LogChatTiming @ makeChatMessages[ settings, marked, False ], { ___Association }, "Messages" ]; - string = ConfirmBy[ messagesToString @ messages, StringQ, "String" ]; + string = ConfirmBy[ messagesToString[ messages, "MessageTemplate" -> None ], StringQ, "String" ]; $contextPrompt = processContextPromptString @ string; $selectionPrompt = extractSelectionPrompt @ string; From fee931ccd1ca5fb74ccff82b5bd9f13994ad0548 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 26 Sep 2024 14:39:59 -0400 Subject: [PATCH 133/180] Add feedback buttons to workspace chat outputs --- Developer/Resources/Styles.wl | 38 +++- Developer/Resources/WorkspaceStyles.wl | 2 +- Developer/StylesheetBuilder.wl | 3 +- FrontEnd/StyleSheets/Chatbook.nb | 177 +++++++++++++++++- FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb | 4 +- Source/Chatbook/Actions.wl | 71 +++---- .../Chatbook/ChatModes/ShowCodeAssistance.wl | 4 +- Source/Chatbook/ChatModes/UI.wl | 38 +++- Source/Chatbook/CommonSymbols.wl | 1 + 9 files changed, 276 insertions(+), 62 deletions(-) diff --git a/Developer/Resources/Styles.wl b/Developer/Resources/Styles.wl index db855366..f7281518 100644 --- a/Developer/Resources/Styles.wl +++ b/Developer/Resources/Styles.wl @@ -334,7 +334,7 @@ Cell[ TaggingRules -> <| "ChatNotebookSettings" -> <| |> |>, CellTrayWidgets -> <| "ChatWidget" -> <| "Visible" -> False |>, - "ChatFeedback" -> <| "Content" -> Cell[ BoxData @ ToBoxes @ $feedbackButtons, "ChatFeedback" ] |> + "ChatFeedback" -> <| "Content" -> Cell[ BoxData @ ToBoxes @ $feedbackButtonsV, "ChatFeedback" ] |> |>, menuInitializer[ "ChatOutput", RGBColor[ "#ecf0f5" ] ] ] @@ -1108,20 +1108,38 @@ Cell[ Cell[ StyleData[ "AssistantMessageBox" ], TemplateBoxOptions -> { - DisplayFunction -> Function @ Evaluate @ FrameBox[ - #, - BaseStyle -> "Text", - Background -> RGBColor[ "#fcfdff" ], - FrameMargins -> 8, - FrameStyle -> RGBColor[ "#c9ccd0" ], - ImageSize -> { Scaled[ 1 ], Automatic }, - RoundingRadius -> 10, - StripOnInput -> False + DisplayFunction -> Function @ Evaluate @ TagBox[ + FrameBox[ + #, + BaseStyle -> "Text", + Background -> RGBColor[ "#fcfdff" ], + FrameMargins -> 8, + FrameStyle -> RGBColor[ "#c9ccd0" ], + ImageSize -> { Scaled[ 1 ], Automatic }, + RoundingRadius -> 10, + StripOnInput -> False + ], + EventHandlerTag @ { + "MouseEntered" :> + With[ { cell = EvaluationCell[ ] }, + Quiet @ Needs[ "Wolfram`Chatbook`" -> None ]; + Symbol[ "Wolfram`Chatbook`ChatbookAction" ][ "AttachAssistantMessageButtons", cell ] + ], + Method -> "Preemptive", + PassEventsDown -> Automatic, + PassEventsUp -> True + } ] } ] +Cell[ + StyleData[ "FeedbackButtonsHorizontal" ], + TemplateBoxOptions -> { DisplayFunction -> Function @ Evaluate @ ToBoxes @ $feedbackButtonsH } +] + + (* ::Subsection::Closed:: *) (*DropShadowPaneBox*) diff --git a/Developer/Resources/WorkspaceStyles.wl b/Developer/Resources/WorkspaceStyles.wl index ac8c0dbd..3efabcc3 100644 --- a/Developer/Resources/WorkspaceStyles.wl +++ b/Developer/Resources/WorkspaceStyles.wl @@ -73,7 +73,7 @@ Cell[ Background -> None, CellDingbat -> None, CellFrame -> 0, - CellMargins -> { { 10, 15 }, { 15, 12 } }, + CellMargins -> { { 10, 15 }, { 25, 12 } }, Initialization -> None, Selectable -> True, ShowCellBracket -> False, diff --git a/Developer/StylesheetBuilder.wl b/Developer/StylesheetBuilder.wl index 6ae9044d..24cc420d 100644 --- a/Developer/StylesheetBuilder.wl +++ b/Developer/StylesheetBuilder.wl @@ -398,7 +398,8 @@ assistantMenuInitializer[ name_String, color_ ] := -$feedbackButtons = Column[ { feedbackButton @ True, feedbackButton @ False }, Spacings -> { 0, { 0, 0.25, 0 } } ]; +$feedbackButtonsV := Column[ { feedbackButton @ True, feedbackButton @ False }, Spacings -> { 0, { 0, 0.25, 0 } } ]; +$feedbackButtonsH := Grid[ { { feedbackButton @ True, feedbackButton @ False } }, Spacings -> 0.2 ]; feedbackButton[ True ] := feedbackButton[ True , "ThumbsUp" ]; feedbackButton[ False ] := feedbackButton[ False, "ThumbsDown" ]; diff --git a/FrontEnd/StyleSheets/Chatbook.nb b/FrontEnd/StyleSheets/Chatbook.nb index b3dc60ba..fc649b60 100644 --- a/FrontEnd/StyleSheets/Chatbook.nb +++ b/FrontEnd/StyleSheets/Chatbook.nb @@ -828,7 +828,7 @@ Notebook[ ], Cell[ StyleData["ChatStyleSheetInformation"], - TaggingRules -> <|"StyleSheetVersion" -> "1.5.1.3936341552"|> + TaggingRules -> <|"StyleSheetVersion" -> "1.5.1.3936349213"|> ], Cell[ StyleData["Text"], @@ -17633,15 +17633,172 @@ Notebook[ TemplateBoxOptions -> { DisplayFunction -> (Function[ - FrameBox[ - #1, - BaseStyle -> "Text", - Background -> RGBColor[0.988235, 0.992157, 1.0], - FrameMargins -> 8, - FrameStyle -> RGBColor[0.788235, 0.8, 0.815686], - ImageSize -> {Scaled[1], Automatic}, - RoundingRadius -> 10, - StripOnInput -> False + TagBox[ + FrameBox[ + #1, + BaseStyle -> "Text", + Background -> RGBColor[0.988235, 0.992157, 1.0], + FrameMargins -> 8, + FrameStyle -> RGBColor[0.788235, 0.8, 0.815686], + ImageSize -> {Scaled[1], Automatic}, + RoundingRadius -> 10, + StripOnInput -> False + ], + EventHandlerTag[ + { + "MouseEntered" :> + With[ { Wolfram`ChatNB`cell = EvaluationCell[] }, + Quiet[Needs["Wolfram`Chatbook`" -> None]]; + Symbol["Wolfram`Chatbook`ChatbookAction"][ + "AttachAssistantMessageButtons", + Wolfram`ChatNB`cell + ] + ], + Method -> "Preemptive", + PassEventsDown -> Automatic, + PassEventsUp -> True + } + ] + ] + ]) + } + ], + Cell[ + StyleData["FeedbackButtonsHorizontal"], + TemplateBoxOptions -> { + DisplayFunction -> + (Function[ + TagBox[ + GridBox[ + { + { + ButtonBox[ + TagBox[ + TagBox[ + TooltipBox[ + PaneSelectorBox[ + { + False -> TemplateBox[{}, "ThumbsUpInactive"], + True -> TemplateBox[{}, "ThumbsUpActive"] + }, + Dynamic[CurrentValue["MouseOver"]], + ImageSize -> Automatic, + FrameMargins -> 0 + ], + DynamicBox[ + ToBoxes[ + FEPrivate`FrontEndResource[ + "ChatbookStrings", + "StylesheetFeedbackButtonTooltip" + ], + StandardForm + ] + ] + ], + Function[ + Annotation[ + #1, + Dynamic[ + FEPrivate`FrontEndResource[ + "ChatbookStrings", + "StylesheetFeedbackButtonTooltip" + ] + ], + "Tooltip" + ] + ] + ], + MouseAppearanceTag["LinkHand"] + ], + ButtonFunction :> + With[ { Wolfram`ChatNB`cell$ = EvaluationCell[] }, + Quiet[Needs["Wolfram`Chatbook`" -> None]]; + Catch[ + Symbol["Wolfram`Chatbook`ChatbookAction"][ + "SendFeedback", + Wolfram`ChatNB`cell$, + True + ], + Blank[] + ] + ], + Appearance -> + Dynamic[ + FEPrivate`FrontEndResource[ + "FEExpressions", + "SuppressMouseDownNinePatchAppearance" + ] + ], + Evaluator -> Automatic, + Method -> "Preemptive" + ], + ButtonBox[ + TagBox[ + TagBox[ + TooltipBox[ + PaneSelectorBox[ + { + False -> TemplateBox[{}, "ThumbsDownInactive"], + True -> TemplateBox[{}, "ThumbsDownActive"] + }, + Dynamic[CurrentValue["MouseOver"]], + ImageSize -> Automatic, + FrameMargins -> 0 + ], + DynamicBox[ + ToBoxes[ + FEPrivate`FrontEndResource[ + "ChatbookStrings", + "StylesheetFeedbackButtonTooltip" + ], + StandardForm + ] + ] + ], + Function[ + Annotation[ + #1, + Dynamic[ + FEPrivate`FrontEndResource[ + "ChatbookStrings", + "StylesheetFeedbackButtonTooltip" + ] + ], + "Tooltip" + ] + ] + ], + MouseAppearanceTag["LinkHand"] + ], + ButtonFunction :> + With[ { Wolfram`ChatNB`cell$ = EvaluationCell[] }, + Quiet[Needs["Wolfram`Chatbook`" -> None]]; + Catch[ + Symbol["Wolfram`Chatbook`ChatbookAction"][ + "SendFeedback", + Wolfram`ChatNB`cell$, + False + ], + Blank[] + ] + ], + Appearance -> + Dynamic[ + FEPrivate`FrontEndResource[ + "FEExpressions", + "SuppressMouseDownNinePatchAppearance" + ] + ], + Evaluator -> Automatic, + Method -> "Preemptive" + ] + } + }, + AutoDelete -> False, + GridBoxItemSize -> {"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings -> {"Columns" -> {{0.2}}} + ], + "Grid" ] ]) } diff --git a/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb b/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb index 69ffc6b5..0d6e6368 100644 --- a/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb +++ b/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb @@ -60,7 +60,7 @@ Notebook[ ], Cell[ StyleData["WorkspaceChatStyleSheetInformation"], - TaggingRules -> <|"WorkspaceChatStyleSheetVersion" -> "1.5.1.3936341552"|> + TaggingRules -> <|"WorkspaceChatStyleSheetVersion" -> "1.5.1.3936349213"|> ], Cell[ StyleData["ChatInput"], @@ -102,7 +102,7 @@ Notebook[ CellFrame -> 0, CellDingbat -> None, ShowCellBracket -> False, - CellMargins -> {{10, 15}, {15, 12}}, + CellMargins -> {{10, 15}, {25, 12}}, Initialization :> None, CellFrameLabels -> { {None, None}, diff --git a/Source/Chatbook/Actions.wl b/Source/Chatbook/Actions.wl index c513defe..501e99fc 100644 --- a/Source/Chatbook/Actions.wl +++ b/Source/Chatbook/Actions.wl @@ -62,41 +62,42 @@ ChatCellEvaluate[ args___ ] := (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*ChatbookAction*) -ChatbookAction[ "AccentIncludedCells" , args___ ] := catchMine @ accentIncludedCells @ args; -ChatbookAction[ "AIAutoAssist" , args___ ] := catchMine @ AIAutoAssist @ args; -ChatbookAction[ "Ask" , args___ ] := catchMine @ AskChat @ args; -ChatbookAction[ "AssistantMessageLabel" , args___ ] := catchMine @ assistantMessageLabel @ args; -ChatbookAction[ "AttachCodeButtons" , args___ ] := catchMine @ AttachCodeButtons @ args; -ChatbookAction[ "AttachWorkspaceChatInput" , args___ ] := catchMine @ attachWorkspaceChatInput @ args; -ChatbookAction[ "CopyChatObject" , args___ ] := catchMine @ CopyChatObject @ args; -ChatbookAction[ "CopyExplodedCells" , args___ ] := catchMine @ CopyExplodedCells @ args; -ChatbookAction[ "DisableAssistance" , args___ ] := catchMine @ DisableAssistance @ args; -ChatbookAction[ "DisplayInlineChat" , args___ ] := catchMine @ displayInlineChat @ args; -ChatbookAction[ "EvaluateChatInput" , args___ ] := catchMine @ EvaluateChatInput @ args; -ChatbookAction[ "EvaluateWorkspaceChat" , args___ ] := catchMine @ evaluateWorkspaceChat @ args; -ChatbookAction[ "EvaluateInlineChat" , args___ ] := catchMine @ evaluateInlineChat @ args; -ChatbookAction[ "ExclusionToggle" , args___ ] := catchMine @ ExclusionToggle @ args; -ChatbookAction[ "ExplodeDuplicate" , args___ ] := catchMine @ ExplodeDuplicate @ args; -ChatbookAction[ "ExplodeInPlace" , args___ ] := catchMine @ ExplodeInPlace @ args; -ChatbookAction[ "InsertCodeBelow" , args___ ] := catchMine @ insertCodeBelow @ args; -ChatbookAction[ "InsertInlineReference" , args___ ] := catchMine @ InsertInlineReference @ args; -ChatbookAction[ "MakeWorkspaceChatDockedCell", args___ ] := catchMine @ makeWorkspaceChatDockedCell @ args; -ChatbookAction[ "MoveToChatInputField" , args___ ] := catchMine @ moveToChatInputField @ args; -ChatbookAction[ "OpenChatBlockSettings" , args___ ] := catchMine @ OpenChatBlockSettings @ args; -ChatbookAction[ "OpenChatMenu" , args___ ] := catchMine @ OpenChatMenu @ args; -ChatbookAction[ "PersonaManage" , args___ ] := catchMine @ PersonaManage @ args; -ChatbookAction[ "RemoveCellAccents" , args___ ] := catchMine @ removeCellAccents @ args; -ChatbookAction[ "Send" , args___ ] := catchMine @ SendChat @ args; -ChatbookAction[ "SendFeedback" , args___ ] := catchMine @ SendFeedback @ args; -ChatbookAction[ "StopChat" , args___ ] := catchMine @ StopChat @ args; -ChatbookAction[ "TabLeft" , args___ ] := catchMine @ TabLeft @ args; -ChatbookAction[ "TabRight" , args___ ] := catchMine @ TabRight @ args; -ChatbookAction[ "ToggleFormatting" , args___ ] := catchMine @ ToggleFormatting @ args; -ChatbookAction[ "ToolManage" , args___ ] := catchMine @ ToolManage @ args; -ChatbookAction[ "UpdateDynamics" , args___ ] := catchMine @ updateDynamics @ args; -ChatbookAction[ "UserMessageLabel" , args___ ] := catchMine @ userMessageLabel @ args; -ChatbookAction[ "WidgetSend" , args___ ] := catchMine @ WidgetSend @ args; -ChatbookAction[ args___ ] := catchMine @ throwInternalFailure @ ChatbookAction @ args; +ChatbookAction[ "AccentIncludedCells" , args___ ] := catchMine @ accentIncludedCells @ args; +ChatbookAction[ "AIAutoAssist" , args___ ] := catchMine @ AIAutoAssist @ args; +ChatbookAction[ "Ask" , args___ ] := catchMine @ AskChat @ args; +ChatbookAction[ "AssistantMessageLabel" , args___ ] := catchMine @ assistantMessageLabel @ args; +ChatbookAction[ "AttachAssistantMessageButtons", args___ ] := catchMine @ attachAssistantMessageButtons @ args; +ChatbookAction[ "AttachCodeButtons" , args___ ] := catchMine @ AttachCodeButtons @ args; +ChatbookAction[ "AttachWorkspaceChatInput" , args___ ] := catchMine @ attachWorkspaceChatInput @ args; +ChatbookAction[ "CopyChatObject" , args___ ] := catchMine @ CopyChatObject @ args; +ChatbookAction[ "CopyExplodedCells" , args___ ] := catchMine @ CopyExplodedCells @ args; +ChatbookAction[ "DisableAssistance" , args___ ] := catchMine @ DisableAssistance @ args; +ChatbookAction[ "DisplayInlineChat" , args___ ] := catchMine @ displayInlineChat @ args; +ChatbookAction[ "EvaluateChatInput" , args___ ] := catchMine @ EvaluateChatInput @ args; +ChatbookAction[ "EvaluateWorkspaceChat" , args___ ] := catchMine @ evaluateWorkspaceChat @ args; +ChatbookAction[ "EvaluateInlineChat" , args___ ] := catchMine @ evaluateInlineChat @ args; +ChatbookAction[ "ExclusionToggle" , args___ ] := catchMine @ ExclusionToggle @ args; +ChatbookAction[ "ExplodeDuplicate" , args___ ] := catchMine @ ExplodeDuplicate @ args; +ChatbookAction[ "ExplodeInPlace" , args___ ] := catchMine @ ExplodeInPlace @ args; +ChatbookAction[ "InsertCodeBelow" , args___ ] := catchMine @ insertCodeBelow @ args; +ChatbookAction[ "InsertInlineReference" , args___ ] := catchMine @ InsertInlineReference @ args; +ChatbookAction[ "MakeWorkspaceChatDockedCell" , args___ ] := catchMine @ makeWorkspaceChatDockedCell @ args; +ChatbookAction[ "MoveToChatInputField" , args___ ] := catchMine @ moveToChatInputField @ args; +ChatbookAction[ "OpenChatBlockSettings" , args___ ] := catchMine @ OpenChatBlockSettings @ args; +ChatbookAction[ "OpenChatMenu" , args___ ] := catchMine @ OpenChatMenu @ args; +ChatbookAction[ "PersonaManage" , args___ ] := catchMine @ PersonaManage @ args; +ChatbookAction[ "RemoveCellAccents" , args___ ] := catchMine @ removeCellAccents @ args; +ChatbookAction[ "Send" , args___ ] := catchMine @ SendChat @ args; +ChatbookAction[ "SendFeedback" , args___ ] := catchMine @ SendFeedback @ args; +ChatbookAction[ "StopChat" , args___ ] := catchMine @ StopChat @ args; +ChatbookAction[ "TabLeft" , args___ ] := catchMine @ TabLeft @ args; +ChatbookAction[ "TabRight" , args___ ] := catchMine @ TabRight @ args; +ChatbookAction[ "ToggleFormatting" , args___ ] := catchMine @ ToggleFormatting @ args; +ChatbookAction[ "ToolManage" , args___ ] := catchMine @ ToolManage @ args; +ChatbookAction[ "UpdateDynamics" , args___ ] := catchMine @ updateDynamics @ args; +ChatbookAction[ "UserMessageLabel" , args___ ] := catchMine @ userMessageLabel @ args; +ChatbookAction[ "WidgetSend" , args___ ] := catchMine @ WidgetSend @ args; +ChatbookAction[ args___ ] := catchMine @ throwInternalFailure @ ChatbookAction @ args; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) diff --git a/Source/Chatbook/ChatModes/ShowCodeAssistance.wl b/Source/Chatbook/ChatModes/ShowCodeAssistance.wl index 9eb21a15..e2819936 100644 --- a/Source/Chatbook/ChatModes/ShowCodeAssistance.wl +++ b/Source/Chatbook/ChatModes/ShowCodeAssistance.wl @@ -228,8 +228,8 @@ findCurrentWorkspaceChat // endDefinition; (* ::Section::Closed:: *) (*CreateWorkspaceChat*) CreateWorkspaceChat // beginDefinition; -CreateWorkspaceChat[ ] := catchMine @ createWorkspaceChat[ ]; -CreateWorkspaceChat[ nbo_NotebookObject ] := catchMine @ createWorkspaceChat @ nbo; +CreateWorkspaceChat[ ] := catchMine @ LogChatTiming @ createWorkspaceChat[ ]; +CreateWorkspaceChat[ nbo_NotebookObject ] := catchMine @ LogChatTiming @ createWorkspaceChat @ nbo; CreateWorkspaceChat // endExportedDefinition; (* ::**************************************************************************************************************:: *) diff --git a/Source/Chatbook/ChatModes/UI.wl b/Source/Chatbook/ChatModes/UI.wl index bc52996c..7e9164f2 100644 --- a/Source/Chatbook/ChatModes/UI.wl +++ b/Source/Chatbook/ChatModes/UI.wl @@ -664,7 +664,7 @@ moveToChatInputField0 // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) -(*Chat Message Labels*) +(*Chat Message Decorations*) (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) @@ -730,6 +730,42 @@ userImage[ other_ ] := userImage // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*attachAssistantMessageButtons*) +attachAssistantMessageButtons // beginDefinition; + +attachAssistantMessageButtons[ cell_ ] /; $dynamicText || MatchQ[ $ChatEvaluationCell, _CellObject ] := Null; + +attachAssistantMessageButtons[ cell_CellObject ] := + attachAssistantMessageButtons[ cell, CurrentChatSettings[ cell, "WorkspaceChat" ] ]; + +attachAssistantMessageButtons[ cell0_CellObject, True ] := Enclose[ + Catch @ Module[ { cell, attached }, + cell = topParentCell @ cell0; + If[ ! MatchQ[ cell, _CellObject ], Throw @ Null ]; + NotebookDelete @ Cells[ cell, AttachedCell -> True, CellStyle -> "ChatOutputTrayButtons" ]; + attached = AttachCell[ + cell, + Cell[ + BoxData @ TemplateBox[ { }, "FeedbackButtonsHorizontal" ], + "ChatOutputTrayButtons", + Magnification -> AbsoluteCurrentValue[ cell, Magnification ] + ], + { Left, Bottom }, + 0, + { Left, Top }, + RemovalConditions -> "MouseExit" + ]; + ], + throwInternalFailure +]; + +attachAssistantMessageButtons[ cell_CellObject, _ ] := + Null; + +attachAssistantMessageButtons // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Chat Notebook Conversion*) diff --git a/Source/Chatbook/CommonSymbols.wl b/Source/Chatbook/CommonSymbols.wl index de052a86..aa2eb98f 100644 --- a/Source/Chatbook/CommonSymbols.wl +++ b/Source/Chatbook/CommonSymbols.wl @@ -92,6 +92,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `assistantMessageBox; `assistantMessageLabel; `associationKeyDeflatten; +`attachAssistantMessageButtons; `attachInlineChatInput; `attachMenuCell; `attachWorkspaceChatInput; From ca61d310835bd615db8f70a57fa6700b2589d729 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 26 Sep 2024 14:41:10 -0400 Subject: [PATCH 134/180] Initialize vector databases if they are already downloaded --- Source/Chatbook/PromptGenerators/VectorDatabases.wl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Source/Chatbook/PromptGenerators/VectorDatabases.wl b/Source/Chatbook/PromptGenerators/VectorDatabases.wl index 7d68f748..0f46c7e9 100644 --- a/Source/Chatbook/PromptGenerators/VectorDatabases.wl +++ b/Source/Chatbook/PromptGenerators/VectorDatabases.wl @@ -17,6 +17,7 @@ HoldComplete[ (*Configuration*) $vectorDBNames = { "DocumentationURIs", "WolframAlphaQueries" }; $dbVersion = "1.1.0"; +$allowDownload = True; $embeddingDimension = 384; $maxNeighbors = 50; @@ -121,6 +122,9 @@ vectorDBDirectoryQ0 // endDefinition; (*downloadVectorDatabases*) downloadVectorDatabases // beginDefinition; +downloadVectorDatabases[ ] /; ! $allowDownload := + Throw[ Missing[ "DownloadDisabled" ], $vdbTag ]; + downloadVectorDatabases[ ] := downloadVectorDatabases[ $localVectorDBDirectory, $vectorDBDownloadURLs ]; @@ -404,7 +408,7 @@ inVectorDBDirectory // endDefinition; (* ::Subsection::Closed:: *) (*initializeVectorDatabases*) initializeVectorDatabases // beginDefinition; -initializeVectorDatabases[ ] := getVectorDB /@ $vectorDBNames; +initializeVectorDatabases[ ] := Block[ { $allowDownload = False }, Catch[ getVectorDB /@ $vectorDBNames, $vdbTag ] ]; initializeVectorDatabases // endDefinition; (* ::**************************************************************************************************************:: *) From 9a2fc4526949cd89e9f2e7a9c89d398e673699f3 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 26 Sep 2024 14:41:31 -0400 Subject: [PATCH 135/180] Updated templates --- Assets/DisplayFunctions.wxf | Bin 539189 -> 541898 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Assets/DisplayFunctions.wxf b/Assets/DisplayFunctions.wxf index 7860349451e9365b6ef390364ebbe699271fb2af..01a6424c57ab8823fbcbace98e0625c858a2804a 100644 GIT binary patch delta 585 zcmdn`Md4JZBD;l^V~K9C)Z~lIQjLnOij1v_Os$H{t%@wIima`QY^{pyTNOE$@=QPX zlbwr^V{)Ug?DTFf4zB6%csTw}|EA6%GTlIzQI_2`uOzi7HD&q&CZ^8G6AX3aWF1RN z5|c9=i;FXhOA_-+d{c{y6Vp?jN=r)e^NJ^*mynyD^`Bj2`W{_II~m2di*pDH zgk+TFCKZPkc;+Q0mt>ZuPOtmMt~TANl~riE@=td2$qKTn)00^^#HaVkap()n2bWal zq!wqSrk21go_}^Ky9U007UW B$vOZ4 delta 58 zcmX@rskrrv0=tEkW3g_q)Z~lIQjLnOij1v_Os$H{t%@wIima`QY^{pyTNOE$@@&7r O!=cK!y+MM*O9ucQtq|(~ From 1315bd97da4245830ef65dc32da5c386e64a99ec Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 26 Sep 2024 14:50:25 -0400 Subject: [PATCH 136/180] Bugfix: Send feedback fails if chat is reloaded from history --- Source/Chatbook/ChatModes/UI.wl | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Source/Chatbook/ChatModes/UI.wl b/Source/Chatbook/ChatModes/UI.wl index 7e9164f2..c2c74433 100644 --- a/Source/Chatbook/ChatModes/UI.wl +++ b/Source/Chatbook/ChatModes/UI.wl @@ -742,9 +742,17 @@ attachAssistantMessageButtons[ cell_CellObject ] := attachAssistantMessageButtons[ cell0_CellObject, True ] := Enclose[ Catch @ Module[ { cell, attached }, + cell = topParentCell @ cell0; If[ ! MatchQ[ cell, _CellObject ], Throw @ Null ]; + + (* If chat has been reloaded from history, it no longer has the necessary metadata for feedback: *) + If[ ! StringQ @ CurrentValue[ cell, { TaggingRules, "ChatData" } ], Throw @ Null ]; + + (* Remove existing attached cell, if any: *) NotebookDelete @ Cells[ cell, AttachedCell -> True, CellStyle -> "ChatOutputTrayButtons" ]; + + (* Attach new cell: *) attached = AttachCell[ cell, Cell[ @@ -756,7 +764,7 @@ attachAssistantMessageButtons[ cell0_CellObject, True ] := Enclose[ 0, { Left, Top }, RemovalConditions -> "MouseExit" - ]; + ] ], throwInternalFailure ]; From 0f88fd28583ae6e02f26ea047ef366c3d74606e7 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 26 Sep 2024 16:15:11 -0400 Subject: [PATCH 137/180] Ensure only inner content of chat cells is selectable in workspace chat --- Developer/Resources/Styles.wl | 5 +++-- Developer/Resources/WorkspaceStyles.wl | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Developer/Resources/Styles.wl b/Developer/Resources/Styles.wl index f7281518..8df97cd9 100644 --- a/Developer/Resources/Styles.wl +++ b/Developer/Resources/Styles.wl @@ -1087,7 +1087,8 @@ Cell[ TemplateBoxOptions -> { DisplayFunction -> Function @ Evaluate @ PaneBox[ FrameBox[ - Cell[ #, "Text", Background -> None ], + #, + BaseStyle -> { "Text", Editable -> False, Selectable -> False }, Background -> RGBColor[ "#edf4fc" ], FrameMargins -> 8, FrameStyle -> RGBColor[ "#a3c9f2" ], @@ -1111,7 +1112,7 @@ Cell[ DisplayFunction -> Function @ Evaluate @ TagBox[ FrameBox[ #, - BaseStyle -> "Text", + BaseStyle -> { "Text", Editable -> False, Selectable -> False }, Background -> RGBColor[ "#fcfdff" ], FrameMargins -> 8, FrameStyle -> RGBColor[ "#c9ccd0" ], diff --git a/Developer/Resources/WorkspaceStyles.wl b/Developer/Resources/WorkspaceStyles.wl index 3efabcc3..e689aa66 100644 --- a/Developer/Resources/WorkspaceStyles.wl +++ b/Developer/Resources/WorkspaceStyles.wl @@ -39,10 +39,11 @@ Cell[ Cell[ StyleData[ "ChatInput" ], CellDingbat -> None, + CellEventActions -> None, CellFrame -> 0, CellFrameLabelMargins -> 6, CellMargins -> { { 15, 10 }, { 5, 10 } }, - Selectable -> True, + Selectable -> False, ShowCellBracket -> False, CellFrameLabels -> { { None, None }, @@ -75,7 +76,7 @@ Cell[ CellFrame -> 0, CellMargins -> { { 10, 15 }, { 25, 12 } }, Initialization -> None, - Selectable -> True, + Selectable -> False, ShowCellBracket -> False, CellFrameLabels -> { { None, None }, From 11b03dff8a6fc5e8c15203287376b8c5c97da5de Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 26 Sep 2024 16:15:38 -0400 Subject: [PATCH 138/180] Rebuilt stylesheets --- Assets/DisplayFunctions.wxf | Bin 541898 -> 542003 bytes FrontEnd/StyleSheets/Chatbook.nb | 7 ++++--- FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb | 7 ++++--- Source/Chatbook/ChatModes/Evaluate.wl | 12 +++++++++++- Source/Chatbook/SendChat.wl | 5 ++++- 5 files changed, 23 insertions(+), 8 deletions(-) diff --git a/Assets/DisplayFunctions.wxf b/Assets/DisplayFunctions.wxf index 01a6424c57ab8823fbcbace98e0625c858a2804a..805bcc5bd49017bb66845b0a898bab70255063c7 100644 GIT binary patch delta 117 zcmX@rskpgIv7v>rg{g(Pg{6hHg{_5s3r93JBm4A=JRIuNcN%i=@uo2qvjmmqq!x3y presbx&}I~!uBFW=J)J9!m1p}}ZVqoo!s@02)$weX=jB*!4gldnAZq{s delta 110 zcmdnorFg1Sv7v>rg{g(Pg{6hHg{_5s3r94!GFvf+TTx <|"StyleSheetVersion" -> "1.5.1.3936349213"|> + TaggingRules -> <|"StyleSheetVersion" -> "1.5.1.3936355760"|> ], Cell[ StyleData["Text"], @@ -17615,7 +17615,8 @@ Notebook[ (Function[ PaneBox[ FrameBox[ - Cell[#1, "Text", Background -> None], + #1, + BaseStyle -> {"Text", Editable -> False, Selectable -> False}, Background -> RGBColor[0.929412, 0.956863, 0.988235], FrameMargins -> 8, FrameStyle -> RGBColor[0.639216, 0.788235, 0.94902], @@ -17636,7 +17637,7 @@ Notebook[ TagBox[ FrameBox[ #1, - BaseStyle -> "Text", + BaseStyle -> {"Text", Editable -> False, Selectable -> False}, Background -> RGBColor[0.988235, 0.992157, 1.0], FrameMargins -> 8, FrameStyle -> RGBColor[0.788235, 0.8, 0.815686], diff --git a/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb b/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb index 0d6e6368..67073754 100644 --- a/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb +++ b/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb @@ -60,15 +60,16 @@ Notebook[ ], Cell[ StyleData["WorkspaceChatStyleSheetInformation"], - TaggingRules -> <|"WorkspaceChatStyleSheetVersion" -> "1.5.1.3936349213"|> + TaggingRules -> <|"WorkspaceChatStyleSheetVersion" -> "1.5.1.3936355760"|> ], Cell[ StyleData["ChatInput"], - Selectable -> True, + Selectable -> False, CellFrame -> 0, CellDingbat -> None, ShowCellBracket -> False, CellMargins -> {{15, 10}, {5, 10}}, + CellEventActions -> None, CellFrameLabels -> { {None, None}, { @@ -98,7 +99,7 @@ Notebook[ ], Cell[ StyleData["ChatOutput"], - Selectable -> True, + Selectable -> False, CellFrame -> 0, CellDingbat -> None, ShowCellBracket -> False, diff --git a/Source/Chatbook/ChatModes/Evaluate.wl b/Source/Chatbook/ChatModes/Evaluate.wl index 8eb6419b..a40fbcd2 100644 --- a/Source/Chatbook/ChatModes/Evaluate.wl +++ b/Source/Chatbook/ChatModes/Evaluate.wl @@ -28,10 +28,20 @@ evaluateWorkspaceChat // beginDefinition; evaluateWorkspaceChat[ nbo_NotebookObject, Dynamic[ input: _Symbol|_CurrentValue ] ] := Enclose[ Catch @ Module[ { text, uuid, cell, cellObject }, + If[ ! validInputStringQ @ input, input = ""; Throw @ Null ]; text = input; uuid = ConfirmBy[ CreateUUID[ ], StringQ, "UUID" ]; - cell = Cell[ BoxData @ TemplateBox[ { text }, "UserMessageBox" ], "ChatInput", CellTags -> uuid ]; + + cell = Cell[ + BoxData @ TemplateBox[ + { Cell[ text, Background -> None, Selectable -> True, Editable -> True ] }, + "UserMessageBox" + ], + "ChatInput", + CellTags -> uuid + ]; + input = ""; SelectionMove[ nbo, After, Notebook, AutoScroll -> True ]; NotebookWrite[ nbo, cell ]; diff --git a/Source/Chatbook/SendChat.wl b/Source/Chatbook/SendChat.wl index f2b429db..8805baca 100644 --- a/Source/Chatbook/SendChat.wl +++ b/Source/Chatbook/SendChat.wl @@ -2148,7 +2148,10 @@ reformatCell[ settings_, string_, tag_, open_, label_, pageData_, cellTags_, uui outer = If[ TrueQ @ $WorkspaceChat, TextData @ { Cell[ - BoxData @ TemplateBox[ { Cell[ #, Background -> None ] }, "AssistantMessageBox" ], + BoxData @ TemplateBox[ + { Cell[ #, Background -> None, Editable -> True, Selectable -> True ] }, + "AssistantMessageBox" + ], Background -> None ] } &, From 9ae2db4c918de33e7db9d042077d051cfc554013 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 26 Sep 2024 16:16:34 -0400 Subject: [PATCH 139/180] Bugfix: hook up `postProcessChatTitle` to avoid extra quotes around titles --- Source/Chatbook/ChatTitle.wl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Chatbook/ChatTitle.wl b/Source/Chatbook/ChatTitle.wl index d19e2154..d842b84f 100644 --- a/Source/Chatbook/ChatTitle.wl +++ b/Source/Chatbook/ChatTitle.wl @@ -87,7 +87,7 @@ generateChatTitleAsync[ messages: $$chatMessages, callback_, temperature: Automa $lastChatTitleContext = context; ConfirmMatch[ - llmSynthesizeSubmit[ context, <| "Temperature" -> temperature |>, callback ], + llmSynthesizeSubmit[ context, <| "Temperature" -> temperature |>, callback @* postProcessChatTitle ], _TaskObject, "Task" ] From 999360fc162bb58e286dcbd1e133f14d3e3b0545 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 26 Sep 2024 16:55:52 -0400 Subject: [PATCH 140/180] Bugfix: Cells were not editable after reloading --- Source/Chatbook/ChatMessageToCell.wl | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/Source/Chatbook/ChatMessageToCell.wl b/Source/Chatbook/ChatMessageToCell.wl index c8c70866..15098813 100644 --- a/Source/Chatbook/ChatMessageToCell.wl +++ b/Source/Chatbook/ChatMessageToCell.wl @@ -10,6 +10,7 @@ Needs[ "Wolfram`Chatbook`Common`" ]; (* ::Section::Closed:: *) (*Configuration*) $chatOutputOptions = Sequence[ GeneratedCell -> True, CellAutoOverwrite -> True ]; +$selectableOptions = Sequence[ Background -> None, Selectable -> True, Editable -> True ]; $$chatCellFormat = None | Automatic | "Default" | "Inline" | "Workspace"; @@ -77,10 +78,20 @@ wrapCellContent // endDefinition; workspaceInput // beginDefinition; workspaceInput[ TextData[ { text_String } ] ] := workspaceInput @ text; workspaceInput[ TextData[ text_String ] ] := workspaceInput @ text; -workspaceInput[ text_String ] := Cell[ BoxData @ TemplateBox[ { text }, "UserMessageBox" ], "ChatInput" ]; -workspaceInput[ text_ ] := Cell[ BoxData @ TemplateBox[ { Cell @ text }, "UserMessageBox" ], "ChatInput" ]; +workspaceInput[ text_String ] := workspaceInput0 @ text; +workspaceInput[ text_ ] := workspaceInput0 @ Cell @ text; workspaceInput // endDefinition; + +workspaceInput0 // beginDefinition; + +workspaceInput0[ stuff_ ] := Cell[ + BoxData @ TemplateBox[ { Cell[ stuff, $selectableOptions ] }, "UserMessageBox" ], + "ChatInput" +]; + +workspaceInput0 // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*workspaceOutput*) @@ -89,7 +100,7 @@ workspaceOutput // beginDefinition; workspaceOutput[ text_TextData ] := wrapCellContent[ TextData @ Cell[ - BoxData @ TemplateBox[ { Cell[ text, Background -> None ] }, "AssistantMessageBox" ], + BoxData @ TemplateBox[ { Cell[ text, $selectableOptions ] }, "AssistantMessageBox" ], Background -> None ], "Assistant", From 6fe5a1a6e2a9a307d9514f7e15adf2e1807e4c20 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 26 Sep 2024 16:56:31 -0400 Subject: [PATCH 141/180] Bugfix: Partial writes of static content were failing due to non-editable boxes --- Source/Chatbook/SendChat.wl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Chatbook/SendChat.wl b/Source/Chatbook/SendChat.wl index 8805baca..f474a4c7 100644 --- a/Source/Chatbook/SendChat.wl +++ b/Source/Chatbook/SendChat.wl @@ -1794,8 +1794,8 @@ activeAIAssistantCell[ outer = If[ TrueQ[ $WorkspaceChat||$InlineChat ], assistantMessageBox, # & ] }, Cell[ - BoxData @ outer @ TagBox[ - ToBoxes @ Dynamic[ + BoxData @ TagBox[ + outer @ ToBoxes @ Dynamic[ $dynamicTrigger; (* `$dynamicTrigger` is used to precisely control when the dynamic updates, otherwise we can get an FE crash if a NotebookWrite happens at the same time. *) From 5e3aeffa787f2485d1f5f732cd572c6ca9507a8d Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 26 Sep 2024 17:24:00 -0400 Subject: [PATCH 142/180] Added support for `ListSavedChats[NotebookObject[...]]` --- Source/Chatbook/Storage.wl | 45 +++++++++++++++++++++++++++++++------- 1 file changed, 37 insertions(+), 8 deletions(-) diff --git a/Source/Chatbook/Storage.wl b/Source/Chatbook/Storage.wl index d32c1847..7980e934 100644 --- a/Source/Chatbook/Storage.wl +++ b/Source/Chatbook/Storage.wl @@ -19,6 +19,7 @@ $savedChatDataVersion = 1; $rootStorageName = "SavedChats"; $defaultAppName = "Default"; $defaultConversationTitle = "Untitled Chat"; +$maxFilesDisplay = 50; $timestampPrefixLength = 7; (* good for about 1000 years *) $$timestampPrefix = Repeated[ LetterCharacter|DigitCharacter, { $timestampPrefixLength } ]; @@ -30,14 +31,16 @@ $$chatMetadata = KeyValuePattern @ { "Version" -> _Integer }; +$$appSpec = $$string | All | _NotebookObject; + $generatedTitleCache = <| |>; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*ListSavedChats*) ListSavedChats // beginDefinition; -ListSavedChats[ ] := catchMine @ ListSavedChats @ $defaultAppName; -ListSavedChats[ appName_String ] := catchMine @ LogChatTiming @ listSavedChats @ appName; +ListSavedChats[ ] := catchMine @ ListSavedChats @ All; +ListSavedChats[ appSpec: $$appSpec ] := catchMine @ LogChatTiming @ listSavedChats @ appSpec; ListSavedChats // endExportedDefinition; (* ::**************************************************************************************************************:: *) @@ -45,26 +48,52 @@ ListSavedChats // endExportedDefinition; (*listSavedChats*) listSavedChats // beginDefinition; -listSavedChats[ appName_String ] := Enclose[ - Catch @ Module[ { root, files }, +listSavedChats[ appSpec: $$appSpec ] := Enclose[ + Catch @ Module[ { appName, dirName, root, depth, files, sorted }, + + appName = ConfirmMatch[ determineAppName @ appSpec, $$string | All, "Name" ]; + dirName = If[ StringQ @ appName, appName, Nothing ]; root = ConfirmBy[ - ChatbookFilesDirectory[ { $rootStorageName, appName }, "EnsureDirectory" -> False ], + ChatbookFilesDirectory[ { $rootStorageName, dirName }, "EnsureDirectory" -> False ], StringQ, "Root" ]; - (* most recent appear first *) - files = Reverse @ FileNames[ "metadata.wxf", root, { 2 } ]; + depth = If[ StringQ @ appName, 2, 3 ]; + + + files = FileNames[ "metadata.wxf", root, { depth } ]; If[ files === { }, Throw @ { } ]; - ConfirmMatch[ readChatMetaFile /@ files, { ___Association }, "Metadata" ] + (* show most recent first *) + sorted = If[ StringQ @ appName, Reverse @ files, ReverseSortBy[ files, FileNameTake[ #, { -2 } ] & ] ]; + + ConfirmMatch[ readChatMetaFile /@ Take[ sorted, UpTo @ $maxFilesDisplay ], { ___Association }, "Metadata" ] ], throwInternalFailure ]; listSavedChats // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*determineAppName*) +determineAppName // beginDefinition; +determineAppName[ All ] := All; +determineAppName[ name_String ] := name; +determineAppName[ nbo_NotebookObject ] := notebookAppName @ nbo; +determineAppName // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*notebookAppName*) +notebookAppName // beginDefinition; +notebookAppName[ nbo_NotebookObject ] := notebookAppName[ nbo, CurrentChatSettings[ nbo, "AppName" ] ]; +notebookAppName[ nbo_, name_String ] := name; +notebookAppName[ nbo_, $$unspecified ] := $defaultAppName; +notebookAppName // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*readChatMetaFile*) From 84feaf8d13282fea1ca256ba2dd271a23e9f7914 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 26 Sep 2024 17:24:59 -0400 Subject: [PATCH 143/180] Bugfix: Missing second argument for `postProcessChatTitle` --- Source/Chatbook/ChatTitle.wl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Chatbook/ChatTitle.wl b/Source/Chatbook/ChatTitle.wl index d842b84f..93903136 100644 --- a/Source/Chatbook/ChatTitle.wl +++ b/Source/Chatbook/ChatTitle.wl @@ -102,7 +102,7 @@ generateChatTitleAsync // endDefinition; (*postProcessChatTitle*) postProcessChatTitle // beginDefinition; -postProcessChatTitle[ title0_String ] := Enclose[ +postProcessChatTitle[ title0_String, KeyValuePattern[ "StatusCode" -> 200 ] ] := Enclose[ Module[ { title }, title = ConfirmBy[ From 6eebf2526f17c43d60b805623d4f83024b0c4380 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 30 Sep 2024 05:59:09 -0400 Subject: [PATCH 144/180] Allow workspace chat window to be resized on Mac --- Developer/Resources/WorkspaceStyles.wl | 1 - FrontEnd/StyleSheets/Chatbook.nb | 2 +- FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb | 3 +-- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/Developer/Resources/WorkspaceStyles.wl b/Developer/Resources/WorkspaceStyles.wl index e689aa66..c0a062c9 100644 --- a/Developer/Resources/WorkspaceStyles.wl +++ b/Developer/Resources/WorkspaceStyles.wl @@ -19,7 +19,6 @@ Cell[ TaggingRules -> <| "ChatNotebookSettings" -> $workspaceDefaultSettings |>, WindowClickSelect -> True, WindowElements -> { "VerticalScrollBar" }, - WindowFrame -> "ModelessDialog", WindowFrameElements -> { "CloseBox", "ResizeArea" }, WindowMargins -> { { 0, Automatic }, { 0, 0 } }, WindowSize -> { $sideChatWidth, Automatic }, diff --git a/FrontEnd/StyleSheets/Chatbook.nb b/FrontEnd/StyleSheets/Chatbook.nb index d96862df..1a0aa3f5 100644 --- a/FrontEnd/StyleSheets/Chatbook.nb +++ b/FrontEnd/StyleSheets/Chatbook.nb @@ -828,7 +828,7 @@ Notebook[ ], Cell[ StyleData["ChatStyleSheetInformation"], - TaggingRules -> <|"StyleSheetVersion" -> "1.5.1.3936355760"|> + TaggingRules -> <|"StyleSheetVersion" -> "1.5.1.3936664622"|> ], Cell[ StyleData["Text"], diff --git a/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb b/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb index 67073754..aa671bdc 100644 --- a/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb +++ b/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb @@ -18,7 +18,6 @@ Notebook[ Selectable -> False, WindowSize -> {350, Automatic}, WindowMargins -> {{0, Automatic}, {0, 0}}, - WindowFrame -> "ModelessDialog", WindowElements -> {"VerticalScrollBar"}, WindowFrameElements -> {"CloseBox", "ResizeArea"}, WindowClickSelect -> True, @@ -60,7 +59,7 @@ Notebook[ ], Cell[ StyleData["WorkspaceChatStyleSheetInformation"], - TaggingRules -> <|"WorkspaceChatStyleSheetVersion" -> "1.5.1.3936355760"|> + TaggingRules -> <|"WorkspaceChatStyleSheetVersion" -> "1.5.1.3936664622"|> ], Cell[ StyleData["ChatInput"], From 09b353cef5209a18ef1e8cf1e38d26d3bfd483a2 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 30 Sep 2024 06:49:46 -0400 Subject: [PATCH 145/180] Added "ForceSynchronous" setting to allow non-streaming models like o1-preview to work --- Source/Chatbook/Actions.wl | 1 + Source/Chatbook/SendChat.wl | 20 ++++++++++++++++++++ Source/Chatbook/Settings.wl | 21 ++++++++++++++++++++- 3 files changed, 41 insertions(+), 1 deletion(-) diff --git a/Source/Chatbook/Actions.wl b/Source/Chatbook/Actions.wl index 501e99fc..5d3ec85d 100644 --- a/Source/Chatbook/Actions.wl +++ b/Source/Chatbook/Actions.wl @@ -568,6 +568,7 @@ waitForLastTask // beginDefinition; waitForLastTask[ ] := waitForLastTask @ $lastTask; waitForLastTask[ $Canceled ] := $Canceled; +waitForLastTask[ None ] := runNextTask[ ]; waitForLastTask[ task_TaskObject ] := LogChatTiming[ TaskWait @ task; diff --git a/Source/Chatbook/SendChat.wl b/Source/Chatbook/SendChat.wl index f474a4c7..379bc2a1 100644 --- a/Source/Chatbook/SendChat.wl +++ b/Source/Chatbook/SendChat.wl @@ -546,6 +546,26 @@ chatSubmit // endDefinition; chatSubmit0 // beginDefinition; chatSubmit0 // Attributes = { HoldFirst }; +(* Currently used for o1 models since they don't support streaming: *) +chatSubmit0[ container_, messages: { __Association }, cellObject_, settings_ ] /; settings[ "ForceSynchronous" ] := + Module[ { auth, stop, result }, + auth = settings[ "Authentication" ]; + stop = makeStopTokens @ settings; + + result = LLMServices`Chat[ + standardizeMessageKeys @ messages, + makeLLMConfiguration @ settings, + Authentication -> auth + ]; + + writeChunk[ Dynamic @ container, cellObject, <| "BodyChunkProcessed" -> result[ "Content" ] |> ]; + logUsage @ container; + trimStopTokens[ container, stop ]; + checkResponse[ settings, Unevaluated @ container, cellObject, <| |> ]; + + None + ]; + chatSubmit0[ container_, messages: { __Association }, cellObject_, settings_ ] := Quiet[ Needs[ "LLMServices`" -> None ]; $lastChatSubmitResult = ReleaseHold[ diff --git a/Source/Chatbook/Settings.wl b/Source/Chatbook/Settings.wl index 72b115f8..45958241 100644 --- a/Source/Chatbook/Settings.wl +++ b/Source/Chatbook/Settings.wl @@ -24,7 +24,7 @@ $defaultChatSettings = <| "AutoFormat" -> True, "AutoSaveConversations" -> Automatic, "BasePrompt" -> Automatic, - "BypassResponseChecking" -> False, + "BypassResponseChecking" -> Automatic, "ChatContextPreprompt" -> Automatic, "ChatDrivenNotebook" -> False, "ChatHistoryLength" -> 1000, @@ -35,6 +35,7 @@ $defaultChatSettings = <| "EnableChatGroupSettings" -> False, "EnableLLMServices" -> Automatic, "FrequencyPenalty" -> 0.1, + "ForceSynchronous" -> Automatic, "HandlerFunctions" :> $DefaultChatHandlerFunctions, "HandlerFunctionsKeys" -> Automatic, "IncludeHistory" -> Automatic, @@ -309,9 +310,11 @@ resolveAutoSetting // endDefinition; resolveAutoSetting0 // beginDefinition; resolveAutoSetting0[ as_, "Assistance" ] := False; resolveAutoSetting0[ as_, "AutoSaveConversations" ] := autoSaveConversationsQ @ as; +resolveAutoSetting0[ as_, "BypassResponseChecking" ] := bypassResponseCheckingQ @ as; resolveAutoSetting0[ as_, "ChatInputIndicator" ] := "\|01f4ac"; resolveAutoSetting0[ as_, "DynamicAutoFormat" ] := dynamicAutoFormatQ @ as; resolveAutoSetting0[ as_, "EnableLLMServices" ] := $useLLMServices; +resolveAutoSetting0[ as_, "ForceSynchronous" ] := forceSynchronousQ @ as; resolveAutoSetting0[ as_, "HandlerFunctionsKeys" ] := chatHandlerFunctionsKeys @ as; resolveAutoSetting0[ as_, "IncludeHistory" ] := Automatic; resolveAutoSetting0[ as_, "PromptGenerators" ] := { }; @@ -339,6 +342,8 @@ resolveAutoSetting0 // endDefinition; (* Settings that require other settings to be resolved first: *) $autoSettingKeyDependencies = <| "AutoSaveConversations" -> { "AppName", "ConversationUUID" }, + "BypassResponseChecking" -> "ForceSynchronous", + "ForceSynchronous" -> "Model", "HandlerFunctionsKeys" -> "EnableLLMServices", "MaxCellStringLength" -> { "Model", "MaxContextTokens" }, "MaxContextTokens" -> "Model", @@ -370,6 +375,20 @@ $autoSettingKeyPriority := Enclose[ * ChatContextPreprompt *) +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*bypassResponseCheckingQ*) +bypassResponseCheckingQ // beginDefinition; +bypassResponseCheckingQ[ as_Association ] := TrueQ @ as[ "ForceSynchronous" ]; +bypassResponseCheckingQ // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*forceSynchronousQ*) +forceSynchronousQ // beginDefinition; +forceSynchronousQ[ as_Association ] := o1ModelQ @ as; +forceSynchronousQ // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*autoSaveConversationsQ*) From 31e205e17527372a86beae3d1bef502be0b5519e Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 30 Sep 2024 06:59:55 -0400 Subject: [PATCH 146/180] Add some additional error handling to the `"ForceSynchronous" -> True` scenario --- Source/Chatbook/SendChat.wl | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/Source/Chatbook/SendChat.wl b/Source/Chatbook/SendChat.wl index 379bc2a1..d8b49f37 100644 --- a/Source/Chatbook/SendChat.wl +++ b/Source/Chatbook/SendChat.wl @@ -547,24 +547,38 @@ chatSubmit0 // beginDefinition; chatSubmit0 // Attributes = { HoldFirst }; (* Currently used for o1 models since they don't support streaming: *) -chatSubmit0[ container_, messages: { __Association }, cellObject_, settings_ ] /; settings[ "ForceSynchronous" ] := +chatSubmit0[ + container_, + messages: { __Association }, + cellObject_, + settings_ +] /; settings[ "ForceSynchronous" ] := Enclose[ Module[ { auth, stop, result }, auth = settings[ "Authentication" ]; stop = makeStopTokens @ settings; - result = LLMServices`Chat[ - standardizeMessageKeys @ messages, - makeLLMConfiguration @ settings, - Authentication -> auth + result = ConfirmMatch[ + LLMServices`Chat[ + standardizeMessageKeys @ messages, + makeLLMConfiguration @ settings, + Authentication -> auth + ], + _Association | _Failure, + "ChatResult" ]; + If[ FailureQ @ result, throwTop @ writeErrorCell[ cellObject, result ] ]; + writeChunk[ Dynamic @ container, cellObject, <| "BodyChunkProcessed" -> result[ "Content" ] |> ]; logUsage @ container; trimStopTokens[ container, stop ]; checkResponse[ settings, Unevaluated @ container, cellObject, <| |> ]; + (* This cannot return a TaskObject: *) None - ]; + ], + throwInternalFailure +]; chatSubmit0[ container_, messages: { __Association }, cellObject_, settings_ ] := Quiet[ Needs[ "LLMServices`" -> None ]; From c6ade8990231ef46dafe7e634e9aeea958dd36d5 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 1 Oct 2024 10:40:19 -0400 Subject: [PATCH 147/180] Bugfix: Ensure history menu is queued to avoid dynamic timeouts --- Source/Chatbook/ChatModes/UI.wl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Source/Chatbook/ChatModes/UI.wl b/Source/Chatbook/ChatModes/UI.wl index c2c74433..817bfaf7 100644 --- a/Source/Chatbook/ChatModes/UI.wl +++ b/Source/Chatbook/ChatModes/UI.wl @@ -858,7 +858,11 @@ createHistoryMenu[ nbo_NotebookObject ] := Enclose[ appName = ConfirmBy[ CurrentChatSettings[ nbo, "AppName" ], StringQ, "AppName" ]; chats = ConfirmMatch[ ListSavedChats @ appName, { ___Association }, "Chats" ]; If[ chats === { }, Throw @ ActionMenu[ "History", { "Nothing here yet" :> Null } ] ]; - ActionMenu[ "History", makeHistoryMenuItem[ nbo ] /@ Take[ chats, UpTo @ $maxHistoryItems ] ] + ActionMenu[ + "History", + makeHistoryMenuItem[ nbo ] /@ Take[ chats, UpTo @ $maxHistoryItems ], + Method -> "Queued" + ] ], throwInternalFailure ]; From ada1b0a424a71c1bb17f6cfe3bfb3d1da9dbadb7 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 1 Oct 2024 10:40:58 -0400 Subject: [PATCH 148/180] Specify model for code assistance separately from global preferences --- Source/Chatbook/ChatModes/ShowCodeAssistance.wl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Source/Chatbook/ChatModes/ShowCodeAssistance.wl b/Source/Chatbook/ChatModes/ShowCodeAssistance.wl index e2819936..a1f3fb1f 100644 --- a/Source/Chatbook/ChatModes/ShowCodeAssistance.wl +++ b/Source/Chatbook/ChatModes/ShowCodeAssistance.wl @@ -14,6 +14,8 @@ $workspaceChatWidth = 325; $codeAssistanceBaseSettings = <| "AppName" -> "CodeAssistance", + "Authentication" -> Automatic, (* TODO *) + "Model" -> <| "Service" -> "OpenAI", "Name" -> "gpt-4o" |>, "PromptGenerators" -> { "RelatedDocumentation" }, "ServiceCaller" -> "CodeAssistance", "ToolOptions" -> <| "WolframLanguageEvaluator" -> <| "AppendURIPrompt" -> True, "Method" -> "Session" |> |>, From d9453dfc952e8b4ac6ae6375b1268f02d0d470e1 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 1 Oct 2024 10:42:26 -0400 Subject: [PATCH 149/180] Downsize user image and use locally defined fallback images --- Source/Chatbook/ChatModes/UI.wl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Source/Chatbook/ChatModes/UI.wl b/Source/Chatbook/ChatModes/UI.wl index 817bfaf7..01dabfd9 100644 --- a/Source/Chatbook/ChatModes/UI.wl +++ b/Source/Chatbook/ChatModes/UI.wl @@ -30,7 +30,7 @@ $inputFieldFrameOptions = Sequence[ FrameStyle -> Directive[ AbsoluteThickness[ 2 ], RGBColor[ "#a3c9f2" ] ] ]; -$userImageParams = <| "size" -> 50, "default" -> "identicon", "rating" -> "G" |>; +$userImageParams = <| "size" -> 40, "default" -> "404", "rating" -> "G" |>; $defaultUserImage = Graphics[ { @@ -41,7 +41,7 @@ $defaultUserImage = Graphics[ Disk[ { 0, 1 }, 1 ], Disk[ { 0, -1.8 }, { 1.65, 2 } ] }, - ImageSize -> 25, + ImageSize -> 20, PlotRange -> { { -2.4, 2.4 }, { -2.0, 2.8 } } ]; @@ -51,7 +51,7 @@ $inputFieldBox = None; $inlineChatScrollPosition = 0.0; $lastScrollPosition = 0.0; -$maxHistoryItems = 50; +$maxHistoryItems = 25; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) @@ -717,12 +717,12 @@ userImage[ ] := userImage[ $CloudUserID ]; userImage[ user_String ] := Enclose[ Module[ { hash, url, image }, - hash = Hash[ ToLowerCase @ StringTrim @ user, "MD5", "HexString" ]; - url = ConfirmBy[ URLBuild[ { "https://www.gravatar.com/avatar/", hash }, $userImageParams ], StringQ, "URL" ]; - image = ConfirmBy[ Import @ url, ImageQ, "Image" ]; - userImage[ user ] = Show[ image, ImageSize -> 25 ] + hash = Hash[ ToLowerCase @ StringTrim @ user, "MD5", "HexString" ]; + url = ConfirmBy[ URLBuild[ { "https://www.gravatar.com/avatar/", hash }, $userImageParams ], StringQ, "URL" ]; + image = ConfirmBy[ Quiet @ Import @ url, ImageQ, "Image" ]; + userImage[ user ] = Show[ image, ImageSize -> 20 ] ], - $defaultUserImage & + (userImage[ user ] = $defaultUserImage) & ]; userImage[ other_ ] := From b80e7e93e19a79fb82a1616529de23e17a15a1f9 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 1 Oct 2024 10:51:45 -0400 Subject: [PATCH 150/180] Ensure resource versions are always explicitly defined --- Source/Chatbook/Common.wl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Source/Chatbook/Common.wl b/Source/Chatbook/Common.wl index b8b810da..cbd8e833 100644 --- a/Source/Chatbook/Common.wl +++ b/Source/Chatbook/Common.wl @@ -127,7 +127,9 @@ $resourceVersions = <| "ClickToCopy" -> "1.0.0", "GPTTokenizer" -> "1.1.0", "MessageFailure" -> "1.0.0", - "ReplaceContext" -> "1.0.0" + "RelativeTimeString" -> "1.0.0", + "ReplaceContext" -> "1.0.0", + "SelectByCurrentValue" -> "1.0.1" |>; (* ::**************************************************************************************************************:: *) @@ -541,7 +543,7 @@ importResourceFunction::failure = "[ERROR] Failed to import resource function `1 importResourceFunction // Attributes = { HoldFirst }; importResourceFunction[ symbol_Symbol, name_String ] := - importResourceFunction[ symbol, name, Lookup[ $resourceVersions, name, "Latest" ] ]; + importResourceFunction[ symbol, name, Lookup[ $resourceVersions, name ] ]; importResourceFunction[ symbol_Symbol, name_String, version_String ] /; $mxFlag := Enclose[ Block[ { PrintTemporary }, From a19f046b142bb1cf68e976cafd58ae5863bd4f4d Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 1 Oct 2024 10:54:55 -0400 Subject: [PATCH 151/180] Define default app name in Common.wl and resolve in settings --- Source/Chatbook/Common.wl | 1 + Source/Chatbook/CommonSymbols.wl | 1 + Source/Chatbook/Settings.wl | 9 +++++---- Source/Chatbook/Storage.wl | 1 - 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Source/Chatbook/Common.wl b/Source/Chatbook/Common.wl index cbd8e833..aa0cbcef 100644 --- a/Source/Chatbook/Common.wl +++ b/Source/Chatbook/Common.wl @@ -93,6 +93,7 @@ Needs[ "Wolfram`Chatbook`" ]; $cloudNotebooks := TrueQ @ CloudSystem`$CloudNotebooks; $chatIndicatorSymbol = "\|01f4ac"; +$defaultAppName = "Default"; $chatDelimiterStyles = { "ChatBlockDivider", "ChatDelimiter", "ExcludedChatDelimiter" }; $chatIgnoredStyles = { "ChatExcluded" }; diff --git a/Source/Chatbook/CommonSymbols.wl b/Source/Chatbook/CommonSymbols.wl index aa2eb98f..45e81705 100644 --- a/Source/Chatbook/CommonSymbols.wl +++ b/Source/Chatbook/CommonSymbols.wl @@ -31,6 +31,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `$currentChatSettings; `$currentSettingsCache; `$customToolFormatter; +`$defaultAppName; `$defaultChatSettings; `$defaultChatTools; `$defaultMaxCellStringLength; diff --git a/Source/Chatbook/Settings.wl b/Source/Chatbook/Settings.wl index 45958241..9b08ffc7 100644 --- a/Source/Chatbook/Settings.wl +++ b/Source/Chatbook/Settings.wl @@ -18,7 +18,7 @@ $cloudInheritanceFix := $cloudNotebooks; (* cSpell: ignore AIAPI *) $defaultChatSettings = <| - "AppName" -> None, + "AppName" -> Automatic, "Assistance" -> Automatic, "Authentication" -> Automatic, "AutoFormat" -> True, @@ -308,6 +308,7 @@ resolveAutoSetting[ settings_, key_ -> value_ ] := <| settings, key -> resolveAu resolveAutoSetting // endDefinition; resolveAutoSetting0 // beginDefinition; +resolveAutoSetting0[ as_, "AppName" ] := $defaultAppName; resolveAutoSetting0[ as_, "Assistance" ] := False; resolveAutoSetting0[ as_, "AutoSaveConversations" ] := autoSaveConversationsQ @ as; resolveAutoSetting0[ as_, "BypassResponseChecking" ] := bypassResponseCheckingQ @ as; @@ -317,15 +318,15 @@ resolveAutoSetting0[ as_, "EnableLLMServices" ] := $useLLMServices; resolveAutoSetting0[ as_, "ForceSynchronous" ] := forceSynchronousQ @ as; resolveAutoSetting0[ as_, "HandlerFunctionsKeys" ] := chatHandlerFunctionsKeys @ as; resolveAutoSetting0[ as_, "IncludeHistory" ] := Automatic; -resolveAutoSetting0[ as_, "PromptGenerators" ] := { }; -resolveAutoSetting0[ as_, "PromptGeneratorMessageRole" ] := "System"; -resolveAutoSetting0[ as_, "PromptGeneratorMessagePosition" ] := 2; resolveAutoSetting0[ as_, "MaxCellStringLength" ] := chooseMaxCellStringLength @ as; resolveAutoSetting0[ as_, "MaxContextTokens" ] := autoMaxContextTokens @ as; resolveAutoSetting0[ as_, "MaxOutputCellStringLength" ] := chooseMaxOutputCellStringLength @ as; resolveAutoSetting0[ as_, "MaxTokens" ] := autoMaxTokens @ as; resolveAutoSetting0[ as_, "Multimodal" ] := multimodalQ @ as; resolveAutoSetting0[ as_, "NotebookWriteMethod" ] := "PreemptiveLink"; +resolveAutoSetting0[ as_, "PromptGeneratorMessagePosition" ] := 2; +resolveAutoSetting0[ as_, "PromptGeneratorMessageRole" ] := "System"; +resolveAutoSetting0[ as_, "PromptGenerators" ] := { }; resolveAutoSetting0[ as_, "ShowMinimized" ] := Automatic; resolveAutoSetting0[ as_, "StreamingOutputMethod" ] := "PartialDynamic"; resolveAutoSetting0[ as_, "TokenBudgetMultiplier" ] := 1; diff --git a/Source/Chatbook/Storage.wl b/Source/Chatbook/Storage.wl index 7980e934..1d5ba37e 100644 --- a/Source/Chatbook/Storage.wl +++ b/Source/Chatbook/Storage.wl @@ -17,7 +17,6 @@ Needs[ "Wolfram`Chatbook`Common`" ]; $maxTitleGenerationMessages = 10; $savedChatDataVersion = 1; $rootStorageName = "SavedChats"; -$defaultAppName = "Default"; $defaultConversationTitle = "Untitled Chat"; $maxFilesDisplay = 50; $timestampPrefixLength = 7; (* good for about 1000 years *) From 90a453e0f07ee57b340c93ce3786606abbd2e6fe Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 1 Oct 2024 10:57:37 -0400 Subject: [PATCH 152/180] Added "CacheEmbeddings" option --- Source/Chatbook/CommonSymbols.wl | 2 + .../PromptGenerators/VectorDatabases.wl | 52 ++++++++++++------- 2 files changed, 36 insertions(+), 18 deletions(-) diff --git a/Source/Chatbook/CommonSymbols.wl b/Source/Chatbook/CommonSymbols.wl index 45e81705..2374bc8a 100644 --- a/Source/Chatbook/CommonSymbols.wl +++ b/Source/Chatbook/CommonSymbols.wl @@ -153,6 +153,8 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `getAvailableServiceNames; `getBoxObjectFromBoxID; `getChatGroupSettings; +`getEmbedding; +`getEmbeddings; `getHandlerFunctions; `getInlineChatPrompt; `getModelList; diff --git a/Source/Chatbook/PromptGenerators/VectorDatabases.wl b/Source/Chatbook/PromptGenerators/VectorDatabases.wl index 0f46c7e9..251f38e9 100644 --- a/Source/Chatbook/PromptGenerators/VectorDatabases.wl +++ b/Source/Chatbook/PromptGenerators/VectorDatabases.wl @@ -15,9 +15,10 @@ HoldComplete[ (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Configuration*) -$vectorDBNames = { "DocumentationURIs", "WolframAlphaQueries" }; -$dbVersion = "1.1.0"; -$allowDownload = True; +$vectorDBNames = { "DocumentationURIs", "WolframAlphaQueries" }; +$dbVersion = "1.1.0"; +$allowDownload = True; +$cacheEmbeddings = True; $embeddingDimension = 384; $maxNeighbors = 50; @@ -693,14 +694,15 @@ cacheVectorDBResult // endDefinition; (* ::Subsection::Closed:: *) (*getEmbedding*) getEmbedding // beginDefinition; +getEmbedding // Options = { "CacheEmbeddings" -> $cacheEmbeddings }; -getEmbedding[ string_String ] := +getEmbedding[ string_String, opts: OptionsPattern[ ] ] := With[ { embedding = $embeddingCache[ string ] }, embedding /; NumericArrayQ @ embedding ]; -getEmbedding[ string_String ] := Enclose[ - First @ ConfirmMatch[ getEmbeddings @ { string }, { _NumericArray }, "Embedding" ], +getEmbedding[ string_String, opts: OptionsPattern[ ] ] := Enclose[ + First @ ConfirmMatch[ getEmbeddings[ { string }, opts ], { _NumericArray }, "Embedding" ], throwInternalFailure ]; @@ -710,19 +712,31 @@ getEmbedding // endDefinition; (* ::Subsection::Closed:: *) (*getEmbeddings*) getEmbeddings // beginDefinition; +getEmbeddings // Options = { "CacheEmbeddings" -> $cacheEmbeddings }; -getEmbeddings[ { } ] := { }; +getEmbeddings[ { }, opts: OptionsPattern[ ] ] := { }; -getEmbeddings[ strings: { __String } ] := Enclose[ +getEmbeddings[ strings: { __String }, opts: OptionsPattern[ ] ] := + If[ TrueQ @ OptionValue[ "CacheEmbeddings" ], + getEmbeddings0 @ strings, + Block[ { $cacheEmbeddings = False }, getAndCacheEmbeddings @ strings ] + ] // LogChatTiming[ "GetEmbeddings" ]; + +getEmbeddings // endDefinition; + + +getEmbeddings0 // beginDefinition; + +getEmbeddings0[ strings: { __String } ] := Enclose[ Module[ { notCached }, notCached = Select[ strings, ! KeyExistsQ[ $embeddingCache, # ] & ]; ConfirmMatch[ getAndCacheEmbeddings @ notCached, { ___NumericArray }, "CacheEmbeddings" ]; ConfirmMatch[ Lookup[ $embeddingCache, strings ], { __NumericArray }, "Result" ] - ] // LogChatTiming[ "GetEmbeddings" ], + ], throwInternalFailure ]; -getEmbeddings // endDefinition; +getEmbeddings0 // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) @@ -742,10 +756,7 @@ getAndCacheEmbeddings[ strings: { __String } ] /; $embeddingModel === "SentenceB ConfirmAssert[ Length @ strings === Length @ vectors, "LengthCheck" ]; - MapThread[ - ($embeddingCache[ #1 ] = toTinyVector @ #2) &, - { strings, vectors } - ] + MapThread[ cacheEmbedding, { strings, vectors } ] ], throwInternalFailure ]; @@ -771,16 +782,21 @@ getAndCacheEmbeddings[ strings: { __String } ] := Enclose[ ConfirmAssert[ Length @ strings === Length @ vectors, "LengthCheck" ]; - MapThread[ - ($embeddingCache[ #1 ] = toTinyVector @ #2) &, - { strings, vectors } - ] + MapThread[ cacheEmbedding, { strings, vectors } ] ], throwInternalFailure ]; getAndCacheEmbeddings // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*cacheEmbedding*) +cacheEmbedding // beginDefinition; +cacheEmbedding[ key_String, vector_ ] /; ! $cacheEmbeddings := toTinyVector @ vector; +cacheEmbedding[ key_String, vector_ ] := $embeddingCache[ key ] = toTinyVector @ vector; +cacheEmbedding // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*sentenceBERTEmbedding*) From fad56b543fa4c0c79f190dee9bb46d67974e1946 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 1 Oct 2024 11:00:06 -0400 Subject: [PATCH 153/180] Saving chats now also includes embeddings for search --- Source/Chatbook/Storage.wl | 313 +++++++++++++++++++++++++++++++------ 1 file changed, 263 insertions(+), 50 deletions(-) diff --git a/Source/Chatbook/Storage.wl b/Source/Chatbook/Storage.wl index 1d5ba37e..8455e714 100644 --- a/Source/Chatbook/Storage.wl +++ b/Source/Chatbook/Storage.wl @@ -14,22 +14,36 @@ Needs[ "Wolfram`Chatbook`Common`" ]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Configuration*) -$maxTitleGenerationMessages = 10; -$savedChatDataVersion = 1; +$maxTitleGenerationMessages = 10; (* 5 input/output pairs *) +$savedChatDataVersion = 2; $rootStorageName = "SavedChats"; $defaultConversationTitle = "Untitled Chat"; -$maxFilesDisplay = 50; +$maxChatItems = Infinity; $timestampPrefixLength = 7; (* good for about 1000 years *) $$timestampPrefix = Repeated[ LetterCharacter|DigitCharacter, { $timestampPrefixLength } ]; -$$chatMetadata = KeyValuePattern @ { +$metaKeys = { "AppName", "ConversationTitle", "ConversationUUID", "Date", "Version" }; + +(* TODO: these patterns might need to move to Common.wl *) +$$conversationData = KeyValuePattern @ { + "AppName" -> _String, + "ConversationTitle" -> _String, + "ConversationUUID" -> _String, + "Date" -> _Real, + "Version" -> $savedChatDataVersion +}; + +$$conversationFullData = KeyValuePattern @ { "AppName" -> _String, "ConversationTitle" -> _String, "ConversationUUID" -> _String, "Date" -> _Real, - "Version" -> _Integer + "Messages" -> _List, + "Version" -> $savedChatDataVersion }; +$$legacyData = KeyValuePattern[ "Version" -> _? (LessThan @ $savedChatDataVersion ) ]; + $$appSpec = $$string | All | _NotebookObject; $generatedTitleCache = <| |>; @@ -38,8 +52,14 @@ $generatedTitleCache = <| |>; (* ::Section::Closed:: *) (*ListSavedChats*) ListSavedChats // beginDefinition; -ListSavedChats[ ] := catchMine @ ListSavedChats @ All; -ListSavedChats[ appSpec: $$appSpec ] := catchMine @ LogChatTiming @ listSavedChats @ appSpec; +ListSavedChats // Options = { MaxItems -> $maxChatItems }; + +ListSavedChats[ opts: OptionsPattern[ ] ] := + catchMine @ ListSavedChats[ All, opts ]; + +ListSavedChats[ appSpec: $$appSpec, opts: OptionsPattern[ ] ] := + catchMine @ LogChatTiming @ listSavedChats[ appSpec, OptionValue[ MaxItems ] ]; + ListSavedChats // endExportedDefinition; (* ::**************************************************************************************************************:: *) @@ -47,8 +67,8 @@ ListSavedChats // endExportedDefinition; (*listSavedChats*) listSavedChats // beginDefinition; -listSavedChats[ appSpec: $$appSpec ] := Enclose[ - Catch @ Module[ { appName, dirName, root, depth, files, sorted }, +listSavedChats[ appSpec: $$appSpec, maxItems_? Positive ] := Enclose[ + Catch @ Module[ { appName, dirName, root, depth, files, sorted, take }, appName = ConfirmMatch[ determineAppName @ appSpec, $$string | All, "Name" ]; dirName = If[ StringQ @ appName, appName, Nothing ]; @@ -61,14 +81,14 @@ listSavedChats[ appSpec: $$appSpec ] := Enclose[ depth = If[ StringQ @ appName, 2, 3 ]; - files = FileNames[ "metadata.wxf", root, { depth } ]; If[ files === { }, Throw @ { } ]; (* show most recent first *) sorted = If[ StringQ @ appName, Reverse @ files, ReverseSortBy[ files, FileNameTake[ #, { -2 } ] & ] ]; + take = ConfirmMatch[ Take[ sorted, UpTo @ Floor @ maxItems ], { ___String }, "Take" ]; - ConfirmMatch[ readChatMetaFile /@ Take[ sorted, UpTo @ $maxFilesDisplay ], { ___Association }, "Metadata" ] + ConfirmMatch[ readChatMetaFile /@ take, { ___Association }, "Metadata" ] ], throwInternalFailure ]; @@ -98,17 +118,18 @@ notebookAppName // endDefinition; (*readChatMetaFile*) readChatMetaFile // beginDefinition; readChatMetaFile[ file_String ] := readChatMetaFile[ file, Quiet @ Developer`ReadWXFFile @ file ]; -readChatMetaFile[ file_String, as: $$chatMetadata ] := <| as, "Path" -> File @ DirectoryName @ file |>; +readChatMetaFile[ file_String, as_Association ] := checkChatDataVersion @ as; readChatMetaFile[ file_String, _? FailureQ ] := Nothing; (* corrupt WXF file (should we auto-remove it?) *) readChatMetaFile // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*LoadChat*) +(* TODO: LoadChat[NotebookObject[...], spec]*) LoadChat // beginDefinition; -LoadChat[ as_Association ] := catchMine @ LoadChat[ as[ "AppName" ], as[ "ConversationUUID" ] ]; -LoadChat[ uuid_String ] := catchMine @ LogChatTiming @ loadChat[ $defaultAppName, uuid ]; -LoadChat[ appName_String, uuid_String ] := catchMine @ LogChatTiming @ loadChat[ appName, uuid ]; +LoadChat[ as: KeyValuePattern[ "ConversationUUID" -> _String ] ] := catchMine @ LogChatTiming @ loadChat @ as; +LoadChat[ uuid_String ] := catchMine @ LoadChat @ <| "ConversationUUID" -> uuid |>; +LoadChat[ app_String, uuid_String ] := catchMine @ LoadChat @ <| "AppName" -> app, "ConversationUUID" -> uuid |>; LoadChat // endExportedDefinition; (* ::**************************************************************************************************************:: *) @@ -116,21 +137,10 @@ LoadChat // endExportedDefinition; (*loadChat*) loadChat // beginDefinition; -loadChat[ appName_String, uuid_String ] := Enclose[ - Catch @ Module[ { root, dirs, dir, file, data }, - - root = ConfirmBy[ - ChatbookFilesDirectory[ { $rootStorageName, appName }, "EnsureDirectory" -> False ], - StringQ, - "Root" - ]; - - dirs = ConfirmMatch[ Sort @ FileNames[ $$timestampPrefix ~~ "_" ~~ uuid, root ], { ___String }, "Directories" ]; - If[ dirs === { }, Throw @ Missing[ "NotFound" ] ]; - dir = ConfirmBy[ First[ dirs, $Failed ], StringQ, "Directory" ]; - file = ConfirmBy[ FileNameJoin @ { dir, "data.wxf" }, StringQ, "File" ]; - If[ ! FileExistsQ @ file, Throw @ Missing[ "NotFound" ] ]; - data = ConfirmBy[ Developer`ReadWXFFile @ file, AssociationQ, "Data" ]; +loadChat[ as_Association ] := Enclose[ + Catch @ Module[ { data }, + data = ConfirmMatch[ getChatConversationData @ as, $$conversationFullData|_Missing, "Data" ]; + If[ MissingQ @ data, Throw @ data ]; ConfirmBy[ restoreAttachments @ data, AssociationQ, "RestoreAttachments" ]; data ], @@ -139,6 +149,60 @@ loadChat[ appName_String, uuid_String ] := Enclose[ loadChat // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*getChatConversationData*) +getChatConversationData // beginDefinition; + +getChatConversationData[ KeyValuePattern @ { "AppName" -> appName_String, "ConversationUUID" -> uuid_String } ] := + getChatConversationData[ appName, uuid ]; + +getChatConversationData[ KeyValuePattern[ "ConversationUUID" -> uuid_String ] ] := + getChatConversationData @ uuid; + +getChatConversationData[ uuid_String ] := Enclose[ + Catch @ Module[ { root, dir }, + root = ConfirmBy[ storageDirectory[ ], StringQ, "Root" ]; + dir = First[ conversationFileNames[ uuid, root, { 2 } ], Throw @ Missing[ "NotFound" ] ]; + ConfirmMatch[ getChatConversationData0 @ dir, $$conversationFullData|_Missing, "Data" ] + ], + throwInternalFailure +]; + +getChatConversationData[ appName_String, uuid_String ] := Enclose[ + Catch @ Module[ { root, dir }, + root = ConfirmBy[ storageDirectory @ appName, StringQ, "Root" ]; + dir = First[ conversationFileNames[ uuid, root ], Throw @ Missing[ "NotFound" ] ]; + ConfirmMatch[ getChatConversationData0 @ dir, $$conversationFullData|_Missing, "Data" ] + ], + throwInternalFailure +]; + +getChatConversationData // endDefinition; + + +getChatConversationData0 // beginDefinition; + +getChatConversationData0[ dir_String ] := Enclose[ + Catch @ Module[ { fail, file, data }, + fail = Function[ Quiet @ DeleteDirectory[ dir, DeleteContents -> True ]; Throw @ Missing[ "NotFound" ] ]; + + file = FileNameJoin @ { dir, "data.wxf" }; + If[ ! FileExistsQ @ file, fail[ ] ]; + + data = Quiet @ Developer`ReadWXFFile @ file; + If[ ! AssociationQ @ data, fail[ ] ]; + + checkChatDataVersion @ data + ], + throwInternalFailure +]; + +getChatConversationData0[ missing_Missing ] := + missing; + +getChatConversationData0 // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*restoreAttachments*) @@ -178,14 +242,8 @@ deleteChat // beginDefinition; deleteChat[ appName_String, uuid_String ] := Enclose[ Catch @ Module[ { root, dirs, dir }, - - root = ConfirmBy[ - ChatbookFilesDirectory[ { $rootStorageName, appName }, "EnsureDirectory" -> False ], - StringQ, - "Root" - ]; - - dirs = ConfirmMatch[ Sort @ FileNames[ $$timestampPrefix ~~ "_" ~~ uuid, root ], { ___String }, "Directories" ]; + root = ConfirmBy[ storageDirectory @ appName, StringQ, "Root" ]; + dirs = ConfirmMatch[ conversationFileNames[ uuid, root ], { ___String }, "Directories" ]; If[ dirs === { }, Throw @ Missing[ "NotFound" ] ]; dir = ConfirmBy[ First[ dirs, $Failed ], StringQ, "Directory" ]; ConfirmMatch[ DeleteDirectory[ dir, DeleteContents -> True ], Null, "DeleteDirectory" ]; @@ -218,11 +276,13 @@ SaveChat // endExportedDefinition; saveChat // beginDefinition; saveChat[ messages0_, settings0_, autoTitle_ ] := Enclose[ - Module[ { settings, messages, appName, metadata, directory, attachments, smallSettings, as }, + Module[ { settings, messages, appName, metadata, vectors, directory, attachments, smallSettings, as }, + settings = If[ TrueQ @ autoTitle, <| settings0, "AutoGenerateTitle" -> True |>, settings0 ]; messages = ConfirmMatch[ prepareMessagesForSaving[ messages0, settings ], $$chatMessages, "Messages" ]; appName = ConfirmBy[ Lookup[ settings, "AppName", $defaultAppName ], StringQ, "AppName" ]; - metadata = ConfirmMatch[ getChatMetadata[ appName, messages, settings ], $$chatMetadata, "Metadata" ]; + metadata = ConfirmMatch[ getChatMetadata[ appName, messages, settings ], $$conversationData, "Metadata" ]; + vectors = ConfirmMatch[ createMessageVectors[ metadata, messages, settings ], { ___NumericArray }, "Vectors" ]; directory = ConfirmBy[ targetDirectory[ appName, metadata ], DirectoryQ, "Directory" ]; attachments = ConfirmBy[ GetAttachments[ messages, All ], AssociationQ, "Attachments" ]; smallSettings = ConfirmBy[ toSmallSettings @ settings, AssociationQ, "Settings" ]; @@ -242,7 +302,8 @@ saveChat[ messages0_, settings0_, autoTitle_ ] := Enclose[ metadata, "Attachments" -> attachments, "Messages" -> messages, - "Settings" -> smallSettings + "Settings" -> smallSettings, + "Vectors" -> vectors |>, directory, PerformanceGoal -> "Size" @@ -272,6 +333,37 @@ saveChat[ messages0_, settings0_, autoTitle_ ] := Enclose[ saveChat // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*createMessageVectors*) +createMessageVectors // beginDefinition; + +createMessageVectors[ metadata_, messages: $$chatMessages, settings_ ] := Enclose[ + Module[ { partitioned, strings, rVectors, iVectors, title, titleVector }, + ConfirmAssert[ Length @ messages >= 2, "LengthCheck" ]; + partitioned = ConfirmBy[ Partition[ messages, UpTo[ 2 ] ], ListQ, "Pairs" ]; + strings = ConfirmMatch[ messagesToString /@ partitioned, { __String }, "Strings" ]; + rVectors = ConfirmMatch[ getEmbeddings @ strings, { __NumericArray }, "Embeddings" ]; + iVectors = ConfirmMatch[ toInt8Vector /@ rVectors, { __NumericArray }, "Int8Vectors" ]; + title = metadata[ "ConversationTitle" ]; + If[ StringQ @ title, + titleVector = ConfirmMatch[ toInt8Vector @ getEmbedding @ title, _NumericArray, "TitleVector" ]; + Prepend[ iVectors, titleVector ], + iVectors + ] + ], + throwInternalFailure +]; + +createMessageVectors // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*toInt8Vector*) +toInt8Vector // beginDefinition; +toInt8Vector[ arr_NumericArray ] := NumericArray[ arr, "Integer8", "ClipAndRound" ]; +toInt8Vector // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*getAppName*) @@ -313,13 +405,8 @@ cleanupStaleChats // beginDefinition; cleanupStaleChats[ app_String ] := Enclose[ Module[ { root, dirs, grouped, delete }, - root = ConfirmBy[ - ChatbookFilesDirectory[ { $rootStorageName, app }, "EnsureDirectory" -> False ], - StringQ, - "Root" - ]; - - dirs = ConfirmMatch[ Sort @ FileNames[ $$timestampPrefix ~~ "_" ~~ __, root ], { ___String }, "Directories" ]; + root = ConfirmBy[ storageDirectory @ app, StringQ, "Root" ]; + dirs = ConfirmMatch[ conversationFileNames[ All, root ], { ___String }, "Directories" ]; grouped = GatherBy[ dirs, StringDrop[ FileNameTake @ #, $timestampPrefixLength ] & ]; delete = ConfirmMatch[ Flatten[ Most /@ grouped ], { ___String }, "Delete" ]; @@ -374,7 +461,18 @@ dropSystemMessage // endDefinition; (*saveChatFile*) saveChatFile // beginDefinition; -saveChatFile[ type_String, data_, directory_, opts: OptionsPattern[ ] ] := Enclose[ +saveChatFile[ "metadata", data_Association, directory_, opts: OptionsPattern[ ] ] := + saveChatFile0[ "metadata", KeyTake[ data, $metaKeys ], directory, opts ]; + +saveChatFile[ type_String, data_Association, directory_, opts: OptionsPattern[ ] ] := + saveChatFile0[ type, data, directory, opts ]; + +saveChatFile // endDefinition; + + +saveChatFile0 // beginDefinition; + +saveChatFile0[ type_String, data_, directory_, opts: OptionsPattern[ ] ] := Enclose[ Module[ { file }, file = ConfirmBy[ FileNameJoin @ { directory, type <> ".wxf" }, StringQ, "File" ]; ConfirmBy[ Developer`WriteWXFFile[ file, data, opts ], FileExistsQ, "Export" ] @@ -382,7 +480,7 @@ saveChatFile[ type_String, data_, directory_, opts: OptionsPattern[ ] ] := Enclo throwInternalFailure ]; -saveChatFile // endDefinition; +saveChatFile0 // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) @@ -477,6 +575,121 @@ generateTitleCached0[ hash_Integer, messages_ ] := Enclose[ generateTitleCached0 // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Upgrade Data*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*checkChatDataVersion*) +checkChatDataVersion // beginDefinition; +checkChatDataVersion[ as: $$conversationData ] := as; +checkChatDataVersion[ as: $$legacyData ] := upgradeChatData @ as; +checkChatDataVersion // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*upgradeChatData*) +upgradeChatData // beginDefinition; + +upgradeChatData[ as: KeyValuePattern[ "Version" -> oldVersion_Integer ] ] := Enclose[ + Module[ { upgraded, newVersion }, + ConfirmAssert[ oldVersion < $savedChatDataVersion, "OldVersionCheck" ]; + upgraded = ConfirmBy[ upgradeChatData0[ oldVersion, as ], AssociationQ, "Upgraded" ]; + newVersion = ConfirmMatch[ upgraded[ "Version" ], _Integer, "NewVersion" ]; + ConfirmAssert[ oldVersion < newVersion <= $savedChatDataVersion, "NewVersionCheck" ]; + If[ newVersion === $savedChatDataVersion, + upgraded, + upgradeChatData @ upgraded + ] + ], + throwInternalFailure +]; + +upgradeChatData // endDefinition; + + +upgradeChatData0 // beginDefinition; +upgradeChatData0[ 1, as_Association ] := upgradeChatData1 @ as; +upgradeChatData0 // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*Update from version 1*) + +(* Adds vectors to the saved data: *) +upgradeChatData1 // beginDefinition; + +upgradeChatData1[ metadata_Association ] := Enclose[ + Module[ { appName, directory, file, data, messages, settings, vectors, newData, newMeta }, + + appName = ConfirmBy[ metadata[ "AppName" ], StringQ, "AppName" ]; + directory = ConfirmBy[ targetDirectory[ appName, metadata ], DirectoryQ, "Directory" ]; + file = ConfirmBy[ FileNameJoin @ { directory, "data.wxf" }, FileExistsQ, "File" ]; + data = ConfirmBy[ Developer`ReadWXFFile @ file, AssociationQ, "Data" ]; + messages = ConfirmMatch[ data[ "Messages" ], $$chatMessages, "Messages" ]; + settings = ConfirmBy[ data[ "Settings" ], AssociationQ, "Settings" ]; + vectors = ConfirmMatch[ createMessageVectors[ metadata, messages, settings ], { ___NumericArray }, "Vectors" ]; + newData = <| data, "Vectors" -> vectors, "Version" -> 2 |>; + newMeta = ConfirmBy[ <| metadata, "Version" -> 2 |>, AssociationQ, "Metadata" ]; + + ConfirmBy[ + saveChatFile[ "metadata", newMeta, directory ], + FileExistsQ, + "SaveMetadata" + ]; + + ConfirmBy[ + saveChatFile[ "data", newData, directory, PerformanceGoal -> "Size" ], + FileExistsQ, + "SaveMessages" + ]; + + If[ KeyExistsQ[ metadata, "Messages" ], + newData, + newMeta + ] + ], + throwInternalFailure +]; + +upgradeChatData1 // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*File Utilities*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*storageDirectory*) +storageDirectory // beginDefinition; +storageDirectory[ ] := ChatbookFilesDirectory[ $rootStorageName, "EnsureDirectory" -> False ]; +storageDirectory[ name_String ] := ChatbookFilesDirectory[ { $rootStorageName, name }, "EnsureDirectory" -> False ]; +storageDirectory[ All ] := storageDirectory[ ]; +storageDirectory // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*conversationFileNames*) +conversationFileNames // beginDefinition; + +conversationFileNames[ All, args__ ] := + conversationFileNames[ __, args ]; + +conversationFileNames[ pattern_, args__ ] := Enclose[ + Sort @ ConfirmMatch[ FileNames[ conversationFilePattern @ pattern, args ], { ___String }, "FileNames" ], + throwInternalFailure +]; + +conversationFileNames // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*conversationFilePattern*) +conversationFilePattern // beginDefinition; +conversationFilePattern[ pattern_ ] := $$timestampPrefix ~~ "_" ~~ pattern; +conversationFilePattern // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Package Footer*) From b0840794ac4e8c8ceb855a9c52f683de18af9341 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 1 Oct 2024 20:53:40 -0400 Subject: [PATCH 154/180] Added search functionality --- Source/Chatbook/CommonSymbols.wl | 2 + Source/Chatbook/Main.wl | 7 + Source/Chatbook/Search.wl | 264 +++++++++++++++++++++++++++++++ Source/Chatbook/Storage.wl | 6 + 4 files changed, 279 insertions(+) create mode 100644 Source/Chatbook/Search.wl diff --git a/Source/Chatbook/CommonSymbols.wl b/Source/Chatbook/CommonSymbols.wl index 2374bc8a..f86f1bc6 100644 --- a/Source/Chatbook/CommonSymbols.wl +++ b/Source/Chatbook/CommonSymbols.wl @@ -152,7 +152,9 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `functionTemplateBoxes; `getAvailableServiceNames; `getBoxObjectFromBoxID; +`getChatConversationData; `getChatGroupSettings; +`getChatMetadata; `getEmbedding; `getEmbeddings; `getHandlerFunctions; diff --git a/Source/Chatbook/Main.wl b/Source/Chatbook/Main.wl index 6c42676d..b3dcace7 100644 --- a/Source/Chatbook/Main.wl +++ b/Source/Chatbook/Main.wl @@ -32,6 +32,7 @@ BeginPackage[ "Wolfram`Chatbook`" ]; `$ToolFunctions; `$WorkspaceChat; `AbsoluteCurrentChatSettings; +`AddChatToSearchIndex; `AppendURIInstructions; `BasePrompt; `CachedBoxes; @@ -65,10 +66,12 @@ BeginPackage[ "Wolfram`Chatbook`" ]; `LoadChat; `LogChatTiming; `MakeExpressionURI; +`RebuildChatSearchIndex; `RelatedDocumentation; `RelatedWolframAlphaQueries; `SandboxLinguisticAssistantData; `SaveChat; +`SearchChats; `SetModel; `SetToolOptions; `ShowCodeAssistance; @@ -143,6 +146,7 @@ $ChatbookContexts = { "Wolfram`Chatbook`Prompting`", "Wolfram`Chatbook`ResourceInstaller`", "Wolfram`Chatbook`Sandbox`", + "Wolfram`Chatbook`Search`", "Wolfram`Chatbook`SendChat`", "Wolfram`Chatbook`Serialization`", "Wolfram`Chatbook`Services`", @@ -184,6 +188,7 @@ $ChatbookProtectedNames = "Wolfram`Chatbook`" <> # & /@ { "$ToolFunctions", "$WorkspaceChat", "AbsoluteCurrentChatSettings", + "AddChatToSearchIndex", "AppendURIInstructions", "BasePrompt", "CachedBoxes", @@ -216,10 +221,12 @@ $ChatbookProtectedNames = "Wolfram`Chatbook`" <> # & /@ { "LoadChat", "LogChatTiming", "MakeExpressionURI", + "RebuildChatSearchIndex", "RelatedDocumentation", "RelatedWolframAlphaQueries", "SandboxLinguisticAssistantData", "SaveChat", + "SearchChats", "SetModel", "SetToolOptions", "ShowCodeAssistance", diff --git a/Source/Chatbook/Search.wl b/Source/Chatbook/Search.wl new file mode 100644 index 00000000..14e122c0 --- /dev/null +++ b/Source/Chatbook/Search.wl @@ -0,0 +1,264 @@ +(* ::Section::Closed:: *) +(*Package Header*) +BeginPackage[ "Wolfram`Chatbook`Search`" ]; +Begin[ "`Private`" ]; + +Needs[ "Wolfram`Chatbook`" ]; +Needs[ "Wolfram`Chatbook`Common`" ]; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Configuration*) +$rootStorageName = "Search"; +$chatSearchIndex = None; +$searchIndexVersion = 1; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*SearchChats*) +SearchChats // beginDefinition; +SearchChats // Options = { MaxItems -> 10 }; + +SearchChats[ app: _String|All, query_String, opts: OptionsPattern[ ] ] := + catchMine @ LogChatTiming @ searchChats[ app, query, OptionValue[ MaxItems ] ]; + +SearchChats[ query_String, opts: OptionsPattern[ ] ] := + catchMine @ SearchChats[ All, query, opts ]; + +SearchChats // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*searchChats*) +searchChats // beginDefinition; + +searchChats[ appName_String, query_String, max_? Positive ] := Enclose[ + Catch @ Module[ { index, flat, values, vectors, embedding, idx, results }, + + index = Values @ ConfirmBy[ loadChatSearchIndex @ appName, AssociationQ, "Load" ]; + + flat = ConfirmMatch[ + Flatten[ Thread @ { KeyDrop[ #, "Vectors" ], #Vectors } & /@ index, 1 ], + { { _Association, _NumericArray }... } + ]; + + If[ flat === { }, Throw @ { } ]; + + { values, vectors } = ConfirmMatch[ Transpose @ flat, { _, _ }, "Transpose" ]; + + embedding = ConfirmBy[ getEmbedding[ query, "CacheEmbeddings" -> False ], NumericArrayQ, "Embedding" ]; + + idx = ConfirmMatch[ + Nearest[ Normal @ vectors -> "Index", Normal @ embedding, Floor[ 2*max+1 ] ], + { ___Integer }, + "Nearest" + ]; + + results = ConfirmMatch[ values[[ idx ]], { ___Association }, "Results" ]; + + Take[ DeleteDuplicatesBy[ results, Lookup[ "ConversationUUID" ] ], UpTo @ Floor @ max ] + ], + throwInternalFailure +]; + +searchChats // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*AddChatToSearchIndex*) +AddChatToSearchIndex // beginDefinition; + +AddChatToSearchIndex[ as: KeyValuePattern[ "ConversationUUID" -> _String ] ] := + catchMine @ LogChatTiming @ addChatToSearchIndex @ as; + +AddChatToSearchIndex[ uuid_String ] := + catchMine @ LogChatTiming @ addChatToSearchIndex @ uuid; + +AddChatToSearchIndex[ app_String, uuid_String ] := + catchMine @ LogChatTiming @ addChatToSearchIndex @ <| "AppName" -> app, "ConversationUUID" -> uuid |>; + +AddChatToSearchIndex // endExportedDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*addChatToSearchIndex*) +addChatToSearchIndex // beginDefinition; + +addChatToSearchIndex[ spec_ ] := Enclose[ + Catch @ Module[ { data, appName, uuid, vectors, metadata }, + data = ConfirmMatch[ getChatConversationData @ spec, _Association|_Missing, "Data" ]; + If[ MissingQ @ data, Throw @ Missing[ "NotSaved" ] ]; (* TODO: auto-save here? *) + appName = ConfirmBy[ data[ "AppName" ], StringQ, "AppName" ]; + uuid = ConfirmBy[ data[ "ConversationUUID" ], StringQ, "ConversationUUID" ]; + vectors = ConfirmMatch[ data[ "Vectors" ], { ___NumericArray }, "Vectors" ]; + If[ vectors === { }, Throw @ Missing[ "NoVectors" ] ]; + + ConfirmBy[ loadChatSearchIndex @ appName, AssociationQ, "Load" ]; + ConfirmAssert[ AssociationQ @ $chatSearchIndex[ appName ], "CheckIndex" ]; + + metadata = ConfirmBy[ getChatMetadata @ data, AssociationQ, "Metadata" ]; + $chatSearchIndex[ appName, uuid ] = <| metadata, "Vectors" -> vectors |>; + ConfirmBy[ saveChatIndex @ appName, FileExistsQ, "Save" ]; + + Success[ "AddedChatToSearchIndex", <| "AppName" -> appName, "ConversationUUID" -> uuid |> ] + ], + throwInternalFailure +]; + +addChatToSearchIndex // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*RebuildChatSearchIndex*) +RebuildChatSearchIndex // beginDefinition; +RebuildChatSearchIndex[ appName_String ] := catchMine @ LogChatTiming @ rebuildChatSearchIndex @ appName; +RebuildChatSearchIndex[ All ] := catchMine @ LogChatTiming @ rebuildChatSearchIndex @ All; +RebuildChatSearchIndex[ ] := catchMine @ LogChatTiming @ rebuildChatSearchIndex @ All; +RebuildChatSearchIndex // endExportedDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*rebuildChatSearchIndex*) +rebuildChatSearchIndex // beginDefinition; + +rebuildChatSearchIndex[ appName_String ] := Enclose[ + Module[ { root, chats }, + + root = ConfirmBy[ + ChatbookFilesDirectory[ { $rootStorageName, appName }, "EnsureDirectory" -> False ], + StringQ, + "Root" + ]; + + If[ DirectoryQ @ root, ConfirmMatch[ DeleteDirectory[ root, DeleteContents -> True ], Null, "Delete" ] ]; + + If[ ! AssociationQ @ $chatSearchIndex, $chatSearchIndex = <| |> ]; + chats = ConfirmMatch[ ListSavedChats @ appName, { ___Association }, "Chats" ]; + ConfirmMatch[ addChatToSearchIndex /@ chats, { ___Success }, "AddChatToSearchIndex" ]; + ConfirmBy[ saveChatIndex @ appName, FileExistsQ, "Save" ]; + ConfirmBy[ $chatSearchIndex[ appName ], AssociationQ, "Result" ] + ], + throwInternalFailure +]; + +rebuildChatSearchIndex[ All ] := Enclose[ + Module[ { root, chats }, + + root = ConfirmBy[ + ChatbookFilesDirectory[ $rootStorageName, "EnsureDirectory" -> False ], + StringQ, + "Root" + ]; + + If[ DirectoryQ @ root, ConfirmMatch[ DeleteDirectory[ root, DeleteContents -> True ], Null, "Delete" ] ]; + + $chatSearchIndex = <| |>; + chats = ConfirmMatch[ ListSavedChats[ ], { ___Association }, "Chats" ]; + ConfirmMatch[ addChatToSearchIndex /@ chats, { ___Success }, "AddChatToSearchIndex" ]; + ConfirmMatch[ saveChatIndex[ ], { ___? FileExistsQ }, "Save" ]; + $chatSearchIndex + ], + throwInternalFailure +]; + +rebuildChatSearchIndex // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Loading/Saving*) + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*loadChatSearchIndex*) +loadChatSearchIndex // beginDefinition; + +loadChatSearchIndex[ appName_String ] := Enclose[ + Catch @ Module[ { root, file, data, index }, + + If[ ! AssociationQ @ $chatSearchIndex, $chatSearchIndex = <| |> ]; + + If[ AssociationQ @ $chatSearchIndex[ appName ], + Throw @ $chatSearchIndex[ appName ], + $chatSearchIndex[ appName ] = <| |> + ]; + + root = ConfirmBy[ + ChatbookFilesDirectory[ { $rootStorageName, appName }, "EnsureDirectory" -> False ], + StringQ, + "Root" + ]; + + file = FileNameJoin @ { root, "index.wxf" }; + If[ ! FileExistsQ @ file, Throw @ rebuildChatSearchIndex @ appName ]; + + data = Quiet @ Developer`ReadWXFFile @ file; + If[ ! AssociationQ @ data, Throw @ rebuildChatSearchIndex @ appName ]; + + index = ConfirmBy[ data[ "Index" ], AssociationQ, "Index" ]; + $chatSearchIndex[ appName ] = index + ], + throwInternalFailure +]; + +loadChatSearchIndex[ All ] := Enclose[ + Module[ { root, files, names }, + If[ ! AssociationQ @ $chatSearchIndex, $chatSearchIndex = <| |> ]; + + root = ConfirmBy[ + ChatbookFilesDirectory[ $rootStorageName, "EnsureDirectory" -> False ], + StringQ, + "Root" + ]; + + If[ ! DirectoryQ @ root, Throw @ $chatSearchIndex ]; + + files = ConfirmMatch[ FileNames[ "index.wxf", root, { 2 } ], { ___String }, "Files" ]; + If[ files === { }, Throw @ $chatSearchIndex ]; + + names = ConfirmMatch[ FileBaseName @* DirectoryName /@ files, { __String }, "Names" ]; + ConfirmMatch[ loadChatSearchIndex /@ names, { ___Association }, "Load" ]; + + $chatSearchIndex + ], + throwInternalFailure +]; + +loadChatSearchIndex // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*saveChatIndex*) +saveChatIndex // beginDefinition; + +saveChatIndex[ appName_String ] := Enclose[ + Module[ { index, root, file, data }, + index = ConfirmBy[ $chatSearchIndex[ appName ], AssociationQ, "Data" ]; + + root = ConfirmBy[ + ChatbookFilesDirectory[ { $rootStorageName, appName }, "EnsureDirectory" -> True ], + StringQ, + "Root" + ]; + + file = FileNameJoin @ { root, "index.wxf" }; + data = <| "Index" -> index, "Version" -> $searchIndexVersion |>; + + ConfirmBy[ Developer`WriteWXFFile[ file, data, PerformanceGoal -> "Size" ], FileExistsQ, "Result" ] + ], + throwInternalFailure +]; + +saveChatIndex[ ] := + saveChatIndex /@ Keys @ $chatSearchIndex; + +saveChatIndex // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Package Footer*) +addToMXInitialization[ + Null +]; + +End[ ]; +EndPackage[ ]; diff --git a/Source/Chatbook/Storage.wl b/Source/Chatbook/Storage.wl index 8455e714..439b1507 100644 --- a/Source/Chatbook/Storage.wl +++ b/Source/Chatbook/Storage.wl @@ -154,6 +154,9 @@ loadChat // endDefinition; (*getChatConversationData*) getChatConversationData // beginDefinition; +getChatConversationData[ data: $$conversationFullData ] := + data; + getChatConversationData[ KeyValuePattern @ { "AppName" -> appName_String, "ConversationUUID" -> uuid_String } ] := getChatConversationData[ appName, uuid ]; @@ -487,6 +490,9 @@ saveChatFile0 // endDefinition; (*getChatMetadata*) getChatMetadata // beginDefinition; +getChatMetadata[ data: $$conversationData ] := + KeyTake[ data, $metaKeys ]; + getChatMetadata[ appName_, messages_, settings_Association ] := Enclose[ Module[ { uuid, title, date, version }, From 74408daae4b13475331cc31540122801f4ec7b28 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 1 Oct 2024 20:53:58 -0400 Subject: [PATCH 155/180] Index chat when saving --- Source/Chatbook/Storage.wl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Source/Chatbook/Storage.wl b/Source/Chatbook/Storage.wl index 439b1507..0d407d93 100644 --- a/Source/Chatbook/Storage.wl +++ b/Source/Chatbook/Storage.wl @@ -327,6 +327,8 @@ saveChat[ messages0_, settings0_, autoTitle_ ] := Enclose[ ConfirmMatch[ cleanupStaleChats @ appName, { ___String }, "Cleanup" ]; + ConfirmMatch[ AddChatToSearchIndex @ as, _Success, "AddToSearchIndex" ]; + updateDynamics[ "SavedChats" ]; Success[ "Saved", as ] From df6c7aacf15aec5a6d6133cd0a95f289ef8bd6ee Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 1 Oct 2024 20:54:22 -0400 Subject: [PATCH 156/180] Specify max tokens for a few more models --- Source/Chatbook/Settings.wl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Source/Chatbook/Settings.wl b/Source/Chatbook/Settings.wl index 9b08ffc7..ae799e74 100644 --- a/Source/Chatbook/Settings.wl +++ b/Source/Chatbook/Settings.wl @@ -481,6 +481,7 @@ autoMaxContextTokens // endDefinition; autoMaxContextTokens0 // beginDefinition; autoMaxContextTokens0[ name_String ] := autoMaxContextTokens0 @ StringSplit[ name, "-"|Whitespace ]; +autoMaxContextTokens0[ { ___, "o1" , ___ } ] := 2^17; autoMaxContextTokens0[ { ___, "gpt"|"chatgpt", "4o" , ___ } ] := 2^17; autoMaxContextTokens0[ { ___, "gpt", "4", "vision" , ___ } ] := 2^17; autoMaxContextTokens0[ { ___, "gpt", "4", "turbo" , ___ } ] := 2^17; @@ -493,6 +494,7 @@ autoMaxContextTokens0[ { ___, "gpt", "3.5" , ___ } ] := 2^12; autoMaxContextTokens0[ { ___, "chat", "bison", "001" , ___ } ] := 20000; autoMaxContextTokens0[ { ___, "gemini", ___, "pro", "vision", ___ } ] := 12288; autoMaxContextTokens0[ { ___, "gemini", ___, "pro" , ___ } ] := 30720; +autoMaxContextTokens0[ { ___, "phi3.5" , ___ } ] := 2^17; autoMaxContextTokens0[ _List ] := 2^12; autoMaxContextTokens0 // endDefinition; From a2dbccaec8ce7eab1c05e8da86cb1b960fb544a3 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Wed, 2 Oct 2024 09:21:21 -0400 Subject: [PATCH 157/180] Bugfix: Fixed tool evaluations when ForceSynchronous is True --- Source/Chatbook/Actions.wl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Source/Chatbook/Actions.wl b/Source/Chatbook/Actions.wl index 5d3ec85d..9a808656 100644 --- a/Source/Chatbook/Actions.wl +++ b/Source/Chatbook/Actions.wl @@ -568,7 +568,11 @@ waitForLastTask // beginDefinition; waitForLastTask[ ] := waitForLastTask @ $lastTask; waitForLastTask[ $Canceled ] := $Canceled; -waitForLastTask[ None ] := runNextTask[ ]; + +waitForLastTask[ None ] := + While[ MatchQ[ $nextTaskEvaluation, _Hold ], + runNextTask @ $nextTaskEvaluation + ]; waitForLastTask[ task_TaskObject ] := LogChatTiming[ TaskWait @ task; From 7bb59ba6e16eb7d45045453e43181930bab53cd9 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Thu, 3 Oct 2024 10:54:46 -0400 Subject: [PATCH 158/180] Bugfix: Handle changes to `CellObject` in cloud --- Source/Chatbook/FrontEnd.wl | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/Source/Chatbook/FrontEnd.wl b/Source/Chatbook/FrontEnd.wl index b2155209..3349fb50 100644 --- a/Source/Chatbook/FrontEnd.wl +++ b/Source/Chatbook/FrontEnd.wl @@ -657,24 +657,28 @@ cellPrint // endDefinition; (*cloudCellPrint*) cloudCellPrint // beginDefinition; -cloudCellPrint[ cell0_Cell ] := - Enclose @ Module[ { cellUUID, nbUUID, cell }, - cellUUID = CreateUUID[ ]; - nbUUID = ConfirmBy[ cloudNotebookUUID[ ], StringQ ]; - cell = Append[ DeleteCases[ cell0, ExpressionUUID -> _ ], ExpressionUUID -> cellUUID ]; - CellPrint @ cell; - CellObject[ cellUUID, nbUUID ] +cloudCellPrint[ cell_Cell ] := + With[ { obj = MathLink`CallFrontEnd @ FrontEnd`CellPrintReturnObject @ cell }, + obj /; MatchQ[ obj, _CellObject ] ]; -cloudCellPrint // endDefinition; +cloudCellPrint[ Cell[ a__, CellTags -> tags0_, b___ ] ] := Enclose[ + Module[ { uuid, tags, cell, obj }, + uuid = ConfirmBy[ CreateUUID[ ], StringQ, "UUID" ]; + tags = Select[ Flatten @ { tags0, uuid }, StringQ ]; + cell = Cell[ a, CellTags -> tags, b ]; + CellPrint @ cell; + obj = First @ ConfirmMatch[ Cells[ CellTags -> uuid ], { _CellObject }, "Cells" ]; + SetOptions[ obj, CellTags -> Replace[ tags, { uuid } -> Inherited ] ]; + obj + ], + throwInternalFailure +]; -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*cloudNotebookUUID*) -cloudNotebookUUID // beginDefinition; -cloudNotebookUUID[ ] := cloudNotebookUUID[ EvaluationNotebook[ ] ]; -cloudNotebookUUID[ NotebookObject[ _, uuid_String ] ] := uuid; -cloudNotebookUUID // endDefinition; +cloudCellPrint[ Cell[ a___ ] ] := + cloudCellPrint @ Cell[ a, CellTags -> { } ]; + +cloudCellPrint // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) From ad55487d9571da69fe7f1520a9efd822f2d6c1d4 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Fri, 4 Oct 2024 12:05:15 -0400 Subject: [PATCH 159/180] Try to reset services when data is corrupt rather than fail with an internal error. Display underlying `Failure[...]` as a fallback in the preferences UI if that fails. --- Source/Chatbook/PreferencesContent.wl | 26 +++++++++++++++++++++++--- Source/Chatbook/Services.wl | 18 ++++++++++++++++++ 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/Source/Chatbook/PreferencesContent.wl b/Source/Chatbook/PreferencesContent.wl index 1e0d5605..bb59009f 100644 --- a/Source/Chatbook/PreferencesContent.wl +++ b/Source/Chatbook/PreferencesContent.wl @@ -472,6 +472,9 @@ makeModelSelector0[ services_Association? AssociationQ ] := Enclose[ throwInternalFailure ]; +makeModelSelector0[ failure: HoldPattern @ Failure[ LLMServices`LLMServiceInformation, ___ ] ] := + Pane[ failure, ImageSize -> { $preferencesWidth-50, Automatic } ]; + makeModelSelector0 // endDefinition; (* ::**************************************************************************************************************:: *) @@ -1084,8 +1087,12 @@ makeToolCallFrequencySelector // endDefinition; (* ::Subsection::Closed:: *) (*servicesSettingsPanel*) servicesSettingsPanel // beginDefinition; +servicesSettingsPanel[ ] := Catch[ servicesSettingsPanel0[ ], $servicesSettingsTag ]; +servicesSettingsPanel // endDefinition; + +servicesSettingsPanel0 // beginDefinition; -servicesSettingsPanel[ ] := Enclose[ +servicesSettingsPanel0[ ] := Enclose[ Module[ { settingsLabel, settings, serviceGrid }, settingsLabel = subsectionText @ tr[ "PreferencesContentSubsectionRegisteredServices" ]; @@ -1109,7 +1116,7 @@ servicesSettingsPanel[ ] := Enclose[ throwInternalFailure ]; -servicesSettingsPanel // endDefinition; +servicesSettingsPanel0 // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) @@ -1128,7 +1135,7 @@ makeServiceGrid[ ] := Grid[ Spacer[ 1 ] } }, - KeyValueMap[ makeServiceGridRow, DeleteCases[ $availableServices, KeyValuePattern[ "Hidden" -> True ] ] ] + makeServiceGridRows @ $availableServices ], Alignment -> { Left, Baseline }, Background -> { { }, { GrayLevel[ 0.898 ], { White } } }, @@ -1140,6 +1147,19 @@ makeServiceGrid[ ] := Grid[ makeServiceGrid // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*makeServiceGridRows*) +makeServiceGridRows // beginDefinition; + +makeServiceGridRows[ services_Association ] := + KeyValueMap[ makeServiceGridRow, DeleteCases[ services, KeyValuePattern[ "Hidden" -> True ] ] ]; + +makeServiceGridRows[ failure: HoldPattern @ Failure[ LLMServices`LLMServiceInformation, ___ ] ] := + Throw[ Pane[ failure, ImageSize -> { $preferencesWidth-50, Automatic } ], $servicesSettingsTag ]; + +makeServiceGridRows // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*makeServiceGridRow*) diff --git a/Source/Chatbook/Services.wl b/Source/Chatbook/Services.wl index 398af209..4a09d8e3 100644 --- a/Source/Chatbook/Services.wl +++ b/Source/Chatbook/Services.wl @@ -27,6 +27,11 @@ $llmServicesAvailable := $llmServicesAvailable = ( PacletNewerQ[ PacletObject[ "Wolfram/LLMFunctions" ], "1.2.2" ] ); +$$llmServicesFailure = HoldPattern @ Failure[ + LLMServices`LLMServiceInformation, + KeyValuePattern[ "MessageTemplate" :> LLMServices`LLMServiceInformation::corrupt ] +]; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*InvalidateServiceCache*) @@ -232,6 +237,19 @@ getAvailableServices0[ services0_Association? AssociationQ ] := Enclose[ throwInternalFailure ]; +(* If stored service information is corrupt, attempt to reset it and try again: *) +getAvailableServices0[ $$llmServicesFailure ] := Enclose[ + Catch @ Module[ { services }, + ConfirmMatch[ llm`ResetServices[ ], { __Success }, "Reset" ]; + services = llm`LLMServiceInformation @ llm`ChatSubmit; + (* If it's still failing, return the failure: *) + If[ MatchQ[ services, $$llmServicesFailure ], Throw @ services ]; + (* Otherwise we can proceed normally: *) + getAvailableServices0 @ ConfirmBy[ services, AssociationQ, "Services" ] + ], + throwInternalFailure +]; + getAvailableServices0 // endDefinition; (* ::**************************************************************************************************************:: *) From 7f37eacd3ec0fe144ce36ad71c7ae4f9b7e068a4 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Fri, 4 Oct 2024 12:21:01 -0400 Subject: [PATCH 160/180] Ignore installed tools that can't be used due to incompatibility issues --- Source/Chatbook/ToolManager.wl | 9 ++++++++- Source/Chatbook/Tools/Common.wl | 5 ++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Source/Chatbook/ToolManager.wl b/Source/Chatbook/ToolManager.wl index 9e80f5de..b1d845cc 100644 --- a/Source/Chatbook/ToolManager.wl +++ b/Source/Chatbook/ToolManager.wl @@ -459,7 +459,7 @@ getFullPersonaList // endDefinition; standardizePersonaData // beginDefinition; standardizePersonaData[ persona_Association ] := - standardizePersonaData[ persona, Lookup[ persona, "Tools", { } ] ]; + standardizePersonaData[ persona, getValidPersonaTools @ persona ]; standardizePersonaData[ persona_Association, tools_List ] := Append[ persona, "Tools" -> tools ]; @@ -472,6 +472,13 @@ standardizePersonaData[ persona_Association, None ] := standardizePersonaData // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*getValidPersonaTools*) +getValidPersonaTools // beginDefinition; +getValidPersonaTools[ persona_Association ] := Quiet @ Cases[ Lookup[ persona, "Tools", { } ], _LLMTool ]; +getValidPersonaTools // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Overlays*) diff --git a/Source/Chatbook/Tools/Common.wl b/Source/Chatbook/Tools/Common.wl index 6c4624a3..ac06392b 100644 --- a/Source/Chatbook/Tools/Common.wl +++ b/Source/Chatbook/Tools/Common.wl @@ -161,7 +161,10 @@ reevaluateToolExpressions // endDefinition; (*Installed Tools*) $installedTools := Association @ Cases[ GetInstalledResourceData[ "LLMTool" ], - as: KeyValuePattern[ "Tool" -> tool_ ] :> (toolName @ tool -> addExtraToolData[ tool, as ]) + as: KeyValuePattern[ "Tool" -> tool0_ ] :> + With[ { tool = Quiet @ tool0 }, + (toolName @ tool -> addExtraToolData[ tool, as ]) /; MatchQ[ tool, _LLMTool ] + ] ]; (* ::**************************************************************************************************************:: *) From 77bec0ba4de43a24e64151299d4553c1f9745c5c Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Fri, 4 Oct 2024 12:27:47 -0400 Subject: [PATCH 161/180] Bugfix: Don't show unusable gpt-4o-realtime models in menus --- Source/Chatbook/Models.wl | 2 +- Source/Chatbook/SendChat.wl | 2 +- Source/Chatbook/Services.wl | 33 ++++++++++++++++++++++++++++++++- 3 files changed, 34 insertions(+), 3 deletions(-) diff --git a/Source/Chatbook/Models.wl b/Source/Chatbook/Models.wl index 5b843c99..afbc30e6 100644 --- a/Source/Chatbook/Models.wl +++ b/Source/Chatbook/Models.wl @@ -106,7 +106,7 @@ $fallbackModelList = { "gpt-3.5-turbo", "gpt-3.5-turbo-16k", "gpt-4" }; (* ::Subsection::Closed:: *) (*chatModelQ*) chatModelQ // beginDefinition; -chatModelQ[ _? (modelContains[ "instruct" ]) ] := False; +chatModelQ[ _? (modelContains[ "instruct"|"realtime" ]) ] := False; chatModelQ[ _? (modelContains[ StartOfString~~("gpt"|"ft:gpt"|"chatgpt-4o") ]) ] := True; chatModelQ[ _String ] := False; chatModelQ // endDefinition; diff --git a/Source/Chatbook/SendChat.wl b/Source/Chatbook/SendChat.wl index d8b49f37..92951330 100644 --- a/Source/Chatbook/SendChat.wl +++ b/Source/Chatbook/SendChat.wl @@ -343,7 +343,7 @@ makeHTTPRequest // endDefinition; (*prepareMessagesForLLM*) prepareMessagesForLLM // beginDefinition; -prepareMessagesForLLM[ messages: $$chatMessages ] := ReplaceAll[ +prepareMessagesForLLM[ messages: { ___Association } ] := ReplaceAll[ messages, s_String :> RuleCondition @ StringTrim @ StringReplace[ s, diff --git a/Source/Chatbook/Services.wl b/Source/Chatbook/Services.wl index 4a09d8e3..5615907f 100644 --- a/Source/Chatbook/Services.wl +++ b/Source/Chatbook/Services.wl @@ -32,6 +32,11 @@ $$llmServicesFailure = HoldPattern @ Failure[ KeyValuePattern[ "MessageTemplate" :> LLMServices`LLMServiceInformation::corrupt ] ]; +(* Used to filter out models that are known not to work with chat notebooks: *) +$invalidModelNameParts = <| + "OpenAI" -> WordBoundary~~("instruct"|"realtime")~~WordBoundary +|>; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*InvalidateServiceCache*) @@ -168,7 +173,7 @@ getModelListQuietly // endDefinition; checkModelList // beginDefinition; checkModelList[ info_, models_List ] := - models; + Select[ models, usableChatModelQ @ info ]; checkModelList[ info_, $Canceled | $Failed | Missing[ "NotConnected" ] ] := Missing[ "NotConnected" ]; @@ -188,6 +193,32 @@ checkModelList[ info_, other_ ] := checkModelList // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*usableChatModelQ*) +usableChatModelQ // beginDefinition; + +usableChatModelQ[ KeyValuePattern[ "Service" -> service_ ] ] := + usableChatModelQ @ service; + +usableChatModelQ[ service_String ] := + With[ { patt = $invalidModelNameParts @ service }, + If[ MissingQ @ patt, + True &, + usableChatModelQ[ patt, # ] & + ] + ]; + +usableChatModelQ[ patt_, model_ ] := Enclose[ + Module[ { name }, + name = ConfirmBy[ toModelName @ model, StringQ, "Name" ]; + ConfirmMatch[ StringFreeQ[ name, patt, IgnoreCase -> True ], True|False, "Result" ] + ], + throwInternalFailure +]; + +usableChatModelQ // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*$availableServices*) From 36acca5bd6d5388cd858608d8d12c6271b37c792 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Fri, 4 Oct 2024 14:23:52 -0400 Subject: [PATCH 162/180] Bugfix: Use gpt-4o-2024-05-13 when snapshot is unspecified, because the latest one is bad at tool calling --- Source/Chatbook/Settings.wl | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Source/Chatbook/Settings.wl b/Source/Chatbook/Settings.wl index ae799e74..0e43f994 100644 --- a/Source/Chatbook/Settings.wl +++ b/Source/Chatbook/Settings.wl @@ -287,10 +287,25 @@ resolveAutoSettings0 // endDefinition; (*overrideSettings*) overrideSettings // beginDefinition; overrideSettings[ settings_Association? o1ModelQ ] := <| settings, $o1Overrides |>; +overrideSettings[ settings_Association? gpt4oTextToolsQ ] := <| settings, $gpt4oTextToolOverrides |>; overrideSettings[ settings_Association ] := settings; overrideSettings // endDefinition; $o1Overrides = <| "PresencePenalty" -> 0, "Temperature" -> 1 |>; +$gpt4oTextToolOverrides = <| "Model" -> <| "Service" -> "OpenAI", "Name" -> "gpt-4o-2024-05-13" |> |>; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*gpt4oTextToolsQ*) +gpt4oTextToolsQ // beginDefinition; + +gpt4oTextToolsQ[ settings_Association ] := TrueQ @ And[ + settings[ "ToolsEnabled" ], + toModelName @ settings === "gpt-4o", + settings[ "ToolMethod" ] =!= "Service" +]; + +gpt4oTextToolsQ // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) From 65921abc917cb7c9f851967ae7c8b790a3a977f0 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Fri, 4 Oct 2024 14:31:59 -0400 Subject: [PATCH 163/180] Bugfix: Added workaround for GoogleGemini models failing in ChatSubmit --- Source/Chatbook/CommonSymbols.wl | 1 + Source/Chatbook/Models.wl | 10 ++++++++++ Source/Chatbook/SendChat.wl | 21 +++++++-------------- Source/Chatbook/Settings.wl | 4 ++-- 4 files changed, 20 insertions(+), 16 deletions(-) diff --git a/Source/Chatbook/CommonSymbols.wl b/Source/Chatbook/CommonSymbols.wl index f86f1bc6..95509420 100644 --- a/Source/Chatbook/CommonSymbols.wl +++ b/Source/Chatbook/CommonSymbols.wl @@ -255,6 +255,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `sendChat; `sendFeedback; `serviceIcon; +`serviceName; `setCV; `simpleResultQ; `simpleToolRequestParser; diff --git a/Source/Chatbook/Models.wl b/Source/Chatbook/Models.wl index afbc30e6..29027898 100644 --- a/Source/Chatbook/Models.wl +++ b/Source/Chatbook/Models.wl @@ -142,6 +142,16 @@ modelName[ KeyValuePattern[ "Name" -> name_String ] ] := modelName @ name; modelName[ name_String ] := toModelName @ name; modelName // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*serviceName*) +serviceName // beginDefinition; +serviceName[ KeyValuePattern[ "Model" -> model_ ] ] := serviceName @ model; +serviceName[ { service_String, _String | $$unspecified } ] := service; +serviceName[ KeyValuePattern[ "Service" -> service_String ] ] := service; +serviceName[ _String | _Association | $$unspecified ] := "OpenAI"; +serviceName // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*toModelName*) diff --git a/Source/Chatbook/SendChat.wl b/Source/Chatbook/SendChat.wl index 92951330..c85177b0 100644 --- a/Source/Chatbook/SendChat.wl +++ b/Source/Chatbook/SendChat.wl @@ -558,10 +558,13 @@ chatSubmit0[ stop = makeStopTokens @ settings; result = ConfirmMatch[ - LLMServices`Chat[ - standardizeMessageKeys @ messages, - makeLLMConfiguration @ settings, - Authentication -> auth + Quiet[ + LLMServices`Chat[ + standardizeMessageKeys @ messages, + makeLLMConfiguration @ settings, + Authentication -> auth + ], + { LLMServices`Chat::unsupported } ], _Association | _Failure, "ChatResult" @@ -1297,16 +1300,6 @@ userToolResponseQ // beginDefinition; userToolResponseQ[ settings_ ] := MatchQ[ serviceName @ settings, "Anthropic"|"MistralAI" ]; userToolResponseQ // endDefinition; -(* ::**************************************************************************************************************:: *) -(* ::Subsubsubsection::Closed:: *) -(*serviceName*) -serviceName // beginDefinition; -serviceName[ KeyValuePattern[ "Model" -> model_ ] ] := serviceName @ model; -serviceName[ { service_String, _String | $$unspecified } ] := service; -serviceName[ KeyValuePattern[ "Service" -> service_String ] ] := service; -serviceName[ _String | _Association | $$unspecified ] := "OpenAI"; -serviceName // endDefinition; - (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*appendToolCallEndToken*) diff --git a/Source/Chatbook/Settings.wl b/Source/Chatbook/Settings.wl index 0e43f994..5e86d4f1 100644 --- a/Source/Chatbook/Settings.wl +++ b/Source/Chatbook/Settings.wl @@ -291,7 +291,7 @@ overrideSettings[ settings_Association? gpt4oTextToolsQ ] := <| settings, $gpt4o overrideSettings[ settings_Association ] := settings; overrideSettings // endDefinition; -$o1Overrides = <| "PresencePenalty" -> 0, "Temperature" -> 1 |>; +$o1Overrides = <| "PresencePenalty" -> 0, "Temperature" -> 1 |>; $gpt4oTextToolOverrides = <| "Model" -> <| "Service" -> "OpenAI", "Name" -> "gpt-4o-2024-05-13" |> |>; (* ::**************************************************************************************************************:: *) @@ -402,7 +402,7 @@ bypassResponseCheckingQ // endDefinition; (* ::Subsubsection::Closed:: *) (*forceSynchronousQ*) forceSynchronousQ // beginDefinition; -forceSynchronousQ[ as_Association ] := o1ModelQ @ as; +forceSynchronousQ[ as_Association ] := TrueQ @ Or[ o1ModelQ @ as, serviceName @ as === "GoogleGemini" ]; forceSynchronousQ // endDefinition; (* ::**************************************************************************************************************:: *) From 7a90e2078cd7878f9251129d21710d6766359198 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Fri, 4 Oct 2024 16:43:51 -0400 Subject: [PATCH 164/180] Avoid some errors if code assistance is programmatically enabled in an earlier WL version --- .../Chatbook/ChatModes/ShowCodeAssistance.wl | 31 ++++++++++++++++++- Source/Chatbook/CommonSymbols.wl | 1 + Source/Chatbook/PromptGenerators/Common.wl | 1 - Source/Chatbook/Search.wl | 1 + Source/Chatbook/Storage.wl | 5 +-- 5 files changed, 35 insertions(+), 4 deletions(-) diff --git a/Source/Chatbook/ChatModes/ShowCodeAssistance.wl b/Source/Chatbook/ChatModes/ShowCodeAssistance.wl index a1f3fb1f..f6a70b12 100644 --- a/Source/Chatbook/ChatModes/ShowCodeAssistance.wl +++ b/Source/Chatbook/ChatModes/ShowCodeAssistance.wl @@ -55,7 +55,10 @@ EnableCodeAssistance // endExportedDefinition; (*enableCodeAssistance*) enableCodeAssistance // beginDefinition; -enableCodeAssistance[ ] := Once[ +enableCodeAssistance[ ] := + enableCodeAssistance[ $VersionNumber >= 14.1 ]; + +enableCodeAssistance[ True ] := Once[ FrontEndExecute @ { FrontEnd`AddMenuCommands[ "OpenHelpLink", @@ -109,6 +112,32 @@ enableCodeAssistance[ ] := Once[ "FrontEndSession" ]; +(* When attachment to selection is not available, we can't do inline chat or content suggestions: *) +enableCodeAssistance[ False ] := Once[ + FrontEndExecute @ { + FrontEnd`AddMenuCommands[ + "OpenHelpLink", + { + MenuItem[ + "Code Assistance Chat\[Ellipsis]", + FrontEnd`KernelExecute[ + Needs[ "Wolfram`Chatbook`" -> None ]; + Symbol[ "Wolfram`Chatbook`ShowCodeAssistance" ][ "Window" ] + ], + FrontEnd`MenuEvaluator -> Automatic, + Evaluate[ + If[ $OperatingSystem === "MacOSX", + FrontEnd`MenuKey[ "'", FrontEnd`Modifiers -> { FrontEnd`Control } ], + FrontEnd`MenuKey[ "'", FrontEnd`Modifiers -> { FrontEnd`Command } ] + ] + ] + ] + } + ] + }, + "FrontEndSession" +]; + enableCodeAssistance // endDefinition; (* ::**************************************************************************************************************:: *) diff --git a/Source/Chatbook/CommonSymbols.wl b/Source/Chatbook/CommonSymbols.wl index 95509420..cd2aebb2 100644 --- a/Source/Chatbook/CommonSymbols.wl +++ b/Source/Chatbook/CommonSymbols.wl @@ -59,6 +59,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `$longNameCharacters; `$multimodalMessages; `$nextTaskEvaluation; +`$noSemanticSearch; `$notebookEditorEnabled; `$preferencesScope; `$resultCellCache; diff --git a/Source/Chatbook/PromptGenerators/Common.wl b/Source/Chatbook/PromptGenerators/Common.wl index d13d5935..f1ba4973 100644 --- a/Source/Chatbook/PromptGenerators/Common.wl +++ b/Source/Chatbook/PromptGenerators/Common.wl @@ -4,7 +4,6 @@ BeginPackage[ "Wolfram`Chatbook`PromptGenerators`Common`" ]; HoldComplete[ `$$prompt, - `$noSemanticSearch, `getSmallContextString, `insertContextPrompt, `vectorDBSearch diff --git a/Source/Chatbook/Search.wl b/Source/Chatbook/Search.wl index 14e122c0..5609e55f 100644 --- a/Source/Chatbook/Search.wl +++ b/Source/Chatbook/Search.wl @@ -86,6 +86,7 @@ addChatToSearchIndex // beginDefinition; addChatToSearchIndex[ spec_ ] := Enclose[ Catch @ Module[ { data, appName, uuid, vectors, metadata }, + If[ $noSemanticSearch, Throw @ Missing[ "NoSemanticSearch" ] ]; data = ConfirmMatch[ getChatConversationData @ spec, _Association|_Missing, "Data" ]; If[ MissingQ @ data, Throw @ Missing[ "NotSaved" ] ]; (* TODO: auto-save here? *) appName = ConfirmBy[ data[ "AppName" ], StringQ, "AppName" ]; diff --git a/Source/Chatbook/Storage.wl b/Source/Chatbook/Storage.wl index 0d407d93..72e8ab86 100644 --- a/Source/Chatbook/Storage.wl +++ b/Source/Chatbook/Storage.wl @@ -327,7 +327,7 @@ saveChat[ messages0_, settings0_, autoTitle_ ] := Enclose[ ConfirmMatch[ cleanupStaleChats @ appName, { ___String }, "Cleanup" ]; - ConfirmMatch[ AddChatToSearchIndex @ as, _Success, "AddToSearchIndex" ]; + ConfirmMatch[ AddChatToSearchIndex @ as, _Success | Missing[ "NoSemanticSearch" ], "AddToSearchIndex" ]; updateDynamics[ "SavedChats" ]; @@ -344,7 +344,8 @@ saveChat // endDefinition; createMessageVectors // beginDefinition; createMessageVectors[ metadata_, messages: $$chatMessages, settings_ ] := Enclose[ - Module[ { partitioned, strings, rVectors, iVectors, title, titleVector }, + Catch @ Module[ { partitioned, strings, rVectors, iVectors, title, titleVector }, + If[ $noSemanticSearch, Throw @ { } ]; ConfirmAssert[ Length @ messages >= 2, "LengthCheck" ]; partitioned = ConfirmBy[ Partition[ messages, UpTo[ 2 ] ], ListQ, "Pairs" ]; strings = ConfirmMatch[ messagesToString /@ partitioned, { __String }, "Strings" ]; From 730b0895ca65baa719c52134f44e1ae1e62c4eb5 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Fri, 4 Oct 2024 16:46:42 -0400 Subject: [PATCH 165/180] Added a time constraint option to chat evaluations --- Source/Chatbook/Actions.wl | 11 +++++++++-- Source/Chatbook/Settings.wl | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Source/Chatbook/Actions.wl b/Source/Chatbook/Actions.wl index 9a808656..b433e3b4 100644 --- a/Source/Chatbook/Actions.wl +++ b/Source/Chatbook/Actions.wl @@ -403,7 +403,7 @@ EvaluateChatInput[ evalCell_CellObject, nbo_NotebookObject, settings_Association (* Send chat while listening for an abort: *) CheckAbort[ sendChat[ evalCell, nbo, settings ] // LogChatTiming[ "SendChat" ]; - waitForLastTask[ ] + waitForLastTask @ settings , (* The user has issued an abort: *) $aborted = True; @@ -565,7 +565,14 @@ ensureChatOutputCell // endDefinition; (*waitForLastTask*) waitForLastTask // beginDefinition; -waitForLastTask[ ] := waitForLastTask @ $lastTask; +waitForLastTask[ settings_Association ] := + Module[ { timeConstraint }, + timeConstraint = settings[ "TimeConstraint" ]; + If[ TrueQ @ Positive @ timeConstraint, + TimeConstrained[ waitForLastTask @ $lastTask, timeConstraint, StopChat[ ] ], + waitForLastTask @ $lastTask + ] + ]; waitForLastTask[ $Canceled ] := $Canceled; diff --git a/Source/Chatbook/Settings.wl b/Source/Chatbook/Settings.wl index 5e86d4f1..f1908ffc 100644 --- a/Source/Chatbook/Settings.wl +++ b/Source/Chatbook/Settings.wl @@ -64,6 +64,7 @@ $defaultChatSettings = <| "TabbedOutput" -> True, (* TODO: define a "MaxOutputPages" setting *) "TargetCloudObject" -> Automatic, "Temperature" -> 0.7, + "TimeConstraint" -> Automatic, "TokenBudgetMultiplier" -> Automatic, "Tokenizer" -> Automatic, "ToolCallExamplePromptStyle" -> Automatic, From a349de75a5590232ec3c0358309f9c57f3a795f6 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Fri, 4 Oct 2024 16:47:41 -0400 Subject: [PATCH 166/180] Heuristic to fix missing `]` closer that's common to some small models when writing WL tool calls --- Source/Chatbook/Sandbox.wl | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/Source/Chatbook/Sandbox.wl b/Source/Chatbook/Sandbox.wl index fd97ebaf..59da3905 100644 --- a/Source/Chatbook/Sandbox.wl +++ b/Source/Chatbook/Sandbox.wl @@ -832,7 +832,23 @@ toSandboxExpression[ s_String, $Failed ] /; StringContainsQ[ s, "'" ] := ] ]; -toSandboxExpression[ s_String, $Failed ] := HoldComplete @ ToExpression[ s, InputForm ]; +toSandboxExpression[ s_String, $Failed ] := + Module[ { openers, closers, new, held }, + openers = StringCount[ s, "[" ]; + closers = StringCount[ s, "]" ]; + ( + new = s <> StringRepeat[ "]", openers - closers ]; + held = Quiet @ ToExpression[ new, InputForm, HoldComplete ]; + If[ MatchQ[ held, _HoldComplete ], + sandboxStringNormalize[ s ] = new; + held, + HoldComplete[ ToExpression[ s, InputForm ] ] + ] + ) /; openers > closers + ]; + +toSandboxExpression[ s_String, $Failed ] := + HoldComplete @ ToExpression[ s, InputForm ]; toSandboxExpression // endDefinition; From ba92e12dd60f3344d364abefa160d75343cdcd4b Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Fri, 4 Oct 2024 16:48:04 -0400 Subject: [PATCH 167/180] Query Ollama service for max context tokens --- Source/Chatbook/Settings.wl | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/Source/Chatbook/Settings.wl b/Source/Chatbook/Settings.wl index f1908ffc..c0c54a58 100644 --- a/Source/Chatbook/Settings.wl +++ b/Source/Chatbook/Settings.wl @@ -490,6 +490,8 @@ chooseMaxOutputCellStringLength // endDefinition; (* ::Subsubsection::Closed:: *) (*autoMaxContextTokens*) autoMaxContextTokens // beginDefinition; +(* cSpell: ignore ollama *) +autoMaxContextTokens[ as_? ollamaQ ] := serviceMaxContextTokens @ as; autoMaxContextTokens[ as_Association ] := autoMaxContextTokens[ as, as[ "Model" ] ]; autoMaxContextTokens[ as_, model_ ] := autoMaxContextTokens[ as, model, toModelName @ model ]; autoMaxContextTokens[ _, _, name_String ] := autoMaxContextTokens0 @ name; @@ -514,6 +516,32 @@ autoMaxContextTokens0[ { ___, "phi3.5" , ___ } ] := 2^17; autoMaxContextTokens0[ _List ] := 2^12; autoMaxContextTokens0 // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*ollamaQ*) +ollamaQ // beginDefinition; +ollamaQ[ as_Association ] := MatchQ[ serviceName @ as, "Ollama"|"ollama" ]; +ollamaQ // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*serviceMaxContextTokens*) +serviceMaxContextTokens // beginDefinition; + +serviceMaxContextTokens[ settings_Association ] := + serviceMaxContextTokens[ serviceName @ settings, toModelName @ settings ]; + +serviceMaxContextTokens[ service_String, name_String ] := + Module[ { max }, + max = Quiet @ ServiceExecute[ service, "ModelContextLength", { "Name" -> name } ]; + If[ TrueQ @ Positive @ max, + serviceMaxContextTokens[ service, name ] = Floor @ max, + autoMaxContextTokens0 @ name + ] + ]; + +serviceMaxContextTokens // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*autoMaxTokens*) From 78a84409b10841151aac7dbe1873617b1a105379 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Sat, 5 Oct 2024 18:49:55 -0400 Subject: [PATCH 168/180] More example templates --- Source/Chatbook/Tools/Examples.wl | 34 +++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/Source/Chatbook/Tools/Examples.wl b/Source/Chatbook/Tools/Examples.wl index dc75b21c..d0fb3c2a 100644 --- a/Source/Chatbook/Tools/Examples.wl +++ b/Source/Chatbook/Tools/Examples.wl @@ -126,6 +126,40 @@ $chatMessageTemplates[ "XML", "User" ] = "%%1%%"; $chatMessageTemplates[ "XML", "Assistant" ] = "%%1%%\n/end"; $chatMessageTemplates[ "XML", "System" ] = "%%1%%"; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*DeepSeekCoder*) +(* cSpell: ignore cend *) +$chatMessageTemplates[ "DeepSeekCoder" ] = <| |>; +$chatMessageTemplates[ "DeepSeekCoder", "User" ] = "User: %%1%%"; +$chatMessageTemplates[ "DeepSeekCoder", "Assistant" ] = "Assistant: %%1%%\n/end<\:ff5cend\:2581of\:2581sentence\:ff5c>"; +$chatMessageTemplates[ "DeepSeekCoder", "System" ] = "System: %%1%%"; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*Llama*) +$chatMessageTemplates[ "Llama" ] = <| |>; +$chatMessageTemplates[ "Llama", "User" ] = "<|start_header_id|>user<|end_header_id|>\n%%1%%<|eot_id|>"; +$chatMessageTemplates[ "Llama", "Assistant" ] = "<|start_header_id|>assistant<|end_header_id|>\n%%1%%\n/end<|eot_id|>"; +$chatMessageTemplates[ "Llama", "System" ] = "<|start_header_id|>system<|end_header_id|>\n%%1%%<|eot_id|>"; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*Gemma*) +$chatMessageTemplates[ "Gemma" ] = <| |>; +$chatMessageTemplates[ "Gemma", "User" ] = "user\n%%1%%"; +$chatMessageTemplates[ "Gemma", "Assistant" ] = "model\n%%1%%\n/end"; +$chatMessageTemplates[ "Gemma", "System" ] = "user\n%%1%%"; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*Nemotron*) +(* cSpell: ignore Nemotron *) +$chatMessageTemplates[ "Nemotron" ] = <| |>; +$chatMessageTemplates[ "Nemotron", "User" ] = "User\n%%1%%"; +$chatMessageTemplates[ "Nemotron", "Assistant" ] = "Assistant\n%%1%%\n/end"; +$chatMessageTemplates[ "Nemotron", "System" ] = "System\n%%1%%"; + (* ::**************************************************************************************************************:: *) (* ::Subsubsubsection::Closed:: *) (*messageTemplate*) From a77e49fa40337e2198c2d2a1d63126db00781269 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Sat, 5 Oct 2024 18:51:50 -0400 Subject: [PATCH 169/180] More small model optimizations --- Source/Chatbook/Common.wl | 10 ++++ Source/Chatbook/CommonSymbols.wl | 4 +- Source/Chatbook/Models.wl | 44 +++++++++++---- Source/Chatbook/SendChat.wl | 65 ++++++++++++++-------- Source/Chatbook/Settings.wl | 94 ++++++++++++++++++++++++++++---- Source/Chatbook/Utils.wl | 9 +++ 6 files changed, 179 insertions(+), 47 deletions(-) diff --git a/Source/Chatbook/Common.wl b/Source/Chatbook/Common.wl index aa0cbcef..a605746f 100644 --- a/Source/Chatbook/Common.wl +++ b/Source/Chatbook/Common.wl @@ -33,6 +33,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `$$size; `$$textData; `$$textDataList; +`$$graphics; `$$unspecified; `$$feObj; `$$template; @@ -44,6 +45,10 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `$$symbol; `$$atomic; +`$$chatMessage; +`$$chatMessages; +`wordsPattern; + `tr; `trRaw; `trStringTemplate; @@ -191,6 +196,11 @@ $$messageContent = $$messageContentData | { $$messageContentData... }; $$chatMessage = KeyValuePattern @ { "Role" -> $$messageRole, "Content" -> $$messageContent }; $$chatMessages = { $$chatMessage... }; +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*Misc*) +wordsPattern[ words_ ] := _String? (containsWordsQ @ words); + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Text and Expression Resources*) diff --git a/Source/Chatbook/CommonSymbols.wl b/Source/Chatbook/CommonSymbols.wl index cd2aebb2..c1410a9e 100644 --- a/Source/Chatbook/CommonSymbols.wl +++ b/Source/Chatbook/CommonSymbols.wl @@ -2,9 +2,6 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; -`$$chatMessage; -`$$chatMessages; -`$$graphics; `$absoluteCurrentSettingsCache; `$allowConnectionDialog; `$alwaysOpen; @@ -118,6 +115,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `clickToCopy; `compressUntilViewed; `constructMessages; +`containsWordsQ; `contextBlock; `convertUTF8; `createDialog; diff --git a/Source/Chatbook/Models.wl b/Source/Chatbook/Models.wl index 29027898..1c929c53 100644 --- a/Source/Chatbook/Models.wl +++ b/Source/Chatbook/Models.wl @@ -106,19 +106,11 @@ $fallbackModelList = { "gpt-3.5-turbo", "gpt-3.5-turbo-16k", "gpt-4" }; (* ::Subsection::Closed:: *) (*chatModelQ*) chatModelQ // beginDefinition; -chatModelQ[ _? (modelContains[ "instruct"|"realtime" ]) ] := False; -chatModelQ[ _? (modelContains[ StartOfString~~("gpt"|"ft:gpt"|"chatgpt-4o") ]) ] := True; +chatModelQ[ wordsPattern[ "instruct"|"realtime" ] ] := False; +chatModelQ[ wordsPattern[ StartOfString~~("gpt"|"ft:gpt"|"chatgpt-4o") ] ] := True; chatModelQ[ _String ] := False; chatModelQ // endDefinition; -(* ::**************************************************************************************************************:: *) -(* ::Subsubsection::Closed:: *) -(*modelContains*) -modelContains // beginDefinition; -modelContains[ patt_ ] := modelContains[ #, patt ] &; -modelContains[ m_String, patt_ ] := StringContainsQ[ m, WordBoundary~~patt~~WordBoundary, IgnoreCase -> True ]; -modelContains // endDefinition; - (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*o1ModelQ*) @@ -247,6 +239,7 @@ modelNameData[ data: KeyValuePattern @ { "BaseName" -> _String, "Date" -> _? modelDateSpecQ | None, "Preview" -> True|False, + "Family" -> _String|None, "FineTuned" -> True|False, "FineTuneName" -> _String|None, "Organization" -> _String|None, @@ -265,6 +258,7 @@ modelNameData[ model0_ ] := Enclose[ "Name" -> model, "Date" -> None, "Preview" -> False, + "Family" -> None, "FineTuned" -> False, "FineTuneName" -> None, "Organization" -> None, @@ -282,6 +276,7 @@ modelNameData[ model0_ ] := Enclose[ data = <| defaults, data |>; data[ "DisplayName" ] = ConfirmBy[ createModelDisplayName @ data, StringQ, "DisplayName" ]; + data[ "Family" ] = ConfirmMatch[ chooseModelFamily @ data, _String | None, "Family" ]; data //= KeySort; modelNameData[ model0 ] = ConfirmBy[ data, AssociationQ, "FullData" ] @@ -340,6 +335,35 @@ modelNameData0[ parts: { __String } ] := modelNameData0 // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*chooseModelFamily*) +$$version = ("v"|"") ~~ DigitCharacter.. ~~ Repeated[ "." ~~ DigitCharacter.., { 0, Infinity } ]; +$$parameterCount0 = DigitCharacter.. ~~ Repeated[ "." ~~ DigitCharacter.., { 0, Infinity } ] ~~ ("b"|"m"|""); +$$parameterCount = ((DigitCharacter.. ~~ "x") | "") ~~ $$parameterCount0; +$$versionOrParams = $$version | $$parameterCount | ""; + +chooseModelFamily // beginDefinition; +chooseModelFamily[ as_Association ] := chooseModelFamily @ as[ "Name" ]; +chooseModelFamily[ name_String ] := chooseModelFamily[ name ] = chooseModelFamily0 @ name; +chooseModelFamily // endDefinition; + +chooseModelFamily0 // beginDefinition; +(* cSpell: ignore Qwen, Nemotron *) +chooseModelFamily0[ wordsPattern[ "Phi" ~~ $$versionOrParams ] ] := "Phi"; +chooseModelFamily0[ wordsPattern[ "Llama" ~~ $$versionOrParams ] ] := "Llama"; +chooseModelFamily0[ wordsPattern[ "Gemma" ~~ $$versionOrParams ] ] := "Gemma"; +chooseModelFamily0[ wordsPattern[ "CodeGemma" ~~ $$versionOrParams ] ] := "Gemma"; +chooseModelFamily0[ wordsPattern[ "Qwen" ~~ $$versionOrParams ] ] := "Qwen"; +chooseModelFamily0[ wordsPattern[ "Nemotron" ~~ $$versionOrParams ] ] := "Nemotron"; +chooseModelFamily0[ wordsPattern[ "Mistral" ~~ $$versionOrParams ] ] := "Mistral"; + +chooseModelFamily0[ wordsPattern[ { "DeepSeek", "Coder", $$versionOrParams } ] ] := "DeepSeekCoder"; + +chooseModelFamily0[ _String ] := None; + +chooseModelFamily0 // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*modelDateSpecQ*) diff --git a/Source/Chatbook/SendChat.wl b/Source/Chatbook/SendChat.wl index c85177b0..c9899a16 100644 --- a/Source/Chatbook/SendChat.wl +++ b/Source/Chatbook/SendChat.wl @@ -357,20 +357,9 @@ prepareMessagesForLLM // endDefinition; (* ::Subsubsection::Closed:: *) (*makeStopTokens*) makeStopTokens // beginDefinition; - -makeStopTokens[ settings_Association? o1ModelQ ] := - Missing[ ]; - -makeStopTokens[ settings_Association ] := - Select[ - DeleteDuplicates @ Flatten @ { - settings[ "StopTokens" ], - If[ settings[ "ToolMethod" ] === "Simple", { "\n/exec", "/end" }, { "ENDTOOLCALL", "/end" } ], - If[ TrueQ @ $AutomaticAssistance, "[INFO]", Nothing ] - }, - StringQ - ]; - +makeStopTokens[ settings_Association ] := makeStopTokens[ settings, settings[ "StopTokens" ] ]; +makeStopTokens[ settings_, None | { } ] := Missing[ ]; +makeStopTokens[ settings_, tokens: { __String } ] := tokens; makeStopTokens // endDefinition; (* ::**************************************************************************************************************:: *) @@ -1277,28 +1266,60 @@ Reply with /end if the tool call provides a satisfactory answer, otherwise respo (* ::Subsubsection::Closed:: *) (*makeToolResponseMessage*) makeToolResponseMessage // beginDefinition; -makeToolResponseMessage[ settings_, response_ ] := makeToolResponseMessage0[ serviceName @ settings, response ]; + +makeToolResponseMessage[ settings_, response_ ] := + makeToolResponseMessage[ settings, settings[ "Model" ], response ]; + +makeToolResponseMessage[ settings_, model_Association, response_ ] := + makeToolResponseMessage0[ model[ "Service" ], model[ "Family" ], response ]; + makeToolResponseMessage // endDefinition; + makeToolResponseMessage0 // beginDefinition; -makeToolResponseMessage0[ "Anthropic"|"MistralAI", response_ ] := <| +makeToolResponseMessage0[ "Anthropic"|"MistralAI", family_, response_ ] := <| "Role" -> "User", - "Content" -> Replace[ Flatten @ { "", response, "" }, { s__String } :> StringJoin @ s ], + "Content" -> wrapResponse[ "", response, "" ], "ToolResponse" -> True |>; -makeToolResponseMessage0[ service_String, response_ ] := +(* cSpell: ignore Qwen, Nemotron *) +makeToolResponseMessage0[ service_, "Qwen"|"Nemotron"|"Mistral", response_ ] := <| + "Role" -> "User", + "Content" -> wrapResponse[ "", response, "" ], + "ToolResponse" -> True +|>; + +(* cSpell: ignore Nemotron *) +(* makeToolResponseMessage0[ service_, "Nemotron", response_ ] := <| + "Role" -> "User", + "Content" -> wrapResponse[ "Tool\n", response, "" ], + "ToolResponse" -> True +|>; + +makeToolResponseMessage0[ service_, "Mistral", response_ ] := <| + "Role" -> "User", + "Content" -> wrapResponse[ "[TOOL_RESULTS] {\"content\": ", response, "} [/TOOL_RESULTS]" ], + "ToolResponse" -> True +|>; *) + +makeToolResponseMessage0[ service_String, family_, response_ ] := <| "Role" -> "System", "Content" -> response, "ToolResponse" -> True |>; makeToolResponseMessage0 // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) -(*userToolResponseQ*) -userToolResponseQ // beginDefinition; -userToolResponseQ[ settings_ ] := MatchQ[ serviceName @ settings, "Anthropic"|"MistralAI" ]; -userToolResponseQ // endDefinition; +(*wrapResponse*) +wrapResponse // beginDefinition; + +wrapResponse[ left_, response_, right_ ] := Replace[ + Flatten @ { left, response, right }, + { s__String } :> StringJoin @ s +]; + +wrapResponse // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) diff --git a/Source/Chatbook/Settings.wl b/Source/Chatbook/Settings.wl index c0c54a58..eae745ff 100644 --- a/Source/Chatbook/Settings.wl +++ b/Source/Chatbook/Settings.wl @@ -34,8 +34,8 @@ $defaultChatSettings = <| "DynamicAutoFormat" -> Automatic, "EnableChatGroupSettings" -> False, "EnableLLMServices" -> Automatic, - "FrequencyPenalty" -> 0.1, "ForceSynchronous" -> Automatic, + "FrequencyPenalty" -> 0.1, "HandlerFunctions" :> $DefaultChatHandlerFunctions, "HandlerFunctionsKeys" -> Automatic, "IncludeHistory" -> Automatic, @@ -53,13 +53,14 @@ $defaultChatSettings = <| "OpenAIKey" -> Automatic, "PresencePenalty" -> 0.1, "ProcessingFunctions" :> $DefaultChatProcessingFunctions, - "Prompts" -> { }, + "PromptGeneratorMessagePosition" -> 2, + "PromptGeneratorMessageRole" -> "System", "PromptGenerators" -> { }, "PromptGeneratorsEnabled" -> Automatic, (* TODO *) - "PromptGeneratorMessageRole" -> "System", - "PromptGeneratorMessagePosition" -> 2, + "Prompts" -> { }, "SetCellDingbat" -> True, "ShowMinimized" -> Automatic, + "StopTokens" -> Automatic, "StreamingOutputMethod" -> Automatic, "TabbedOutput" -> True, (* TODO: define a "MaxOutputPages" setting *) "TargetCloudObject" -> Automatic, @@ -276,6 +277,7 @@ resolveAutoSettings0[ settings_Association ] := Enclose[ If[ result[ "ToolMethod" ] === Automatic, result[ "ToolMethod" ] = chooseToolMethod @ result ]; + result[ "StopTokens" ] = autoStopTokens @ result; result ], throwInternalFailure @@ -369,7 +371,7 @@ $autoSettingKeyDependencies = <| "Multimodal" -> { "EnableLLMServices", "Model" }, "Tokenizer" -> "TokenizerName", "TokenizerName" -> "Model", - "ToolCallExamplePromptStyle" -> "Model", + "ToolCallExamplePromptStyle" -> { "Model", "ToolsEnabled" }, "ToolExamplePrompt" -> "Model", "Tools" -> { "LLMEvaluator", "ToolsEnabled" }, "ToolsEnabled" -> { "Model", "ToolCallFrequency" } @@ -453,21 +455,89 @@ autoToolExamplePromptSpec // endDefinition; (* ::Subsubsection::Closed:: *) (*chooseToolExamplePromptStyle*) chooseToolExamplePromptStyle // beginDefinition; -chooseToolExamplePromptStyle[ as_Association ] := chooseToolExamplePromptStyle[ as, as[ "Model" ] ]; -chooseToolExamplePromptStyle[ as_, model_String ] := autoToolExamplePromptStyle[ "OpenAI" ]; -chooseToolExamplePromptStyle[ as_, { service_String, _String } ] := autoToolExamplePromptStyle @ service; -chooseToolExamplePromptStyle[ as_, model_Association ] := autoToolExamplePromptStyle @ model[ "Service" ]; +chooseToolExamplePromptStyle[ KeyValuePattern[ "ToolsEnabled" -> False ] ] := None; +chooseToolExamplePromptStyle[ settings_Association ] := chooseToolExamplePromptStyle[ settings, settings[ "Model" ] ]; +chooseToolExamplePromptStyle[ _, as_Association ] := autoToolExamplePromptStyle[ as[ "Service" ], as[ "Family" ] ]; chooseToolExamplePromptStyle // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsubsubsection::Closed:: *) (*autoToolExamplePromptStyle*) autoToolExamplePromptStyle // beginDefinition; -autoToolExamplePromptStyle[ "AzureOpenAI"|"OpenAI" ] := "ChatML"; -autoToolExamplePromptStyle[ "Anthropic" ] := "XML"; -autoToolExamplePromptStyle[ _ ] := "Basic"; (* TODO: measure performance of other models to choose the best option *) + +autoToolExamplePromptStyle[ service_, family_ ] := autoToolExamplePromptStyle[ service, family ] = + autoToolExamplePromptStyle0[ service, family ]; + autoToolExamplePromptStyle // endDefinition; +(* cSpell: ignore Qwen, Nemotron *) +autoToolExamplePromptStyle0 // beginDefinition; + +(* By service: *) +autoToolExamplePromptStyle0[ "AzureOpenAI", _ ] := "ChatML"; +autoToolExamplePromptStyle0[ "OpenAI" , _ ] := "ChatML"; +autoToolExamplePromptStyle0[ "Anthropic" , _ ] := "XML"; + +(* By model family: *) +autoToolExamplePromptStyle0[ _, "Phi" ] := "Phi"; +autoToolExamplePromptStyle0[ _, "Llama" ] := "Llama"; +autoToolExamplePromptStyle0[ _, "Gemma" ] := "Gemma"; +autoToolExamplePromptStyle0[ _, "Qwen" ] := "ChatML"; +autoToolExamplePromptStyle0[ _, "Nemotron" ] := "Nemotron"; +autoToolExamplePromptStyle0[ _, "Mistral" ] := "Instruct"; +autoToolExamplePromptStyle0[ _, "DeepSeekCoder" ] := "DeepSeekCoder"; + +(* Default: *) +autoToolExamplePromptStyle0[ _, _ ] := "Basic"; + +autoToolExamplePromptStyle0 // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*autoStopTokens*) +autoStopTokens // beginDefinition; + +autoStopTokens[ as_Association? o1ModelQ ] := + None; + +autoStopTokens[ KeyValuePattern[ "ToolsEnabled" -> False ] ] := + If[ TrueQ @ $AutomaticAssistance, { "[INFO]" }, None ]; + +autoStopTokens[ as_Association ] := Replace[ + DeleteDuplicates @ Flatten @ { + methodStopTokens @ as[ "ToolMethod" ], + styleStopTokens @ as[ "ToolCallExamplePromptStyle" ], + If[ TrueQ @ $AutomaticAssistance, "[INFO]", Nothing ] + }, + { } -> None +]; + +autoStopTokens // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*methodStopTokens*) +(* cSpell: ignore ENDTOOLCALL *) +methodStopTokens // beginDefinition; +methodStopTokens[ "Simple" ] := { "\n/exec", "/end" }; +methodStopTokens[ "Service" ] := { "/end" }; +methodStopTokens[ "Textual"|"JSON" ] := { "ENDTOOLCALL", "/end" }; +methodStopTokens[ _ ] := { "ENDTOOLCALL", "\n/exec", "/end" }; +methodStopTokens // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*styleStopTokens*) +(* cSpell: ignore cbegin *) +styleStopTokens // beginDefinition; +styleStopTokens[ "Phi" ] := { "<|user|>", "<|assistant|>" }; +styleStopTokens[ "Llama" ] := { "<|start_header_id|>" }; +styleStopTokens[ "Gemma" ] := { "" }; +styleStopTokens[ "Nemotron" ] := { "", "" }; +styleStopTokens[ "DeepSeekCoder" ] := { "<\:ff5cbegin\:2581of\:2581sentence\:ff5c>" }; +styleStopTokens[ _String ] := { }; +styleStopTokens // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*chooseMaxCellStringLength*) diff --git a/Source/Chatbook/Utils.wl b/Source/Chatbook/Utils.wl index 3deeecfd..681e32bb 100644 --- a/Source/Chatbook/Utils.wl +++ b/Source/Chatbook/Utils.wl @@ -149,6 +149,15 @@ makeFailureString[ failure: Failure[ tag_, as_Association ] ] := Enclose[ makeFailureString // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsection::Closed:: *) +(*containsWordsQ*) +containsWordsQ // beginDefinition; +containsWordsQ[ p_ ] := containsWordsQ[ #, p ] &; +containsWordsQ[ m_String, p_List ] := containsWordsQ[ m, StringExpression @@ Riffle[ p, Except[ WordCharacter ]... ] ]; +containsWordsQ[ m_String, p_ ] := StringContainsQ[ m, WordBoundary~~p~~WordBoundary, IgnoreCase -> True ]; +containsWordsQ // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Files*) From 5c2da2d2b099bc2ab3bb109190cad12625a5f65c Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Sat, 5 Oct 2024 18:52:39 -0400 Subject: [PATCH 170/180] Added option to `RelatedDocumentation` to control how many items are filtered --- .../PromptGenerators/RelatedDocumentation.wl | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl b/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl index 77825a72..e2e125b0 100644 --- a/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl +++ b/Source/Chatbook/PromptGenerators/RelatedDocumentation.wl @@ -19,6 +19,7 @@ $snippetsCacheDirectory := $snippetsCacheDirectory = ChatbookFilesDirectory[ "Do (*RelatedDocumentation*) RelatedDocumentation // beginDefinition; RelatedDocumentation // Options = { + "FilteredCount" -> Automatic, "FilterResults" -> Automatic, "MaxItems" -> 20 }; @@ -113,7 +114,8 @@ RelatedDocumentation[ prompt_, "Prompt", n_Integer, opts: OptionsPattern[ ] ] := catchMine @ relatedDocumentationPrompt[ ensureChatMessages @ prompt, n, - MatchQ[ OptionValue[ "FilterResults" ], Automatic|True ] + MatchQ[ OptionValue[ "FilterResults" ], Automatic|True ], + Replace[ OptionValue[ "FilteredCount" ], Automatic -> Ceiling[ n / 4 ] ] ]; RelatedDocumentation[ args___ ] := catchMine @ throwFailure[ @@ -138,7 +140,7 @@ ensureChatMessages // endDefinition; (*relatedDocumentationPrompt*) relatedDocumentationPrompt // beginDefinition; -relatedDocumentationPrompt[ messages: $$chatMessages, count_, filter_ ] := Enclose[ +relatedDocumentationPrompt[ messages: $$chatMessages, count_, filter_, filterCount_ ] := Enclose[ Catch @ Module[ { uris, filtered, string }, uris = ConfirmMatch[ @@ -150,7 +152,7 @@ relatedDocumentationPrompt[ messages: $$chatMessages, count_, filter_ ] := Enclo If[ uris === { }, Throw[ "" ] ]; filtered = ConfirmMatch[ - filterSnippets[ messages, uris, filter ] // LogChatTiming[ "FilterSnippets" ], + filterSnippets[ messages, uris, filter, filterCount ] // LogChatTiming[ "FilterSnippets" ], { ___String }, "Filtered" ]; @@ -187,7 +189,7 @@ $relatedDocsStringUnfilteredHeader = (*filterSnippets*) filterSnippets // beginDefinition; -filterSnippets[ messages_, uris: { __String }, filter_ ] := Enclose[ +filterSnippets[ messages_, uris: { __String }, filter_, filterCount_Integer? Positive ] := Enclose[ Catch @ Module[ { snippets, inserted, transcript, xml, instructions, response, pages }, snippets = ConfirmMatch[ makeDocSnippets @ uris, { ___String }, "Snippets" ]; @@ -200,7 +202,11 @@ filterSnippets[ messages_, uris: { __String }, filter_ ] := Enclose[ instructions = ConfirmBy[ TemplateApply[ $bestDocumentationPrompt, - <| "Snippets" -> StringRiffle[ xml, "\n\n" ], "Transcript" -> transcript |> + <| + "FilteredCount" -> filterCount, + "Snippets" -> StringRiffle[ xml, "\n\n" ], + "Transcript" -> transcript + |> ], StringQ, "Prompt" @@ -222,7 +228,7 @@ Your task is to read a chat transcript between a user and assistant, and then se Wolfram Language documentation snippets that could help the assistant answer the user's latest message. \ Each snippet is uniquely identified by a URI (always starts with 'paclet:' or 'https://resources.wolframcloud.com'). -Choose up to 5 documentation snippets that would help answer the user's MOST RECENT message. \ +Choose up to %%FilteredCount%% documentation snippets that would help answer the user's MOST RECENT message. \ Respond only with the corresponding URIs of the snippets and nothing else. \ If there are no relevant pages, respond with just the string \"none\". @@ -238,7 +244,7 @@ Here are the available documentation snippets to choose from: %%Snippets%% -Reminder: Choose up to 5 documentation snippets that would help answer the user's MOST RECENT message. \ +Reminder: Choose up to %%FilteredCount%% documentation snippets that would help answer the user's MOST RECENT message. \ Respond only with the corresponding URIs of the snippets and nothing else. \ If there are no relevant pages, respond with just the string \"none\".\ ", Delimiters -> "%%" ]; From 6dcad50b6679aa8e7145fdaad7bf6a2540472314 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Sun, 6 Oct 2024 08:42:32 -0400 Subject: [PATCH 171/180] Bugfix: Quiet `RegularExpression::maxrec` message during formatting --- Source/Chatbook/Formatting.wl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Source/Chatbook/Formatting.wl b/Source/Chatbook/Formatting.wl index 23a182f8..17dcefb2 100644 --- a/Source/Chatbook/Formatting.wl +++ b/Source/Chatbook/Formatting.wl @@ -223,9 +223,10 @@ reformatTextData[ string_String ] /; StringContainsQ[ string, $$mdEscapedCharact s_String :> RuleCondition @ StringReplace[ s, $mdUnescapeRules ] ]; +(* cSpell: ignore maxrec *) reformatTextData[ string_String ] := joinAdjacentStrings @ Flatten[ makeResultCell /@ discardBadToolCalls @ DeleteCases[ - StringSplit[ string, $textDataFormatRules, IgnoreCase -> True ], + Quiet[ StringSplit[ string, $textDataFormatRules, IgnoreCase -> True ], RegularExpression::maxrec ], "" ] ]; From 76bbea7a48b885fcc6146b5d76a8cbbd2ef5de6b Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Sun, 6 Oct 2024 12:50:39 -0400 Subject: [PATCH 172/180] Bugfix: Fix some bad/weird spacing in inline code and WL code blocks --- Source/Chatbook/Formatting.wl | 45 +++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 20 deletions(-) diff --git a/Source/Chatbook/Formatting.wl b/Source/Chatbook/Formatting.wl index 17dcefb2..53380f92 100644 --- a/Source/Chatbook/Formatting.wl +++ b/Source/Chatbook/Formatting.wl @@ -1976,29 +1976,14 @@ makeInlineCodeCell // beginDefinition; makeInlineCodeCell[ s_String? nameQ ] /; Context @ s === "System`" := hyperlink[ s, "paclet:ref/" <> Last @ StringSplit[ s, "`" ] ]; -makeInlineCodeCell[ s_String? LowerCaseQ ] := StyleBox[ unescapeInlineMarkdown @ s, "TI" ]; +makeInlineCodeCell[ s_String? LowerCaseQ ] := + StyleBox[ unescapeInlineMarkdown @ s, "TI" ]; -makeInlineCodeCell[ code_String ] /; $dynamicText := Cell[ - BoxData @ TemplateBox[ { stringToBoxes @ unescapeInlineMarkdown @ code }, "ChatCodeInlineTemplate" ], +makeInlineCodeCell[ code_String ] := Cell[ + BoxData @ TemplateBox[ { Cell[ unescapeInlineMarkdown @ code, Background -> None ] }, "ChatCodeInlineTemplate" ], "ChatCodeActive" ]; -makeInlineCodeCell[ code0_String ] := - With[ { code = unescapeInlineMarkdown @ code0 }, - If[ SyntaxQ @ code, - Cell[ - BoxData @ TemplateBox[ { stringToBoxes @ code }, "ChatCodeInlineTemplate" ], - "ChatCode", - Background -> None - ], - Cell[ - BoxData @ TemplateBox[ { Cell[ code, Background -> None ] }, "ChatCodeInlineTemplate" ], - "ChatCodeActive", - Background -> None - ] - ] - ]; - makeInlineCodeCell // endDefinition; (* ::**************************************************************************************************************:: *) @@ -2625,12 +2610,32 @@ boxSymbolQ // endDefinition; (*adjustBoxSpacing*) adjustBoxSpacing // beginDefinition; adjustBoxSpacing[ row: RowBox @ { "(*", ___, "*)" } ] := row; -adjustBoxSpacing[ RowBox[ items_List ] ] := RowBox[ adjustBoxSpacing /@ DeleteCases[ items, " " ] ]; adjustBoxSpacing[ "\n" ] := "\[IndentingNewLine]"; adjustBoxSpacing[ s_String ] /; $CloudEvaluation := Lookup[ $autoOperatorRenderings, s, s ]; +adjustBoxSpacing[ RowBox[ items_List ] ] := RowBox[ adjustBoxSpacing /@ adjustSequenceSpacing @ items ]; adjustBoxSpacing[ box_ ] := box; adjustBoxSpacing // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*adjustSequenceSpacing*) +adjustSequenceSpacing // beginDefinition; + +adjustSequenceSpacing[ items_List ] := SequenceReplace[ + items, + { + { $space, op: $infixOperators, $space } :> op, + { $space, op: $infixOperators } :> op, + { op: $infixOperators, $space } :> op, + { ",", $space } -> "," + } +]; + +adjustSequenceSpacing // endDefinition; + +$space = " "|" "|" "; +$infixOperators = "+"|"-"|"*"|"/"|"^"|"&&"|"||"|"=="|"==="|"!="|"=!="|"<"|"<="|">"|">="|"->"|":>"|"="|":="; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Alternate Chat Mode Styles*) From bfab01bf9ab4327900cafe6789c0e032d4aa0f60 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Sun, 6 Oct 2024 13:02:21 -0400 Subject: [PATCH 173/180] Testing local models for code completion --- .../Chatbook/ChatModes/ContentSuggestions.wl | 159 +++++++++++++++--- 1 file changed, 133 insertions(+), 26 deletions(-) diff --git a/Source/Chatbook/ChatModes/ContentSuggestions.wl b/Source/Chatbook/ChatModes/ContentSuggestions.wl index 3f07299b..12d4f579 100644 --- a/Source/Chatbook/ChatModes/ContentSuggestions.wl +++ b/Source/Chatbook/ChatModes/ContentSuggestions.wl @@ -13,6 +13,7 @@ Needs[ "Wolfram`Chatbook`ChatModes`Common`" ]; $suggestionsService = "OpenAI"; $suggestionsAuthentication = Automatic; $stripWhitespace = True; +$defaultWLContextString = ""; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) @@ -25,8 +26,13 @@ $wlSuggestionsTemperature = 0.9; $wlPlaceholderString = "\:2758"; $wlCellsBefore = 50; $wlCellsAfter = 10; +$wlDocMaxItems = 5; +$wlFilterDocResults = False; +$wlFilteredDocCount = 3; -$wlSuggestionsPrompt = StringTemplate[ "\ +$wlSuggestionsPrompt := If[ TrueQ @ $wlFIM, $wlFIMPrompt, $wlSuggestionsPrompt0 ]; + +$wlSuggestionsPrompt0 = StringTemplate[ "\ Complete the following Wolfram Language code by writing text that can be inserted into \"%%Placeholder%%\". Do your best to match the existing style (whitespace, line breaks, etc.). Your suggested text will be inserted into %%Placeholder%%, so be careful not to repeat the immediately surrounding text. @@ -38,7 +44,30 @@ Do not include any formatting in your response. Do not include outputs or `In[]: %%RelatedDocumentation%%", Delimiters -> "%%" ]; -$defaultWLContextString = ""; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*Fill-in-the-Middle Completions*) +(* cSpell: ignore Ollama, CodeGemma, DeepSeek *) +$wlFIM = False; +$wlFIMService = "Ollama"; +$wlFIMModel = "deepseek-coder-v2"; +$wlFIMAuthentication = Automatic; +$wlFIMTemperature = 0.7; +$wlFIMSuggestionsCount = 1; + +$wlFIMOptions = <| + "num_predict" -> $wlSuggestionsMaxTokens, + "stop" -> { "\n\n" }, + "temperature" -> $wlFIMTemperature +|>; + +$wlFIMPrompt = StringTemplate[ "\ +Complete the following Wolfram Language code. +Do your best to match the existing style (whitespace, line breaks, etc.). +Use `%` to refer to the previous output or `%n` for earlier outputs (where n is an output number) when appropriate. +Limit your suggested completion to approximately one or two lines of code. +Do not include any formatting in your response. Do not include outputs or `In[]:=` cell labels.", +Delimiters -> "%%" ]; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) @@ -245,7 +274,7 @@ generateSuggestions // endDefinition; generateWLSuggestions // beginDefinition; generateWLSuggestions[ Dynamic[ container_ ], nbo_, root_CellObject, context0_String, settings_ ] := Enclose[ - Module[ { context, preprocessed, relatedDocs, instructions, response, style, suggestions, stripped }, + Module[ { context, preprocessed, relatedDocs, as, instructions, response, style, suggestions, stripped }, context = ConfirmBy[ StringReplace[ @@ -265,36 +294,32 @@ generateWLSuggestions[ Dynamic[ container_ ], nbo_, root_CellObject, context0_St preprocessed = ConfirmBy[ preprocessRelatedDocsContext @ context, StringQ, "Preprocessing" ]; relatedDocs = ConfirmBy[ - LogChatTiming @ RelatedDocumentation[ preprocessed, "Prompt", "FilterResults" -> False, MaxItems -> 5 ], + LogChatTiming @ RelatedDocumentation[ + preprocessed, + "Prompt", + MaxItems -> $wlDocMaxItems, + "FilterResults" -> $wlFilterDocResults, + "FilteredCount" -> $wlFilteredDocCount + ], StringQ, "RelatedDocumentation" ]; - instructions = StringTrim @ ConfirmBy[ - TemplateApply[ - $wlSuggestionsPrompt, - <| "Placeholder" -> $wlPlaceholderString, "RelatedDocumentation" -> relatedDocs |> - ], - StringQ, - "Instructions" - ]; + as = <| + "Context" -> context, + "Placeholder" -> $wlPlaceholderString, + "RelatedDocumentation" -> relatedDocs + |>; + + instructions = StringTrim @ ConfirmBy[ TemplateApply[ $wlSuggestionsPrompt, as ], StringQ, "Instructions" ]; + as[ "Instructions" ] = instructions; $lastInstructions = instructions; - response = setServiceCaller @ LogChatTiming @ ServiceExecute[ - $suggestionsService, - "Chat", - { - "Messages" -> { - <| "Role" -> "System", "Content" -> instructions |>, - <| "Role" -> "User" , "Content" -> context |> - }, - "Model" -> $wlSuggestionsModel, - "N" -> $wlSuggestionsCount, - "MaxTokens" -> $wlSuggestionsMaxTokens, - "Temperature" -> $wlSuggestionsTemperature - }, - Authentication -> $suggestionsAuthentication + response = ConfirmMatch[ + executeWLSuggestions @ as, + KeyValuePattern[ "Content" -> { __String } ], + "Response" ]; $lastSuggestionsResponse = response; @@ -321,6 +346,88 @@ generateWLSuggestions[ Dynamic[ container_ ], nbo_, root_CellObject, context0_St generateWLSuggestions // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*executeWLSuggestions*) +executeWLSuggestions // beginDefinition; +executeWLSuggestions[ as_ ] := If[ TrueQ @ $wlFIM, executeWLSuggestionsFIM @ as, executeWLSuggestions0 @ as ]; +executeWLSuggestions // endDefinition; + + +executeWLSuggestions0 // beginDefinition; + +executeWLSuggestions0[ KeyValuePattern @ { "Instructions" -> instructions_, "Context" -> context_ } ] := + executeWLSuggestions0[ instructions, context ]; + +executeWLSuggestions0[ instructions_, context_ ] := + setServiceCaller @ LogChatTiming @ ServiceExecute[ + $suggestionsService, + "Chat", + { + "Messages" -> { + <| "Role" -> "System", "Content" -> instructions |>, + <| "Role" -> "User" , "Content" -> context |> + }, + "Model" -> $wlSuggestionsModel, + "N" -> $wlSuggestionsCount, + "MaxTokens" -> $wlSuggestionsMaxTokens, + "Temperature" -> $wlSuggestionsTemperature + }, + Authentication -> $suggestionsAuthentication + ]; + +executeWLSuggestions0 // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*executeWLSuggestionsFIM*) +executeWLSuggestionsFIM // beginDefinition; + +executeWLSuggestionsFIM[ as_Association ] := Enclose[ + Module[ { instructions, context, docs, before, after, prompt, suffix, responses, strings }, + + instructions = ConfirmBy[ as[ "Instructions" ], StringQ, "Instructions" ]; + context = ConfirmBy[ as[ "Context" ], StringQ, "Context" ]; + docs = ConfirmBy[ as[ "RelatedDocumentation" ], StringQ, "RelatedDocs" ]; + + { before, after } = ConfirmMatch[ + StringSplit[ context, $wlPlaceholderString ], + { _String, _String }, + "Split" + ]; + + prompt = ConfirmBy[ instructions<>"\n\n\n"<>before, StringQ, "Prompt" ]; + suffix = ConfirmBy[ after<>"\n\n\n"<>docs, StringQ, "Suffix" ]; + + responses = ConfirmMatch[ + Table[ + setServiceCaller @ LogChatTiming @ ServiceExecute[ + $wlFIMService, + "RawCompletion", + DeleteMissing @ <| + "model" -> $wlFIMModel, + "prompt" -> prompt, + "suffix" -> suffix, + "stream" -> False, + "options" -> $wlFIMOptions + |>, + Authentication -> $wlFIMAuthentication + ], + $wlFIMSuggestionsCount + ], + { __Association }, + "Responses" + ]; + + strings = ConfirmMatch[ #[ "response" ] & /@ responses, { __String }, "Strings" ]; + + <| "Content" -> strings |> + ], + throwInternalFailure +]; + +executeWLSuggestionsFIM // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*preprocessRelatedDocsContext*) From 90115ce25e19c016aabd45df281b698fbe921e80 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Sun, 6 Oct 2024 17:59:18 -0400 Subject: [PATCH 174/180] Feature: Added multi-cell content suggestions --- .../Chatbook/ChatModes/ContentSuggestions.wl | 261 +++++++++++++++--- Source/Chatbook/CommonSymbols.wl | 1 + Source/Chatbook/Explode.wl | 57 +++- Source/Chatbook/Formatting.wl | 27 +- 4 files changed, 302 insertions(+), 44 deletions(-) diff --git a/Source/Chatbook/ChatModes/ContentSuggestions.wl b/Source/Chatbook/ChatModes/ContentSuggestions.wl index 12d4f579..5bacd055 100644 --- a/Source/Chatbook/ChatModes/ContentSuggestions.wl +++ b/Source/Chatbook/ChatModes/ContentSuggestions.wl @@ -25,7 +25,7 @@ $wlSuggestionsMaxTokens = 128; $wlSuggestionsTemperature = 0.9; $wlPlaceholderString = "\:2758"; $wlCellsBefore = 50; -$wlCellsAfter = 10; +$wlCellsAfter = 25; $wlDocMaxItems = 5; $wlFilterDocResults = False; $wlFilteredDocCount = 3; @@ -79,20 +79,37 @@ $textSuggestionsMaxTokens = 256; $textSuggestionsTemperature = 0.7; $textPlaceholderString = "\:2758"; $textCellsBefore = 50; -$textCellsAfter = 20; +$textCellsAfter = 25; $textSuggestionsPrompt = StringTemplate[ "\ Complete the following by writing text that can be inserted into \"%%Placeholder%%\". -The current cell style is \"%%Style%%\", so only write content that would be appropriate for this cell type. +The current cell style is \"%%Style%%\", so only write content that would be appropriate for this cell type.\ +%%StyleNotes%% Do your best to match the existing style (whitespace, line breaks, etc.). Your suggested text will be inserted into %%Placeholder%%, so be careful not to repeat the immediately surrounding text. -Respond with the completion text and nothing else.", +Respond with the completion text and nothing else. + +%%RelatedDocumentation%%", Delimiters -> "%%" ]; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*Notebook Content Suggestions*) -(* TODO: between cells suggestions *) +$notebookSuggestionsModel = "gpt-4o"; +$notebookSuggestionsMultimodal = False; +$notebookSuggestionsCount = 1; +$notebookSuggestionsMaxTokens = 512; +$notebookSuggestionsTemperature = 0.7; +$notebookPlaceholderString = "\:2758"; +$notebookCellsBefore = 50; +$notebookCellsAfter = 25; + +$notebookSuggestionsPrompt = StringTemplate[ "\ +Complete the following by writing markdown text that can be inserted into \"%%Placeholder%%\". +Do your best to match the existing style (whitespace, line breaks, etc.). +Your suggested text will be inserted into %%Placeholder%%, so be careful not to repeat the immediately surrounding text. +Respond with the completion text and nothing else.", +Delimiters -> "%%" ]; (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) @@ -125,7 +142,7 @@ showContentSuggestions[ nbo_NotebookObject ] := showContentSuggestions[ nbo_NotebookObject, { selected_CellObject } ] := showContentSuggestions0[ nbo, selected ]; -showContentSuggestions[ nbo_NotebookObject, { } ] := Enclose[ +(* showContentSuggestions[ nbo_NotebookObject, { } ] := Enclose[ Module[ { selected }, (* FIXME: this is where notebook content suggestions should come in *) SelectionMove[ nbo, After, Cell ]; @@ -134,7 +151,10 @@ showContentSuggestions[ nbo_NotebookObject, { } ] := Enclose[ showContentSuggestions0[ nbo, First @ selected ] ], throwInternalFailure -]; +]; *) + +showContentSuggestions[ nbo_NotebookObject, { } ] := + showContentSuggestions0[ nbo, nbo ]; showContentSuggestions[ _NotebookObject, _ ] := Null; @@ -144,21 +164,18 @@ showContentSuggestions // endDefinition; showContentSuggestions0 // beginDefinition; -showContentSuggestions0[ nbo_NotebookObject, root_CellObject ] := Enclose[ - Module[ { selectionInfo }, +showContentSuggestions0[ nbo_NotebookObject, root: $$feObj ] := Enclose[ + Catch @ Module[ { selectionType, contentData, info }, NotebookDelete @ Cells[ nbo, AttachedCell -> True, CellStyle -> "AttachedContentSuggestions" ]; - - selectionInfo = ConfirmMatch[ - LogChatTiming @ getSelectionInfo @ root, - None | KeyValuePattern[ "CursorPosition" -> { _Integer, _Integer } ], - "SelectionInfo" - ]; - - $lastSelectionInfo = selectionInfo; + selectionType = CurrentValue[ nbo, "SelectionType" ]; + $lastSelectionType = selectionType; + If[ ! MatchQ[ selectionType, "CellCaret"|"TextCaret"|"TextRange" ], Throw @ Null ]; + contentData = If[ MatchQ[ root, _CellObject ], cellInformation[ root, "ContentData" ], None ]; + info = <| "ContentData" -> contentData, "SelectionType" -> selectionType |>; ConfirmMatch[ - setServiceCaller[ showContentSuggestions0[ nbo, root, selectionInfo ], "ContentSuggestions" ], + setServiceCaller[ showContentSuggestions0[ nbo, root, info ], "ContentSuggestions" ], _CellObject | Null, "ShowContentSuggestions" ] @@ -166,14 +183,13 @@ showContentSuggestions0[ nbo_NotebookObject, root_CellObject ] := Enclose[ throwInternalFailure ]; -showContentSuggestions0[ nbo_NotebookObject, root_CellObject, selectionInfo_Association ] := Enclose[ +showContentSuggestions0[ nbo_NotebookObject, root: $$feObj, selectionInfo_Association ] := Enclose[ Catch @ Module[ { type, suggestionsContainer, attached, settings, context }, - If[ ! MatchQ[ selectionInfo, KeyValuePattern[ "CursorPosition" -> { _Integer, _Integer } ] ], Throw @ Null ]; - type = ConfirmBy[ suggestionsType @ selectionInfo, StringQ, "Type" ]; suggestionsContainer = ProgressIndicator[ Appearance -> "Necklace" ]; + attached = ConfirmMatch[ AttachCell[ NotebookSelection @ nbo, @@ -181,7 +197,7 @@ showContentSuggestions0[ nbo_NotebookObject, root_CellObject, selectionInfo_Asso { "WindowCenter", Bottom }, 0, { Center, Top }, - RemovalConditions -> { "EvaluatorQuit", "MouseClickOutside", "SelectionExit" } + RemovalConditions -> { "EvaluatorQuit", "MouseClickOutside" } ], _CellObject, "Attached" @@ -231,6 +247,15 @@ getSuggestionsContext[ "Text", nbo_NotebookObject, settings_ ] := getContextFrom "MaxCellsAfterSelection" -> $textCellsAfter ]; +getSuggestionsContext[ "Notebook", nbo_NotebookObject, settings_ ] := getContextFromSelection[ + None, + nbo, + settings, + "NotebookInstructionsPrompt" -> False, + "MaxCellsBeforeSelection" -> $notebookCellsBefore, + "MaxCellsAfterSelection" -> $notebookCellsAfter +]; + getSuggestionsContext // endDefinition; (* ::**************************************************************************************************************:: *) @@ -264,8 +289,9 @@ suggestionsType // endDefinition; (* ::Subsection::Closed:: *) (*generateSuggestions*) generateSuggestions // beginDefinition; -generateSuggestions[ "WL" , args__ ] := generateWLSuggestions @ args; -generateSuggestions[ "Text", args__ ] := generateTextSuggestions @ args; +generateSuggestions[ "WL" , args__ ] := generateWLSuggestions @ args; +generateSuggestions[ "Text" , args__ ] := generateTextSuggestions @ args; +generateSuggestions[ "Notebook", args__ ] := generateNotebookSuggestions @ args; generateSuggestions // endDefinition; (* ::**************************************************************************************************************:: *) @@ -318,7 +344,7 @@ generateWLSuggestions[ Dynamic[ container_ ], nbo_, root_CellObject, context0_St response = ConfirmMatch[ executeWLSuggestions @ as, - KeyValuePattern[ "Content" -> { __String } ], + KeyValuePattern[ "Content" -> { __String } | _String ], "Response" ]; @@ -332,6 +358,7 @@ generateWLSuggestions[ Dynamic[ container_ ], nbo_, root_CellObject, context0_St "Suggestions" ]; + (* FIXME: strip surrounding code in getWLSuggestions instead of going from string -> boxes -> string -> boxes *) stripped = Take[ ConfirmMatch[ stripSurroundingWLCode[ style, suggestions, context ], { __BoxData }, "Stripped" ], UpTo[ $wlSuggestionsCount ] @@ -505,13 +532,13 @@ stripSurroundingWLCode[ suggestions: { __BoxData }, context_String ] := Enclose[ ]; stripSurroundingWLCode[ suggestion_BoxData, { before_String, after_String } ] := Enclose[ - Module[ { string, stripped, boxes }, + Catch @ Module[ { string, stripped, boxes }, string = ConfirmBy[ CellToString @ StyleBox[ suggestion, ShowStringCharacters -> True ], StringQ, "String" ]; stripped = ConfirmBy[ If[ StringMatchQ[ string, before ~~ ___ ~~ after ], StringDelete[ string, { StartOfString~~before, after~~EndOfString } ], - string + Throw @ { suggestionWrapper[ 1, suggestion ] } ], StringQ, "Stripped" @@ -623,7 +650,7 @@ postProcessWLSuggestions[ suggestion_String ] := Enclose[ ConfirmMatch[ If[ TrueQ @ $stripWhitespace, - Flatten @ BoxData @ StripBoxes @ StringToBoxes[ noLabels, "WL" ], + Flatten @ BoxData @ StringToBoxes[ noLabels, "WL" ], Flatten @ BoxData @ simpleStringToBoxes @ noLabels ], _BoxData, @@ -673,7 +700,13 @@ generateTextSuggestions[ Dynamic[ container_ ], nbo_, root_CellObject, context0_ $lastSuggestionContext = context; instructions = ConfirmBy[ - TemplateApply[ $textSuggestionsPrompt, <| "Placeholder" -> $textPlaceholderString, "Style" -> style |> ], + TemplateApply[ + $textSuggestionsPrompt, + <| + "Placeholder" -> $textPlaceholderString, + "Style" -> style, + "StyleNotes" -> styleNotes @ style + |> ], StringQ, "Instructions" ]; @@ -710,6 +743,18 @@ generateTextSuggestions[ Dynamic[ container_ ], nbo_, root_CellObject, context0_ generateTextSuggestions // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*styleNotes*) +styleNotes // beginDefinition; + +styleNotes[ "CodeText" ] := " +CodeText cells typically contain a short one-line caption ending in a colon (:) that describe the next input."; + +styleNotes[ _ ] := ""; + +styleNotes // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*getTextSuggestions*) @@ -737,6 +782,104 @@ toTextData[ text: $$textData ] := TextData @ Flatten @ { text }; toTextData[ boxes_BoxData ] := TextData @ { Cell[ postProcessWLSuggestions @ CellToString @ boxes, "InlineCode" ] }; toTextData // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*generateNotebookSuggestions*) +generateNotebookSuggestions // beginDefinition; + +generateNotebookSuggestions[ Dynamic[ container_ ], nbo_, root_NotebookObject, context0_String, settings_ ] := Enclose[ + Module[ { context, preprocessed, relatedDocs, as, instructions, response, suggestions }, + + context = ConfirmBy[ + StringReplace[ + context0, + Shortest[ $leftSelectionIndicator~~___~~$rightSelectionIndicator ] :> $notebookPlaceholderString + ], + StringQ, + "Context" + ]; + + If[ TrueQ @ $notebookSuggestionsMultimodal, + context = ConfirmMatch[ GetExpressionURIs @ context, { (_String|_Image)... }, "MultimodalContext" ] + ]; + + $lastSuggestionContext = context; + + preprocessed = ConfirmBy[ preprocessRelatedDocsContext @ context, StringQ, "Preprocessing" ]; + + relatedDocs = ConfirmBy[ + LogChatTiming @ RelatedDocumentation[ + preprocessed, + "Prompt", + MaxItems -> $wlDocMaxItems, + "FilterResults" -> $wlFilterDocResults, + "FilteredCount" -> $wlFilteredDocCount + ], + StringQ, + "RelatedDocumentation" + ]; + + as = <| + "Context" -> context, + "Placeholder" -> $wlPlaceholderString, + "RelatedDocumentation" -> relatedDocs + |>; + + instructions = StringTrim @ ConfirmBy[ + TemplateApply[ $notebookSuggestionsPrompt, as ], + StringQ, + "Instructions" + ]; + as[ "Instructions" ] = instructions; + + $lastInstructions = instructions; + + response = setServiceCaller @ LogChatTiming @ ServiceExecute[ + $suggestionsService, + "Chat", + { + "Messages" -> { + <| "Role" -> "System", "Content" -> instructions |>, + <| "Role" -> "User" , "Content" -> context |> + }, + "Model" -> $notebookSuggestionsModel, + "N" -> $notebookSuggestionsCount, + "MaxTokens" -> $notebookSuggestionsMaxTokens, + "Temperature" -> $notebookSuggestionsTemperature + }, + Authentication -> $suggestionsAuthentication + ]; + + $lastSuggestionsResponse = response; + + suggestions = DeleteDuplicates @ ConfirmMatch[ getNotebookSuggestions @ response, { __Cell }, "Suggestions" ]; + + $lastSuggestions = suggestions; + + container = formatSuggestions[ Dynamic[ container ], suggestions, nbo, root, context, settings ] + ], + throwInternalFailure +]; + +generateNotebookSuggestions // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*getNotebookSuggestions*) +getNotebookSuggestions // beginDefinition; +getNotebookSuggestions[ content_ ] := Flatten @ { postProcessNotebookSuggestions @ getSuggestions @ content }; +getNotebookSuggestions // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*postProcessNotebookSuggestions*) +postProcessNotebookSuggestions // beginDefinition; +postProcessNotebookSuggestions[ suggestions_List ] := postProcessNotebookSuggestions /@ suggestions; +postProcessNotebookSuggestions[ s_String ] := postProcessNotebookSuggestions[ s, FormatChatOutput @ s ]; +postProcessNotebookSuggestions[ s_, RawBoxes[ cell_Cell ] ] := postProcessNotebookSuggestions[ s, ExplodeCell @ cell ]; +postProcessNotebookSuggestions[ s_, cells: { __Cell } ] := Cell @ CellGroupData[ cells, Open ]; +postProcessNotebookSuggestions // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*getSuggestions*) @@ -755,12 +898,12 @@ formatSuggestions[ container_, suggestions: { __ }, nbo_NotebookObject, - root_CellObject, + root: $$feObj, context_, settings_ ] := Enclose[ Module[ { styles, formatted }, - styles = ConfirmMatch[ cellStyles @ root, { ___String }, "Styles" ]; + styles = If[ MatchQ[ root, _CellObject ], ConfirmMatch[ cellStyles @ root, { ___String }, "Styles" ], None ]; formatted = ConfirmMatch[ formatSuggestion[ root, nbo, styles ] /@ suggestions, { __Button }, "Formatted" ]; Pane[ Column[ formatted, Spacings -> 0 ], ImageSize -> { UpTo[ Scaled[ 0.9 ] ], Automatic } ] ], @@ -774,10 +917,10 @@ formatSuggestions // endDefinition; (*formatSuggestion*) formatSuggestion // beginDefinition; -formatSuggestion[ root_CellObject, nbo_NotebookObject, styles_ ] := +formatSuggestion[ root: $$feObj, nbo_NotebookObject, styles_ ] := formatSuggestion[ root, nbo, styles, # ] &; -formatSuggestion[ root_CellObject, nbo_NotebookObject, { styles___String }, suggestion_BoxData ] := Button[ +formatSuggestion[ root: $$feObj, nbo_NotebookObject, { styles___String }, suggestion_BoxData ] := Button[ RawBoxes @ Cell[ suggestion, styles, @@ -798,15 +941,65 @@ formatSuggestion[ root_CellObject, nbo_NotebookObject, { styles___String }, sugg Alignment -> Left ]; -formatSuggestion[ root_CellObject, nbo_NotebookObject, { styles___String }, suggestion_TextData ] := Button[ +formatSuggestion[ root: $$feObj, nbo_NotebookObject, { styles___String }, suggestion_TextData ] := Button[ RawBoxes @ Cell[ suggestion, styles, Deployed -> True, Selectable -> False ], NotebookDelete @ EvaluationCell[ ]; NotebookWrite[ nbo, suggestion, After ], Alignment -> Left ]; +formatSuggestion[ root: $$feObj, nbo_NotebookObject, None, suggestion: Cell[ _CellGroupData ] ] := Button[ + Column[ formatSuggestionCells /@ cellFlatten @ suggestion ], + NotebookDelete @ EvaluationCell[ ]; + NotebookWrite[ nbo, suggestion, After ], + Alignment -> Left +]; + formatSuggestion // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*formatSuggestionCells*) +formatSuggestionCells // beginDefinition; + +formatSuggestionCells[ cell: Cell[ _CellGroupData, ___ ] ] := + formatSuggestionCells @ cellFlatten @ cell; + +formatSuggestionCells[ cells: { __Cell } ] := + formatSuggestionCells /@ cells; + +formatSuggestionCells[ Cell[ a__, CellLabel -> label_, b___ ] ] := Grid[ + { { + Pane[ + RawBoxes @ Cell[ label, "CellLabelExpired", FontSize -> 9, FontSlant -> Plain ], + Alignment -> Right, + ImageSize -> { 50, Automatic } + ], + formatSuggestionCells @ Cell[ a, b ] + } }, + Alignment -> { { Right, Left }, Top } +]; + +formatSuggestionCells[ Cell[ a__, style: "Code"|"Input", b___ ] ] := + RawBoxes @ Cell[ + a, + style, + b, + Deployed -> True, + Selectable -> False, + ShowStringCharacters -> True, + ShowAutoStyles -> True, + LanguageCategory -> "Input", + LineBreakWithin -> Automatic, + LineIndent -> 1, + PageWidth :> WindowWidth + ]; + +formatSuggestionCells[ Cell[ a__ ] ] := + RawBoxes @ Cell[ a, Deployed -> True, Selectable -> False ]; + +formatSuggestionCells // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Package Footer*) diff --git a/Source/Chatbook/CommonSymbols.wl b/Source/Chatbook/CommonSymbols.wl index c1410a9e..e658b78c 100644 --- a/Source/Chatbook/CommonSymbols.wl +++ b/Source/Chatbook/CommonSymbols.wl @@ -98,6 +98,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `autoAssistQ; `boxDataQ; `cachedTokenizer; +`cellFlatten; `cellInformation; `cellOpenQ; `cellPrint; diff --git a/Source/Chatbook/Explode.wl b/Source/Chatbook/Explode.wl index 79af0742..858b445c 100644 --- a/Source/Chatbook/Explode.wl +++ b/Source/Chatbook/Explode.wl @@ -40,15 +40,49 @@ explodeCell[ string_String ] := Cell[ #, "Text" ] & /@ StringSplit[ string, Long explodeCell[ (BoxData|TextData)[ textData_, ___ ] ] := explodeCell @ Flatten @ List @ textData; explodeCell[ textData_List ] := Enclose[ - Module[ { processed }, + Module[ { processed, grouped, post }, processed = ConfirmMatch[ ReplaceRepeated[ textData, $preprocessingRules ], $$textDataList, "Preprocessing" ]; - ConfirmMatch[ regroupCells @ processed, $$textDataList, "RegroupCells" ] + grouped = ConfirmMatch[ regroupCells @ processed, $$textDataList, "RegroupCells" ]; + post = ConfirmMatch[ postProcessExplodedCells /@ grouped, { __Cell }, "PostProcessing" ]; + SequenceReplace[ + post, + { Cell[ caption_? captionQ, "Text", a___ ], input: Cell[ __, "Input"|"Code", ___ ] } :> + Sequence[ Cell[ caption, "CodeText", a ], input ] + ] ], - throwInternalFailure[ explodeCell @ textData, ## ] & + throwInternalFailure ]; explodeCell // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*captionQ*) +captionQ // beginDefinition; +captionQ[ text_String ] := StringEndsQ[ text, ":"~~WhitespaceCharacter... ]; +captionQ[ (ButtonBox|Cell|StyleBox|TextData)[ text_, ___ ] ] := captionQ @ text; +captionQ[ { ___, text_ } ] := captionQ @ text; +captionQ[ _ ] := False; +captionQ // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*postProcessExplodedCells*) +postProcessExplodedCells // beginDefinition; + +postProcessExplodedCells[ + Cell[ BoxData @ RowBox @ { RowBox @ { "In", "[", n_String, "]" }, "="|":=", boxes_ }, "Input", a___ ] +] := Cell[ BoxData @ boxes, "Input", CellLabel -> "In["<>n<>"]:=", a ]; + +postProcessExplodedCells[ + Cell[ BoxData @ RowBox @ { RowBox @ { "Out", "[", n_String, "]" }, "="|":=", boxes_ }, "Input", a___ ] +] := Cell[ BoxData @ boxes, "Output", CellLabel -> "Out["<>n<>"]=", a ]; + +postProcessExplodedCells[ cell_Cell ] := + cell; + +postProcessExplodedCells // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) (*$preprocessingRules*) @@ -97,7 +131,11 @@ $preprocessingRules := $preprocessingRules = Dispatch @ { (* Remove nested cells: *) Cell @ BoxData[ cell_Cell, ___ ] :> cell, - StyleBox[ a_String, "InlineItem", b___ ] :> StyleBox[ "\n"<>a, b ], + Cell[ TextData @ { StyleBox[ "\[Bullet]", ___ ], " ", content___ }, "InlineItem", ___ ] :> + Cell[ TextData @ content, "Item" ], + + Cell[ TextData @ { _String, StyleBox[ "\[Bullet]", ___ ], " ", content___ }, "InlineSubitem", ___ ] :> + Cell[ TextData @ content, "Subitem" ], (* Format text tables: *) Cell[ content__, "TextTableForm", opts: OptionsPattern[ ] ] :> @@ -125,7 +163,16 @@ $preprocessingRules := $preprocessingRules = Dispatch @ { StyleBox[ "\n", "TinyLineBreak", ___ ] :> "\n", Cell[ boxes_, style: "MarkdownDelimiter"|"BlockQuote", a___ ] :> - Cell[ boxes, "Text", style, a ] + Cell[ boxes, "Text", style, a ], + + (* Fix cases where the LLM tried to manually create MarkdownImageBoxes: *) + RowBox @ { "\\!", RowBox @ { "\\(", RowBox @ { "*MarkdownImageBox", "[", uri_, "]" }, "\\)" } } :> + With[ { expr = Quiet @ catchAlways @ GetExpressionURI @ StringTrim[ uri, "\"" ] }, + If[ FailureQ @ expr, + "\[LeftSkeleton]Removed\[RightSkeleton]", + ToBoxes @ expr + ] + ] }; (* ::**************************************************************************************************************:: *) diff --git a/Source/Chatbook/Formatting.wl b/Source/Chatbook/Formatting.wl index 53380f92..723686e8 100644 --- a/Source/Chatbook/Formatting.wl +++ b/Source/Chatbook/Formatting.wl @@ -308,12 +308,29 @@ makeResultCell0[ imageCell[ alt_String, url_String ] ] := image[ alt, url ]; makeResultCell0[ hyperlinkCell[ label_String, url_String ] ] := hyperlink[ label, url ]; -makeResultCell0[ bulletCell[ whitespace_String, item_String ] ] := Flatten @ { +makeResultCell0[ bulletCell[ "", item_String ] ] := { "\n", - whitespace, - StyleBox[ "\[Bullet]", "InlineItem", FontColor -> GrayLevel[ 0.5 ] ], - " ", - formatTextString @ item + Cell[ + TextData @ Flatten @ { + StyleBox[ "\[Bullet]", FontColor -> GrayLevel[ 0.5 ] ], + " ", + formatTextString @ item + }, + "InlineItem" + ] +}; + +makeResultCell0[ bulletCell[ whitespace_String, item_String ] ] := { + "\n", + Cell[ + TextData @ Flatten @ { + whitespace, + StyleBox[ "\[Bullet]", FontColor -> GrayLevel[ 0.5 ] ], + " ", + formatTextString @ item + }, + "InlineSubitem" + ] }; makeResultCell0[ sectionCell[ n_, section_String ] ] := Flatten @ { From 193d60d5cb942603835b073276c33cb766838cf0 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Sun, 6 Oct 2024 18:16:43 -0400 Subject: [PATCH 175/180] Bugfix: NB completions should get documentation --- Source/Chatbook/ChatModes/ContentSuggestions.wl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Source/Chatbook/ChatModes/ContentSuggestions.wl b/Source/Chatbook/ChatModes/ContentSuggestions.wl index 5bacd055..2de1a436 100644 --- a/Source/Chatbook/ChatModes/ContentSuggestions.wl +++ b/Source/Chatbook/ChatModes/ContentSuggestions.wl @@ -87,9 +87,7 @@ The current cell style is \"%%Style%%\", so only write content that would be app %%StyleNotes%% Do your best to match the existing style (whitespace, line breaks, etc.). Your suggested text will be inserted into %%Placeholder%%, so be careful not to repeat the immediately surrounding text. -Respond with the completion text and nothing else. - -%%RelatedDocumentation%%", +Respond with the completion text and nothing else.", Delimiters -> "%%" ]; (* ::**************************************************************************************************************:: *) @@ -108,7 +106,9 @@ $notebookSuggestionsPrompt = StringTemplate[ "\ Complete the following by writing markdown text that can be inserted into \"%%Placeholder%%\". Do your best to match the existing style (whitespace, line breaks, etc.). Your suggested text will be inserted into %%Placeholder%%, so be careful not to repeat the immediately surrounding text. -Respond with the completion text and nothing else.", +Respond with the completion text and nothing else. + +%%RelatedDocumentation%%", Delimiters -> "%%" ]; (* ::**************************************************************************************************************:: *) From dbc7e6dafd6d7cad30b4d8136e2e27287fcdf02b Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Sun, 6 Oct 2024 18:17:04 -0400 Subject: [PATCH 176/180] Bugfix: Postprocess in/out pairs combined into a single cell --- Source/Chatbook/Explode.wl | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/Source/Chatbook/Explode.wl b/Source/Chatbook/Explode.wl index 858b445c..e354447a 100644 --- a/Source/Chatbook/Explode.wl +++ b/Source/Chatbook/Explode.wl @@ -22,6 +22,8 @@ $$newCellStyle = Alternatives[ "Title" ]; +$$ws = _String? (StringMatchQ[ WhitespaceCharacter... ]); + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*ExplodeCell*) @@ -43,7 +45,7 @@ explodeCell[ textData_List ] := Enclose[ Module[ { processed, grouped, post }, processed = ConfirmMatch[ ReplaceRepeated[ textData, $preprocessingRules ], $$textDataList, "Preprocessing" ]; grouped = ConfirmMatch[ regroupCells @ processed, $$textDataList, "RegroupCells" ]; - post = ConfirmMatch[ postProcessExplodedCells /@ grouped, { __Cell }, "PostProcessing" ]; + post = ConfirmMatch[ Flatten[ postProcessExplodedCells /@ grouped ], { __Cell }, "PostProcessing" ]; SequenceReplace[ post, { Cell[ caption_? captionQ, "Text", a___ ], input: Cell[ __, "Input"|"Code", ___ ] } :> @@ -71,13 +73,31 @@ captionQ // endDefinition; postProcessExplodedCells // beginDefinition; postProcessExplodedCells[ - Cell[ BoxData @ RowBox @ { RowBox @ { "In", "[", n_String, "]" }, "="|":=", boxes_ }, "Input", a___ ] + Cell[ BoxData @ RowBox @ { RowBox @ { "In", "[", n_String, "]" }, "="|":=", boxes__ }, "Input", a___ ] ] := Cell[ BoxData @ boxes, "Input", CellLabel -> "In["<>n<>"]:=", a ]; postProcessExplodedCells[ - Cell[ BoxData @ RowBox @ { RowBox @ { "Out", "[", n_String, "]" }, "="|":=", boxes_ }, "Input", a___ ] + Cell[ BoxData @ RowBox @ { RowBox @ { "Out", "[", n_String, "]" }, "="|":=", boxes__ }, "Input", a___ ] ] := Cell[ BoxData @ boxes, "Output", CellLabel -> "Out["<>n<>"]=", a ]; +postProcessExplodedCells[ Cell[ + BoxData @ RowBox @ { + RowBox @ { RowBox @ { "In", "[", nIn_String, "]" }, ":=", in___ }, + $$ws..., + RowBox @ { RowBox @ { "Out", "[", nOut_String, "]" }, "=", out___ } + }, + "Input" +] ] := { + Cell[ BoxData @ RowBox @ { in }, "Input", CellLabel -> "In["<>nIn<>"]:=" ], + Cell[ BoxData @ RowBox @ { out }, "Output", CellLabel -> "Out["<>nOut<>"]=" ] +}; + +postProcessExplodedCells[ cell: Cell[ __, "Input", ___ ] ] := DeleteCases[ + cell /. { RowBox @ { RowBox @ { "In", "[", _, "]" }, "="|":=", boxes__ } :> RowBox @ { boxes } }, + RowBox @ { RowBox @ { "Out", "[", _, "]" }, "="|":=", __ }, + Infinity +]; + postProcessExplodedCells[ cell_Cell ] := cell; From 31886c312ad085e1ca8d68f09d05d4ee8105c1dc Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 7 Oct 2024 11:24:18 -0400 Subject: [PATCH 177/180] Added some settings that are useful for automated testing --- Source/Chatbook/ChatState.wl | 2 ++ Source/Chatbook/CommonSymbols.wl | 2 ++ Source/Chatbook/Formatting.wl | 4 +++- Source/Chatbook/SendChat.wl | 35 ++++++++++++++++++++++++++++++++ Source/Chatbook/Settings.wl | 21 ++++++++++++++++--- Source/Chatbook/Tools/Common.wl | 2 +- 6 files changed, 61 insertions(+), 5 deletions(-) diff --git a/Source/Chatbook/ChatState.wl b/Source/Chatbook/ChatState.wl index 563e7743..45ae57c8 100644 --- a/Source/Chatbook/ChatState.wl +++ b/Source/Chatbook/ChatState.wl @@ -29,6 +29,8 @@ withChatState[ eval_ ] := withChatState = # &, $contextPrompt = None, $selectionPrompt = None, + $toolCallCount = 0, + $openToolCallBoxes = Automatic, (* Values used for token budgets during cell serialization: *) $cellStringBudget = $cellStringBudget, diff --git a/Source/Chatbook/CommonSymbols.wl b/Source/Chatbook/CommonSymbols.wl index e658b78c..10ff8e0b 100644 --- a/Source/Chatbook/CommonSymbols.wl +++ b/Source/Chatbook/CommonSymbols.wl @@ -58,6 +58,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `$nextTaskEvaluation; `$noSemanticSearch; `$notebookEditorEnabled; +`$openToolCallBoxes; `$preferencesScope; `$resultCellCache; `$rightSelectionIndicator; @@ -74,6 +75,7 @@ BeginPackage[ "Wolfram`Chatbook`Common`" ]; `$tokenBudget; `$tokenBudgetLog; `$tokenPressure; +`$toolCallCount; `$toolConfiguration; `$toolEvaluationResults; `$toolOptions; diff --git a/Source/Chatbook/Formatting.wl b/Source/Chatbook/Formatting.wl index 723686e8..6b95a1e1 100644 --- a/Source/Chatbook/Formatting.wl +++ b/Source/Chatbook/Formatting.wl @@ -1427,7 +1427,8 @@ parseFullToolCallString[ id_String, tool: HoldPattern[ _LLMTool ], parameters_As "FormattingFunction" -> getToolFormattingFunction @ tool, "ToolCall" -> StringTrim @ string, "Parameters" -> parameters, - "Result" -> output + "Result" -> output, + "Open" -> TrueQ @ $openToolCallBoxes |>; parseFullToolCallString // endDefinition; @@ -1510,6 +1511,7 @@ makeToolCallBoxLabel[ as0_, name_String, icon_ ] := LabelStyle -> { FontSize -> 12 } ] }, + TrueQ @ as0[ "Open" ], Method -> "Active" ] ]; diff --git a/Source/Chatbook/SendChat.wl b/Source/Chatbook/SendChat.wl index c9899a16..c0e6d5c9 100644 --- a/Source/Chatbook/SendChat.wl +++ b/Source/Chatbook/SendChat.wl @@ -1168,6 +1168,7 @@ toolEvaluation[ settings_, container_Symbol, cell_, as_Association ] := Enclose[ (* Ensure dynamic text is up to date: *) $dynamicTrigger++; $lastDynamicUpdate = AbsoluteTime[ ]; + $toolCallCount = If[ IntegerQ @ $toolCallCount, $toolCallCount + 1, 1 ]; string = ConfirmBy[ container[ "FullContent" ], StringQ, "FullContent" ]; @@ -1181,6 +1182,8 @@ toolEvaluation[ settings_, container_Symbol, cell_, as_Association ] := Enclose[ "ToolRequestParser" ]; + applyHandlerFunction[ settings, "ToolRequestReceived", <| "ToolRequest" -> toolCall |> ]; + toolResponse = ConfirmMatch[ If[ FailureQ @ toolCall, toolCall, @@ -1240,6 +1243,10 @@ toolEvaluation[ settings_, container_Symbol, cell_, as_Association ] := Enclose[ $dynamicTrigger++; $lastDynamicUpdate = AbsoluteTime[ ]; + applyHandlerFunction[ settings, "ToolResponseReceived", <| "ToolResponse" -> toolResponse |> ]; + + If[ ! sendToolResponseQ[ settings, toolResponse ], StopChat @ cell ]; + task = $lastTask = chatSubmit[ container, req, cell, settings ]; addHandlerArguments[ "Task" -> task ]; @@ -1262,6 +1269,34 @@ toolEvaluation // endDefinition; The user has already been provided with this result, so you do not need to repeat it. Reply with /end if the tool call provides a satisfactory answer, otherwise respond normally."; *) +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*sendToolResponseQ*) +sendToolResponseQ // beginDefinition; +(* TODO: allow one final response when reaching the limit and disable tools for the next chat submit *) +sendToolResponseQ[ KeyValuePattern[ "MaxToolResponses" -> n_Integer ], _ ] /; $toolCallCount > n := False; +sendToolResponseQ[ KeyValuePattern[ "SendToolResponse" -> False ], _ ] := False; +sendToolResponseQ[ _, response_LLMToolResponse ] := ! TrueQ @ terminalToolResponseQ @ response; +sendToolResponseQ[ _, _ ] := True; +sendToolResponseQ // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*terminalToolResponseQ*) +terminalToolResponseQ // beginDefinition; +terminalToolResponseQ[ res_LLMToolResponse ] := TrueQ @ Or[ terminalQ @ res[ "Tool" ], terminalQ @ res[ "Data" ] ]; +terminalToolResponseQ // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Subsubsubsection::Closed:: *) +(*terminalQ*) +terminalQ // beginDefinition; +terminalQ[ tool_LLMTool ] := terminalQ @ tool[ "Data" ]; +terminalQ[ KeyValuePattern[ "Output" -> KeyValuePattern[ "SendToolResponse" -> False ] ] ] := True; +terminalQ[ KeyValuePattern[ "SendToolResponse" -> False ] ] := True; +terminalQ[ _ ] := False; +terminalQ // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*makeToolResponseMessage*) diff --git a/Source/Chatbook/Settings.wl b/Source/Chatbook/Settings.wl index eae745ff..05c72193 100644 --- a/Source/Chatbook/Settings.wl +++ b/Source/Chatbook/Settings.wl @@ -45,12 +45,14 @@ $defaultChatSettings = <| "MaxContextTokens" -> Automatic, "MaxOutputCellStringLength" -> Automatic, "MaxTokens" -> Automatic, + "MaxToolResponses" -> 5, "MergeMessages" -> True, "Model" :> $DefaultModel, "Multimodal" -> Automatic, "NotebookWriteMethod" -> Automatic, "OpenAIAPICompletionURL" -> "https://api.openai.com/v1/chat/completions", "OpenAIKey" -> Automatic, + "OpenToolCallBoxes" -> Automatic, "PresencePenalty" -> 0.1, "ProcessingFunctions" :> $DefaultChatProcessingFunctions, "PromptGeneratorMessagePosition" -> 2, @@ -58,6 +60,7 @@ $defaultChatSettings = <| "PromptGenerators" -> { }, "PromptGeneratorsEnabled" -> Automatic, (* TODO *) "Prompts" -> { }, + "SendToolResponse" -> Automatic, "SetCellDingbat" -> True, "ShowMinimized" -> Automatic, "StopTokens" -> Automatic, @@ -117,9 +120,11 @@ $DefaultModel = <| "Service" -> "OpenAI", "Name" -> "gpt-4o" |>; (* ::Subsection::Closed:: *) (*Handler Functions*) $DefaultChatHandlerFunctions = <| - "ChatAbort" :> $ChatAbort, - "ChatPost" :> $ChatPost, - "ChatPre" :> $ChatPre + "ChatAbort" :> $ChatAbort, + "ChatPost" :> $ChatPost, + "ChatPre" :> $ChatPre, + "ToolRequestReceived" -> None, + "ToolResponseGenerated" -> None |>; (* ::**************************************************************************************************************:: *) @@ -246,6 +251,7 @@ resolveAutoSettings[ settings0_Association ] := Enclose[ $initialCellStringBudget = makeCellStringBudget @ resolved; $cellStringBudget = $initialCellStringBudget; $conversionRules = resolved[ "ConversionRules" ]; + $openToolCallBoxes = resolved[ "OpenToolCallBoxes" ]; ]; If[ $catching, $currentChatSettings = resolved ]; @@ -342,6 +348,7 @@ resolveAutoSetting0[ as_, "MaxOutputCellStringLength" ] := chooseMaxOutputC resolveAutoSetting0[ as_, "MaxTokens" ] := autoMaxTokens @ as; resolveAutoSetting0[ as_, "Multimodal" ] := multimodalQ @ as; resolveAutoSetting0[ as_, "NotebookWriteMethod" ] := "PreemptiveLink"; +resolveAutoSetting0[ as_, "OpenToolCallBoxes" ] := openToolCallBoxesQ @ as; resolveAutoSetting0[ as_, "PromptGeneratorMessagePosition" ] := 2; resolveAutoSetting0[ as_, "PromptGeneratorMessageRole" ] := "System"; resolveAutoSetting0[ as_, "PromptGenerators" ] := { }; @@ -369,6 +376,7 @@ $autoSettingKeyDependencies = <| "MaxOutputCellStringLength" -> "MaxCellStringLength", "MaxTokens" -> "Model", "Multimodal" -> { "EnableLLMServices", "Model" }, + "OpenToolCallBoxes" -> "SendToolResponse", "Tokenizer" -> "TokenizerName", "TokenizerName" -> "Model", "ToolCallExamplePromptStyle" -> { "Model", "ToolsEnabled" }, @@ -394,6 +402,13 @@ $autoSettingKeyPriority := Enclose[ * ChatContextPreprompt *) +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*openToolCallBoxesQ*) +openToolCallBoxesQ // beginDefinition; +openToolCallBoxesQ[ as_Association ] := If[ as[ "SendToolResponse" ] === False, True, Automatic ]; +openToolCallBoxesQ // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*bypassResponseCheckingQ*) diff --git a/Source/Chatbook/Tools/Common.wl b/Source/Chatbook/Tools/Common.wl index ac06392b..27ede1d7 100644 --- a/Source/Chatbook/Tools/Common.wl +++ b/Source/Chatbook/Tools/Common.wl @@ -395,7 +395,7 @@ withToolBox // endDefinition; selectTools // beginDefinition; selectTools[ as_Association ] := Enclose[ - Module[ { llmEvaluatorName, toolNames, selections, selectionTypes, add, remove, selectedNames, tools, short }, + Module[ { llmEvaluatorName, toolNames, selections, selectionTypes, add, remove, selectedNames, short }, llmEvaluatorName = ConfirmBy[ getLLMEvaluatorName @ as, StringQ, "LLMEvaluatorName" ]; toolNames = ConfirmMatch[ getToolNames @ as, { ___String }, "Names" ]; From ff2a19ce540aecfd6f82ce456445d415c53e6766 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 7 Oct 2024 11:33:06 -0400 Subject: [PATCH 178/180] Bugfix: Added fallback definition for unrecognized boxes when exploding cells --- Source/Chatbook/ChatModes/ContentSuggestions.wl | 1 + Source/Chatbook/Explode.wl | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/Source/Chatbook/ChatModes/ContentSuggestions.wl b/Source/Chatbook/ChatModes/ContentSuggestions.wl index 2de1a436..16e0adb8 100644 --- a/Source/Chatbook/ChatModes/ContentSuggestions.wl +++ b/Source/Chatbook/ChatModes/ContentSuggestions.wl @@ -32,6 +32,7 @@ $wlFilteredDocCount = 3; $wlSuggestionsPrompt := If[ TrueQ @ $wlFIM, $wlFIMPrompt, $wlSuggestionsPrompt0 ]; +(* TODO: make the language a template parameter to support ExternalLanguage cells too: *) $wlSuggestionsPrompt0 = StringTemplate[ "\ Complete the following Wolfram Language code by writing text that can be inserted into \"%%Placeholder%%\". Do your best to match the existing style (whitespace, line breaks, etc.). diff --git a/Source/Chatbook/Explode.wl b/Source/Chatbook/Explode.wl index e354447a..4c222e44 100644 --- a/Source/Chatbook/Explode.wl +++ b/Source/Chatbook/Explode.wl @@ -11,6 +11,7 @@ $$newCellStyle = Alternatives[ "ExternalLanguage", "Input", "Item", + "Subitem", "MarkdownDelimiter", "Program", "Section", @@ -250,6 +251,9 @@ regroupCells[ { grouped___ }, { grouping___ }, { string_String, rest___ } ] := } ]; +regroupCells[ { grouped___ }, { grouping___ }, { other_, rest___ } ] := + regroupCells[ { grouped }, { grouping, other }, { rest } ]; + regroupCells[ { grouped___ }, { grouping___ }, { } ] := DeleteCases[ { grouped, Cell[ TextData @ { grouping }, "Text" ] }, Cell[ TextData @ { }, ___ ] ]; From ebc240dcc2ef43c151fb53c42ed6efaf4443e36c Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 7 Oct 2024 12:16:27 -0400 Subject: [PATCH 179/180] Bugfix: GPT-4o often writes tool calls in a partial code block --- Source/Chatbook/Formatting.wl | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Source/Chatbook/Formatting.wl b/Source/Chatbook/Formatting.wl index 723686e8..a97b3da9 100644 --- a/Source/Chatbook/Formatting.wl +++ b/Source/Chatbook/Formatting.wl @@ -1103,12 +1103,18 @@ $textDataFormatRules = { Longest[ "```" ~~ language: Except[ "\n" ]... ] ~~ (" "...) ~~ "\n", Shortest[ code__ ], ("```"|EndOfString) - ] /; StringFreeQ[ code, "TOOLCALL:" ~~ ___ ~~ ($$endToolCall|EndOfString) ] :> + ] /; StringFreeQ[ code, ("TOOLCALL:" ~~ ___ ~~ ($$endToolCall|EndOfString))|$$simpleToolCall ] :> codeBlockCell[ language, code ] , - tool: ("TOOLCALL:" ~~ Shortest[ ___ ] ~~ ($$endToolCall|EndOfString)) :> inlineToolCallCell @ tool + Longest @ StringExpression[ + (("```" ~~ Except[ "\n" ]... ~~ (" "...) ~~ "\n"))|"", + tool: ("TOOLCALL:" ~~ Shortest[ ___ ] ~~ ($$endToolCall|EndOfString)) + ] :> inlineToolCallCell @ tool , - tool: $$simpleToolCall :> inlineToolCallCell @ tool + Longest @ StringExpression[ + (("```" ~~ Except[ "\n" ]... ~~ (" "...) ~~ "\n"))|"", + tool: $$simpleToolCall + ] :> inlineToolCallCell @ tool , StartOfLine ~~ "/retry" ~~ (WhitespaceCharacter|EndOfString) :> $discardPreviousToolCall , From 99f6440173508b6b166e497513fded2c3e636561 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Mon, 7 Oct 2024 15:48:24 -0400 Subject: [PATCH 180/180] Bugfix: If `ChatObject[...]` failed for some reason, save chat using the fallback data --- Source/Chatbook/Storage.wl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Source/Chatbook/Storage.wl b/Source/Chatbook/Storage.wl index 72e8ab86..eca06fb6 100644 --- a/Source/Chatbook/Storage.wl +++ b/Source/Chatbook/Storage.wl @@ -269,7 +269,10 @@ SaveChat[ messages: $$chatMessages, settings_Association, opts: OptionsPattern[ catchMine @ LogChatTiming @ saveChat[ messages, settings, OptionValue[ "AutoGenerateTitle" ] ]; SaveChat[ chat_ChatObject, settings_Association, opts: OptionsPattern[ ] ] := - catchMine @ LogChatTiming @ saveChat[ chat[ "Messages" ], settings, OptionValue[ "AutoGenerateTitle" ] ]; + catchMine @ SaveChat[ chat[ "Messages" ], settings, opts ]; + +SaveChat[ chat_Dataset, settings_Association, opts: OptionsPattern[ ] ] := + catchMine @ SaveChat[ Normal @ chat, settings, opts ]; SaveChat // endExportedDefinition;

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 { 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�M8#IviwAaVh2sjN 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 O_v|mQNdFh$Is>RRYm1No literal 0 HcmV?d00001 diff --git a/Developer/Resources/Tokenizers/gpt-3.5.wxf b/Developer/Resources/Tokenizers/gpt-3.5.wxf new file mode 100644 index 0000000000000000000000000000000000000000..ef34356f246167f25c03d251858bd3aec3a6ee35 GIT binary patch literal 479441 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