@mcp-abap-adt/core 2.2.7 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +46 -9
  3. package/dist/handlers/behavior_definition/high/handleUpdateBehaviorDefinition.d.ts.map +1 -1
  4. package/dist/handlers/behavior_definition/high/handleUpdateBehaviorDefinition.js +3 -2
  5. package/dist/handlers/behavior_definition/high/handleUpdateBehaviorDefinition.js.map +1 -1
  6. package/dist/handlers/class/high/handleUpdateLocalDefinitions.d.ts.map +1 -1
  7. package/dist/handlers/class/high/handleUpdateLocalDefinitions.js +2 -1
  8. package/dist/handlers/class/high/handleUpdateLocalDefinitions.js.map +1 -1
  9. package/dist/handlers/class/high/handleUpdateLocalMacros.d.ts.map +1 -1
  10. package/dist/handlers/class/high/handleUpdateLocalMacros.js +2 -1
  11. package/dist/handlers/class/high/handleUpdateLocalMacros.js.map +1 -1
  12. package/dist/handlers/class/high/handleUpdateLocalTestClass.d.ts.map +1 -1
  13. package/dist/handlers/class/high/handleUpdateLocalTestClass.js +4 -9
  14. package/dist/handlers/class/high/handleUpdateLocalTestClass.js.map +1 -1
  15. package/dist/handlers/class/high/handleUpdateLocalTypes.d.ts.map +1 -1
  16. package/dist/handlers/class/high/handleUpdateLocalTypes.js +2 -1
  17. package/dist/handlers/class/high/handleUpdateLocalTypes.js.map +1 -1
  18. package/dist/handlers/class/low/handleUpdateClassTestClasses.d.ts.map +1 -1
  19. package/dist/handlers/class/low/handleUpdateClassTestClasses.js +3 -2
  20. package/dist/handlers/class/low/handleUpdateClassTestClasses.js.map +1 -1
  21. package/dist/handlers/ddlx/high/handleUpdateMetadataExtension.d.ts.map +1 -1
  22. package/dist/handlers/ddlx/high/handleUpdateMetadataExtension.js +3 -2
  23. package/dist/handlers/ddlx/high/handleUpdateMetadataExtension.js.map +1 -1
  24. package/dist/handlers/system/readonly/handleGetTypeInfo.d.ts +6 -42
  25. package/dist/handlers/system/readonly/handleGetTypeInfo.d.ts.map +1 -1
  26. package/dist/handlers/system/readonly/handleGetTypeInfo.js +129 -79
  27. package/dist/handlers/system/readonly/handleGetTypeInfo.js.map +1 -1
  28. package/dist/handlers/unit_test/high/handleUpdateCdsUnitTest.d.ts.map +1 -1
  29. package/dist/handlers/unit_test/high/handleUpdateCdsUnitTest.js +3 -2
  30. package/dist/handlers/unit_test/high/handleUpdateCdsUnitTest.js.map +1 -1
  31. package/dist/handlers/unit_test/high/handleUpdateUnitTest.d.ts.map +1 -1
  32. package/dist/handlers/unit_test/high/handleUpdateUnitTest.js +3 -2
  33. package/dist/handlers/unit_test/high/handleUpdateUnitTest.js.map +1 -1
  34. package/dist/lib/auth/brokerFactory.d.ts.map +1 -1
  35. package/dist/lib/auth/brokerFactory.js +3 -8
  36. package/dist/lib/auth/brokerFactory.js.map +1 -1
  37. package/dist/lib/config/ArgumentsParser.js +2 -2
  38. package/dist/lib/config/ArgumentsParser.js.map +1 -1
  39. package/dist/lib/config/ServerConfigManager.d.ts.map +1 -1
  40. package/dist/lib/config/ServerConfigManager.js +4 -2
  41. package/dist/lib/config/ServerConfigManager.js.map +1 -1
  42. package/dist/lib/config/yamlConfig.d.ts +2 -1
  43. package/dist/lib/config/yamlConfig.d.ts.map +1 -1
  44. package/dist/lib/config/yamlConfig.js +18 -7
  45. package/dist/lib/config/yamlConfig.js.map +1 -1
  46. package/dist/lib/utils.d.ts +5 -0
  47. package/dist/lib/utils.d.ts.map +1 -1
  48. package/dist/lib/utils.js +59 -4
  49. package/dist/lib/utils.js.map +1 -1
  50. package/dist/server/SseServer.d.ts.map +1 -1
  51. package/dist/server/SseServer.js +7 -3
  52. package/dist/server/SseServer.js.map +1 -1
  53. package/dist/server/StreamableHttpServer.d.ts.map +1 -1
  54. package/dist/server/StreamableHttpServer.js +10 -5
  55. package/dist/server/StreamableHttpServer.js.map +1 -1
  56. package/dist/server/launcher.js +1 -1
  57. package/dist/server/launcher.js.map +1 -1
  58. package/docs/configuration/YAML_CONFIG.md +25 -22
  59. package/docs/user-guide/AUTHENTICATION.md +3 -0
  60. package/docs/user-guide/CLI_OPTIONS.md +6 -5
  61. package/package.json +1 -1
