@mcp-abap-adt/core 6.7.0 → 6.9.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.
Files changed (38) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +38 -0
  3. package/dist/handlers/system/readonly/handleSearchSource.d.ts +1 -1
  4. package/dist/handlers/system/readonly/handleSearchSource.d.ts.map +1 -1
  5. package/dist/handlers/system/readonly/handleSearchSource.js +2 -2
  6. package/dist/handlers/system/readonly/handleSearchSource.js.map +1 -1
  7. package/dist/lib/config/applyAuthFields.d.ts +8 -0
  8. package/dist/lib/config/applyAuthFields.d.ts.map +1 -0
  9. package/dist/lib/config/applyAuthFields.js +30 -0
  10. package/dist/lib/config/applyAuthFields.js.map +1 -0
  11. package/dist/lib/config/parseAuthType.d.ts +4 -0
  12. package/dist/lib/config/parseAuthType.d.ts.map +1 -0
  13. package/dist/lib/config/parseAuthType.js +22 -0
  14. package/dist/lib/config/parseAuthType.js.map +1 -0
  15. package/dist/lib/config.d.ts.map +1 -1
  16. package/dist/lib/config.js +6 -15
  17. package/dist/lib/config.js.map +1 -1
  18. package/dist/lib/search-source/orchestrator.d.ts +1 -0
  19. package/dist/lib/search-source/orchestrator.d.ts.map +1 -1
  20. package/dist/lib/search-source/orchestrator.js +10 -3
  21. package/dist/lib/search-source/orchestrator.js.map +1 -1
  22. package/dist/lib/search-source/packageResolver.d.ts +13 -0
  23. package/dist/lib/search-source/packageResolver.d.ts.map +1 -0
  24. package/dist/lib/search-source/packageResolver.js +63 -0
  25. package/dist/lib/search-source/packageResolver.js.map +1 -0
  26. package/dist/lib/utils.d.ts.map +1 -1
  27. package/dist/lib/utils.js +11 -16
  28. package/dist/lib/utils.js.map +1 -1
  29. package/docs/superpowers/plans/2026-05-23-cert-kerberos-auth.md +652 -0
  30. package/docs/superpowers/plans/innovations-from-sap-adt-mcp.md +103 -0
  31. package/docs/superpowers/specs/2026-05-23-cert-kerberos-auth-design.md +149 -0
  32. package/docs/user-guide/AVAILABLE_TOOLS.md +2 -2
  33. package/docs/user-guide/AVAILABLE_TOOLS_COMPACT.md +1 -1
  34. package/docs/user-guide/AVAILABLE_TOOLS_HIGH.md +1 -1
  35. package/docs/user-guide/AVAILABLE_TOOLS_LEGACY.md +2 -2
  36. package/docs/user-guide/AVAILABLE_TOOLS_LOW.md +1 -1
  37. package/docs/user-guide/AVAILABLE_TOOLS_READONLY.md +2 -2
  38. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -2,6 +2,26 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [6.9.0] - 2026-05-24
