@rudderhq/server 0.5.2-canary.2 → 0.6.0
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/bootstrap/register-api-routes.d.ts.map +1 -1
- package/dist/bootstrap/register-api-routes.js +15 -0
- package/dist/bootstrap/register-api-routes.js.map +1 -1
- package/dist/bootstrap/types.d.ts +11 -0
- package/dist/bootstrap/types.d.ts.map +1 -1
- package/dist/bundled-plugins/plugin-linear/dist/worker.js +741 -7
- package/dist/bundled-plugins/plugin-linear/dist/worker.js.map +3 -3
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +3 -0
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -1
- package/dist/index.js.map +1 -1
- package/dist/local-runtime.d.ts +7 -0
- package/dist/local-runtime.d.ts.map +1 -1
- package/dist/local-runtime.js +15 -1
- package/dist/local-runtime.js.map +1 -1
- package/dist/middleware/auth.js +2 -2
- package/dist/middleware/auth.js.map +1 -1
- package/dist/middleware/error-handler.d.ts.map +1 -1
- package/dist/middleware/error-handler.js +3 -2
- package/dist/middleware/error-handler.js.map +1 -1
- package/dist/middleware/logger.d.ts +4 -0
- package/dist/middleware/logger.d.ts.map +1 -1
- package/dist/middleware/logger.js +82 -7
- package/dist/middleware/logger.js.map +1 -1
- package/dist/middleware/logger.test.js +94 -1
- package/dist/middleware/logger.test.js.map +1 -1
- package/dist/routes/chats.annotation-routes.d.ts +47 -0
- package/dist/routes/chats.annotation-routes.d.ts.map +1 -0
- package/dist/routes/chats.annotation-routes.js +164 -0
- package/dist/routes/chats.annotation-routes.js.map +1 -0
- package/dist/routes/chats.d.ts.map +1 -1
- package/dist/routes/chats.js +467 -165
- package/dist/routes/chats.js.map +1 -1
- package/dist/routes/chats.stream-routes.d.ts +1 -10
- package/dist/routes/chats.stream-routes.d.ts.map +1 -1
- package/dist/routes/chats.stream-routes.js +168 -110
- package/dist/routes/chats.stream-routes.js.map +1 -1
- package/dist/routes/chats.stream-support.d.ts +79 -0
- package/dist/routes/chats.stream-support.d.ts.map +1 -0
- package/dist/routes/chats.stream-support.js +121 -0
- package/dist/routes/chats.stream-support.js.map +1 -0
- package/dist/routes/issues.comments-attachments.d.ts.map +1 -1
- package/dist/routes/issues.comments-attachments.js +16 -2
- package/dist/routes/issues.comments-attachments.js.map +1 -1
- package/dist/routes/issues.d.ts.map +1 -1
- package/dist/routes/issues.js +21 -4
- package/dist/routes/issues.js.map +1 -1
- package/dist/routes/issues.mutations.d.ts.map +1 -1
- package/dist/routes/issues.mutations.js +20 -33
- package/dist/routes/issues.mutations.js.map +1 -1
- package/dist/routes/managed-mcp-agent-bindings.d.ts +15 -0
- package/dist/routes/managed-mcp-agent-bindings.d.ts.map +1 -0
- package/dist/routes/managed-mcp-agent-bindings.js +66 -0
- package/dist/routes/managed-mcp-agent-bindings.js.map +1 -0
- package/dist/routes/managed-mcp-connections.d.ts +8 -0
- package/dist/routes/managed-mcp-connections.d.ts.map +1 -0
- package/dist/routes/managed-mcp-connections.js +189 -0
- package/dist/routes/managed-mcp-connections.js.map +1 -0
- package/dist/routes/managed-mcp-runtime.d.ts +5 -0
- package/dist/routes/managed-mcp-runtime.d.ts.map +1 -0
- package/dist/routes/managed-mcp-runtime.js +148 -0
- package/dist/routes/managed-mcp-runtime.js.map +1 -0
- package/dist/routes/messenger.d.ts.map +1 -1
- package/dist/routes/messenger.js +1 -1
- package/dist/routes/messenger.js.map +1 -1
- package/dist/services/access.d.ts.map +1 -1
- package/dist/services/access.js +91 -12
- package/dist/services/access.js.map +1 -1
- package/dist/services/agent-run-context.d.ts +1 -0
- package/dist/services/agent-run-context.d.ts.map +1 -1
- package/dist/services/agent-run-context.js +5 -1
- package/dist/services/agent-run-context.js.map +1 -1
- package/dist/services/board-auth.d.ts +2 -2
- package/dist/services/chat-annotation-copy-lineage.d.ts +32 -0
- package/dist/services/chat-annotation-copy-lineage.d.ts.map +1 -0
- package/dist/services/chat-annotation-copy-lineage.js +110 -0
- package/dist/services/chat-annotation-copy-lineage.js.map +1 -0
- package/dist/services/chat-assistant.annotations.d.ts +16 -0
- package/dist/services/chat-assistant.annotations.d.ts.map +1 -0
- package/dist/services/chat-assistant.annotations.js +108 -0
- package/dist/services/chat-assistant.annotations.js.map +1 -0
- package/dist/services/chat-assistant.annotations.test.d.ts +2 -0
- package/dist/services/chat-assistant.annotations.test.d.ts.map +1 -0
- package/dist/services/chat-assistant.annotations.test.js +257 -0
- package/dist/services/chat-assistant.annotations.test.js.map +1 -0
- package/dist/services/chat-assistant.d.ts.map +1 -1
- package/dist/services/chat-assistant.helpers.d.ts +2 -3
- package/dist/services/chat-assistant.helpers.d.ts.map +1 -1
- package/dist/services/chat-assistant.helpers.js +37 -53
- package/dist/services/chat-assistant.helpers.js.map +1 -1
- package/dist/services/chat-assistant.js +61 -5
- package/dist/services/chat-assistant.js.map +1 -1
- package/dist/services/chat-generation-protocol.d.ts +8 -15
- package/dist/services/chat-generation-protocol.d.ts.map +1 -1
- package/dist/services/chat-generation-protocol.js +19 -59
- package/dist/services/chat-generation-protocol.js.map +1 -1
- package/dist/services/chat-generation-protocol.test.js +168 -6
- package/dist/services/chat-generation-protocol.test.js.map +1 -1
- package/dist/services/chat-generation-provenance.d.ts +14 -0
- package/dist/services/chat-generation-provenance.d.ts.map +1 -0
- package/dist/services/chat-generation-provenance.js +71 -0
- package/dist/services/chat-generation-provenance.js.map +1 -0
- package/dist/services/chat-inline-annotation-rendering.d.ts +2 -0
- package/dist/services/chat-inline-annotation-rendering.d.ts.map +1 -0
- package/dist/services/chat-inline-annotation-rendering.js +265 -0
- package/dist/services/chat-inline-annotation-rendering.js.map +1 -0
- package/dist/services/chat-inline-annotation-resolved-labels.d.ts +11 -0
- package/dist/services/chat-inline-annotation-resolved-labels.d.ts.map +1 -0
- package/dist/services/chat-inline-annotation-resolved-labels.js +490 -0
- package/dist/services/chat-inline-annotation-resolved-labels.js.map +1 -0
- package/dist/services/chat-inline-annotation-validation.d.ts +15 -0
- package/dist/services/chat-inline-annotation-validation.d.ts.map +1 -0
- package/dist/services/chat-inline-annotation-validation.js +430 -0
- package/dist/services/chat-inline-annotation-validation.js.map +1 -0
- package/dist/services/chat-inline-annotations.d.ts +18 -0
- package/dist/services/chat-inline-annotations.d.ts.map +1 -0
- package/dist/services/chat-inline-annotations.js +52 -0
- package/dist/services/chat-inline-annotations.js.map +1 -0
- package/dist/services/chat-inline-annotations.test.d.ts +2 -0
- package/dist/services/chat-inline-annotations.test.d.ts.map +1 -0
- package/dist/services/chat-inline-annotations.test.js +1306 -0
- package/dist/services/chat-inline-annotations.test.js.map +1 -0
- package/dist/services/chat-queued-message-materialization.d.ts +126 -0
- package/dist/services/chat-queued-message-materialization.d.ts.map +1 -0
- package/dist/services/chat-queued-message-materialization.js +327 -0
- package/dist/services/chat-queued-message-materialization.js.map +1 -0
- package/dist/services/chat-steer-messages.d.ts +3 -3
- package/dist/services/chat-steer-messages.d.ts.map +1 -1
- package/dist/services/chat-steer-messages.js +50 -80
- package/dist/services/chat-steer-messages.js.map +1 -1
- package/dist/services/chat-work-manifest.d.ts.map +1 -1
- package/dist/services/chat-work-manifest.js +5 -1
- package/dist/services/chat-work-manifest.js.map +1 -1
- package/dist/services/chats.annotation-persistence.d.ts +20 -0
- package/dist/services/chats.annotation-persistence.d.ts.map +1 -0
- package/dist/services/chats.annotation-persistence.js +206 -0
- package/dist/services/chats.annotation-persistence.js.map +1 -0
- package/dist/services/chats.d.ts +129 -96
- package/dist/services/chats.d.ts.map +1 -1
- package/dist/services/chats.helpers.d.ts +2 -2
- package/dist/services/chats.inline-visual-persistence.d.ts +3 -3
- package/dist/services/chats.inline-visual-persistence.d.ts.map +1 -1
- package/dist/services/chats.inline-visual-persistence.js +114 -54
- package/dist/services/chats.inline-visual-persistence.js.map +1 -1
- package/dist/services/chats.js +743 -252
- package/dist/services/chats.js.map +1 -1
- package/dist/services/finance.d.ts +1 -1
- package/dist/services/index.d.ts +8 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +8 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/integrations/agent-integrations.d.ts +2 -2
- package/dist/services/integrations/custom-integrations.d.ts +3 -1
- package/dist/services/integrations/custom-integrations.d.ts.map +1 -1
- package/dist/services/integrations/custom-integrations.js +13 -2
- package/dist/services/integrations/custom-integrations.js.map +1 -1
- package/dist/services/issues.comments-attachments.d.ts +7 -1
- package/dist/services/issues.comments-attachments.d.ts.map +1 -1
- package/dist/services/issues.comments-attachments.js +13 -1
- package/dist/services/issues.comments-attachments.js.map +1 -1
- package/dist/services/issues.d.ts +6 -0
- package/dist/services/issues.d.ts.map +1 -1
- package/dist/services/issues.js +22 -3
- package/dist/services/issues.js.map +1 -1
- package/dist/services/knowledge-portability/organization-portability.core.d.ts +4 -1
- package/dist/services/knowledge-portability/organization-portability.core.d.ts.map +1 -1
- package/dist/services/knowledge-portability/organization-portability.core.js +17 -3
- package/dist/services/knowledge-portability/organization-portability.core.js.map +1 -1
- package/dist/services/knowledge-portability/organization-portability.export.d.ts.map +1 -1
- package/dist/services/knowledge-portability/organization-portability.export.js +2 -2
- package/dist/services/knowledge-portability/organization-portability.export.js.map +1 -1
- package/dist/services/knowledge-portability/organization-portability.import.d.ts.map +1 -1
- package/dist/services/knowledge-portability/organization-portability.import.js +13 -3
- package/dist/services/knowledge-portability/organization-portability.import.js.map +1 -1
- package/dist/services/knowledge-portability/organization-skills.catalog.d.ts +3 -0
- package/dist/services/knowledge-portability/organization-skills.catalog.d.ts.map +1 -1
- package/dist/services/knowledge-portability/organization-skills.catalog.js +54 -23
- package/dist/services/knowledge-portability/organization-skills.catalog.js.map +1 -1
- package/dist/services/knowledge-portability/organization-skills.d.ts.map +1 -1
- package/dist/services/knowledge-portability/organization-skills.js +627 -124
- package/dist/services/knowledge-portability/organization-skills.js.map +1 -1
- package/dist/services/knowledge-portability/organization-skills.sources.d.ts +1 -0
- package/dist/services/knowledge-portability/organization-skills.sources.d.ts.map +1 -1
- package/dist/services/knowledge-portability/organization-skills.sources.js +53 -10
- package/dist/services/knowledge-portability/organization-skills.sources.js.map +1 -1
- package/dist/services/mcp/authorizer-lock.d.ts +9 -0
- package/dist/services/mcp/authorizer-lock.d.ts.map +1 -0
- package/dist/services/mcp/authorizer-lock.js +15 -0
- package/dist/services/mcp/authorizer-lock.js.map +1 -0
- package/dist/services/mcp/managed-bindings.d.ts +17 -0
- package/dist/services/mcp/managed-bindings.d.ts.map +1 -0
- package/dist/services/mcp/managed-bindings.js +332 -0
- package/dist/services/mcp/managed-bindings.js.map +1 -0
- package/dist/services/mcp/managed-client.d.ts +64 -0
- package/dist/services/mcp/managed-client.d.ts.map +1 -0
- package/dist/services/mcp/managed-client.js +238 -0
- package/dist/services/mcp/managed-client.js.map +1 -0
- package/dist/services/mcp/managed-client.test.d.ts +2 -0
- package/dist/services/mcp/managed-client.test.d.ts.map +1 -0
- package/dist/services/mcp/managed-client.test.js +398 -0
- package/dist/services/mcp/managed-client.test.js.map +1 -0
- package/dist/services/mcp/managed-connections.d.ts +81 -0
- package/dist/services/mcp/managed-connections.d.ts.map +1 -0
- package/dist/services/mcp/managed-connections.js +920 -0
- package/dist/services/mcp/managed-connections.js.map +1 -0
- package/dist/services/mcp/managed-runtime.d.ts +134 -0
- package/dist/services/mcp/managed-runtime.d.ts.map +1 -0
- package/dist/services/mcp/managed-runtime.js +282 -0
- package/dist/services/mcp/managed-runtime.js.map +1 -0
- package/dist/services/mcp/oauth-provider.d.ts +48 -0
- package/dist/services/mcp/oauth-provider.d.ts.map +1 -0
- package/dist/services/mcp/oauth-provider.js +120 -0
- package/dist/services/mcp/oauth-provider.js.map +1 -0
- package/dist/services/mcp/oauth-scope.test.d.ts +2 -0
- package/dist/services/mcp/oauth-scope.test.d.ts.map +1 -0
- package/dist/services/mcp/oauth-scope.test.js +69 -0
- package/dist/services/mcp/oauth-scope.test.js.map +1 -0
- package/dist/services/mcp/oauth-session-gc.d.ts +14 -0
- package/dist/services/mcp/oauth-session-gc.d.ts.map +1 -0
- package/dist/services/mcp/oauth-session-gc.js +34 -0
- package/dist/services/mcp/oauth-session-gc.js.map +1 -0
- package/dist/services/mcp/oauth-session-gc.test.d.ts +2 -0
- package/dist/services/mcp/oauth-session-gc.test.d.ts.map +1 -0
- package/dist/services/mcp/oauth-session-gc.test.js +66 -0
- package/dist/services/mcp/oauth-session-gc.test.js.map +1 -0
- package/dist/services/mcp/oauth.d.ts +61 -0
- package/dist/services/mcp/oauth.d.ts.map +1 -0
- package/dist/services/mcp/oauth.js +1690 -0
- package/dist/services/mcp/oauth.js.map +1 -0
- package/dist/services/mcp/pinned-fetch.d.ts +15 -0
- package/dist/services/mcp/pinned-fetch.d.ts.map +1 -0
- package/dist/services/mcp/pinned-fetch.js +400 -0
- package/dist/services/mcp/pinned-fetch.js.map +1 -0
- package/dist/services/mcp/pinned-fetch.test.d.ts +2 -0
- package/dist/services/mcp/pinned-fetch.test.d.ts.map +1 -0
- package/dist/services/mcp/pinned-fetch.test.js +190 -0
- package/dist/services/mcp/pinned-fetch.test.js.map +1 -0
- package/dist/services/mcp/provider-registry.d.ts +77 -0
- package/dist/services/mcp/provider-registry.d.ts.map +1 -0
- package/dist/services/mcp/provider-registry.js +80 -0
- package/dist/services/mcp/provider-registry.js.map +1 -0
- package/dist/services/mcp/provider-registry.test.d.ts +2 -0
- package/dist/services/mcp/provider-registry.test.d.ts.map +1 -0
- package/dist/services/mcp/provider-registry.test.js +80 -0
- package/dist/services/mcp/provider-registry.test.js.map +1 -0
- package/dist/services/mcp/security-policy.d.ts +48 -0
- package/dist/services/mcp/security-policy.d.ts.map +1 -0
- package/dist/services/mcp/security-policy.js +344 -0
- package/dist/services/mcp/security-policy.js.map +1 -0
- package/dist/services/mcp/security-policy.test.d.ts +2 -0
- package/dist/services/mcp/security-policy.test.d.ts.map +1 -0
- package/dist/services/mcp/security-policy.test.js +226 -0
- package/dist/services/mcp/security-policy.test.js.map +1 -0
- package/dist/services/mcp/tool-discovery.d.ts +49 -0
- package/dist/services/mcp/tool-discovery.d.ts.map +1 -0
- package/dist/services/mcp/tool-discovery.js +198 -0
- package/dist/services/mcp/tool-discovery.js.map +1 -0
- package/dist/services/mcp/tool-discovery.test.d.ts +2 -0
- package/dist/services/mcp/tool-discovery.test.d.ts.map +1 -0
- package/dist/services/mcp/tool-discovery.test.js +168 -0
- package/dist/services/mcp/tool-discovery.test.js.map +1 -0
- package/dist/services/messenger.d.ts +1 -1
- package/dist/services/messenger.d.ts.map +1 -1
- package/dist/services/messenger.js +21 -3
- package/dist/services/messenger.js.map +1 -1
- package/dist/services/plugin-registry.d.ts +3 -3
- package/dist/services/runtime-kernel/heartbeat.core.d.ts +1 -1
- package/dist/services/runtime-kernel/heartbeat.core.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.core.js +30 -4
- package/dist/services/runtime-kernel/heartbeat.core.js.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.wakeup.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.wakeup.js +38 -23
- package/dist/services/runtime-kernel/heartbeat.wakeup.js.map +1 -1
- package/dist/services/secrets.d.ts +64 -6
- package/dist/services/secrets.d.ts.map +1 -1
- package/dist/services/secrets.js +38 -15
- package/dist/services/secrets.js.map +1 -1
- package/dist/services/side-chats.d.ts +1 -1
- package/dist/services/side-chats.d.ts.map +1 -1
- package/dist/services/side-chats.js +56 -14
- package/dist/services/side-chats.js.map +1 -1
- package/dist/services/workspace-runtime.services.d.ts +2 -2
- package/dist/services/workspace-web-preview.js +1 -1
- package/package.json +16 -13
- package/resources/bundled-skills/rudder-docs/references/operating-practices.md +12 -5
- package/skills/rudder-docs/references/operating-practices.md +12 -5
- package/ui-dist/assets/LibraryLiveSurface-CKOthw54.js +1 -0
- package/ui-dist/assets/{abnfDiagram-VRR7QNED-KGtP7zoC.js → abnfDiagram-VRR7QNED-C6a_wMho.js} +1 -1
- package/ui-dist/assets/{arc-JjnKyiOb.js → arc-CP0En6KA.js} +1 -1
- package/ui-dist/assets/architectureDiagram-ZJ3FMSHR-AHfOdcaZ.js +36 -0
- package/ui-dist/assets/{blockDiagram-677ZJIJ3-D7YzMYrz.js → blockDiagram-677ZJIJ3-Bkl9lp63.js} +1 -1
- package/ui-dist/assets/{c4Diagram-LMCZKHZV-Dpf7UQxl.js → c4Diagram-LMCZKHZV-BpZareVt.js} +1 -1
- package/ui-dist/assets/channel-DqxL_Zcy.js +1 -0
- package/ui-dist/assets/{chunk-2Q5K7J3B-UJ3gsGlQ.js → chunk-2Q5K7J3B-BQAwVuXc.js} +1 -1
- package/ui-dist/assets/{chunk-32BRIVSS-BeHl2j2l.js → chunk-32BRIVSS-YkmfA08F.js} +1 -1
- package/ui-dist/assets/{chunk-5VM5RSS4-STE9fJd0.js → chunk-5VM5RSS4-DvvjwTnG.js} +1 -1
- package/ui-dist/assets/{chunk-EX3LRPZG-Bj8g8j4B.js → chunk-EX3LRPZG-TXD_Yhg5.js} +1 -1
- package/ui-dist/assets/{chunk-JWPE2WC7-0V4Pwta-.js → chunk-JWPE2WC7-CgMlj6XI.js} +1 -1
- package/ui-dist/assets/{chunk-MOJQB5TN-DNPn50gm.js → chunk-MOJQB5TN-BnJjU8Rc.js} +1 -1
- package/ui-dist/assets/{chunk-RYQCIY6F-Befmnv8r.js → chunk-RYQCIY6F-D9B64JKM.js} +1 -1
- package/ui-dist/assets/{chunk-V7JOEXUC-Boh8TjHj.js → chunk-V7JOEXUC-PS09QVpl.js} +1 -1
- package/ui-dist/assets/{chunk-VR4S4FIN-B_yEQSo3.js → chunk-VR4S4FIN-DQXb7pRS.js} +1 -1
- package/ui-dist/assets/{chunk-XXDRQBXY-Cf1GnUFx.js → chunk-XXDRQBXY-B1UdLiF2.js} +1 -1
- package/ui-dist/assets/classDiagram-OUVF2IWQ-DMwjzuJE.js +1 -0
- package/ui-dist/assets/classDiagram-v2-EOCWNBFH-DMwjzuJE.js +1 -0
- package/ui-dist/assets/cose-bilkent-JH36ORCC-lqqmMB3m.js +1 -0
- package/ui-dist/assets/{cynefin-VYW2F7L2-Dv1yELYC.js → cynefin-VYW2F7L2-C9hu0XqZ.js} +1 -1
- package/ui-dist/assets/{cynefinDiagram-TSTJHNR4-CeFwjFoZ.js → cynefinDiagram-TSTJHNR4-Uuhz4c-1.js} +1 -1
- package/ui-dist/assets/{dagre-VKFMJZFB-8idd_4sX.js → dagre-VKFMJZFB-ChDrQYse.js} +1 -1
- package/ui-dist/assets/{diagram-FQU43EPY-BBVua6hM.js → diagram-FQU43EPY-DLtjkVSN.js} +1 -1
- package/ui-dist/assets/{diagram-G47NLZAW-D1zLQZlp.js → diagram-G47NLZAW-DCvEm4D0.js} +1 -1
- package/ui-dist/assets/{diagram-NH7WQ7WH-DE_FTSNv.js → diagram-NH7WQ7WH-Dz5jlsPG.js} +1 -1
- package/ui-dist/assets/{diagram-OA4YK3LP-61VSKBEn.js → diagram-OA4YK3LP-BXmQLO-Q.js} +1 -1
- package/ui-dist/assets/{diagram-WEI45ONY-C-tED6BJ.js → diagram-WEI45ONY-JnMU3xrx.js} +1 -1
- package/ui-dist/assets/{ebnfDiagram-CCIWWBDH-BEB8WGt0.js → ebnfDiagram-CCIWWBDH-Kryuqj4r.js} +1 -1
- package/ui-dist/assets/{erDiagram-Q63AITRT-AN_jm1TZ.js → erDiagram-Q63AITRT-Bn7g2mSW.js} +1 -1
- package/ui-dist/assets/{flowDiagram-23GEKE2U-BwLC6tI7.js → flowDiagram-23GEKE2U-DcjqTK91.js} +4 -4
- package/ui-dist/assets/ganttDiagram-NO4QXBWP-BRkw9-GE.js +292 -0
- package/ui-dist/assets/{gitGraphDiagram-IHSO6WYX-D9HCL9rY.js → gitGraphDiagram-IHSO6WYX-Cexcp6kR.js} +1 -1
- package/ui-dist/assets/graph-Cu7OV4Oi.js +1 -0
- package/ui-dist/assets/{index-BQXnpwke.js → index-ASZMPBYm.js} +5 -5
- package/ui-dist/assets/{index-5OM32_rf.js → index-B17BqCTj.js} +1 -1
- package/ui-dist/assets/{index-Cf0gLy6a.js → index-B9MccU1g.js} +1 -1
- package/ui-dist/assets/{index-BoSJ4Rx1.js → index-BPqbtW_X.js} +1 -1
- package/ui-dist/assets/{index-CpIdZ4-7.js → index-C2HjDa98.js} +1 -1
- package/ui-dist/assets/index-CMPtpj0A.js +1 -0
- package/ui-dist/assets/{index-p0ZGU1_7.js → index-CZXgOYtk.js} +1 -1
- package/ui-dist/assets/{index-74cx3ESJ.js → index-CknAauOP.js} +1 -1
- package/ui-dist/assets/index-Cu1GuH0a.js +1 -0
- package/ui-dist/assets/index-D8PdEImm.css +1 -0
- package/ui-dist/assets/{index-DrVDiJhe.js → index-DB1YX9-p.js} +1 -1
- package/ui-dist/assets/{index-vHMnAQSb.js → index-DBxLZXK7.js} +624 -610
- package/ui-dist/assets/{index-CpEfk5zb.js → index-DOCVOD97.js} +1 -1
- package/ui-dist/assets/{index-DMuWG0YN.js → index-DUbakRAC.js} +1 -1
- package/ui-dist/assets/{index-AT8juaIi.js → index-Dbg1ZwO2.js} +1 -1
- package/ui-dist/assets/index-DwbLsoLt.js +1 -0
- package/ui-dist/assets/index-hCLSotmS.js +1 -0
- package/ui-dist/assets/index-jrhEFc-j.js +1 -0
- package/ui-dist/assets/index-kz8ueXgo.js +1 -0
- package/ui-dist/assets/{infoDiagram-FWYZ7A6U-CyO3CAA1.js → infoDiagram-FWYZ7A6U-DugVGI3K.js} +1 -1
- package/ui-dist/assets/{ishikawaDiagram-FXEZZL3T-BLLZuF1_.js → ishikawaDiagram-FXEZZL3T-CHy06Oev.js} +1 -1
- package/ui-dist/assets/{journeyDiagram-5HDEW3XC-CWzQocvE.js → journeyDiagram-5HDEW3XC-BI0w53rb.js} +1 -1
- package/ui-dist/assets/{kanban-definition-HUTT4EX6-Dz4SFU-I.js → kanban-definition-HUTT4EX6-v_bLwx7B.js} +1 -1
- package/ui-dist/assets/layout-Dwp1s_bo.js +1 -0
- package/ui-dist/assets/{linear-BlzDlAaL.js → linear-DAV4STLZ.js} +1 -1
- package/ui-dist/assets/map-Bs6QpaaQ.js +1 -0
- package/ui-dist/assets/{mermaid.core-BtCydd-w.js → mermaid.core-fVmaL47V.js} +4 -4
- package/ui-dist/assets/{mindmap-definition-LN4V7U3C-BeIkKRBx.js → mindmap-definition-LN4V7U3C-5dWD4dxm.js} +1 -1
- package/ui-dist/assets/{pegDiagram-2B236MQR-BZgpT4TN.js → pegDiagram-2B236MQR-DB2XsDPN.js} +1 -1
- package/ui-dist/assets/{pieDiagram-ENE6RG2P-BRFggcg2.js → pieDiagram-ENE6RG2P-Bc5teLCS.js} +1 -1
- package/ui-dist/assets/{quadrantDiagram-ABIIQ3AL-CibUo3gT.js → quadrantDiagram-ABIIQ3AL-BlfNdETt.js} +1 -1
- package/ui-dist/assets/{railroadDiagram-RFXS5EU6-DINJqhgn.js → railroadDiagram-RFXS5EU6-BbXywkq3.js} +1 -1
- package/ui-dist/assets/{requirementDiagram-TGXJPOKE-NegluQIe.js → requirementDiagram-TGXJPOKE-DU-CapdF.js} +1 -1
- package/ui-dist/assets/{sankeyDiagram-HTMAVEWB-Kq41yHAd.js → sankeyDiagram-HTMAVEWB-Ftvh3MqA.js} +1 -1
- package/ui-dist/assets/{sequenceDiagram-DBY2YBRQ-CngfEI4f.js → sequenceDiagram-DBY2YBRQ-CCtHt9V4.js} +1 -1
- package/ui-dist/assets/{sizeCapture-X5ZJPWSS-DUWRNlme.js → sizeCapture-X5ZJPWSS-x0jnIKHx.js} +1 -1
- package/ui-dist/assets/{stateDiagram-2N3HPSRC-BwHC_Fz4.js → stateDiagram-2N3HPSRC-2qCrydE7.js} +1 -1
- package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-CvGRUgRf.js +1 -0
- package/ui-dist/assets/{swimlanes-5IMT3BWC-Cqp2rT1K.js → swimlanes-5IMT3BWC-6kqJq5Xf.js} +2 -2
- package/ui-dist/assets/swimlanesDiagram-G3AALYLV-EBa7-qSc.js +8 -0
- package/ui-dist/assets/{timeline-definition-FHXFAJF6-BG3GYPCu.js → timeline-definition-FHXFAJF6-BuRz8KHZ.js} +1 -1
- package/ui-dist/assets/{vennDiagram-L72KCM5P-D1IFU27N.js → vennDiagram-L72KCM5P-BKzMZ_Rv.js} +1 -1
- package/ui-dist/assets/{wardleyDiagram-EHGQE667-DboO2kYu.js → wardleyDiagram-EHGQE667-8uXlFtBV.js} +1 -1
- package/ui-dist/assets/{xychartDiagram-FW5EYKEG-vI2BGrXP.js → xychartDiagram-FW5EYKEG-CWKGlpF9.js} +1 -1
- package/ui-dist/index.html +2 -2
- package/ui-dist/assets/architectureDiagram-ZJ3FMSHR-DHyfFgK0.js +0 -36
- package/ui-dist/assets/channel-TMGI9Qt9.js +0 -1
- package/ui-dist/assets/classDiagram-OUVF2IWQ-r5zIpY6G.js +0 -1
- package/ui-dist/assets/classDiagram-v2-EOCWNBFH-r5zIpY6G.js +0 -1
- package/ui-dist/assets/cose-bilkent-JH36ORCC-fSNs9447.js +0 -1
- package/ui-dist/assets/ganttDiagram-NO4QXBWP-CJYhBF1C.js +0 -292
- package/ui-dist/assets/graph-DdBT9W3J.js +0 -1
- package/ui-dist/assets/index-6UIO-gg7.js +0 -1
- package/ui-dist/assets/index-BVkQVMFn.js +0 -1
- package/ui-dist/assets/index-BaAPxkqh.css +0 -1
- package/ui-dist/assets/index-CmCERTmS.js +0 -1
- package/ui-dist/assets/index-Cr4lUIaJ.js +0 -1
- package/ui-dist/assets/index-D0fAqlES.js +0 -1
- package/ui-dist/assets/index-DfNcAyZq.js +0 -1
- package/ui-dist/assets/layout-D3tY9q4Q.js +0 -1
- package/ui-dist/assets/map-Ctg1-a9N.js +0 -1
- package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-C6P3NY96.js +0 -1
- package/ui-dist/assets/swimlanesDiagram-G3AALYLV-BNdDt62J.js +0 -8
|
@@ -5209,9 +5209,71 @@ var RUDDER_CORE_MCP_TOOL_NAMES = RUDDER_AGENT_V1_MCP_TOOL_NAMES.filter((name) =>
|
|
|
5209
5209
|
var CUSTOM_INTEGRATION_KINDS = ["custom_api", "mcp_server"];
|
|
5210
5210
|
var CUSTOM_INTEGRATION_SCOPES = ["organization", "agent"];
|
|
5211
5211
|
var CUSTOM_INTEGRATION_STATUSES = ["active", "disabled", "error", "revoked"];
|
|
5212
|
-
var CUSTOM_INTEGRATION_TOOL_STATUSES = ["active", "disabled", "error"];
|
|
5212
|
+
var CUSTOM_INTEGRATION_TOOL_STATUSES = ["active", "disabled", "error", "removed"];
|
|
5213
5213
|
var CUSTOM_INTEGRATION_BINDING_STATUSES = ["active", "revoked"];
|
|
5214
5214
|
var CUSTOM_INTEGRATION_TOOL_CALL_STATUSES = ["success", "error", "blocked"];
|
|
5215
|
+
var MCP_CONNECTION_PROVIDERS = ["supabase", "linear", "notion", "custom"];
|
|
5216
|
+
var MCP_CONNECTION_TRANSPORTS = ["stdio", "streamable_http", "legacy_manual"];
|
|
5217
|
+
var MCP_CONNECTION_ACCESS_MODES = ["provider_default", "read_only", "read_write"];
|
|
5218
|
+
var MCP_CONNECTION_STATUSES = [
|
|
5219
|
+
"draft",
|
|
5220
|
+
"authorizing",
|
|
5221
|
+
"selecting_scope",
|
|
5222
|
+
"active",
|
|
5223
|
+
"needs_reauth",
|
|
5224
|
+
"disabled",
|
|
5225
|
+
"revoked",
|
|
5226
|
+
"error"
|
|
5227
|
+
];
|
|
5228
|
+
var MCP_OAUTH_GRANT_STATUSES = ["active", "needs_reauth", "revoked", "error"];
|
|
5229
|
+
var MCP_AGENT_BINDING_STATUSES = ["active", "disabled", "revoked"];
|
|
5230
|
+
var MCP_OAUTH_SESSION_TTL_MS = 10 * 60 * 1e3;
|
|
5231
|
+
var MCP_PROVIDER_CATALOG = [
|
|
5232
|
+
{
|
|
5233
|
+
id: "supabase",
|
|
5234
|
+
label: "Supabase",
|
|
5235
|
+
curated: true,
|
|
5236
|
+
requiresOAuth: true,
|
|
5237
|
+
requiresScopeSelection: true,
|
|
5238
|
+
scopeLabel: "Project",
|
|
5239
|
+
transports: ["streamable_http"],
|
|
5240
|
+
accessModes: ["read_only", "read_write"],
|
|
5241
|
+
defaultAccessMode: "read_only"
|
|
5242
|
+
},
|
|
5243
|
+
{
|
|
5244
|
+
id: "linear",
|
|
5245
|
+
label: "Linear",
|
|
5246
|
+
curated: true,
|
|
5247
|
+
requiresOAuth: true,
|
|
5248
|
+
requiresScopeSelection: false,
|
|
5249
|
+
scopeLabel: "Workspace",
|
|
5250
|
+
transports: ["streamable_http"],
|
|
5251
|
+
accessModes: ["read_only", "read_write"],
|
|
5252
|
+
defaultAccessMode: "read_write"
|
|
5253
|
+
},
|
|
5254
|
+
{
|
|
5255
|
+
id: "notion",
|
|
5256
|
+
label: "Notion",
|
|
5257
|
+
curated: true,
|
|
5258
|
+
requiresOAuth: true,
|
|
5259
|
+
requiresScopeSelection: false,
|
|
5260
|
+
scopeLabel: "Workspace",
|
|
5261
|
+
transports: ["streamable_http"],
|
|
5262
|
+
accessModes: ["provider_default"],
|
|
5263
|
+
defaultAccessMode: "provider_default"
|
|
5264
|
+
},
|
|
5265
|
+
{
|
|
5266
|
+
id: "custom",
|
|
5267
|
+
label: "Custom MCP",
|
|
5268
|
+
curated: false,
|
|
5269
|
+
requiresOAuth: false,
|
|
5270
|
+
requiresScopeSelection: false,
|
|
5271
|
+
scopeLabel: "Server",
|
|
5272
|
+
transports: ["stdio", "streamable_http"],
|
|
5273
|
+
accessModes: ["provider_default", "read_only", "read_write"],
|
|
5274
|
+
defaultAccessMode: "provider_default"
|
|
5275
|
+
}
|
|
5276
|
+
];
|
|
5215
5277
|
var CALENDAR_SOURCE_TYPES = ["rudder_local", "google_calendar", "agent_work", "system"];
|
|
5216
5278
|
var CALENDAR_OWNER_TYPES = ["user", "agent", "system"];
|
|
5217
5279
|
var CALENDAR_VISIBILITIES = ["full", "busy_only", "private"];
|
|
@@ -5645,6 +5707,464 @@ var createCustomIntegrationToolCallSchema = external_exports.object({
|
|
|
5645
5707
|
issueId: external_exports.string().uuid().optional().nullable()
|
|
5646
5708
|
});
|
|
5647
5709
|
|
|
5710
|
+
// ../../../shared/src/validators/mcp.ts
|
|
5711
|
+
var uuidSchema = external_exports.string().uuid();
|
|
5712
|
+
var timestampSchema = external_exports.string().datetime({ offset: true });
|
|
5713
|
+
var connectionNameSchema = external_exports.string().min(1).max(80).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/, "Use lowercase letters, numbers, underscores, and hyphens");
|
|
5714
|
+
var reservedMcpConnectionNames = /* @__PURE__ */ new Set(["rudder-tools", "rudder-browser"]);
|
|
5715
|
+
var environmentNameSchema = external_exports.string().min(1).max(160).regex(/^[A-Za-z_][A-Za-z0-9_]*$/, "Use a valid environment variable name");
|
|
5716
|
+
var externalMcpToolNameSchema = external_exports.string().min(1).max(128).regex(/^[A-Za-z0-9_.-]+$/, "Use an exact MCP tool name");
|
|
5717
|
+
var externalMcpToolFilterSchema = external_exports.array(externalMcpToolNameSchema).max(500);
|
|
5718
|
+
var mcpConnectionProviderSchema = external_exports.enum(MCP_CONNECTION_PROVIDERS);
|
|
5719
|
+
var mcpConnectionTransportSchema = external_exports.enum(MCP_CONNECTION_TRANSPORTS);
|
|
5720
|
+
var mcpConnectionAccessModeSchema = external_exports.enum(MCP_CONNECTION_ACCESS_MODES);
|
|
5721
|
+
var mcpConnectionStatusSchema = external_exports.enum(MCP_CONNECTION_STATUSES);
|
|
5722
|
+
var mcpOAuthGrantStatusSchema = external_exports.enum(MCP_OAUTH_GRANT_STATUSES);
|
|
5723
|
+
var mcpAgentBindingStatusSchema = external_exports.enum(MCP_AGENT_BINDING_STATUSES);
|
|
5724
|
+
var stringMapSchema = external_exports.record(external_exports.string().max(8192));
|
|
5725
|
+
var environmentValueMapSchema = stringMapSchema.superRefine((values, ctx) => {
|
|
5726
|
+
for (const name of Object.keys(values)) {
|
|
5727
|
+
if (!environmentNameSchema.safeParse(name).success) {
|
|
5728
|
+
ctx.addIssue({
|
|
5729
|
+
code: external_exports.ZodIssueCode.custom,
|
|
5730
|
+
path: [name],
|
|
5731
|
+
message: `${name} must be a valid environment variable name`
|
|
5732
|
+
});
|
|
5733
|
+
}
|
|
5734
|
+
}
|
|
5735
|
+
});
|
|
5736
|
+
var safeHeaderSchema = stringMapSchema.superRefine((headers, ctx) => {
|
|
5737
|
+
const forbidden = /* @__PURE__ */ new Set(["authorization", "cookie", "proxy-authorization", "x-api-key"]);
|
|
5738
|
+
for (const name of Object.keys(headers)) {
|
|
5739
|
+
if (forbidden.has(name.toLowerCase())) {
|
|
5740
|
+
ctx.addIssue({
|
|
5741
|
+
code: external_exports.ZodIssueCode.custom,
|
|
5742
|
+
path: [name],
|
|
5743
|
+
message: `${name} must be stored as encrypted credential material`
|
|
5744
|
+
});
|
|
5745
|
+
}
|
|
5746
|
+
}
|
|
5747
|
+
});
|
|
5748
|
+
var mcpStdioSafeConfigSchema = external_exports.object({
|
|
5749
|
+
command: external_exports.string().min(1).max(2048),
|
|
5750
|
+
args: external_exports.array(external_exports.string().max(8192)).max(200).optional(),
|
|
5751
|
+
cwd: external_exports.string().min(1).max(4096).optional(),
|
|
5752
|
+
staticEnv: environmentValueMapSchema.optional(),
|
|
5753
|
+
forwardedEnv: external_exports.array(environmentNameSchema).max(100).optional(),
|
|
5754
|
+
secretEnvNames: external_exports.array(environmentNameSchema).max(100).optional(),
|
|
5755
|
+
toolAllowlist: externalMcpToolFilterSchema.optional(),
|
|
5756
|
+
toolDenylist: externalMcpToolFilterSchema.optional()
|
|
5757
|
+
}).strict().superRefine((value, ctx) => {
|
|
5758
|
+
const staticNames = new Set(Object.keys(value.staticEnv ?? {}));
|
|
5759
|
+
for (const name of value.secretEnvNames ?? []) {
|
|
5760
|
+
if (staticNames.has(name)) {
|
|
5761
|
+
ctx.addIssue({
|
|
5762
|
+
code: external_exports.ZodIssueCode.custom,
|
|
5763
|
+
path: ["staticEnv", name],
|
|
5764
|
+
message: `${name} is marked secret and cannot remain in safe config`
|
|
5765
|
+
});
|
|
5766
|
+
}
|
|
5767
|
+
}
|
|
5768
|
+
});
|
|
5769
|
+
var mcpStreamableHttpSafeConfigSchema = external_exports.object({
|
|
5770
|
+
url: external_exports.string().url().max(8192).optional(),
|
|
5771
|
+
staticHeaders: safeHeaderSchema.optional(),
|
|
5772
|
+
headersFromEnv: external_exports.record(environmentNameSchema).optional(),
|
|
5773
|
+
bearerTokenEnvVar: environmentNameSchema.optional(),
|
|
5774
|
+
secretHeaderNames: external_exports.array(external_exports.string().min(1).max(256)).max(100).optional(),
|
|
5775
|
+
hasBearerToken: external_exports.boolean().optional(),
|
|
5776
|
+
toolAllowlist: externalMcpToolFilterSchema.optional(),
|
|
5777
|
+
toolDenylist: externalMcpToolFilterSchema.optional()
|
|
5778
|
+
}).strict().superRefine((value, ctx) => {
|
|
5779
|
+
const staticNames = new Set(Object.keys(value.staticHeaders ?? {}).map((name) => name.toLowerCase()));
|
|
5780
|
+
const mappedNames = new Set(Object.keys(value.headersFromEnv ?? {}).map((name) => name.toLowerCase()));
|
|
5781
|
+
for (const name of value.secretHeaderNames ?? []) {
|
|
5782
|
+
if (staticNames.has(name.toLowerCase())) {
|
|
5783
|
+
ctx.addIssue({
|
|
5784
|
+
code: external_exports.ZodIssueCode.custom,
|
|
5785
|
+
path: ["staticHeaders", name],
|
|
5786
|
+
message: `${name} is marked secret and cannot remain in safe config`
|
|
5787
|
+
});
|
|
5788
|
+
}
|
|
5789
|
+
}
|
|
5790
|
+
for (const name of mappedNames) {
|
|
5791
|
+
if (staticNames.has(name)) {
|
|
5792
|
+
ctx.addIssue({
|
|
5793
|
+
code: external_exports.ZodIssueCode.custom,
|
|
5794
|
+
path: ["headersFromEnv", name],
|
|
5795
|
+
message: `${name} cannot have both a static value and an environment mapping`
|
|
5796
|
+
});
|
|
5797
|
+
}
|
|
5798
|
+
}
|
|
5799
|
+
});
|
|
5800
|
+
var mcpConnectionSecretsMutationSchema = external_exports.object({
|
|
5801
|
+
env: environmentValueMapSchema.optional(),
|
|
5802
|
+
headers: stringMapSchema.optional(),
|
|
5803
|
+
bearerToken: external_exports.string().min(1).max(1e6).optional()
|
|
5804
|
+
}).strict().refine((value) => Object.keys(value.env ?? {}).length > 0 || Object.keys(value.headers ?? {}).length > 0 || Boolean(value.bearerToken), {
|
|
5805
|
+
message: "At least one secret value is required"
|
|
5806
|
+
});
|
|
5807
|
+
var mcpLegacyManualSafeConfigSchema = external_exports.object({
|
|
5808
|
+
legacyConfigRetained: external_exports.literal(true)
|
|
5809
|
+
}).strict();
|
|
5810
|
+
var mcpCuratedSafeConfigSchema = external_exports.object({
|
|
5811
|
+
featureGroups: external_exports.object({
|
|
5812
|
+
mode: external_exports.literal("provider_default"),
|
|
5813
|
+
excluded: external_exports.array(external_exports.string().min(1).max(120)).max(100)
|
|
5814
|
+
}).strict()
|
|
5815
|
+
}).strict();
|
|
5816
|
+
var mcpConnectionSafeConfigSchema = external_exports.union([
|
|
5817
|
+
mcpStdioSafeConfigSchema,
|
|
5818
|
+
mcpStreamableHttpSafeConfigSchema,
|
|
5819
|
+
mcpLegacyManualSafeConfigSchema,
|
|
5820
|
+
mcpCuratedSafeConfigSchema
|
|
5821
|
+
]);
|
|
5822
|
+
var mcpConnectionInputFields = {
|
|
5823
|
+
name: connectionNameSchema,
|
|
5824
|
+
displayName: external_exports.string().trim().min(1).max(120),
|
|
5825
|
+
provider: mcpConnectionProviderSchema,
|
|
5826
|
+
transport: mcpConnectionTransportSchema,
|
|
5827
|
+
externalScope: external_exports.string().trim().min(1).max(512).optional().nullable(),
|
|
5828
|
+
accessMode: mcpConnectionAccessModeSchema.optional(),
|
|
5829
|
+
safeConfig: mcpConnectionSafeConfigSchema.default({}),
|
|
5830
|
+
startupTimeoutMs: external_exports.number().int().min(100).max(3e5).default(1e4),
|
|
5831
|
+
toolTimeoutMs: external_exports.number().int().min(100).max(9e5).default(6e4),
|
|
5832
|
+
enabled: external_exports.boolean().default(true),
|
|
5833
|
+
required: external_exports.boolean().default(false),
|
|
5834
|
+
secrets: mcpConnectionSecretsMutationSchema.optional()
|
|
5835
|
+
};
|
|
5836
|
+
var providerAccessModes = {
|
|
5837
|
+
supabase: ["read_only", "read_write"],
|
|
5838
|
+
linear: ["read_only", "read_write"],
|
|
5839
|
+
notion: ["provider_default"],
|
|
5840
|
+
custom: ["provider_default", "read_only", "read_write"]
|
|
5841
|
+
};
|
|
5842
|
+
function defaultAccessMode(provider) {
|
|
5843
|
+
if (provider === "supabase") return "read_only";
|
|
5844
|
+
if (provider === "linear") return "read_write";
|
|
5845
|
+
return "provider_default";
|
|
5846
|
+
}
|
|
5847
|
+
function sameNames(left, right, caseInsensitive = false) {
|
|
5848
|
+
const normalize = (name) => caseInsensitive ? name.toLowerCase() : name;
|
|
5849
|
+
const leftNames = new Set(left.map(normalize));
|
|
5850
|
+
const rightNames = new Set(right.map(normalize));
|
|
5851
|
+
return leftNames.size === rightNames.size && [...leftNames].every((name) => rightNames.has(name));
|
|
5852
|
+
}
|
|
5853
|
+
function validateSafeConnectionConfig(value, ctx, options = {}) {
|
|
5854
|
+
const accessMode = value.accessMode ?? defaultAccessMode(value.provider);
|
|
5855
|
+
const allowedAccessModes = value.provider ? providerAccessModes[value.provider] : void 0;
|
|
5856
|
+
if (!allowedAccessModes?.some((allowed) => allowed === accessMode)) {
|
|
5857
|
+
ctx.addIssue({
|
|
5858
|
+
code: external_exports.ZodIssueCode.custom,
|
|
5859
|
+
path: ["accessMode"],
|
|
5860
|
+
message: `${value.provider ?? "Unknown"} does not support ${accessMode}`
|
|
5861
|
+
});
|
|
5862
|
+
}
|
|
5863
|
+
if (value.provider !== "custom") {
|
|
5864
|
+
if (value.transport !== "streamable_http") {
|
|
5865
|
+
ctx.addIssue({
|
|
5866
|
+
code: external_exports.ZodIssueCode.custom,
|
|
5867
|
+
path: ["transport"],
|
|
5868
|
+
message: "Curated providers use Rudder-managed Streamable HTTP"
|
|
5869
|
+
});
|
|
5870
|
+
}
|
|
5871
|
+
const hasManagedCuratedConfig = options.allowManagedCuratedSafeConfig === true && mcpCuratedSafeConfigSchema.safeParse(value.safeConfig).success;
|
|
5872
|
+
if (typeof value.safeConfig !== "object" || value.safeConfig === null || Array.isArray(value.safeConfig) || Object.keys(value.safeConfig).length > 0 && !hasManagedCuratedConfig) {
|
|
5873
|
+
ctx.addIssue({
|
|
5874
|
+
code: external_exports.ZodIssueCode.custom,
|
|
5875
|
+
path: ["safeConfig"],
|
|
5876
|
+
message: "Curated provider URL, headers, and transport config are Rudder-managed"
|
|
5877
|
+
});
|
|
5878
|
+
}
|
|
5879
|
+
if (value.secrets) {
|
|
5880
|
+
ctx.addIssue({
|
|
5881
|
+
code: external_exports.ZodIssueCode.custom,
|
|
5882
|
+
path: ["secrets"],
|
|
5883
|
+
message: "Curated provider credentials must come from its OAuth grant"
|
|
5884
|
+
});
|
|
5885
|
+
}
|
|
5886
|
+
return;
|
|
5887
|
+
}
|
|
5888
|
+
if (value.transport === "stdio") {
|
|
5889
|
+
const parsed = mcpStdioSafeConfigSchema.safeParse(value.safeConfig);
|
|
5890
|
+
if (!parsed.success) {
|
|
5891
|
+
ctx.addIssue({
|
|
5892
|
+
code: external_exports.ZodIssueCode.custom,
|
|
5893
|
+
path: ["safeConfig"],
|
|
5894
|
+
message: "STDIO connections require command-based safe config"
|
|
5895
|
+
});
|
|
5896
|
+
}
|
|
5897
|
+
}
|
|
5898
|
+
if (value.transport === "streamable_http") {
|
|
5899
|
+
const parsed = mcpStreamableHttpSafeConfigSchema.safeParse(value.safeConfig);
|
|
5900
|
+
if (!parsed.success || value.provider === "custom" && !parsed.data.url) {
|
|
5901
|
+
ctx.addIssue({
|
|
5902
|
+
code: external_exports.ZodIssueCode.custom,
|
|
5903
|
+
path: ["safeConfig", "url"],
|
|
5904
|
+
message: "Custom Streamable HTTP connections require a URL"
|
|
5905
|
+
});
|
|
5906
|
+
}
|
|
5907
|
+
}
|
|
5908
|
+
if (value.transport === "legacy_manual") {
|
|
5909
|
+
if (!mcpLegacyManualSafeConfigSchema.safeParse(value.safeConfig).success) {
|
|
5910
|
+
ctx.addIssue({
|
|
5911
|
+
code: external_exports.ZodIssueCode.custom,
|
|
5912
|
+
path: ["safeConfig"],
|
|
5913
|
+
message: "Legacy manual connections require compatibility config"
|
|
5914
|
+
});
|
|
5915
|
+
}
|
|
5916
|
+
if (value.enabled !== false) {
|
|
5917
|
+
ctx.addIssue({
|
|
5918
|
+
code: external_exports.ZodIssueCode.custom,
|
|
5919
|
+
path: ["enabled"],
|
|
5920
|
+
message: "Legacy manual connections cannot be executable"
|
|
5921
|
+
});
|
|
5922
|
+
}
|
|
5923
|
+
}
|
|
5924
|
+
if (value.transport === "streamable_http") {
|
|
5925
|
+
const parsed = mcpStreamableHttpSafeConfigSchema.safeParse(value.safeConfig);
|
|
5926
|
+
if (parsed.success) {
|
|
5927
|
+
const declaredHeaderNames = parsed.data.secretHeaderNames ?? [];
|
|
5928
|
+
const suppliedHeaderNames = Object.keys(value.secrets?.headers ?? {});
|
|
5929
|
+
const declaredBearer = parsed.data.hasBearerToken === true;
|
|
5930
|
+
const suppliedBearer = Boolean(value.secrets?.bearerToken);
|
|
5931
|
+
const authorizationFromEnv = Object.keys(parsed.data.headersFromEnv ?? {}).some((name) => name.toLowerCase() === "authorization");
|
|
5932
|
+
const encryptedAuthorizationHeader = declaredHeaderNames.some((name) => name.toLowerCase() === "authorization") || suppliedHeaderNames.some((name) => name.toLowerCase() === "authorization");
|
|
5933
|
+
const bearerEnvironment = Boolean(parsed.data.bearerTokenEnvVar);
|
|
5934
|
+
const directBearer = declaredBearer || suppliedBearer;
|
|
5935
|
+
if ([
|
|
5936
|
+
authorizationFromEnv,
|
|
5937
|
+
encryptedAuthorizationHeader,
|
|
5938
|
+
bearerEnvironment,
|
|
5939
|
+
directBearer
|
|
5940
|
+
].filter(Boolean).length > 1) {
|
|
5941
|
+
ctx.addIssue({
|
|
5942
|
+
code: external_exports.ZodIssueCode.custom,
|
|
5943
|
+
path: ["safeConfig"],
|
|
5944
|
+
message: "Configure only one manual Authorization or Bearer source"
|
|
5945
|
+
});
|
|
5946
|
+
}
|
|
5947
|
+
}
|
|
5948
|
+
}
|
|
5949
|
+
}
|
|
5950
|
+
function validateConnectionSecretMutation(value, ctx) {
|
|
5951
|
+
if (value.provider !== "custom") return;
|
|
5952
|
+
if (value.transport === "stdio") {
|
|
5953
|
+
const parsed = mcpStdioSafeConfigSchema.safeParse(value.safeConfig);
|
|
5954
|
+
if (parsed.success) {
|
|
5955
|
+
const declaredEnvNames = parsed.data.secretEnvNames ?? [];
|
|
5956
|
+
const suppliedEnvNames = Object.keys(value.secrets?.env ?? {});
|
|
5957
|
+
if (!sameNames(declaredEnvNames, suppliedEnvNames) || Object.keys(value.secrets?.headers ?? {}).length > 0 || Boolean(value.secrets?.bearerToken)) {
|
|
5958
|
+
ctx.addIssue({
|
|
5959
|
+
code: external_exports.ZodIssueCode.custom,
|
|
5960
|
+
path: ["secrets"],
|
|
5961
|
+
message: "STDIO secret values must exactly match declared secret environment names"
|
|
5962
|
+
});
|
|
5963
|
+
}
|
|
5964
|
+
}
|
|
5965
|
+
}
|
|
5966
|
+
if (value.transport === "legacy_manual" && value.secrets) {
|
|
5967
|
+
ctx.addIssue({
|
|
5968
|
+
code: external_exports.ZodIssueCode.custom,
|
|
5969
|
+
path: ["secrets"],
|
|
5970
|
+
message: "Legacy manual connections cannot accept new secret values"
|
|
5971
|
+
});
|
|
5972
|
+
}
|
|
5973
|
+
if (value.transport === "streamable_http") {
|
|
5974
|
+
const parsed = mcpStreamableHttpSafeConfigSchema.safeParse(value.safeConfig);
|
|
5975
|
+
if (parsed.success) {
|
|
5976
|
+
const suppliedEnvNames = Object.keys(value.secrets?.env ?? {});
|
|
5977
|
+
const declaredHeaderNames = parsed.data.secretHeaderNames ?? [];
|
|
5978
|
+
const suppliedHeaderNames = Object.keys(value.secrets?.headers ?? {});
|
|
5979
|
+
const declaredBearer = parsed.data.hasBearerToken === true;
|
|
5980
|
+
const suppliedBearer = Boolean(value.secrets?.bearerToken);
|
|
5981
|
+
if (suppliedEnvNames.length > 0 || !sameNames(declaredHeaderNames, suppliedHeaderNames, true) || declaredBearer !== suppliedBearer) {
|
|
5982
|
+
ctx.addIssue({
|
|
5983
|
+
code: external_exports.ZodIssueCode.custom,
|
|
5984
|
+
path: ["secrets"],
|
|
5985
|
+
message: "HTTP mutations accept only exactly declared encrypted headers and direct Bearer values"
|
|
5986
|
+
});
|
|
5987
|
+
}
|
|
5988
|
+
}
|
|
5989
|
+
}
|
|
5990
|
+
}
|
|
5991
|
+
var createMcpConnectionSchema = external_exports.object(mcpConnectionInputFields).strict().superRefine((value, ctx) => {
|
|
5992
|
+
if (reservedMcpConnectionNames.has(value.name)) {
|
|
5993
|
+
ctx.addIssue({
|
|
5994
|
+
code: external_exports.ZodIssueCode.custom,
|
|
5995
|
+
path: ["name"],
|
|
5996
|
+
message: `${value.name} is reserved for an internal Rudder runtime`
|
|
5997
|
+
});
|
|
5998
|
+
}
|
|
5999
|
+
}).superRefine(validateSafeConnectionConfig).superRefine(validateConnectionSecretMutation).transform((value) => ({
|
|
6000
|
+
...value,
|
|
6001
|
+
accessMode: value.accessMode ?? defaultAccessMode(value.provider)
|
|
6002
|
+
}));
|
|
6003
|
+
var updateMcpConnectionSchema = external_exports.object({
|
|
6004
|
+
displayName: mcpConnectionInputFields.displayName.optional(),
|
|
6005
|
+
externalScope: mcpConnectionInputFields.externalScope.optional(),
|
|
6006
|
+
accessMode: mcpConnectionAccessModeSchema.optional(),
|
|
6007
|
+
safeConfig: mcpConnectionSafeConfigSchema.optional(),
|
|
6008
|
+
startupTimeoutMs: external_exports.number().int().min(100).max(3e5).optional(),
|
|
6009
|
+
toolTimeoutMs: external_exports.number().int().min(100).max(9e5).optional(),
|
|
6010
|
+
enabled: external_exports.boolean().optional(),
|
|
6011
|
+
required: external_exports.boolean().optional(),
|
|
6012
|
+
secrets: mcpConnectionSecretsMutationSchema.optional()
|
|
6013
|
+
}).strict().refine((value) => Object.keys(value).length > 0, {
|
|
6014
|
+
message: "At least one connection field is required"
|
|
6015
|
+
});
|
|
6016
|
+
var mcpConnectionMergedConfigFields = {
|
|
6017
|
+
provider: mcpConnectionProviderSchema,
|
|
6018
|
+
transport: mcpConnectionTransportSchema,
|
|
6019
|
+
accessMode: mcpConnectionAccessModeSchema,
|
|
6020
|
+
safeConfig: mcpConnectionSafeConfigSchema,
|
|
6021
|
+
enabled: external_exports.boolean()
|
|
6022
|
+
};
|
|
6023
|
+
var mcpConnectionMergedConfigSchema = external_exports.object(
|
|
6024
|
+
mcpConnectionMergedConfigFields
|
|
6025
|
+
).strict().superRefine((value, ctx) => {
|
|
6026
|
+
validateSafeConnectionConfig(value, ctx, { allowManagedCuratedSafeConfig: true });
|
|
6027
|
+
});
|
|
6028
|
+
var mcpConnectionMutationConfigSchema = external_exports.object({
|
|
6029
|
+
...mcpConnectionMergedConfigFields,
|
|
6030
|
+
secrets: mcpConnectionSecretsMutationSchema.optional()
|
|
6031
|
+
}).strict().superRefine((value, ctx) => {
|
|
6032
|
+
validateSafeConnectionConfig(value, ctx, { allowManagedCuratedSafeConfig: true });
|
|
6033
|
+
}).superRefine(validateConnectionSecretMutation);
|
|
6034
|
+
var mcpConnectionSummarySchema = external_exports.object({
|
|
6035
|
+
id: uuidSchema,
|
|
6036
|
+
orgId: uuidSchema,
|
|
6037
|
+
name: connectionNameSchema,
|
|
6038
|
+
displayName: external_exports.string().min(1).max(120),
|
|
6039
|
+
provider: mcpConnectionProviderSchema,
|
|
6040
|
+
transport: mcpConnectionTransportSchema,
|
|
6041
|
+
externalScope: external_exports.string().max(512).nullable(),
|
|
6042
|
+
accessMode: mcpConnectionAccessModeSchema,
|
|
6043
|
+
status: mcpConnectionStatusSchema,
|
|
6044
|
+
safeConfig: mcpConnectionSafeConfigSchema,
|
|
6045
|
+
startupTimeoutMs: external_exports.number().int().positive(),
|
|
6046
|
+
toolTimeoutMs: external_exports.number().int().positive(),
|
|
6047
|
+
enabled: external_exports.boolean(),
|
|
6048
|
+
required: external_exports.boolean(),
|
|
6049
|
+
hasCredentials: external_exports.boolean(),
|
|
6050
|
+
lastDiscoveredAt: timestampSchema.nullable(),
|
|
6051
|
+
activatedAt: timestampSchema.nullable(),
|
|
6052
|
+
disabledAt: timestampSchema.nullable(),
|
|
6053
|
+
revokedAt: timestampSchema.nullable(),
|
|
6054
|
+
createdAt: timestampSchema,
|
|
6055
|
+
updatedAt: timestampSchema
|
|
6056
|
+
}).strict();
|
|
6057
|
+
var mcpProviderCatalogEntrySchema = external_exports.object({
|
|
6058
|
+
id: mcpConnectionProviderSchema,
|
|
6059
|
+
label: external_exports.string().min(1),
|
|
6060
|
+
curated: external_exports.boolean(),
|
|
6061
|
+
requiresOAuth: external_exports.boolean(),
|
|
6062
|
+
requiresScopeSelection: external_exports.boolean(),
|
|
6063
|
+
scopeLabel: external_exports.string().min(1),
|
|
6064
|
+
transports: external_exports.array(mcpConnectionTransportSchema).min(1),
|
|
6065
|
+
accessModes: external_exports.array(mcpConnectionAccessModeSchema).min(1),
|
|
6066
|
+
defaultAccessMode: mcpConnectionAccessModeSchema
|
|
6067
|
+
}).strict().superRefine((value, ctx) => {
|
|
6068
|
+
if (!value.accessModes.includes(value.defaultAccessMode)) {
|
|
6069
|
+
ctx.addIssue({
|
|
6070
|
+
code: external_exports.ZodIssueCode.custom,
|
|
6071
|
+
path: ["defaultAccessMode"],
|
|
6072
|
+
message: "Default access mode must be included in accessModes"
|
|
6073
|
+
});
|
|
6074
|
+
}
|
|
6075
|
+
});
|
|
6076
|
+
var mcpProviderCatalogSchema = external_exports.array(mcpProviderCatalogEntrySchema);
|
|
6077
|
+
mcpProviderCatalogSchema.parse(MCP_PROVIDER_CATALOG);
|
|
6078
|
+
var mcpOAuthStartSchema = external_exports.object({}).strict();
|
|
6079
|
+
var mcpOAuthStartResponseSchema = external_exports.object({
|
|
6080
|
+
connectionId: uuidSchema,
|
|
6081
|
+
authorizationUrl: external_exports.string().url().max(16384),
|
|
6082
|
+
expiresAt: timestampSchema
|
|
6083
|
+
}).strict();
|
|
6084
|
+
var mcpOAuthCallbackSchema = external_exports.object({
|
|
6085
|
+
state: external_exports.string().min(16).max(8192),
|
|
6086
|
+
code: external_exports.string().min(1).max(16384).optional(),
|
|
6087
|
+
error: external_exports.string().min(1).max(512).optional(),
|
|
6088
|
+
errorDescription: external_exports.string().max(4096).optional(),
|
|
6089
|
+
iss: external_exports.string().url().max(8192).optional()
|
|
6090
|
+
}).strict().superRefine((value, ctx) => {
|
|
6091
|
+
if (Boolean(value.code) === Boolean(value.error)) {
|
|
6092
|
+
ctx.addIssue({
|
|
6093
|
+
code: external_exports.ZodIssueCode.custom,
|
|
6094
|
+
message: "OAuth callback must include exactly one of code or error"
|
|
6095
|
+
});
|
|
6096
|
+
}
|
|
6097
|
+
});
|
|
6098
|
+
var mcpScopeSelectionSchema = external_exports.object({
|
|
6099
|
+
connectionId: uuidSchema,
|
|
6100
|
+
externalScope: external_exports.string().trim().min(1).max(512),
|
|
6101
|
+
accessMode: mcpConnectionAccessModeSchema
|
|
6102
|
+
}).strict();
|
|
6103
|
+
var mcpExternalScopeOptionSchema = external_exports.object({
|
|
6104
|
+
id: external_exports.string().min(1).max(512),
|
|
6105
|
+
displayName: external_exports.string().min(1).max(240),
|
|
6106
|
+
metadata: external_exports.record(external_exports.unknown()).default({})
|
|
6107
|
+
}).strict();
|
|
6108
|
+
var mcpOAuthGrantSummarySchema = external_exports.object({
|
|
6109
|
+
id: uuidSchema,
|
|
6110
|
+
connectionId: uuidSchema,
|
|
6111
|
+
providerSubject: external_exports.string().max(1024).nullable(),
|
|
6112
|
+
providerScopes: external_exports.array(external_exports.string().max(512)),
|
|
6113
|
+
externalScopeMetadata: external_exports.record(external_exports.unknown()),
|
|
6114
|
+
status: mcpOAuthGrantStatusSchema,
|
|
6115
|
+
hasCredentials: external_exports.boolean(),
|
|
6116
|
+
expiresAt: timestampSchema.nullable(),
|
|
6117
|
+
lastRefreshedAt: timestampSchema.nullable(),
|
|
6118
|
+
revokedAt: timestampSchema.nullable(),
|
|
6119
|
+
createdAt: timestampSchema,
|
|
6120
|
+
updatedAt: timestampSchema
|
|
6121
|
+
}).strict();
|
|
6122
|
+
var mcpDiscoveredToolSchema = external_exports.object({
|
|
6123
|
+
id: uuidSchema,
|
|
6124
|
+
connectionId: uuidSchema,
|
|
6125
|
+
externalToolName: external_exports.string().min(1).max(240),
|
|
6126
|
+
rudderToolName: external_exports.string().min(1).max(320),
|
|
6127
|
+
description: external_exports.string().max(4e3).nullable(),
|
|
6128
|
+
inputSchema: external_exports.record(external_exports.unknown()),
|
|
6129
|
+
outputSchema: external_exports.record(external_exports.unknown()).nullable(),
|
|
6130
|
+
enabled: external_exports.boolean(),
|
|
6131
|
+
removedAt: timestampSchema.nullable()
|
|
6132
|
+
}).strict();
|
|
6133
|
+
var mcpAgentBindingSchema = external_exports.object({
|
|
6134
|
+
id: uuidSchema,
|
|
6135
|
+
connectionId: uuidSchema,
|
|
6136
|
+
agentId: uuidSchema,
|
|
6137
|
+
status: mcpAgentBindingStatusSchema,
|
|
6138
|
+
enabledToolIds: external_exports.array(uuidSchema).max(500)
|
|
6139
|
+
}).strict();
|
|
6140
|
+
var mcpAgentConnectionSummarySchema = external_exports.object({
|
|
6141
|
+
connection: mcpConnectionSummarySchema,
|
|
6142
|
+
binding: mcpAgentBindingSchema.nullable(),
|
|
6143
|
+
tools: external_exports.array(mcpDiscoveredToolSchema).max(500)
|
|
6144
|
+
}).strict();
|
|
6145
|
+
var upsertMcpAgentBindingSchema = external_exports.object({
|
|
6146
|
+
status: mcpAgentBindingStatusSchema.optional(),
|
|
6147
|
+
enabledToolIds: external_exports.array(uuidSchema).max(500).optional()
|
|
6148
|
+
}).strict();
|
|
6149
|
+
var updateMcpAgentBindingSchema = external_exports.object({
|
|
6150
|
+
status: mcpAgentBindingStatusSchema.optional(),
|
|
6151
|
+
enabledToolIds: external_exports.array(uuidSchema).max(500).optional()
|
|
6152
|
+
}).strict().refine((value) => Object.keys(value).length > 0, {
|
|
6153
|
+
message: "At least one binding field is required"
|
|
6154
|
+
});
|
|
6155
|
+
var managedExternalMcpBindingSchema = external_exports.object({
|
|
6156
|
+
bindingId: uuidSchema,
|
|
6157
|
+
serverName: connectionNameSchema,
|
|
6158
|
+
toolPolicy: external_exports.object({
|
|
6159
|
+
mode: external_exports.literal("allowlist"),
|
|
6160
|
+
allowedToolNames: external_exports.array(external_exports.string().min(1).max(320)).max(500)
|
|
6161
|
+
}).strict(),
|
|
6162
|
+
required: external_exports.boolean(),
|
|
6163
|
+
startupTimeoutMs: external_exports.number().int().positive(),
|
|
6164
|
+
toolTimeoutMs: external_exports.number().int().positive()
|
|
6165
|
+
}).strict();
|
|
6166
|
+
var managedExternalMcpBindingsSchema = external_exports.array(managedExternalMcpBindingSchema).max(100);
|
|
6167
|
+
|
|
5648
6168
|
// ../../../shared/src/validators/chat.ts
|
|
5649
6169
|
var chatConversationStatusSchema = external_exports.enum(CHAT_CONVERSATION_STATUSES);
|
|
5650
6170
|
var chatIssueCreationModeSchema = external_exports.enum(CHAT_ISSUE_CREATION_MODES);
|
|
@@ -5747,6 +6267,174 @@ var chatQueuedMessageStatusSchema = external_exports.enum([
|
|
|
5747
6267
|
]);
|
|
5748
6268
|
var chatControlActionIdSchema = external_exports.string().uuid();
|
|
5749
6269
|
var chatBodyHashSchema = external_exports.string().regex(/^[a-f0-9]{64}$/i, "Expected a SHA-256 body hash");
|
|
6270
|
+
var MAX_CHAT_INLINE_ANNOTATIONS = 10;
|
|
6271
|
+
var MAX_CHAT_INLINE_ANNOTATION_SELECTED_TEXT_LENGTH = 4e3;
|
|
6272
|
+
var MAX_CHAT_INLINE_ANNOTATION_COMMENT_LENGTH = 2e3;
|
|
6273
|
+
var MAX_CHAT_INLINE_ANNOTATION_TOTAL_TEXT_LENGTH = 16e3;
|
|
6274
|
+
var MAX_CHAT_INLINE_ANNOTATION_CONTEXT_LENGTH = 160;
|
|
6275
|
+
var MAX_CHAT_INLINE_ANNOTATION_ATTACHMENTS = 10;
|
|
6276
|
+
var chatInlineAnnotationCommentSchema = external_exports.preprocess(
|
|
6277
|
+
(value) => {
|
|
6278
|
+
if (typeof value !== "string") return value;
|
|
6279
|
+
const trimmed = value.trim();
|
|
6280
|
+
return trimmed.length > 0 ? trimmed : null;
|
|
6281
|
+
},
|
|
6282
|
+
external_exports.string().max(MAX_CHAT_INLINE_ANNOTATION_COMMENT_LENGTH).nullable().optional()
|
|
6283
|
+
);
|
|
6284
|
+
var chatInlineAnnotationSelectedTextSchema = external_exports.string().min(1).max(MAX_CHAT_INLINE_ANNOTATION_SELECTED_TEXT_LENGTH).refine((value) => value.trim().length > 0, "Selected text must not be blank");
|
|
6285
|
+
var chatInlineAnnotationSourceHashSchema = external_exports.string().regex(/^[a-f0-9]{64}$/, "Expected a lowercase SHA-256 source hash");
|
|
6286
|
+
var chatInlineAnnotationShape = {
|
|
6287
|
+
id: external_exports.string().uuid(),
|
|
6288
|
+
selectedText: chatInlineAnnotationSelectedTextSchema,
|
|
6289
|
+
comment: chatInlineAnnotationCommentSchema,
|
|
6290
|
+
sourceConversationId: external_exports.string().uuid(),
|
|
6291
|
+
sourceMessageId: external_exports.string().uuid(),
|
|
6292
|
+
sourceHash: chatInlineAnnotationSourceHashSchema,
|
|
6293
|
+
start: external_exports.number().int().nonnegative(),
|
|
6294
|
+
end: external_exports.number().int().nonnegative(),
|
|
6295
|
+
prefix: external_exports.string().max(MAX_CHAT_INLINE_ANNOTATION_CONTEXT_LENGTH),
|
|
6296
|
+
suffix: external_exports.string().max(MAX_CHAT_INLINE_ANNOTATION_CONTEXT_LENGTH),
|
|
6297
|
+
attachmentIds: external_exports.array(external_exports.string().uuid()).default([])
|
|
6298
|
+
};
|
|
6299
|
+
function refineChatInlineAnnotation(annotation, ctx) {
|
|
6300
|
+
if (annotation.end <= annotation.start) {
|
|
6301
|
+
ctx.addIssue({
|
|
6302
|
+
code: external_exports.ZodIssueCode.custom,
|
|
6303
|
+
message: "Annotation end must be greater than start",
|
|
6304
|
+
path: ["end"]
|
|
6305
|
+
});
|
|
6306
|
+
}
|
|
6307
|
+
const attachmentIds = /* @__PURE__ */ new Set();
|
|
6308
|
+
annotation.attachmentIds.forEach((attachmentId, index) => {
|
|
6309
|
+
if (attachmentIds.has(attachmentId)) {
|
|
6310
|
+
ctx.addIssue({
|
|
6311
|
+
code: external_exports.ZodIssueCode.custom,
|
|
6312
|
+
message: "Annotation attachment ids must be unique",
|
|
6313
|
+
path: ["attachmentIds", index]
|
|
6314
|
+
});
|
|
6315
|
+
}
|
|
6316
|
+
attachmentIds.add(attachmentId);
|
|
6317
|
+
});
|
|
6318
|
+
const attachmentFileIndexes = /* @__PURE__ */ new Set();
|
|
6319
|
+
annotation.attachmentFileIndexes?.forEach((fileIndex, index) => {
|
|
6320
|
+
if (attachmentFileIndexes.has(fileIndex)) {
|
|
6321
|
+
ctx.addIssue({
|
|
6322
|
+
code: external_exports.ZodIssueCode.custom,
|
|
6323
|
+
message: "Annotation attachment file indexes must be unique",
|
|
6324
|
+
path: ["attachmentFileIndexes", index]
|
|
6325
|
+
});
|
|
6326
|
+
}
|
|
6327
|
+
attachmentFileIndexes.add(fileIndex);
|
|
6328
|
+
});
|
|
6329
|
+
if (annotation.surface === "process_transcript" && annotation.generationSeqStart !== void 0 && annotation.generationSeqEnd !== void 0 && annotation.generationSeqEnd < annotation.generationSeqStart) {
|
|
6330
|
+
ctx.addIssue({
|
|
6331
|
+
code: external_exports.ZodIssueCode.custom,
|
|
6332
|
+
message: "Generation sequence end must be greater than or equal to start",
|
|
6333
|
+
path: ["generationSeqEnd"]
|
|
6334
|
+
});
|
|
6335
|
+
}
|
|
6336
|
+
}
|
|
6337
|
+
var chatAssistantInlineAnnotationSchema = external_exports.object({
|
|
6338
|
+
...chatInlineAnnotationShape,
|
|
6339
|
+
surface: external_exports.literal("assistant_body")
|
|
6340
|
+
}).strict();
|
|
6341
|
+
var chatProcessInlineAnnotationSchema = external_exports.object({
|
|
6342
|
+
...chatInlineAnnotationShape,
|
|
6343
|
+
surface: external_exports.literal("process_transcript"),
|
|
6344
|
+
transcriptKind: external_exports.enum(["thinking", "assistant"]),
|
|
6345
|
+
generationId: external_exports.string().uuid(),
|
|
6346
|
+
generationSeqStart: external_exports.number().int().nonnegative(),
|
|
6347
|
+
generationSeqEnd: external_exports.number().int().nonnegative()
|
|
6348
|
+
}).strict();
|
|
6349
|
+
var chatInlineAnnotationSchema = external_exports.discriminatedUnion("surface", [
|
|
6350
|
+
chatAssistantInlineAnnotationSchema,
|
|
6351
|
+
chatProcessInlineAnnotationSchema
|
|
6352
|
+
]).superRefine(refineChatInlineAnnotation);
|
|
6353
|
+
var chatAssistantInlineAnnotationInputSchema = chatAssistantInlineAnnotationSchema.extend({
|
|
6354
|
+
attachmentFileIndexes: external_exports.array(external_exports.number().int().nonnegative()).optional()
|
|
6355
|
+
}).strict();
|
|
6356
|
+
var chatProcessInlineAnnotationInputSchema = chatProcessInlineAnnotationSchema.extend({
|
|
6357
|
+
attachmentFileIndexes: external_exports.array(external_exports.number().int().nonnegative()).optional()
|
|
6358
|
+
}).strict();
|
|
6359
|
+
var chatInlineAnnotationInputSchema = external_exports.discriminatedUnion("surface", [
|
|
6360
|
+
chatAssistantInlineAnnotationInputSchema,
|
|
6361
|
+
chatProcessInlineAnnotationInputSchema
|
|
6362
|
+
]).superRefine(refineChatInlineAnnotation);
|
|
6363
|
+
function createChatInlineAnnotationsSchema(annotationSchema) {
|
|
6364
|
+
return external_exports.array(annotationSchema).max(MAX_CHAT_INLINE_ANNOTATIONS).superRefine((annotations, ctx) => {
|
|
6365
|
+
let totalTextLength = 0;
|
|
6366
|
+
let attachmentReferenceCount = 0;
|
|
6367
|
+
const annotationIds = /* @__PURE__ */ new Set();
|
|
6368
|
+
const sourceRanges = /* @__PURE__ */ new Set();
|
|
6369
|
+
const attachmentIds = /* @__PURE__ */ new Set();
|
|
6370
|
+
const attachmentFileIndexes = /* @__PURE__ */ new Set();
|
|
6371
|
+
annotations.forEach((annotation, annotationIndex) => {
|
|
6372
|
+
totalTextLength += annotation.selectedText.length + (annotation.comment?.length ?? 0);
|
|
6373
|
+
attachmentReferenceCount += annotation.attachmentIds.length + (annotation.attachmentFileIndexes?.length ?? 0);
|
|
6374
|
+
if (annotationIds.has(annotation.id)) {
|
|
6375
|
+
ctx.addIssue({
|
|
6376
|
+
code: external_exports.ZodIssueCode.custom,
|
|
6377
|
+
message: "Annotation ids must be unique across the message",
|
|
6378
|
+
path: [annotationIndex, "id"]
|
|
6379
|
+
});
|
|
6380
|
+
}
|
|
6381
|
+
annotationIds.add(annotation.id);
|
|
6382
|
+
const sourceRangeKey = JSON.stringify([
|
|
6383
|
+
annotation.sourceConversationId,
|
|
6384
|
+
annotation.sourceMessageId,
|
|
6385
|
+
annotation.surface,
|
|
6386
|
+
annotation.surface === "process_transcript" ? annotation.transcriptKind : null,
|
|
6387
|
+
annotation.surface === "process_transcript" ? annotation.generationId : null,
|
|
6388
|
+
annotation.surface === "process_transcript" ? annotation.generationSeqStart : null,
|
|
6389
|
+
annotation.surface === "process_transcript" ? annotation.generationSeqEnd : null,
|
|
6390
|
+
annotation.start,
|
|
6391
|
+
annotation.end
|
|
6392
|
+
]);
|
|
6393
|
+
if (sourceRanges.has(sourceRangeKey)) {
|
|
6394
|
+
ctx.addIssue({
|
|
6395
|
+
code: external_exports.ZodIssueCode.custom,
|
|
6396
|
+
message: "Annotation source ranges must be unique across the message",
|
|
6397
|
+
path: [annotationIndex, "start"]
|
|
6398
|
+
});
|
|
6399
|
+
}
|
|
6400
|
+
sourceRanges.add(sourceRangeKey);
|
|
6401
|
+
annotation.attachmentIds.forEach((attachmentId, attachmentIndex) => {
|
|
6402
|
+
if (attachmentIds.has(attachmentId)) {
|
|
6403
|
+
ctx.addIssue({
|
|
6404
|
+
code: external_exports.ZodIssueCode.custom,
|
|
6405
|
+
message: "Annotation attachment ids must be unique across the message",
|
|
6406
|
+
path: [annotationIndex, "attachmentIds", attachmentIndex]
|
|
6407
|
+
});
|
|
6408
|
+
}
|
|
6409
|
+
attachmentIds.add(attachmentId);
|
|
6410
|
+
});
|
|
6411
|
+
annotation.attachmentFileIndexes?.forEach((fileIndex, attachmentIndex) => {
|
|
6412
|
+
if (attachmentFileIndexes.has(fileIndex)) {
|
|
6413
|
+
ctx.addIssue({
|
|
6414
|
+
code: external_exports.ZodIssueCode.custom,
|
|
6415
|
+
message: "Annotation attachment file indexes must be unique across the message",
|
|
6416
|
+
path: [annotationIndex, "attachmentFileIndexes", attachmentIndex]
|
|
6417
|
+
});
|
|
6418
|
+
}
|
|
6419
|
+
attachmentFileIndexes.add(fileIndex);
|
|
6420
|
+
});
|
|
6421
|
+
});
|
|
6422
|
+
if (totalTextLength > MAX_CHAT_INLINE_ANNOTATION_TOTAL_TEXT_LENGTH) {
|
|
6423
|
+
ctx.addIssue({
|
|
6424
|
+
code: external_exports.ZodIssueCode.custom,
|
|
6425
|
+
message: `Annotation selected text and comments must not exceed ${MAX_CHAT_INLINE_ANNOTATION_TOTAL_TEXT_LENGTH} characters`
|
|
6426
|
+
});
|
|
6427
|
+
}
|
|
6428
|
+
if (attachmentReferenceCount > MAX_CHAT_INLINE_ANNOTATION_ATTACHMENTS) {
|
|
6429
|
+
ctx.addIssue({
|
|
6430
|
+
code: external_exports.ZodIssueCode.custom,
|
|
6431
|
+
message: `Annotations must not reference more than ${MAX_CHAT_INLINE_ANNOTATION_ATTACHMENTS} attachments`
|
|
6432
|
+
});
|
|
6433
|
+
}
|
|
6434
|
+
});
|
|
6435
|
+
}
|
|
6436
|
+
var chatInlineAnnotationsSchema = createChatInlineAnnotationsSchema(chatInlineAnnotationSchema);
|
|
6437
|
+
var chatInlineAnnotationsInputSchema = createChatInlineAnnotationsSchema(chatInlineAnnotationInputSchema);
|
|
5750
6438
|
var createChatContextLinkSchema = external_exports.object({
|
|
5751
6439
|
entityType: chatContextEntityTypeSchema,
|
|
5752
6440
|
entityId: external_exports.string().min(1),
|
|
@@ -5786,28 +6474,65 @@ var createSideChatSchema = external_exports.object({
|
|
|
5786
6474
|
clientMutationId: external_exports.string().trim().min(1).max(120)
|
|
5787
6475
|
});
|
|
5788
6476
|
var addChatMessageSchema = external_exports.object({
|
|
5789
|
-
body: external_exports.string().trim().
|
|
6477
|
+
body: external_exports.string().trim().max(2e4).default(""),
|
|
6478
|
+
inlineAnnotations: chatInlineAnnotationsInputSchema.optional(),
|
|
5790
6479
|
editUserMessageId: external_exports.string().uuid().optional().nullable(),
|
|
5791
6480
|
queuedMessageId: external_exports.string().uuid().optional().nullable()
|
|
6481
|
+
}).superRefine((value, ctx) => {
|
|
6482
|
+
if (value.body.length === 0 && (value.inlineAnnotations?.length ?? 0) === 0) {
|
|
6483
|
+
ctx.addIssue({
|
|
6484
|
+
code: external_exports.ZodIssueCode.custom,
|
|
6485
|
+
message: "Chat message body or at least one inline annotation is required",
|
|
6486
|
+
path: ["body"]
|
|
6487
|
+
});
|
|
6488
|
+
}
|
|
5792
6489
|
});
|
|
5793
6490
|
var chatQueuedMessagePayloadSchema = external_exports.object({
|
|
5794
|
-
body: external_exports.string().trim().
|
|
6491
|
+
body: external_exports.string().trim().max(2e4).default(""),
|
|
5795
6492
|
attachmentIds: external_exports.array(external_exports.string().uuid()).optional().default([]),
|
|
6493
|
+
inlineAnnotations: chatInlineAnnotationsInputSchema.optional().default([]),
|
|
5796
6494
|
projectId: external_exports.string().uuid().optional().nullable(),
|
|
5797
6495
|
skillRefs: external_exports.array(external_exports.string().trim().min(1).max(240)).optional().default([]),
|
|
5798
6496
|
accessMode: external_exports.string().trim().min(1).max(120).optional().nullable(),
|
|
5799
6497
|
model: external_exports.string().trim().min(1).max(120).optional().nullable(),
|
|
5800
6498
|
effort: external_exports.string().trim().min(1).max(120).optional().nullable(),
|
|
5801
6499
|
metadata: external_exports.record(external_exports.unknown()).optional().nullable()
|
|
6500
|
+
}).superRefine((value, ctx) => {
|
|
6501
|
+
if (value.body.length === 0 && value.inlineAnnotations.length === 0) {
|
|
6502
|
+
ctx.addIssue({
|
|
6503
|
+
code: external_exports.ZodIssueCode.custom,
|
|
6504
|
+
message: "Queued message body or at least one inline annotation is required",
|
|
6505
|
+
path: ["body"]
|
|
6506
|
+
});
|
|
6507
|
+
}
|
|
5802
6508
|
});
|
|
5803
6509
|
var createChatQueuedMessageSchema = external_exports.object({
|
|
5804
6510
|
clientMutationId: external_exports.string().trim().min(1).max(120),
|
|
5805
6511
|
expectedGenerationId: external_exports.string().uuid().optional().nullable(),
|
|
5806
6512
|
payload: chatQueuedMessagePayloadSchema
|
|
5807
6513
|
});
|
|
6514
|
+
var chatQueuedMessageUpdatePayloadSchema = external_exports.object({
|
|
6515
|
+
body: external_exports.string().trim().max(2e4).default(""),
|
|
6516
|
+
attachmentIds: external_exports.array(external_exports.string().uuid()).optional().default([]),
|
|
6517
|
+
inlineAnnotations: chatInlineAnnotationsInputSchema.optional(),
|
|
6518
|
+
projectId: external_exports.string().uuid().optional().nullable(),
|
|
6519
|
+
skillRefs: external_exports.array(external_exports.string().trim().min(1).max(240)).optional().default([]),
|
|
6520
|
+
accessMode: external_exports.string().trim().min(1).max(120).optional().nullable(),
|
|
6521
|
+
model: external_exports.string().trim().min(1).max(120).optional().nullable(),
|
|
6522
|
+
effort: external_exports.string().trim().min(1).max(120).optional().nullable(),
|
|
6523
|
+
metadata: external_exports.record(external_exports.unknown()).optional().nullable()
|
|
6524
|
+
}).superRefine((value, ctx) => {
|
|
6525
|
+
if (value.body.length === 0 && value.inlineAnnotations !== void 0 && value.inlineAnnotations.length === 0) {
|
|
6526
|
+
ctx.addIssue({
|
|
6527
|
+
code: external_exports.ZodIssueCode.custom,
|
|
6528
|
+
message: "Queued message body or at least one inline annotation is required",
|
|
6529
|
+
path: ["body"]
|
|
6530
|
+
});
|
|
6531
|
+
}
|
|
6532
|
+
});
|
|
5808
6533
|
var updateChatQueuedMessageSchema = external_exports.object({
|
|
5809
6534
|
version: external_exports.number().int().positive(),
|
|
5810
|
-
payload:
|
|
6535
|
+
payload: chatQueuedMessageUpdatePayloadSchema
|
|
5811
6536
|
});
|
|
5812
6537
|
var cancelChatQueuedMessageSchema = external_exports.object({
|
|
5813
6538
|
version: external_exports.number().int().positive().optional()
|
|
@@ -6040,6 +6765,7 @@ var messengerItemKeysSchema = external_exports.array(messengerItemKeySchema).min
|
|
|
6040
6765
|
var createMessengerCustomGroupWithEntriesSchema = createMessengerCustomGroupSchema.extend({
|
|
6041
6766
|
itemKeys: messengerItemKeysSchema.optional(),
|
|
6042
6767
|
threadKeys: messengerItemKeysSchema.optional(),
|
|
6768
|
+
anchorItemKey: messengerItemKeySchema.optional(),
|
|
6043
6769
|
autoGenerateName: external_exports.boolean().optional()
|
|
6044
6770
|
}).superRefine((value, ctx) => {
|
|
6045
6771
|
if (!value.itemKeys && !value.threadKeys) {
|
|
@@ -6047,6 +6773,14 @@ var createMessengerCustomGroupWithEntriesSchema = createMessengerCustomGroupSche
|
|
|
6047
6773
|
} else if (value.itemKeys && value.threadKeys && JSON.stringify(value.itemKeys) !== JSON.stringify(value.threadKeys)) {
|
|
6048
6774
|
ctx.addIssue({ code: "custom", message: "itemKeys and threadKeys must match", path: ["itemKeys"] });
|
|
6049
6775
|
}
|
|
6776
|
+
const itemKeys = value.itemKeys ?? value.threadKeys;
|
|
6777
|
+
if (value.anchorItemKey && itemKeys && !itemKeys.includes(value.anchorItemKey)) {
|
|
6778
|
+
ctx.addIssue({
|
|
6779
|
+
code: "custom",
|
|
6780
|
+
message: "anchorItemKey must be included in itemKeys",
|
|
6781
|
+
path: ["anchorItemKey"]
|
|
6782
|
+
});
|
|
6783
|
+
}
|
|
6050
6784
|
}).transform((value) => ({ ...value, itemKeys: value.itemKeys ?? value.threadKeys }));
|
|
6051
6785
|
var updateMessengerCustomGroupSchema = external_exports.object({
|
|
6052
6786
|
name: external_exports.string().trim().min(1).max(80).optional(),
|
|
@@ -6364,16 +7098,16 @@ var createSecretSchema = external_exports.object({
|
|
|
6364
7098
|
value: external_exports.string().min(1),
|
|
6365
7099
|
description: external_exports.string().optional().nullable(),
|
|
6366
7100
|
externalRef: external_exports.string().optional().nullable()
|
|
6367
|
-
});
|
|
7101
|
+
}).strict();
|
|
6368
7102
|
var rotateSecretSchema = external_exports.object({
|
|
6369
7103
|
value: external_exports.string().min(1),
|
|
6370
7104
|
externalRef: external_exports.string().optional().nullable()
|
|
6371
|
-
});
|
|
7105
|
+
}).strict();
|
|
6372
7106
|
var updateSecretSchema = external_exports.object({
|
|
6373
7107
|
name: external_exports.string().min(1).optional(),
|
|
6374
7108
|
description: external_exports.string().optional().nullable(),
|
|
6375
7109
|
externalRef: external_exports.string().optional().nullable()
|
|
6376
|
-
});
|
|
7110
|
+
}).strict();
|
|
6377
7111
|
|
|
6378
7112
|
// ../../../shared/src/validators/model-fallbacks.ts
|
|
6379
7113
|
var agentRuntimeTypes = new Set(AGENT_RUNTIME_TYPES);
|