@mcp-abap-adt/core 2.2.5 → 2.2.7
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 +27 -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 +815 -526
- 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.7] - 2026-02-12
|
|
6
|
+
### Fixed
|
|
7
|
+
- **CI (Biome)**: Applied formatting fixes required by `npx biome check src --diagnostic-level=error`.
|
|
8
|
+
- `src/handlers/function_module/high/handleGetFunctionModule.ts`
|
|
9
|
+
- `src/lib/config/envResolver.ts`
|
|
10
|
+
|
|
11
|
+
## [2.2.6] - 2026-02-12
|
|
12
|
+
### Changed
|
|
13
|
+
- **Function Module handlers**: Fixed parameter propagation for function module operations:
|
|
14
|
+
- `GetFunctionModule` and `DeleteFunctionModule` now require and pass `function_group_name`.
|
|
15
|
+
- `GetFunction` (read-only) now requires and passes `function_group`.
|
|
16
|
+
- `UpdateFunctionModule` (high/low) now forwards `transport_request` to ADT update calls.
|
|
17
|
+
- **CLI env resolution**: Updated env argument behavior:
|
|
18
|
+
- `--env=<name>` now resolves to platform sessions path: `{sessions}/<name>.env`.
|
|
19
|
+
- Added `--env-path=<path|file>` for explicit `.env` file usage.
|
|
20
|
+
- `MCP_ENV_PATH` now maps to explicit env file path behavior (same as `--env-path`).
|
|
21
|
+
- **Errors**: Improved function module update error messages for transport-related `400` responses and XML SAP errors.
|
|
22
|
+
|
|
5
23
|
## [2.2.5] - 2026-02-11
|
|
6
24
|
### Changed
|
|
7
25
|
- **Tools docs generator**: Reworked `tools/generate-tools-docs.js` to scan only handler code in `src/handlers/**`.
|
package/README.md
CHANGED
|
@@ -45,18 +45,22 @@ Full configurator usage (separate repo): [CLIENT_INSTALLERS.md](https://github.c
|
|
|
45
45
|
|
|
46
46
|
## Terminology
|
|
47
47
|
|
|
48
|
-
**Destination**: a local service key filename. You store service keys in the service-keys directory, and pass the filename (without extension) via `--mcp=<destination>` to select which system to use.
|
|
48
|
+
**Destination**: a local service key filename. You store service keys in the standard `service-keys` directory, and pass the filename (without extension) via `--mcp=<destination>` to select which system to use.
|
|
49
49
|
|
|
50
50
|
See [docs/user-guide/TERMINOLOGY.md](docs/user-guide/TERMINOLOGY.md) for the full list.
|
|
51
51
|
|
|
52
52
|
## Authorization & Destinations
|
|
53
53
|
|
|
54
|
-
Destination-based auth is the default. Drop service keys into the
|
|
54
|
+
Destination-based auth is the default. Drop service keys into the standard platform folder and use the filename as your destination:
|
|
55
55
|
|
|
56
56
|
```bash
|
|
57
57
|
mcp-abap-adt --transport=stdio --mcp=TRIAL
|
|
58
58
|
```
|
|
59
59
|
|
|
60
|
+
Standard service key paths:
|
|
61
|
+
- Unix (Linux/macOS): `~/.config/mcp-abap-adt/service-keys/<destination>.json`
|
|
62
|
+
- Windows: `%USERPROFILE%\\Documents\\mcp-abap-adt\\service-keys\\<destination>.json`
|
|
63
|
+
|
|
60
64
|
For full details (paths, `.env`, direct headers), see [Authentication & Destinations](docs/user-guide/AUTHENTICATION.md).
|
|
61
65
|
|
|
62
66
|
## Architecture
|
|
@@ -89,7 +93,10 @@ await server.connect(transport);
|
|
|
89
93
|
1. **Install server**: See [Installation Guide](docs/installation/INSTALLATION.md)
|
|
90
94
|
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
95
|
3. **Configure client (manual)**: See [Client Configuration](docs/user-guide/CLIENT_CONFIGURATION.md)
|
|
92
|
-
4. **Use**:
|
|
96
|
+
4. **Use**:
|
|
97
|
+
- [Read-Only Tools](docs/user-guide/AVAILABLE_TOOLS_READONLY.md)
|
|
98
|
+
- [High-Level Tools](docs/user-guide/AVAILABLE_TOOLS_HIGH.md)
|
|
99
|
+
- [Low-Level Tools](docs/user-guide/AVAILABLE_TOOLS_LOW.md)
|
|
93
100
|
|
|
94
101
|
## Registries
|
|
95
102
|
|
|
@@ -132,7 +139,10 @@ Published in the official MCP Registry and listed on Glama.ai.
|
|
|
132
139
|
- **[Authentication & Destinations](docs/user-guide/AUTHENTICATION.md)** - Destination-based auth and service keys
|
|
133
140
|
- **[Handlers Management](docs/user-guide/HANDLERS_MANAGEMENT.md)** - Enable/disable handler groups
|
|
134
141
|
- **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
|
-
- **
|
|
142
|
+
- **Tools by level**
|
|
143
|
+
- [Read-Only Tools](docs/user-guide/AVAILABLE_TOOLS_READONLY.md)
|
|
144
|
+
- [High-Level Tools](docs/user-guide/AVAILABLE_TOOLS_HIGH.md)
|
|
145
|
+
- [Low-Level Tools](docs/user-guide/AVAILABLE_TOOLS_LOW.md)
|
|
136
146
|
|
|
137
147
|
### For Administrators
|
|
138
148
|
- **[Deployment Docs](docs/deployment/README.md)** - MCP Registry, Docker, release notes
|
|
@@ -176,8 +186,11 @@ mcp-abap-adt --transport=stdio
|
|
|
176
186
|
# Use stdio mode with auth-broker (--mcp parameter)
|
|
177
187
|
mcp-abap-adt --transport=stdio --mcp=TRIAL
|
|
178
188
|
|
|
179
|
-
# Use
|
|
180
|
-
mcp-abap-adt --env
|
|
189
|
+
# Use env destination from platform sessions store
|
|
190
|
+
mcp-abap-adt --env=trial
|
|
191
|
+
|
|
192
|
+
# Use explicit .env file path
|
|
193
|
+
mcp-abap-adt --env-path=/path/to/my.env
|
|
181
194
|
|
|
182
195
|
# SSE mode (requires .env file or --mcp parameter)
|
|
183
196
|
mcp-abap-adt --transport=sse --sse-port=3001
|
|
@@ -204,10 +217,14 @@ npm run start:legacy
|
|
|
204
217
|
|
|
205
218
|
### Environment Configuration
|
|
206
219
|
|
|
207
|
-
|
|
208
|
-
1.
|
|
209
|
-
|
|
210
|
-
|
|
220
|
+
Env resolution:
|
|
221
|
+
1. `--env-path=<path|file>` (or `MCP_ENV_PATH`) for explicit `.env` file.
|
|
222
|
+
- Absolute path: used as-is.
|
|
223
|
+
- Relative path or file name only (e.g. `my.env`): resolved from current working directory.
|
|
224
|
+
2. `--env=<destination>` for destination file in standard sessions store:
|
|
225
|
+
- Unix: `~/.config/mcp-abap-adt/sessions/<destination>.env`
|
|
226
|
+
- Windows: `%USERPROFILE%\\Documents\\mcp-abap-adt\\sessions\\<destination>.env`
|
|
227
|
+
3. Fallback to `.env` in current working directory.
|
|
211
228
|
|
|
212
229
|
**Example .env file:**
|
|
213
230
|
```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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"}
|