@@ -6,7 +6,7 @@ The MCP ABAP ADT server supports YAML configuration files to simplify server set
6
6
 
7
7
  1. **Generate a template:**
8
8
  ```bash
9
- mcp-abap-adt --config=config.yaml
9
+ mcp-abap-adt --conf=config.yaml
10
10
  ```
11
11
  If the file doesn't exist, a template will be automatically generated.
12
12
 
@@ -15,7 +15,7 @@ The MCP ABAP ADT server supports YAML configuration files to simplify server set
15
15
 
16
16
  3. **Run with config:**
17
17
  ```bash
18
- mcp-abap-adt --config=config.yaml
18
+ mcp-abap-adt --conf=config.yaml
19
19
  ```
20
20
 
21
21
  ## Command-Line Override
@@ -28,7 +28,7 @@ Command-line arguments **always override** YAML values. This allows you to:
28
28
  Example:
29
29
  ```bash
30
30
  # Use config.yaml but override the port
31
- mcp-abap-adt --config=config.yaml --http-port=8080
31
+ mcp-abap-adt --conf=config.yaml --http-port=8080
32
32
  ```
33
33
 
34
34
  ## Configuration File Structure
@@ -41,8 +41,11 @@ transport: stdio
41
41
  # Default MCP destination (uses auth-broker)
42
42
  mcp: TRIAL
43
43
 
44
- # Path to .env file (alternative to mcp destination)
45
- env: .env
44
+ # Env destination name in sessions store (e.g. trial -> trial.env)
45
+ env: trial
46
+
47
+ # Explicit path to .env file (recommended for file-based config)
48
+ env-path: .env
46
49
 
47
50
  # Use unsafe mode (file-based session store)
48
51
  unsafe: false
@@ -83,7 +86,8 @@ sse:
83
86
  |--------|------|---------|-------------|
84
87
  | `transport` | string | `stdio` | Transport type: `stdio` (default, for MCP clients), `http`, `streamable-http`, or `sse` |
85
88
  | `mcp` | string | - | Default MCP destination name (uses auth-broker) |
86
- | `env` | string | - | Path to `.env` file (alternative to `mcp` destination) |
89
+ | `env` | string | - | Destination name resolved from sessions store (`sessions/<name>.env`) |
90
+ | `env-path` | string | - | Explicit path to `.env` file |
87
91
  | `unsafe` | boolean | `false` | Use file-based session store (persists to disk) |
88
92
  | `auth-broker` | boolean | `false` | Force use of auth-broker (service keys) instead of `.env` |
