arc-1 0.9.6 → 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.
Files changed (72) hide show
  1. package/README.md +2 -2
  2. package/dist/adt/abapgit.d.ts +2 -1
  3. package/dist/adt/abapgit.d.ts.map +1 -1
  4. package/dist/adt/abapgit.js +2 -2
  5. package/dist/adt/abapgit.js.map +1 -1
  6. package/dist/adt/btp.d.ts.map +1 -1
  7. package/dist/adt/btp.js +7 -3
  8. package/dist/adt/btp.js.map +1 -1
  9. package/dist/adt/class-structure.d.ts +176 -0
  10. package/dist/adt/class-structure.d.ts.map +1 -0
  11. package/dist/adt/class-structure.js +317 -0
  12. package/dist/adt/class-structure.js.map +1 -0
  13. package/dist/adt/client.d.ts +112 -1
  14. package/dist/adt/client.d.ts.map +1 -1
  15. package/dist/adt/client.js +245 -3
  16. package/dist/adt/client.js.map +1 -1
  17. package/dist/adt/crud.d.ts +38 -0
  18. package/dist/adt/crud.d.ts.map +1 -1
  19. package/dist/adt/crud.js +73 -1
  20. package/dist/adt/crud.js.map +1 -1
  21. package/dist/adt/errors.d.ts +2 -2
  22. package/dist/adt/errors.d.ts.map +1 -1
  23. package/dist/adt/errors.js +50 -6
  24. package/dist/adt/errors.js.map +1 -1
  25. package/dist/adt/gcts.d.ts +3 -2
  26. package/dist/adt/gcts.d.ts.map +1 -1
  27. package/dist/adt/gcts.js +4 -4
  28. package/dist/adt/gcts.js.map +1 -1
  29. package/dist/adt/http.d.ts +18 -0
  30. package/dist/adt/http.d.ts.map +1 -1
  31. package/dist/adt/http.js +50 -43
  32. package/dist/adt/http.js.map +1 -1
  33. package/dist/adt/package-hierarchy.d.ts +67 -0
  34. package/dist/adt/package-hierarchy.d.ts.map +1 -0
  35. package/dist/adt/package-hierarchy.js +100 -0
  36. package/dist/adt/package-hierarchy.js.map +1 -0
  37. package/dist/adt/release.d.ts +35 -0
  38. package/dist/adt/release.d.ts.map +1 -0
  39. package/dist/adt/release.js +48 -0
  40. package/dist/adt/release.js.map +1 -0
  41. package/dist/adt/safety.d.ts +39 -3
  42. package/dist/adt/safety.d.ts.map +1 -1
  43. package/dist/adt/safety.js +136 -15
  44. package/dist/adt/safety.js.map +1 -1
  45. package/dist/adt/types.d.ts +74 -0
  46. package/dist/adt/types.d.ts.map +1 -1
  47. package/dist/adt/xml-parser.d.ts +46 -1
  48. package/dist/adt/xml-parser.d.ts.map +1 -1
  49. package/dist/adt/xml-parser.js +231 -0
  50. package/dist/adt/xml-parser.js.map +1 -1
  51. package/dist/authz/policy.d.ts.map +1 -1
  52. package/dist/authz/policy.js +12 -0
  53. package/dist/authz/policy.js.map +1 -1
  54. package/dist/context/grep.d.ts +48 -0
  55. package/dist/context/grep.d.ts.map +1 -0
  56. package/dist/context/grep.js +146 -0
  57. package/dist/context/grep.js.map +1 -0
  58. package/dist/handlers/intent.d.ts.map +1 -1
  59. package/dist/handlers/intent.js +430 -24
  60. package/dist/handlers/intent.js.map +1 -1
  61. package/dist/handlers/schemas.d.ts +42 -4
  62. package/dist/handlers/schemas.d.ts.map +1 -1
  63. package/dist/handlers/schemas.js +85 -9
  64. package/dist/handlers/schemas.js.map +1 -1
  65. package/dist/handlers/tools.d.ts.map +1 -1
  66. package/dist/handlers/tools.js +68 -12
  67. package/dist/handlers/tools.js.map +1 -1
  68. package/dist/server/server.d.ts +20 -2
  69. package/dist/server/server.d.ts.map +1 -1
  70. package/dist/server/server.js +45 -11
  71. package/dist/server/server.js.map +1 -1
  72. package/package.json +1 -1
