@mcp-abap-adt/core 4.1.1 → 4.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/handlers/behavior_definition/low/handleCreateBehaviorDefinition.d.ts.map +1 -1
  3. package/dist/handlers/behavior_definition/low/handleCreateBehaviorDefinition.js +3 -0
  4. package/dist/handlers/behavior_definition/low/handleCreateBehaviorDefinition.js.map +1 -1
  5. package/dist/handlers/behavior_definition/low/handleUpdateBehaviorDefinition.d.ts +5 -0
  6. package/dist/handlers/behavior_definition/low/handleUpdateBehaviorDefinition.d.ts.map +1 -1
  7. package/dist/handlers/behavior_definition/low/handleUpdateBehaviorDefinition.js +6 -1
  8. package/dist/handlers/behavior_definition/low/handleUpdateBehaviorDefinition.js.map +1 -1
  9. package/dist/handlers/behavior_definition/readonly/handleReadBehaviorDefinition.d.ts +33 -0
  10. package/dist/handlers/behavior_definition/readonly/handleReadBehaviorDefinition.d.ts.map +1 -0
  11. package/dist/handlers/behavior_definition/readonly/handleReadBehaviorDefinition.js +87 -0
  12. package/dist/handlers/behavior_definition/readonly/handleReadBehaviorDefinition.js.map +1 -0
  13. package/dist/handlers/behavior_implementation/readonly/handleReadBehaviorImplementation.d.ts +33 -0
  14. package/dist/handlers/behavior_implementation/readonly/handleReadBehaviorImplementation.d.ts.map +1 -0
  15. package/dist/handlers/behavior_implementation/readonly/handleReadBehaviorImplementation.js +87 -0
  16. package/dist/handlers/behavior_implementation/readonly/handleReadBehaviorImplementation.js.map +1 -0
  17. package/dist/handlers/class/readonly/handleReadClass.d.ts +33 -0
  18. package/dist/handlers/class/readonly/handleReadClass.d.ts.map +1 -0
  19. package/dist/handlers/class/readonly/handleReadClass.js +85 -0
  20. package/dist/handlers/class/readonly/handleReadClass.js.map +1 -0
  21. package/dist/handlers/data_element/high/handleUpdateDataElement.d.ts.map +1 -1
  22. package/dist/handlers/data_element/high/handleUpdateDataElement.js +1 -0
  23. package/dist/handlers/data_element/high/handleUpdateDataElement.js.map +1 -1
  24. package/dist/handlers/data_element/readonly/handleReadDataElement.d.ts +33 -0
  25. package/dist/handlers/data_element/readonly/handleReadDataElement.d.ts.map +1 -0
  26. package/dist/handlers/data_element/readonly/handleReadDataElement.js +85 -0
  27. package/dist/handlers/data_element/readonly/handleReadDataElement.js.map +1 -0
  28. package/dist/handlers/ddlx/high/handleUpdateMetadataExtension.d.ts +4 -0
  29. package/dist/handlers/ddlx/high/handleUpdateMetadataExtension.d.ts.map +1 -1
  30. package/dist/handlers/ddlx/high/handleUpdateMetadataExtension.js +5 -0
  31. package/dist/handlers/ddlx/high/handleUpdateMetadataExtension.js.map +1 -1
  32. package/dist/handlers/domain/readonly/handleReadDomain.d.ts +33 -0
  33. package/dist/handlers/domain/readonly/handleReadDomain.d.ts.map +1 -0
  34. package/dist/handlers/domain/readonly/handleReadDomain.js +85 -0
  35. package/dist/handlers/domain/readonly/handleReadDomain.js.map +1 -0
  36. package/dist/handlers/function/readonly/handleGetFunction.d.ts +1 -7
  37. package/dist/handlers/function/readonly/handleGetFunction.d.ts.map +1 -1
  38. package/dist/handlers/function/readonly/handleGetFunction.js +7 -36
  39. package/dist/handlers/function/readonly/handleGetFunction.js.map +1 -1
  40. package/dist/handlers/function_group/readonly/handleReadFunctionGroup.d.ts +33 -0
  41. package/dist/handlers/function_group/readonly/handleReadFunctionGroup.d.ts.map +1 -0
  42. package/dist/handlers/function_group/readonly/handleReadFunctionGroup.js +85 -0
  43. package/dist/handlers/function_group/readonly/handleReadFunctionGroup.js.map +1 -0
  44. package/dist/handlers/function_module/high/handleGetFunctionModule.d.ts.map +1 -1
  45. package/dist/handlers/function_module/high/handleGetFunctionModule.js +13 -3
  46. package/dist/handlers/function_module/high/handleGetFunctionModule.js.map +1 -1
  47. package/dist/handlers/function_module/readonly/handleReadFunctionModule.d.ts +38 -0
  48. package/dist/handlers/function_module/readonly/handleReadFunctionModule.d.ts.map +1 -0
  49. package/dist/handlers/function_module/readonly/handleReadFunctionModule.js +94 -0
  50. package/dist/handlers/function_module/readonly/handleReadFunctionModule.js.map +1 -0
  51. package/dist/handlers/interface/readonly/handleReadInterface.d.ts +33 -0
  52. package/dist/handlers/interface/readonly/handleReadInterface.d.ts.map +1 -0
  53. package/dist/handlers/interface/readonly/handleReadInterface.js +85 -0
  54. package/dist/handlers/interface/readonly/handleReadInterface.js.map +1 -0
  55. package/dist/handlers/metadata_extension/readonly/handleReadMetadataExtension.d.ts +33 -0
  56. package/dist/handlers/metadata_extension/readonly/handleReadMetadataExtension.d.ts.map +1 -0
  57. package/dist/handlers/metadata_extension/readonly/handleReadMetadataExtension.js +87 -0
  58. package/dist/handlers/metadata_extension/readonly/handleReadMetadataExtension.js.map +1 -0
  59. package/dist/handlers/package/high/handleCreatePackage.d.ts +2 -0
  60. package/dist/handlers/package/high/handleCreatePackage.d.ts.map +1 -1
  61. package/dist/handlers/package/high/handleCreatePackage.js +7 -0
  62. package/dist/handlers/package/high/handleCreatePackage.js.map +1 -1
  63. package/dist/handlers/package/low/handleCreatePackage.d.ts +5 -0
  64. package/dist/handlers/package/low/handleCreatePackage.d.ts.map +1 -1
  65. package/dist/handlers/package/low/handleCreatePackage.js +8 -1
  66. package/dist/handlers/package/low/handleCreatePackage.js.map +1 -1
  67. package/dist/handlers/package/readonly/handleReadPackage.d.ts +33 -0
  68. package/dist/handlers/package/readonly/handleReadPackage.d.ts.map +1 -0
  69. package/dist/handlers/package/readonly/handleReadPackage.js +85 -0
  70. package/dist/handlers/package/readonly/handleReadPackage.js.map +1 -0
  71. package/dist/handlers/program/readonly/handleReadProgram.d.ts +33 -0
  72. package/dist/handlers/program/readonly/handleReadProgram.d.ts.map +1 -0
  73. package/dist/handlers/program/readonly/handleReadProgram.js +85 -0
  74. package/dist/handlers/program/readonly/handleReadProgram.js.map +1 -0
  75. package/dist/handlers/service_binding/readonly/handleReadServiceBinding.d.ts +26 -0
  76. package/dist/handlers/service_binding/readonly/handleReadServiceBinding.d.ts.map +1 -0
  77. package/dist/handlers/service_binding/readonly/handleReadServiceBinding.js +78 -0
  78. package/dist/handlers/service_binding/readonly/handleReadServiceBinding.js.map +1 -0
  79. package/dist/handlers/service_definition/readonly/handleReadServiceDefinition.d.ts +33 -0
  80. package/dist/handlers/service_definition/readonly/handleReadServiceDefinition.d.ts.map +1 -0
  81. package/dist/handlers/service_definition/readonly/handleReadServiceDefinition.js +85 -0
  82. package/dist/handlers/service_definition/readonly/handleReadServiceDefinition.js.map +1 -0
  83. package/dist/handlers/structure/readonly/handleReadStructure.d.ts +33 -0
  84. package/dist/handlers/structure/readonly/handleReadStructure.d.ts.map +1 -0
  85. package/dist/handlers/structure/readonly/handleReadStructure.js +85 -0
  86. package/dist/handlers/structure/readonly/handleReadStructure.js.map +1 -0
  87. package/dist/handlers/system/readonly/handleGetAbapSystemSymbols.d.ts.map +1 -1
  88. package/dist/handlers/system/readonly/handleGetAbapSystemSymbols.js +4 -3
  89. package/dist/handlers/system/readonly/handleGetAbapSystemSymbols.js.map +1 -1
  90. package/dist/handlers/table/readonly/handleReadTable.d.ts +33 -0
  91. package/dist/handlers/table/readonly/handleReadTable.d.ts.map +1 -0
  92. package/dist/handlers/table/readonly/handleReadTable.js +85 -0
  93. package/dist/handlers/table/readonly/handleReadTable.js.map +1 -0
  94. package/dist/handlers/view/readonly/handleReadView.d.ts +33 -0
  95. package/dist/handlers/view/readonly/handleReadView.d.ts.map +1 -0
  96. package/dist/handlers/view/readonly/handleReadView.js +85 -0
  97. package/dist/handlers/view/readonly/handleReadView.js.map +1 -0
  98. package/dist/lib/auth/brokerFactory.d.ts.map +1 -1
  99. package/dist/lib/auth/brokerFactory.js +6 -2
  100. package/dist/lib/auth/brokerFactory.js.map +1 -1
  101. package/dist/lib/handlers/groups/ReadOnlyHandlersGroup.d.ts.map +1 -1
  102. package/dist/lib/handlers/groups/ReadOnlyHandlersGroup.js +82 -7
  103. package/dist/lib/handlers/groups/ReadOnlyHandlersGroup.js.map +1 -1
  104. package/dist/lib/systemContext.d.ts +1 -0
  105. package/dist/lib/systemContext.d.ts.map +1 -1
  106. package/dist/lib/systemContext.js +1 -0
  107. package/dist/lib/systemContext.js.map +1 -1
  108. package/dist/lib/utils.js +1 -1
  109. package/dist/server/BaseMcpServer.d.ts.map +1 -1
  110. package/dist/server/BaseMcpServer.js +5 -1
  111. package/dist/server/BaseMcpServer.js.map +1 -1
  112. package/dist/server/launcher.js +3 -2
  113. package/dist/server/launcher.js.map +1 -1
  114. package/docs/development/roadmaps/TRANSPORT_CRUD_ISSUE_11.md +89 -0
  115. package/docs/user-guide/AVAILABLE_TOOLS.md +259 -12
  116. package/docs/user-guide/AVAILABLE_TOOLS_COMPACT.md +1 -1
  117. package/docs/user-guide/AVAILABLE_TOOLS_HIGH.md +2 -1
  118. package/docs/user-guide/AVAILABLE_TOOLS_LEGACY.md +120 -12
  119. package/docs/user-guide/AVAILABLE_TOOLS_LOW.md +3 -1
  120. package/docs/user-guide/AVAILABLE_TOOLS_READONLY.md +255 -11
  121. package/package.json +2 -2
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TOOL_DEFINITION = void 0;
4
+ exports.handleReadDataElement = handleReadDataElement;
5
+ const clients_1 = require("../../../lib/clients");
6
+ const utils_1 = require("../../../lib/utils");
7
+ exports.TOOL_DEFINITION = {
8
+ name: 'ReadDataElement',
9
+ available_in: ['onprem', 'cloud'],
10
+ description: '[read-only] Read ABAP data element definition and metadata (package, responsible, description, etc.).',
11
+ inputSchema: {
12
+ type: 'object',
13
+ properties: {
14
+ data_element_name: {
15
+ type: 'string',
16
+ description: 'Data element name (e.g., Z_MY_DATA_ELEMENT).',
17
+ },
18
+ version: {
19
+ type: 'string',
20
+ enum: ['active', 'inactive'],
21
+ description: 'Version to read: "active" (default) or "inactive".',
22
+ default: 'active',
23
+ },
24
+ },
25
+ required: ['data_element_name'],
26
+ },
27
+ };
28
+ async function handleReadDataElement(context, args) {
29
+ const { connection, logger } = context;
30
+ try {
31
+ const { data_element_name, version = 'active' } = args;
32
+ if (!data_element_name)
33
+ return (0, utils_1.return_error)(new Error('data_element_name is required'));
34
+ const client = (0, clients_1.createAdtClient)(connection, logger);
35
+ const dataElementName = data_element_name.toUpperCase();
36
+ const obj = client.getDataElement();
37
+ let source_code = null;
38
+ try {
39
+ const readResult = await obj.read({ dataElementName }, version);
40
+ if (readResult?.readResult?.data) {
41
+ source_code =
42
+ typeof readResult.readResult.data === 'string'
43
+ ? readResult.readResult.data
44
+ : safeStringify(readResult.readResult.data);
45
+ }
46
+ }
47
+ catch (e) {
48
+ logger?.warn(`Could not read source for ${dataElementName}: ${e?.message}`);
49
+ }
50
+ let metadata = null;
51
+ try {
52
+ const metaResult = await obj.readMetadata({ dataElementName });
53
+ if (metaResult?.metadataResult?.data) {
54
+ metadata =
55
+ typeof metaResult.metadataResult.data === 'string'
56
+ ? metaResult.metadataResult.data
57
+ : safeStringify(metaResult.metadataResult.data);
58
+ }
59
+ }
60
+ catch (e) {
61
+ logger?.warn(`Could not read metadata for ${dataElementName}: ${e?.message}`);
62
+ }
63
+ return (0, utils_1.return_response)({
64
+ data: JSON.stringify({
65
+ success: true,
66
+ data_element_name: dataElementName,
67
+ version,
68
+ source_code,
69
+ metadata,
70
+ }, null, 2),
71
+ });
72
+ }
73
+ catch (error) {
74
+ return (0, utils_1.return_error)(error);
75
+ }
76
+ }
77
+ function safeStringify(data) {
78
+ try {
79
+ return JSON.stringify(data);
80
+ }
81
+ catch {
82
+ return String(data);
83
+ }
84
+ }
85
+ //# sourceMappingURL=handleReadDataElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleReadDataElement.js","sourceRoot":"","sources":["../../../../src/handlers/data_element/readonly/handleReadDataElement.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,10 @@ export declare const TOOL_DEFINITION: {
21
21
  readonly type: "string";
