arc-1 0.9.5 → 0.9.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -3
- package/dist/adt/abapgit.d.ts +2 -1
- package/dist/adt/abapgit.d.ts.map +1 -1
- package/dist/adt/abapgit.js +2 -2
- package/dist/adt/abapgit.js.map +1 -1
- package/dist/adt/btp.d.ts.map +1 -1
- package/dist/adt/btp.js +7 -3
- package/dist/adt/btp.js.map +1 -1
- package/dist/adt/class-structure.d.ts +176 -0
- package/dist/adt/class-structure.d.ts.map +1 -0
- package/dist/adt/class-structure.js +317 -0
- package/dist/adt/class-structure.js.map +1 -0
- package/dist/adt/client.d.ts +150 -8
- package/dist/adt/client.d.ts.map +1 -1
- package/dist/adt/client.js +345 -12
- package/dist/adt/client.js.map +1 -1
- package/dist/adt/config.d.ts +7 -1
- package/dist/adt/config.d.ts.map +1 -1
- package/dist/adt/config.js.map +1 -1
- package/dist/adt/crud.d.ts +38 -0
- package/dist/adt/crud.d.ts.map +1 -1
- package/dist/adt/crud.js +73 -1
- package/dist/adt/crud.js.map +1 -1
- package/dist/adt/errors.d.ts +2 -2
- package/dist/adt/errors.d.ts.map +1 -1
- package/dist/adt/errors.js +50 -6
- package/dist/adt/errors.js.map +1 -1
- package/dist/adt/features.d.ts.map +1 -1
- package/dist/adt/features.js +27 -3
- package/dist/adt/features.js.map +1 -1
- package/dist/adt/gcts.d.ts +3 -2
- package/dist/adt/gcts.d.ts.map +1 -1
- package/dist/adt/gcts.js +4 -4
- package/dist/adt/gcts.js.map +1 -1
- package/dist/adt/http.d.ts +41 -0
- package/dist/adt/http.d.ts.map +1 -1
- package/dist/adt/http.js +132 -45
- package/dist/adt/http.js.map +1 -1
- package/dist/adt/package-hierarchy.d.ts +67 -0
- package/dist/adt/package-hierarchy.d.ts.map +1 -0
- package/dist/adt/package-hierarchy.js +100 -0
- package/dist/adt/package-hierarchy.js.map +1 -0
- package/dist/adt/release.d.ts +35 -0
- package/dist/adt/release.d.ts.map +1 -0
- package/dist/adt/release.js +48 -0
- package/dist/adt/release.js.map +1 -0
- package/dist/adt/safety.d.ts +39 -3
- package/dist/adt/safety.d.ts.map +1 -1
- package/dist/adt/safety.js +136 -15
- package/dist/adt/safety.js.map +1 -1
- package/dist/adt/types.d.ts +74 -0
- package/dist/adt/types.d.ts.map +1 -1
- package/dist/adt/xml-parser.d.ts +68 -1
- package/dist/adt/xml-parser.d.ts.map +1 -1
- package/dist/adt/xml-parser.js +263 -0
- package/dist/adt/xml-parser.js.map +1 -1
- package/dist/authz/policy.d.ts.map +1 -1
- package/dist/authz/policy.js +12 -0
- package/dist/authz/policy.js.map +1 -1
- package/dist/context/grep.d.ts +48 -0
- package/dist/context/grep.d.ts.map +1 -0
- package/dist/context/grep.js +146 -0
- package/dist/context/grep.js.map +1 -0
- package/dist/handlers/intent.d.ts +2 -1
- package/dist/handlers/intent.d.ts.map +1 -1
- package/dist/handlers/intent.js +614 -50
- package/dist/handlers/intent.js.map +1 -1
- package/dist/handlers/schemas.d.ts +52 -6
- package/dist/handlers/schemas.d.ts.map +1 -1
- package/dist/handlers/schemas.js +90 -9
- package/dist/handlers/schemas.js.map +1 -1
- package/dist/handlers/tools.d.ts.map +1 -1
- package/dist/handlers/tools.js +73 -12
- package/dist/handlers/tools.js.map +1 -1
- package/dist/lint/lint.d.ts.map +1 -1
- package/dist/lint/lint.js +6 -0
- package/dist/lint/lint.js.map +1 -1
- package/dist/lint/pre-write-hints.d.ts +45 -0
- package/dist/lint/pre-write-hints.d.ts.map +1 -0
- package/dist/lint/pre-write-hints.js +145 -0
- package/dist/lint/pre-write-hints.js.map +1 -0
- package/dist/server/audit.d.ts +27 -1
- package/dist/server/audit.d.ts.map +1 -1
- package/dist/server/audit.js.map +1 -1
- package/dist/server/auth-rate-limit.d.ts +78 -0
- package/dist/server/auth-rate-limit.d.ts.map +1 -0
- package/dist/server/auth-rate-limit.js +95 -0
- package/dist/server/auth-rate-limit.js.map +1 -0
- package/dist/server/config.d.ts.map +1 -1
- package/dist/server/config.js +32 -0
- package/dist/server/config.js.map +1 -1
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/http.js +73 -2
- package/dist/server/http.js.map +1 -1
- package/dist/server/mcp-rate-limit.d.ts +69 -0
- package/dist/server/mcp-rate-limit.d.ts.map +1 -0
- package/dist/server/mcp-rate-limit.js +92 -0
- package/dist/server/mcp-rate-limit.js.map +1 -0
- package/dist/server/server.d.ts +26 -6
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +87 -28
- package/dist/server/server.js.map +1 -1
- package/dist/server/types.d.ts +20 -1
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server/types.js +2 -0
- package/dist/server/types.js.map +1 -1
- package/package.json +14 -12
package/dist/handlers/tools.js
CHANGED
|
@@ -43,6 +43,7 @@ const SAPREAD_TYPES_ONPREM = [
|
|
|
43
43
|
'DTEL',
|
|
44
44
|
'TRAN',
|
|
45
45
|
'TABLE_CONTENTS',
|
|
46
|
+
'TABLE_QUERY',
|
|
46
47
|
'DEVC',
|
|
47
48
|
'SOBJ',
|
|
48
49
|
'SYSTEM',
|
|
@@ -82,6 +83,7 @@ const SAPREAD_TYPES_BTP = [
|
|
|
82
83
|
'DOMA',
|
|
83
84
|
'DTEL',
|
|
84
85
|
'TABLE_CONTENTS',
|
|
86
|
+
'TABLE_QUERY',
|
|
85
87
|
'DEVC',
|
|
86
88
|
'SYSTEM',
|
|
87
89
|
'COMPONENTS',
|
|
@@ -93,9 +95,11 @@ const SAPREAD_TYPES_BTP = [
|
|
|
93
95
|
'API_STATE',
|
|
94
96
|
'INACTIVE_OBJECTS',
|
|
95
97
|
];
|
|
96
|
-
const SAPREAD_DESC_ONPREM = 'Read SAP ABAP objects. Types: PROG, CLAS, INTF, FUNC, FUGR (use expand_includes=true to get all include sources), INCL, DDLS, DDLX (CDS metadata extensions — UI annotations), BDEF, SRVD, SRVB (service bindings — returns structured binding info: OData version, publish status, service definition ref), SKTD (Knowledge Transfer Documents — Markdown documentation attached to ABAP objects like CDS views, BDEFs, classes), TABL (DDIC TABL — covers transparent tables like T000 AND DDIC structures like BAPIRET2; returns CDS-like source. ARC-1 auto-resolves the URL: tries /sap/bc/adt/ddic/tables/ first, falls back to /sap/bc/adt/ddic/structures/. Note: there is no separate STRU type — TABL is the canonical short type for both, mirroring TADIR R3TR TABL and abapGit conventions), VIEW, DOMA (DDIC domains — returns type info, value table, fixed values), DTEL (data elements — returns domain, labels, search help), TRAN (transaction codes — returns description, program, package), TABLE_CONTENTS, DEVC, SOBJ (BOR business objects — returns method catalog or full implementation), SYSTEM, COMPONENTS, MSAG (message classes — returns class metadata + messages array), TEXT_ELEMENTS, VARIANTS. For CLAS: omit include to get the full class source (definition + implementation combined). The include param is optional — use it only to read class-local sections: definitions (local types), implementations (local helper classes), macros, testclasses (ABAP Unit). For CLAS with method param: use method="*" to list all methods with signatures and visibility, or method="method_name" to read a single method implementation (95% fewer tokens than full source). For SOBJ: returns BOR method catalog; use method param to read a specific method implementation. BSP (deployed UI5/Fiori apps — list apps, browse files, read content; use name to browse app structure, include for subfolder or file), BSP_DEPLOY (query deployed UI5 apps via ABAP Repository OData Service — returns name, package, description). API_STATE (API release state — checks if an object is released for ABAP Cloud / S/4HANA Clean Core; returns contract states C0-C4, successor info; use objectType param for non-class objects). INACTIVE_OBJECTS (list all objects pending activation — no name param needed; use before SAPActivate batch_activate to see what needs activating). AUTH (Authorization Fields — returns check table, domain, conversion exit, org-level flags; on-prem only). FEATURE_TOGGLE (Feature Toggles — returns current toggle state per system from SAP switch framework; on-prem only). ENHO (Enhancement Implementations / BAdI — returns technology type, referenced enhancement object, and BAdI implementations with implementing classes; on-prem only). VERSIONS (list revision history of an object — returns JSON with object metadata and revisions [{id, author, timestamp, versionTitle?, transport?, uri}]; pass optional include for CLAS or group for FUNC; on-prem only and may return 404 for some DDIC types on non-S/4 backends). VERSION_SOURCE (fetch source at a specific revision URI from VERSIONS response; returns raw source text; on-prem only). ' +
|
|
98
|
+
const SAPREAD_DESC_ONPREM = 'Read SAP ABAP objects. Types: PROG, CLAS, INTF, FUNC, FUGR (use expand_includes=true to get all include sources), INCL, DDLS, DDLX (CDS metadata extensions — UI annotations), BDEF, SRVD, SRVB (service bindings — returns structured binding info: OData version, publish status, service definition ref), SKTD (Knowledge Transfer Documents — Markdown documentation attached to ABAP objects like CDS views, BDEFs, classes), TABL (DDIC TABL — covers transparent tables like T000 AND DDIC structures like BAPIRET2; returns CDS-like source. ARC-1 auto-resolves the URL: tries /sap/bc/adt/ddic/tables/ first, falls back to /sap/bc/adt/ddic/structures/. Note: there is no separate STRU type — TABL is the canonical short type for both, mirroring TADIR R3TR TABL and abapGit conventions), VIEW, DOMA (DDIC domains — returns type info, value table, fixed values), DTEL (data elements — returns domain, labels, search help), TRAN (transaction codes — returns description, program, package), TABLE_CONTENTS (simple row preview — no filter or single-column filter; use TABLE_QUERY for multi-column WHERE), TABLE_QUERY (structured multi-column query on DDIC tables and CDS views via the freestyle endpoint — supports AND conditions, column selection; gated by allowDataPreview; use instead of TABLE_CONTENTS when filtering on multiple fields. Note: CDS views require SAP_BASIS 752+ — NW 7.50/7.51 rejects them with "TABLE is invalid here"), DEVC, SOBJ (BOR business objects — returns method catalog or full implementation), SYSTEM, COMPONENTS, MSAG (message classes — returns class metadata + messages array), TEXT_ELEMENTS, VARIANTS. For CLAS: omit include to get the full class source (definition + implementation combined). The include param is optional — use it only to read class-local sections: definitions (local types), implementations (local helper classes), macros, testclasses (ABAP Unit). For CLAS with method param: use method="*" to list all methods with signatures and visibility, or method="method_name" to read a single method implementation (95% fewer tokens than full source). For SOBJ: returns BOR method catalog; use method param to read a specific method implementation. BSP (deployed UI5/Fiori apps — list apps, browse files, read content; use name to browse app structure, include for subfolder or file), BSP_DEPLOY (query deployed UI5 apps via ABAP Repository OData Service — returns name, package, description). API_STATE (API release state — checks if an object is released for ABAP Cloud / S/4HANA Clean Core; returns contract states C0-C4, successor info; use objectType param for non-class objects). INACTIVE_OBJECTS (list all objects pending activation — no name param needed; use before SAPActivate batch_activate to see what needs activating). AUTH (Authorization Fields — returns check table, domain, conversion exit, org-level flags; on-prem only). FEATURE_TOGGLE (Feature Toggles — returns current toggle state per system from SAP switch framework; on-prem only). ENHO (Enhancement Implementations / BAdI — returns technology type, referenced enhancement object, and BAdI implementations with implementing classes; on-prem only). VERSIONS (list revision history of an object — returns JSON with object metadata and revisions [{id, author, timestamp, versionTitle?, transport?, uri}]; pass optional include for CLAS or group for FUNC; on-prem only and may return 404 for some DDIC types on non-S/4 backends). VERSION_SOURCE (fetch source at a specific revision URI from VERSIONS response; returns raw source text; on-prem only). ' +
|
|
99
|
+
'Optional grep parameter: pass a case-insensitive regex to return only matching source lines (+context, with line numbers) instead of the full object — token-efficient search across source-bearing types; for CLAS, matches are annotated with the owning class/method. ' +
|
|
97
100
|
'Optional version parameter (default "active"): set to "inactive" to read the user\'s unactivated draft, or "auto" for the developer view. Active reads include a note when an inactive draft exists.';
|
|
98
|
-
const SAPREAD_DESC_BTP = 'Read SAP ABAP objects (BTP ABAP Environment). Types: CLAS, INTF, FUNC (released/custom only), FUGR (released/custom only), DDLS (CDS views — primary data model on BTP), DDLX (CDS metadata extensions — UI annotations for Fiori Elements), BDEF (RAP behavior definitions), SRVD (service definitions), SRVB (service bindings — returns structured binding info: OData version, publish status, service definition ref), SKTD (Knowledge Transfer Documents — Markdown documentation attached to ABAP objects like CDS views, BDEFs, classes), TABL (DDIC TABL — covers both custom transparent tables AND DDIC structures; returns CDS-like source. ARC-1 auto-resolves /tables/ vs /structures/ via fallback. Note: there is no separate STRU type — TABL is the canonical short type for both), DOMA (DDIC domains — type info, value table, fixed values), DTEL (data elements — domain, labels, search help), TABLE_CONTENTS (custom tables and released CDS only — SAP standard tables are blocked), DEVC, SYSTEM, COMPONENTS, MSAG (custom message classes only). For CLAS: omit include to get the full class source. The include param reads class-local sections: definitions, implementations, macros, testclasses. For CLAS with method param: use method="*" to list all methods with signatures and visibility, or method="method_name" to read a single method (95% fewer tokens). Note: PROG, INCL, VIEW, TRAN, TEXT_ELEMENTS, VARIANTS are not available on BTP — use CLAS with IF_OO_ADT_CLASSRUN for console applications, and DDLS for data models instead of classic views. VERSIONS and VERSION_SOURCE are currently on-prem only in ARC-1 and are intentionally not exposed on BTP yet. BSP (deployed UI5/Fiori apps — list apps, browse files, read content; use name to browse app structure, include for subfolder or file), BSP_DEPLOY (query deployed UI5 apps via ABAP Repository OData Service — returns name, package, description). API_STATE (API release state — checks if an object is released for ABAP Cloud / Clean Core; returns contract states C0-C4, successor info; essential for cloud development; use objectType param for non-class objects). INACTIVE_OBJECTS (list all objects pending activation — no name param needed; use before SAPActivate batch_activate to see what needs activating). ' +
|
|
101
|
+
const SAPREAD_DESC_BTP = 'Read SAP ABAP objects (BTP ABAP Environment). Types: CLAS, INTF, FUNC (released/custom only), FUGR (released/custom only), DDLS (CDS views — primary data model on BTP), DDLX (CDS metadata extensions — UI annotations for Fiori Elements), BDEF (RAP behavior definitions), SRVD (service definitions), SRVB (service bindings — returns structured binding info: OData version, publish status, service definition ref), SKTD (Knowledge Transfer Documents — Markdown documentation attached to ABAP objects like CDS views, BDEFs, classes), TABL (DDIC TABL — covers both custom transparent tables AND DDIC structures; returns CDS-like source. ARC-1 auto-resolves /tables/ vs /structures/ via fallback. Note: there is no separate STRU type — TABL is the canonical short type for both), DOMA (DDIC domains — type info, value table, fixed values), DTEL (data elements — domain, labels, search help), TABLE_CONTENTS (custom tables and released CDS only — SAP standard tables are blocked; no filter or single-column filter only), TABLE_QUERY (structured multi-column query on custom DDIC tables and released CDS views; use when filtering on multiple fields. Requires SAP_BASIS 752+ for CDS view support), DEVC, SYSTEM, COMPONENTS, MSAG (custom message classes only). For CLAS: omit include to get the full class source. The include param reads class-local sections: definitions, implementations, macros, testclasses. For CLAS with method param: use method="*" to list all methods with signatures and visibility, or method="method_name" to read a single method (95% fewer tokens). Note: PROG, INCL, VIEW, TRAN, TEXT_ELEMENTS, VARIANTS are not available on BTP — use CLAS with IF_OO_ADT_CLASSRUN for console applications, and DDLS for data models instead of classic views. VERSIONS and VERSION_SOURCE are currently on-prem only in ARC-1 and are intentionally not exposed on BTP yet. BSP (deployed UI5/Fiori apps — list apps, browse files, read content; use name to browse app structure, include for subfolder or file), BSP_DEPLOY (query deployed UI5 apps via ABAP Repository OData Service — returns name, package, description). API_STATE (API release state — checks if an object is released for ABAP Cloud / Clean Core; returns contract states C0-C4, successor info; essential for cloud development; use objectType param for non-class objects). INACTIVE_OBJECTS (list all objects pending activation — no name param needed; use before SAPActivate batch_activate to see what needs activating). ' +
|
|
102
|
+
'Optional grep parameter: pass a case-insensitive regex to return only matching source lines (+context, with line numbers) instead of the full object — token-efficient search across source-bearing types; for CLAS, matches are annotated with the owning class/method. ' +
|
|
99
103
|
'Optional version parameter (default "active"): set to "inactive" to read the user\'s unactivated draft, or "auto" for the developer view. Active reads include a note when an inactive draft exists.';
|
|
100
104
|
// ─── SAPWrite Types ─────────────────────────────────────────────────
|
|
101
105
|
const SAPWRITE_TYPES_ONPREM = [
|
|
@@ -112,6 +116,8 @@ const SAPWRITE_TYPES_ONPREM = [
|
|
|
112
116
|
'SRVD',
|
|
113
117
|
'SRVB',
|
|
114
118
|
'TABL',
|
|
119
|
+
'TABL/DT',
|
|
120
|
+
'TABL/DS',
|
|
115
121
|
'DOMA',
|
|
116
122
|
'DTEL',
|
|
117
123
|
'MSAG',
|
|
@@ -127,6 +133,8 @@ const SAPWRITE_TYPES_BTP = [
|
|
|
127
133
|
'SRVB',
|
|
128
134
|
'SKTD',
|
|
129
135
|
'TABL',
|
|
136
|
+
'TABL/DT',
|
|
137
|
+
'TABL/DS',
|
|
130
138
|
'DOMA',
|
|
131
139
|
'DTEL',
|
|
132
140
|
'MSAG',
|
|
@@ -136,6 +144,7 @@ const SAPWRITE_DESC_ONPREM = 'Create or update ABAP source code and DDIC metadat
|
|
|
136
144
|
'Type codes are auto-normalized and case-insensitive (e.g., "CLAS/OC" → "CLAS"). ' +
|
|
137
145
|
'For CLAS update, pass include="definitions"|"implementations"|"macros"|"testclasses" to update that local include natively; omit include to update source/main. ' +
|
|
138
146
|
'TABL uses source-based writes via /source/main (define table syntax), similar to DDLS/BDEF/SRVD. ' +
|
|
147
|
+
'TABL create: bare "TABL" or "TABL/DT" → transparent table (16-char name limit); "TABL/DS" → DDIC structure (30-char limit, accepts namespaces like /LEOWM/X). Update/delete/activate discover subtype via SAP search, so the slash form is optional there. ' +
|
|
139
148
|
'DOMA/DTEL use metadata XML writes (not /source/main): provide DDIC fields like dataType, length, fixedValues, typeKind, labels, searchHelp. ' +
|
|
140
149
|
'MSAG (message classes) use metadata XML writes: provide "messages" array with {number, shortText} entries. Create empty then update, or provide messages at creation. ' +
|
|
141
150
|
'SRVB (service bindings) use metadata XML writes: provide serviceDefinition (SRVD name), odataVersion ("V2"/"V4"), optional category (0=UI, 1=Web API). ' +
|
|
@@ -405,8 +414,8 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
405
414
|
type: 'string',
|
|
406
415
|
enum: btp ? SAPREAD_TYPES_BTP : SAPREAD_TYPES_ONPREM,
|
|
407
416
|
description: btp
|
|
408
|
-
? 'Object type to read (BTP): CLAS, INTF, FUNC, FUGR, DDLS, DCLS, DDLX, BDEF, SRVD, SRVB, SKTD, TABL (transparent tables and DDIC structures), DOMA, DTEL, MSAG, TABLE_CONTENTS, DEVC, SYSTEM, COMPONENTS, BSP, BSP_DEPLOY, API_STATE, INACTIVE_OBJECTS. Deprecated alias: MESSAGES (use MSAG).'
|
|
409
|
-
: 'Object type to read (on-prem): PROG, CLAS, INTF, FUNC, FUGR, INCL, DDLS, DCLS, DDLX, BDEF, SRVD, SRVB, SKTD, TABL (transparent tables and DDIC structures), VIEW, DOMA, DTEL, MSAG, TRAN, TABLE_CONTENTS, DEVC, SOBJ, SYSTEM, COMPONENTS, TEXT_ELEMENTS, VARIANTS, BSP, BSP_DEPLOY, API_STATE, INACTIVE_OBJECTS, AUTH, FEATURE_TOGGLE, ENHO, VERSIONS, VERSION_SOURCE. Deprecated aliases: MESSAGES (use MSAG), FTG2 (use FEATURE_TOGGLE).',
|
|
417
|
+
? 'Object type to read (BTP): CLAS, INTF, FUNC, FUGR, DDLS, DCLS, DDLX, BDEF, SRVD, SRVB, SKTD, TABL (transparent tables and DDIC structures), DOMA, DTEL, MSAG, TABLE_CONTENTS, TABLE_QUERY, DEVC, SYSTEM, COMPONENTS, BSP, BSP_DEPLOY, API_STATE, INACTIVE_OBJECTS. Deprecated alias: MESSAGES (use MSAG).'
|
|
418
|
+
: 'Object type to read (on-prem): PROG, CLAS, INTF, FUNC, FUGR, INCL, DDLS, DCLS, DDLX, BDEF, SRVD, SRVB, SKTD, TABL (transparent tables and DDIC structures), VIEW, DOMA, DTEL, MSAG, TRAN, TABLE_CONTENTS, TABLE_QUERY, DEVC, SOBJ, SYSTEM, COMPONENTS, TEXT_ELEMENTS, VARIANTS, BSP, BSP_DEPLOY, API_STATE, INACTIVE_OBJECTS, AUTH, FEATURE_TOGGLE, ENHO, VERSIONS, VERSION_SOURCE. Deprecated aliases: MESSAGES (use MSAG), FTG2 (use FEATURE_TOGGLE).',
|
|
410
419
|
},
|
|
411
420
|
name: { type: 'string', description: 'Object name (e.g., ZTEST_PROGRAM, ZCL_ORDER, MARA)' },
|
|
412
421
|
include: {
|
|
@@ -426,6 +435,14 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
426
435
|
(btp ? '' : 'For SOBJ: BOR method name to read. If omitted, returns the full BOR method catalog. ') +
|
|
427
436
|
'Not used with other types.',
|
|
428
437
|
},
|
|
438
|
+
grep: {
|
|
439
|
+
type: 'string',
|
|
440
|
+
description: 'Regex pattern (case-insensitive) to search within the object source. Returns only matching lines with 1-based line numbers and ±3 context lines, instead of the full source — token-efficient. ' +
|
|
441
|
+
'For CLAS, matches are annotated with the owning class/method; combine with include= to scope a section, but do NOT combine with method= (use grep to find, then method= to read). ' +
|
|
442
|
+
'Works for source-bearing types (CLAS, INTF, DDLS, DCLS, BDEF, SRVD, DDLX, TABL' +
|
|
443
|
+
(btp ? '' : ', PROG, FUNC, INCL, VIEW') +
|
|
444
|
+
'). Falls back to a literal search when the pattern is not valid regex.',
|
|
445
|
+
},
|
|
429
446
|
...(btp
|
|
430
447
|
? {}
|
|
431
448
|
: {
|
|
@@ -452,7 +469,10 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
452
469
|
type: 'boolean',
|
|
453
470
|
description: 'For source reads: bypass cached source and inactive-list state before reading. Use when you know the object changed outside ARC-1.',
|
|
454
471
|
},
|
|
455
|
-
maxRows: {
|
|
472
|
+
maxRows: {
|
|
473
|
+
type: 'number',
|
|
474
|
+
description: 'For TABLE_CONTENTS and TABLE_QUERY: max rows to return (default 100)',
|
|
475
|
+
},
|
|
456
476
|
maxResults: {
|
|
457
477
|
type: 'number',
|
|
458
478
|
description: 'For DEVC: max number of objects to list (default 200, clamped to [1, 1000]). Larger packages may be silently truncated by SAP at this limit; raise it if needed.',
|
|
@@ -469,6 +489,27 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
469
489
|
type: 'string',
|
|
470
490
|
description: 'For VERSION_SOURCE: URI of a specific revision from SAPRead(type="VERSIONS") response (.revisions[].uri). Must start with /sap/bc/adt/.',
|
|
471
491
|
},
|
|
492
|
+
columns: {
|
|
493
|
+
type: 'array',
|
|
494
|
+
items: { type: 'string' },
|
|
495
|
+
description: 'For TABLE_QUERY: columns to SELECT (default: all). Example: ["MATNR","BWART","BUDAT","MENGE"].',
|
|
496
|
+
},
|
|
497
|
+
where: {
|
|
498
|
+
type: 'array',
|
|
499
|
+
description: 'For TABLE_QUERY: structured WHERE conditions, ANDed together. Each item: {field, op, value?}. ' +
|
|
500
|
+
'Allowed ops: =, !=, <>, <, <=, >, >=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL. ' +
|
|
501
|
+
"For IN/NOT IN: value must be a comma-separated list of single-quoted literals, e.g. \"'261','262'\". Subqueries are not allowed. " +
|
|
502
|
+
'Example: [{"field":"MATNR","op":"=","value":"300006888"},{"field":"BUDAT_MKPF","op":">=","value":"20250101"}].',
|
|
503
|
+
items: {
|
|
504
|
+
type: 'object',
|
|
505
|
+
properties: {
|
|
506
|
+
field: { type: 'string', description: 'SAP field name (uppercase)' },
|
|
507
|
+
op: { type: 'string', description: 'Comparison operator' },
|
|
508
|
+
value: { type: 'string', description: 'Value to compare (omit for IS NULL / IS NOT NULL)' },
|
|
509
|
+
},
|
|
510
|
+
required: ['field', 'op'],
|
|
511
|
+
},
|
|
512
|
+
},
|
|
472
513
|
},
|
|
473
514
|
required: ['type'],
|
|
474
515
|
},
|
|
@@ -496,29 +537,49 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
496
537
|
'update',
|
|
497
538
|
'delete',
|
|
498
539
|
'edit_method',
|
|
540
|
+
'edit_class_definition',
|
|
541
|
+
'add_method',
|
|
542
|
+
'edit_method_signature',
|
|
543
|
+
'delete_method',
|
|
544
|
+
'change_method_visibility',
|
|
499
545
|
'batch_create',
|
|
500
546
|
'scaffold_rap_handlers',
|
|
501
547
|
'generate_behavior_implementation',
|
|
502
548
|
],
|
|
503
|
-
description:
|
|
549
|
+
description: "Write action. edit_method: surgically replace a single method body (requires type=CLAS, method, and source params). Class-section surgery actions (issue #303, type=CLAS only) target a global class without re-sending /source/main: edit_class_definition replaces the DEFINITION block (caller passes the new block via source; ARC-1 refuses if the diff would leave the class non-activatable — e.g. added concrete method without IMPL stub — and suggests add_method/delete_method instead); add_method atomically inserts a METHODS clause AND empty METHOD/ENDMETHOD stub (caller passes the METHODS clause via method, optional visibility=public|protected|private, optional abstract=true to skip the stub); edit_method_signature replaces one method's METHODS clause via the source param (no IMPL changes); delete_method removes both the DEFINITION clause and METHOD/ENDMETHOD body atomically — WARNING: this is destructive (it discards the method body). To change a method's visibility/section, use change_method_visibility (NOT delete_method + add_method, which would discard the body). change_method_visibility moves a method between PUBLIC/PROTECTED/PRIVATE sections (requires method=NAME and visibility=target); it touches only the DEFINITION, so the IMPLEMENTATION body is preserved. edit_class_definition also accepts include= to whole-replace a class-local include (CCDEF/CCIMP/macros/testclasses); add_method/edit_method_signature/delete_method/change_method_visibility operate on the global class /source/main only. batch_create: create and activate multiple objects in sequence (requires objects array). scaffold_rap_handlers: derive missing behavior-pool handler signatures from interface BDEF declarations and optionally inject declarations plus empty implementation stubs. generate_behavior_implementation: one-shot RAP behavior pool — auto-discover the bound BDEF via class rootEntityRef, scaffold every required handler (creating lhc_<alias> skeletons when missing), write under one lock, and optionally activate. The reliable equivalent of Eclipse ADT's \"Generate Behavior Implementation\" Cmd+1 quickfix.",
|
|
504
550
|
},
|
|
505
551
|
type: {
|
|
506
552
|
type: 'string',
|
|
507
553
|
enum: btp ? SAPWRITE_TYPES_BTP : SAPWRITE_TYPES_ONPREM,
|
|
508
554
|
description: btp
|
|
509
|
-
? 'Object type (for create/update/delete/edit_method). Supported: CLAS, INTF, DDLS, DDLX, BDEF, SRVD, TABL, DOMA, DTEL.'
|
|
510
|
-
: 'Object type (for create/update/delete/edit_method). Supported: PROG, CLAS, INTF, FUNC, FUGR, INCL, DDLS, DDLX, BDEF, SRVD, TABL, DOMA, DTEL.',
|
|
555
|
+
? 'Object type (for create/update/delete/edit_method/edit_class_definition/add_method/edit_method_signature/delete_method). Supported: CLAS, INTF, DDLS, DDLX, BDEF, SRVD, TABL, DOMA, DTEL. Class-section surgery actions require type=CLAS.'
|
|
556
|
+
: 'Object type (for create/update/delete/edit_method/edit_class_definition/add_method/edit_method_signature/delete_method). Supported: PROG, CLAS, INTF, FUNC, FUGR, INCL, DDLS, DDLX, BDEF, SRVD, TABL, DOMA, DTEL. Class-section surgery actions require type=CLAS.',
|
|
557
|
+
},
|
|
558
|
+
name: {
|
|
559
|
+
type: 'string',
|
|
560
|
+
description: 'Object name (for create/update/delete/edit_method/edit_class_definition/add_method/edit_method_signature/delete_method).',
|
|
561
|
+
},
|
|
562
|
+
source: {
|
|
563
|
+
type: 'string',
|
|
564
|
+
description: 'ABAP source code. For create/update/edit_method: the full source body. For edit_class_definition: ONLY the new CLASS … DEFINITION … ENDCLASS. block (~10–80 lines for a typical class — no IMPLEMENTATION block needed). For edit_method_signature: ONLY the new METHODS clause for one method (~1–5 lines). For add_method/delete_method: not used — pass the new method clause via `method` instead, or the method name to delete.',
|
|
511
565
|
},
|
|
512
|
-
name: { type: 'string', description: 'Object name (for create/update/delete/edit_method)' },
|
|
513
|
-
source: { type: 'string', description: 'ABAP source code (for create/update/edit_method)' },
|
|
514
566
|
include: {
|
|
515
567
|
type: 'string',
|
|
516
568
|
enum: SAPWRITE_CLAS_INCLUDES,
|
|
517
|
-
description: 'For
|
|
569
|
+
description: 'For CLAS write actions (update, edit_method, edit_class_definition, add_method, edit_method_signature, delete_method): target a class-local include instead of /source/main. Valid values: definitions (CCDEF), implementations (CCIMP), macros, testclasses. Omit include to operate on source/main. For edit_method, ARC-1 also auto-detects the include from the method specifier (lhc_*/lcl_* → implementations, ltc_* → testclasses); explicit include= overrides auto-detection. Include writes create an inactive draft; read with SAPRead version="inactive" before activation. NOTE: edit_class_definition with include= skips the symmetry refuse-policy — cross-include validation is not performed; rely on SAPActivate to catch breaks.',
|
|
518
570
|
},
|
|
519
571
|
method: {
|
|
520
572
|
type: 'string',
|
|
521
|
-
description: 'For edit_method
|
|
573
|
+
description: 'For edit_method/edit_method_signature: method NAME (e.g., "get_name", "zif_order~process", "lhc_project~approve_project"). For delete_method and change_method_visibility: the method NAME. For add_method: the full METHODS clause as ABAP source (e.g. "METHODS greet IMPORTING who TYPE string RETURNING VALUE(r) TYPE string."). edit_method auto-detects CCIMP from local-class prefix (lhc_*/lcl_* → implementations, ltc_* → testclasses); same auto-detection applies to the class-section surgery actions. When two local classes in the same CCIMP share a bare method name, the qualified <localclass>~<method> form is required to disambiguate.',
|
|
574
|
+
},
|
|
575
|
+
visibility: {
|
|
576
|
+
type: 'string',
|
|
577
|
+
enum: ['public', 'protected', 'private'],
|
|
578
|
+
description: 'For action=add_method: target visibility section to insert into (default "public"). For action=change_method_visibility: the TARGET section to move the method to (required). The target section header must already exist in the DEFINITION block — if not, ARC-1 refuses with a hint to use edit_class_definition first.',
|
|
579
|
+
},
|
|
580
|
+
abstract: {
|
|
581
|
+
type: 'boolean',
|
|
582
|
+
description: 'For action=add_method: when true, only the METHODS clause is inserted into DEFINITION; no METHOD/ENDMETHOD stub is added to IMPLEMENTATION. Default false (concrete method — DEFINITION + IMPL stub written atomically).',
|
|
522
583
|
},
|
|
523
584
|
bdefName: {
|
|
524
585
|
type: 'string',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/handlers/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/handlers/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/lint/lint.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/lint/lint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAwC,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAuB,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/lint/lint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAwC,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAuB,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGlF,sCAAsC;AACtC,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;CACxC;AAED,uCAAuC;AACvC,MAAM,WAAW,aAAa;IAC5B,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,mCAAmC;IACnC,eAAe,EAAE,UAAU,EAAE,CAAC;CAC/B;AAED,qCAAqC;AACrC,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,IAAI,EAAE,OAAO,CAAC;IACd,kCAAkC;IAClC,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,uCAAuC;IACvC,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB;AAKD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE,CAc9F;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa,CAgD3F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,iBAAiB,GAChC,cAAc,CAkBhB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAsCzE"}
|
package/dist/lint/lint.js
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { Config, Edits, MemoryFile, Registry, Version } from '@abaplint/core';
|
|
17
17
|
import { buildPreWriteConfig } from './config-builder.js';
|
|
18
|
+
import { inspectTablSource } from './pre-write-hints.js';
|
|
18
19
|
/** Default abaplint configuration for ARC-1 (legacy, used as fallback) */
|
|
19
20
|
const DEFAULT_CONFIG = Config.getDefault(Version.v702);
|
|
20
21
|
/**
|
|
@@ -101,6 +102,11 @@ export function validateBeforeWrite(source, filename, configOptions) {
|
|
|
101
102
|
const issues = lintAbapSource(source, filename, config);
|
|
102
103
|
const errors = issues.filter((i) => i.severity === 'error');
|
|
103
104
|
const warnings = issues.filter((i) => i.severity === 'warning');
|
|
105
|
+
// ARC-1-native pre-write semantic hints (filename-gated; advisory only).
|
|
106
|
+
// See `src/lint/pre-write-hints.ts` for the per-type inspection functions.
|
|
107
|
+
if (filename.endsWith('.tabl.astabl')) {
|
|
108
|
+
warnings.push(...inspectTablSource(source));
|
|
109
|
+
}
|
|
104
110
|
return {
|
|
105
111
|
pass: errors.length === 0,
|
|
106
112
|
errors,
|
package/dist/lint/lint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/lint/lint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAA0B,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/lint/lint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ARC-1-native pre-write semantic hints.
|
|
3
|
+
*
|
|
4
|
+
* These hints inspect source code for known anti-patterns that lie outside the
|
|
5
|
+
* scope of `@abaplint/core` rules — typically RAP/CDS conventions where the SAP
|
|
6
|
+
* standard pattern matters at a *layer above* TABL/CDS syntax (e.g. a draft
|
|
7
|
+
* table activates fine but breaks BDEF binding because of a non-canonical
|
|
8
|
+
* include shape).
|
|
9
|
+
*
|
|
10
|
+
* Each hint is a pure function: `(source: string) => LintResult[]`. Hints
|
|
11
|
+
* always emit `severity: 'warning'` — they are advisory and never block writes.
|
|
12
|
+
* Call sites filename-gate the hints (e.g. only run `inspectTablSource` when
|
|
13
|
+
* the filename ends with `.tabl.astabl`) so other object types are unaffected.
|
|
14
|
+
*
|
|
15
|
+
* Adding a new hint:
|
|
16
|
+
* 1. Add an `inspect<Type>Source(source: string): LintResult[]` function here.
|
|
17
|
+
* 2. Wire the call into `validateBeforeWrite` in `./lint.ts`, gated on the
|
|
18
|
+
* appropriate filename suffix.
|
|
19
|
+
* 3. Cover the hint with unit tests in `tests/unit/lint/pre-write-hints.test.ts`.
|
|
20
|
+
*/
|
|
21
|
+
import type { LintResult } from './lint.js';
|
|
22
|
+
export type { LintResult } from './lint.js';
|
|
23
|
+
/**
|
|
24
|
+
* Inspect a TABL source for known anti-patterns and return non-blocking warnings.
|
|
25
|
+
*
|
|
26
|
+
* Currently checks:
|
|
27
|
+
*
|
|
28
|
+
* - **Draft admin include without canonical name** (rule
|
|
29
|
+
* `arc1-tabl-draft-admin-include`): `include sych_bdl_draft_admin_inc` is used
|
|
30
|
+
* without the SAP-canonical `"%admin"` named-substructure prefix. The bare
|
|
31
|
+
* form activates at TABL level on most releases but is non-canonical per the
|
|
32
|
+
* ABAP keyword doc `ABENBDL_DRAFT_TABLE` and breaks BDEF binding for some
|
|
33
|
+
* draft scenarios. SAP standard draft tables (e.g. `BOTD_TAB_ROOT_D`) all
|
|
34
|
+
* use the named form.
|
|
35
|
+
*
|
|
36
|
+
* The function is pure (no I/O, no async). CDS line (`//`) and block
|
|
37
|
+
* (slash-star block) comments are stripped before scanning so commented-out
|
|
38
|
+
* code does not trigger false positives.
|
|
39
|
+
*
|
|
40
|
+
* @param source - TABL CDS source code
|
|
41
|
+
* @returns Array of `LintResult` warnings (always `severity: 'warning'`); empty
|
|
42
|
+
* if the source uses canonical patterns or has no draft admin include.
|
|
43
|
+
*/
|
|
44
|
+
export declare function inspectTablSource(source: string): LintResult[];
|
|
45
|
+
//# sourceMappingURL=pre-write-hints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pre-write-hints.d.ts","sourceRoot":"","sources":["../../src/lint/pre-write-hints.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,YAAY,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAuB5C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CAwB9D"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ARC-1-native pre-write semantic hints.
|
|
3
|
+
*
|
|
4
|
+
* These hints inspect source code for known anti-patterns that lie outside the
|
|
5
|
+
* scope of `@abaplint/core` rules — typically RAP/CDS conventions where the SAP
|
|
6
|
+
* standard pattern matters at a *layer above* TABL/CDS syntax (e.g. a draft
|
|
7
|
+
* table activates fine but breaks BDEF binding because of a non-canonical
|
|
8
|
+
* include shape).
|
|
9
|
+
*
|
|
10
|
+
* Each hint is a pure function: `(source: string) => LintResult[]`. Hints
|
|
11
|
+
* always emit `severity: 'warning'` — they are advisory and never block writes.
|
|
12
|
+
* Call sites filename-gate the hints (e.g. only run `inspectTablSource` when
|
|
13
|
+
* the filename ends with `.tabl.astabl`) so other object types are unaffected.
|
|
14
|
+
*
|
|
15
|
+
* Adding a new hint:
|
|
16
|
+
* 1. Add an `inspect<Type>Source(source: string): LintResult[]` function here.
|
|
17
|
+
* 2. Wire the call into `validateBeforeWrite` in `./lint.ts`, gated on the
|
|
18
|
+
* appropriate filename suffix.
|
|
19
|
+
* 3. Cover the hint with unit tests in `tests/unit/lint/pre-write-hints.test.ts`.
|
|
20
|
+
*/
|
|
21
|
+
/** Matches every occurrence of `include sych_bdl_draft_admin_inc` (case-insensitive). */
|
|
22
|
+
const DRAFT_ADMIN_INC_REGEX = /\binclude\s+sych_bdl_draft_admin_inc\b/gi;
|
|
23
|
+
/**
|
|
24
|
+
* Matches the canonical named-include prefix `"%admin" :` immediately preceding
|
|
25
|
+
* an include keyword. Used as a "look-back" check on the segment between the
|
|
26
|
+
* statement separator (`;`, `{`, `}`) and the matched include.
|
|
27
|
+
*/
|
|
28
|
+
const CANONICAL_PREFIX_REGEX = /"%admin"\s*:\s*$/i;
|
|
29
|
+
const TABL_DRAFT_ADMIN_RULE = 'arc1-tabl-draft-admin-include';
|
|
30
|
+
const TABL_DRAFT_ADMIN_MESSAGE = 'Draft admin include should use the canonical named form ' +
|
|
31
|
+
'`"%admin" : include sych_bdl_draft_admin_inc;` ' +
|
|
32
|
+
'— see ABAP keyword doc ABENBDL_DRAFT_TABLE ' +
|
|
33
|
+
'(https://help.sap.com/doc/abapdocu_latest_index_htm/latest/en-US/ABENBDL_DRAFT_TABLE.html). ' +
|
|
34
|
+
'SAP standard draft tables (e.g. BOTD_TAB_ROOT_D) all use the named form; ' +
|
|
35
|
+
'the bare include activates at TABL level on most releases but breaks BDEF ' +
|
|
36
|
+
'binding for some draft scenarios.';
|
|
37
|
+
/**
|
|
38
|
+
* Inspect a TABL source for known anti-patterns and return non-blocking warnings.
|
|
39
|
+
*
|
|
40
|
+
* Currently checks:
|
|
41
|
+
*
|
|
42
|
+
* - **Draft admin include without canonical name** (rule
|
|
43
|
+
* `arc1-tabl-draft-admin-include`): `include sych_bdl_draft_admin_inc` is used
|
|
44
|
+
* without the SAP-canonical `"%admin"` named-substructure prefix. The bare
|
|
45
|
+
* form activates at TABL level on most releases but is non-canonical per the
|
|
46
|
+
* ABAP keyword doc `ABENBDL_DRAFT_TABLE` and breaks BDEF binding for some
|
|
47
|
+
* draft scenarios. SAP standard draft tables (e.g. `BOTD_TAB_ROOT_D`) all
|
|
48
|
+
* use the named form.
|
|
49
|
+
*
|
|
50
|
+
* The function is pure (no I/O, no async). CDS line (`//`) and block
|
|
51
|
+
* (slash-star block) comments are stripped before scanning so commented-out
|
|
52
|
+
* code does not trigger false positives.
|
|
53
|
+
*
|
|
54
|
+
* @param source - TABL CDS source code
|
|
55
|
+
* @returns Array of `LintResult` warnings (always `severity: 'warning'`); empty
|
|
56
|
+
* if the source uses canonical patterns or has no draft admin include.
|
|
57
|
+
*/
|
|
58
|
+
export function inspectTablSource(source) {
|
|
59
|
+
const stripped = stripCdsComments(source);
|
|
60
|
+
const warnings = [];
|
|
61
|
+
DRAFT_ADMIN_INC_REGEX.lastIndex = 0;
|
|
62
|
+
let match;
|
|
63
|
+
while ((match = DRAFT_ADMIN_INC_REGEX.exec(stripped)) !== null) {
|
|
64
|
+
const matchStart = match.index;
|
|
65
|
+
if (isCanonicalContext(stripped, matchStart)) {
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
const { line, column } = positionAt(stripped, matchStart);
|
|
69
|
+
warnings.push({
|
|
70
|
+
rule: TABL_DRAFT_ADMIN_RULE,
|
|
71
|
+
message: TABL_DRAFT_ADMIN_MESSAGE,
|
|
72
|
+
line,
|
|
73
|
+
column,
|
|
74
|
+
endLine: line,
|
|
75
|
+
endColumn: column + match[0].length,
|
|
76
|
+
severity: 'warning',
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
return warnings;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Strip CDS-style comments (`//` line, slash-star block block) so hint scans
|
|
83
|
+
* don't false-positive on commented-out code. Preserves source length and line
|
|
84
|
+
* count (comments are replaced with whitespace) so positions of remaining
|
|
85
|
+
* tokens are unchanged.
|
|
86
|
+
*/
|
|
87
|
+
function stripCdsComments(source) {
|
|
88
|
+
let result = '';
|
|
89
|
+
let i = 0;
|
|
90
|
+
while (i < source.length) {
|
|
91
|
+
if (source[i] === '/' && source[i + 1] === '/') {
|
|
92
|
+
while (i < source.length && source[i] !== '\n') {
|
|
93
|
+
result += ' ';
|
|
94
|
+
i++;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
else if (source[i] === '/' && source[i + 1] === '*') {
|
|
98
|
+
// Block comment — preserve newlines, blank everything else
|
|
99
|
+
while (i < source.length && !(source[i] === '*' && source[i + 1] === '/')) {
|
|
100
|
+
result += source[i] === '\n' ? '\n' : ' ';
|
|
101
|
+
i++;
|
|
102
|
+
}
|
|
103
|
+
if (i < source.length) {
|
|
104
|
+
result += ' ';
|
|
105
|
+
i += 2;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
result += source[i];
|
|
110
|
+
i++;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return result;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Look back from `matchIndex` to the start of the current statement (previous
|
|
117
|
+
* `;`, `{`, or `}`) and check whether that segment ends with `"%admin" :` —
|
|
118
|
+
* the canonical named-include prefix. Handles single-line and multi-line
|
|
119
|
+
* `"%admin" :` ... `include` shapes uniformly.
|
|
120
|
+
*/
|
|
121
|
+
function isCanonicalContext(source, matchIndex) {
|
|
122
|
+
let stmtStart = 0;
|
|
123
|
+
for (let i = matchIndex - 1; i >= 0; i--) {
|
|
124
|
+
const ch = source[i];
|
|
125
|
+
if (ch === ';' || ch === '{' || ch === '}') {
|
|
126
|
+
stmtStart = i + 1;
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
const stmtBefore = source.substring(stmtStart, matchIndex);
|
|
131
|
+
return CANONICAL_PREFIX_REGEX.test(stmtBefore);
|
|
132
|
+
}
|
|
133
|
+
/** Convert a 0-based string index to 1-based `(line, column)` coordinates. */
|
|
134
|
+
function positionAt(source, index) {
|
|
135
|
+
let line = 1;
|
|
136
|
+
let lineStart = 0;
|
|
137
|
+
for (let i = 0; i < index && i < source.length; i++) {
|
|
138
|
+
if (source[i] === '\n') {
|
|
139
|
+
line++;
|
|
140
|
+
lineStart = i + 1;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return { line, column: index - lineStart + 1 };
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=pre-write-hints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pre-write-hints.js","sourceRoot":"","sources":["../../src/lint/pre-write-hints.ts"],"names":[],"mappings":"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"}
|