6
+
7
+ ### Added
8
+ - **Certificate (mTLS) and Kerberos (SPNEGO) authentication** for on-prem HTTP connections. Select via `SAP_AUTH_TYPE=certificate` or `SAP_AUTH_TYPE=kerberos`.
9
+ - Certificate: PEM (`SAP_CERT_PATH` + `SAP_CERT_KEY_PATH`) or PKCS#12 (`SAP_CERT_PFX_PATH` + optional `SAP_CERT_PASSPHRASE`). mTLS — no `SAP_USERNAME`/`SAP_PASSWORD` needed.
10
+ - Kerberos: single-leg Negotiate via the optional `kerberos` native package; SPN from `SAP_KERBEROS_SPN` (or derived `HTTP@<host>`, service class via `SAP_KERBEROS_SERVICE`). Requires a valid TGT (`kinit`) or keytab on the host.
11
+ - Both bypass the auth-broker (no browser/OAuth flow). Requires `@mcp-abap-adt/interfaces@^7.2.0`, `@mcp-abap-adt/connection@^1.9.0`.
12
+
13
+ ### ⚠️ Help wanted — not yet validated on a live system
14
+ These two auth paths pass full unit coverage but have **not** been exercised against a real SAP system. If you have an on-prem system with **client-certificate** or **Kerberos/SPNEGO** SSO, please try `SAP_AUTH_TYPE=certificate`/`kerberos` and report results — especially whether Kerberos works with a single-leg Negotiate token or your system requires mutual-auth continuation. Please open an issue with what you see; feedback will confirm or refine these flows.
15
+
16
+ ## [6.8.0] - 2026-05-16
17
+
18
+ ### Changed
19
+ - `SearchSource.packages` now accepts ABAP `*` masks (e.g. `Z*`, `ZFI_*`, `/NS/Z*`) alongside exact dev-class names. Mask resolution reuses the same ADT informationsystem/search path that `SearchObject` uses for `objectType=DEVC`. Mask resolution is best-effort and capped at the ADT result window (1000 references); for certainty, pass concrete package names. The tool description carries the no-guarantees disclosure so an LLM caller sees it.
20
+ - `SearchSource.scanned.packages` now reports the resolved-and-deduplicated starting-package count (post-mask resolution, post-dedup) instead of raw input length. Closes #87.
21
+
22
+ ### Notes
23
+ - `+` (single-char) wildcard probed against an onprem E19 system and found unsupported by the ADT `informationsystem/search` endpoint (despite SAP CP-pattern docs). Dropped from public examples; the resolver still detects `+` for forward-compat with backends that may honor it.
24
+
5
25
  ## [6.7.0] - 2026-05-14
6
26
 
7
27
  ### Added
package/README.md CHANGED
@@ -301,6 +301,44 @@ SAP_CONNECTION_TYPE=rfc
301
301
 
302
302
  See [RFC Setup Guide](docs/installation/RFC_SETUP.md) for prerequisites (SAP NW RFC SDK).
303
303
 
