@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.
- package/dist/.buildstamp +1 -1
- package/dist/{abort.runtime-B76dHUab.js → abort.runtime-BODXWFfB.js} +19 -19
- package/dist/{accounts-f4oUR-KU.js → accounts-dqDVvpq9.js} +19 -19
- package/dist/{action-runtime-BvmlxSow.js → action-runtime-C5U1W3NV.js} +3 -3
- package/dist/{action-runtime-FNaeyiHa.js → action-runtime-Ofj_Pwoi.js} +1 -1
- package/dist/{actions.runtime-B5SHXVBM.js → actions.runtime-D-PFCdDQ.js} +19 -19
- package/dist/{actions.runtime-Bpqvp-P6.js → actions.runtime-D6T0Q1In.js} +22 -22
- package/dist/{agent-runner.runtime-DHFYjcOQ.js → agent-runner.runtime-B_117lau.js} +20 -20
- package/dist/{agent-tools-login-CeAUGuwk.js → agent-tools-login-CIEGcx5C.js} +1 -1
- package/dist/agents/auth-profiles.runtime.js +2 -2
- package/dist/agents/pi-model-discovery-runtime.js +2 -2
- package/dist/{agents-D2s_vbN2.js → agents-BGEZrH6E.js} +79 -79
- package/dist/{agents-CcuzSVX3.js → agents-DGb9FxeN.js} +4 -4
- package/dist/{api-f7Fg5X8w.js → api-BHHbe6ya.js} +19 -19
- package/dist/{apply-CZkOfJvf.js → apply-D5KZtgEs.js} +3 -3
- package/dist/{apply.runtime-Kzh-0Ydt.js → apply.runtime-C2coDVDp.js} +21 -21
- package/dist/{audit-D10PteOl.js → audit-BTQT-OZ7.js} +1 -1
- package/dist/{audit-BGahYsDD.js → audit-C1i5hvgH.js} +1 -1
- package/dist/{audit-BUkP9jdj.js → audit-CSQcL00K.js} +1 -1
- package/dist/{audit-channel.collect.runtime-DQp-gOhf.js → audit-channel.collect.runtime-CLO8pKCH.js} +1 -1
- package/dist/{audit-membership-runtime-BUJmX2hm.js → audit-membership-runtime-BaLdjBE1.js} +19 -19
- package/dist/{audit.runtime-i_V5qm4G.js → audit.runtime-Df1m5JVh.js} +1 -1
- package/dist/{auth-choice-BAvI_XDP.js → auth-choice-CLVts4pn.js} +25 -25
- package/dist/{auth-choice-D92NWROm.js → auth-choice-D32orvb3.js} +4 -4
- package/dist/{auth-choice-CFX43ZMS.js → auth-choice-DC9SHojq.js} +25 -25
- package/dist/{auth-choice-options-eOov4lHK.js → auth-choice-options-DaRIYac6.js} +1 -1
- package/dist/{auth-choice-prompt-BHZS0zzd.js → auth-choice-prompt-BIxKeFyU.js} +22 -22
- package/dist/{auth-choice-prompt-DPu-KM86.js → auth-choice-prompt-bvPCPOfL.js} +1 -1
- package/dist/{auth-choice.plugin-providers.runtime-BKJ1G30p.js → auth-choice.plugin-providers.runtime-C0Gr_wBp.js} +20 -20
- package/dist/{auth-health-DrhDwT0A.js → auth-health-Grs1Tm7I.js} +1 -1
- package/dist/{auth-profiles-9ZmqHW26.js → auth-profiles-C3_OccUL.js} +1 -1
- package/dist/{bluebubbles-DY0qI3hH.js → bluebubbles-p5n3iDOr.js} +2 -2
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +19 -19
- package/dist/bundled/session-memory/handler.js +20 -20
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-Bf_8K6l5.js → channel-BH3R_0z4.js} +1 -1
- package/dist/{channel-DufwL-jz.js → channel-BNsYAkzk.js} +2 -2
- package/dist/{channel-DPSZvfT6.js → channel-BPJidiH0.js} +1 -1
- package/dist/{channel-Bhq2K6s9.js → channel-B_kqKNYN.js} +8 -8
- package/dist/{channel-_Q3YP1AX.js → channel-C7ZLRJK3.js} +3 -3
- package/dist/{channel-kTbF3pA5.js → channel-CMTnTZvP.js} +2 -2
- package/dist/{channel-D0kqeNUy.js → channel-CNiLspA4.js} +2 -2
- package/dist/{channel-DR1oHx-c.js → channel-D7wbYYfq.js} +2 -2
- package/dist/{channel-CxCge-T_.js → channel-DXN0it_k.js} +5 -5
- package/dist/{channel-DwfNwzMC2.js → channel-TVpnR3_92.js} +1 -1
- package/dist/{channel-account-context-BFz9niGc.js → channel-account-context-D0u_DsE9.js} +1 -1
- package/dist/{channel-plugin-resolution-Byfh8pYk.js → channel-plugin-resolution-BWF7cMnp.js} +1 -1
- package/dist/{channel-DPEykAqH.js → channel-s-DEd3xe.js} +6 -6
- package/dist/{channel-shared-B4K06EQd.js → channel-shared-BkFrM4rg.js} +1 -1
- package/dist/{channel-summary-Cps0Fzte.js → channel-summary-C2ehIc9T.js} +1 -1
- package/dist/{channel-summary-BmBR7Kyt.js → channel-summary-C7G79FoU.js} +2 -2
- package/dist/{channel-qF8P5wpX.js → channel-tI13LeFy.js} +3 -3
- package/dist/{channel.runtime-CAJ1UBh5.js → channel.runtime-BW1CY17-.js} +20 -20
- package/dist/{channel.runtime-D5JucO51.js → channel.runtime-BZoo7HMI.js} +22 -22
- package/dist/{channel.runtime-UVqYDaHP.js → channel.runtime-C5J1_m0z.js} +19 -19
- package/dist/{channel.runtime-BzZnxn5I.js → channel.runtime-Ct_bKj0l.js} +21 -21
- package/dist/{channel.runtime-CqqmR7yi.js → channel.runtime-CySK5bcO.js} +21 -21
- package/dist/{channel.runtime-Coxx1f6o.js → channel.runtime-DoX7dBG7.js} +19 -19
- package/dist/{channel.runtime-PIf86KG-.js → channel.runtime-F83uGGg1.js} +20 -20
- package/dist/{channel.runtime-jcUrSIfm.js → channel.runtime-MYP-i9w_.js} +4 -4
- package/dist/{channel.runtime-CPxxZ41Y.js → channel.runtime-NAgMynid.js} +21 -21
- package/dist/{channel.runtime-rDFtpoEo.js → channel.runtime-OOpSO68N.js} +20 -20
- package/dist/{channel.runtime-DMuT9kyy.js → channel.runtime-bDBx8teP.js} +24 -24
- package/dist/{channel.runtime-uQuAYc-i.js → channel.runtime-yJfsTOE1.js} +21 -21
- package/dist/{channels-CkPYFQcl.js → channels-DBgKkMpO.js} +1 -1
- package/dist/{channels-CWTVAS0q.js → channels-DV6kTofy.js} +75 -75
- package/dist/{channels-cli-B2T-CXmj.js → channels-cli-DFl3cqMv.js} +28 -28
- package/dist/{clawbot-cli-BVJttc88.js → clawbot-cli-D2rd_pSe.js} +20 -20
- package/dist/cli/memory-cli.js +1 -1
- package/dist/{cli-CuTfyWVy.js → cli-RV7cVB9I.js} +19 -19
- package/dist/cli-startup-metadata.json +1 -1
- package/dist/{command-registry-CGPkVPqo.js → command-registry-B3J7A6FS.js} +9 -9
- package/dist/{command-registry-LeMajblS.js → command-registry-Bj0LnTVT.js} +2 -2
- package/dist/{command-secret-gateway-C7Mc8VN7.js → command-secret-gateway-CW9sDqgS.js} +19 -19
- package/dist/{commands-core-BUvPkOM8.js → commands-core-D6dqx9zi.js} +4 -4
- package/dist/{commands-core.runtime-BpRYOOMO.js → commands-core.runtime-BRCfd-33.js} +21 -21
- package/dist/{commands-handlers.runtime-CZHHYyzf.js → commands-handlers.runtime-CR0HGQzR.js} +37 -37
- package/dist/{commands-status.runtime-B-GnL-VS.js → commands-status.runtime-DjQOH6g-.js} +19 -19
- package/dist/{commands.runtime-Bj9ga9MT.js → commands.runtime-hsb9KcEQ.js} +21 -21
- package/dist/{compact.runtime-CdBroITS.js → compact.runtime-C2XAKSLI.js} +19 -19
- package/dist/{completion-cli-kRec0CWS.js → completion-cli-COY2jqyd.js} +3 -3
- package/dist/{completion-cli-Bq8XV85J.js → completion-cli-C_WAEEE3.js} +2 -2
- package/dist/{config-cli-BYCA-iPM.js → config-cli-D_W95p5D.js} +21 -21
- package/dist/{config-guard-Cwr_cNeJ.js → config-guard-DPjo5ueL.js} +1 -1
- package/dist/{config-validation-DdoPNepT.js → config-validation-CObsiwtW.js} +1 -1
- package/dist/{configure-Dsnm-Ir2.js → configure-BoT1Mn9Y.js} +10 -10
- package/dist/{configure-B4ln4G6g.js → configure-CiOOIY9X.js} +80 -80
- package/dist/{credentials-Bs62UXYm.js → credentials-BP_REzGo.js} +22 -22
- package/dist/{credentials-read-Bh2q30jm.js → credentials-read-Ctw8fUHL.js} +1 -1
- package/dist/{credentials-write.runtime-C7dM8wyv.js → credentials-write.runtime-C-esgXXQ.js} +2 -2
- package/dist/{daemon-install-Y3CYUtX4.js → daemon-install-D5g6l5YG.js} +2 -2
- package/dist/{deliver-CR4444dH.js → deliver-BmBKH0vq.js} +19 -19
- package/dist/{deliver-runtime-CNc9Aad-.js → deliver-runtime-CM7bZfks.js} +19 -19
- package/dist/{directive-handling.fast-lane-Dt2KTIe5.js → directive-handling.fast-lane-B6I-x6TA.js} +22 -22
- package/dist/{directive-handling.impl-BaUsXoy2.js → directive-handling.impl-BlbYq7u0.js} +5 -5
- package/dist/{directive-handling.impl-D5J8xrYm.js → directive-handling.impl-BmUx8KZn.js} +22 -22
- package/dist/{directive-handling.persist.runtime-4Axq0DLo.js → directive-handling.persist.runtime-BShZSJBB.js} +4 -4
- package/dist/{directive-handling.shared-DmCT9_Rg.js → directive-handling.shared-CqEG8VVf.js} +1 -1
- package/dist/{directory-cli-D-ntETKX.js → directory-cli-D7G5ix1A.js} +21 -21
- package/dist/{discord-4CFl2xzs.js → discord-DXsmxXiz.js} +29 -29
- package/dist/{discord-D39mQ5Rd.js → discord-qTmPDm9r.js} +8 -8
- package/dist/{dispatch-acp.runtime-BBmK1C89.js → dispatch-acp.runtime-D75jx8-p.js} +21 -21
- package/dist/{doctor-completion-BxDlXsGv.js → doctor-completion-DL3ak6p_.js} +1 -1
- package/dist/{doctor-config-preflight-D5voShkd.js → doctor-config-preflight-BJ5wj6AI.js} +1 -1
- package/dist/{doctor-config-preflight-CbCtPfaf.js → doctor-config-preflight-D1A0fJZk.js} +1 -1
- package/dist/{doctor-state-migrations-DjxQL7mH.js → doctor-state-migrations-Cw9TTCJ1.js} +20 -20
- package/dist/{doctor-state-migrations-BU45Yv4K.js → doctor-state-migrations-CyD4ajcS.js} +1 -1
- package/dist/{encryption-guidance-C3e_Pa6m.js → encryption-guidance-C0063Qkl.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/extensionAPI.js +19 -19
- package/dist/extensions/amazon-bedrock/index.js +19 -19
- package/dist/extensions/anthropic/index.js +20 -20
- package/dist/extensions/anthropic/media-understanding-provider.js +2 -2
- package/dist/extensions/bluebubbles/api.js +23 -23
- package/dist/extensions/bluebubbles/index.js +24 -24
- package/dist/extensions/bluebubbles/runtime-api.js +19 -19
- package/dist/extensions/bluebubbles/setup-entry.js +21 -21
- package/dist/extensions/byteplus/index.js +19 -19
- package/dist/extensions/chutes/index.js +20 -20
- package/dist/extensions/cloudflare-ai-gateway/index.js +19 -19
- package/dist/extensions/deepgram/audio.js +1 -1
- package/dist/extensions/deepgram/index.js +1 -1
- package/dist/extensions/deepgram/media-understanding-provider.js +1 -1
- package/dist/extensions/device-pair/api.js +19 -19
- package/dist/extensions/device-pair/index.js +19 -19
- package/dist/extensions/device-pair/notify.js +19 -19
- package/dist/extensions/device-pair/qr-image.js +19 -19
- package/dist/extensions/discord/api.js +19 -19
- package/dist/extensions/discord/index.js +27 -27
- package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2021-11-03/index.d.ts +0 -0
- package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2021-11-03/index.ts +0 -0
- package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2022-01-31/index.d.ts +0 -0
- package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2022-01-31/index.ts +0 -0
- package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2022-03-21/index.d.ts +0 -0
- package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2022-03-21/index.ts +0 -0
- package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2022-08-04/index.d.ts +0 -0
- package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2022-08-04/index.ts +0 -0
- package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2022-10-31/index.d.ts +0 -0
- package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2022-10-31/index.ts +0 -0
- package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2022-11-30/index.d.ts +0 -0
- package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2022-11-30/index.ts +0 -0
- package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2023-03-01/index.d.ts +0 -0
- package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2023-03-01/index.ts +0 -0
- package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2023-07-01/index.d.ts +0 -0
- package/dist/extensions/discord/node_modules/@cloudflare/workers-types/2023-07-01/index.ts +0 -0
- package/dist/extensions/discord/node_modules/@cloudflare/workers-types/experimental/index.d.ts +0 -0
- package/dist/extensions/discord/node_modules/@cloudflare/workers-types/experimental/index.ts +0 -0
- package/dist/extensions/discord/node_modules/@cloudflare/workers-types/index.d.ts +0 -0
- package/dist/extensions/discord/node_modules/@cloudflare/workers-types/index.ts +0 -0
- package/dist/extensions/discord/node_modules/@cloudflare/workers-types/latest/index.d.ts +0 -0
- package/dist/extensions/discord/node_modules/@cloudflare/workers-types/latest/index.ts +0 -0
- package/dist/extensions/discord/node_modules/@cloudflare/workers-types/oldest/index.d.ts +0 -0
- package/dist/extensions/discord/node_modules/@cloudflare/workers-types/oldest/index.ts +0 -0
- package/dist/extensions/discord/node_modules/opusscript/build/opusscript_native_wasm.wasm +0 -0
- package/dist/extensions/discord/runtime-api.js +29 -29
- package/dist/extensions/discord/setup-entry.js +22 -22
- package/dist/extensions/elevenlabs/index.js +19 -19
- package/dist/extensions/elevenlabs/speech-provider.js +19 -19
- package/dist/extensions/fal/image-generation-provider.js +20 -20
- package/dist/extensions/fal/index.js +20 -20
- package/dist/extensions/feishu/api.js +19 -19
- package/dist/extensions/feishu/index.js +22 -22
- package/dist/extensions/feishu/node_modules/axios/lib/adapters/http.js +0 -0
- package/dist/extensions/feishu/runtime-api.js +19 -19
- package/dist/extensions/feishu/setup-api.js +19 -19
- package/dist/extensions/feishu/setup-entry.js +20 -20
- package/dist/extensions/firecrawl/index.js +19 -19
- package/dist/extensions/github-copilot/index.js +20 -20
- package/dist/extensions/github-copilot/login.js +19 -19
- package/dist/extensions/google/gemini-cli-provider.js +19 -19
- package/dist/extensions/google/image-generation-provider.js +19 -19
- package/dist/extensions/google/index.js +19 -19
- package/dist/extensions/google/media-understanding-provider.js +2 -2
- package/dist/extensions/google/oauth.flow.js +19 -19
- package/dist/extensions/google/oauth.http.js +19 -19
- package/dist/extensions/google/oauth.js +19 -19
- package/dist/extensions/google/oauth.project.js +19 -19
- package/dist/extensions/google/oauth.runtime.js +19 -19
- package/dist/extensions/google/oauth.token.js +19 -19
- package/dist/extensions/googlechat/api.js +19 -19
- package/dist/extensions/googlechat/index.js +20 -20
- package/dist/extensions/googlechat/runtime-api.js +19 -19
- package/dist/extensions/googlechat/setup-entry.js +20 -20
- package/dist/extensions/groq/index.js +1 -1
- package/dist/extensions/groq/media-understanding-provider.js +1 -1
- package/dist/extensions/huggingface/index.js +19 -19
- package/dist/extensions/imessage/api.js +19 -19
- package/dist/extensions/imessage/index.js +23 -23
- package/dist/extensions/imessage/runtime-api.js +20 -20
- package/dist/extensions/imessage/setup-entry.js +23 -23
- package/dist/extensions/irc/api.js +19 -19
- package/dist/extensions/irc/index.js +21 -21
- package/dist/extensions/irc/setup-entry.js +20 -20
- package/dist/extensions/kilocode/index.js +19 -19
- package/dist/extensions/kimi-coding/index.js +19 -19
- package/dist/extensions/line/api.js +19 -19
- package/dist/extensions/line/index.js +21 -21
- package/dist/extensions/line/runtime-api.js +19 -19
- package/dist/extensions/line/setup-api.js +19 -19
- package/dist/extensions/line/setup-entry.js +21 -21
- package/dist/extensions/lobster/index.js +19 -19
- package/dist/extensions/lobster/runtime-api.js +19 -19
- package/dist/extensions/matrix/api.js +28 -28
- package/dist/extensions/matrix/helper-api.js +20 -20
- package/dist/extensions/matrix/index.js +32 -32
- package/dist/extensions/matrix/runtime-api.js +20 -20
- package/dist/extensions/matrix/setup-entry.js +27 -27
- package/dist/extensions/mattermost/api.js +20 -20
- package/dist/extensions/mattermost/index.js +21 -21
- package/dist/extensions/mattermost/runtime-api.js +19 -19
- package/dist/extensions/mattermost/setup-entry.js +20 -20
- package/dist/extensions/microsoft/index.js +19 -19
- package/dist/extensions/microsoft/speech-provider.js +19 -19
- package/dist/extensions/microsoft-foundry/auth.js +19 -19
- package/dist/extensions/microsoft-foundry/cli.js +19 -19
- package/dist/extensions/microsoft-foundry/index.js +19 -19
- package/dist/extensions/microsoft-foundry/onboard.js +19 -19
- package/dist/extensions/microsoft-foundry/provider.js +19 -19
- package/dist/extensions/microsoft-foundry/runtime.js +19 -19
- package/dist/extensions/microsoft-foundry/shared-runtime.js +19 -19
- package/dist/extensions/microsoft-foundry/shared.js +19 -19
- package/dist/extensions/minimax/image-generation-provider.js +20 -20
- package/dist/extensions/minimax/index.js +21 -21
- package/dist/extensions/minimax/media-understanding-provider.js +2 -2
- package/dist/extensions/minimax/oauth.js +20 -20
- package/dist/extensions/minimax/oauth.runtime.js +20 -20
- package/dist/extensions/mistral/index.js +2 -2
- package/dist/extensions/mistral/media-understanding-provider.js +2 -2
- package/dist/extensions/moonshot/index.js +19 -19
- package/dist/extensions/moonshot/media-understanding-provider.js +2 -2
- package/dist/extensions/msteams/api.js +21 -21
- package/dist/extensions/msteams/index.js +22 -22
- package/dist/extensions/msteams/runtime-api.js +19 -19
- package/dist/extensions/msteams/setup-entry.js +22 -22
- package/dist/extensions/nextcloud-talk/api.js +20 -20
- package/dist/extensions/nextcloud-talk/index.js +21 -21
- package/dist/extensions/nextcloud-talk/runtime-api.js +19 -19
- package/dist/extensions/nextcloud-talk/setup-entry.js +20 -20
- package/dist/extensions/nostr/api.js +19 -19
- package/dist/extensions/nostr/index.js +21 -21
- package/dist/extensions/nostr/runtime-api.js +19 -19
- package/dist/extensions/nostr/setup-api.js +20 -20
- package/dist/extensions/nostr/setup-entry.js +21 -21
- package/dist/extensions/openai/image-generation-provider.js +20 -20
- package/dist/extensions/openai/index.js +24 -24
- package/dist/extensions/openai/media-understanding-provider.js +2 -2
- package/dist/extensions/openai/openai-codex-provider.js +21 -21
- package/dist/extensions/openai/openai-codex-provider.runtime.js +19 -19
- package/dist/extensions/openai/openai-provider.js +20 -20
- package/dist/extensions/openai/speech-provider.js +19 -19
- package/dist/extensions/opencode/index.js +19 -19
- package/dist/extensions/opencode-go/index.js +19 -19
- package/dist/extensions/openrouter/index.js +19 -19
- package/dist/extensions/sglang/index.js +19 -19
- package/dist/extensions/signal/api.js +19 -19
- package/dist/extensions/signal/index.js +22 -22
- package/dist/extensions/signal/runtime-api.js +19 -19
- package/dist/extensions/signal/setup-entry.js +22 -22
- package/dist/extensions/slack/api.js +19 -19
- package/dist/extensions/slack/index.js +23 -23
- package/dist/extensions/slack/node_modules/axios/lib/adapters/http.js +0 -0
- package/dist/extensions/slack/node_modules/semver/bin/semver.js +0 -0
- package/dist/extensions/slack/runtime-api.js +23 -23
- package/dist/extensions/slack/setup-entry.js +22 -22
- package/dist/extensions/synology-chat/index.js +21 -21
- package/dist/extensions/synology-chat/setup-api.js +19 -19
- package/dist/extensions/synology-chat/setup-entry.js +20 -20
- package/dist/extensions/tavily/index.js +19 -19
- package/dist/extensions/telegram/api.js +19 -19
- package/dist/extensions/telegram/index.js +21 -21
- package/dist/extensions/telegram/node_modules/bottleneck/scripts/build.sh +0 -0
- package/dist/extensions/telegram/node_modules/bottleneck/scripts/test_all.sh +0 -0
- package/dist/extensions/telegram/runtime-api.js +19 -19
- package/dist/extensions/telegram/setup-entry.js +21 -21
- package/dist/extensions/tlon/bundled-skills/@tloncorp/tlon-skill/bin/tlon.js +0 -0
- package/dist/extensions/tlon/bundled-skills/@tloncorp/tlon-skill/scripts/postinstall.js +0 -0
- package/dist/extensions/tlon/index.js +20 -20
- package/dist/extensions/tlon/setup-api.js +19 -19
- package/dist/extensions/tlon/setup-entry.js +20 -20
- package/dist/extensions/twitch/index.js +19 -19
- package/dist/extensions/vllm/index.js +19 -19
- package/dist/extensions/voice-call/api.js +19 -19
- package/dist/extensions/voice-call/index.js +19 -19
- package/dist/extensions/voice-call/runtime-api.js +19 -19
- package/dist/extensions/volcengine/index.js +19 -19
- package/dist/extensions/whatsapp/action-runtime-api.js +23 -23
- package/dist/extensions/whatsapp/action-runtime.runtime.js +23 -23
- package/dist/extensions/whatsapp/api.js +22 -22
- package/dist/extensions/whatsapp/auth-presence.js +19 -19
- package/dist/extensions/whatsapp/index.js +25 -25
- package/dist/extensions/whatsapp/light-runtime-api.js +22 -22
- package/dist/extensions/whatsapp/login-qr-api.js +21 -21
- package/dist/extensions/whatsapp/runtime-api.js +25 -25
- package/dist/extensions/whatsapp/setup-entry.js +23 -23
- package/dist/extensions/xai/index.js +19 -19
- package/dist/extensions/zai/index.js +20 -20
- package/dist/extensions/zai/media-understanding-provider.js +2 -2
- package/dist/extensions/zalo/api.js +19 -19
- package/dist/extensions/zalo/index.js +21 -21
- package/dist/extensions/zalo/runtime-api.js +19 -19
- package/dist/extensions/zalo/setup-entry.js +20 -20
- package/dist/extensions/zalouser/api.js +19 -19
- package/dist/extensions/zalouser/index.js +21 -21
- package/dist/extensions/zalouser/runtime-api.js +19 -19
- package/dist/extensions/zalouser/setup-entry.js +20 -20
- package/dist/{feishu-DAfm89Ne.js → feishu-C8db2nD4.js} +2 -2
- package/dist/{gateway-cli-DQ5fdSX-.js → gateway-cli-BhZJxUIQ.js} +52 -52
- package/dist/{get-reply-from-config.runtime-1QHXDFiF.js → get-reply-from-config.runtime-DFU6Um_0.js} +19 -19
- package/dist/{health-Ch5rG-yt.js → health-BRYBj_5M.js} +2 -2
- package/dist/{health-U_VD3M-X.js → health-CHQfsRmf.js} +1 -1
- package/dist/{helper-api-sb3px4St.js → helper-api-BAFfB8Eq.js} +1 -1
- package/dist/{hooks-cli-C-IJXJJK.js → hooks-cli-D680qRUg.js} +27 -27
- package/dist/{image-DYAVm4B_.js → image-F5pDB1aX.js} +19 -19
- package/dist/{image-generation-provider-BZUvqThx.js → image-generation-provider-B6SkqaSK.js} +1 -1
- package/dist/{image-generation-provider-B6HOHZPa.js → image-generation-provider-D_5H6_l5.js} +1 -1
- package/dist/{image-generation-provider-CdSWrVdg.js → image-generation-provider-GwhE-YOJ.js} +1 -1
- package/dist/{imessage-BpHhiPZ8.js → imessage-3enMK0oL.js} +5 -5
- package/dist/{imessage-CmTkA3tu.js → imessage-CqmmhRly.js} +20 -20
- package/dist/{imessage-DQ7mZxR2.js → imessage-qV2vB2Yv.js} +1 -1
- package/dist/index.js +2 -2
- package/dist/{input-files-BaH2xNfq.js → input-files-Bwd7Rs-c.js} +1 -1
- package/dist/{irc-DcCw8fHY.js → irc-DrWWRnSY.js} +2 -2
- package/dist/{kb-cli-CZO3ntYH.js → kb-cli-Ck-nSjXd.js} +6 -6
- package/dist/{level-overrides-DXdu8VWh.js → level-overrides-X6UNF009.js} +3 -3
- package/dist/{library-C1zzlE79.js → library-DmIlb86_.js} +19 -19
- package/dist/{line-ch3hQ4Ib.js → line-BgImerRg.js} +2 -2
- package/dist/{llm-slug-generator-0dp6rtz_.js → llm-slug-generator-DQijKyaC.js} +1 -1
- package/dist/llm-slug-generator.js +20 -20
- package/dist/{login-qr-Lby65pZK.js → login-qr-D0IAlBAC.js} +2 -2
- package/dist/{login-qr-DZgP1-xQ.js → login-qr-DniSe8iC.js} +21 -21
- package/dist/{manager.runtime-DBDC0R6Y.js → manager.runtime-xm4xKgte.js} +19 -19
- package/dist/{matrix-CTk91yTE.js → matrix-BNIQQoE_.js} +1 -1
- package/dist/{matrix-migration-snapshot-Bw4V54U6.js → matrix-migration-snapshot-BipzOsHf.js} +1 -1
- package/dist/{mattermost-CHxzUt1o.js → mattermost-D6Fy4qN7.js} +2 -2
- package/dist/{media-understanding-UMiRWD8-.js → media-understanding-DJxYqJn2.js} +1 -1
- package/dist/{media-understanding-provider-CglfyjQc.js → media-understanding-provider-4eF385V2.js} +1 -1
- package/dist/{media-understanding-provider-LV6EOUbK.js → media-understanding-provider-CgHUcWaB.js} +1 -1
- package/dist/{media-understanding-provider-BtI-QryE.js → media-understanding-provider-CpzJJwj-.js} +1 -1
- package/dist/{media-understanding-provider-B-6a8wqe.js → media-understanding-provider-D1B39cXD.js} +1 -1
- package/dist/{media-understanding-provider-CrwMKCZN.js → media-understanding-provider-DmNcx7tm.js} +1 -1
- package/dist/{media-understanding-provider-CwqqqVIn.js → media-understanding-provider-_7CqM13n.js} +1 -1
- package/dist/{media-understanding-provider-Df8pFj5j.js → media-understanding-provider-lhiwHTQe.js} +1 -1
- package/dist/{media-understanding.runtime-DzuRi3ex.js → media-understanding.runtime-CovHOYvs.js} +19 -19
- package/dist/{memory-cli-B6ntRRG3.js → memory-cli-f2A63Z3i.js} +1 -1
- package/dist/{memory-cli.runtime-B0WsFtO6.js → memory-cli.runtime-CrZ3hOR4.js} +20 -20
- package/dist/{memory-tool.runtime-G24H6pM2.js → memory-tool.runtime-tPWYHa4h.js} +8 -8
- package/dist/{message-handler-DgKm2IRd.js → message-handler-CPqHBuUA.js} +5 -5
- package/dist/{model-catalog.runtime-Brzzbmjx.js → model-catalog.runtime-J03LOP_0.js} +19 -19
- package/dist/{model-picker-TgAPF80l.js → model-picker-B1dYBlNq.js} +20 -20
- package/dist/{model-picker-DnZzHtjs.js → model-picker-BLbQLW-8.js} +2 -2
- package/dist/{model-picker.runtime-DYyDSe3Y.js → model-picker.runtime-DqkKpuuM.js} +21 -21
- package/dist/{model-suppression.runtime-CmmbaqiG.js → model-suppression.runtime-DZ5rCs4V.js} +19 -19
- package/dist/{models-BypV4e0x.js → models-DZagEqNI.js} +23 -23
- package/dist/{models-C4I-QaFn.js → models-FROY9JT8.js} +5 -5
- package/dist/{models-cli-yxlL4EE5.js → models-cli-C7WtN2US.js} +23 -23
- package/dist/{models-config-3u--_pML.js → models-config-BxPPQ_Xn.js} +19 -19
- package/dist/{models-config.runtime-5gbgiQPZ.js → models-config.runtime-CX16Xh37.js} +19 -19
- package/dist/{mongodb-analytics-qg8zwvek.js → mongodb-analytics-Csq_gZGe.js} +1 -1
- package/dist/{mongodb-analytics-BSMApVSO.js → mongodb-analytics-D5c4_54u.js} +2 -2
- package/dist/{mongodb-kb-CumfgJ4z.js → mongodb-kb-DLMbN3EX.js} +1 -1
- package/dist/{mongodb-kb-search-BhNWYrUs.js → mongodb-kb-search-41d-jF5h.js} +3 -3
- package/dist/{mongodb-kb-search-CeBKQO-B.js → mongodb-kb-search-p3yHZihO.js} +1 -1
- package/dist/{mongodb-manager--Zs-oIkk.js → mongodb-manager-CZKPOn9-.js} +229 -20
- package/dist/{mongodb-manager-CPfoxQj8.js → mongodb-manager-DB_QPKNS.js} +7 -7
- package/dist/{mongodb-procedures-DAM6zeem.js → mongodb-procedures-BxD5_Od0.js} +3 -3
- package/dist/{mongodb-procedures-CobuqpD2.js → mongodb-procedures-FqFUZ4EE.js} +2 -2
- package/dist/{mongodb-schema-Bsgr9q6v.js → mongodb-schema-CQaRrvZd.js} +1 -1
- package/dist/{mongodb-schema-CJHFxfrx.js → mongodb-schema-xrNHiVhH.js} +16 -7
- package/dist/{mongodb-search-BHRn7dF1.js → mongodb-search-C7HfqDY2.js} +1 -1
- package/dist/{mongodb-structured-memory-D4lNdWB9.js → mongodb-structured-memory-D1yQLG0x.js} +3 -3
- package/dist/{mongodb-structured-memory-BlYP5KWD.js → mongodb-structured-memory-Yccp2p-h.js} +2 -2
- package/dist/{monitor-CIToiuwg.js → monitor-BME1o7pu.js} +19 -19
- package/dist/{monitor-CDfWpqcx.js → monitor-Chh7Miml.js} +27 -27
- package/dist/{monitor-JPdN6WeQ.js → monitor-D6IJ9tTv.js} +3 -3
- package/dist/{monitor-CIfR6zbp.js → monitor-DEpKYWtl.js} +19 -19
- package/dist/{monitor-COiWsxl7.js → monitor-DKkPvN7m.js} +20 -20
- package/dist/{monitor-C_SOlJ_G.js → monitor-DOu3Ia0T.js} +1 -1
- package/dist/{nextcloud-talk-1Gt8afk_.js → nextcloud-talk-D0WWjkP4.js} +2 -2
- package/dist/{node-cli-CT38_Wdg.js → node-cli-Dg4euaAB.js} +19 -19
- package/dist/{nodes-cli-CyiFT1SQ.js → nodes-cli-CR7K7GJ0.js} +19 -19
- package/dist/{oauth-BpzyXsae.js → oauth-B4LMwV_0.js} +1 -1
- package/dist/{onboard-CbfnxuTW.js → onboard-CZDDU8yf.js} +4 -4
- package/dist/{onboard-channels-CdMbn_WA.js → onboard-channels-BcBffi7N.js} +68 -68
- package/dist/{onboard-channels-DmJdrOkU.js → onboard-channels-CCjGYLNZ.js} +21 -21
- package/dist/{onboard-custom-lcCTz5S-.js → onboard-custom-BZ-vv1WO.js} +1 -1
- package/dist/{onboard-custom-Ze5mpBkN.js → onboard-custom-CkTSj0YZ.js} +21 -21
- package/dist/{onboard-search-de3_TfoC.js → onboard-search-DoLw7J22.js} +19 -19
- package/dist/{onboarding-memory-CJaXaUlN.js → onboarding-memory-DAIRJoqn.js} +2 -2
- package/dist/{openai-codex-provider-BEv_ZLte.js → openai-codex-provider-CpEAQYdU.js} +2 -2
- package/dist/{openai-provider-CzynW3Tk.js → openai-provider-DmPBYNJG.js} +1 -1
- package/dist/{openclaw-tools.runtime-C-MSNR-3.js → openclaw-tools.runtime-Bk0T5vfp.js} +19 -19
- package/dist/{pi-embedded-BTJ6JO78.js → pi-embedded-gwZ5hg-9.js} +39 -39
- package/dist/{pi-embedded.runtime-BgDuoU-k.js → pi-embedded.runtime-DbyjNojX.js} +19 -19
- package/dist/{plugin-entry.runtime-DhIWzVPR.js → plugin-entry.runtime-BBozbg33.js} +25 -25
- package/dist/{plugin-install-CJtPpsUE.js → plugin-install-BJxeypaA.js} +20 -20
- package/dist/{plugin-install-DttRvMaB.js → plugin-install-CD7iRmTH.js} +1 -1
- package/dist/{plugin-install-config-policy-BNbWWW2z.js → plugin-install-config-policy-DAx-ilyj.js} +1 -1
- package/dist/{plugin-registry-B3vXGLpf.js → plugin-registry-B0XRdoj7.js} +1 -1
- package/dist/{plugin-registry-DkyxmvO6.js → plugin-registry-CRe2cv80.js} +20 -20
- package/dist/plugin-sdk/account-resolution.js +19 -19
- package/dist/plugin-sdk/agent-runtime.js +19 -19
- package/dist/plugin-sdk/allow-from.js +19 -19
- package/dist/plugin-sdk/bluebubbles.js +19 -19
- package/dist/plugin-sdk/channel-config-helpers.js +19 -19
- package/dist/plugin-sdk/channel-inbound.js +19 -19
- package/dist/plugin-sdk/channel-policy.js +19 -19
- package/dist/plugin-sdk/channel-runtime.js +19 -19
- package/dist/plugin-sdk/command-auth.js +19 -19
- package/dist/plugin-sdk/compat.js +19 -19
- package/dist/plugin-sdk/core.js +19 -19
- package/dist/plugin-sdk/directory-runtime.js +1 -1
- package/dist/plugin-sdk/discord.js +29 -29
- package/dist/plugin-sdk/feishu.js +19 -19
- package/dist/plugin-sdk/googlechat.js +19 -19
- package/dist/plugin-sdk/image-generation-core.js +19 -19
- package/dist/plugin-sdk/image-generation.js +21 -21
- package/dist/plugin-sdk/imessage-core.js +19 -19
- package/dist/plugin-sdk/imessage.js +20 -20
- package/dist/plugin-sdk/index.js +21 -21
- package/dist/plugin-sdk/infra-runtime.js +19 -19
- package/dist/plugin-sdk/irc.js +19 -19
- package/dist/plugin-sdk/line-core.js +19 -19
- package/dist/plugin-sdk/line-runtime.js +19 -19
- package/dist/plugin-sdk/line.js +19 -19
- package/dist/plugin-sdk/matrix-runtime-heavy.js +21 -21
- package/dist/plugin-sdk/matrix.js +20 -20
- package/dist/plugin-sdk/mattermost.js +19 -19
- package/dist/plugin-sdk/media-runtime.js +19 -19
- package/dist/plugin-sdk/media-understanding-runtime.js +19 -19
- package/dist/plugin-sdk/media-understanding.js +1 -1
- package/dist/plugin-sdk/msteams.js +19 -19
- package/dist/plugin-sdk/nextcloud-talk.js +19 -19
- package/dist/plugin-sdk/nostr.js +19 -19
- package/dist/plugin-sdk/plugin-runtime.js +19 -19
- package/dist/plugin-sdk/provider-auth-api-key.js +2 -2
- package/dist/plugin-sdk/provider-auth-login.js +1 -1
- package/dist/plugin-sdk/provider-auth.js +19 -19
- package/dist/plugin-sdk/provider-stream.js +19 -19
- package/dist/plugin-sdk/reply-runtime.js +19 -19
- package/dist/plugin-sdk/signal.js +19 -19
- package/dist/plugin-sdk/slack.js +23 -23
- package/dist/plugin-sdk/speech-core.js +19 -19
- package/dist/plugin-sdk/speech-runtime.js +19 -19
- package/dist/plugin-sdk/speech.js +19 -19
- package/dist/plugin-sdk/src/memory/mongodb-search-executor.d.ts +28 -0
- package/dist/plugin-sdk/src/memory/search-utils.d.ts +8 -0
- package/dist/plugin-sdk/src/memory/types.d.ts +7 -0
- package/dist/plugin-sdk/telegram.js +19 -19
- package/dist/plugin-sdk/voice-call.js +19 -19
- package/dist/plugin-sdk/whatsapp-core.js +22 -22
- package/dist/plugin-sdk/whatsapp-shared.js +19 -19
- package/dist/plugin-sdk/zalo.js +19 -19
- package/dist/plugin-sdk/zalouser.js +19 -19
- package/dist/plugins/build-smoke-entry.js +19 -19
- package/dist/plugins/provider-runtime.runtime.js +1 -1
- package/dist/plugins/runtime/index.js +32 -32
- package/dist/{plugins-cli-ut4oj3do.js → plugins-cli-qs-em8oU.js} +27 -27
- package/dist/{plugins-command-helpers-rvnvcYxr.js → plugins-command-helpers-C0nk-qrd.js} +1 -1
- package/dist/{plugins-install-persist-IutOzOB6.js → plugins-install-persist-DnOXl6E3.js} +1 -1
- package/dist/{plugins-update-command-C_fel82u.js → plugins-update-command-CtwLANvC.js} +4 -4
- package/dist/{poll-summary-CNG8Fusj.js → poll-summary-mPV4LjSe.js} +1 -1
- package/dist/{preflight-audio.runtime-Yht_V1Le.js → preflight-audio.runtime-Dj61qIC0.js} +19 -19
- package/dist/{probe-D72rl6CO.js → probe-By9GWU38.js} +1 -1
- package/dist/{profile-update-B5Z8ilIa.js → profile-update-D2aXkjSd.js} +3 -3
- package/dist/{program-4TMxpZy_.js → program-DPZ1_a3q.js} +26 -26
- package/dist/{prompt-select-styled-BLu5H3Iu.js → prompt-select-styled-B1HZzUEM.js} +13 -13
- package/dist/{provider-7_3-BcYG.js → provider-BaahuVFX.js} +10 -10
- package/dist/{provider-auth-choice-BddX8_Ml.js → provider-auth-choice-CSoUYmew.js} +1 -1
- package/dist/{provider-auth-choice-preference-CrnnKpVA.js → provider-auth-choice-preference-CrxAo3BY.js} +2 -2
- package/dist/{provider-auth-choice.runtime-Bu1ZtMTk.js → provider-auth-choice.runtime-DUgq2ClG.js} +21 -21
- package/dist/{provider-auth-choice.runtime-BGE7w978.js → provider-auth-choice.runtime-w2nVW5WK.js} +2 -2
- package/dist/{provider-auth-guidance-DS2ZuTD0.js → provider-auth-guidance-MYPwodls.js} +1 -1
- package/dist/{provider-auth-login-C1r5GM4i.js → provider-auth-login-CLO7UQyn.js} +1 -1
- package/dist/{provider-auth-login.runtime-Dk6_ZqRz.js → provider-auth-login.runtime-CgfVXGFU.js} +19 -19
- package/dist/{provider-runtime-CJEWm23t.js → provider-runtime-BDMlGGzb.js} +19 -19
- package/dist/{provider-runtime.runtime-DDgrBRLf.js → provider-runtime.runtime-BDdRJh54.js} +1 -1
- package/dist/{provider-session.runtime-BkTJMsCn.js → provider-session.runtime-CAqHLehG.js} +23 -23
- package/dist/{provider-usage-CRyRjyGd.js → provider-usage-CGCChzhD.js} +19 -19
- package/dist/{provider-wizard-BsQikn24.js → provider-wizard-CHAa6htg.js} +1 -1
- package/dist/{provider.runtime-xMrL_pJh.js → provider.runtime-B6_VOu8j.js} +25 -25
- package/dist/{push-apns-DAkue9zw.js → push-apns-BegW0CyP.js} +1 -1
- package/dist/{qr-cli-CeiE35Dc.js → qr-cli-B-2zezlv.js} +1 -1
- package/dist/{qr-cli-BYzDr-x-.js → qr-cli-BWAgHWa5.js} +20 -20
- package/dist/{read-only-account-inspect-BTQe0sT8.js → read-only-account-inspect-1yQMBx2j.js} +3 -3
- package/dist/{read-only-account-inspect.discord.runtime-C-IO6zkd.js → read-only-account-inspect.discord.runtime-BP_lN82K.js} +19 -19
- package/dist/{read-only-account-inspect.slack.runtime-BQAZCGkh.js → read-only-account-inspect.slack.runtime-BlozBKFg.js} +19 -19
- package/dist/{read-only-account-inspect.telegram.runtime-DqN2PI7b.js → read-only-account-inspect.telegram.runtime-C_tpGKq8.js} +19 -19
- package/dist/{register.agent-D_b9lTfb.js → register.agent-C4LmgQ-8.js} +79 -79
- package/dist/{register.configure-BLtqPmam.js → register.configure-l8gksRmW.js} +80 -80
- package/dist/{register.maintenance-Bk-Hn7SB.js → register.maintenance-CpeKzgwN.js} +35 -35
- package/dist/{register.message-Bu-OcxdA.js → register.message-DiznSCij.js} +20 -20
- package/dist/{register.onboard-BTFDvscE.js → register.onboard-Cb6BnJfK.js} +24 -24
- package/dist/{register.setup-sVqaV2FT.js → register.setup-DwqjH9AK.js} +22 -22
- package/dist/{register.status-health-sessions-BU1bXsrQ.js → register.status-health-sessions-BrxQ6KEn.js} +25 -25
- package/dist/{register.subclis-B1qOtFfK.js → register.subclis-B4XVc_4x.js} +18 -18
- package/dist/{register.subclis-CLaHGSD-.js → register.subclis-B70v2Dok.js} +1 -1
- package/dist/{replies-CgFl5Aw7.js → replies-ClRihEvG.js} +1 -1
- package/dist/{reply-payloads-dedupe.runtime-BWGZO04T.js → reply-payloads-dedupe.runtime-BZYaCeIo.js} +19 -19
- package/dist/{resolve-allowlist-DbwZKnpW.js → resolve-allowlist-CgW3bkqX.js} +1 -1
- package/dist/{resolve-channels-B7Ufe43c.js → resolve-channels-Q1GpSjyL.js} +2 -2
- package/dist/{resolve-targets-CzJQrNp5.js → resolve-targets-D995HebZ.js} +1 -1
- package/dist/{resolve-users-PZ9SfZPy.js → resolve-users-BtO5FIEX.js} +1 -1
- package/dist/{resolve-users-rHAqZUhg.js → resolve-users-DpT4k4Cr.js} +1 -1
- package/dist/{route-reply.runtime-B8ftgCm9.js → route-reply.runtime-BhbLZOmm.js} +19 -19
- package/dist/{route-resolution-y0cc0LsM.js → route-resolution-BIJbRie_.js} +1 -1
- package/dist/{run-main-C6oLk7UA.js → run-main-7-vbPft2.js} +17 -17
- package/dist/{runtime-C5LUWYAK.js → runtime-C9XRxMGJ.js} +15 -15
- package/dist/{runtime-api-BqegFQ1W.js → runtime-api-BCnvHBxV.js} +1 -1
- package/dist/{runtime-api-BPWBJF1r.js → runtime-api-BUMpVHJ6.js} +1 -1
- package/dist/{runtime-api-Cvm0N8kC.js → runtime-api-C4Y64RLo.js} +7 -7
- package/dist/{runtime-discord-ops.runtime-BCqCLCzH.js → runtime-discord-ops.runtime-BosFi3Mj.js} +29 -29
- package/dist/{runtime-embedded-pi.runtime-r03F73VL.js → runtime-embedded-pi.runtime-wwT1tEAw.js} +19 -19
- package/dist/{runtime-media-understanding.runtime-BwZKC8rO.js → runtime-media-understanding.runtime-DdbTCMUB.js} +19 -19
- package/dist/{runtime-model-auth.runtime-DLewLudS.js → runtime-model-auth.runtime-CNummRuy.js} +19 -19
- package/dist/{runtime-schema-CBiwYCmy.js → runtime-schema-BktzaAdG.js} +2 -2
- package/dist/{runtime-slack-ops.runtime-CUkNfhY5.js → runtime-slack-ops.runtime--d6by7cL.js} +23 -23
- package/dist/{runtime-telegram-ops.runtime-qIwp5p7q.js → runtime-telegram-ops.runtime-BUfCKAVq.js} +19 -19
- package/dist/{runtime-tts.runtime-CC3F0FOC.js → runtime-tts.runtime-DA096WA3.js} +19 -19
- package/dist/{search-manager-D_BnmkI_.js → search-manager-BlT2Zb4i.js} +1 -1
- package/dist/{search-manager-IcYZu7aE.js → search-manager-DQd2otzd.js} +1 -1
- package/dist/{secrets-cli-8CycF-5i.js → secrets-cli-CTouKWW9.js} +19 -19
- package/dist/{security-cli-E-X2Uzs0.js → security-cli-CiXKrtth.js} +20 -20
- package/dist/{send-Cgo9NxMT.js → send-BSca4GIA.js} +5 -5
- package/dist/{server-node-events-lK9q3nqZ.js → server-node-events-fU7K5ls1.js} +20 -20
- package/dist/{server-startup-matrix-migration-ByASvLuc.js → server-startup-matrix-migration-CVmhTfDY.js} +2 -2
- package/dist/{session-BBsZKt5n.js → session-D3jpdP6d.js} +1 -1
- package/dist/{session-cost-usage-VvM6PPmc.js → session-cost-usage-7-YeoAlD.js} +20 -20
- package/dist/{session-cost-usage-D6n4vBJx.js → session-cost-usage-BjLshLU6.js} +1 -1
- package/dist/{session-system-events-DSTdWdbE.js → session-system-events-AQo6KIlo.js} +1 -1
- package/dist/{session-updates.runtime-BFBXRe-j.js → session-updates.runtime-BPOrfQZT.js} +3 -3
- package/dist/{sessions-DyzSGMVD.js → sessions-48iXwZnl.js} +20 -20
- package/dist/{sessions-DRy1UI3l.js → sessions-CJTqXLS8.js} +2 -2
- package/dist/{setup-BINrlDkd.js → setup-DPELG2Vp.js} +9 -9
- package/dist/{setup-core-BhIi9PVc.js → setup-core-BCeD5CV6.js} +1 -1
- package/dist/{setup-core-CGwCnv7D.js → setup-core-BMWAhyRq.js} +2 -2
- package/dist/{setup-core-1UbYG-pF.js → setup-core-Bf9ZwvjX.js} +1 -1
- package/dist/{setup-core-CLQmmwkw.js → setup-core-DYP0wxtc.js} +1 -1
- package/dist/{setup-entry-lfZ4hXP4.js → setup-entry-B-Oy31eD.js} +3 -3
- package/dist/{setup-entry-tRK0vqq9.js → setup-entry-B29P2khw.js} +2 -2
- package/dist/{setup-entry-_d3sU_VL.js → setup-entry-BOEd0Ane.js} +2 -2
- package/dist/{setup-entry-Dbpj9LvN.js → setup-entry-C4TPJwTw.js} +3 -3
- package/dist/{setup-entry-B9BscY1h.js → setup-entry-Cpojh89d.js} +3 -3
- package/dist/{setup-entry-Cr84K4Uh.js → setup-entry-Hfrt8kt9.js} +2 -2
- package/dist/{setup-surface-BAoLAVIS.js → setup-surface-BhRNCMPg.js} +1 -1
- package/dist/{setup-surface-Bq8CCsw0.js → setup-surface-Bq3MzRTO.js} +2 -2
- package/dist/{setup-surface-BSPQE-EJ.js → setup-surface-CoFPZdQS.js} +22 -22
- package/dist/{setup-surface-14luDtku.js → setup-surface-E4hLJsq5.js} +2 -2
- package/dist/{setup-surface-Cq7PnSWt.js → setup-surface-W2VLxXDM.js} +1 -1
- package/dist/{setup.finalize-B6VOfrgd.js → setup.finalize-84Gf0ObS.js} +27 -27
- package/dist/{shared-MnhwscPz.js → shared-BJMhOB2G.js} +3 -3
- package/dist/{shared-sW0JYaOH.js → shared-D0XeAdo9.js} +3 -3
- package/dist/{shared-B0okQn9t.js → shared-RHV7JyZc.js} +2 -2
- package/dist/{shared-cyAcNs5Z.js → shared-cjPYmDse.js} +1 -1
- package/dist/{shared-B4mgl1hs.js → shared-nNepSWGa.js} +3 -3
- package/dist/{shared-cSJLw4mZ.js → shared-uMMtJTMV.js} +1 -1
- package/dist/{signal-C36jfJU3.js → signal-CME5sJ0w.js} +3 -3
- package/dist/{signal-BAZKGRfn.js → signal-D4Lbf988.js} +19 -19
- package/dist/{slack--31D299J.js → slack-CODJLiIt.js} +23 -23
- package/dist/{slack-B9lSH1M2.js → slack-gymwMRHI.js} +4 -4
- package/dist/{slash-commands.runtime-DdeDPbjA.js → slash-commands.runtime-BU-vIH8R.js} +19 -19
- package/dist/{slash-dispatch.runtime-ADbYSJpf.js → slash-dispatch.runtime-Dhfe7IYa.js} +20 -20
- package/dist/{slash-skill-commands.runtime-Da40q2OX.js → slash-skill-commands.runtime-mw13ajQT.js} +19 -19
- package/dist/{src-DOwTfreQ.js → src-BlkqMEit.js} +21 -21
- package/dist/{status-XNNhFJFh.js → status-1rpgeSGa.js} +1 -1
- package/dist/{status-Bf6ZMQXm.js → status-BZsBg9xV.js} +24 -24
- package/dist/{status-DrEiuz53.js → status-CC-ehab5.js} +9 -9
- package/dist/{status-T77yTR0p.js → status-Dw5aNMUi.js} +1 -1
- package/dist/{status-json-CiaELzwJ.js → status-json-DQ99lhAL.js} +5 -5
- package/dist/{status.link-channel-xcMdXLjx.js → status.link-channel-DuNmDjGh.js} +2 -2
- package/dist/{status.scan.deps.runtime-CUPJWHFt.js → status.scan.deps.runtime-DWQ5IOU6.js} +8 -8
- package/dist/{status.scan.json-core-DGIwFxFo.js → status.scan.json-core-B0T4DsPj.js} +4 -4
- package/dist/{status.scan.runtime-BAAA0eKn.js → status.scan.runtime-DkJC6Vgv.js} +2 -2
- package/dist/{subagent-orphan-recovery-DdbLuYCt.js → subagent-orphan-recovery-DSxLQZvE.js} +19 -19
- package/dist/{subagent-registry-runtime-CWyyx5KZ.js → subagent-registry-runtime-CV_OzD0q.js} +19 -19
- package/dist/{synology-chat-CoeHg_-G.js → synology-chat-BaUHBtMN.js} +2 -2
- package/dist/{targets-BF8_iYux.js → targets-CjzBweAX.js} +1 -1
- package/dist/telegram/audit.js +1 -1
- package/dist/telegram/token.js +19 -19
- package/dist/{telegram-Bq29SDXS.js → telegram-CkAzNmH7.js} +19 -19
- package/dist/{telegram-DhCtytlC.js → telegram-EebZvTzh.js} +5 -5
- package/dist/{thread-bindings-BXSN3Lme.js → thread-bindings-IDx8jZ0O.js} +2 -2
- package/dist/{thread-bindings-B92fpSB_.js → thread-bindings-sapdPwgA.js} +1 -1
- package/dist/{thread-bindings.messages-BEo_b3yC.js → thread-bindings.messages-r4Dz6nBF.js} +1 -1
- package/dist/{tool-actions.runtime-BC4E15O0.js → tool-actions.runtime-D69_bV8W.js} +27 -27
- package/dist/{tts.runtime-DCAazXil.js → tts.runtime-Bj0GrgrY.js} +19 -19
- package/dist/{tui-VnxDoYFY.js → tui-CoAq-5WQ.js} +1 -1
- package/dist/{tui-cli-Dn6jOXXm.js → tui-cli-CYjvD-kF.js} +20 -20
- package/dist/{ui-_wzuJeHY.js → ui-BijfqGyW.js} +1 -1
- package/dist/{update-cli-CR50kfye.js → update-cli-BxmI8tEh.js} +35 -35
- package/dist/{update-offset-store-BmmtcMK9.js → update-offset-store-CWYWIMKg.js} +19 -19
- package/dist/{verification-BoW7hiLV.js → verification-DRHMZMyz.js} +3 -3
- package/dist/{webhook-shared-DKeX_CoJ.js → webhook-shared-CYZN-G1z.js} +1 -1
- package/dist/{whatsapp-core-FP13jVxy.js → whatsapp-core-C_MCKbIX.js} +1 -1
- package/dist/{zalo-DZtlBJvq.js → zalo-gLJk_7Mo.js} +2 -2
- package/docs/research/2026-03-28-agentic-search-review-github.md +308 -0
- package/docs/research/2026-03-28-agentic-search-review-web.md +331 -0
- package/docs/research/2026-03-28-brainstorm-validation-github.md +192 -0
- package/docs/research/2026-03-28-brainstorm-validation-synthesis.md +190 -0
- package/docs/research/2026-03-28-brainstorm-validation-web.md +395 -0
- package/package.json +89 -135
- package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -0
- package/skills/tmux/scripts/find-sessions.sh +0 -0
- 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).
|