mcp-creatio 0.3.6
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/.dockerignore +12 -0
- package/.editorconfig +14 -0
- package/.eslintrc.cjs +18 -0
- package/.gitattributes +8 -0
- package/.github/workflows/docker-publish.yml +50 -0
- package/.prettierignore +3 -0
- package/.prettierrc +9 -0
- package/.vscode/launch.json +23 -0
- package/.vscode/mcp.json +13 -0
- package/.vscode/settings.json +16 -0
- package/Agent.md +187 -0
- package/Debug.md +32 -0
- package/Dockerfile +23 -0
- package/LICENSE +21 -0
- package/README.md +162 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +135 -0
- package/dist/cli.js.map +1 -0
- package/dist/config-builder.d.ts +3 -0
- package/dist/config-builder.d.ts.map +1 -0
- package/dist/config-builder.js +66 -0
- package/dist/config-builder.js.map +1 -0
- package/dist/consts.d.ts +2 -0
- package/dist/consts.d.ts.map +1 -0
- package/dist/consts.js +6 -0
- package/dist/consts.js.map +1 -0
- package/dist/creatio/auth/auth-manager.d.ts +9 -0
- package/dist/creatio/auth/auth-manager.d.ts.map +1 -0
- package/dist/creatio/auth/auth-manager.js +29 -0
- package/dist/creatio/auth/auth-manager.js.map +1 -0
- package/dist/creatio/auth/auth.d.ts +16 -0
- package/dist/creatio/auth/auth.d.ts.map +1 -0
- package/dist/creatio/auth/auth.js +20 -0
- package/dist/creatio/auth/auth.js.map +1 -0
- package/dist/creatio/auth/index.d.ts +4 -0
- package/dist/creatio/auth/index.d.ts.map +1 -0
- package/dist/creatio/auth/index.js +21 -0
- package/dist/creatio/auth/index.js.map +1 -0
- package/dist/creatio/auth/providers/base-oauth2-provider.d.ts +17 -0
- package/dist/creatio/auth/providers/base-oauth2-provider.d.ts.map +1 -0
- package/dist/creatio/auth/providers/base-oauth2-provider.js +49 -0
- package/dist/creatio/auth/providers/base-oauth2-provider.js.map +1 -0
- package/dist/creatio/auth/providers/base-provider.d.ts +15 -0
- package/dist/creatio/auth/providers/base-provider.d.ts.map +1 -0
- package/dist/creatio/auth/providers/base-provider.js +32 -0
- package/dist/creatio/auth/providers/base-provider.js.map +1 -0
- package/dist/creatio/auth/providers/index.d.ts +5 -0
- package/dist/creatio/auth/providers/index.d.ts.map +1 -0
- package/dist/creatio/auth/providers/index.js +21 -0
- package/dist/creatio/auth/providers/index.js.map +1 -0
- package/dist/creatio/auth/providers/legacy-provider.d.ts +10 -0
- package/dist/creatio/auth/providers/legacy-provider.d.ts.map +1 -0
- package/dist/creatio/auth/providers/legacy-provider.js +73 -0
- package/dist/creatio/auth/providers/legacy-provider.js.map +1 -0
- package/dist/creatio/auth/providers/oauth2-code-provider.d.ts +18 -0
- package/dist/creatio/auth/providers/oauth2-code-provider.d.ts.map +1 -0
- package/dist/creatio/auth/providers/oauth2-code-provider.js +245 -0
- package/dist/creatio/auth/providers/oauth2-code-provider.js.map +1 -0
- package/dist/creatio/auth/providers/oauth2-provider.d.ts +9 -0
- package/dist/creatio/auth/providers/oauth2-provider.d.ts.map +1 -0
- package/dist/creatio/auth/providers/oauth2-provider.js +86 -0
- package/dist/creatio/auth/providers/oauth2-provider.js.map +1 -0
- package/dist/creatio/auth/providers/type.d.ts +6 -0
- package/dist/creatio/auth/providers/type.d.ts.map +1 -0
- package/dist/creatio/auth/providers/type.js +10 -0
- package/dist/creatio/auth/providers/type.js.map +1 -0
- package/dist/creatio/client-config.d.ts +29 -0
- package/dist/creatio/client-config.d.ts.map +1 -0
- package/dist/creatio/client-config.js +3 -0
- package/dist/creatio/client-config.js.map +1 -0
- package/dist/creatio/engines/crud/crud-engine.d.ts +15 -0
- package/dist/creatio/engines/crud/crud-engine.d.ts.map +1 -0
- package/dist/creatio/engines/crud/crud-engine.js +33 -0
- package/dist/creatio/engines/crud/crud-engine.js.map +1 -0
- package/dist/creatio/engines/engine-manager.d.ts +33 -0
- package/dist/creatio/engines/engine-manager.d.ts.map +1 -0
- package/dist/creatio/engines/engine-manager.js +54 -0
- package/dist/creatio/engines/engine-manager.js.map +1 -0
- package/dist/creatio/engines/engine-registry.d.ts +15 -0
- package/dist/creatio/engines/engine-registry.d.ts.map +1 -0
- package/dist/creatio/engines/engine-registry.js +35 -0
- package/dist/creatio/engines/engine-registry.js.map +1 -0
- package/dist/creatio/engines/engine.d.ts +4 -0
- package/dist/creatio/engines/engine.d.ts.map +1 -0
- package/dist/creatio/engines/engine.js +3 -0
- package/dist/creatio/engines/engine.js.map +1 -0
- package/dist/creatio/engines/index.d.ts +8 -0
- package/dist/creatio/engines/index.d.ts.map +1 -0
- package/dist/creatio/engines/index.js +24 -0
- package/dist/creatio/engines/index.js.map +1 -0
- package/dist/creatio/engines/process/process-engine.d.ts +10 -0
- package/dist/creatio/engines/process/process-engine.d.ts.map +1 -0
- package/dist/creatio/engines/process/process-engine.js +18 -0
- package/dist/creatio/engines/process/process-engine.js.map +1 -0
- package/dist/creatio/engines/sys-settings/sys-settings-engine.d.ts +13 -0
- package/dist/creatio/engines/sys-settings/sys-settings-engine.d.ts.map +1 -0
- package/dist/creatio/engines/sys-settings/sys-settings-engine.js +27 -0
- package/dist/creatio/engines/sys-settings/sys-settings-engine.js.map +1 -0
- package/dist/creatio/engines/user/user-engine.d.ts +10 -0
- package/dist/creatio/engines/user/user-engine.d.ts.map +1 -0
- package/dist/creatio/engines/user/user-engine.js +18 -0
- package/dist/creatio/engines/user/user-engine.js.map +1 -0
- package/dist/creatio/index.d.ts +7 -0
- package/dist/creatio/index.d.ts.map +1 -0
- package/dist/creatio/index.js +23 -0
- package/dist/creatio/index.js.map +1 -0
- package/dist/creatio/provider-context.d.ts +10 -0
- package/dist/creatio/provider-context.d.ts.map +1 -0
- package/dist/creatio/provider-context.js +3 -0
- package/dist/creatio/provider-context.js.map +1 -0
- package/dist/creatio/providers/crud-provider.d.ts +40 -0
- package/dist/creatio/providers/crud-provider.d.ts.map +1 -0
- package/dist/creatio/providers/crud-provider.js +3 -0
- package/dist/creatio/providers/crud-provider.js.map +1 -0
- package/dist/creatio/providers/index.d.ts +5 -0
- package/dist/creatio/providers/index.d.ts.map +1 -0
- package/dist/creatio/providers/index.js +21 -0
- package/dist/creatio/providers/index.js.map +1 -0
- package/dist/creatio/providers/process-provider.d.ts +14 -0
- package/dist/creatio/providers/process-provider.d.ts.map +1 -0
- package/dist/creatio/providers/process-provider.js +3 -0
- package/dist/creatio/providers/process-provider.js.map +1 -0
- package/dist/creatio/providers/sys-settings-provider.d.ts +58 -0
- package/dist/creatio/providers/sys-settings-provider.d.ts.map +1 -0
- package/dist/creatio/providers/sys-settings-provider.js +3 -0
- package/dist/creatio/providers/sys-settings-provider.js.map +1 -0
- package/dist/creatio/providers/user-provider.d.ts +12 -0
- package/dist/creatio/providers/user-provider.d.ts.map +1 -0
- package/dist/creatio/providers/user-provider.js +3 -0
- package/dist/creatio/providers/user-provider.js.map +1 -0
- package/dist/creatio/services/creatio-service-context.d.ts +17 -0
- package/dist/creatio/services/creatio-service-context.d.ts.map +1 -0
- package/dist/creatio/services/creatio-service-context.js +35 -0
- package/dist/creatio/services/creatio-service-context.js.map +1 -0
- package/dist/creatio/services/http-client.d.ts +29 -0
- package/dist/creatio/services/http-client.d.ts.map +1 -0
- package/dist/creatio/services/http-client.js +136 -0
- package/dist/creatio/services/http-client.js.map +1 -0
- package/dist/creatio/services/index.d.ts +8 -0
- package/dist/creatio/services/index.d.ts.map +1 -0
- package/dist/creatio/services/index.js +24 -0
- package/dist/creatio/services/index.js.map +1 -0
- package/dist/creatio/services/metadata-store.d.ts +20 -0
- package/dist/creatio/services/metadata-store.d.ts.map +1 -0
- package/dist/creatio/services/metadata-store.js +162 -0
- package/dist/creatio/services/metadata-store.js.map +1 -0
- package/dist/creatio/services/odata-crud-provider.d.ts +21 -0
- package/dist/creatio/services/odata-crud-provider.d.ts.map +1 -0
- package/dist/creatio/services/odata-crud-provider.js +145 -0
- package/dist/creatio/services/odata-crud-provider.js.map +1 -0
- package/dist/creatio/services/process-service-provider.d.ts +11 -0
- package/dist/creatio/services/process-service-provider.d.ts.map +1 -0
- package/dist/creatio/services/process-service-provider.js +52 -0
- package/dist/creatio/services/process-service-provider.js.map +1 -0
- package/dist/creatio/services/sys-settings-service-provider.d.ts +19 -0
- package/dist/creatio/services/sys-settings-service-provider.d.ts.map +1 -0
- package/dist/creatio/services/sys-settings-service-provider.js +107 -0
- package/dist/creatio/services/sys-settings-service-provider.js.map +1 -0
- package/dist/creatio/services/user-info-provider.d.ts +10 -0
- package/dist/creatio/services/user-info-provider.d.ts.map +1 -0
- package/dist/creatio/services/user-info-provider.js +26 -0
- package/dist/creatio/services/user-info-provider.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +46 -0
- package/dist/index.js.map +1 -0
- package/dist/log.d.ts +51 -0
- package/dist/log.d.ts.map +1 -0
- package/dist/log.js +137 -0
- package/dist/log.js.map +1 -0
- package/dist/server/http/creatio-oauth-handlers.d.ts +14 -0
- package/dist/server/http/creatio-oauth-handlers.d.ts.map +1 -0
- package/dist/server/http/creatio-oauth-handlers.js +137 -0
- package/dist/server/http/creatio-oauth-handlers.js.map +1 -0
- package/dist/server/http/httpServer.d.ts +23 -0
- package/dist/server/http/httpServer.d.ts.map +1 -0
- package/dist/server/http/httpServer.js +131 -0
- package/dist/server/http/httpServer.js.map +1 -0
- package/dist/server/http/index.d.ts +6 -0
- package/dist/server/http/index.d.ts.map +1 -0
- package/dist/server/http/index.js +22 -0
- package/dist/server/http/index.js.map +1 -0
- package/dist/server/http/mcp-handlers.d.ts +10 -0
- package/dist/server/http/mcp-handlers.d.ts.map +1 -0
- package/dist/server/http/mcp-handlers.js +82 -0
- package/dist/server/http/mcp-handlers.js.map +1 -0
- package/dist/server/http/mcp-oauth-handlers.d.ts +11 -0
- package/dist/server/http/mcp-oauth-handlers.d.ts.map +1 -0
- package/dist/server/http/mcp-oauth-handlers.js +106 -0
- package/dist/server/http/mcp-oauth-handlers.js.map +1 -0
- package/dist/server/http/middleware.d.ts +11 -0
- package/dist/server/http/middleware.d.ts.map +1 -0
- package/dist/server/http/middleware.js +88 -0
- package/dist/server/http/middleware.js.map +1 -0
- package/dist/server/index.d.ts +3 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +19 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/mcp/filters.d.ts +2 -0
- package/dist/server/mcp/filters.d.ts.map +1 -0
- package/dist/server/mcp/filters.js +94 -0
- package/dist/server/mcp/filters.js.map +1 -0
- package/dist/server/mcp/index.d.ts +2 -0
- package/dist/server/mcp/index.d.ts.map +1 -0
- package/dist/server/mcp/index.js +18 -0
- package/dist/server/mcp/index.js.map +1 -0
- package/dist/server/mcp/prompts-data.d.ts +147 -0
- package/dist/server/mcp/prompts-data.d.ts.map +1 -0
- package/dist/server/mcp/prompts-data.js +884 -0
- package/dist/server/mcp/prompts-data.js.map +1 -0
- package/dist/server/mcp/server.d.ts +25 -0
- package/dist/server/mcp/server.d.ts.map +1 -0
- package/dist/server/mcp/server.js +233 -0
- package/dist/server/mcp/server.js.map +1 -0
- package/dist/server/mcp/tools-data.d.ts +165 -0
- package/dist/server/mcp/tools-data.d.ts.map +1 -0
- package/dist/server/mcp/tools-data.js +466 -0
- package/dist/server/mcp/tools-data.js.map +1 -0
- package/dist/server/oauth/client-manager.d.ts +6 -0
- package/dist/server/oauth/client-manager.d.ts.map +1 -0
- package/dist/server/oauth/client-manager.js +52 -0
- package/dist/server/oauth/client-manager.js.map +1 -0
- package/dist/server/oauth/index.d.ts +7 -0
- package/dist/server/oauth/index.d.ts.map +1 -0
- package/dist/server/oauth/index.js +23 -0
- package/dist/server/oauth/index.js.map +1 -0
- package/dist/server/oauth/oauth-server.d.ts +21 -0
- package/dist/server/oauth/oauth-server.d.ts.map +1 -0
- package/dist/server/oauth/oauth-server.js +146 -0
- package/dist/server/oauth/oauth-server.js.map +1 -0
- package/dist/server/oauth/storage.d.ts +31 -0
- package/dist/server/oauth/storage.d.ts.map +1 -0
- package/dist/server/oauth/storage.js +73 -0
- package/dist/server/oauth/storage.js.map +1 -0
- package/dist/server/oauth/token-manager.d.ts +13 -0
- package/dist/server/oauth/token-manager.d.ts.map +1 -0
- package/dist/server/oauth/token-manager.js +69 -0
- package/dist/server/oauth/token-manager.js.map +1 -0
- package/dist/server/oauth/types.d.ts +51 -0
- package/dist/server/oauth/types.d.ts.map +1 -0
- package/dist/server/oauth/types.js +3 -0
- package/dist/server/oauth/types.js.map +1 -0
- package/dist/server/oauth/validators.d.ts +7 -0
- package/dist/server/oauth/validators.d.ts.map +1 -0
- package/dist/server/oauth/validators.js +51 -0
- package/dist/server/oauth/validators.js.map +1 -0
- package/dist/services/index.d.ts +3 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +19 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/session-context.d.ts +57 -0
- package/dist/services/session-context.d.ts.map +1 -0
- package/dist/services/session-context.js +182 -0
- package/dist/services/session-context.js.map +1 -0
- package/dist/services/token-refresh-scheduler.d.ts +16 -0
- package/dist/services/token-refresh-scheduler.d.ts.map +1 -0
- package/dist/services/token-refresh-scheduler.js +66 -0
- package/dist/services/token-refresh-scheduler.js.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +18 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/network.d.ts +7 -0
- package/dist/types/network.d.ts.map +1 -0
- package/dist/types/network.js +6 -0
- package/dist/types/network.js.map +1 -0
- package/dist/utils/context.d.ts +10 -0
- package/dist/utils/context.d.ts.map +1 -0
- package/dist/utils/context.js +44 -0
- package/dist/utils/context.js.map +1 -0
- package/dist/utils/env.d.ts +3 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +16 -0
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +22 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/mcp.d.ts +3 -0
- package/dist/utils/mcp.d.ts.map +1 -0
- package/dist/utils/mcp.js +7 -0
- package/dist/utils/mcp.js.map +1 -0
- package/dist/utils/network.d.ts +7 -0
- package/dist/utils/network.d.ts.map +1 -0
- package/dist/utils/network.js +63 -0
- package/dist/utils/network.js.map +1 -0
- package/dist/utils/pkce.d.ts +7 -0
- package/dist/utils/pkce.d.ts.map +1 -0
- package/dist/utils/pkce.js +43 -0
- package/dist/utils/pkce.js.map +1 -0
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +10 -0
- package/dist/version.js.map +1 -0
- package/docs/coding-style.md +30 -0
- package/ecosystem.config.json +17 -0
- package/eslint.config.cjs +95 -0
- package/package.json +54 -0
- package/src/cli.ts +158 -0
- package/src/config-builder.ts +76 -0
- package/src/consts.ts +3 -0
- package/src/creatio/auth/auth-manager.ts +27 -0
- package/src/creatio/auth/auth.ts +31 -0
- package/src/creatio/auth/index.ts +3 -0
- package/src/creatio/auth/providers/base-oauth2-provider.ts +62 -0
- package/src/creatio/auth/providers/base-provider.ts +42 -0
- package/src/creatio/auth/providers/index.ts +4 -0
- package/src/creatio/auth/providers/legacy-provider.ts +70 -0
- package/src/creatio/auth/providers/oauth2-code-provider.ts +252 -0
- package/src/creatio/auth/providers/oauth2-provider.ts +91 -0
- package/src/creatio/auth/providers/type.ts +5 -0
- package/src/creatio/client-config.ts +34 -0
- package/src/creatio/engines/crud/crud-engine.ts +47 -0
- package/src/creatio/engines/engine-manager.ts +102 -0
- package/src/creatio/engines/engine-registry.ts +36 -0
- package/src/creatio/engines/engine.ts +3 -0
- package/src/creatio/engines/index.ts +7 -0
- package/src/creatio/engines/process/process-engine.ts +20 -0
- package/src/creatio/engines/sys-settings/sys-settings-engine.ts +41 -0
- package/src/creatio/engines/user/user-engine.ts +20 -0
- package/src/creatio/index.ts +6 -0
- package/src/creatio/provider-context.ts +10 -0
- package/src/creatio/providers/crud-provider.ts +45 -0
- package/src/creatio/providers/index.ts +4 -0
- package/src/creatio/providers/process-provider.ts +15 -0
- package/src/creatio/providers/sys-settings-provider.ts +63 -0
- package/src/creatio/providers/user-provider.ts +12 -0
- package/src/creatio/services/creatio-service-context.ts +38 -0
- package/src/creatio/services/http-client.ts +174 -0
- package/src/creatio/services/index.ts +7 -0
- package/src/creatio/services/metadata-store.ts +181 -0
- package/src/creatio/services/odata-crud-provider.ts +210 -0
- package/src/creatio/services/process-service-provider.ts +76 -0
- package/src/creatio/services/sys-settings-service-provider.ts +192 -0
- package/src/creatio/services/user-info-provider.ts +41 -0
- package/src/index.ts +44 -0
- package/src/log.ts +141 -0
- package/src/server/http/creatio-oauth-handlers.ts +146 -0
- package/src/server/http/httpServer.ts +150 -0
- package/src/server/http/index.ts +5 -0
- package/src/server/http/mcp-handlers.ts +92 -0
- package/src/server/http/mcp-oauth-handlers.ts +108 -0
- package/src/server/http/middleware.ts +91 -0
- package/src/server/index.ts +2 -0
- package/src/server/mcp/filters.ts +97 -0
- package/src/server/mcp/index.ts +1 -0
- package/src/server/mcp/prompts-data.ts +896 -0
- package/src/server/mcp/server.ts +331 -0
- package/src/server/mcp/tools-data.ts +592 -0
- package/src/server/oauth/client-manager.ts +47 -0
- package/src/server/oauth/index.ts +6 -0
- package/src/server/oauth/oauth-server.ts +185 -0
- package/src/server/oauth/storage.ts +106 -0
- package/src/server/oauth/token-manager.ts +80 -0
- package/src/server/oauth/types.ts +55 -0
- package/src/server/oauth/validators.ts +56 -0
- package/src/services/index.ts +2 -0
- package/src/services/session-context.ts +232 -0
- package/src/services/token-refresh-scheduler.ts +68 -0
- package/src/types/index.ts +1 -0
- package/src/types/network.ts +7 -0
- package/src/utils/context.ts +49 -0
- package/src/utils/env.ts +12 -0
- package/src/utils/index.ts +5 -0
- package/src/utils/mcp.ts +8 -0
- package/src/utils/network.ts +65 -0
- package/src/utils/pkce.ts +39 -0
- package/src/version.ts +15 -0
- package/tsconfig.json +28 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.LegacyProvider = void 0;
|
|
7
|
+
const log_1 = __importDefault(require("../../../log"));
|
|
8
|
+
const types_1 = require("../../../types");
|
|
9
|
+
const utils_1 = require("../../../utils");
|
|
10
|
+
const auth_1 = require("../auth");
|
|
11
|
+
const base_provider_1 = require("./base-provider");
|
|
12
|
+
class LegacyProvider extends base_provider_1.BaseProvider {
|
|
13
|
+
_bpmCsrf;
|
|
14
|
+
_cookieHeader;
|
|
15
|
+
async _ensureSession() {
|
|
16
|
+
if (this._cookieHeader) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const url = `${this.config.baseUrl.replace(/\/$/, '')}/ServiceModel/AuthService.svc/Login`;
|
|
20
|
+
const body = JSON.stringify({
|
|
21
|
+
UserName: this.authConfig.login,
|
|
22
|
+
UserPassword: this.authConfig.password,
|
|
23
|
+
});
|
|
24
|
+
log_1.default.creatioAuthStart(this.config.baseUrl, 'legacy');
|
|
25
|
+
const res = await fetch(url, {
|
|
26
|
+
method: 'POST',
|
|
27
|
+
headers: (0, auth_1.buildHeaders)(types_1.JSON_ACCEPT, true),
|
|
28
|
+
body,
|
|
29
|
+
redirect: 'manual',
|
|
30
|
+
});
|
|
31
|
+
if (!res.ok) {
|
|
32
|
+
const responseText = await res.text().catch(() => '');
|
|
33
|
+
log_1.default.creatioAuthFailed(this.config.baseUrl, `${res.status} ${responseText}`, 'legacy');
|
|
34
|
+
throw new Error(`auth_failed:${res.status} ${responseText}`);
|
|
35
|
+
}
|
|
36
|
+
log_1.default.creatioAuthOk(this.config.baseUrl, 'legacy');
|
|
37
|
+
let setCookie = [];
|
|
38
|
+
if (typeof res.headers.getSetCookie === 'function') {
|
|
39
|
+
setCookie = res.headers.getSetCookie();
|
|
40
|
+
}
|
|
41
|
+
else if (res.headers.raw && res.headers.raw()['set-cookie']) {
|
|
42
|
+
setCookie = res.headers.raw()['set-cookie'];
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
setCookie = [];
|
|
46
|
+
}
|
|
47
|
+
const pairs = (0, utils_1.parseSetCookie)(setCookie);
|
|
48
|
+
if (!pairs.length) {
|
|
49
|
+
throw new Error('auth_failed:no_set_cookie');
|
|
50
|
+
}
|
|
51
|
+
this._cookieHeader = pairs.map((c) => `${c.name}=${c.value}`).join('; ');
|
|
52
|
+
const csrf = pairs.find((c) => c.name.toUpperCase() === 'BPMCSRF')?.value;
|
|
53
|
+
if (csrf) {
|
|
54
|
+
this._bpmCsrf = csrf;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
async getHeaders(accept, isJson) {
|
|
58
|
+
await this._ensureSession();
|
|
59
|
+
const h = (0, auth_1.buildHeaders)(accept, Boolean(isJson));
|
|
60
|
+
h['ForceUseSession'] = 'true';
|
|
61
|
+
h['Cookie'] = this._cookieHeader;
|
|
62
|
+
if (this._bpmCsrf) {
|
|
63
|
+
h['BPMCSRF'] = this._bpmCsrf;
|
|
64
|
+
}
|
|
65
|
+
return h;
|
|
66
|
+
}
|
|
67
|
+
async refresh() {
|
|
68
|
+
this._cookieHeader = undefined;
|
|
69
|
+
await this._ensureSession();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.LegacyProvider = LegacyProvider;
|
|
73
|
+
//# sourceMappingURL=legacy-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacy-provider.js","sourceRoot":"","sources":["../../../../src/creatio/auth/providers/legacy-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
protected readonly authErrorCode = "oauth2_code_need_consent";
|
|
7
|
+
private get _scope();
|
|
8
|
+
constructor(config: CreatioClientConfig);
|
|
9
|
+
private _exchangeCodeForTokens;
|
|
10
|
+
private _refreshTokens;
|
|
11
|
+
protected throwNoTokenError(): void;
|
|
12
|
+
protected ensureAccessToken(force?: boolean): Promise<string | undefined>;
|
|
13
|
+
finishAuthorization(code: string): Promise<void>;
|
|
14
|
+
getAuthorizeUrl(state: string): Promise<string>;
|
|
15
|
+
revoke(): Promise<void>;
|
|
16
|
+
refreshUserTokens(userKey: string): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=oauth2-code-provider.d.ts.map
|
|
@@ -0,0 +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;IAEtE,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;cAQnB,iBAAiB,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA0ChE,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAchD,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB/C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAwCvB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAS9D"}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.OAuth2CodeProvider = void 0;
|
|
7
|
+
const consts_1 = require("../../../consts");
|
|
8
|
+
const log_1 = __importDefault(require("../../../log"));
|
|
9
|
+
const services_1 = require("../../../services");
|
|
10
|
+
const utils_1 = require("../../../utils");
|
|
11
|
+
const auth_1 = require("../auth");
|
|
12
|
+
const base_oauth2_provider_1 = require("./base-oauth2-provider");
|
|
13
|
+
class OAuth2CodeProvider extends base_oauth2_provider_1.BaseOAuth2Provider {
|
|
14
|
+
_sessionContext = services_1.SessionContext.instance;
|
|
15
|
+
_tokenRefreshScheduler = new services_1.TokenRefreshScheduler();
|
|
16
|
+
authErrorCode = 'oauth2_code_need_consent';
|
|
17
|
+
get _scope() {
|
|
18
|
+
return this.authConfig.scope || 'offline_access';
|
|
19
|
+
}
|
|
20
|
+
constructor(config) {
|
|
21
|
+
super(config);
|
|
22
|
+
this._tokenRefreshScheduler.setRefreshCallback(this.refreshUserTokens.bind(this));
|
|
23
|
+
}
|
|
24
|
+
async _exchangeCodeForTokens(code) {
|
|
25
|
+
const idBase = this.getIdentityBase();
|
|
26
|
+
const url = idBase + auth_1.TOKEN_ENDPOINT;
|
|
27
|
+
const body = new URLSearchParams();
|
|
28
|
+
body.set('grant_type', 'authorization_code');
|
|
29
|
+
body.set('client_id', this.authConfig.clientId);
|
|
30
|
+
if (this.authConfig.clientSecret) {
|
|
31
|
+
body.set('client_secret', this.authConfig.clientSecret);
|
|
32
|
+
}
|
|
33
|
+
body.set('code', code);
|
|
34
|
+
body.set('redirect_uri', this.authConfig.redirectUri);
|
|
35
|
+
body.set('scope', this._scope);
|
|
36
|
+
log_1.default.creatioAuthStart(this.config.baseUrl, 'oauth2_code');
|
|
37
|
+
const res = await fetch(url, {
|
|
38
|
+
method: 'POST',
|
|
39
|
+
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
40
|
+
body: body.toString(),
|
|
41
|
+
});
|
|
42
|
+
const txt = await res.text().catch(() => '');
|
|
43
|
+
if (!res.ok || !txt) {
|
|
44
|
+
log_1.default.creatioAuthFailed(this.config.baseUrl, `token:${res.status} ${txt}`, 'oauth2_code');
|
|
45
|
+
throw new Error(`oauth2_code_token_error:${res.status}`);
|
|
46
|
+
}
|
|
47
|
+
let j;
|
|
48
|
+
try {
|
|
49
|
+
j = JSON.parse(txt);
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
log_1.default.creatioAuthFailed(this.config.baseUrl, 'token_parse_failed', 'oauth2_code');
|
|
53
|
+
throw new Error('oauth2_code_token_parse_failed');
|
|
54
|
+
}
|
|
55
|
+
if (!j.access_token) {
|
|
56
|
+
throw new Error('oauth2_code_no_access_token');
|
|
57
|
+
}
|
|
58
|
+
const expiresIn = Number(j.expires_in) || 180;
|
|
59
|
+
const accessTokenExpiryMs = this.computeExpiryMs(expiresIn, 1);
|
|
60
|
+
log_1.default.creatioAuthOk(this.config.baseUrl, 'oauth2_code');
|
|
61
|
+
return {
|
|
62
|
+
accessToken: String(j.access_token),
|
|
63
|
+
accessTokenExpiryMs,
|
|
64
|
+
refreshToken: j.refresh_token ? String(j.refresh_token) : undefined,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
async _refreshTokens(refreshToken) {
|
|
68
|
+
const idBase = this.getIdentityBase();
|
|
69
|
+
const url = idBase + auth_1.TOKEN_ENDPOINT;
|
|
70
|
+
log_1.default.info('oauth2_code.refresh_attempt', { url, refreshTokenLength: refreshToken.length });
|
|
71
|
+
const body = new URLSearchParams();
|
|
72
|
+
body.set('grant_type', 'refresh_token');
|
|
73
|
+
body.set('client_id', this.authConfig.clientId);
|
|
74
|
+
if (this.authConfig.clientSecret) {
|
|
75
|
+
body.set('client_secret', this.authConfig.clientSecret);
|
|
76
|
+
}
|
|
77
|
+
body.set('refresh_token', refreshToken);
|
|
78
|
+
body.set('redirect_uri', this.authConfig.redirectUri);
|
|
79
|
+
body.set('scope', this._scope);
|
|
80
|
+
const res = await fetch(url, {
|
|
81
|
+
method: 'POST',
|
|
82
|
+
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
83
|
+
body: body.toString(),
|
|
84
|
+
});
|
|
85
|
+
const txt = await res.text().catch(() => '');
|
|
86
|
+
log_1.default.info('oauth2_code.refresh_response', {
|
|
87
|
+
status: res.status,
|
|
88
|
+
hasBody: !!txt,
|
|
89
|
+
bodyLength: txt.length,
|
|
90
|
+
});
|
|
91
|
+
if (!res.ok || !txt) {
|
|
92
|
+
log_1.default.error('oauth2_code.refresh_failed', {
|
|
93
|
+
status: res.status,
|
|
94
|
+
body: txt.substring(0, 200),
|
|
95
|
+
});
|
|
96
|
+
throw new Error(`oauth2_code_refresh_error:${res.status}`);
|
|
97
|
+
}
|
|
98
|
+
let j;
|
|
99
|
+
try {
|
|
100
|
+
j = JSON.parse(txt);
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
throw new Error('oauth2_code_refresh_parse_failed');
|
|
104
|
+
}
|
|
105
|
+
if (!j.access_token) {
|
|
106
|
+
throw new Error('oauth2_code_refresh_no_access_token');
|
|
107
|
+
}
|
|
108
|
+
const expiresIn = Number(j.expires_in) || 180;
|
|
109
|
+
const accessTokenExpiryMs = this.computeExpiryMs(expiresIn, 1);
|
|
110
|
+
const newTokens = {
|
|
111
|
+
accessToken: String(j.access_token),
|
|
112
|
+
accessTokenExpiryMs,
|
|
113
|
+
refreshToken: j.refresh_token ? String(j.refresh_token) : refreshToken,
|
|
114
|
+
};
|
|
115
|
+
log_1.default.info('oauth2_code.refresh_success', {
|
|
116
|
+
hasNewRefreshToken: !!j.refresh_token,
|
|
117
|
+
expiresIn,
|
|
118
|
+
accessTokenLength: newTokens.accessToken.length,
|
|
119
|
+
});
|
|
120
|
+
return newTokens;
|
|
121
|
+
}
|
|
122
|
+
throwNoTokenError() {
|
|
123
|
+
const userKey = (0, utils_1.getEffectiveUserKey)();
|
|
124
|
+
const errorMessage = userKey
|
|
125
|
+
? `${this.authErrorCode}:http://localhost:${consts_1.HTTP_MCP_PORT}/oauth/start?userKey=${encodeURIComponent(userKey)}`
|
|
126
|
+
: this.authErrorCode;
|
|
127
|
+
throw new Error(errorMessage);
|
|
128
|
+
}
|
|
129
|
+
async ensureAccessToken(force = false) {
|
|
130
|
+
log_1.default.info('oauth2_code.ensure_access_token.start', { force });
|
|
131
|
+
const now = Date.now();
|
|
132
|
+
if (!force &&
|
|
133
|
+
this.accessToken &&
|
|
134
|
+
this.accessTokenExpiryMs &&
|
|
135
|
+
now < this.accessTokenExpiryMs) {
|
|
136
|
+
return this.accessToken;
|
|
137
|
+
}
|
|
138
|
+
const userKey = (0, utils_1.getEffectiveUserKey)();
|
|
139
|
+
if (!userKey) {
|
|
140
|
+
log_1.default.warn('oauth2_code.no_user_key');
|
|
141
|
+
return undefined;
|
|
142
|
+
}
|
|
143
|
+
const saved = await this._sessionContext.getTokensForUser(userKey);
|
|
144
|
+
if (!saved) {
|
|
145
|
+
log_1.default.warn('oauth2_code.no_saved_tokens', { userKey });
|
|
146
|
+
return undefined;
|
|
147
|
+
}
|
|
148
|
+
if (!force &&
|
|
149
|
+
saved.accessToken &&
|
|
150
|
+
saved.accessTokenExpiryMs &&
|
|
151
|
+
now < saved.accessTokenExpiryMs) {
|
|
152
|
+
this.accessToken = saved.accessToken;
|
|
153
|
+
this.accessTokenExpiryMs = saved.accessTokenExpiryMs;
|
|
154
|
+
return this.accessToken;
|
|
155
|
+
}
|
|
156
|
+
if (saved.refreshToken) {
|
|
157
|
+
const updated = await this._refreshTokens(saved.refreshToken);
|
|
158
|
+
await this._sessionContext.setTokensForUser(userKey, updated);
|
|
159
|
+
this.accessToken = updated.accessToken;
|
|
160
|
+
this.accessTokenExpiryMs = updated.accessTokenExpiryMs;
|
|
161
|
+
return this.accessToken;
|
|
162
|
+
}
|
|
163
|
+
await this._sessionContext.deleteTokensForUser(userKey);
|
|
164
|
+
return undefined;
|
|
165
|
+
}
|
|
166
|
+
async finishAuthorization(code) {
|
|
167
|
+
const userKey = (0, utils_1.getEffectiveUserKey)();
|
|
168
|
+
log_1.default.info('oauth2_code.finish_authorization', { userKey, hasCode: !!code });
|
|
169
|
+
if (!userKey) {
|
|
170
|
+
throw new Error('oauth2_code_missing_user');
|
|
171
|
+
}
|
|
172
|
+
const tokens = await this._exchangeCodeForTokens(code);
|
|
173
|
+
await this._sessionContext.setTokensForUser(userKey, tokens);
|
|
174
|
+
this.accessToken = tokens.accessToken;
|
|
175
|
+
this.accessTokenExpiryMs = tokens.accessTokenExpiryMs;
|
|
176
|
+
this._tokenRefreshScheduler.scheduleRefresh(userKey);
|
|
177
|
+
log_1.default.info('oauth2_code.authorization_complete', { userKey });
|
|
178
|
+
}
|
|
179
|
+
async getAuthorizeUrl(state) {
|
|
180
|
+
const idBase = this.getIdentityBase();
|
|
181
|
+
const u = new URL(idBase + auth_1.AUTHORIZE_ENDPOINT);
|
|
182
|
+
u.searchParams.set('client_id', this.authConfig.clientId);
|
|
183
|
+
u.searchParams.set('redirect_uri', this.authConfig.redirectUri);
|
|
184
|
+
u.searchParams.set('response_type', 'code');
|
|
185
|
+
u.searchParams.set('state', state);
|
|
186
|
+
const scopeParam = encodeURIComponent(this._scope);
|
|
187
|
+
u.search += '&scope=' + scopeParam;
|
|
188
|
+
log_1.default.info('oauth2_code.authorize_url', {
|
|
189
|
+
idBase,
|
|
190
|
+
url: u.toString(),
|
|
191
|
+
});
|
|
192
|
+
return u.toString();
|
|
193
|
+
}
|
|
194
|
+
async revoke() {
|
|
195
|
+
try {
|
|
196
|
+
const userKey = (0, utils_1.getUserKey)();
|
|
197
|
+
if (!userKey) {
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
const saved = await this._sessionContext.getTokensForUser(userKey);
|
|
201
|
+
if (!saved?.refreshToken) {
|
|
202
|
+
await this._sessionContext.deleteTokensForUser(userKey);
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
const idBase = this.getIdentityBase();
|
|
206
|
+
const url = idBase + auth_1.REVOCATION_ENDPOINT;
|
|
207
|
+
const body = new URLSearchParams();
|
|
208
|
+
body.set('client_id', this.authConfig.clientId);
|
|
209
|
+
if (this.authConfig.clientSecret) {
|
|
210
|
+
body.set('client_secret', this.authConfig.clientSecret);
|
|
211
|
+
}
|
|
212
|
+
body.set('token', saved.refreshToken);
|
|
213
|
+
body.set('token_type_hint', 'refresh_token');
|
|
214
|
+
const res = await fetch(url, {
|
|
215
|
+
method: 'POST',
|
|
216
|
+
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
217
|
+
body: body.toString(),
|
|
218
|
+
});
|
|
219
|
+
if (!res.ok) {
|
|
220
|
+
const t = await res.text().catch(() => '');
|
|
221
|
+
log_1.default.error('oauth2_code.revoke_failed', { status: res.status, t });
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
finally {
|
|
225
|
+
const userKey = (0, utils_1.getUserKey)();
|
|
226
|
+
if (userKey) {
|
|
227
|
+
await this._sessionContext.deleteTokensForUser(userKey);
|
|
228
|
+
this._tokenRefreshScheduler.cancelRefresh(userKey);
|
|
229
|
+
}
|
|
230
|
+
this.accessToken = undefined;
|
|
231
|
+
this.accessTokenExpiryMs = undefined;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
async refreshUserTokens(userKey) {
|
|
235
|
+
const saved = await this._sessionContext.getTokensForUser(userKey);
|
|
236
|
+
if (!saved?.refreshToken) {
|
|
237
|
+
throw new Error('oauth2_no_refresh_token');
|
|
238
|
+
}
|
|
239
|
+
const updated = await this._refreshTokens(saved.refreshToken);
|
|
240
|
+
await this._sessionContext.setTokensForUser(userKey, updated);
|
|
241
|
+
log_1.default.info('oauth2_code.background_refresh_success', { userKey });
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
exports.OAuth2CodeProvider = OAuth2CodeProvider;
|
|
245
|
+
//# sourceMappingURL=oauth2-code-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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,9 @@
|
|
|
1
|
+
import { CreatioClientConfig, OAuth2AuthConfig } from '../../client-config';
|
|
2
|
+
import { BaseOAuth2Provider } from './base-oauth2-provider';
|
|
3
|
+
export declare class OAuth2Provider extends BaseOAuth2Provider<OAuth2AuthConfig> {
|
|
4
|
+
private readonly _config;
|
|
5
|
+
protected readonly authErrorCode = "oauth2_auth_failed";
|
|
6
|
+
constructor(config: CreatioClientConfig);
|
|
7
|
+
protected ensureAccessToken(): Promise<string | undefined>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=oauth2-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth2-provider.d.ts","sourceRoot":"","sources":["../../../../src/creatio/auth/providers/oauth2-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,qBAAa,cAAe,SAAQ,kBAAkB,CAAC,gBAAgB,CAAC;IACvE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAE9C,SAAS,CAAC,QAAQ,CAAC,aAAa,wBAAwB;gBAE5C,MAAM,EAAE,mBAAmB;cAKvB,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CA0EhE"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.OAuth2Provider = void 0;
|
|
7
|
+
const log_1 = __importDefault(require("../../../log"));
|
|
8
|
+
const auth_1 = require("../auth");
|
|
9
|
+
const base_oauth2_provider_1 = require("./base-oauth2-provider");
|
|
10
|
+
class OAuth2Provider extends base_oauth2_provider_1.BaseOAuth2Provider {
|
|
11
|
+
_config;
|
|
12
|
+
authErrorCode = 'oauth2_auth_failed';
|
|
13
|
+
constructor(config) {
|
|
14
|
+
super(config);
|
|
15
|
+
this._config = config;
|
|
16
|
+
}
|
|
17
|
+
async ensureAccessToken() {
|
|
18
|
+
const now = Date.now();
|
|
19
|
+
if (this.accessToken && this.accessTokenExpiryMs && now < this.accessTokenExpiryMs) {
|
|
20
|
+
return this.accessToken;
|
|
21
|
+
}
|
|
22
|
+
const url = `${this.getIdentityBase()}${auth_1.TOKEN_ENDPOINT}`;
|
|
23
|
+
const body = new URLSearchParams();
|
|
24
|
+
body.set('grant_type', 'client_credentials');
|
|
25
|
+
body.set('client_id', this.authConfig.clientId);
|
|
26
|
+
body.set('client_secret', this.authConfig.clientSecret);
|
|
27
|
+
try {
|
|
28
|
+
log_1.default.creatioAuthStart(this._config.baseUrl, 'oauth2');
|
|
29
|
+
const response = await fetch(url, {
|
|
30
|
+
method: 'POST',
|
|
31
|
+
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
32
|
+
body: body.toString(),
|
|
33
|
+
});
|
|
34
|
+
const responseText = await response.text().catch(() => '');
|
|
35
|
+
const contentType = response.headers?.get?.('content-type') ?? '';
|
|
36
|
+
const bodySnippet = responseText && responseText.length > auth_1.TOKEN_BODY_SNIPPET_MAX
|
|
37
|
+
? responseText.slice(0, auth_1.TOKEN_BODY_SNIPPET_MAX) + '\n... [truncated]'
|
|
38
|
+
: responseText;
|
|
39
|
+
if (!response.ok) {
|
|
40
|
+
log_1.default.error('oauth.token.error', {
|
|
41
|
+
url,
|
|
42
|
+
status: response.status,
|
|
43
|
+
contentType,
|
|
44
|
+
bodySnippet,
|
|
45
|
+
});
|
|
46
|
+
log_1.default.creatioAuthFailed(this._config.baseUrl, `token_error:${response.status}`, 'oauth2');
|
|
47
|
+
throw new Error(`oauth2_token_error:${response.status}`);
|
|
48
|
+
}
|
|
49
|
+
if (!responseText) {
|
|
50
|
+
log_1.default.error('oauth.token.empty_body', { url, status: response.status, contentType });
|
|
51
|
+
log_1.default.creatioAuthFailed(this._config.baseUrl, 'empty_response_body', 'oauth2');
|
|
52
|
+
throw new Error('oauth2_empty_token_response');
|
|
53
|
+
}
|
|
54
|
+
let tokenResponse = null;
|
|
55
|
+
try {
|
|
56
|
+
tokenResponse = JSON.parse(responseText);
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
log_1.default.error('oauth.token.parse_failed', {
|
|
60
|
+
url,
|
|
61
|
+
status: response.status,
|
|
62
|
+
contentType,
|
|
63
|
+
bodySnippet,
|
|
64
|
+
});
|
|
65
|
+
log_1.default.creatioAuthFailed(this._config.baseUrl, 'token_parse_failed', 'oauth2');
|
|
66
|
+
throw new Error('oauth2_token_parse_failed');
|
|
67
|
+
}
|
|
68
|
+
if (!tokenResponse || !tokenResponse.access_token) {
|
|
69
|
+
log_1.default.creatioAuthFailed(this._config.baseUrl, 'no_access_token_in_response', 'oauth2');
|
|
70
|
+
throw new Error('oauth2_no_access_token');
|
|
71
|
+
}
|
|
72
|
+
this.accessToken = String(tokenResponse.access_token);
|
|
73
|
+
const expiresIn = Number(tokenResponse.expires_in) || 3600;
|
|
74
|
+
this.accessTokenExpiryMs = this.computeExpiryMs(expiresIn, 1);
|
|
75
|
+
log_1.default.creatioAuthOk(this._config.baseUrl, 'oauth2');
|
|
76
|
+
return this.accessToken;
|
|
77
|
+
}
|
|
78
|
+
catch (e) {
|
|
79
|
+
log_1.default.error('oauth.token.exception', { error: String(e?.message ?? e) });
|
|
80
|
+
log_1.default.creatioAuthFailed(this._config.baseUrl, String(e?.message ?? e), 'oauth2');
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.OAuth2Provider = OAuth2Provider;
|
|
86
|
+
//# sourceMappingURL=oauth2-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth2-provider.js","sourceRoot":"","sources":["../../../../src/creatio/auth/providers/oauth2-provider.ts"],"names":[],"mappings":";;;;;;AAAA,uDAA+B;AAE/B,kCAAiE;AAEjE,iEAA4D;AAE5D,MAAa,cAAe,SAAQ,yCAAoC;IACtD,OAAO,CAAsB;IAE3B,aAAa,GAAG,oBAAoB,CAAC;IAExD,YAAY,MAA2B;QACtC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACvB,CAAC;IAES,KAAK,CAAC,iBAAiB;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,mBAAmB,IAAI,GAAG,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACpF,OAAO,IAAI,CAAC,WAAW,CAAC;QACzB,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,qBAAc,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACxD,IAAI,CAAC;YACJ,aAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBACjC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;gBAChE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE;aACrB,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3D,MAAM,WAAW,GAAI,QAAQ,CAAC,OAAe,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAC3E,MAAM,WAAW,GAChB,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,6BAAsB;gBAC3D,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,6BAAsB,CAAC,GAAG,mBAAmB;gBACrE,CAAC,CAAC,YAAY,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAClB,aAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE;oBAC9B,GAAG;oBACH,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,WAAW;oBACX,WAAW;iBACX,CAAC,CAAC;gBACH,aAAG,CAAC,iBAAiB,CACpB,IAAI,CAAC,OAAO,CAAC,OAAO,EACpB,eAAe,QAAQ,CAAC,MAAM,EAAE,EAChC,QAAQ,CACR,CAAC;gBACF,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1D,CAAC;YACD,IAAI,CAAC,YAAY,EAAE,CAAC;gBACnB,aAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;gBACnF,aAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC;gBAC7E,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAChD,CAAC;YACD,IAAI,aAAa,GAAQ,IAAI,CAAC;YAC9B,IAAI,CAAC;gBACJ,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,aAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE;oBACrC,GAAG;oBACH,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,WAAW;oBACX,WAAW;iBACX,CAAC,CAAC;gBACH,aAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,oBAAoB,EAAE,QAAQ,CAAC,CAAC;gBAC5E,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;gBACnD,aAAG,CAAC,iBAAiB,CACpB,IAAI,CAAC,OAAO,CAAC,OAAO,EACpB,6BAA6B,EAC7B,QAAQ,CACR,CAAC;gBACF,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC3C,CAAC;YACD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;YAC3D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC9D,aAAG,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC,WAAW,CAAC;QACzB,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACjB,aAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;YACvE,aAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC/E,OAAO,SAAS,CAAC;QAClB,CAAC;IACF,CAAC;CACD;AApFD,wCAoFC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../src/creatio/auth/providers/type.ts"],"names":[],"mappings":"AAAA,oBAAY,gBAAgB;IAC3B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,UAAU,gBAAgB;CAC1B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AuthProviderType = void 0;
|
|
4
|
+
var AuthProviderType;
|
|
5
|
+
(function (AuthProviderType) {
|
|
6
|
+
AuthProviderType["Legacy"] = "legacy";
|
|
7
|
+
AuthProviderType["OAuth2"] = "oauth2";
|
|
8
|
+
AuthProviderType["OAuth2Code"] = "oauth2_code";
|
|
9
|
+
})(AuthProviderType || (exports.AuthProviderType = AuthProviderType = {}));
|
|
10
|
+
//# sourceMappingURL=type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../../../src/creatio/auth/providers/type.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC3B,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;IACjB,8CAA0B,CAAA;AAC3B,CAAC,EAJW,gBAAgB,gCAAhB,gBAAgB,QAI3B"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { AuthProviderType } from './auth/providers';
|
|
2
|
+
interface ICreatioAuthConfig {
|
|
3
|
+
kind: AuthProviderType;
|
|
4
|
+
}
|
|
5
|
+
export interface LegacyAuthConfig extends ICreatioAuthConfig {
|
|
6
|
+
kind: AuthProviderType.Legacy;
|
|
7
|
+
login: string;
|
|
8
|
+
password: string;
|
|
9
|
+
}
|
|
10
|
+
interface BaseOAuthConfig extends ICreatioAuthConfig {
|
|
11
|
+
clientId: string;
|
|
12
|
+
clientSecret: string;
|
|
13
|
+
scope?: string;
|
|
14
|
+
idBaseUrl?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface OAuth2AuthConfig extends BaseOAuthConfig {
|
|
17
|
+
kind: AuthProviderType.OAuth2;
|
|
18
|
+
}
|
|
19
|
+
export interface OAuth2CodeAuthConfig extends BaseOAuthConfig {
|
|
20
|
+
kind: AuthProviderType.OAuth2Code;
|
|
21
|
+
redirectUri: string;
|
|
22
|
+
}
|
|
23
|
+
export type CreatioClientAuthConfig = LegacyAuthConfig | OAuth2AuthConfig | OAuth2CodeAuthConfig;
|
|
24
|
+
export interface CreatioClientConfig {
|
|
25
|
+
baseUrl: string;
|
|
26
|
+
auth: CreatioClientAuthConfig;
|
|
27
|
+
}
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=client-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-config.d.ts","sourceRoot":"","sources":["../../src/creatio/client-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,UAAU,kBAAkB;IAC3B,IAAI,EAAE,gBAAgB,CAAC;CACvB;AAED,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IAC3D,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,eAAgB,SAAQ,kBAAkB;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACxD,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC5D,IAAI,EAAE,gBAAgB,CAAC,UAAU,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,uBAAuB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;AAEjG,MAAM,WAAW,mBAAmB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,uBAAuB,CAAC;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-config.js","sourceRoot":"","sources":["../../src/creatio/client-config.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CrudDeleteParams, CrudProvider, CrudReadParams, CrudUpdateParams, CrudWriteParams, EntitySchemaDescription } from '../../providers';
|
|
2
|
+
import { CreatioEngine } from '../engine';
|
|
3
|
+
export declare class CrudEngine implements CreatioEngine {
|
|
4
|
+
private readonly _provider;
|
|
5
|
+
readonly name = "crud";
|
|
6
|
+
constructor(provider: CrudProvider);
|
|
7
|
+
get kind(): string;
|
|
8
|
+
listEntitySets(): Promise<string[]>;
|
|
9
|
+
describeEntity(entitySet: string): Promise<EntitySchemaDescription>;
|
|
10
|
+
read(params: CrudReadParams): Promise<any>;
|
|
11
|
+
create(params: CrudWriteParams): Promise<any>;
|
|
12
|
+
update(params: CrudUpdateParams): Promise<any>;
|
|
13
|
+
delete(params: CrudDeleteParams): Promise<any>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=crud-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crud-engine.d.ts","sourceRoot":"","sources":["../../../../src/creatio/engines/crud/crud-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,qBAAa,UAAW,YAAW,aAAa;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IAEzC,SAAgB,IAAI,UAAU;gBAElB,QAAQ,EAAE,YAAY;IAIlC,IAAW,IAAI,IAAI,MAAM,CAExB;IAEM,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAInC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAInE,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC;IAI1C,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAI7C,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IAI9C,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;CAGrD"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CrudEngine = void 0;
|
|
4
|
+
class CrudEngine {
|
|
5
|
+
_provider;
|
|
6
|
+
name = 'crud';
|
|
7
|
+
constructor(provider) {
|
|
8
|
+
this._provider = provider;
|
|
9
|
+
}
|
|
10
|
+
get kind() {
|
|
11
|
+
return this._provider.kind;
|
|
12
|
+
}
|
|
13
|
+
listEntitySets() {
|
|
14
|
+
return this._provider.listEntitySets();
|
|
15
|
+
}
|
|
16
|
+
describeEntity(entitySet) {
|
|
17
|
+
return this._provider.describeEntity(entitySet);
|
|
18
|
+
}
|
|
19
|
+
read(params) {
|
|
20
|
+
return this._provider.read(params);
|
|
21
|
+
}
|
|
22
|
+
create(params) {
|
|
23
|
+
return this._provider.create(params);
|
|
24
|
+
}
|
|
25
|
+
update(params) {
|
|
26
|
+
return this._provider.update(params);
|
|
27
|
+
}
|
|
28
|
+
delete(params) {
|
|
29
|
+
return this._provider.delete(params);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.CrudEngine = CrudEngine;
|
|
33
|
+
//# sourceMappingURL=crud-engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crud-engine.js","sourceRoot":"","sources":["../../../../src/creatio/engines/crud/crud-engine.ts"],"names":[],"mappings":";;;AAUA,MAAa,UAAU;IACL,SAAS,CAAe;IAEzB,IAAI,GAAG,MAAM,CAAC;IAE9B,YAAY,QAAsB;QACjC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAC5B,CAAC;IAEM,cAAc;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;IACxC,CAAC;IAEM,cAAc,CAAC,SAAiB;QACtC,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAEM,IAAI,CAAC,MAAsB;QACjC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAEM,MAAM,CAAC,MAAuB;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAEM,MAAM,CAAC,MAAwB;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAEM,MAAM,CAAC,MAAwB;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;CACD;AApCD,gCAoCC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CreatioProviderContext } from '../provider-context';
|
|
2
|
+
import { CrudProvider, ProcessProvider, SysSettingsProvider, UserProvider } from '../providers';
|
|
3
|
+
import { CrudEngine } from './crud/crud-engine';
|
|
4
|
+
import { EngineRegistry } from './engine-registry';
|
|
5
|
+
import { ProcessEngine } from './process/process-engine';
|
|
6
|
+
import { SysSettingsEngine } from './sys-settings/sys-settings-engine';
|
|
7
|
+
import { UserEngine } from './user/user-engine';
|
|
8
|
+
export interface EngineManagerOptions {
|
|
9
|
+
crudProvider?: CrudProvider;
|
|
10
|
+
processProvider?: ProcessProvider;
|
|
11
|
+
sysSettingsProvider?: SysSettingsProvider;
|
|
12
|
+
userProvider?: UserProvider;
|
|
13
|
+
enableCrud?: boolean;
|
|
14
|
+
enableProcess?: boolean;
|
|
15
|
+
enableSysSettings?: boolean;
|
|
16
|
+
enableUser?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare class CreatioEngineManager {
|
|
19
|
+
private readonly _context;
|
|
20
|
+
private readonly _options;
|
|
21
|
+
private readonly _registry;
|
|
22
|
+
private readonly _engines;
|
|
23
|
+
get authProvider(): import("..").ICreatioAuthProvider;
|
|
24
|
+
get registry(): EngineRegistry;
|
|
25
|
+
get crud(): CrudEngine;
|
|
26
|
+
get process(): ProcessEngine;
|
|
27
|
+
get sysSettings(): SysSettingsEngine;
|
|
28
|
+
get user(): UserEngine;
|
|
29
|
+
constructor(context: CreatioProviderContext, options?: EngineManagerOptions);
|
|
30
|
+
private _initialize;
|
|
31
|
+
private _registerEngine;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=engine-manager.d.ts.map
|