89
93
  | `auth-broker-path` | string | - | Custom path for auth-broker storage |
@@ -120,7 +124,7 @@ mcp: TRIAL
120
124
 
121
125
  Usage:
122
126
  ```bash
123
- mcp-abap-adt --config=config.yaml
127
+ mcp-abap-adt --conf=config.yaml
124
128
  ```
125
129
 
126
130
  ### Example 2: HTTP Mode with Custom Port
@@ -134,7 +138,7 @@ http:
134
138
 
135
139
  Usage:
136
140
  ```bash
137
- mcp-abap-adt --config=config.yaml
141
+ mcp-abap-adt --conf=config.yaml
138
142
  ```
139
143
 
140
144
  ### Example 3: SSE Mode with CORS
@@ -150,19 +154,19 @@ sse:
150
154
 
151
155
  Usage:
152
156
  ```bash
153
- mcp-abap-adt --config=config.yaml
157
+ mcp-abap-adt --conf=config.yaml
154
158
  ```
155
159
 
156
160
  ### Example 4: stdio Mode with .env File
157
161
 
158
162
  ```yaml
159
163
  transport: stdio
160
- env: .env
164
+ env-path: .env
161
165
  ```
162
166
 
163
167
  Usage:
164
168
  ```bash
165
- mcp-abap-adt --config=config.yaml
169
+ mcp-abap-adt --conf=config.yaml
166
170
  ```
167
171
 
168
172
  ### Example 5: HTTP Mode with Auth-Broker
@@ -178,7 +182,7 @@ http:
178
182
 
179
183
  Usage:
180
184
  ```bash
181
- mcp-abap-adt --config=config.yaml
185
+ mcp-abap-adt --conf=config.yaml
182
186
  ```
183
187
 
184
188
  ## Testing Scenarios
@@ -194,7 +198,7 @@ mcp: TRIAL
194
198
  ### Test Config 2: stdio-env.yaml
195
199
  ```yaml
196
200
  transport: stdio
197
- env: .env
201
+ env-path: .env
198
202
  ```
199
203
 
200
204
  ### Test Config 3: http-default.yaml
@@ -215,10 +219,10 @@ sse:
215
219
 
216
220
  Run tests with different configs:
217
221
  ```bash
218
- mcp-abap-adt --config=stdio-stdio.yaml
219
- mcp-abap-adt --config=stdio-env.yaml
220
- mcp-abap-adt --config=http-default.yaml
221
- mcp-abap-adt --config=sse-cors.yaml
222
+ mcp-abap-adt --conf=stdio-stdio.yaml
223
+ mcp-abap-adt --conf=stdio-env.yaml
224
+ mcp-abap-adt --conf=http-default.yaml
225
+ mcp-abap-adt --conf=sse-cors.yaml
222
226
  ```
223
227
 
224
228
  ## Benefits
@@ -231,7 +235,7 @@ mcp-abap-adt --config=sse-cors.yaml
231
235
 
232
236
  ## Template Generation
233
237
 
234
- When you specify `--config=<path>` and the file doesn't exist, a template is automatically generated with:
238
+ When you specify `--conf=<path>` (or `--config=<path>`) and the file doesn't exist, a template is automatically generated with:
235
239
  - All available options
236
240
  - Default values
237
241
  - Comments explaining each option
@@ -248,13 +252,13 @@ Edit the template to customize your configuration.
248
252
  Examples:
249
253
  ```bash
250
254
  # Relative path (resolved from current directory)
251
- mcp-abap-adt --config=config.yaml
255
+ mcp-abap-adt --conf=config.yaml
252
256
 
253
257
  # Absolute path
254
- mcp-abap-adt --config=/path/to/config.yaml
258
+ mcp-abap-adt --conf=/path/to/config.yaml
255
259
 
256
260
  # Home directory
257
- mcp-abap-adt --config=~/config.yaml
261
+ mcp-abap-adt --conf=~/config.yaml
258
262
  ```
