arc-1 0.6.1 → 0.6.3

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 (83) hide show
  1. package/README.md +18 -20
  2. package/dist/adt/btp.d.ts +19 -12
  3. package/dist/adt/btp.d.ts.map +1 -1
  4. package/dist/adt/btp.js +48 -35
  5. package/dist/adt/btp.js.map +1 -1
  6. package/dist/adt/client.d.ts +12 -2
  7. package/dist/adt/client.d.ts.map +1 -1
  8. package/dist/adt/client.js +27 -2
  9. package/dist/adt/client.js.map +1 -1
  10. package/dist/adt/codeintel.d.ts.map +1 -1
  11. package/dist/adt/codeintel.js +1 -10
  12. package/dist/adt/codeintel.js.map +1 -1
  13. package/dist/adt/config.d.ts +1 -0
  14. package/dist/adt/config.d.ts.map +1 -1
  15. package/dist/adt/config.js +1 -0
  16. package/dist/adt/config.js.map +1 -1
  17. package/dist/adt/crud.d.ts +7 -0
  18. package/dist/adt/crud.d.ts.map +1 -1
  19. package/dist/adt/crud.js +33 -2
  20. package/dist/adt/crud.js.map +1 -1
  21. package/dist/adt/ddic-xml.d.ts +78 -0
  22. package/dist/adt/ddic-xml.d.ts.map +1 -0
  23. package/dist/adt/ddic-xml.js +203 -0
  24. package/dist/adt/ddic-xml.js.map +1 -0
  25. package/dist/adt/devtools.d.ts +19 -11
  26. package/dist/adt/devtools.d.ts.map +1 -1
  27. package/dist/adt/devtools.js +61 -17
  28. package/dist/adt/devtools.js.map +1 -1
  29. package/dist/adt/errors.d.ts +12 -0
  30. package/dist/adt/errors.d.ts.map +1 -1
  31. package/dist/adt/errors.js +42 -0
  32. package/dist/adt/errors.js.map +1 -1
  33. package/dist/adt/features.d.ts.map +1 -1
  34. package/dist/adt/features.js +20 -3
  35. package/dist/adt/features.js.map +1 -1
  36. package/dist/adt/flp.d.ts +43 -0
  37. package/dist/adt/flp.d.ts.map +1 -0
  38. package/dist/adt/flp.js +213 -0
  39. package/dist/adt/flp.js.map +1 -0
  40. package/dist/adt/http.d.ts +2 -0
  41. package/dist/adt/http.d.ts.map +1 -1
  42. package/dist/adt/http.js +83 -6
  43. package/dist/adt/http.js.map +1 -1
  44. package/dist/adt/transport.d.ts +42 -3
  45. package/dist/adt/transport.d.ts.map +1 -1
  46. package/dist/adt/transport.js +197 -20
  47. package/dist/adt/transport.js.map +1 -1
  48. package/dist/adt/types.d.ts +58 -0
  49. package/dist/adt/types.d.ts.map +1 -1
  50. package/dist/adt/xml-parser.d.ts +14 -1
  51. package/dist/adt/xml-parser.d.ts.map +1 -1
  52. package/dist/adt/xml-parser.js +70 -1
  53. package/dist/adt/xml-parser.js.map +1 -1
  54. package/dist/handlers/intent.d.ts +4 -6
  55. package/dist/handlers/intent.d.ts.map +1 -1
  56. package/dist/handlers/intent.js +931 -47
  57. package/dist/handlers/intent.js.map +1 -1
  58. package/dist/handlers/schemas.d.ts +225 -0
  59. package/dist/handlers/schemas.d.ts.map +1 -1
  60. package/dist/handlers/schemas.js +190 -4
  61. package/dist/handlers/schemas.js.map +1 -1
  62. package/dist/handlers/tools.d.ts.map +1 -1
  63. package/dist/handlers/tools.js +308 -43
  64. package/dist/handlers/tools.js.map +1 -1
  65. package/dist/server/config.d.ts.map +1 -1
  66. package/dist/server/config.js +14 -3
  67. package/dist/server/config.js.map +1 -1
  68. package/dist/server/http.d.ts.map +1 -1
  69. package/dist/server/http.js +32 -3
  70. package/dist/server/http.js.map +1 -1
  71. package/dist/server/server.d.ts +1 -1
  72. package/dist/server/server.d.ts.map +1 -1
  73. package/dist/server/server.js +37 -6
  74. package/dist/server/server.js.map +1 -1
  75. package/dist/server/types.d.ts +1 -0
  76. package/dist/server/types.d.ts.map +1 -1
  77. package/dist/server/types.js +4 -3
  78. package/dist/server/types.js.map +1 -1
  79. package/dist/server/xsuaa.d.ts +13 -0
  80. package/dist/server/xsuaa.d.ts.map +1 -1
  81. package/dist/server/xsuaa.js +28 -2
  82. package/dist/server/xsuaa.js.map +1 -1
  83. package/package.json +10 -5
@@ -52,6 +52,7 @@ const SAPREAD_TYPES_ONPREM = [
52
52
  'BSP',
53
53
  'BSP_DEPLOY',
54
54
  'API_STATE',
55
+ 'INACTIVE_OBJECTS',
55
56
  ];
