adam-agent-server 1.16.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/dist/App-SIQUVFJY.js +14 -0
  2. package/dist/approval-handler-FONN2EGB.js +1 -0
  3. package/dist/{artifacts-S2KD6W76.js → artifacts-DMY2MI2F.js} +1 -1
  4. package/dist/audit-diagnostics-D4M4SA5O.js +1 -0
  5. package/dist/audit-manager-YEOJRE6K.js +1 -0
  6. package/dist/bree-engine-RGTBKKFE.js +1 -0
  7. package/dist/channels-VYNJFXDD.js +1 -0
  8. package/dist/channels-WFU4CVGW.js +1 -0
  9. package/dist/chat-tool-calls-WQGFYTUV.js +1 -0
  10. package/dist/{chunk-TCBGUVVU.js → chunk-2RBYM3X7.js} +1 -1
  11. package/dist/chunk-2V2H5PG5.js +182 -0
  12. package/dist/{chunk-TJTH7LHX.js → chunk-2WPUKCDA.js} +1 -1
  13. package/dist/{chunk-6Y2DN2UH.js → chunk-32D5GWJD.js} +1 -1
  14. package/dist/chunk-3GK65T2V.js +6 -0
  15. package/dist/chunk-3R7VGMAK.js +6 -0
  16. package/dist/{chunk-OXGWWSKT.js → chunk-3RITIMKB.js} +1 -1
  17. package/dist/{chunk-3UR2PN5N.js → chunk-3VUEB67V.js} +1 -1
  18. package/dist/{chunk-P5Q2UINT.js → chunk-4G2OZPP5.js} +1 -1
  19. package/dist/{chunk-NUJSTEV4.js → chunk-4N5G7ND2.js} +1 -1
  20. package/dist/{chunk-YNS5LQX5.js → chunk-4WJ2VSEJ.js} +1 -1
  21. package/dist/{chunk-TLMG5W3L.js → chunk-5G64P4KE.js} +1 -1
  22. package/dist/{chunk-245WE5AF.js → chunk-5M6IGE5G.js} +1 -1
  23. package/dist/chunk-5PELJRUQ.js +1 -0
  24. package/dist/{chunk-I44JKROJ.js → chunk-5WBFQMJL.js} +1 -1
  25. package/dist/chunk-725BGAO2.js +143 -0
  26. package/dist/{chunk-OGY42NUN.js → chunk-73GP6K5S.js} +1 -1
  27. package/dist/{chunk-HC34HJFF.js → chunk-7IXYCDUF.js} +1 -1
  28. package/dist/{chunk-H4MMEULK.js → chunk-A2S67EQG.js} +2 -2
  29. package/dist/{chunk-HXDS4NWI.js → chunk-A57SY3E4.js} +1 -1
  30. package/dist/{chunk-N2OLEUAQ.js → chunk-BRUHXRKK.js} +1 -1
  31. package/dist/{chunk-XYZVMTNN.js → chunk-CFPXWGFD.js} +1 -1
  32. package/dist/{chunk-VVQ532U2.js → chunk-D5PAJ3CB.js} +1 -1
  33. package/dist/{chunk-LQVBWVLE.js → chunk-DCTNMUQ5.js} +1 -1
  34. package/dist/{chunk-LVHLUAZW.js → chunk-ED2JAMEN.js} +8 -7
  35. package/dist/{chunk-BLCNUT53.js → chunk-EZLBMUQD.js} +1 -1
  36. package/dist/{chunk-ASPPM7TQ.js → chunk-FJ3DUJXO.js} +1 -1
  37. package/dist/chunk-FMJVKJJE.js +1 -0
  38. package/dist/{chunk-NLTYJUQG.js → chunk-HL373H4P.js} +1 -1
  39. package/dist/chunk-K3HWZBE5.js +10 -0
  40. package/dist/{chunk-R24YRJRG.js → chunk-MQTK4Q6M.js} +1 -1
  41. package/dist/chunk-NV5ZXKKF.js +61 -0
  42. package/dist/chunk-OH6VBBDV.js +1 -0
  43. package/dist/{chunk-SCUPWMI5.js → chunk-OII5SDMS.js} +1 -1
  44. package/dist/{chunk-MTQI6B7T.js → chunk-P76VP2UH.js} +3 -3
  45. package/dist/{chunk-AQAHVNNG.js → chunk-PBKZDNNV.js} +5 -5
  46. package/dist/{chunk-HJICGOD4.js → chunk-QWIBCFPC.js} +1 -1
  47. package/dist/{chunk-AG5SADAI.js → chunk-SJTIMT5U.js} +1 -1
  48. package/dist/chunk-TNBQFCXR.js +14 -0
  49. package/dist/chunk-TO27F23C.js +2 -0
  50. package/dist/chunk-UAF4KNXE.js +32 -0
  51. package/dist/{chunk-FYULPPFR.js → chunk-UUJ24BNJ.js} +1 -1
  52. package/dist/{chunk-QL2ZOLMC.js → chunk-VARIYH6K.js} +92 -6
  53. package/dist/{chunk-WBAPIPST.js → chunk-VO24C673.js} +1 -1
  54. package/dist/{chunk-52FETPCI.js → chunk-VSSKQAG5.js} +1 -1
  55. package/dist/{chunk-VKKDSXMR.js → chunk-VVBN35YG.js} +1 -1
  56. package/dist/chunk-WDSCTXT7.js +1 -0
  57. package/dist/chunk-YEBC67DJ.js +1 -0
  58. package/dist/cli.js +2 -2
  59. package/dist/config-GRL6O2ZY.js +1 -0
  60. package/dist/config-ZDKMTZJC.js +1 -0
  61. package/dist/db-LIKGSZCL.js +1 -0
  62. package/dist/{delivery-log-3O3OHKY4.js → delivery-log-2ILFP673.js} +1 -1
  63. package/dist/engine-JVPM3XE5.js +1 -0
  64. package/dist/evolution-audit-BDQM6NAX.js +1 -0
  65. package/dist/execution-tools-7MK257DY.js +1 -0
  66. package/dist/{external-api-YMEFVZGG.js → external-api-7GB3U775.js} +1 -1
  67. package/dist/index.js +41 -41
  68. package/dist/learner-V2HBTRAE.js +1 -0
  69. package/dist/logger-TEZSHFTZ.js +1 -0
  70. package/dist/{memories-2DY5G6ZN.js → memories-B3QGTYLX.js} +1 -1
  71. package/dist/memory-extractor-RYZ3VU7A.js +1 -0
  72. package/dist/memory-gc-5AYND3RL.js +1 -0
  73. package/dist/memory-service-XI3JZQ4E.js +1 -0
  74. package/dist/outbound-gateway-O27KKVOI.js +1 -0
  75. package/dist/presets-UAH3OG3C.js +1 -0
  76. package/dist/reflection-job-P6GIQVQN.js +23 -0
  77. package/dist/role-presets-RVYTO5FS.js +1 -0
  78. package/dist/role-workspace-KOTVFJD3.js +1 -0
  79. package/dist/roles-B6YC4GDC.js +1 -0
  80. package/dist/{runtime-TWLGJSL6.js → runtime-C3XN33A3.js} +1 -1
  81. package/dist/server-bus-6QGH2AVL.js +1 -0
  82. package/dist/session-manager-HO2ZCB47.js +1 -0
  83. package/dist/skill-registry-X2GY7SMI.js +1 -0
  84. package/dist/target-resolution-RLNUCT6M.js +1 -0
  85. package/dist/{task-templates-4YPKFFKG.js → task-templates-MNCF7JON.js} +1 -1
  86. package/dist/template-dispatch-BAMKX3QH.js +1 -0
  87. package/dist/trace-context-NVCN6UPC.js +1 -0
  88. package/package.json +2 -1
  89. package/web/dist/assets/{ArtifactDetail-9DJdEqCz.js → ArtifactDetail-Dt_xkaYJ.js} +2 -2
  90. package/web/dist/assets/{Artifacts-CQ6SAemH.js → Artifacts-DlPMk9VQ.js} +1 -1
  91. package/web/dist/assets/{Button-xVc-P0vm.js → Button-CRNb8sD3.js} +1 -1
  92. package/web/dist/assets/{Card-WUD1cwG6.js → Card-Cwvv0An8.js} +1 -1
  93. package/web/dist/assets/{ChannelDetail-B21nBQwi.js → ChannelDetail-kYtMmy6P.js} +1 -1
  94. package/web/dist/assets/{Channels-CAeGE1r7.js → Channels-BppR0Qc_.js} +2 -2
  95. package/web/dist/assets/{Chat-KpFWchPp.js → Chat-BLVREMCu.js} +2 -2
  96. package/web/dist/assets/{Dashboard-DkRwHNmr.js → Dashboard-XURc0f15.js} +1 -1
  97. package/web/dist/assets/{EmptyState-BLB33cKG.js → EmptyState-BvQA1o5K.js} +1 -1
  98. package/web/dist/assets/{EnvVarEditor-BchUNrmz.js → EnvVarEditor-DR-bSU0w.js} +1 -1
  99. package/web/dist/assets/{EventDefDetail-DnBwWWfT.js → EventDefDetail-DtkbGbQ0.js} +1 -1
  100. package/web/dist/assets/{Events-ByIzPIs2.js → Events-C_J4jvDh.js} +1 -1
  101. package/web/dist/assets/{Evolution-Vh9RKdma.js → Evolution-CEaSpRAm.js} +1 -1
  102. package/web/dist/assets/{ExtensionDetail-0CtJh5rF.js → ExtensionDetail-D5Qfq-W4.js} +1 -1
  103. package/web/dist/assets/{Extensions--O1ulwlC.js → Extensions-B_egkUP1.js} +1 -1
  104. package/web/dist/assets/{FeatureRequests-XhQbGg_q.js → FeatureRequests-D8WEYtoU.js} +1 -1
  105. package/web/dist/assets/{GoalDetail-DIOxf7ES.js → GoalDetail-DnMS_WWw.js} +1 -1
  106. package/web/dist/assets/{Goals-CZnHu9qC.js → Goals-BeKwpAss.js} +1 -1
  107. package/web/dist/assets/Logs-BfXBv-dV.js +1 -0
  108. package/web/dist/assets/{Memories-D-EAODUg.js → Memories-QRH7O8qP.js} +1 -1
  109. package/web/dist/assets/{Mistakes-wW78K3cP.js → Mistakes-mXU9PXft.js} +1 -1
  110. package/web/dist/assets/{NotFound-BsxIP-Xm.js → NotFound-DuH6sFz7.js} +1 -1
  111. package/web/dist/assets/{PageHeader-D8pqg_wk.js → PageHeader-acLQTYct.js} +1 -1
  112. package/web/dist/assets/Plugins-C8v4AsvM.js +1 -0
  113. package/web/dist/assets/{RoleDetail-CU3G9j_q.js → RoleDetail-Ct-k3uoK.js} +3 -3
  114. package/web/dist/assets/Roles-B8dQCKuS.js +1 -0
  115. package/web/dist/assets/{SectionHeader-DZo4QVWr.js → SectionHeader-NZWZgoOs.js} +1 -1
  116. package/web/dist/assets/Settings-CqtCBP6I.js +1 -0
  117. package/web/dist/assets/{Strategies-Bg4qlLei.js → Strategies-DFUWEKfU.js} +1 -1
  118. package/web/dist/assets/{Switch-WWPXnSOG.js → Switch-BcS5rOWb.js} +1 -1
  119. package/web/dist/assets/{Table-XjSmrOyn.js → Table-D2K039zr.js} +1 -1
  120. package/web/dist/assets/{Tabs-CSbcG_5T.js → Tabs-BwyLSH2c.js} +1 -1
  121. package/web/dist/assets/TaskDetail-BdhBhvKg.js +2 -0
  122. package/web/dist/assets/Work-D-t80Ekv.js +1 -0
  123. package/web/dist/assets/api-BRfbZQSW.js +1 -0
  124. package/web/dist/assets/{es2015-BgPT8VkR.js → es2015-BkFSNOYE.js} +1 -1
  125. package/web/dist/assets/index-DWU9AURw.css +2 -0
  126. package/web/dist/assets/index-PIFMZAPo.js +12 -0
  127. package/web/dist/assets/{useIsMobileLayout-DF2fEEM9.js → useIsMobileLayout-BogOiFTv.js} +1 -1
  128. package/web/dist/assets/{usePluginsWithUsage-CjU8Lkdn.js → usePluginsWithUsage-DE13JW16.js} +1 -1
  129. package/web/dist/assets/{vendor-icons-H7p0EuQJ.js → vendor-icons-Bc_e_XXa.js} +1 -1
  130. package/web/dist/assets/{vendor-react-C1yKjxEP.js → vendor-react-bQ_cvNuA.js} +1 -1
  131. package/web/dist/assets/{vendor-state-D0TNAbOY.js → vendor-state-BMVR_B0I.js} +1 -1
  132. package/web/dist/index.html +8 -8
  133. package/dist/App-Z2GJAMX3.js +0 -14
  134. package/dist/approval-handler-6NPN24UN.js +0 -1
  135. package/dist/audit-diagnostics-2MDM3IQT.js +0 -1
  136. package/dist/audit-manager-QG7CMBV2.js +0 -1
  137. package/dist/bree-engine-3QSLZF3W.js +0 -1
  138. package/dist/channels-S4AAOOTN.js +0 -1
  139. package/dist/channels-TYXSSI7D.js +0 -1
  140. package/dist/chat-tool-calls-2C7O4B2X.js +0 -1
  141. package/dist/chunk-32LOJEHE.js +0 -32
  142. package/dist/chunk-3UZIEE2D.js +0 -6
  143. package/dist/chunk-4234WJJD.js +0 -178
  144. package/dist/chunk-C2XFPUFV.js +0 -1
  145. package/dist/chunk-DRO3DG7X.js +0 -1
  146. package/dist/chunk-EWYXVBOG.js +0 -61
  147. package/dist/chunk-FCV2DPZQ.js +0 -1
  148. package/dist/chunk-FHESRUJY.js +0 -9
  149. package/dist/chunk-K2TZW4DU.js +0 -132
  150. package/dist/chunk-K4IE6DPX.js +0 -6
  151. package/dist/chunk-MNSZE3NV.js +0 -1
  152. package/dist/chunk-WVHN54MA.js +0 -14
  153. package/dist/chunk-Z6LHGA27.js +0 -1
  154. package/dist/config-HDAAV5FV.js +0 -1
  155. package/dist/config-VHWLMFIN.js +0 -1
  156. package/dist/db-HFBXO2O5.js +0 -1
  157. package/dist/dist-HCSYRPJU.js +0 -1
  158. package/dist/engine-J43ECCH7.js +0 -1
  159. package/dist/evolution-audit-BSGPFGFK.js +0 -1
  160. package/dist/execution-tools-HHUPWLCF.js +0 -1
  161. package/dist/learner-TQQZKRSB.js +0 -1
  162. package/dist/logger-PAMNFWI3.js +0 -1
  163. package/dist/memory-extractor-TUOOFST2.js +0 -1
  164. package/dist/memory-gc-MRO53MEY.js +0 -1
  165. package/dist/memory-service-23WVAW7T.js +0 -1
  166. package/dist/onnxruntime_binding-2BPLI7ZQ.node +0 -0
  167. package/dist/onnxruntime_binding-5J67DTMJ.node +0 -0
  168. package/dist/onnxruntime_binding-7ZZLEQ2F.node +0 -0
  169. package/dist/onnxruntime_binding-KDCXAPN5.node +0 -0
  170. package/dist/onnxruntime_binding-R73P2IQW.node +0 -0
  171. package/dist/outbound-gateway-VXODXSQR.js +0 -1
  172. package/dist/presets-KJV6SNNB.js +0 -1
  173. package/dist/reflection-job-EFFW3WOR.js +0 -23
  174. package/dist/role-presets-PHHL3OEN.js +0 -1
  175. package/dist/role-workspace-USY47ZPQ.js +0 -1
  176. package/dist/roles-3JXNHL7K.js +0 -1
  177. package/dist/server-bus-GEGVMSCA.js +0 -1
  178. package/dist/session-manager-PI3JEINK.js +0 -1
  179. package/dist/skill-registry-ROGU2WED.js +0 -1
  180. package/dist/target-resolution-PSSBM4LX.js +0 -1
  181. package/dist/template-dispatch-46TN534D.js +0 -1
  182. package/dist/trace-context-UR7DI5ME.js +0 -1
  183. package/web/dist/assets/Logs-DdeG3GiY.js +0 -1
  184. package/web/dist/assets/Plugins-DDUdX51_.js +0 -1
  185. package/web/dist/assets/Roles-BCoSzDBg.js +0 -1
  186. package/web/dist/assets/Settings-K3usfV-2.js +0 -1
  187. package/web/dist/assets/TaskDetail-C5roukcV.js +0 -2
  188. package/web/dist/assets/Work-DGTWSgtc.js +0 -1
  189. package/web/dist/assets/api-BkdixMz9.js +0 -1
  190. package/web/dist/assets/index-KNUbHDLy.css +0 -2
  191. package/web/dist/assets/index-iD-HOtIu.js +0 -12
