From 8d233f7dcc9bb7e782a8c6eb0c4fd78f49113ca3 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Fri, 8 May 2026 14:49:18 +0800 Subject: [PATCH] fix: DBPools(config.databases) instead of DBPools() for subprocess context --- harnessed_reasoning/.init.py.swp | Bin 0 -> 12288 bytes .../__pycache__/core.cpython-311.pyc | Bin 43112 -> 43623 bytes harnessed_reasoning/core.py | 19 ++++++++++++------ 3 files changed, 13 insertions(+), 6 deletions(-) create mode 100644 harnessed_reasoning/.init.py.swp diff --git a/harnessed_reasoning/.init.py.swp b/harnessed_reasoning/.init.py.swp new file mode 100644 index 0000000000000000000000000000000000000000..9237c0808b57011a2a3e2ee98ab10459c0f79f42 GIT binary patch literal 12288 zcmeI&KW`H;7zXgS>@BFQ45loJ)Lcrs6aUDBv4@K}0fj|_PO&Wd$6x{Z`8@tmX>^|0=tgKnePs@v+O-5v19EsYwTd&f!<6oT}qYC-I6y z=B@TaqISM;t#azJk&23UBu*!`A952j8fPx3Rz0G=wPMlYEv^9EU7S=|(9r1)b#D>~ z9TE@_6;Lc^U>KEvuVH(BzNvF+|nZvDJhcHn%cHcPX2n40pWIUpOPsvX9rG15G#M)payvai`F)qyr&s)sknN`@tZ z|E{hRwz)EGl@;$ja!`py!_gM+!kE+^NyH2(#Nj8JwMAB|W6|bt3+onN8Z!b~|BVx% z_r~9)q~zU3>V`6!1OR5^CtE>ips84vj=;4UD4~W!8VZ>=lveh&X)627m|MurkWCZ; z-&9fndW9!V2R9zH>VMSDe5U-V*=WYUFbeIENM0}HHP}&wfVpqX0D6<*&96;&mh(4r z(B^O6OvX|KY~A3ur}pI?oT2~y|1~(U1_aNr8q)j7L682Yx4z`>v>tm*5wcJigWyiQ zZr+|$T8J`s`Itd76qjm59p3Hhwz5cAQA4rTwhCGfR`;gc(-^H| zr_$zlZgd7nV^riwvqHcc27|fNCyt=_84EzKFu)hKEPXsFW82by;Zl(l15ezz-ozfg z+asF#%#2J=W5w>#>E^J|ZHW_Vij%lSGM0gD+{|3F+-#G3k|imgM6=>a?6~`pRI7@l z8+asJ+{(7qrMVgfN$j?6wMLWll&Kke%?rUw%VHbjX)HT4E174FN{p&>DVviylhm_# z=6?|@TkpxAkBsN6)vQub4XzC;vZ5s`8zV6a!J*2VRE^xjN8E3t^U;`BC(6+d%`B~r z23uv#9MZ$+j3>*5%=X@Rz(;@bOg3+ZLS+l{Wi83FTgyI4AGLqw<12U9eUh4a(EYK; z|6%I5k5k7bdb50nhVtqn;mq{u)o$@@=?IYDF>-XCr8B2LeLQW!0*o8Kb;t))#Zvr=W&sDFtLPT?r@Y)WP6-_O;eN;-Q%w#h z0%NKTh6<5=*ym&K=AU<|4lo;d;^y@h*0#w9SZd=^cXGanm;x_hB!9<_EMd(hBn`(qrW!;XrL$VJU$L$@2md5SubZ&-;Yj7Gj z6Cs}5m&}R0yUYdIJ>~IaR#q4wS?r0zVD=*TR0C}U)Ew*hOdL=)gd-7!7P8Eu+%%+7 zmzW=;njtLF<&g8Iuz5wJdTub1u7g4v#u|(m`gA>tX7IBdl{9m(tqoE>HvW`bhDA%- zAaCxBQAyE^n9xmF6^<2+BE%592pa(~s^zF=ZjXjHwi{)QC@ff+X6KXbPSAIaXRn4b zn9HALJ_A|hem2g(IxExa{y8Q;=1(_NmDf3hvtz1FwKK)@g(Dzyex|L?Xt`h%LB3!i zC?|2*kzAJ}UdSeZw4S%8EfS2MU~sY zvmsQ`BUohSA67Im)GBF4w589m4@%r5gIz9}M!rgnDvc7DMfXnnt-<~Zyg^?@*uom7 zoaw>I+;7uN&5>A8rM!jPQH!f7-GRVY!xJd+7{h4LL>TJ9K;t#yxM?Pgui!xK_`(J( zHB(t>kErx^At$hXQ;Uh1cysEjgzQShrnQ(X82Sx#Is2rnz=e*z`W{xrCxAvavfNjJ zL}|zNU4E$d%KdM`l2QnnF3~&DOZTB|1;BT>S-54nVQCQ|w%6oqjE#79UD>K079hEakZsK^QLj<3{Rn=*nhrRHN^mk~5gGhgmaC26( zSJ5$$C*!K{w#aB{$9J@Xw1LCTyt~g@izZE=Klzw z+1A6ZD$p8KL+dCqOS5+bBVj3kUs5y@rpKUAK~E0Og8J^|BZ0jX%4Uzwb&`fe-`qzG z;ojl4Tfk{tPS7-Ya_AH23ew*Yv;s!@cAo8_I&w|uU$QO z^72bZzdm({p2L@3XN`?z)i)gHPuGlUxK*a;49(cy9+or{;uNZ&IUipeN)IAv2n^w6 zcBwJa^9K~UGgCnFyL4xA&i(~e*uQ~UCcr;)9ZNA(`5Z$}qQpJU*^w+qf^CW{1^CqV zJieTaE)M7ctZ0rw12v`wBQ%>wvGD^Eh`ZeokqHcc!9#dT8YC%nsk1Dyp0^a+6B+e5ym?3xKPeF6L5wP{3TBSR(g z+-Qo6*s$tv%na!DF2gJ@eFp@;QTHg$zPcaLgHX!jW*2)nlx@yHot?cH8c%*qTnbr; znb-e(;!CNM6uyR9oS^t>)pF=p_`Fd`ktr>c`SVdFJ+4@XNATZ5Yb!cib0 z{}i9*x#PK)jeJXI0#oilJqVMb4Y|zRl0qyjz2$W~Zw4R0!-;=w={5G;hs{`qunJ*0 zK!ZM6xC!L@un^Y=x)K4Sw#!+|BL)vzI0ty?Y$&}>it3IL80x6fPUS#Q35CP-ELZq- z?tcy$@Di^K>*1w6I(>Njuf@W95%wW`1^{uh9pxbke+gO5B(=A;DfBy3@nPW1cLY?r z8E6)Yb;xwHKUMdV-dVKdltq7Oc9=tSKC&gP9&(Jew&vLX0d08eUSN;6mg!^YV3U*_ z_VU6c6Vln8_-kvML3g5VndoY}MtTb1)h=r^rh1!W?XXpO2CG7cT_+`1{|XNs2N_r% zVGdFJ2F=n2bD2z|^erfEpc7DOYlFR0n9nNoX(;G2DeY3st8bW0`hw5h@E9odu0ID7 zuAg(UL~jpD+?jemVG)SYKqS@)0&i3)0fQI8O0fbAM%uu6(+8a`B2|edrJBs*O!)zf zLKc9*Cm956#WxoXg7AQIzCeTnf>qeEyf}@Ugy%~-~ z86xac`Ju-(%7r^#X78|>>~Z_RKDeY~R7SEoa_BwD9w)HlO@ClOis3}ZASrN^H8C3Nq)seDdJNl_lWKhj*TSsb-n@Y|f`=AX`UAVG zJF9}nTNLv#08NAifG@&y9)6E^^)}P~Y~6uY_C&WoBLKco)&qQhMYtmL3fIhIth25e z*&n+{vah>)-R{x1Jz%zP{U@?`MvYrITX9E?D85sg3i3J8R^zaobBHLr2+FBkcH3&l zis!sDYrW!muLxy_y00JK(roR*8;}CA-)Lk zG2n0C>~6&jMtXef4o!hKyC(3fGB#s-;rLzX+GZ#m@T}2hP5rrJ&X(=9WYJWpa7THS zM>s?7s4|OZCZ~dY)@-YCS2|OAmaD5`e^@#}AC!`EsiJRei1y0YRF>Yc1u_s%EOB9y5 zb5eeilr%IQbXz5B+$xDfC6FT?_SxQy6crmY@T^Z_hxX;M)={Z!!QzzLsmLy`(<-G5 zRRl-$gZq4JaA5SUptA?XnvcYC#seXTm1lKn|7C*4y*$;!4)`#E-IJQy=Hme;w2GsVTV<>J|#5g?x} zshS0u^W!jczT8%4v0Si-AYZT%lxF zZ@Q&P0xjI~z@^OPZrjbQ1XKR7zP%o{sw|cLxZas+zlmLTHI0#4kLZruADf=RR@bE3 zqWHb!xK+RVam8(tZHTu($M5&%4!igfc;z$pO>x>J=a8N1VL63a$!hjs8{lRfTXAyV zbkPdRtp!=k^+*V=iqh07?^-8i5qD#Lz%Tv%c=+l*w82GP-<0w*77vnvTPq$P zy{KOf)!!~s_$?L1_UKW;dz-sp|%X0sGSUj`;h+%ely#d0a zrns&|ypS^jG8am0bu%m%W{4=45tPeOe%D~DFB0EPPObNe@8%MeeWv=N#LmZS4a<4Q zmSL+_@zx`(M&P^k07`2R>Jfqn{1SF8N+EC2%{ow2!WF!175D|t zZ3^nq_aO7>1?Q6+XE?U^z$Ef%;_U+&q=#>Xkf3nr!>=DREN$?M4Rje)!~@vxr6Zu6 z;--?~{!z080#Ym#2+(J-XaNEa5)~1Q2>kO8qJ*a@x)b4Lgi{C_!bb?-3D7ysxE3xB z=t%sa9ibmp$tXDxa2=*Tl&lE24AZ3u+flI+rPT<0XUV&hfr{!ukXZk(8cVz;+cg2; zHzRq{Z|q-k+SkA0R0_}D3JcimLzPai$$fk>s@$jXEw=BFI}I|tWEd<+^dH)7=oxF8 z^&91y07?H6p1cR|Lhh2U@S2F})ERnOUB^?d90m;}*_3)5YJlW)HBWAZ0->^+ToZk! zY1agR;~}10nmFmW?|6@Lyy(T%TzRQ}{(IFI7cYHp?zyc)*4$QyyNFOv=95dc(2~(u z8Nl(S{l0#szv#qjp1m}&ldyDu(Ua&g&;i;GsgUorF=H%1VrU8`bqo|>p1 z)T^2L)C!W#{`skF7axgXqr<*`D&Hi*kbTGU4*ODZ$d>9G;J@IQEo93MpIEJnkZ%AA zqcJB494v0RS24@cmT**7kaxHS>Pw(!;2s@jMZ9|pMy0`9D%t{d{m5GS=IIT+&VJk1 zF_s6wz;}>a@J+ri#O>Ws*epIW#vFzcgUB`?sdRC!@i^(lb}wh|9qB36MZF5%Y$Pbm zlQ+sKuM=a1x0ZDt%{OfT8w=|@S__Ay%SYAG!<&QLhS=n9fyjSN+x&E%sTDHG?C{eS zMZ6sWG&2kf+XA`8lox zyz~S3l;)hXe9pWDbE+292A1A^_ktz#U!au!0pUXgKC&UKoOhMa0zu58lPS7N4^r$O z#RgN~Fdje+*OSUx@uz0Fg0_Pi{t3z|W`4E>_W99g7o}e^7GM0Ee~B~Co*<=jZ3H6v k_V{OB{_Sw>YWD2&$J0~c14q4cMB$8BJZB1Q!3p610X)zI@c;k- delta 7972 zcmaJ`3sh7`n!a^!zq_$%Xh1;Z{b&`$wDVG zrO0!KCbBn5lJxTi1SOe$NizFVxdi5e1j_D`K$2-J+9gp*BaZgO<6n*eJM`_q=6UrqFgJn6*an z1OtAbzcuULfZW-pM8aYmVNXkE(i||)Z|ng5V}Dmow!J!<#5U{7isGS$IuVi(k`c^N zNJJt9A&GscyRVSfqEb)0Bvs2(qx#M&s(M=&;M&_!%~D4c2l21IDf^D@W&xP!bJFw&NXR>98T5#w7E|I zk-6gfC_*X{*$7FIUm5n8N(+$21)dgFv7}Tbq1Z*($ehME-U)MdY7clGVFx1;C9xV z)@ZSq%YW;bcqsKJsgXaV<%+9aHBRAt-uxO-8kv*;^hhb<1<_JtGhVPsNZSe0@tk&A zY8FTrCMVR)kuJ>91FagVvZGT8hE#($;BWD@Mw&CuNY?vtg7+b8V2RmVtRW;fBdllP z>@sU7l3NhE*tzUFLpPFPX3I&R(t;$abL=`PZW*Njsu9LPanJ|Z>YNN`0Lp@QFM3Z- z4LKUQlv5*$$r3wuJeQT^U(|&SLk9Fn?22M%S&!=Dq=%&S!ZXsNx?W?*&e~U{u|PqR z-V`X%%{{Vf_+eb9t{VY?H0yykSchp`~F9=vxZ0vE79k#LBYQq_F$f z*$qV4UlF#le=2m7WHzmcW{v8zRs9o%!ZVmlpLAKk_rE@uOZ*%ddgNnFCJX}j`ZcYw-4Rfh@f0xr58p$#Du z!4H5&rTA4tr{4#=uaY3!U7Bd-uJB=~esbSL_L?in@Db3#Ap69%#gbx9jw)XDlq7Mn ztF}xSnNXvzEs!oICP3z5fu*+8c(GJMdKN)?HmA#MbtdVOkpR*F`i6fRI9ibSh)hbFBGLOp6evuyfNJx9>*sAi`4sswEim&`_}37upsT!V#== z^U5w?pv@EV1^hu(Pa$vw=}|1#1w%@QYVdfmioSqF20n05mAvh;szY9Sob4)2hCO?# zbRPLC@>!{$fP*TZ`L<|1gCo3-@F4r!?DKu-CtVg*-_jQFgeae3Kh~NM_8{=E@+MN; zD$vKM5^Q1AGdv8$ziLn1zw16CC8I{EbzVfHos>*xF z&)Jd6jCk(exWx}(pOjs$EXt69RIQysg}OT^M34~WtA7_cK45WGDIoLwsxp!maaYAj zAoKQ`ZryTRg-fD*9k_|~6NEdnsuefZ?eA>gs!(kiKLxJS68#M_^L71{6)&4&_z?5w z*yd&TS+z-H{vGzwvPsMNoc|5;zXMP$55UpG-R=o_w^7tA)!OB0^T}=;DX0=3Jq3k9 zl;pUth7A2eV4LK0R=M0xRzw<>9~8+@z8s_bG0#t0)aMnOQ+wfX%2?U z(P{F-iW=uub}HV^km5$po?KQ}pGzKzJWzkbJPl2V+i9I@Xz}>k6xpTc^97?*f( zA$DbJN-COYC(dNl=H7qq`s+u*I=i0qHWj0Z-X@hU!WZQd=>jOA&jG}qt@wegX92rk zE?{T8P9m@o@ATzK$cjNHruQ-1N4fTh3$y5XAY3|4X6RovNui9Olv~CCTOg+!cz`go zW_c?4J~Aj9iGlZjBJvZZn-mUXOMX&7H`Dsuv-rJRNl_PCXYuc!E9p@-v$dd#Zx8N= zDz$rd0{Hx(W_&2_$hl}wV7+du2lP%4B$uCd+P1(PGVGol1u#PJV4^>j zoMMywldLZz51-v>R^u<%cGJrKJvfPNt~cpXbrU16`8z~Sh#F_awc{q~!*JYV_6I^) zErCwIOpjw%D6rdP`i;NCM_rJCPze4a=n_?92ly?8`sw>nTu-NBrKJN-JwEP1=rJhh z(FZ%_K$dpY(QCn-i{S~V)Rz7dP#7zhVTm>$q_{A(b%MhWPBt*VX;M|GGY$ZkcC`R(Cv89KSn`=pEfuMzOlf`8oC?O(IJd} z@ZM0{Ym?(-bDOz0E|kRV({tiOIIYo7wuj>wDNJUc@0`HwJ5%FqyKJ(#5uPS`fr`x8 zd7KnGftO#lK=aTqsARiJx>Sp|P4W1-I|}Nc7;L8>{En_?Gx4&mJ*9AIV?9e;geB!qKD3%BY|TScR^a?x2KqG?UjtC}zL3%$qznsClB(Gk473C& z1W(WeDX{ectwWHffRjKz9HD1E_^K54!mc>>$A_H6^JMtYe7+~BS9LT4SZ<5Wn|Wk# zS?K|6w-P|L`~1F;&w~oiuP*fO0{bM~oW}!-#Y+`W2t2VTq*^*VXv?{DE%mm7o;|AvN0Rt%d!eH!Is7V`?}D?LNaj6*?*UJ)62Ktzzt; ztx8~fJoeJ1H~<$Y>IHXUV^F0D!-&GjiwYxg69_8U1n}K;;kwW-+%#mfk9Iv{NJzzN zAFH0?jP&=NBxU(aL}6sg%$n)ag-H&eFHE=8lo>CSNl2Fyq$`mAShUnSq>pV2YHiX* zo4(e;+`Ci6X@ng~%4gnVsqD+$nUW5!&9{n^ow5XXWib?E5fA8?V{$U9+7loaHoT`y z;gY0FVA61q;k$x@r!`n$h?U?vE?8QN62MR!b@1F_@it=uyW79p*p`Q9r0+pVtcT{K zg3y`Gj?qg97sIa}oT30@Oe|D!Y3!VNPu+N;oOlFeawK^QNA9JwQB8PA2RV-1A|3{g648e+!^oh)@Q zXX1}Cv<~J>GRYHS`omR?e$igu9n4`12dz>xfBymKH2!Z=oL2# zve0YZh0cbj-6Z;g>2lUUtcF+VL=JEKHmhwZO>zHJblgT7k;22%#LI z3gLU~XfaY?`F*3BWEwYktwgi(`MJ(%gQ&*Q)2YiucOw^S+_*NzW;NUsjC}&-kSj@67zfr5&g-P>)%07Wma`k1aJY)YiAztbJ=NY36yc zdK%f+EN*nwmJ8?8N@`uwh$#W+k@Uq2A#*VqGZ$T!+F8bnvm~VF5~SyGy4+HiBV95$ z>N2EDDFo>ZJ>ZR*I3W}%-NjlDWRus}V+VGN__|e+!ghJ=@cyM|?#C^X0rV3TmF;;v zzXEg=-#mID1x1#^Vh?n1$Log?YT^9^UOTS!n(x#{_T^wUvsF0Q3p4EwOKg-2TSD<{ zxHc6oa90kdvbb7@$&bTW;i(0lQtW0qM#&*)zI-qP!q0C8bJ>l9v!|M6dyLA)M8B~0 zBB`ZNMU4u;H%F6Gb+~IL8zKyjQtLR@5#;OL#{Pd?pU1*6ed=E1=2soA?^tS=eqkm+ z|H7_c>Wr*=x>j8O184WqS4f=d76dm!9m4$x_aS%?wj$uohk6kbA} zqwP%r;N?V~oYkFeJePZR!}}9>_HMX`#XnzZ&(tRm&%&zYbJ&V)c|O?*8D0_t_eAzS zzgO(b(=U8EcvFDnY$H!DLtDsQ%`LnsVLGQwOKa+Q$}3}FC9&!q!_WgH=W2LzH{=PG zHRPt0qn~$E02uc257Ics~WGY+i+#ohEErbH{;9*(!85h z%rR7~-J}<@B|{rX8aq0a9?y3oW_Q@-p*;Oo*s}j-w}x^ZxMgd#bLh9YXDeC$vA4Ep zB;@Nsg^`&n2;2>JAkSE>YEb;GKED#Z8$b+$dNp(Pg7DaGN^z>Pmw|Bq~J+*kk+|=EeMM+YWhh~Ym2#T}1%Mx#!%G>$Ro{K0Y zCP4rWA-ICwI@wC%*v3<n1z NP*PnYoi8SU{|EdUoXh|K diff --git a/harnessed_reasoning/core.py b/harnessed_reasoning/core.py index 708f78f..ed80d9c 100644 --- a/harnessed_reasoning/core.py +++ b/harnessed_reasoning/core.py @@ -13,6 +13,7 @@ try: from ahserver.serverenv import ServerEnv from sqlor.dbpools import DBPools from appPublic.log import info, debug, warning, error, exception + from appPublic.jsonConfig import getConfig except ImportError: class ServerEnv: pass @@ -126,7 +127,8 @@ class HermesReasoningEngine: dbname = 'default' try: - db = DBPools() + config = getConfig() + db = DBPools(config.databases) async with db.sqlorContext(dbname) as sor: where = {} if user_id: @@ -197,7 +199,8 @@ class HermesReasoningEngine: skills = [] try: - db = DBPools() + config = getConfig() + db = DBPools(config.databases) async with db.sqlorContext('harnessed_reasoning') as sor: for kw in list(keywords)[:3]: rows = await sor.R('hermes_skills', { @@ -630,7 +633,8 @@ class HermesReasoningEngine: 'created_at': datetime.now(), 'updated_at': datetime.now(), } - db = DBPools() + config = getConfig() + db = DBPools(config.databases) async with db.sqlorContext('harnessed_reasoning') as sor: res = await sor.C('harnessed_reasoning_sessions', data) info(f"Session stored: {session_id}, result={res}") @@ -642,7 +646,8 @@ class HermesReasoningEngine: async def _update_session_status(self, session_id: str, status: str): """Update session status.""" try: - db = DBPools() + config = getConfig() + db = DBPools(config.databases) async with db.sqlorContext('harnessed_reasoning') as sor: await sor.U('harnessed_reasoning_sessions', { 'id': session_id, @@ -665,7 +670,8 @@ class HermesReasoningEngine: pass try: - db = DBPools() + config = getConfig() + db = DBPools(config.databases) async with db.sqlorContext('harnessed_reasoning') as sor: filters = {'id': session_id} if user_id: @@ -702,7 +708,8 @@ class HermesReasoningEngine: pass try: - db = DBPools() + config = getConfig() + db = DBPools(config.databases) async with db.sqlorContext('harnessed_reasoning') as sor: rows = await sor.R('harnessed_reasoning_sessions', {'user_id': user_id, 'sort': 'created_at desc'}) rows = rows or []