@mcp-abap-adt/interfaces-adt 7.0.0 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +154 -0
- package/README.md +64 -14
- package/dist/connection/IAbapConnection.d.ts +12 -20
- package/dist/connection/IAbapConnection.d.ts.map +1 -1
- package/dist/connection/ITimeoutConfig.d.ts +15 -0
- package/dist/connection/ITimeoutConfig.d.ts.map +1 -0
- package/dist/index.d.ts +10 -36
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -43
- package/package.json +3 -4
- package/dist/Headers.d.ts +0 -57
- package/dist/Headers.d.ts.map +0 -1
- package/dist/Headers.js +0 -62
- package/dist/adt/AdtTypes.d.ts +0 -40
- package/dist/adt/AdtTypes.d.ts.map +0 -1
- package/dist/adt/AdtTypes.js +0 -5
- package/dist/auth/AssertionErrorCodes.d.ts +0 -15
- package/dist/auth/AssertionErrorCodes.d.ts.map +0 -1
- package/dist/auth/AssertionErrorCodes.js +0 -16
- package/dist/auth/AuthType.d.ts +0 -5
- package/dist/auth/AuthType.d.ts.map +0 -1
- package/dist/auth/IAssertionValidator.d.ts +0 -100
- package/dist/auth/IAssertionValidator.d.ts.map +0 -1
- package/dist/auth/IAssertionValidator.js +0 -10
- package/dist/auth/IAuthorizationConfig.d.ts +0 -15
- package/dist/auth/IAuthorizationConfig.d.ts.map +0 -1
- package/dist/auth/IAuthorizationConfig.js +0 -2
- package/dist/auth/IAuthorizationStrategy.d.ts +0 -59
- package/dist/auth/IAuthorizationStrategy.d.ts.map +0 -1
- package/dist/auth/IAuthorizationStrategy.js +0 -12
- package/dist/auth/ICallbackServer.d.ts +0 -139
- package/dist/auth/ICallbackServer.d.ts.map +0 -1
- package/dist/auth/ICallbackServer.js +0 -2
- package/dist/auth/ICertificateMaterialLoader.d.ts +0 -7
- package/dist/auth/ICertificateMaterialLoader.d.ts.map +0 -1
- package/dist/auth/ICertificateMaterialLoader.js +0 -2
- package/dist/auth/IConfig.d.ts +0 -8
- package/dist/auth/IConfig.d.ts.map +0 -1
- package/dist/auth/IConfig.js +0 -2
- package/dist/auth/IConnectionConfig.d.ts +0 -23
- package/dist/auth/IConnectionConfig.d.ts.map +0 -1
- package/dist/auth/IConnectionConfig.js +0 -2
- package/dist/connection/CalmService.d.ts +0 -3
- package/dist/connection/CalmService.d.ts.map +0 -1
- package/dist/connection/CalmService.js +0 -14
- package/dist/connection/ICalmConnection.d.ts +0 -29
- package/dist/connection/ICalmConnection.d.ts.map +0 -1
- package/dist/connection/ICalmConnection.js +0 -2
- package/dist/connection/ICalmRequestOptions.d.ts +0 -11
- package/dist/connection/ICalmRequestOptions.d.ts.map +0 -1
- package/dist/connection/ICalmRequestOptions.js +0 -2
- package/dist/sap/ISapConfig.d.ts +0 -22
- package/dist/sap/ISapConfig.d.ts.map +0 -1
- package/dist/sap/ISapConfig.js +0 -2
- package/dist/sap/SapAuthType.d.ts +0 -3
- package/dist/sap/SapAuthType.d.ts.map +0 -1
- package/dist/sap/SapAuthType.js +0 -2
- package/dist/serviceKey/IServiceKeyStore.d.ts +0 -31
- package/dist/serviceKey/IServiceKeyStore.d.ts.map +0 -1
- package/dist/serviceKey/IServiceKeyStore.js +0 -7
- package/dist/session/ISessionStore.d.ts +0 -59
- package/dist/session/ISessionStore.d.ts.map +0 -1
- package/dist/session/ISessionStore.js +0 -7
- package/dist/store/StoreErrorCodes.d.ts +0 -12
- package/dist/store/StoreErrorCodes.d.ts.map +0 -1
- package/dist/store/StoreErrorCodes.js +0 -13
- package/dist/token/AuthType.d.ts +0 -43
- package/dist/token/AuthType.d.ts.map +0 -1
- package/dist/token/AuthType.js +0 -41
- package/dist/token/ITokenProvider.d.ts +0 -27
- package/dist/token/ITokenProvider.d.ts.map +0 -1
- package/dist/token/ITokenProvider.js +0 -8
- package/dist/token/ITokenProviderOptions.d.ts +0 -23
- package/dist/token/ITokenProviderOptions.d.ts.map +0 -1
- package/dist/token/ITokenProviderOptions.js +0 -2
- package/dist/token/ITokenRefresher.d.ts +0 -39
- package/dist/token/ITokenRefresher.d.ts.map +0 -1
- package/dist/token/ITokenRefresher.js +0 -12
- package/dist/token/ITokenResult.d.ts +0 -36
- package/dist/token/ITokenResult.d.ts.map +0 -1
- package/dist/token/ITokenResult.js +0 -7
- package/dist/token/TokenProviderErrorCodes.d.ts +0 -26
- package/dist/token/TokenProviderErrorCodes.d.ts.map +0 -1
- package/dist/token/TokenProviderErrorCodes.js +0 -24
- package/dist/utils/ITokenRefreshResult.d.ts +0 -8
- package/dist/utils/ITokenRefreshResult.d.ts.map +0 -1
- package/dist/utils/ITokenRefreshResult.js +0 -2
- package/dist/validation/IHeaderValidationResult.d.ts +0 -15
- package/dist/validation/IHeaderValidationResult.d.ts.map +0 -1
- package/dist/validation/IHeaderValidationResult.js +0 -2
- package/dist/validation/IValidatedAuthConfig.d.ts +0 -46
- package/dist/validation/IValidatedAuthConfig.d.ts.map +0 -1
- package/dist/validation/IValidatedAuthConfig.js +0 -15
- /package/dist/{auth/AuthType.js → connection/ITimeoutConfig.js} +0 -0
package/dist/Headers.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* HTTP Header Constants for MCP ABAP ADT
|
|
4
|
-
*
|
|
5
|
-
* This file contains all HTTP header names used across MCP ABAP ADT packages.
|
|
6
|
-
* These constants should be used instead of hardcoded string values to ensure
|
|
7
|
-
* consistency and prevent typos.
|
|
8
|
-
*
|
|
9
|
-
* Priority: Values from mcp-abap-adt-interfaces package take precedence.
|
|
10
|
-
*/
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.AUTH_TYPES = exports.AUTH_TYPE_XSUAA = exports.AUTH_TYPE_BASIC = exports.AUTH_TYPE_JWT = exports.HEADER_UAA_CLIENT_SECRET = exports.HEADER_SAP_UAA_CLIENT_SECRET = exports.HEADER_UAA_CLIENT_ID = exports.HEADER_SAP_UAA_CLIENT_ID = exports.HEADER_UAA_URL = exports.HEADER_SAP_UAA_URL = exports.HEADER_SAP_REFRESH_TOKEN = exports.HEADER_SAP_PASSWORD = exports.HEADER_SAP_LOGIN = exports.HEADER_SAP_CLIENT = exports.HEADER_SAP_AUTH_TYPE = exports.HEADER_SAP_JWT_TOKEN = exports.HEADER_SAP_URL = exports.HEADER_SAP_DESTINATION_SERVICE = exports.HEADER_SAP_DESTINATION = exports.HEADER_MCP_URL = exports.HEADER_MCP_DESTINATION = exports.HEADER_BTP_DESTINATION = void 0;
|
|
13
|
-
/**
|
|
14
|
-
* Proxy Routing Headers
|
|
15
|
-
* Used by the proxy to determine routing and authentication
|
|
16
|
-
*/
|
|
17
|
-
exports.HEADER_BTP_DESTINATION = 'x-btp-destination';
|
|
18
|
-
exports.HEADER_MCP_DESTINATION = 'x-mcp-destination';
|
|
19
|
-
exports.HEADER_MCP_URL = 'x-mcp-url';
|
|
20
|
-
/**
|
|
21
|
-
* SAP ABAP Connection Headers
|
|
22
|
-
* Used for SAP ABAP system connection
|
|
23
|
-
*/
|
|
24
|
-
exports.HEADER_SAP_DESTINATION = 'x-sap-destination';
|
|
25
|
-
/**
|
|
26
|
-
* SAP Destination Header (for Cloud ABAP connection via SAP destination service)
|
|
27
|
-
* This header is used to specify the SAP destination name for connecting to ABAP systems on SAP Cloud.
|
|
28
|
-
* The URL is automatically derived from the destination service key.
|
|
29
|
-
* This is a separate constant to emphasize its specific purpose for SAP destination service.
|
|
30
|
-
*/
|
|
31
|
-
exports.HEADER_SAP_DESTINATION_SERVICE = 'x-sap-destination';
|
|
32
|
-
exports.HEADER_SAP_URL = 'x-sap-url';
|
|
33
|
-
exports.HEADER_SAP_JWT_TOKEN = 'x-sap-jwt-token';
|
|
34
|
-
exports.HEADER_SAP_AUTH_TYPE = 'x-sap-auth-type';
|
|
35
|
-
exports.HEADER_SAP_CLIENT = 'x-sap-client';
|
|
36
|
-
exports.HEADER_SAP_LOGIN = 'x-sap-login';
|
|
37
|
-
exports.HEADER_SAP_PASSWORD = 'x-sap-password';
|
|
38
|
-
exports.HEADER_SAP_REFRESH_TOKEN = 'x-sap-refresh-token';
|
|
39
|
-
/**
|
|
40
|
-
* UAA/XSUAA Headers
|
|
41
|
-
* Used for UAA/XSUAA authentication
|
|
42
|
-
*/
|
|
43
|
-
exports.HEADER_SAP_UAA_URL = 'x-sap-uaa-url';
|
|
44
|
-
exports.HEADER_UAA_URL = 'uaa-url'; // Alternative name
|
|
45
|
-
exports.HEADER_SAP_UAA_CLIENT_ID = 'x-sap-uaa-client-id';
|
|
46
|
-
exports.HEADER_UAA_CLIENT_ID = 'uaa-client-id'; // Alternative name
|
|
47
|
-
exports.HEADER_SAP_UAA_CLIENT_SECRET = 'x-sap-uaa-client-secret';
|
|
48
|
-
exports.HEADER_UAA_CLIENT_SECRET = 'uaa-client-secret'; // Alternative name
|
|
49
|
-
/**
|
|
50
|
-
* Authentication type values
|
|
51
|
-
*/
|
|
52
|
-
exports.AUTH_TYPE_JWT = 'jwt';
|
|
53
|
-
exports.AUTH_TYPE_BASIC = 'basic';
|
|
54
|
-
exports.AUTH_TYPE_XSUAA = 'xsuaa';
|
|
55
|
-
/**
|
|
56
|
-
* Valid authentication types
|
|
57
|
-
*/
|
|
58
|
-
exports.AUTH_TYPES = [
|
|
59
|
-
exports.AUTH_TYPE_JWT,
|
|
60
|
-
exports.AUTH_TYPE_BASIC,
|
|
61
|
-
exports.AUTH_TYPE_XSUAA,
|
|
62
|
-
];
|
package/dist/adt/AdtTypes.d.ts
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared ADT types for type-safe error handling and XML parsing.
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Shape of HTTP errors thrown by the connection layer.
|
|
6
|
-
* Used for type-safe catch blocks instead of `catch (error: any)`.
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* ```typescript
|
|
10
|
-
* try {
|
|
11
|
-
* await connection.makeAdtRequest({ url: '...' });
|
|
12
|
-
* } catch (error: unknown) {
|
|
13
|
-
* const e = error as HttpError;
|
|
14
|
-
* console.log(e.response?.status);
|
|
15
|
-
* }
|
|
16
|
-
* ```
|
|
17
|
-
*/
|
|
18
|
-
export interface HttpError {
|
|
19
|
-
response?: {
|
|
20
|
-
status?: number;
|
|
21
|
-
statusText?: string;
|
|
22
|
-
data?: unknown;
|
|
23
|
-
headers?: Record<string, unknown>;
|
|
24
|
-
};
|
|
25
|
-
message?: string;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Recursive type for XML parser results.
|
|
29
|
-
* Allows property access on deeply nested parsed XML structures.
|
|
30
|
-
*
|
|
31
|
-
* @example
|
|
32
|
-
* ```typescript
|
|
33
|
-
* const result = parser.parse(xmlData) as XmlNode;
|
|
34
|
-
* const data = (result?.['asx:abap'] as XmlNode)?.['asx:values'];
|
|
35
|
-
* ```
|
|
36
|
-
*/
|
|
37
|
-
export interface XmlNode {
|
|
38
|
-
[key: string]: XmlNode | XmlNode[] | string | number | boolean | undefined;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=AdtTypes.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AdtTypes.d.ts","sourceRoot":"","sources":["../../src/adt/AdtTypes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,OAAO;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CAC5E"}
|
package/dist/adt/AdtTypes.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Error codes for assertion validation
|
|
3
|
-
* Used by an IAssertionValidator to say which check refused the assertion
|
|
4
|
-
*
|
|
5
|
-
* Deliberately separate from TOKEN_PROVIDER_ERROR_CODES: that set describes what
|
|
6
|
-
* can go wrong with ANY token provider, so a single authentication mechanism
|
|
7
|
-
* must not widen it. A mechanism brings its own codes, as stores and the
|
|
8
|
-
* network layer already do.
|
|
9
|
-
*/
|
|
10
|
-
export declare const ASSERTION_ERROR_CODES: {
|
|
11
|
-
/** A SAML assertion failed validation and was refused */
|
|
12
|
-
readonly VALIDATION_ERROR: "ASSERTION_VALIDATION_ERROR";
|
|
13
|
-
};
|
|
14
|
-
export type AssertionErrorCode = (typeof ASSERTION_ERROR_CODES)[keyof typeof ASSERTION_ERROR_CODES];
|
|
15
|
-
//# sourceMappingURL=AssertionErrorCodes.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AssertionErrorCodes.d.ts","sourceRoot":"","sources":["../../src/auth/AssertionErrorCodes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,qBAAqB;IAChC,yDAAyD;;CAEjD,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAC5B,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Error codes for assertion validation
|
|
4
|
-
* Used by an IAssertionValidator to say which check refused the assertion
|
|
5
|
-
*
|
|
6
|
-
* Deliberately separate from TOKEN_PROVIDER_ERROR_CODES: that set describes what
|
|
7
|
-
* can go wrong with ANY token provider, so a single authentication mechanism
|
|
8
|
-
* must not widen it. A mechanism brings its own codes, as stores and the
|
|
9
|
-
* network layer already do.
|
|
10
|
-
*/
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.ASSERTION_ERROR_CODES = void 0;
|
|
13
|
-
exports.ASSERTION_ERROR_CODES = {
|
|
14
|
-
/** A SAML assertion failed validation and was refused */
|
|
15
|
-
VALIDATION_ERROR: 'ASSERTION_VALIDATION_ERROR',
|
|
16
|
-
};
|
package/dist/auth/AuthType.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AuthType.d.ts","sourceRoot":"","sources":["../../src/auth/AuthType.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC"}
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Establishing that a SAML assertion may be trusted.
|
|
3
|
-
*
|
|
4
|
-
* Validation is a strategy for the same reason everything else here is: a
|
|
5
|
-
* consumer may have a trust model this package cannot anticipate. The shipped
|
|
6
|
-
* default verifies the signature and refuses anything it cannot place; a
|
|
7
|
-
* consumer replacing it takes on that duty entirely.
|
|
8
|
-
*/
|
|
9
|
-
import type { ILogger } from '@mcp-abap-adt/interfaces-utils';
|
|
10
|
-
/** What the provider knows about the login the assertion is answering. */
|
|
11
|
-
export interface AssertionContext {
|
|
12
|
-
/** The AuthnRequest ID this response must answer. */
|
|
13
|
-
readonly expectedInResponseTo: string;
|
|
14
|
-
/** Our entity ID, which the AudienceRestriction must name. */
|
|
15
|
-
readonly audience: string;
|
|
16
|
-
/** The ACS the response arrived at; Recipient and Destination must match. */
|
|
17
|
-
readonly acsUrl: string;
|
|
18
|
-
/**
|
|
19
|
-
* Trusted issuer; the assertion's `Issuer` must equal it.
|
|
20
|
-
*
|
|
21
|
-
* Optional on the interface because a custom validator may establish trust
|
|
22
|
-
* without it. The shipped default always receives it.
|
|
23
|
-
*/
|
|
24
|
-
readonly expectedIssuer?: string;
|
|
25
|
-
/** For progress messages. Absent means silence — never stdout. */
|
|
26
|
-
readonly logger?: ILogger;
|
|
27
|
-
}
|
|
28
|
-
/** What a validated assertion yields to the flow. */
|
|
29
|
-
export interface ValidatedAssertion {
|
|
30
|
-
/**
|
|
31
|
-
* The earlier of `Conditions/@NotOnOrAfter` and the `NotOnOrAfter` of the
|
|
32
|
-
* bearer confirmation that was accepted — never later than either, so a
|
|
33
|
-
* session cannot outlive a window the assertion itself closed.
|
|
34
|
-
*/
|
|
35
|
-
readonly expiresAt: Date;
|
|
36
|
-
readonly assertionId: string;
|
|
37
|
-
readonly issuer: string;
|
|
38
|
-
readonly nameId?: string;
|
|
39
|
-
readonly sessionIndex?: string;
|
|
40
|
-
readonly attributes?: Readonly<Record<string, readonly string[]>>;
|
|
41
|
-
/**
|
|
42
|
-
* The response exactly as it arrived, for a flow that must forward it
|
|
43
|
-
* verbatim.
|
|
44
|
-
*
|
|
45
|
-
* **The wire payload, not a validated artifact.** It is the whole
|
|
46
|
-
* `samlp:Response`, and under `createSignedAssertionValidator` that includes
|
|
47
|
-
* `Status`, `Response/Issuer` and `Destination`, which nothing read and
|
|
48
|
-
* nothing checked. Holding a `ValidatedAssertion` does not make every byte
|
|
49
|
-
* of `raw` trustworthy.
|
|
50
|
-
*/
|
|
51
|
-
readonly raw: string;
|
|
52
|
-
/**
|
|
53
|
-
* The signed element, serialised: the `Assertion`, or the `Response` when
|
|
54
|
-
* that is what the signature covered.
|
|
55
|
-
*
|
|
56
|
-
* Everything here is inside the signature that verified. A consumer wanting
|
|
57
|
-
* anything this interface does not surface should parse this rather than
|
|
58
|
-
* `raw` — the difference between them is the difference between "signed"
|
|
59
|
-
* and "arrived".
|
|
60
|
-
*/
|
|
61
|
-
readonly signedXml: string;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Establishes that an assertion is genuine, addressed to us, currently valid,
|
|
65
|
-
* and answers a request we made. Rejects by throwing, with a reason naming the
|
|
66
|
-
* check that failed.
|
|
67
|
-
*/
|
|
68
|
-
export interface IAssertionValidator {
|
|
69
|
-
validate(samlResponse: string, context: AssertionContext): Promise<ValidatedAssertion>;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* What identifies an assertion for replay purposes.
|
|
73
|
-
*
|
|
74
|
-
* An assertion's `ID` is unique only within the identity provider that minted
|
|
75
|
-
* it, so a store shared by two providers would reject a perfectly good second
|
|
76
|
-
* login the moment two issuers happened to mint the same `_id`. The key is the
|
|
77
|
-
* pair, never the ID alone.
|
|
78
|
-
*/
|
|
79
|
-
export interface AssertionReplayKey {
|
|
80
|
-
readonly issuer: string;
|
|
81
|
-
readonly assertionId: string;
|
|
82
|
-
}
|
|
83
|
-
/** Remembers assertions so a replay is refused. */
|
|
84
|
-
export interface IAssertionReplayStore {
|
|
85
|
-
/**
|
|
86
|
-
* Records this key if it is not already recorded, and reports which
|
|
87
|
-
* happened: `true` when newly recorded, `false` when already present — a
|
|
88
|
-
* replay.
|
|
89
|
-
*
|
|
90
|
-
* **Must be atomic.** Two validations of the same assertion running at once
|
|
91
|
-
* must not both be told `true`; a check followed by a separate write is a
|
|
92
|
-
* race, and it is precisely the race a replay exploits.
|
|
93
|
-
*
|
|
94
|
-
* `retainUntil` is the last instant a validator would still accept the
|
|
95
|
-
* assertion — its expiry plus any clock skew allowed — not its expiry. An
|
|
96
|
-
* entry dropped earlier reopens the window in which a replay is accepted.
|
|
97
|
-
*/
|
|
98
|
-
recordIfUnseen(key: AssertionReplayKey, retainUntil: Date): Promise<boolean>;
|
|
99
|
-
}
|
|
100
|
-
//# sourceMappingURL=IAssertionValidator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IAssertionValidator.d.ts","sourceRoot":"","sources":["../../src/auth/IAssertionValidator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAE9D,0EAA0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,8DAA8D;IAC9D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,kEAAkE;IAClE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,qDAAqD;AACrD,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IAClE;;;;;;;;;OASG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;;;;;;OAQG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CACN,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,mDAAmD;AACnD,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,GAAG,EAAE,kBAAkB,EAAE,WAAW,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9E"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Establishing that a SAML assertion may be trusted.
|
|
4
|
-
*
|
|
5
|
-
* Validation is a strategy for the same reason everything else here is: a
|
|
6
|
-
* consumer may have a trust model this package cannot anticipate. The shipped
|
|
7
|
-
* default verifies the signature and refuses anything it cannot place; a
|
|
8
|
-
* consumer replacing it takes on that duty entirely.
|
|
9
|
-
*/
|
|
10
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Authorization configuration - values needed for obtaining and refreshing tokens
|
|
3
|
-
* Returned by stores with actual values (not file paths)
|
|
4
|
-
*/
|
|
5
|
-
export interface IAuthorizationConfig {
|
|
6
|
-
/** UAA URL for token refresh */
|
|
7
|
-
uaaUrl: string;
|
|
8
|
-
/** UAA client ID */
|
|
9
|
-
uaaClientId: string;
|
|
10
|
-
/** UAA client secret */
|
|
11
|
-
uaaClientSecret: string;
|
|
12
|
-
/** Refresh token for token renewal (optional) */
|
|
13
|
-
refreshToken?: string;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=IAuthorizationConfig.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IAuthorizationConfig.d.ts","sourceRoot":"","sources":["../../src/auth/IAuthorizationConfig.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* How an interactive authorization is conducted.
|
|
3
|
-
*
|
|
4
|
-
* The provider owns what it can compute — the authorization URL and the token
|
|
5
|
-
* exchange. Everything between them (reaching the URL, receiving what comes
|
|
6
|
-
* back, the port, the timeout) belongs to whoever implements this interface,
|
|
7
|
-
* which is why a consumer can replace it wholesale.
|
|
8
|
-
*
|
|
9
|
-
* See `ICallbackServer` for the transport a shipped strategy is composed of.
|
|
10
|
-
*/
|
|
11
|
-
import type { ILogger } from '@mcp-abap-adt/interfaces-utils';
|
|
12
|
-
/** What the provider tells a strategy about the login to conduct. */
|
|
13
|
-
export interface AuthorizationRequest {
|
|
14
|
-
/**
|
|
15
|
-
* Build the authorization URL for a redirect URI the strategy has settled on.
|
|
16
|
-
*
|
|
17
|
-
* Called once the strategy knows its redirect URI — which is what makes an
|
|
18
|
-
* ephemeral port possible, since the URL cannot be assembled before the
|
|
19
|
-
* socket is bound. May not be called at all: a strategy that already holds a
|
|
20
|
-
* payload needs no URL.
|
|
21
|
-
*
|
|
22
|
-
* Asynchronous because building may require OIDC discovery. Rejects when the
|
|
23
|
-
* redirect URI cannot be honoured — a pre-built authorization URL carries its
|
|
24
|
-
* own redirect, and a mismatch must fail here, before a browser is opened,
|
|
25
|
-
* rather than as a callback that never arrives.
|
|
26
|
-
*/
|
|
27
|
-
buildAuthorizationUrl(redirectUri: string): Promise<string>;
|
|
28
|
-
/** For progress messages. Absent means silence — never stdout. */
|
|
29
|
-
readonly logger?: ILogger;
|
|
30
|
-
}
|
|
31
|
-
/** How the login ended. */
|
|
32
|
-
export interface AuthorizationOutcome<TResult> {
|
|
33
|
-
/** What the redirect carried: a code, `{code, state}`, a SAMLResponse. */
|
|
34
|
-
readonly payload: TResult;
|
|
35
|
-
/**
|
|
36
|
-
* The redirect URI that actually took part. The token exchange must send this
|
|
37
|
-
* one — with an ephemeral port the provider has no other way to learn it.
|
|
38
|
-
*/
|
|
39
|
-
readonly redirectUri: string;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* A way of conducting an interactive authorization.
|
|
43
|
-
*
|
|
44
|
-
* `authorize` may be called again sequentially; an implementation that holds a
|
|
45
|
-
* fixed port should reject overlapping calls rather than queue them.
|
|
46
|
-
*
|
|
47
|
-
* `dispose` carries four obligations:
|
|
48
|
-
* - idempotent — every call after the first resolves as a no-op;
|
|
49
|
-
* - legal during an active `authorize`, which it ends with a rejection, since
|
|
50
|
-
* releasing resources while a socket is still bound would be untrue;
|
|
51
|
-
* - resolves only once the resources are actually free;
|
|
52
|
-
* - never masks a failure from `authorize` — a caller invoking it from
|
|
53
|
-
* `finally` propagates the original error and logs the cleanup one.
|
|
54
|
-
*/
|
|
55
|
-
export interface IAuthorizationStrategy<TResult> {
|
|
56
|
-
authorize(request: AuthorizationRequest): Promise<AuthorizationOutcome<TResult>>;
|
|
57
|
-
dispose?(): Promise<void>;
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=IAuthorizationStrategy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IAuthorizationStrategy.d.ts","sourceRoot":"","sources":["../../src/auth/IAuthorizationStrategy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAE9D,qEAAqE;AACrE,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;;OAYG;IACH,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5D,kEAAkE;IAClE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,2BAA2B;AAC3B,MAAM,WAAW,oBAAoB,CAAC,OAAO;IAC3C,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,sBAAsB,CAAC,OAAO;IAC7C,SAAS,CACP,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* How an interactive authorization is conducted.
|
|
4
|
-
*
|
|
5
|
-
* The provider owns what it can compute — the authorization URL and the token
|
|
6
|
-
* exchange. Everything between them (reaching the URL, receiving what comes
|
|
7
|
-
* back, the port, the timeout) belongs to whoever implements this interface,
|
|
8
|
-
* which is why a consumer can replace it wholesale.
|
|
9
|
-
*
|
|
10
|
-
* See `ICallbackServer` for the transport a shipped strategy is composed of.
|
|
11
|
-
*/
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import type { ILogger } from '@mcp-abap-adt/interfaces-utils';
|
|
2
|
-
/**
|
|
3
|
-
* Local callback server used by interactive authorization flows.
|
|
4
|
-
*
|
|
5
|
-
* This interface is intentionally domain-agnostic: it describes the lifetime of
|
|
6
|
-
* a short-lived local listener that receives a redirect, not what the redirect
|
|
7
|
-
* carries. OAuth authorization codes, OIDC `code` + `state` and SAML
|
|
8
|
-
* `SAMLResponse` all fit through the same contract, parameterised by result.
|
|
9
|
-
*
|
|
10
|
-
* The handle is borrowed: it exists for the duration of the factory's callback,
|
|
11
|
-
* and the port is released on the first terminal outcome. Releasing the socket
|
|
12
|
-
* is therefore never a consequence of a wait settling — which is exactly what
|
|
13
|
-
* lets an abandoned login hold a port for the lifetime of a process.
|
|
14
|
-
*/
|
|
15
|
-
export interface ICallbackServerOptions {
|
|
16
|
-
/**
|
|
17
|
-
* Port for the local listener. Must be an integer in 0..65535.
|
|
18
|
-
*
|
|
19
|
-
* `0` means "bind an ephemeral port": the handle then reports what the OS
|
|
20
|
-
* actually gave, and the authorization URL must be built from
|
|
21
|
-
* `handle.redirectUri` rather than from anything known beforehand. A flow
|
|
22
|
-
* that assembles its URL before binding — or one whose redirect is
|
|
23
|
-
* registered with the identity provider, as a SAML ACS always is — cannot
|
|
24
|
-
* use it, because the redirect would advertise a port nobody is listening on.
|
|
25
|
-
*/
|
|
26
|
-
readonly port: number;
|
|
27
|
-
/**
|
|
28
|
-
* How long to wait for the callback. Mandatory: there is no such thing as
|
|
29
|
-
* waiting forever, and the absence of this bound is a known way to strand a
|
|
30
|
-
* port.
|
|
31
|
-
*
|
|
32
|
-
* Must satisfy `Number.isFinite(timeoutMs) && timeoutMs > 0 && timeoutMs <=
|
|
33
|
-
* 2_147_483_647`. The upper bound is Node's rather than this contract's:
|
|
34
|
-
* `setTimeout` takes a 32-bit signed delay, and a larger value fires after
|
|
35
|
-
* 1 ms with a `TimeoutOverflowWarning` — so a generous-looking timeout would
|
|
36
|
-
* end the login almost instantly. Implementations reject such a value rather
|
|
37
|
-
* than clamping it, because clamping hides the mistake.
|
|
38
|
-
*/
|
|
39
|
-
readonly timeoutMs: number;
|
|
40
|
-
/**
|
|
41
|
-
* External cancellation — "this login is no longer needed". Honoured whether
|
|
42
|
-
* it fires before the bind, during it, or while waiting for the callback.
|
|
43
|
-
*/
|
|
44
|
-
readonly signal?: AbortSignal;
|
|
45
|
-
/**
|
|
46
|
-
* Where the transport reports what it did — an ignored request that was not
|
|
47
|
-
* our redirect, for instance. Absent means silence; never stdout.
|
|
48
|
-
*/
|
|
49
|
-
readonly logger?: ILogger;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Borrowed handle on a listening callback server.
|
|
53
|
-
*
|
|
54
|
-
* Valid until the scope reaches its first terminal outcome, which may be before
|
|
55
|
-
* the factory's callback has finished: a timeout or an abort ends the scope
|
|
56
|
-
* without stopping an already-running callback. Members behave differently once
|
|
57
|
-
* that has happened, so a still-running body cannot be harmed by touching it:
|
|
58
|
-
*
|
|
59
|
-
* - `fail()` becomes a silent no-op and never throws;
|
|
60
|
-
* - `waitForResult()` returns a rejected promise, never throwing synchronously;
|
|
61
|
-
* - `port` and `redirectUri` remain readable, being values rather than
|
|
62
|
-
* operations.
|
|
63
|
-
*/
|
|
64
|
-
export interface ICallbackServerHandle<TResult> {
|
|
65
|
-
/** The port actually bound. */
|
|
66
|
-
readonly port: number;
|
|
67
|
-
/** Redirect URI the authorization request must use. */
|
|
68
|
-
readonly redirectUri: string;
|
|
69
|
-
/**
|
|
70
|
-
* The result delivered to the callback endpoint.
|
|
71
|
-
*
|
|
72
|
-
* Returns the same promise on every call, so it is safe to call repeatedly.
|
|
73
|
-
* Rejects on timeout, on cancellation, on `fail`, and when the scope ends
|
|
74
|
-
* while it is still pending — the last of which is why an implementation must
|
|
75
|
-
* mark the promise handled on creation, so a body that creates it and walks
|
|
76
|
-
* away cannot raise `unhandledRejection`.
|
|
77
|
-
*
|
|
78
|
-
* Receiving a result does **not** end the scope. It hands the value to
|
|
79
|
-
* whoever is awaiting; the scope ends when the factory's callback returns.
|
|
80
|
-
*/
|
|
81
|
-
waitForResult(): Promise<TResult>;
|
|
82
|
-
/**
|
|
83
|
-
* End the wait with an error — typically because the browser could not be
|
|
84
|
-
* launched.
|
|
85
|
-
*
|
|
86
|
-
* Safe to call at any time, including after the scope has ended, because it
|
|
87
|
-
* is meant to be used fire-and-forget:
|
|
88
|
-
*
|
|
89
|
-
* ```ts
|
|
90
|
-
* launchBrowser(url).catch((e) => server.fail(e));
|
|
91
|
-
* ```
|
|
92
|
-
*
|
|
93
|
-
* A launcher that rejects after the login has already timed out must not turn
|
|
94
|
-
* that into a fresh unhandled rejection.
|
|
95
|
-
*/
|
|
96
|
-
fail(error: Error): void;
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* The only way to obtain a callback server.
|
|
100
|
-
*
|
|
101
|
-
* There is deliberately no `close` on the handle: closing belongs to the
|
|
102
|
-
* factory, so it cannot be forgotten.
|
|
103
|
-
*
|
|
104
|
-
* The factory settles on the first terminal outcome — the callback returning or
|
|
105
|
-
* throwing, `fail`, the timeout, or an abort — and only once the listening
|
|
106
|
-
* socket has been released, so a settled result always means the port is free.
|
|
107
|
-
* On success it resolves with whatever the callback returned — which need not be
|
|
108
|
-
* the payload itself, so `transform(await server.waitForResult())` resolves with
|
|
109
|
-
* the transformed value.
|
|
110
|
-
*
|
|
111
|
-
* It does **not** promise to stop the callback: an arbitrary async function
|
|
112
|
-
* cannot be force-terminated. A failure outcome ends the scope without waiting
|
|
113
|
-
* for it, and a later settlement from the abandoned body is discarded.
|
|
114
|
-
*
|
|
115
|
-
* There are two type parameters, and the split matters:
|
|
116
|
-
*
|
|
117
|
-
* - `TResult` is on the alias, because the payload a flow's callback endpoint
|
|
118
|
-
* delivers is fixed by that flow. Were it generic per call, a browser-code
|
|
119
|
-
* factory would type-check against a caller expecting something it can never
|
|
120
|
-
* yield.
|
|
121
|
-
* - `TReturn` is generic per call, because the scope resolves with whatever the
|
|
122
|
-
* callback returned. Tying it to `TResult` would forbid the transformation
|
|
123
|
-
* shown above — `transform(await server.waitForResult())` may legitimately
|
|
124
|
-
* produce a token, a session, or anything else built from the payload.
|
|
125
|
-
*
|
|
126
|
-
* ```ts
|
|
127
|
-
* const code = await withBrowserCallbackServer(
|
|
128
|
-
* { port, timeoutMs, signal },
|
|
129
|
-
* async (server) => {
|
|
130
|
-
* const waiting = server.waitForResult();
|
|
131
|
-
* launchBrowser(buildAuthUrl(server.redirectUri)).catch((e) => server.fail(e));
|
|
132
|
-
* return await waiting;
|
|
133
|
-
* },
|
|
134
|
-
* );
|
|
135
|
-
* // reached only once the port is free — whatever the outcome
|
|
136
|
-
* ```
|
|
137
|
-
*/
|
|
138
|
-
export type CallbackServerFactory<TResult> = <TReturn>(options: ICallbackServerOptions, use: (server: ICallbackServerHandle<TResult>) => Promise<TReturn>) => Promise<TReturn>;
|
|
139
|
-
//# sourceMappingURL=ICallbackServer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ICallbackServer.d.ts","sourceRoot":"","sources":["../../src/auth/ICallbackServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAE9D;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;OASG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAE9B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,qBAAqB,CAAC,OAAO;IAC5C,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,uDAAuD;IACvD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;;;;;;;;;;OAWG;IACH,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAElC;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,MAAM,qBAAqB,CAAC,OAAO,IAAI,CAAC,OAAO,EACnD,OAAO,EAAE,sBAAsB,EAC/B,GAAG,EAAE,CAAC,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,KAC9D,OAAO,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { ICertificateMaterial } from '@mcp-abap-adt/interfaces-auth';
|
|
2
|
-
import type { ISapConfig } from '../sap/ISapConfig';
|
|
3
|
-
/** Loads client-certificate material from a connection config (file paths, etc.). */
|
|
4
|
-
export interface ICertificateMaterialLoader {
|
|
5
|
-
load(config: ISapConfig): Promise<ICertificateMaterial>;
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=ICertificateMaterialLoader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ICertificateMaterialLoader.d.ts","sourceRoot":"","sources":["../../src/auth/ICertificateMaterialLoader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,qFAAqF;AACrF,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACzD"}
|
package/dist/auth/IConfig.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Configuration - optional composition of authorization and connection configuration
|
|
3
|
-
* Can contain either authorization config, or connection config, or both
|
|
4
|
-
*/
|
|
5
|
-
import type { IAuthorizationConfig } from './IAuthorizationConfig';
|
|
6
|
-
import type { IConnectionConfig } from './IConnectionConfig';
|
|
7
|
-
export type IConfig = Partial<IAuthorizationConfig> & Partial<IConnectionConfig>;
|
|
8
|
-
//# sourceMappingURL=IConfig.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IConfig.d.ts","sourceRoot":"","sources":["../../src/auth/IConfig.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,GACjD,OAAO,CAAC,iBAAiB,CAAC,CAAC"}
|
package/dist/auth/IConfig.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Connection configuration - values needed for connecting to services
|
|
3
|
-
* Returned by stores with actual values (not file paths)
|
|
4
|
-
*/
|
|
5
|
-
export interface IConnectionConfig {
|
|
6
|
-
/** Service URL (SAP/ABAP/MCP URL) - undefined for XSUAA if not provided */
|
|
7
|
-
serviceUrl?: string;
|
|
8
|
-
/** Authorization token (JWT token) - required for JWT auth, optional for basic auth */
|
|
9
|
-
authorizationToken?: string;
|
|
10
|
-
/** Username for basic authentication - required for basic auth, optional for JWT auth */
|
|
11
|
-
username?: string;
|
|
12
|
-
/** Password for basic authentication - required for basic auth, optional for JWT auth */
|
|
13
|
-
password?: string;
|
|
14
|
-
/** Authentication type - 'basic' for on-premise, 'jwt' for cloud */
|
|
15
|
-
authType?: 'basic' | 'jwt' | 'saml';
|
|
16
|
-
/** SAP client number (optional, for ABAP/BTP) */
|
|
17
|
-
sapClient?: string;
|
|
18
|
-
/** Language (optional, for ABAP/BTP) */
|
|
19
|
-
language?: string;
|
|
20
|
-
/** Session cookies for SAML authentication (raw Cookie header value) */
|
|
21
|
-
sessionCookies?: string;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=IConnectionConfig.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IConnectionConfig.d.ts","sourceRoot":"","sources":["../../src/auth/IConnectionConfig.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uFAAuF;IACvF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yFAAyF;IACzF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IACpC,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CalmService.d.ts","sourceRoot":"","sources":["../../src/connection/CalmService.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,kIAUhB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CALM_SERVICES = void 0;
|
|
4
|
-
exports.CALM_SERVICES = [
|
|
5
|
-
'features',
|
|
6
|
-
'documents',
|
|
7
|
-
'tasks',
|
|
8
|
-
'projects',
|
|
9
|
-
'testManagement',
|
|
10
|
-
'hierarchy',
|
|
11
|
-
'analytics',
|
|
12
|
-
'processMonitoring',
|
|
13
|
-
'logs',
|
|
14
|
-
];
|