@@ -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 = [
@@ -410,8 +414,8 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
410
414
  type: 'string',
411
415
  enum: btp ? SAPREAD_TYPES_BTP : SAPREAD_TYPES_ONPREM,
412
416
  description: btp
413
- ? '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).'
414
- : '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).',
415
419
  },
416
420
  name: { type: 'string', description: 'Object name (e.g., ZTEST_PROGRAM, ZCL_ORDER, MARA)' },
417
421
  include: {
@@ -431,6 +435,14 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
431
435
  (btp ? '' : 'For SOBJ: BOR method name to read. If omitted, returns the full BOR method catalog. ') +
432
436
  'Not used with other types.',
433
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
+ },
434
446
  ...(btp
435
447
  ? {}
436
448
  : {
@@ -457,7 +469,10 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
457
469
  type: 'boolean',
458
470
  description: 'For source reads: bypass cached source and inactive-list state before reading. Use when you know the object changed outside ARC-1.',
459
471
  },
460
- maxRows: { type: 'number', description: 'For TABLE_CONTENTS: max rows to return (default 100)' },
472
+ maxRows: {
473
+ type: 'number',
474
+ description: 'For TABLE_CONTENTS and TABLE_QUERY: max rows to return (default 100)',
475
+ },
461
476
  maxResults: {
462
477
  type: 'number',
463
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.',
@@ -474,6 +489,27 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
474
489
  type: 'string',
475
490
  description: 'For VERSION_SOURCE: URI of a specific revision from SAPRead(type="VERSIONS") response (.revisions[].uri). Must start with /sap/bc/adt/.',
476
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
+ },
477
513
  },
478
514
  required: ['type'],
479
515
  },
@@ -501,29 +537,49 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
501
537
  'update',
502
538
  'delete',
503
539
  'edit_method',
540
+ 'edit_class_definition',
541
+ 'add_method',
542
+ 'edit_method_signature',
543
+ 'delete_method',
544
+ 'change_method_visibility',
504
545
  'batch_create',
505
546
  'scaffold_rap_handlers',
506
547
  'generate_behavior_implementation',
507
548
  ],
508
- description: 'Write action. edit_method: surgically replace a single method body (requires type=CLAS, method, and source params). 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.',
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.",
509
550
  },
510
551
  type: {
511
552
  type: 'string',
512
553
  enum: btp ? SAPWRITE_TYPES_BTP : SAPWRITE_TYPES_ONPREM,
513
554
  description: btp
514
- ? 'Object type (for create/update/delete/edit_method). Supported: CLAS, INTF, DDLS, DDLX, BDEF, SRVD, TABL, DOMA, DTEL.'
515
- : '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.',
516
565
  },
517
- name: { type: 'string', description: 'Object name (for create/update/delete/edit_method)' },
518
- source: { type: 'string', description: 'ABAP source code (for create/update/edit_method)' },
519
566
  include: {
520
567
  type: 'string',
521
568
  enum: SAPWRITE_CLAS_INCLUDES,
522
- description: 'For action=update or action=edit_method on a CLAS: 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.',
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.',
523
570
  },
524
571
  method: {
525
572
  type: 'string',
526
- description: 'For edit_method action: method name to replace. Examples: "get_name" (regular method), "zif_order~process" (global interface implementation, routes to source/main), "lhc_project~approve_project" (local handler in a RAP behavior pool, auto-routes to /includes/implementations). When two local classes in the same CCIMP share a bare method name, the qualified <localclass>~<method> form is required to disambiguate.',
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).',
527
583
  },
