@mcp-abap-adt/core 5.0.11 → 5.1.0

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 (69) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/handlers/behavior_definition/high/handleCheckBehaviorDefinition.d.ts +26 -0
  3. package/dist/handlers/behavior_definition/high/handleCheckBehaviorDefinition.d.ts.map +1 -0
  4. package/dist/handlers/behavior_definition/high/handleCheckBehaviorDefinition.js +26 -0
  5. package/dist/handlers/behavior_definition/high/handleCheckBehaviorDefinition.js.map +1 -0
  6. package/dist/handlers/class/high/handleCheckClass.d.ts +37 -0
  7. package/dist/handlers/class/high/handleCheckClass.d.ts.map +1 -0
  8. package/dist/handlers/class/high/handleCheckClass.js +35 -0
  9. package/dist/handlers/class/high/handleCheckClass.js.map +1 -0
  10. package/dist/handlers/data_element/high/handleCheckDataElement.d.ts +26 -0
  11. package/dist/handlers/data_element/high/handleCheckDataElement.d.ts.map +1 -0
  12. package/dist/handlers/data_element/high/handleCheckDataElement.js +26 -0
  13. package/dist/handlers/data_element/high/handleCheckDataElement.js.map +1 -0
  14. package/dist/handlers/ddlx/high/handleCheckMetadataExtension.d.ts +26 -0
  15. package/dist/handlers/ddlx/high/handleCheckMetadataExtension.d.ts.map +1 -0
  16. package/dist/handlers/ddlx/high/handleCheckMetadataExtension.js +26 -0
  17. package/dist/handlers/ddlx/high/handleCheckMetadataExtension.js.map +1 -0
  18. package/dist/handlers/domain/high/handleCheckDomain.d.ts +26 -0
  19. package/dist/handlers/domain/high/handleCheckDomain.d.ts.map +1 -0
  20. package/dist/handlers/domain/high/handleCheckDomain.js +26 -0
  21. package/dist/handlers/domain/high/handleCheckDomain.js.map +1 -0
  22. package/dist/handlers/function/high/handleCheckFunctionGroup.d.ts +26 -0
  23. package/dist/handlers/function/high/handleCheckFunctionGroup.d.ts.map +1 -0
  24. package/dist/handlers/function/high/handleCheckFunctionGroup.js +26 -0
  25. package/dist/handlers/function/high/handleCheckFunctionGroup.js.map +1 -0
  26. package/dist/handlers/function/high/handleCheckFunctionModule.d.ts +37 -0
  27. package/dist/handlers/function/high/handleCheckFunctionModule.d.ts.map +1 -0
  28. package/dist/handlers/function/high/handleCheckFunctionModule.js +35 -0
  29. package/dist/handlers/function/high/handleCheckFunctionModule.js.map +1 -0
  30. package/dist/handlers/interface/high/handleCheckInterface.d.ts +26 -0
  31. package/dist/handlers/interface/high/handleCheckInterface.d.ts.map +1 -0
  32. package/dist/handlers/interface/high/handleCheckInterface.js +26 -0
  33. package/dist/handlers/interface/high/handleCheckInterface.js.map +1 -0
  34. package/dist/handlers/package/high/handleCheckPackage.d.ts +31 -0
  35. package/dist/handlers/package/high/handleCheckPackage.d.ts.map +1 -0
  36. package/dist/handlers/package/high/handleCheckPackage.js +30 -0
  37. package/dist/handlers/package/high/handleCheckPackage.js.map +1 -0
  38. package/dist/handlers/program/high/handleCheckProgram.d.ts +26 -0
  39. package/dist/handlers/program/high/handleCheckProgram.d.ts.map +1 -0
  40. package/dist/handlers/program/high/handleCheckProgram.js +26 -0
  41. package/dist/handlers/program/high/handleCheckProgram.js.map +1 -0
  42. package/dist/handlers/structure/high/handleCheckStructure.d.ts +37 -0
  43. package/dist/handlers/structure/high/handleCheckStructure.d.ts.map +1 -0
  44. package/dist/handlers/structure/high/handleCheckStructure.js +35 -0
  45. package/dist/handlers/structure/high/handleCheckStructure.js.map +1 -0
  46. package/dist/handlers/table/high/handleCheckTable.d.ts +37 -0
  47. package/dist/handlers/table/high/handleCheckTable.d.ts.map +1 -0
  48. package/dist/handlers/table/high/handleCheckTable.js +35 -0
  49. package/dist/handlers/table/high/handleCheckTable.js.map +1 -0
  50. package/dist/handlers/view/high/handleCheckView.d.ts +37 -0
  51. package/dist/handlers/view/high/handleCheckView.d.ts.map +1 -0
  52. package/dist/handlers/view/high/handleCheckView.js +35 -0
  53. package/dist/handlers/view/high/handleCheckView.js.map +1 -0
  54. package/dist/lib/handlers/groups/HighLevelHandlersGroup.d.ts.map +1 -1
  55. package/dist/lib/handlers/groups/HighLevelHandlersGroup.js +67 -1
  56. package/dist/lib/handlers/groups/HighLevelHandlersGroup.js.map +1 -1
  57. package/dist/lib/normalizeCheckResponse.d.ts +16 -0
  58. package/dist/lib/normalizeCheckResponse.d.ts.map +1 -0
  59. package/dist/lib/normalizeCheckResponse.js +27 -0
  60. package/dist/lib/normalizeCheckResponse.js.map +1 -0
  61. package/docs/superpowers/plans/2026-04-13-high-level-check-tools.md +1740 -0
  62. package/docs/superpowers/specs/2026-04-13-high-level-check-tools-design.md +204 -0
  63. package/docs/user-guide/AVAILABLE_TOOLS.md +187 -3
  64. package/docs/user-guide/AVAILABLE_TOOLS_COMPACT.md +1 -1
  65. package/docs/user-guide/AVAILABLE_TOOLS_HIGH.md +186 -2
  66. package/docs/user-guide/AVAILABLE_TOOLS_LEGACY.md +127 -3
  67. package/docs/user-guide/AVAILABLE_TOOLS_LOW.md +1 -1
  68. package/docs/user-guide/AVAILABLE_TOOLS_READONLY.md +1 -1
  69. package/package.json +1 -1
