@xopcai/xopc 0.0.142 → 0.0.143
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 +1 -1
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/activity-center-store-jITiX2vJ.js +1 -0
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-BawPxiu5.js → agent-avatar-dicebear-DiME9u_P.js} +1 -1
- package/dist/gateway/static/root/assets/agents-DzBXhZXO.js +2 -0
- package/dist/gateway/static/root/assets/{app-management-settings-panel-81xd1p9R.js → app-management-settings-panel-Cuo7SbUP.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-DYeQsYU8.js → appearance-settings-DUfdNQqk.js} +1 -1
- package/dist/gateway/static/root/assets/apps-page-CKuKK5AU.js +1 -0
- package/dist/gateway/static/root/assets/{archive-plugin-D_oa7oti.js → archive-plugin-B-Qk6cGr.js} +1 -1
- package/dist/gateway/static/root/assets/{attachment-load-Cd-bwI2N.js → attachment-load-Di6EEbQX.js} +1 -1
- package/dist/gateway/static/root/assets/automation-suggestion-card-DGxvRxtO.js +1 -0
- package/dist/gateway/static/root/assets/automations-page-D-FF_WKV.js +4 -0
- package/dist/gateway/static/root/assets/{binary-plugins-O8svLKWw.js → binary-plugins-ZaOZDH2I.js} +1 -1
- package/dist/gateway/static/root/assets/block-editor-BTFhjWfg.js +184 -0
- package/dist/gateway/static/root/assets/browser-settings-page-BvKLdEQt.js +8 -0
- package/dist/gateway/static/root/assets/{capability-presets-api-dJy1Eqgx.js → capability-presets-api-BU-pVZiZ.js} +1 -1
- package/dist/gateway/static/root/assets/capability-presets-settings-panel-DgyeEwzh.js +2 -0
- package/dist/gateway/static/root/assets/{channel-recipient-api-Bfuhp2ty.js → channel-recipient-api-DuulnhIj.js} +1 -1
- package/dist/gateway/static/root/assets/channels-settings-BbVsdD_I.js +1 -0
- package/dist/gateway/static/root/assets/channels-status-swr-B5lVrUsN.js +1 -0
- package/dist/gateway/static/root/assets/check-BODqo66o.js +1 -0
- package/dist/gateway/static/root/assets/chunk-QUQL4437-DXsxWP7r.js +4 -0
- package/dist/gateway/static/root/assets/circle-alert-RzVebuX2.js +1 -0
- package/dist/gateway/static/root/assets/connectors-page-B8QqVy3I.js +2 -0
- package/dist/gateway/static/root/assets/{desktop-pet-DFMfIb5F.js → desktop-pet---yzVxVR.js} +1 -1
- package/dist/gateway/static/root/assets/desktop-pet-settings-Dc3gqBJE.js +1 -0
- package/dist/gateway/static/root/assets/{directory-picker-path-field-BrYt1gAr.js → directory-picker-path-field-DCmOGLtK.js} +1 -1
- package/dist/gateway/static/root/assets/dreaming-settings-BgT5KZVe.js +3 -0
- package/dist/gateway/static/root/assets/{extension-debug-page-Bh630pLD.js → extension-debug-page-ByaKTTq4.js} +1 -1
- package/dist/gateway/static/root/assets/extension-page-BmRzHAZr.js +1 -0
- package/dist/gateway/static/root/assets/extension-settings-page-JUtwIhbF.js +1 -0
- package/dist/gateway/static/root/assets/{fetch-B1WtuprY.js → fetch-8QNN25Sh.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-api-De2N821l.js → gateway-config-api-CxicF50_.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-settings-Bz2I_EO5.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-startup-retry-nEujFSDj.js → gateway-startup-retry-5YBnS9Fj.js} +1 -1
- package/dist/gateway/static/root/assets/goal-create-dialog-VcoyuZGN.js +1 -0
- package/dist/gateway/static/root/assets/goal-detail-page-Cilkap2G.js +4 -0
- package/dist/gateway/static/root/assets/{goals-config-api-DUy3eEse.js → goals-config-api-CwcHRdC0.js} +1 -1
- package/dist/gateway/static/root/assets/goals-page-C6eoni4z.js +2 -0
- package/dist/gateway/static/root/assets/goals-settings-o4i-qAOS.js +1 -0
- package/dist/gateway/static/root/assets/heartbeat-settings-DQQkETX8.js +1 -0
- package/dist/gateway/static/root/assets/index-BKRqeRHm.js +257 -0
- package/dist/gateway/static/root/assets/index-CphxClbs.css +1 -0
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-CVIwwM15.js → keyboard-shortcuts-settings-LT6qB-ua.js} +1 -1
- package/dist/gateway/static/root/assets/logs-page-Dli2e3fS.js +7 -0
- package/dist/gateway/static/root/assets/{markdown-split-B_6us9j7.js → markdown-split-Dw-yE2-y.js} +1 -1
- package/dist/gateway/static/root/assets/{media-plugins-D_fryIyj.js → media-plugins-D9NNNUgE.js} +1 -1
- package/dist/gateway/static/root/assets/messages-CzKxM6I4.js +5 -0
- package/dist/gateway/static/root/assets/models-hub-panel-DVn2Q1Ik.js +2 -0
- package/dist/gateway/static/root/assets/notes-page-CRgbJGgk.js +1 -0
- package/dist/gateway/static/root/assets/notes-workbench-BxZRHLWx.js +2 -0
- package/dist/gateway/static/root/assets/{page-tabs-D_8jGlqx.js → page-tabs-D4hkWVt_.js} +1 -1
- package/dist/gateway/static/root/assets/{preview-open-alternatives-BBLMK8Mp.js → preview-open-alternatives-CIckv0uy.js} +1 -1
- package/dist/gateway/static/root/assets/project-detail-page-Doz53xLn.js +1 -0
- package/dist/gateway/static/root/assets/projects-page-DoMtcRLg.js +1 -0
- package/dist/gateway/static/root/assets/remote-access-hub-BeHVEgrm.js +1 -0
- package/dist/gateway/static/root/assets/{save-bar-controls-DVS3FR5r.js → save-bar-controls-B0b42kB2.js} +1 -1
- package/dist/gateway/static/root/assets/{schedule-field-D6vKd6-T.js → schedule-field-BtjEkczK.js} +1 -1
- package/dist/gateway/static/root/assets/{schema-form-BPy4lbIh.js → schema-form-Bf0bk3i6.js} +1 -1
- package/dist/gateway/static/root/assets/sessions-page-Bk4bQsBe.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-DdFyaRMm.js +1 -0
- package/dist/gateway/static/root/assets/{settings-collapsible-section-WzdikxPt.js → settings-collapsible-section-BTKTdTNX.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-form-section-CvfzhBV-.js → settings-form-section-DL4P0sAj.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-loading-skeleton-BxR-Ulhi.js → settings-loading-skeleton-BV6KFNj4.js} +1 -1
- package/dist/gateway/static/root/assets/settings-page-B_4DsX5W.js +1 -0
- package/dist/gateway/static/root/assets/{settings-page-layout-CKefvbYi.js → settings-page-layout-CyGlrInB.js} +1 -1
- package/dist/gateway/static/root/assets/setup-status-panel-DJ1_MLgX.js +1 -0
- package/dist/gateway/static/root/assets/share-preview-page-BQBV7YrV.js +2 -0
- package/dist/gateway/static/root/assets/shares-settings-0VuFLBeU.js +1 -0
- package/dist/gateway/static/root/assets/skill-reload-api-DO87Ckeo.js +1 -0
- package/dist/gateway/static/root/assets/skills-page-D3VdtxAn.js +2 -0
- package/dist/gateway/static/root/assets/{system-settings-panel-BokgAgf7.js → system-settings-panel-D85fBBuI.js} +1 -1
- package/dist/gateway/static/root/assets/{typed-models-lib-BwHlNL3L.js → typed-models-lib-CwEuYrHX.js} +1 -1
- package/dist/gateway/static/root/assets/{use-channel-catalog-DR11ap3A.js → use-channel-catalog-COXIfXcl.js} +1 -1
- package/dist/gateway/static/root/assets/user-context-page-m9JVQ73F.js +1 -0
- package/dist/gateway/static/root/assets/user-profile-fields-editor-DtQiuY7E.js +1 -0
- package/dist/gateway/static/root/assets/user-profile-settings-panel-CWM0fEpb.js +1 -0
- package/dist/gateway/static/root/assets/{utils-BKUWB-TT.js → utils--BO6xT3u.js} +1 -1
- package/dist/gateway/static/root/assets/voice-api-key-field-LoT3wgZ9.js +1 -0
- package/dist/gateway/static/root/assets/with-selector-aYPsXwdl.js +1 -0
- package/dist/gateway/static/root/assets/work-item-detail-page-DSTMz_mO.js +1 -0
- package/dist/gateway/static/root/assets/{workflow-run-setup-panel-CL_rnAUB.js → workflow-run-setup-panel-B35lJzvm.js} +2 -2
- package/dist/gateway/static/root/assets/workflows-page-BfSm9oR8.js +11 -0
- package/dist/gateway/static/root/assets/workflows-page-DLioOiRN.css +1 -0
- package/dist/gateway/static/root/connector-icons/README.md +11 -0
- package/dist/gateway/static/root/connector-icons/airtable.svg +13 -0
- package/dist/gateway/static/root/connector-icons/asana.svg +15 -0
- package/dist/gateway/static/root/connector-icons/brave-search.svg +1 -0
- package/dist/gateway/static/root/connector-icons/clickup.svg +19 -0
- package/dist/gateway/static/root/connector-icons/composio.svg +266 -0
- package/dist/gateway/static/root/connector-icons/discord.svg +15 -0
- package/dist/gateway/static/root/connector-icons/dropbox.svg +152 -0
- package/dist/gateway/static/root/connector-icons/excel.svg +56 -0
- package/dist/gateway/static/root/connector-icons/fetch.svg +6 -0
- package/dist/gateway/static/root/connector-icons/figma.svg +178 -0
- package/dist/gateway/static/root/connector-icons/filesystem.svg +6 -0
- package/dist/gateway/static/root/connector-icons/github.svg +10 -0
- package/dist/gateway/static/root/connector-icons/gmail.svg +3 -0
- package/dist/gateway/static/root/connector-icons/google-calendar.svg +3 -0
- package/dist/gateway/static/root/connector-icons/google-docs.svg +25 -0
- package/dist/gateway/static/root/connector-icons/google-drive.svg +25 -0
- package/dist/gateway/static/root/connector-icons/google-sheets.svg +1 -0
- package/dist/gateway/static/root/connector-icons/hubspot.svg +142 -0
- package/dist/gateway/static/root/connector-icons/jira.svg +15 -0
- package/dist/gateway/static/root/connector-icons/linear.svg +5 -0
- package/dist/gateway/static/root/connector-icons/memory.svg +5 -0
- package/dist/gateway/static/root/connector-icons/microsoft-teams.svg +33 -0
- package/dist/gateway/static/root/connector-icons/notion.svg +5 -0
- package/dist/gateway/static/root/connector-icons/one-drive.svg +13 -0
- package/dist/gateway/static/root/connector-icons/outlook.svg +76 -0
- package/dist/gateway/static/root/connector-icons/playwright.svg +9 -0
- package/dist/gateway/static/root/connector-icons/salesforce.svg +17 -0
- package/dist/gateway/static/root/connector-icons/sequential-thinking.svg +8 -0
- package/dist/gateway/static/root/connector-icons/shopify.svg +5 -0
- package/dist/gateway/static/root/connector-icons/slack.svg +9 -0
- package/dist/gateway/static/root/connector-icons/spotify.svg +43 -0
- package/dist/gateway/static/root/connector-icons/stripe.svg +11 -0
- package/dist/gateway/static/root/connector-icons/telegram.svg +130 -0
- package/dist/gateway/static/root/connector-icons/time.svg +6 -0
- package/dist/gateway/static/root/connector-icons/todoist.svg +277 -0
- package/dist/gateway/static/root/connector-icons/trello.svg +19 -0
- package/dist/gateway/static/root/connector-icons/twitter.svg +128 -0
- package/dist/gateway/static/root/connector-icons/whatsapp.svg +61 -0
- package/dist/gateway/static/root/connector-icons/youtube.svg +11 -0
- package/dist/gateway/static/root/index.html +9 -6
- package/dist/package.js +1 -1
- package/dist/src/agent/agent-manager.d.ts +2 -0
- package/dist/src/agent/agent-manager.js +8 -0
- package/dist/src/agent/agent-manager.js.map +1 -1
- package/dist/src/agent/background-review/prompts.d.ts +1 -1
- package/dist/src/agent/background-review/prompts.js +3 -2
- package/dist/src/agent/background-review/prompts.js.map +1 -1
- package/dist/src/agent/embedded/session-tool-result-guard.js +1 -1
- package/dist/src/agent/embedded/xopc-tools-bridge.d.ts +9 -0
- package/dist/src/agent/embedded/xopc-tools-bridge.js +71 -3
- package/dist/src/agent/embedded/xopc-tools-bridge.js.map +1 -1
- package/dist/src/agent/goals/post-turn.js +5 -4
- package/dist/src/agent/goals/post-turn.js.map +1 -1
- package/dist/src/agent/mcp/mcp-transport.js +4 -1
- package/dist/src/agent/mcp/mcp-transport.js.map +1 -1
- package/dist/src/agent/memory/context/planner.d.ts +1 -0
- package/dist/src/agent/memory/context/planner.js +60 -14
- package/dist/src/agent/memory/context/planner.js.map +1 -1
- package/dist/src/agent/memory/context/types.d.ts +3 -1
- package/dist/src/agent/memory/lifecycle.d.ts +11 -0
- package/dist/src/agent/memory/lifecycle.js +50 -0
- package/dist/src/agent/memory/lifecycle.js.map +1 -0
- package/dist/src/agent/memory/source-origin.d.ts +3 -0
- package/dist/src/agent/memory/source-origin.js +19 -0
- package/dist/src/agent/memory/source-origin.js.map +1 -0
- package/dist/src/agent/memory/understanding/service.js +5 -0
- package/dist/src/agent/memory/understanding/service.js.map +1 -1
- package/dist/src/agent/memory/user-context-coordinator.js +7 -2
- package/dist/src/agent/memory/user-context-coordinator.js.map +1 -1
- package/dist/src/agent/prompt/sections/behavior.d.ts +2 -0
- package/dist/src/agent/prompt/sections/behavior.js +30 -1
- package/dist/src/agent/prompt/sections/behavior.js.map +1 -1
- package/dist/src/agent/prompt/sections/tooling.js +1 -1
- package/dist/src/agent/prompt/sections/tooling.js.map +1 -1
- package/dist/src/agent/prompt/service-prompt-builder.js +8 -1
- package/dist/src/agent/prompt/service-prompt-builder.js.map +1 -1
- package/dist/src/agent/prompt/system-prompt.d.ts +2 -0
- package/dist/src/agent/prompt/system-prompt.js +6 -3
- package/dist/src/agent/prompt/system-prompt.js.map +1 -1
- package/dist/src/agent/service/process-direct-streaming.js +22 -0
- package/dist/src/agent/service/process-direct-streaming.js.map +1 -1
- package/dist/src/agent/service.d.ts +2 -0
- package/dist/src/agent/service.js +9 -3
- package/dist/src/agent/service.js.map +1 -1
- package/dist/src/agent/starter-agents.js +1 -1
- package/dist/src/agent/starter-agents.js.map +1 -1
- package/dist/src/agent/tool-manuals/xopc-use.d.ts +1 -1
- package/dist/src/agent/tool-manuals/xopc-use.js +1 -1
- package/dist/src/agent/tool-manuals/xopc-use.js.map +1 -1
- package/dist/src/agent/tools/composio-tool.d.ts +18 -5
- package/dist/src/agent/tools/composio-tool.js +252 -35
- package/dist/src/agent/tools/composio-tool.js.map +1 -1
- package/dist/src/agent/tools/factory.js +7 -3
- package/dist/src/agent/tools/factory.js.map +1 -1
- package/dist/src/agent/tools/index.d.ts +1 -1
- package/dist/src/agent/tools/index.js +2 -2
- package/dist/src/agent/tools/workflow-tool.d.ts +0 -1
- package/dist/src/agent/tools/workflow-tool.js +3 -16
- package/dist/src/agent/tools/workflow-tool.js.map +1 -1
- package/dist/src/agent/workflow/builtins/index.d.ts +2 -28
- package/dist/src/agent/workflow/builtins/index.js +226 -41
- package/dist/src/agent/workflow/builtins/index.js.map +1 -1
- package/dist/src/agent/workflow/catalog.d.ts +32 -34
- package/dist/src/agent/workflow/catalog.js +158 -154
- package/dist/src/agent/workflow/catalog.js.map +1 -1
- package/dist/src/agent/workflow/index.d.ts +4 -6
- package/dist/src/agent/workflow/index.js +2 -5
- package/dist/src/agent/workflow/snapshot.d.ts +2 -2
- package/dist/src/agent/workflow/snapshot.js +2 -2
- package/dist/src/agent/workflow/snapshot.js.map +1 -1
- package/dist/src/agent/workflow/structured-output-tool.d.ts +2 -2
- package/dist/src/agent/workflow/structured-output-tool.js +2 -2
- package/dist/src/agent/workflow/structured-output-tool.js.map +1 -1
- package/dist/src/agent/workflow/subagent-runner.js +1 -1
- package/dist/src/agent/workflow/types.d.ts +31 -26
- package/dist/src/agent-manifest/index.d.ts +1 -0
- package/dist/src/agent-manifest/index.js +3 -1
- package/dist/src/agent-manifest/index.js.map +1 -1
- package/dist/src/agent-manifest/preset-chain.d.ts +10 -0
- package/dist/src/agent-manifest/preset-chain.js +32 -0
- package/dist/src/agent-manifest/preset-chain.js.map +1 -0
- package/dist/src/agent-manifest/resolver.js +3 -10
- package/dist/src/agent-manifest/resolver.js.map +1 -1
- package/dist/src/agent-manifest/schema.d.ts +4 -4
- package/dist/src/automations/api/routes.js +13 -1
- package/dist/src/automations/api/routes.js.map +1 -1
- package/dist/src/automations/domain/validation.d.ts +14 -14
- package/dist/src/automations/draft/automation-draft-validator.d.ts +3 -3
- package/dist/src/browser/providers/browser-ext-install.d.ts +11 -1
- package/dist/src/browser/providers/browser-ext-install.js +39 -14
- package/dist/src/browser/providers/browser-ext-install.js.map +1 -1
- package/dist/src/capabilities/store-connector.d.ts +0 -1
- package/dist/src/capabilities/store-connector.js +3 -5
- package/dist/src/capabilities/store-connector.js.map +1 -1
- package/dist/src/chat-commands/builtins/review.js +72 -73
- package/dist/src/chat-commands/builtins/review.js.map +1 -1
- package/dist/src/chat-commands/builtins/workflow.js +9 -54
- package/dist/src/chat-commands/builtins/workflow.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
- package/dist/src/cli/commands/extension-create.js +2 -2
- package/dist/src/cli/commands/extension-create.js.map +1 -1
- package/dist/src/cli/commands/extension-marketplace.js +42 -36
- package/dist/src/cli/commands/extension-marketplace.js.map +1 -1
- package/dist/src/cli/commands/extension-pack.d.ts +6 -0
- package/dist/src/cli/commands/extension-pack.js +3 -2
- package/dist/src/cli/commands/extension-pack.js.map +1 -1
- package/dist/src/commands/agents.config.d.ts +1 -0
- package/dist/src/commands/agents.config.js +1 -0
- package/dist/src/commands/agents.config.js.map +1 -1
- package/dist/src/config/schema.d.ts +6 -6
- package/dist/src/config/schema.js +6 -22
- package/dist/src/config/schema.js.map +1 -1
- package/dist/src/config/web-patch.d.ts +1 -1
- package/dist/src/connectors/approval.d.ts +2 -0
- package/dist/src/connectors/approval.js +33 -0
- package/dist/src/connectors/approval.js.map +1 -0
- package/dist/src/connectors/auth-provider-registry.d.ts +9 -0
- package/dist/src/connectors/auth-provider-registry.js +17 -0
- package/dist/src/connectors/auth-provider-registry.js.map +1 -0
- package/dist/src/connectors/builtin-catalog.js +55 -116
- package/dist/src/connectors/builtin-catalog.js.map +1 -1
- package/dist/src/connectors/catalog.js +7 -2
- package/dist/src/connectors/catalog.js.map +1 -1
- package/dist/src/connectors/composio-catalog.d.ts +19 -0
- package/dist/src/connectors/composio-catalog.js +237 -0
- package/dist/src/connectors/composio-catalog.js.map +1 -0
- package/dist/src/connectors/composio-logo.d.ts +1 -0
- package/dist/src/connectors/composio-logo.js +51 -0
- package/dist/src/connectors/composio-logo.js.map +1 -0
- package/dist/src/connectors/composio-sessions.d.ts +116 -0
- package/dist/src/connectors/composio-sessions.js +296 -0
- package/dist/src/connectors/composio-sessions.js.map +1 -0
- package/dist/src/connectors/composio-triggers.d.ts +17 -0
- package/dist/src/connectors/composio-triggers.js +48 -5
- package/dist/src/connectors/composio-triggers.js.map +1 -1
- package/dist/src/connectors/composio.d.ts +31 -2
- package/dist/src/connectors/composio.js +374 -151
- package/dist/src/connectors/composio.js.map +1 -1
- package/dist/src/connectors/connector-memory-sync.d.ts +15 -0
- package/dist/src/connectors/connector-memory-sync.js +90 -0
- package/dist/src/connectors/connector-memory-sync.js.map +1 -0
- package/dist/src/connectors/install.js +35 -92
- package/dist/src/connectors/install.js.map +1 -1
- package/dist/src/connectors/instances.js +6 -2
- package/dist/src/connectors/instances.js.map +1 -1
- package/dist/src/connectors/integration-strategy.d.ts +3 -0
- package/dist/src/connectors/integration-strategy.js +29 -0
- package/dist/src/connectors/integration-strategy.js.map +1 -0
- package/dist/src/connectors/policy.d.ts +13 -0
- package/dist/src/connectors/policy.js +48 -0
- package/dist/src/connectors/policy.js.map +1 -0
- package/dist/src/connectors/providers.js +1 -1
- package/dist/src/connectors/runtime-adapter-registry.d.ts +25 -0
- package/dist/src/connectors/runtime-adapter-registry.js +154 -0
- package/dist/src/connectors/runtime-adapter-registry.js.map +1 -0
- package/dist/src/connectors/types.d.ts +113 -4
- package/dist/src/connectors/workflow-preflight.d.ts +20 -0
- package/dist/src/connectors/workflow-preflight.js +70 -0
- package/dist/src/connectors/workflow-preflight.js.map +1 -0
- package/dist/src/extensions/install-transaction.d.ts +16 -0
- package/dist/src/extensions/install-transaction.js +76 -0
- package/dist/src/extensions/install-transaction.js.map +1 -0
- package/dist/src/extensions/install.d.ts +2 -0
- package/dist/src/extensions/install.js +23 -1
- package/dist/src/extensions/install.js.map +1 -1
- package/dist/src/gateway/agents-admin.d.ts +2 -0
- package/dist/src/gateway/agents-admin.js +7 -0
- package/dist/src/gateway/agents-admin.js.map +1 -1
- package/dist/src/gateway/capability-presets-admin.d.ts +11 -0
- package/dist/src/gateway/capability-presets-admin.js +11 -4
- package/dist/src/gateway/capability-presets-admin.js.map +1 -1
- package/dist/src/gateway/chat-stream/mapper.js +17 -0
- package/dist/src/gateway/chat-stream/mapper.js.map +1 -1
- package/dist/src/gateway/chat-stream/protocol.d.ts +18 -1
- package/dist/src/gateway/hono/lib/config-payload.d.ts +3 -3
- package/dist/src/gateway/hono/routes/agents.js +3 -0
- package/dist/src/gateway/hono/routes/agents.js.map +1 -1
- package/dist/src/gateway/hono/routes/capability-presets.js +19 -1
- package/dist/src/gateway/hono/routes/capability-presets.js.map +1 -1
- package/dist/src/gateway/hono/routes/connectors.js +188 -25
- package/dist/src/gateway/hono/routes/connectors.js.map +1 -1
- package/dist/src/gateway/hono/routes/goals.js +22 -3
- package/dist/src/gateway/hono/routes/goals.js.map +1 -1
- package/dist/src/gateway/hono/routes/home.d.ts +60 -1
- package/dist/src/gateway/hono/routes/home.js +244 -18
- package/dist/src/gateway/hono/routes/home.js.map +1 -1
- package/dist/src/gateway/hono/routes/lazy-bundles.js +8 -0
- package/dist/src/gateway/hono/routes/lazy-bundles.js.map +1 -1
- package/dist/src/gateway/hono/routes/memory.js +14 -1
- package/dist/src/gateway/hono/routes/memory.js.map +1 -1
- package/dist/src/gateway/hono/routes/projects.js +103 -2
- package/dist/src/gateway/hono/routes/projects.js.map +1 -1
- package/dist/src/gateway/hono/routes/public-gateway.js +93 -0
- package/dist/src/gateway/hono/routes/public-gateway.js.map +1 -1
- package/dist/src/gateway/hono/routes/workflows.js +137 -22
- package/dist/src/gateway/hono/routes/workflows.js.map +1 -1
- package/dist/src/gateway/hono/routes/you.d.ts +23 -0
- package/dist/src/gateway/hono/routes/you.js +538 -0
- package/dist/src/gateway/hono/routes/you.js.map +1 -0
- package/dist/src/gateway/hono/sse.d.ts +2 -1
- package/dist/src/gateway/hono/sse.js +2 -1
- package/dist/src/gateway/hono/sse.js.map +1 -1
- package/dist/src/gateway/service/marketplace-service.d.ts +13 -1
- package/dist/src/gateway/service/marketplace-service.js +96 -40
- package/dist/src/gateway/service/marketplace-service.js.map +1 -1
- package/dist/src/gateway/service.d.ts +2 -0
- package/dist/src/gateway/service.js +7 -1
- package/dist/src/gateway/service.js.map +1 -1
- package/dist/src/goals/goal-service.d.ts +7 -5
- package/dist/src/goals/goal-service.js +25 -13
- package/dist/src/goals/goal-service.js.map +1 -1
- package/dist/src/goals/goal-store.js +46 -7
- package/dist/src/goals/goal-store.js.map +1 -1
- package/dist/src/goals/types.d.ts +24 -0
- package/dist/src/storage/sqlite/connector-repository.d.ts +49 -0
- package/dist/src/storage/sqlite/connector-repository.js +385 -0
- package/dist/src/storage/sqlite/connector-repository.js.map +1 -0
- package/dist/src/storage/sqlite/index.d.ts +3 -0
- package/dist/src/storage/sqlite/index.js +4 -1
- package/dist/src/storage/sqlite/migrations/030_connectors.sql +94 -0
- package/dist/src/storage/sqlite/migrations/031_connector_approvals.sql +24 -0
- package/dist/src/storage/sqlite/migrations/032_connector_webhook_deliveries.sql +15 -0
- package/dist/src/storage/sqlite/migrations/033_user_trust_policies.sql +6 -0
- package/dist/src/storage/sqlite/migrations/034_allow_global_auto_trust.sql +14 -0
- package/dist/src/storage/sqlite/migrations/035_user_profile_prompt_state.sql +7 -0
- package/dist/src/storage/sqlite/migrations/036_goal_outcome_metric.sql +12 -0
- package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
- package/dist/src/storage/sqlite/migrations/runner.js +3 -3
- package/dist/src/storage/sqlite/migrations/runner.js.map +1 -1
- package/dist/src/storage/sqlite/migrations/runner.ts +1 -1
- package/dist/src/storage/sqlite/schema.js +1 -1
- package/dist/src/storage/sqlite/user-profile-setup-repository.d.ts +3 -0
- package/dist/src/storage/sqlite/user-profile-setup-repository.js +34 -0
- package/dist/src/storage/sqlite/user-profile-setup-repository.js.map +1 -0
- package/dist/src/storage/sqlite/user-trust-repository.d.ts +3 -0
- package/dist/src/storage/sqlite/user-trust-repository.js +34 -0
- package/dist/src/storage/sqlite/user-trust-repository.js.map +1 -0
- package/dist/src/tui/components/assistant-message.js +15 -0
- package/dist/src/tui/components/assistant-message.js.map +1 -1
- package/dist/src/tui/tui-agent-events.js +85 -1
- package/dist/src/tui/tui-agent-events.js.map +1 -1
- package/dist/src/tui/tui-command-formatters.js +7 -7
- package/dist/src/tui/tui-command-formatters.js.map +1 -1
- package/dist/src/tui/tui-commands.js +1 -1
- package/dist/src/tui/tui-startup-resources.js +1 -1
- package/dist/src/user-context/import.d.ts +12 -0
- package/dist/src/user-context/import.js +48 -0
- package/dist/src/user-context/import.js.map +1 -0
- package/dist/src/user-context/profile.d.ts +37 -0
- package/dist/src/user-context/profile.js +165 -0
- package/dist/src/user-context/profile.js.map +1 -0
- package/dist/src/user-context/projection.d.ts +54 -0
- package/dist/src/user-context/projection.js +121 -0
- package/dist/src/user-context/projection.js.map +1 -0
- package/dist/src/user-context/source-recommendations.d.ts +13 -0
- package/dist/src/user-context/source-recommendations.js +86 -0
- package/dist/src/user-context/source-recommendations.js.map +1 -0
- package/dist/src/user-context/trust-policy.d.ts +11 -0
- package/dist/src/user-context/trust-policy.js +31 -0
- package/dist/src/user-context/trust-policy.js.map +1 -0
- package/dist/src/workflows/authoring/index.d.ts +1 -0
- package/dist/src/workflows/authoring/index.js +2 -0
- package/dist/src/workflows/authoring/workflow-draft-store.d.ts +33 -0
- package/dist/src/workflows/authoring/workflow-draft-store.js +74 -0
- package/dist/src/workflows/authoring/workflow-draft-store.js.map +1 -0
- package/dist/src/workflows/domain/definition-utils.d.ts +6 -4
- package/dist/src/workflows/domain/definition-utils.js +28 -26
- package/dist/src/workflows/domain/definition-utils.js.map +1 -1
- package/dist/src/workflows/domain/definition.d.ts +79 -6
- package/dist/src/workflows/domain/event.d.ts +18 -2
- package/dist/src/workflows/domain/index.js +3 -3
- package/dist/src/workflows/domain/run.d.ts +16 -2
- package/dist/src/workflows/domain/run.js.map +1 -1
- package/dist/src/workflows/domain/validation.d.ts +9 -5
- package/dist/src/workflows/domain/validation.js +183 -40
- package/dist/src/workflows/domain/validation.js.map +1 -1
- package/dist/src/workflows/draft/workflow-draft-prompt.d.ts +2 -3
- package/dist/src/workflows/draft/workflow-draft-prompt.js +31 -73
- package/dist/src/workflows/draft/workflow-draft-prompt.js.map +1 -1
- package/dist/src/workflows/draft/workflow-draft-service.js +4 -8
- package/dist/src/workflows/draft/workflow-draft-service.js.map +1 -1
- package/dist/src/workflows/draft/workflow-draft-validator.js +29 -37
- package/dist/src/workflows/draft/workflow-draft-validator.js.map +1 -1
- package/dist/src/workflows/draft/workflow-draft.types.d.ts +4 -4
- package/dist/src/workflows/engine/projector.js +43 -1
- package/dist/src/workflows/engine/projector.js.map +1 -1
- package/dist/src/workflows/engine/workflow-engine.d.ts +2 -3
- package/dist/src/workflows/engine/workflow-engine.js +24 -4
- package/dist/src/workflows/engine/workflow-engine.js.map +1 -1
- package/dist/src/workflows/index.js +4 -7
- package/dist/src/workflows/registry/catalog-workflow-definition-registry.js +1 -9
- package/dist/src/workflows/registry/catalog-workflow-definition-registry.js.map +1 -1
- package/dist/src/workflows/runtime/graph-workflow-runtime.d.ts +10 -0
- package/dist/src/workflows/runtime/graph-workflow-runtime.js +295 -0
- package/dist/src/workflows/runtime/graph-workflow-runtime.js.map +1 -0
- package/dist/src/workflows/runtime/index.d.ts +1 -2
- package/dist/src/workflows/runtime/index.js +2 -5
- package/dist/src/workflows/runtime/workflow-runtime-port.d.ts +5 -8
- package/dist/src/workflows/service/workflow-run-service.js +15 -1
- package/dist/src/workflows/service/workflow-run-service.js.map +1 -1
- package/dist/src/workflows/service/workflow-run-service.types.d.ts +2 -1
- package/package.json +4 -3
- package/dist/gateway/static/root/assets/agents-CyvCIHnB.js +0 -2
- package/dist/gateway/static/root/assets/apps-page-DK_Vx6nl.js +0 -1
- package/dist/gateway/static/root/assets/automation-suggestion-card-B1LV3YYv.js +0 -1
- package/dist/gateway/static/root/assets/automations-page-fzrovqhv.js +0 -4
- package/dist/gateway/static/root/assets/block-editor-Dhj5f4Bx.js +0 -184
- package/dist/gateway/static/root/assets/browser-settings-page-BDn-n-UB.js +0 -8
- package/dist/gateway/static/root/assets/capability-presets-settings-panel-Co5ipo_Q.js +0 -1
- package/dist/gateway/static/root/assets/channels-settings-BWlpaxg9.js +0 -1
- package/dist/gateway/static/root/assets/channels-status-swr-D_jkIZLV.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-BcekbW4q.js +0 -2
- package/dist/gateway/static/root/assets/desktop-pet-settings-BJCUuL8Y.js +0 -1
- package/dist/gateway/static/root/assets/dreaming-settings-BN1Z2mIo.js +0 -3
- package/dist/gateway/static/root/assets/extension-page-B-1KxvVy.js +0 -1
- package/dist/gateway/static/root/assets/extension-settings-page-BF9NACI3.js +0 -1
- package/dist/gateway/static/root/assets/gateway-settings-DN9sNREz.js +0 -1
- package/dist/gateway/static/root/assets/goal-create-dialog-BpoQW8cD.js +0 -1
- package/dist/gateway/static/root/assets/goal-detail-page-CBRSPd0b.js +0 -4
- package/dist/gateway/static/root/assets/goals-page-BCcBi407.js +0 -2
- package/dist/gateway/static/root/assets/goals-settings-pkTXzXkh.js +0 -1
- package/dist/gateway/static/root/assets/heartbeat-settings-ezsufgLQ.js +0 -1
- package/dist/gateway/static/root/assets/index-B8s8Pq5U.css +0 -1
- package/dist/gateway/static/root/assets/index-DcUaXYeb.js +0 -262
- package/dist/gateway/static/root/assets/logs-page-DQtTRXtj.js +0 -7
- package/dist/gateway/static/root/assets/messages-BXNELNBa.js +0 -3
- package/dist/gateway/static/root/assets/models-hub-panel-BP2M9n6Q.js +0 -2
- package/dist/gateway/static/root/assets/notes-page-CspveYaO.js +0 -1
- package/dist/gateway/static/root/assets/notes-workbench-BHwzJ0OC.js +0 -2
- package/dist/gateway/static/root/assets/project-detail-page-Dy3rsobs.js +0 -1
- package/dist/gateway/static/root/assets/projects-page-CWKpPE0L.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-CqNRyXEo.js +0 -1
- package/dist/gateway/static/root/assets/sessions-page-MEME7ivF.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-JVd0qaSF.js +0 -1
- package/dist/gateway/static/root/assets/settings-page-DYEbB1EV.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-dWN8BJ3z.js +0 -1
- package/dist/gateway/static/root/assets/share-preview-page-D8foINzP.js +0 -2
- package/dist/gateway/static/root/assets/shares-settings-Tgbv1s7G.js +0 -1
- package/dist/gateway/static/root/assets/skill-reload-api-D_YK0b_Z.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-DGytfoZK.js +0 -2
- package/dist/gateway/static/root/assets/toast-z0toXu32.js +0 -1
- package/dist/gateway/static/root/assets/user-profile-settings-panel-8YtygcJp.js +0 -1
- package/dist/gateway/static/root/assets/voice-api-key-field-BVH71EFf.js +0 -1
- package/dist/gateway/static/root/assets/work-item-detail-page-JeTE7XNM.js +0 -1
- package/dist/gateway/static/root/assets/workflow-start-dialog-_u8Uc1ze.js +0 -1
- package/dist/gateway/static/root/assets/workflows-page-ixgk_y1l.js +0 -18
- package/dist/src/agent/workflow/builtins/audit-repo.d.ts +0 -13
- package/dist/src/agent/workflow/builtins/audit-repo.js +0 -183
- package/dist/src/agent/workflow/builtins/audit-repo.js.map +0 -1
- package/dist/src/agent/workflow/builtins/client-proposal.d.ts +0 -12
- package/dist/src/agent/workflow/builtins/client-proposal.js +0 -164
- package/dist/src/agent/workflow/builtins/client-proposal.js.map +0 -1
- package/dist/src/agent/workflow/builtins/competitor-scan.d.ts +0 -12
- package/dist/src/agent/workflow/builtins/competitor-scan.js +0 -164
- package/dist/src/agent/workflow/builtins/competitor-scan.js.map +0 -1
- package/dist/src/agent/workflow/builtins/content-draft.d.ts +0 -13
- package/dist/src/agent/workflow/builtins/content-draft.js +0 -159
- package/dist/src/agent/workflow/builtins/content-draft.js.map +0 -1
- package/dist/src/agent/workflow/builtins/content-repurpose.d.ts +0 -11
- package/dist/src/agent/workflow/builtins/content-repurpose.js +0 -146
- package/dist/src/agent/workflow/builtins/content-repurpose.js.map +0 -1
- package/dist/src/agent/workflow/builtins/debug-incident.d.ts +0 -13
- package/dist/src/agent/workflow/builtins/debug-incident.js +0 -177
- package/dist/src/agent/workflow/builtins/debug-incident.js.map +0 -1
- package/dist/src/agent/workflow/builtins/decision-compare.d.ts +0 -13
- package/dist/src/agent/workflow/builtins/decision-compare.js +0 -187
- package/dist/src/agent/workflow/builtins/decision-compare.js.map +0 -1
- package/dist/src/agent/workflow/builtins/implementation-plan.d.ts +0 -12
- package/dist/src/agent/workflow/builtins/implementation-plan.js +0 -185
- package/dist/src/agent/workflow/builtins/implementation-plan.js.map +0 -1
- package/dist/src/agent/workflow/builtins/inbox-triage.d.ts +0 -11
- package/dist/src/agent/workflow/builtins/inbox-triage.js +0 -158
- package/dist/src/agent/workflow/builtins/inbox-triage.js.map +0 -1
- package/dist/src/agent/workflow/builtins/meeting-prep.d.ts +0 -12
- package/dist/src/agent/workflow/builtins/meeting-prep.js +0 -152
- package/dist/src/agent/workflow/builtins/meeting-prep.js.map +0 -1
- package/dist/src/agent/workflow/builtins/multi-perspective-review.d.ts +0 -14
- package/dist/src/agent/workflow/builtins/multi-perspective-review.js +0 -171
- package/dist/src/agent/workflow/builtins/multi-perspective-review.js.map +0 -1
- package/dist/src/agent/workflow/builtins/offer-design.d.ts +0 -12
- package/dist/src/agent/workflow/builtins/offer-design.js +0 -170
- package/dist/src/agent/workflow/builtins/offer-design.js.map +0 -1
- package/dist/src/agent/workflow/builtins/pr-review.d.ts +0 -12
- package/dist/src/agent/workflow/builtins/pr-review.js +0 -178
- package/dist/src/agent/workflow/builtins/pr-review.js.map +0 -1
- package/dist/src/agent/workflow/builtins/release-check.d.ts +0 -11
- package/dist/src/agent/workflow/builtins/release-check.js +0 -174
- package/dist/src/agent/workflow/builtins/release-check.js.map +0 -1
- package/dist/src/agent/workflow/builtins/research.d.ts +0 -13
- package/dist/src/agent/workflow/builtins/research.js +0 -188
- package/dist/src/agent/workflow/builtins/research.js.map +0 -1
- package/dist/src/agent/workflow/builtins/weekly-review.d.ts +0 -12
- package/dist/src/agent/workflow/builtins/weekly-review.js +0 -139
- package/dist/src/agent/workflow/builtins/weekly-review.js.map +0 -1
- package/dist/src/agent/workflow/last-run-memory.d.ts +0 -42
- package/dist/src/agent/workflow/last-run-memory.js +0 -60
- package/dist/src/agent/workflow/last-run-memory.js.map +0 -1
- package/dist/src/agent/workflow/lint.d.ts +0 -38
- package/dist/src/agent/workflow/lint.js +0 -74
- package/dist/src/agent/workflow/lint.js.map +0 -1
- package/dist/src/agent/workflow/meta-locale.d.ts +0 -12
- package/dist/src/agent/workflow/meta-locale.js +0 -62
- package/dist/src/agent/workflow/meta-locale.js.map +0 -1
- package/dist/src/agent/workflow/parser.d.ts +0 -20
- package/dist/src/agent/workflow/parser.js +0 -152
- package/dist/src/agent/workflow/parser.js.map +0 -1
- package/dist/src/agent/workflow/runtime.d.ts +0 -34
- package/dist/src/agent/workflow/runtime.js +0 -402
- package/dist/src/agent/workflow/runtime.js.map +0 -1
- package/dist/src/connectors/oauth.d.ts +0 -22
- package/dist/src/connectors/oauth.js +0 -99
- package/dist/src/connectors/oauth.js.map +0 -1
- package/dist/src/workflows/runtime/script-runtime.d.ts +0 -3
- package/dist/src/workflows/runtime/script-runtime.js +0 -3
- package/dist/src/workflows/runtime/script-workflow-runtime.d.ts +0 -5
- package/dist/src/workflows/runtime/script-workflow-runtime.js +0 -15
- package/dist/src/workflows/runtime/script-workflow-runtime.js.map +0 -1
|
@@ -1,47 +1,18 @@
|
|
|
1
1
|
//#region src/connectors/builtin-catalog.ts
|
|
2
|
-
|
|
2
|
+
const BUILTIN_CONNECTOR_BACKGROUNDS = {
|
|
3
|
+
"brave-search": "#FFF4ED",
|
|
4
|
+
fetch: "#E8F3FF",
|
|
5
|
+
filesystem: "#FFF7E6",
|
|
6
|
+
memory: "#F3E8FF",
|
|
7
|
+
playwright: "#FFFFFF",
|
|
8
|
+
"sequential-thinking": "#ECFDF5",
|
|
9
|
+
time: "#ECFEFF"
|
|
10
|
+
};
|
|
11
|
+
function builtinBranding(id) {
|
|
3
12
|
return {
|
|
4
|
-
|
|
5
|
-
version: "1.0.0",
|
|
6
|
-
displayName: params.displayName,
|
|
7
|
-
description: params.description,
|
|
8
|
-
category: params.category,
|
|
9
|
-
kind: "mcp",
|
|
13
|
+
logoUrl: `/connector-icons/${id}.svg`,
|
|
10
14
|
source: "builtin",
|
|
11
|
-
|
|
12
|
-
"tools",
|
|
13
|
-
"resources",
|
|
14
|
-
"prompts",
|
|
15
|
-
"auth.apiKey",
|
|
16
|
-
"runtime.mcp.streamableHttp"
|
|
17
|
-
],
|
|
18
|
-
tags: params.tags,
|
|
19
|
-
auth: { mode: "apiKey" },
|
|
20
|
-
setup: {
|
|
21
|
-
secrets: [{
|
|
22
|
-
key: "AUTHORIZATION_HEADER",
|
|
23
|
-
label: "Authorization header value",
|
|
24
|
-
description: "Full Authorization header value for the remote MCP endpoint, for example \"Bearer ...\".",
|
|
25
|
-
required: true
|
|
26
|
-
}],
|
|
27
|
-
config: [{
|
|
28
|
-
key: "url",
|
|
29
|
-
label: "MCP endpoint URL",
|
|
30
|
-
type: "string",
|
|
31
|
-
required: true,
|
|
32
|
-
placeholder: "https://example.com/mcp",
|
|
33
|
-
description: "Streamable HTTP MCP endpoint exposed by your provider or gateway."
|
|
34
|
-
}]
|
|
35
|
-
},
|
|
36
|
-
runtime: {
|
|
37
|
-
type: "mcp",
|
|
38
|
-
serverId: params.id,
|
|
39
|
-
serverTemplate: {
|
|
40
|
-
url: "{{config.url}}",
|
|
41
|
-
transport: "streamable-http",
|
|
42
|
-
headers: { Authorization: "{{secrets.AUTHORIZATION_HEADER}}" }
|
|
43
|
-
}
|
|
44
|
-
}
|
|
15
|
+
backgroundColor: BUILTIN_CONNECTOR_BACKGROUNDS[id] ?? "#FFFFFF"
|
|
45
16
|
};
|
|
46
17
|
}
|
|
47
18
|
const BUILTIN_CONNECTORS = [
|
|
@@ -53,6 +24,7 @@ const BUILTIN_CONNECTORS = [
|
|
|
53
24
|
category: "docs",
|
|
54
25
|
kind: "mcp",
|
|
55
26
|
source: "builtin",
|
|
27
|
+
branding: builtinBranding("fetch"),
|
|
56
28
|
capabilities: ["tools", "runtime.mcp.stdio"],
|
|
57
29
|
tags: [
|
|
58
30
|
"web",
|
|
@@ -68,6 +40,11 @@ const BUILTIN_CONNECTORS = [
|
|
|
68
40
|
command: "uvx",
|
|
69
41
|
args: ["mcp-server-fetch"]
|
|
70
42
|
}
|
|
43
|
+
},
|
|
44
|
+
integrationStrategy: {
|
|
45
|
+
lane: "mcp",
|
|
46
|
+
workload: "high_frequency",
|
|
47
|
+
preferred: true
|
|
71
48
|
}
|
|
72
49
|
},
|
|
73
50
|
{
|
|
@@ -78,6 +55,7 @@ const BUILTIN_CONNECTORS = [
|
|
|
78
55
|
category: "docs",
|
|
79
56
|
kind: "mcp",
|
|
80
57
|
source: "builtin",
|
|
58
|
+
branding: builtinBranding("filesystem"),
|
|
81
59
|
capabilities: [
|
|
82
60
|
"tools",
|
|
83
61
|
"resources",
|
|
@@ -108,6 +86,11 @@ const BUILTIN_CONNECTORS = [
|
|
|
108
86
|
"{{config.rootPath}}"
|
|
109
87
|
]
|
|
110
88
|
}
|
|
89
|
+
},
|
|
90
|
+
integrationStrategy: {
|
|
91
|
+
lane: "mcp",
|
|
92
|
+
workload: "high_frequency",
|
|
93
|
+
preferred: true
|
|
111
94
|
}
|
|
112
95
|
},
|
|
113
96
|
{
|
|
@@ -118,6 +101,7 @@ const BUILTIN_CONNECTORS = [
|
|
|
118
101
|
category: "automation",
|
|
119
102
|
kind: "mcp",
|
|
120
103
|
source: "builtin",
|
|
104
|
+
branding: builtinBranding("time"),
|
|
121
105
|
capabilities: ["tools", "runtime.mcp.stdio"],
|
|
122
106
|
tags: [
|
|
123
107
|
"time",
|
|
@@ -133,6 +117,11 @@ const BUILTIN_CONNECTORS = [
|
|
|
133
117
|
command: "uvx",
|
|
134
118
|
args: ["mcp-server-time"]
|
|
135
119
|
}
|
|
120
|
+
},
|
|
121
|
+
integrationStrategy: {
|
|
122
|
+
lane: "mcp",
|
|
123
|
+
workload: "high_frequency",
|
|
124
|
+
preferred: true
|
|
136
125
|
}
|
|
137
126
|
},
|
|
138
127
|
{
|
|
@@ -143,6 +132,7 @@ const BUILTIN_CONNECTORS = [
|
|
|
143
132
|
category: "browser",
|
|
144
133
|
kind: "mcp",
|
|
145
134
|
source: "builtin",
|
|
135
|
+
branding: builtinBranding("playwright"),
|
|
146
136
|
capabilities: ["tools", "runtime.mcp.stdio"],
|
|
147
137
|
tags: [
|
|
148
138
|
"browser",
|
|
@@ -158,36 +148,11 @@ const BUILTIN_CONNECTORS = [
|
|
|
158
148
|
command: "npx",
|
|
159
149
|
args: ["-y", "@playwright/mcp@latest"]
|
|
160
150
|
}
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
displayName: "GitHub",
|
|
167
|
-
description: "Work with GitHub repositories, issues, pull requests, and code search.",
|
|
168
|
-
category: "code",
|
|
169
|
-
kind: "mcp",
|
|
170
|
-
source: "builtin",
|
|
171
|
-
capabilities: [
|
|
172
|
-
"tools",
|
|
173
|
-
"auth.oauth",
|
|
174
|
-
"runtime.mcp.stdio"
|
|
175
|
-
],
|
|
176
|
-
tags: [
|
|
177
|
-
"code",
|
|
178
|
-
"repository",
|
|
179
|
-
"issues"
|
|
180
|
-
],
|
|
181
|
-
auth: { mode: "oauth" },
|
|
182
|
-
setup: {},
|
|
183
|
-
runtime: {
|
|
184
|
-
type: "mcp",
|
|
185
|
-
serverId: "github",
|
|
186
|
-
serverTemplate: {
|
|
187
|
-
command: "npx",
|
|
188
|
-
args: ["-y", "@modelcontextprotocol/server-github"],
|
|
189
|
-
env: { GITHUB_PERSONAL_ACCESS_TOKEN: "{{secrets.GITHUB_PERSONAL_ACCESS_TOKEN}}" }
|
|
190
|
-
}
|
|
151
|
+
},
|
|
152
|
+
integrationStrategy: {
|
|
153
|
+
lane: "mcp",
|
|
154
|
+
workload: "high_frequency",
|
|
155
|
+
preferred: true
|
|
191
156
|
}
|
|
192
157
|
},
|
|
193
158
|
{
|
|
@@ -198,6 +163,7 @@ const BUILTIN_CONNECTORS = [
|
|
|
198
163
|
category: "data",
|
|
199
164
|
kind: "mcp",
|
|
200
165
|
source: "builtin",
|
|
166
|
+
branding: builtinBranding("memory"),
|
|
201
167
|
capabilities: [
|
|
202
168
|
"tools",
|
|
203
169
|
"resources",
|
|
@@ -218,6 +184,11 @@ const BUILTIN_CONNECTORS = [
|
|
|
218
184
|
command: "npx",
|
|
219
185
|
args: ["-y", "@modelcontextprotocol/server-memory"]
|
|
220
186
|
}
|
|
187
|
+
},
|
|
188
|
+
integrationStrategy: {
|
|
189
|
+
lane: "mcp",
|
|
190
|
+
workload: "high_frequency",
|
|
191
|
+
preferred: true
|
|
221
192
|
}
|
|
222
193
|
},
|
|
223
194
|
{
|
|
@@ -228,6 +199,7 @@ const BUILTIN_CONNECTORS = [
|
|
|
228
199
|
category: "automation",
|
|
229
200
|
kind: "mcp",
|
|
230
201
|
source: "builtin",
|
|
202
|
+
branding: builtinBranding("sequential-thinking"),
|
|
231
203
|
capabilities: ["tools", "runtime.mcp.stdio"],
|
|
232
204
|
tags: [
|
|
233
205
|
"reasoning",
|
|
@@ -243,6 +215,11 @@ const BUILTIN_CONNECTORS = [
|
|
|
243
215
|
command: "npx",
|
|
244
216
|
args: ["-y", "@modelcontextprotocol/server-sequential-thinking"]
|
|
245
217
|
}
|
|
218
|
+
},
|
|
219
|
+
integrationStrategy: {
|
|
220
|
+
lane: "mcp",
|
|
221
|
+
workload: "high_frequency",
|
|
222
|
+
preferred: true
|
|
246
223
|
}
|
|
247
224
|
},
|
|
248
225
|
{
|
|
@@ -253,6 +230,7 @@ const BUILTIN_CONNECTORS = [
|
|
|
253
230
|
category: "docs",
|
|
254
231
|
kind: "mcp",
|
|
255
232
|
source: "builtin",
|
|
233
|
+
branding: builtinBranding("brave-search"),
|
|
256
234
|
capabilities: [
|
|
257
235
|
"tools",
|
|
258
236
|
"auth.apiKey",
|
|
@@ -278,52 +256,13 @@ const BUILTIN_CONNECTORS = [
|
|
|
278
256
|
args: ["-y", "@modelcontextprotocol/server-brave-search"],
|
|
279
257
|
env: { BRAVE_API_KEY: "{{secrets.BRAVE_API_KEY}}" }
|
|
280
258
|
}
|
|
259
|
+
},
|
|
260
|
+
integrationStrategy: {
|
|
261
|
+
lane: "mcp",
|
|
262
|
+
workload: "high_frequency",
|
|
263
|
+
preferred: true
|
|
281
264
|
}
|
|
282
|
-
}
|
|
283
|
-
remoteMcpConnector({
|
|
284
|
-
id: "notion",
|
|
285
|
-
displayName: "Notion",
|
|
286
|
-
description: "Connect a Notion-compatible remote MCP endpoint for pages, databases, and workspace context.",
|
|
287
|
-
category: "docs",
|
|
288
|
-
tags: [
|
|
289
|
-
"notion",
|
|
290
|
-
"docs",
|
|
291
|
-
"workspace"
|
|
292
|
-
]
|
|
293
|
-
}),
|
|
294
|
-
remoteMcpConnector({
|
|
295
|
-
id: "slack",
|
|
296
|
-
displayName: "Slack",
|
|
297
|
-
description: "Connect a Slack-compatible remote MCP endpoint for workspace messages and actions.",
|
|
298
|
-
category: "automation",
|
|
299
|
-
tags: [
|
|
300
|
-
"slack",
|
|
301
|
-
"messages",
|
|
302
|
-
"work"
|
|
303
|
-
]
|
|
304
|
-
}),
|
|
305
|
-
remoteMcpConnector({
|
|
306
|
-
id: "linear",
|
|
307
|
-
displayName: "Linear",
|
|
308
|
-
description: "Connect a Linear-compatible remote MCP endpoint for issues, projects, and triage workflows.",
|
|
309
|
-
category: "code",
|
|
310
|
-
tags: [
|
|
311
|
-
"linear",
|
|
312
|
-
"issues",
|
|
313
|
-
"work"
|
|
314
|
-
]
|
|
315
|
-
}),
|
|
316
|
-
remoteMcpConnector({
|
|
317
|
-
id: "google-drive",
|
|
318
|
-
displayName: "Google Drive",
|
|
319
|
-
description: "Connect a Google Drive-compatible remote MCP endpoint for documents and shared files.",
|
|
320
|
-
category: "docs",
|
|
321
|
-
tags: [
|
|
322
|
-
"google",
|
|
323
|
-
"drive",
|
|
324
|
-
"docs"
|
|
325
|
-
]
|
|
326
|
-
})
|
|
265
|
+
}
|
|
327
266
|
];
|
|
328
267
|
//#endregion
|
|
329
268
|
export { BUILTIN_CONNECTORS };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin-catalog.js","names":[],"sources":["../../../src/connectors/builtin-catalog.ts"],"sourcesContent":["import type { ConnectorDefinition } from './types.js';\n\nfunction remoteMcpConnector(params: {\n id: string;\n displayName: string;\n description: string;\n category: ConnectorDefinition['category'];\n tags: string[];\n}): ConnectorDefinition {\n return {\n id: params.id,\n version: '1.0.0',\n displayName: params.displayName,\n description: params.description,\n category: params.category,\n kind: 'mcp',\n source: 'builtin',\n capabilities: ['tools', 'resources', 'prompts', 'auth.apiKey', 'runtime.mcp.streamableHttp'],\n tags: params.tags,\n auth: { mode: 'apiKey' },\n setup: {\n secrets: [\n {\n key: 'AUTHORIZATION_HEADER',\n label: 'Authorization header value',\n description: 'Full Authorization header value for the remote MCP endpoint, for example \"Bearer ...\".',\n required: true,\n },\n ],\n config: [\n {\n key: 'url',\n label: 'MCP endpoint URL',\n type: 'string',\n required: true,\n placeholder: 'https://example.com/mcp',\n description: 'Streamable HTTP MCP endpoint exposed by your provider or gateway.',\n },\n ],\n },\n runtime: {\n type: 'mcp',\n serverId: params.id,\n serverTemplate: {\n url: '{{config.url}}',\n transport: 'streamable-http',\n headers: {\n Authorization: '{{secrets.AUTHORIZATION_HEADER}}',\n },\n },\n },\n };\n}\n\nexport const BUILTIN_CONNECTORS: readonly ConnectorDefinition[] = [\n {\n id: 'fetch',\n version: '1.0.0',\n displayName: 'Fetch',\n description: 'Fetch and read web pages through the official MCP fetch server.',\n category: 'docs',\n kind: 'mcp',\n source: 'builtin',\n capabilities: ['tools', 'runtime.mcp.stdio'],\n tags: ['web', 'docs', 'http'],\n auth: { mode: 'none' },\n setup: {},\n runtime: {\n type: 'mcp',\n serverId: 'fetch',\n serverTemplate: {\n command: 'uvx',\n args: ['mcp-server-fetch'],\n },\n },\n },\n {\n id: 'filesystem',\n version: '1.0.0',\n displayName: 'Filesystem',\n description: 'Read and search files from an explicitly selected local directory.',\n category: 'docs',\n kind: 'mcp',\n source: 'builtin',\n capabilities: ['tools', 'resources', 'runtime.mcp.stdio'],\n tags: ['files', 'local', 'docs'],\n auth: { mode: 'none' },\n setup: {\n config: [\n {\n key: 'rootPath',\n label: 'Allowed directory',\n type: 'path',\n required: true,\n placeholder: '/Users/you/project',\n description: 'The only directory this connector can expose to the MCP runtime.',\n },\n ],\n },\n runtime: {\n type: 'mcp',\n serverId: 'filesystem',\n serverTemplate: {\n command: 'npx',\n args: ['-y', '@modelcontextprotocol/server-filesystem', '{{config.rootPath}}'],\n },\n },\n },\n {\n id: 'time',\n version: '1.0.0',\n displayName: 'Time',\n description: 'Convert time zones and answer current-time questions through an MCP time server.',\n category: 'automation',\n kind: 'mcp',\n source: 'builtin',\n capabilities: ['tools', 'runtime.mcp.stdio'],\n tags: ['time', 'timezone', 'utility'],\n auth: { mode: 'none' },\n setup: {},\n runtime: {\n type: 'mcp',\n serverId: 'time',\n serverTemplate: {\n command: 'uvx',\n args: ['mcp-server-time'],\n },\n },\n },\n {\n id: 'playwright',\n version: '1.0.0',\n displayName: 'Playwright',\n description: 'Automate and inspect browser pages through the official Playwright MCP server.',\n category: 'browser',\n kind: 'mcp',\n source: 'builtin',\n capabilities: ['tools', 'runtime.mcp.stdio'],\n tags: ['browser', 'automation', 'testing'],\n auth: { mode: 'none' },\n setup: {},\n runtime: {\n type: 'mcp',\n serverId: 'playwright',\n serverTemplate: {\n command: 'npx',\n args: ['-y', '@playwright/mcp@latest'],\n },\n },\n },\n {\n id: 'github',\n version: '1.0.0',\n displayName: 'GitHub',\n description: 'Work with GitHub repositories, issues, pull requests, and code search.',\n category: 'code',\n kind: 'mcp',\n source: 'builtin',\n capabilities: ['tools', 'auth.oauth', 'runtime.mcp.stdio'],\n tags: ['code', 'repository', 'issues'],\n auth: { mode: 'oauth' },\n setup: {},\n runtime: {\n type: 'mcp',\n serverId: 'github',\n serverTemplate: {\n command: 'npx',\n args: ['-y', '@modelcontextprotocol/server-github'],\n env: {\n GITHUB_PERSONAL_ACCESS_TOKEN: '{{secrets.GITHUB_PERSONAL_ACCESS_TOKEN}}',\n },\n },\n },\n },\n {\n id: 'memory',\n version: '1.0.0',\n displayName: 'Memory',\n description: 'Give the agent a simple MCP knowledge graph memory store.',\n category: 'data',\n kind: 'mcp',\n source: 'builtin',\n capabilities: ['tools', 'resources', 'runtime.mcp.stdio', 'memory_source'],\n tags: ['memory', 'knowledge', 'personalization'],\n auth: { mode: 'none' },\n setup: {},\n runtime: {\n type: 'mcp',\n serverId: 'memory',\n serverTemplate: {\n command: 'npx',\n args: ['-y', '@modelcontextprotocol/server-memory'],\n },\n },\n },\n {\n id: 'sequential-thinking',\n version: '1.0.0',\n displayName: 'Sequential Thinking',\n description: 'Add a structured reasoning scratchpad MCP server for multi-step tasks.',\n category: 'automation',\n kind: 'mcp',\n source: 'builtin',\n capabilities: ['tools', 'runtime.mcp.stdio'],\n tags: ['reasoning', 'planning', 'utility'],\n auth: { mode: 'none' },\n setup: {},\n runtime: {\n type: 'mcp',\n serverId: 'sequential-thinking',\n serverTemplate: {\n command: 'npx',\n args: ['-y', '@modelcontextprotocol/server-sequential-thinking'],\n },\n },\n },\n {\n id: 'brave-search',\n version: '1.0.0',\n displayName: 'Brave Search',\n description: 'Search the web through the Brave Search MCP server.',\n category: 'docs',\n kind: 'mcp',\n source: 'builtin',\n capabilities: ['tools', 'auth.apiKey', 'runtime.mcp.stdio'],\n tags: ['search', 'web', 'research'],\n auth: { mode: 'apiKey' },\n setup: {\n secrets: [\n {\n key: 'BRAVE_API_KEY',\n label: 'Brave API key',\n description: 'Stored in the xopc credential store and passed to the MCP server at runtime.',\n required: true,\n },\n ],\n },\n runtime: {\n type: 'mcp',\n serverId: 'brave-search',\n serverTemplate: {\n command: 'npx',\n args: ['-y', '@modelcontextprotocol/server-brave-search'],\n env: {\n BRAVE_API_KEY: '{{secrets.BRAVE_API_KEY}}',\n },\n },\n },\n },\n remoteMcpConnector({\n id: 'notion',\n displayName: 'Notion',\n description: 'Connect a Notion-compatible remote MCP endpoint for pages, databases, and workspace context.',\n category: 'docs',\n tags: ['notion', 'docs', 'workspace'],\n }),\n remoteMcpConnector({\n id: 'slack',\n displayName: 'Slack',\n description: 'Connect a Slack-compatible remote MCP endpoint for workspace messages and actions.',\n category: 'automation',\n tags: ['slack', 'messages', 'work'],\n }),\n remoteMcpConnector({\n id: 'linear',\n displayName: 'Linear',\n description: 'Connect a Linear-compatible remote MCP endpoint for issues, projects, and triage workflows.',\n category: 'code',\n tags: ['linear', 'issues', 'work'],\n }),\n remoteMcpConnector({\n id: 'google-drive',\n displayName: 'Google Drive',\n description: 'Connect a Google Drive-compatible remote MCP endpoint for documents and shared files.',\n category: 'docs',\n tags: ['google', 'drive', 'docs'],\n }),\n];\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builtin-catalog.js","names":[],"sources":["../../../src/connectors/builtin-catalog.ts"],"sourcesContent":["import type { ConnectorDefinition } from './types.js';\n\nconst BUILTIN_CONNECTOR_BACKGROUNDS: Record<string, string> = {\n 'brave-search': '#FFF4ED',\n fetch: '#E8F3FF',\n filesystem: '#FFF7E6',\n memory: '#F3E8FF',\n playwright: '#FFFFFF',\n 'sequential-thinking': '#ECFDF5',\n time: '#ECFEFF',\n};\n\nfunction builtinBranding(id: string): NonNullable<ConnectorDefinition['branding']> {\n return {\n logoUrl: `/connector-icons/${id}.svg`,\n source: 'builtin',\n backgroundColor: BUILTIN_CONNECTOR_BACKGROUNDS[id] ?? '#FFFFFF',\n };\n}\n\nexport const BUILTIN_CONNECTORS: readonly ConnectorDefinition[] = [\n {\n id: 'fetch',\n version: '1.0.0',\n displayName: 'Fetch',\n description: 'Fetch and read web pages through the official MCP fetch server.',\n category: 'docs',\n kind: 'mcp',\n source: 'builtin',\n branding: builtinBranding('fetch'),\n capabilities: ['tools', 'runtime.mcp.stdio'],\n tags: ['web', 'docs', 'http'],\n auth: { mode: 'none' },\n setup: {},\n runtime: {\n type: 'mcp',\n serverId: 'fetch',\n serverTemplate: {\n command: 'uvx',\n args: ['mcp-server-fetch'],\n },\n },\n integrationStrategy: { lane: 'mcp', workload: 'high_frequency', preferred: true },\n },\n {\n id: 'filesystem',\n version: '1.0.0',\n displayName: 'Filesystem',\n description: 'Read and search files from an explicitly selected local directory.',\n category: 'docs',\n kind: 'mcp',\n source: 'builtin',\n branding: builtinBranding('filesystem'),\n capabilities: ['tools', 'resources', 'runtime.mcp.stdio'],\n tags: ['files', 'local', 'docs'],\n auth: { mode: 'none' },\n setup: {\n config: [\n {\n key: 'rootPath',\n label: 'Allowed directory',\n type: 'path',\n required: true,\n placeholder: '/Users/you/project',\n description: 'The only directory this connector can expose to the MCP runtime.',\n },\n ],\n },\n runtime: {\n type: 'mcp',\n serverId: 'filesystem',\n serverTemplate: {\n command: 'npx',\n args: ['-y', '@modelcontextprotocol/server-filesystem', '{{config.rootPath}}'],\n },\n },\n integrationStrategy: { lane: 'mcp', workload: 'high_frequency', preferred: true },\n },\n {\n id: 'time',\n version: '1.0.0',\n displayName: 'Time',\n description: 'Convert time zones and answer current-time questions through an MCP time server.',\n category: 'automation',\n kind: 'mcp',\n source: 'builtin',\n branding: builtinBranding('time'),\n capabilities: ['tools', 'runtime.mcp.stdio'],\n tags: ['time', 'timezone', 'utility'],\n auth: { mode: 'none' },\n setup: {},\n runtime: {\n type: 'mcp',\n serverId: 'time',\n serverTemplate: {\n command: 'uvx',\n args: ['mcp-server-time'],\n },\n },\n integrationStrategy: { lane: 'mcp', workload: 'high_frequency', preferred: true },\n },\n {\n id: 'playwright',\n version: '1.0.0',\n displayName: 'Playwright',\n description: 'Automate and inspect browser pages through the official Playwright MCP server.',\n category: 'browser',\n kind: 'mcp',\n source: 'builtin',\n branding: builtinBranding('playwright'),\n capabilities: ['tools', 'runtime.mcp.stdio'],\n tags: ['browser', 'automation', 'testing'],\n auth: { mode: 'none' },\n setup: {},\n runtime: {\n type: 'mcp',\n serverId: 'playwright',\n serverTemplate: {\n command: 'npx',\n args: ['-y', '@playwright/mcp@latest'],\n },\n },\n integrationStrategy: { lane: 'mcp', workload: 'high_frequency', preferred: true },\n },\n {\n id: 'memory',\n version: '1.0.0',\n displayName: 'Memory',\n description: 'Give the agent a simple MCP knowledge graph memory store.',\n category: 'data',\n kind: 'mcp',\n source: 'builtin',\n branding: builtinBranding('memory'),\n capabilities: ['tools', 'resources', 'runtime.mcp.stdio', 'memory_source'],\n tags: ['memory', 'knowledge', 'personalization'],\n auth: { mode: 'none' },\n setup: {},\n runtime: {\n type: 'mcp',\n serverId: 'memory',\n serverTemplate: {\n command: 'npx',\n args: ['-y', '@modelcontextprotocol/server-memory'],\n },\n },\n integrationStrategy: { lane: 'mcp', workload: 'high_frequency', preferred: true },\n },\n {\n id: 'sequential-thinking',\n version: '1.0.0',\n displayName: 'Sequential Thinking',\n description: 'Add a structured reasoning scratchpad MCP server for multi-step tasks.',\n category: 'automation',\n kind: 'mcp',\n source: 'builtin',\n branding: builtinBranding('sequential-thinking'),\n capabilities: ['tools', 'runtime.mcp.stdio'],\n tags: ['reasoning', 'planning', 'utility'],\n auth: { mode: 'none' },\n setup: {},\n runtime: {\n type: 'mcp',\n serverId: 'sequential-thinking',\n serverTemplate: {\n command: 'npx',\n args: ['-y', '@modelcontextprotocol/server-sequential-thinking'],\n },\n },\n integrationStrategy: { lane: 'mcp', workload: 'high_frequency', preferred: true },\n },\n {\n id: 'brave-search',\n version: '1.0.0',\n displayName: 'Brave Search',\n description: 'Search the web through the Brave Search MCP server.',\n category: 'docs',\n kind: 'mcp',\n source: 'builtin',\n branding: builtinBranding('brave-search'),\n capabilities: ['tools', 'auth.apiKey', 'runtime.mcp.stdio'],\n tags: ['search', 'web', 'research'],\n auth: { mode: 'apiKey' },\n setup: {\n secrets: [\n {\n key: 'BRAVE_API_KEY',\n label: 'Brave API key',\n description: 'Stored in the xopc credential store and passed to the MCP server at runtime.',\n required: true,\n },\n ],\n },\n runtime: {\n type: 'mcp',\n serverId: 'brave-search',\n serverTemplate: {\n command: 'npx',\n args: ['-y', '@modelcontextprotocol/server-brave-search'],\n env: {\n BRAVE_API_KEY: '{{secrets.BRAVE_API_KEY}}',\n },\n },\n },\n integrationStrategy: { lane: 'mcp', workload: 'high_frequency', preferred: true },\n },\n];\n"],"mappings":"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"}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
|
+
import { isXopcDatabaseOpen } from "../storage/sqlite/connection.js";
|
|
2
|
+
import { getCachedConnectorCatalogEntry, listCachedConnectorCatalogEntries } from "../storage/sqlite/connector-repository.js";
|
|
1
3
|
import { listConnectorProviderDefinitions, listConnectorProviders } from "./providers.js";
|
|
2
4
|
//#region src/connectors/catalog.ts
|
|
3
5
|
const CONNECTOR_BY_ID = new Map(listConnectorProviderDefinitions().map((connector) => [connector.id, connector]));
|
|
4
6
|
function listConnectorCatalog() {
|
|
5
|
-
|
|
7
|
+
const definitions = [...isXopcDatabaseOpen() ? listCachedConnectorCatalogEntries().map((entry) => entry.definition) : [], ...listConnectorProviderDefinitions()];
|
|
8
|
+
return [...new Map(definitions.map((connector) => [connector.id, connector])).values()].sort((left, right) => left.displayName.localeCompare(right.displayName));
|
|
6
9
|
}
|
|
7
10
|
function getConnectorDefinition(connectorId) {
|
|
8
|
-
|
|
11
|
+
const providerDefinition = CONNECTOR_BY_ID.get(connectorId);
|
|
12
|
+
if (providerDefinition || !isXopcDatabaseOpen()) return providerDefinition;
|
|
13
|
+
return getCachedConnectorCatalogEntry(connectorId)?.definition;
|
|
9
14
|
}
|
|
10
15
|
//#endregion
|
|
11
16
|
export { getConnectorDefinition, listConnectorCatalog, listConnectorProviders };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.js","names":[],"sources":["../../../src/connectors/catalog.ts"],"sourcesContent":["import { listConnectorProviderDefinitions, listConnectorProviders } from './providers.js';\nimport type { ConnectorDefinition } from './types.js';\n\nconst CONNECTOR_BY_ID = new Map(listConnectorProviderDefinitions().map((connector) => [connector.id, connector]));\n\nexport function listConnectorCatalog(): ConnectorDefinition[] {\n
|
|
1
|
+
{"version":3,"file":"catalog.js","names":[],"sources":["../../../src/connectors/catalog.ts"],"sourcesContent":["import { listConnectorProviderDefinitions, listConnectorProviders } from './providers.js';\nimport { getCachedConnectorCatalogEntry, listCachedConnectorCatalogEntries } from '../storage/sqlite/connector-repository.js';\nimport { isXopcDatabaseOpen } from '../storage/sqlite/connection.js';\nimport type { ConnectorDefinition } from './types.js';\n\nconst CONNECTOR_BY_ID = new Map(listConnectorProviderDefinitions().map((connector) => [connector.id, connector]));\n\nexport function listConnectorCatalog(): ConnectorDefinition[] {\n const cached = isXopcDatabaseOpen()\n ? listCachedConnectorCatalogEntries().map((entry) => entry.definition)\n : [];\n const definitions = [...cached, ...listConnectorProviderDefinitions()];\n return [...new Map(definitions.map((connector) => [connector.id, connector])).values()]\n .sort((left, right) => left.displayName.localeCompare(right.displayName));\n}\n\nexport function getConnectorDefinition(connectorId: string): ConnectorDefinition | undefined {\n const providerDefinition = CONNECTOR_BY_ID.get(connectorId);\n if (providerDefinition || !isXopcDatabaseOpen()) return providerDefinition;\n const cached = getCachedConnectorCatalogEntry(connectorId)?.definition;\n return cached;\n}\n\nexport { listConnectorProviders };\n"],"mappings":";;;;AAKA,MAAM,kBAAkB,IAAI,IAAI,kCAAkC,CAAC,KAAK,cAAc,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC;AAEjH,SAAgB,uBAA8C;CAI5D,MAAM,cAAc,CAAC,GAHN,oBAAoB,GAC/B,mCAAmC,CAAC,KAAK,UAAU,MAAM,WAAW,GACpE,EAAE,EAC0B,GAAG,kCAAkC,CAAC;AACtE,QAAO,CAAC,GAAG,IAAI,IAAI,YAAY,KAAK,cAAc,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CACpF,MAAM,MAAM,UAAU,KAAK,YAAY,cAAc,MAAM,YAAY,CAAC;;AAG7E,SAAgB,uBAAuB,aAAsD;CAC3F,MAAM,qBAAqB,gBAAgB,IAAI,YAAY;AAC3D,KAAI,sBAAsB,CAAC,oBAAoB,CAAE,QAAO;AAExD,QADe,+BAA+B,YAAY,EAAE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ComposioSessionsAdapter, type ComposioToolkitCatalogItem } from './composio-sessions.js';
|
|
2
|
+
import type { ConnectorDefinition } from './types.js';
|
|
3
|
+
export declare const COMPOSIO_RECOMMENDED_TOOLKITS: readonly ["gmail", "googlecalendar", "googledrive", "notion", "slack", "github", "linear", "outlook", "microsoft_teams", "jira", "dropbox", "todoist"];
|
|
4
|
+
export declare const COMPOSIO_AGENT_READY_TOOLKITS: readonly ["gmail", "googlecalendar", "googledrive", "notion", "slack", "github", "linear", "outlook", "microsoft_teams", "jira", "dropbox", "todoist", "discord", "googledocs", "googlesheets", "trello", "asana", "clickup", "twitter", "spotify", "telegram", "whatsapp", "shopify", "stripe", "hubspot", "salesforce", "airtable", "figma", "youtube", "one_drive", "excel"];
|
|
5
|
+
export type ComposioAgentReadyToolkit = typeof COMPOSIO_AGENT_READY_TOOLKITS[number];
|
|
6
|
+
export declare const COMPOSIO_TOOLKIT_DISPLAY_NAMES: Record<ComposioAgentReadyToolkit, string>;
|
|
7
|
+
export declare function connectorDefinitionFromComposioToolkit(item: ComposioToolkitCatalogItem): ConnectorDefinition;
|
|
8
|
+
export type ComposioCatalogResult = {
|
|
9
|
+
connectors: ConnectorDefinition[];
|
|
10
|
+
source: 'live' | 'cache';
|
|
11
|
+
stale: boolean;
|
|
12
|
+
fetchedAt?: string;
|
|
13
|
+
};
|
|
14
|
+
export declare function listComposioConnectorCatalog(options?: {
|
|
15
|
+
principalId?: string;
|
|
16
|
+
refresh?: boolean;
|
|
17
|
+
adapter?: ComposioSessionsAdapter;
|
|
18
|
+
now?: number;
|
|
19
|
+
}): Promise<ComposioCatalogResult>;
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import { listCachedConnectorCatalogEntries, upsertConnectorCatalogEntry } from "../storage/sqlite/connector-repository.js";
|
|
2
|
+
import { ComposioSessionsAdapter } from "./composio-sessions.js";
|
|
3
|
+
import { composioIntegrationStrategy } from "./integration-strategy.js";
|
|
4
|
+
//#region src/connectors/composio-catalog.ts
|
|
5
|
+
const CATALOG_CACHE_TTL_MS = 360 * 60 * 1e3;
|
|
6
|
+
const COMPOSIO_RECOMMENDED_TOOLKITS = [
|
|
7
|
+
"gmail",
|
|
8
|
+
"googlecalendar",
|
|
9
|
+
"googledrive",
|
|
10
|
+
"notion",
|
|
11
|
+
"slack",
|
|
12
|
+
"github",
|
|
13
|
+
"linear",
|
|
14
|
+
"outlook",
|
|
15
|
+
"microsoft_teams",
|
|
16
|
+
"jira",
|
|
17
|
+
"dropbox",
|
|
18
|
+
"todoist"
|
|
19
|
+
];
|
|
20
|
+
const COMPOSIO_AGENT_READY_TOOLKITS = [
|
|
21
|
+
...COMPOSIO_RECOMMENDED_TOOLKITS,
|
|
22
|
+
"discord",
|
|
23
|
+
"googledocs",
|
|
24
|
+
"googlesheets",
|
|
25
|
+
"trello",
|
|
26
|
+
"asana",
|
|
27
|
+
"clickup",
|
|
28
|
+
"twitter",
|
|
29
|
+
"spotify",
|
|
30
|
+
"telegram",
|
|
31
|
+
"whatsapp",
|
|
32
|
+
"shopify",
|
|
33
|
+
"stripe",
|
|
34
|
+
"hubspot",
|
|
35
|
+
"salesforce",
|
|
36
|
+
"airtable",
|
|
37
|
+
"figma",
|
|
38
|
+
"youtube",
|
|
39
|
+
"one_drive",
|
|
40
|
+
"excel"
|
|
41
|
+
];
|
|
42
|
+
const COMPOSIO_TOOLKIT_DISPLAY_NAMES = {
|
|
43
|
+
gmail: "Gmail",
|
|
44
|
+
googlecalendar: "Google Calendar",
|
|
45
|
+
googledrive: "Google Drive",
|
|
46
|
+
notion: "Notion",
|
|
47
|
+
slack: "Slack",
|
|
48
|
+
github: "GitHub",
|
|
49
|
+
linear: "Linear via Composio",
|
|
50
|
+
outlook: "Outlook",
|
|
51
|
+
microsoft_teams: "Microsoft Teams",
|
|
52
|
+
jira: "Jira",
|
|
53
|
+
dropbox: "Dropbox",
|
|
54
|
+
todoist: "Todoist",
|
|
55
|
+
discord: "Discord",
|
|
56
|
+
googledocs: "Google Docs",
|
|
57
|
+
googlesheets: "Google Sheets",
|
|
58
|
+
trello: "Trello",
|
|
59
|
+
asana: "Asana",
|
|
60
|
+
clickup: "ClickUp",
|
|
61
|
+
twitter: "X (Twitter)",
|
|
62
|
+
spotify: "Spotify",
|
|
63
|
+
telegram: "Telegram",
|
|
64
|
+
whatsapp: "WhatsApp",
|
|
65
|
+
shopify: "Shopify",
|
|
66
|
+
stripe: "Stripe",
|
|
67
|
+
hubspot: "HubSpot",
|
|
68
|
+
salesforce: "Salesforce",
|
|
69
|
+
airtable: "Airtable",
|
|
70
|
+
figma: "Figma",
|
|
71
|
+
youtube: "YouTube",
|
|
72
|
+
one_drive: "OneDrive",
|
|
73
|
+
excel: "Microsoft Excel"
|
|
74
|
+
};
|
|
75
|
+
const RECOMMENDED = new Set(COMPOSIO_RECOMMENDED_TOOLKITS);
|
|
76
|
+
const AGENT_READY = new Set(COMPOSIO_AGENT_READY_TOOLKITS);
|
|
77
|
+
const LOCAL_TOOLKIT_LOGO_FILE_NAMES = {
|
|
78
|
+
googlecalendar: "google-calendar",
|
|
79
|
+
googledocs: "google-docs",
|
|
80
|
+
googledrive: "google-drive",
|
|
81
|
+
googlesheets: "google-sheets",
|
|
82
|
+
microsoft_teams: "microsoft-teams",
|
|
83
|
+
one_drive: "one-drive"
|
|
84
|
+
};
|
|
85
|
+
function composioLogoUrl(slug) {
|
|
86
|
+
if (AGENT_READY.has(slug)) return `/connector-icons/${LOCAL_TOOLKIT_LOGO_FILE_NAMES[slug] ?? slug}.svg`;
|
|
87
|
+
return `/connector-icons/composio/${encodeURIComponent(slug)}`;
|
|
88
|
+
}
|
|
89
|
+
const CONNECTOR_DESCRIPTIONS = {
|
|
90
|
+
gmail: "Find, draft, and send Gmail messages with explicit write confirmation.",
|
|
91
|
+
googlecalendar: "Find and manage Google Calendar events from conversations and workflows.",
|
|
92
|
+
googledrive: "Search and work with approved files in Google Drive.",
|
|
93
|
+
notion: "Search and update approved Notion pages and databases.",
|
|
94
|
+
slack: "Read conversations and send approved messages in Slack.",
|
|
95
|
+
github: "Work with repositories, issues, pull requests, and reviews on GitHub.",
|
|
96
|
+
linear: "Find and manage Linear issues and projects.",
|
|
97
|
+
outlook: "Read and send Outlook mail with account-level controls.",
|
|
98
|
+
microsoft_teams: "Read conversations and send approved Microsoft Teams messages.",
|
|
99
|
+
jira: "Find and manage Jira issues for an approved site.",
|
|
100
|
+
dropbox: "Search and work with approved Dropbox files.",
|
|
101
|
+
todoist: "Create and manage personal or team tasks in Todoist.",
|
|
102
|
+
discord: "Read conversations and send approved messages in Discord.",
|
|
103
|
+
googledocs: "Find, read, and update approved documents in Google Docs.",
|
|
104
|
+
googlesheets: "Read and update approved spreadsheets in Google Sheets.",
|
|
105
|
+
trello: "Find and manage Trello boards, lists, and cards.",
|
|
106
|
+
asana: "Find and manage Asana tasks and projects.",
|
|
107
|
+
clickup: "Find and manage ClickUp tasks, lists, and workspaces.",
|
|
108
|
+
twitter: "Search posts and publish approved updates on X.",
|
|
109
|
+
spotify: "Search Spotify and manage approved playlists and playback actions.",
|
|
110
|
+
telegram: "Read conversations and send approved Telegram messages.",
|
|
111
|
+
whatsapp: "Read conversations and send approved WhatsApp messages.",
|
|
112
|
+
shopify: "Work with Shopify products, customers, and orders.",
|
|
113
|
+
stripe: "Work with Stripe customers, payments, invoices, and subscriptions.",
|
|
114
|
+
hubspot: "Find and manage HubSpot contacts, companies, and deals.",
|
|
115
|
+
salesforce: "Find and manage approved Salesforce records and opportunities.",
|
|
116
|
+
airtable: "Read and update approved Airtable bases and records.",
|
|
117
|
+
figma: "Find Figma files, inspect project context, and manage comments.",
|
|
118
|
+
youtube: "Find and manage YouTube videos, channels, and playlists.",
|
|
119
|
+
one_drive: "Search and work with approved files in OneDrive.",
|
|
120
|
+
excel: "Read and update approved Microsoft Excel workbooks and tables."
|
|
121
|
+
};
|
|
122
|
+
const CODE_TOOLKITS = new Set([
|
|
123
|
+
"github",
|
|
124
|
+
"gitlab",
|
|
125
|
+
"bitbucket",
|
|
126
|
+
"linear",
|
|
127
|
+
"jira"
|
|
128
|
+
]);
|
|
129
|
+
const DOC_TOOLKITS = new Set([
|
|
130
|
+
"notion",
|
|
131
|
+
"googledocs",
|
|
132
|
+
"figma"
|
|
133
|
+
]);
|
|
134
|
+
const DATA_TOOLKITS = new Set([
|
|
135
|
+
"googledrive",
|
|
136
|
+
"dropbox",
|
|
137
|
+
"one_drive",
|
|
138
|
+
"googlesheets",
|
|
139
|
+
"excel",
|
|
140
|
+
"airtable"
|
|
141
|
+
]);
|
|
142
|
+
function categoryForToolkit(slug) {
|
|
143
|
+
if (CODE_TOOLKITS.has(slug)) return "code";
|
|
144
|
+
if (DOC_TOOLKITS.has(slug)) return "docs";
|
|
145
|
+
if (DATA_TOOLKITS.has(slug)) return "data";
|
|
146
|
+
return "automation";
|
|
147
|
+
}
|
|
148
|
+
function verificationForToolkit(slug) {
|
|
149
|
+
if (RECOMMENDED.has(slug) || AGENT_READY.has(slug)) return "verified";
|
|
150
|
+
return "experimental";
|
|
151
|
+
}
|
|
152
|
+
function connectorDefinitionFromComposioToolkit(item) {
|
|
153
|
+
const slug = item.slug.trim().toLowerCase();
|
|
154
|
+
return {
|
|
155
|
+
id: `composio-${slug}`,
|
|
156
|
+
version: "sessions-v1",
|
|
157
|
+
displayName: item.name,
|
|
158
|
+
description: CONNECTOR_DESCRIPTIONS[slug] ?? `Connect ${item.name} so agents can use approved actions on your behalf.`,
|
|
159
|
+
category: categoryForToolkit(slug),
|
|
160
|
+
kind: "composio",
|
|
161
|
+
source: "builtin",
|
|
162
|
+
capabilities: item.isNoAuth ? [
|
|
163
|
+
"tools",
|
|
164
|
+
"events",
|
|
165
|
+
"workflows"
|
|
166
|
+
] : [
|
|
167
|
+
"tools",
|
|
168
|
+
"auth.oauth",
|
|
169
|
+
"events",
|
|
170
|
+
"workflows"
|
|
171
|
+
],
|
|
172
|
+
tags: [
|
|
173
|
+
"composio",
|
|
174
|
+
slug,
|
|
175
|
+
verificationForToolkit(slug)
|
|
176
|
+
],
|
|
177
|
+
branding: {
|
|
178
|
+
logoUrl: composioLogoUrl(slug),
|
|
179
|
+
source: "composio-catalog",
|
|
180
|
+
fetchedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
181
|
+
},
|
|
182
|
+
verificationLevel: verificationForToolkit(slug),
|
|
183
|
+
auth: item.isNoAuth ? { mode: "none" } : {
|
|
184
|
+
mode: "oauth",
|
|
185
|
+
provider: "composio"
|
|
186
|
+
},
|
|
187
|
+
setup: {},
|
|
188
|
+
runtime: {
|
|
189
|
+
type: "composio",
|
|
190
|
+
toolkit: slug,
|
|
191
|
+
role: "toolkit"
|
|
192
|
+
},
|
|
193
|
+
integrationStrategy: composioIntegrationStrategy(slug)
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
async function listComposioConnectorCatalog(options = {}) {
|
|
197
|
+
const now = options.now ?? Date.now();
|
|
198
|
+
const cached = listCachedConnectorCatalogEntries("composio");
|
|
199
|
+
const freshCached = cached.filter((entry) => !entry.expiresAt || Date.parse(entry.expiresAt) > now);
|
|
200
|
+
if (!options.refresh && freshCached.length > 0) return {
|
|
201
|
+
connectors: freshCached.map((entry) => entry.definition),
|
|
202
|
+
source: "cache",
|
|
203
|
+
stale: false,
|
|
204
|
+
fetchedAt: freshCached[0]?.fetchedAt
|
|
205
|
+
};
|
|
206
|
+
try {
|
|
207
|
+
const toolkits = await (options.adapter ?? new ComposioSessionsAdapter()).listToolkitCatalog({ principalId: options.principalId ?? "local-owner" });
|
|
208
|
+
const fetchedAt = new Date(now).toISOString();
|
|
209
|
+
const expiresAt = new Date(now + CATALOG_CACHE_TTL_MS).toISOString();
|
|
210
|
+
const connectors = toolkits.map(connectorDefinitionFromComposioToolkit);
|
|
211
|
+
for (const definition of connectors) upsertConnectorCatalogEntry({
|
|
212
|
+
connectorId: definition.id,
|
|
213
|
+
provider: "composio",
|
|
214
|
+
definition,
|
|
215
|
+
fetchedAt,
|
|
216
|
+
expiresAt
|
|
217
|
+
});
|
|
218
|
+
return {
|
|
219
|
+
connectors,
|
|
220
|
+
source: "live",
|
|
221
|
+
stale: false,
|
|
222
|
+
fetchedAt
|
|
223
|
+
};
|
|
224
|
+
} catch (error) {
|
|
225
|
+
if (cached.length === 0) throw error;
|
|
226
|
+
return {
|
|
227
|
+
connectors: cached.map((entry) => entry.definition),
|
|
228
|
+
source: "cache",
|
|
229
|
+
stale: true,
|
|
230
|
+
fetchedAt: cached[0]?.fetchedAt
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
//#endregion
|
|
235
|
+
export { COMPOSIO_AGENT_READY_TOOLKITS, COMPOSIO_RECOMMENDED_TOOLKITS, COMPOSIO_TOOLKIT_DISPLAY_NAMES, connectorDefinitionFromComposioToolkit, listComposioConnectorCatalog };
|
|
236
|
+
|
|
237
|
+
//# sourceMappingURL=composio-catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composio-catalog.js","names":[],"sources":["../../../src/connectors/composio-catalog.ts"],"sourcesContent":["import {\n listCachedConnectorCatalogEntries,\n upsertConnectorCatalogEntry,\n} from '../storage/sqlite/connector-repository.js';\nimport { ComposioSessionsAdapter, type ComposioToolkitCatalogItem } from './composio-sessions.js';\nimport { composioIntegrationStrategy } from './integration-strategy.js';\nimport type { ConnectorCategory, ConnectorDefinition, ConnectorVerificationLevel } from './types.js';\n\nconst CATALOG_CACHE_TTL_MS = 6 * 60 * 60 * 1000;\n\nexport const COMPOSIO_RECOMMENDED_TOOLKITS = [\n 'gmail',\n 'googlecalendar',\n 'googledrive',\n 'notion',\n 'slack',\n 'github',\n 'linear',\n 'outlook',\n 'microsoft_teams',\n 'jira',\n 'dropbox',\n 'todoist',\n] as const;\n\nexport const COMPOSIO_AGENT_READY_TOOLKITS = [\n ...COMPOSIO_RECOMMENDED_TOOLKITS,\n 'discord',\n 'googledocs',\n 'googlesheets',\n 'trello',\n 'asana',\n 'clickup',\n 'twitter',\n 'spotify',\n 'telegram',\n 'whatsapp',\n 'shopify',\n 'stripe',\n 'hubspot',\n 'salesforce',\n 'airtable',\n 'figma',\n 'youtube',\n 'one_drive',\n 'excel',\n] as const;\n\nexport type ComposioAgentReadyToolkit = typeof COMPOSIO_AGENT_READY_TOOLKITS[number];\n\nexport const COMPOSIO_TOOLKIT_DISPLAY_NAMES: Record<ComposioAgentReadyToolkit, string> = {\n gmail: 'Gmail',\n googlecalendar: 'Google Calendar',\n googledrive: 'Google Drive',\n notion: 'Notion',\n slack: 'Slack',\n github: 'GitHub',\n linear: 'Linear via Composio',\n outlook: 'Outlook',\n microsoft_teams: 'Microsoft Teams',\n jira: 'Jira',\n dropbox: 'Dropbox',\n todoist: 'Todoist',\n discord: 'Discord',\n googledocs: 'Google Docs',\n googlesheets: 'Google Sheets',\n trello: 'Trello',\n asana: 'Asana',\n clickup: 'ClickUp',\n twitter: 'X (Twitter)',\n spotify: 'Spotify',\n telegram: 'Telegram',\n whatsapp: 'WhatsApp',\n shopify: 'Shopify',\n stripe: 'Stripe',\n hubspot: 'HubSpot',\n salesforce: 'Salesforce',\n airtable: 'Airtable',\n figma: 'Figma',\n youtube: 'YouTube',\n one_drive: 'OneDrive',\n excel: 'Microsoft Excel',\n};\n\nconst RECOMMENDED = new Set<string>(COMPOSIO_RECOMMENDED_TOOLKITS);\nconst AGENT_READY = new Set<string>(COMPOSIO_AGENT_READY_TOOLKITS);\n\nconst LOCAL_TOOLKIT_LOGO_FILE_NAMES: Readonly<Record<string, string>> = {\n googlecalendar: 'google-calendar',\n googledocs: 'google-docs',\n googledrive: 'google-drive',\n googlesheets: 'google-sheets',\n microsoft_teams: 'microsoft-teams',\n one_drive: 'one-drive',\n};\n\nfunction composioLogoUrl(slug: string): string {\n if (AGENT_READY.has(slug)) {\n const fileName = LOCAL_TOOLKIT_LOGO_FILE_NAMES[slug] ?? slug;\n return `/connector-icons/${fileName}.svg`;\n }\n return `/connector-icons/composio/${encodeURIComponent(slug)}`;\n}\n\nconst CONNECTOR_DESCRIPTIONS: Record<string, string> = {\n gmail: 'Find, draft, and send Gmail messages with explicit write confirmation.',\n googlecalendar: 'Find and manage Google Calendar events from conversations and workflows.',\n googledrive: 'Search and work with approved files in Google Drive.',\n notion: 'Search and update approved Notion pages and databases.',\n slack: 'Read conversations and send approved messages in Slack.',\n github: 'Work with repositories, issues, pull requests, and reviews on GitHub.',\n linear: 'Find and manage Linear issues and projects.',\n outlook: 'Read and send Outlook mail with account-level controls.',\n microsoft_teams: 'Read conversations and send approved Microsoft Teams messages.',\n jira: 'Find and manage Jira issues for an approved site.',\n dropbox: 'Search and work with approved Dropbox files.',\n todoist: 'Create and manage personal or team tasks in Todoist.',\n discord: 'Read conversations and send approved messages in Discord.',\n googledocs: 'Find, read, and update approved documents in Google Docs.',\n googlesheets: 'Read and update approved spreadsheets in Google Sheets.',\n trello: 'Find and manage Trello boards, lists, and cards.',\n asana: 'Find and manage Asana tasks and projects.',\n clickup: 'Find and manage ClickUp tasks, lists, and workspaces.',\n twitter: 'Search posts and publish approved updates on X.',\n spotify: 'Search Spotify and manage approved playlists and playback actions.',\n telegram: 'Read conversations and send approved Telegram messages.',\n whatsapp: 'Read conversations and send approved WhatsApp messages.',\n shopify: 'Work with Shopify products, customers, and orders.',\n stripe: 'Work with Stripe customers, payments, invoices, and subscriptions.',\n hubspot: 'Find and manage HubSpot contacts, companies, and deals.',\n salesforce: 'Find and manage approved Salesforce records and opportunities.',\n airtable: 'Read and update approved Airtable bases and records.',\n figma: 'Find Figma files, inspect project context, and manage comments.',\n youtube: 'Find and manage YouTube videos, channels, and playlists.',\n one_drive: 'Search and work with approved files in OneDrive.',\n excel: 'Read and update approved Microsoft Excel workbooks and tables.',\n};\n\nconst CODE_TOOLKITS = new Set(['github', 'gitlab', 'bitbucket', 'linear', 'jira']);\nconst DOC_TOOLKITS = new Set(['notion', 'googledocs', 'figma']);\nconst DATA_TOOLKITS = new Set(['googledrive', 'dropbox', 'one_drive', 'googlesheets', 'excel', 'airtable']);\n\nfunction categoryForToolkit(slug: string): ConnectorCategory {\n if (CODE_TOOLKITS.has(slug)) return 'code';\n if (DOC_TOOLKITS.has(slug)) return 'docs';\n if (DATA_TOOLKITS.has(slug)) return 'data';\n return 'automation';\n}\n\nfunction verificationForToolkit(slug: string): ConnectorVerificationLevel {\n if (RECOMMENDED.has(slug) || AGENT_READY.has(slug)) return 'verified';\n return 'experimental';\n}\n\nexport function connectorDefinitionFromComposioToolkit(item: ComposioToolkitCatalogItem): ConnectorDefinition {\n const slug = item.slug.trim().toLowerCase();\n return {\n id: `composio-${slug}`,\n version: 'sessions-v1',\n displayName: item.name,\n description: CONNECTOR_DESCRIPTIONS[slug]\n ?? `Connect ${item.name} so agents can use approved actions on your behalf.`,\n category: categoryForToolkit(slug),\n kind: 'composio',\n source: 'builtin',\n capabilities: item.isNoAuth\n ? ['tools', 'events', 'workflows']\n : ['tools', 'auth.oauth', 'events', 'workflows'],\n tags: ['composio', slug, verificationForToolkit(slug)],\n branding: {\n logoUrl: composioLogoUrl(slug),\n source: 'composio-catalog',\n fetchedAt: new Date().toISOString(),\n },\n verificationLevel: verificationForToolkit(slug),\n auth: item.isNoAuth\n ? { mode: 'none' }\n : { mode: 'oauth', provider: 'composio' },\n setup: {},\n runtime: { type: 'composio', toolkit: slug, role: 'toolkit' },\n integrationStrategy: composioIntegrationStrategy(slug),\n };\n}\n\nexport type ComposioCatalogResult = {\n connectors: ConnectorDefinition[];\n source: 'live' | 'cache';\n stale: boolean;\n fetchedAt?: string;\n};\n\nexport async function listComposioConnectorCatalog(options: {\n principalId?: string;\n refresh?: boolean;\n adapter?: ComposioSessionsAdapter;\n now?: number;\n} = {}): Promise<ComposioCatalogResult> {\n const now = options.now ?? Date.now();\n const cached = listCachedConnectorCatalogEntries('composio');\n const freshCached = cached.filter((entry) => !entry.expiresAt || Date.parse(entry.expiresAt) > now);\n if (!options.refresh && freshCached.length > 0) {\n return {\n connectors: freshCached.map((entry) => entry.definition),\n source: 'cache',\n stale: false,\n fetchedAt: freshCached[0]?.fetchedAt,\n };\n }\n\n try {\n const adapter = options.adapter ?? new ComposioSessionsAdapter();\n const toolkits = await adapter.listToolkitCatalog({ principalId: options.principalId ?? 'local-owner' });\n const fetchedAt = new Date(now).toISOString();\n const expiresAt = new Date(now + CATALOG_CACHE_TTL_MS).toISOString();\n const connectors = toolkits.map(connectorDefinitionFromComposioToolkit);\n for (const definition of connectors) {\n upsertConnectorCatalogEntry({\n connectorId: definition.id,\n provider: 'composio',\n definition,\n fetchedAt,\n expiresAt,\n });\n }\n return { connectors, source: 'live', stale: false, fetchedAt };\n } catch (error) {\n if (cached.length === 0) throw error;\n return {\n connectors: cached.map((entry) => entry.definition),\n source: 'cache',\n stale: true,\n fetchedAt: cached[0]?.fetchedAt,\n };\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function composioLogoResponse(toolkit: string): Promise<Response>;
|