mcp-creatio 0.3.10 → 0.4.1
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 +117 -108
- package/dist/cli.d.ts +5 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +18 -11
- package/dist/cli.js.map +1 -1
- package/dist/creatio/auth/auth.d.ts +2 -0
- package/dist/creatio/auth/auth.d.ts.map +1 -1
- package/dist/creatio/auth/auth.js.map +1 -1
- package/dist/creatio/auth/providers/base-provider.d.ts +1 -0
- package/dist/creatio/auth/providers/base-provider.d.ts.map +1 -1
- package/dist/creatio/auth/providers/base-provider.js +3 -0
- package/dist/creatio/auth/providers/base-provider.js.map +1 -1
- package/dist/creatio/auth/providers/oauth2-code-provider.d.ts +3 -0
- package/dist/creatio/auth/providers/oauth2-code-provider.d.ts.map +1 -1
- package/dist/creatio/auth/providers/oauth2-code-provider.js +30 -24
- package/dist/creatio/auth/providers/oauth2-code-provider.js.map +1 -1
- package/dist/creatio/engines/admin-operation/admin-operation-engine.d.ts +13 -0
- package/dist/creatio/engines/admin-operation/admin-operation-engine.d.ts.map +1 -0
- package/dist/creatio/engines/admin-operation/admin-operation-engine.js +27 -0
- package/dist/creatio/engines/admin-operation/admin-operation-engine.js.map +1 -0
- package/dist/creatio/engines/configuration/configuration-engine.d.ts +10 -0
- package/dist/creatio/engines/configuration/configuration-engine.d.ts.map +1 -0
- package/dist/creatio/engines/configuration/configuration-engine.js +18 -0
- package/dist/creatio/engines/configuration/configuration-engine.js.map +1 -0
- package/dist/creatio/engines/engine-manager.d.ts +13 -1
- package/dist/creatio/engines/engine-manager.d.ts.map +1 -1
- package/dist/creatio/engines/engine-manager.js +17 -0
- package/dist/creatio/engines/engine-manager.js.map +1 -1
- package/dist/creatio/engines/engine-registry.d.ts +3 -0
- package/dist/creatio/engines/engine-registry.d.ts.map +1 -1
- package/dist/creatio/engines/engine-registry.js +3 -0
- package/dist/creatio/engines/engine-registry.js.map +1 -1
- package/dist/creatio/engines/feature/feature-engine.d.ts +10 -0
- package/dist/creatio/engines/feature/feature-engine.d.ts.map +1 -0
- package/dist/creatio/engines/feature/feature-engine.js +18 -0
- package/dist/creatio/engines/feature/feature-engine.js.map +1 -0
- package/dist/creatio/engines/index.d.ts +3 -0
- package/dist/creatio/engines/index.d.ts.map +1 -1
- package/dist/creatio/engines/index.js +3 -0
- package/dist/creatio/engines/index.js.map +1 -1
- package/dist/creatio/provider-context.d.ts +4 -1
- package/dist/creatio/provider-context.d.ts.map +1 -1
- package/dist/creatio/providers/admin-operation-provider.d.ts +27 -0
- package/dist/creatio/providers/admin-operation-provider.d.ts.map +1 -0
- package/dist/creatio/providers/admin-operation-provider.js +3 -0
- package/dist/creatio/providers/admin-operation-provider.js.map +1 -0
- package/dist/creatio/providers/configuration-provider.d.ts +19 -0
- package/dist/creatio/providers/configuration-provider.d.ts.map +1 -0
- package/dist/creatio/providers/configuration-provider.js +3 -0
- package/dist/creatio/providers/configuration-provider.js.map +1 -0
- package/dist/creatio/providers/feature-provider.d.ts +10 -0
- package/dist/creatio/providers/feature-provider.d.ts.map +1 -0
- package/dist/creatio/providers/feature-provider.js +3 -0
- package/dist/creatio/providers/feature-provider.js.map +1 -0
- package/dist/creatio/providers/index.d.ts +3 -0
- package/dist/creatio/providers/index.d.ts.map +1 -1
- package/dist/creatio/providers/index.js +3 -0
- package/dist/creatio/providers/index.js.map +1 -1
- package/dist/creatio/services/admin-operation-service-provider.d.ts +15 -0
- package/dist/creatio/services/admin-operation-service-provider.d.ts.map +1 -0
- package/dist/creatio/services/admin-operation-service-provider.js +69 -0
- package/dist/creatio/services/admin-operation-service-provider.js.map +1 -0
- package/dist/creatio/services/configuration-service-provider.d.ts +14 -0
- package/dist/creatio/services/configuration-service-provider.d.ts.map +1 -0
- package/dist/creatio/services/configuration-service-provider.js +90 -0
- package/dist/creatio/services/configuration-service-provider.js.map +1 -0
- package/dist/creatio/services/creatio-service-context.d.ts +4 -1
- package/dist/creatio/services/creatio-service-context.d.ts.map +1 -1
- package/dist/creatio/services/creatio-service-context.js +9 -0
- package/dist/creatio/services/creatio-service-context.js.map +1 -1
- package/dist/creatio/services/feature-service-provider.d.ts +10 -0
- package/dist/creatio/services/feature-service-provider.d.ts.map +1 -0
- package/dist/creatio/services/feature-service-provider.js +43 -0
- package/dist/creatio/services/feature-service-provider.js.map +1 -0
- package/dist/creatio/services/http-client.d.ts.map +1 -1
- package/dist/creatio/services/http-client.js +0 -1
- package/dist/creatio/services/http-client.js.map +1 -1
- package/dist/creatio/services/index.d.ts +3 -0
- package/dist/creatio/services/index.d.ts.map +1 -1
- package/dist/creatio/services/index.js +3 -0
- package/dist/creatio/services/index.js.map +1 -1
- package/dist/creatio/services/metadata-store.d.ts +5 -0
- package/dist/creatio/services/metadata-store.d.ts.map +1 -1
- package/dist/creatio/services/metadata-store.js +18 -6
- package/dist/creatio/services/metadata-store.js.map +1 -1
- package/dist/creatio/services/odata-crud-provider.d.ts +2 -0
- package/dist/creatio/services/odata-crud-provider.d.ts.map +1 -1
- package/dist/creatio/services/odata-crud-provider.js +10 -1
- package/dist/creatio/services/odata-crud-provider.js.map +1 -1
- package/dist/server/http/creatio-oauth-handlers.d.ts +0 -1
- package/dist/server/http/creatio-oauth-handlers.d.ts.map +1 -1
- package/dist/server/http/creatio-oauth-handlers.js +30 -23
- package/dist/server/http/creatio-oauth-handlers.js.map +1 -1
- package/dist/server/http/httpServer.d.ts +9 -0
- package/dist/server/http/httpServer.d.ts.map +1 -1
- package/dist/server/http/httpServer.js +34 -11
- package/dist/server/http/httpServer.js.map +1 -1
- package/dist/server/http/mcp-handlers.d.ts.map +1 -1
- package/dist/server/http/mcp-handlers.js +4 -1
- package/dist/server/http/mcp-handlers.js.map +1 -1
- package/dist/server/http/mcp-oauth-handlers.d.ts.map +1 -1
- package/dist/server/http/mcp-oauth-handlers.js +18 -6
- package/dist/server/http/mcp-oauth-handlers.js.map +1 -1
- package/dist/server/http/middleware.d.ts +7 -0
- package/dist/server/http/middleware.d.ts.map +1 -1
- package/dist/server/http/middleware.js +23 -0
- package/dist/server/http/middleware.js.map +1 -1
- package/dist/server/http/rate-limiter.d.ts +24 -0
- package/dist/server/http/rate-limiter.d.ts.map +1 -0
- package/dist/server/http/rate-limiter.js +42 -0
- package/dist/server/http/rate-limiter.js.map +1 -0
- package/dist/server/mcp/prompts-data.d.ts +58 -0
- package/dist/server/mcp/prompts-data.d.ts.map +1 -1
- package/dist/server/mcp/prompts-data.js +391 -1
- package/dist/server/mcp/prompts-data.js.map +1 -1
- package/dist/server/mcp/server.d.ts.map +1 -1
- package/dist/server/mcp/server.js +69 -0
- package/dist/server/mcp/server.js.map +1 -1
- package/dist/server/mcp/tools-data.d.ts +63 -0
- package/dist/server/mcp/tools-data.d.ts.map +1 -1
- package/dist/server/mcp/tools-data.js +110 -5
- package/dist/server/mcp/tools-data.js.map +1 -1
- package/dist/server/oauth/oauth-server.d.ts +0 -1
- package/dist/server/oauth/oauth-server.d.ts.map +1 -1
- package/dist/server/oauth/oauth-server.js +11 -21
- package/dist/server/oauth/oauth-server.js.map +1 -1
- package/dist/server/oauth/storage.d.ts +0 -2
- package/dist/server/oauth/storage.d.ts.map +1 -1
- package/dist/server/oauth/storage.js +0 -6
- package/dist/server/oauth/storage.js.map +1 -1
- package/dist/server/oauth/validators.d.ts +6 -0
- package/dist/server/oauth/validators.d.ts.map +1 -1
- package/dist/server/oauth/validators.js +28 -0
- package/dist/server/oauth/validators.js.map +1 -1
- package/dist/services/session-context.d.ts +8 -7
- package/dist/services/session-context.d.ts.map +1 -1
- package/dist/services/session-context.js +7 -27
- package/dist/services/session-context.js.map +1 -1
- package/package.json +19 -10
- package/.dockerignore +0 -12
- package/.editorconfig +0 -14
- package/.eslintrc.cjs +0 -18
- package/.gitattributes +0 -8
- package/.github/workflows/docker-publish.yml +0 -50
- package/.prettierignore +0 -3
- package/.prettierrc +0 -9
- package/.vscode/launch.json +0 -23
- package/.vscode/mcp.json +0 -13
- package/.vscode/settings.json +0 -16
- package/Agent.md +0 -187
- package/Debug.md +0 -32
- package/Dockerfile +0 -23
- package/docs/coding-style.md +0 -30
- package/eslint.config.cjs +0 -95
- package/src/cli.ts +0 -162
- package/src/config-builder.ts +0 -76
- package/src/consts.ts +0 -3
- package/src/creatio/auth/auth-manager.ts +0 -27
- package/src/creatio/auth/auth.ts +0 -31
- package/src/creatio/auth/index.ts +0 -3
- package/src/creatio/auth/providers/base-oauth2-provider.ts +0 -62
- package/src/creatio/auth/providers/base-provider.ts +0 -42
- package/src/creatio/auth/providers/index.ts +0 -4
- package/src/creatio/auth/providers/legacy-provider.ts +0 -70
- package/src/creatio/auth/providers/oauth2-code-provider.ts +0 -252
- package/src/creatio/auth/providers/oauth2-provider.ts +0 -91
- package/src/creatio/auth/providers/type.ts +0 -5
- package/src/creatio/client-config.ts +0 -34
- package/src/creatio/engines/crud/crud-engine.ts +0 -47
- package/src/creatio/engines/engine-manager.ts +0 -102
- package/src/creatio/engines/engine-registry.ts +0 -36
- package/src/creatio/engines/engine.ts +0 -3
- package/src/creatio/engines/index.ts +0 -7
- package/src/creatio/engines/process/process-engine.ts +0 -20
- package/src/creatio/engines/sys-settings/sys-settings-engine.ts +0 -41
- package/src/creatio/engines/user/user-engine.ts +0 -20
- package/src/creatio/index.ts +0 -6
- package/src/creatio/provider-context.ts +0 -10
- package/src/creatio/providers/crud-provider.ts +0 -45
- package/src/creatio/providers/index.ts +0 -4
- package/src/creatio/providers/process-provider.ts +0 -15
- package/src/creatio/providers/sys-settings-provider.ts +0 -63
- package/src/creatio/providers/user-provider.ts +0 -12
- package/src/creatio/services/creatio-service-context.ts +0 -38
- package/src/creatio/services/http-client.ts +0 -174
- package/src/creatio/services/index.ts +0 -7
- package/src/creatio/services/metadata-store.ts +0 -181
- package/src/creatio/services/odata-crud-provider.ts +0 -210
- package/src/creatio/services/process-service-provider.ts +0 -76
- package/src/creatio/services/sys-settings-service-provider.ts +0 -192
- package/src/creatio/services/user-info-provider.ts +0 -41
- package/src/index.ts +0 -44
- package/src/log.ts +0 -183
- package/src/server/http/creatio-oauth-handlers.ts +0 -146
- package/src/server/http/httpServer.ts +0 -150
- package/src/server/http/index.ts +0 -5
- package/src/server/http/mcp-handlers.ts +0 -92
- package/src/server/http/mcp-oauth-handlers.ts +0 -108
- package/src/server/http/middleware.ts +0 -91
- package/src/server/index.ts +0 -2
- package/src/server/mcp/filters.ts +0 -97
- package/src/server/mcp/index.ts +0 -1
- package/src/server/mcp/prompts-data.ts +0 -896
- package/src/server/mcp/server.ts +0 -331
- package/src/server/mcp/tools-data.ts +0 -592
- package/src/server/oauth/client-manager.ts +0 -47
- package/src/server/oauth/index.ts +0 -6
- package/src/server/oauth/oauth-server.ts +0 -185
- package/src/server/oauth/storage.ts +0 -106
- package/src/server/oauth/token-manager.ts +0 -80
- package/src/server/oauth/types.ts +0 -55
- package/src/server/oauth/validators.ts +0 -56
- package/src/services/index.ts +0 -2
- package/src/services/session-context.ts +0 -232
- package/src/services/token-refresh-scheduler.ts +0 -68
- package/src/types/index.ts +0 -1
- package/src/types/network.ts +0 -7
- package/src/utils/context.ts +0 -49
- package/src/utils/env.ts +0 -12
- package/src/utils/index.ts +0 -5
- package/src/utils/mcp.ts +0 -8
- package/src/utils/network.ts +0 -65
- package/src/utils/pkce.ts +0 -39
- package/src/version.ts +0 -15
- package/tsconfig.json +0 -28
package/README.md
CHANGED
|
@@ -12,23 +12,26 @@ Also discoverable as:
|
|
|
12
12
|
- Model Context Protocol for Creatio
|
|
13
13
|
|
|
14
14
|
## Overview
|
|
15
|
-
|
|
16
|
-
- Exposes Creatio data as MCP tools for MCP-compatible clients (Claude Desktop, ChatGPT Connectors, GitHub Copilot)
|
|
17
|
-
- Supports reading, creating, updating, deleting records and inspecting schema
|
|
18
|
-
- Execute Creatio business processes with parameters
|
|
19
|
-
- Uses Creatio OData v4 API under the hood
|
|
20
|
-
|
|
21
|
-
## Features
|
|
22
|
-
|
|
23
|
-
- **CRUD operations**:
|
|
24
|
-
- **Schema discovery**:
|
|
25
|
-
- **Business processes**:
|
|
26
|
-
- **System settings**:
|
|
27
|
-
- **
|
|
28
|
-
- **
|
|
29
|
-
- **
|
|
30
|
-
- **
|
|
31
|
-
|
|
15
|
+
|
|
16
|
+
- Exposes Creatio data as MCP tools for MCP-compatible clients (Claude Desktop, ChatGPT Connectors, GitHub Copilot)
|
|
17
|
+
- Supports reading, creating, updating, deleting records and inspecting schema
|
|
18
|
+
- Execute Creatio business processes with parameters
|
|
19
|
+
- Uses Creatio OData v4 API under the hood
|
|
20
|
+
|
|
21
|
+
## Features
|
|
22
|
+
|
|
23
|
+
- **CRUD operations**: read, create, update, delete Creatio records
|
|
24
|
+
- **Schema discovery**: list entity sets and inspect entity schemas
|
|
25
|
+
- **Business processes**: run Creatio workflows with parameters
|
|
26
|
+
- **System settings**: read, write, and manage system setting metadata
|
|
27
|
+
- **Feature toggles**: manage `Feature` / `AdminUnitFeatureState` and refresh the feature cache. ⚠️ Only DB-backed features are reachable — features defined exclusively in `web.config` or other non-DB providers are invisible to MCP.
|
|
28
|
+
- **System operations**: manage `SysAdminOperation` and per-user/role grants (Creatio blocks these tables for OData modifications, so dedicated tools are provided)
|
|
29
|
+
- **Custom services**: invoke any configuration-package REST service (`/0/rest/<service>/<method>`) when no dedicated tool fits
|
|
30
|
+
- **AI assistant compatibility**: Claude Desktop, ChatGPT Connectors, GitHub Copilot
|
|
31
|
+
- **Three authentication modes**: Legacy login/password, OAuth2 client credentials, OAuth2 authorization code
|
|
32
|
+
- **Built-in OAuth server**: Automatic MCP client authentication
|
|
33
|
+
- **Docker ready**: Multi-arch images available
|
|
34
|
+
|
|
32
35
|
## Run Modes
|
|
33
36
|
|
|
34
37
|
This project supports two runtime modes:
|
|
@@ -45,7 +48,7 @@ Use this mode for MCP clients that launch a command directly (VS Code MCP, Claud
|
|
|
45
48
|
Run directly from npm:
|
|
46
49
|
|
|
47
50
|
```bash
|
|
48
|
-
npx -y mcp-creatio \
|
|
51
|
+
npx -y mcp-creatio@latest \
|
|
49
52
|
--base-url https://your-creatio.com \
|
|
50
53
|
--login your_login \
|
|
51
54
|
--password your_password
|
|
@@ -61,7 +64,7 @@ VS Code MCP config (command-based):
|
|
|
61
64
|
"command": "npx",
|
|
62
65
|
"args": [
|
|
63
66
|
"-y",
|
|
64
|
-
"mcp-creatio",
|
|
67
|
+
"mcp-creatio@latest",
|
|
65
68
|
"--base-url",
|
|
66
69
|
"https://your-creatio.com",
|
|
67
70
|
"--login",
|
|
@@ -103,101 +106,107 @@ Then connect using URL:
|
|
|
103
106
|
}
|
|
104
107
|
}
|
|
105
108
|
```
|
|
106
|
-
|
|
107
|
-
## Configuration
|
|
108
|
-
|
|
109
|
-
| Variable | Description |
|
|
110
|
-
| ---------------------------- | -------------------------------------------------------------------- |
|
|
111
|
-
| `CREATIO_BASE_URL` | **Required**. Creatio instance URL (e.g. `https://your-creatio.com`) |
|
|
112
|
-
| `CREATIO_LOGIN` | Username for legacy auth |
|
|
113
|
-
| `CREATIO_PASSWORD` | Password for legacy auth |
|
|
114
|
-
| `CREATIO_CLIENT_ID` | OAuth2 client credentials ID |
|
|
115
|
-
| `CREATIO_CLIENT_SECRET` | OAuth2 client credentials secret |
|
|
116
|
-
| `CREATIO_ID_BASE_URL` | Identity Service URL (if separate from main Creatio instance) |
|
|
117
|
-
| `CREATIO_CODE_CLIENT_ID` | OAuth2 authorization code client ID |
|
|
109
|
+
|
|
110
|
+
## Configuration
|
|
111
|
+
|
|
112
|
+
| Variable | Description |
|
|
113
|
+
| ---------------------------- | -------------------------------------------------------------------- |
|
|
114
|
+
| `CREATIO_BASE_URL` | **Required**. Creatio instance URL (e.g. `https://your-creatio.com`) |
|
|
115
|
+
| `CREATIO_LOGIN` | Username for legacy auth |
|
|
116
|
+
| `CREATIO_PASSWORD` | Password for legacy auth |
|
|
117
|
+
| `CREATIO_CLIENT_ID` | OAuth2 client credentials ID |
|
|
118
|
+
| `CREATIO_CLIENT_SECRET` | OAuth2 client credentials secret |
|
|
119
|
+
| `CREATIO_ID_BASE_URL` | Identity Service URL (if separate from main Creatio instance) |
|
|
120
|
+
| `CREATIO_CODE_CLIENT_ID` | OAuth2 authorization code client ID |
|
|
118
121
|
| `CREATIO_CODE_CLIENT_SECRET` | OAuth2 authorization code client secret |
|
|
119
122
|
| `CREATIO_CODE_REDIRECT_URI` | OAuth2 redirect URI (e.g. `http://localhost:3000/oauth/callback`) |
|
|
120
123
|
| `CREATIO_CODE_SCOPE` | OAuth2 scope (e.g. `offline_access ApplicationAccess_yourappguid`) |
|
|
121
124
|
| `READONLY_MODE` | Set `true` to disable create/update/delete operations |
|
|
122
125
|
| `MCP_CREATIO_LOG_LEVEL` | Log verbosity: `silent` (default), `error`, `warn`, `info` |
|
|
123
|
-
|
|
124
|
-
## Authentication Modes
|
|
125
|
-
|
|
126
|
-
Choose one of three ways to authenticate with Creatio:
|
|
127
|
-
|
|
128
|
-
### 1. Legacy (Username/Password)
|
|
129
|
-
|
|
130
|
-
```bash
|
|
131
|
-
CREATIO_LOGIN=YourLogin
|
|
132
|
-
CREATIO_PASSWORD=YourPassword
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
### 2. OAuth2 Client Credentials
|
|
136
|
-
|
|
137
|
-
For server-to-server authentication. [Setup guide →](https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/integrations-and-api/authentication/oauth-2-0-authorization/identity-service-overview)
|
|
138
|
-
|
|
139
|
-
```bash
|
|
140
|
-
CREATIO_CLIENT_ID=your_client_id
|
|
141
|
-
CREATIO_CLIENT_SECRET=your_client_secret
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
### 3. OAuth2 Authorization Code
|
|
145
|
-
|
|
146
|
-
For user-delegated access with web authorization. [Setup guide →](https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/integrations-and-api/authentication/oauth-2-0-authorization/authorization-code-grant)
|
|
147
|
-
|
|
148
|
-
```bash
|
|
149
|
-
CREATIO_CODE_CLIENT_ID=your_client_id
|
|
150
|
-
CREATIO_CODE_CLIENT_SECRET=your_client_secret
|
|
151
|
-
CREATIO_CODE_REDIRECT_URI=http://localhost:3000/oauth/callback
|
|
152
|
-
CREATIO_CODE_SCOPE="offline_access ApplicationAccess_yourappguid"
|
|
153
|
-
```
|
|
154
|
-
|
|
126
|
+
|
|
127
|
+
## Authentication Modes
|
|
128
|
+
|
|
129
|
+
Choose one of three ways to authenticate with Creatio:
|
|
130
|
+
|
|
131
|
+
### 1. Legacy (Username/Password)
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
CREATIO_LOGIN=YourLogin
|
|
135
|
+
CREATIO_PASSWORD=YourPassword
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### 2. OAuth2 Client Credentials
|
|
139
|
+
|
|
140
|
+
For server-to-server authentication. [Setup guide →](https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/integrations-and-api/authentication/oauth-2-0-authorization/identity-service-overview)
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
CREATIO_CLIENT_ID=your_client_id
|
|
144
|
+
CREATIO_CLIENT_SECRET=your_client_secret
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### 3. OAuth2 Authorization Code
|
|
148
|
+
|
|
149
|
+
For user-delegated access with web authorization. [Setup guide →](https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/integrations-and-api/authentication/oauth-2-0-authorization/authorization-code-grant)
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
CREATIO_CODE_CLIENT_ID=your_client_id
|
|
153
|
+
CREATIO_CODE_CLIENT_SECRET=your_client_secret
|
|
154
|
+
CREATIO_CODE_REDIRECT_URI=http://localhost:3000/oauth/callback
|
|
155
|
+
CREATIO_CODE_SCOPE="offline_access ApplicationAccess_yourappguid"
|
|
156
|
+
```
|
|
157
|
+
|
|
155
158
|
**Note**: Currently uses in-memory storage for OAuth tokens. Tokens will be lost on server restart.
|
|
156
159
|
|
|
157
160
|
**Important**: OAuth2 Authorization Code requires **Server Mode (`http`)**.
|
|
158
|
-
|
|
159
|
-
**Priority**: Authorization Code > Client Credentials > Legacy
|
|
160
|
-
|
|
161
|
+
|
|
162
|
+
**Priority**: Authorization Code > Client Credentials > Legacy
|
|
163
|
+
|
|
161
164
|
## MCP Client Authentication (HTTP Mode)
|
|
162
|
-
|
|
163
|
-
The server includes OAuth 2.1 Authorization Server for MCP clients (Claude Desktop, etc.). No additional setup required - clients authenticate automatically through standard OAuth flow.
|
|
164
|
-
|
|
165
|
-
## Examples
|
|
166
|
-
|
|
167
|
-
### Node.js (Legacy Auth)
|
|
168
|
-
|
|
169
|
-
```bash
|
|
170
|
-
export CREATIO_BASE_URL="https://your-creatio.com"
|
|
171
|
-
export CREATIO_LOGIN="YourLogin"
|
|
172
|
-
export CREATIO_PASSWORD="YourPassword"
|
|
173
|
-
npm start
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
### Docker (Legacy Auth)
|
|
177
|
-
|
|
178
|
-
```bash
|
|
179
|
-
docker run --rm -p 3000:3000 \
|
|
180
|
-
-e CREATIO_BASE_URL="https://your-creatio.com" \
|
|
181
|
-
-e CREATIO_LOGIN="YourLogin" \
|
|
182
|
-
-e CREATIO_PASSWORD="YourPassword" \
|
|
183
|
-
crackish/mcp-creatio
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
## Available Tools
|
|
187
|
-
|
|
188
|
-
| Tool
|
|
189
|
-
|
|
|
190
|
-
| `get-current-user-info`
|
|
191
|
-
| `list-entities`
|
|
192
|
-
| `describe-entity`
|
|
193
|
-
| `read`
|
|
194
|
-
| `create`
|
|
195
|
-
| `update`
|
|
196
|
-
| `delete`
|
|
197
|
-
| `execute-process`
|
|
198
|
-
| `query-sys-settings`
|
|
199
|
-
| `set-sys-settings-value`
|
|
200
|
-
| `create-sys-setting`
|
|
201
|
-
| `update-sys-setting-definition`
|
|
202
|
-
|
|
203
|
-
|
|
165
|
+
|
|
166
|
+
The server includes OAuth 2.1 Authorization Server for MCP clients (Claude Desktop, etc.). No additional setup required - clients authenticate automatically through standard OAuth flow.
|
|
167
|
+
|
|
168
|
+
## Examples
|
|
169
|
+
|
|
170
|
+
### Node.js (Legacy Auth)
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
export CREATIO_BASE_URL="https://your-creatio.com"
|
|
174
|
+
export CREATIO_LOGIN="YourLogin"
|
|
175
|
+
export CREATIO_PASSWORD="YourPassword"
|
|
176
|
+
npm start
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### Docker (Legacy Auth)
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
docker run --rm -p 3000:3000 \
|
|
183
|
+
-e CREATIO_BASE_URL="https://your-creatio.com" \
|
|
184
|
+
-e CREATIO_LOGIN="YourLogin" \
|
|
185
|
+
-e CREATIO_PASSWORD="YourPassword" \
|
|
186
|
+
crackish/mcp-creatio
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
## Available Tools
|
|
190
|
+
|
|
191
|
+
| Tool | Description |
|
|
192
|
+
| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
193
|
+
| `get-current-user-info` | Fetch the Creatio contact details for the authenticated MCP user |
|
|
194
|
+
| `list-entities` | List all available entity sets |
|
|
195
|
+
| `describe-entity` | Get schema for an entity (fields, types, keys) |
|
|
196
|
+
| `read` | Query records with optional filters, select, expand, ordering |
|
|
197
|
+
| `create` | Create a new record |
|
|
198
|
+
| `update` | Update an existing record |
|
|
199
|
+
| `delete` | Delete a record |
|
|
200
|
+
| `execute-process` | Run a Creatio business process |
|
|
201
|
+
| `query-sys-settings` | Read current values and metadata for one or more system settings |
|
|
202
|
+
| `set-sys-settings-value` | Update one or more system setting values |
|
|
203
|
+
| `create-sys-setting` | Create a new system setting (with optional initial value) |
|
|
204
|
+
| `update-sys-setting-definition` | Modify system setting metadata (name, value type, cache flags, lookup reference) |
|
|
205
|
+
| `refresh-feature-cache` | Invalidate the in-memory feature-toggle cache. Call after editing `Feature` / `AdminUnitFeatureState` rows |
|
|
206
|
+
| `upsert-admin-operation` | Create or update a `SysAdminOperation` (system operation / permission). Required because OData modifications are blocked for this entity |
|
|
207
|
+
| `delete-admin-operation` | Delete one or more `SysAdminOperation` rows (related grantee rows are cleaned up automatically) |
|
|
208
|
+
| `set-admin-operation-grantee` | Grant or revoke a system operation for users/roles. Repeated calls update the existing row instead of duplicating |
|
|
209
|
+
| `delete-admin-operation-grantee` | Remove specific grant rows by Id. Prefer `set-admin-operation-grantee` to flip allow ↔ deny |
|
|
210
|
+
| `call-configuration-service` | Escape hatch: invoke any configuration-package REST service method by name. Use only when no dedicated tool covers the operation |
|
|
211
|
+
|
|
212
|
+
> **Note**: Previously documented `search`/`fetch` helper tools (for a specific connector workflow) have been removed as they are no longer required.
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
type CliOptions = Record<string, string>;
|
|
3
|
+
export declare function printHelp(): void;
|
|
4
|
+
export declare function parseArgs(argv: string[]): CliOptions;
|
|
5
|
+
export declare function setEnvIfDefined(name: string, value?: string): void;
|
|
6
|
+
export declare function applyCliEnv(opts: CliOptions): void;
|
|
2
7
|
export {};
|
|
3
8
|
//# sourceMappingURL=cli.d.ts.map
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAUA,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAMzC,wBAAgB,SAAS,IAAI,IAAI,CAwBhC;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAoCpD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAIlE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CASlD"}
|
package/dist/cli.js
CHANGED
|
@@ -4,6 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
5
|
};
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.printHelp = printHelp;
|
|
8
|
+
exports.parseArgs = parseArgs;
|
|
9
|
+
exports.setEnvIfDefined = setEnvIfDefined;
|
|
10
|
+
exports.applyCliEnv = applyCliEnv;
|
|
7
11
|
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
8
12
|
const config_builder_1 = require("./config-builder");
|
|
9
13
|
const creatio_1 = require("./creatio");
|
|
@@ -22,13 +26,13 @@ Options:
|
|
|
22
26
|
--url <url> Alias for --base-url
|
|
23
27
|
--login <value> Creatio login (legacy auth)
|
|
24
28
|
--password <value> Creatio password (legacy auth)
|
|
25
|
-
--client-id <value> OAuth2 client credentials client_id
|
|
26
|
-
--client-secret <value> OAuth2 client credentials client_secret
|
|
27
|
-
--id-base-url <url> Creatio Identity base URL
|
|
28
|
-
--readonly <true|false> Enable readonly mode
|
|
29
|
-
--log-level <silent|error|warn|info>
|
|
30
|
-
Log verbosity (default: silent)
|
|
31
|
-
-h, --help Show this help
|
|
29
|
+
--client-id <value> OAuth2 client credentials client_id
|
|
30
|
+
--client-secret <value> OAuth2 client credentials client_secret
|
|
31
|
+
--id-base-url <url> Creatio Identity base URL
|
|
32
|
+
--readonly <true|false> Enable readonly mode
|
|
33
|
+
--log-level <silent|error|warn|info>
|
|
34
|
+
Log verbosity (default: silent)
|
|
35
|
+
-h, --help Show this help
|
|
32
36
|
|
|
33
37
|
Examples:
|
|
34
38
|
mcp-creatio --base-url https://tenant.creatio.com --login your_login --password your_password
|
|
@@ -132,8 +136,11 @@ async function main() {
|
|
|
132
136
|
});
|
|
133
137
|
await startStdio(server);
|
|
134
138
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
});
|
|
139
|
+
// Only auto-run when invoked as the entry point (not when imported by tests).
|
|
140
|
+
if (require.main === module) {
|
|
141
|
+
main().catch((err) => {
|
|
142
|
+
log_1.default.error('startup.error', { error: String(err) });
|
|
143
|
+
process.exit(1);
|
|
144
|
+
});
|
|
145
|
+
}
|
|
139
146
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;AAgBA,8BAwBC;AAED,8BAoCC;AAED,0CAIC;AAED,kCASC;AA7FD,wEAAiF;AAEjF,qDAA0D;AAC1D,uCAA0F;AAC1F,gDAAwB;AACxB,qCAAkC;AAClC,mCAAkC;AAQlC,SAAgB,SAAS;IACxB,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBb,CAAC,IAAI,EAAE,CAAC;IACR,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,SAAgB,SAAS,CAAC,IAAc;IACvC,MAAM,IAAI,GAAe,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,SAAS;QACV,CAAC;QAED,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;YACnB,SAAS;QACV,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,SAAS;QACV,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAClB,SAAS;QACV,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACjB,CAAC,EAAE,CAAC;YACJ,SAAS;QACV,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;IACpB,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAgB,eAAe,CAAC,IAAY,EAAE,KAAc;IAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC3B,CAAC;AACF,CAAC;AAED,SAAgB,WAAW,CAAC,IAAgB;IAC3C,eAAe,CAAC,kBAAkB,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IAClE,eAAe,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,eAAe,CAAC,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,eAAe,CAAC,mBAAmB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACxD,eAAe,CAAC,uBAAuB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAChE,eAAe,CAAC,qBAAqB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAC5D,eAAe,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChD,eAAe,CAAC,uBAAuB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,MAAc;IACvC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;IACpC,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7B,aAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAChC,CAAC;AAED,IAAI,YAAY,GAAG,KAAK,CAAC;AAEzB,KAAK,UAAU,QAAQ,CAAC,MAAc,EAAE,KAAmB;IAC1D,IAAI,YAAY,EAAE,CAAC;QAClB,OAAO;IACR,CAAC;IACD,YAAY,GAAG,IAAI,CAAC;IACpB,aAAG,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,IAAI,UAAU,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC;QACJ,MAAM,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,aAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC;AACF,CAAC;AAED,KAAK,UAAU,IAAI;IAClB,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,SAAS,EAAE,CAAC;QACZ,OAAO;IACR,CAAC;IAED,aAAG,CAAC,iBAAiB,EAAE,CAAC;IACxB,WAAW,CAAC,IAAI,CAAC,CAAC;IAClB,MAAM,GAAG,GAAG,IAAA,uCAAsB,GAAE,CAAC;IAErC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,0BAAgB,CAAC,UAAU,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACd,uGAAuG,CACvG,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,+BAAqB,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,IAAI,8BAAoB,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,IAAA,eAAO,EAAC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACtF,MAAM,KAAK,GAAiB,EAAE,MAAM,EAAE,CAAC;IAEvC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACzB,KAAK,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QAC1B,KAAK,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,aAAG,CAAC,QAAQ,CAAC;QACZ,GAAG,EAAE;YACJ,IAAI,EAAE,OAAO,CAAC,OAAO;YACrB,SAAS,EAAE,OAAO;SAClB;KACD,CAAC,CAAC;IAEH,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AAED,8EAA8E;AAC9E,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC7B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACpB,aAAG,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -6,6 +6,8 @@ export interface ICreatioAuthProvider {
|
|
|
6
6
|
revoke(): Promise<void>;
|
|
7
7
|
getAuthorizeUrl(state: string): Promise<string>;
|
|
8
8
|
finishAuthorization(code: string): Promise<void>;
|
|
9
|
+
/** Cancels any background token-refresh timers. Safe no-op for providers without them. */
|
|
10
|
+
cancelAllRefresh(): void;
|
|
9
11
|
}
|
|
10
12
|
export declare function buildHeaders(accept: string, isJson?: boolean, token?: string): Record<string, string>;
|
|
11
13
|
export declare const TOKEN_ENDPOINT = "/connect/token";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/creatio/auth/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,gBAAgB,CAAC;IACvB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/creatio/auth/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,gBAAgB,CAAC;IACvB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,0FAA0F;IAC1F,gBAAgB,IAAI,IAAI,CAAC;CACzB;AAED,wBAAgB,YAAY,CAC3B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,OAAO,EAChB,KAAK,CAAC,EAAE,MAAM,GACZ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxB;AAED,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAC/C,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AACvD,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AACzD,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C,eAAO,MAAM,sBAAsB,KAAK,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/creatio/auth/auth.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/creatio/auth/auth.ts"],"names":[],"mappings":";;;AAaA,oCAaC;AAbD,SAAgB,YAAY,CAC3B,MAAc,EACd,MAAgB,EAChB,KAAc;IAEd,MAAM,OAAO,GAA2B,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC3D,IAAI,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;IAC9C,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAEY,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAC1C,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAC5C,QAAA,sBAAsB,GAAG,IAAI,CAAC;AAC9B,QAAA,sBAAsB,GAAG,EAAE,CAAC"}
|
|
@@ -11,5 +11,6 @@ export declare abstract class BaseProvider<T extends CreatioClientAuthConfig = C
|
|
|
11
11
|
revoke(): Promise<void>;
|
|
12
12
|
getAuthorizeUrl(state: string): Promise<string>;
|
|
13
13
|
finishAuthorization(code: string): Promise<void>;
|
|
14
|
+
cancelAllRefresh(): void;
|
|
14
15
|
}
|
|
15
16
|
//# sourceMappingURL=base-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-provider.d.ts","sourceRoot":"","sources":["../../../../src/creatio/auth/providers/base-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE1C,8BAAsB,YAAY,CACjC,CAAC,SAAS,uBAAuB,GAAG,uBAAuB,CAC1D,YAAW,oBAAoB;IAChC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAE/C,SAAS,KAAK,UAAU,IAAI,CAAC,CAE5B;IAED,IAAW,IAAI,IAAI,gBAAgB,CAElC;gBAEW,MAAM,EAAE,mBAAmB;IAIhC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAI7E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/C,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"base-provider.d.ts","sourceRoot":"","sources":["../../../../src/creatio/auth/providers/base-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE1C,8BAAsB,YAAY,CACjC,CAAC,SAAS,uBAAuB,GAAG,uBAAuB,CAC1D,YAAW,oBAAoB;IAChC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAE/C,SAAS,KAAK,UAAU,IAAI,CAAC,CAE5B;IAED,IAAW,IAAI,IAAI,gBAAgB,CAElC;gBAEW,MAAM,EAAE,mBAAmB;IAIhC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAI7E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/C,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,gBAAgB,IAAI,IAAI;CAG/B"}
|
|
@@ -27,6 +27,9 @@ class BaseProvider {
|
|
|
27
27
|
finishAuthorization(code) {
|
|
28
28
|
throw new Error('Method not implemented.');
|
|
29
29
|
}
|
|
30
|
+
cancelAllRefresh() {
|
|
31
|
+
// No background refresh timers by default; OAuth2CodeProvider overrides this.
|
|
32
|
+
}
|
|
30
33
|
}
|
|
31
34
|
exports.BaseProvider = BaseProvider;
|
|
32
35
|
//# sourceMappingURL=base-provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-provider.js","sourceRoot":"","sources":["../../../../src/creatio/auth/providers/base-provider.ts"],"names":[],"mappings":";;;AAKA,MAAsB,YAAY;IAGd,MAAM,CAAsB;IAE/C,IAAc,UAAU;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAS,CAAC;IAC9B,CAAC;IAED,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,YAAY,MAA2B;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAEM,UAAU,CAAC,MAAc,EAAE,MAAgB;QACjD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAEM,OAAO;QACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAEM,MAAM;QACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAEM,eAAe,CAAC,KAAa;QACnC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAEM,mBAAmB,CAAC,IAAY;QACtC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;CACD;
|
|
1
|
+
{"version":3,"file":"base-provider.js","sourceRoot":"","sources":["../../../../src/creatio/auth/providers/base-provider.ts"],"names":[],"mappings":";;;AAKA,MAAsB,YAAY;IAGd,MAAM,CAAsB;IAE/C,IAAc,UAAU;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAS,CAAC;IAC9B,CAAC;IAED,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,YAAY,MAA2B;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAEM,UAAU,CAAC,MAAc,EAAE,MAAgB;QACjD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAEM,OAAO;QACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAEM,MAAM;QACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAEM,eAAe,CAAC,KAAa;QACnC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAEM,mBAAmB,CAAC,IAAY;QACtC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAEM,gBAAgB;QACtB,8EAA8E;IAC/E,CAAC;CACD;AAxCD,oCAwCC"}
|
|
@@ -3,16 +3,19 @@ import { BaseOAuth2Provider } from './base-oauth2-provider';
|
|
|
3
3
|
export declare class OAuth2CodeProvider extends BaseOAuth2Provider<OAuth2CodeAuthConfig> {
|
|
4
4
|
private readonly _sessionContext;
|
|
5
5
|
private readonly _tokenRefreshScheduler;
|
|
6
|
+
private readonly _inflightRefresh;
|
|
6
7
|
protected readonly authErrorCode = "oauth2_code_need_consent";
|
|
7
8
|
private get _scope();
|
|
8
9
|
constructor(config: CreatioClientConfig);
|
|
9
10
|
private _exchangeCodeForTokens;
|
|
10
11
|
private _refreshTokens;
|
|
11
12
|
protected throwNoTokenError(): void;
|
|
13
|
+
private _refreshTokensDeduped;
|
|
12
14
|
protected ensureAccessToken(force?: boolean): Promise<string | undefined>;
|
|
13
15
|
finishAuthorization(code: string): Promise<void>;
|
|
14
16
|
getAuthorizeUrl(state: string): Promise<string>;
|
|
15
17
|
revoke(): Promise<void>;
|
|
16
18
|
refreshUserTokens(userKey: string): Promise<void>;
|
|
19
|
+
cancelAllRefresh(): void;
|
|
17
20
|
}
|
|
18
21
|
//# sourceMappingURL=oauth2-code-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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"}
|
|
@@ -13,6 +13,9 @@ const base_oauth2_provider_1 = require("./base-oauth2-provider");
|
|
|
13
13
|
class OAuth2CodeProvider extends base_oauth2_provider_1.BaseOAuth2Provider {
|
|
14
14
|
_sessionContext = services_1.SessionContext.instance;
|
|
15
15
|
_tokenRefreshScheduler = new services_1.TokenRefreshScheduler();
|
|
16
|
+
// Deduplicates concurrent refreshes per user so K simultaneous requests trigger
|
|
17
|
+
// one refresh call, not K (avoids the thundering herd + rotating-refresh-token races).
|
|
18
|
+
_inflightRefresh = new Map();
|
|
16
19
|
authErrorCode = 'oauth2_code_need_consent';
|
|
17
20
|
get _scope() {
|
|
18
21
|
return this.authConfig.scope || 'offline_access';
|
|
@@ -126,15 +129,23 @@ class OAuth2CodeProvider extends base_oauth2_provider_1.BaseOAuth2Provider {
|
|
|
126
129
|
: this.authErrorCode;
|
|
127
130
|
throw new Error(errorMessage);
|
|
128
131
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
this.accessToken &&
|
|
134
|
-
this.accessTokenExpiryMs &&
|
|
135
|
-
now < this.accessTokenExpiryMs) {
|
|
136
|
-
return this.accessToken;
|
|
132
|
+
_refreshTokensDeduped(userKey, refreshToken) {
|
|
133
|
+
const existing = this._inflightRefresh.get(userKey);
|
|
134
|
+
if (existing) {
|
|
135
|
+
return existing;
|
|
137
136
|
}
|
|
137
|
+
const promise = (async () => {
|
|
138
|
+
const updated = await this._refreshTokens(refreshToken);
|
|
139
|
+
await this._sessionContext.setTokensForUser(userKey, updated);
|
|
140
|
+
return updated;
|
|
141
|
+
})().finally(() => this._inflightRefresh.delete(userKey));
|
|
142
|
+
this._inflightRefresh.set(userKey, promise);
|
|
143
|
+
return promise;
|
|
144
|
+
}
|
|
145
|
+
async ensureAccessToken(force = false) {
|
|
146
|
+
// This provider is a process-wide singleton serving many concurrent users, so the
|
|
147
|
+
// per-user tokens in SessionContext are the only cache — never instance fields,
|
|
148
|
+
// which a second user would overwrite (token thrash + cross-user bleed).
|
|
138
149
|
const userKey = (0, utils_1.getEffectiveUserKey)();
|
|
139
150
|
if (!userKey) {
|
|
140
151
|
log_1.default.warn('oauth2_code.no_user_key');
|
|
@@ -145,20 +156,16 @@ class OAuth2CodeProvider extends base_oauth2_provider_1.BaseOAuth2Provider {
|
|
|
145
156
|
log_1.default.warn('oauth2_code.no_saved_tokens', { userKey });
|
|
146
157
|
return undefined;
|
|
147
158
|
}
|
|
159
|
+
const now = Date.now();
|
|
148
160
|
if (!force &&
|
|
149
161
|
saved.accessToken &&
|
|
150
162
|
saved.accessTokenExpiryMs &&
|
|
151
163
|
now < saved.accessTokenExpiryMs) {
|
|
152
|
-
|
|
153
|
-
this.accessTokenExpiryMs = saved.accessTokenExpiryMs;
|
|
154
|
-
return this.accessToken;
|
|
164
|
+
return saved.accessToken;
|
|
155
165
|
}
|
|
156
166
|
if (saved.refreshToken) {
|
|
157
|
-
const updated = await this.
|
|
158
|
-
|
|
159
|
-
this.accessToken = updated.accessToken;
|
|
160
|
-
this.accessTokenExpiryMs = updated.accessTokenExpiryMs;
|
|
161
|
-
return this.accessToken;
|
|
167
|
+
const updated = await this._refreshTokensDeduped(userKey, saved.refreshToken);
|
|
168
|
+
return updated.accessToken;
|
|
162
169
|
}
|
|
163
170
|
await this._sessionContext.deleteTokensForUser(userKey);
|
|
164
171
|
return undefined;
|
|
@@ -171,8 +178,6 @@ class OAuth2CodeProvider extends base_oauth2_provider_1.BaseOAuth2Provider {
|
|
|
171
178
|
}
|
|
172
179
|
const tokens = await this._exchangeCodeForTokens(code);
|
|
173
180
|
await this._sessionContext.setTokensForUser(userKey, tokens);
|
|
174
|
-
this.accessToken = tokens.accessToken;
|
|
175
|
-
this.accessTokenExpiryMs = tokens.accessTokenExpiryMs;
|
|
176
181
|
this._tokenRefreshScheduler.scheduleRefresh(userKey);
|
|
177
182
|
log_1.default.info('oauth2_code.authorization_complete', { userKey });
|
|
178
183
|
}
|
|
@@ -185,10 +190,7 @@ class OAuth2CodeProvider extends base_oauth2_provider_1.BaseOAuth2Provider {
|
|
|
185
190
|
u.searchParams.set('state', state);
|
|
186
191
|
const scopeParam = encodeURIComponent(this._scope);
|
|
187
192
|
u.search += '&scope=' + scopeParam;
|
|
188
|
-
log_1.default.info('oauth2_code.authorize_url', {
|
|
189
|
-
idBase,
|
|
190
|
-
url: u.toString(),
|
|
191
|
-
});
|
|
193
|
+
log_1.default.info('oauth2_code.authorize_url', { idBase });
|
|
192
194
|
return u.toString();
|
|
193
195
|
}
|
|
194
196
|
async revoke() {
|
|
@@ -236,10 +238,14 @@ class OAuth2CodeProvider extends base_oauth2_provider_1.BaseOAuth2Provider {
|
|
|
236
238
|
if (!saved?.refreshToken) {
|
|
237
239
|
throw new Error('oauth2_no_refresh_token');
|
|
238
240
|
}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
+
// Share the same in-flight refresh as on-demand callers to avoid colliding
|
|
242
|
+
// refresh calls that would invalidate each other's rotating refresh token.
|
|
243
|
+
await this._refreshTokensDeduped(userKey, saved.refreshToken);
|
|
241
244
|
log_1.default.info('oauth2_code.background_refresh_success', { userKey });
|
|
242
245
|
}
|
|
246
|
+
cancelAllRefresh() {
|
|
247
|
+
this._tokenRefreshScheduler.cancelAllRefresh();
|
|
248
|
+
}
|
|
243
249
|
}
|
|
244
250
|
exports.OAuth2CodeProvider = OAuth2CodeProvider;
|
|
245
251
|
//# sourceMappingURL=oauth2-code-provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth2-code-provider.js","sourceRoot":"","sources":["../../../../src/creatio/auth/providers/oauth2-code-provider.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAgD;AAChD,uDAA+B;AAC/B,gDAA2F;AAC3F,0CAAiE;AAEjE,kCAAkF;AAElF,iEAA4D;AAE5D,MAAa,kBAAmB,SAAQ,yCAAwC;IAC9D,eAAe,GAAG,yBAAc,CAAC,QAAQ,CAAC;IAC1C,sBAAsB,GAAG,IAAI,gCAAqB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth2-code-provider.js","sourceRoot":"","sources":["../../../../src/creatio/auth/providers/oauth2-code-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AdminOperationProvider, AdminOperationServiceResult, SetAdminOperationGranteeRequest, UpsertAdminOperationRequest, UpsertAdminOperationResult } from '../../providers';
|
|
2
|
+
import { CreatioEngine } from '../engine';
|
|
3
|
+
export declare class AdminOperationEngine implements CreatioEngine {
|
|
4
|
+
private readonly _provider;
|
|
5
|
+
readonly name = "admin-operation";
|
|
6
|
+
constructor(provider: AdminOperationProvider);
|
|
7
|
+
get kind(): string;
|
|
8
|
+
upsertAdminOperation(request: UpsertAdminOperationRequest): Promise<UpsertAdminOperationResult>;
|
|
9
|
+
deleteAdminOperation(recordIds: string[]): Promise<AdminOperationServiceResult>;
|
|
10
|
+
setAdminOperationGrantee(request: SetAdminOperationGranteeRequest): Promise<AdminOperationServiceResult>;
|
|
11
|
+
deleteAdminOperationGrantee(recordIds: string[]): Promise<AdminOperationServiceResult>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=admin-operation-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-operation-engine.d.ts","sourceRoot":"","sources":["../../../../src/creatio/engines/admin-operation/admin-operation-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EACtB,2BAA2B,EAC3B,+BAA+B,EAC/B,2BAA2B,EAC3B,0BAA0B,EAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,qBAAa,oBAAqB,YAAW,aAAa;IACzD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IAEnD,SAAgB,IAAI,qBAAqB;gBAE7B,QAAQ,EAAE,sBAAsB;IAI5C,IAAW,IAAI,IAAI,MAAM,CAExB;IAEM,oBAAoB,CAC1B,OAAO,EAAE,2BAA2B,GAClC,OAAO,CAAC,0BAA0B,CAAC;IAI/B,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAI/E,wBAAwB,CAC9B,OAAO,EAAE,+BAA+B,GACtC,OAAO,CAAC,2BAA2B,CAAC;IAIhC,2BAA2B,CACjC,SAAS,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,2BAA2B,CAAC;CAGvC"}
|