528
584
  bdefName: {
529
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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"}
@@ -7,7 +7,7 @@
7
7
  * - http-streamable: for remote/containerized deployments
8
8
  */
9
9
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
10
- import type { BTPConfig, BTPProxyConfig } from '../adt/btp.js';
10
+ import type { BTPConfig, BTPProxyConfig, PerUserAuthTokens } from '../adt/btp.js';
11
11
  import type { AdtClientConfig } from '../adt/config.js';
12
12
  import { Semaphore } from '../adt/semaphore.js';
13
13
  import { CachingLayer } from '../cache/caching-layer.js';
@@ -15,7 +15,7 @@ import { type ToolDefinition } from '../handlers/tools.js';
15
15
  import { type McpRateLimiter } from './mcp-rate-limit.js';
16
16
  import type { ServerConfig } from './types.js';
17
17
  /** ARC-1 version */
18
- export declare const VERSION = "0.9.6";
18
+ export declare const VERSION = "0.9.7";
19
19
  /**
20
20
  * Filter tools by user scope + server deny list.
21
21
  *
@@ -30,6 +30,24 @@ export declare function logAuthSummary(config: ServerConfig): void;
30
30
  export declare function buildAdtConfig(config: ServerConfig, btpProxy?: BTPProxyConfig, bearerTokenProvider?: () => Promise<string>, opts?: {
31
31
  perUser?: boolean;
32
32
  }, adtSemaphore?: Semaphore): Partial<AdtClientConfig>;
33
+ /**
34
+ * Map per-user auth tokens from the BTP Destination Service onto an AdtClientConfig.
35
+ * Mutates and returns `adtConfig`. Exported for unit testing.
36
+ *
37
+ * Precedence (most-specific first):
38
+ * 1. ppProxyAuth — Option 1: jwt-bearer exchanged token → Proxy-Authorization (Cloud Connector)
39
+ * 2. sapConnectivityAuth — Option 2: SAML assertion → SAP-Connectivity-Authentication (Cloud Connector)
40
+ * 3. bearerToken — OAuth2UserTokenExchange / OAuth2SAMLBearerAssertion: a user-context Bearer
41
+ * token minted at the target's XSUAA → `Authorization: Bearer` (cloud-to-cloud,
42
+ * e.g. a BTP ABAP Environment over the Internet — no Cloud Connector / proxy).
43
+ *
44
+ * Throws when none is present (PP could not produce a usable per-user credential).
45
+ *
46
+ * In every success branch the SAP password is cleared and `username` is set to a display-only
47
+ * value — it is never used for auth or access control; the real SAP identity rides in the
48
+ * chosen token/assertion.
49
+ */
50
+ export declare function applyPerUserAuthTokens(adtConfig: Partial<AdtClientConfig>, authTokens: PerUserAuthTokens, displayUsername: string | undefined, destName: string): Partial<AdtClientConfig>;
33
51
  /**
34
52
  * Run a one-time feature probe against the SAP system using the shared/default client.
35
53
  * Returns a promise that resolves once probe results are stored in cachedFeatures.
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprot
12
12
  import { AdtClient } from '../adt/client.js';
13
13
  import { resolveCookies } from '../adt/cookies.js';
14
14
  import { AdtApiError } from '../adt/errors.js';
15
+ import { shouldWarnPreStatefulRelease } from '../adt/release.js';
15
16
  import { deriveUserSafety, deriveUserSafetyFromProfile } from '../adt/safety.js';
16
17
  import { Semaphore } from '../adt/semaphore.js';
17
18
  import { getActionPolicy, hasRequiredScope } from '../authz/policy.js';
@@ -25,7 +26,7 @@ import { initLogger, logger } from './logger.js';
25
26
  import { createMcpRateLimiter } from './mcp-rate-limit.js';
26
27
  import { FileSink } from './sinks/file.js';
27
28
  /** ARC-1 version */
28
- export const VERSION = '0.9.6'; // x-release-please-version
29
+ export const VERSION = '0.9.7'; // x-release-please-version
29
30
  /**
30
31
  * Prune a tool's action OR type enum (or both) based on the user's scopes and
31
32
  * the server's denyActions list. Uses ACTION_POLICY as the single source of truth.
@@ -247,22 +248,42 @@ async function createPerUserClient(config, btpConfig, btpProxy, userJwt, adtSema
247
248
  catch {
248
249
  displayUsername = undefined;
249
250
  }
251
+ applyPerUserAuthTokens(adtConfig, authTokens, displayUsername, destName);
252
+ return new AdtClient(adtConfig);
253
+ }
254
+ /**
255
+ * Map per-user auth tokens from the BTP Destination Service onto an AdtClientConfig.
256
+ * Mutates and returns `adtConfig`. Exported for unit testing.
257
+ *
258
+ * Precedence (most-specific first):
259
+ * 1. ppProxyAuth — Option 1: jwt-bearer exchanged token → Proxy-Authorization (Cloud Connector)
260
+ * 2. sapConnectivityAuth — Option 2: SAML assertion → SAP-Connectivity-Authentication (Cloud Connector)
261
+ * 3. bearerToken — OAuth2UserTokenExchange / OAuth2SAMLBearerAssertion: a user-context Bearer
262
+ * token minted at the target's XSUAA → `Authorization: Bearer` (cloud-to-cloud,
263
+ * e.g. a BTP ABAP Environment over the Internet — no Cloud Connector / proxy).
264
+ *
265
+ * Throws when none is present (PP could not produce a usable per-user credential).
266
+ *
267
+ * In every success branch the SAP password is cleared and `username` is set to a display-only
268
+ * value — it is never used for auth or access control; the real SAP identity rides in the
269
+ * chosen token/assertion.
270
+ */
271
+ export function applyPerUserAuthTokens(adtConfig, authTokens, displayUsername, destName) {
250
272
  if (authTokens.ppProxyAuth) {
251
- // Option 1: exchanged token replaces Proxy-Authorization
252
273
  adtConfig.ppProxyAuth = authTokens.ppProxyAuth;
253
- adtConfig.username = displayUsername;
254
- adtConfig.password = undefined;
255
274
  }
256
275
  else if (authTokens.sapConnectivityAuth) {
257
- // Option 2: SAML assertion from Destination Service
258
276
  adtConfig.sapConnectivityAuth = authTokens.sapConnectivityAuth;
259
- adtConfig.username = displayUsername;
260
- adtConfig.password = undefined;
261
277
  }
262
278
  else if (authTokens.bearerToken) {
263
- // TODO: Bearer token auth for OAuth2SAMLBearerAssertion destinations
264
- // This would replace basic auth with Bearer token
265
- logger.warn('Bearer token auth from destination not yet implemented — falling back to basic auth');
279
+ // createPerUserClient runs per request and the Cloud SDK caches the exchanged token per
280
+ // user (TTL-bounded), so a provider returning the already-resolved token is fresh for the
281
+ // request's lifetime.
282
+ const bearer = authTokens.bearerToken;
283
+ adtConfig.bearerTokenProvider = async () => bearer;
284
+ logger.debug('PP: using destination-exchanged Bearer token (OAuth2UserTokenExchange)', {
285
+ destination: destName,
286
+ });
266
287
  }
267
288
  else {
268
289
  // No per-user auth token received.
@@ -270,7 +291,9 @@ async function createPerUserClient(config, btpConfig, btpProxy, userJwt, adtSema
270
291
  'no SAP-Connectivity-Authentication header, Bearer token, or jwt-bearer exchange token returned. ' +
271
292
  'Check Cloud Connector status, destination configuration, and user JWT validity.');
272
293
  }
273
- return new AdtClient(adtConfig);
294
+ adtConfig.username = displayUsername;
295
+ adtConfig.password = undefined;
296
+ return adtConfig;
274
297
  }
275
298
  /**
276
299
  * Run a one-time feature probe against the SAP system using the shared/default client.
@@ -320,6 +343,17 @@ export function runStartupProbe(config, btpProxy, bearerTokenProvider, btpConfig
320
343
  }
321
344
  }
322
345
  setCachedFeatures(features);
346
+ // Proactive warning: on SAP_BASIS < 7.51 the ADT REST handler does not honor the
347
+ // stateful-session header over HTTP, so object writes fail with 423 "invalid lock
348
+ // handle" until the abapfs_extensions enhancement is installed. Warn at startup —
349
+ // before the first cryptic 423 — but only when writes are enabled (issue #293).
350
+ if (shouldWarnPreStatefulRelease(config.allowWrites, features.abapRelease)) {
351
+ logger.warn(`SAP_BASIS ${features.abapRelease} is below 7.51 and does not natively honor stateful ADT ` +
352
+ 'HTTP sessions — object writes will fail with 423 "invalid lock handle" UNLESS the ' +
353
+ 'abapfs_extensions enhancement is installed on the SAP system ' +
354
+ '(https://github.com/marcellourbani/abapfs_extensions). If writes already work, this is ' +
355
+ 'installed and you can ignore this. See docs/sap-trial-setup.md (423 troubleshooting).');
356
+ }
323
357
  setCachedDiscovery(features.discoveryMap ?? new Map());
324
358
  }
325
359
  catch {