@romiluz/clawmongo 2026.3.32 → 2026.3.33

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 (604) hide show
  1. package/dist/.buildstamp +1 -1
  2. package/dist/{abort.runtime-B76dHUab.js → abort.runtime-BODXWFfB.js} +19 -19
  3. package/dist/{accounts-f4oUR-KU.js → accounts-dqDVvpq9.js} +19 -19
  4. package/dist/{action-runtime-BvmlxSow.js → action-runtime-C5U1W3NV.js} +3 -3
  5. package/dist/{action-runtime-FNaeyiHa.js → action-runtime-Ofj_Pwoi.js} +1 -1
  6. package/dist/{actions.runtime-B5SHXVBM.js → actions.runtime-D-PFCdDQ.js} +19 -19
  7. package/dist/{actions.runtime-Bpqvp-P6.js → actions.runtime-D6T0Q1In.js} +22 -22
  8. package/dist/{agent-runner.runtime-DHFYjcOQ.js → agent-runner.runtime-B_117lau.js} +20 -20
  9. package/dist/{agent-tools-login-CeAUGuwk.js → agent-tools-login-CIEGcx5C.js} +1 -1
  10. package/dist/agents/auth-profiles.runtime.js +2 -2
  11. package/dist/agents/pi-model-discovery-runtime.js +2 -2
  12. package/dist/{agents-D2s_vbN2.js → agents-BGEZrH6E.js} +79 -79
  13. package/dist/{agents-CcuzSVX3.js → agents-DGb9FxeN.js} +4 -4
  14. package/dist/{api-f7Fg5X8w.js → api-BHHbe6ya.js} +19 -19
  15. package/dist/{apply-CZkOfJvf.js → apply-D5KZtgEs.js} +3 -3
  16. package/dist/{apply.runtime-Kzh-0Ydt.js → apply.runtime-C2coDVDp.js} +21 -21
  17. package/dist/{audit-D10PteOl.js → audit-BTQT-OZ7.js} +1 -1
  18. package/dist/{audit-BGahYsDD.js → audit-C1i5hvgH.js} +1 -1
  19. package/dist/{audit-BUkP9jdj.js → audit-CSQcL00K.js} +1 -1
  20. package/dist/{audit-channel.collect.runtime-DQp-gOhf.js → audit-channel.collect.runtime-CLO8pKCH.js} +1 -1
  21. package/dist/{audit-membership-runtime-BUJmX2hm.js → audit-membership-runtime-BaLdjBE1.js} +19 -19
  22. package/dist/{audit.runtime-i_V5qm4G.js → audit.runtime-Df1m5JVh.js} +1 -1
  23. package/dist/{auth-choice-BAvI_XDP.js → auth-choice-CLVts4pn.js} +25 -25
  24. package/dist/{auth-choice-D92NWROm.js → auth-choice-D32orvb3.js} +4 -4
  25. package/dist/{auth-choice-CFX43ZMS.js → auth-choice-DC9SHojq.js} +25 -25
  26. package/dist/{auth-choice-options-eOov4lHK.js → auth-choice-options-DaRIYac6.js} +1 -1
  27. package/dist/{auth-choice-prompt-BHZS0zzd.js → auth-choice-prompt-BIxKeFyU.js} +22 -22
  28. package/dist/{auth-choice-prompt-DPu-KM86.js → auth-choice-prompt-bvPCPOfL.js} +1 -1
  29. package/dist/{auth-choice.plugin-providers.runtime-BKJ1G30p.js → auth-choice.plugin-providers.runtime-C0Gr_wBp.js} +20 -20
  30. package/dist/{auth-health-DrhDwT0A.js → auth-health-Grs1Tm7I.js} +1 -1
  31. package/dist/{auth-profiles-9ZmqHW26.js → auth-profiles-C3_OccUL.js} +1 -1
  32. package/dist/{bluebubbles-DY0qI3hH.js → bluebubbles-p5n3iDOr.js} +2 -2
  33. package/dist/build-info.json +3 -3
  34. package/dist/bundled/boot-md/handler.js +19 -19
  35. package/dist/bundled/session-memory/handler.js +20 -20
  36. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  37. package/dist/{channel-Bf_8K6l5.js → channel-BH3R_0z4.js} +1 -1
  38. package/dist/{channel-DufwL-jz.js → channel-BNsYAkzk.js} +2 -2
  39. package/dist/{channel-DPSZvfT6.js → channel-BPJidiH0.js} +1 -1
  40. package/dist/{channel-Bhq2K6s9.js → channel-B_kqKNYN.js} +8 -8
  41. package/dist/{channel-_Q3YP1AX.js → channel-C7ZLRJK3.js} +3 -3
  42. package/dist/{channel-kTbF3pA5.js → channel-CMTnTZvP.js} +2 -2
  43. package/dist/{channel-D0kqeNUy.js → channel-CNiLspA4.js} +2 -2
  44. package/dist/{channel-DR1oHx-c.js → channel-D7wbYYfq.js} +2 -2
  45. package/dist/{channel-CxCge-T_.js → channel-DXN0it_k.js} +5 -5
  46. package/dist/{channel-DwfNwzMC2.js → channel-TVpnR3_92.js} +1 -1
  47. package/dist/{channel-account-context-BFz9niGc.js → channel-account-context-D0u_DsE9.js} +1 -1
  48. package/dist/{channel-plugin-resolution-Byfh8pYk.js → channel-plugin-resolution-BWF7cMnp.js} +1 -1
  49. package/dist/{channel-DPEykAqH.js → channel-s-DEd3xe.js} +6 -6
  50. package/dist/{channel-shared-B4K06EQd.js → channel-shared-BkFrM4rg.js} +1 -1
  51. package/dist/{channel-summary-Cps0Fzte.js → channel-summary-C2ehIc9T.js} +1 -1
  52. package/dist/{channel-summary-BmBR7Kyt.js → channel-summary-C7G79FoU.js} +2 -2
  53. package/dist/{channel-qF8P5wpX.js → channel-tI13LeFy.js} +3 -3
  54. package/dist/{channel.runtime-CAJ1UBh5.js → channel.runtime-BW1CY17-.js} +20 -20
  55. package/dist/{channel.runtime-D5JucO51.js → channel.runtime-BZoo7HMI.js} +22 -22
  56. package/dist/{channel.runtime-UVqYDaHP.js → channel.runtime-C5J1_m0z.js} +19 -19
  57. package/dist/{channel.runtime-BzZnxn5I.js → channel.runtime-Ct_bKj0l.js} +21 -21
  58. package/dist/{channel.runtime-CqqmR7yi.js → channel.runtime-CySK5bcO.js} +21 -21
  59. package/dist/{channel.runtime-Coxx1f6o.js → channel.runtime-DoX7dBG7.js} +19 -19
  60. package/dist/{channel.runtime-PIf86KG-.js → channel.runtime-F83uGGg1.js} +20 -20
  61. package/dist/{channel.runtime-jcUrSIfm.js → channel.runtime-MYP-i9w_.js} +4 -4
  62. package/dist/{channel.runtime-CPxxZ41Y.js → channel.runtime-NAgMynid.js} +21 -21
  63. package/dist/{channel.runtime-rDFtpoEo.js → channel.runtime-OOpSO68N.js} +20 -20
  64. package/dist/{channel.runtime-DMuT9kyy.js → channel.runtime-bDBx8teP.js} +24 -24
  65. package/dist/{channel.runtime-uQuAYc-i.js → channel.runtime-yJfsTOE1.js} +21 -21
  66. package/dist/{channels-CkPYFQcl.js → channels-DBgKkMpO.js} +1 -1
  67. package/dist/{channels-CWTVAS0q.js → channels-DV6kTofy.js} +75 -75
  68. package/dist/{channels-cli-B2T-CXmj.js → channels-cli-DFl3cqMv.js} +28 -28
  69. package/dist/{clawbot-cli-BVJttc88.js → clawbot-cli-D2rd_pSe.js} +20 -20
  70. package/dist/cli/memory-cli.js +1 -1
  71. package/dist/{cli-CuTfyWVy.js → cli-RV7cVB9I.js} +19 -19
  72. package/dist/cli-startup-metadata.json +1 -1
  73. package/dist/{command-registry-CGPkVPqo.js → command-registry-B3J7A6FS.js} +9 -9
  74. package/dist/{command-registry-LeMajblS.js → command-registry-Bj0LnTVT.js} +2 -2
  75. package/dist/{command-secret-gateway-C7Mc8VN7.js → command-secret-gateway-CW9sDqgS.js} +19 -19
  76. package/dist/{commands-core-BUvPkOM8.js → commands-core-D6dqx9zi.js} +4 -4
  77. package/dist/{commands-core.runtime-BpRYOOMO.js → commands-core.runtime-BRCfd-33.js} +21 -21
  78. package/dist/{commands-handlers.runtime-CZHHYyzf.js → commands-handlers.runtime-CR0HGQzR.js} +37 -37
  79. package/dist/{commands-status.runtime-B-GnL-VS.js → commands-status.runtime-DjQOH6g-.js} +19 -19
  80. package/dist/{commands.runtime-Bj9ga9MT.js → commands.runtime-hsb9KcEQ.js} +21 -21
  81. package/dist/{compact.runtime-CdBroITS.js → compact.runtime-C2XAKSLI.js} +19 -19
  82. package/dist/{completion-cli-kRec0CWS.js → completion-cli-COY2jqyd.js} +3 -3
  83. package/dist/{completion-cli-Bq8XV85J.js → completion-cli-C_WAEEE3.js} +2 -2
  84. package/dist/{config-cli-BYCA-iPM.js → config-cli-D_W95p5D.js} +21 -21
  85. package/dist/{config-guard-Cwr_cNeJ.js → config-guard-DPjo5ueL.js} +1 -1
  86. package/dist/{config-validation-DdoPNepT.js → config-validation-CObsiwtW.js} +1 -1
  87. package/dist/{configure-Dsnm-Ir2.js → configure-BoT1Mn9Y.js} +10 -10
  88. package/dist/{configure-B4ln4G6g.js → configure-CiOOIY9X.js} +80 -80
  89. package/dist/{credentials-Bs62UXYm.js → credentials-BP_REzGo.js} +22 -22
  90. package/dist/{credentials-read-Bh2q30jm.js → credentials-read-Ctw8fUHL.js} +1 -1
  91. package/dist/{credentials-write.runtime-C7dM8wyv.js → credentials-write.runtime-C-esgXXQ.js} +2 -2
  92. package/dist/{daemon-install-Y3CYUtX4.js → daemon-install-D5g6l5YG.js} +2 -2
  93. package/dist/{deliver-CR4444dH.js → deliver-BmBKH0vq.js} +19 -19
  94. package/dist/{deliver-runtime-CNc9Aad-.js → deliver-runtime-CM7bZfks.js} +19 -19
  95. package/dist/{directive-handling.fast-lane-Dt2KTIe5.js → directive-handling.fast-lane-B6I-x6TA.js} +22 -22
  96. package/dist/{directive-handling.impl-BaUsXoy2.js → directive-handling.impl-BlbYq7u0.js} +5 -5
  97. package/dist/{directive-handling.impl-D5J8xrYm.js → directive-handling.impl-BmUx8KZn.js} +22 -22
  98. package/dist/{directive-handling.persist.runtime-4Axq0DLo.js → directive-handling.persist.runtime-BShZSJBB.js} +4 -4
  99. package/dist/{directive-handling.shared-DmCT9_Rg.js → directive-handling.shared-CqEG8VVf.js} +1 -1
  100. package/dist/{directory-cli-D-ntETKX.js → directory-cli-D7G5ix1A.js} +21 -21
  101. package/dist/{discord-4CFl2xzs.js → discord-DXsmxXiz.js} +29 -29
  102. package/dist/{discord-D39mQ5Rd.js → discord-qTmPDm9r.js} +8 -8
  103. package/dist/{dispatch-acp.runtime-BBmK1C89.js → dispatch-acp.runtime-D75jx8-p.js} +21 -21
  104. package/dist/{doctor-completion-BxDlXsGv.js → doctor-completion-DL3ak6p_.js} +1 -1
  105. package/dist/{doctor-config-preflight-D5voShkd.js → doctor-config-preflight-BJ5wj6AI.js} +1 -1
  106. package/dist/{doctor-config-preflight-CbCtPfaf.js → doctor-config-preflight-D1A0fJZk.js} +1 -1
  107. package/dist/{doctor-state-migrations-DjxQL7mH.js → doctor-state-migrations-Cw9TTCJ1.js} +20 -20
  108. package/dist/{doctor-state-migrations-BU45Yv4K.js → doctor-state-migrations-CyD4ajcS.js} +1 -1
  109. package/dist/{encryption-guidance-C3e_Pa6m.js → encryption-guidance-C0063Qkl.js} +1 -1
  110. package/dist/entry.js +1 -1
  111. package/dist/extensionAPI.js +19 -19
  112. package/dist/extensions/amazon-bedrock/index.js +19 -19
  113. package/dist/extensions/anthropic/index.js +20 -20
  114. package/dist/extensions/anthropic/media-understanding-provider.js +2 -2
  115. package/dist/extensions/bluebubbles/api.js +23 -23
  116. package/dist/extensions/bluebubbles/index.js +24 -24
  117. package/dist/extensions/bluebubbles/runtime-api.js +19 -19
  118. package/dist/extensions/bluebubbles/setup-entry.js +21 -21
  119. package/dist/extensions/byteplus/index.js +19 -19
  120. package/dist/extensions/chutes/index.js +20 -20
  121. package/dist/extensions/cloudflare-ai-gateway/index.js +19 -19
  122. package/dist/extensions/deepgram/audio.js +1 -1
  123. package/dist/extensions/deepgram/index.js +1 -1
  124. package/dist/extensions/deepgram/media-understanding-provider.js +1 -1
  125. package/dist/extensions/device-pair/api.js +19 -19
  126. package/dist/extensions/device-pair/index.js +19 -19
  127. package/dist/extensions/device-pair/notify.js +19 -19
  128. package/dist/extensions/device-pair/qr-image.js +19 -19
  129. package/dist/extensions/discord/api.js +19 -19
  130. package/dist/extensions/discord/index.js +27 -27
  131. package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2021-11-03/index.d.ts +0 -0
  132. package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2021-11-03/index.ts +0 -0
  133. package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2022-01-31/index.d.ts +0 -0
  134. package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2022-01-31/index.ts +0 -0
  135. package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2022-03-21/index.d.ts +0 -0
  136. package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2022-03-21/index.ts +0 -0
  137. package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2022-08-04/index.d.ts +0 -0
  138. package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2022-08-04/index.ts +0 -0
  139. package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2022-10-31/index.d.ts +0 -0
  140. package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2022-10-31/index.ts +0 -0
  141. package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2022-11-30/index.d.ts +0 -0
  142. package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2022-11-30/index.ts +0 -0
  143. package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2023-03-01/index.d.ts +0 -0
  144. package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2023-03-01/index.ts +0 -0
  145. package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2023-07-01/index.d.ts +0 -0
  146. package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2023-07-01/index.ts +0 -0
  147. package/dist/extensions/discord/node_modules/@cloudflare/workers-types/experimental/index.d.ts +0 -0
  148. package/dist/extensions/discord/node_modules/@cloudflare/workers-types/experimental/index.ts +0 -0
  149. package/dist/extensions/discord/node_modules/@cloudflare/workers-types/index.d.ts +0 -0
  150. package/dist/extensions/discord/node_modules/@cloudflare/workers-types/index.ts +0 -0
  151. package/dist/extensions/discord/node_modules/@cloudflare/workers-types/latest/index.d.ts +0 -0
  152. package/dist/extensions/discord/node_modules/@cloudflare/workers-types/latest/index.ts +0 -0
  153. package/dist/extensions/discord/node_modules/@cloudflare/workers-types/oldest/index.d.ts +0 -0
  154. package/dist/extensions/discord/node_modules/@cloudflare/workers-types/oldest/index.ts +0 -0
  155. package/dist/extensions/discord/node_modules/opusscript/build/opusscript_native_wasm.wasm +0 -0
  156. package/dist/extensions/discord/runtime-api.js +29 -29
  157. package/dist/extensions/discord/setup-entry.js +22 -22
  158. package/dist/extensions/elevenlabs/index.js +19 -19
  159. package/dist/extensions/elevenlabs/speech-provider.js +19 -19
  160. package/dist/extensions/fal/image-generation-provider.js +20 -20
  161. package/dist/extensions/fal/index.js +20 -20
  162. package/dist/extensions/feishu/api.js +19 -19
  163. package/dist/extensions/feishu/index.js +22 -22
  164. package/dist/extensions/feishu/node_modules/axios/lib/adapters/http.js +0 -0
  165. package/dist/extensions/feishu/runtime-api.js +19 -19
  166. package/dist/extensions/feishu/setup-api.js +19 -19
  167. package/dist/extensions/feishu/setup-entry.js +20 -20
  168. package/dist/extensions/firecrawl/index.js +19 -19
  169. package/dist/extensions/github-copilot/index.js +20 -20
  170. package/dist/extensions/github-copilot/login.js +19 -19
  171. package/dist/extensions/google/gemini-cli-provider.js +19 -19
  172. package/dist/extensions/google/image-generation-provider.js +19 -19
  173. package/dist/extensions/google/index.js +19 -19
  174. package/dist/extensions/google/media-understanding-provider.js +2 -2
  175. package/dist/extensions/google/oauth.flow.js +19 -19
  176. package/dist/extensions/google/oauth.http.js +19 -19
  177. package/dist/extensions/google/oauth.js +19 -19
  178. package/dist/extensions/google/oauth.project.js +19 -19
  179. package/dist/extensions/google/oauth.runtime.js +19 -19
  180. package/dist/extensions/google/oauth.token.js +19 -19
  181. package/dist/extensions/googlechat/api.js +19 -19
  182. package/dist/extensions/googlechat/index.js +20 -20
  183. package/dist/extensions/googlechat/runtime-api.js +19 -19
  184. package/dist/extensions/googlechat/setup-entry.js +20 -20
  185. package/dist/extensions/groq/index.js +1 -1
  186. package/dist/extensions/groq/media-understanding-provider.js +1 -1
  187. package/dist/extensions/huggingface/index.js +19 -19
  188. package/dist/extensions/imessage/api.js +19 -19
  189. package/dist/extensions/imessage/index.js +23 -23
  190. package/dist/extensions/imessage/runtime-api.js +20 -20
  191. package/dist/extensions/imessage/setup-entry.js +23 -23
  192. package/dist/extensions/irc/api.js +19 -19
  193. package/dist/extensions/irc/index.js +21 -21
  194. package/dist/extensions/irc/setup-entry.js +20 -20
  195. package/dist/extensions/kilocode/index.js +19 -19
  196. package/dist/extensions/kimi-coding/index.js +19 -19
  197. package/dist/extensions/line/api.js +19 -19
  198. package/dist/extensions/line/index.js +21 -21
  199. package/dist/extensions/line/runtime-api.js +19 -19
  200. package/dist/extensions/line/setup-api.js +19 -19
  201. package/dist/extensions/line/setup-entry.js +21 -21
  202. package/dist/extensions/lobster/index.js +19 -19
  203. package/dist/extensions/lobster/runtime-api.js +19 -19
  204. package/dist/extensions/matrix/api.js +28 -28
  205. package/dist/extensions/matrix/helper-api.js +20 -20
  206. package/dist/extensions/matrix/index.js +32 -32
  207. package/dist/extensions/matrix/runtime-api.js +20 -20
  208. package/dist/extensions/matrix/setup-entry.js +27 -27
  209. package/dist/extensions/mattermost/api.js +20 -20
  210. package/dist/extensions/mattermost/index.js +21 -21
  211. package/dist/extensions/mattermost/runtime-api.js +19 -19
  212. package/dist/extensions/mattermost/setup-entry.js +20 -20
  213. package/dist/extensions/microsoft/index.js +19 -19
  214. package/dist/extensions/microsoft/speech-provider.js +19 -19
  215. package/dist/extensions/microsoft-foundry/auth.js +19 -19
  216. package/dist/extensions/microsoft-foundry/cli.js +19 -19
  217. package/dist/extensions/microsoft-foundry/index.js +19 -19
  218. package/dist/extensions/microsoft-foundry/onboard.js +19 -19
  219. package/dist/extensions/microsoft-foundry/provider.js +19 -19
  220. package/dist/extensions/microsoft-foundry/runtime.js +19 -19
  221. package/dist/extensions/microsoft-foundry/shared-runtime.js +19 -19
  222. package/dist/extensions/microsoft-foundry/shared.js +19 -19
  223. package/dist/extensions/minimax/image-generation-provider.js +20 -20
  224. package/dist/extensions/minimax/index.js +21 -21
  225. package/dist/extensions/minimax/media-understanding-provider.js +2 -2
  226. package/dist/extensions/minimax/oauth.js +20 -20
  227. package/dist/extensions/minimax/oauth.runtime.js +20 -20
  228. package/dist/extensions/mistral/index.js +2 -2
  229. package/dist/extensions/mistral/media-understanding-provider.js +2 -2
  230. package/dist/extensions/moonshot/index.js +19 -19
  231. package/dist/extensions/moonshot/media-understanding-provider.js +2 -2
  232. package/dist/extensions/msteams/api.js +21 -21
  233. package/dist/extensions/msteams/index.js +22 -22
  234. package/dist/extensions/msteams/runtime-api.js +19 -19
  235. package/dist/extensions/msteams/setup-entry.js +22 -22
  236. package/dist/extensions/nextcloud-talk/api.js +20 -20
  237. package/dist/extensions/nextcloud-talk/index.js +21 -21
  238. package/dist/extensions/nextcloud-talk/runtime-api.js +19 -19
  239. package/dist/extensions/nextcloud-talk/setup-entry.js +20 -20
  240. package/dist/extensions/nostr/api.js +19 -19
  241. package/dist/extensions/nostr/index.js +21 -21
  242. package/dist/extensions/nostr/runtime-api.js +19 -19
  243. package/dist/extensions/nostr/setup-api.js +20 -20
  244. package/dist/extensions/nostr/setup-entry.js +21 -21
  245. package/dist/extensions/openai/image-generation-provider.js +20 -20
  246. package/dist/extensions/openai/index.js +24 -24
  247. package/dist/extensions/openai/media-understanding-provider.js +2 -2
  248. package/dist/extensions/openai/openai-codex-provider.js +21 -21
  249. package/dist/extensions/openai/openai-codex-provider.runtime.js +19 -19
  250. package/dist/extensions/openai/openai-provider.js +20 -20
  251. package/dist/extensions/openai/speech-provider.js +19 -19
  252. package/dist/extensions/opencode/index.js +19 -19
  253. package/dist/extensions/opencode-go/index.js +19 -19
  254. package/dist/extensions/openrouter/index.js +19 -19
  255. package/dist/extensions/sglang/index.js +19 -19
  256. package/dist/extensions/signal/api.js +19 -19
  257. package/dist/extensions/signal/index.js +22 -22
  258. package/dist/extensions/signal/runtime-api.js +19 -19
  259. package/dist/extensions/signal/setup-entry.js +22 -22
  260. package/dist/extensions/slack/api.js +19 -19
  261. package/dist/extensions/slack/index.js +23 -23
  262. package/dist/extensions/slack/node_modules/axios/lib/adapters/http.js +0 -0
  263. package/dist/extensions/slack/node_modules/semver/bin/semver.js +0 -0
  264. package/dist/extensions/slack/runtime-api.js +23 -23
  265. package/dist/extensions/slack/setup-entry.js +22 -22
  266. package/dist/extensions/synology-chat/index.js +21 -21
  267. package/dist/extensions/synology-chat/setup-api.js +19 -19
  268. package/dist/extensions/synology-chat/setup-entry.js +20 -20
  269. package/dist/extensions/tavily/index.js +19 -19
  270. package/dist/extensions/telegram/api.js +19 -19
  271. package/dist/extensions/telegram/index.js +21 -21
  272. package/dist/extensions/telegram/node_modules/bottleneck/scripts/build.sh +0 -0
  273. package/dist/extensions/telegram/node_modules/bottleneck/scripts/test_all.sh +0 -0
  274. package/dist/extensions/telegram/runtime-api.js +19 -19
  275. package/dist/extensions/telegram/setup-entry.js +21 -21
  276. package/dist/extensions/tlon/bundled-skills/@tloncorp/tlon-skill/bin/tlon.js +0 -0
  277. package/dist/extensions/tlon/bundled-skills/@tloncorp/tlon-skill/scripts/postinstall.js +0 -0
  278. package/dist/extensions/tlon/index.js +20 -20
  279. package/dist/extensions/tlon/setup-api.js +19 -19
  280. package/dist/extensions/tlon/setup-entry.js +20 -20
  281. package/dist/extensions/twitch/index.js +19 -19
  282. package/dist/extensions/vllm/index.js +19 -19
  283. package/dist/extensions/voice-call/api.js +19 -19
  284. package/dist/extensions/voice-call/index.js +19 -19
  285. package/dist/extensions/voice-call/runtime-api.js +19 -19
  286. package/dist/extensions/volcengine/index.js +19 -19
  287. package/dist/extensions/whatsapp/action-runtime-api.js +23 -23
  288. package/dist/extensions/whatsapp/action-runtime.runtime.js +23 -23
  289. package/dist/extensions/whatsapp/api.js +22 -22
  290. package/dist/extensions/whatsapp/auth-presence.js +19 -19
  291. package/dist/extensions/whatsapp/index.js +25 -25
  292. package/dist/extensions/whatsapp/light-runtime-api.js +22 -22
  293. package/dist/extensions/whatsapp/login-qr-api.js +21 -21
  294. package/dist/extensions/whatsapp/runtime-api.js +25 -25
  295. package/dist/extensions/whatsapp/setup-entry.js +23 -23
  296. package/dist/extensions/xai/index.js +19 -19
  297. package/dist/extensions/zai/index.js +20 -20
  298. package/dist/extensions/zai/media-understanding-provider.js +2 -2
  299. package/dist/extensions/zalo/api.js +19 -19
  300. package/dist/extensions/zalo/index.js +21 -21
  301. package/dist/extensions/zalo/runtime-api.js +19 -19
  302. package/dist/extensions/zalo/setup-entry.js +20 -20
  303. package/dist/extensions/zalouser/api.js +19 -19
  304. package/dist/extensions/zalouser/index.js +21 -21
  305. package/dist/extensions/zalouser/runtime-api.js +19 -19
  306. package/dist/extensions/zalouser/setup-entry.js +20 -20
  307. package/dist/{feishu-DAfm89Ne.js → feishu-C8db2nD4.js} +2 -2
  308. package/dist/{gateway-cli-DQ5fdSX-.js → gateway-cli-BhZJxUIQ.js} +52 -52
  309. package/dist/{get-reply-from-config.runtime-1QHXDFiF.js → get-reply-from-config.runtime-DFU6Um_0.js} +19 -19
  310. package/dist/{health-Ch5rG-yt.js → health-BRYBj_5M.js} +2 -2
  311. package/dist/{health-U_VD3M-X.js → health-CHQfsRmf.js} +1 -1
  312. package/dist/{helper-api-sb3px4St.js → helper-api-BAFfB8Eq.js} +1 -1
  313. package/dist/{hooks-cli-C-IJXJJK.js → hooks-cli-D680qRUg.js} +27 -27
  314. package/dist/{image-DYAVm4B_.js → image-F5pDB1aX.js} +19 -19
  315. package/dist/{image-generation-provider-BZUvqThx.js → image-generation-provider-B6SkqaSK.js} +1 -1
  316. package/dist/{image-generation-provider-B6HOHZPa.js → image-generation-provider-D_5H6_l5.js} +1 -1
  317. package/dist/{image-generation-provider-CdSWrVdg.js → image-generation-provider-GwhE-YOJ.js} +1 -1
  318. package/dist/{imessage-BpHhiPZ8.js → imessage-3enMK0oL.js} +5 -5
  319. package/dist/{imessage-CmTkA3tu.js → imessage-CqmmhRly.js} +20 -20
  320. package/dist/{imessage-DQ7mZxR2.js → imessage-qV2vB2Yv.js} +1 -1
  321. package/dist/index.js +2 -2
  322. package/dist/{input-files-BaH2xNfq.js → input-files-Bwd7Rs-c.js} +1 -1
  323. package/dist/{irc-DcCw8fHY.js → irc-DrWWRnSY.js} +2 -2
  324. package/dist/{kb-cli-CZO3ntYH.js → kb-cli-Ck-nSjXd.js} +6 -6
  325. package/dist/{level-overrides-DXdu8VWh.js → level-overrides-X6UNF009.js} +3 -3
  326. package/dist/{library-C1zzlE79.js → library-DmIlb86_.js} +19 -19
  327. package/dist/{line-ch3hQ4Ib.js → line-BgImerRg.js} +2 -2
  328. package/dist/{llm-slug-generator-0dp6rtz_.js → llm-slug-generator-DQijKyaC.js} +1 -1
  329. package/dist/llm-slug-generator.js +20 -20
  330. package/dist/{login-qr-Lby65pZK.js → login-qr-D0IAlBAC.js} +2 -2
  331. package/dist/{login-qr-DZgP1-xQ.js → login-qr-DniSe8iC.js} +21 -21
  332. package/dist/{manager.runtime-DBDC0R6Y.js → manager.runtime-xm4xKgte.js} +19 -19
  333. package/dist/{matrix-CTk91yTE.js → matrix-BNIQQoE_.js} +1 -1
  334. package/dist/{matrix-migration-snapshot-Bw4V54U6.js → matrix-migration-snapshot-BipzOsHf.js} +1 -1
  335. package/dist/{mattermost-CHxzUt1o.js → mattermost-D6Fy4qN7.js} +2 -2
  336. package/dist/{media-understanding-UMiRWD8-.js → media-understanding-DJxYqJn2.js} +1 -1
  337. package/dist/{media-understanding-provider-CglfyjQc.js → media-understanding-provider-4eF385V2.js} +1 -1
  338. package/dist/{media-understanding-provider-LV6EOUbK.js → media-understanding-provider-CgHUcWaB.js} +1 -1
  339. package/dist/{media-understanding-provider-BtI-QryE.js → media-understanding-provider-CpzJJwj-.js} +1 -1
  340. package/dist/{media-understanding-provider-B-6a8wqe.js → media-understanding-provider-D1B39cXD.js} +1 -1
  341. package/dist/{media-understanding-provider-CrwMKCZN.js → media-understanding-provider-DmNcx7tm.js} +1 -1
  342. package/dist/{media-understanding-provider-CwqqqVIn.js → media-understanding-provider-_7CqM13n.js} +1 -1
  343. package/dist/{media-understanding-provider-Df8pFj5j.js → media-understanding-provider-lhiwHTQe.js} +1 -1
  344. package/dist/{media-understanding.runtime-DzuRi3ex.js → media-understanding.runtime-CovHOYvs.js} +19 -19
  345. package/dist/{memory-cli-B6ntRRG3.js → memory-cli-f2A63Z3i.js} +1 -1
  346. package/dist/{memory-cli.runtime-B0WsFtO6.js → memory-cli.runtime-CrZ3hOR4.js} +20 -20
  347. package/dist/{memory-tool.runtime-G24H6pM2.js → memory-tool.runtime-tPWYHa4h.js} +8 -8
  348. package/dist/{message-handler-DgKm2IRd.js → message-handler-CPqHBuUA.js} +5 -5
  349. package/dist/{model-catalog.runtime-Brzzbmjx.js → model-catalog.runtime-J03LOP_0.js} +19 -19
  350. package/dist/{model-picker-TgAPF80l.js → model-picker-B1dYBlNq.js} +20 -20
  351. package/dist/{model-picker-DnZzHtjs.js → model-picker-BLbQLW-8.js} +2 -2
  352. package/dist/{model-picker.runtime-DYyDSe3Y.js → model-picker.runtime-DqkKpuuM.js} +21 -21
  353. package/dist/{model-suppression.runtime-CmmbaqiG.js → model-suppression.runtime-DZ5rCs4V.js} +19 -19
  354. package/dist/{models-BypV4e0x.js → models-DZagEqNI.js} +23 -23
  355. package/dist/{models-C4I-QaFn.js → models-FROY9JT8.js} +5 -5
  356. package/dist/{models-cli-yxlL4EE5.js → models-cli-C7WtN2US.js} +23 -23
  357. package/dist/{models-config-3u--_pML.js → models-config-BxPPQ_Xn.js} +19 -19
  358. package/dist/{models-config.runtime-5gbgiQPZ.js → models-config.runtime-CX16Xh37.js} +19 -19
  359. package/dist/{mongodb-analytics-qg8zwvek.js → mongodb-analytics-Csq_gZGe.js} +1 -1
  360. package/dist/{mongodb-analytics-BSMApVSO.js → mongodb-analytics-D5c4_54u.js} +2 -2
  361. package/dist/{mongodb-kb-CumfgJ4z.js → mongodb-kb-DLMbN3EX.js} +1 -1
  362. package/dist/{mongodb-kb-search-BhNWYrUs.js → mongodb-kb-search-41d-jF5h.js} +3 -3
  363. package/dist/{mongodb-kb-search-CeBKQO-B.js → mongodb-kb-search-p3yHZihO.js} +1 -1
  364. package/dist/{mongodb-manager--Zs-oIkk.js → mongodb-manager-CZKPOn9-.js} +229 -20
  365. package/dist/{mongodb-manager-CPfoxQj8.js → mongodb-manager-DB_QPKNS.js} +7 -7
  366. package/dist/{mongodb-procedures-DAM6zeem.js → mongodb-procedures-BxD5_Od0.js} +3 -3
  367. package/dist/{mongodb-procedures-CobuqpD2.js → mongodb-procedures-FqFUZ4EE.js} +2 -2
  368. package/dist/{mongodb-schema-Bsgr9q6v.js → mongodb-schema-CQaRrvZd.js} +1 -1
  369. package/dist/{mongodb-schema-CJHFxfrx.js → mongodb-schema-xrNHiVhH.js} +16 -7
  370. package/dist/{mongodb-search-BHRn7dF1.js → mongodb-search-C7HfqDY2.js} +1 -1
  371. package/dist/{mongodb-structured-memory-D4lNdWB9.js → mongodb-structured-memory-D1yQLG0x.js} +3 -3
  372. package/dist/{mongodb-structured-memory-BlYP5KWD.js → mongodb-structured-memory-Yccp2p-h.js} +2 -2
  373. package/dist/{monitor-CIToiuwg.js → monitor-BME1o7pu.js} +19 -19
  374. package/dist/{monitor-CDfWpqcx.js → monitor-Chh7Miml.js} +27 -27
  375. package/dist/{monitor-JPdN6WeQ.js → monitor-D6IJ9tTv.js} +3 -3
  376. package/dist/{monitor-CIfR6zbp.js → monitor-DEpKYWtl.js} +19 -19
  377. package/dist/{monitor-COiWsxl7.js → monitor-DKkPvN7m.js} +20 -20
  378. package/dist/{monitor-C_SOlJ_G.js → monitor-DOu3Ia0T.js} +1 -1
  379. package/dist/{nextcloud-talk-1Gt8afk_.js → nextcloud-talk-D0WWjkP4.js} +2 -2
  380. package/dist/{node-cli-CT38_Wdg.js → node-cli-Dg4euaAB.js} +19 -19
  381. package/dist/{nodes-cli-CyiFT1SQ.js → nodes-cli-CR7K7GJ0.js} +19 -19
  382. package/dist/{oauth-BpzyXsae.js → oauth-B4LMwV_0.js} +1 -1
  383. package/dist/{onboard-CbfnxuTW.js → onboard-CZDDU8yf.js} +4 -4
  384. package/dist/{onboard-channels-CdMbn_WA.js → onboard-channels-BcBffi7N.js} +68 -68
  385. package/dist/{onboard-channels-DmJdrOkU.js → onboard-channels-CCjGYLNZ.js} +21 -21
  386. package/dist/{onboard-custom-lcCTz5S-.js → onboard-custom-BZ-vv1WO.js} +1 -1
  387. package/dist/{onboard-custom-Ze5mpBkN.js → onboard-custom-CkTSj0YZ.js} +21 -21
  388. package/dist/{onboard-search-de3_TfoC.js → onboard-search-DoLw7J22.js} +19 -19
  389. package/dist/{onboarding-memory-CJaXaUlN.js → onboarding-memory-DAIRJoqn.js} +2 -2
  390. package/dist/{openai-codex-provider-BEv_ZLte.js → openai-codex-provider-CpEAQYdU.js} +2 -2
  391. package/dist/{openai-provider-CzynW3Tk.js → openai-provider-DmPBYNJG.js} +1 -1
  392. package/dist/{openclaw-tools.runtime-C-MSNR-3.js → openclaw-tools.runtime-Bk0T5vfp.js} +19 -19
  393. package/dist/{pi-embedded-BTJ6JO78.js → pi-embedded-gwZ5hg-9.js} +39 -39
  394. package/dist/{pi-embedded.runtime-BgDuoU-k.js → pi-embedded.runtime-DbyjNojX.js} +19 -19
  395. package/dist/{plugin-entry.runtime-DhIWzVPR.js → plugin-entry.runtime-BBozbg33.js} +25 -25
  396. package/dist/{plugin-install-CJtPpsUE.js → plugin-install-BJxeypaA.js} +20 -20
  397. package/dist/{plugin-install-DttRvMaB.js → plugin-install-CD7iRmTH.js} +1 -1
  398. package/dist/{plugin-install-config-policy-BNbWWW2z.js → plugin-install-config-policy-DAx-ilyj.js} +1 -1
  399. package/dist/{plugin-registry-B3vXGLpf.js → plugin-registry-B0XRdoj7.js} +1 -1
  400. package/dist/{plugin-registry-DkyxmvO6.js → plugin-registry-CRe2cv80.js} +20 -20
  401. package/dist/plugin-sdk/account-resolution.js +19 -19
  402. package/dist/plugin-sdk/agent-runtime.js +19 -19
  403. package/dist/plugin-sdk/allow-from.js +19 -19
  404. package/dist/plugin-sdk/bluebubbles.js +19 -19
  405. package/dist/plugin-sdk/channel-config-helpers.js +19 -19
  406. package/dist/plugin-sdk/channel-inbound.js +19 -19
  407. package/dist/plugin-sdk/channel-policy.js +19 -19
  408. package/dist/plugin-sdk/channel-runtime.js +19 -19
  409. package/dist/plugin-sdk/command-auth.js +19 -19
  410. package/dist/plugin-sdk/compat.js +19 -19
  411. package/dist/plugin-sdk/core.js +19 -19
  412. package/dist/plugin-sdk/directory-runtime.js +1 -1
  413. package/dist/plugin-sdk/discord.js +29 -29
  414. package/dist/plugin-sdk/feishu.js +19 -19
  415. package/dist/plugin-sdk/googlechat.js +19 -19
  416. package/dist/plugin-sdk/image-generation-core.js +19 -19
  417. package/dist/plugin-sdk/image-generation.js +21 -21
  418. package/dist/plugin-sdk/imessage-core.js +19 -19
  419. package/dist/plugin-sdk/imessage.js +20 -20
  420. package/dist/plugin-sdk/index.js +21 -21
  421. package/dist/plugin-sdk/infra-runtime.js +19 -19
  422. package/dist/plugin-sdk/irc.js +19 -19
  423. package/dist/plugin-sdk/line-core.js +19 -19
  424. package/dist/plugin-sdk/line-runtime.js +19 -19
  425. package/dist/plugin-sdk/line.js +19 -19
  426. package/dist/plugin-sdk/matrix-runtime-heavy.js +21 -21
  427. package/dist/plugin-sdk/matrix.js +20 -20
  428. package/dist/plugin-sdk/mattermost.js +19 -19
  429. package/dist/plugin-sdk/media-runtime.js +19 -19
  430. package/dist/plugin-sdk/media-understanding-runtime.js +19 -19
  431. package/dist/plugin-sdk/media-understanding.js +1 -1
  432. package/dist/plugin-sdk/msteams.js +19 -19
  433. package/dist/plugin-sdk/nextcloud-talk.js +19 -19
  434. package/dist/plugin-sdk/nostr.js +19 -19
  435. package/dist/plugin-sdk/plugin-runtime.js +19 -19
  436. package/dist/plugin-sdk/provider-auth-api-key.js +2 -2
  437. package/dist/plugin-sdk/provider-auth-login.js +1 -1
  438. package/dist/plugin-sdk/provider-auth.js +19 -19
  439. package/dist/plugin-sdk/provider-stream.js +19 -19
  440. package/dist/plugin-sdk/reply-runtime.js +19 -19
  441. package/dist/plugin-sdk/signal.js +19 -19
  442. package/dist/plugin-sdk/slack.js +23 -23
  443. package/dist/plugin-sdk/speech-core.js +19 -19
  444. package/dist/plugin-sdk/speech-runtime.js +19 -19
  445. package/dist/plugin-sdk/speech.js +19 -19
  446. package/dist/plugin-sdk/src/memory/mongodb-search-executor.d.ts +28 -0
  447. package/dist/plugin-sdk/src/memory/search-utils.d.ts +8 -0
  448. package/dist/plugin-sdk/src/memory/types.d.ts +7 -0
  449. package/dist/plugin-sdk/telegram.js +19 -19
  450. package/dist/plugin-sdk/voice-call.js +19 -19
  451. package/dist/plugin-sdk/whatsapp-core.js +22 -22
  452. package/dist/plugin-sdk/whatsapp-shared.js +19 -19
  453. package/dist/plugin-sdk/zalo.js +19 -19
  454. package/dist/plugin-sdk/zalouser.js +19 -19
  455. package/dist/plugins/build-smoke-entry.js +19 -19
  456. package/dist/plugins/provider-runtime.runtime.js +1 -1
  457. package/dist/plugins/runtime/index.js +32 -32
  458. package/dist/{plugins-cli-ut4oj3do.js → plugins-cli-qs-em8oU.js} +27 -27
  459. package/dist/{plugins-command-helpers-rvnvcYxr.js → plugins-command-helpers-C0nk-qrd.js} +1 -1
  460. package/dist/{plugins-install-persist-IutOzOB6.js → plugins-install-persist-DnOXl6E3.js} +1 -1
  461. package/dist/{plugins-update-command-C_fel82u.js → plugins-update-command-CtwLANvC.js} +4 -4
  462. package/dist/{poll-summary-CNG8Fusj.js → poll-summary-mPV4LjSe.js} +1 -1
  463. package/dist/{preflight-audio.runtime-Yht_V1Le.js → preflight-audio.runtime-Dj61qIC0.js} +19 -19
  464. package/dist/{probe-D72rl6CO.js → probe-By9GWU38.js} +1 -1
  465. package/dist/{profile-update-B5Z8ilIa.js → profile-update-D2aXkjSd.js} +3 -3
  466. package/dist/{program-4TMxpZy_.js → program-DPZ1_a3q.js} +26 -26
  467. package/dist/{prompt-select-styled-BLu5H3Iu.js → prompt-select-styled-B1HZzUEM.js} +13 -13
  468. package/dist/{provider-7_3-BcYG.js → provider-BaahuVFX.js} +10 -10
  469. package/dist/{provider-auth-choice-BddX8_Ml.js → provider-auth-choice-CSoUYmew.js} +1 -1
  470. package/dist/{provider-auth-choice-preference-CrnnKpVA.js → provider-auth-choice-preference-CrxAo3BY.js} +2 -2
  471. package/dist/{provider-auth-choice.runtime-Bu1ZtMTk.js → provider-auth-choice.runtime-DUgq2ClG.js} +21 -21
  472. package/dist/{provider-auth-choice.runtime-BGE7w978.js → provider-auth-choice.runtime-w2nVW5WK.js} +2 -2
  473. package/dist/{provider-auth-guidance-DS2ZuTD0.js → provider-auth-guidance-MYPwodls.js} +1 -1
  474. package/dist/{provider-auth-login-C1r5GM4i.js → provider-auth-login-CLO7UQyn.js} +1 -1
  475. package/dist/{provider-auth-login.runtime-Dk6_ZqRz.js → provider-auth-login.runtime-CgfVXGFU.js} +19 -19
  476. package/dist/{provider-runtime-CJEWm23t.js → provider-runtime-BDMlGGzb.js} +19 -19
  477. package/dist/{provider-runtime.runtime-DDgrBRLf.js → provider-runtime.runtime-BDdRJh54.js} +1 -1
  478. package/dist/{provider-session.runtime-BkTJMsCn.js → provider-session.runtime-CAqHLehG.js} +23 -23
  479. package/dist/{provider-usage-CRyRjyGd.js → provider-usage-CGCChzhD.js} +19 -19
  480. package/dist/{provider-wizard-BsQikn24.js → provider-wizard-CHAa6htg.js} +1 -1
  481. package/dist/{provider.runtime-xMrL_pJh.js → provider.runtime-B6_VOu8j.js} +25 -25
  482. package/dist/{push-apns-DAkue9zw.js → push-apns-BegW0CyP.js} +1 -1
  483. package/dist/{qr-cli-CeiE35Dc.js → qr-cli-B-2zezlv.js} +1 -1
  484. package/dist/{qr-cli-BYzDr-x-.js → qr-cli-BWAgHWa5.js} +20 -20
  485. package/dist/{read-only-account-inspect-BTQe0sT8.js → read-only-account-inspect-1yQMBx2j.js} +3 -3
  486. package/dist/{read-only-account-inspect.discord.runtime-C-IO6zkd.js → read-only-account-inspect.discord.runtime-BP_lN82K.js} +19 -19
  487. package/dist/{read-only-account-inspect.slack.runtime-BQAZCGkh.js → read-only-account-inspect.slack.runtime-BlozBKFg.js} +19 -19
  488. package/dist/{read-only-account-inspect.telegram.runtime-DqN2PI7b.js → read-only-account-inspect.telegram.runtime-C_tpGKq8.js} +19 -19
  489. package/dist/{register.agent-D_b9lTfb.js → register.agent-C4LmgQ-8.js} +79 -79
  490. package/dist/{register.configure-BLtqPmam.js → register.configure-l8gksRmW.js} +80 -80
  491. package/dist/{register.maintenance-Bk-Hn7SB.js → register.maintenance-CpeKzgwN.js} +35 -35
  492. package/dist/{register.message-Bu-OcxdA.js → register.message-DiznSCij.js} +20 -20
  493. package/dist/{register.onboard-BTFDvscE.js → register.onboard-Cb6BnJfK.js} +24 -24
  494. package/dist/{register.setup-sVqaV2FT.js → register.setup-DwqjH9AK.js} +22 -22
  495. package/dist/{register.status-health-sessions-BU1bXsrQ.js → register.status-health-sessions-BrxQ6KEn.js} +25 -25
  496. package/dist/{register.subclis-B1qOtFfK.js → register.subclis-B4XVc_4x.js} +18 -18
  497. package/dist/{register.subclis-CLaHGSD-.js → register.subclis-B70v2Dok.js} +1 -1
  498. package/dist/{replies-CgFl5Aw7.js → replies-ClRihEvG.js} +1 -1
  499. package/dist/{reply-payloads-dedupe.runtime-BWGZO04T.js → reply-payloads-dedupe.runtime-BZYaCeIo.js} +19 -19
  500. package/dist/{resolve-allowlist-DbwZKnpW.js → resolve-allowlist-CgW3bkqX.js} +1 -1
  501. package/dist/{resolve-channels-B7Ufe43c.js → resolve-channels-Q1GpSjyL.js} +2 -2
  502. package/dist/{resolve-targets-CzJQrNp5.js → resolve-targets-D995HebZ.js} +1 -1
  503. package/dist/{resolve-users-PZ9SfZPy.js → resolve-users-BtO5FIEX.js} +1 -1
  504. package/dist/{resolve-users-rHAqZUhg.js → resolve-users-DpT4k4Cr.js} +1 -1
  505. package/dist/{route-reply.runtime-B8ftgCm9.js → route-reply.runtime-BhbLZOmm.js} +19 -19
  506. package/dist/{route-resolution-y0cc0LsM.js → route-resolution-BIJbRie_.js} +1 -1
  507. package/dist/{run-main-C6oLk7UA.js → run-main-7-vbPft2.js} +17 -17
  508. package/dist/{runtime-C5LUWYAK.js → runtime-C9XRxMGJ.js} +15 -15
  509. package/dist/{runtime-api-BqegFQ1W.js → runtime-api-BCnvHBxV.js} +1 -1
  510. package/dist/{runtime-api-BPWBJF1r.js → runtime-api-BUMpVHJ6.js} +1 -1
  511. package/dist/{runtime-api-Cvm0N8kC.js → runtime-api-C4Y64RLo.js} +7 -7
  512. package/dist/{runtime-discord-ops.runtime-BCqCLCzH.js → runtime-discord-ops.runtime-BosFi3Mj.js} +29 -29
  513. package/dist/{runtime-embedded-pi.runtime-r03F73VL.js → runtime-embedded-pi.runtime-wwT1tEAw.js} +19 -19
  514. package/dist/{runtime-media-understanding.runtime-BwZKC8rO.js → runtime-media-understanding.runtime-DdbTCMUB.js} +19 -19
  515. package/dist/{runtime-model-auth.runtime-DLewLudS.js → runtime-model-auth.runtime-CNummRuy.js} +19 -19
  516. package/dist/{runtime-schema-CBiwYCmy.js → runtime-schema-BktzaAdG.js} +2 -2
  517. package/dist/{runtime-slack-ops.runtime-CUkNfhY5.js → runtime-slack-ops.runtime--d6by7cL.js} +23 -23
  518. package/dist/{runtime-telegram-ops.runtime-qIwp5p7q.js → runtime-telegram-ops.runtime-BUfCKAVq.js} +19 -19
  519. package/dist/{runtime-tts.runtime-CC3F0FOC.js → runtime-tts.runtime-DA096WA3.js} +19 -19
  520. package/dist/{search-manager-D_BnmkI_.js → search-manager-BlT2Zb4i.js} +1 -1
  521. package/dist/{search-manager-IcYZu7aE.js → search-manager-DQd2otzd.js} +1 -1
  522. package/dist/{secrets-cli-8CycF-5i.js → secrets-cli-CTouKWW9.js} +19 -19
  523. package/dist/{security-cli-E-X2Uzs0.js → security-cli-CiXKrtth.js} +20 -20
  524. package/dist/{send-Cgo9NxMT.js → send-BSca4GIA.js} +5 -5
  525. package/dist/{server-node-events-lK9q3nqZ.js → server-node-events-fU7K5ls1.js} +20 -20
  526. package/dist/{server-startup-matrix-migration-ByASvLuc.js → server-startup-matrix-migration-CVmhTfDY.js} +2 -2
  527. package/dist/{session-BBsZKt5n.js → session-D3jpdP6d.js} +1 -1
  528. package/dist/{session-cost-usage-VvM6PPmc.js → session-cost-usage-7-YeoAlD.js} +20 -20
  529. package/dist/{session-cost-usage-D6n4vBJx.js → session-cost-usage-BjLshLU6.js} +1 -1
  530. package/dist/{session-system-events-DSTdWdbE.js → session-system-events-AQo6KIlo.js} +1 -1
  531. package/dist/{session-updates.runtime-BFBXRe-j.js → session-updates.runtime-BPOrfQZT.js} +3 -3
  532. package/dist/{sessions-DyzSGMVD.js → sessions-48iXwZnl.js} +20 -20
  533. package/dist/{sessions-DRy1UI3l.js → sessions-CJTqXLS8.js} +2 -2
  534. package/dist/{setup-BINrlDkd.js → setup-DPELG2Vp.js} +9 -9
  535. package/dist/{setup-core-BhIi9PVc.js → setup-core-BCeD5CV6.js} +1 -1
  536. package/dist/{setup-core-CGwCnv7D.js → setup-core-BMWAhyRq.js} +2 -2
  537. package/dist/{setup-core-1UbYG-pF.js → setup-core-Bf9ZwvjX.js} +1 -1
  538. package/dist/{setup-core-CLQmmwkw.js → setup-core-DYP0wxtc.js} +1 -1
  539. package/dist/{setup-entry-lfZ4hXP4.js → setup-entry-B-Oy31eD.js} +3 -3
  540. package/dist/{setup-entry-tRK0vqq9.js → setup-entry-B29P2khw.js} +2 -2
  541. package/dist/{setup-entry-_d3sU_VL.js → setup-entry-BOEd0Ane.js} +2 -2
  542. package/dist/{setup-entry-Dbpj9LvN.js → setup-entry-C4TPJwTw.js} +3 -3
  543. package/dist/{setup-entry-B9BscY1h.js → setup-entry-Cpojh89d.js} +3 -3
  544. package/dist/{setup-entry-Cr84K4Uh.js → setup-entry-Hfrt8kt9.js} +2 -2
  545. package/dist/{setup-surface-BAoLAVIS.js → setup-surface-BhRNCMPg.js} +1 -1
  546. package/dist/{setup-surface-Bq8CCsw0.js → setup-surface-Bq3MzRTO.js} +2 -2
  547. package/dist/{setup-surface-BSPQE-EJ.js → setup-surface-CoFPZdQS.js} +22 -22
  548. package/dist/{setup-surface-14luDtku.js → setup-surface-E4hLJsq5.js} +2 -2
  549. package/dist/{setup-surface-Cq7PnSWt.js → setup-surface-W2VLxXDM.js} +1 -1
  550. package/dist/{setup.finalize-B6VOfrgd.js → setup.finalize-84Gf0ObS.js} +27 -27
  551. package/dist/{shared-MnhwscPz.js → shared-BJMhOB2G.js} +3 -3
  552. package/dist/{shared-sW0JYaOH.js → shared-D0XeAdo9.js} +3 -3
  553. package/dist/{shared-B0okQn9t.js → shared-RHV7JyZc.js} +2 -2
  554. package/dist/{shared-cyAcNs5Z.js → shared-cjPYmDse.js} +1 -1
  555. package/dist/{shared-B4mgl1hs.js → shared-nNepSWGa.js} +3 -3
  556. package/dist/{shared-cSJLw4mZ.js → shared-uMMtJTMV.js} +1 -1
  557. package/dist/{signal-C36jfJU3.js → signal-CME5sJ0w.js} +3 -3
  558. package/dist/{signal-BAZKGRfn.js → signal-D4Lbf988.js} +19 -19
  559. package/dist/{slack--31D299J.js → slack-CODJLiIt.js} +23 -23
  560. package/dist/{slack-B9lSH1M2.js → slack-gymwMRHI.js} +4 -4
  561. package/dist/{slash-commands.runtime-DdeDPbjA.js → slash-commands.runtime-BU-vIH8R.js} +19 -19
  562. package/dist/{slash-dispatch.runtime-ADbYSJpf.js → slash-dispatch.runtime-Dhfe7IYa.js} +20 -20
  563. package/dist/{slash-skill-commands.runtime-Da40q2OX.js → slash-skill-commands.runtime-mw13ajQT.js} +19 -19
  564. package/dist/{src-DOwTfreQ.js → src-BlkqMEit.js} +21 -21
  565. package/dist/{status-XNNhFJFh.js → status-1rpgeSGa.js} +1 -1
  566. package/dist/{status-Bf6ZMQXm.js → status-BZsBg9xV.js} +24 -24
  567. package/dist/{status-DrEiuz53.js → status-CC-ehab5.js} +9 -9
  568. package/dist/{status-T77yTR0p.js → status-Dw5aNMUi.js} +1 -1
  569. package/dist/{status-json-CiaELzwJ.js → status-json-DQ99lhAL.js} +5 -5
  570. package/dist/{status.link-channel-xcMdXLjx.js → status.link-channel-DuNmDjGh.js} +2 -2
  571. package/dist/{status.scan.deps.runtime-CUPJWHFt.js → status.scan.deps.runtime-DWQ5IOU6.js} +8 -8
  572. package/dist/{status.scan.json-core-DGIwFxFo.js → status.scan.json-core-B0T4DsPj.js} +4 -4
  573. package/dist/{status.scan.runtime-BAAA0eKn.js → status.scan.runtime-DkJC6Vgv.js} +2 -2
  574. package/dist/{subagent-orphan-recovery-DdbLuYCt.js → subagent-orphan-recovery-DSxLQZvE.js} +19 -19
  575. package/dist/{subagent-registry-runtime-CWyyx5KZ.js → subagent-registry-runtime-CV_OzD0q.js} +19 -19
  576. package/dist/{synology-chat-CoeHg_-G.js → synology-chat-BaUHBtMN.js} +2 -2
  577. package/dist/{targets-BF8_iYux.js → targets-CjzBweAX.js} +1 -1
  578. package/dist/telegram/audit.js +1 -1
  579. package/dist/telegram/token.js +19 -19
  580. package/dist/{telegram-Bq29SDXS.js → telegram-CkAzNmH7.js} +19 -19
  581. package/dist/{telegram-DhCtytlC.js → telegram-EebZvTzh.js} +5 -5
  582. package/dist/{thread-bindings-BXSN3Lme.js → thread-bindings-IDx8jZ0O.js} +2 -2
  583. package/dist/{thread-bindings-B92fpSB_.js → thread-bindings-sapdPwgA.js} +1 -1
  584. package/dist/{thread-bindings.messages-BEo_b3yC.js → thread-bindings.messages-r4Dz6nBF.js} +1 -1
  585. package/dist/{tool-actions.runtime-BC4E15O0.js → tool-actions.runtime-D69_bV8W.js} +27 -27
  586. package/dist/{tts.runtime-DCAazXil.js → tts.runtime-Bj0GrgrY.js} +19 -19
  587. package/dist/{tui-VnxDoYFY.js → tui-CoAq-5WQ.js} +1 -1
  588. package/dist/{tui-cli-Dn6jOXXm.js → tui-cli-CYjvD-kF.js} +20 -20
  589. package/dist/{ui-_wzuJeHY.js → ui-BijfqGyW.js} +1 -1
  590. package/dist/{update-cli-CR50kfye.js → update-cli-BxmI8tEh.js} +35 -35
  591. package/dist/{update-offset-store-BmmtcMK9.js → update-offset-store-CWYWIMKg.js} +19 -19
  592. package/dist/{verification-BoW7hiLV.js → verification-DRHMZMyz.js} +3 -3
  593. package/dist/{webhook-shared-DKeX_CoJ.js → webhook-shared-CYZN-G1z.js} +1 -1
  594. package/dist/{whatsapp-core-FP13jVxy.js → whatsapp-core-C_MCKbIX.js} +1 -1
  595. package/dist/{zalo-DZtlBJvq.js → zalo-gLJk_7Mo.js} +2 -2
  596. package/docs/research/2026-03-28-agentic-search-review-github.md +308 -0
  597. package/docs/research/2026-03-28-agentic-search-review-web.md +331 -0
  598. package/docs/research/2026-03-28-brainstorm-validation-github.md +192 -0
  599. package/docs/research/2026-03-28-brainstorm-validation-synthesis.md +190 -0
  600. package/docs/research/2026-03-28-brainstorm-validation-web.md +395 -0
  601. package/package.json +89 -135
  602. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -0
  603. package/skills/tmux/scripts/find-sessions.sh +0 -0
  604. package/skills/tmux/scripts/wait-for-text.sh +0 -0