@@ -0,0 +1,204 @@
1
+ # High-Level Check Tools for ABAP Objects
2
+
3
+ **Issue:** #54 — Add Check tools for ABAP objects (syntax/semantic validation)
4
+ **Date:** 2026-04-13
5
+
6
+ ## Problem
7
+
8
+ LLM agents create/update ABAP objects but errors are only discovered at activation time. This causes expensive retry loops. Low-level Check handlers exist but are not exposed as standalone high-level tools — check is only embedded inside Create/Update workflows.
9
+
10
+ ## Solution
11
+
12
+ Add 13 high-level Check tools — one per object type that has a low-level check handler. Each is an adapter wrapper that delegates to the existing low-level handler and normalizes the response: strips session fields, adds a shared `object_name` field, and returns a consistent core response shape.
13
+
14
+ ## Non-goals / Limitations
15
+
16
+ - Check tools do **not** perform lock/update/activate flows — they only run syntax/semantic validation.
17
+ - Hypothetical source checking is only supported where the low-level handler already supports it (`source_code`, `ddl_code`, or `ddl_source`).
18
+ - No automatic `super_package` resolution in Phase 1 — callers must provide it for `CheckPackage`.
19
+
20
+ ## Tools
21
+
22
+ | High-level tool name | Low-level handler | source param | version default | available_in |
23
+ |---|---|---|---|---|
24
+ | `CheckBehaviorDefinition` | `handleCheckBehaviorDefinition` | — | — | onprem, cloud |
25
+ | `CheckClass` | `handleCheckClass` | `source_code` | active | onprem, cloud, legacy |
26
+ | `CheckDataElement` | `handleCheckDataElement` | — | — | onprem, cloud |
27
+ | `CheckDomain` | `handleCheckDomain` | — | — | onprem, cloud |
28
+ | `CheckFunctionGroup` | `handleCheckFunctionGroup` | — | — | onprem, cloud, legacy |
29
+ | `CheckFunctionModule` | `handleCheckFunctionModule` | — | active | onprem, cloud, legacy |
30
+ | `CheckInterface` | `handleCheckInterface` | — | — | onprem, cloud, legacy |
31
+ | `CheckMetadataExtension` | `handleCheckMetadataExtension` | — | — | onprem, cloud |
32
+ | `CheckPackage` | `handleCheckPackage` | — | — | onprem, cloud, legacy |
33
+ | `CheckProgram` | `handleCheckProgram` | — | — | onprem, legacy |
34
+ | `CheckStructure` | `handleCheckStructure` | `ddl_code` | inactive | onprem, cloud |
35
+ | `CheckTable` | `handleCheckTable` | `ddl_code` | new | onprem, cloud |
36
+ | `CheckView` | `handleCheckView` | `ddl_source` | inactive | onprem, cloud, legacy |
37
+
38
+ ## Handler pattern
39
+
40
+ Each high-level Check handler:
41
+
42
+ 1. Exports a `TOOL_DEFINITION` with high-level name (no `Low` suffix)
43
+ 2. Same `available_in` as the low-level counterpart
44
+ 3. Input schema **excludes** `session_id` and `session_state`
45
+ 4. Passes through source param where supported by low-level
46
+ 5. Passes through `version` where supported by low-level
47
+ 6. Delegates to the existing low-level handler function
48
+ 7. Normalizes response: strips `session_id`/`session_state` from output, adds shared `object_name` field
49
+ 8. If low-level handler returns `isError: true` or a non-JSON payload, returns it unchanged without attempting normalization
50
+
51
+ ### File location
52
+
53
+ Each handler in its object type's `high/` directory:
54
+
55
+ ```
56
+ src/handlers/behavior_definition/high/handleCheckBehaviorDefinition.ts
57
+ src/handlers/class/high/handleCheckClass.ts
58
+ src/handlers/data_element/high/handleCheckDataElement.ts
59
+ src/handlers/ddlx/high/handleCheckMetadataExtension.ts
60
+ src/handlers/domain/high/handleCheckDomain.ts
61
+ src/handlers/function/high/handleCheckFunctionGroup.ts
62
+ src/handlers/function/high/handleCheckFunctionModule.ts
63
+ src/handlers/interface/high/handleCheckInterface.ts
64
+ src/handlers/package/high/handleCheckPackage.ts
65
+ src/handlers/program/high/handleCheckProgram.ts
66
+ src/handlers/structure/high/handleCheckStructure.ts
67
+ src/handlers/table/high/handleCheckTable.ts
68
+ src/handlers/view/high/handleCheckView.ts
69
+ ```
70
+
71
+ Note: both FunctionGroup and FunctionModule handlers live in `src/handlers/function/high/` — same directory structure as low-level handlers.
72
+
73
+ ## Normalized response shape
74
+
75
+ All high-level Check tools return a JSON response with the following normalized common fields (object-specific compatibility fields like `class_name`, `view_name`, `name` are preserved alongside):
76
+
77
+ ```typescript
78
+ {
79
+ success: boolean; // true if no errors
80
+ object_name: string; // canonical shared field (uppercased)
81
+ check_result: { // from parseCheckRunResponse()
82
+ success: boolean;
83
+ status: string;
84
+ message: string;
85
+ errors: Array<{ type: string; text: string; line?: string | number; href?: string }>;
86
+ warnings: Array<{ type: string; text: string; line?: string | number; href?: string }>;
87
+ info: Array<{ type: string; text: string; line?: string | number; href?: string }>;
88
+ total_messages: number;
89
+ has_errors: boolean;
90
+ has_warnings: boolean;
91
+ };
92
+ message: string; // human-readable summary
93
+ // object-specific field preserved for compatibility:
94
+ class_name?: string; // CheckClass
95
+ view_name?: string; // CheckView
96
+ package_name?: string; // CheckPackage
97
+ // etc.
98
+ }
99
+ ```
100
+
101
+ **Excluded from output:** `session_id`, `session_state`.
102
+
103
+ **Error path:** If the low-level handler returns `isError: true` or a non-JSON payload, the high-level wrapper returns that error unchanged — no normalization applied.
104
+
105
+ **Field naming for objects using `name`:** BehaviorDefinition and MetadataExtension use `name` as their low-level input field. In the response, keep `name` for compatibility but always add `object_name` as the canonical shared field.
106
+
107
+ ## Special parameters per object type
108
+
109
+ - **CheckFunctionModule**: requires `function_group_name` + `function_module_name`
110
+ - **CheckPackage**: requires `package_name` + `super_package`
111
+ - **CheckTable**: `reporter` removed from high-level API (low-level default `abapCheckRun` is used)
112
+
113
+ ## Example: CheckClass
114
+
115
+ ```typescript
116
+ import { handleCheckClass as handleCheckClassLow } from '../low/handleCheckClass';
117
+ import type { HandlerContext } from '../../../lib/handlers/interfaces';
118
+ import { return_response } from '../../../lib/utils';
119
+
120
+ export const TOOL_DEFINITION = {
121
+ name: 'CheckClass',
122
+ available_in: ['onprem', 'cloud', 'legacy'] as const,
123
+ description: 'Perform syntax check on an ABAP class. Can check existing class (active/inactive) or validate hypothetical source code. Returns syntax errors, warnings, and messages.',
124
+ inputSchema: {
125
+ type: 'object',
126
+ properties: {
127
+ class_name: { type: 'string', description: 'Name of the ABAP class to check' },
128
+ version: { type: 'string', enum: ['active', 'inactive'], description: 'Version to check. Default: active' },
129
+ source_code: { type: 'string', description: 'Optional source code to check instead of the saved version' },
130
+ },
131
+ required: ['class_name'],
132
+ },
133
+ } as const;
134
+
135
+ export async function handleCheckClass(context: HandlerContext, args: Record<string, unknown>) {
136
+ const result = await handleCheckClassLow(context, args);
137
+ // Normalize: parse low-level JSON, add object_name, strip session fields
138
+ const data = JSON.parse(result.content[0].text);
139
+ delete data.session_id;
140
+ delete data.session_state;
141
+ data.object_name = data.class_name;
142
+ return return_response({ data: JSON.stringify(data, null, 2) });
143
+ }
144
+ ```
145
+
146
+ ## Example: CheckBehaviorDefinition (no source param, no version)
147
+
148
+ ```typescript
149
+ import { handleCheckBehaviorDefinition as handleCheckBdefLow } from '../low/handleCheckBehaviorDefinition';
150
+ import type { HandlerContext } from '../../../lib/handlers/interfaces';
151
+ import { return_response } from '../../../lib/utils';
152
+
153
+ export const TOOL_DEFINITION = {
154
+ name: 'CheckBehaviorDefinition',
155
+ available_in: ['onprem', 'cloud'] as const,
156
+ description: 'Perform syntax check on an ABAP behavior definition (BDEF). Returns syntax errors, warnings, and messages.',
157
+ inputSchema: {
158
+ type: 'object',
159
+ properties: {
160
+ name: { type: 'string', description: 'Name of the behavior definition to check' },
161
+ },
162
+ required: ['name'],
163
+ },
164
+ } as const;
165
+
166
+ export async function handleCheckBehaviorDefinition(context: HandlerContext, args: Record<string, unknown>) {
167
+ const result = await handleCheckBdefLow(context, args);
168
+ const data = JSON.parse(result.content[0].text);
169
+ delete data.session_id;
170
+ delete data.session_state;
171
+ data.object_name = data.name;
172
+ return return_response({ data: JSON.stringify(data, null, 2) });
173
+ }
174
+ ```
175
+
176
+ ## Registration
177
+
178
+ All 13 handlers registered in `src/lib/handlers/groups/HighLevelHandlersGroup.ts` following existing pattern.
179
+
180
+ ## Acceptance criteria
181
+
182
+ - [ ] High-level input schemas exclude `session_id` and `session_state`
183
+ - [ ] High-level responses do not contain `session_id` or `session_state`
184
+ - [ ] Response includes normalized `object_name` field
185
+ - [ ] Response includes `success`, `message`, and `check_result` fields
186
+ - [ ] Each tool is registered in `HighLevelHandlersGroup.ts`
187
+ - [ ] Environment gating follows `available_in` from corresponding low-level handler
188
+ - [ ] `CheckTable` does not expose `reporter` parameter
189
+ - [ ] Each tool has integration test coverage in `src/__tests__/integration/high/` layout
190
+
191
+ ## Testing
192
+
193
+ Integration tests for each Check tool in `src/__tests__/integration/high/` directories, following existing test patterns. Tests must verify:
194
+
195
+ - Tool registration and availability per environment
196
+ - Normalized response contract: `object_name` present, `session_id`/`session_state` absent
197
+ - Preservation of object-specific fields (e.g., `class_name`, `view_name`)
198
+ - `success`, `message`, `check_result` fields present in response
199
+
200
+ ## Phased delivery
201
+
202
+ **Phase 1** (this PR): Adapter wrappers with response normalization, registration in HighLevelHandlersGroup, integration tests verifying normalized contract.
203
+
204
+ **Phase 2** (future): API ergonomics — optional `super_package` resolution in CheckPackage, richer error descriptions for LLM agents.
@@ -4,9 +4,9 @@ Generated from code in `src/handlers/**` (not from docs).
4
4
 
