@cspeach/cli 1.1.39 → 1.1.41

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.
@@ -96,6 +96,7 @@ export async function rapFinishCheckHandler(args, ctx) {
96
96
  }
97
97
  registerTool({
98
98
  name: 'rap_finish_check',
99
+ requires: 'rap.bdef',
99
100
  description: 'Check the Finish items F1–F5 of a RAP app against its live sources (authorization, access control, '
100
101
  + 'read-only admin fields, labels, coded fields). Read-only. Run it after the Finish step and before the UI. '
101
102
  + 'A failed item lists what to fix; fix only those and run it again.',
@@ -294,6 +294,7 @@ export async function sapGenerateObjectsHandler(args, ctx, deps = {}) {
294
294
  }
295
295
  registerTool({
296
296
  name: 'sap_generate_objects',
297
+ requires: 'generator.repository',
297
298
  description: "Run SAP's RAP generator for a skeleton phase whose Plan block says sap-generator. Pass the decision path and "
298
299
  + 'sha256 from the plan block, and one approval_id per planned object in the same order (request_approval with '
299
300
  + 'op create for each). CSPeach validates, previews, generates, then checks every object is active and on the '
@@ -22,6 +22,7 @@
22
22
  * badiList(query, enhancementSpot?, maxResults?)
23
23
  */
24
24
  import { registerTool } from './index.js';
25
+ import { byObjectTypeForRead } from '../sap/profile-gate.js';
25
26
  import { normaliseSyntaxResult, checkSyntax } from './verify.js';
26
27
  import { recordSyntaxCheck } from './syntax-state.js';
27
28
  import { spillToolResult } from './result-spill.js';
@@ -71,6 +72,7 @@ export function formatSearchHits(hits) {
71
72
  // -----------------------------------------------------------------------
72
73
  registerTool({
73
74
  name: 'sap_get_source',
75
+ requires: byObjectTypeForRead,
74
76
  description: 'Read the source code of an ABAP object by name and type. '
75
77
  + 'Optional `version` selects active or inactive source explicitly; '
76
78
  + 'omitting it lets SAP choose (usually active). When the object has '
@@ -174,6 +176,7 @@ registerTool({
174
176
  // -----------------------------------------------------------------------
175
177
  registerTool({
176
178
  name: 'sap_object_structure',
179
+ requires: byObjectTypeForRead,
177
180
  description: 'Retrieve metadata and structural information for an ABAP repository object (package, description, lock state, etc.).',
178
181
  isMutating: false,
179
182
  requiresSap: true,
@@ -281,6 +284,7 @@ export function arsColumnErrorHint(query, err) {
281
284
  }
282
285
  registerTool({
283
286
  name: 'sap_sql_query',
287
+ requires: 'datapreview.freestyle',
284
288
  description: 'Execute a read-only SQL SELECT against the SAP database via ADT Data Preview. Security-sensitive tables are blocked automatically. '
285
289
  + 'Dialect limits (violations return an opaque "SAP HTTP 400: sqlQuery"): no IN-lists and at most one LIKE per WHERE clause '
286
290
  + '(multi-OR LIKE chains are rejected) — use a single LIKE or split into separate queries. '
@@ -376,6 +380,7 @@ registerTool({
376
380
  // -----------------------------------------------------------------------
377
381
  registerTool({
378
382
  name: 'sap_atc_run',
383
+ requires: 'atc.worklists',
379
384
  description: 'Run ABAP Test Cockpit (ATC) checks on a specific object and return all findings.',
380
385
  isMutating: false,
381
386
  requiresSap: true,
@@ -652,6 +657,7 @@ registerTool({
652
657
  // -----------------------------------------------------------------------
653
658
  registerTool({
654
659
  name: 'sap_run_unit_test',
660
+ requires: 'unit.testruns',
655
661
  description: 'Execute ABAP Unit tests for an object and return a structured pass/fail report with method-level results.',
656
662
  isMutating: false,
657
663
  requiresSap: true,