@mcp-abap-adt/core 2.2.4 → 2.2.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/CHANGELOG.md +18 -0
- package/README.md +21 -10
- package/dist/handlers/function/high/handleUpdateFunctionModule.d.ts.map +1 -1
- package/dist/handlers/function/high/handleUpdateFunctionModule.js +31 -1
- package/dist/handlers/function/high/handleUpdateFunctionModule.js.map +1 -1
- package/dist/handlers/function/low/handleLockFunctionModule.d.ts.map +1 -1
- package/dist/handlers/function/low/handleLockFunctionModule.js +4 -2
- package/dist/handlers/function/low/handleLockFunctionModule.js.map +1 -1
- package/dist/handlers/function/low/handleUpdateFunctionModule.d.ts +6 -1
- package/dist/handlers/function/low/handleUpdateFunctionModule.d.ts.map +1 -1
- package/dist/handlers/function/low/handleUpdateFunctionModule.js +12 -3
- package/dist/handlers/function/low/handleUpdateFunctionModule.js.map +1 -1
- package/dist/handlers/function/readonly/handleGetFunction.d.ts +1 -1
- package/dist/handlers/function/readonly/handleGetFunction.d.ts.map +1 -1
- package/dist/handlers/function/readonly/handleGetFunction.js +9 -7
- package/dist/handlers/function/readonly/handleGetFunction.js.map +1 -1
- package/dist/handlers/function_module/high/handleDeleteFunctionModule.d.ts +6 -1
- package/dist/handlers/function_module/high/handleDeleteFunctionModule.d.ts.map +1 -1
- package/dist/handlers/function_module/high/handleDeleteFunctionModule.js +12 -5
- package/dist/handlers/function_module/high/handleDeleteFunctionModule.js.map +1 -1
- package/dist/handlers/function_module/high/handleGetFunctionModule.d.ts +6 -1
- package/dist/handlers/function_module/high/handleGetFunctionModule.d.ts.map +1 -1
- package/dist/handlers/function_module/high/handleGetFunctionModule.js +12 -6
- package/dist/handlers/function_module/high/handleGetFunctionModule.js.map +1 -1
- package/dist/lib/config/ArgumentsParser.d.ts.map +1 -1
- package/dist/lib/config/ArgumentsParser.js +20 -21
- package/dist/lib/config/ArgumentsParser.js.map +1 -1
- package/dist/lib/config/ServerConfigManager.d.ts.map +1 -1
- package/dist/lib/config/ServerConfigManager.js +8 -3
- package/dist/lib/config/ServerConfigManager.js.map +1 -1
- package/dist/lib/config/envResolver.d.ts +6 -0
- package/dist/lib/config/envResolver.d.ts.map +1 -0
- package/dist/lib/config/envResolver.js +84 -0
- package/dist/lib/config/envResolver.js.map +1 -0
- package/dist/lib/config/runtimeConfig.d.ts.map +1 -1
- package/dist/lib/config/runtimeConfig.js +27 -14
- package/dist/lib/config/runtimeConfig.js.map +1 -1
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +10 -6
- package/dist/lib/utils.js.map +1 -1
- package/dist/server/launcher.js +1 -1
- package/docs/installation/INSTALLATION.md +17 -12
- package/docs/user-guide/AUTHENTICATION.md +3 -2
- package/docs/user-guide/AVAILABLE_TOOLS.md +2634 -2725
- package/docs/user-guide/AVAILABLE_TOOLS_HIGH.md +1417 -0
- package/docs/user-guide/AVAILABLE_TOOLS_LOW.md +1945 -0
- package/docs/user-guide/AVAILABLE_TOOLS_READONLY.md +405 -0
- package/docs/user-guide/CLIENT_CONFIGURATION.md +24 -16
- package/docs/user-guide/CLI_OPTIONS.md +28 -22
- package/docs/user-guide/HANDLERS_MANAGEMENT.md +5 -5
- package/docs/user-guide/README.md +12 -6
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [2.2.6] - 2026-02-12
|
|
6
|
+
### Changed
|
|
7
|
+
- **Function Module handlers**: Fixed parameter propagation for function module operations:
|
|
8
|
+
- `GetFunctionModule` and `DeleteFunctionModule` now require and pass `function_group_name`.
|
|
9
|
+
- `GetFunction` (read-only) now requires and passes `function_group`.
|
|
10
|
+
- `UpdateFunctionModule` (high/low) now forwards `transport_request` to ADT update calls.
|
|
11
|
+
- **CLI env resolution**: Updated env argument behavior:
|
|
12
|
+
- `--env=<name>` now resolves to platform sessions path: `{sessions}/<name>.env`.
|
|
13
|
+
- Added `--env-path=<path|file>` for explicit `.env` file usage.
|
|
14
|
+
- `MCP_ENV_PATH` now maps to explicit env file path behavior (same as `--env-path`).
|
|
15
|
+
- **Errors**: Improved function module update error messages for transport-related `400` responses and XML SAP errors.
|
|
16
|
+
|
|
17
|
+
## [2.2.5] - 2026-02-11
|
|
18
|
+
### Changed
|
|
19
|
+
- **Tools docs generator**: Reworked `tools/generate-tools-docs.js` to scan only handler code in `src/handlers/**`.
|
|
20
|
+
- **Tools docs structure**: Updated `docs/user-guide/AVAILABLE_TOOLS.md` hierarchy to `Group (level) → Object (folder) → Tools`.
|
|
21
|
+
- **Coverage fix**: Ensured BDEF and other handler folders are included consistently in generated tools documentation.
|
|
22
|
+
|
|
5
23
|
## [2.2.4] - 2026-02-11
|
|
6
24
|
### Changed
|
|
7
25
|
- **Discoverability metadata**: Updated npm keywords and package metadata to improve MCP search relevance for ABAP, ABAP Cloud, JWT/XSUAA, and service-key flows.
|
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# mcp-abap-adt: Your Gateway to ABAP Development Tools (ADT)
|
|
2
2
|
|
|
3
|
-
This project
|
|
3
|
+
This project is an MCP server for SAP BTP ABAP Cloud, SAP ECC/S/4HANA, and On-Premise ABAP systems with full CRUD support. It supports JWT/XSUAA authentication and service key (destination-based) authorization from the start.
|
|
4
4
|
|
|
5
5
|
**Why teams use it:**
|
|
6
6
|
- **Full CRUD** (not read-only): create, read, update, and delete ABAP artifacts
|
|
7
|
-
- Works with **On-Premise** and **ABAP Cloud (BTP)** systems
|
|
7
|
+
- Works with **On-Premise (ECC/S/4HANA)** and **ABAP Cloud (BTP)** systems
|
|
8
8
|
- **JWT/XSUAA** and **service key** (destination-based) authorization
|
|
9
9
|
- Multiple transports: **stdio**, **HTTP**, **SSE**
|
|
10
10
|
- Rich tool surface for ABAP objects, metadata, transports, and search
|
|
@@ -89,7 +89,10 @@ await server.connect(transport);
|
|
|
89
89
|
1. **Install server**: See [Installation Guide](docs/installation/INSTALLATION.md)
|
|
90
90
|
2. **Configure client (auto)**: Use `mcp-conf` from `@mcp-abap-adt/configurator` (repo: [`mcp-abap-adt-conf`](https://github.com/fr0ster/mcp-abap-adt-conf), docs: [CLIENT_INSTALLERS.md](https://github.com/fr0ster/mcp-abap-adt-conf/tree/main/docs/CLIENT_INSTALLERS.md))
|
|
91
91
|
3. **Configure client (manual)**: See [Client Configuration](docs/user-guide/CLIENT_CONFIGURATION.md)
|
|
92
|
-
4. **Use**:
|
|
92
|
+
4. **Use**:
|
|
93
|
+
- [Read-Only Tools](docs/user-guide/AVAILABLE_TOOLS_READONLY.md)
|
|
94
|
+
- [High-Level Tools](docs/user-guide/AVAILABLE_TOOLS_HIGH.md)
|
|
95
|
+
- [Low-Level Tools](docs/user-guide/AVAILABLE_TOOLS_LOW.md)
|
|
93
96
|
|
|
94
97
|
## Registries
|
|
95
98
|
|
|
@@ -132,7 +135,10 @@ Published in the official MCP Registry and listed on Glama.ai.
|
|
|
132
135
|
- **[Authentication & Destinations](docs/user-guide/AUTHENTICATION.md)** - Destination-based auth and service keys
|
|
133
136
|
- **[Handlers Management](docs/user-guide/HANDLERS_MANAGEMENT.md)** - Enable/disable handler groups
|
|
134
137
|
- **Configurator**: `@mcp-abap-adt/configurator` (repo: [`mcp-abap-adt-conf`](https://github.com/fr0ster/mcp-abap-adt-conf)) provides the `mcp-conf` CLI to auto-configure clients
|
|
135
|
-
- **
|
|
138
|
+
- **Tools by level**
|
|
139
|
+
- [Read-Only Tools](docs/user-guide/AVAILABLE_TOOLS_READONLY.md)
|
|
140
|
+
- [High-Level Tools](docs/user-guide/AVAILABLE_TOOLS_HIGH.md)
|
|
141
|
+
- [Low-Level Tools](docs/user-guide/AVAILABLE_TOOLS_LOW.md)
|
|
136
142
|
|
|
137
143
|
### For Administrators
|
|
138
144
|
- **[Deployment Docs](docs/deployment/README.md)** - MCP Registry, Docker, release notes
|
|
@@ -176,8 +182,11 @@ mcp-abap-adt --transport=stdio
|
|
|
176
182
|
# Use stdio mode with auth-broker (--mcp parameter)
|
|
177
183
|
mcp-abap-adt --transport=stdio --mcp=TRIAL
|
|
178
184
|
|
|
179
|
-
# Use
|
|
180
|
-
mcp-abap-adt --env
|
|
185
|
+
# Use env destination from platform sessions store
|
|
186
|
+
mcp-abap-adt --env=trial
|
|
187
|
+
|
|
188
|
+
# Use explicit .env file path
|
|
189
|
+
mcp-abap-adt --env-path=/path/to/my.env
|
|
181
190
|
|
|
182
191
|
# SSE mode (requires .env file or --mcp parameter)
|
|
183
192
|
mcp-abap-adt --transport=sse --sse-port=3001
|
|
@@ -204,10 +213,12 @@ npm run start:legacy
|
|
|
204
213
|
|
|
205
214
|
### Environment Configuration
|
|
206
215
|
|
|
207
|
-
|
|
208
|
-
1.
|
|
209
|
-
2.
|
|
210
|
-
|
|
216
|
+
Env resolution:
|
|
217
|
+
1. `--env-path=<path|file>` (or `MCP_ENV_PATH`) for explicit `.env` file.
|
|
218
|
+
2. `--env=<destination>` for destination file in sessions store:
|
|
219
|
+
- Unix: `~/.config/mcp-abap-adt/sessions/<destination>.env`
|
|
220
|
+
- Windows: `%USERPROFILE%\\Documents\\mcp-abap-adt\\sessions\\<destination>.env`
|
|
221
|
+
3. Fallback to `.env` in current working directory.
|
|
211
222
|
|
|
212
223
|
**Example .env file:**
|
|
213
224
|
```bash
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleUpdateFunctionModule.d.ts","sourceRoot":"","sources":["../../../../src/handlers/function/high/handleUpdateFunctionModule.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAGvE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmClB,CAAC;AAEX,UAAU,wBAAwB;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"handleUpdateFunctionModule.d.ts","sourceRoot":"","sources":["../../../../src/handlers/function/high/handleUpdateFunctionModule.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAGvE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmClB,CAAC;AAEX,UAAU,wBAAwB;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,GAAG,CAAC,CAgJd"}
|
|
@@ -80,6 +80,7 @@ async function handleUpdateFunctionModule(context, args) {
|
|
|
80
80
|
functionModuleName,
|
|
81
81
|
functionGroupName,
|
|
82
82
|
sourceCode: args.source_code,
|
|
83
|
+
transportRequest: args.transport_request,
|
|
83
84
|
}, { lockHandle });
|
|
84
85
|
await client.getFunctionModule().check({
|
|
85
86
|
functionModuleName,
|
|
@@ -111,6 +112,7 @@ async function handleUpdateFunctionModule(context, args) {
|
|
|
111
112
|
success: true,
|
|
112
113
|
function_module_name: functionModuleName,
|
|
113
114
|
function_group_name: functionGroupName,
|
|
115
|
+
transport_request: args.transport_request || null,
|
|
114
116
|
activated: shouldActivate,
|
|
115
117
|
message: `Function module ${functionModuleName} source code updated successfully${shouldActivate ? ' and activated' : ''}`,
|
|
116
118
|
};
|
|
@@ -124,11 +126,39 @@ async function handleUpdateFunctionModule(context, args) {
|
|
|
124
126
|
}
|
|
125
127
|
catch (error) {
|
|
126
128
|
logger?.error(`Error updating function module source ${functionModuleName}: ${error?.message || error}`);
|
|
127
|
-
|
|
129
|
+
let errorMessage = error.response?.data
|
|
128
130
|
? typeof error.response.data === 'string'
|
|
129
131
|
? error.response.data
|
|
130
132
|
: JSON.stringify(error.response.data)
|
|
131
133
|
: error.message || String(error);
|
|
134
|
+
if (error.response?.status === 404) {
|
|
135
|
+
errorMessage = `Function module ${functionModuleName} not found in group ${functionGroupName}.`;
|
|
136
|
+
}
|
|
137
|
+
else if (error.response?.status === 423) {
|
|
138
|
+
errorMessage = `Function module ${functionModuleName} is locked by another user or lock handle is invalid.`;
|
|
139
|
+
}
|
|
140
|
+
else if (error.response?.status === 400 && !args.transport_request) {
|
|
141
|
+
errorMessage = `Update failed for ${functionModuleName}. The object may be assigned to a transport request. Pass transport_request explicitly.`;
|
|
142
|
+
}
|
|
143
|
+
else if (error.response?.data &&
|
|
144
|
+
typeof error.response.data === 'string') {
|
|
145
|
+
try {
|
|
146
|
+
const { XMLParser } = require('fast-xml-parser');
|
|
147
|
+
const parser = new XMLParser({
|
|
148
|
+
ignoreAttributes: false,
|
|
149
|
+
attributeNamePrefix: '@_',
|
|
150
|
+
});
|
|
151
|
+
const errorData = parser.parse(error.response.data);
|
|
152
|
+
const errorMsg = errorData['exc:exception']?.message?.['#text'] ||
|
|
153
|
+
errorData['exc:exception']?.message;
|
|
154
|
+
if (errorMsg) {
|
|
155
|
+
errorMessage = `SAP Error: ${errorMsg}`;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
catch (_parseError) {
|
|
159
|
+
// Keep original error message if XML parsing fails
|
|
160
|
+
}
|
|
161
|
+
}
|
|
132
162
|
return (0, utils_1.return_error)(new Error(`Failed to update function module source: ${errorMessage}`));
|
|
133
163
|
}
|
|
134
164
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleUpdateFunctionModule.js","sourceRoot":"","sources":["../../../../src/handlers/function/high/handleUpdateFunctionModule.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAyDH,
|
|
1
|
+
{"version":3,"file":"handleUpdateFunctionModule.js","sourceRoot":"","sources":["../../../../src/handlers/function/high/handleUpdateFunctionModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleLockFunctionModule.d.ts","sourceRoot":"","sources":["../../../../src/handlers/function/low/handleLockFunctionModule.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAQvE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiClB,CAAC;AAEX,UAAU,sBAAsB;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACvC,CAAC;CACH;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,sBAAsB;;;;;;
|
|
1
|
+
{"version":3,"file":"handleLockFunctionModule.d.ts","sourceRoot":"","sources":["../../../../src/handlers/function/low/handleLockFunctionModule.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAQvE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiClB,CAAC;AAEX,UAAU,sBAAsB;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACvC,CAAC;CACH;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,sBAAsB;;;;;;GA2G7B"}
|
|
@@ -75,6 +75,8 @@ async function handleLockFunctionModule(context, args) {
|
|
|
75
75
|
throw new Error(`Lock did not return a lock handle for function module ${functionModuleName}`);
|
|
76
76
|
}
|
|
77
77
|
// Get updated session state after lock
|
|
78
|
+
const actualSessionId = connection.getSessionId() || session_id || null;
|
|
79
|
+
const actualSessionState = session_state || null;
|
|
78
80
|
logger?.info(`✅ LockFunctionModule completed: ${functionModuleName}`);
|
|
79
81
|
logger?.info(` Lock handle: ${lockHandle.substring(0, 20)}...`);
|
|
80
82
|
return (0, utils_1.return_response)({
|
|
@@ -82,9 +84,9 @@ async function handleLockFunctionModule(context, args) {
|
|
|
82
84
|
success: true,
|
|
83
85
|
function_module_name: functionModuleName,
|
|
84
86
|
function_group_name: functionGroupName,
|
|
85
|
-
session_id:
|
|
87
|
+
session_id: actualSessionId,
|
|
86
88
|
lock_handle: lockHandle,
|
|
87
|
-
session_state:
|
|
89
|
+
session_state: actualSessionState,
|
|
88
90
|
message: `Function module ${functionModuleName} locked successfully. Use this lock_handle and session_id for subsequent update/unlock operations.`,
|
|
89
91
|
}, null, 2),
|
|
90
92
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleLockFunctionModule.js","sourceRoot":"","sources":["../../../../src/handlers/function/low/handleLockFunctionModule.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AA8DH,
|
|
1
|
+
{"version":3,"file":"handleLockFunctionModule.js","sourceRoot":"","sources":["../../../../src/handlers/function/low/handleLockFunctionModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,9 +23,13 @@ export declare const TOOL_DEFINITION: {
|
|
|
23
23
|
readonly type: "string";
|
|
24
24
|
readonly description: "Complete ABAP function module source code.";
|
|
25
25
|
};
|
|
26
|
+
readonly transport_request: {
|
|
27
|
+
readonly type: "string";
|
|
28
|
+
readonly description: "Transport request number (e.g., E19K905635). Required for transportable objects locked in a request.";
|
|
29
|
+
};
|
|
26
30
|
readonly lock_handle: {
|
|
27
31
|
readonly type: "string";
|
|
28
|
-
readonly description: "Lock handle from
|
|
32
|
+
readonly description: "Lock handle from LockFunctionModule. Required for update operation.";
|
|
29
33
|
};
|
|
30
34
|
readonly session_id: {
|
|
31
35
|
readonly type: "string";
|
|
@@ -54,6 +58,7 @@ interface UpdateFunctionModuleArgs {
|
|
|
54
58
|
function_module_name: string;
|
|
55
59
|
function_group_name: string;
|
|
56
60
|
source_code: string;
|
|
61
|
+
transport_request?: string;
|
|
57
62
|
lock_handle: string;
|
|
58
63
|
session_id?: string;
|
|
59
64
|
session_state?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleUpdateFunctionModule.d.ts","sourceRoot":"","sources":["../../../../src/handlers/function/low/handleUpdateFunctionModule.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAQvE,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"handleUpdateFunctionModule.d.ts","sourceRoot":"","sources":["../../../../src/handlers/function/low/handleUpdateFunctionModule.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAQvE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDlB,CAAC;AAEX,UAAU,wBAAwB;IAChC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACvC,CAAC;CACH;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,wBAAwB;;;;;;GA2H/B"}
|
|
@@ -28,9 +28,13 @@ exports.TOOL_DEFINITION = {
|
|
|
28
28
|
type: 'string',
|
|
29
29
|
description: 'Complete ABAP function module source code.',
|
|
30
30
|
},
|
|
31
|
+
transport_request: {
|
|
32
|
+
type: 'string',
|
|
33
|
+
description: 'Transport request number (e.g., E19K905635). Required for transportable objects locked in a request.',
|
|
34
|
+
},
|
|
31
35
|
lock_handle: {
|
|
32
36
|
type: 'string',
|
|
33
|
-
description: 'Lock handle from
|
|
37
|
+
description: 'Lock handle from LockFunctionModule. Required for update operation.',
|
|
34
38
|
},
|
|
35
39
|
session_id: {
|
|
36
40
|
type: 'string',
|
|
@@ -62,7 +66,7 @@ exports.TOOL_DEFINITION = {
|
|
|
62
66
|
async function handleUpdateFunctionModule(context, args) {
|
|
63
67
|
const { connection, logger } = context;
|
|
64
68
|
try {
|
|
65
|
-
const { function_module_name, function_group_name, source_code, lock_handle, session_id, session_state, } = args;
|
|
69
|
+
const { function_module_name, function_group_name, source_code, transport_request, lock_handle, session_id, session_state, } = args;
|
|
66
70
|
// Validation
|
|
67
71
|
if (!function_module_name ||
|
|
68
72
|
!function_group_name ||
|
|
@@ -87,6 +91,7 @@ async function handleUpdateFunctionModule(context, args) {
|
|
|
87
91
|
functionModuleName: functionModuleName,
|
|
88
92
|
functionGroupName: functionGroupName,
|
|
89
93
|
sourceCode: source_code,
|
|
94
|
+
transportRequest: transport_request,
|
|
90
95
|
}, { lockHandle: lock_handle });
|
|
91
96
|
const updateResult = updateState.updateResult;
|
|
92
97
|
if (!updateResult) {
|
|
@@ -99,10 +104,11 @@ async function handleUpdateFunctionModule(context, args) {
|
|
|
99
104
|
success: true,
|
|
100
105
|
function_module_name: functionModuleName,
|
|
101
106
|
function_group_name: functionGroupName,
|
|
107
|
+
transport_request: transport_request || null,
|
|
102
108
|
lock_handle: lock_handle,
|
|
103
109
|
session_id: session_id || null,
|
|
104
110
|
session_state: null, // Session state management is now handled by auth-broker,
|
|
105
|
-
message: `Function module ${functionModuleName} updated successfully. Remember to unlock using
|
|
111
|
+
message: `Function module ${functionModuleName} updated successfully. Remember to unlock using UnlockFunctionModule.`,
|
|
106
112
|
}, null, 2),
|
|
107
113
|
});
|
|
108
114
|
}
|
|
@@ -113,6 +119,9 @@ async function handleUpdateFunctionModule(context, args) {
|
|
|
113
119
|
if (error.response?.status === 404) {
|
|
114
120
|
errorMessage = `Function module ${functionModuleName} not found.`;
|
|
115
121
|
}
|
|
122
|
+
else if (error.response?.status === 400 && !transport_request) {
|
|
123
|
+
errorMessage = `Update failed for ${functionModuleName}. The object may be assigned to a transport request. Pass transport_request explicitly.`;
|
|
124
|
+
}
|
|
116
125
|
else if (error.response?.status === 423) {
|
|
117
126
|
errorMessage = `Function module ${functionModuleName} is locked by another user or lock handle is invalid.`;
|
|
118
127
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleUpdateFunctionModule.js","sourceRoot":"","sources":["../../../../src/handlers/function/low/handleUpdateFunctionModule.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;
|
|
1
|
+
{"version":3,"file":"handleUpdateFunctionModule.js","sourceRoot":"","sources":["../../../../src/handlers/function/low/handleUpdateFunctionModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ export declare const TOOL_DEFINITION: {
|
|
|
5
5
|
readonly description: "[read-only] Retrieve ABAP Function Module source code.";
|
|
6
6
|
readonly inputSchema: {
|
|
7
7
|
readonly function_name: z.ZodString;
|
|
8
|
-
readonly function_group: z.
|
|
8
|
+
readonly function_group: z.ZodString;
|
|
9
9
|
readonly version: z.ZodDefault<z.ZodEnum<{
|
|
10
10
|
active: "active";
|
|
11
11
|
inactive: "inactive";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleGetFunction.d.ts","sourceRoot":"","sources":["../../../../src/handlers/function/readonly/handleGetFunction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAGvE,eAAO,MAAM,eAAe;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"handleGetFunction.d.ts","sourceRoot":"","sources":["../../../../src/handlers/function/readonly/handleGetFunction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAGvE,eAAO,MAAM,eAAe;;;;;;;;;;;CAWlB,CAAC;AAEX,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG;;;;;;;;;;;;GA6CzE"}
|
|
@@ -43,10 +43,7 @@ exports.TOOL_DEFINITION = {
|
|
|
43
43
|
description: '[read-only] Retrieve ABAP Function Module source code.',
|
|
44
44
|
inputSchema: {
|
|
45
45
|
function_name: z.string().describe('Name of the function module'),
|
|
46
|
-
function_group: z
|
|
47
|
-
.string()
|
|
48
|
-
.optional()
|
|
49
|
-
.describe('Name of the function group (optional)'),
|
|
46
|
+
function_group: z.string().describe('Name of the function group'),
|
|
50
47
|
version: z
|
|
51
48
|
.enum(['active', 'inactive'])
|
|
52
49
|
.default('active')
|
|
@@ -59,13 +56,18 @@ async function handleGetFunction(context, args) {
|
|
|
59
56
|
if (!args?.function_name) {
|
|
60
57
|
throw new utils_1.McpError(utils_1.ErrorCode.InvalidParams, 'Function name is required');
|
|
61
58
|
}
|
|
62
|
-
|
|
59
|
+
if (!args?.function_group) {
|
|
60
|
+
throw new utils_1.McpError(utils_1.ErrorCode.InvalidParams, 'Function group is required');
|
|
61
|
+
}
|
|
62
|
+
const functionModuleName = String(args.function_name).toUpperCase();
|
|
63
|
+
const functionGroupName = String(args.function_group).toUpperCase();
|
|
64
|
+
logger?.info(`Reading function module ${functionModuleName} in ${functionGroupName}, version: ${args.version || 'active'}`);
|
|
63
65
|
// Create client
|
|
64
66
|
const client = new adt_clients_1.AdtClient(connection);
|
|
65
67
|
const result = await client
|
|
66
68
|
.getFunctionModule()
|
|
67
|
-
.read({ functionModuleName
|
|
68
|
-
logger?.debug(`Successfully read function module ${
|
|
69
|
+
.read({ functionModuleName, functionGroupName }, args.version || 'active');
|
|
70
|
+
logger?.debug(`Successfully read function module ${functionModuleName}`);
|
|
69
71
|
return {
|
|
70
72
|
isError: false,
|
|
71
73
|
content: [{ type: 'json', json: result }],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleGetFunction.js","sourceRoot":"","sources":["../../../../src/handlers/function/readonly/handleGetFunction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"handleGetFunction.js","sourceRoot":"","sources":["../../../../src/handlers/function/readonly/handleGetFunction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,8CA6CC;AA/DD,2DAAsD;AACtD,uCAAyB;AAEzB,8CAAyD;AAE5C,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,wDAAwD;IACrE,WAAW,EAAE;QACX,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QACjE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACjE,OAAO,EAAE,CAAC;aACP,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;aAC5B,OAAO,CAAC,QAAQ,CAAC;aACjB,QAAQ,CAAC,iBAAiB,CAAC;KAC/B;CACO,CAAC;AAEJ,KAAK,UAAU,iBAAiB,CAAC,OAAuB,EAAE,IAAS;IACxE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACvC,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC;YACzB,MAAM,IAAI,gBAAQ,CAAC,iBAAS,CAAC,aAAa,EAAE,2BAA2B,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;YAC1B,MAAM,IAAI,gBAAQ,CAAC,iBAAS,CAAC,aAAa,EAAE,4BAA4B,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QACpE,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;QAEpE,MAAM,EAAE,IAAI,CACV,2BAA2B,kBAAkB,OAAO,iBAAiB,cAAc,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE,CAC9G,CAAC;QAEF,gBAAgB;QAChB,MAAM,MAAM,GAAG,IAAI,uBAAS,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,MAAM;aACxB,iBAAiB,EAAE;aACnB,IAAI,CACH,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,EACzC,IAAI,CAAC,OAAO,IAAI,QAAQ,CACzB,CAAC;QACJ,MAAM,EAAE,KAAK,CAAC,qCAAqC,kBAAkB,EAAE,CAAC,CAAC;QACzE,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;SAC1C,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,KAAK,CACX,kCAAkC,IAAI,EAAE,aAAa,IAAI,EAAE,EAAE,EAC7D,KAAY,CACb,CAAC;QACF,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC7D;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -15,16 +15,21 @@ export declare const TOOL_DEFINITION: {
|
|
|
15
15
|
readonly type: "string";
|
|
16
16
|
readonly description: "FunctionModule name (e.g., Z_MY_FUNCTIONMODULE).";
|
|
17
17
|
};
|
|
18
|
+
readonly function_group_name: {
|
|
19
|
+
readonly type: "string";
|
|
20
|
+
readonly description: "FunctionGroup name containing the function module (e.g., Z_MY_FUNCTIONGROUP).";
|
|
21
|
+
};
|
|
18
22
|
readonly transport_request: {
|
|
19
23
|
readonly type: "string";
|
|
20
24
|
readonly description: "Transport request number (e.g., E19K905635). Required for transportable objects. Optional for local objects ($TMP).";
|
|
21
25
|
};
|
|
22
26
|
};
|
|
23
|
-
readonly required: readonly ["function_module_name"];
|
|
27
|
+
readonly required: readonly ["function_module_name", "function_group_name"];
|
|
24
28
|
};
|
|
25
29
|
};
|
|
26
30
|
interface DeleteFunctionModuleArgs {
|
|
27
31
|
function_module_name: string;
|
|
32
|
+
function_group_name: string;
|
|
28
33
|
transport_request?: string;
|
|
29
34
|
}
|
|
30
35
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleDeleteFunctionModule.d.ts","sourceRoot":"","sources":["../../../../src/handlers/function_module/high/handleDeleteFunctionModule.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAOvE,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"handleDeleteFunctionModule.d.ts","sourceRoot":"","sources":["../../../../src/handlers/function_module/high/handleDeleteFunctionModule.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAOvE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;CAwBlB,CAAC;AAEX,UAAU,wBAAwB;IAChC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,wBAAwB;;;;;;GA+F/B"}
|
|
@@ -20,12 +20,16 @@ exports.TOOL_DEFINITION = {
|
|
|
20
20
|
type: 'string',
|
|
21
21
|
description: 'FunctionModule name (e.g., Z_MY_FUNCTIONMODULE).',
|
|
22
22
|
},
|
|
23
|
+
function_group_name: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
description: 'FunctionGroup name containing the function module (e.g., Z_MY_FUNCTIONGROUP).',
|
|
26
|
+
},
|
|
23
27
|
transport_request: {
|
|
24
28
|
type: 'string',
|
|
25
29
|
description: 'Transport request number (e.g., E19K905635). Required for transportable objects. Optional for local objects ($TMP).',
|
|
26
30
|
},
|
|
27
31
|
},
|
|
28
|
-
required: ['function_module_name'],
|
|
32
|
+
required: ['function_module_name', 'function_group_name'],
|
|
29
33
|
},
|
|
30
34
|
};
|
|
31
35
|
/**
|
|
@@ -36,19 +40,21 @@ exports.TOOL_DEFINITION = {
|
|
|
36
40
|
async function handleDeleteFunctionModule(context, args) {
|
|
37
41
|
const { connection, logger } = context;
|
|
38
42
|
try {
|
|
39
|
-
const { function_module_name, transport_request } = args;
|
|
43
|
+
const { function_module_name, function_group_name, transport_request } = args;
|
|
40
44
|
// Validation
|
|
41
|
-
if (!function_module_name) {
|
|
42
|
-
return (0, utils_1.return_error)(new Error('function_module_name
|
|
45
|
+
if (!function_module_name || !function_group_name) {
|
|
46
|
+
return (0, utils_1.return_error)(new Error('function_module_name and function_group_name are required'));
|
|
43
47
|
}
|
|
44
48
|
const client = new adt_clients_1.AdtClient(connection, logger);
|
|
45
49
|
const functionModuleName = function_module_name.toUpperCase();
|
|
46
|
-
|
|
50
|
+
const functionGroupName = function_group_name.toUpperCase();
|
|
51
|
+
logger?.info(`Starting function module deletion: ${functionModuleName} in ${functionGroupName}`);
|
|
47
52
|
try {
|
|
48
53
|
// Delete function module using AdtClient (includes deletion check)
|
|
49
54
|
const functionModuleObject = client.getFunctionModule();
|
|
50
55
|
const deleteResult = await functionModuleObject.delete({
|
|
51
56
|
functionModuleName,
|
|
57
|
+
functionGroupName,
|
|
52
58
|
transportRequest: transport_request,
|
|
53
59
|
});
|
|
54
60
|
if (!deleteResult || !deleteResult.deleteResult) {
|
|
@@ -59,6 +65,7 @@ async function handleDeleteFunctionModule(context, args) {
|
|
|
59
65
|
data: JSON.stringify({
|
|
60
66
|
success: true,
|
|
61
67
|
function_module_name: functionModuleName,
|
|
68
|
+
function_group_name: functionGroupName,
|
|
62
69
|
transport_request: transport_request || null,
|
|
63
70
|
message: `FunctionModule ${functionModuleName} deleted successfully.`,
|
|
64
71
|
}, null, 2),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleDeleteFunctionModule.js","sourceRoot":"","sources":["../../../../src/handlers/function_module/high/handleDeleteFunctionModule.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;
|
|
1
|
+
{"version":3,"file":"handleDeleteFunctionModule.js","sourceRoot":"","sources":["../../../../src/handlers/function_module/high/handleDeleteFunctionModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,10 @@ export declare const TOOL_DEFINITION: {
|
|
|
15
15
|
readonly type: "string";
|
|
16
16
|
readonly description: "FunctionModule name (e.g., Z_MY_FUNCTIONMODULE).";
|
|
17
17
|
};
|
|
18
|
+
readonly function_group_name: {
|
|
19
|
+
readonly type: "string";
|
|
20
|
+
readonly description: "FunctionGroup name containing the function module (e.g., Z_MY_FUNCTIONGROUP).";
|
|
21
|
+
};
|
|
18
22
|
readonly version: {
|
|
19
23
|
readonly type: "string";
|
|
20
24
|
readonly enum: readonly ["active", "inactive"];
|
|
@@ -22,11 +26,12 @@ export declare const TOOL_DEFINITION: {
|
|
|
22
26
|
readonly default: "active";
|
|
23
27
|
};
|
|
24
28
|
};
|
|
25
|
-
readonly required: readonly ["function_module_name"];
|
|
29
|
+
readonly required: readonly ["function_module_name", "function_group_name"];
|
|
26
30
|
};
|
|
27
31
|
};
|
|
28
32
|
interface GetFunctionModuleArgs {
|
|
29
33
|
function_module_name: string;
|
|
34
|
+
function_group_name: string;
|
|
30
35
|
version?: 'active' | 'inactive';
|
|
31
36
|
}
|
|
32
37
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleGetFunctionModule.d.ts","sourceRoot":"","sources":["../../../../src/handlers/function_module/high/handleGetFunctionModule.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAOvE,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"handleGetFunctionModule.d.ts","sourceRoot":"","sources":["../../../../src/handlers/function_module/high/handleGetFunctionModule.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAOvE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;CA0BlB,CAAC;AAEX,UAAU,qBAAqB;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,qBAAqB;;;;;;GAiF5B"}
|
|
@@ -20,6 +20,10 @@ exports.TOOL_DEFINITION = {
|
|
|
20
20
|
type: 'string',
|
|
21
21
|
description: 'FunctionModule name (e.g., Z_MY_FUNCTIONMODULE).',
|
|
22
22
|
},
|
|
23
|
+
function_group_name: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
description: 'FunctionGroup name containing the function module (e.g., Z_MY_FUNCTIONGROUP).',
|
|
26
|
+
},
|
|
23
27
|
version: {
|
|
24
28
|
type: 'string',
|
|
25
29
|
enum: ['active', 'inactive'],
|
|
@@ -27,7 +31,7 @@ exports.TOOL_DEFINITION = {
|
|
|
27
31
|
default: 'active',
|
|
28
32
|
},
|
|
29
33
|
},
|
|
30
|
-
required: ['function_module_name'],
|
|
34
|
+
required: ['function_module_name', 'function_group_name'],
|
|
31
35
|
},
|
|
32
36
|
};
|
|
33
37
|
/**
|
|
@@ -38,18 +42,19 @@ exports.TOOL_DEFINITION = {
|
|
|
38
42
|
async function handleGetFunctionModule(context, args) {
|
|
39
43
|
const { connection, logger } = context;
|
|
40
44
|
try {
|
|
41
|
-
const { function_module_name, version = 'active' } = args;
|
|
45
|
+
const { function_module_name, function_group_name, version = 'active', } = args;
|
|
42
46
|
// Validation
|
|
43
|
-
if (!function_module_name) {
|
|
44
|
-
return (0, utils_1.return_error)(new Error('function_module_name
|
|
47
|
+
if (!function_module_name || !function_group_name) {
|
|
48
|
+
return (0, utils_1.return_error)(new Error('function_module_name and function_group_name are required'));
|
|
45
49
|
}
|
|
46
50
|
const client = new adt_clients_1.AdtClient(connection, logger);
|
|
47
51
|
const functionModuleName = function_module_name.toUpperCase();
|
|
48
|
-
|
|
52
|
+
const functionGroupName = function_group_name.toUpperCase();
|
|
53
|
+
logger?.info(`Reading function module ${functionModuleName} in ${functionGroupName}, version: ${version}`);
|
|
49
54
|
try {
|
|
50
55
|
// Read function module using AdtClient
|
|
51
56
|
const functionModuleObject = client.getFunctionModule();
|
|
52
|
-
const readResult = await functionModuleObject.read({ functionModuleName }, version);
|
|
57
|
+
const readResult = await functionModuleObject.read({ functionModuleName, functionGroupName }, version);
|
|
53
58
|
if (!readResult || !readResult.readResult) {
|
|
54
59
|
throw new Error(`FunctionModule ${functionModuleName} not found`);
|
|
55
60
|
}
|
|
@@ -62,6 +67,7 @@ async function handleGetFunctionModule(context, args) {
|
|
|
62
67
|
data: JSON.stringify({
|
|
63
68
|
success: true,
|
|
64
69
|
function_module_name: functionModuleName,
|
|
70
|
+
function_group_name: functionGroupName,
|
|
65
71
|
version,
|
|
66
72
|
function_module_data: functionModuleData,
|
|
67
73
|
status: readResult.readResult.status,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleGetFunctionModule.js","sourceRoot":"","sources":["../../../../src/handlers/function_module/high/handleGetFunctionModule.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;
|
|
1
|
+
{"version":3,"file":"handleGetFunctionModule.js","sourceRoot":"","sources":["../../../../src/handlers/function_module/high/handleGetFunctionModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArgumentsParser.d.ts","sourceRoot":"","sources":["../../../src/lib/config/ArgumentsParser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"ArgumentsParser.d.ts","sourceRoot":"","sources":["../../../src/lib/config/ArgumentsParser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,eAAe;IAC9B,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,2CAA2C;IAC3C,aAAa,EAAE,OAAO,CAAC;IACvB,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,2BAA2B;IAC3B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,yBAAyB;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,iCAAiC;IACjC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,wBAAwB;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,gCAAgC;IAChC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,qBAAa,eAAe;IAC1B;;OAEG;IACH,MAAM,CAAC,KAAK,IAAI,eAAe;IA2K/B;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAapD;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAGtC"}
|