denchclaw 2.5.2 → 2.5.4
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/README.md +8 -0
- package/apps/web/.next/standalone/apps/web/.next/BUILD_ID +1 -1
- package/apps/web/.next/standalone/apps/web/.next/app-build-manifest.json +160 -167
- package/apps/web/.next/standalone/apps/web/.next/app-path-routes-manifest.json +33 -34
- package/apps/web/.next/standalone/apps/web/.next/build-manifest.json +2 -2
- package/apps/web/.next/standalone/apps/web/.next/cache/config.json +3 -3
- package/apps/web/.next/standalone/apps/web/.next/prerender-manifest.json +3 -3
- package/apps/web/.next/standalone/apps/web/.next/required-server-files.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/routes-manifest.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/cron/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/proxy/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/serve/[...path]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/store/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/webhooks/[...path]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/active/route.js.nft.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/active/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/runs/route.js.nft.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/runs/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/stop/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/stop/route.js.nft.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/stop/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/stream/route.js.nft.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/stream/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/subagents/route.js.nft.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/subagents/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/callback/route.js +8 -8
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/callback/route.js.nft.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/callback/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/connect/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/connections/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/connections/route.js.nft.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/connections/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/disconnect/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/disconnect/route.js.nft.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/disconnect/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/status/route.js +7 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/status/route.js.nft.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/status/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/toolkits/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/jobs/[jobId]/runs/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/jobs/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/runs/[sessionId]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/runs/search-transcript/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/feedback/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/feedback/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/gateway/channels/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/gateway/chat/route.js.nft.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/gateway/chat/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/gateway/chat/stream/route.js.nft.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/gateway/chat/stream/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/gateway/sessions/[id]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/gateway/sessions/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/integrations/[id]/toggle/route.js.nft.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/integrations/[id]/toggle/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/integrations/repair/route.js.nft.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/integrations/repair/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/integrations/route.js.nft.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/integrations/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/memories/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/profiles/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/profiles/switch/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/sessions/[sessionId]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/settings/cloud/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/settings/cloud/route.js.nft.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/settings/cloud/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/[slug]/content/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/[slug]/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/[slug]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/browse/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/install/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/terminal/port/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/voice/speech/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/voice/speech/route.js.nft.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/voice/speech/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/voice/transcribe/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/voice/transcribe/route.js.nft.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/voice/transcribe/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/voice/voices/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/voice/voices/route.js.nft.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/voice/voices/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/[id]/messages/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/[id]/route.js.nft.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/[id]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/assets/[...path]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/browse/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/browse-file/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/context/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/copy/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/db/introspect/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/db/query/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/delete/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/delete/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/execute/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/file/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/init/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/init/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/link-preview/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/list/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/mkdir/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/move/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/actions/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/actions/runs/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/display-field/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/[id]/content/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/[id]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/bulk-delete/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/options/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/fields/[fieldId]/enum-rename/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/fields/[fieldId]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/fields/reorder/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/fields/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/views/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/open-file/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/path-info/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/query/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/raw-file/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/rename/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/reports/execute/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/reports/execute/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/search-index/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/suggest-files/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/switch/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/switch/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/thumbnail/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/tree/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/upload/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/upload/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/virtual-file/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/watch/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/write-binary/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/page.js +9 -8
- package/apps/web/.next/standalone/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/workspace/page.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/workspace/page_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app-paths-manifest.json +33 -34
- package/apps/web/.next/standalone/apps/web/.next/server/chunks/6426.js +3 -3
- package/apps/web/.next/standalone/apps/web/.next/server/chunks/6787.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/chunks/687.js +4 -4
- package/apps/web/.next/standalone/apps/web/.next/server/chunks/7488.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/chunks/7515.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/server/chunks/8306.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/functions-config-manifest.json +18 -19
- package/apps/web/.next/standalone/apps/web/.next/server/pages/500.html +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/server-reference-manifest.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/cron/{route-982235d988e17f31.js → route-3f5324f861724fe4.js} +1 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/proxy/{route-982235d988e17f31.js → route-3f5324f861724fe4.js} +1 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/{route-982235d988e17f31.js → route-3f5324f861724fe4.js} +1 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/serve/[...path]/{route-982235d988e17f31.js → route-3f5324f861724fe4.js} +1 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/store/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/webhooks/[...path]/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/active/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/runs/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/stop/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/stream/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/subagents/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/callback/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/connect/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/connections/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/disconnect/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/status/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/toolkits/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/cron/jobs/[jobId]/runs/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/cron/jobs/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/cron/runs/[sessionId]/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/cron/runs/search-transcript/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/feedback/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/channels/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/chat/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/chat/stream/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/sessions/[id]/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/sessions/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/integrations/[id]/toggle/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/integrations/repair/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/integrations/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/memories/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/profiles/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/profiles/switch/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/sessions/[sessionId]/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/sessions/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/settings/cloud/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/skills/[slug]/content/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/skills/[slug]/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/skills/browse/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/skills/install/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/skills/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/terminal/port/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/voice/speech/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/voice/transcribe/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/voice/voices/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/web-sessions/[id]/messages/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/web-sessions/[id]/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/web-sessions/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/assets/[...path]/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/browse/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/browse-file/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/context/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/copy/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/db/introspect/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/db/query/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/delete/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/execute/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/file/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/init/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/link-preview/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/list/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/mkdir/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/move/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/actions/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/actions/runs/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/display-field/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/[id]/content/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/[id]/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/bulk-delete/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/options/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/[fieldId]/enum-rename/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/[fieldId]/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/reorder/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/views/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/open-file/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/path-info/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/query/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/raw-file/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/rename/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/reports/execute/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/search-index/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/suggest-files/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/switch/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/thumbnail/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/tree/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/upload/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/virtual-file/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/watch/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/write-binary/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/{layout-4e33b3503af94c5b.js → layout-f3680ff738cac0bb.js} +1 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/page-9d91562ada53b3ef.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/workspace/page-449a49cbf2cfee70.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/css/74b1299abb24af0e.css +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/oj1WoDEuGOF0TNojiymK5/_buildManifest.js +1 -0
- package/apps/web/.next/standalone/apps/web/app/components/__fixtures__/composio-empty-final-reply.jsonl +4 -0
- package/apps/web/.next/standalone/apps/web/public/dench-integrations-icon.png +0 -0
- package/apps/web/.next/standalone/apps/web/server.js +1 -1
- package/apps/web/.next/standalone/extensions/apollo-enrichment/index.ts +4 -26
- package/apps/web/.next/standalone/extensions/dench-ai-gateway/composio-bridge.ts +152 -426
- package/apps/web/.next/standalone/extensions/dench-ai-gateway/config-patch.ts +7 -4
- package/apps/web/.next/standalone/extensions/dench-ai-gateway/index.test.ts +280 -220
- package/apps/web/.next/standalone/extensions/dench-ai-gateway/index.ts +2 -2
- package/apps/web/.next/standalone/extensions/dench-identity/composio-cheat-sheet.test.ts +19 -111
- package/apps/web/.next/standalone/extensions/dench-identity/composio-cheat-sheet.ts +63 -108
- package/apps/web/.next/standalone/extensions/dench-identity/composio-tool-search.ts +322 -0
- package/apps/web/.next/standalone/extensions/dench-identity/index.test.ts +461 -55
- package/apps/web/.next/standalone/extensions/dench-identity/index.ts +1316 -200
- package/apps/web/.next/standalone/extensions/exa-search/index.ts +4 -27
- package/apps/web/.next/standalone/extensions/posthog-analytics/lib/build-env.js +1 -1
- package/apps/web/.next/standalone/extensions/shared/composio-search-context.ts +134 -0
- package/apps/web/.next/standalone/extensions/shared/dench-auth.ts +47 -0
- package/apps/web/.next/standalone/package.json +1 -1
- package/apps/web/.next/static/chunks/app/api/apps/cron/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/apps/proxy/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/apps/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/apps/serve/[...path]/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/apps/store/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/apps/webhooks/[...path]/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/chat/active/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/chat/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/chat/runs/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/chat/stop/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/chat/stream/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/chat/subagents/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/composio/callback/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/composio/connect/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/composio/connections/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/composio/disconnect/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/composio/status/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/composio/toolkits/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/cron/jobs/[jobId]/runs/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/cron/jobs/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/cron/runs/[sessionId]/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/cron/runs/search-transcript/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/feedback/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/gateway/channels/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/gateway/chat/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/gateway/chat/stream/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/gateway/sessions/[id]/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/gateway/sessions/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/integrations/[id]/toggle/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/integrations/repair/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/integrations/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/memories/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/profiles/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/profiles/switch/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/sessions/[sessionId]/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/sessions/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/settings/cloud/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/skills/[slug]/content/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/skills/[slug]/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/skills/browse/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/skills/install/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/skills/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/terminal/port/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/voice/speech/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/voice/transcribe/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/voice/voices/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/web-sessions/[id]/messages/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/web-sessions/[id]/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/web-sessions/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/assets/[...path]/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/browse/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/browse-file/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/context/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/copy/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/db/introspect/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/db/query/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/delete/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/execute/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/file/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/init/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/link-preview/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/list/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/mkdir/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/move/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/actions/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/actions/runs/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/display-field/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/[id]/content/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/[id]/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/bulk-delete/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/options/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/[fieldId]/enum-rename/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/[fieldId]/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/reorder/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/views/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/open-file/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/path-info/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/query/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/raw-file/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/rename/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/reports/execute/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/search-index/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/suggest-files/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/switch/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/thumbnail/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/tree/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/upload/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/virtual-file/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/watch/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/api/workspace/write-binary/route-3f5324f861724fe4.js +1 -0
- package/apps/web/.next/static/chunks/app/{layout-4e33b3503af94c5b.js → layout-f3680ff738cac0bb.js} +1 -1
- package/apps/web/.next/static/chunks/app/page-9d91562ada53b3ef.js +1 -0
- package/apps/web/.next/static/chunks/app/workspace/page-449a49cbf2cfee70.js +1 -0
- package/apps/web/.next/static/css/74b1299abb24af0e.css +1 -0
- package/apps/web/.next/static/oj1WoDEuGOF0TNojiymK5/_buildManifest.js +1 -0
- package/apps/web/public/dench-integrations-icon.png +0 -0
- package/dist/{cli-name-CoW7mNz-.js → cli-name-Sz-5E3q2.js} +1 -1
- package/dist/entry.js +9 -2
- package/dist/{program-C4ijUMvC.js → program-CtW4fcfa.js} +265 -70
- package/dist/{run-main-tu5KGaV-.js → run-main-CPnN1zoG.js} +3 -3
- package/dist/{telemetry-DguRjCZq.js → telemetry-C_b18hhq.js} +1 -1
- package/extensions/apollo-enrichment/index.ts +4 -26
- package/extensions/dench-ai-gateway/composio-bridge.ts +152 -426
- package/extensions/dench-ai-gateway/config-patch.ts +7 -4
- package/extensions/dench-ai-gateway/index.test.ts +280 -220
- package/extensions/dench-ai-gateway/index.ts +2 -2
- package/extensions/dench-identity/composio-cheat-sheet.test.ts +19 -111
- package/extensions/dench-identity/composio-cheat-sheet.ts +63 -108
- package/extensions/dench-identity/composio-tool-search.ts +322 -0
- package/extensions/dench-identity/index.test.ts +461 -55
- package/extensions/dench-identity/index.ts +1316 -200
- package/extensions/exa-search/index.ts +4 -27
- package/extensions/posthog-analytics/lib/build-env.js +1 -1
- package/extensions/shared/composio-search-context.ts +134 -0
- package/extensions/shared/dench-auth.ts +47 -0
- package/package.json +1 -1
- package/skills/composio-apps/SKILL.md +27 -9
- package/skills/dench-integrations/SKILL.md +189 -0
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/tool-index/route.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/tool-index/route.js.nft.json +0 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/tool-index/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/server/chunks/8650.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/store/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/apps/webhooks/[...path]/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/active/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/runs/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/stop/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/stream/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/chat/subagents/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/callback/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/connect/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/connections/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/disconnect/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/status/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/tool-index/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/composio/toolkits/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/cron/jobs/[jobId]/runs/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/cron/jobs/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/cron/runs/[sessionId]/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/cron/runs/search-transcript/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/feedback/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/channels/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/chat/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/chat/stream/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/sessions/[id]/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/gateway/sessions/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/integrations/[id]/toggle/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/integrations/repair/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/integrations/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/memories/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/profiles/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/profiles/switch/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/sessions/[sessionId]/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/sessions/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/settings/cloud/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/skills/[slug]/content/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/skills/[slug]/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/skills/browse/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/skills/install/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/skills/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/terminal/port/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/voice/speech/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/voice/transcribe/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/voice/voices/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/web-sessions/[id]/messages/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/web-sessions/[id]/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/web-sessions/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/assets/[...path]/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/browse/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/browse-file/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/context/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/copy/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/db/introspect/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/db/query/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/delete/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/execute/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/file/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/init/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/link-preview/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/list/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/mkdir/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/move/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/actions/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/actions/runs/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/display-field/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/[id]/content/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/[id]/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/bulk-delete/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/options/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/[fieldId]/enum-rename/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/[fieldId]/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/reorder/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/views/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/open-file/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/path-info/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/query/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/raw-file/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/rename/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/reports/execute/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/search-index/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/suggest-files/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/switch/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/thumbnail/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/tree/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/upload/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/virtual-file/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/watch/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/api/workspace/write-binary/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/page-93ec42bca0d82a2b.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/workspace/page-7f60d4efe8904f55.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/css/4f71a2dee93c9f97.css +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/hGwOuep2JUMOZ4iiPjKLY/_buildManifest.js +0 -1
- package/apps/web/.next/static/chunks/app/api/apps/cron/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/apps/proxy/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/apps/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/apps/serve/[...path]/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/apps/store/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/apps/webhooks/[...path]/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/chat/active/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/chat/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/chat/runs/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/chat/stop/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/chat/stream/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/chat/subagents/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/composio/callback/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/composio/connect/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/composio/connections/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/composio/disconnect/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/composio/status/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/composio/tool-index/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/composio/toolkits/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/cron/jobs/[jobId]/runs/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/cron/jobs/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/cron/runs/[sessionId]/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/cron/runs/search-transcript/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/feedback/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/gateway/channels/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/gateway/chat/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/gateway/chat/stream/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/gateway/sessions/[id]/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/gateway/sessions/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/integrations/[id]/toggle/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/integrations/repair/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/integrations/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/memories/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/profiles/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/profiles/switch/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/sessions/[sessionId]/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/sessions/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/settings/cloud/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/skills/[slug]/content/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/skills/[slug]/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/skills/browse/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/skills/install/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/skills/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/terminal/port/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/voice/speech/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/voice/transcribe/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/voice/voices/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/web-sessions/[id]/messages/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/web-sessions/[id]/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/web-sessions/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/assets/[...path]/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/browse/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/browse-file/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/context/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/copy/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/db/introspect/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/db/query/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/delete/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/execute/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/file/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/init/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/link-preview/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/list/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/mkdir/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/move/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/actions/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/actions/runs/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/display-field/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/[id]/content/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/[id]/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/bulk-delete/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/options/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/entries/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/[fieldId]/enum-rename/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/[fieldId]/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/reorder/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/fields/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/objects/[name]/views/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/open-file/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/path-info/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/query/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/raw-file/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/rename/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/reports/execute/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/search-index/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/suggest-files/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/switch/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/thumbnail/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/tree/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/upload/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/virtual-file/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/watch/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/api/workspace/write-binary/route-982235d988e17f31.js +0 -1
- package/apps/web/.next/static/chunks/app/page-93ec42bca0d82a2b.js +0 -1
- package/apps/web/.next/static/chunks/app/workspace/page-7f60d4efe8904f55.js +0 -1
- package/apps/web/.next/static/css/4f71a2dee93c9f97.css +0 -1
- package/apps/web/.next/static/hGwOuep2JUMOZ4iiPjKLY/_buildManifest.js +0 -1
- /package/apps/web/.next/standalone/apps/web/.next/static/{hGwOuep2JUMOZ4iiPjKLY → oj1WoDEuGOF0TNojiymK5}/_ssgManifest.js +0 -0
- /package/apps/web/.next/static/{hGwOuep2JUMOZ4iiPjKLY → oj1WoDEuGOF0TNojiymK5}/_ssgManifest.js +0 -0
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import os from "node:os";
|
|
4
|
-
import { describe, expect, it, afterEach } from "vitest";
|
|
5
|
-
import {
|
|
6
|
-
formatComposioToolCheatSheetFromIndex,
|
|
7
|
-
loadComposioToolCheatSheetMarkdown,
|
|
8
|
-
} from "./composio-cheat-sheet.js";
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { formatComposioToolCheatSheetFromIndex } from "./composio-cheat-sheet.js";
|
|
9
3
|
|
|
10
4
|
describe("formatComposioToolCheatSheetFromIndex", () => {
|
|
11
5
|
it("renders markdown with tool table and gotchas", () => {
|
|
@@ -16,6 +10,18 @@ describe("formatComposioToolCheatSheetFromIndex", () => {
|
|
|
16
10
|
toolkit_slug: "gmail",
|
|
17
11
|
toolkit_name: "Gmail",
|
|
18
12
|
account_count: 2,
|
|
13
|
+
accounts: [
|
|
14
|
+
{
|
|
15
|
+
connected_account_id: "conn_gmail_1",
|
|
16
|
+
account_identity: "gmail:work",
|
|
17
|
+
account_identity_source: "gateway_stable_id",
|
|
18
|
+
identity_confidence: "high",
|
|
19
|
+
display_label: "Work Gmail",
|
|
20
|
+
account_email: "work@example.com",
|
|
21
|
+
related_connection_ids: [],
|
|
22
|
+
is_same_account_reconnect: false,
|
|
23
|
+
},
|
|
24
|
+
],
|
|
19
25
|
tools: [
|
|
20
26
|
{
|
|
21
27
|
name: "GMAIL_FETCH_EMAILS",
|
|
@@ -38,109 +44,11 @@ describe("formatComposioToolCheatSheetFromIndex", () => {
|
|
|
38
44
|
expect(md).toContain("GMAIL_FETCH_EMAILS");
|
|
39
45
|
expect(md).toContain("Read recent emails");
|
|
40
46
|
expect(md).toContain("label_ids");
|
|
41
|
-
expect(md).toContain("
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
let tmp: string;
|
|
47
|
-
|
|
48
|
-
afterEach(() => {
|
|
49
|
-
if (tmp) {
|
|
50
|
-
rmSync(tmp, { recursive: true, force: true });
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
it("reads composio-tool-index.json from workspace dir", () => {
|
|
55
|
-
tmp = path.join(
|
|
56
|
-
os.tmpdir(),
|
|
57
|
-
`dench-composio-index-${Date.now()}-${Math.random().toString(36).slice(2)}`,
|
|
58
|
-
);
|
|
59
|
-
mkdirSync(tmp, { recursive: true });
|
|
60
|
-
writeFileSync(
|
|
61
|
-
path.join(tmp, "composio-tool-index.json"),
|
|
62
|
-
JSON.stringify({
|
|
63
|
-
generated_at: "2025-01-02T00:00:00.000Z",
|
|
64
|
-
connected_apps: [
|
|
65
|
-
{
|
|
66
|
-
toolkit_slug: "slack",
|
|
67
|
-
toolkit_name: "Slack",
|
|
68
|
-
account_count: 1,
|
|
69
|
-
tools: [
|
|
70
|
-
{
|
|
71
|
-
name: "SLACK_SEND_MESSAGE",
|
|
72
|
-
title: "Send",
|
|
73
|
-
description_short: "Send a message.",
|
|
74
|
-
required_args: ["channel", "text"],
|
|
75
|
-
arg_hints: {},
|
|
76
|
-
},
|
|
77
|
-
],
|
|
78
|
-
recipes: {},
|
|
79
|
-
},
|
|
80
|
-
],
|
|
81
|
-
}),
|
|
82
|
-
"utf-8",
|
|
83
|
-
);
|
|
84
|
-
|
|
85
|
-
const md = loadComposioToolCheatSheetMarkdown(tmp);
|
|
86
|
-
expect(md).toContain("Slack (1 account connected)");
|
|
87
|
-
expect(md).toContain("SLACK_SEND_MESSAGE");
|
|
88
|
-
expect(md).toContain("composio_resolve_tool");
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
it("only claims verified MCP availability when the status file says so", () => {
|
|
92
|
-
tmp = path.join(
|
|
93
|
-
os.tmpdir(),
|
|
94
|
-
`dench-composio-status-${Date.now()}-${Math.random().toString(36).slice(2)}`,
|
|
95
|
-
);
|
|
96
|
-
mkdirSync(tmp, { recursive: true });
|
|
97
|
-
writeFileSync(
|
|
98
|
-
path.join(tmp, "composio-tool-index.json"),
|
|
99
|
-
JSON.stringify({
|
|
100
|
-
generated_at: "2025-01-02T00:00:00.000Z",
|
|
101
|
-
connected_apps: [
|
|
102
|
-
{
|
|
103
|
-
toolkit_slug: "gmail",
|
|
104
|
-
toolkit_name: "Gmail",
|
|
105
|
-
account_count: 1,
|
|
106
|
-
tools: [
|
|
107
|
-
{
|
|
108
|
-
name: "GMAIL_FETCH_EMAILS",
|
|
109
|
-
title: "Fetch emails",
|
|
110
|
-
description_short: "List inbox messages.",
|
|
111
|
-
required_args: [],
|
|
112
|
-
arg_hints: {},
|
|
113
|
-
default_args: { label_ids: ["INBOX"], max_results: 10 },
|
|
114
|
-
},
|
|
115
|
-
],
|
|
116
|
-
recipes: { "Read recent emails": "GMAIL_FETCH_EMAILS" },
|
|
117
|
-
},
|
|
118
|
-
],
|
|
119
|
-
}),
|
|
120
|
-
"utf-8",
|
|
121
|
-
);
|
|
122
|
-
writeFileSync(
|
|
123
|
-
path.join(tmp, "composio-mcp-status.json"),
|
|
124
|
-
JSON.stringify({
|
|
125
|
-
summary: {
|
|
126
|
-
verified: false,
|
|
127
|
-
message: "Composio MCP is configured and the gateway is reachable, but live agent visibility has not been verified yet.",
|
|
128
|
-
},
|
|
129
|
-
}),
|
|
130
|
-
"utf-8",
|
|
131
|
-
);
|
|
132
|
-
|
|
133
|
-
const md = loadComposioToolCheatSheetMarkdown(tmp);
|
|
47
|
+
expect(md).toContain("Dench Integrations");
|
|
48
|
+
expect(md).not.toContain("Composio MCP");
|
|
49
|
+
expect(md).toContain("composio_search_tools");
|
|
50
|
+
expect(md).toContain("composio_call_tool");
|
|
51
|
+
expect(md).toContain("Work Gmail");
|
|
134
52
|
expect(md).toContain("configured integration layer");
|
|
135
|
-
expect(md).not.toContain("verified MCP tools available");
|
|
136
|
-
});
|
|
137
|
-
|
|
138
|
-
it("returns null when file is missing", () => {
|
|
139
|
-
tmp = path.join(
|
|
140
|
-
os.tmpdir(),
|
|
141
|
-
`dench-composio-empty-${Date.now()}-${Math.random().toString(36).slice(2)}`,
|
|
142
|
-
);
|
|
143
|
-
mkdirSync(tmp, { recursive: true });
|
|
144
|
-
expect(loadComposioToolCheatSheetMarkdown(tmp)).toBeNull();
|
|
145
53
|
});
|
|
146
54
|
});
|
|
@@ -1,94 +1,97 @@
|
|
|
1
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
|
|
4
1
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* agent runtime can format the cheat sheet without importing the Next app.
|
|
2
|
+
* Shared Composio response shapes kept in the extension package so the agent
|
|
3
|
+
* runtime can format human-readable guidance without importing the web app.
|
|
8
4
|
*/
|
|
5
|
+
export type ComposioManagedAccount = {
|
|
6
|
+
connected_account_id: string;
|
|
7
|
+
account_identity: string;
|
|
8
|
+
account_identity_source: "gateway_stable_id" | "legacy_heuristic" | "connection_id";
|
|
9
|
+
identity_confidence: "high" | "low" | "unknown";
|
|
10
|
+
display_label: string;
|
|
11
|
+
account_label?: string | null;
|
|
12
|
+
account_name?: string | null;
|
|
13
|
+
account_email?: string | null;
|
|
14
|
+
external_account_id?: string | null;
|
|
15
|
+
related_connection_ids: string[];
|
|
16
|
+
is_same_account_reconnect: boolean;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export type ComposioToolSummary = {
|
|
20
|
+
name: string;
|
|
21
|
+
title: string;
|
|
22
|
+
description_short: string;
|
|
23
|
+
required_args: string[];
|
|
24
|
+
arg_hints: Record<string, string>;
|
|
25
|
+
default_args?: Record<string, unknown>;
|
|
26
|
+
example_args?: Record<string, unknown>;
|
|
27
|
+
example_prompts?: string[];
|
|
28
|
+
input_schema?: Record<string, unknown>;
|
|
29
|
+
};
|
|
30
|
+
|
|
9
31
|
export type ComposioToolIndexFile = {
|
|
10
32
|
generated_at: string;
|
|
33
|
+
managed_tools?: string[];
|
|
11
34
|
connected_apps: Array<{
|
|
12
35
|
toolkit_slug: string;
|
|
13
36
|
toolkit_name: string;
|
|
14
37
|
account_count: number;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
title: string;
|
|
18
|
-
description_short: string;
|
|
19
|
-
required_args: string[];
|
|
20
|
-
arg_hints: Record<string, string>;
|
|
21
|
-
default_args?: Record<string, unknown>;
|
|
22
|
-
example_args?: Record<string, unknown>;
|
|
23
|
-
example_prompts?: string[];
|
|
24
|
-
input_schema?: Record<string, unknown>;
|
|
25
|
-
}>;
|
|
38
|
+
accounts?: ComposioManagedAccount[];
|
|
39
|
+
tools: ComposioToolSummary[];
|
|
26
40
|
recipes: Record<string, string>;
|
|
27
41
|
}>;
|
|
28
42
|
};
|
|
29
43
|
|
|
30
|
-
type
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
};
|
|
38
|
-
gatewayTools?: {
|
|
39
|
-
status?: "pass" | "fail" | "unknown";
|
|
40
|
-
};
|
|
41
|
-
liveAgent?: {
|
|
42
|
-
status?: "pass" | "fail" | "unknown";
|
|
43
|
-
};
|
|
44
|
+
export type ComposioToolCatalogFile = {
|
|
45
|
+
generated_at: string;
|
|
46
|
+
connected_apps: Array<{
|
|
47
|
+
toolkit_slug: string;
|
|
48
|
+
toolkit_name: string;
|
|
49
|
+
tools: ComposioToolSummary[];
|
|
50
|
+
}>;
|
|
44
51
|
};
|
|
45
52
|
|
|
46
|
-
function isComposioToolIndexFile(value: unknown): value is ComposioToolIndexFile {
|
|
47
|
-
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
const rec = value as Record<string, unknown>;
|
|
51
|
-
if (typeof rec.generated_at !== "string" || !Array.isArray(rec.connected_apps)) {
|
|
52
|
-
return false;
|
|
53
|
-
}
|
|
54
|
-
return true;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
53
|
/**
|
|
58
|
-
* Build markdown
|
|
54
|
+
* Build markdown from a parsed app/tool summary.
|
|
59
55
|
*/
|
|
60
56
|
export function formatComposioToolCheatSheetFromIndex(index: ComposioToolIndexFile): string {
|
|
61
|
-
return formatComposioToolCheatSheet(index
|
|
57
|
+
return formatComposioToolCheatSheet(index);
|
|
62
58
|
}
|
|
63
59
|
|
|
64
|
-
function formatComposioToolCheatSheet(
|
|
65
|
-
index: ComposioToolIndexFile,
|
|
66
|
-
status: ComposioMcpStatusFile | null,
|
|
67
|
-
): string {
|
|
68
|
-
const verified = status?.summary?.verified === true;
|
|
69
|
-
const summaryMessage = typeof status?.summary?.message === "string" ? status.summary.message : null;
|
|
60
|
+
function formatComposioToolCheatSheet(index: ComposioToolIndexFile): string {
|
|
70
61
|
const lines: string[] = [
|
|
71
|
-
"## Connected App Tools (
|
|
62
|
+
"## Connected App Tools (Dench Integrations)",
|
|
72
63
|
"",
|
|
73
|
-
|
|
74
|
-
? "You have verified MCP tools available for these connected apps. Call them directly."
|
|
75
|
-
: "Composio MCP is the configured integration layer for these connected apps. If the MCP tools are missing in this session, stop and report the Composio MCP repair status instead of bypassing it.",
|
|
64
|
+
"Dench Integrations is the configured integration layer for these connected apps. Always search first, inspect the returned full schemas and plan guidance, then execute the selected tool via `composio_call_tool`.",
|
|
76
65
|
"",
|
|
77
|
-
"- Use `
|
|
78
|
-
"-
|
|
79
|
-
"-
|
|
66
|
+
"- Use `composio_search_tools` first for every connected-app task unless you are intentionally consuming a compatibility response from `composio_resolve_tool`.",
|
|
67
|
+
"- Inspect the returned full `input_schema`, `recommended_plan_steps`, `known_pitfalls`, and any pagination hints before executing anything.",
|
|
68
|
+
"- Use `composio_resolve_tool` only when you specifically want a single best-match compatibility result instead of ranked search results.",
|
|
69
|
+
"- After searching or resolving, execute the returned tool via `composio_call_tool` with the returned `search_context_token`, optional `search_session_id`, and final `arguments` object.",
|
|
70
|
+
"- If the returned tool supports cursor fields like `starting_after`, `next_cursor`, or `page_token`, keep paginating until complete when the user asked for the full result.",
|
|
71
|
+
"- Never use `gog`, shell CLIs, curl, or raw gateway HTTP as a fallback for these connected apps.",
|
|
72
|
+
"- If an integration tool fails because of argument shape, fix the JSON arguments and retry once.",
|
|
80
73
|
"",
|
|
81
74
|
];
|
|
82
|
-
if (summaryMessage) {
|
|
83
|
-
lines.push(`Current verification status: ${summaryMessage}`, "");
|
|
84
|
-
}
|
|
85
75
|
|
|
86
76
|
for (const app of index.connected_apps) {
|
|
77
|
+
const accounts = app.accounts ?? [];
|
|
87
78
|
const title =
|
|
88
79
|
app.account_count > 1
|
|
89
80
|
? `### ${app.toolkit_name} (${app.account_count} accounts connected)`
|
|
90
81
|
: `### ${app.toolkit_name} (1 account connected)`;
|
|
91
82
|
lines.push(title, "");
|
|
83
|
+
if (accounts.length > 0) {
|
|
84
|
+
lines.push("**Connected accounts:**");
|
|
85
|
+
for (const account of accounts.slice(0, 5)) {
|
|
86
|
+
const bits = [
|
|
87
|
+
account.display_label,
|
|
88
|
+
account.account_email ? `email: ${account.account_email}` : null,
|
|
89
|
+
`id: \`${account.connected_account_id}\``,
|
|
90
|
+
].filter(Boolean);
|
|
91
|
+
lines.push(`- ${bits.join(" · ")}`);
|
|
92
|
+
}
|
|
93
|
+
lines.push("");
|
|
94
|
+
}
|
|
92
95
|
lines.push("| Intent | Tool | Key args |");
|
|
93
96
|
lines.push("|--------|------|----------|");
|
|
94
97
|
|
|
@@ -147,51 +150,3 @@ function formatComposioToolCheatSheet(
|
|
|
147
150
|
|
|
148
151
|
return lines.join("\n").trimEnd() + "\n";
|
|
149
152
|
}
|
|
150
|
-
|
|
151
|
-
function readComposioToolIndex(workspaceDir: string): ComposioToolIndexFile | null {
|
|
152
|
-
const filePath = path.join(workspaceDir, "composio-tool-index.json");
|
|
153
|
-
if (!existsSync(filePath)) {
|
|
154
|
-
return null;
|
|
155
|
-
}
|
|
156
|
-
try {
|
|
157
|
-
const raw = JSON.parse(readFileSync(filePath, "utf-8")) as unknown;
|
|
158
|
-
return isComposioToolIndexFile(raw) ? raw : null;
|
|
159
|
-
} catch {
|
|
160
|
-
return null;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
export function readComposioToolIndexFile(workspaceDir: string): ComposioToolIndexFile | null {
|
|
165
|
-
return readComposioToolIndex(workspaceDir);
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
function readComposioMcpStatus(workspaceDir: string): ComposioMcpStatusFile | null {
|
|
169
|
-
const filePath = path.join(workspaceDir, "composio-mcp-status.json");
|
|
170
|
-
if (!existsSync(filePath)) {
|
|
171
|
-
return null;
|
|
172
|
-
}
|
|
173
|
-
try {
|
|
174
|
-
const raw = JSON.parse(readFileSync(filePath, "utf-8")) as unknown;
|
|
175
|
-
if (raw && typeof raw === "object" && !Array.isArray(raw)) {
|
|
176
|
-
return raw as ComposioMcpStatusFile;
|
|
177
|
-
}
|
|
178
|
-
return null;
|
|
179
|
-
} catch {
|
|
180
|
-
return null;
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
export function readComposioMcpStatusFile(workspaceDir: string): ComposioMcpStatusFile | null {
|
|
185
|
-
return readComposioMcpStatus(workspaceDir);
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
/**
|
|
189
|
-
* Loads and formats the cheat sheet, or returns null if no index file / invalid JSON.
|
|
190
|
-
*/
|
|
191
|
-
export function loadComposioToolCheatSheetMarkdown(workspaceDir: string): string | null {
|
|
192
|
-
const index = readComposioToolIndex(workspaceDir);
|
|
193
|
-
if (!index || index.connected_apps.length === 0) {
|
|
194
|
-
return null;
|
|
195
|
-
}
|
|
196
|
-
return formatComposioToolCheatSheet(index, readComposioMcpStatus(workspaceDir));
|
|
197
|
-
}
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
ComposioToolCatalogFile,
|
|
3
|
+
ComposioToolIndexFile,
|
|
4
|
+
ComposioToolSummary,
|
|
5
|
+
} from "./composio-cheat-sheet.js";
|
|
6
|
+
|
|
7
|
+
export type ComposioToolSearchResult = {
|
|
8
|
+
toolkit_slug: string;
|
|
9
|
+
toolkit_name: string;
|
|
10
|
+
tool: ComposioToolSummary;
|
|
11
|
+
source: "featured" | "catalog" | "recipe";
|
|
12
|
+
recipe_intents: string[];
|
|
13
|
+
score: number;
|
|
14
|
+
why_matched: string[];
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export type ComposioToolSearchResponse = {
|
|
18
|
+
results: ComposioToolSearchResult[];
|
|
19
|
+
top_confidence: "high" | "medium" | "low";
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
type SearchDocument = {
|
|
23
|
+
toolkit_slug: string;
|
|
24
|
+
toolkit_name: string;
|
|
25
|
+
tool: ComposioToolSummary;
|
|
26
|
+
source: "featured" | "catalog" | "recipe";
|
|
27
|
+
recipe_intents: string[];
|
|
28
|
+
weightedTokens: string[];
|
|
29
|
+
fieldTokens: Record<string, string[]>;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const BM25_K1 = 1.2;
|
|
33
|
+
const BM25_B = 0.75;
|
|
34
|
+
const FIELD_WEIGHTS: Record<string, number> = {
|
|
35
|
+
tool_name: 6,
|
|
36
|
+
title: 4,
|
|
37
|
+
recipe: 5,
|
|
38
|
+
example: 3,
|
|
39
|
+
app: 2,
|
|
40
|
+
description: 2,
|
|
41
|
+
required_args: 2,
|
|
42
|
+
arg_hints: 1,
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
function tokenize(value: string): string[] {
|
|
46
|
+
return value
|
|
47
|
+
.toLowerCase()
|
|
48
|
+
.split(/[^a-z0-9]+/u)
|
|
49
|
+
.filter((token) => token.length > 1);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function normalizeAppFilter(value: string | undefined): string | null {
|
|
53
|
+
if (typeof value !== "string") {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
const trimmed = value.trim().toLowerCase();
|
|
57
|
+
return trimmed.length > 0 ? trimmed : null;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function repeatTokens(tokens: string[], weight: number): string[] {
|
|
61
|
+
if (tokens.length === 0 || weight <= 1) {
|
|
62
|
+
return [...tokens];
|
|
63
|
+
}
|
|
64
|
+
const out: string[] = [];
|
|
65
|
+
for (const token of tokens) {
|
|
66
|
+
for (let i = 0; i < weight; i += 1) {
|
|
67
|
+
out.push(token);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return out;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function mergeToolSummary(
|
|
74
|
+
catalogTool: ComposioToolSummary | undefined,
|
|
75
|
+
featuredTool: ComposioToolSummary | undefined,
|
|
76
|
+
): { tool: ComposioToolSummary; source: "featured" | "catalog" } | null {
|
|
77
|
+
if (!catalogTool && !featuredTool) {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
if (catalogTool && featuredTool) {
|
|
81
|
+
return {
|
|
82
|
+
source: "featured",
|
|
83
|
+
tool: {
|
|
84
|
+
...catalogTool,
|
|
85
|
+
...featuredTool,
|
|
86
|
+
required_args: featuredTool.required_args.length > 0
|
|
87
|
+
? featuredTool.required_args
|
|
88
|
+
: catalogTool.required_args,
|
|
89
|
+
arg_hints: Object.keys(featuredTool.arg_hints).length > 0
|
|
90
|
+
? featuredTool.arg_hints
|
|
91
|
+
: catalogTool.arg_hints,
|
|
92
|
+
default_args: featuredTool.default_args ?? catalogTool.default_args,
|
|
93
|
+
example_args: featuredTool.example_args ?? catalogTool.example_args,
|
|
94
|
+
example_prompts: featuredTool.example_prompts?.length
|
|
95
|
+
? featuredTool.example_prompts
|
|
96
|
+
: catalogTool.example_prompts,
|
|
97
|
+
input_schema: featuredTool.input_schema ?? catalogTool.input_schema,
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
if (featuredTool) {
|
|
102
|
+
return { tool: featuredTool, source: "featured" };
|
|
103
|
+
}
|
|
104
|
+
return { tool: catalogTool as ComposioToolSummary, source: "catalog" };
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
function buildSyntheticRecipeTool(
|
|
108
|
+
toolkitName: string,
|
|
109
|
+
toolName: string,
|
|
110
|
+
recipeIntents: string[],
|
|
111
|
+
): ComposioToolSummary {
|
|
112
|
+
const primaryIntent = recipeIntents[0] ?? toolName;
|
|
113
|
+
return {
|
|
114
|
+
name: toolName,
|
|
115
|
+
title: primaryIntent,
|
|
116
|
+
description_short: `Recommended ${toolkitName} tool for ${primaryIntent}.`,
|
|
117
|
+
required_args: [],
|
|
118
|
+
arg_hints: {},
|
|
119
|
+
example_prompts: recipeIntents,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
function buildSearchDocuments(
|
|
124
|
+
index: ComposioToolIndexFile,
|
|
125
|
+
catalog: ComposioToolCatalogFile | null,
|
|
126
|
+
appFilter: string | null,
|
|
127
|
+
): SearchDocument[] {
|
|
128
|
+
const catalogBySlug = new Map(
|
|
129
|
+
(catalog?.connected_apps ?? []).map((app) => [app.toolkit_slug.toLowerCase(), app]),
|
|
130
|
+
);
|
|
131
|
+
const docs: SearchDocument[] = [];
|
|
132
|
+
|
|
133
|
+
for (const app of index.connected_apps) {
|
|
134
|
+
const normalizedApp = app.toolkit_slug.toLowerCase();
|
|
135
|
+
if (appFilter && normalizedApp !== appFilter && app.toolkit_name.toLowerCase() !== appFilter) {
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
const featuredByName = new Map(app.tools.map((tool) => [tool.name, tool]));
|
|
140
|
+
const recipeIntentsByTool = new Map<string, string[]>();
|
|
141
|
+
for (const [intent, toolName] of Object.entries(app.recipes)) {
|
|
142
|
+
const bucket = recipeIntentsByTool.get(toolName);
|
|
143
|
+
if (bucket) {
|
|
144
|
+
bucket.push(intent);
|
|
145
|
+
} else {
|
|
146
|
+
recipeIntentsByTool.set(toolName, [intent]);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
const catalogApp = catalogBySlug.get(normalizedApp);
|
|
151
|
+
const catalogByName = new Map((catalogApp?.tools ?? []).map((tool) => [tool.name, tool]));
|
|
152
|
+
const allToolNames = new Set([
|
|
153
|
+
...featuredByName.keys(),
|
|
154
|
+
...catalogByName.keys(),
|
|
155
|
+
...recipeIntentsByTool.keys(),
|
|
156
|
+
]);
|
|
157
|
+
|
|
158
|
+
for (const toolName of allToolNames) {
|
|
159
|
+
const recipeIntents = recipeIntentsByTool.get(toolName) ?? [];
|
|
160
|
+
const merged = mergeToolSummary(catalogByName.get(toolName), featuredByName.get(toolName));
|
|
161
|
+
const source = merged?.source ?? "recipe";
|
|
162
|
+
const tool = merged?.tool ?? buildSyntheticRecipeTool(app.toolkit_name, toolName, recipeIntents);
|
|
163
|
+
|
|
164
|
+
const fieldTokens: Record<string, string[]> = {
|
|
165
|
+
tool_name: tokenize(tool.name),
|
|
166
|
+
title: tokenize(tool.title),
|
|
167
|
+
recipe: tokenize(recipeIntents.join(" ")),
|
|
168
|
+
example: tokenize((tool.example_prompts ?? []).join(" ")),
|
|
169
|
+
app: tokenize(`${app.toolkit_slug} ${app.toolkit_name}`),
|
|
170
|
+
description: tokenize(tool.description_short),
|
|
171
|
+
required_args: tokenize(tool.required_args.join(" ")),
|
|
172
|
+
arg_hints: tokenize([
|
|
173
|
+
...Object.keys(tool.arg_hints),
|
|
174
|
+
...Object.values(tool.arg_hints),
|
|
175
|
+
].join(" ")),
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
const weightedTokens = Object.entries(fieldTokens).flatMap(([field, tokens]) =>
|
|
179
|
+
repeatTokens(tokens, FIELD_WEIGHTS[field] ?? 1)
|
|
180
|
+
);
|
|
181
|
+
|
|
182
|
+
docs.push({
|
|
183
|
+
toolkit_slug: app.toolkit_slug,
|
|
184
|
+
toolkit_name: app.toolkit_name,
|
|
185
|
+
tool,
|
|
186
|
+
source,
|
|
187
|
+
recipe_intents: recipeIntents,
|
|
188
|
+
weightedTokens,
|
|
189
|
+
fieldTokens,
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
return docs;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
function bm25Score(
|
|
198
|
+
queryTokens: string[],
|
|
199
|
+
documentTokens: string[],
|
|
200
|
+
avgDocLength: number,
|
|
201
|
+
totalDocs: number,
|
|
202
|
+
documentFrequency: Map<string, number>,
|
|
203
|
+
): number {
|
|
204
|
+
if (queryTokens.length === 0 || documentTokens.length === 0 || totalDocs === 0) {
|
|
205
|
+
return 0;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
const tf = new Map<string, number>();
|
|
209
|
+
for (const token of documentTokens) {
|
|
210
|
+
tf.set(token, (tf.get(token) ?? 0) + 1);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
const docLength = documentTokens.length;
|
|
214
|
+
let score = 0;
|
|
215
|
+
for (const token of queryTokens) {
|
|
216
|
+
const frequency = tf.get(token) ?? 0;
|
|
217
|
+
if (frequency === 0) {
|
|
218
|
+
continue;
|
|
219
|
+
}
|
|
220
|
+
const df = documentFrequency.get(token) ?? 0;
|
|
221
|
+
const idf = Math.log(1 + ((totalDocs - df + 0.5) / (df + 0.5)));
|
|
222
|
+
const numerator = frequency * (BM25_K1 + 1);
|
|
223
|
+
const denominator = frequency + BM25_K1 * (1 - BM25_B + BM25_B * (docLength / avgDocLength));
|
|
224
|
+
score += idf * (numerator / denominator);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
return score;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
function matchedFields(queryTokens: string[], fieldTokens: Record<string, string[]>): string[] {
|
|
231
|
+
const querySet = new Set(queryTokens);
|
|
232
|
+
const matched = Object.entries(fieldTokens)
|
|
233
|
+
.filter(([, tokens]) => tokens.some((token) => querySet.has(token)))
|
|
234
|
+
.map(([field]) => field.replace(/_/g, " "));
|
|
235
|
+
return matched.length > 0 ? matched : ["catalog"];
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
function topConfidence(scores: number[]): "high" | "medium" | "low" {
|
|
239
|
+
const first = scores[0] ?? 0;
|
|
240
|
+
const second = scores[1] ?? 0;
|
|
241
|
+
if (first <= 0) {
|
|
242
|
+
return "low";
|
|
243
|
+
}
|
|
244
|
+
if (second <= 0) {
|
|
245
|
+
return "high";
|
|
246
|
+
}
|
|
247
|
+
const ratio = first / Math.max(second, 0.0001);
|
|
248
|
+
if (ratio >= 1.5) {
|
|
249
|
+
return "high";
|
|
250
|
+
}
|
|
251
|
+
if (ratio >= 1.15) {
|
|
252
|
+
return "medium";
|
|
253
|
+
}
|
|
254
|
+
return "low";
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
export function searchComposioTools(params: {
|
|
258
|
+
index: ComposioToolIndexFile;
|
|
259
|
+
catalog: ComposioToolCatalogFile | null;
|
|
260
|
+
query: string;
|
|
261
|
+
app?: string;
|
|
262
|
+
topK?: number;
|
|
263
|
+
}): ComposioToolSearchResponse {
|
|
264
|
+
const queryTokens = tokenize(params.query);
|
|
265
|
+
if (queryTokens.length === 0) {
|
|
266
|
+
return { results: [], top_confidence: "low" };
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
const documents = buildSearchDocuments(
|
|
270
|
+
params.index,
|
|
271
|
+
params.catalog,
|
|
272
|
+
normalizeAppFilter(params.app),
|
|
273
|
+
);
|
|
274
|
+
if (documents.length === 0) {
|
|
275
|
+
return { results: [], top_confidence: "low" };
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
const avgDocLength = documents.reduce((sum, doc) => sum + doc.weightedTokens.length, 0)
|
|
279
|
+
/ Math.max(documents.length, 1);
|
|
280
|
+
const documentFrequency = new Map<string, number>();
|
|
281
|
+
for (const doc of documents) {
|
|
282
|
+
const seen = new Set(doc.weightedTokens);
|
|
283
|
+
for (const token of seen) {
|
|
284
|
+
documentFrequency.set(token, (documentFrequency.get(token) ?? 0) + 1);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
const scored = documents
|
|
289
|
+
.map((doc) => ({
|
|
290
|
+
doc,
|
|
291
|
+
score: bm25Score(
|
|
292
|
+
queryTokens,
|
|
293
|
+
doc.weightedTokens,
|
|
294
|
+
avgDocLength || 1,
|
|
295
|
+
documents.length,
|
|
296
|
+
documentFrequency,
|
|
297
|
+
),
|
|
298
|
+
}))
|
|
299
|
+
.filter((entry) => entry.score > 0)
|
|
300
|
+
.sort((left, right) => {
|
|
301
|
+
if (right.score !== left.score) {
|
|
302
|
+
return right.score - left.score;
|
|
303
|
+
}
|
|
304
|
+
return left.doc.tool.name.localeCompare(right.doc.tool.name);
|
|
305
|
+
});
|
|
306
|
+
|
|
307
|
+
const topK = Math.max(1, Math.min(params.topK ?? 5, 10));
|
|
308
|
+
const results = scored.slice(0, topK).map(({ doc, score }) => ({
|
|
309
|
+
toolkit_slug: doc.toolkit_slug,
|
|
310
|
+
toolkit_name: doc.toolkit_name,
|
|
311
|
+
tool: doc.tool,
|
|
312
|
+
source: doc.source,
|
|
313
|
+
recipe_intents: doc.recipe_intents,
|
|
314
|
+
score,
|
|
315
|
+
why_matched: matchedFields(queryTokens, doc.fieldTokens),
|
|
316
|
+
}));
|
|
317
|
+
|
|
318
|
+
return {
|
|
319
|
+
results,
|
|
320
|
+
top_confidence: topConfidence(scored.slice(0, 2).map((entry) => entry.score)),
|
|
321
|
+
};
|
|
322
|
+
}
|