259
263
 
260
264
  ## Error Handling
@@ -269,4 +273,3 @@ If the YAML file has syntax errors or invalid values:
269
273
  - [CLI Options](user-guide/CLI_OPTIONS.md) - Complete list of command-line options
270
274
  - [Client Configuration](user-guide/CLIENT_CONFIGURATION.md) - How to configure MCP clients
271
275
  - [Installation Guide](installation/INSTALLATION.md) - Server installation instructions
272
-
@@ -35,6 +35,9 @@ You can also provide credentials via `.env`:
35
35
 
36
36
  This is useful for quick local testing or when you do not want to store service keys.
37
37
 
38
+ **.env comments rule:** only full-line comments are supported (lines that start with `#`).
39
+ Inline comments are not parsed, so keep comments on separate lines.
40
+
38
41
  ### Generate .env from Service Key
39
42
 
40
43
  ```bash
@@ -20,16 +20,16 @@ The help message shows all available options for all transport modes.
20
20
 
21
21
  ### YAML Configuration File
22
22
 
23
- **--config=\<path\>** or **--config \<path\>**
23
+ **--conf=\<path\>** or **--conf \<path\>** (alias: `--config`)
24
24
 
25
25
  Load server configuration from a YAML file instead of command-line arguments. If the file doesn't exist, a template will be automatically generated.
26
26
 
27
27
  ```bash
28
28
  # Use YAML config file
29
- mcp-abap-adt --config=config.yaml
29
+ mcp-abap-adt --conf=config.yaml
30
30
 
31
31
  # Override YAML values with command-line arguments
32
- mcp-abap-adt --config=config.yaml --http-port=8080
32
+ mcp-abap-adt --conf=config.yaml --http-port=8080
33
33
  ```
34
34
 
35
35
  **Benefits:**
@@ -132,7 +132,7 @@ mcp-abap-adt --transport=sse
132
132
 
133
133
  **--mcp=\<destination\>**
134
134
 
135
- Default MCP destination name. When specified, this destination will be used when `x-mcp-destination` header is not provided in the request. This allows using auth-broker (service keys) with stdio and SSE transports.
135
+ Default MCP destination name. When specified, this destination is used when `x-mcp-destination` header is not provided.
136
136
 
137
137
  ```bash
138
138
  # Use stdio with auth-broker (--mcp parameter)
@@ -141,7 +141,7 @@ mcp-abap-adt --transport=stdio --mcp=TRIAL
141
141
  # Use SSE with auth-broker (--mcp parameter)
142
142
  mcp-abap-adt --transport=sse --mcp=TRIAL
143
143
 
144
- # Use HTTP with default destination (overrides x-mcp-destination header if not provided)
144
+ # Use HTTP with default destination (fallback when x-mcp-destination is not provided)
145
145
  mcp-abap-adt --transport=http --mcp=TRIAL
146
146
  ```
147
147
 
@@ -149,6 +149,7 @@ mcp-abap-adt --transport=http --mcp=TRIAL
149
149
  - For **stdio transport**: The server initializes auth-broker with the specified destination at startup
150
150
  - For **SSE transport**: The server uses the specified destination when `x-mcp-destination` header is not provided
151
151
  - For **HTTP transport**: The server uses the specified destination as a fallback when `x-mcp-destination` header is not provided
152
+ - If neither header nor default destination is provided, HTTP/SSE requests are rejected with `400` (missing SAP connection context)
152
153
  - **`.env` file is not loaded automatically** when `--mcp` is specified (even if it exists in current directory)
153
154
  - **`.env` file is not considered mandatory** for stdio and SSE transports when `--mcp` is specified
154
155
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mcp-abap-adt/core",
3
3
  "mcpName": "io.github.fr0ster/mcp-abap-adt",
4
- "version": "2.2.7",
4
+ "version": "2.3.1",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "exports": {