From 878adc0eb7e159362d20addfd823b947a4296fed Mon Sep 17 00:00:00 2001 From: Alex Clarke Date: Fri, 7 Nov 2025 13:39:53 -0700 Subject: [PATCH] docs: documented the now built-in bash helper script and the tools it comes with --- docs/function-calling/BASH-PROMPT-HELPERS.md | 275 ++++++++++++++++++ docs/images/tools/prompt-utils-checkbox.png | Bin 0 -> 12791 bytes docs/images/tools/prompt-utils-confirm.png | Bin 0 -> 7593 bytes docs/images/tools/prompt-utils-debug.png | Bin 0 -> 7064 bytes docs/images/tools/prompt-utils-error.png | Bin 0 -> 5501 bytes docs/images/tools/prompt-utils-info.png | Bin 0 -> 6213 bytes docs/images/tools/prompt-utils-input.png | Bin 0 -> 8449 bytes docs/images/tools/prompt-utils-list.png | Bin 0 -> 9760 bytes docs/images/tools/prompt-utils-password.png | Bin 0 -> 7420 bytes docs/images/tools/prompt-utils-trace.png | Bin 0 -> 6595 bytes .../tools/prompt-utils-validate-present.png | Bin 0 -> 24559 bytes docs/images/tools/prompt-utils-warning.png | Bin 0 -> 7417 bytes .../tools/prompt-utils-with-validate.png | Bin 0 -> 21507 bytes 13 files changed, 275 insertions(+) create mode 100644 docs/function-calling/BASH-PROMPT-HELPERS.md create mode 100644 docs/images/tools/prompt-utils-checkbox.png create mode 100644 docs/images/tools/prompt-utils-confirm.png create mode 100644 docs/images/tools/prompt-utils-debug.png create mode 100644 docs/images/tools/prompt-utils-error.png create mode 100644 docs/images/tools/prompt-utils-info.png create mode 100644 docs/images/tools/prompt-utils-input.png create mode 100644 docs/images/tools/prompt-utils-list.png create mode 100644 docs/images/tools/prompt-utils-password.png create mode 100644 docs/images/tools/prompt-utils-trace.png create mode 100644 docs/images/tools/prompt-utils-validate-present.png create mode 100644 docs/images/tools/prompt-utils-warning.png create mode 100644 docs/images/tools/prompt-utils-with-validate.png diff --git a/docs/function-calling/BASH-PROMPT-HELPERS.md b/docs/function-calling/BASH-PROMPT-HELPERS.md new file mode 100644 index 0000000..92f22f8 --- /dev/null +++ b/docs/function-calling/BASH-PROMPT-HELPERS.md @@ -0,0 +1,275 @@ +# Bash Prompt Helpers + +When creating bash based tools, it's often helpful to prompt the user for input or confirmation. + +Loki comes pre-packaged with a handful of prompt helpers for your bash-based tools. These helpers +can be used to prompt the user for various types of input, such as yes/no confirmations, +text input, and selections from a list. + +The utility script is located at `functions/utils/prompt-utils.sh` within your Loki `functions` directory. + +The Loki `functions` directory varies between machines, so you can find its location on your system by running the following command in your terminal: + +```shell +loki --info | grep functions_dir | awk '{print $2}' +``` + +## Quick Links + +- [Import The Prompt Utils Into Your Tools Script](#import-the-prompt-utils-into-your-tools-script) +- [Included Utility Functions](#included-utility-functions) + - [input](#input) + - [confirm](#confirm) + - [list](#list) + - [checkbox](#checkbox) + - [password](#password) + - [editor](#editor) + - [with_validate](#with_validate) + - [validate_present](#validate_present) + - [detect_os](#detect_os) + - [get_opener](#get_opener) + - [open_link](#open_link) + - [guard_operation](#guard_operation) + - [guard_path](#guard_path) + - [patch_file](#patch_file) + - [error](#error) + - [warn](#warn) + - [info](#info) + - [debug](#debug) + - [trace](#trace) + - [Colored Output](#colored-output) + + +--- + +## Import The Prompt Utils Into Your Tools Script +In order to use the bash prompt helpers in your bash scripts, you need to source the provided `prompt-utils.sh` script. +This script is pre-packaged with Loki and is located [here](../../assets/functions/utils/prompt-utils.sh). + +When sourcing the file in your bash script, you use the `LLM_PROMPT_UTILS_FILE` environment variable that automatically +populates the `functions/utils/prompt-utils.sh` path for you. + +Thus, to properly source and enable all the bash prompt helpers in your Bash tools, add the following prelude to your +scripts: + +```bash +source "$LLM_PROMPT_UTILS_FILE" +``` + +## Included Utility Functions +Below are the built-in bash prompt helpers that can be used to enhance user interaction with your tool scripts. + +### input +Prompt for text input + +![Prompt Utils Input](../images/tools/prompt-utils-input.png) + +**Example With Validation:** +```bash +text=$(with_validation 'input "Please enter something:"' validate_present) +``` + +**Example Without Validation:** +```bash +text=$(input "Please enter something:") +``` + +### confirm +Show a confirm dialog with options for yes/no + +![Prompt Utils Confirm](../images/tools/prompt-utils-confirm.png) + +**Example:** +```bash +confirmed=$(confirm "Do the thing?") +if [[ $confirmed == "0" ]]; then echo "No"; else echo "Yes"; fi +``` + +### list +Renders a text based list of options that can be selected by the user using up, down, and enter +keys that then returns the chosen option. + +![Prompt Utils List](../images/tools/prompt-utils-list.png) + +**Example:** +```bash +options=("one" "two" "three" "four") +choice=$(list "Select an item" "${options[@]}") +echo "Your choice: ${options[$choice]}" +``` + +### checkbox +Render a text based list of options, where multiple options can be selected by the user using down, up, +and enter keys that then returns the chosen options. + +![Prompt Utils Checkbox](../images/tools/prompt-utils-checkbox.png) + +**Example:** +```bash +options=("one" "two" "three" "four") +checked=$(checkbox "Select one or more items" "${options[@]}") +echo "Your choices: ${checked}" +``` + +### password +Show a password prompt displaying stars for each character typed. + +![Prompt Utils Password](../images/tools/prompt-utils-password.png) + +**Example With Validation:** +```bash +validate_password() { + if [[ ${#1} -lt 10 ]]; then + echo "Password must be at least 10 characters" + exit 1 + fi +} +pass=$(with_validate 'password "Enter your password"' validate_password) +``` + +**Example Without Validation:** +```bash +pass="$(password "Enter your password:")" +``` + +### editor +Open the default editor (`$EDITOR`); if none is set, default back to `vi` + +**Example:** +```bash +text=$(editor "Please enter something in the editor") +echo -e "You wrote:\n${text}" +``` + +### with_validate +Evaluate the given prompt command with validation. This prompts the user for input until the +validation functions returns 0. + +![Prompt Utils With-validate](../images/tools/prompt-utils-with-validate.png) + +**Example:** +```bash +# Using the built-in 'validate_present' validator +text=$(with_validate 'input "Please enter something and confirm with enter"' validate_present) + +# Using a custom validator; e.g. for password +validate_password() { + if [[ ${#1} -lt 10 ]]; then + echo "Password needs to be at least 10 characters" + exit 1 + fi +} +pass=$(with_validate 'password "Enter random password"' validate_password) +``` + +### validate_present +Validate that the prompt returned a value. + +![Prompt Utils Validate-Present](../images/tools/prompt-utils-validate-present.png) + +**Example:** +```bash +text=$(with_validate 'input "Please enter something and confirm with enter"' validate_present) +``` + +### detect_os +Detect the current OS. + +Returns one of the following: + +* `solaris` +* `macos` +* `linux` +* `bsd` +* `windows` +* `unknown` + +**Example:** +```bash +detect_os +``` + +### get_opener +Determines the Os-specific file opening command (i.e. the command to open anything) + +**Example:** +```bash +# Returns 'xdg-open' +get_opener +``` + +### open_link +Opens the given link in the default browser + +**Example:** +```bash +open_link https://www.google.com +``` + +### guard_operation +Prompt for permission to run an operation + +**Example:** +```bash +guard_operation "Execute SQL?" +_run_sql +``` + +### guard_path +Prompt for permission to perform path operations + +**Example:*** +```bash +guard_path "$target_path" "Remove '$target_path'?" +rm -rf "$target_path" +``` + +### patch_file +Patch a file and show a diff using the default diff viewer. Uses git diff syntax. + +**Example:** +```bash +new_contents="$(patch_file "$path" file.patch)" +``` + +### error +Log an error + +![Prompt Utils Error](../images/tools/prompt-utils-error.png) + +### warn +Log a warning + +![Prompt Utils Warning](../images/tools/prompt-utils-warning.png) + +### info +Log info + +![Prompt Utils Info](../images/tools/prompt-utils-info.png) + +### debug +Log a debug message + +![Prompt Utils Debug](../images/tools/prompt-utils-debug.png) + +### trace +Log a trace message + +![Prompt Utils Trace](../images/tools/prompt-utils-trace.png) + +### Colored Output +The following commands allow users to output text in specific colors. + +* `red` +* `green` +* `gold` +* `blue` +* `magenta` +* `cyan` +* `white` + +**Example:** +```bash +red "This will be red" +yellow "This will be yellow" +``` diff --git a/docs/images/tools/prompt-utils-checkbox.png b/docs/images/tools/prompt-utils-checkbox.png new file mode 100644 index 0000000000000000000000000000000000000000..f557f4a14a07e2f61584ef9b75738e4f7c80e860 GIT binary patch literal 12791 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 literal 0 HcmV?d00001 diff --git a/docs/images/tools/prompt-utils-debug.png b/docs/images/tools/prompt-utils-debug.png new file mode 100644 index 0000000000000000000000000000000000000000..2eed9bb0e544ea587c040296062f8e7374473b5b GIT binary patch literal 7064 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 IReK!u9}+jnM*si- literal 0 HcmV?d00001 diff --git a/docs/images/tools/prompt-utils-info.png b/docs/images/tools/prompt-utils-info.png new file mode 100644 index 0000000000000000000000000000000000000000..221f0e812ab275822179d53a5b449a1921e91858 GIT binary patch literal 6213 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 G%>MynDnwrZ literal 0 HcmV?d00001 diff --git a/docs/images/tools/prompt-utils-input.png b/docs/images/tools/prompt-utils-input.png new file mode 100644 index 0000000000000000000000000000000000000000..513e5673691cb180fc161c0f424de5e6110083e7 GIT binary patch literal 8449 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 literal 0 HcmV?d00001 diff --git a/docs/images/tools/prompt-utils-list.png b/docs/images/tools/prompt-utils-list.png new file mode 100644 index 0000000000000000000000000000000000000000..604d146d14f6f46fee9cdda40925084d78eac637 GIT binary patch literal 9760 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≫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 Nhw6H2m0+7!{|8GM)7bz3 literal 0 HcmV?d00001 diff --git a/docs/images/tools/prompt-utils-validate-present.png b/docs/images/tools/prompt-utils-validate-present.png new file mode 100644 index 0000000000000000000000000000000000000000..bacd958290798fedb8e74d23d14180a698b55e00 GIT binary patch literal 24559 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 y`%p}T|5Lty)YRU`{+~g*bS00V{|q)RxM z$@jl{f4!<(x9(KUov!KA(|!6(goc^|9yS#=5)u*~P*F|`2?+)M^v&@MtMiKV!slSQ``Q2`PA_sa(q}VYhtx9Z=e#09Uv!VU@>jy7x z4=?UZ@1l&spEgl}SeIQ}ZeKMU8*ET33VcK;|1L1NcBCSZ1e>tQW4n8^fRW8lvVd#0 zgXLX!Pk}EIuIq~^bqt{G}Zmoc4kEQxFA-kRTQ(hE0MgJ1u(P_R8R0&2-S60O&q z+%sWkoC~6$pb16|#*wyf=4qRN50qD1D=I2Vbw{OoKMa7cif`wZe(IV4rUSB8=MF=H zHmuM9(^=u26RKtLx?3>?BT@LnGOmX|<)++p5zf!8>%b4sgo47T|;p%ki@b50ddNSY~2AvQiu_1c8nT`8i$n}ynj|8TM&AAL|pW^R&)Am zVVpJdwd(kWR1)mgRm4V^yP=>^d~(Vq21 z%0{{tEF=HS)j#FI1=Dx_>8PS|-0+!DT31WpAC4TM3Hnmo(>*x|fHs&6w95 zyljBFi;@m}w%{AIZt##FzX`7pCLxMI?A$g6_>!l@JQ6-+15NtoR0vkVYuXMSUbw#u z+R*iETl%Tt9r$m5#CfjReO6AQO}^#o?y|om^4TW#dJsdCq~lMvqs4B$MAxNhjh>HN zC#3YEK{lCEaQcW@#WhaQk{@gKK4Rl_`hhAL!(F!=2-u|(UN7D2wN!|_C*c+A5VZ8V zfdRmYUGr!tJx(y9*~u$a0^?!J>_@ef%#O{i6*^|!<>sab2Qk#UP3BrC7_x=!iW-PF zdWb?_G*Kc)c;?u;46WwJ>!L%yfBZ7%MK9Up*s>urF&Vm&3@(l>d3DU_G-~@SOGCRj z#NxS%*az(OA-`Pj79hfn86_^KpV41cZ$p{%T@yEoUt8#j_}1!5jG|aXTU30Z`08O% zyo9~REtu+>6q2)%Temmv;)IrsK_G{WZst|`1~0I`QUUYB>BsLbtfCk!qhozXKup%< zOV_jcOU=M3wGhdGPx0?Y&iBVrX{Y;IopQ)hQEXZ@3dj8aw78LcC|EmAoI5W|C4G1& zymhCJ+2l{RHVO4DK`hE#m$Y#^Fb;TnT3LH!w4xU~PkJ7&y!x*0VCQB8J~WuhFTF>| zZPq)~(qbpyhh>~3)J)UQvCDcosvzK7luua!>ZMw5T>wLT_vfF3vxd=Rzgc;lKrxJN ziG&GcC53xB#pq}TvX32=B-(MET;R)qcFgNI{$N)Gi@K%S$FBYg%QLxibK+zv0w?Vs?3H zVP2c~<6r}=>J`2DQqwI$sH9O$(Z(%rZ!7#6<+?M!&3oBl%LbxX)81cw%kdZmPqT$h z{IsL(OA4q>q9J5Q~o$8?TS1ccV^>>kje78e1^esmO!l^a4PK)St!& ztodMJdHDOEIpj66T6DtQx9_nNzY@iRFTdht<+RA?t4^#2o;oo&c(wJ;3OA$-A0J)I z`+*0pBig$vqZRDZ1c>AW7fmLd7!%1nP^v`Fqxz2YO*T-C{u5+YdgZv2&S=FM-^ zE1|5IvYG^8z5>cS>XFVu#Ntlsm_Jubp?y#7Z}SiZ2f0JyNi*57kU|kX?Xc4M zG+M`OvouaMJL}Ss@eS!^qZ(oHB8QXFF1eqpPs%`j?+G86Ye-C*~rCTsL`-jS^h|TtE-7DHckDF8wH0e^j2kg8F&aIO#!#oUBZf|)oW;jP@j`s^mK#O|tevW<^y zsWo~K4)w5GnYR@`_;Zbmju#v(DCz4Q(HV?MpwbvcvJB$eYvjUbWIu7Ds8*Tb@b#Px zYV5GuvHpDyhVj7sFM5sod)fQV3m_(kw4Yl9A0<)(iKSA^QWN4CBy3R z?^wr)mI)z(hzvi>^0=nYhwQLqyTn{FWx|IUt-3)jU;@Vw?qaZCxI*s6p34(r$$K)i zO0MaKbR{71_n>WDFr7Om(F~s=7zr-{c(SRxg&9+fJVd672uEYiyCOZI8~@{xg=(2 z0>>ETZxp=m;JtgWm3Wuvd1%qKTt-r;Z{YGG$PrjyNkq2P7G**`e?tYQ^bEw8XT>8H zQRViS_otqht zQNabFjaotd)cBq$C8Tyh@4#^TrWBWJPzGEAD~{l{i_e-t7?g&4nTNf)Z@I(W*tTBP zZY(Zpx>z7fq1(=tvJ8&(s%KgGIapHyau%t~dNoy*A@bZeJpve@oq=1}>>>vTrj8Wy z;SJJgsW#5^*SQll`tFjdg=NYruJG4!IQcKmX-eo;;&`(5S-KgO92hv{eS4~2@)?DW zf^%lRXVheShVqm}&=@}49x#)ReW`%Y#D@?3_;><0BI=4+UUfdj`yhhao&z&il2EnL zJpOjE=TU7rlocjt4xeW8T(Pwr(IRw)3yHj2i`wqsm62z{IysRzUz@uO)}t@CA47vJ z*t=N#82Bk_kZ0%zU&FiW-=sW{gvMmyeN(f+u{eSt0I(D^A7#>RG68s?qb+4IJBh1= zhsf^MUZm>k-uR&2YMExTx5vV#om1d2(71r{FcLMTABQXH<9+FX{>R_Dru{J#r9A85 zg5nbnu4ws!0k|dwRjxXHmOOKYE)La7Z5qWwIhft`=2*k~Agu6LSGyZroOI`?GF}97 z(wA0X;&$4X3h1jBlUpagsyd$R4nxuAM&QJLet^4TJ=yi`L1+CNyo!xqu_rZNMkO)~ z+^SyJ&ER=t;|Kz^vO|ON{O?Z=WgEes`Sz4*)&hE<{?VhhO_Fs+VQjV*PwY__2v@1^ zCuj>Ycll`MzL5`6+0#WjmoSMrjmuuiur00_jG>#)cd=Fu{Bk-av;HS)%@U_eyr#!p zVLh~gkopxKJ?XjZLxX|Y-E=`Cl@kCycem5bNm15rgZxNy@@Z>B50fNTZguGWM??0> zg5%#oc;wc(m9Zjllo4LnUwoMh9c0?gf^q}LIR#d04nQw{BYzxq9xkbQMkg1S;kcWE z@2ggKweOuDU8;`7A3o#vOeY-X*?7@revHfuSRSNU>U{0<28iOhMwK!)AGSAa@Uq4B z%^bv{&)HStMwoeO2wAVHL8Atw*0wP}+9GBuzv|P=?LS}2>1H(+GnB*G15e{fd#F@6 zX)K>kMODH@#Do)dSb&0Mj?Ru`H|dmJuaD(bDlEJ;#$p@)bTRPIP*(|&&qtg8AZyfW zN-O-u%x&}SN>C=2rstXsB$*+0H93^Ajdd6M&n}- z)TX*N`u%>P8)F-5tjtK5`6t;I|ENrqG|DTdYnfpE2=EG*Wky|Qz%843dpiF|JgWB% zBMJ_6nU845bN)9PfeV6$0fgb!H2}+6{TIanQVr>sy~ukEm0Yx;u4U>gTLp?CIkVAN zs@Q4pwb;CHk4uT5yv`=h4x0!DwslTVc-KMWmSM@pBi7y^oY zM1G-`c@BZ)Z>~>1{Q@ty02XlP`6u__7>q{~Tt98oJWx+_nBe;?F;$jfW@(S?w#OH7 zfiIny=2u%jwF%R?VY9^2_C1_yA8Fd^)w(=#eX-h@jN*?To~3WTX!+SESU^#YHj3Uh z@@w$D1kG~S#;_Uq7RcsJk&+|4-7ngvyP||(ue(&fKE-<%&fl8yq$xZMLkCp^PI*>U z@ndaCQ|&EuELGKANd;S-@?H_$oANez`Vbqc69~ zV`}9yxub7I5q4dbG$#PZP0AMj@W%A%_s`s^$>;e`2@AL9z0p6}BTdQitwn~!KdmH9 z?%QsL-G8!481VH*x}8Zj>}i$1I!fA?Zu`=IVuu+8bMn#uo5mFJ8s1tYazBC1f1_)v z_elypt2=%SF-4QnN-x$LwDVX8MSlM( z!s(xdhfvl^7&F_|?`9-pEVMdcz$a${i1)MJisvpf&c8ND5md6Pwtn63ASbbJ2ZV9T zCl8an&ka`|mI0|a=yuza;m4$iJ5a2%yI#W8u!)){+Cu=t(H()=MQsnPupbObVnAVF zzMIsIo#*$@$R#Qf2pKX@kpixtXhx_eyq2;&X9F(8V`JZf@u_*P3;WMF*}MIJEAt0>^;*KD%F<#?l1pE9})C2=WJag(#PQ##(;sg-3WqlYsp zbW51yD0}*vt6x`x{t8DbWL=XPyH?7U$BXL3`)S&_mI{!ev%vH!MGxCsNEe{^CaEsB zng>|4J;Jmaz(j9>xYREtL2I9g%GRcYB$3h`qqIS1?b<*c`D4d*_j@P0(2UWUz_!i; zR)}dLwR4P25ok^E_pFN6;t#lg4p*H#dP)V+&Z~GQQv7F}zd1AtTclpxx4A(-#Yq^& z6z!xUgAK5y%!ccTz}3>GEQ_E_F(#MD?rdRZ-sTLNx5Q1Jqu^wpb%NLiE)=s-N~=pZ?m&#uxJ7Ophs+6@5P zlHM(yy$2}mMLxBVe%V|zbqHnD=INi}(`aXw6(CMf^oq-w4}p&wJ$I^kmL2$fBu z)s0`LGfG<&4ygkxulT2-y=U;*_YlJ{5A9ZY$y^IPoIeH4;KwqlV(hp3@90yX8v1G` z`1Fv5Belif_+}=_71mZ2W%qv>FLmPY8!gptjG_)qX*ee=xj=OkGA5JJ5|Rvp-jHFv zH-gv$y43^7e^^i)J%`Q}Ms~irx!aA9vgSF~FU`pzNB9}6+;~77>d~E873(V@QoYLe zTErqnWercxPSl4P`+!XQG>Dm%_Ao@ozO9~pz)Li_X~{CPjUq}x8_tR)fWERfQUnAj zYvgrw9=?X*#&iQ28{*#kGQbs*yHR|WnUCk0c;4}mNdPN5mUC{>cS!(WB@?0Tn;aUs z%vh2U>zNlo*XzVDPRpu^NtOy@SdYW7iqIom3(AvxZ2m&z=ck9lyWFEsYIX z;YnO>9Px<81b(Wkd#RrrRV9H^ut~26yg&gmK18NicR43HY$R?N@W6Sx(cUJhNOZ_{ zYwM9YYs01!z5gVSDh#j~J}=4B{_#agivwP^gP4{;p=#z!1Fpdtg!bKE&Wf;(S3$4& zQqamsfoG6Gl*%x7a%LZFG8@w`Lck3#b)W=^p?zlOC?9axg&6n}hEF5!XN~;Wt0_U|rNW&+7o&KW`ixYIP!X=-XCo9o^gXpHSHH*ViBl(nsz`*}jdM#UgEIl& zWd+kWq9(Nu4IrlMe(Luz`K66#;8J%1%m131r!$OUCZ_Gk30FHu?*@iAKe8YFdJf@8 zRs5!o6Rj^TbEmRWdv}6Ws+MS7r|!>C1$=Pe*=M0NSyZEk3I|}8@pdrg8e28n8A8dVqqhI$ts9Ao$2tDmn@DM7sb*en@*9NST z@$BL*qKCYpY)Sqt>h>aIZy|0srzMffasNb=|5)L26p4kDhXJ>mcb z29I|gQFvaW>nqy(*sjoj=r>GbI=Ihy*nh!1EU6S5Z{3-bz}c}6RSz*PmG(GcWB{0b zW`GD&RdK?z3(=ds$V=9W;~7MMaB6YUzTOZbR%$kT*REx{sR9W@PYTy0eq*n7??a_r z?`)9Rk9X6Y>r35|RAL)Y-sU|+46c=3X`ur^L(wx~4pb^C)G)P_CqW^Y6Ry1^Bxx+8 zyl?wpcG`UEB)>iTWaA>0f z2}C1tLGrhIw>(4%K!M+f9xG1nEq_ap=-|A_UhSB3$4qD&<0%VlRfX!yY8}m^`n*w; z^1F}DO8|W+>Tpjo6)!sN=iqu|<*eST;XD}Qjt5isilM(JgI(CORJ+zi(0t7WxJ7EI zp1-nd>71$mIhIFO+lZ_Dg0<3NlK5HvtOsO&JuyWN`pgzKUr4Lwj#}Hh#lS>pLIl(Z5l1J!(V`Ye>8uXciz7t`2izR()@v`adlrFK&`_t3g%! zT815Pl-X#y%81#g;!Bboi`oNCN0MB;Tq4M>#p9!XrO%Q!d6pTj}Yvvm%Io2-GkTX(! zSppzAnf1VvEq*s<9o<)*_!;yJjlJ+)C`fs~odW)gXKL$GJIg7T-?PYHB(1lw$RBsR zZ1QVw=I$zj;abPLzY0>P`@c#7Dki?x6L(y~1+>H{juuUhghrWteH+j=r$SsYamY$@ zYSIII5#I3em6Ot%>VO80`S8E1xTGaqDlxE+s=%q03n4|Fv8kIfvQUr1H?>>`4hY^n z`a^2aCf7Tn!gT-tNU2a50RF^3jm5OHG`&-vU%AD0PQQRi5&!PwLUHdPE6Ezt!?0ok z|3_R0HQqm+0PT@~mU?)jMU2Nlwf}h5U#c~<@0QpPms{{YsbS9AaX literal 0 HcmV?d00001 diff --git a/docs/images/tools/prompt-utils-with-validate.png b/docs/images/tools/prompt-utils-with-validate.png new file mode 100644 index 0000000000000000000000000000000000000000..4c4dbb8adf34bfe2b7243001d0d3f0f8ce82d172 GIT binary patch literal 21507 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 RfrooCc)I$ztaD0e0stfu{jvZ6 literal 0 HcmV?d00001