56
57
  /** SAPRead types available on BTP ABAP Environment (no PROG, INCL, VIEW, TEXT_ELEMENTS, VARIANTS) */
57
58
  const SAPREAD_TYPES_BTP = [
@@ -76,20 +77,44 @@ const SAPREAD_TYPES_BTP = [
76
77
  'BSP',
77
78
  'BSP_DEPLOY',
78
79
  'API_STATE',
80
+ 'INACTIVE_OBJECTS',
79
81
  ];
80
- 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), TABL, VIEW, STRU (DDIC structures like BAPIRET2 — returns CDS-like source), 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, MESSAGES, 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).';
81
- 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), TABL (custom tables only), STRU (DDIC structures — returns CDS-like source), 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, MESSAGES (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. 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).';
82
+ 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), TABL, VIEW, STRU (DDIC structures like BAPIRET2 — returns CDS-like source), 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, MESSAGES, 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).';
83
+ 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), TABL (custom tables only), STRU (DDIC structures — returns CDS-like source), 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, MESSAGES (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. 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).';
82
84
  // ─── SAPWrite Types ─────────────────────────────────────────────────
83
- const SAPWRITE_TYPES_ONPREM = ['PROG', 'CLAS', 'INTF', 'FUNC', 'INCL', 'DDLS', 'DDLX', 'BDEF', 'SRVD'];
84
- const SAPWRITE_TYPES_BTP = ['CLAS', 'INTF', 'DDLS', 'DDLX', 'BDEF', 'SRVD'];
85
- const SAPWRITE_DESC_ONPREM = 'Create or update ABAP source code. Handles lock/modify/unlock automatically. Supports PROG, CLAS, INTF, FUNC, INCL, DDLS, DDLX, BDEF, SRVD. ' +
85
+ const SAPWRITE_TYPES_ONPREM = [
86
+ 'PROG',
87
+ 'CLAS',
88
+ 'INTF',
89
+ 'FUNC',
90
+ 'INCL',
91
+ 'DDLS',
92
+ 'DDLX',
93
+ 'BDEF',
94
+ 'SRVD',
95
+ 'SRVB',
96
+ 'TABL',
97
+ 'DOMA',
98
+ 'DTEL',
99
+ 'MSAG',
100
+ ];
101
+ const SAPWRITE_TYPES_BTP = ['CLAS', 'INTF', 'DDLS', 'DDLX', 'BDEF', 'SRVD', 'SRVB', 'TABL', 'DOMA', 'DTEL', 'MSAG'];
102
+ const SAPWRITE_DESC_ONPREM = 'Create or update ABAP source code and DDIC metadata. Handles lock/modify/unlock automatically. Supports PROG, CLAS, INTF, FUNC, INCL, DDLS, DDLX, BDEF, SRVD, SRVB, TABL, DOMA, DTEL, MSAG. ' +
103
+ 'TABL uses source-based writes via /source/main (define table syntax), similar to DDLS/BDEF/SRVD. ' +
104
+ 'DOMA/DTEL use metadata XML writes (not /source/main): provide DDIC fields like dataType, length, fixedValues, typeKind, labels, searchHelp. ' +
105
+ 'MSAG (message classes) use metadata XML writes: provide "messages" array with {number, shortText} entries. Create empty then update, or provide messages at creation. ' +
106
+ 'SRVB (service bindings) use metadata XML writes: provide serviceDefinition (SRVD name) plus optional bindingType/category. ' +
86
107
  'For edit_method: surgically replace a single method body in a CLAS without sending the full class source. ' +
87
108
  'Provide just the new method implementation code in "source" — 95% fewer tokens than full-class updates. ' +
88
- 'For batch_create: create and activate multiple objects in a single call — ideal for RAP stacks. Pass "objects" array with dependency order.';
89
- const SAPWRITE_DESC_BTP = 'Create or update ABAP source code (BTP ABAP Environment). Handles lock/modify/unlock automatically. Supports CLAS, INTF, DDLS, DDLX, BDEF, SRVD. ' +
109
+ 'For batch_create: create and activate multiple objects in a single call — ideal for RAP stacks (TABL → DDLS → BDEF → SRVD). Pass "objects" array with dependency order.';
110
+ const SAPWRITE_DESC_BTP = 'Create or update ABAP source code and DDIC metadata (BTP ABAP Environment). Handles lock/modify/unlock automatically. Supports CLAS, INTF, DDLS, DDLX, BDEF, SRVD, SRVB, TABL, DOMA, DTEL, MSAG. ' +
111
+ 'TABL supports custom table source writes via /source/main (define table syntax). ' +
112
+ 'DOMA/DTEL use metadata XML writes (not /source/main): provide DDIC fields like dataType, length, fixedValues, typeKind, labels, searchHelp. ' +
113
+ 'MSAG (message classes) use metadata XML writes: provide "messages" array with {number, shortText} entries. ' +
114
+ 'SRVB (service bindings) use metadata XML writes: provide serviceDefinition (SRVD name) plus optional bindingType/category. ' +
90
115
  'Must use ABAP Cloud language version (no classic statements). Only Z*/Y* namespace allowed on BTP. ' +
91
116
  'For edit_method: surgically replace a single method body in a CLAS without sending the full class source. ' +
