@mcp-abap-adt/core 2.5.1 → 2.5.2
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 +22 -0
- package/README.md +3 -0
- package/dist/handlers/bdef/handleCreateBehaviorDefinition.d.ts +50 -0
- package/dist/handlers/bdef/handleCreateBehaviorDefinition.d.ts.map +1 -0
- package/dist/handlers/bdef/handleCreateBehaviorDefinition.js +101 -0
- package/dist/handlers/bdef/handleGetBdef.d.ts +54 -0
- package/dist/handlers/bdef/handleGetBdef.d.ts.map +1 -0
- package/dist/handlers/bdef/handleGetBdef.js +89 -0
- package/dist/handlers/bdef/handleUpdateBehaviorDefinition.d.ts +37 -0
- package/dist/handlers/bdef/handleUpdateBehaviorDefinition.d.ts.map +1 -0
- package/dist/handlers/bdef/handleUpdateBehaviorDefinition.js +85 -0
- package/dist/handlers/behavior_definition/readonly/handleGetBdef.d.ts +54 -0
- package/dist/handlers/behavior_definition/readonly/handleGetBdef.d.ts.map +1 -0
- package/dist/handlers/behavior_definition/readonly/handleGetBdef.js +89 -0
- package/dist/handlers/class/handleCheckClass.d.ts +59 -0
- package/dist/handlers/class/handleCheckClass.d.ts.map +1 -0
- package/dist/handlers/class/handleCheckClass.js +138 -0
- package/dist/handlers/class/handleCreateClass.d.ts +80 -0
- package/dist/handlers/class/handleCreateClass.d.ts.map +1 -0
- package/dist/handlers/class/handleCreateClass.js +192 -0
- package/dist/handlers/class/handleGetClass.d.ts +16 -0
- package/dist/handlers/class/handleGetClass.d.ts.map +1 -0
- package/dist/handlers/class/handleGetClass.js +159 -0
- package/dist/handlers/class/handleUpdateClassSource.d.ts +44 -0
- package/dist/handlers/class/handleUpdateClassSource.d.ts.map +1 -0
- package/dist/handlers/class/handleUpdateClassSource.js +131 -0
- package/dist/handlers/class/handleValidateClass.d.ts +62 -0
- package/dist/handlers/class/handleValidateClass.d.ts.map +1 -0
- package/dist/handlers/class/handleValidateClass.js +136 -0
- package/dist/handlers/class/readonly/handleGetClass.d.ts +20 -0
- package/dist/handlers/class/readonly/handleGetClass.d.ts.map +1 -0
- package/dist/handlers/class/readonly/handleGetClass.js +159 -0
- package/dist/handlers/common/handleActivateObject.d.ts +62 -0
- package/dist/handlers/common/handleActivateObject.d.ts.map +1 -0
- package/dist/handlers/common/handleActivateObject.js +137 -0
- package/dist/handlers/common/handleCheckObject.d.ts +63 -0
- package/dist/handlers/common/handleCheckObject.d.ts.map +1 -0
- package/dist/handlers/common/handleCheckObject.js +197 -0
- package/dist/handlers/common/handleDeleteObject.d.ts +46 -0
- package/dist/handlers/common/handleDeleteObject.d.ts.map +1 -0
- package/dist/handlers/common/handleDeleteObject.js +176 -0
- package/dist/handlers/common/handleLockObject.d.ts +57 -0
- package/dist/handlers/common/handleLockObject.d.ts.map +1 -0
- package/dist/handlers/common/handleLockObject.js +195 -0
- package/dist/handlers/common/handleUnlockObject.d.ts +61 -0
- package/dist/handlers/common/handleUnlockObject.d.ts.map +1 -0
- package/dist/handlers/common/handleUnlockObject.js +178 -0
- package/dist/handlers/common/handleValidateObject.d.ts +58 -0
- package/dist/handlers/common/handleValidateObject.d.ts.map +1 -0
- package/dist/handlers/common/handleValidateObject.js +177 -0
- package/dist/handlers/data_element/handleCreateDataElement.d.ts +83 -0
- package/dist/handlers/data_element/handleCreateDataElement.d.ts.map +1 -0
- package/dist/handlers/data_element/handleCreateDataElement.js +180 -0
- package/dist/handlers/data_element/handleGetDataElement.d.ts +29 -0
- package/dist/handlers/data_element/handleGetDataElement.d.ts.map +1 -0
- package/dist/handlers/data_element/handleGetDataElement.js +173 -0
- package/dist/handlers/data_element/handleUpdateDataElement.d.ts +131 -0
- package/dist/handlers/data_element/handleUpdateDataElement.d.ts.map +1 -0
- package/dist/handlers/data_element/handleUpdateDataElement.js +258 -0
- package/dist/handlers/data_element/readonly/handleGetDataElement.d.ts +33 -0
- package/dist/handlers/data_element/readonly/handleGetDataElement.d.ts.map +1 -0
- package/dist/handlers/data_element/readonly/handleGetDataElement.js +173 -0
- package/dist/handlers/ddlx/handleCreateMetadataExtension.d.ts +41 -0
- package/dist/handlers/ddlx/handleCreateMetadataExtension.d.ts.map +1 -0
- package/dist/handlers/ddlx/handleCreateMetadataExtension.js +92 -0
- package/dist/handlers/ddlx/handleUpdateMetadataExtension.d.ts +37 -0
- package/dist/handlers/ddlx/handleUpdateMetadataExtension.d.ts.map +1 -0
- package/dist/handlers/ddlx/handleUpdateMetadataExtension.js +81 -0
- package/dist/handlers/domain/handleCreateDomain.d.ts +104 -0
- package/dist/handlers/domain/handleCreateDomain.d.ts.map +1 -0
- package/dist/handlers/domain/handleCreateDomain.js +187 -0
- package/dist/handlers/domain/handleGetDomain.d.ts +19 -0
- package/dist/handlers/domain/handleGetDomain.d.ts.map +1 -0
- package/dist/handlers/domain/handleGetDomain.js +138 -0
- package/dist/handlers/domain/handleUpdateDomain.d.ts +99 -0
- package/dist/handlers/domain/handleUpdateDomain.d.ts.map +1 -0
- package/dist/handlers/domain/handleUpdateDomain.js +204 -0
- package/dist/handlers/domain/readonly/handleGetDomain.d.ts +23 -0
- package/dist/handlers/domain/readonly/handleGetDomain.d.ts.map +1 -0
- package/dist/handlers/domain/readonly/handleGetDomain.js +138 -0
- package/dist/handlers/enhancement/handleGetEnhancementImpl.d.ts +69 -0
- package/dist/handlers/enhancement/handleGetEnhancementImpl.d.ts.map +1 -0
- package/dist/handlers/enhancement/handleGetEnhancementImpl.js +171 -0
- package/dist/handlers/enhancement/handleGetEnhancementSpot.d.ts +53 -0
- package/dist/handlers/enhancement/handleGetEnhancementSpot.d.ts.map +1 -0
- package/dist/handlers/enhancement/handleGetEnhancementSpot.js +153 -0
- package/dist/handlers/enhancement/handleGetEnhancements.d.ts +64 -0
- package/dist/handlers/enhancement/handleGetEnhancements.d.ts.map +1 -0
- package/dist/handlers/enhancement/handleGetEnhancements.js +599 -0
- package/dist/handlers/function/handleCheckFunctionModule.d.ts +59 -0
- package/dist/handlers/function/handleCheckFunctionModule.d.ts.map +1 -0
- package/dist/handlers/function/handleCheckFunctionModule.js +140 -0
- package/dist/handlers/function/handleCreateFunctionGroup.d.ts +52 -0
- package/dist/handlers/function/handleCreateFunctionGroup.d.ts.map +1 -0
- package/dist/handlers/function/handleCreateFunctionGroup.js +114 -0
- package/dist/handlers/function/handleCreateFunctionModule.d.ts +57 -0
- package/dist/handlers/function/handleCreateFunctionModule.d.ts.map +1 -0
- package/dist/handlers/function/handleCreateFunctionModule.js +137 -0
- package/dist/handlers/function/handleGetFunction.d.ts +17 -0
- package/dist/handlers/function/handleGetFunction.d.ts.map +1 -0
- package/dist/handlers/function/handleGetFunction.js +172 -0
- package/dist/handlers/function/handleGetFunctionGroup.d.ts +16 -0
- package/dist/handlers/function/handleGetFunctionGroup.d.ts.map +1 -0
- package/dist/handlers/function/handleGetFunctionGroup.js +132 -0
- package/dist/handlers/function/handleUpdateFunctionModuleSource.d.ts +54 -0
- package/dist/handlers/function/handleUpdateFunctionModuleSource.d.ts.map +1 -0
- package/dist/handlers/function/handleUpdateFunctionModuleSource.js +108 -0
- package/dist/handlers/function/handleValidateFunctionModule.d.ts +58 -0
- package/dist/handlers/function/handleValidateFunctionModule.d.ts.map +1 -0
- package/dist/handlers/function/handleValidateFunctionModule.js +132 -0
- package/dist/handlers/function/readonly/handleGetFunctionGroup.d.ts +16 -0
- package/dist/handlers/function/readonly/handleGetFunctionGroup.d.ts.map +1 -0
- package/dist/handlers/function/readonly/handleGetFunctionGroup.js +132 -0
- package/dist/handlers/include/handleGetInclude.d.ts +16 -0
- package/dist/handlers/include/handleGetInclude.d.ts.map +1 -0
- package/dist/handlers/include/handleGetInclude.js +81 -0
- package/dist/handlers/include/handleGetIncludesList.d.ts +36 -0
- package/dist/handlers/include/handleGetIncludesList.d.ts.map +1 -0
- package/dist/handlers/include/handleGetIncludesList.js +223 -0
- package/dist/handlers/interface/handleCreateInterface.d.ts +64 -0
- package/dist/handlers/interface/handleCreateInterface.d.ts.map +1 -0
- package/dist/handlers/interface/handleCreateInterface.js +175 -0
- package/dist/handlers/interface/handleGetInterface.d.ts +40 -0
- package/dist/handlers/interface/handleGetInterface.d.ts.map +1 -0
- package/dist/handlers/interface/handleGetInterface.js +134 -0
- package/dist/handlers/interface/handleUpdateInterfaceSource.d.ts +48 -0
- package/dist/handlers/interface/handleUpdateInterfaceSource.d.ts.map +1 -0
- package/dist/handlers/interface/handleUpdateInterfaceSource.js +127 -0
- package/dist/handlers/interface/readonly/handleGetInterface.d.ts +44 -0
- package/dist/handlers/interface/readonly/handleGetInterface.d.ts.map +1 -0
- package/dist/handlers/interface/readonly/handleGetInterface.js +134 -0
- package/dist/handlers/package/handleCreatePackage.d.ts +38 -0
- package/dist/handlers/package/handleCreatePackage.d.ts.map +1 -0
- package/dist/handlers/package/handleCreatePackage.js +127 -0
- package/dist/handlers/package/handleGetPackage.d.ts +16 -0
- package/dist/handlers/package/handleGetPackage.d.ts.map +1 -0
- package/dist/handlers/package/handleGetPackage.js +94 -0
- package/dist/handlers/package/readonly/handleGetPackage.d.ts +21 -0
- package/dist/handlers/package/readonly/handleGetPackage.d.ts.map +1 -0
- package/dist/handlers/package/readonly/handleGetPackage.js +94 -0
- package/dist/handlers/program/handleCreateProgram.d.ts +73 -0
- package/dist/handlers/program/handleCreateProgram.d.ts.map +1 -0
- package/dist/handlers/program/handleCreateProgram.js +220 -0
- package/dist/handlers/program/handleGetProgFullCode.d.ts +67 -0
- package/dist/handlers/program/handleGetProgFullCode.d.ts.map +1 -0
- package/dist/handlers/program/handleGetProgFullCode.js +249 -0
- package/dist/handlers/program/handleGetProgram.d.ts +16 -0
- package/dist/handlers/program/handleGetProgram.d.ts.map +1 -0
- package/dist/handlers/program/handleGetProgram.js +71 -0
- package/dist/handlers/program/handleUpdateProgramSource.d.ts +44 -0
- package/dist/handlers/program/handleUpdateProgramSource.d.ts.map +1 -0
- package/dist/handlers/program/handleUpdateProgramSource.js +121 -0
- package/dist/handlers/program/readonly/handleGetProgram.d.ts +20 -0
- package/dist/handlers/program/readonly/handleGetProgram.d.ts.map +1 -0
- package/dist/handlers/program/readonly/handleGetProgram.js +71 -0
- package/dist/handlers/search/handleGetObjectsByType.d.ts +42 -0
- package/dist/handlers/search/handleGetObjectsByType.d.ts.map +1 -0
- package/dist/handlers/search/handleGetObjectsByType.js +166 -0
- package/dist/handlers/search/handleGetObjectsList.d.ts +46 -0
- package/dist/handlers/search/handleGetObjectsList.d.ts.map +1 -0
- package/dist/handlers/search/handleGetObjectsList.js +145 -0
- package/dist/handlers/search/handleSearchObject.d.ts +28 -0
- package/dist/handlers/search/handleSearchObject.d.ts.map +1 -0
- package/dist/handlers/search/handleSearchObject.js +119 -0
- package/dist/handlers/service_definition/readonly/handleGetServiceDefinition.d.ts +17 -0
- package/dist/handlers/service_definition/readonly/handleGetServiceDefinition.d.ts.map +1 -0
- package/dist/handlers/service_definition/readonly/handleGetServiceDefinition.js +136 -0
- package/dist/handlers/structure/handleCreateStructure.d.ts +107 -0
- package/dist/handlers/structure/handleCreateStructure.d.ts.map +1 -0
- package/dist/handlers/structure/handleCreateStructure.js +184 -0
- package/dist/handlers/structure/handleGetStructure.d.ts +16 -0
- package/dist/handlers/structure/handleGetStructure.d.ts.map +1 -0
- package/dist/handlers/structure/handleGetStructure.js +139 -0
- package/dist/handlers/structure/readonly/handleGetStructure.d.ts +16 -0
- package/dist/handlers/structure/readonly/handleGetStructure.d.ts.map +1 -0
- package/dist/handlers/structure/readonly/handleGetStructure.js +139 -0
- package/dist/handlers/system/handleDescribeByList.d.ts +36 -0
- package/dist/handlers/system/handleDescribeByList.d.ts.map +1 -0
- package/dist/handlers/system/handleDescribeByList.js +121 -0
- package/dist/handlers/system/handleGetAbapAST.d.ts +26 -0
- package/dist/handlers/system/handleGetAbapAST.d.ts.map +1 -0
- package/dist/handlers/system/handleGetAbapAST.js +172 -0
- package/dist/handlers/system/handleGetAbapSemanticAnalysis.d.ts +26 -0
- package/dist/handlers/system/handleGetAbapSemanticAnalysis.d.ts.map +1 -0
- package/dist/handlers/system/handleGetAbapSemanticAnalysis.js +353 -0
- package/dist/handlers/system/handleGetAbapSystemSymbols.d.ts +26 -0
- package/dist/handlers/system/handleGetAbapSystemSymbols.d.ts.map +1 -0
- package/dist/handlers/system/handleGetAbapSystemSymbols.js +574 -0
- package/dist/handlers/system/handleGetAllTypes.d.ts +22 -0
- package/dist/handlers/system/handleGetAllTypes.d.ts.map +1 -0
- package/dist/handlers/system/handleGetAllTypes.js +102 -0
- package/dist/handlers/system/handleGetInactiveObjects.d.ts +20 -0
- package/dist/handlers/system/handleGetInactiveObjects.d.ts.map +1 -0
- package/dist/handlers/system/handleGetInactiveObjects.js +41 -0
- package/dist/handlers/system/handleGetObjectInfo.d.ts +41 -0
- package/dist/handlers/system/handleGetObjectInfo.d.ts.map +1 -0
- package/dist/handlers/system/handleGetObjectInfo.js +210 -0
- package/dist/handlers/system/handleGetObjectNodeFromCache.d.ts +40 -0
- package/dist/handlers/system/handleGetObjectNodeFromCache.d.ts.map +1 -0
- package/dist/handlers/system/handleGetObjectNodeFromCache.js +70 -0
- package/dist/handlers/system/handleGetObjectStructure.d.ts +26 -0
- package/dist/handlers/system/handleGetObjectStructure.d.ts.map +1 -0
- package/dist/handlers/system/handleGetObjectStructure.js +103 -0
- package/dist/handlers/system/handleGetSession.d.ts +33 -0
- package/dist/handlers/system/handleGetSession.d.ts.map +1 -0
- package/dist/handlers/system/handleGetSession.js +63 -0
- package/dist/handlers/system/handleGetSqlQuery.d.ts +49 -0
- package/dist/handlers/system/handleGetSqlQuery.d.ts.map +1 -0
- package/dist/handlers/system/handleGetSqlQuery.js +176 -0
- package/dist/handlers/system/handleGetTransaction.d.ts +42 -0
- package/dist/handlers/system/handleGetTransaction.d.ts.map +1 -0
- package/dist/handlers/system/handleGetTransaction.js +91 -0
- package/dist/handlers/system/handleGetTypeInfo.d.ts +69 -0
- package/dist/handlers/system/handleGetTypeInfo.d.ts.map +1 -0
- package/dist/handlers/system/handleGetTypeInfo.js +169 -0
- package/dist/handlers/system/handleGetWhereUsed.d.ts +69 -0
- package/dist/handlers/system/handleGetWhereUsed.d.ts.map +1 -0
- package/dist/handlers/system/handleGetWhereUsed.js +405 -0
- package/dist/handlers/table/handleCheckTable.d.ts +55 -0
- package/dist/handlers/table/handleCheckTable.d.ts.map +1 -0
- package/dist/handlers/table/handleCheckTable.js +138 -0
- package/dist/handlers/table/handleCreateTable.d.ts +42 -0
- package/dist/handlers/table/handleCreateTable.d.ts.map +1 -0
- package/dist/handlers/table/handleCreateTable.js +118 -0
- package/dist/handlers/table/handleGetTable.d.ts +16 -0
- package/dist/handlers/table/handleGetTable.d.ts.map +1 -0
- package/dist/handlers/table/handleGetTable.js +140 -0
- package/dist/handlers/table/handleGetTableContents.d.ts +56 -0
- package/dist/handlers/table/handleGetTableContents.d.ts.map +1 -0
- package/dist/handlers/table/handleGetTableContents.js +387 -0
- package/dist/handlers/table/handleValidateTable.d.ts +53 -0
- package/dist/handlers/table/handleValidateTable.d.ts.map +1 -0
- package/dist/handlers/table/handleValidateTable.js +125 -0
- package/dist/handlers/table/readonly/handleGetTable.d.ts +20 -0
- package/dist/handlers/table/readonly/handleGetTable.d.ts.map +1 -0
- package/dist/handlers/table/readonly/handleGetTable.js +140 -0
- package/dist/handlers/transport/handleCreateTransport.d.ts +50 -0
- package/dist/handlers/transport/handleCreateTransport.d.ts.map +1 -0
- package/dist/handlers/transport/handleCreateTransport.js +151 -0
- package/dist/handlers/transport/handleGetTransport.d.ts +44 -0
- package/dist/handlers/transport/handleGetTransport.d.ts.map +1 -0
- package/dist/handlers/transport/handleGetTransport.js +183 -0
- package/dist/handlers/view/handleCreateView.d.ts +52 -0
- package/dist/handlers/view/handleCreateView.d.ts.map +1 -0
- package/dist/handlers/view/handleCreateView.js +139 -0
- package/dist/handlers/view/handleGetView.d.ts +26 -0
- package/dist/handlers/view/handleGetView.d.ts.map +1 -0
- package/dist/handlers/view/handleGetView.js +349 -0
- package/dist/handlers/view/handleUpdateViewSource.d.ts +44 -0
- package/dist/handlers/view/handleUpdateViewSource.d.ts.map +1 -0
- package/dist/handlers/view/handleUpdateViewSource.js +136 -0
- package/dist/handlers/view/readonly/handleGetView.d.ts +26 -0
- package/dist/handlers/view/readonly/handleGetView.d.ts.map +1 -0
- package/dist/handlers/view/readonly/handleGetView.js +349 -0
- package/dist/index.d.ts +94 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2453 -0
- package/dist/lib/activationUtils.d.ts +59 -0
- package/dist/lib/activationUtils.d.ts.map +1 -0
- package/dist/lib/activationUtils.js +168 -0
- package/dist/lib/config/ArgumentsParser.d.ts +2 -0
- package/dist/lib/config/ArgumentsParser.d.ts.map +1 -1
- package/dist/lib/config/ArgumentsParser.js +11 -1
- package/dist/lib/config/ArgumentsParser.js.map +1 -1
- package/dist/lib/config/IServerConfig.d.ts +2 -0
- package/dist/lib/config/IServerConfig.d.ts.map +1 -1
- package/dist/lib/config/ServerConfigManager.d.ts.map +1 -1
- package/dist/lib/config/ServerConfigManager.js +3 -0
- package/dist/lib/config/ServerConfigManager.js.map +1 -1
- package/dist/lib/getFullCodeCache.d.ts +3 -0
- package/dist/lib/getFullCodeCache.d.ts.map +1 -0
- package/dist/lib/getFullCodeCache.js +56 -0
- package/dist/lib/toolsRegistry.d.ts +13 -0
- package/dist/lib/toolsRegistry.d.ts.map +1 -0
- package/dist/lib/toolsRegistry.js +410 -0
- package/dist/server/AuthBrokerConfig.d.ts.map +1 -1
- package/dist/server/AuthBrokerConfig.js +14 -9
- package/dist/server/AuthBrokerConfig.js.map +1 -1
- package/dist/server/BaseMcpServer.d.ts.map +1 -1
- package/dist/server/BaseMcpServer.js +6 -0
- package/dist/server/BaseMcpServer.js.map +1 -1
- package/dist/server/launcher.js +4 -4
- package/dist/server/launcher.js.map +1 -1
- package/dist/utils/lockStateManager.d.ts +64 -0
- package/dist/utils/lockStateManager.d.ts.map +1 -0
- package/dist/utils/lockStateManager.js +173 -0
- package/dist/utils/lockStateManager.js.map +1 -0
- package/docs/user-guide/AUTHENTICATION.md +7 -0
- package/docs/user-guide/CLI_OPTIONS.md +14 -0
- package/package.json +2 -1
- package/dist/handlers/service_binding/high/handleListServiceBindings.d.ts +0 -44
- package/dist/handlers/service_binding/high/handleListServiceBindings.d.ts.map +0 -1
- package/dist/handlers/service_binding/high/handleListServiceBindings.js +0 -211
- package/dist/handlers/service_binding/high/handleListServiceBindings.js.map +0 -1
- package/dist/handlers/service_binding/high/serviceBindingXmlBuilder.d.ts +0 -11
- package/dist/handlers/service_binding/high/serviceBindingXmlBuilder.d.ts.map +0 -1
- package/dist/handlers/service_binding/high/serviceBindingXmlBuilder.js +0 -27
- package/dist/handlers/service_binding/high/serviceBindingXmlBuilder.js.map +0 -1
- package/dist/handlers/system/readonly/handleRuntimeGetDumpByUri.d.ts +0 -27
- package/dist/handlers/system/readonly/handleRuntimeGetDumpByUri.d.ts.map +0 -1
- package/dist/handlers/system/readonly/handleRuntimeGetDumpByUri.js +0 -47
- package/dist/handlers/system/readonly/handleRuntimeGetDumpByUri.js.map +0 -1
- package/dist/handlers/system/readonly/runtimeDumpReadCompat.d.ts +0 -8
- package/dist/handlers/system/readonly/runtimeDumpReadCompat.d.ts.map +0 -1
- package/dist/handlers/system/readonly/runtimeDumpReadCompat.js +0 -55
- package/dist/handlers/system/readonly/runtimeDumpReadCompat.js.map +0 -1
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* CreateMetadataExtension Handler - ABAP Metadata Extension Creation via ADT API
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.TOOL_DEFINITION = void 0;
|
|
7
|
+
exports.handleCreateMetadataExtension = handleCreateMetadataExtension;
|
|
8
|
+
const utils_1 = require("../../lib/utils");
|
|
9
|
+
const transportValidation_js_1 = require("../../utils/transportValidation.js");
|
|
10
|
+
const adt_clients_1 = require("@mcp-abap-adt/adt-clients");
|
|
11
|
+
exports.TOOL_DEFINITION = {
|
|
12
|
+
name: "CreateMetadataExtension",
|
|
13
|
+
description: "Create a new ABAP Metadata Extension (DDLX) in SAP system.",
|
|
14
|
+
inputSchema: {
|
|
15
|
+
type: "object",
|
|
16
|
+
properties: {
|
|
17
|
+
name: {
|
|
18
|
+
type: "string",
|
|
19
|
+
description: "Metadata Extension name"
|
|
20
|
+
},
|
|
21
|
+
description: {
|
|
22
|
+
type: "string",
|
|
23
|
+
description: "Description"
|
|
24
|
+
},
|
|
25
|
+
package_name: {
|
|
26
|
+
type: "string",
|
|
27
|
+
description: "Package name"
|
|
28
|
+
},
|
|
29
|
+
transport_request: {
|
|
30
|
+
type: "string",
|
|
31
|
+
description: "Transport request number"
|
|
32
|
+
},
|
|
33
|
+
activate: {
|
|
34
|
+
type: "boolean",
|
|
35
|
+
description: "Activate after creation. Default: true"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
required: ["name", "package_name"]
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
async function handleCreateMetadataExtension(params) {
|
|
42
|
+
const args = params;
|
|
43
|
+
if (!args.name || !args.package_name) {
|
|
44
|
+
return (0, utils_1.return_error)(new Error("Missing required parameters"));
|
|
45
|
+
}
|
|
46
|
+
try {
|
|
47
|
+
(0, transportValidation_js_1.validateTransportRequest)(args.package_name, args.transport_request);
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
return (0, utils_1.return_error)(error);
|
|
51
|
+
}
|
|
52
|
+
const name = args.name.toUpperCase();
|
|
53
|
+
const connection = (0, utils_1.getManagedConnection)();
|
|
54
|
+
utils_1.logger.info(`Starting DDLX creation: ${name}`);
|
|
55
|
+
try {
|
|
56
|
+
const client = new adt_clients_1.CrudClient(connection);
|
|
57
|
+
const shouldActivate = args.activate !== false;
|
|
58
|
+
// Create
|
|
59
|
+
await client.createMetadataExtension(name, args.description || name, args.package_name, args.transport_request || '');
|
|
60
|
+
// Lock
|
|
61
|
+
await client.lockMetadataExtension(name);
|
|
62
|
+
const lockHandle = client.getLockHandle();
|
|
63
|
+
// Check
|
|
64
|
+
await client.checkMetadataExtension(name);
|
|
65
|
+
// Unlock
|
|
66
|
+
await client.unlockMetadataExtension(name, lockHandle);
|
|
67
|
+
// Activate if requested
|
|
68
|
+
if (shouldActivate) {
|
|
69
|
+
await client.activateMetadataExtension(name);
|
|
70
|
+
}
|
|
71
|
+
const result = {
|
|
72
|
+
success: true,
|
|
73
|
+
name: name,
|
|
74
|
+
package_name: args.package_name,
|
|
75
|
+
type: 'DDLX',
|
|
76
|
+
message: shouldActivate
|
|
77
|
+
? `Metadata Extension ${name} created and activated successfully`
|
|
78
|
+
: `Metadata Extension ${name} created successfully`
|
|
79
|
+
};
|
|
80
|
+
return (0, utils_1.return_response)({
|
|
81
|
+
data: JSON.stringify(result, null, 2),
|
|
82
|
+
status: 200,
|
|
83
|
+
statusText: 'OK',
|
|
84
|
+
headers: {},
|
|
85
|
+
config: {}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
utils_1.logger.error(`Error creating DDLX ${name}:`, error);
|
|
90
|
+
return (0, utils_1.return_error)(error);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UpdateMetadataExtension Handler - ABAP Metadata Extension Update via ADT API
|
|
3
|
+
*/
|
|
4
|
+
export declare const TOOL_DEFINITION: {
|
|
5
|
+
readonly name: "UpdateMetadataExtension";
|
|
6
|
+
readonly description: "Update source code of an ABAP Metadata Extension.";
|
|
7
|
+
readonly inputSchema: {
|
|
8
|
+
readonly type: "object";
|
|
9
|
+
readonly properties: {
|
|
10
|
+
readonly name: {
|
|
11
|
+
readonly type: "string";
|
|
12
|
+
readonly description: "Metadata Extension name";
|
|
13
|
+
};
|
|
14
|
+
readonly source_code: {
|
|
15
|
+
readonly type: "string";
|
|
16
|
+
readonly description: "New source code";
|
|
17
|
+
};
|
|
18
|
+
readonly lock_handle: {
|
|
19
|
+
readonly type: "string";
|
|
20
|
+
readonly description: "Lock handle from LockObject. If not provided, will attempt to lock internally.";
|
|
21
|
+
};
|
|
22
|
+
readonly activate: {
|
|
23
|
+
readonly type: "boolean";
|
|
24
|
+
readonly description: "Activate after update. Default: true";
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
readonly required: readonly ["name", "source_code"];
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
export declare function handleUpdateMetadataExtension(params: any): Promise<{
|
|
31
|
+
isError: boolean;
|
|
32
|
+
content: {
|
|
33
|
+
type: string;
|
|
34
|
+
text: any;
|
|
35
|
+
}[];
|
|
36
|
+
}>;
|
|
37
|
+
//# sourceMappingURL=handleUpdateMetadataExtension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleUpdateMetadataExtension.d.ts","sourceRoot":"","sources":["../../../src/handlers/ddlx/handleUpdateMetadataExtension.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;CAyBlB,CAAC;AASX,wBAAsB,6BAA6B,CAAC,MAAM,EAAE,GAAG;;;;;;GAsD9D"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* UpdateMetadataExtension Handler - ABAP Metadata Extension Update via ADT API
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.TOOL_DEFINITION = void 0;
|
|
7
|
+
exports.handleUpdateMetadataExtension = handleUpdateMetadataExtension;
|
|
8
|
+
const utils_1 = require("../../lib/utils");
|
|
9
|
+
const adt_clients_1 = require("@mcp-abap-adt/adt-clients");
|
|
10
|
+
exports.TOOL_DEFINITION = {
|
|
11
|
+
name: "UpdateMetadataExtension",
|
|
12
|
+
description: "Update source code of an ABAP Metadata Extension.",
|
|
13
|
+
inputSchema: {
|
|
14
|
+
type: "object",
|
|
15
|
+
properties: {
|
|
16
|
+
name: {
|
|
17
|
+
type: "string",
|
|
18
|
+
description: "Metadata Extension name"
|
|
19
|
+
},
|
|
20
|
+
source_code: {
|
|
21
|
+
type: "string",
|
|
22
|
+
description: "New source code"
|
|
23
|
+
},
|
|
24
|
+
lock_handle: {
|
|
25
|
+
type: "string",
|
|
26
|
+
description: "Lock handle from LockObject. If not provided, will attempt to lock internally."
|
|
27
|
+
},
|
|
28
|
+
activate: {
|
|
29
|
+
type: "boolean",
|
|
30
|
+
description: "Activate after update. Default: true"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
required: ["name", "source_code"]
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
async function handleUpdateMetadataExtension(params) {
|
|
37
|
+
const args = params;
|
|
38
|
+
if (!args.name || !args.source_code) {
|
|
39
|
+
return (0, utils_1.return_error)(new Error("Missing required parameters"));
|
|
40
|
+
}
|
|
41
|
+
const name = args.name.toUpperCase();
|
|
42
|
+
const connection = (0, utils_1.getManagedConnection)();
|
|
43
|
+
try {
|
|
44
|
+
const client = new adt_clients_1.CrudClient(connection);
|
|
45
|
+
const shouldActivate = args.activate !== false;
|
|
46
|
+
let lockHandle = args.lock_handle;
|
|
47
|
+
// Lock if not provided
|
|
48
|
+
if (!lockHandle) {
|
|
49
|
+
await client.lockMetadataExtension(name);
|
|
50
|
+
lockHandle = client.getLockHandle();
|
|
51
|
+
}
|
|
52
|
+
// Update
|
|
53
|
+
await client.updateMetadataExtension(name, args.source_code, lockHandle);
|
|
54
|
+
// Unlock if we locked it internally
|
|
55
|
+
if (!args.lock_handle) {
|
|
56
|
+
await client.unlockMetadataExtension(name, lockHandle);
|
|
57
|
+
}
|
|
58
|
+
// Activate if requested
|
|
59
|
+
if (shouldActivate) {
|
|
60
|
+
await client.activateMetadataExtension(name);
|
|
61
|
+
}
|
|
62
|
+
const result = {
|
|
63
|
+
success: true,
|
|
64
|
+
name: name,
|
|
65
|
+
message: shouldActivate
|
|
66
|
+
? `Metadata Extension ${name} updated and activated successfully`
|
|
67
|
+
: `Metadata Extension ${name} updated successfully`
|
|
68
|
+
};
|
|
69
|
+
return (0, utils_1.return_response)({
|
|
70
|
+
data: JSON.stringify(result, null, 2),
|
|
71
|
+
status: 200,
|
|
72
|
+
statusText: 'OK',
|
|
73
|
+
headers: {},
|
|
74
|
+
config: {}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
utils_1.logger.error(`Error updating DDLX ${name}:`, error);
|
|
79
|
+
return (0, utils_1.return_error)(error);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CreateDomain Handler - ABAP Domain Creation via ADT API
|
|
3
|
+
*
|
|
4
|
+
* Uses DomainBuilder from @mcp-abap-adt/adt-clients for all operations.
|
|
5
|
+
* Session and lock management handled internally by builder.
|
|
6
|
+
*
|
|
7
|
+
* Workflow: create -> check -> unlock -> (activate)
|
|
8
|
+
*/
|
|
9
|
+
export declare const TOOL_DEFINITION: {
|
|
10
|
+
readonly name: "CreateDomain";
|
|
11
|
+
readonly description: "Create a new ABAP domain in SAP system with all required steps: lock, create, check, unlock, activate, and verify.";
|
|
12
|
+
readonly inputSchema: {
|
|
13
|
+
readonly type: "object";
|
|
14
|
+
readonly properties: {
|
|
15
|
+
readonly domain_name: {
|
|
16
|
+
readonly type: "string";
|
|
17
|
+
readonly description: "Domain name (e.g., ZZ_TEST_0001). Must follow SAP naming conventions.";
|
|
18
|
+
};
|
|
19
|
+
readonly description: {
|
|
20
|
+
readonly type: "string";
|
|
21
|
+
readonly description: "(optional) Domain description. If not provided, domain_name will be used.";
|
|
22
|
+
};
|
|
23
|
+
readonly package_name: {
|
|
24
|
+
readonly type: "string";
|
|
25
|
+
readonly description: "(optional) Package name (e.g., ZOK_LOCAL, $TMP for local objects)";
|
|
26
|
+
};
|
|
27
|
+
readonly transport_request: {
|
|
28
|
+
readonly type: "string";
|
|
29
|
+
readonly description: "(optional) Transport request number (e.g., E19K905635). Required for transportable packages.";
|
|
30
|
+
};
|
|
31
|
+
readonly datatype: {
|
|
32
|
+
readonly type: "string";
|
|
33
|
+
readonly description: "(optional) Data type: CHAR, NUMC, DATS, TIMS, DEC, INT1, INT2, INT4, INT8, CURR, QUAN, etc.";
|
|
34
|
+
readonly default: "CHAR";
|
|
35
|
+
};
|
|
36
|
+
readonly length: {
|
|
37
|
+
readonly type: "number";
|
|
38
|
+
readonly description: "(optional) Field length (max depends on datatype)";
|
|
39
|
+
readonly default: 100;
|
|
40
|
+
};
|
|
41
|
+
readonly decimals: {
|
|
42
|
+
readonly type: "number";
|
|
43
|
+
readonly description: "(optional) Decimal places (for DEC, CURR, QUAN types)";
|
|
44
|
+
readonly default: 0;
|
|
45
|
+
};
|
|
46
|
+
readonly conversion_exit: {
|
|
47
|
+
readonly type: "string";
|
|
48
|
+
readonly description: "(optional) Conversion exit routine name (without CONVERSION_EXIT_ prefix)";
|
|
49
|
+
};
|
|
50
|
+
readonly lowercase: {
|
|
51
|
+
readonly type: "boolean";
|
|
52
|
+
readonly description: "(optional) Allow lowercase input";
|
|
53
|
+
readonly default: false;
|
|
54
|
+
};
|
|
55
|
+
readonly sign_exists: {
|
|
56
|
+
readonly type: "boolean";
|
|
57
|
+
readonly description: "(optional) Field has sign (+/-)";
|
|
58
|
+
readonly default: false;
|
|
59
|
+
};
|
|
60
|
+
readonly value_table: {
|
|
61
|
+
readonly type: "string";
|
|
62
|
+
readonly description: "(optional) Value table name for foreign key relationship";
|
|
63
|
+
};
|
|
64
|
+
readonly activate: {
|
|
65
|
+
readonly type: "boolean";
|
|
66
|
+
readonly description: "(optional) Activate domain after creation (default: true)";
|
|
67
|
+
readonly default: true;
|
|
68
|
+
};
|
|
69
|
+
readonly fixed_values: {
|
|
70
|
+
readonly type: "array";
|
|
71
|
+
readonly description: "(optional) Array of fixed values for domain value range";
|
|
72
|
+
readonly items: {
|
|
73
|
+
readonly type: "object";
|
|
74
|
+
readonly properties: {
|
|
75
|
+
readonly low: {
|
|
76
|
+
readonly type: "string";
|
|
77
|
+
readonly description: "Fixed value (e.g., '001', 'A')";
|
|
78
|
+
};
|
|
79
|
+
readonly text: {
|
|
80
|
+
readonly type: "string";
|
|
81
|
+
readonly description: "Description text for the fixed value";
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
readonly required: readonly ["low", "text"];
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
readonly required: readonly ["domain_name"];
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* Main handler for CreateDomain MCP tool
|
|
93
|
+
*
|
|
94
|
+
* Uses DomainBuilder from @mcp-abap-adt/adt-clients for all operations
|
|
95
|
+
* Session and lock management handled internally by builder
|
|
96
|
+
*/
|
|
97
|
+
export declare function handleCreateDomain(args: any): Promise<{
|
|
98
|
+
isError: boolean;
|
|
99
|
+
content: {
|
|
100
|
+
type: string;
|
|
101
|
+
text: any;
|
|
102
|
+
}[];
|
|
103
|
+
}>;
|
|
104
|
+
//# sourceMappingURL=handleCreateDomain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleCreateDomain.d.ts","sourceRoot":"","sources":["../../../src/handlers/domain/handleCreateDomain.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiFlB,CAAC;AAmBX;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,GAAG;;;;;;GA6GjD"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* CreateDomain Handler - ABAP Domain Creation via ADT API
|
|
4
|
+
*
|
|
5
|
+
* Uses DomainBuilder from @mcp-abap-adt/adt-clients for all operations.
|
|
6
|
+
* Session and lock management handled internally by builder.
|
|
7
|
+
*
|
|
8
|
+
* Workflow: create -> check -> unlock -> (activate)
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.TOOL_DEFINITION = void 0;
|
|
12
|
+
exports.handleCreateDomain = handleCreateDomain;
|
|
13
|
+
const utils_1 = require("../../lib/utils");
|
|
14
|
+
const utils_2 = require("../../lib/utils");
|
|
15
|
+
const transportValidation_1 = require("../../utils/transportValidation");
|
|
16
|
+
const adt_clients_1 = require("@mcp-abap-adt/adt-clients");
|
|
17
|
+
exports.TOOL_DEFINITION = {
|
|
18
|
+
name: "CreateDomain",
|
|
19
|
+
description: "Create a new ABAP domain in SAP system with all required steps: lock, create, check, unlock, activate, and verify.",
|
|
20
|
+
inputSchema: {
|
|
21
|
+
type: "object",
|
|
22
|
+
properties: {
|
|
23
|
+
domain_name: {
|
|
24
|
+
type: "string",
|
|
25
|
+
description: "Domain name (e.g., ZZ_TEST_0001). Must follow SAP naming conventions."
|
|
26
|
+
},
|
|
27
|
+
description: {
|
|
28
|
+
type: "string",
|
|
29
|
+
description: "(optional) Domain description. If not provided, domain_name will be used."
|
|
30
|
+
},
|
|
31
|
+
package_name: {
|
|
32
|
+
type: "string",
|
|
33
|
+
description: "(optional) Package name (e.g., ZOK_LOCAL, $TMP for local objects)"
|
|
34
|
+
},
|
|
35
|
+
transport_request: {
|
|
36
|
+
type: "string",
|
|
37
|
+
description: "(optional) Transport request number (e.g., E19K905635). Required for transportable packages."
|
|
38
|
+
},
|
|
39
|
+
datatype: {
|
|
40
|
+
type: "string",
|
|
41
|
+
description: "(optional) Data type: CHAR, NUMC, DATS, TIMS, DEC, INT1, INT2, INT4, INT8, CURR, QUAN, etc.",
|
|
42
|
+
default: "CHAR"
|
|
43
|
+
},
|
|
44
|
+
length: {
|
|
45
|
+
type: "number",
|
|
46
|
+
description: "(optional) Field length (max depends on datatype)",
|
|
47
|
+
default: 100
|
|
48
|
+
},
|
|
49
|
+
decimals: {
|
|
50
|
+
type: "number",
|
|
51
|
+
description: "(optional) Decimal places (for DEC, CURR, QUAN types)",
|
|
52
|
+
default: 0
|
|
53
|
+
},
|
|
54
|
+
conversion_exit: {
|
|
55
|
+
type: "string",
|
|
56
|
+
description: "(optional) Conversion exit routine name (without CONVERSION_EXIT_ prefix)"
|
|
57
|
+
},
|
|
58
|
+
lowercase: {
|
|
59
|
+
type: "boolean",
|
|
60
|
+
description: "(optional) Allow lowercase input",
|
|
61
|
+
default: false
|
|
62
|
+
},
|
|
63
|
+
sign_exists: {
|
|
64
|
+
type: "boolean",
|
|
65
|
+
description: "(optional) Field has sign (+/-)",
|
|
66
|
+
default: false
|
|
67
|
+
},
|
|
68
|
+
value_table: {
|
|
69
|
+
type: "string",
|
|
70
|
+
description: "(optional) Value table name for foreign key relationship"
|
|
71
|
+
},
|
|
72
|
+
activate: {
|
|
73
|
+
type: "boolean",
|
|
74
|
+
description: "(optional) Activate domain after creation (default: true)",
|
|
75
|
+
default: true
|
|
76
|
+
},
|
|
77
|
+
fixed_values: {
|
|
78
|
+
type: "array",
|
|
79
|
+
description: "(optional) Array of fixed values for domain value range",
|
|
80
|
+
items: {
|
|
81
|
+
type: "object",
|
|
82
|
+
properties: {
|
|
83
|
+
low: {
|
|
84
|
+
type: "string",
|
|
85
|
+
description: "Fixed value (e.g., '001', 'A')"
|
|
86
|
+
},
|
|
87
|
+
text: {
|
|
88
|
+
type: "string",
|
|
89
|
+
description: "Description text for the fixed value"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
required: ["low", "text"]
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
required: ["domain_name"]
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Main handler for CreateDomain MCP tool
|
|
101
|
+
*
|
|
102
|
+
* Uses DomainBuilder from @mcp-abap-adt/adt-clients for all operations
|
|
103
|
+
* Session and lock management handled internally by builder
|
|
104
|
+
*/
|
|
105
|
+
async function handleCreateDomain(args) {
|
|
106
|
+
try {
|
|
107
|
+
// Validate required parameters
|
|
108
|
+
if (!args?.domain_name) {
|
|
109
|
+
throw new utils_1.McpError(utils_1.ErrorCode.InvalidParams, 'Domain name is required');
|
|
110
|
+
}
|
|
111
|
+
if (!args?.package_name) {
|
|
112
|
+
throw new utils_1.McpError(utils_1.ErrorCode.InvalidParams, 'Package name is required');
|
|
113
|
+
}
|
|
114
|
+
// Validate transport_request: required for non-$TMP, non-ZLOCAL packages
|
|
115
|
+
(0, transportValidation_1.validateTransportRequest)(args.package_name, args.transport_request, args.super_package);
|
|
116
|
+
const typedArgs = args;
|
|
117
|
+
const connection = (0, utils_2.getManagedConnection)();
|
|
118
|
+
const domainName = typedArgs.domain_name.toUpperCase();
|
|
119
|
+
utils_2.logger.info(`Starting domain creation: ${domainName}`);
|
|
120
|
+
try {
|
|
121
|
+
// Create client
|
|
122
|
+
const client = new adt_clients_1.CrudClient(connection);
|
|
123
|
+
const shouldActivate = typedArgs.activate !== false; // Default to true if not specified
|
|
124
|
+
// Validate
|
|
125
|
+
await client.validateDomain(domainName);
|
|
126
|
+
// Create
|
|
127
|
+
await client.createDomain(domainName, typedArgs.description || domainName, typedArgs.package_name, typedArgs.transport_request);
|
|
128
|
+
// Lock
|
|
129
|
+
await client.lockDomain(domainName);
|
|
130
|
+
const lockHandle = client.getLockHandle();
|
|
131
|
+
// Update with properties
|
|
132
|
+
const properties = {
|
|
133
|
+
datatype: typedArgs.datatype || 'CHAR',
|
|
134
|
+
length: typedArgs.length || 100,
|
|
135
|
+
decimals: typedArgs.decimals || 0,
|
|
136
|
+
conversion_exit: typedArgs.conversion_exit,
|
|
137
|
+
lowercase: typedArgs.lowercase || false,
|
|
138
|
+
sign_exists: typedArgs.sign_exists || false,
|
|
139
|
+
value_table: typedArgs.value_table,
|
|
140
|
+
fixed_values: typedArgs.fixed_values
|
|
141
|
+
};
|
|
142
|
+
await client.updateDomain(domainName, properties, lockHandle);
|
|
143
|
+
// Check
|
|
144
|
+
await client.checkDomain(domainName);
|
|
145
|
+
// Unlock
|
|
146
|
+
await client.unlockDomain(domainName, lockHandle);
|
|
147
|
+
// Activate if requested
|
|
148
|
+
if (shouldActivate) {
|
|
149
|
+
await client.activateDomain(domainName);
|
|
150
|
+
}
|
|
151
|
+
// Get domain details from create result (createDomain already does verification)
|
|
152
|
+
const createResult = client.getCreateResult();
|
|
153
|
+
let domainDetails = null;
|
|
154
|
+
if (createResult?.data && typeof createResult.data === 'object' && 'domain_details' in createResult.data) {
|
|
155
|
+
domainDetails = createResult.data.domain_details;
|
|
156
|
+
}
|
|
157
|
+
return (0, utils_2.return_response)({
|
|
158
|
+
data: JSON.stringify({
|
|
159
|
+
success: true,
|
|
160
|
+
domain_name: domainName,
|
|
161
|
+
package: typedArgs.package_name,
|
|
162
|
+
transport_request: typedArgs.transport_request,
|
|
163
|
+
status: shouldActivate ? 'active' : 'inactive',
|
|
164
|
+
message: `Domain ${domainName} created${shouldActivate ? ' and activated' : ''} successfully`,
|
|
165
|
+
domain_details: domainDetails
|
|
166
|
+
})
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
catch (error) {
|
|
170
|
+
utils_2.logger.error(`Error creating domain ${domainName}:`, error);
|
|
171
|
+
// Check if domain already exists
|
|
172
|
+
if (error.message?.includes('already exists') || error.response?.data?.includes('ExceptionResourceAlreadyExists')) {
|
|
173
|
+
throw new utils_1.McpError(utils_1.ErrorCode.InvalidParams, `Domain ${domainName} already exists. Please delete it first or use a different name.`);
|
|
174
|
+
}
|
|
175
|
+
const errorMessage = error.response?.data
|
|
176
|
+
? (typeof error.response.data === 'string' ? error.response.data : JSON.stringify(error.response.data))
|
|
177
|
+
: error.message || String(error);
|
|
178
|
+
throw new utils_1.McpError(utils_1.ErrorCode.InternalError, `Failed to create domain ${domainName}: ${errorMessage}`);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
catch (error) {
|
|
182
|
+
if (error instanceof utils_1.McpError) {
|
|
183
|
+
throw error;
|
|
184
|
+
}
|
|
185
|
+
return (0, utils_2.return_error)(error);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
export declare const TOOL_DEFINITION: {
|
|
3
|
+
readonly name: "GetDomain";
|
|
4
|
+
readonly description: "Retrieve ABAP domain structure and properties from SAP system.";
|
|
5
|
+
readonly inputSchema: {
|
|
6
|
+
readonly domain_name: z.ZodString;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Main handler for GetDomain MCP tool
|
|
11
|
+
*/
|
|
12
|
+
export declare function handleGetDomain(args: any): Promise<{
|
|
13
|
+
isError: boolean;
|
|
14
|
+
content: {
|
|
15
|
+
type: string;
|
|
16
|
+
text: any;
|
|
17
|
+
}[];
|
|
18
|
+
}>;
|
|
19
|
+
//# sourceMappingURL=handleGetDomain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleGetDomain.d.ts","sourceRoot":"","sources":["../../../src/handlers/domain/handleGetDomain.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AAMX;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,GAAG;;;;;;GA6F9C"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.TOOL_DEFINITION = void 0;
|
|
37
|
+
exports.handleGetDomain = handleGetDomain;
|
|
38
|
+
const utils_1 = require("../../lib/utils");
|
|
39
|
+
const utils_2 = require("../../lib/utils");
|
|
40
|
+
const adt_clients_1 = require("@mcp-abap-adt/adt-clients");
|
|
41
|
+
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
42
|
+
const z = __importStar(require("zod"));
|
|
43
|
+
exports.TOOL_DEFINITION = {
|
|
44
|
+
name: "GetDomain",
|
|
45
|
+
description: "Retrieve ABAP domain structure and properties from SAP system.",
|
|
46
|
+
inputSchema: {
|
|
47
|
+
domain_name: z.string().describe("Domain name (e.g., MATNR, CHAR20, ZZ_TEST_DOMAIN)")
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Main handler for GetDomain MCP tool
|
|
52
|
+
*/
|
|
53
|
+
async function handleGetDomain(args) {
|
|
54
|
+
try {
|
|
55
|
+
// Validate required parameters
|
|
56
|
+
if (!args?.domain_name) {
|
|
57
|
+
throw new utils_1.McpError(utils_1.ErrorCode.InvalidParams, 'Domain name is required');
|
|
58
|
+
}
|
|
59
|
+
const typedArgs = args;
|
|
60
|
+
const connection = (0, utils_1.getManagedConnection)();
|
|
61
|
+
const client = new adt_clients_1.CrudClient(connection);
|
|
62
|
+
await client.readDomain(typedArgs.domain_name);
|
|
63
|
+
const response = client.getReadResult();
|
|
64
|
+
if (!response) {
|
|
65
|
+
throw new utils_1.McpError(utils_1.ErrorCode.InternalError, 'Failed to read domain');
|
|
66
|
+
}
|
|
67
|
+
// Parse XML response
|
|
68
|
+
const parser = new fast_xml_parser_1.XMLParser({
|
|
69
|
+
ignoreAttributes: false,
|
|
70
|
+
attributeNamePrefix: '',
|
|
71
|
+
});
|
|
72
|
+
const result = parser.parse(response.data);
|
|
73
|
+
const domain = result['doma:domain'];
|
|
74
|
+
if (!domain) {
|
|
75
|
+
throw new utils_1.McpError(utils_1.ErrorCode.InternalError, 'Failed to parse domain XML response');
|
|
76
|
+
}
|
|
77
|
+
// Extract domain information
|
|
78
|
+
const domainInfo = {
|
|
79
|
+
name: domain['adtcore:name'],
|
|
80
|
+
type: domain['adtcore:type'],
|
|
81
|
+
description: domain['adtcore:description'] || '',
|
|
82
|
+
language: domain['adtcore:language'],
|
|
83
|
+
masterLanguage: domain['adtcore:masterLanguage'],
|
|
84
|
+
masterSystem: domain['adtcore:masterSystem'],
|
|
85
|
+
responsible: domain['adtcore:responsible'],
|
|
86
|
+
createdBy: domain['adtcore:createdBy'],
|
|
87
|
+
createdAt: domain['adtcore:createdAt'],
|
|
88
|
+
changedBy: domain['adtcore:changedBy'],
|
|
89
|
+
changedAt: domain['adtcore:changedAt'],
|
|
90
|
+
version: domain['adtcore:version'],
|
|
91
|
+
abapLanguageVersion: domain['adtcore:abapLanguageVersion'],
|
|
92
|
+
package: {
|
|
93
|
+
name: domain['adtcore:packageRef']?.['adtcore:name'],
|
|
94
|
+
type: domain['adtcore:packageRef']?.['adtcore:type'],
|
|
95
|
+
description: domain['adtcore:packageRef']?.['adtcore:description'],
|
|
96
|
+
uri: domain['adtcore:packageRef']?.['adtcore:uri']
|
|
97
|
+
},
|
|
98
|
+
content: domain['doma:content'] ? {
|
|
99
|
+
typeInformation: {
|
|
100
|
+
datatype: domain['doma:content']['doma:typeInformation']?.['doma:datatype'],
|
|
101
|
+
length: domain['doma:content']['doma:typeInformation']?.['doma:length'],
|
|
102
|
+
decimals: domain['doma:content']['doma:typeInformation']?.['doma:decimals']
|
|
103
|
+
},
|
|
104
|
+
outputInformation: {
|
|
105
|
+
length: domain['doma:content']['doma:outputInformation']?.['doma:length'],
|
|
106
|
+
style: domain['doma:content']['doma:outputInformation']?.['doma:style'],
|
|
107
|
+
conversionExit: domain['doma:content']['doma:outputInformation']?.['doma:conversionExit'] || '',
|
|
108
|
+
signExists: domain['doma:content']['doma:outputInformation']?.['doma:signExists'],
|
|
109
|
+
lowercase: domain['doma:content']['doma:outputInformation']?.['doma:lowercase'],
|
|
110
|
+
ampmFormat: domain['doma:content']['doma:outputInformation']?.['doma:ampmFormat']
|
|
111
|
+
},
|
|
112
|
+
valueInformation: {
|
|
113
|
+
valueTableRef: domain['doma:content']['doma:valueInformation']?.['doma:valueTableRef'] || '',
|
|
114
|
+
appendExists: domain['doma:content']['doma:valueInformation']?.['doma:appendExists'],
|
|
115
|
+
fixValues: domain['doma:content']['doma:valueInformation']?.['doma:fixValues']
|
|
116
|
+
}
|
|
117
|
+
} : null
|
|
118
|
+
};
|
|
119
|
+
return (0, utils_2.return_response)({
|
|
120
|
+
data: JSON.stringify({
|
|
121
|
+
success: true,
|
|
122
|
+
domain: domainInfo,
|
|
123
|
+
raw_xml: response.data
|
|
124
|
+
}, null, 2),
|
|
125
|
+
status: response.status,
|
|
126
|
+
statusText: response.statusText,
|
|
127
|
+
headers: response.headers,
|
|
128
|
+
config: response.config
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
console.error('[GetDomain] Error:', error);
|
|
133
|
+
if (error instanceof utils_1.McpError) {
|
|
134
|
+
throw error;
|
|
135
|
+
}
|
|
136
|
+
return (0, utils_2.return_error)(error);
|
|
137
|
+
}
|
|
138
|
+
}
|