@rudderhq/server 0.7.2-canary.0 → 0.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-runtimes/codex-models.d.ts +11 -0
- package/dist/agent-runtimes/codex-models.d.ts.map +1 -1
- package/dist/agent-runtimes/codex-models.js +155 -2
- package/dist/agent-runtimes/codex-models.js.map +1 -1
- package/dist/agent-runtimes/cursor-models.d.ts.map +1 -1
- package/dist/agent-runtimes/cursor-models.js +31 -9
- package/dist/agent-runtimes/cursor-models.js.map +1 -1
- package/dist/agent-runtimes/index.d.ts +1 -1
- package/dist/agent-runtimes/index.d.ts.map +1 -1
- package/dist/agent-runtimes/index.js +1 -1
- package/dist/agent-runtimes/index.js.map +1 -1
- package/dist/agent-runtimes/registry.d.ts +11 -4
- package/dist/agent-runtimes/registry.d.ts.map +1 -1
- package/dist/agent-runtimes/registry.js +52 -3
- package/dist/agent-runtimes/registry.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +1 -5
- package/dist/app.js.map +1 -1
- package/dist/bootstrap/create-http-app.d.ts +1 -2
- package/dist/bootstrap/create-http-app.d.ts.map +1 -1
- package/dist/bootstrap/create-http-app.js +13 -12
- package/dist/bootstrap/create-http-app.js.map +1 -1
- package/dist/bootstrap/register-api-routes.d.ts +1 -2
- package/dist/bootstrap/register-api-routes.d.ts.map +1 -1
- package/dist/bootstrap/register-api-routes.js +20 -4
- package/dist/bootstrap/register-api-routes.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +86 -30
- package/dist/index.js.map +1 -1
- package/dist/middleware/logger.js +2 -2
- package/dist/middleware/logger.js.map +1 -1
- package/dist/middleware/logger.test.js +26 -10
- package/dist/middleware/logger.test.js.map +1 -1
- package/dist/redaction.d.ts +1 -0
- package/dist/redaction.d.ts.map +1 -1
- package/dist/redaction.js +13 -0
- package/dist/redaction.js.map +1 -1
- package/dist/routes/access.helpers.d.ts +1 -1
- package/dist/routes/agent-issue-creation.d.ts +25 -0
- package/dist/routes/agent-issue-creation.d.ts.map +1 -0
- package/dist/routes/agent-issue-creation.js +201 -0
- package/dist/routes/agent-issue-creation.js.map +1 -0
- package/dist/routes/agents.d.ts.map +1 -1
- package/dist/routes/agents.js +20 -6
- package/dist/routes/agents.js.map +1 -1
- package/dist/routes/agents.management-routes.d.ts.map +1 -1
- package/dist/routes/agents.management-routes.js +13 -10
- package/dist/routes/agents.management-routes.js.map +1 -1
- package/dist/routes/app-builder.d.ts +3 -1
- package/dist/routes/app-builder.d.ts.map +1 -1
- package/dist/routes/app-builder.js +31 -11
- package/dist/routes/app-builder.js.map +1 -1
- package/dist/routes/approvals.d.ts.map +1 -1
- package/dist/routes/approvals.js +77 -1
- package/dist/routes/approvals.js.map +1 -1
- package/dist/routes/chats.d.ts.map +1 -1
- package/dist/routes/chats.js +1 -0
- package/dist/routes/chats.js.map +1 -1
- package/dist/routes/chats.stream-routes.d.ts.map +1 -1
- package/dist/routes/chats.stream-routes.js +4 -0
- package/dist/routes/chats.stream-routes.js.map +1 -1
- package/dist/routes/computer.d.ts +30 -0
- package/dist/routes/computer.d.ts.map +1 -0
- package/dist/routes/computer.js +231 -0
- package/dist/routes/computer.js.map +1 -0
- package/dist/routes/goals.d.ts.map +1 -1
- package/dist/routes/goals.js +349 -23
- package/dist/routes/goals.js.map +1 -1
- package/dist/routes/health.d.ts.map +1 -1
- package/dist/routes/health.js +3 -0
- package/dist/routes/health.js.map +1 -1
- package/dist/routes/instance-settings.d.ts.map +1 -1
- package/dist/routes/instance-settings.js +3 -0
- package/dist/routes/instance-settings.js.map +1 -1
- package/dist/routes/issues.comments-attachments.d.ts.map +1 -1
- package/dist/routes/issues.comments-attachments.js +90 -8
- package/dist/routes/issues.comments-attachments.js.map +1 -1
- package/dist/routes/issues.d.ts.map +1 -1
- package/dist/routes/issues.js +12 -1
- package/dist/routes/issues.js.map +1 -1
- package/dist/routes/issues.mutations.d.ts.map +1 -1
- package/dist/routes/issues.mutations.js +85 -33
- package/dist/routes/issues.mutations.js.map +1 -1
- package/dist/routes/managed-mcp-connections.d.ts.map +1 -1
- package/dist/routes/managed-mcp-connections.js +46 -7
- package/dist/routes/managed-mcp-connections.js.map +1 -1
- package/dist/routes/managed-mcp-runtime.d.ts.map +1 -1
- package/dist/routes/managed-mcp-runtime.js +109 -7
- package/dist/routes/managed-mcp-runtime.js.map +1 -1
- package/dist/routes/product-analytics-collector-report.d.ts +29 -0
- package/dist/routes/product-analytics-collector-report.d.ts.map +1 -1
- package/dist/routes/product-analytics-collector-report.js +57 -1
- package/dist/routes/product-analytics-collector-report.js.map +1 -1
- package/dist/routes/product-analytics-collector-report.test.d.ts +2 -0
- package/dist/routes/product-analytics-collector-report.test.d.ts.map +1 -0
- package/dist/routes/product-analytics-collector-report.test.js +50 -0
- package/dist/routes/product-analytics-collector-report.test.js.map +1 -0
- package/dist/routes/rudder-plugins.d.ts +4 -0
- package/dist/routes/rudder-plugins.d.ts.map +1 -0
- package/dist/routes/rudder-plugins.js +213 -0
- package/dist/routes/rudder-plugins.js.map +1 -0
- package/dist/services/activity-log.d.ts +0 -3
- package/dist/services/activity-log.d.ts.map +1 -1
- package/dist/services/activity-log.js +0 -33
- package/dist/services/activity-log.js.map +1 -1
- package/dist/services/activity.d.ts +3 -3
- package/dist/services/agent-issue-creation.d.ts +344 -0
- package/dist/services/agent-issue-creation.d.ts.map +1 -0
- package/dist/services/agent-issue-creation.js +675 -0
- package/dist/services/agent-issue-creation.js.map +1 -0
- package/dist/services/agent-run-context.d.ts.map +1 -1
- package/dist/services/agent-run-context.js +13 -2
- package/dist/services/agent-run-context.js.map +1 -1
- package/dist/services/app-builder.d.ts.map +1 -1
- package/dist/services/app-builder.js +24 -3
- package/dist/services/app-builder.js.map +1 -1
- package/dist/services/automation-chat-output.d.ts +1 -1
- package/dist/services/automation-chat-output.d.ts.map +1 -1
- package/dist/services/automation-chat-output.js +24 -14
- package/dist/services/automation-chat-output.js.map +1 -1
- package/dist/services/chat-annotation-copy-lineage.d.ts +1 -1
- package/dist/services/chat-assistant.d.ts.map +1 -1
- package/dist/services/chat-assistant.helpers.d.ts +4 -4
- package/dist/services/chat-assistant.helpers.d.ts.map +1 -1
- package/dist/services/chat-assistant.helpers.js.map +1 -1
- package/dist/services/chat-assistant.js +45 -13
- package/dist/services/chat-assistant.js.map +1 -1
- package/dist/services/chat-assistant.runtime-overrides.d.ts +2 -1
- package/dist/services/chat-assistant.runtime-overrides.d.ts.map +1 -1
- package/dist/services/chat-assistant.runtime-overrides.js +47 -18
- package/dist/services/chat-assistant.runtime-overrides.js.map +1 -1
- package/dist/services/chat-assistant.runtime-overrides.test.d.ts +2 -0
- package/dist/services/chat-assistant.runtime-overrides.test.d.ts.map +1 -0
- package/dist/services/chat-assistant.runtime-overrides.test.js +37 -0
- package/dist/services/chat-assistant.runtime-overrides.test.js.map +1 -0
- package/dist/services/chat-generation-protocol.d.ts.map +1 -1
- package/dist/services/chat-generation-protocol.js +1 -12
- package/dist/services/chat-generation-protocol.js.map +1 -1
- package/dist/services/chat-generation-protocol.test.js +16 -25
- package/dist/services/chat-generation-protocol.test.js.map +1 -1
- package/dist/services/chat-generation-provenance.d.ts.map +1 -1
- package/dist/services/chat-generation-provenance.js +4 -2
- package/dist/services/chat-generation-provenance.js.map +1 -1
- package/dist/services/chat-queued-message-materialization.d.ts.map +1 -1
- package/dist/services/chat-queued-message-materialization.js +12 -2
- package/dist/services/chat-queued-message-materialization.js.map +1 -1
- package/dist/services/chat-transcript-persistence.d.ts +49 -0
- package/dist/services/chat-transcript-persistence.d.ts.map +1 -0
- package/dist/services/chat-transcript-persistence.js +238 -0
- package/dist/services/chat-transcript-persistence.js.map +1 -0
- package/dist/services/chat-transcript-persistence.test.d.ts +2 -0
- package/dist/services/chat-transcript-persistence.test.d.ts.map +1 -0
- package/dist/services/chat-transcript-persistence.test.js +23 -0
- package/dist/services/chat-transcript-persistence.test.js.map +1 -0
- package/dist/services/chat-work-manifest.d.ts.map +1 -1
- package/dist/services/chat-work-manifest.js +36 -10
- package/dist/services/chat-work-manifest.js.map +1 -1
- package/dist/services/chats.annotation-persistence.d.ts.map +1 -1
- package/dist/services/chats.annotation-persistence.js +25 -6
- package/dist/services/chats.annotation-persistence.js.map +1 -1
- package/dist/services/chats.create.d.ts.map +1 -1
- package/dist/services/chats.create.js +49 -4
- package/dist/services/chats.create.js.map +1 -1
- package/dist/services/chats.d.ts +10 -10
- package/dist/services/chats.d.ts.map +1 -1
- package/dist/services/chats.inline-visual-persistence.d.ts +2 -1
- package/dist/services/chats.inline-visual-persistence.d.ts.map +1 -1
- package/dist/services/chats.inline-visual-persistence.js +19 -2
- package/dist/services/chats.inline-visual-persistence.js.map +1 -1
- package/dist/services/chats.js +177 -95
- package/dist/services/chats.js.map +1 -1
- package/dist/services/computer-broker.d.ts +35 -0
- package/dist/services/computer-broker.d.ts.map +1 -0
- package/dist/services/computer-broker.js +211 -0
- package/dist/services/computer-broker.js.map +1 -0
- package/dist/services/computer-broker.test.d.ts +2 -0
- package/dist/services/computer-broker.test.d.ts.map +1 -0
- package/dist/services/computer-broker.test.js +70 -0
- package/dist/services/computer-broker.test.js.map +1 -0
- package/dist/services/computer-capability.d.ts +13 -0
- package/dist/services/computer-capability.d.ts.map +1 -0
- package/dist/services/computer-capability.js +11 -0
- package/dist/services/computer-capability.js.map +1 -0
- package/dist/services/computer-capability.test.d.ts +2 -0
- package/dist/services/computer-capability.test.d.ts.map +1 -0
- package/dist/services/computer-capability.test.js +27 -0
- package/dist/services/computer-capability.test.js.map +1 -0
- package/dist/services/finance.d.ts +2 -2
- package/dist/services/goals.d.ts +2041 -126
- package/dist/services/goals.d.ts.map +1 -1
- package/dist/services/goals.js +1533 -176
- package/dist/services/goals.js.map +1 -1
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +2 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/instance-settings.d.ts.map +1 -1
- package/dist/services/instance-settings.js +17 -2
- package/dist/services/instance-settings.js.map +1 -1
- package/dist/services/integrations/agent-integrations.d.ts +1 -1
- package/dist/services/issues.d.ts +86 -1
- package/dist/services/issues.d.ts.map +1 -1
- package/dist/services/issues.helpers.d.ts +4 -0
- package/dist/services/issues.helpers.d.ts.map +1 -1
- package/dist/services/issues.helpers.js +28 -6
- package/dist/services/issues.helpers.js.map +1 -1
- package/dist/services/issues.js +208 -109
- package/dist/services/issues.js.map +1 -1
- package/dist/services/knowledge-portability/organization-portability.files.d.ts +1 -1
- package/dist/services/knowledge-portability/organization-skills.catalog.d.ts +7 -1
- package/dist/services/knowledge-portability/organization-skills.catalog.d.ts.map +1 -1
- package/dist/services/knowledge-portability/organization-skills.catalog.js +10 -0
- package/dist/services/knowledge-portability/organization-skills.catalog.js.map +1 -1
- package/dist/services/knowledge-portability/organization-skills.d.ts +1 -0
- package/dist/services/knowledge-portability/organization-skills.d.ts.map +1 -1
- package/dist/services/knowledge-portability/organization-skills.js +36 -3
- package/dist/services/knowledge-portability/organization-skills.js.map +1 -1
- package/dist/services/mcp/managed-bindings.d.ts +3 -1
- package/dist/services/mcp/managed-bindings.d.ts.map +1 -1
- package/dist/services/mcp/managed-bindings.js +31 -7
- package/dist/services/mcp/managed-bindings.js.map +1 -1
- package/dist/services/mcp/managed-client.d.ts +15 -0
- package/dist/services/mcp/managed-client.d.ts.map +1 -1
- package/dist/services/mcp/managed-client.js +23 -1
- package/dist/services/mcp/managed-client.js.map +1 -1
- package/dist/services/mcp/managed-client.test.js +73 -9
- package/dist/services/mcp/managed-client.test.js.map +1 -1
- package/dist/services/mcp/managed-connections.d.ts +19 -1
- package/dist/services/mcp/managed-connections.d.ts.map +1 -1
- package/dist/services/mcp/managed-connections.js +211 -37
- package/dist/services/mcp/managed-connections.js.map +1 -1
- package/dist/services/mcp/managed-runtime.js +1 -1
- package/dist/services/mcp/managed-runtime.js.map +1 -1
- package/dist/services/mcp/oauth.d.ts.map +1 -1
- package/dist/services/mcp/oauth.js +3 -0
- package/dist/services/mcp/oauth.js.map +1 -1
- package/dist/services/mcp/provider-registry.d.ts +24 -1
- package/dist/services/mcp/provider-registry.d.ts.map +1 -1
- package/dist/services/mcp/provider-registry.js +26 -0
- package/dist/services/mcp/provider-registry.js.map +1 -1
- package/dist/services/mcp/provider-registry.test.js +26 -0
- package/dist/services/mcp/provider-registry.test.js.map +1 -1
- package/dist/services/messenger-saved-views.d.ts.map +1 -1
- package/dist/services/messenger-saved-views.js +1 -0
- package/dist/services/messenger-saved-views.js.map +1 -1
- package/dist/services/messenger.d.ts +2 -2
- package/dist/services/messenger.d.ts.map +1 -1
- package/dist/services/messenger.js +142 -51
- package/dist/services/messenger.js.map +1 -1
- package/dist/services/product-analytics.d.ts +21 -5
- package/dist/services/product-analytics.d.ts.map +1 -1
- package/dist/services/product-analytics.js +47 -0
- package/dist/services/product-analytics.js.map +1 -1
- package/dist/services/product-analytics.test.js +63 -1
- package/dist/services/product-analytics.test.js.map +1 -1
- package/dist/services/rudder-plugins.d.ts +107 -0
- package/dist/services/rudder-plugins.d.ts.map +1 -0
- package/dist/services/rudder-plugins.js +1746 -0
- package/dist/services/rudder-plugins.js.map +1 -0
- package/dist/services/rudder-plugins.test.d.ts +2 -0
- package/dist/services/rudder-plugins.test.d.ts.map +1 -0
- package/dist/services/rudder-plugins.test.js +191 -0
- package/dist/services/rudder-plugins.test.js.map +1 -0
- package/dist/services/run-events.d.ts +1 -1
- package/dist/services/runtime-kernel/heartbeat.core.d.ts +1 -0
- package/dist/services/runtime-kernel/heartbeat.core.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.core.js +1 -1
- package/dist/services/runtime-kernel/heartbeat.core.js.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.d.ts +57 -0
- package/dist/services/runtime-kernel/heartbeat.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.execute.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.execute.js +51 -3
- package/dist/services/runtime-kernel/heartbeat.execute.js.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.js +400 -102
- package/dist/services/runtime-kernel/heartbeat.js.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.recovery.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.recovery.js +23 -2
- package/dist/services/runtime-kernel/heartbeat.recovery.js.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.terminal.d.ts +17 -2
- package/dist/services/runtime-kernel/heartbeat.terminal.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.terminal.js +33 -1
- package/dist/services/runtime-kernel/heartbeat.terminal.js.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.wakeup.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.wakeup.js +35 -3
- package/dist/services/runtime-kernel/heartbeat.wakeup.js.map +1 -1
- package/dist/services/side-chats.d.ts.map +1 -1
- package/dist/services/side-chats.js +12 -0
- package/dist/services/side-chats.js.map +1 -1
- package/dist/services/workspace-runtime.services.d.ts +1 -1
- package/package.json +19 -17
- package/resources/bundled-skills/app-builder/SKILL.md +39 -9
- package/resources/bundled-skills/app-builder/assets/scaffold/app/globals.css +109 -16
- package/resources/bundled-skills/app-builder/assets/scaffold/components/contacts-workspace.tsx +176 -152
- package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/alert.tsx +12 -0
- package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/badge.tsx +27 -0
- package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/button.tsx +9 -7
- package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/card.tsx +15 -3
- package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/empty.tsx +18 -0
- package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/field.tsx +23 -0
- package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/input.tsx +1 -1
- package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/label.tsx +1 -1
- package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/separator.tsx +6 -0
- package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/skeleton.tsx +6 -0
- package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/table.tsx +30 -0
- package/resources/bundled-skills/app-builder/assets/scaffold/components.json +20 -0
- package/resources/bundled-skills/app-builder/assets/scaffold/next-env.d.ts +1 -1
- package/resources/bundled-skills/app-builder/assets/scaffold/next.config.ts +19 -0
- package/resources/bundled-skills/app-builder/assets/scaffold/package.json +2 -1
- package/resources/bundled-skills/app-builder/assets/scaffold/rudder.app.json +1 -1
- package/resources/bundled-skills/app-builder/assets/scaffold/rudder.ui.json +13 -0
- package/resources/bundled-skills/app-builder/assets/scaffold/scripts/validate-rudder-ui.mjs +50 -0
- package/resources/bundled-skills/app-builder/assets/scaffold/tests/e2e/app.spec.ts +35 -1
- package/resources/bundled-skills/app-builder/evals/evals.json +2 -1
- package/resources/bundled-skills/app-builder/references/design-guidelines.md +19 -2
- package/resources/bundled-skills/app-builder/references/rudder-ui-preset.md +73 -0
- package/resources/bundled-skills/app-builder/references/scaffold-contract.md +12 -0
- package/resources/bundled-skills/app-builder/references/verification.md +6 -0
- package/resources/bundled-skills/app-builder/scripts/report-build-status.mjs +83 -0
- package/resources/bundled-skills/browser/SKILL.md +11 -4
- package/resources/bundled-skills/browser/agents/openai.yaml +2 -2
- package/resources/bundled-skills/browser/evals/trigger-evals.json +22 -0
- package/resources/bundled-skills/rudder-docs/SKILL.md +2 -2
- package/resources/bundled-skills/rudder-docs/evals/retrieval-authority-evals.json +40 -0
- package/resources/bundled-skills/rudder-docs/evals/trigger-evals.json +2 -2
- package/resources/bundled-skills/rudder-docs/references/api-reference.md +0 -2
- package/resources/bundled-skills/rudder-docs/references/plugin-authoring.md +38 -114
- package/resources/bundled-skills/rudder-docs/references/source-map.md +2 -0
- package/skills/app-builder/SKILL.md +39 -9
- package/skills/app-builder/assets/scaffold/app/globals.css +109 -16
- package/skills/app-builder/assets/scaffold/components/contacts-workspace.tsx +176 -152
- package/skills/app-builder/assets/scaffold/components/ui/alert.tsx +12 -0
- package/skills/app-builder/assets/scaffold/components/ui/badge.tsx +27 -0
- package/skills/app-builder/assets/scaffold/components/ui/button.tsx +9 -7
- package/skills/app-builder/assets/scaffold/components/ui/card.tsx +15 -3
- package/skills/app-builder/assets/scaffold/components/ui/empty.tsx +18 -0
- package/skills/app-builder/assets/scaffold/components/ui/field.tsx +23 -0
- package/skills/app-builder/assets/scaffold/components/ui/input.tsx +1 -1
- package/skills/app-builder/assets/scaffold/components/ui/label.tsx +1 -1
- package/skills/app-builder/assets/scaffold/components/ui/separator.tsx +6 -0
- package/skills/app-builder/assets/scaffold/components/ui/skeleton.tsx +6 -0
- package/skills/app-builder/assets/scaffold/components/ui/table.tsx +30 -0
- package/skills/app-builder/assets/scaffold/components.json +20 -0
- package/skills/app-builder/assets/scaffold/next-env.d.ts +1 -1
- package/skills/app-builder/assets/scaffold/next.config.ts +19 -0
- package/skills/app-builder/assets/scaffold/package.json +2 -1
- package/skills/app-builder/assets/scaffold/rudder.app.json +1 -1
- package/skills/app-builder/assets/scaffold/rudder.ui.json +13 -0
- package/skills/app-builder/assets/scaffold/scripts/validate-rudder-ui.mjs +50 -0
- package/skills/app-builder/assets/scaffold/tests/e2e/app.spec.ts +35 -1
- package/skills/app-builder/evals/evals.json +2 -1
- package/skills/app-builder/references/design-guidelines.md +19 -2
- package/skills/app-builder/references/rudder-ui-preset.md +73 -0
- package/skills/app-builder/references/scaffold-contract.md +12 -0
- package/skills/app-builder/references/verification.md +6 -0
- package/skills/app-builder/scripts/report-build-status.mjs +83 -0
- package/skills/browser/SKILL.md +11 -4
- package/skills/browser/agents/openai.yaml +2 -2
- package/skills/browser/evals/trigger-evals.json +22 -0
- package/skills/rudder-docs/SKILL.md +2 -2
- package/skills/rudder-docs/evals/retrieval-authority-evals.json +40 -0
- package/skills/rudder-docs/evals/trigger-evals.json +2 -2
- package/skills/rudder-docs/references/api-reference.md +0 -2
- package/skills/rudder-docs/references/plugin-authoring.md +38 -114
- package/skills/rudder-docs/references/source-map.md +2 -0
- package/ui-dist/assets/{LibraryLiveSurface-CcsYG18H.js → LibraryLiveSurface-CoGcDfo0.js} +1 -1
- package/ui-dist/assets/{abnfDiagram-VRR7QNED-C34K70lu.js → abnfDiagram-VRR7QNED-BnPHHNfu.js} +1 -1
- package/ui-dist/assets/{arc-BYztEqom.js → arc-CAvqQQR_.js} +1 -1
- package/ui-dist/assets/{architectureDiagram-ZJ3FMSHR-BQKKX-d7.js → architectureDiagram-ZJ3FMSHR-DDa31YAK.js} +1 -1
- package/ui-dist/assets/{blockDiagram-677ZJIJ3-DPfaIbqb.js → blockDiagram-677ZJIJ3-DDXLU9Ej.js} +1 -1
- package/ui-dist/assets/{c4Diagram-LMCZKHZV-BnwCM567.js → c4Diagram-LMCZKHZV-zEm0rHCp.js} +1 -1
- package/ui-dist/assets/channel-M_3GhwHQ.js +1 -0
- package/ui-dist/assets/{chunk-2Q5K7J3B-CFviCRuZ.js → chunk-2Q5K7J3B-y1Rw45sz.js} +1 -1
- package/ui-dist/assets/{chunk-32BRIVSS-FoIxWB1d.js → chunk-32BRIVSS-Cq8cQBba.js} +1 -1
- package/ui-dist/assets/{chunk-5VM5RSS4-EbAfuwwN.js → chunk-5VM5RSS4-CjQA6jGI.js} +1 -1
- package/ui-dist/assets/{chunk-EX3LRPZG-CsStqjdd.js → chunk-EX3LRPZG-VVYt7jh3.js} +1 -1
- package/ui-dist/assets/{chunk-JWPE2WC7-Dw5KEviU.js → chunk-JWPE2WC7-BJC3ISop.js} +1 -1
- package/ui-dist/assets/{chunk-MOJQB5TN-BlHlEWfj.js → chunk-MOJQB5TN-ClZgTqQk.js} +1 -1
- package/ui-dist/assets/{chunk-RYQCIY6F-BWw7BE01.js → chunk-RYQCIY6F-DRei3pn2.js} +1 -1
- package/ui-dist/assets/{chunk-V7JOEXUC-CxRvHZbj.js → chunk-V7JOEXUC-BGWrQfpZ.js} +1 -1
- package/ui-dist/assets/{chunk-VR4S4FIN-DZa_KwY9.js → chunk-VR4S4FIN-BBYT57Lt.js} +1 -1
- package/ui-dist/assets/{chunk-XXDRQBXY-Cnimf5j2.js → chunk-XXDRQBXY-D7P4SoZB.js} +1 -1
- package/ui-dist/assets/classDiagram-OUVF2IWQ-G44FJFnB.js +1 -0
- package/ui-dist/assets/classDiagram-v2-EOCWNBFH-G44FJFnB.js +1 -0
- package/ui-dist/assets/{cose-bilkent-JH36ORCC-COCPT6B8.js → cose-bilkent-JH36ORCC-mJXY7GQo.js} +1 -1
- package/ui-dist/assets/{cynefin-VYW2F7L2-C5CybQ7c.js → cynefin-VYW2F7L2-C-I_lPmH.js} +1 -1
- package/ui-dist/assets/{cynefinDiagram-TSTJHNR4-BDrPLGpv.js → cynefinDiagram-TSTJHNR4-Bm1S_w7H.js} +1 -1
- package/ui-dist/assets/{dagre-VKFMJZFB-DXxPiE9D.js → dagre-VKFMJZFB-BuPIm1AB.js} +1 -1
- package/ui-dist/assets/{diagram-FQU43EPY-CdC2pj_S.js → diagram-FQU43EPY-DTBCuV0W.js} +1 -1
- package/ui-dist/assets/{diagram-G47NLZAW-sEOwPe0_.js → diagram-G47NLZAW-B4CK8uR2.js} +1 -1
- package/ui-dist/assets/{diagram-NH7WQ7WH-CwoTfWmv.js → diagram-NH7WQ7WH-BkbS0GkL.js} +1 -1
- package/ui-dist/assets/{diagram-OA4YK3LP-Cksc-JQa.js → diagram-OA4YK3LP-C_mkRe0c.js} +1 -1
- package/ui-dist/assets/{diagram-WEI45ONY-1lHRkCse.js → diagram-WEI45ONY-CHUb3TIJ.js} +1 -1
- package/ui-dist/assets/{ebnfDiagram-CCIWWBDH-BJ6dNjJ2.js → ebnfDiagram-CCIWWBDH-D_lN4ZOY.js} +1 -1
- package/ui-dist/assets/{erDiagram-Q63AITRT-DVTmCmE1.js → erDiagram-Q63AITRT-CRnDqcsy.js} +1 -1
- package/ui-dist/assets/{flowDiagram-23GEKE2U-B2A6w103.js → flowDiagram-23GEKE2U-ChELY-8y.js} +1 -1
- package/ui-dist/assets/{ganttDiagram-NO4QXBWP-BoqdQOBD.js → ganttDiagram-NO4QXBWP-QIML25-M.js} +1 -1
- package/ui-dist/assets/{gitGraphDiagram-IHSO6WYX-BPWVpzXj.js → gitGraphDiagram-IHSO6WYX-TB_AKH8l.js} +1 -1
- package/ui-dist/assets/{graph-W8QGT1XQ.js → graph-HKPvyYQ1.js} +1 -1
- package/ui-dist/assets/{index-DTqh4VW9.js → index-Ar0zIwom.js} +1 -1
- package/ui-dist/assets/{index-UkFXcg--.js → index-BeNxgoKd.js} +1 -1
- package/ui-dist/assets/{index-CRe48ije.js → index-CB-UdrKN.js} +1 -1
- package/ui-dist/assets/{index-C8VKPswh.js → index-CfpFS1Tl.js} +573 -588
- package/ui-dist/assets/{index-BYt_CWxk.js → index-CjIeIR2m.js} +1 -1
- package/ui-dist/assets/{index-DFhr5xg9.js → index-DCgbySwf.js} +1 -1
- package/ui-dist/assets/{index-BT3SfQnV.js → index-DDMaBNLI.js} +1 -1
- package/ui-dist/assets/{index-96_7QHQ5.js → index-DSZmO4bA.js} +1 -1
- package/ui-dist/assets/{index-D5okPECv.js → index-DfzFi2fx.js} +1 -1
- package/ui-dist/assets/{index-CG59QbM3.js → index-DmEf_U5I.js} +1 -1
- package/ui-dist/assets/{index-CaNgMg06.js → index-OfGDMJiA.js} +1 -1
- package/ui-dist/assets/{index-CrOrmmHY.js → index-ZzX8P4M5.js} +1 -1
- package/ui-dist/assets/{index-9ogi82-q.js → index-fDtlbG8Y.js} +1 -1
- package/ui-dist/assets/{index-Cjq0R1QI.js → index-gdvFtffQ.js} +1 -1
- package/ui-dist/assets/index-noipz8bE.css +1 -0
- package/ui-dist/assets/{index-CjRwrGKt.js → index-rnOTiIXd.js} +1 -1
- package/ui-dist/assets/{infoDiagram-FWYZ7A6U-CGKM1qd0.js → infoDiagram-FWYZ7A6U-DUR3sDTd.js} +1 -1
- package/ui-dist/assets/{ishikawaDiagram-FXEZZL3T-BMINXmgJ.js → ishikawaDiagram-FXEZZL3T-CcnYT0s0.js} +1 -1
- package/ui-dist/assets/{journeyDiagram-5HDEW3XC-lLpvO5ye.js → journeyDiagram-5HDEW3XC-CqfbG8T1.js} +1 -1
- package/ui-dist/assets/{kanban-definition-HUTT4EX6-B1o_jb4m.js → kanban-definition-HUTT4EX6-CYwQM9eR.js} +1 -1
- package/ui-dist/assets/{layout-CfhTVz4J.js → layout-B2IlJgLE.js} +1 -1
- package/ui-dist/assets/{linear-Cyfw5mer.js → linear-CcEPcfbO.js} +1 -1
- package/ui-dist/assets/{map-BJC9PnTS.js → map-Bmhfvlpu.js} +1 -1
- package/ui-dist/assets/{mermaid.core-FscMPm7s.js → mermaid.core-T9Q0CuQx.js} +4 -4
- package/ui-dist/assets/{mindmap-definition-LN4V7U3C-DRgxKOO8.js → mindmap-definition-LN4V7U3C-CRjQlwN4.js} +1 -1
- package/ui-dist/assets/{pegDiagram-2B236MQR-Dvz4qHu-.js → pegDiagram-2B236MQR-DenccdY8.js} +1 -1
- package/ui-dist/assets/{pieDiagram-ENE6RG2P-Dk2JI7ZR.js → pieDiagram-ENE6RG2P-CPiTrJcY.js} +1 -1
- package/ui-dist/assets/{quadrantDiagram-ABIIQ3AL-rDcmmQtb.js → quadrantDiagram-ABIIQ3AL-fKbvGl_-.js} +1 -1
- package/ui-dist/assets/{railroadDiagram-RFXS5EU6-DuGw7Ver.js → railroadDiagram-RFXS5EU6-D6uOjEmA.js} +1 -1
- package/ui-dist/assets/{requirementDiagram-TGXJPOKE-B9FO6PRO.js → requirementDiagram-TGXJPOKE-CQIQ387O.js} +1 -1
- package/ui-dist/assets/{sankeyDiagram-HTMAVEWB-Dvy9IKWr.js → sankeyDiagram-HTMAVEWB-CKrnONJL.js} +1 -1
- package/ui-dist/assets/{sequenceDiagram-DBY2YBRQ-BMNm3icE.js → sequenceDiagram-DBY2YBRQ-C3vaOiZO.js} +1 -1
- package/ui-dist/assets/{sizeCapture-X5ZJPWSS-D9g2vtWC.js → sizeCapture-X5ZJPWSS-F39EvxY0.js} +1 -1
- package/ui-dist/assets/{stateDiagram-2N3HPSRC-kQ3-sJWr.js → stateDiagram-2N3HPSRC-Bq2sVFQq.js} +1 -1
- package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-B94IPtHC.js +1 -0
- package/ui-dist/assets/{swimlanes-5IMT3BWC-Cx_ksQRH.js → swimlanes-5IMT3BWC-CSrygB7m.js} +2 -2
- package/ui-dist/assets/swimlanesDiagram-G3AALYLV-9WQr2_E9.js +8 -0
- package/ui-dist/assets/{timeline-definition-FHXFAJF6-CyArjIWu.js → timeline-definition-FHXFAJF6-DSMMlntv.js} +1 -1
- package/ui-dist/assets/{vennDiagram-L72KCM5P-Bjdg_skC.js → vennDiagram-L72KCM5P-D5XH96zV.js} +1 -1
- package/ui-dist/assets/{wardleyDiagram-EHGQE667-BLV-S7cE.js → wardleyDiagram-EHGQE667-BXX2RFsU.js} +1 -1
- package/ui-dist/assets/{xychartDiagram-FW5EYKEG-BTtly2sn.js → xychartDiagram-FW5EYKEG-awBW2lwG.js} +1 -1
- package/ui-dist/index.html +2 -2
- package/dist/bootstrap/plugin-host-runtime.d.ts +0 -116
- package/dist/bootstrap/plugin-host-runtime.d.ts.map +0 -1
- package/dist/bootstrap/plugin-host-runtime.js +0 -179
- package/dist/bootstrap/plugin-host-runtime.js.map +0 -1
- package/dist/bundled-plugins/plugin-linear/README.md +0 -22
- package/dist/bundled-plugins/plugin-linear/dist/manifest.js +0 -183
- package/dist/bundled-plugins/plugin-linear/dist/manifest.js.map +0 -7
- package/dist/bundled-plugins/plugin-linear/dist/ui/index.js +0 -1285
- package/dist/bundled-plugins/plugin-linear/dist/ui/index.js.map +0 -7
- package/dist/bundled-plugins/plugin-linear/dist/worker.js +0 -10430
- package/dist/bundled-plugins/plugin-linear/dist/worker.js.map +0 -7
- package/dist/bundled-plugins/plugin-linear/package.json +0 -42
- package/dist/routes/plugin-ui-static.d.ts +0 -70
- package/dist/routes/plugin-ui-static.d.ts.map +0 -1
- package/dist/routes/plugin-ui-static.js +0 -375
- package/dist/routes/plugin-ui-static.js.map +0 -1
- package/dist/routes/plugins.d.ts +0 -120
- package/dist/routes/plugins.d.ts.map +0 -1
- package/dist/routes/plugins.js +0 -1125
- package/dist/routes/plugins.js.map +0 -1
- package/dist/routes/plugins.operations-routes.d.ts +0 -28
- package/dist/routes/plugins.operations-routes.d.ts.map +0 -1
- package/dist/routes/plugins.operations-routes.js +0 -720
- package/dist/routes/plugins.operations-routes.js.map +0 -1
- package/dist/services/issue-goal-fallback.d.ts +0 -15
- package/dist/services/issue-goal-fallback.d.ts.map +0 -1
- package/dist/services/issue-goal-fallback.js +0 -27
- package/dist/services/issue-goal-fallback.js.map +0 -1
- package/dist/services/plugin-capability-validator.d.ts +0 -108
- package/dist/services/plugin-capability-validator.d.ts.map +0 -1
- package/dist/services/plugin-capability-validator.js +0 -268
- package/dist/services/plugin-capability-validator.js.map +0 -1
- package/dist/services/plugin-config-validator.d.ts +0 -26
- package/dist/services/plugin-config-validator.d.ts.map +0 -1
- package/dist/services/plugin-config-validator.js +0 -41
- package/dist/services/plugin-config-validator.js.map +0 -1
- package/dist/services/plugin-dev-watcher.d.ts +0 -47
- package/dist/services/plugin-dev-watcher.d.ts.map +0 -1
- package/dist/services/plugin-dev-watcher.js +0 -275
- package/dist/services/plugin-dev-watcher.js.map +0 -1
- package/dist/services/plugin-event-bus.d.ts +0 -149
- package/dist/services/plugin-event-bus.d.ts.map +0 -1
- package/dist/services/plugin-event-bus.js +0 -258
- package/dist/services/plugin-event-bus.js.map +0 -1
- package/dist/services/plugin-host-service-cleanup.d.ts +0 -14
- package/dist/services/plugin-host-service-cleanup.d.ts.map +0 -1
- package/dist/services/plugin-host-service-cleanup.js +0 -37
- package/dist/services/plugin-host-service-cleanup.js.map +0 -1
- package/dist/services/plugin-host-services.d.ts +0 -13
- package/dist/services/plugin-host-services.d.ts.map +0 -1
- package/dist/services/plugin-host-services.js +0 -935
- package/dist/services/plugin-host-services.js.map +0 -1
- package/dist/services/plugin-job-coordinator.d.ts +0 -81
- package/dist/services/plugin-job-coordinator.d.ts.map +0 -1
- package/dist/services/plugin-job-coordinator.js +0 -172
- package/dist/services/plugin-job-coordinator.js.map +0 -1
- package/dist/services/plugin-job-scheduler.d.ts +0 -163
- package/dist/services/plugin-job-scheduler.d.ts.map +0 -1
- package/dist/services/plugin-job-scheduler.js +0 -452
- package/dist/services/plugin-job-scheduler.js.map +0 -1
- package/dist/services/plugin-job-store.d.ts +0 -208
- package/dist/services/plugin-job-store.d.ts.map +0 -1
- package/dist/services/plugin-job-store.js +0 -350
- package/dist/services/plugin-job-store.js.map +0 -1
- package/dist/services/plugin-lifecycle.d.ts +0 -240
- package/dist/services/plugin-lifecycle.d.ts.map +0 -1
- package/dist/services/plugin-lifecycle.js +0 -439
- package/dist/services/plugin-lifecycle.js.map +0 -1
- package/dist/services/plugin-loader.core.d.ts +0 -40
- package/dist/services/plugin-loader.core.d.ts.map +0 -1
- package/dist/services/plugin-loader.core.js +0 -879
- package/dist/services/plugin-loader.core.js.map +0 -1
- package/dist/services/plugin-loader.d.ts +0 -30
- package/dist/services/plugin-loader.d.ts.map +0 -1
- package/dist/services/plugin-loader.helpers.d.ts +0 -495
- package/dist/services/plugin-loader.helpers.d.ts.map +0 -1
- package/dist/services/plugin-loader.helpers.js +0 -238
- package/dist/services/plugin-loader.helpers.js.map +0 -1
- package/dist/services/plugin-loader.js +0 -30
- package/dist/services/plugin-loader.js.map +0 -1
- package/dist/services/plugin-loader.worker-paths.d.ts +0 -37
- package/dist/services/plugin-loader.worker-paths.d.ts.map +0 -1
- package/dist/services/plugin-loader.worker-paths.js +0 -62
- package/dist/services/plugin-loader.worker-paths.js.map +0 -1
- package/dist/services/plugin-log-retention.d.ts +0 -20
- package/dist/services/plugin-log-retention.d.ts.map +0 -1
- package/dist/services/plugin-log-retention.js +0 -63
- package/dist/services/plugin-log-retention.js.map +0 -1
- package/dist/services/plugin-manifest-validator.d.ts +0 -90
- package/dist/services/plugin-manifest-validator.d.ts.map +0 -1
- package/dist/services/plugin-manifest-validator.js +0 -72
- package/dist/services/plugin-manifest-validator.js.map +0 -1
- package/dist/services/plugin-registry.d.ts +0 -2542
- package/dist/services/plugin-registry.d.ts.map +0 -1
- package/dist/services/plugin-registry.js +0 -536
- package/dist/services/plugin-registry.js.map +0 -1
- package/dist/services/plugin-runtime-sandbox.d.ts +0 -40
- package/dist/services/plugin-runtime-sandbox.d.ts.map +0 -1
- package/dist/services/plugin-runtime-sandbox.js +0 -154
- package/dist/services/plugin-runtime-sandbox.js.map +0 -1
- package/dist/services/plugin-secrets-handler.d.ts +0 -81
- package/dist/services/plugin-secrets-handler.d.ts.map +0 -1
- package/dist/services/plugin-secrets-handler.js +0 -275
- package/dist/services/plugin-secrets-handler.js.map +0 -1
- package/dist/services/plugin-state-store.d.ts +0 -92
- package/dist/services/plugin-state-store.d.ts.map +0 -1
- package/dist/services/plugin-state-store.js +0 -190
- package/dist/services/plugin-state-store.js.map +0 -1
- package/dist/services/plugin-stream-bus.d.ts +0 -29
- package/dist/services/plugin-stream-bus.d.ts.map +0 -1
- package/dist/services/plugin-stream-bus.js +0 -48
- package/dist/services/plugin-stream-bus.js.map +0 -1
- package/dist/services/plugin-tool-dispatcher.d.ts +0 -180
- package/dist/services/plugin-tool-dispatcher.d.ts.map +0 -1
- package/dist/services/plugin-tool-dispatcher.js +0 -224
- package/dist/services/plugin-tool-dispatcher.js.map +0 -1
- package/dist/services/plugin-tool-registry.d.ts +0 -192
- package/dist/services/plugin-tool-registry.d.ts.map +0 -1
- package/dist/services/plugin-tool-registry.js +0 -224
- package/dist/services/plugin-tool-registry.js.map +0 -1
- package/dist/services/plugin-worker-manager.d.ts +0 -260
- package/dist/services/plugin-worker-manager.d.ts.map +0 -1
- package/dist/services/plugin-worker-manager.js +0 -836
- package/dist/services/plugin-worker-manager.js.map +0 -1
- package/ui-dist/assets/channel-Bmzlyjow.js +0 -1
- package/ui-dist/assets/classDiagram-OUVF2IWQ-VR7MKiEz.js +0 -1
- package/ui-dist/assets/classDiagram-v2-EOCWNBFH-VR7MKiEz.js +0 -1
- package/ui-dist/assets/index-CxPYXL3t.css +0 -1
- package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-BYK8scZh.js +0 -1
- package/ui-dist/assets/swimlanesDiagram-G3AALYLV-irU0aSS8.js +0 -8
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { LATEST_PROTOCOL_VERSION, SUPPORTED_PROTOCOL_VERSIONS, } from "@modelcontextprotocol/client";
|
|
2
|
+
import { RUDDER_MCP_CLIENT_CAPABILITIES_META_KEY, RUDDER_MCP_MODERN_PROTOCOL_VERSION, RUDDER_MCP_PROTOCOL_VERSION_META_KEY, RUDDER_MCP_SERVER_INFO_META_KEY, hasConflictingMcpProtocolVersions, hasModernMcpRequestEnvelope, isRudderMcpModernProtocolVersion, modernMcpResult, protocolVersionFromMcpParams, } from "@rudderhq/agent-runtime-utils/rudder-mcp-protocol";
|
|
2
3
|
import { Router } from "express";
|
|
3
4
|
import { HttpError } from "../errors.js";
|
|
4
5
|
import { markHttpRequestBodySensitive } from "../middleware/logger.js";
|
|
@@ -34,6 +35,42 @@ function jsonRpcError(id, code, message, data) {
|
|
|
34
35
|
function safeManagedCode(code) {
|
|
35
36
|
return /^[a-z0-9_]{1,80}$/u.test(code) ? code : "mcp_tool_failed";
|
|
36
37
|
}
|
|
38
|
+
const MODERN_SERVER_INFO = {
|
|
39
|
+
name: "rudder-managed-mcp-proxy",
|
|
40
|
+
version: "1.0.0",
|
|
41
|
+
};
|
|
42
|
+
const MANAGED_MCP_TOOL_PAGE_SIZE = 50;
|
|
43
|
+
function encodeManagedMcpToolCursor(offset) {
|
|
44
|
+
return Buffer.from(JSON.stringify({ offset }), "utf8").toString("base64url");
|
|
45
|
+
}
|
|
46
|
+
function parseManagedMcpToolCursor(cursor) {
|
|
47
|
+
if (cursor === undefined)
|
|
48
|
+
return 0;
|
|
49
|
+
if (typeof cursor !== "string")
|
|
50
|
+
return null;
|
|
51
|
+
try {
|
|
52
|
+
const decoded = JSON.parse(Buffer.from(cursor, "base64url").toString("utf8"));
|
|
53
|
+
return typeof decoded.offset === "number"
|
|
54
|
+
&& Number.isInteger(decoded.offset)
|
|
55
|
+
&& decoded.offset >= 0
|
|
56
|
+
? decoded.offset
|
|
57
|
+
: null;
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function paginateManagedMcpTools(tools, cursor) {
|
|
64
|
+
const offset = parseManagedMcpToolCursor(cursor);
|
|
65
|
+
if (offset === null)
|
|
66
|
+
return null;
|
|
67
|
+
const page = tools.slice(offset, offset + MANAGED_MCP_TOOL_PAGE_SIZE);
|
|
68
|
+
const nextOffset = offset + page.length;
|
|
69
|
+
return {
|
|
70
|
+
tools: page,
|
|
71
|
+
...(nextOffset < tools.length ? { nextCursor: encodeManagedMcpToolCursor(nextOffset) } : {}),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
37
74
|
export function managedMcpRuntimeRoutes(runtime) {
|
|
38
75
|
const router = Router();
|
|
39
76
|
router.use("/mcp/runtime/bindings", (req, _res, next) => {
|
|
@@ -60,7 +97,26 @@ export function managedMcpRuntimeRoutes(runtime) {
|
|
|
60
97
|
}
|
|
61
98
|
const id = ("id" in body ? body.id : null);
|
|
62
99
|
const params = isRecord(body.params) ? body.params : {};
|
|
100
|
+
const parameterProtocolVersion = protocolVersionFromMcpParams(params);
|
|
101
|
+
const headerProtocolVersion = req.get("MCP-Protocol-Version") ?? null;
|
|
102
|
+
const protocolVersion = parameterProtocolVersion ?? headerProtocolVersion;
|
|
103
|
+
const modern = isRudderMcpModernProtocolVersion(protocolVersion);
|
|
63
104
|
try {
|
|
105
|
+
if (hasConflictingMcpProtocolVersions(params)
|
|
106
|
+
|| (parameterProtocolVersion
|
|
107
|
+
&& headerProtocolVersion
|
|
108
|
+
&& parameterProtocolVersion !== headerProtocolVersion)) {
|
|
109
|
+
res.json(jsonRpcError(id, -32602, "Conflicting MCP protocol versions"));
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
if (modern
|
|
113
|
+
&& body.method !== "server/discover"
|
|
114
|
+
&& !hasModernMcpRequestEnvelope(params)) {
|
|
115
|
+
res.json(jsonRpcError(id, -32602, `Invalid _meta envelope for protocol revision ${RUDDER_MCP_MODERN_PROTOCOL_VERSION}`, {
|
|
116
|
+
required: [RUDDER_MCP_PROTOCOL_VERSION_META_KEY, RUDDER_MCP_CLIENT_CAPABILITIES_META_KEY],
|
|
117
|
+
}));
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
64
120
|
if (body.method === "notifications/initialized") {
|
|
65
121
|
await runtime.requireBindingAccess(identity, bindingId);
|
|
66
122
|
res.status(202).end();
|
|
@@ -71,16 +127,25 @@ export function managedMcpRuntimeRoutes(runtime) {
|
|
|
71
127
|
const requestedProtocolVersion = typeof params.protocolVersion === "string"
|
|
72
128
|
? params.protocolVersion
|
|
73
129
|
: null;
|
|
74
|
-
const
|
|
130
|
+
const negotiatedProtocolVersion = requestedProtocolVersion
|
|
75
131
|
&& SUPPORTED_PROTOCOL_VERSIONS.includes(requestedProtocolVersion)
|
|
76
132
|
? requestedProtocolVersion
|
|
77
|
-
:
|
|
78
|
-
|
|
133
|
+
: requestedProtocolVersion
|
|
134
|
+
? null
|
|
135
|
+
: LATEST_PROTOCOL_VERSION;
|
|
136
|
+
if (!negotiatedProtocolVersion) {
|
|
137
|
+
res.json(jsonRpcError(id, -32022, `Unsupported protocol version: ${requestedProtocolVersion}`, {
|
|
138
|
+
supported: SUPPORTED_PROTOCOL_VERSIONS,
|
|
139
|
+
requested: requestedProtocolVersion,
|
|
140
|
+
}));
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
res.set("MCP-Protocol-Version", negotiatedProtocolVersion);
|
|
79
144
|
res.json({
|
|
80
145
|
jsonrpc: "2.0",
|
|
81
146
|
id,
|
|
82
147
|
result: {
|
|
83
|
-
protocolVersion,
|
|
148
|
+
protocolVersion: negotiatedProtocolVersion,
|
|
84
149
|
capabilities: { tools: { listChanged: false } },
|
|
85
150
|
serverInfo: {
|
|
86
151
|
name: "rudder-managed-mcp-proxy",
|
|
@@ -90,16 +155,49 @@ export function managedMcpRuntimeRoutes(runtime) {
|
|
|
90
155
|
});
|
|
91
156
|
return;
|
|
92
157
|
}
|
|
158
|
+
if (body.method === "server/discover") {
|
|
159
|
+
await runtime.requireBindingAccess(identity, bindingId);
|
|
160
|
+
const meta = isRecord(params._meta) ? params._meta : null;
|
|
161
|
+
if (!modern || !isRecord(meta?.[RUDDER_MCP_CLIENT_CAPABILITIES_META_KEY])) {
|
|
162
|
+
res.json(jsonRpcError(id, -32602, `Invalid _meta envelope for protocol revision ${RUDDER_MCP_MODERN_PROTOCOL_VERSION}`, {
|
|
163
|
+
required: [RUDDER_MCP_PROTOCOL_VERSION_META_KEY, RUDDER_MCP_CLIENT_CAPABILITIES_META_KEY],
|
|
164
|
+
}));
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
res.set("MCP-Protocol-Version", RUDDER_MCP_MODERN_PROTOCOL_VERSION);
|
|
168
|
+
res.json({
|
|
169
|
+
jsonrpc: "2.0",
|
|
170
|
+
id,
|
|
171
|
+
result: modernMcpResult({
|
|
172
|
+
supportedVersions: [RUDDER_MCP_MODERN_PROTOCOL_VERSION],
|
|
173
|
+
capabilities: { tools: { listChanged: false } },
|
|
174
|
+
_meta: { [RUDDER_MCP_SERVER_INFO_META_KEY]: MODERN_SERVER_INFO },
|
|
175
|
+
}, { cacheable: true }),
|
|
176
|
+
});
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
93
179
|
if (body.method === "ping") {
|
|
94
180
|
await runtime.requireBindingAccess(identity, bindingId);
|
|
95
|
-
res.json({ jsonrpc: "2.0", id, result: {} });
|
|
181
|
+
res.json({ jsonrpc: "2.0", id, result: modern ? modernMcpResult({}) : {} });
|
|
96
182
|
return;
|
|
97
183
|
}
|
|
98
184
|
if (body.method === "tools/list") {
|
|
185
|
+
const tools = await runtime.listTools(identity, bindingId);
|
|
186
|
+
const page = modern ? paginateManagedMcpTools(tools, params.cursor) : { tools };
|
|
187
|
+
if (!page) {
|
|
188
|
+
res.json(jsonRpcError(id, -32602, "Invalid tools/list cursor"));
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
99
191
|
res.json({
|
|
100
192
|
jsonrpc: "2.0",
|
|
101
193
|
id,
|
|
102
|
-
result:
|
|
194
|
+
result: modern
|
|
195
|
+
? modernMcpResult(page, {
|
|
196
|
+
cacheable: true,
|
|
197
|
+
cacheScope: "private",
|
|
198
|
+
serverInfo: MODERN_SERVER_INFO,
|
|
199
|
+
})
|
|
200
|
+
: page,
|
|
103
201
|
});
|
|
104
202
|
return;
|
|
105
203
|
}
|
|
@@ -111,7 +209,11 @@ export function managedMcpRuntimeRoutes(runtime) {
|
|
|
111
209
|
return;
|
|
112
210
|
}
|
|
113
211
|
const result = await runtime.callTool(identity, bindingId, params.name, (params.arguments ?? {}));
|
|
114
|
-
res.json({
|
|
212
|
+
res.json({
|
|
213
|
+
jsonrpc: "2.0",
|
|
214
|
+
id,
|
|
215
|
+
result: modern ? modernMcpResult(result, { serverInfo: MODERN_SERVER_INFO }) : result,
|
|
216
|
+
});
|
|
115
217
|
return;
|
|
116
218
|
}
|
|
117
219
|
if (!("id" in body)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managed-mcp-runtime.js","sourceRoot":"","sources":["../../src/routes/managed-mcp-runtime.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"managed-mcp-runtime.js","sourceRoot":"","sources":["../../src/routes/managed-mcp-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,36 @@
|
|
|
1
1
|
import type { Db } from "@rudderhq/db";
|
|
2
|
+
export type ProductAnalyticsCreationRollup = {
|
|
3
|
+
day: string;
|
|
4
|
+
installationId: string;
|
|
5
|
+
eventName: string;
|
|
6
|
+
origin: string;
|
|
7
|
+
eventCount: number;
|
|
8
|
+
};
|
|
9
|
+
type DailyCreationValue = {
|
|
10
|
+
count: number | null;
|
|
11
|
+
status: "available" | "threshold_blocked" | "not_observed";
|
|
12
|
+
};
|
|
13
|
+
declare const CREATION_EVENT_FIELDS: {
|
|
14
|
+
readonly issue_created: "issuesCreated";
|
|
15
|
+
readonly chat_created: "chatsCreated";
|
|
16
|
+
};
|
|
17
|
+
type CreationEventName = keyof typeof CREATION_EVENT_FIELDS;
|
|
18
|
+
/** Build a complete UTC-day series without exposing installation identifiers. */
|
|
19
|
+
export declare function buildProductAnalyticsCreationSeries(rows: readonly ProductAnalyticsCreationRollup[], range: {
|
|
20
|
+
from: Date;
|
|
21
|
+
to: Date;
|
|
22
|
+
}, privacyThreshold: number, observedFromByEvent?: Partial<Record<CreationEventName, string>>): {
|
|
23
|
+
privacyThreshold: number;
|
|
24
|
+
days: {
|
|
25
|
+
day: string;
|
|
26
|
+
issuesCreated: DailyCreationValue;
|
|
27
|
+
chatsCreated: DailyCreationValue;
|
|
28
|
+
}[];
|
|
29
|
+
};
|
|
2
30
|
/** Read-only, aggregate-only central reporting surface. It never returns IDs or raw properties. */
|
|
3
31
|
export declare function productAnalyticsCollectorReportRoutes(db: Db, options: {
|
|
4
32
|
reportSecret: string | null;
|
|
5
33
|
privacyThreshold?: number;
|
|
6
34
|
}): import("express-serve-static-core").Router;
|
|
35
|
+
export {};
|
|
7
36
|
//# sourceMappingURL=product-analytics-collector-report.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-analytics-collector-report.d.ts","sourceRoot":"","sources":["../../src/routes/product-analytics-collector-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAgCvC,mGAAmG;AACnG,wBAAgB,qCAAqC,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE;IAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"product-analytics-collector-report.d.ts","sourceRoot":"","sources":["../../src/routes/product-analytics-collector-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAgCvC,MAAM,MAAM,8BAA8B,GAAG;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,WAAW,GAAG,mBAAmB,GAAG,cAAc,CAAC;CAC5D,CAAC;AAEF,QAAA,MAAM,qBAAqB;;;CAGjB,CAAC;AAEX,KAAK,iBAAiB,GAAG,MAAM,OAAO,qBAAqB,CAAC;AAE5D,iFAAiF;AACjF,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,SAAS,8BAA8B,EAAE,EAC/C,KAAK,EAAE;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,IAAI,CAAA;CAAE,EAC/B,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,GAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAM;;;;;;;EAwCrE;AAED,mGAAmG;AACnG,wBAAgB,qCAAqC,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE;IAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,8CAsJhI"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { privateProductAnalyticsCollectorDailyRollups, privateProductAnalyticsCollectorPrivacyAggregates, privateProductAnalyticsCollectorQualityCounters, } from "@rudderhq/db";
|
|
2
|
-
import { and, gte, lte, sql } from "drizzle-orm";
|
|
2
|
+
import { and, gte, inArray, lte, sql } from "drizzle-orm";
|
|
3
3
|
import { Router } from "express";
|
|
4
4
|
import { timingSafeEqual } from "node:crypto";
|
|
5
5
|
function authorized(value, expected) {
|
|
@@ -25,6 +25,50 @@ function window(req) {
|
|
|
25
25
|
throw new Error("invalid_window");
|
|
26
26
|
return { from, to };
|
|
27
27
|
}
|
|
28
|
+
const CREATION_EVENT_FIELDS = {
|
|
29
|
+
issue_created: "issuesCreated",
|
|
30
|
+
chat_created: "chatsCreated",
|
|
31
|
+
};
|
|
32
|
+
/** Build a complete UTC-day series without exposing installation identifiers. */
|
|
33
|
+
export function buildProductAnalyticsCreationSeries(rows, range, privacyThreshold, observedFromByEvent = {}) {
|
|
34
|
+
const creationRows = rows.filter((row) => row.eventName in CREATION_EVENT_FIELDS);
|
|
35
|
+
const firstObserved = new Map(Object.entries(observedFromByEvent));
|
|
36
|
+
const groups = new Map();
|
|
37
|
+
for (const row of creationRows) {
|
|
38
|
+
const day = String(row.day).slice(0, 10);
|
|
39
|
+
const first = firstObserved.get(row.eventName);
|
|
40
|
+
if (!first || day < first)
|
|
41
|
+
firstObserved.set(row.eventName, day);
|
|
42
|
+
if (row.origin !== "human")
|
|
43
|
+
continue;
|
|
44
|
+
const key = `${day}\u0000${row.eventName}`;
|
|
45
|
+
const group = groups.get(key) ?? { count: 0, installations: new Set() };
|
|
46
|
+
group.count += Number(row.eventCount);
|
|
47
|
+
group.installations.add(row.installationId);
|
|
48
|
+
groups.set(key, group);
|
|
49
|
+
}
|
|
50
|
+
const valueFor = (day, eventName) => {
|
|
51
|
+
const observedFrom = firstObserved.get(eventName);
|
|
52
|
+
if (!observedFrom || day < observedFrom)
|
|
53
|
+
return { count: null, status: "not_observed" };
|
|
54
|
+
const group = groups.get(`${day}\u0000${eventName}`);
|
|
55
|
+
if (!group)
|
|
56
|
+
return { count: 0, status: "available" };
|
|
57
|
+
if (group.installations.size < privacyThreshold)
|
|
58
|
+
return { count: null, status: "threshold_blocked" };
|
|
59
|
+
return { count: group.count, status: "available" };
|
|
60
|
+
};
|
|
61
|
+
const days = [];
|
|
62
|
+
for (let cursor = new Date(Date.UTC(range.from.getUTCFullYear(), range.from.getUTCMonth(), range.from.getUTCDate())); cursor <= range.to; cursor = new Date(cursor.getTime() + 24 * 60 * 60 * 1000)) {
|
|
63
|
+
const day = cursor.toISOString().slice(0, 10);
|
|
64
|
+
days.push({
|
|
65
|
+
day,
|
|
66
|
+
issuesCreated: valueFor(day, "issue_created"),
|
|
67
|
+
chatsCreated: valueFor(day, "chat_created"),
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
return { privacyThreshold, days };
|
|
71
|
+
}
|
|
28
72
|
/** Read-only, aggregate-only central reporting surface. It never returns IDs or raw properties. */
|
|
29
73
|
export function productAnalyticsCollectorReportRoutes(db, options) {
|
|
30
74
|
const router = Router();
|
|
@@ -57,6 +101,10 @@ export function productAnalyticsCollectorReportRoutes(db, options) {
|
|
|
57
101
|
firstOccurredAt: privateProductAnalyticsCollectorDailyRollups.firstOccurredAt,
|
|
58
102
|
lastOccurredAt: privateProductAnalyticsCollectorDailyRollups.lastOccurredAt,
|
|
59
103
|
}).from(privateProductAnalyticsCollectorDailyRollups).where(and(gte(privateProductAnalyticsCollectorDailyRollups.day, range.from.toISOString().slice(0, 10)), lte(privateProductAnalyticsCollectorDailyRollups.day, retentionEventTo.toISOString().slice(0, 10))));
|
|
104
|
+
const creationObservationRows = await db.select({
|
|
105
|
+
eventName: privateProductAnalyticsCollectorDailyRollups.eventName,
|
|
106
|
+
firstObservedDay: sql `min(${privateProductAnalyticsCollectorDailyRollups.day})::text`,
|
|
107
|
+
}).from(privateProductAnalyticsCollectorDailyRollups).where(and(inArray(privateProductAnalyticsCollectorDailyRollups.eventName, Object.keys(CREATION_EVENT_FIELDS)), sql `${privateProductAnalyticsCollectorDailyRollups.dimensions}->>'environment' = 'production'`)).groupBy(privateProductAnalyticsCollectorDailyRollups.eventName);
|
|
60
108
|
const production = rollupRows.filter((event) => event.dimensions?.environment === "production");
|
|
61
109
|
const reportProduction = production.filter((event) => new Date(event.firstOccurredAt) <= range.to);
|
|
62
110
|
const retentionProduction = production.filter((event) => new Date(event.lastOccurredAt) <= retentionEventTo);
|
|
@@ -84,6 +132,13 @@ export function productAnalyticsCollectorReportRoutes(db, options) {
|
|
|
84
132
|
const loops = aggregateRows
|
|
85
133
|
.filter((row) => row.metricName === "weekly_completed_work_loops")
|
|
86
134
|
.reduce((sum, row) => sum + Number(row.metricValue), 0);
|
|
135
|
+
const dailyCreation = buildProductAnalyticsCreationSeries(reportProduction.map((row) => ({
|
|
136
|
+
day: String(row.day),
|
|
137
|
+
installationId: row.installationId,
|
|
138
|
+
eventName: row.eventName,
|
|
139
|
+
origin: row.origin,
|
|
140
|
+
eventCount: Number(row.eventCount),
|
|
141
|
+
})), range, privacyThreshold, Object.fromEntries(creationObservationRows.map((row) => [row.eventName, row.firstObservedDay])));
|
|
87
142
|
const firstSeenByInstallation = new Map();
|
|
88
143
|
for (const event of retentionProduction) {
|
|
89
144
|
const firstSeen = firstSeenByInstallation.get(event.installationId);
|
|
@@ -146,6 +201,7 @@ export function productAnalyticsCollectorReportRoutes(db, options) {
|
|
|
146
201
|
accountLinkedEventCount: reportProduction.filter((event) => event.dimensions?.analytics_mode === "account_linked").reduce((sum, event) => sum + Number(event.eventCount), 0),
|
|
147
202
|
anonymousEventCount: reportProduction.filter((event) => event.dimensions?.analytics_mode !== "account_linked").reduce((sum, event) => sum + Number(event.eventCount), 0),
|
|
148
203
|
},
|
|
204
|
+
dailyCreation,
|
|
149
205
|
retention: [...cohorts.entries()].sort(([left], [right]) => left.localeCompare(right)).map(([cohortDay, row]) => {
|
|
150
206
|
const suppressed = row.eligibleInstallations < privacyThreshold;
|
|
151
207
|
return suppressed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-analytics-collector-report.js","sourceRoot":"","sources":["../../src/routes/product-analytics-collector-report.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"product-analytics-collector-report.js","sourceRoot":"","sources":["../../src/routes/product-analytics-collector-report.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-analytics-collector-report.test.d.ts","sourceRoot":"","sources":["../../src/routes/product-analytics-collector-report.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { buildProductAnalyticsCreationSeries } from "./product-analytics-collector-report.js";
|
|
3
|
+
const range = {
|
|
4
|
+
from: new Date("2026-08-01T00:00:00.000Z"),
|
|
5
|
+
to: new Date("2026-08-04T23:59:59.999Z"),
|
|
6
|
+
};
|
|
7
|
+
describe("product analytics creation report", () => {
|
|
8
|
+
it("uses the global observation date so leading zero days remain in the sample", () => {
|
|
9
|
+
const report = buildProductAnalyticsCreationSeries([
|
|
10
|
+
{ day: "2026-08-02", installationId: "install-a", eventName: "issue_created", origin: "human", eventCount: 2 },
|
|
11
|
+
{ day: "2026-08-02", installationId: "install-b", eventName: "issue_created", origin: "human", eventCount: 3 },
|
|
12
|
+
{ day: "2026-08-03", installationId: "install-a", eventName: "issue_created", origin: "automation", eventCount: 50 },
|
|
13
|
+
], range, 2, { issue_created: "2026-07-30" });
|
|
14
|
+
expect(report.days).toEqual([
|
|
15
|
+
{
|
|
16
|
+
day: "2026-08-01",
|
|
17
|
+
issuesCreated: { count: 0, status: "available" },
|
|
18
|
+
chatsCreated: { count: null, status: "not_observed" },
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
day: "2026-08-02",
|
|
22
|
+
issuesCreated: { count: 5, status: "available" },
|
|
23
|
+
chatsCreated: { count: null, status: "not_observed" },
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
day: "2026-08-03",
|
|
27
|
+
issuesCreated: { count: 0, status: "available" },
|
|
28
|
+
chatsCreated: { count: null, status: "not_observed" },
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
day: "2026-08-04",
|
|
32
|
+
issuesCreated: { count: 0, status: "available" },
|
|
33
|
+
chatsCreated: { count: null, status: "not_observed" },
|
|
34
|
+
},
|
|
35
|
+
]);
|
|
36
|
+
});
|
|
37
|
+
it("keeps below-threshold days null and never includes automation creation", () => {
|
|
38
|
+
const report = buildProductAnalyticsCreationSeries([
|
|
39
|
+
{ day: "2026-08-01", installationId: "install-a", eventName: "chat_created", origin: "human", eventCount: 7 },
|
|
40
|
+
{ day: "2026-08-01", installationId: "install-b", eventName: "chat_created", origin: "automation", eventCount: 30 },
|
|
41
|
+
{ day: "2026-08-02", installationId: "install-a", eventName: "chat_created", origin: "human", eventCount: 2 },
|
|
42
|
+
{ day: "2026-08-02", installationId: "install-b", eventName: "chat_created", origin: "human", eventCount: 4 },
|
|
43
|
+
], range, 2);
|
|
44
|
+
expect(report.days[0]?.chatsCreated).toEqual({ count: null, status: "threshold_blocked" });
|
|
45
|
+
expect(report.days[1]?.chatsCreated).toEqual({ count: 6, status: "available" });
|
|
46
|
+
expect(JSON.stringify(report)).not.toContain("install-a");
|
|
47
|
+
expect(JSON.stringify(report)).not.toContain("automation");
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
//# sourceMappingURL=product-analytics-collector-report.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-analytics-collector-report.test.js","sourceRoot":"","sources":["../../src/routes/product-analytics-collector-report.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Db } from "@rudderhq/db";
|
|
2
|
+
import type { ManagedMcpConnectionServiceOptions } from "../services/mcp/managed-connections.js";
|
|
3
|
+
export declare function rudderPluginRoutes(db: Db, mcpOptions: ManagedMcpConnectionServiceOptions): import("express-serve-static-core").Router;
|
|
4
|
+
//# sourceMappingURL=rudder-plugins.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rudder-plugins.d.ts","sourceRoot":"","sources":["../../src/routes/rudder-plugins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAevC,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,wCAAwC,CAAC;AAIjG,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,kCAAkC,8CA8QxF"}
|