92
- 'For batch_create: create and activate multiple objects in a single call — ideal for RAP stacks.';
117
+ 'For batch_create: create and activate multiple objects in a single call — ideal for RAP stacks (TABL → DDLS → BDEF → SRVD).';
93
118
  // ─── SAPContext Types ───────────────────────────────────────────────
94
119
  const SAPCONTEXT_TYPES_ONPREM = ['CLAS', 'INTF', 'PROG', 'FUNC', 'DDLS'];
95
120
  const SAPCONTEXT_TYPES_BTP = ['CLAS', 'INTF', 'DDLS'];
@@ -147,28 +172,52 @@ const SAPSEARCH_DESC_BTP = 'Search for ABAP objects or search within source code
147
172
  '2. Source code search (searchType="source_code"): Full-text search within ABAP source code.\n\n' +
148
173
  "Tips: On BTP, focus on classes (CL_*), interfaces (IF_*), CDS views (I_*), and custom Z/Y objects.\n\nNote: Searches object names only (classes, CDS views, etc.) — field/column names are not searchable here. To find fields by name, use SAPRead(type='DDLS', include='elements') for CDS views.";
149
174
  // ─── SAPTransport ───────────────────────────────────────────────────
150
- const SAPTRANSPORT_DESC_ONPREM = 'Manage CTS transport requests: list, get details, create, and release.';
151
- const SAPTRANSPORT_DESC_BTP = 'Manage transport requests (BTP ABAP Environment): list, get details, create, and release. ' +
175
+ const SAPTRANSPORT_DESC_ONPREM = 'Manage CTS transport requests (SE09/SE10 equivalent). ' +
176
+ 'Actions: list (defaults to current user, modifiable transports both Workbench and Customizing), ' +
177
+ 'get (details with tasks and objects), create (K=Workbench, W=Customizing, T=Transport of Copies), ' +
178
+ 'release, delete, reassign (change owner), release_recursive (release tasks first, then parent), ' +
179
+ 'check (check if a package requires a transport — provide type, name, package). ' +
180
+ 'Transport IDs look like A4HK900123. Status: D=modifiable, R=released.';
181
+ const SAPTRANSPORT_DESC_BTP = 'Manage transport requests (BTP ABAP Environment, SE09/SE10 equivalent). ' +
182
+ 'Actions: list (defaults to current user, modifiable transports — both Workbench and Customizing), ' +
183
+ 'get (details with tasks and objects), create (K=Workbench, W=Customizing, T=Transport of Copies), ' +
184
+ 'release, delete, reassign (change owner), release_recursive (release tasks first, then parent), ' +
185
+ 'check (check if a package requires a transport — provide type, name, package). ' +
152
186
  'On BTP, transport release triggers a gCTS push to the software component Git repository. ' +
153
187
  'Import into target systems is done via the Manage Software Components app or Cloud Transport Management Service (cTMS), not via this tool.';
154
188
  // ─── SAPManage ──────────────────────────────────────────────────────
155
189
  const SAPMANAGE_DESC_ONPREM = 'Probe and report SAP system capabilities. Use this BEFORE attempting operations that depend on optional ' +
156
- 'features (abapGit, RAP/CDS, AMDP, HANA, UI5/Fiori, CTS transports).\n\n' +
190
+ 'features (abapGit, RAP/CDS, AMDP, HANA, UI5/Fiori, CTS transports, FLP customization). Also handles package (DEVC) lifecycle operations.\n\n' +
157
191
  'Actions:\n' +
158
192
  '- "features": Get cached feature status from last probe (fast, no SAP round-trip). ' +
159
193
  'Returns which features are available, their mode (auto/on/off), and when they were last probed.\n' +
160
- '- "probe": Re-probe the SAP system now (makes 7 parallel requests, ~1-2s). ' +
161
- 'Use this on first use or if you suspect feature availability has changed.\n\n' +
194
+ '- "probe": Re-probe the SAP system now (makes 8 parallel requests, ~1-2s). ' +
195
+ 'Use this on first use or if you suspect feature availability has changed.\n' +
196
+ '- "cache_stats": Show object cache health and warmup state.\n' +
197
+ '- "create_package": Create a package (DEVC) via ADT packages API.\n' +
198
+ '- "delete_package": Delete an existing package.\n' +
199
+ '- "flp_list_catalogs": List FLP business catalogs.\n' +
200
+ '- "flp_list_groups": List FLP groups.\n' +
201
+ '- "flp_list_tiles": List tiles in a catalog (requires "catalogId").\n' +
202
+ '- "flp_create_catalog": Create a business catalog (requires "domainId", "title").\n' +
203
+ '- "flp_create_group": Create a group (requires "groupId", "title").\n' +
204
+ '- "flp_create_tile": Create a tile in a catalog (requires "catalogId", "tile").\n' +
205
+ '- "flp_add_tile_to_group": Add a catalog tile to a group (requires "groupId", "catalogId", "tileInstanceId").\n' +
206
+ '- "flp_delete_catalog": Delete a business catalog (requires "catalogId").\n\n' +
162
207
  'Returns JSON with features, each having: id, available (bool), mode, message, and probedAt timestamp. ' +