22
22
  readonly description: "Lock handle from LockObject. If not provided, will attempt to lock internally.";
23
23
  };
24
+ readonly transport_request: {
25
+ readonly type: "string";
26
+ readonly description: "Transport request number (required for transportable packages).";
27
+ };
24
28
  readonly activate: {
25
29
  readonly type: "boolean";
26
30
  readonly description: "Activate after update. Default: true";
@@ -1 +1 @@
1
- {"version":3,"file":"handleUpdateMetadataExtension.d.ts","sourceRoot":"","sources":["../../../../src/handlers/ddlx/high/handleUpdateMetadataExtension.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAMvE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BlB,CAAC;AASX,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,GAAG;;;;;;GA8DZ"}
1
+ {"version":3,"file":"handleUpdateMetadataExtension.d.ts","sourceRoot":"","sources":["../../../../src/handlers/ddlx/high/handleUpdateMetadataExtension.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAMvE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgClB,CAAC;AAUX,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,GAAG;;;;;;GA+DZ"}
@@ -26,6 +26,10 @@ exports.TOOL_DEFINITION = {
26
26
  type: 'string',
27
27
  description: 'Lock handle from LockObject. If not provided, will attempt to lock internally.',
28
28
  },
29
+ transport_request: {
30
+ type: 'string',
31
+ description: 'Transport request number (required for transportable packages).',
32
+ },
29
33
  activate: {
30
34
  type: 'boolean',
31
35
  description: 'Activate after update. Default: true',
@@ -53,6 +57,7 @@ async function handleUpdateMetadataExtension(context, params) {
53
57
  await client.getMetadataExtension().update({
54
58
  name,
55
59
  sourceCode: args.source_code,
60
+ transportRequest: args.transport_request,
56
61
  }, { lockHandle });
57
62
  // Unlock if we locked it internally
58
63
  if (!args.lock_handle) {
@@ -1 +1 @@
1
- {"version":3,"file":"handleUpdateMetadataExtension.js","sourceRoot":"","sources":["../../../../src/handlers/ddlx/high/handleUpdateMetadataExtension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handleUpdateMetadataExtension.js","sourceRoot":"","sources":["../../../../src/handlers/ddlx/high/handleUpdateMetadataExtension.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { HandlerContext } from '../../../lib/handlers/interfaces';
2
+ export declare const TOOL_DEFINITION: {
3
+ readonly name: "ReadDomain";
4
+ readonly available_in: readonly ["onprem", "cloud"];
5
+ readonly description: "[read-only] Read ABAP domain definition and metadata (package, responsible, description, etc.).";
6
+ readonly inputSchema: {
7
+ readonly type: "object";
8
+ readonly properties: {
9
+ readonly domain_name: {
10
+ readonly type: "string";
11
+ readonly description: "Domain name (e.g., Z_MY_DOMAIN).";
12
+ };
13
+ readonly version: {
14
+ readonly type: "string";
15
+ readonly enum: readonly ["active", "inactive"];
16
+ readonly description: "Version to read: \"active\" (default) or \"inactive\".";
17
+ readonly default: "active";
18
+ };
19
+ };
20
+ readonly required: readonly ["domain_name"];
21
+ };
22
+ };
23
+ export declare function handleReadDomain(context: HandlerContext, args: {
24
+ domain_name: string;
25
+ version?: 'active' | 'inactive';
26
+ }): Promise<{
27
+ isError: boolean;
28
+ content: {
29
+ type: string;
30
+ text: any;
31
+ }[];
32
+ }>;
33
+ //# sourceMappingURL=handleReadDomain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleReadDomain.d.ts","sourceRoot":"","sources":["../../../../src/handlers/domain/readonly/handleReadDomain.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAOvE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;CAqBlB,CAAC;AAEX,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;CAAE;;;;;;GAwD/D"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TOOL_DEFINITION = void 0;
4
+ exports.handleReadDomain = handleReadDomain;
5
+ const clients_1 = require("../../../lib/clients");
6
+ const utils_1 = require("../../../lib/utils");
7
+ exports.TOOL_DEFINITION = {
8
+ name: 'ReadDomain',
9
+ available_in: ['onprem', 'cloud'],
10
+ description: '[read-only] Read ABAP domain definition and metadata (package, responsible, description, etc.).',
11
+ inputSchema: {
12
+ type: 'object',
13
+ properties: {
14
+ domain_name: {
15
+ type: 'string',
16
+ description: 'Domain name (e.g., Z_MY_DOMAIN).',
17
+ },
18
+ version: {
19
+ type: 'string',
20
+ enum: ['active', 'inactive'],
21
+ description: 'Version to read: "active" (default) or "inactive".',
22
+ default: 'active',
23
+ },
24
+ },
25
+ required: ['domain_name'],
26
+ },
27
+ };
28
+ async function handleReadDomain(context, args) {
29
+ const { connection, logger } = context;
30
+ try {
31
+ const { domain_name, version = 'active' } = args;
32
+ if (!domain_name)
33
+ return (0, utils_1.return_error)(new Error('domain_name is required'));
34
+ const client = (0, clients_1.createAdtClient)(connection, logger);
35
+ const domainName = domain_name.toUpperCase();
36
+ const obj = client.getDomain();
37
+ let source_code = null;
38
+ try {
39
+ const readResult = await obj.read({ domainName }, version);
40
+ if (readResult?.readResult?.data) {
41
+ source_code =
42
+ typeof readResult.readResult.data === 'string'
43
+ ? readResult.readResult.data
44
+ : safeStringify(readResult.readResult.data);
45
+ }
46
+ }
47
+ catch (e) {
48
+ logger?.warn(`Could not read source for ${domainName}: ${e?.message}`);
49
+ }
50
+ let metadata = null;
51
+ try {
52
+ const metaResult = await obj.readMetadata({ domainName });
53
+ if (metaResult?.metadataResult?.data) {
54
+ metadata =
55
+ typeof metaResult.metadataResult.data === 'string'
56
+ ? metaResult.metadataResult.data
57
+ : safeStringify(metaResult.metadataResult.data);
58
+ }
59
+ }
60
+ catch (e) {
61
+ logger?.warn(`Could not read metadata for ${domainName}: ${e?.message}`);
62
+ }
63
+ return (0, utils_1.return_response)({
64
+ data: JSON.stringify({
65
+ success: true,
66
+ domain_name: domainName,
67
+ version,
68
+ source_code,
69
+ metadata,
70
+ }, null, 2),
71
+ });
72
+ }
73
+ catch (error) {
74
+ return (0, utils_1.return_error)(error);
75
+ }
76
+ }
77
+ function safeStringify(data) {
78
+ try {
79
+ return JSON.stringify(data);
80
+ }
81
+ catch {
82
+ return String(data);
83
+ }
84
+ }
85
+ //# sourceMappingURL=handleReadDomain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleReadDomain.js","sourceRoot":"","sources":["../../../../src/handlers/domain/readonly/handleReadDomain.ts"],"names":[],"mappings":"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"}
@@ -17,13 +17,7 @@ export declare function handleGetFunction(context: HandlerContext, args: any): P
17
17
  isError: boolean;
18
18
  content: {
19
19
  type: string;
20
- json: import("@mcp-abap-adt/adt-clients").IFunctionModuleState | undefined;
21
- }[];
22
- } | {
23
- isError: boolean;
24
- content: {
25
- type: string;
26
- text: string;
20
+ text: any;
27
21
  }[];
28
22
  }>;
29
23
  //# sourceMappingURL=handleGetFunction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handleGetFunction.d.ts","sourceRoot":"","sources":["../../../../src/handlers/function/readonly/handleGetFunction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAGvE,eAAO,MAAM,eAAe;;;;;;;;;;;;CAYlB,CAAC;AAEX,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG;;;;;;;;;;;;GA6CzE"}
1
+ {"version":3,"file":"handleGetFunction.d.ts","sourceRoot":"","sources":["../../../../src/handlers/function/readonly/handleGetFunction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAGvE,eAAO,MAAM,eAAe;;;;;;;;;;;;CAYlB,CAAC;AAEX,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG;;;;;;GAOzE"}
@@ -36,8 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.TOOL_DEFINITION = void 0;
37
37
  exports.handleGetFunction = handleGetFunction;
38
38
  const z = __importStar(require("zod"));
39
- const clients_1 = require("../../../lib/clients");
40
- const utils_1 = require("../../../lib/utils");
39
+ const handleGetFunctionModule_1 = require("../../function_module/high/handleGetFunctionModule");
41
40
  exports.TOOL_DEFINITION = {
42
41
  name: 'GetFunction',
43
42
  available_in: ['onprem', 'cloud', 'legacy'],
@@ -52,39 +51,11 @@ exports.TOOL_DEFINITION = {
52
51
  },
53
52
  };
54
53
  async function handleGetFunction(context, args) {
55
- const { connection, logger } = context;
56
- try {
57
- if (!args?.function_name) {
58
- throw new utils_1.McpError(utils_1.ErrorCode.InvalidParams, 'Function name is required');
59
- }
60
- if (!args?.function_group) {
61
- throw new utils_1.McpError(utils_1.ErrorCode.InvalidParams, 'Function group is required');
62
- }
63
- const functionModuleName = String(args.function_name).toUpperCase();
64
- const functionGroupName = String(args.function_group).toUpperCase();
65
- logger?.info(`Reading function module ${functionModuleName} in ${functionGroupName}, version: ${args.version || 'active'}`);
66
- // Create client
67
- const client = (0, clients_1.createAdtClient)(connection);
68
- const result = await client
69
- .getFunctionModule()
70
- .read({ functionModuleName, functionGroupName }, args.version || 'active');
71
- logger?.debug(`Successfully read function module ${functionModuleName}`);
72
- return {
73
- isError: false,
74
- content: [{ type: 'json', json: result }],
75
- };
76
- }
77
- catch (error) {
78
- logger?.error(`Failed to read function module ${args?.function_name || ''}`, error);
79
- return {
80
- isError: true,
81
- content: [
82
- {
83
- type: 'text',
84
- text: error instanceof Error ? error.message : String(error),
85
- },
86
- ],
87
- };
88
- }
54
+ // Delegate to GetFunctionModule, mapping parameter names
55
+ return (0, handleGetFunctionModule_1.handleGetFunctionModule)(context, {
56
+ function_module_name: args?.function_name,
57
+ function_group_name: args?.function_group,
58
+ version: args?.version,
59
+ });
89
60
  }
90
61
  //# sourceMappingURL=handleGetFunction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handleGetFunction.js","sourceRoot":"","sources":["../../../../src/handlers/function/readonly/handleGetFunction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,8CA6CC;AAhED,uCAAyB;AACzB,kDAAuD;AAEvD,8CAAyD;AAE5C,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,aAAa;IACnB,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAU;IACpD,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,IAAA,yBAAe,EAAC,UAAU,CAAC,CAAC;QAC3C,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"}
1
+ {"version":3,"file":"handleGetFunction.js","sourceRoot":"","sources":["../../../../src/handlers/function/readonly/handleGetFunction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,8CAOC;AAzBD,uCAAyB;AAEzB,gGAA6F;AAEhF,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,aAAa;IACnB,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAU;IACpD,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,yDAAyD;IACzD,OAAO,IAAA,iDAAuB,EAAC,OAAO,EAAE;QACtC,oBAAoB,EAAE,IAAI,EAAE,aAAa;QACzC,mBAAmB,EAAE,IAAI,EAAE,cAAc;QACzC,OAAO,EAAE,IAAI,EAAE,OAAO;KACvB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { HandlerContext } from '../../../lib/handlers/interfaces';
2
+ export declare const TOOL_DEFINITION: {
3
+ readonly name: "ReadFunctionGroup";
4
+ readonly available_in: readonly ["onprem", "cloud", "legacy"];
5
+ readonly description: "[read-only] Read ABAP function group source code and metadata (package, responsible, description, etc.).";
6
+ readonly inputSchema: {
7
+ readonly type: "object";
8
+ readonly properties: {
9
+ readonly function_group_name: {
10
+ readonly type: "string";
11
+ readonly description: "Function group name (e.g., Z_MY_FG).";
12
+ };
13
+ readonly version: {
14
+ readonly type: "string";
15
+ readonly enum: readonly ["active", "inactive"];
16
+ readonly description: "Version to read: \"active\" (default) or \"inactive\".";
17
+ readonly default: "active";
18
+ };
19
+ };
20
+ readonly required: readonly ["function_group_name"];
21
+ };
22
+ };
23
+ export declare function handleReadFunctionGroup(context: HandlerContext, args: {
24
+ function_group_name: string;
25
+ version?: 'active' | 'inactive';
26
+ }): Promise<{
27
+ isError: boolean;
28
+ content: {
29
+ type: string;
30
+ text: any;
31
+ }[];
32
+ }>;
33
+ //# sourceMappingURL=handleReadFunctionGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleReadFunctionGroup.d.ts","sourceRoot":"","sources":["../../../../src/handlers/function_group/readonly/handleReadFunctionGroup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAOvE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;CAqBlB,CAAC;AAEX,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE;IAAE,mBAAmB,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;CAAE;;;;;;GA6DvE"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TOOL_DEFINITION = void 0;
4
+ exports.handleReadFunctionGroup = handleReadFunctionGroup;
5
+ const clients_1 = require("../../../lib/clients");
6
+ const utils_1 = require("../../../lib/utils");
7
+ exports.TOOL_DEFINITION = {
8
+ name: 'ReadFunctionGroup',
9
+ available_in: ['onprem', 'cloud', 'legacy'],
10
+ description: '[read-only] Read ABAP function group source code and metadata (package, responsible, description, etc.).',
11
+ inputSchema: {
12
+ type: 'object',
13
+ properties: {
14
+ function_group_name: {
15
+ type: 'string',
16
+ description: 'Function group name (e.g., Z_MY_FG).',
17
+ },
18
+ version: {
19
+ type: 'string',
20
+ enum: ['active', 'inactive'],
21
+ description: 'Version to read: "active" (default) or "inactive".',
22
+ default: 'active',
23
+ },
24
+ },
25
+ required: ['function_group_name'],
26
+ },
27
+ };
28
+ async function handleReadFunctionGroup(context, args) {
29
+ const { connection, logger } = context;
30
+ try {
31
+ const { function_group_name, version = 'active' } = args;
32
+ if (!function_group_name)
33
+ return (0, utils_1.return_error)(new Error('function_group_name is required'));
34
+ const client = (0, clients_1.createAdtClient)(connection, logger);
35
+ const functionGroupName = function_group_name.toUpperCase();
36
+ const obj = client.getFunctionGroup();
37
+ let source_code = null;
38
+ try {
39
+ const readResult = await obj.read({ functionGroupName }, version);
40
+ if (readResult?.readResult?.data) {
41
+ source_code =
42
+ typeof readResult.readResult.data === 'string'
43
+ ? readResult.readResult.data
44
+ : safeStringify(readResult.readResult.data);
45
+ }
46
+ }
47
+ catch (e) {
48
+ logger?.warn(`Could not read source for ${functionGroupName}: ${e?.message}`);
49
+ }
50
+ let metadata = null;
51
+ try {
52
+ const metaResult = await obj.readMetadata({ functionGroupName });
53
+ if (metaResult?.metadataResult?.data) {
54
+ metadata =
55
+ typeof metaResult.metadataResult.data === 'string'
56
+ ? metaResult.metadataResult.data
57
+ : safeStringify(metaResult.metadataResult.data);
58
+ }
59
+ }
60
+ catch (e) {
61
+ logger?.warn(`Could not read metadata for ${functionGroupName}: ${e?.message}`);
62
+ }
63
+ return (0, utils_1.return_response)({
64
+ data: JSON.stringify({
65
+ success: true,
66
+ function_group_name: functionGroupName,
67
+ version,
68
+ source_code,
69
+ metadata,
70
+ }, null, 2),
71
+ });
72
+ }
73
+ catch (error) {
74
+ return (0, utils_1.return_error)(error);
75
+ }
76
+ }
77
+ function safeStringify(data) {
78
+ try {
79
+ return JSON.stringify(data);
80
+ }
81
+ catch {
82
+ return String(data);
83
+ }
84
+ }
85
+ //# sourceMappingURL=handleReadFunctionGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleReadFunctionGroup.js","sourceRoot":"","sources":["../../../../src/handlers/function_group/readonly/handleReadFunctionGroup.ts"],"names":[],"mappings":"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"}
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;CA2BlB,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"}
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;;;;;;;;;;;;;;;;;;;;;;;;CA2BlB,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;;;;;;GAwF5B"}
@@ -60,9 +60,19 @@ async function handleGetFunctionModule(context, args) {
60
60
  throw new Error(`FunctionModule ${functionModuleName} not found`);
61
61
  }
62
62
  // Extract data from read result
63
- const functionModuleData = typeof readResult.readResult.data === 'string'
64
- ? readResult.readResult.data
65
- : JSON.stringify(readResult.readResult.data);
63
+ let functionModuleData;
64
+ if (typeof readResult.readResult.data === 'string') {
65
+ functionModuleData = readResult.readResult.data;
66
+ }
67
+ else {
68
+ try {
69
+ functionModuleData = JSON.stringify(readResult.readResult.data);
70
+ }
71
+ catch {
72
+ // Fallback for circular references (e.g. raw Axios response objects)
73
+ functionModuleData = String(readResult.readResult.data);
74
+ }
75
+ }
66
76
  logger?.info(`✅ GetFunctionModule completed successfully: ${functionModuleName}`);
67
77
  return (0, utils_1.return_response)({
68
78
  data: JSON.stringify({
@@ -1 +1 @@
1
- {"version":3,"file":"handleGetFunctionModule.js","sourceRoot":"","sources":["../../../../src/handlers/function_module/high/handleGetFunctionModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handleGetFunctionModule.js","sourceRoot":"","sources":["../../../../src/handlers/function_module/high/handleGetFunctionModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { HandlerContext } from '../../../lib/handlers/interfaces';
2
+ export declare const TOOL_DEFINITION: {
3
+ readonly name: "ReadFunctionModule";
4
+ readonly available_in: readonly ["onprem", "cloud", "legacy"];
5
+ readonly description: "[read-only] Read ABAP function module source code and metadata (package, responsible, description, etc.).";
6
+ readonly inputSchema: {
7
+ readonly type: "object";
8
+ readonly properties: {
9
+ readonly function_module_name: {
10
+ readonly type: "string";
11
+ readonly description: "Function module name (e.g., Z_MY_FM).";
12
+ };
13
+ readonly function_group_name: {
14
+ readonly type: "string";
15
+ readonly description: "Function group name containing the function module (e.g., Z_MY_FG).";
16
+ };
17
+ readonly version: {
18
+ readonly type: "string";
19
+ readonly enum: readonly ["active", "inactive"];
20
+ readonly description: "Version to read: \"active\" (default) or \"inactive\".";
21
+ readonly default: "active";
22
+ };
23
+ };
24
+ readonly required: readonly ["function_module_name", "function_group_name"];
25
+ };
26
+ };
27
+ export declare function handleReadFunctionModule(context: HandlerContext, args: {
28
+ function_module_name: string;
29
+ function_group_name: string;
30
+ version?: 'active' | 'inactive';
31
+ }): Promise<{
32
+ isError: boolean;
33
+ content: {
34
+ type: string;
35
+ text: any;
36
+ }[];
37
+ }>;
38
+ //# sourceMappingURL=handleReadFunctionModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleReadFunctionModule.d.ts","sourceRoot":"","sources":["../../../../src/handlers/function_module/readonly/handleReadFunctionModule.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAOvE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;CA0BlB,CAAC;AAEX,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE;IACJ,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;CACjC;;;;;;GAwEF"}