mcp-creatio 0.6.2 → 0.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +280 -156
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +27 -10
- package/dist/cli.js.map +1 -1
- package/dist/config-builder.d.ts +8 -0
- package/dist/config-builder.d.ts.map +1 -1
- package/dist/config-builder.js +147 -43
- package/dist/config-builder.js.map +1 -1
- package/dist/consts.d.ts.map +1 -1
- package/dist/consts.js +2 -1
- package/dist/consts.js.map +1 -1
- package/dist/creatio/auth/auth-manager.d.ts.map +1 -1
- package/dist/creatio/auth/auth-manager.js +5 -2
- package/dist/creatio/auth/auth-manager.js.map +1 -1
- package/dist/creatio/auth/auth.d.ts +4 -31
- package/dist/creatio/auth/auth.d.ts.map +1 -1
- package/dist/creatio/auth/auth.js +20 -26
- package/dist/creatio/auth/auth.js.map +1 -1
- package/dist/creatio/auth/constants.d.ts +14 -0
- package/dist/creatio/auth/constants.d.ts.map +1 -0
- package/dist/creatio/auth/constants.js +20 -0
- package/dist/creatio/auth/constants.js.map +1 -0
- package/dist/creatio/auth/contracts.d.ts +15 -0
- package/dist/creatio/auth/contracts.d.ts.map +1 -0
- package/dist/creatio/auth/contracts.js +3 -0
- package/dist/creatio/auth/contracts.js.map +1 -0
- package/dist/creatio/auth/headers.d.ts +3 -0
- package/dist/creatio/auth/headers.d.ts.map +1 -0
- package/dist/creatio/auth/headers.js +15 -0
- package/dist/creatio/auth/headers.js.map +1 -0
- package/dist/creatio/auth/identity.d.ts +8 -0
- package/dist/creatio/auth/identity.d.ts.map +1 -0
- package/dist/creatio/auth/identity.js +18 -0
- package/dist/creatio/auth/identity.js.map +1 -0
- package/dist/creatio/auth/index.d.ts +4 -3
- package/dist/creatio/auth/index.d.ts.map +1 -1
- package/dist/creatio/auth/index.js +5 -3
- package/dist/creatio/auth/index.js.map +1 -1
- package/dist/creatio/auth/providers/base-oauth2-provider.d.ts +13 -7
- package/dist/creatio/auth/providers/base-oauth2-provider.d.ts.map +1 -1
- package/dist/creatio/auth/providers/base-oauth2-provider.js +29 -19
- package/dist/creatio/auth/providers/base-oauth2-provider.js.map +1 -1
- package/dist/creatio/auth/providers/base-provider.js +1 -1
- package/dist/creatio/auth/providers/base-provider.js.map +1 -1
- package/dist/creatio/auth/providers/broker-provider.d.ts +20 -0
- package/dist/creatio/auth/providers/broker-provider.d.ts.map +1 -0
- package/dist/creatio/auth/providers/broker-provider.js +72 -0
- package/dist/creatio/auth/providers/broker-provider.js.map +1 -0
- package/dist/creatio/auth/providers/creatio-oauth-client.d.ts +27 -0
- package/dist/creatio/auth/providers/creatio-oauth-client.d.ts.map +1 -0
- package/dist/creatio/auth/providers/creatio-oauth-client.js +122 -0
- package/dist/creatio/auth/providers/creatio-oauth-client.js.map +1 -0
- package/dist/creatio/auth/providers/index.d.ts +3 -1
- package/dist/creatio/auth/providers/index.d.ts.map +1 -1
- package/dist/creatio/auth/providers/index.js +3 -1
- package/dist/creatio/auth/providers/index.js.map +1 -1
- package/dist/creatio/auth/providers/oauth2-bearer-provider.d.ts +17 -0
- package/dist/creatio/auth/providers/oauth2-bearer-provider.d.ts.map +1 -0
- package/dist/creatio/auth/providers/oauth2-bearer-provider.js +33 -0
- package/dist/creatio/auth/providers/oauth2-bearer-provider.js.map +1 -0
- package/dist/creatio/auth/providers/oauth2-provider.d.ts +2 -2
- package/dist/creatio/auth/providers/oauth2-provider.d.ts.map +1 -1
- package/dist/creatio/auth/providers/oauth2-provider.js +4 -9
- package/dist/creatio/auth/providers/oauth2-provider.js.map +1 -1
- package/dist/creatio/auth/providers/type.d.ts +20 -1
- package/dist/creatio/auth/providers/type.d.ts.map +1 -1
- package/dist/creatio/auth/providers/type.js +22 -2
- package/dist/creatio/auth/providers/type.js.map +1 -1
- package/dist/creatio/client-config.d.ts +26 -5
- package/dist/creatio/client-config.d.ts.map +1 -1
- package/dist/creatio/engines/admin-operation-engine.d.ts +1 -1
- package/dist/creatio/engines/admin-operation-engine.d.ts.map +1 -1
- package/dist/creatio/engines/admin-operation-engine.js +3 -3
- package/dist/creatio/engines/admin-operation-engine.js.map +1 -1
- package/dist/creatio/engines/configuration-engine.d.ts +1 -1
- package/dist/creatio/engines/configuration-engine.d.ts.map +1 -1
- package/dist/creatio/engines/configuration-engine.js +3 -3
- package/dist/creatio/engines/configuration-engine.js.map +1 -1
- package/dist/creatio/engines/crud-engine.d.ts +1 -1
- package/dist/creatio/engines/crud-engine.d.ts.map +1 -1
- package/dist/creatio/engines/crud-engine.js +4 -4
- package/dist/creatio/engines/crud-engine.js.map +1 -1
- package/dist/creatio/engines/engine-manager.d.ts +4 -2
- package/dist/creatio/engines/engine-manager.d.ts.map +1 -1
- package/dist/creatio/engines/engine-manager.js +9 -10
- package/dist/creatio/engines/engine-manager.js.map +1 -1
- package/dist/creatio/engines/engine.d.ts.map +1 -1
- package/dist/creatio/engines/engine.js +12 -1
- package/dist/creatio/engines/engine.js.map +1 -1
- package/dist/creatio/engines/feature-engine.d.ts +1 -1
- package/dist/creatio/engines/feature-engine.d.ts.map +1 -1
- package/dist/creatio/engines/feature-engine.js +3 -3
- package/dist/creatio/engines/feature-engine.js.map +1 -1
- package/dist/creatio/engines/process-engine.d.ts +1 -1
- package/dist/creatio/engines/process-engine.d.ts.map +1 -1
- package/dist/creatio/engines/process-engine.js +3 -3
- package/dist/creatio/engines/process-engine.js.map +1 -1
- package/dist/creatio/engines/sys-settings-engine.d.ts +1 -1
- package/dist/creatio/engines/sys-settings-engine.d.ts.map +1 -1
- package/dist/creatio/engines/sys-settings-engine.js +3 -3
- package/dist/creatio/engines/sys-settings-engine.js.map +1 -1
- package/dist/creatio/engines/user-engine.d.ts +1 -1
- package/dist/creatio/engines/user-engine.d.ts.map +1 -1
- package/dist/creatio/engines/user-engine.js +3 -3
- package/dist/creatio/engines/user-engine.js.map +1 -1
- package/dist/creatio/provider-context.d.ts +3 -0
- package/dist/creatio/provider-context.d.ts.map +1 -1
- package/dist/creatio/services/client-cache-hash-client.d.ts +22 -0
- package/dist/creatio/services/client-cache-hash-client.d.ts.map +1 -0
- package/dist/creatio/services/client-cache-hash-client.js +56 -0
- package/dist/creatio/services/client-cache-hash-client.js.map +1 -0
- package/dist/creatio/services/creatio-service-context.d.ts +6 -1
- package/dist/creatio/services/creatio-service-context.d.ts.map +1 -1
- package/dist/creatio/services/creatio-service-context.js +15 -1
- package/dist/creatio/services/creatio-service-context.js.map +1 -1
- package/dist/creatio/services/crud-provider-factory.d.ts +4 -0
- package/dist/creatio/services/crud-provider-factory.d.ts.map +1 -1
- package/dist/creatio/services/crud-provider-factory.js +1 -1
- package/dist/creatio/services/crud-provider-factory.js.map +1 -1
- package/dist/creatio/services/dataservice/data-service-column-values.d.ts.map +1 -1
- package/dist/creatio/services/dataservice/data-service-crud-provider.d.ts +5 -3
- package/dist/creatio/services/dataservice/data-service-crud-provider.d.ts.map +1 -1
- package/dist/creatio/services/dataservice/data-service-crud-provider.js +8 -6
- package/dist/creatio/services/dataservice/data-service-crud-provider.js.map +1 -1
- package/dist/creatio/services/dataservice/data-service-filter-translator.d.ts.map +1 -1
- package/dist/creatio/services/dataservice/data-service-filter-translator.js +7 -2
- package/dist/creatio/services/dataservice/data-service-filter-translator.js.map +1 -1
- package/dist/creatio/services/dataservice/data-service-query-builder.d.ts.map +1 -1
- package/dist/creatio/services/dataservice/data-service-query-builder.js.map +1 -1
- package/dist/creatio/services/dataservice/data-service-schema.d.ts +6 -4
- package/dist/creatio/services/dataservice/data-service-schema.d.ts.map +1 -1
- package/dist/creatio/services/dataservice/data-service-schema.js +29 -18
- package/dist/creatio/services/dataservice/data-service-schema.js.map +1 -1
- package/dist/creatio/services/dataservice/data-service-transport.d.ts +4 -1
- package/dist/creatio/services/dataservice/data-service-transport.d.ts.map +1 -1
- package/dist/creatio/services/dataservice/data-service-transport.js +8 -3
- package/dist/creatio/services/dataservice/data-service-transport.js.map +1 -1
- package/dist/creatio/services/dataservice/data-service-types.d.ts +0 -19
- package/dist/creatio/services/dataservice/data-service-types.d.ts.map +1 -1
- package/dist/creatio/services/dataservice/data-service-value-type.d.ts +2 -1
- package/dist/creatio/services/dataservice/data-service-value-type.d.ts.map +1 -1
- package/dist/creatio/services/dataservice/data-service-value-type.js +20 -16
- package/dist/creatio/services/dataservice/data-service-value-type.js.map +1 -1
- package/dist/creatio/services/http-client.d.ts +13 -0
- package/dist/creatio/services/http-client.d.ts.map +1 -1
- package/dist/creatio/services/http-client.js +26 -2
- package/dist/creatio/services/http-client.js.map +1 -1
- package/dist/creatio/services/identifiers.d.ts +10 -0
- package/dist/creatio/services/identifiers.d.ts.map +1 -0
- package/dist/creatio/services/identifiers.js +20 -0
- package/dist/creatio/services/identifiers.js.map +1 -0
- package/dist/creatio/services/index.d.ts +2 -0
- package/dist/creatio/services/index.d.ts.map +1 -1
- package/dist/creatio/services/index.js +2 -0
- package/dist/creatio/services/index.js.map +1 -1
- package/dist/creatio/services/odata/metadata-store.d.ts +16 -3
- package/dist/creatio/services/odata/metadata-store.d.ts.map +1 -1
- package/dist/creatio/services/odata/metadata-store.js +65 -38
- package/dist/creatio/services/odata/metadata-store.js.map +1 -1
- package/dist/creatio/services/odata/odata-crud-provider.d.ts.map +1 -1
- package/dist/creatio/services/odata/odata-crud-provider.js +10 -25
- package/dist/creatio/services/odata/odata-crud-provider.js.map +1 -1
- package/dist/creatio/services/odata/odata-query-translator.d.ts +4 -5
- package/dist/creatio/services/odata/odata-query-translator.d.ts.map +1 -1
- package/dist/creatio/services/odata/odata-query-translator.js +32 -20
- package/dist/creatio/services/odata/odata-query-translator.js.map +1 -1
- package/dist/creatio/services/schema-freshness-gate.d.ts +26 -0
- package/dist/creatio/services/schema-freshness-gate.d.ts.map +1 -0
- package/dist/creatio/services/schema-freshness-gate.js +58 -0
- package/dist/creatio/services/schema-freshness-gate.js.map +1 -0
- package/dist/creatio/services/user-info-provider.d.ts.map +1 -1
- package/dist/creatio/services/user-info-provider.js +2 -2
- package/dist/creatio/services/user-info-provider.js.map +1 -1
- package/dist/index.js +35 -4
- package/dist/index.js.map +1 -1
- package/dist/log.d.ts +1 -1
- package/dist/log.d.ts.map +1 -1
- package/dist/log.js +6 -2
- package/dist/log.js.map +1 -1
- package/dist/server/bearer/base-url-guard.d.ts +20 -0
- package/dist/server/bearer/base-url-guard.d.ts.map +1 -0
- package/dist/server/bearer/base-url-guard.js +55 -0
- package/dist/server/bearer/base-url-guard.js.map +1 -0
- package/dist/server/bearer/bearer-edge.d.ts +42 -0
- package/dist/server/bearer/bearer-edge.d.ts.map +1 -0
- package/dist/server/bearer/bearer-edge.js +122 -0
- package/dist/server/bearer/bearer-edge.js.map +1 -0
- package/dist/server/bearer/bearer-token.d.ts +27 -0
- package/dist/server/bearer/bearer-token.d.ts.map +1 -0
- package/dist/server/bearer/bearer-token.js +50 -0
- package/dist/server/bearer/bearer-token.js.map +1 -0
- package/dist/server/bearer/index.d.ts +3 -0
- package/dist/server/bearer/index.d.ts.map +1 -0
- package/dist/server/bearer/index.js +19 -0
- package/dist/server/bearer/index.js.map +1 -0
- package/dist/server/http/auth-edge.d.ts +26 -0
- package/dist/server/http/auth-edge.d.ts.map +1 -0
- package/dist/server/http/auth-edge.js +75 -0
- package/dist/server/http/auth-edge.js.map +1 -0
- package/dist/server/http/broker-handlers.d.ts +45 -0
- package/dist/server/http/broker-handlers.d.ts.map +1 -0
- package/dist/server/http/broker-handlers.js +224 -0
- package/dist/server/http/broker-handlers.js.map +1 -0
- package/dist/server/http/{httpServer.d.ts → http-server.d.ts} +5 -13
- package/dist/server/http/http-server.d.ts.map +1 -0
- package/dist/server/http/{httpServer.js → http-server.js} +19 -53
- package/dist/server/http/http-server.js.map +1 -0
- package/dist/server/http/index.d.ts +1 -3
- package/dist/server/http/index.d.ts.map +1 -1
- package/dist/server/http/index.js +1 -3
- package/dist/server/http/index.js.map +1 -1
- package/dist/server/http/mcp-handlers.d.ts.map +1 -1
- package/dist/server/http/mcp-handlers.js +16 -3
- package/dist/server/http/mcp-handlers.js.map +1 -1
- package/dist/server/http/middleware.d.ts +3 -4
- package/dist/server/http/middleware.d.ts.map +1 -1
- package/dist/server/http/middleware.js +33 -23
- package/dist/server/http/middleware.js.map +1 -1
- package/dist/server/http/public-origin.d.ts +10 -0
- package/dist/server/http/public-origin.d.ts.map +1 -0
- package/dist/server/http/public-origin.js +19 -0
- package/dist/server/http/public-origin.js.map +1 -0
- package/dist/server/http/rate-limiter.d.ts +1 -1
- package/dist/server/http/rate-limiter.d.ts.map +1 -1
- package/dist/server/http/rate-limiter.js +11 -11
- package/dist/server/http/rate-limiter.js.map +1 -1
- package/dist/server/http-agent.d.ts +9 -0
- package/dist/server/http-agent.d.ts.map +1 -0
- package/dist/server/http-agent.js +35 -0
- package/dist/server/http-agent.js.map +1 -0
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/keepalive.d.ts +26 -0
- package/dist/server/keepalive.d.ts.map +1 -0
- package/dist/server/keepalive.js +64 -0
- package/dist/server/keepalive.js.map +1 -0
- package/dist/server/mcp/creatio-rest.d.ts +6 -0
- package/dist/server/mcp/creatio-rest.d.ts.map +1 -1
- package/dist/server/mcp/creatio-rest.js +21 -3
- package/dist/server/mcp/creatio-rest.js.map +1 -1
- package/dist/server/mcp/crtmcp/crt-mcp-client.d.ts +1 -1
- package/dist/server/mcp/crtmcp/crt-mcp-client.d.ts.map +1 -1
- package/dist/server/mcp/crtmcp/crt-mcp-client.js +16 -13
- package/dist/server/mcp/crtmcp/crt-mcp-client.js.map +1 -1
- package/dist/server/mcp/crtmcp/crt-mcp-tool-preparer.d.ts +2 -2
- package/dist/server/mcp/crtmcp/crt-mcp-tool-preparer.d.ts.map +1 -1
- package/dist/server/mcp/crtmcp/crt-mcp-tool-preparer.js +17 -17
- package/dist/server/mcp/crtmcp/crt-mcp-tool-preparer.js.map +1 -1
- package/dist/server/mcp/dataforge/dataforge-client.d.ts +12 -12
- package/dist/server/mcp/dataforge/dataforge-client.d.ts.map +1 -1
- package/dist/server/mcp/dataforge/dataforge-client.js +40 -47
- package/dist/server/mcp/dataforge/dataforge-client.js.map +1 -1
- package/dist/server/mcp/dataforge/dataforge-tool-preparer.d.ts +2 -2
- package/dist/server/mcp/dataforge/dataforge-tool-preparer.d.ts.map +1 -1
- package/dist/server/mcp/dataforge/dataforge-tool-preparer.js +9 -9
- package/dist/server/mcp/dataforge/dataforge-tool-preparer.js.map +1 -1
- package/dist/server/mcp/filters.d.ts.map +1 -1
- package/dist/server/mcp/filters.js +4 -1
- package/dist/server/mcp/filters.js.map +1 -1
- package/dist/server/mcp/globalsearch/globalsearch-client.d.ts +4 -4
- package/dist/server/mcp/globalsearch/globalsearch-client.d.ts.map +1 -1
- package/dist/server/mcp/globalsearch/globalsearch-client.js +39 -50
- package/dist/server/mcp/globalsearch/globalsearch-client.js.map +1 -1
- package/dist/server/mcp/globalsearch/globalsearch-tool-preparer.d.ts +1 -1
- package/dist/server/mcp/globalsearch/globalsearch-tool-preparer.d.ts.map +1 -1
- package/dist/server/mcp/globalsearch/globalsearch-tool-preparer.js +1 -1
- package/dist/server/mcp/globalsearch/globalsearch-tool-preparer.js.map +1 -1
- package/dist/server/mcp/server.d.ts +35 -8
- package/dist/server/mcp/server.d.ts.map +1 -1
- package/dist/server/mcp/server.js +113 -45
- package/dist/server/mcp/server.js.map +1 -1
- package/dist/server/mcp/tools-data.d.ts +2 -2
- package/dist/server/mcp/tools-data.d.ts.map +1 -1
- package/dist/server/mcp/tools-data.js +1 -1
- package/dist/server/mcp/tools-data.js.map +1 -1
- package/dist/server/oauth/oauth-server.d.ts +41 -10
- package/dist/server/oauth/oauth-server.d.ts.map +1 -1
- package/dist/server/oauth/oauth-server.js +82 -48
- package/dist/server/oauth/oauth-server.js.map +1 -1
- package/dist/server/oauth/storage.d.ts +42 -5
- package/dist/server/oauth/storage.d.ts.map +1 -1
- package/dist/server/oauth/storage.js +81 -18
- package/dist/server/oauth/storage.js.map +1 -1
- package/dist/server/oauth/token-manager.d.ts +21 -4
- package/dist/server/oauth/token-manager.d.ts.map +1 -1
- package/dist/server/oauth/token-manager.js +18 -19
- package/dist/server/oauth/token-manager.js.map +1 -1
- package/dist/server/oauth/types.d.ts +0 -12
- package/dist/server/oauth/types.d.ts.map +1 -1
- package/dist/server/oauth/validators.d.ts.map +1 -1
- package/dist/server/oauth/validators.js +14 -5
- package/dist/server/oauth/validators.js.map +1 -1
- package/dist/sessions/index.d.ts +1 -1
- package/dist/sessions/index.d.ts.map +1 -1
- package/dist/sessions/index.js +1 -1
- package/dist/sessions/index.js.map +1 -1
- package/dist/sessions/redis-token-store.d.ts +22 -0
- package/dist/sessions/redis-token-store.d.ts.map +1 -0
- package/dist/sessions/redis-token-store.js +70 -0
- package/dist/sessions/redis-token-store.js.map +1 -0
- package/dist/sessions/session-context.d.ts +21 -40
- package/dist/sessions/session-context.d.ts.map +1 -1
- package/dist/sessions/session-context.js +25 -105
- package/dist/sessions/session-context.js.map +1 -1
- package/dist/sessions/token-crypto.d.ts +8 -0
- package/dist/sessions/token-crypto.d.ts.map +1 -0
- package/dist/sessions/token-crypto.js +43 -0
- package/dist/sessions/token-crypto.js.map +1 -0
- package/dist/sessions/token-store.d.ts +42 -0
- package/dist/sessions/token-store.d.ts.map +1 -0
- package/dist/sessions/token-store.js +66 -0
- package/dist/sessions/token-store.js.map +1 -0
- package/dist/utils/context.d.ts +12 -0
- package/dist/utils/context.d.ts.map +1 -1
- package/dist/utils/context.js +16 -0
- package/dist/utils/context.js.map +1 -1
- package/dist/utils/env-aliases.d.ts +9 -0
- package/dist/utils/env-aliases.d.ts.map +1 -0
- package/dist/utils/env-aliases.js +61 -0
- package/dist/utils/env-aliases.js.map +1 -0
- package/dist/utils/env.d.ts +5 -0
- package/dist/utils/env.d.ts.map +1 -1
- package/dist/utils/env.js +10 -1
- package/dist/utils/env.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/redact.d.ts +25 -0
- package/dist/utils/redact.d.ts.map +1 -0
- package/dist/utils/redact.js +64 -0
- package/dist/utils/redact.js.map +1 -0
- package/package.json +78 -76
- package/dist/creatio/auth/providers/oauth2-code-provider.d.ts +0 -21
- package/dist/creatio/auth/providers/oauth2-code-provider.d.ts.map +0 -1
- package/dist/creatio/auth/providers/oauth2-code-provider.js +0 -251
- package/dist/creatio/auth/providers/oauth2-code-provider.js.map +0 -1
- package/dist/server/http/creatio-oauth-handlers.d.ts +0 -13
- package/dist/server/http/creatio-oauth-handlers.d.ts.map +0 -1
- package/dist/server/http/creatio-oauth-handlers.js +0 -160
- package/dist/server/http/creatio-oauth-handlers.js.map +0 -1
- package/dist/server/http/httpServer.d.ts.map +0 -1
- package/dist/server/http/httpServer.js.map +0 -1
- package/dist/server/http/mcp-oauth-handlers.d.ts +0 -11
- package/dist/server/http/mcp-oauth-handlers.d.ts.map +0 -1
- package/dist/server/http/mcp-oauth-handlers.js +0 -118
- package/dist/server/http/mcp-oauth-handlers.js.map +0 -1
- package/dist/sessions/token-refresh-scheduler.d.ts +0 -16
- package/dist/sessions/token-refresh-scheduler.d.ts.map +0 -1
- package/dist/sessions/token-refresh-scheduler.js +0 -66
- package/dist/sessions/token-refresh-scheduler.js.map +0 -1
package/dist/utils/context.d.ts
CHANGED
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
export type RequestContext = {
|
|
2
2
|
userKey?: string | undefined;
|
|
3
3
|
sessionId?: string | undefined;
|
|
4
|
+
/**
|
|
5
|
+
* The raw Bearer token from the incoming request, in the stateless per-request auth model
|
|
6
|
+
* (delegated/gateway). It is the Creatio access token the client/gateway obtained; the bearer
|
|
7
|
+
* auth provider passes it straight through to Creatio. Absent for legacy/client-credentials.
|
|
8
|
+
*/
|
|
9
|
+
bearerToken?: string | undefined;
|
|
10
|
+
/** Optional per-request Creatio instance override (gateway multi-tenant), from X-Creatio-Base-Url. */
|
|
11
|
+
baseUrlOverride?: string | undefined;
|
|
4
12
|
};
|
|
5
13
|
export declare function runWithContext<T>(ctx: Partial<RequestContext>, fn: () => Promise<T>): Promise<T>;
|
|
6
14
|
export declare function getRequestContext(): RequestContext | undefined;
|
|
7
15
|
export declare function getUserKey(): string | undefined;
|
|
8
16
|
export declare function getSessionId(): string | undefined;
|
|
17
|
+
/** The raw per-request Bearer token (stateless delegated/gateway auth), if any. */
|
|
18
|
+
export declare function getBearerToken(): string | undefined;
|
|
19
|
+
/** The per-request Creatio base-URL override (gateway multi-tenant), if any. */
|
|
20
|
+
export declare function getBaseUrlOverride(): string | undefined;
|
|
9
21
|
export declare function getEffectiveUserKey(): string | undefined;
|
|
10
22
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/utils/context.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,cAAc,GAAG;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/utils/context.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,cAAc,GAAG;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,sGAAsG;IACtG,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC,CAAC;AAMF,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAehG;AAED,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,SAAS,CAE9D;AAED,wBAAgB,UAAU,IAAI,MAAM,GAAG,SAAS,CAE/C;AAED,wBAAgB,YAAY,IAAI,MAAM,GAAG,SAAS,CAEjD;AAED,mFAAmF;AACnF,wBAAgB,cAAc,IAAI,MAAM,GAAG,SAAS,CAEnD;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAEvD;AAED,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAYxD"}
|
package/dist/utils/context.js
CHANGED
|
@@ -4,6 +4,8 @@ exports.runWithContext = runWithContext;
|
|
|
4
4
|
exports.getRequestContext = getRequestContext;
|
|
5
5
|
exports.getUserKey = getUserKey;
|
|
6
6
|
exports.getSessionId = getSessionId;
|
|
7
|
+
exports.getBearerToken = getBearerToken;
|
|
8
|
+
exports.getBaseUrlOverride = getBaseUrlOverride;
|
|
7
9
|
exports.getEffectiveUserKey = getEffectiveUserKey;
|
|
8
10
|
const node_async_hooks_1 = require("node:async_hooks");
|
|
9
11
|
const sessions_1 = require("../sessions");
|
|
@@ -17,6 +19,12 @@ function runWithContext(ctx, fn) {
|
|
|
17
19
|
if (typeof ctx.sessionId === 'string') {
|
|
18
20
|
store.sessionId = ctx.sessionId;
|
|
19
21
|
}
|
|
22
|
+
if (typeof ctx.bearerToken === 'string') {
|
|
23
|
+
store.bearerToken = ctx.bearerToken;
|
|
24
|
+
}
|
|
25
|
+
if (typeof ctx.baseUrlOverride === 'string') {
|
|
26
|
+
store.baseUrlOverride = ctx.baseUrlOverride;
|
|
27
|
+
}
|
|
20
28
|
return als.run(store, fn);
|
|
21
29
|
}
|
|
22
30
|
function getRequestContext() {
|
|
@@ -28,6 +36,14 @@ function getUserKey() {
|
|
|
28
36
|
function getSessionId() {
|
|
29
37
|
return als.getStore()?.sessionId;
|
|
30
38
|
}
|
|
39
|
+
/** The raw per-request Bearer token (stateless delegated/gateway auth), if any. */
|
|
40
|
+
function getBearerToken() {
|
|
41
|
+
return als.getStore()?.bearerToken;
|
|
42
|
+
}
|
|
43
|
+
/** The per-request Creatio base-URL override (gateway multi-tenant), if any. */
|
|
44
|
+
function getBaseUrlOverride() {
|
|
45
|
+
return als.getStore()?.baseUrlOverride;
|
|
46
|
+
}
|
|
31
47
|
function getEffectiveUserKey() {
|
|
32
48
|
const ctx = als.getStore();
|
|
33
49
|
if (ctx?.userKey) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/utils/context.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/utils/context.ts"],"names":[],"mappings":";;AAqBA,wCAeC;AAED,8CAEC;AAED,gCAEC;AAED,oCAEC;AAGD,wCAEC;AAGD,gDAEC;AAED,kDAYC;AAxED,uDAAqD;AAErD,0CAA6C;AAe7C,MAAM,GAAG,GAAG,IAAI,oCAAiB,EAAkB,CAAC;AAEpD,MAAM,cAAc,GAAG,yBAAc,CAAC,QAAQ,CAAC;AAE/C,SAAgB,cAAc,CAAI,GAA4B,EAAE,EAAoB;IACnF,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACrC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC7B,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACvC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;IACjC,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QACzC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;IACrC,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;QAC7C,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;IAC7C,CAAC;IACD,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,SAAgB,iBAAiB;IAChC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACvB,CAAC;AAED,SAAgB,UAAU;IACzB,OAAO,GAAG,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC;AAChC,CAAC;AAED,SAAgB,YAAY;IAC3B,OAAO,GAAG,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC;AAClC,CAAC;AAED,mFAAmF;AACnF,SAAgB,cAAc;IAC7B,OAAO,GAAG,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC;AACpC,CAAC;AAED,gFAAgF;AAChF,SAAgB,kBAAkB;IACjC,OAAO,GAAG,CAAC,QAAQ,EAAE,EAAE,eAAe,CAAC;AACxC,CAAC;AAED,SAAgB,mBAAmB;IAClC,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC3B,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC;QAClB,OAAO,GAAG,CAAC,OAAO,CAAC;IACpB,CAAC;IACD,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACtB,OAAO,OAAO,CAAC,OAAO,CAAC;QACxB,CAAC;IACF,CAAC;IACD,OAAO,GAAG,EAAE,SAAS,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves a legacy value for a canonical variable when the canonical one is unset. Returns the
|
|
3
|
+
* first legacy alias that holds a value (notifying once per deprecated alias actually used), or
|
|
4
|
+
* `undefined` when the variable has no aliases / none are set.
|
|
5
|
+
*
|
|
6
|
+
* `read` is injected (DIP) so this stays decoupled from how a raw env value is fetched/normalized.
|
|
7
|
+
*/
|
|
8
|
+
export declare function resolveLegacyEnv(canonical: string, read: (name: string) => string | undefined): string | undefined;
|
|
9
|
+
//# sourceMappingURL=env-aliases.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-aliases.d.ts","sourceRoot":"","sources":["../../src/utils/env-aliases.ts"],"names":[],"mappings":"AAoDA;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC/B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GACxC,MAAM,GAAG,SAAS,CAgBpB"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveLegacyEnv = resolveLegacyEnv;
|
|
4
|
+
/**
|
|
5
|
+
* Single source of truth for backward-compatible environment names: each CANONICAL variable maps to
|
|
6
|
+
* the legacy names it superseded. Centralizing it here means the rename never leaks ad-hoc fallbacks
|
|
7
|
+
* across the codebase — call sites read only canonical names and this layer resolves the rest.
|
|
8
|
+
*
|
|
9
|
+
* These legacy names are intentionally undocumented; they exist only so an early adopter who already
|
|
10
|
+
* set an old name keeps working (with a deprecation notice) until they migrate.
|
|
11
|
+
*/
|
|
12
|
+
const LEGACY_ALIASES = {
|
|
13
|
+
// Platform convention — kept indefinitely, no deprecation notice.
|
|
14
|
+
CREATIO_MCP_PORT: [{ name: 'PORT', deprecated: false }],
|
|
15
|
+
// Renamed under the unified scheme — supported transitionally with a deprecation notice.
|
|
16
|
+
CREATIO_MCP_LOG_LEVEL: [{ name: 'MCP_CREATIO_LOG_LEVEL', deprecated: true }],
|
|
17
|
+
CREATIO_MCP_READONLY: [{ name: 'READONLY_MODE', deprecated: true }],
|
|
18
|
+
CREATIO_MCP_CRUD_BACKEND: [{ name: 'CREATIO_CRUD_BACKEND', deprecated: true }],
|
|
19
|
+
CREATIO_MCP_DISABLE_DATAFORGE: [{ name: 'DISABLE_DATAFORGE', deprecated: true }],
|
|
20
|
+
CREATIO_MCP_DISABLE_GLOBAL_SEARCH: [{ name: 'DISABLE_GLOBAL_SEARCH', deprecated: true }],
|
|
21
|
+
CREATIO_MCP_ENABLE_PUBLISHED_TOOLS: [{ name: 'ENABLE_PUBLISHED_TOOLS', deprecated: true }],
|
|
22
|
+
CREATIO_MCP_TRANSPORT: [{ name: 'MCP_TRANSPORT', deprecated: true }],
|
|
23
|
+
};
|
|
24
|
+
const _warned = new Set();
|
|
25
|
+
/**
|
|
26
|
+
* Emits the deprecation notice straight to stderr (not the structured logger) on purpose: the
|
|
27
|
+
* logging module resolves its own level through `env()`, so depending on it here would create an
|
|
28
|
+
* env ↔ log import cycle. A one-line stderr notice keeps this layer self-contained.
|
|
29
|
+
*/
|
|
30
|
+
function noticeOnce(alias, canonical) {
|
|
31
|
+
if (_warned.has(alias)) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
_warned.add(alias);
|
|
35
|
+
process.stderr.write(`[mcp-creatio] Environment variable "${alias}" is deprecated; use "${canonical}" instead.\n`);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Resolves a legacy value for a canonical variable when the canonical one is unset. Returns the
|
|
39
|
+
* first legacy alias that holds a value (notifying once per deprecated alias actually used), or
|
|
40
|
+
* `undefined` when the variable has no aliases / none are set.
|
|
41
|
+
*
|
|
42
|
+
* `read` is injected (DIP) so this stays decoupled from how a raw env value is fetched/normalized.
|
|
43
|
+
*/
|
|
44
|
+
function resolveLegacyEnv(canonical, read) {
|
|
45
|
+
const aliases = LEGACY_ALIASES[canonical];
|
|
46
|
+
if (!aliases) {
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
for (const alias of aliases) {
|
|
50
|
+
const value = read(alias.name);
|
|
51
|
+
if (value === undefined) {
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if (alias.deprecated) {
|
|
55
|
+
noticeOnce(alias.name, canonical);
|
|
56
|
+
}
|
|
57
|
+
return value;
|
|
58
|
+
}
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=env-aliases.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-aliases.js","sourceRoot":"","sources":["../../src/utils/env-aliases.ts"],"names":[],"mappings":";;AA2DA,4CAmBC;AAhED;;;;;;;GAOG;AACH,MAAM,cAAc,GAAqD;IACxE,kEAAkE;IAClE,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACvD,yFAAyF;IACzF,qBAAqB,EAAE,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC5E,oBAAoB,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACnE,wBAAwB,EAAE,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC9E,6BAA6B,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAChF,iCAAiC,EAAE,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACxF,kCAAkC,EAAE,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC1F,qBAAqB,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;CACpE,CAAC;AAEF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;AAElC;;;;GAIG;AACH,SAAS,UAAU,CAAC,KAAa,EAAE,SAAiB;IACnD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO;IACR,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,uCAAuC,KAAK,yBAAyB,SAAS,cAAc,CAC5F,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAC/B,SAAiB,EACjB,IAA0C;IAE1C,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,SAAS;QACV,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACtB,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC"}
|
package/dist/utils/env.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reads an environment variable by its CANONICAL name, transparently falling back to any legacy
|
|
3
|
+
* alias (see {@link resolveLegacyEnv}) for backward compatibility. Returns `undefined` for unset or
|
|
4
|
+
* blank values.
|
|
5
|
+
*/
|
|
1
6
|
export declare function env(name: string): string | undefined;
|
|
2
7
|
export declare function envBool(name: string, def: boolean): boolean;
|
|
3
8
|
//# sourceMappingURL=env.d.ts.map
|
package/dist/utils/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEpD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAM3D"}
|
package/dist/utils/env.js
CHANGED
|
@@ -2,10 +2,19 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.env = env;
|
|
4
4
|
exports.envBool = envBool;
|
|
5
|
-
|
|
5
|
+
const env_aliases_1 = require("./env-aliases");
|
|
6
|
+
function readRaw(name) {
|
|
6
7
|
const v = process.env[name];
|
|
7
8
|
return (v && v.trim()) || undefined;
|
|
8
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Reads an environment variable by its CANONICAL name, transparently falling back to any legacy
|
|
12
|
+
* alias (see {@link resolveLegacyEnv}) for backward compatibility. Returns `undefined` for unset or
|
|
13
|
+
* blank values.
|
|
14
|
+
*/
|
|
15
|
+
function env(name) {
|
|
16
|
+
return readRaw(name) ?? (0, env_aliases_1.resolveLegacyEnv)(name, readRaw);
|
|
17
|
+
}
|
|
9
18
|
function envBool(name, def) {
|
|
10
19
|
const v = env(name);
|
|
11
20
|
if (v == null) {
|
package/dist/utils/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":";;AAYA,kBAEC;AAED,0BAMC;AAtBD,+CAAiD;AAEjD,SAAS,OAAO,CAAC,IAAY;IAC5B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,SAAS,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,SAAgB,GAAG,CAAC,IAAY;IAC/B,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,IAAA,8BAAgB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACzD,CAAC;AAED,SAAgB,OAAO,CAAC,IAAY,EAAE,GAAY;IACjD,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACf,OAAO,GAAG,CAAC;IACZ,CAAC;IACD,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,CAAC,KAAK,GAAG,CAAC;AAChD,CAAC"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
|
package/dist/utils/index.js
CHANGED
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,wCAAsB;AACtB,4CAA0B;AAC1B,yCAAuB;AACvB,4CAA0B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,wCAAsB;AACtB,4CAA0B;AAC1B,yCAAuB;AACvB,4CAA0B;AAC1B,2CAAyB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Central secret-scrubber for anything that crosses an outward boundary — tool results relayed to
|
|
3
|
+
* the LLM client and log lines. Invariant #7 / §9 in AGENTS.md ("do not leak secrets or access
|
|
4
|
+
* tokens in tool responses; strip or mask token-like values") used to be a convention enforced by
|
|
5
|
+
* hand at each call site; this turns it into one guaranteed choke point.
|
|
6
|
+
*
|
|
7
|
+
* It is defense-in-depth, NOT the primary control: providers should still avoid putting credentials
|
|
8
|
+
* into messages/results in the first place. Because it errs toward over-redaction (a stray "Token
|
|
9
|
+
* abc" in prose is scrubbed), it is intentionally applied only at the two outward edges, never to
|
|
10
|
+
* data the server operates on internally.
|
|
11
|
+
*
|
|
12
|
+
* Complements {@link redactUrl} in the HTTP middleware (which scrubs single-use OAuth codes from
|
|
13
|
+
* request URLs) — that one is URL/query-specific; this one is a general value scrubber.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Mask credential-looking substrings in arbitrary text. Idempotent (re-running yields the same
|
|
17
|
+
* output) and safe on non-secret text (returns it unchanged). Always returns a string.
|
|
18
|
+
*/
|
|
19
|
+
export declare function redactSecrets(input: unknown): string;
|
|
20
|
+
/**
|
|
21
|
+
* Redact secrets from an Error's message while preserving the Error instance (type + stack), so the
|
|
22
|
+
* MCP layer can relay a clean message without losing diagnostics. Non-Error throwables are wrapped.
|
|
23
|
+
*/
|
|
24
|
+
export declare function redactError(err: unknown): Error;
|
|
25
|
+
//# sourceMappingURL=redact.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../../src/utils/redact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAqBH;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQpD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK,CAY/C"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Central secret-scrubber for anything that crosses an outward boundary — tool results relayed to
|
|
4
|
+
* the LLM client and log lines. Invariant #7 / §9 in AGENTS.md ("do not leak secrets or access
|
|
5
|
+
* tokens in tool responses; strip or mask token-like values") used to be a convention enforced by
|
|
6
|
+
* hand at each call site; this turns it into one guaranteed choke point.
|
|
7
|
+
*
|
|
8
|
+
* It is defense-in-depth, NOT the primary control: providers should still avoid putting credentials
|
|
9
|
+
* into messages/results in the first place. Because it errs toward over-redaction (a stray "Token
|
|
10
|
+
* abc" in prose is scrubbed), it is intentionally applied only at the two outward edges, never to
|
|
11
|
+
* data the server operates on internally.
|
|
12
|
+
*
|
|
13
|
+
* Complements {@link redactUrl} in the HTTP middleware (which scrubs single-use OAuth codes from
|
|
14
|
+
* request URLs) — that one is URL/query-specific; this one is a general value scrubber.
|
|
15
|
+
*/
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.redactSecrets = redactSecrets;
|
|
18
|
+
exports.redactError = redactError;
|
|
19
|
+
const REDACTED = '[REDACTED]';
|
|
20
|
+
/**
|
|
21
|
+
* A value following an auth scheme keyword: `Bearer <jwt>`, `Basic <b64>`, `ApiKey <v>`, `Token <v>`.
|
|
22
|
+
* The scheme is preserved (it is not the secret); only the credential after it is masked.
|
|
23
|
+
*/
|
|
24
|
+
const AUTH_SCHEME_VALUE_RE = /\b(Bearer|Basic|ApiKey|Token)\s+[\w.\-+/=]+/gi;
|
|
25
|
+
/** An `Authorization` header value in either `Authorization: <v>` or `Authorization=<v>` form. */
|
|
26
|
+
const AUTHORIZATION_HEADER_RE = /\b(Authorization)(\s*[:=]\s*)[^\s,;"']+/gi;
|
|
27
|
+
/**
|
|
28
|
+
* A secret-bearing parameter's VALUE in query-string (`client_secret=…`), form, or JSON
|
|
29
|
+
* (`"password":"…"`) shape. The key (and an optional opening quote) is preserved; the value up to
|
|
30
|
+
* the next delimiter/closing quote is masked. Stops before a closing `"` so JSON stays well-formed.
|
|
31
|
+
*/
|
|
32
|
+
const SECRET_PARAM_RE = /("?\b(?:client_secret|client_id_secret|api_key|apikey|password|passwd|pwd|access_token|refresh_token|id_token|session_token|secret|bpmcsrf)\b"?\s*[:=]\s*)("?)[^"\s,;&}]+/gi;
|
|
33
|
+
/**
|
|
34
|
+
* Mask credential-looking substrings in arbitrary text. Idempotent (re-running yields the same
|
|
35
|
+
* output) and safe on non-secret text (returns it unchanged). Always returns a string.
|
|
36
|
+
*/
|
|
37
|
+
function redactSecrets(input) {
|
|
38
|
+
if (typeof input !== 'string' || input.length === 0) {
|
|
39
|
+
return typeof input === 'string' ? input : String(input ?? '');
|
|
40
|
+
}
|
|
41
|
+
return input
|
|
42
|
+
.replace(AUTH_SCHEME_VALUE_RE, (_m, scheme) => `${scheme} ${REDACTED}`)
|
|
43
|
+
.replace(AUTHORIZATION_HEADER_RE, (_m, key, sep) => `${key}${sep}${REDACTED}`)
|
|
44
|
+
.replace(SECRET_PARAM_RE, (_m, prefix, openQuote) => `${prefix}${openQuote}${REDACTED}`);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Redact secrets from an Error's message while preserving the Error instance (type + stack), so the
|
|
48
|
+
* MCP layer can relay a clean message without losing diagnostics. Non-Error throwables are wrapped.
|
|
49
|
+
*/
|
|
50
|
+
function redactError(err) {
|
|
51
|
+
if (err instanceof Error) {
|
|
52
|
+
try {
|
|
53
|
+
err.message = redactSecrets(err.message);
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
// Some exotic Error subclasses define a non-writable `message`; fall back to a wrapper
|
|
57
|
+
// that carries the redacted text while keeping the original as the cause for debugging.
|
|
58
|
+
return new Error(redactSecrets(err.message), { cause: err });
|
|
59
|
+
}
|
|
60
|
+
return err;
|
|
61
|
+
}
|
|
62
|
+
return new Error(redactSecrets(typeof err === 'string' ? err : String(err)));
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=redact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redact.js","sourceRoot":"","sources":["../../src/utils/redact.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;AAyBH,sCAQC;AAMD,kCAYC;AAjDD,MAAM,QAAQ,GAAG,YAAY,CAAC;AAE9B;;;GAGG;AACH,MAAM,oBAAoB,GAAG,+CAA+C,CAAC;AAE7E,kGAAkG;AAClG,MAAM,uBAAuB,GAAG,2CAA2C,CAAC;AAE5E;;;;GAIG;AACH,MAAM,eAAe,GACpB,6KAA6K,CAAC;AAE/K;;;GAGG;AACH,SAAgB,aAAa,CAAC,KAAc;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,KAAK;SACV,OAAO,CAAC,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAc,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC;SAC9E,OAAO,CAAC,uBAAuB,EAAE,CAAC,EAAE,EAAE,GAAW,EAAE,GAAW,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,QAAQ,EAAE,CAAC;SAC7F,OAAO,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,MAAc,EAAE,SAAiB,EAAE,EAAE,CAAC,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,EAAE,CAAC,CAAC;AAC3G,CAAC;AAED;;;GAGG;AACH,SAAgB,WAAW,CAAC,GAAY;IACvC,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC;YACJ,GAAG,CAAC,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACR,uFAAuF;YACvF,wFAAwF;YACxF,OAAO,IAAI,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,aAAa,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,78 +1,80 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
2
|
+
"name": "mcp-creatio",
|
|
3
|
+
"version": "0.6.4",
|
|
4
|
+
"main": "dist/index.js",
|
|
5
|
+
"bin": {
|
|
6
|
+
"mcp-creatio": "dist/cli.js"
|
|
7
|
+
},
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
11
|
+
"scripts": {
|
|
12
|
+
"test": "vitest run",
|
|
13
|
+
"test:watch": "vitest",
|
|
14
|
+
"test:coverage": "vitest run --coverage",
|
|
15
|
+
"clean": "rimraf ./dist",
|
|
16
|
+
"prebuild": "npm run clean",
|
|
17
|
+
"build": "tsc",
|
|
18
|
+
"start": "ts-node src/index.ts",
|
|
19
|
+
"start:cli": "ts-node src/cli.ts",
|
|
20
|
+
"start:stdio": "ts-node src/cli.ts",
|
|
21
|
+
"prepack": "npm run build",
|
|
22
|
+
"lint": "eslint --ext .ts src",
|
|
23
|
+
"lint:fix": "eslint --ext .ts src --fix",
|
|
24
|
+
"format": "prettier --write \"src/**/*.{ts,js,json}\" \"test/**/*.ts\" \"*.md\"",
|
|
25
|
+
"format:check": "prettier --check \"src/**/*.{ts,js,json}\" \"test/**/*.ts\" \"*.md\""
|
|
26
|
+
},
|
|
27
|
+
"repository": {
|
|
28
|
+
"type": "git",
|
|
29
|
+
"url": "git+https://github.com/CRACKISH/mcp-creatio.git"
|
|
30
|
+
},
|
|
31
|
+
"keywords": [
|
|
32
|
+
"mcp",
|
|
33
|
+
"model-context-protocol",
|
|
34
|
+
"creatio",
|
|
35
|
+
"creatio-crm",
|
|
36
|
+
"crm",
|
|
37
|
+
"odata",
|
|
38
|
+
"mcp-server",
|
|
39
|
+
"chatgpt",
|
|
40
|
+
"claude",
|
|
41
|
+
"github-copilot",
|
|
42
|
+
"typescript",
|
|
43
|
+
"ai-tools"
|
|
44
|
+
],
|
|
45
|
+
"author": "",
|
|
46
|
+
"license": "MIT",
|
|
47
|
+
"bugs": {
|
|
48
|
+
"url": "https://github.com/CRACKISH/mcp-creatio/issues"
|
|
49
|
+
},
|
|
50
|
+
"homepage": "https://github.com/CRACKISH/mcp-creatio#readme",
|
|
51
|
+
"description": "MCP server for Creatio CRM. Connect Claude Desktop, ChatGPT, and GitHub Copilot to Creatio via Model Context Protocol and OData v4.",
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"@types/express": "5.0.6",
|
|
54
|
+
"@types/node": "^26.0.1",
|
|
55
|
+
"@types/supertest": "^7.2.0",
|
|
56
|
+
"@typescript-eslint/eslint-plugin": "^8.62.0",
|
|
57
|
+
"@typescript-eslint/parser": "^8.62.0",
|
|
58
|
+
"@vitest/coverage-v8": "^4.1.9",
|
|
59
|
+
"eslint": "^9.39.4",
|
|
60
|
+
"eslint-config-prettier": "^10.1.8",
|
|
61
|
+
"eslint-plugin-import": "^2.32.0",
|
|
62
|
+
"eslint-plugin-prettier": "^5.5.6",
|
|
63
|
+
"prettier": "^3.8.4",
|
|
64
|
+
"rimraf": "^6.1.3",
|
|
65
|
+
"supertest": "^7.2.2",
|
|
66
|
+
"ts-node": "^10.9.2",
|
|
67
|
+
"typescript": "^6.0.3",
|
|
68
|
+
"vitest": "^4.1.9"
|
|
69
|
+
},
|
|
70
|
+
"dependencies": {
|
|
71
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
72
|
+
"@types/jsonwebtoken": "^9.0.10",
|
|
73
|
+
"express": "^5.2.1",
|
|
74
|
+
"fast-xml-parser": "^5.9.3",
|
|
75
|
+
"jsonwebtoken": "^9.0.3",
|
|
76
|
+
"redis": "^4.7.1",
|
|
77
|
+
"undici": "^6.27.0",
|
|
78
|
+
"zod": "^4.4.3"
|
|
79
|
+
}
|
|
78
80
|
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { CreatioClientConfig, OAuth2CodeAuthConfig } from '../../client-config';
|
|
2
|
-
import { BaseOAuth2Provider } from './base-oauth2-provider';
|
|
3
|
-
export declare class OAuth2CodeProvider extends BaseOAuth2Provider<OAuth2CodeAuthConfig> {
|
|
4
|
-
private readonly _sessionContext;
|
|
5
|
-
private readonly _tokenRefreshScheduler;
|
|
6
|
-
private readonly _inflightRefresh;
|
|
7
|
-
protected readonly authErrorCode = "oauth2_code_need_consent";
|
|
8
|
-
private get _scope();
|
|
9
|
-
constructor(config: CreatioClientConfig);
|
|
10
|
-
private _exchangeCodeForTokens;
|
|
11
|
-
private _refreshTokens;
|
|
12
|
-
protected throwNoTokenError(): void;
|
|
13
|
-
private _refreshTokensDeduped;
|
|
14
|
-
protected ensureAccessToken(force?: boolean): Promise<string | undefined>;
|
|
15
|
-
finishAuthorization(code: string): Promise<void>;
|
|
16
|
-
getAuthorizeUrl(state: string): Promise<string>;
|
|
17
|
-
revoke(): Promise<void>;
|
|
18
|
-
refreshUserTokens(userKey: string): Promise<void>;
|
|
19
|
-
cancelAllRefresh(): void;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=oauth2-code-provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"oauth2-code-provider.d.ts","sourceRoot":"","sources":["../../../../src/creatio/auth/providers/oauth2-code-provider.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,qBAAa,kBAAmB,SAAQ,kBAAkB,CAAC,oBAAoB,CAAC;IAC/E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;IAC3D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA+B;IAGtE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA0C;IAE3E,SAAS,CAAC,QAAQ,CAAC,aAAa,8BAA8B;IAE9D,OAAO,KAAK,MAAM,GAEjB;gBAEW,MAAM,EAAE,mBAAmB;YAKzB,sBAAsB;YA2CtB,cAAc;IAuD5B,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAQnC,OAAO,CAAC,qBAAqB;cAcb,iBAAiB,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA+BhE,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYhD,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAa/C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAwCvB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvD,gBAAgB,IAAI,IAAI;CAG/B"}
|