163
208
  'Also returns systemType ("btp" or "onprem") for understanding available capabilities. ' +
164
209
  '"available: false" means do NOT attempt operations that depend on it.';
165
210
  const SAPMANAGE_DESC_BTP = 'Probe and report SAP system capabilities (BTP ABAP Environment). ' +
166
- 'Returns feature status and system type.\n\n' +
211
+ 'Returns feature status and system type. Also handles package (DEVC) lifecycle operations.\n\n' +
167
212
  'Actions:\n' +
168
213
  '- "features": Get cached feature status from last probe.\n' +
169
- '- "probe": Re-probe the SAP system now.\n\n' +
214
+ '- "probe": Re-probe the SAP system now.\n' +
215
+ '- "cache_stats": Show object cache health and warmup state.\n' +
216
+ '- "create_package": Create a package (DEVC) via ADT packages API.\n' +
217
+ '- "delete_package": Delete an existing package.\n' +
218
+ '- FLP actions: flp_list_catalogs, flp_list_groups, flp_list_tiles, flp_create_catalog, flp_create_group, flp_create_tile, flp_add_tile_to_group, flp_delete_catalog.\n\n' +
170
219
  'Returns JSON with features and systemType="btp". On BTP, RAP/CDS and transports are always available. ' +
171
- 'abapGit, AMDP, UI5/BSP may not be available depending on the BTP ABAP configuration.';
220
+ 'abapGit, AMDP, UI5/BSP, and FLP customization may not be available depending on the BTP ABAP configuration.';
172
221
  // ─── SAPSearch Builder ─────────────────────────────────────────────
173
222
  /** Strip source_code-specific lines from a SAPSearch description when textSearch is unavailable */