304
+ For client certificate (mTLS) authentication — on-prem HTTP only:
305
+ ```bash
306
+ SAP_URL=https://your-sap-system.com
307
+ SAP_AUTH_TYPE=certificate
308
+
309
+ # PEM format (provide both files):
310
+ SAP_CERT_PATH=/path/to/client.crt
311
+ SAP_CERT_KEY_PATH=/path/to/client.key
312
+
313
+ # Or PKCS#12 format (alternative to PEM):
314
+ # SAP_CERT_PFX_PATH=/path/to/client.pfx
315
+ # SAP_CERT_PASSPHRASE=your-passphrase
316
+ ```
317
+
318
+ For Kerberos (SPNEGO) authentication — on-prem HTTP only:
319
+ ```bash
320
+ SAP_URL=https://your-sap-system.com
321
+ SAP_AUTH_TYPE=kerberos
322
+
323
+ # Optional: explicit SPN (default: HTTP@<host>)
324
+ # SAP_KERBEROS_SPN=HTTP@mysaphost.corp.example
325
+ # Optional: service class used to derive the SPN when SAP_KERBEROS_SPN is unset (default: HTTP)
326
+ # SAP_KERBEROS_SERVICE=HTTP
327
+ ```
328
+
329
+ **Certificate auth notes:**
330
+ - Identifies the client via mTLS — no `SAP_USERNAME` / `SAP_PASSWORD` required.
331
+ - Provide either PEM files (`SAP_CERT_PATH` + `SAP_CERT_KEY_PATH`) or a PKCS#12 file (`SAP_CERT_PFX_PATH`), not both.
332
+ - On-prem HTTP connections only (`SAP_CONNECTION_TYPE=rfc` is not supported).
333
+
334
+ **Kerberos auth notes:**
335
+ - Requires a valid Kerberos ticket on the host before starting the server. Obtain one with `kinit` or a keytab.
336
+ - The optional [`kerberos`](https://www.npmjs.com/package/kerberos) npm package must be installed (needs GSSAPI dev libs on Linux / build tools on Windows): `npm i kerberos`.
337
+ - No `SAP_USERNAME` / `SAP_PASSWORD` required — identity comes from the TGT.
338
+ - Both auth types bypass the auth-broker; use `.env` directly.
339
+
340
+ > **⚠️ Help wanted — not yet validated on a live system.** Certificate and Kerberos auth pass full unit coverage but have not been tested against a real SAP system. If you have on-prem **client-certificate** or **Kerberos/SPNEGO** SSO, please try it and [open an issue](https://github.com/fr0ster/mcp-abap-adt/issues) with results — especially whether Kerberos succeeds with a single-leg Negotiate token or your system needs mutual-auth continuation.
341
+
304
342
  **Generate .env from Service Key (JWT):**
305
343
  ```bash
306
344
  # Install the connection package globally (one-time setup)
@@ -4,7 +4,7 @@ import { type OrchestratorInput } from '../../../lib/search-source/orchestrator'
4
4
  export declare const TOOL_DEFINITION: {
5
5
  readonly name: "SearchSource";
6
6
  readonly available_in: readonly ["onprem", "legacy"];
7
- readonly description: "[read-only] Search ABAP source text inside one or more packages (programs, function groups, classes). Onprem-only (cloud lacks an indexed source-search endpoint). Comments are searched by default; set exclude_comments=true to drop col-1 `*` and full-line `\"` comments. The `version` parameter affects PROG and CLAS main include reads only — FUGR subinclude reads always go against the active version (the include endpoint exposes no version selector).";
7
+ readonly description: "[read-only] Search ABAP source text inside one or more packages (programs, function groups, classes). Onprem-only (cloud lacks an indexed source-search endpoint). `packages` accepts `*` masks (Z*, ZFI_*, /NS/Z*) alongside exact names; mask resolution is best-effort and scoped to the ADT repository-search result window — there is no guarantee that every matching package is scanned. If you need certainty, pass concrete package names. When using masks, narrow the mask itself and use `object_types`, `object_filter`, and `max_objects` as scan-target controls that apply after package resolution. Comments are searched by default; set exclude_comments=true to drop col-1 `*` and full-line `\"` comments. The `version` parameter affects PROG and CLAS main include reads only — FUGR subinclude reads always go against the active version (the include endpoint exposes no version selector).";
8
8
  readonly inputSchema: {
9
9
  readonly query: z.ZodString;
10
10
  readonly query2: z.ZodOptional<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"handleSearchSource.d.ts","sourceRoot":"","sources":["../../../../src/handlers/system/readonly/handleSearchSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,yCAAyC,CAAC;AAGjD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;CAmFlB,CAAC;AAEX,KAAK,gBAAgB,GAAG,iBAAiB,CAAC;AAE1C,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,gBAAgB;;;;;;GAsBvB"}
1
+ {"version":3,"file":"handleSearchSource.d.ts","sourceRoot":"","sources":["../../../../src/handlers/system/readonly/handleSearchSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,yCAAyC,CAAC;AAGjD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;CAqFlB,CAAC;AAEX,KAAK,gBAAgB,GAAG,iBAAiB,CAAC;AAE1C,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,gBAAgB;;;;;;GAsBvB"}
@@ -41,7 +41,7 @@ const utils_1 = require("../../../lib/utils");
41
41
  exports.TOOL_DEFINITION = {
42
42
  name: 'SearchSource',
43
43
  available_in: ['onprem', 'legacy'],
44
- description: '[read-only] Search ABAP source text inside one or more packages (programs, function groups, classes). Onprem-only (cloud lacks an indexed source-search endpoint). Comments are searched by default; set exclude_comments=true to drop col-1 `*` and full-line `"` comments. The `version` parameter affects PROG and CLAS main include reads only — FUGR subinclude reads always go against the active version (the include endpoint exposes no version selector).',
44
+ description: '[read-only] Search ABAP source text inside one or more packages (programs, function groups, classes). Onprem-only (cloud lacks an indexed source-search endpoint). `packages` accepts `*` masks (Z*, ZFI_*, /NS/Z*) alongside exact names; mask resolution is best-effort and scoped to the ADT repository-search result window — there is no guarantee that every matching package is scanned. If you need certainty, pass concrete package names. When using masks, narrow the mask itself and use `object_types`, `object_filter`, and `max_objects` as scan-target controls that apply after package resolution. Comments are searched by default; set exclude_comments=true to drop col-1 `*` and full-line `"` comments. The `version` parameter affects PROG and CLAS main include reads only — FUGR subinclude reads always go against the active version (the include endpoint exposes no version selector).',
45
45
  inputSchema: {
46
46
  query: z
47
47
  .string()
@@ -59,7 +59,7 @@ exports.TOOL_DEFINITION = {
59
59
  packages: z
60
60
  .array(z.string().min(1))
61
61
  .min(1)
62
- .describe('Packages to scan (one or more dev classes).'),
62
+ .describe('Packages to scan. Each entry is either an exact dev-class name or a `*` mask (* = any chars). Examples: "ZFI_OBSOLETE", "Z*", "ZFI_*", "/NS/Z*".'),
63
63
  include_subpackages: z
64
64
  .boolean()
65
65
  .optional()
@@ -1 +1 @@
1
- {"version":3,"file":"handleSearchSource.js","sourceRoot":"","sources":["../../../../src/handlers/system/readonly/handleSearchSource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handleSearchSource.js","sourceRoot":"","sources":["../../../../src/handlers/system/readonly/handleSearchSource.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { SapConfig } from '@mcp-abap-adt/connection';
2
+ /**
3
+ * Populate auth-type-specific fields on a SapConfig from env.
4
+ * Returns true if it handled the auth type (so the caller skips the basic user/pass requirement).
5
+ * Handles: certificate, kerberos. Returns false for basic/saml (caller handles those).
6
+ */
7
+ export declare function applyCertKerberosFields(config: SapConfig, env: NodeJS.ProcessEnv): boolean;
8
+ //# sourceMappingURL=applyAuthFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyAuthFields.d.ts","sourceRoot":"","sources":["../../../src/lib/config/applyAuthFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAkBT"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applyCertKerberosFields = applyCertKerberosFields;
4
+ /**
5
+ * Populate auth-type-specific fields on a SapConfig from env.
6
+ * Returns true if it handled the auth type (so the caller skips the basic user/pass requirement).
7
+ * Handles: certificate, kerberos. Returns false for basic/saml (caller handles those).
8
+ */
9
+ function applyCertKerberosFields(config, env) {
10
+ if (config.authType === 'certificate') {
11
+ if (env.SAP_CERT_PATH)
12
+ config.certPath = env.SAP_CERT_PATH.trim();
13
+ if (env.SAP_CERT_KEY_PATH)
14
+ config.certKeyPath = env.SAP_CERT_KEY_PATH.trim();
15
+ if (env.SAP_CERT_PFX_PATH)
16
+ config.certPfxPath = env.SAP_CERT_PFX_PATH.trim();
17
+ if (env.SAP_CERT_PASSPHRASE)
18
+ config.certPassphrase = env.SAP_CERT_PASSPHRASE; // no trim — passphrase may contain meaningful whitespace
19
+ return true;
20
+ }
21
+ if (config.authType === 'kerberos') {
22
+ if (env.SAP_KERBEROS_SPN)
23
+ config.kerberosSpn = env.SAP_KERBEROS_SPN.trim();
24
+ if (env.SAP_KERBEROS_SERVICE)
25
+ config.kerberosService = env.SAP_KERBEROS_SERVICE.trim();
26
+ return true;
27
+ }
28
+ return false;
29
+ }
30
+ //# sourceMappingURL=applyAuthFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyAuthFields.js","sourceRoot":"","sources":["../../../src/lib/config/applyAuthFields.ts"],"names":[],"mappings":";;AAOA,0DAqBC;AA1BD;;;;GAIG;AACH,SAAgB,uBAAuB,CACrC,MAAiB,EACjB,GAAsB;IAEtB,IAAI,MAAM,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;QACtC,IAAI,GAAG,CAAC,aAAa;YAAE,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAClE,IAAI,GAAG,CAAC,iBAAiB;YACvB,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QACpD,IAAI,GAAG,CAAC,iBAAiB;YACvB,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QACpD,IAAI,GAAG,CAAC,mBAAmB;YACzB,MAAM,CAAC,cAAc,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC,yDAAyD;QAC5G,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QACnC,IAAI,GAAG,CAAC,gBAAgB;YAAE,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAC3E,IAAI,GAAG,CAAC,oBAAoB;YAC1B,MAAM,CAAC,eAAe,GAAG,GAAG,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { SapAuthType } from '@mcp-abap-adt/interfaces';
2
+ /** Resolve SAP auth type from env. SAP_JWT_TOKEN forces jwt; SAP_AUTH_TYPE is explicit; default basic. */
3
+ export declare function parseAuthType(env: NodeJS.ProcessEnv | Record<string, string | undefined>): SapAuthType;
4
+ //# sourceMappingURL=parseAuthType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseAuthType.d.ts","sourceRoot":"","sources":["../../../src/lib/config/parseAuthType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,0GAA0G;AAC1G,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAC1D,WAAW,CAeb"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseAuthType = parseAuthType;
4
+ /** Resolve SAP auth type from env. SAP_JWT_TOKEN forces jwt; SAP_AUTH_TYPE is explicit; default basic. */
5
+ function parseAuthType(env) {
6
+ if (env.SAP_JWT_TOKEN)
7
+ return 'jwt';
8
+ const raw = env.SAP_AUTH_TYPE?.trim().toLowerCase();
9
+ if (!raw)
10
+ return 'basic';
11
+ if (raw === 'xsuaa')
12
+ return 'jwt';
13
+ if (raw === 'basic' ||
14
+ raw === 'jwt' ||
15
+ raw === 'saml' ||
16
+ raw === 'certificate' ||
17
+ raw === 'kerberos') {
18
+ return raw;
19
+ }
20
+ return 'basic';
21
+ }
22
+ //# sourceMappingURL=parseAuthType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseAuthType.js","sourceRoot":"","sources":["../../../src/lib/config/parseAuthType.ts"],"names":[],"mappings":";;AAGA,sCAiBC;AAlBD,0GAA0G;AAC1G,SAAgB,aAAa,CAC3B,GAA2D;IAE3D,IAAI,GAAG,CAAC,aAAa;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpD,IAAI,CAAC,GAAG;QAAE,OAAO,OAAO,CAAC;IACzB,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAClC,IACE,GAAG,KAAK,OAAO;QACf,GAAG,KAAK,KAAK;QACb,GAAG,KAAK,MAAM;QACd,GAAG,KAAK,aAAa;QACrB,GAAG,KAAK,UAAU,EAClB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAkB1D,wBAAgB,SAAS,IAAI,SAAS,CAkIrC;AAED,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,SAAS,QAQtD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAoB1D,wBAAgB,SAAS,IAAI,SAAS,CAsHrC;AAED,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,SAAS,QAQtD"}
@@ -8,6 +8,8 @@
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.getConfig = getConfig;
10
10
  exports.setSapConfigOverride = setSapConfigOverride;
11
+ const applyAuthFields_js_1 = require("./config/applyAuthFields.js");
12
+ const parseAuthType_js_1 = require("./config/parseAuthType.js");
11
13
  // Don't import setConfigOverride from utils.ts to avoid circular dependency
12
14
  // setConfigOverride will be called lazily if needed
13
15
  let sapConfigOverride;
@@ -46,21 +48,7 @@ function getConfig() {
46
48
  client = client.trim();
47
49
  }
48
50
  // Auto-detect auth type: JWT token → jwt; SAP_AUTH_TYPE → explicit; default → basic
49
- let authType = 'basic';
50
- if (process.env.SAP_JWT_TOKEN) {
51
- authType = 'jwt';
52
- }
53
- else if (process.env.SAP_AUTH_TYPE) {
54
- const rawAuthType = process.env.SAP_AUTH_TYPE.trim().toLowerCase();
55
- if (rawAuthType === 'xsuaa') {
56
- authType = 'jwt';
57
- }
58
- else if (rawAuthType === 'basic' ||
59
- rawAuthType === 'jwt' ||
60
- rawAuthType === 'saml') {
61
- authType = rawAuthType;
62
- }
63
- }
51
+ const authType = (0, parseAuthType_js_1.parseAuthType)(process.env);
64
52
  // Connection type: http (default) or rfc
65
53
  const connectionType = process.env.SAP_CONNECTION_TYPE?.trim().toLowerCase() === 'rfc'
66
54
  ? 'rfc'
@@ -115,6 +103,9 @@ function getConfig() {
115
103
  if (uaaClientSecret)
116
104
  config.uaaClientSecret = uaaClientSecret.trim();
117
105
  }
106
+ else if ((0, applyAuthFields_js_1.applyCertKerberosFields)(config, process.env)) {
107
+ // certificate / kerberos: no username/password required
108
+ }
118
109
  else {
119
110
  // basic (and rfc connection type) require username/password
120
111
  const username = process.env.SAP_USERNAME;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,7 @@ export interface OrchestratorResult {
45
45
  export interface OrchestratorDeps {
46
46
  fetchPackageContents: PackageContentsFetcher;
47
47
  sourceReader: ReadSourceUnitsDeps;
48
+ resolvePackages: (entries: string[]) => Promise<string[]>;
48
49
  }
49
50
  export declare function runSearchSource(deps: OrchestratorDeps, input: OrchestratorInput): Promise<OrchestratorResult>;
50
51
  export declare function runSearchSourceWithContext(ctx: HandlerContext, input: OrchestratorInput): Promise<OrchestratorResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/lib/search-source/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAKL,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,KAAK,mBAAmB,EAExB,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IACzC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,cAAc,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,cAAc,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,SAAS,EAAE;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE,CAAC;CAChE;AAED,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB,EAAE,sBAAsB,CAAC;IAC7C,YAAY,EAAE,mBAAmB,CAAC;CACnC;AA8BD,wBAAsB,eAAe,CACnC,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,kBAAkB,CAAC,CAsI7B;AAED,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,kBAAkB,CAAC,CAQ7B"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/lib/search-source/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAIL,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAEL,KAAK,mBAAmB,EAExB,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IACzC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,cAAc,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,cAAc,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,SAAS,EAAE;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE,CAAC;CAChE;AAED,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB,EAAE,sBAAsB,CAAC;IAC7C,YAAY,EAAE,mBAAmB,CAAC;IAClC,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC3D;AA8BD,wBAAsB,eAAe,CACnC,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,kBAAkB,CAAC,CAuI7B;AAED,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,kBAAkB,CAAC,CAY7B"}
@@ -4,6 +4,7 @@ exports.runSearchSource = runSearchSource;
4
4
  exports.runSearchSourceWithContext = runSearchSourceWithContext;
5
5
  const lineScanner_1 = require("./lineScanner");
6
6
  const packageEnumerator_1 = require("./packageEnumerator");
7
+ const packageResolver_1 = require("./packageResolver");
7
8
  const sourceReader_1 = require("./sourceReader");
8
9
  const DEFAULTS = {
9
10
  include_subpackages: true,
@@ -43,13 +44,16 @@ async function runSearchSource(deps, input) {
43
44
  const concurrency = Math.min(16, Math.max(1, input.concurrency ?? DEFAULTS.concurrency));
44
45
  const emitNoHits = input.emit_no_hits ?? DEFAULTS.emit_no_hits;
45
46
  const version = input.version ?? DEFAULTS.version;
47
+ const resolvedPackages = await deps.resolvePackages(input.packages);
46
48
  const enumerateInput = {
47
- packages: input.packages,
49
+ packages: resolvedPackages,
48
50
  include_subpackages: input.include_subpackages ?? DEFAULTS.include_subpackages,
49
51
  object_filter: input.object_filter,
50
52
  object_types: input.object_types ?? DEFAULTS.object_types,
51
53
  };
52
- const allTargets = await (0, packageEnumerator_1.enumerateScanTargets)(deps.fetchPackageContents, enumerateInput);
54
+ const allTargets = resolvedPackages.length === 0
55
+ ? []
56
+ : await (0, packageEnumerator_1.enumerateScanTargets)(deps.fetchPackageContents, enumerateInput);
53
57
  const truncatedByMaxObjects = allTargets.length > maxObjects;
54
58
  const targets = truncatedByMaxObjects
55
59
  ? allTargets.slice(0, maxObjects)
@@ -136,7 +140,7 @@ async function runSearchSource(deps, input) {
136
140
  const result = {
137
141
  results: allHits,
138
142
  scanned: {
139
- packages: input.packages.length,
143
+ packages: resolvedPackages.length,
140
144
  objects: targets.length,
141
145
  sources: sourcesScanned,
142
146
  },
@@ -150,9 +154,12 @@ async function runSearchSource(deps, input) {
150
154
  return result;
151
155
  }
152
156
  function runSearchSourceWithContext(ctx, input) {
157
+ const searchObjects = (0, packageResolver_1.createPackagePatternResolver)(ctx);
158
+ const resolverDeps = { searchObjects };
153
159
  return runSearchSource({
154
160
  fetchPackageContents: (0, packageEnumerator_1.createPackageContentsFetcher)(ctx),
155
161
  sourceReader: (0, sourceReader_1.createSourceReaderDeps)(ctx),
162
+ resolvePackages: (entries) => (0, packageResolver_1.resolvePackagePatterns)(resolverDeps, entries),
156
163
  }, input);
157
164
  }
158
165
  //# sourceMappingURL=orchestrator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/lib/search-source/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/lib/search-source/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { HandlerContext } from '../handlers/interfaces';
2
+ export interface SearchObjectsArgs {
3
+ query: string;
4
+ objectType: 'DEVC';
5
+ maxResults: number;
6
+ }
7
+ export type SearchObjectsFn = (args: SearchObjectsArgs) => Promise<string[]>;
8
+ export interface PackageResolverDeps {
9
+ searchObjects: SearchObjectsFn;
10
+ }
11
+ export declare function resolvePackagePatterns(deps: PackageResolverDeps, entries: string[]): Promise<string[]>;
12
+ export declare function createPackagePatternResolver(ctx: HandlerContext): SearchObjectsFn;
13
+ //# sourceMappingURL=packageResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageResolver.d.ts","sourceRoot":"","sources":["../../../src/lib/search-source/packageResolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAE7E,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,eAAe,CAAC;CAChC;AAQD,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,MAAM,EAAE,CAAC,CAwBnB;AAED,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,cAAc,GAClB,eAAe,CAyBjB"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolvePackagePatterns = resolvePackagePatterns;
4
+ exports.createPackagePatternResolver = createPackagePatternResolver;
5
+ const clients_1 = require("../clients");
6
+ const WILDCARD_RE = /[*+]/;
7
+ function isPattern(entry) {
8
+ return WILDCARD_RE.test(entry);
9
+ }
10
+ async function resolvePackagePatterns(deps, entries) {
11
+ const exact = [];
12
+ const resolved = [];
13
+ for (const entry of entries) {
14
+ if (isPattern(entry)) {
15
+ const names = await deps.searchObjects({
16
+ query: entry,
17
+ objectType: 'DEVC',
18
+ maxResults: 1000,
19
+ });
20
+ resolved.push(...names);
21
+ }
22
+ else {
23
+ exact.push(entry);
24
+ }
25
+ }
26
+ const seen = new Set();
27
+ const out = [];
28
+ for (const name of [...exact, ...resolved]) {
29
+ const key = name.toUpperCase();
30
+ if (seen.has(key))
31
+ continue;
32
+ seen.add(key);
33
+ out.push(name);
34
+ }
35
+ return out;
36
+ }
37
+ function createPackagePatternResolver(ctx) {
38
+ const client = (0, clients_1.createAdtClient)(ctx.connection, ctx.logger);
39
+ const utils = client.getUtils();
40
+ return async ({ query, objectType, maxResults }) => {
41
+ const response = await utils.searchObjects({
42
+ query,
43
+ objectType,
44
+ maxResults,
45
+ });
46
+ const status = response?.status;
47
+ if (status && status !== 200) {
48
+ throw new Error(`ADT request failed (status ${status})`);
49
+ }
50
+ const xml = typeof response?.data === 'string'
51
+ ? response.data
52
+ : String(response?.data ?? '');
53
+ const names = [];
54
+ for (const m of xml.matchAll(/<adtcore:objectReference\s+([^>]*)\/>/g)) {
55
+ const attrs = m[1];
56
+ const name = attrs.match(/adtcore:name="([^"]*)"/)?.[1];
57
+ if (name)
58
+ names.push(name);
59
+ }
60
+ return names;
61
+ };
62
+ }
63
+ //# sourceMappingURL=packageResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageResolver.js","sourceRoot":"","sources":["../../../src/lib/search-source/packageResolver.ts"],"names":[],"mappings":";;AAqBA,wDA2BC;AAED,oEA2BC;AA7ED,wCAA6C;AAe7C,MAAM,WAAW,GAAG,MAAM,CAAC;AAE3B,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAC1C,IAAyB,EACzB,OAAiB;IAEjB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC;gBACrC,KAAK,EAAE,KAAK;gBACZ,UAAU,EAAE,MAAM;gBAClB,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,4BAA4B,CAC1C,GAAmB;IAEnB,MAAM,MAAM,GAAG,IAAA,yBAAe,EAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE;QACjD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC;YACzC,KAAK;YACL,UAAU;YACV,UAAU;SACX,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC;QAChC,IAAI,MAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,GAAG,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,GAAG,GACP,OAAO,QAAQ,EAAE,IAAI,KAAK,QAAQ;YAChC,CAAC,CAAC,QAAQ,CAAC,IAAI;YACf,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QACnC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,wCAAwC,CAAC,EAAE,CAAC;YACvE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACnB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"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"}
package/dist/lib/utils.js CHANGED
@@ -85,6 +85,8 @@ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
85
85
  Object.defineProperty(exports, "ErrorCode", { enumerable: true, get: function () { return types_js_1.ErrorCode; } });
86
86
  Object.defineProperty(exports, "McpError", { enumerable: true, get: function () { return types_js_1.McpError; } });
87
87
  const axios_1 = require("axios");
88
+ const applyAuthFields_js_1 = require("./config/applyAuthFields.js");
89
+ const parseAuthType_js_1 = require("./config/parseAuthType.js");
88
90
  const connectionEvents_1 = require("./connectionEvents");
89
91
  const logger_1 = require("./logger");
90
92
  Object.defineProperty(exports, "logger", { enumerable: true, get: function () { return logger_1.logger; } });
@@ -1129,11 +1131,15 @@ SAP CONNECTION (.env file):
1129
1131
  Example: https://your-system.sap.com
1130
1132
  SAP_CLIENT SAP client number (required for basic auth)
1131
1133
  Example: 100
1132
- SAP_AUTH_TYPE Authentication type: basic|jwt (default: basic)
1134
+ SAP_AUTH_TYPE Authentication type: basic|jwt|saml|certificate|kerberos (default: basic)
1133
1135
  SAP_CONNECTION_TYPE Connection type: http|rfc (default: http)
1134
1136
  SAP_USERNAME SAP username (required for basic auth)
1135
1137
  SAP_PASSWORD SAP password (required for basic auth)
1136
1138
  SAP_JWT_TOKEN JWT token (required for jwt auth)
1139
+ SAP_CERT_PATH / SAP_CERT_KEY_PATH Client cert + key (PEM) for certificate auth
1140
+ SAP_CERT_PFX_PATH / SAP_CERT_PASSPHRASE PKCS#12 cert for certificate auth (alternative to PEM)
1141
+ SAP_KERBEROS_SPN SPN for kerberos auth (default HTTP@<host>)
1142
+ SAP_KERBEROS_SERVICE Service class for SPN derivation when SAP_KERBEROS_SPN unset (default HTTP)
1137
1143
 
1138
1144
  GENERATING .ENV FROM SERVICE KEY (JWT Authentication):
1139
1145
  To generate .env file from SAP BTP service key JSON file, install the
@@ -1579,21 +1585,7 @@ function getConfig() {
1579
1585
  client = client.trim();
1580
1586
  }
1581
1587
  // Auto-detect auth type: JWT token → jwt; SAP_AUTH_TYPE → explicit; default → basic
1582
- let authType = 'basic';
1583
- if (process.env.SAP_JWT_TOKEN) {
1584
- authType = 'jwt';
1585
- }
1586
- else if (process.env.SAP_AUTH_TYPE) {
1587
- const rawAuthType = process.env.SAP_AUTH_TYPE.trim().toLowerCase();
1588
- if (rawAuthType === 'xsuaa') {
1589
- authType = 'jwt';
1590
- }
1591
- else if (rawAuthType === 'basic' ||
1592
- rawAuthType === 'jwt' ||
1593
- rawAuthType === 'saml') {
1594
- authType = rawAuthType;
1595
- }
1596
- }
1588
+ const authType = (0, parseAuthType_js_1.parseAuthType)(process.env);
1597
1589
  // Connection type: http (default) or rfc
1598
1590
  const connectionType = process.env.SAP_CONNECTION_TYPE?.trim().toLowerCase() === 'rfc'
1599
1591
  ? 'rfc'
@@ -1648,6 +1640,9 @@ function getConfig() {
1648
1640
  if (uaaClientSecret)
1649
1641
  config.uaaClientSecret = uaaClientSecret.trim();
1650
1642
  }
1643
+ else if ((0, applyAuthFields_js_1.applyCertKerberosFields)(config, process.env)) {
1644
+ // certificate / kerberos: no username/password required
1645
+ }
1651
1646
  else {
1652
1647
  // basic and rfc both require username/password
1653
1648
  const username = process.env.SAP_USERNAME;