5
5
  ## Summary
6
6
 
7
- - Total tools: 289
7
+ - Total tools: 303
8
8
  - Read-only tools: 54
9
- - High-level tools: 113
9
+ - High-level tools: 127
10
10
  - Low-level tools: 122
11
11
 
12
12
  - Compact tools: 22 (included in High-level group)
@@ -99,6 +99,7 @@ Generated from code in `src/handlers/**` (not from docs).
99
99
  - [ReadView](#readview-read-only-view)
100
100
  - [High-Level Group](#high-level-group)
101
101
  - [Behavior Definition](#high-level-behavior-definition)
102
+ - [CheckBehaviorDefinition](#checkbehaviordefinition-high-level-behavior-definition)
102
103
  - [CreateBehaviorDefinition](#createbehaviordefinition-high-level-behavior-definition)
103
104
  - [DeleteBehaviorDefinition](#deletebehaviordefinition-high-level-behavior-definition)
104
105
  - [GetBehaviorDefinition](#getbehaviordefinition-high-level-behavior-definition)
@@ -109,6 +110,7 @@ Generated from code in `src/handlers/**` (not from docs).
109
110
  - [GetBehaviorImplementation](#getbehaviorimplementation-high-level-behavior-implementation)
110
111
  - [UpdateBehaviorImplementation](#updatebehaviorimplementation-high-level-behavior-implementation)
111
112
  - [Class](#high-level-class)
113
+ - [CheckClass](#checkclass-high-level-class)
112
114
  - [CreateClass](#createclass-high-level-class)
113
115
  - [DeleteClass](#deleteclass-high-level-class)
114
116
  - [DeleteLocalDefinitions](#deletelocaldefinitions-high-level-class)
@@ -125,6 +127,8 @@ Generated from code in `src/handlers/**` (not from docs).
125
127
  - [UpdateLocalMacros](#updatelocalmacros-high-level-class)
126
128
  - [UpdateLocalTestClass](#updatelocaltestclass-high-level-class)
127
129
  - [UpdateLocalTypes](#updatelocaltypes-high-level-class)
130
+ - [Common](#high-level-common)
131
+ - [ActivateObjects](#activateobjects-high-level-common)
128
132
  - [Compact](#high-level-compact)
129
133
  - [HandlerActivate](#handleractivate-high-level-compact)
130
134
  - [HandlerCdsUnitTestResult](#handlercdsunittestresult-high-level-compact)
@@ -149,19 +153,24 @@ Generated from code in `src/handlers/**` (not from docs).
149
153
  - [HandlerUpdate](#handlerupdate-high-level-compact)
150
154
  - [HandlerValidate](#handlervalidate-high-level-compact)
151
155
  - [Data Element](#high-level-data-element)
156
+ - [CheckDataElement](#checkdataelement-high-level-data-element)
152
157
  - [CreateDataElement](#createdataelement-high-level-data-element)
153
158
  - [DeleteDataElement](#deletedataelement-high-level-data-element)
154
159
  - [GetDataElement](#getdataelement-high-level-data-element)
155
160
  - [UpdateDataElement](#updatedataelement-high-level-data-element)
156
161
  - [Ddlx](#high-level-ddlx)
162
+ - [CheckMetadataExtension](#checkmetadataextension-high-level-ddlx)
157
163
  - [CreateMetadataExtension](#createmetadataextension-high-level-ddlx)
158
164
  - [UpdateMetadataExtension](#updatemetadataextension-high-level-ddlx)
159
165
  - [Domain](#high-level-domain)
166
+ - [CheckDomain](#checkdomain-high-level-domain)
160
167
  - [CreateDomain](#createdomain-high-level-domain)
161
168
  - [DeleteDomain](#deletedomain-high-level-domain)
162
169
  - [GetDomain](#getdomain-high-level-domain)
163
170
  - [UpdateDomain](#updatedomain-high-level-domain)
164
171
  - [Function](#high-level-function)
172
+ - [CheckFunctionGroup](#checkfunctiongroup-high-level-function)
173
+ - [CheckFunctionModule](#checkfunctionmodule-high-level-function)
165
174
  - [CreateFunctionGroup](#createfunctiongroup-high-level-function)
166
175
  - [CreateFunctionModule](#createfunctionmodule-high-level-function)
167
176
  - [UpdateFunctionGroup](#updatefunctiongroup-high-level-function)
@@ -173,6 +182,7 @@ Generated from code in `src/handlers/**` (not from docs).
173
182
  - [DeleteFunctionModule](#deletefunctionmodule-high-level-function-module)
174
183
  - [GetFunctionModule](#getfunctionmodule-high-level-function-module)
175
184
  - [Interface](#high-level-interface)
185
+ - [CheckInterface](#checkinterface-high-level-interface)
176
186
  - [CreateInterface](#createinterface-high-level-interface)
177
187
  - [DeleteInterface](#deleteinterface-high-level-interface)
178
188
  - [GetInterface](#getinterface-high-level-interface)
@@ -181,9 +191,11 @@ Generated from code in `src/handlers/**` (not from docs).
181
191
  - [DeleteMetadataExtension](#deletemetadataextension-high-level-metadata-extension)
182
192
  - [GetMetadataExtension](#getmetadataextension-high-level-metadata-extension)
183
193
  - [Package](#high-level-package)
194
+ - [CheckPackage](#checkpackage-high-level-package)
184
195
  - [CreatePackage](#createpackage-high-level-package)
185
196
  - [GetPackage](#getpackage-high-level-package)
186
197
  - [Program](#high-level-program)
198
+ - [CheckProgram](#checkprogram-high-level-program)
187
199
  - [CreateProgram](#createprogram-high-level-program)
188
200
  - [DeleteProgram](#deleteprogram-high-level-program)
189
201
  - [GetProgram](#getprogram-high-level-program)
@@ -201,6 +213,7 @@ Generated from code in `src/handlers/**` (not from docs).
201
213
  - [GetServiceDefinition](#getservicedefinition-high-level-service-definition)
202
214
  - [UpdateServiceDefinition](#updateservicedefinition-high-level-service-definition)
203
215
  - [Structure](#high-level-structure)
216
+ - [CheckStructure](#checkstructure-high-level-structure)
204
217
  - [CreateStructure](#createstructure-high-level-structure)
205
218
  - [DeleteStructure](#deletestructure-high-level-structure)
206
219
  - [GetStructure](#getstructure-high-level-structure)
@@ -208,6 +221,7 @@ Generated from code in `src/handlers/**` (not from docs).
208
221
  - [System](#high-level-system)
209
222
  - [GetPackageTree](#getpackagetree-high-level-system)
210
223
  - [Table](#high-level-table)
224
+ - [CheckTable](#checktable-high-level-table)
211
225
  - [CreateTable](#createtable-high-level-table)
212
226
  - [DeleteTable](#deletetable-high-level-table)
213
227
  - [GetTable](#gettable-high-level-table)
@@ -229,6 +243,7 @@ Generated from code in `src/handlers/**` (not from docs).
229
243
  - [UpdateCdsUnitTest](#updatecdsunittest-high-level-unit-test)
230
244
  - [UpdateUnitTest](#updateunittest-high-level-unit-test)
231
245
  - [View](#high-level-view)
246
+ - [CheckView](#checkview-high-level-view)
232
247
  - [CreateView](#createview-high-level-view)
233
248
  - [DeleteView](#deleteview-high-level-view)
234
249
  - [GetView](#getview-high-level-view)
@@ -1159,6 +1174,17 @@ Generated from code in `src/handlers/**` (not from docs).
1159
1174
  <a id="high-level-behavior-definition"></a>
1160
1175
  ### High-Level / Behavior Definition
1161
1176
 
1177
+ <a id="checkbehaviordefinition-high-level-behavior-definition"></a>
1178
+ #### CheckBehaviorDefinition (High-Level / Behavior Definition)
1179
+ **Description:** Perform syntax check on an ABAP behavior definition (BDEF). Returns syntax errors, warnings, and messages.
1180
+
1181
+ **Source:** `src/handlers/behavior_definition/high/handleCheckBehaviorDefinition.ts`
1182
+
1183
+ **Parameters:**
1184
+ - `name` (string, required) - BehaviorDefinition name (e.g., ZI_MY_BDEF).
1185
+
1186
+ ---
1187
+
1162
1188
  <a id="createbehaviordefinition-high-level-behavior-definition"></a>
1163
1189
  #### CreateBehaviorDefinition (High-Level / Behavior Definition)
1164
1190
  **Description:** Create a new ABAP Behavior Definition (BDEF) in SAP system. Defines RAP business object behavior: CRUD operations, validations, determinations, actions, and draft handling.
@@ -1275,6 +1301,19 @@ Generated from code in `src/handlers/**` (not from docs).
1275
1301
  <a id="high-level-class"></a>
1276
1302
  ### High-Level / Class
1277
1303
 
1304
+ <a id="checkclass-high-level-class"></a>
1305
+ #### CheckClass (High-Level / Class)
1306
+ **Description:** Perform syntax check on an ABAP class. Can check existing class (active/inactive) or validate hypothetical source code. Returns syntax errors, warnings, and messages.
1307
+
1308
+ **Source:** `src/handlers/class/high/handleCheckClass.ts`
1309
+
1310
+ **Parameters:**
1311
+ - `class_name` (string, required) - Class name (e.g., ZCL_MY_CLASS).
1312
+ - `source_code` (string, optional) - Optional: source code to validate. If provided, validates hypothetical code without creating object. Must include complete CLASS DEFINITION and IMPLEMENTATION sections.
1313
+ - `version` (string, optional) - Version to check:
1314
+
1315
+ ---
1316
+
1278
1317
  <a id="createclass-high-level-class"></a>
1279
1318
  #### CreateClass (High-Level / Class)
1280
1319
  **Description:** Create a new ABAP class in SAP system. Creates the class object in initial state. Use UpdateClass to set source code afterwards.
@@ -1487,6 +1526,21 @@ Generated from code in `src/handlers/**` (not from docs).
1487
1526
 
1488
1527
  ---
1489
1528
 
1529
+ <a id="high-level-common"></a>
1530
+ ### High-Level / Common
1531
+
1532
+ <a id="activateobjects-high-level-common"></a>
1533
+ #### ActivateObjects (High-Level / Common)
1534
+ **Description:** Activate one or multiple ABAP repository objects. Use after Create/Update when objects remain inactive, or for group activation of related objects (e.g., domains + data elements + tables together). Works with any object type.
1535
+
1536
+ **Source:** `src/handlers/common/high/handleActivateObjects.ts`
1537
+
1538
+ **Parameters:**
1539
+ - `objects` (array, required) - Array of objects to activate. Each object must have
1540
+ - `preaudit` (boolean, optional) - Request pre-audit before activation. Default: true
1541
+
1542
+ ---
1543
+
1490
1544
  <a id="high-level-compact"></a>
1491
1545
  ### High-Level / Compact
1492
1546
 
@@ -1890,6 +1944,17 @@ Generated from code in `src/handlers/**` (not from docs).
1890
1944
  <a id="high-level-data-element"></a>
1891
1945
  ### High-Level / Data Element
1892
1946
 
1947
+ <a id="checkdataelement-high-level-data-element"></a>
1948
+ #### CheckDataElement (High-Level / Data Element)
1949
+ **Description:** Perform syntax check on an ABAP data element. Returns syntax errors, warnings, and messages.
1950
+
1951
+ **Source:** `src/handlers/data_element/high/handleCheckDataElement.ts`
1952
+
1953
+ **Parameters:**
1954
+ - `data_element_name` (string, required) - Data element name (e.g., ZDE_MY_ELEMENT).
1955
+
1956
+ ---
1957
+
1893
1958
  <a id="createdataelement-high-level-data-element"></a>
1894
1959
  #### CreateDataElement (High-Level / Data Element)
1895
1960
  **Description:** Create a new ABAP data element in SAP system with all required steps: create, activate, and verify.
@@ -1970,6 +2035,17 @@ Generated from code in `src/handlers/**` (not from docs).
1970
2035
  <a id="high-level-ddlx"></a>
1971
2036
  ### High-Level / Ddlx
1972
2037
 
2038
+ <a id="checkmetadataextension-high-level-ddlx"></a>
2039
+ #### CheckMetadataExtension (High-Level / Ddlx)
2040
+ **Description:** Perform syntax check on an ABAP metadata extension (DDLX). Returns syntax errors, warnings, and messages.
2041
+
2042
+ **Source:** `src/handlers/ddlx/high/handleCheckMetadataExtension.ts`
2043
+
2044
+ **Parameters:**
2045
+ - `name` (string, required) - Metadata extension name (e.g., ZC_MY_DDLX).
2046
+
2047
+ ---
2048
+
1973
2049
  <a id="createmetadataextension-high-level-ddlx"></a>
1974
2050
  #### CreateMetadataExtension (High-Level / Ddlx)
1975
2051
  **Description:** Create a new ABAP Metadata Extension (DDLX) in SAP system. Defines Fiori UI annotations, field labels, search help, and list/object page layout for CDS views.
@@ -2003,6 +2079,17 @@ Generated from code in `src/handlers/**` (not from docs).
2003
2079
  <a id="high-level-domain"></a>
2004
2080
  ### High-Level / Domain
2005
2081
 
2082
+ <a id="checkdomain-high-level-domain"></a>
2083
+ #### CheckDomain (High-Level / Domain)
2084
+ **Description:** Perform syntax check on an ABAP domain. Returns syntax errors, warnings, and messages.
2085
+
2086
+ **Source:** `src/handlers/domain/high/handleCheckDomain.ts`
2087
+
2088
+ **Parameters:**
2089
+ - `domain_name` (string, required) - Domain name (e.g., ZDM_MY_DOMAIN).
2090
+
2091
+ ---
2092
+
2006
2093
  <a id="createdomain-high-level-domain"></a>
2007
2094
  #### CreateDomain (High-Level / Domain)
2008
2095
  **Description:** Create a new ABAP domain in SAP system with all required steps: lock, create, check, unlock, activate, and verify.
@@ -2076,6 +2163,30 @@ Generated from code in `src/handlers/**` (not from docs).
2076
2163
  <a id="high-level-function"></a>
2077
2164
  ### High-Level / Function
2078
2165
 
2166
+ <a id="checkfunctiongroup-high-level-function"></a>
2167
+ #### CheckFunctionGroup (High-Level / Function)
2168
+ **Description:** Perform syntax check on an ABAP function group. Returns syntax errors, warnings, and messages.
2169
+
2170
+ **Source:** `src/handlers/function/high/handleCheckFunctionGroup.ts`
2171
+
2172
+ **Parameters:**
2173
+ - `function_group_name` (string, required) - Function group name (e.g., ZFGRP_MY_GROUP).
2174
+
2175
+ ---
2176
+
2177
+ <a id="checkfunctionmodule-high-level-function"></a>
2178
+ #### CheckFunctionModule (High-Level / Function)
2179
+ **Description:** Perform syntax check on an ABAP function module. Returns syntax errors, warnings, and messages.
2180
+
2181
+ **Source:** `src/handlers/function/high/handleCheckFunctionModule.ts`
2182
+
2183
+ **Parameters:**
2184
+ - `function_group_name` (string, required) - Function group name containing the function module.
2185
+ - `function_module_name` (string, required) - Function module name (e.g., Z_MY_FUNCTION).
2186
+ - `version` (string, optional) - Version to check:
2187
+
2188
+ ---
2189
+
2079
2190
  <a id="createfunctiongroup-high-level-function"></a>
2080
2191
  #### CreateFunctionGroup (High-Level / Function)
2081
2192
  **Description:** Create a new ABAP function group in SAP system. Function groups serve as containers for function modules. Uses stateful session for proper lock management.
@@ -2192,6 +2303,17 @@ Generated from code in `src/handlers/**` (not from docs).
2192
2303
  <a id="high-level-interface"></a>
2193
2304
  ### High-Level / Interface
2194
2305
 
2306
+ <a id="checkinterface-high-level-interface"></a>
2307
+ #### CheckInterface (High-Level / Interface)
2308
+ **Description:** Perform syntax check on an ABAP interface. Returns syntax errors, warnings, and messages.
2309
+
2310
+ **Source:** `src/handlers/interface/high/handleCheckInterface.ts`
2311
+
2312
+ **Parameters:**
2313
+ - `interface_name` (string, required) - Interface name (e.g., ZIF_MY_INTERFACE).
2314
+
2315
+ ---
2316
+
2195
2317
  <a id="createinterface-high-level-interface"></a>
2196
2318
  #### CreateInterface (High-Level / Interface)
2197
2319
  **Description:** Create a new ABAP interface in SAP system. Creates the interface object in initial state. Use UpdateInterface to set source code afterwards.
@@ -2274,6 +2396,18 @@ Generated from code in `src/handlers/**` (not from docs).
2274
2396
  <a id="high-level-package"></a>
2275
2397
  ### High-Level / Package
2276
2398
 
2399
+ <a id="checkpackage-high-level-package"></a>
2400
+ #### CheckPackage (High-Level / Package)
2401
+ **Description:** Perform syntax check on an ABAP package. Returns syntax errors, warnings, and messages.
2402
+
2403
+ **Source:** `src/handlers/package/high/handleCheckPackage.ts`
2404
+
2405
+ **Parameters:**
2406
+ - `package_name` (string, required) - Package name (e.g., ZMY_PACKAGE).
2407
+ - `super_package` (string, required) - Super package name (parent package).
2408
+
2409
+ ---
2410
+
2277
2411
  <a id="createpackage-high-level-package"></a>
2278
2412
  #### CreatePackage (High-Level / Package)
2279
2413
  **Description:** Create a new ABAP package in SAP system. Packages are containers for development objects and are essential for organizing code.
@@ -2300,6 +2434,17 @@ Generated from code in `src/handlers/**` (not from docs).
2300
2434
  <a id="high-level-program"></a>
2301
2435
  ### High-Level / Program
2302
2436
 
2437
+ <a id="checkprogram-high-level-program"></a>
2438
+ #### CheckProgram (High-Level / Program)
2439
+ **Description:** Perform syntax check on an ABAP program. Returns syntax errors, warnings, and messages. Not available on cloud.
2440
+
2441
+ **Source:** `src/handlers/program/high/handleCheckProgram.ts`
2442
+
2443
+ **Parameters:**
2444
+ - `program_name` (string, required) - Program name (e.g., ZMCP_MY_PROGRAM).
2445
+
2446
+ ---
2447
+
2303
2448
  <a id="createprogram-high-level-program"></a>
2304
2449
  #### CreateProgram (High-Level / Program)
2305
2450
  **Description:** Create a new ABAP program (report) in SAP system. Creates the program object in initial state. Use UpdateProgram to set source code afterwards.
@@ -2505,6 +2650,19 @@ Generated from code in `src/handlers/**` (not from docs).
2505
2650
  <a id="high-level-structure"></a>
2506
2651
  ### High-Level / Structure
2507
2652
 
2653
+ <a id="checkstructure-high-level-structure"></a>
2654
+ #### CheckStructure (High-Level / Structure)
2655
+ **Description:** Perform syntax check on an ABAP structure. Can check existing structure (active/inactive) or validate hypothetical DDL code. Returns syntax errors, warnings, and messages.
2656
+
2657
+ **Source:** `src/handlers/structure/high/handleCheckStructure.ts`
2658
+
2659
+ **Parameters:**
2660
+ - `ddl_code` (string, optional) - Optional: DDL source code to validate instead of the saved version.
2661
+ - `structure_name` (string, required) - Structure name (e.g., ZST_MY_STRUCTURE).
2662
+ - `version` (string, optional) - Version to check:
2663
+
2664
+ ---
2665
+
2508
2666
  <a id="createstructure-high-level-structure"></a>
2509
2667
  #### CreateStructure (High-Level / Structure)
2510
2668
  **Description:** Create a new ABAP structure in SAP system with fields and type references. Includes create, activate, and verify steps.
@@ -2581,6 +2739,19 @@ Generated from code in `src/handlers/**` (not from docs).
2581
2739
  <a id="high-level-table"></a>
2582
2740
  ### High-Level / Table
2583
2741
 
2742
+ <a id="checktable-high-level-table"></a>
2743
+ #### CheckTable (High-Level / Table)
2744
+ **Description:** Perform syntax check on an ABAP table. Can check existing table (active/inactive) or validate hypothetical DDL code. Returns syntax errors, warnings, and messages.
2745
+
2746
+ **Source:** `src/handlers/table/high/handleCheckTable.ts`
2747
+
2748
+ **Parameters:**
2749
+ - `ddl_code` (string, optional) - Optional: DDL source code to validate instead of the saved version.
2750
+ - `table_name` (string, required) - Table name (e.g., ZMCP_MY_TABLE).
2751
+ - `version` (string, optional) - Version to check:
2752
+
2753
+ ---
2754
+
2584
2755
  <a id="createtable-high-level-table"></a>
2585
2756
  #### CreateTable (High-Level / Table)
2586
2757
  **Description:** Create a new ABAP table via the ADT API. Creates the table object in initial state. Use UpdateTable to set DDL code afterwards.
@@ -2822,6 +2993,19 @@ Generated from code in `src/handlers/**` (not from docs).
2822
2993
  <a id="high-level-view"></a>
2823
2994
  ### High-Level / View
2824
2995
 
2996
+ <a id="checkview-high-level-view"></a>
2997
+ #### CheckView (High-Level / View)
2998
+ **Description:** Perform syntax check on an ABAP CDS view. Can check existing view (active/inactive) or validate hypothetical DDL source. Returns syntax errors, warnings, and messages.
2999
+
3000
+ **Source:** `src/handlers/view/high/handleCheckView.ts`
3001
+
3002
+ **Parameters:**
3003
+ - `ddl_source` (string, optional) - Optional: DDL source code to validate instead of the saved version.
3004
+ - `version` (string, optional) - Version to check:
3005
+ - `view_name` (string, required) - CDS view name (e.g., ZI_MY_VIEW).
3006
+
3007
+ ---
3008
+
2825
3009
  <a id="createview-high-level-view"></a>
2826
3010
  #### CreateView (High-Level / View)
2827
3011
  **Description:** Create CDS View or Classic View in SAP. Creates the view object in initial state. Use UpdateView to set DDL source code afterwards.
@@ -4681,4 +4865,4 @@ Generated from code in `src/handlers/**` (not from docs).
4681
4865
 
4682
4866
  ---
4683
4867
 
4684
- *Last updated: 2026-04-12*
4868
+ *Last updated: 2026-04-13*
@@ -551,4 +551,4 @@ Preferred dedicated compact tools and minimal payloads:
551
551
 
552
552
  ---
553
553
 
554
- *Last updated: 2026-04-12*
554
+ *Last updated: 2026-04-13*