174
223
  function stripSourceCodeLines(desc) {
@@ -307,7 +356,9 @@ export function getToolDefinitions(config, textSearchAvailable) {
307
356
  type: {
308
357
  type: 'string',
309
358
  enum: btp ? SAPWRITE_TYPES_BTP : SAPWRITE_TYPES_ONPREM,
310
- description: 'Object type (for create/update/delete/edit_method)',
359
+ description: btp
360
+ ? 'Object type (for create/update/delete/edit_method). Supported: CLAS, INTF, DDLS, DDLX, BDEF, SRVD, TABL, DOMA, DTEL.'
361
+ : 'Object type (for create/update/delete/edit_method). Supported: PROG, CLAS, INTF, FUNC, INCL, DDLS, DDLX, BDEF, SRVD, TABL, DOMA, DTEL.',
311
362
  },
312
363
  name: { type: 'string', description: 'Object name (for create/update/delete/edit_method)' },
313
364
  source: { type: 'string', description: 'ABAP source code (for create/update/edit_method)' },
@@ -319,8 +370,59 @@ export function getToolDefinitions(config, textSearchAvailable) {
319
370
  type: 'string',
320
371
  description: 'Object description for create action (defaults to name if omitted). Max 60 chars for most types.',
321
372
  },
322
- package: { type: 'string', description: 'Package for new objects (default $TMP)' },
323
- transport: { type: 'string', description: 'Transport request number (for transportable packages)' },
373
+ package: {
374
+ type: 'string',
375
+ description: 'Package for new objects (default $TMP). Non-$TMP packages require a transport number.',
376
+ },
377
+ transport: {
378
+ type: 'string',
379
+ description: 'Transport request number. Required for non-$TMP packages. Use SAPTransport(action="list") to find or SAPTransport(action="create") to create one.',
380
+ },
381
+ dataType: { type: 'string', description: 'DOMA/DTEL: ABAP data type (e.g., CHAR, NUMC, DEC)' },
382
+ length: { type: 'number', description: 'DOMA/DTEL: data type length' },
383
+ decimals: { type: 'number', description: 'DOMA/DTEL: decimal places' },
384
+ outputLength: { type: 'number', description: 'DOMA: output length' },
385
+ conversionExit: { type: 'string', description: 'DOMA: conversion exit (e.g., ALPHA)' },
386
+ signExists: { type: 'boolean', description: 'DOMA: signed values allowed' },
387
+ lowercase: { type: 'boolean', description: 'DOMA: lowercase characters allowed' },
388
+ fixedValues: {
389
+ type: 'array',
390
+ description: 'DOMA: fixed value ranges',
391
+ items: {
392
+ type: 'object',
393
+ properties: {
394
+ low: { type: 'string', description: 'Low value (required)' },
395
+ high: { type: 'string', description: 'High value for ranges (optional)' },
396
+ description: { type: 'string', description: 'Value description (optional)' },
397
+ },
398
+ required: ['low'],
399
+ },
400
+ },
401
+ valueTable: { type: 'string', description: 'DOMA: value table reference (e.g., T001)' },
402
+ typeKind: {
403
+ type: 'string',
404
+ enum: ['domain', 'predefinedAbapType'],
405
+ description: 'DTEL: type source (domain reference or predefined ABAP type)',
406
+ },
407
+ typeName: { type: 'string', description: 'DTEL: domain/type name reference (for typeKind=domain)' },
408
+ domainName: { type: 'string', description: 'DTEL: alias for typeName when referencing a domain' },
409
+ shortLabel: { type: 'string', description: 'DTEL: short field label' },
410
+ mediumLabel: { type: 'string', description: 'DTEL: medium field label' },
411
+ longLabel: { type: 'string', description: 'DTEL: long field label' },
412
+ headingLabel: { type: 'string', description: 'DTEL: heading field label' },
413
+ searchHelp: { type: 'string', description: 'DTEL: search help name' },
414
+ searchHelpParameter: { type: 'string', description: 'DTEL: search help parameter' },
415
+ setGetParameter: { type: 'string', description: 'DTEL: SET/GET parameter ID' },
416
+ defaultComponentName: { type: 'string', description: 'DTEL: default component name' },
417
+ changeDocument: { type: 'boolean', description: 'DTEL: enable change document flag' },
418
+ serviceDefinition: { type: 'string', description: 'SRVB: service definition name (SRVD) to bind to' },
419
+ bindingType: { type: 'string', description: 'SRVB: binding type (default: ODATA)' },
420
+ category: {
421
+ type: 'string',
422
+ enum: ['0', '1'],
423
+ description: 'SRVB: binding category (0=UI, 1=Web API; default: 0)',
424
+ },
425
+ version: { type: 'string', description: 'SRVB: service version (default: 0001)' },
324
426
  objects: {
325
427
  type: 'array',
326
428
  items: {
@@ -329,17 +431,58 @@ export function getToolDefinitions(config, textSearchAvailable) {
329
431
  type: {
330
432
  type: 'string',
331
433
  enum: btp ? SAPWRITE_TYPES_BTP : SAPWRITE_TYPES_ONPREM,
332
- description: 'Object type',
434
+ description: 'Object type (includes TABL for RAP stack bootstrapping)',
333
435
  },
334
436
  name: { type: 'string', description: 'Object name' },
335
437
  source: { type: 'string', description: 'ABAP source code (optional — some objects have no source)' },
336
438
  description: { type: 'string', description: 'Object description (defaults to name if omitted)' },
439
+ dataType: { type: 'string', description: 'DOMA/DTEL: ABAP data type' },
440
+ length: { type: 'number', description: 'DOMA/DTEL: data type length' },
441
+ decimals: { type: 'number', description: 'DOMA/DTEL: decimal places' },
442
+ outputLength: { type: 'number', description: 'DOMA: output length' },
443
+ conversionExit: { type: 'string', description: 'DOMA: conversion exit' },
444
+ signExists: { type: 'boolean', description: 'DOMA: signed values allowed' },
445
+ lowercase: { type: 'boolean', description: 'DOMA: lowercase allowed' },
446
+ fixedValues: {
447
+ type: 'array',
448
+ description: 'DOMA: fixed value ranges',
449
+ items: {
450
+ type: 'object',
451
+ properties: {
452
+ low: { type: 'string' },
453
+ high: { type: 'string' },
454
+ description: { type: 'string' },
455
+ },
456
+ required: ['low'],
457
+ },
458
+ },
459
+ valueTable: { type: 'string', description: 'DOMA: value table' },
460
+ typeKind: { type: 'string', enum: ['domain', 'predefinedAbapType'], description: 'DTEL: type mode' },
461
+ typeName: { type: 'string', description: 'DTEL: domain/type name reference' },
462
+ domainName: { type: 'string', description: 'DTEL: alias for typeName' },
463
+ shortLabel: { type: 'string', description: 'DTEL: short field label' },
464
+ mediumLabel: { type: 'string', description: 'DTEL: medium field label' },
465
+ longLabel: { type: 'string', description: 'DTEL: long field label' },
466
+ headingLabel: { type: 'string', description: 'DTEL: heading field label' },
467
+ searchHelp: { type: 'string', description: 'DTEL: search help' },
468
+ searchHelpParameter: { type: 'string', description: 'DTEL: search help parameter' },
469
+ setGetParameter: { type: 'string', description: 'DTEL: SET/GET parameter ID' },
470
+ defaultComponentName: { type: 'string', description: 'DTEL: default component name' },
471
+ changeDocument: { type: 'boolean', description: 'DTEL: change document flag' },
472
+ serviceDefinition: { type: 'string', description: 'SRVB: service definition (SRVD)' },
473
+ bindingType: { type: 'string', description: 'SRVB: binding type (default ODATA)' },
474
+ category: {
475
+ type: 'string',
476
+ enum: ['0', '1'],
477
+ description: 'SRVB: binding category (0=UI, 1=Web API)',
478
+ },
479
+ version: { type: 'string', description: 'SRVB: service version (default 0001)' },
337
480
  },
338
481
  required: ['type', 'name'],
339
482
  },
340
483
  description: 'For batch_create: ordered list of objects to create and activate. Each object needs type, name, and source (if applicable). ' +
341
- 'Objects are created and activated in array order — put dependencies first (e.g., CDS view before projection, BDEF after CDS views). ' +
342
- 'Example: [{type:"DDLS",name:"ZI_TRAVEL",source:"..."},{type:"BDEF",name:"ZI_TRAVEL",source:"..."},{type:"SRVD",name:"ZSD_TRAVEL",source:"..."}]',
484
+ 'Objects are created and activated in array order — put dependencies first (e.g., TABL before DDLS, BDEF after DDLS). ' +
485
+ 'Example: [{type:"TABL",name:"ZTRAVEL",source:"..."},{type:"DDLS",name:"ZI_TRAVEL",source:"..."},{type:"BDEF",name:"ZI_TRAVEL",source:"..."},{type:"SRVD",name:"ZSD_TRAVEL",source:"..."}]',
343
486
  },
344
487
  },
345
488
  required: ['action'],
@@ -348,8 +491,9 @@ export function getToolDefinitions(config, textSearchAvailable) {
348
491
  tools.push({
349
492
  name: 'SAPActivate',
350
493
  description: 'Activate (publish) ABAP objects. Supports single object or batch activation.\n' +
351
- 'For batch: pass "objects" array with {type, name} entries to activate multiple objects in one call. ' +
352
- 'Essential for RAP stacks where DDLS, BDEF, SRVD, DDLX, and SRVB depend on each other and must be activated together.\n' +
494
+ 'ALWAYS prefer batch activation when activating 2+ objects — pass "objects" array with {type, name} entries. ' +
495
+ 'Batch activation is more efficient (one SAP round-trip) and works for ANY combination of objects, not just dependent ones. ' +
496
+ 'It is required for RAP stacks where DDLS, BDEF, SRVD depend on each other, but equally useful for unrelated objects like multiple DTELs or DOMAs.\n' +
353
497
  'For publish_srvb/unpublish_srvb: publish or unpublish an OData service binding (SRVB) — makes the OData service available for consumption.',
354
498
  inputSchema: {
355
499
  type: 'object',
@@ -364,6 +508,12 @@ export function getToolDefinitions(config, textSearchAvailable) {
364
508
  name: { type: 'string', description: 'Object name (for single activation or publish/unpublish)' },
365
509
  type: { type: 'string', description: 'Object type (PROG, CLAS, DDLS, DDLX, BDEF, SRVD, SRVB, etc.)' },
366
510
  version: { type: 'string', description: 'Service version for publish/unpublish (default: "0001")' },
511
+ preaudit: {
512
+ type: 'boolean',
513
+ description: 'Request pre-activation audit from SAP (default: true). ' +
514
+ 'When true, SAP checks for issues before activating and returns warnings/errors. ' +
515
+ 'Set to false to skip pre-audit for faster activation when confident the code is correct.',
516
+ },
367
517
  objects: {
368
518
  type: 'array',
369
519
  items: {
@@ -374,8 +524,8 @@ export function getToolDefinitions(config, textSearchAvailable) {
374
524
  },
375
525
  required: ['type', 'name'],
376
526
  },
377
- description: 'For batch activation: array of objects to activate together. ' +
378
- 'Use for RAP stacks: [{type:"DDLS",name:"ZI_TRAVEL"},{type:"CLAS",name:"ZBP_I_TRAVEL"},{type:"BDEF",name:"ZI_TRAVEL"},{type:"DDLS",name:"ZC_TRAVEL"},{type:"BDEF",name:"ZC_TRAVEL"},{type:"DDLX",name:"ZC_TRAVEL"},{type:"SRVD",name:"ZSD_TRAVEL"}]',
527
+ description: 'Batch activation: array of objects to activate in one call. Use whenever activating 2+ objects. ' +
528
+ 'Works for any mix of types — e.g., [{type:"DOMA",name:"Z_DOM"},{type:"DTEL",name:"Z_DEL"}] or RAP stacks like [{type:"DDLS",name:"ZI_TRAVEL"},{type:"BDEF",name:"ZI_TRAVEL"},{type:"SRVD",name:"ZSD_TRAVEL"}].',
379
529
  },
380
530
  },
381
531
  },
@@ -413,18 +563,23 @@ export function getToolDefinitions(config, textSearchAvailable) {
413
563
  },
414
564
  required: ['action'],
415
565
  },
416
- }, {
417
- name: 'SAPQuery',
418
- description: btp ? SAPQUERY_DESC_BTP : SAPQUERY_DESC_ONPREM,
419
- inputSchema: {
420
- type: 'object',
421
- properties: {
422
- sql: { type: 'string', description: 'ABAP SQL SELECT statement' },
423
- maxRows: { type: 'number', description: 'Maximum rows (default 100)' },
566
+ });
567
+ // SAPQuery — only registered when free SQL is allowed
568
+ if (!config.blockFreeSQL) {
569
+ tools.push({
570
+ name: 'SAPQuery',
571
+ description: btp ? SAPQUERY_DESC_BTP : SAPQUERY_DESC_ONPREM,
572
+ inputSchema: {
573
+ type: 'object',
574
+ properties: {
575
+ sql: { type: 'string', description: 'ABAP SQL SELECT statement' },
576
+ maxRows: { type: 'number', description: 'Maximum rows (default 100)' },
577
+ },
578
+ required: ['sql'],
424
579
  },
425
- required: ['sql'],
426
- },
427
- }, {
580
+ });
581
+ }
582
+ tools.push({
428
583
  name: 'SAPLint',
429
584
  description: 'Run local abaplint rules on ABAP source code. System-aware: auto-selects cloud or on-prem rules based on detected system type.\n\n' +
430
585
  'Actions:\n' +
@@ -543,8 +698,86 @@ export function getToolDefinitions(config, textSearchAvailable) {
543
698
  properties: {
544
699
  action: {
545
700
  type: 'string',
546
- enum: ['features', 'probe', 'cache_stats'],
547
- description: 'Action: "features" for cached status, "probe" to re-check SAP system, "cache_stats" for object cache statistics',
701
+ enum: [
702
+ 'features',
703
+ 'probe',
704
+ 'cache_stats',
705
+ 'create_package',
706
+ 'delete_package',
707
+ 'flp_list_catalogs',
708
+ 'flp_list_groups',
709
+ 'flp_list_tiles',
710
+ 'flp_create_catalog',
711
+ 'flp_create_group',
712
+ 'flp_create_tile',
713
+ 'flp_add_tile_to_group',
714
+ 'flp_delete_catalog',
715
+ ],
716
+ description: 'Action to execute. Includes package lifecycle (create/delete) and FLP actions for catalogs/groups/tiles via PAGE_BUILDER_CUST OData service.',
717
+ },
718
+ name: {
719
+ type: 'string',
720
+ description: 'Package name (required for create_package and delete_package).',
721
+ },
722
+ description: {
723
+ type: 'string',
724
+ description: 'Package description (required for create_package).',
725
+ },
726
+ superPackage: {
727
+ type: 'string',
728
+ description: 'Parent package for create_package (defaults to empty root package).',
729
+ },
730
+ softwareComponent: {
731
+ type: 'string',
732
+ description: 'Software component for create_package (default: LOCAL).',
733
+ },
734
+ transportLayer: {
735
+ type: 'string',
736
+ description: 'Transport layer for create_package (optional; required by some transportable landscapes).',
737
+ },
738
+ packageType: {
739
+ type: 'string',
740
+ enum: ['development', 'structure', 'main'],
741
+ description: 'Package type for create_package (default: development).',
742
+ },
743
+ transport: {
744
+ type: 'string',
745
+ description: 'Optional transport request (corrNr) for create_package or delete_package.',
746
+ },
747
+ catalogId: {
748
+ type: 'string',
749
+ description: 'FLP catalog identifier — accepts either full ID (X-SAP-UI2-CATALOGPAGE:MY_CAT) or domain ID (MY_CAT). Required for flp_list_tiles, flp_create_tile, flp_add_tile_to_group, flp_delete_catalog.',
750
+ },
751
+ groupId: {
752
+ type: 'string',
753
+ description: 'FLP group/page identifier (required for flp_create_group, flp_add_tile_to_group).',
754
+ },
755
+ title: {
756
+ type: 'string',
757
+ description: 'Title for FLP catalog/group creation.',
758
+ },
759
+ domainId: {
760
+ type: 'string',
761
+ description: 'Domain ID for FLP catalog creation (e.g., ZARC1_SALES).',
762
+ },
763
+ tileInstanceId: {
764
+ type: 'string',
765
+ description: 'Tile instance ID in the source catalog (required for flp_add_tile_to_group).',
766
+ },
767
+ tile: {
768
+ type: 'object',
769
+ description: 'Tile definition for flp_create_tile.',
770
+ properties: {
771
+ id: { type: 'string', description: 'Tile ID (client-side logical id).' },
772
+ title: { type: 'string', description: 'Display title.' },
773
+ icon: { type: 'string', description: 'Optional icon URI.' },
774
+ semanticObject: { type: 'string', description: 'Semantic object for intent navigation.' },
775
+ semanticAction: { type: 'string', description: 'Semantic action for intent navigation.' },
776
+ url: { type: 'string', description: 'Optional target URL.' },
777
+ subtitle: { type: 'string', description: 'Optional subtitle text.' },
778
+ info: { type: 'string', description: 'Optional info text.' },
779
+ },
780
+ required: ['id', 'title', 'semanticObject', 'semanticAction'],
548
781
  },
549
782
  },
550
783
  required: ['action'],
@@ -559,10 +792,42 @@ export function getToolDefinitions(config, textSearchAvailable) {
559
792
  inputSchema: {
560
793
  type: 'object',
561
794
  properties: {
562
- action: { type: 'string', enum: ['list', 'get', 'create', 'release'], description: 'Transport action' },
563
- id: { type: 'string', description: 'Transport request ID (for get/release)' },
564
- description: { type: 'string', description: 'Description (for create)' },
565
- user: { type: 'string', description: 'Filter by user (for list)' },
795
+ action: {
796
+ type: 'string',
797
+ enum: ['list', 'get', 'create', 'release', 'delete', 'reassign', 'release_recursive', 'check'],
798
+ description: 'list: show transports (defaults to current user, modifiable only). ' +
799
+ 'get: fetch transport details including tasks and objects. ' +
800
+ 'create: create a new transport request. ' +
801
+ 'release: release a single transport or task. ' +
802
+ 'delete: delete a transport (use recursive=true to delete tasks first). ' +
803
+ 'reassign: change transport owner (use recursive=true for tasks too). ' +
804
+ 'release_recursive: release all unreleased tasks first, then the transport itself. ' +
805
+ 'check: check if a transport is needed for a package/object (requires type, name, package).',
806
+ },
807
+ id: {
808
+ type: 'string',
809
+ description: 'Transport request ID, e.g. A4HK900123 (required for get/release/delete/reassign/release_recursive)',
810
+ },
811
+ description: { type: 'string', description: 'Transport description text (required for create)' },
812
+ name: { type: 'string', description: 'Object name (for check action)' },
813
+ package: { type: 'string', description: 'Package name (for check action)' },
814
+ user: {
815
+ type: 'string',
816
+ description: 'SAP username to filter by (for list). Defaults to the current SAP user. Use "*" to list all users.',
817
+ },
818
+ status: {
819
+ type: 'string',
820
+ description: 'Transport status filter (for list). D=modifiable (default), R=released, "*"=all statuses.',
821
+ },
822
+ type: {
823
+ type: 'string',
824
+ description: 'For create: transport type K=Workbench (default), W=Customizing, T=Transport of Copies. For check: object type (PROG, CLAS, DDLS, etc.)',
825
+ },
826
+ owner: { type: 'string', description: 'New owner SAP username (required for reassign)' },
827
+ recursive: {
828
+ type: 'boolean',
829
+ description: 'Apply recursively to child tasks (for delete/reassign). release_recursive always recurses.',
830
+ },
566
831
  },
567
832
  required: ['action'],
568
833
  },
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/server/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAiB,YAAY,EAAiB,MAAM,YAAY,CAAC;AAG7E;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA8BjF;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAOnD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAwC1D,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CAkKtD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAkBzD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/server/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAiB,YAAY,EAAiB,MAAM,YAAY,CAAC;AAG7E;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA8BjF;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAOnD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAwC1D,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CA6KtD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAkBzD"}
@@ -152,6 +152,16 @@ export function parseArgs(args) {
152
152
  const transport = resolve('transport', 'SAP_TRANSPORT', 'stdio');
153
153
  config.transport = (transport === 'http-streamable' ? 'http-streamable' : 'stdio');
154
154
  config.httpAddr = resolve('http-addr', 'SAP_HTTP_ADDR', '0.0.0.0:8080');
155
+ // --port / ARC1_PORT overrides just the port part of httpAddr (simpler alternative to --http-addr)
156
+ const portOverride = getFlag('port') ?? process.env.ARC1_PORT;
157
+ if (portOverride) {
158
+ const parsedPort = Number.parseInt(portOverride, 10);
159
+ if (Number.isNaN(parsedPort) || parsedPort < 1 || parsedPort > 65535) {
160
+ throw new Error(`Invalid port '${portOverride}': must be a number between 1 and 65535`);
161
+ }
162
+ const addrHost = config.httpAddr.includes(':') ? config.httpAddr.split(':')[0] : '0.0.0.0';
163
+ config.httpAddr = `${addrHost}:${parsedPort}`;
164
+ }
155
165
  // --- Profile (apply before individual safety flags so flags can override) ---
156
166
  const profileName = getFlag('profile') ?? process.env.ARC1_PROFILE;
157
167
  if (profileName) {
@@ -167,17 +177,17 @@ export function parseArgs(args) {
167
177
  if (readOnlyExplicit !== undefined)
168
178
  config.readOnly = readOnlyExplicit === 'true' || readOnlyExplicit === '1';
169
179
  else if (!profileName)
170
- config.readOnly = false;
180
+ config.readOnly = true;
171
181
  const blockFreeSQLExplicit = getFlag('block-free-sql') ?? process.env.SAP_BLOCK_FREE_SQL;
172
182
  if (blockFreeSQLExplicit !== undefined)
173
183
  config.blockFreeSQL = blockFreeSQLExplicit === 'true' || blockFreeSQLExplicit === '1';
174
184
  else if (!profileName)
175
- config.blockFreeSQL = false;
185
+ config.blockFreeSQL = true;
176
186
  const blockDataExplicit = getFlag('block-data') ?? process.env.SAP_BLOCK_DATA;
177
187
  if (blockDataExplicit !== undefined)
178
188
  config.blockData = blockDataExplicit === 'true' || blockDataExplicit === '1';
179
189
  else if (!profileName)
180
- config.blockData = false;
190
+ config.blockData = true;
181
191
  config.allowedOps = resolve('allowed-ops', 'SAP_ALLOWED_OPS', '');
182
192
  config.disallowedOps = resolve('disallowed-ops', 'SAP_DISALLOWED_OPS', '');
183
193
  const pkgs = getFlag('allowed-packages') ?? process.env.SAP_ALLOWED_PACKAGES;
@@ -196,6 +206,7 @@ export function parseArgs(args) {
196
206
  config.featureTransport = resolveFeature('feature-transport', 'SAP_FEATURE_TRANSPORT');
197
207
  config.featureHana = resolveFeature('feature-hana', 'SAP_FEATURE_HANA');
198
208
  config.featureUi5Repo = resolveFeature('feature-ui5repo', 'SAP_FEATURE_UI5REPO');
209
+ config.featureFlp = resolveFeature('feature-flp', 'SAP_FEATURE_FLP');
199
210
  // --- System Type Detection ---
200
211
  const systemType = resolve('system-type', 'SAP_SYSTEM_TYPE', 'auto');
201
212
  config.systemType = (['btp', 'onprem'].includes(systemType) ? systemType : 'auto');