@@ -1,8 +1,8 @@
1
- import{d as B,e as W,h as Y}from"./chunk-WBAPIPST.js";import{c as g,h as K}from"./chunk-BLCNUT53.js";import{c as H}from"./chunk-FCV2DPZQ.js";import{constants as te,cpSync as se,copyFileSync as y,existsSync as I,lstatSync as ie,mkdirSync as F,readdirSync as Ee,realpathSync as S,rmSync as j,statSync as C,unlinkSync as $}from"fs";import{dirname as q,extname as ne,isAbsolute as V,join as m,sep as R}from"path";function D(){return process.env.ADAM_TEST_DIR||B}function Te(){return m(D(),["work","flows"].join(""))}function k(){return m(D(),"template-executions")}function z(e){return m(k(),e,"artifacts")}function oe(e){let _=z(e);return F(_,{recursive:!0}),_}function ve(e,_,N){if(!V(e))throw new Error(`path must be absolute: ${e}`);let a=S(_),d=a.endsWith(R)?a:a+R;if(N){let l=S(e),u=l.endsWith(R)?l:l+R;if(u===d||u.startsWith(d))return;throw new Error(`path escapes workspace: ${e} (resolved=${l}, root=${a})`)}if(I(e))throw ie(e).isSymbolicLink()?new Error(`destination already exists and is a symlink: ${e}`):new Error(`destination already exists: ${e}`);let p=S(q(e)),O=p.endsWith(R)?p:p+R;if(!(O===d||O.startsWith(d)))throw new Error(`destination escapes workspace: ${e} (parent resolved=${p}, root=${a})`)}function Se(e){let _=oe(e.executionId),N=m(_,`${e.artifactId}.bin`);return y(e.sourcePath,N),{blobPath:N,sizeBytes:C(N).size}}function ge(e){$(e)}function Ce(e){if(!I(e.blobPath))throw new Error(`blob file missing on disk: ${e.blobPath}`);return y(e.blobPath,e.destPath,te.COPYFILE_EXCL),{sizeBytes:C(e.destPath).size}}function J(e){try{$(e)}catch(_){f.warn({err:_,blobPath:e},"Failed to remove TemplateExecution artifact blob")}}function De(e){try{j(m(k(),e),{recursive:!0,force:!0})}catch(_){f.warn({err:_,executionId:e},"Failed to remove TemplateExecution artifacts directory")}}function Ue(e,_,N){let a=z(e);if(!I(a))return 0;let d=0;for(let p of Ee(a)){if(ne(p)!==".bin")continue;let O=p.slice(0,-4);if(_.has(O))continue;let l=m(a,p),u=C(l);Date.now()-u.mtimeMs<N||(J(l),d++)}return d}async function he(e,_){let{deleteArtifactsByExecutionAndStep:N}=await import("./artifacts-S2KD6W76.js"),a=N(e,_),d=0;for(let p of a)p.blobPath&&I(p.blobPath)&&(J(p.blobPath),d++);return f.debug({executionId:e,stepId:_,deletedRows:a.length,deletedFiles:d},"cleanSlatePriorAttempt: done"),{deletedRows:a.length,deletedFiles:d}}function _e(e,_){let N=D();if(e==="template"){if(!_)throw new Error("template kind requires executionId");return m(N,"template-executions",_,"artifacts")}return m(N,"artifacts",e)}function xe(e){let _=_e(e.kind,e.executionId);F(_,{recursive:!0});let N=m(_,`${e.artifactId}.bin`);return y(e.sourcePath,N),{blobPath:N,sizeBytes:C(N).size}}function ye(e){try{if(!V(e))return!1;let _=S(e),N=S(D()),a=N.endsWith(R)?N:N+R,d=_.endsWith(R)?_:_+R;return d===a||d.startsWith(a)}catch{return!1}}function Q(e){let _=Te();if(!I(_)||!e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='template_execution_artifacts'").get())return;let a=e.prepare(`
1
+ import{d as B,e as W,h as Y}from"./chunk-VO24C673.js";import{c as g,h as K}from"./chunk-EZLBMUQD.js";import{b as H}from"./chunk-5PELJRUQ.js";import{constants as te,cpSync as se,copyFileSync as y,existsSync as I,lstatSync as ie,mkdirSync as F,readdirSync as Ee,realpathSync as S,rmSync as $,statSync as C,unlinkSync as j}from"fs";import{dirname as q,extname as ne,isAbsolute as V,join as m,sep as R}from"path";function U(){return process.env.ADAM_TEST_DIR||B}function Te(){return m(U(),["work","flows"].join(""))}function k(){return m(U(),"template-executions")}function z(e){return m(k(),e,"artifacts")}function oe(e){let _=z(e);return F(_,{recursive:!0}),_}function ve(e,_,N){if(!V(e))throw new Error(`path must be absolute: ${e}`);let a=S(_),d=a.endsWith(R)?a:a+R;if(N){let l=S(e),u=l.endsWith(R)?l:l+R;if(u===d||u.startsWith(d))return;throw new Error(`path escapes workspace: ${e} (resolved=${l}, root=${a})`)}if(I(e))throw ie(e).isSymbolicLink()?new Error(`destination already exists and is a symlink: ${e}`):new Error(`destination already exists: ${e}`);let p=S(q(e)),O=p.endsWith(R)?p:p+R;if(!(O===d||O.startsWith(d)))throw new Error(`destination escapes workspace: ${e} (parent resolved=${p}, root=${a})`)}function Se(e){let _=oe(e.executionId),N=m(_,`${e.artifactId}.bin`);return y(e.sourcePath,N),{blobPath:N,sizeBytes:C(N).size}}function ge(e){j(e)}function Ce(e){if(!I(e.blobPath))throw new Error(`blob file missing on disk: ${e.blobPath}`);return y(e.blobPath,e.destPath,te.COPYFILE_EXCL),{sizeBytes:C(e.destPath).size}}function J(e){try{j(e)}catch(_){X.warn({err:_,blobPath:e},"Failed to remove TemplateExecution artifact blob")}}function Ue(e){try{$(m(k(),e),{recursive:!0,force:!0})}catch(_){X.warn({err:_,executionId:e},"Failed to remove TemplateExecution artifacts directory")}}function De(e,_,N){let a=z(e);if(!I(a))return 0;let d=0;for(let p of Ee(a)){if(ne(p)!==".bin")continue;let O=p.slice(0,-4);if(_.has(O))continue;let l=m(a,p),u=C(l);Date.now()-u.mtimeMs<N||(J(l),d++)}return d}async function he(e,_){let{deleteArtifactsByExecutionAndStep:N}=await import("./artifacts-DMY2MI2F.js"),a=N(e,_),d=0;for(let p of a)p.blobPath&&I(p.blobPath)&&(J(p.blobPath),d++);return X.debug({executionId:e,stepId:_,deletedRows:a.length,deletedFiles:d},"cleanSlatePriorAttempt: done"),{deletedRows:a.length,deletedFiles:d}}function _e(e,_){let N=U();if(e==="template"){if(!_)throw new Error("template kind requires executionId");return m(N,"template-executions",_,"artifacts")}return m(N,"artifacts",e)}function xe(e){let _=_e(e.kind,e.executionId);F(_,{recursive:!0});let N=m(_,`${e.artifactId}.bin`);return y(e.sourcePath,N),{blobPath:N,sizeBytes:C(N).size}}function ye(e){try{if(!V(e))return!1;let _=S(e),N=S(U()),a=N.endsWith(R)?N:N+R,d=_.endsWith(R)?_:_+R;return d===a||d.startsWith(a)}catch{return!1}}function Q(e){let _=Te();if(!I(_)||!e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='template_execution_artifacts'").get())return;let a=e.prepare(`
2
2
  SELECT id, execution_id, blob_path
3
3
  FROM template_execution_artifacts
4
4
  WHERE blob_path IS NOT NULL
5
- `).all(),d=_.endsWith(R)?_:_+R,p=k(),O=new Set;for(let l of a){if(!l.blob_path.startsWith(d))continue;let u=m(_,l.execution_id),X=m(p,l.execution_id),x=m(p,l.blob_path.slice(d.length));try{if(I(u)&&!I(X)&&(F(q(X),{recursive:!0}),se(u,X,{recursive:!0,dereference:!1,force:!1})),!I(x)){f.warn({artifactId:l.id,blobPath:l.blob_path},"TemplateExecution artifact migration skipped missing copied blob");continue}e.prepare("UPDATE template_execution_artifacts SET blob_path = ? WHERE id = ?").run(x,l.id),O.add(l.execution_id)}catch(M){f.warn({err:M,artifactId:l.id,executionId:l.execution_id},"TemplateExecution artifact migration failed")}}for(let l of O){let u=m(p,l);if(I(u))try{j(m(_,l),{recursive:!0,force:!0})}catch(X){f.warn({err:X,executionId:l},"Failed to remove migrated legacy artifact directory")}}}var f,Z=H(()=>{"use strict";Y();K();f=g("watchdog")});import ae from"better-sqlite3";import{existsSync as ce,mkdirSync as le}from"fs";import{dirname as Ne}from"path";function me(e){e.exec(`
5
+ `).all(),d=_.endsWith(R)?_:_+R,p=k(),O=new Set;for(let l of a){if(!l.blob_path.startsWith(d))continue;let u=m(_,l.execution_id),f=m(p,l.execution_id),x=m(p,l.blob_path.slice(d.length));try{if(I(u)&&!I(f)&&(F(q(f),{recursive:!0}),se(u,f,{recursive:!0,dereference:!1,force:!1})),!I(x)){X.warn({artifactId:l.id,blobPath:l.blob_path},"TemplateExecution artifact migration skipped missing copied blob");continue}e.prepare("UPDATE template_execution_artifacts SET blob_path = ? WHERE id = ?").run(x,l.id),O.add(l.execution_id)}catch(M){X.warn({err:M,artifactId:l.id,executionId:l.execution_id},"TemplateExecution artifact migration failed")}}for(let l of O){let u=m(p,l);if(I(u))try{$(m(_,l),{recursive:!0,force:!0})}catch(f){X.warn({err:f,executionId:l},"Failed to remove migrated legacy artifact directory")}}}var X,Z=H(()=>{"use strict";Y();K();X=g("watchdog")});import ae from"better-sqlite3";import{existsSync as ce,mkdirSync as le}from"fs";import{dirname as Ne}from"path";function me(e){e.exec(`
6
6
  CREATE TABLE IF NOT EXISTS server_state (
7
7
  id INTEGER PRIMARY KEY CHECK(id = 1),
8
8
  sdk_session_id TEXT,
@@ -638,12 +638,12 @@ import{d as B,e as W,h as Y}from"./chunk-WBAPIPST.js";import{c as g,h as K}from"
638
638
  ON artifact_access_log (execution_id, timestamp);
639
639
  CREATE INDEX IF NOT EXISTS idx_artifact_access_log_role
640
640
  ON artifact_access_log (role_id, timestamp);
641
- `;e.exec(s),e.exec(t),e.prepare("PRAGMA table_info(tasks)").all().some(i=>i.name==="step_id")||e.prepare("ALTER TABLE tasks ADD COLUMN step_id TEXT").run(),e.exec("UPDATE server_state SET schema_version = 26 WHERE id = 1")}e.prepare("PRAGMA table_info(roles)").all().some(r=>r.name==="os_capabilities")||e.prepare("ALTER TABLE roles ADD COLUMN os_capabilities TEXT DEFAULT NULL").run(),(e.prepare("SELECT schema_version FROM server_state WHERE id = 1").get()?.schema_version??0)<27&&e.prepare("UPDATE server_state SET schema_version = 27 WHERE id = 1").run();{let s=e.prepare("PRAGMA table_info(manager_decisions)").all();s.some(r=>r.name==="requirements_json")||e.prepare("ALTER TABLE manager_decisions ADD COLUMN requirements_json TEXT").run(),s.some(r=>r.name==="fit_score")||e.prepare("ALTER TABLE manager_decisions ADD COLUMN fit_score REAL").run(),s.some(r=>r.name==="candidates_json")||e.prepare("ALTER TABLE manager_decisions ADD COLUMN candidates_json TEXT").run(),s.some(r=>r.name==="tie_break_reason")||e.prepare("ALTER TABLE manager_decisions ADD COLUMN tie_break_reason TEXT").run(),(e.prepare("SELECT schema_version FROM server_state WHERE id = 1").get()?.schema_version??0)<28&&e.prepare("UPDATE server_state SET schema_version = 28 WHERE id = 1").run()}{let s=[[/\brm -rf\b/,["rm -rf *"]],[/^git push/,["git push*"]],[/^git reset/,["git reset*"]],[/\bcurl.*POST\b/i,["curl * -X POST*","curl * --request POST*"]]],t=e.prepare("SELECT key, value FROM config WHERE key = 'defaults.approvalRequired'").all();for(let r of t)try{let i=JSON.parse(r.value),E=[];for(let T of i){let c=!1;for(let[L,o]of s)if(L.test(T)){E.push(...o),c=!0,U.info({from:T,to:o},"Config: migrated approvalRequired pattern from regex to glob");break}c||(/[.+?^${}()|[\]\\]/.test(T)&&U.warn({pattern:T},"Config: approvalRequired pattern contains regex metacharacters that won't work with glob matching; update to glob syntax (use * for wildcards)"),E.push(T))}let n=[...new Set(E)];e.prepare("UPDATE config SET value = ?, updated_at = ? WHERE key = ?").run(JSON.stringify(n),Date.now(),r.key)}catch{}}if((e.prepare("SELECT schema_version FROM server_state WHERE id = 1").get()?.schema_version??0)<31){let t=e.prepare("SELECT count(*) AS n FROM task_templates WHERE trigger_type IN ('event', 'task_complete')").get();t.n>0&&U.info({legacyCount:t.n},"normalizing legacy template trigger types"),e.prepare(`
641
+ `;e.exec(s),e.exec(t),e.prepare("PRAGMA table_info(tasks)").all().some(i=>i.name==="step_id")||e.prepare("ALTER TABLE tasks ADD COLUMN step_id TEXT").run(),e.exec("UPDATE server_state SET schema_version = 26 WHERE id = 1")}e.prepare("PRAGMA table_info(roles)").all().some(r=>r.name==="os_capabilities")||e.prepare("ALTER TABLE roles ADD COLUMN os_capabilities TEXT DEFAULT NULL").run(),(e.prepare("SELECT schema_version FROM server_state WHERE id = 1").get()?.schema_version??0)<27&&e.prepare("UPDATE server_state SET schema_version = 27 WHERE id = 1").run();{let s=e.prepare("PRAGMA table_info(manager_decisions)").all();s.some(r=>r.name==="requirements_json")||e.prepare("ALTER TABLE manager_decisions ADD COLUMN requirements_json TEXT").run(),s.some(r=>r.name==="fit_score")||e.prepare("ALTER TABLE manager_decisions ADD COLUMN fit_score REAL").run(),s.some(r=>r.name==="candidates_json")||e.prepare("ALTER TABLE manager_decisions ADD COLUMN candidates_json TEXT").run(),s.some(r=>r.name==="tie_break_reason")||e.prepare("ALTER TABLE manager_decisions ADD COLUMN tie_break_reason TEXT").run(),(e.prepare("SELECT schema_version FROM server_state WHERE id = 1").get()?.schema_version??0)<28&&e.prepare("UPDATE server_state SET schema_version = 28 WHERE id = 1").run()}{let s=[[/\brm -rf\b/,["rm -rf *"]],[/^git push/,["git push*"]],[/^git reset/,["git reset*"]],[/\bcurl.*POST\b/i,["curl * -X POST*","curl * --request POST*"]]],t=e.prepare("SELECT key, value FROM config WHERE key = 'defaults.approvalRequired'").all();for(let r of t)try{let i=JSON.parse(r.value),E=[];for(let T of i){let c=!1;for(let[L,o]of s)if(L.test(T)){E.push(...o),c=!0,D.info({from:T,to:o},"Config: migrated approvalRequired pattern from regex to glob");break}c||(/[.+?^${}()|[\]\\]/.test(T)&&D.warn({pattern:T},"Config: approvalRequired pattern contains regex metacharacters that won't work with glob matching; update to glob syntax (use * for wildcards)"),E.push(T))}let n=[...new Set(E)];e.prepare("UPDATE config SET value = ?, updated_at = ? WHERE key = ?").run(JSON.stringify(n),Date.now(),r.key)}catch{}}if((e.prepare("SELECT schema_version FROM server_state WHERE id = 1").get()?.schema_version??0)<31){let t=e.prepare("SELECT count(*) AS n FROM task_templates WHERE trigger_type IN ('event', 'task_complete')").get();t.n>0&&D.info({legacyCount:t.n},"normalizing legacy template trigger types"),e.prepare(`
642
642
  UPDATE task_templates
643
643
  SET trigger_type='template_complete',
644
644
  trigger_event=REPLACE(trigger_event, ?, 'template_complete:')
645
645
  WHERE trigger_type='event' AND trigger_event LIKE ?
646
- `).run(h,`${h}%`),e.prepare("UPDATE task_templates SET trigger_type='template_complete' WHERE trigger_type='event'").run(),e.prepare("UPDATE task_templates SET trigger_type='manual' WHERE trigger_type='task_complete'").run();let r=e.prepare("SELECT count(*) AS n FROM task_templates WHERE trigger_type IN ('event', 'task_complete')").get();r.n>0&&U.warn({orphan:r.n},"migration left orphan legacy trigger_type rows; manual inspection required"),e.prepare("UPDATE server_state SET schema_version = 31 WHERE id = 1").run()}if((e.prepare("SELECT schema_version FROM server_state WHERE id = 1").get()?.schema_version??0)<32&&(e.exec(`
646
+ `).run(h,`${h}%`),e.prepare("UPDATE task_templates SET trigger_type='template_complete' WHERE trigger_type='event'").run(),e.prepare("UPDATE task_templates SET trigger_type='manual' WHERE trigger_type='task_complete'").run();let r=e.prepare("SELECT count(*) AS n FROM task_templates WHERE trigger_type IN ('event', 'task_complete')").get();r.n>0&&D.warn({orphan:r.n},"migration left orphan legacy trigger_type rows; manual inspection required"),e.prepare("UPDATE server_state SET schema_version = 31 WHERE id = 1").run()}if((e.prepare("SELECT schema_version FROM server_state WHERE id = 1").get()?.schema_version??0)<32&&(e.exec(`
647
647
  CREATE TABLE IF NOT EXISTS event_defs (
648
648
  id TEXT PRIMARY KEY, name TEXT NOT NULL, source_type TEXT NOT NULL,
649
649
  source_config TEXT NOT NULL, enabled INTEGER NOT NULL DEFAULT 1,
@@ -959,7 +959,13 @@ import{d as B,e as W,h as Y}from"./chunk-WBAPIPST.js";import{c as g,h as K}from"
959
959
  superseded_by TEXT,
960
960
  created_at INTEGER NOT NULL,
961
961
  last_used_at INTEGER NOT NULL,
962
- last_validated_at INTEGER NOT NULL
962
+ last_validated_at INTEGER NOT NULL,
963
+ scope_key TEXT,
964
+ status TEXT NOT NULL DEFAULT 'candidate' CHECK(status IN ('core','challenger','candidate')),
965
+ trial_count INTEGER NOT NULL DEFAULT 0,
966
+ delta_sum REAL NOT NULL DEFAULT 0,
967
+ expires_at INTEGER,
968
+ success_ema REAL
963
969
  )
964
970
  `),e.exec("CREATE INDEX idx_beliefs_role_id ON beliefs(role_id)"),e.exec("CREATE INDEX idx_beliefs_role_anti ON beliefs(role_id, is_anti)"),e.exec("CREATE INDEX idx_beliefs_last_used ON beliefs(last_used_at)"),e.exec(`
965
971
  CREATE VIRTUAL TABLE beliefs_fts USING fts5(content, content='beliefs', content_rowid='rowid')
@@ -1070,4 +1076,84 @@ import{d as B,e as W,h as Y}from"./chunk-WBAPIPST.js";import{c as g,h as K}from"
1070
1076
  SELECT
1071
1077
  id, step_task_id, execution_id, role_id, contract_field, layer, severity, message, metadata_json, created_at
1072
1078
  FROM audit_violations
1073
- `).run(),e.prepare("DROP TABLE audit_violations").run(),e.prepare("ALTER TABLE audit_violations_new RENAME TO audit_violations").run(),e.prepare("CREATE INDEX IF NOT EXISTS idx_audit_violations_role ON audit_violations(role_id, created_at DESC)").run(),e.prepare("CREATE INDEX IF NOT EXISTS idx_audit_violations_task ON audit_violations(step_task_id)").run(),e.prepare("CREATE INDEX IF NOT EXISTS idx_audit_violations_execution ON audit_violations(execution_id, created_at DESC)").run())),e.prepare("UPDATE server_state SET schema_version = 75 WHERE id = 1").run(),console.info("[db migration v75] audit_violations.layer CHECK extended to include 'C' for Phase 1 customAssertions")}catch(t){throw new Error(`Schema v75 migration failed: ${t}`)}try{let s=e.prepare("SELECT id, name, steps, role_preference FROM task_templates WHERE enabled = 1").all(),t=0;for(let r of s){if(r.role_preference)continue;let i;try{i=JSON.parse(r.steps)}catch{continue}if(!Array.isArray(i))continue;let E=!1;for(let n of i){let T=typeof n.roleId=="string"&&n.roleId.length>0,c=n.autoSelectRole===!0;!T&&!c&&(n.autoSelectRole=!0,n.requirements===void 0&&(n.requirements={}),E=!0)}E&&(e.prepare("UPDATE task_templates SET steps = ?, updated_at = ? WHERE id = ?").run(JSON.stringify(i),Date.now(),r.id),t+=1,console.info(`[db migration] template auto-repaired: id=${r.id} name=${r.name}`))}t>0&&console.info(`[db migration] auto-repaired ${t} enabled template(s) with missing role config`)}catch(s){console.error("[db migration] template auto-repair failed:",s)}}function Be(){if(A)return A;let e=process.env.ADAM_DB_PATH||W,_=Ne(e);return ce(_)||le(_,{recursive:!0}),A=new ae(e),A.pragma("journal_mode = WAL"),A.pragma("foreign_keys = ON"),A.pragma("trusted_schema = ON"),me(A),A}function We(){A&&(A.close(),A=null)}var U,re,h,w,b,ee,de,pe,A,Le=H(()=>{Y();K();Z();U=g("store"),re=["work","flow_complete"].join(""),h=`${re}:`,w=["work","flow_executions"].join(""),b=["work","flow_artifacts"].join(""),ee=["idx","work","flow_executions_event_id"].join("_"),de=["idx","work","flow_artifacts_execution"].join("_"),pe=["idx","work","flow_artifacts_step"].join("_"),A=null});export{oe as a,ve as b,Se as c,ge as d,Ce as e,J as f,De as g,Ue as h,he as i,xe as j,ye as k,Z as l,me as m,Be as n,We as o,Le as p};
1079
+ `).run(),e.prepare("DROP TABLE audit_violations").run(),e.prepare("ALTER TABLE audit_violations_new RENAME TO audit_violations").run(),e.prepare("CREATE INDEX IF NOT EXISTS idx_audit_violations_role ON audit_violations(role_id, created_at DESC)").run(),e.prepare("CREATE INDEX IF NOT EXISTS idx_audit_violations_task ON audit_violations(step_task_id)").run(),e.prepare("CREATE INDEX IF NOT EXISTS idx_audit_violations_execution ON audit_violations(execution_id, created_at DESC)").run())),e.prepare("UPDATE server_state SET schema_version = 75 WHERE id = 1").run(),console.info("[db migration v75] audit_violations.layer CHECK extended to include 'C' for Phase 1 customAssertions")}catch(t){throw new Error(`Schema v75 migration failed: ${t}`)}if((e.prepare("SELECT schema_version FROM server_state WHERE id = 1").get()?.schema_version??0)<76)try{e.prepare("SELECT count(*) as cnt FROM sqlite_master WHERE type='table' AND name='task_files'").get().cnt>0||(e.prepare(`
1080
+ CREATE TABLE task_files (
1081
+ id TEXT PRIMARY KEY,
1082
+ task_id TEXT NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,
1083
+ path TEXT NOT NULL,
1084
+ op TEXT NOT NULL CHECK(op IN ('added','modified','deleted')),
1085
+ mtime_ns INTEGER,
1086
+ size_bytes INTEGER,
1087
+ inode INTEGER,
1088
+ created_at INTEGER NOT NULL
1089
+ )
1090
+ `).run(),e.prepare("CREATE INDEX idx_task_files_task_id ON task_files(task_id)").run(),e.prepare("CREATE INDEX idx_task_files_path ON task_files(path)").run()),e.prepare("UPDATE server_state SET schema_version = 76 WHERE id = 1").run(),console.info("[db migration v76] task_files table created for workspace snapshot inventory")}catch(t){throw new Error(`Schema v76 migration failed: ${t}`)}if((e.prepare("SELECT schema_version FROM server_state WHERE id = 1").get()?.schema_version??0)<77)try{e.prepare("SELECT count(*) as cnt FROM sqlite_master WHERE type='table' AND name='editor_scores'").get().cnt>0||(e.prepare(`
1091
+ CREATE TABLE editor_scores (
1092
+ id TEXT PRIMARY KEY,
1093
+ template_run_id TEXT NOT NULL,
1094
+ candidate_id TEXT NOT NULL,
1095
+ scores TEXT NOT NULL,
1096
+ selected INTEGER NOT NULL DEFAULT 0,
1097
+ editor_notes TEXT,
1098
+ brief_diff TEXT,
1099
+ created_at INTEGER NOT NULL
1100
+ )
1101
+ `).run(),e.prepare("CREATE INDEX idx_editor_scores_template_run_id ON editor_scores(template_run_id)").run(),e.prepare("CREATE INDEX idx_editor_scores_created_at ON editor_scores(created_at)").run()),e.prepare("UPDATE server_state SET schema_version = 77 WHERE id = 1").run(),console.info("[db migration v77] editor_scores table created for podcast Phase 2 retrospective")}catch(t){throw new Error(`Schema v77 migration failed: ${t}`)}if((e.prepare("SELECT schema_version FROM server_state WHERE id = 1").get()?.schema_version??0)<78)try{e.prepare("PRAGMA table_info(artifacts)").all().some(r=>r.name==="artifact_role")||e.prepare("ALTER TABLE artifacts ADD COLUMN artifact_role TEXT").run(),e.prepare("UPDATE server_state SET schema_version = 78 WHERE id = 1").run(),console.info("[db migration v78] artifacts.artifact_role column added for expectedArtifacts contract")}catch(t){throw new Error(`Schema v78 migration failed: ${t}`)}if((e.prepare("SELECT schema_version FROM server_state WHERE id = 1").get()?.schema_version??0)<79)try{let t=e.prepare("PRAGMA table_info(beliefs)").all();t.some(E=>E.name==="scope_key")||e.prepare("ALTER TABLE beliefs ADD COLUMN scope_key TEXT").run(),t.some(E=>E.name==="status")||e.prepare("ALTER TABLE beliefs ADD COLUMN status TEXT NOT NULL DEFAULT 'candidate'").run(),t.some(E=>E.name==="trial_count")||e.prepare("ALTER TABLE beliefs ADD COLUMN trial_count INTEGER NOT NULL DEFAULT 0").run(),t.some(E=>E.name==="delta_sum")||e.prepare("ALTER TABLE beliefs ADD COLUMN delta_sum REAL NOT NULL DEFAULT 0").run(),t.some(E=>E.name==="expires_at")||e.prepare("ALTER TABLE beliefs ADD COLUMN expires_at INTEGER").run(),t.some(E=>E.name==="success_ema")||e.prepare("ALTER TABLE beliefs ADD COLUMN success_ema REAL").run(),e.exec(`
1102
+ CREATE TABLE IF NOT EXISTS belief_scopes (
1103
+ scope_key TEXT PRIMARY KEY,
1104
+ role_id TEXT NOT NULL,
1105
+ step_kind TEXT NOT NULL,
1106
+ score_ema REAL,
1107
+ score_var_ema REAL NOT NULL DEFAULT 0,
1108
+ sample_count INTEGER NOT NULL DEFAULT 0,
1109
+ current_challenger_id TEXT,
1110
+ updated_at INTEGER NOT NULL
1111
+ )
1112
+ `),e.exec("CREATE INDEX IF NOT EXISTS idx_beliefs_scope_status ON beliefs(scope_key, status)"),e.exec("CREATE INDEX IF NOT EXISTS idx_beliefs_expires ON beliefs(expires_at)");let r=14*86400*1e3,i=Date.now()+r;e.prepare("UPDATE beliefs SET scope_key = role_id || '::pool', status = 'candidate', expires_at = ? WHERE scope_key IS NULL").run(i),e.prepare("UPDATE server_state SET schema_version = 79 WHERE id = 1").run(),console.info("[db migration v79] beliefs scope/status columns + belief_scopes table created")}catch(t){throw new Error(`Schema v79 migration failed: ${t}`)}if((e.prepare("SELECT schema_version FROM server_state WHERE id = 1").get()?.schema_version??0)<80)try{e.exec(`
1113
+ CREATE TABLE IF NOT EXISTS user_feedback (
1114
+ id TEXT PRIMARY KEY,
1115
+ execution_id TEXT NOT NULL,
1116
+ step_id TEXT,
1117
+ rating TEXT NOT NULL CHECK(rating IN ('good','bad')),
1118
+ created_at INTEGER NOT NULL
1119
+ )
1120
+ `),e.prepare("UPDATE server_state SET schema_version = 80 WHERE id = 1").run(),console.info("[db migration v80] user_feedback table created")}catch(t){throw new Error(`Schema v80 migration failed: ${t}`)}if((e.prepare("SELECT schema_version FROM server_state WHERE id = 1").get()?.schema_version??0)<81)try{e.prepare("PRAGMA table_info(roles)").all().some(r=>r.name==="task_seq")||e.exec("ALTER TABLE roles ADD COLUMN task_seq INTEGER NOT NULL DEFAULT 0"),e.prepare("DROP TRIGGER IF EXISTS beliefs_fts_insert").run(),e.prepare("DROP TRIGGER IF EXISTS beliefs_fts_delete").run(),e.prepare("DROP TRIGGER IF EXISTS beliefs_fts_update").run(),e.prepare("DROP TABLE IF EXISTS beliefs_fts").run(),e.exec(`
1121
+ CREATE TABLE beliefs_new (
1122
+ id TEXT PRIMARY KEY,
1123
+ role_id TEXT NOT NULL,
1124
+ content TEXT NOT NULL,
1125
+ is_anti INTEGER NOT NULL DEFAULT 0 CHECK(is_anti IN (0, 1)),
1126
+ evidence_obs_ids TEXT,
1127
+ embedding BLOB,
1128
+ superseded_by TEXT,
1129
+ created_at INTEGER NOT NULL,
1130
+ last_used_at INTEGER NOT NULL,
1131
+ last_validated_at INTEGER NOT NULL,
1132
+ scope_key TEXT,
1133
+ status TEXT NOT NULL DEFAULT 'active' CHECK(status IN ('active','archived')),
1134
+ success_ema REAL,
1135
+ inject_count INTEGER NOT NULL DEFAULT 0
1136
+ )
1137
+ `),e.exec(`
1138
+ INSERT INTO beliefs_new (id, role_id, content, is_anti, evidence_obs_ids, embedding, superseded_by,
1139
+ created_at, last_used_at, last_validated_at, scope_key, status, success_ema, inject_count)
1140
+ SELECT id, role_id, content, is_anti, evidence_obs_ids, embedding, superseded_by,
1141
+ created_at, 0, last_validated_at, scope_key, 'active',
1142
+ COALESCE(success_ema, 0.5), 0
1143
+ FROM beliefs
1144
+ `),e.exec("DROP TABLE beliefs"),e.exec("ALTER TABLE beliefs_new RENAME TO beliefs"),e.exec("CREATE INDEX IF NOT EXISTS idx_beliefs_role ON beliefs(role_id)"),e.exec("CREATE INDEX IF NOT EXISTS idx_beliefs_last_used ON beliefs(last_used_at)"),e.exec("CREATE INDEX IF NOT EXISTS idx_beliefs_status ON beliefs(status)"),e.exec("CREATE INDEX IF NOT EXISTS idx_beliefs_scope ON beliefs(scope_key)"),e.exec(`
1145
+ CREATE VIRTUAL TABLE beliefs_fts USING fts5(content, content='beliefs', content_rowid='rowid')
1146
+ `),e.exec(`
1147
+ CREATE TRIGGER beliefs_fts_insert AFTER INSERT ON beliefs BEGIN
1148
+ INSERT INTO beliefs_fts(rowid, content) VALUES (new.rowid, new.content);
1149
+ END
1150
+ `),e.exec(`
1151
+ CREATE TRIGGER beliefs_fts_delete AFTER DELETE ON beliefs BEGIN
1152
+ INSERT INTO beliefs_fts(beliefs_fts, rowid, content) VALUES ('delete', old.rowid, old.content);
1153
+ END
1154
+ `),e.exec(`
1155
+ CREATE TRIGGER beliefs_fts_update AFTER UPDATE ON beliefs BEGIN
1156
+ INSERT INTO beliefs_fts(beliefs_fts, rowid, content) VALUES ('delete', old.rowid, old.content);
1157
+ INSERT INTO beliefs_fts(rowid, content) VALUES (new.rowid, new.content);
1158
+ END
1159
+ `),e.exec("INSERT INTO beliefs_fts(rowid, content) SELECT rowid, content FROM beliefs"),e.exec("DROP TABLE IF EXISTS belief_scopes"),e.prepare("UPDATE server_state SET schema_version = 81 WHERE id = 1").run(),console.info("[db migration v81] belief evolution v3: three-state collapse + task_seq clock + inject_count (DP-001) + FTS5 rebuild")}catch(t){throw new Error(`Schema v81 migration failed: ${t instanceof Error?t.message:String(t)}`)}if((e.prepare("SELECT schema_version FROM server_state WHERE id = 1").get()?.schema_version??0)<82)try{let t=e.prepare("UPDATE beliefs SET scope_key = NULL WHERE scope_key LIKE '%::pool'").run(),r=e.prepare("UPDATE beliefs SET last_used_at = COALESCE((SELECT task_seq FROM roles WHERE roles.id = beliefs.role_id), 0) WHERE last_used_at > 1000000000").run();e.prepare("UPDATE server_state SET schema_version = 82 WHERE id = 1").run(),console.info(`[db migration v82] belief data normalization: ${t.changes} ::pool rows nulled, ${r.changes} ms-timestamp last_used_at clamped`)}catch(t){throw new Error(`Schema v82 migration failed: ${t instanceof Error?t.message:String(t)}`)}try{let s=e.prepare("SELECT id, name, steps, role_preference FROM task_templates WHERE enabled = 1").all(),t=0;for(let r of s){if(r.role_preference)continue;let i;try{i=JSON.parse(r.steps)}catch{continue}if(!Array.isArray(i))continue;let E=!1;for(let n of i){let T=typeof n.roleId=="string"&&n.roleId.length>0,c=n.autoSelectRole===!0;!T&&!c&&(n.autoSelectRole=!0,n.requirements===void 0&&(n.requirements={}),E=!0)}E&&(e.prepare("UPDATE task_templates SET steps = ?, updated_at = ? WHERE id = ?").run(JSON.stringify(i),Date.now(),r.id),t+=1,console.info(`[db migration] template auto-repaired: id=${r.id} name=${r.name}`))}t>0&&console.info(`[db migration] auto-repaired ${t} enabled template(s) with missing role config`)}catch(s){console.error("[db migration] template auto-repair failed:",s)}}function Be(){if(A)return A;let e=process.env.ADAM_DB_PATH||W,_=Ne(e);return ce(_)||le(_,{recursive:!0}),A=new ae(e),A.pragma("journal_mode = WAL"),A.pragma("foreign_keys = ON"),A.pragma("trusted_schema = ON"),me(A),A}function We(){A&&(A.close(),A=null)}var D,re,h,w,b,ee,de,pe,A,Le=H(()=>{Y();K();Z();D=g("store"),re=["work","flow_complete"].join(""),h=`${re}:`,w=["work","flow_executions"].join(""),b=["work","flow_artifacts"].join(""),ee=["idx","work","flow_executions_event_id"].join("_"),de=["idx","work","flow_artifacts_execution"].join("_"),pe=["idx","work","flow_artifacts_step"].join("_"),A=null});export{oe as a,ve as b,Se as c,ge as d,Ce as e,J as f,Ue as g,De as h,he as i,xe as j,ye as k,Z as l,me as m,Be as n,We as o,Le as p};
@@ -1 +1 @@
1
- import{c as s}from"./chunk-FCV2DPZQ.js";import{join as o}from"path";import{homedir as r}from"os";var c,e,A,t,p,E,a,S,D,P,T=s(()=>{"use strict";c=["Read","Write","Edit","Bash","Grep","Glob","WebSearch","WebFetch","LSP","NotebookEdit","Agent"],e=["~/.ssh","~/.aws","~/.gnupg","/etc/shadow"],A=e,t=o(r(),".adam"),p=o(t,"adam.db"),E=o(t,"adam.config.yaml"),a=o(t,".env"),S=o(t,"CLAUDE.md"),D=o(t,"logs"),P=10*1024});export{c as a,e as b,A as c,t as d,p as e,E as f,a as g,T as h};
1
+ import{b as s}from"./chunk-5PELJRUQ.js";import{join as o}from"path";import{homedir as r}from"os";var c,e,A,t,p,E,a,S,D,P,T=s(()=>{"use strict";c=["Read","Write","Edit","Bash","Grep","Glob","WebSearch","WebFetch","LSP","NotebookEdit","Agent"],e=["~/.ssh","~/.aws","~/.gnupg","/etc/shadow"],A=e,t=o(r(),".adam"),p=o(t,"adam.db"),E=o(t,"adam.config.yaml"),a=o(t,".env"),S=o(t,"CLAUDE.md"),D=o(t,"logs"),P=10*1024});export{c as a,e as b,A as c,t as d,p as e,E as f,a as g,T as h};
@@ -1,4 +1,4 @@
1
- import{b as E,c as A,i as R}from"./chunk-MNSZE3NV.js";import{e as C,i as T}from"./chunk-3UR2PN5N.js";import{F as _,I}from"./chunk-MTQI6B7T.js";import{n as w,p as F}from"./chunk-QL2ZOLMC.js";I();T();import{existsSync as W,readdirSync as L,readFileSync as j}from"fs";import{join as P}from"path";function v(l){let s=l.split(`
1
+ import{b as E,c as A,i as R}from"./chunk-WDSCTXT7.js";import{e as C,i as T}from"./chunk-3VUEB67V.js";import{G as _,L as I}from"./chunk-P76VP2UH.js";import{n as w,p as F}from"./chunk-VARIYH6K.js";I();T();import{existsSync as W,readdirSync as L,readFileSync as j}from"fs";import{join as P}from"path";function v(l){let s=l.split(`
2
2
  `),n=s[0]??"";return n.startsWith("```yaml")||n.startsWith("```")?s.slice(1).join(`
3
3
  `):l}function H(l){let s={},o=v(l).split(`
4
4
  `);for(let t of o){let u=t.match(/^([a-zA-Z_][a-zA-Z0-9_]*):\s*(.*)$/);if(u)s[u[1].toLowerCase()]=u[2].trim();else if(t.trim()&&!t.startsWith("#")&&!t.startsWith(" ")&&!t.startsWith(" "))break}return s}function M(l,s){let n=[];try{let o=C(s),t=P(o,".claude","skills");if(!W(t))return n;let u=L(t,{withFileTypes:!0});for(let e of u){if(!e.isDirectory()&&!e.isSymbolicLink())continue;let i=P(t,e.name,"SKILL.md");if(W(i))try{let a=j(i,"utf-8"),r=H(a),m=r.name??e.name,c=r.description??"";n.push({name:m,description:c,roleName:s,roleId:l,path:i,rawFrontmatter:r})}catch{}}}catch{}return n}F();var O=new Set(["the","a","an","is","are","was","were","be","been","being","have","has","had","do","does","did","will","would","could","should","may","might","must","shall","can","need","dare","ought","used","to","of","in","for","on","with","at","by","from","as","into","through","during","before","after","above","below","between","under","again","further","then","once","here","there","when","where","why","how","all","each","few","more","most","other","some","such","no","nor","not","only","own","same","so","than","too","very","just","also","now","and","but","or","if","because","until","while","about","against","this","that","these","those","it","its"]);function S(l){return l.toLowerCase().replace(/[^a-z0-9\s]/g," ").split(/\s+/).filter(s=>s.length>1&&!O.has(s))}function g(l,s){if(s.length===0)return 0;let n=S(l),o=0;for(let t of s){n.includes(t)&&o++;for(let u of n)u.startsWith(t)&&u!==t&&(o+=.5)}return o}function D(l){let s=w(),n=new Map;if(l.length===0)return n;let o=l.map(()=>"?").join(","),t=s.prepare(`
@@ -1 +1 @@
1
- import{a as i}from"./chunk-ASPPM7TQ.js";import{a as d,b as p,c as g,e as h}from"./chunk-TLMG5W3L.js";import{d as f}from"./chunk-Z6LHGA27.js";import{f as l,h as _}from"./chunk-WBAPIPST.js";import{c as v,h as O}from"./chunk-BLCNUT53.js";_();import{readFileSync as E,existsSync as w}from"fs";import{resolve as T}from"path";import{homedir as S}from"os";import{parse as k}from"yaml";O();var D=v("config");function I(e){return e.replace(/\$\{(\w+)}/g,(t,n)=>process.env[n]??"")}function m(e){return e.startsWith("~/")?T(S(),e.slice(2)):e}function c(e){if(typeof e=="string")return I(e);if(Array.isArray(e))return e.map(c);if(e!==null&&typeof e=="object"){let t={};for(let[n,r]of Object.entries(e))t[n]=c(r);return t}return e}function C(e,t){let n={...e};for(let r of Object.keys(t)){let o=t[r],s=e[r];o!==null&&typeof o=="object"&&!Array.isArray(o)&&s!==null&&typeof s=="object"&&!Array.isArray(s)?n[r]=C(s,o):n[r]=o}return n}function A(e){return e.defaults.deniedReadPaths&&(e.defaults.deniedReadPaths=e.defaults.deniedReadPaths.map(m)),e.defaults.sensitivePaths&&!e.defaults.deniedReadPaths&&(D.warn("config.defaults.sensitivePaths is deprecated \u2014 use config.defaults.deniedReadPaths instead. Values have been migrated automatically."),e.defaults.deniedReadPaths=e.defaults.sensitivePaths.map(m)),e}function M(){let e={};for(let t of process.argv.slice(2)){let n=t.match(/^--([a-z-]+)=(.+)$/);n&&(e[n[1]]=n[2])}return e}function R(e){let t=process.env.ADAM_PORT;t&&(e.server.port=parseInt(t,10));let n=process.env.ANTHROPIC_MODEL;n&&(e.defaults.model=n);let r=process.env.ADAM_API_KEY;return r&&(e.server.apiKey=r),e}function y(e){let t=M();return t.port&&(e.server.port=parseInt(t.port,10)),t.host&&(e.server.host=t.host),t.timeout&&(e.defaults.timeout=parseInt(t.timeout,10)),t["api-key"]&&(e.server.apiKey=t["api-key"]),e}function N(e){let t=e??l,n={};if(w(t)){let P=E(t,"utf-8"),u=k(P);u&&(n=c(u))}let r=C(i,n),o=R(r),s=y(o);return A(s)}function F(){let e=JSON.parse(JSON.stringify(i)),t=R(e),n=y(t);return A(n)}function b(){let e={},t={...d,ANTHROPIC_API_KEY:"anthropic.apiKey",ANTHROPIC_BASE_URL:"anthropic.baseUrl",ANTHROPIC_MODEL:"anthropic.model",ANTHROPIC_DEFAULT_OPUS_MODEL:"anthropic.defaultOpusModel",ANTHROPIC_DEFAULT_SONNET_MODEL:"anthropic.defaultSonnetModel",ANTHROPIC_DEFAULT_HAIKU_MODEL:"anthropic.defaultHaikuModel",ANTHROPIC_SMALL_FAST_MODEL:"anthropic.smallFastModel",ADAM_PORT:"server.port",ADAM_API_KEY:"server.apiKey"},n={};for(let[o,s]of Object.entries(t)){let a=process.env[o];a&&a.length>0&&(e[s]=g(s,a))}let r=h();if(r)for(let[o,s]of Object.entries(r))p(o)||o in t||o.startsWith("ANTHROPIC_")||o.startsWith("ADAM_")||(n[o]=s);return Object.keys(n).length>0&&(e["defaults.env"]=n),e}function J(){try{return f().defaults}catch{return i.defaults}}function $(){try{return f().chat??i.chat}catch{return i.chat}}export{N as a,F as b,b as c,J as d,$ as e};
1
+ import{a as i}from"./chunk-FJ3DUJXO.js";import{a as d,b as p,c as g,e as h}from"./chunk-5G64P4KE.js";import{d as f}from"./chunk-OH6VBBDV.js";import{f as l,h as _}from"./chunk-VO24C673.js";import{c as v,h as O}from"./chunk-EZLBMUQD.js";_();import{readFileSync as E,existsSync as w}from"fs";import{resolve as T}from"path";import{homedir as S}from"os";import{parse as k}from"yaml";O();var D=v("config");function I(e){return e.replace(/\$\{(\w+)}/g,(t,n)=>process.env[n]??"")}function m(e){return e.startsWith("~/")?T(S(),e.slice(2)):e}function c(e){if(typeof e=="string")return I(e);if(Array.isArray(e))return e.map(c);if(e!==null&&typeof e=="object"){let t={};for(let[n,r]of Object.entries(e))t[n]=c(r);return t}return e}function C(e,t){let n={...e};for(let r of Object.keys(t)){let o=t[r],s=e[r];o!==null&&typeof o=="object"&&!Array.isArray(o)&&s!==null&&typeof s=="object"&&!Array.isArray(s)?n[r]=C(s,o):n[r]=o}return n}function A(e){return e.defaults.deniedReadPaths&&(e.defaults.deniedReadPaths=e.defaults.deniedReadPaths.map(m)),e.defaults.sensitivePaths&&!e.defaults.deniedReadPaths&&(D.warn("config.defaults.sensitivePaths is deprecated \u2014 use config.defaults.deniedReadPaths instead. Values have been migrated automatically."),e.defaults.deniedReadPaths=e.defaults.sensitivePaths.map(m)),e}function M(){let e={};for(let t of process.argv.slice(2)){let n=t.match(/^--([a-z-]+)=(.+)$/);n&&(e[n[1]]=n[2])}return e}function R(e){let t=process.env.ADAM_PORT;t&&(e.server.port=parseInt(t,10));let n=process.env.ANTHROPIC_MODEL;n&&(e.defaults.model=n);let r=process.env.ADAM_API_KEY;return r&&(e.server.apiKey=r),e}function y(e){let t=M();return t.port&&(e.server.port=parseInt(t.port,10)),t.host&&(e.server.host=t.host),t.timeout&&(e.defaults.timeout=parseInt(t.timeout,10)),t["api-key"]&&(e.server.apiKey=t["api-key"]),e}function N(e){let t=e??l,n={};if(w(t)){let P=E(t,"utf-8"),u=k(P);u&&(n=c(u))}let r=C(i,n),o=R(r),s=y(o);return A(s)}function F(){let e=JSON.parse(JSON.stringify(i)),t=R(e),n=y(t);return A(n)}function b(){let e={},t={...d,ANTHROPIC_API_KEY:"anthropic.apiKey",ANTHROPIC_BASE_URL:"anthropic.baseUrl",ANTHROPIC_MODEL:"anthropic.model",ANTHROPIC_DEFAULT_OPUS_MODEL:"anthropic.defaultOpusModel",ANTHROPIC_DEFAULT_SONNET_MODEL:"anthropic.defaultSonnetModel",ANTHROPIC_DEFAULT_HAIKU_MODEL:"anthropic.defaultHaikuModel",ANTHROPIC_SMALL_FAST_MODEL:"anthropic.smallFastModel",ADAM_PORT:"server.port",ADAM_API_KEY:"server.apiKey"},n={};for(let[o,s]of Object.entries(t)){let a=process.env[o];a&&a.length>0&&(e[s]=g(s,a))}let r=h();if(r)for(let[o,s]of Object.entries(r))p(o)||o in t||o.startsWith("ANTHROPIC_")||o.startsWith("ADAM_")||(n[o]=s);return Object.keys(n).length>0&&(e["defaults.env"]=n),e}function J(){try{return f().defaults}catch{return i.defaults}}function $(){try{return f().chat??i.chat}catch{return i.chat}}export{N as a,F as b,b as c,J as d,$ as e};
@@ -0,0 +1 @@
1
+ import{e as A,i as J}from"./chunk-3VUEB67V.js";import{A as D,w as v}from"./chunk-P76VP2UH.js";import{existsSync as m,readFileSync as P,readdirSync as w}from"fs";import{join as d}from"path";import E from"os";var b=()=>d(E.homedir(),".claude","plugins"),S=()=>d(b(),"installed_plugins.json"),_=()=>d(b(),"known_marketplaces.json"),x=()=>d(E.homedir(),".claude","settings.json");function y(s){try{if(!m(s))return null;let i=P(s,"utf-8");return JSON.parse(i)}catch{return null}}function R(){return y(x())?.enabledPlugins??{}}function T(s){let i=s;function l(t,p){let a={};try{if(!m(t))return a;let u=P(t,"utf-8").replace(/^```yaml\r?\n/,"").replace(/^```\r?\n/,"");for(let f of p){let r=new RegExp(`^${f}:\\s*(.+)$`,"m"),e=u.match(r);e&&(a[f]=e[1].trim())}}catch{}return a}function o(t){try{if(!m(t))return{};let p=P(t,"utf-8"),a=p.match(/^```yaml\r?\n([\s\S]*?)\r?\n```\r?\n/);if(!a){let r={};for(let e of p.split(/\r?\n/)){let n=e.match(/^(\w+):\s*(.+)$/);n&&(r[n[1]]=n[2])}return{name:r.name,description:r.description}}let c=a[1],u={};for(let r of c.split(/\r?\n/)){let e=r.match(/^(\w+):\s*(.*)$/);if(e){let[,n,g]=e;g.trim()&&(u[n]=g.trim())}}let f=c.match(/error_patterns:\r?\n([\s\S]*?)(?=\n\w|\n$)/);if(f){let r=f[1],e=[],n={};for(let g of r.split(/\r?\n/)){let h=g.match(/^\s*-\s*pattern:\s*(.+)$/);if(h){n.pattern&&e.push(n),n={pattern:h[1].replace(/^["']|["']$/g,"")};continue}let k=g.match(/^\s*category:\s*(.+)$/);if(k){n.category=k[1].trim();continue}let j=g.match(/^\s*user_action:\s*(.+)$/);if(j){n.user_action=j[1].replace(/^["']|["']$/g,""),n.pattern&&n.category&&n.user_action&&(e.push(n),n={});continue}}n.pattern&&e.push(n),e.length>0&&(u.error_patterns=e)}return{name:u.name,description:u.description,error_patterns:u.error_patterns}}catch{}return{}}try{let t={name:"",skills:[],agents:[],mcpServers:[],hooks:[],lspServers:[]},p=d(i,".claude-plugin","plugin.json");if(m(p))try{let r=JSON.parse(P(p,"utf-8"));t.name=r.name??"",t.version=r.version,t.description=r.description,Array.isArray(r.lspServers)&&(t.lspServers=r.lspServers),Array.isArray(r.mcpServers)&&(t.mcpServers=r.mcpServers),Array.isArray(r.hooks)&&(t.hooks=r.hooks)}catch{}let a=d(i,"skills");if(m(a)){let r=w(a,{withFileTypes:!0});for(let e of r){if(!e.isDirectory()&&!e.isSymbolicLink())continue;let n=d(a,e.name,"SKILL.md"),g=o(n);g.name&&t.skills.push({name:g.name,description:g.description??"",error_patterns:g.error_patterns})}}let c=d(i,"agents");if(m(c)){let r=w(c,{withFileTypes:!0});for(let e of r){if(!e.isFile()||!e.name.endsWith(".md"))continue;let n=l(d(c,e.name),["name","description"]);n.name&&t.agents.push({name:n.name,description:n.description??""})}}let u=d(i,".mcp.json");if(m(u))try{let r=JSON.parse(P(u,"utf-8"));r.mcpServers&&typeof r.mcpServers=="object"&&(t.mcpServers=Object.keys(r.mcpServers))}catch{}let f=d(i,"hooks","hooks.json");if(m(f))try{let r=JSON.parse(P(f,"utf-8"));Array.isArray(r)&&(t.hooks=r.map(e=>typeof e=="object"&&e!==null&&"event"in e?String(e.event):String(e)))}catch{}return t}catch{return null}}function $(s){let i=y(S());if(!i?.plugins)return[];let l=R(),o=[];for(let[t,p]of Object.entries(i.plugins))if(!(!Array.isArray(p)||p.length===0))for(let a of p){let c=a.scope??"user";s?.scope&&c!==s.scope||s?.projectPath&&a.projectPath!==s.projectPath||o.push({id:t,name:t.split("@")[0],version:a.version??"",scope:c,projectPath:a.projectPath,installPath:a.installPath??d(b(),t),enabled:l[t]??a.enabled??!0,installedAt:a.installedAt??"",lastUpdated:a.lastUpdated??""})}return o}function G(s){let i=y(S());if(!i?.plugins?.[s])return null;let l=i.plugins[s];if(!Array.isArray(l)||l.length===0)return null;let o=l[0],t=R();return{id:s,name:s.split("@")[0],version:o.version??"",scope:o.scope??"user",projectPath:o.projectPath,installPath:o.installPath??d(b(),s),enabled:t[s]??o.enabled??!0,installedAt:o.installedAt??"",lastUpdated:o.lastUpdated??""}}function M(s){let i=y(S()),l=new Map;for(let o of s){let t=i?.plugins?.[o];Array.isArray(t)&&t.length>0&&l.set(o,t[0].installPath??d(b(),o))}return l}function U(){return y(_())?.marketplaces??[]}function I(s){let i=d(s,".claude","settings.json"),l=y(i);return{enabledPlugins:l?.enabledPlugins??{},mcpServers:l?.mcpServers??{},allowedTools:l?.allowedTools??[],disallowedTools:l?.disallowedTools??[]}}J();D();var C={Read:{category:"File",label:"read"},Write:{category:"File",label:"write"},Edit:{category:"File",label:"edit"},Glob:{category:"Search",label:"find files"},Grep:{category:"Search",label:"search content"},Bash:{category:"Execution",label:"shell commands"},WebSearch:{category:"Web",label:"web search"},WebFetch:{category:"Web",label:"fetch pages"},NotebookEdit:{category:"Execution",label:"Jupyter notebooks"}};function q(s,i){let l=s.allowedTools??[],o=s.osCapabilities??[];if(l.length===0&&o.length===0&&Object.keys(s.mcpServers??{}).length===0&&(s.additionalDirectories?.length??0)===0&&(!i||i.plugins.length===0))return"No tool permissions";let t=new Map,p=[];for(let e of l){let n=C[e];if(n){let g=t.get(n.category)??[];g.push(n.label),t.set(n.category,g)}else p.push(e)}let a=[];for(let[e,n]of t)a.push(`${e} (${n.join(", ")})`);p.length>0&&a.push(p.join(", "));let c=a.join(" \xB7 "),u=e=>{c=c?`${c} \xB7 ${e}`:e},f=Object.keys(s.mcpServers??{});f.length>0&&u(`MCP: ${f.join(", ")}`);let r=s.additionalDirectories??[];if(r.length>0&&u(`Dirs: ${r.map(e=>e.path).join(", ")}`),o.length>0){let e=o.map(n=>{let g=v(n.id);return n.id==="automation"&&n.targets?.length?`${g.label} (${n.targets.join(", ")})`:g.label});u(`OS: ${e.join(", ")}`)}if(i&&i.plugins.length>0){let e=i.plugins.map(n=>{let g=[];return n.skills.length>0&&g.push(`skills: ${n.skills.map(h=>h.name).join(", ")}`),n.agents.length>0&&g.push(`agents: ${n.agents.map(h=>h.name).join(", ")}`),g.length>0?`${n.name} (${g.join("; ")})`:n.name});u(`Plugins: ${e.join(", ")}`)}return c}function O(s){let i=[],l=s.additionalDirectories??[];for(let o of l){if(!o.inheritPlugins&&!o.inheritMcp)continue;let t=I(o.path),p=Object.entries(t.enabledPlugins).filter(([,c])=>c).map(([c])=>c),a=M(p);for(let[,c]of a)i.includes(c)||i.push(c)}try{let o=A(s.name),t=$({scope:"project",projectPath:o});for(let p of t)p.installPath&&!i.includes(p.installPath)&&i.push(p.installPath)}catch{}return i}function z(s){let i=O(s),l=[];for(let o of i){let t=T(o);t&&l.push({name:t.name||o.split("/").pop()||"unknown",description:t.description,skills:t.skills,agents:t.agents,mcpServers:t.mcpServers,hooks:t.hooks})}return{plugins:l}}export{R as a,T as b,$ as c,G as d,U as e,I as f,q as g,O as h,z as i};
@@ -0,0 +1 @@
1
+ import{g as u,h as n}from"./chunk-K3HWZBE5.js";import{d as r}from"./chunk-OH6VBBDV.js";var m=.995,i=.2,d=.3;function c(){try{let e=r().memory?.scope;return{decayBase:e?.decayBase??m,archiveThreshold:e?.archiveThreshold??i,emaAlpha:e?.emaAlpha??d}}catch{return{decayBase:m,archiveThreshold:i,emaAlpha:d}}}function l(e,s){if(e.successEma==null)return null;let a=Math.max(0,s-e.lastUsedAt),{decayBase:t}=c();return e.successEma*Math.pow(t,a)}function h(e,s){if(e.successEma==null)e.successEma=.5;else{let a=Math.max(0,s-e.lastUsedAt),{decayBase:t}=c();e.successEma=e.successEma*Math.pow(t,a)}e.lastUsedAt=s}function E(e,s){h(e,s),n(e.id,e.successEma,s)}function A(e,s,a){h(e,a);let{emaAlpha:t}=c(),o=(1-t)*e.successEma+t*s;e.successEma=o,n(e.id,o,a)}function B(e,s){let a=l(e,s);return a==null?!1:a<c().archiveThreshold}function v(e){u(e,"archived")}export{l as a,E as b,A as c,B as d,v as e};
package/dist/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{a as G,b as h,c as W,e as z}from"./chunk-NLTYJUQG.js";import{a as B,b as J}from"./chunk-NTVLV7NI.js";import{a as q}from"./chunk-N2OLEUAQ.js";import{c as R,e as K,g as ce}from"./chunk-OGY42NUN.js";import{d as F}from"./chunk-TLMG5W3L.js";import"./chunk-Z6LHGA27.js";import{n as H,o as j,p as le}from"./chunk-QL2ZOLMC.js";import"./chunk-WBAPIPST.js";import"./chunk-BLCNUT53.js";import"./chunk-FCV2DPZQ.js";import{Command as Se}from"commander";import{fork as de}from"child_process";import{readFileSync as L,writeFileSync as ue,existsSync as v,unlinkSync as $,mkdirSync as me,openSync as pe}from"fs";import{join as E}from"path";import{homedir as ge}from"os";var P=E(ge(),".adam"),y=E(P,"adam.pid"),k=E(P,"adam.port"),b=E(P,"server.log");function fe(){v(P)||me(P,{recursive:!0})}function C(){if(!v(y))return null;let e=parseInt(L(y,"utf-8").trim(),10);return isNaN(e)?null:e}function he(){if(!v(k))return null;let e=parseInt(L(k,"utf-8").trim(),10);return isNaN(e)?null:e}function O(e){try{return process.kill(e,0),!0}catch{return!1}}async function N(){fe();let e=C();if(e&&O(e))throw new Error(`Server already running (PID ${e})`);v(y)&&$(y),v(k)&&$(k);let o=pe(b,"a"),t=E(B,"dist/index.js"),n=de(t,[],{detached:!0,stdio:["ignore",o,o,"ipc"]}),l=await new Promise((i,c)=>{let g=setTimeout(()=>{n.kill(),c(new Error(`Server start timeout. Check logs: ${b}`))},1e4);n.on("message",a=>{if(a&&typeof a=="object"&&a.type==="ready"){clearTimeout(g);let s=a.port;s?i(s):c(new Error("Ready signal received but missing port"))}}),n.on("exit",a=>{clearTimeout(g);let s=v(b)?L(b,"utf-8").split(`
2
+ import{a as G,b as h,c as W,e as z}from"./chunk-HL373H4P.js";import{a as B,b as J}from"./chunk-NTVLV7NI.js";import{a as q}from"./chunk-BRUHXRKK.js";import{c as R,e as K,g as ce}from"./chunk-73GP6K5S.js";import{d as F}from"./chunk-5G64P4KE.js";import"./chunk-OH6VBBDV.js";import{n as H,o as j,p as le}from"./chunk-VARIYH6K.js";import"./chunk-VO24C673.js";import"./chunk-EZLBMUQD.js";import"./chunk-5PELJRUQ.js";import{Command as Se}from"commander";import{fork as de}from"child_process";import{readFileSync as L,writeFileSync as ue,existsSync as v,unlinkSync as $,mkdirSync as me,openSync as pe}from"fs";import{join as E}from"path";import{homedir as ge}from"os";var P=E(ge(),".adam"),y=E(P,"adam.pid"),k=E(P,"adam.port"),b=E(P,"server.log");function fe(){v(P)||me(P,{recursive:!0})}function C(){if(!v(y))return null;let e=parseInt(L(y,"utf-8").trim(),10);return isNaN(e)?null:e}function he(){if(!v(k))return null;let e=parseInt(L(k,"utf-8").trim(),10);return isNaN(e)?null:e}function O(e){try{return process.kill(e,0),!0}catch{return!1}}async function N(){fe();let e=C();if(e&&O(e))throw new Error(`Server already running (PID ${e})`);v(y)&&$(y),v(k)&&$(k);let o=pe(b,"a"),t=E(B,"dist/index.js"),n=de(t,[],{detached:!0,stdio:["ignore",o,o,"ipc"]}),l=await new Promise((i,c)=>{let g=setTimeout(()=>{n.kill(),c(new Error(`Server start timeout. Check logs: ${b}`))},1e4);n.on("message",a=>{if(a&&typeof a=="object"&&a.type==="ready"){clearTimeout(g);let s=a.port;s?i(s):c(new Error("Ready signal received but missing port"))}}),n.on("exit",a=>{clearTimeout(g);let s=v(b)?L(b,"utf-8").split(`
3
3
  `).slice(-10).join(`
4
4
  `):"";c(new Error(`Server exited with code ${a}.
5
5
  ${s?`Last log lines:
@@ -14,4 +14,4 @@ Task cancelled.`)),process.exit(130)};process.on("SIGINT",l);let i=new z(n);awai
14
14
  `));let i={Anthropic:[["anthropic.apiKey",t["anthropic.apiKey"]],["anthropic.baseUrl",t["anthropic.baseUrl"]],["anthropic.model",t["anthropic.model"]],["anthropic.defaultOpusModel",t["anthropic.defaultOpusModel"]],["anthropic.defaultSonnetModel",t["anthropic.defaultSonnetModel"]],["anthropic.defaultHaikuModel",t["anthropic.defaultHaikuModel"]],["anthropic.smallFastModel",t["anthropic.smallFastModel"]]],Defaults:[["defaults.model",t["defaults.model"]],["defaults.effort",t["defaults.effort"]],["defaults.maxTurns",t["defaults.maxTurns"]],["defaults.maxBudgetUsd",t["defaults.maxBudgetUsd"]],["defaults.timeout",t["defaults.timeout"]]],Server:[["server.port",t["server.port"]],["server.host",t["server.host"]],["server.apiKey",t["server.apiKey"]],["server.timezone",t["server.timezone"]]],Logging:[["logging.level",t["logging.level"]]],Evolution:[["roles.evolution.triggerEvery",t["roles.evolution.triggerEvery"]],["roles.evolution.reflectionThreshold",t["roles.evolution.reflectionThreshold"]]],Chat:[["chat.sessionTimeoutMinutes",t["chat.sessionTimeoutMinutes"]],["chat.maxSessionTurns",t["chat.maxSessionTurns"]],["chat.autoTitle",t["chat.autoTitle"]],["chat.archiveExtractMemory",t["chat.archiveExtractMemory"]]]},c={"anthropic.apiKey":"API Key","anthropic.baseUrl":"Base URL","anthropic.model":"Model","anthropic.defaultOpusModel":"Default Opus","anthropic.defaultSonnetModel":"Default Sonnet","anthropic.defaultHaikuModel":"Default Haiku","anthropic.smallFastModel":"Small Fast","defaults.model":"Default Model","defaults.effort":"Effort","defaults.maxTurns":"Max Turns","defaults.maxBudgetUsd":"Max Budget (USD)","defaults.timeout":"Timeout (sec)","server.port":"Port","server.host":"Host","server.apiKey":"API Key","server.timezone":"Timezone","logging.level":"Log Level","roles.evolution.triggerEvery":"Evolution Trigger Every","chat.sessionTimeoutMinutes":"Session Timeout (min)","chat.maxSessionTurns":"Max Session Turns","chat.autoTitle":"Auto Title","chat.archiveExtractMemory":"Archive Extract Memory","roles.evolution.reflectionThreshold":"Reflection Threshold"};for(let[g,a]of Object.entries(i)){let s=a.filter(([,r])=>r!=null&&r!=="");if(s.length!==0){console.log(A.cyan(`${g}:`));for(let[r,m]of s){let f=c[r]??r,M=r.includes("apiKey")||r.includes("token")||r.includes("secret")?ne(String(m)):String(m);console.log(` ${f}: ${M}`)}console.log("")}}if(n){console.log(A.bold(`.env File Values:
15
15
  `));let g=["ANTHROPIC_API_KEY","ANTHROPIC_BASE_URL","ANTHROPIC_MODEL","ANTHROPIC_DEFAULT_OPUS_MODEL","ANTHROPIC_DEFAULT_SONNET_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL","ANTHROPIC_SMALL_FAST_MODEL"];for(let a of g)if(a in n){let s=a.includes("API_KEY");console.log(` ${a}: ${s?ne(n[a]):n[a]}`)}console.log("")}}}finally{j()}}function ne(e){return!e||e.length<8?"****":e.slice(0,4)+"****"}import S from"chalk";async function ie(e){try{let o=e.limit??"20",t=await h(`/evolution-audit?limit=${o}`);if(t.length===0){console.log(S.dim("No evolution records yet"));return}console.log(S.bold(`Evolution Audit Log (${t.length} records)
16
16
  `));for(let n of t){let l=new Date(n.timestamp).toLocaleString();console.log(S.bold(`[${l}]`)+(n.triggerTaskId?S.dim(` task: ${n.triggerTaskId.slice(0,8)}`):"")),console.log(S.dim(" Diff:"));for(let i of n.diff.split(`
17
- `))i.startsWith("+")?console.log(S.green(` ${i}`)):i.startsWith("-")?console.log(S.red(` ${i}`)):console.log(S.dim(` ${i}`));console.log()}}catch(o){console.error(S.red(o.message)),process.exit(1)}}import p from"chalk";import{WebSocket as ye}from"ws";async function ae(e){let o=I(),t=e.port?Number(e.port):o.port??7100,n=G(),l=new URL(`ws://localhost:${t}/events`);n&&l.searchParams.set("api_key",n);let i=l.toString(),c=e.component,g=e.level;function a(){let r=new ye(i);r.on("open",()=>{console.log(p.dim(`Connected to ${i}`)),e.follow&&console.log(p.dim("Following logs... (Ctrl+C to exit)"))}),r.on("message",m=>{try{let f=JSON.parse(m.toString());if(f.type==="log_event"&&f.msg){if(c&&f.component!==c||g&&f.level!==g)return;s(f)}}catch{}}),r.on("error",m=>{console.error(p.red(`WebSocket error: ${m.message}`))}),r.on("close",()=>{e.follow&&(console.log(p.yellow("Connection closed, reconnecting...")),setTimeout(a,1e3))})}function s(r){let m=q(r.timestamp),x={debug:p.gray,info:p.blue,warn:p.yellow,error:p.red,fatal:p.bgRed.white}[r.level]||p.white,M=p.cyan(`[${r.component}]`);console.log(`${p.dim(m)} ${x(r.level.toUpperCase().padEnd(5))} ${M} ${r.msg}`),r.metadata&&typeof r.metadata=="object"&&Object.keys(r.metadata).length>0&&console.log(p.dim(" ")+p.dim(JSON.stringify(r.metadata)))}a(),await new Promise(r=>{process.on("SIGINT",()=>r()),process.on("SIGTERM",()=>r()),e.follow||setTimeout(r,3e3)})}var w=new Se;w.name("adam").description("Adam Agent Server CLI").version(J());var D=w.command("server").description("Server management");D.command("start").description("Start the server daemon").action(async()=>{try{let{pid:e,port:o}=await N();console.log(`Server started (PID ${e}, port ${o})`)}catch(e){console.error("Failed to start server:",e.message),process.exit(1)}});D.command("stop").description("Stop the server daemon").action(async()=>{try{await U(),console.log("Server stopped")}catch(e){console.error("Failed to stop server:",e.message),process.exit(1)}});D.command("restart").description("Restart the server daemon").action(async()=>{try{I().running&&(await U(),console.log("Server stopped"));let{pid:o,port:t}=await N();console.log(`Server restarted (PID ${o}, port ${t})`)}catch(e){console.error("Failed to restart server:",e.message),process.exit(1)}});D.command("status").description("Show server status").action(()=>{let e=I();e.running?console.log(`Server is running (PID ${e.pid}, port ${e.port})`):e.pid?console.log("Server not running (stale PID file)"):console.log("Server not running")});D.command("logs").description("Show server logs").option("-f, --follow","Follow log output").action(async e=>{let o=V();if(!ke(o)){console.log("No log file found");return}if(e.follow){let t=Te(o,{encoding:"utf-8"});for await(let n of t)process.stdout.write(n)}else console.log(we(o,"utf-8"))});w.command("run <prompt>").description("Submit a task and stream output").option("--model <model>","Model to use").option("--timeout <seconds>","Task timeout",parseInt).option("--budget <usd>","Max budget in USD",parseFloat).option("--template <name>","Task template to use").option("--workspace <path>","Workspace directory").option("--no-approval","Auto-approve all approval requests").option("--json","Output as JSON").option("--server <url>","Server URL").action(Q);var _=w.command("tasks").description("Task management");_.command("list").description("List recent tasks").option("-s, --status <status>","Filter by status").option("-l, --limit <number>","Limit results","20").action(oe);_.command("show <id>").description("Show task details").action(te);_.command("cancel <id>").description("Cancel a running task").action(re);w.command("config").description("Display current configuration").option("--json","Output as JSON").action(se);w.command("evolution").description("Show self-evolution audit log").option("-l, --limit <number>","Limit results","20").action(ie);w.command("logs").description("Stream server logs in real-time via WebSocket").option("-f, --follow","Follow logs continuously").option("-c, --component <component>","Filter by component (manager, worker, scheduler, api, ws)").option("-l, --level <level>","Filter by level (debug, info, warn, error)").option("-p, --port <port>","Server port").action(ae);w.action(async()=>{try{await W()}catch{I().running?console.error("Server is running but not responding. Check: adam server logs"):console.error("Server not running. Run: adam server start"),process.exit(1)}let e=(await import("./App-Z2GJAMX3.js")).default,{waitUntilExit:o}=$e(be.createElement(e));await o()});w.parse();
17
+ `))i.startsWith("+")?console.log(S.green(` ${i}`)):i.startsWith("-")?console.log(S.red(` ${i}`)):console.log(S.dim(` ${i}`));console.log()}}catch(o){console.error(S.red(o.message)),process.exit(1)}}import p from"chalk";import{WebSocket as ye}from"ws";async function ae(e){let o=I(),t=e.port?Number(e.port):o.port??7100,n=G(),l=new URL(`ws://localhost:${t}/events`);n&&l.searchParams.set("api_key",n);let i=l.toString(),c=e.component,g=e.level;function a(){let r=new ye(i);r.on("open",()=>{console.log(p.dim(`Connected to ${i}`)),e.follow&&console.log(p.dim("Following logs... (Ctrl+C to exit)"))}),r.on("message",m=>{try{let f=JSON.parse(m.toString());if(f.type==="log_event"&&f.msg){if(c&&f.component!==c||g&&f.level!==g)return;s(f)}}catch{}}),r.on("error",m=>{console.error(p.red(`WebSocket error: ${m.message}`))}),r.on("close",()=>{e.follow&&(console.log(p.yellow("Connection closed, reconnecting...")),setTimeout(a,1e3))})}function s(r){let m=q(r.timestamp),x={debug:p.gray,info:p.blue,warn:p.yellow,error:p.red,fatal:p.bgRed.white}[r.level]||p.white,M=p.cyan(`[${r.component}]`);console.log(`${p.dim(m)} ${x(r.level.toUpperCase().padEnd(5))} ${M} ${r.msg}`),r.metadata&&typeof r.metadata=="object"&&Object.keys(r.metadata).length>0&&console.log(p.dim(" ")+p.dim(JSON.stringify(r.metadata)))}a(),await new Promise(r=>{process.on("SIGINT",()=>r()),process.on("SIGTERM",()=>r()),e.follow||setTimeout(r,3e3)})}var w=new Se;w.name("adam").description("Adam Agent Server CLI").version(J());var D=w.command("server").description("Server management");D.command("start").description("Start the server daemon").action(async()=>{try{let{pid:e,port:o}=await N();console.log(`Server started (PID ${e}, port ${o})`)}catch(e){console.error("Failed to start server:",e.message),process.exit(1)}});D.command("stop").description("Stop the server daemon").action(async()=>{try{await U(),console.log("Server stopped")}catch(e){console.error("Failed to stop server:",e.message),process.exit(1)}});D.command("restart").description("Restart the server daemon").action(async()=>{try{I().running&&(await U(),console.log("Server stopped"));let{pid:o,port:t}=await N();console.log(`Server restarted (PID ${o}, port ${t})`)}catch(e){console.error("Failed to restart server:",e.message),process.exit(1)}});D.command("status").description("Show server status").action(()=>{let e=I();e.running?console.log(`Server is running (PID ${e.pid}, port ${e.port})`):e.pid?console.log("Server not running (stale PID file)"):console.log("Server not running")});D.command("logs").description("Show server logs").option("-f, --follow","Follow log output").action(async e=>{let o=V();if(!ke(o)){console.log("No log file found");return}if(e.follow){let t=Te(o,{encoding:"utf-8"});for await(let n of t)process.stdout.write(n)}else console.log(we(o,"utf-8"))});w.command("run <prompt>").description("Submit a task and stream output").option("--model <model>","Model to use").option("--timeout <seconds>","Task timeout",parseInt).option("--budget <usd>","Max budget in USD",parseFloat).option("--template <name>","Task template to use").option("--workspace <path>","Workspace directory").option("--no-approval","Auto-approve all approval requests").option("--json","Output as JSON").option("--server <url>","Server URL").action(Q);var _=w.command("tasks").description("Task management");_.command("list").description("List recent tasks").option("-s, --status <status>","Filter by status").option("-l, --limit <number>","Limit results","20").action(oe);_.command("show <id>").description("Show task details").action(te);_.command("cancel <id>").description("Cancel a running task").action(re);w.command("config").description("Display current configuration").option("--json","Output as JSON").action(se);w.command("evolution").description("Show self-evolution audit log").option("-l, --limit <number>","Limit results","20").action(ie);w.command("logs").description("Stream server logs in real-time via WebSocket").option("-f, --follow","Follow logs continuously").option("-c, --component <component>","Filter by component (manager, worker, scheduler, api, ws)").option("-l, --level <level>","Filter by level (debug, info, warn, error)").option("-p, --port <port>","Server port").action(ae);w.action(async()=>{try{await W()}catch{I().running?console.error("Server is running but not responding. Check: adam server logs"):console.error("Server not running. Run: adam server start"),process.exit(1)}let e=(await import("./App-SIQUVFJY.js")).default,{waitUntilExit:o}=$e(be.createElement(e));await o()});w.parse();
@@ -0,0 +1 @@
1
+ import{a as b,b as c,d,e}from"./chunk-VVBN35YG.js";import{a}from"./chunk-FJ3DUJXO.js";import"./chunk-5G64P4KE.js";import"./chunk-OH6VBBDV.js";import"./chunk-VO24C673.js";import"./chunk-EZLBMUQD.js";import"./chunk-5PELJRUQ.js";export{a as DEFAULT_CONFIG,e as getChatConfig,d as getDefaults,b as loadConfig,c as loadDefaultConfig};
@@ -0,0 +1 @@
1
+ import{a,b,c,d,e,f,g}from"./chunk-73GP6K5S.js";import"./chunk-VARIYH6K.js";import"./chunk-VO24C673.js";import"./chunk-EZLBMUQD.js";import"./chunk-5PELJRUQ.js";g();export{f as deleteConfigValue,c as getAllConfig,a as getConfigValue,e as isConfigEmpty,d as seedConfig,b as setConfigValue};
@@ -0,0 +1 @@
1
+ import{m as a,n as b,o as c,p as d}from"./chunk-VARIYH6K.js";import"./chunk-VO24C673.js";import"./chunk-EZLBMUQD.js";import"./chunk-5PELJRUQ.js";d();export{c as closeDb,b as getDb,a as runMigrations};
@@ -1 +1 @@
1
- import{a,b,c,d,e,f,g,h,i,j,k}from"./chunk-LQVBWVLE.js";import"./chunk-QL2ZOLMC.js";import"./chunk-WBAPIPST.js";import"./chunk-BLCNUT53.js";import"./chunk-245WE5AF.js";import"./chunk-FCV2DPZQ.js";export{a as TTL_MS,g as cleanupExpired,b as createDeliveryLog,j as getDeliveryLogByExecution,i as getDeliveryLogByRule,h as getDeliveryLogByTask,f as getFailedDeliveries,k as getLatestDeliveryForContext,e as getPendingDeliveries,d as markDelivered,c as updateDeliveryLogStatus};
1
+ import{a,b,c,d,e,f,g,h,i,j,k}from"./chunk-DCTNMUQ5.js";import"./chunk-VARIYH6K.js";import"./chunk-VO24C673.js";import"./chunk-EZLBMUQD.js";import"./chunk-5M6IGE5G.js";import"./chunk-5PELJRUQ.js";export{a as TTL_MS,g as cleanupExpired,b as createDeliveryLog,j as getDeliveryLogByExecution,i as getDeliveryLogByRule,h as getDeliveryLogByTask,f as getFailedDeliveries,k as getLatestDeliveryForContext,e as getPendingDeliveries,d as markDelivered,c as updateDeliveryLogStatus};
@@ -0,0 +1 @@
1
+ import{g as a,h as b,i as c,j as d}from"./chunk-A2S67EQG.js";import"./chunk-OII5SDMS.js";import"./chunk-4N5G7ND2.js";import"./chunk-QWIBCFPC.js";import"./chunk-NNMQGISW.js";import"./chunk-UAF4KNXE.js";import"./chunk-DCTNMUQ5.js";import"./chunk-32D5GWJD.js";import"./chunk-SJTIMT5U.js";import"./chunk-UUJ24BNJ.js";import"./chunk-PBKZDNNV.js";import"./chunk-3R7VGMAK.js";import"./chunk-L7JP7DUO.js";import"./chunk-P76VP2UH.js";import"./chunk-D5PAJ3CB.js";import"./chunk-73GP6K5S.js";import"./chunk-FJ3DUJXO.js";import"./chunk-OH6VBBDV.js";import"./chunk-ED2JAMEN.js";import"./chunk-VARIYH6K.js";import"./chunk-VO24C673.js";import"./chunk-EZLBMUQD.js";import"./chunk-5M6IGE5G.js";import"./chunk-5PELJRUQ.js";export{a as DeliveryEngine,b as getDeliveryEngine,c as initDeliveryEngine,d as stopDeliveryEngine};
@@ -0,0 +1 @@
1
+ import{a,b,c,d,e}from"./chunk-MQTK4Q6M.js";import"./chunk-VARIYH6K.js";import"./chunk-VO24C673.js";import"./chunk-EZLBMUQD.js";import"./chunk-5M6IGE5G.js";import"./chunk-5PELJRUQ.js";export{a as createEvolutionAudit,e as generateDiff,d as getLatestRoleEvolution,b as listEvolutionAudit,c as listEvolutionAuditByRole};
@@ -0,0 +1 @@
1
+ import{e as a,f as b,g as c,h as d,i as e,j as f,k as g}from"./chunk-TNBQFCXR.js";import"./chunk-FMJVKJJE.js";import"./chunk-A57SY3E4.js";import"./chunk-PBKZDNNV.js";import"./chunk-3VUEB67V.js";import"./chunk-3R7VGMAK.js";import"./chunk-L7JP7DUO.js";import"./chunk-3GK65T2V.js";import"./chunk-YEBC67DJ.js";import"./chunk-K3HWZBE5.js";import"./chunk-TO27F23C.js";import"./chunk-2WPUKCDA.js";import"./chunk-P76VP2UH.js";import"./chunk-73GP6K5S.js";import"./chunk-OH6VBBDV.js";import"./chunk-ED2JAMEN.js";import"./chunk-VARIYH6K.js";import"./chunk-VO24C673.js";import"./chunk-EZLBMUQD.js";import"./chunk-5M6IGE5G.js";import"./chunk-5PELJRUQ.js";export{e as EXECUTION_TOOLS_ALL_TOOL_NAMES,a as EXECUTION_TOOLS_MCP_NAME,c as EXECUTION_TOOLS_MUTATION_TOOLS,d as EXECUTION_TOOLS_READONLY_TOOLS,b as EXECUTION_TOOLS_TOOL_PREFIX,f as KEY_REGEX,g as createExecutionTools};
@@ -1 +1 @@
1
- import{a as i}from"./chunk-ASPPM7TQ.js";import"./chunk-WBAPIPST.js";import{c as a,h as c}from"./chunk-BLCNUT53.js";import"./chunk-FCV2DPZQ.js";c();var u=a("agent");async function m(n){let e=f();if(e.length===0)return{scores:[],errors:[]};let s=[],r=[];for(let t of e)try{let o=await l(t);o!==null&&s.push({nodeId:n,score:o,source:t.name,fetchedAt:Date.now()})}catch(o){r.push(`External API "${t.name}" (${t.url}): ${o instanceof Error?o.message:String(o)}`),u.warn({endpoint:t.name,error:o},"External API fetch failed")}return{scores:s,errors:r}}async function l(n){let e=await fetch(n.url,{signal:AbortSignal.timeout(5e3),headers:{Accept:"application/json"}});if(!e.ok)throw new Error(`HTTP ${e.status} ${e.statusText}`);let s=await e.json(),r=p(s,n.scorePath);if(typeof r!="number"||isNaN(r))throw new Error(`Score at "${n.scorePath}" is not a number: ${JSON.stringify(r)}`);return Math.max(0,Math.min(1,r))}function p(n,e){let s=e.replace(/^\$\.?/,""),r=n;for(let t of s.split(".")){if(r==null||typeof r!="object")return;r=r[t]}return r}function f(){return i.externalApis??[]}export{m as collectExternalApiScores};
1
+ import{a as i}from"./chunk-FJ3DUJXO.js";import"./chunk-VO24C673.js";import{c as a,h as c}from"./chunk-EZLBMUQD.js";import"./chunk-5PELJRUQ.js";c();var u=a("agent");async function m(n){let e=f();if(e.length===0)return{scores:[],errors:[]};let s=[],r=[];for(let t of e)try{let o=await l(t);o!==null&&s.push({nodeId:n,score:o,source:t.name,fetchedAt:Date.now()})}catch(o){r.push(`External API "${t.name}" (${t.url}): ${o instanceof Error?o.message:String(o)}`),u.warn({endpoint:t.name,error:o},"External API fetch failed")}return{scores:s,errors:r}}async function l(n){let e=await fetch(n.url,{signal:AbortSignal.timeout(5e3),headers:{Accept:"application/json"}});if(!e.ok)throw new Error(`HTTP ${e.status} ${e.statusText}`);let s=await e.json(),r=p(s,n.scorePath);if(typeof r!="number"||isNaN(r))throw new Error(`Score at "${n.scorePath}" is not a number: ${JSON.stringify(r)}`);return Math.max(0,Math.min(1,r))}function p(n,e){let s=e.replace(/^\$\.?/,""),r=n;for(let t of s.split(".")){if(r==null||typeof r!="object")return;r=r[t]}return r}function f(){return i.externalApis??[]}export{m as collectExternalApiScores};