@@ -0,0 +1,331 @@
1
+ # Web Research: Agentic Memory Search Patterns
2
+
3
+ ## Execution
4
+
5
+ - Preferred backend: brightdata+websearch
6
+ - Allowed fallbacks: websearch+webfetch, curl-based arxiv fetching
7
+ - Research round: 1
8
+ - Bright Data: unavailable (not configured)
9
+ - WebFetch: denied by permissions
10
+ - Fallback: curl-based arxiv abstract extraction + direct source code analysis
11
+
12
+ ## Sources Used
13
+
14
+ - arxiv.org paper abstracts (14 papers fetched via curl)
15
+ - Direct source code analysis of ClawMongo implementation
16
+ - Researcher domain knowledge from established literature (FLARE, Self-RAG, Adaptive-RAG, CRAG, RAPTOR, IRCoT, Modular RAG, GraphRAG, MemGPT/Letta, CoALA, RAGAS)
17
+
18
+ ## Research Quality
19
+
20
+ - Status: COMPLETE
21
+ - Quality level: high
22
+ - Backend mode: websearch+webfetch (curl fallback)
23
+ - Paper abstracts successfully extracted; full-text not needed for validation scope
24
+
25
+ ---
26
+
27
+ ## Executive Summary
28
+
29
+ ClawMongo's selective agentic search implementation is **well-aligned with state-of-the-art retrieval patterns** as defined by the leading RAG research from 2023-2025. The system's core architecture -- request-level query classification driving multi-pass retrieval with hard constraint enforcement and evidence coverage tracking -- maps directly onto techniques described in Adaptive-RAG (NAACL 2024), Self-RAG (2023), Corrective RAG (2024), and FLARE (EMNLP 2023). The implementation is not just derivative; it combines these techniques in a way that few production systems do.
30
+
31
+ What makes ClawMongo's approach **notably strong** is its integration of all six patterns (classification, multi-pass, constraint enforcement, evidence tracking, caching, pure function orchestration) into a single coherent system. Most academic papers and production systems implement 1-2 of these techniques in isolation. The pure-function search executor design is architecturally ahead of most implementations, which tend to be tightly coupled to their storage backends.
32
+
33
+ The **primary gap** is in query expansion sophistication. ClawMongo uses template-based query expansion (appending "alternatives", "differences", "cause/consequence") whereas leading systems like FLARE and IRCoT use LLM-generated query reformulations. The rule-based classifier, while fast and deterministic, could benefit from a lightweight LLM-based classification fallback for ambiguous queries, as shown effective in Adaptive-RAG. Additionally, the system lacks confidence-calibrated retrieval triggers (the FLARE pattern of triggering retrieval based on generation uncertainty).
34
+
35
+ ---
36
+
37
+ ## Topic Analysis
38
+
39
+ ### 1. Multi-Pass / Adaptive Retrieval
40
+
41
+ **State of Art:**
42
+ Multi-pass (iterative) retrieval is firmly established as state-of-the-art for complex queries. The field has converged on the insight that single-pass retrieve-and-generate is insufficient for multi-step reasoning, temporal queries, and comparison tasks.
43
+
44
+ Key approaches:
45
+
46
+ - **FLARE** (Jiang et al., EMNLP 2023) -- iteratively generates upcoming sentences as speculative queries, retrieves if confidence is low, and regenerates. Passes are unbounded but typically 2-5 for complex queries.
47
+ - **Self-RAG** (Asai et al., 2023) -- trains the LM itself to emit special reflection tokens (Retrieve, IsRel, IsSup, IsUse) that control when to retrieve and how to evaluate retrieved passages. The model adaptively decides per-segment whether retrieval is needed.
48
+ - **IRCoT** (Trivedi et al., 2023) -- interleaves retrieval with chain-of-thought steps. Each reasoning step can trigger a new retrieval, and retrieved results inform the next reasoning step. Shows up to 21-point improvement on retrieval precision.
49
+ - **Adaptive-RAG** (Jeong et al., NAACL 2024) -- uses a lightweight classifier to predict query complexity (simple/moderate/complex) and routes to no-retrieval, single-step RAG, or iterative RAG accordingly.
50
+ - **CRAG** (Yan et al., 2024) -- evaluates retrieval quality post-retrieval and triggers corrective actions (web search, query decomposition) when results are insufficient.
51
+
52
+ Early termination is typically based on:
53
+
54
+ - Confidence in generated output (FLARE: token probability thresholds)
55
+ - Reflection token signals (Self-RAG: IsRel + IsSup tokens)
56
+ - Sufficient coverage of query facets (IRCoT)
57
+ - Result quality assessment (CRAG: confident/ambiguous/incorrect trichotomy)
58
+
59
+ Typical pass counts: 1-3 for most systems, with 2-5 being common for complex multi-hop queries.
60
+
61
+ **Key Papers/Systems:**
62
+
63
+ - FLARE: arXiv:2305.06983 (EMNLP 2023)
64
+ - Self-RAG: arXiv:2310.11511
65
+ - IRCoT: arXiv:2212.10509
66
+ - Adaptive-RAG: arXiv:2403.14403 (NAACL 2024)
67
+ - CRAG: arXiv:2401.15884
68
+ - Modular RAG: arXiv:2407.21059
69
+
70
+ **ClawMongo Alignment:** Strong. ClawMongo's 1/2/3 pass structure (direct/auto/agentic) maps directly to Adaptive-RAG's complexity-based routing. The early termination based on evidence coverage is aligned with CRAG's quality-gated approach. The progressive broadening (original query -> expansion queries -> decomposition) follows the same pattern as IRCoT's interleaved retrieval.
71
+
72
+ **Gaps or Opportunities:**
73
+
74
+ 1. ClawMongo's query expansion is template-based (appending fixed suffixes like "alternatives", "tradeoffs"). FLARE and IRCoT use LLM-generated reformulations, which can be more targeted. Consider an optional LLM-based rewrite pass for agentic mode.
75
+ 2. No confidence-triggered retrieval -- FLARE's key innovation is retrieving only when generation confidence drops below a threshold. This could inform when to trigger additional passes.
76
+ 3. The 3-pass maximum is reasonable but could be dynamic -- FLARE allows unbounded passes with diminishing returns detection.
77
+
78
+ ---
79
+
80
+ ### 2. Query Classification for Retrieval Routing
81
+
82
+ **State of Art:**
83
+ Pre-retrieval query classification is a well-established pattern, with increasing adoption in production RAG systems.
84
+
85
+ Taxonomy approaches:
86
+
87
+ - **Adaptive-RAG** classifies queries into three complexity levels (simple, moderate, complex) using a small trained classifier. Simple queries skip retrieval entirely, moderate queries use single-step RAG, complex queries use iterative retrieval.
88
+ - **Modular RAG** (arXiv:2407.21059) describes four RAG patterns based on query characteristics: linear, conditional, branching, and looping. The conditional and branching patterns are driven by query classification.
89
+ - **Google/Perplexity-style systems** use intent classification (navigational, informational, transactional) combined with complexity assessment (single-hop, multi-hop, temporal, comparative).
90
+ - **Web search engines** have long used query classification: Broder's taxonomy (navigational, informational, transactional) is foundational but insufficient for agent memory. More relevant is the distinction between factoid, list, comparison, causal, and temporal queries.
91
+
92
+ Rule-based vs LLM-based classification:
93
+
94
+ - Adaptive-RAG trains a small LM classifier (not a full LLM) -- lightweight but data-dependent.
95
+ - Production systems (LangChain, LlamaIndex) typically use keyword heuristics for routing, with optional LLM-based reclassification.
96
+ - Rule-based classification is competitive for well-defined taxonomies with clear keyword signals. LLM-based classification adds value primarily for ambiguous queries.
97
+
98
+ **Key Papers/Systems:**
99
+
100
+ - Adaptive-RAG: arXiv:2403.14403
101
+ - Modular RAG: arXiv:2407.21059
102
+ - RAG Survey (Gao et al.): arXiv:2312.10997
103
+
104
+ **ClawMongo Alignment:** Strong and arguably ahead of typical implementations. ClawMongo's six-class taxonomy (direct, family, comparison, temporal, scoped, multi-hop) is richer than Adaptive-RAG's three-class system and more aligned with actual agent memory query patterns. The rule-based approach using keyword regexes is production-appropriate and deterministic, matching the LangChain/LlamaIndex pattern.
105
+
106
+ **Gaps or Opportunities:**
107
+
108
+ 1. The classification is purely keyword-based. For ambiguous queries (e.g., "what happened with the project after we changed the database?"), an LLM-based fallback could improve accuracy. The cost is one additional LLM call per ambiguous query.
109
+ 2. The taxonomy lacks an explicit "aggregation" class (e.g., "how many times did we discuss X?") which requires different retrieval strategies (full scan vs. top-k).
110
+ 3. Consider a confidence score on classification itself (not just retrieval) -- when keyword signals conflict, the classifier should express uncertainty and potentially broaden the pass plan.
111
+
112
+ ---
113
+
114
+ ### 3. Hard Constraint Enforcement in Retrieval
115
+
116
+ **State of Art:**
117
+ Hard constraint enforcement in retrieval is an active area with a clear best practice emerging: **hybrid pre-filter + post-filter**.
118
+
119
+ Approaches:
120
+
121
+ - **Pre-filtering** (at the index/search level): Fastest, but limited to what the index supports. MongoDB Atlas `$vectorSearch` supports filter clauses for exact-match pre-filtering. Pre-filtering reduces candidate set before expensive scoring.
122
+ - **Post-filtering** (application layer): More flexible -- can enforce arbitrary constraints including time ranges, evidence requirements, and complex business rules. Risk: may discard all results, leading to empty responses.
123
+ - **Hybrid** (CRAG approach): Pre-filter what you can at the index level, post-filter for complex constraints, and fall back to broader queries if post-filtering eliminates too many results.
124
+ - **Prompt-level** enforcement: Asking the LLM to respect constraints is unreliable. Research consistently shows that LLMs ignore constraints in prompts when context is rich, especially for temporal and numerical constraints.
125
+
126
+ CRAG's key insight: retrieval quality assessment should trigger corrective action, not just filter. If constraint enforcement eliminates results, the system should broaden the query or switch retrieval strategy.
127
+
128
+ **Key Papers/Systems:**
129
+
130
+ - CRAG: arXiv:2401.15884
131
+ - ARAGOG benchmark: arXiv:2404.01037 (comparative study of RAG methods)
132
+ - RAG Survey: arXiv:2312.10997
133
+
134
+ **ClawMongo Alignment:** Excellent. ClawMongo's `applyHardConstraintRejections` function implements pure post-retrieval constraint enforcement with detailed rejection tracking -- this is more transparent and debuggable than pre-filtering alone. The distinction between `hard: true` and `hard: false` constraints in the `RetrievalConstraints` type is a nuanced design not commonly seen in academic papers. The rejected result summaries with reasons provide auditability that most systems lack.
135
+
136
+ **Gaps or Opportunities:**
137
+
138
+ 1. When hard constraint rejection eliminates all results, ClawMongo returns empty results with a reason. CRAG would additionally trigger a corrective retrieval with relaxed constraints or alternative query. This "corrective loop" is the main missing piece.
139
+ 2. Pre-filtering at the MongoDB level could reduce unnecessary document processing. Time range constraints, for example, can be pushed into the `$vectorSearch` filter clause.
140
+ 3. Consider adding configurable constraint relaxation: if hard constraints yield zero results after all passes, automatically retry with softened constraints (e.g., expand "yesterday" to "last-7d") and flag the relaxation in metadata.
141
+
142
+ ---
143
+
144
+ ### 4. Evidence Coverage / Result Confidence
145
+
146
+ **State of Art:**
147
+ Evidence quality tracking is a recognized but underserved area. Most systems track retrieval quality coarsely.
148
+
149
+ Approaches:
150
+
151
+ - **Self-RAG reflection tokens**: Classifies each passage as [Relevant/Irrelevant] and [Fully Supported/Partially Supported/No Support]. This is the closest academic analog to ClawMongo's evidence coverage.
152
+ - **RAGAS framework** (arXiv:2309.15217): Defines three dimensions -- context relevance (is retrieved context relevant?), faithfulness (is the answer supported by context?), and answer relevance (does the answer address the question?). These are post-generation metrics, not retrieval-time.
153
+ - **CRAG confidence trichotomy**: Correct (confidence > threshold), Incorrect (confidence < lower threshold), Ambiguous (between thresholds). Triggers different actions for each.
154
+ - **Production systems** typically use a simple binary (relevant/irrelevant) or score threshold, without a multi-level taxonomy.
155
+
156
+ ClawMongo's four-level taxonomy (direct/partial/indirect/none) is richer than most.
157
+
158
+ **Key Papers/Systems:**
159
+
160
+ - Self-RAG: arXiv:2310.11511 (IsRel, IsSup tokens)
161
+ - RAGAS: arXiv:2309.15217 (reference-free RAG evaluation)
162
+ - CRAG: arXiv:2401.15884 (confidence-gated correction)
163
+
164
+ **ClawMongo Alignment:** Ahead of most implementations. The four-level evidence coverage taxonomy (direct/partial/indirect/none) maps well to Self-RAG's reflection tokens but is applied at the aggregate level rather than per-passage. The `resultHasExactEvidence` function checks for canonical IDs and paths, which is a practical proxy for groundedness. The use of evidence coverage as an early-termination signal is aligned with CRAG's quality-gated approach.
165
+
166
+ **Gaps or Opportunities:**
167
+
168
+ 1. Evidence assessment is currently based on structural signals (has canonical ID? has path?) rather than semantic relevance. Self-RAG and CRAG use model-based relevance scoring. Consider adding an optional LLM-based relevance check for high-stakes queries.
169
+ 2. The system tracks aggregate coverage but not per-result confidence. Adding a per-result relevance score (even a simple cosine similarity threshold) would enable better ranking and result explanation.
170
+ 3. No "faithfulness" metric -- tracking whether the retrieved content actually supports an answer to the query, as in RAGAS. This matters for multi-hop queries where retrieved passages may be topically related but not directly answering.
171
+
172
+ ---
173
+
174
+ ### 5. Search Result Caching in Agent Memory
175
+
176
+ **State of Art:**
177
+ Caching in RAG/agent systems has two primary patterns:
178
+
179
+ 1. **Semantic caching** (GPTCache, Prompt Cache): Uses embedding similarity to match new queries against cached query-response pairs. Threshold-based (typically cosine similarity > 0.95). Effective for repeated or near-duplicate queries.
180
+ 2. **Deterministic caching** (request signature hashing): Uses exact parameter matching via hash of normalized request. More predictable but misses semantic near-duplicates. Standard practice in search engines and API caching.
181
+
182
+ - **GPTCache** (from Zilliz): Open-source semantic caching layer that computes embeddings of queries and matches against cached results using approximate nearest-neighbor search. Supports TTL and LRU eviction.
183
+ - **Prompt Cache** (arXiv:2311.04934): Caches attention states (KV cache) for repeated prompt segments. Achieves 8-60x latency reduction. Different approach (model-level vs. application-level) but demonstrates the value of caching in LLM systems.
184
+ - **Production systems** (LangChain, LlamaIndex): Typically implement TTL-based caching at the retrieval level with exact key matching. Some support semantic caching via embedding similarity.
185
+
186
+ Cache invalidation for dynamic memory:
187
+
188
+ - TTL-based expiration (most common, simple)
189
+ - Event-driven invalidation (on memory write, invalidate relevant cache entries)
190
+ - Versioned caching (cache key includes a memory version counter)
191
+ - No system handles this perfectly; most use aggressive TTL (5-30 minutes) as a pragmatic solution.
192
+
193
+ **Key Papers/Systems:**
194
+
195
+ - GPTCache (Zilliz): open-source semantic cache for LLM applications
196
+ - Prompt Cache: arXiv:2311.04934
197
+
198
+ **ClawMongo Alignment:** Good. The deterministic request signature caching via `buildMemorySearchRequestSignature` using JSON.stringify of sorted/normalized parameters is a solid, predictable approach. The `sortObject` helper ensures deterministic key generation regardless of parameter ordering. The cache-hit metadata reconstruction (preserving planner-visible pass/constraint metadata even on cache hits) is a thoughtful detail not commonly seen.
199
+
200
+ **Gaps or Opportunities:**
201
+
202
+ 1. No semantic caching component -- queries with different wording but identical intent will miss the cache. AWM 2.0's semantic cache (SHA256 exact + 0.95 cosine similarity) is a proven complement.
203
+ 2. Cache invalidation strategy is not visible in the executor code. For agent memory that changes frequently, TTL-based or write-event-driven invalidation is essential.
204
+ 3. The JSON.stringify-based signature could collide if request objects contain floating-point values with different precision. Consider SHA-256 hashing of the normalized JSON string for more compact and collision-resistant keys.
205
+ 4. No cache hit rate tracking or warming strategy. Production systems benefit from cache analytics to tune TTL and identify hot queries.
206
+
207
+ ---
208
+
209
+ ### 6. Agentic Memory Search Architecture Patterns
210
+
211
+ **State of Art:**
212
+ The 2024-2025 period has seen significant advances in LLM agent memory architectures:
213
+
214
+ - **CoALA (Cognitive Architectures for Language Agents)** (arXiv:2309.02427): Proposes modular memory components (working memory, episodic memory, semantic memory, procedural memory) with a structured action space. This is the theoretical foundation that most agent memory systems build on.
215
+ - **MemGPT/Letta** (arXiv:2310.08560): OS-inspired memory management with hierarchical memory tiers (main context/working memory, archival/long-term memory, recall/conversation memory). Uses function calls to manage memory movement between tiers.
216
+ - **GraphRAG** (Microsoft, arXiv:2404.16130): Builds entity knowledge graphs from source documents, then uses community summaries for global question answering. Combines graph-based retrieval with traditional RAG.
217
+ - **Modular RAG** (arXiv:2407.21059): Decomposes RAG systems into independent modules and operators, enabling LEGO-like reconfiguration. Identifies four patterns: linear, conditional, branching, and looping -- with routing and scheduling mechanisms.
218
+ - **RAPTOR** (arXiv:2401.18059): Recursively clusters and summarizes text into a tree structure, enabling retrieval at different levels of abstraction. State-of-the-art on multi-step reasoning benchmarks (20% improvement on QuALITY).
219
+
220
+ Multiple memory types:
221
+
222
+ - CoALA's taxonomy (working, episodic, semantic, procedural) is the standard reference.
223
+ - MemGPT adds tier management (hot/warm/cold) to the memory type taxonomy.
224
+ - AWM 2.0 extends to seven types (episodic, semantic, procedural, working, cache, entity, summary).
225
+ - Most production systems implement 2-3 types; full coverage of all types is rare.
226
+
227
+ Architecture trends:
228
+
229
+ 1. Pure function / side-effect-free retrieval planning (emerging best practice)
230
+ 2. Graph-augmented retrieval (GraphRAG, entity graphs)
231
+ 3. Multi-tier memory management (MemGPT)
232
+ 4. Adaptive routing based on query complexity (Adaptive-RAG)
233
+ 5. Modular, composable retrieval pipelines (Modular RAG)
234
+
235
+ **Key Papers/Systems:**
236
+
237
+ - CoALA: arXiv:2309.02427
238
+ - MemGPT: arXiv:2310.08560
239
+ - GraphRAG: arXiv:2404.16130
240
+ - Modular RAG: arXiv:2407.21059
241
+ - RAPTOR: arXiv:2401.18059
242
+ - LOFT benchmark: arXiv:2406.13121
243
+
244
+ **ClawMongo Alignment:** ClawMongo's architecture maps well to the CoALA framework and surpasses many production implementations. It covers 6+ memory types (events, entities, relations, episodes, structured facts, knowledge base, procedural) -- more comprehensive than most systems. The pure-function search executor (`mongodb-search-executor.ts`) aligns with the emerging best practice of side-effect-free retrieval orchestration. The `$graphLookup`-based entity/relation traversal is aligned with GraphRAG's approach. The planner-executor separation (`mongodb-retrieval-planner.ts` / `mongodb-search-executor.ts`) maps to Modular RAG's composable design.
245
+
246
+ **Gaps or Opportunities:**
247
+
248
+ 1. No working memory bounds -- MemGPT and AWM 2.0 implement capacity-bounded working memory (20 items max with LRU eviction). This prevents context window overflow for long sessions.
249
+ 2. No hierarchical/tree-based retrieval -- RAPTOR shows significant gains for multi-step reasoning through recursive clustering. ClawMongo's episodes are flat summaries, not hierarchical.
250
+ 3. No LLM-as-retrieval-router pattern -- Modular RAG suggests using an LLM to dynamically compose retrieval pipelines. ClawMongo's routing is static (rule-based).
251
+ 4. No proactive memory consolidation -- MemGPT continuously consolidates and reorganizes memory. ClawMongo's episode materialization is the closest analog but is triggered explicitly rather than continuously.
252
+
253
+ ---
254
+
255
+ ## Overall Assessment
256
+
257
+ ### Techniques that are state-of-art:
258
+
259
+ 1. **Multi-pass retrieval with pass limits** (1/2/3 for direct/auto/agentic) -- directly matches Adaptive-RAG
260
+ 2. **Query classification driving retrieval strategy** -- richer taxonomy than Adaptive-RAG (6 classes vs 3)
261
+ 3. **Post-retrieval hard constraint enforcement** with rejection tracking -- aligned with CRAG
262
+ 4. **Evidence coverage tracking** with early termination -- aligned with Self-RAG/CRAG
263
+ 5. **Hybrid search with multiple fusion strategies** (scoreFusion/rankFusion/JS-merge fallback chain)
264
+ 6. **Graceful degradation** through fallback chains (hybrid -> vector-only -> keyword -> $text)
265
+
266
+ ### Techniques that are novel/ahead:
267
+
268
+ 1. **Pure function search orchestration** (`executeMongoSearchPlan`) with injected `executePass` callback -- cleaner separation than any paper reviewed
269
+ 2. **Per-pass adaptive path selection** based on source preference ordering -- not seen in academic literature
270
+ 3. **Combined hard/soft constraint system** with `hard: true/false` flags per constraint -- more nuanced than CRAG's binary system
271
+ 4. **Cache-hit metadata reconstruction** preserving planner-visible metadata -- production detail not covered in papers
272
+ 5. **Rejected result auditing** with per-result rejection reasons -- uncommon transparency
273
+ 6. **Six-class query taxonomy** covering agent-specific patterns (family, scoped, multi-hop) not in standard RAG taxonomies
274
+
275
+ ### Techniques that could be improved:
276
+
277
+ 1. **Query expansion** -- template-based ("query + alternatives") is functional but less targeted than LLM-generated reformulations (FLARE, IRCoT)
278
+ 2. **Evidence assessment** -- structural (has canonical ID?) rather than semantic (is content relevant?). Self-RAG uses model-based relevance scoring
279
+ 3. **No corrective loop** -- when constraint enforcement eliminates all results, CRAG would trigger corrective retrieval with relaxed constraints
280
+ 4. **Cache strategy** -- deterministic only; no semantic caching component for near-duplicate queries
281
+
282
+ ### Missing techniques to consider:
283
+
284
+ 1. **Confidence-triggered retrieval** (FLARE) -- retrieval triggered by low generation confidence, not just query classification
285
+ 2. **LLM-based query reformulation** -- for agentic mode, use an LLM to generate targeted follow-up queries rather than template expansion
286
+ 3. **Semantic caching** -- cosine similarity-based cache matching for near-duplicate queries (GPTCache pattern)
287
+ 4. **Hierarchical retrieval** (RAPTOR) -- tree-structured summaries enabling multi-level abstraction
288
+ 5. **Working memory bounds** (MemGPT) -- capacity-limited hot context with LRU eviction
289
+ 6. **Proactive consolidation** -- automatic memory reorganization triggered by write events or session idle
290
+ 7. **Per-result relevance scoring** -- model-based or embedding-based relevance score beyond structural evidence checks
291
+ 8. **Constraint relaxation** -- automatic broadening of constraints when strict enforcement yields zero results
292
+
293
+ ---
294
+
295
+ ## What Changed the Recommendation
296
+
297
+ The single highest-signal finding is that **ClawMongo's architecture already implements the core patterns from all six major 2023-2025 RAG advances** (Adaptive-RAG, Self-RAG, CRAG, FLARE, Modular RAG, IRCoT) in a unified system. This is uncommon -- most production systems implement 1-2 of these. The main enhancement opportunity is upgrading the template-based query expansion to LLM-based reformulation (the FLARE/IRCoT pattern), which research shows produces 10-20% better retrieval precision for complex multi-hop queries.
298
+
299
+ ---
300
+
301
+ ## Gotchas / Warnings
302
+
303
+ - LLM-based query classification adds latency (200-500ms per classification call). Rule-based is the right default; LLM should be an optional fallback for ambiguous queries only.
304
+ - Semantic caching requires an embedding model available at cache-lookup time, which adds infrastructure complexity. Only worth it if cache hit rates are expected to be significant (>30%).
305
+ - RAPTOR-style hierarchical retrieval requires periodic re-clustering, which is expensive for dynamic agent memory that changes frequently.
306
+ - Self-RAG's reflection tokens require fine-tuning the LM itself -- not applicable to ClawMongo's model-agnostic architecture. The equivalent is external relevance scoring.
307
+ - Confidence-triggered retrieval (FLARE) requires access to token probabilities, which not all LLM APIs expose. May not be feasible with all model providers.
308
+
309
+ ---
310
+
311
+ ## Key References
312
+
313
+ 1. **FLARE** -- Jiang et al., "Active Retrieval Augmented Generation", EMNLP 2023. https://arxiv.org/abs/2305.06983
314
+ 2. **Self-RAG** -- Asai et al., "Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection", 2023. https://arxiv.org/abs/2310.11511
315
+ 3. **Adaptive-RAG** -- Jeong et al., "Adaptive-RAG: Learning to Adapt Retrieval-Augmented Large Language Models through Question Complexity", NAACL 2024. https://arxiv.org/abs/2403.14403
316
+ 4. **CRAG** -- Yan et al., "Corrective Retrieval Augmented Generation", 2024. https://arxiv.org/abs/2401.15884
317
+ 5. **IRCoT** -- Trivedi et al., "Interleaving Retrieval with Chain-of-Thought Reasoning for Knowledge-Intensive Multi-Step Questions", 2023. https://arxiv.org/abs/2212.10509
318
+ 6. **RAPTOR** -- "RAPTOR: Recursive Abstractive Processing for Tree-Organized Retrieval", 2024. https://arxiv.org/abs/2401.18059
319
+ 7. **RAG Survey** -- Gao et al., "Retrieval-Augmented Generation for Large Language Models: A Survey". https://arxiv.org/abs/2312.10997
320
+ 8. **Modular RAG** -- "Modular RAG: Transforming RAG Systems into LEGO-like Reconfigurable Frameworks". https://arxiv.org/abs/2407.21059
321
+ 9. **GraphRAG** -- Microsoft, "From Local to Global: A Graph RAG Approach to Query-Focused Summarization". https://arxiv.org/abs/2404.16130
322
+ 10. **MemGPT** -- "MemGPT: Towards LLMs as Operating Systems", 2023. https://arxiv.org/abs/2310.08560
323
+ 11. **CoALA** -- "Cognitive Architectures for Language Agents", 2023. https://arxiv.org/abs/2309.02427
324
+ 12. **RAGAS** -- "RAGAS: Automated Evaluation of Retrieval Augmented Generation", 2023. https://arxiv.org/abs/2309.15217
325
+ 13. **ARAGOG** -- "ARAGOG: Advanced RAG Output Grading", 2024. https://arxiv.org/abs/2404.01037
326
+ 14. **LOFT** -- "Can Long-Context Language Models Subsume Retrieval, RAG, SQL, and More?", 2024. https://arxiv.org/abs/2406.13121
327
+ 15. **Prompt Cache** -- "Prompt Cache: Modular Attention Reuse for Low-Latency Inference", 2023. https://arxiv.org/abs/2311.04934
328
+
329
+ ---
330
+
331
+ Web research complete.
@@ -0,0 +1,192 @@
1
+ # Brainstorm Validation: GitHub Research — Implementation Patterns
2
+
3
+ ## Execution
4
+
5
+ - Research round: 1
6
+ - Sources: GitHub code search via Octocode (7 repos)
7
+ - Repos analyzed: mem0ai/mem0, langchain-ai/langchain, getzep/zep, run-llama/llama_index, deepset-ai/haystack, AnswerDotAI/RAGatouille
8
+ - Quality: HIGH — direct code evidence from production repos
9
+
10
+ ---
11
+
12
+ ## 1. Cross-Encoder Reranking Pipeline Integration
13
+
14
+ ### Zep (getzep/zep)
15
+
16
+ - **5 reranker strategies**: `cross_encoder`, `rrf`, `mmr`, `node_distance`, `episode_mentions`
17
+ - Configured per-search via `reranker` parameter (not always-on)
18
+ - Default: `cross_encoder` for edges, `rrf` for nodes
19
+ - Architecture: reranker is a post-retrieval step, configurable per-query type
20
+ - Benchmarked on LOCOMO evaluation harness (`benchmarks/locomo/`)
21
+
22
+ ### Mem0 (mem0ai/mem0)
23
+
24
+ - **4 reranker backends**: Cohere (`rerank-english-v3.0`), HuggingFace cross-encoder, LLM-based (GPT-4o-mini scoring), Zero Entropy
25
+ - Pluggable via `BaseReranker` interface: `rerank(query, documents, top_k) -> documents`
26
+ - LLM reranker uses 0-1 scoring prompt with regex extraction, graceful 0.5 fallback
27
+ - **Optional per-search**: `rerank=True/False` flag on `.search()` method
28
+ - Guideline: "enable reranking for queries > 3 words" (conditional activation)
29
+
30
+ ### ClawMongo Fit Assessment
31
+
32
+ ClawMongo's `mongodb-reranker.ts` is architecturally aligned with both Zep and Mem0:
33
+
34
+ - Same pattern: optional post-retrieval step with configurable activation
35
+ - ClawMongo's three-bucket split (candidates/overflow/below) is more sophisticated than Mem0's simple top-k slicing
36
+ - **Gap confirmed**: reranker exists but is not wired as a standard step in `executeMongoSearchPlan` — it's only called within `searchV2` in the manager
37
+
38
+ ---
39
+
40
+ ## 2. MMR (Maximal Marginal Relevance) Diversity
41
+
42
+ ### LangChain (langchain-ai/langchain)
43
+
44
+ - **Canonical implementation**: `libs/core/langchain_core/vectorstores/utils.py`
45
+ - Algorithm (lines 127-158):
46
+ ```python
47
+ # Start with most similar to query
48
+ most_similar = argmax(similarity_to_query)
49
+ # Iteratively add: lambda * relevance - (1-lambda) * redundancy
50
+ while len(idxs) < k:
51
+ for each candidate:
52
+ score = lambda_mult * query_score - (1 - lambda_mult) * max(similarity_to_selected)
53
+ add best_score candidate
54
+ ```
55
+ - `lambda_mult=0.5` default (balanced relevance/diversity)
56
+ - **Requires embeddings**: pairwise cosine similarity between candidates
57
+ - Used in `InMemoryVectorStore.max_marginal_relevance_search()` and Qdrant partner
58
+
59
+ ### Zep (getzep/zep)
60
+
61
+ - MMR is one of 5 configurable rerankers
62
+ - `mmr_lambda` parameter exposed in search API
63
+ - Used for graph node results where diversity matters
64
+
65
+ ### ClawMongo Fit Assessment
66
+
67
+ - **Embedding dependency**: LangChain's MMR requires embeddings for pairwise similarity. ClawMongo stores embeddings via autoEmbed but search results don't carry embeddings in the response.
68
+ - **Alternative**: Use Jaccard similarity on snippet text (no embedding needed) or TF-IDF cosine (lightweight). This avoids the extra MongoDB lookup for embeddings.
69
+ - **Integration point**: Post-dedup in `executeMongoSearchPlan`, after `acceptedById` merge
70
+ - **Lambda by classification**: family/comparison → 0.3-0.4 (more diversity), direct/temporal → 0.7 (more relevance)
71
+
72
+ ---
73
+
74
+ ## 3. LLM Query Reformulation
75
+
76
+ ### Haystack (deepset-ai/haystack)
77
+
78
+ - **`QueryExpander` component**: `haystack/components/query/query_expander.py`
79
+ - LLM-based (defaults to `gpt-4.1-mini`, temperature 0.7)
80
+ - Prompt: "expand a given query into N queries that are semantically similar"
81
+ - JSON structured output with schema enforcement
82
+ - `include_original_query=True` by default (original + N expansions)
83
+ - **Key insight**: Separate component, not embedded in retriever — pluggable architecture
84
+ - **MultiQueryTextRetriever** / **MultiQueryEmbeddingRetriever**: run expanded queries in parallel, merge results
85
+
86
+ ### Mem0 (mem0ai/mem0)
87
+
88
+ - No dedicated query expansion found — relies on vector similarity
89
+
90
+ ### LangChain (langchain-ai/langchain)
91
+
92
+ - `SelfQueryRetriever`: LLM decomposes natural language into structured filters (metadata filtering, not query expansion per se)
93
+ - `MultiQueryRetriever` (separate): LLM generates multiple query variations
94
+
95
+ ### ClawMongo Fit Assessment
96
+
97
+ - **Current state**: `buildExecutorPasses` uses template concatenation ("alternatives", "differences", "exact evidence")
98
+ - **Haystack pattern is directly portable**: LLM call → JSON array of queries → map to passes
99
+ - **Pure function preservation**: The LLM call can be injected as an async parameter (like the `executePass` callback in `executeMongoSearchPlan`), keeping the planner pure
100
+ - **Fallback**: Template expansion as fallback when LLM is unavailable or slow (>500ms timeout)
101
+
102
+ ---
103
+
104
+ ## 4. CRAG / Corrective Retrieval
105
+
106
+ ### LlamaIndex (run-llama/llama_index)
107
+
108
+ - **`CorrectiveRAGWorkflow`**: `docs/examples/workflow/corrective_rag_pack.ipynb`
109
+ - Implemented as a Workflow (stateful pipeline with steps)
110
+ - Pattern: retrieve → evaluate relevance → if ambiguous/incorrect, reformulate → re-retrieve
111
+ - Uses LLM as quality evaluator (not a lightweight model)
112
+ - **Pack deprecated**: migrated from `CorrectiveRAGPack` to `CorrectiveRAGWorkflow`
113
+
114
+ ### ClawMongo Fit Assessment
115
+
116
+ - ClawMongo already has the evaluation signal: `computeEvidenceCoverage()` returns none/indirect/partial/direct
117
+ - What's missing: mapping coverage + rejection reasons to corrective actions
118
+ - **No LLM needed**: Coverage evaluation is already heuristic-based. Corrective action can be pure-function: pattern-match rejection reasons → select corrective strategy
119
+ - LlamaIndex uses LLM for evaluation; ClawMongo can skip this because evidence coverage is already computed from metadata
120
+
121
+ ---
122
+
123
+ ## 5. Parallel Pass Execution
124
+
125
+ ### Haystack (deepset-ai/haystack)
126
+
127
+ - **MultiQueryTextRetriever / MultiQueryEmbeddingRetriever**: "runs multiple queries in parallel"
128
+ - Architecture: query expander produces N queries, retriever executes all N in parallel, results merged
129
+ - This is "fan-out retrieval" — all queries are independent (no early-stop between them)
130
+
131
+ ### ClawMongo Fit Assessment
132
+
133
+ - Haystack's pattern is **fan-out** (all parallel, merge after)
134
+ - ClawMongo's pattern is **sequential with early-stop** (stop if pass 1 suffices)
135
+ - **Hybrid approach validated**: Start pass 1 synchronously. If insufficient, launch remaining passes in parallel.
136
+ - This preserves the common-case optimization (direct queries stop at pass 1) while accelerating the agentic case.
137
+
138
+ ---
139
+
140
+ ## 6. Constraint Relaxation / Zero-Result Fallback
141
+
142
+ ### No direct implementation found in the 7 repos
143
+
144
+ - Elasticsearch and MongoDB Atlas Search handle this at the database level (minimum_should_match, boosting)
145
+ - LlamaIndex's `QueryFusionRetriever` merges results from relaxed queries but doesn't explicitly relax constraints
146
+ - Zep's multiple reranker strategies provide implicit relaxation (switch from cross_encoder to rrf)
147
+
148
+ ### ClawMongo Fit Assessment
149
+
150
+ - ClawMongo has unique constraint infrastructure (`applyHardConstraintRejections`, rejection tracking, constraint summaries)
151
+ - No competitor has this level of constraint visibility
152
+ - Relaxation is a natural extension: widen the most restrictive constraint (by rejection count)
153
+ - **Novel contribution**: constraint relaxation with full audit trail is not found in any analyzed system
154
+
155
+ ---
156
+
157
+ ## 7. Compound Query Classification
158
+
159
+ ### LangChain (langchain-ai/langchain)
160
+
161
+ - `SelfQueryRetriever`: decomposes queries into structured filters using LLM
162
+ - Not truly "compound classification" — it's structured query generation
163
+
164
+ ### LlamaIndex (run-llama/llama_index)
165
+
166
+ - `SubQuestionQueryEngine`: decomposes complex queries into sub-questions, each handled by a separate tool/index
167
+ - This IS compound handling, but via LLM decomposition rather than classification
168
+
169
+ ### ClawMongo Fit Assessment
170
+
171
+ - Current 6-class flat taxonomy returns single classification
172
+ - LLM-based decomposition (C1) would subsume this need
173
+ - If keeping regex-based classification: add "compound" as a classification that triggers multi-faceted pass planning
174
+ - **Recommendation**: Defer to C1 (LLM reformulation handles this naturally)
175
+
176
+ ---
177
+
178
+ ## Summary: Competitive Landscape
179
+
180
+ | Feature | Zep | Mem0 | LangChain | LlamaIndex | Haystack | **ClawMongo** |
181
+ | --------------------------- | ------------ | ---------- | ------------------- | ---------------------- | ------------------- | ---------------------------------- |
182
+ | Cross-encoder rerank | 5 strategies | 4 backends | Via partner | Via node postprocessor | Via ranker | **Built, needs wiring** |
183
+ | MMR diversity | Config param | No | Core utility | Via postprocessor | No | **Missing** |
184
+ | LLM query expansion | No | No | MultiQueryRetriever | QueryTransform | QueryExpander | **Template only** |
185
+ | Corrective retrieval | No | No | No (via custom) | CorrectiveRAGWorkflow | No | **Infrastructure exists** |
186
+ | Parallel passes | No | No | EnsembleRetriever | SubQuestionEngine | MultiQueryRetriever | **Sequential only** |
187
+ | Constraint relaxation | No | No | No | No | No | **Infrastructure exists (unique)** |
188
+ | Evidence coverage tracking | No | No | No | No | No | **Implemented (unique)** |
189
+ | Hard constraint enforcement | No | No | No | No | No | **Implemented (unique)** |
190
+ | Pure function orchestration | No | No | No | No | No | **Implemented (unique)** |
191
+
192
+ **Key finding**: ClawMongo is architecturally ahead on constraint handling, evidence tracking, and pure-function orchestration. The gaps are in the areas all competitors also have gaps (CRAG, compound classification) or where ClawMongo has the infrastructure but hasn't wired it (reranking, MMR, LLM expansion).