@mcp-abap-adt/adt-clients 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/README.md +184 -0
- package/bin/README.md +368 -0
- package/bin/lock-object.js +274 -0
- package/bin/manage-locks.js +331 -0
- package/bin/manage-sessions.js +235 -0
- package/bin/unlock-object.js +291 -0
- package/bin/unlock-test-objects.js +248 -0
- package/dist/clients/CrudClient.d.ts +48 -0
- package/dist/clients/CrudClient.d.ts.map +1 -0
- package/dist/clients/CrudClient.js +135 -0
- package/dist/clients/LockClient.d.ts +28 -0
- package/dist/clients/LockClient.d.ts.map +1 -0
- package/dist/clients/LockClient.js +141 -0
- package/dist/clients/ManagementClient.d.ts +34 -0
- package/dist/clients/ManagementClient.d.ts.map +1 -0
- package/dist/clients/ManagementClient.js +80 -0
- package/dist/clients/ReadOnlyClient.d.ts +70 -0
- package/dist/clients/ReadOnlyClient.d.ts.map +1 -0
- package/dist/clients/ReadOnlyClient.js +141 -0
- package/dist/clients/ValidationClient.d.ts +8 -0
- package/dist/clients/ValidationClient.d.ts.map +1 -0
- package/dist/clients/ValidationClient.js +14 -0
- package/dist/core/class/ClassBuilder.d.ts +140 -0
- package/dist/core/class/ClassBuilder.d.ts.map +1 -0
- package/dist/core/class/ClassBuilder.js +400 -0
- package/dist/core/class/activation.d.ts +11 -0
- package/dist/core/class/activation.d.ts.map +1 -0
- package/dist/core/class/activation.js +16 -0
- package/dist/core/class/check.d.ts +24 -0
- package/dist/core/class/check.d.ts.map +1 -0
- package/dist/core/class/check.js +73 -0
- package/dist/core/class/create.d.ts +30 -0
- package/dist/core/class/create.d.ts.map +1 -0
- package/dist/core/class/create.js +118 -0
- package/dist/core/class/index.d.ts +14 -0
- package/dist/core/class/index.d.ts.map +1 -0
- package/dist/core/class/index.js +31 -0
- package/dist/core/class/lock.d.ts +20 -0
- package/dist/core/class/lock.d.ts.map +1 -0
- package/dist/core/class/lock.js +49 -0
- package/dist/core/class/read.d.ts +34 -0
- package/dist/core/class/read.d.ts.map +1 -0
- package/dist/core/class/read.js +59 -0
- package/dist/core/class/run.d.ts +51 -0
- package/dist/core/class/run.d.ts.map +1 -0
- package/dist/core/class/run.js +105 -0
- package/dist/core/class/unlock.d.ts +11 -0
- package/dist/core/class/unlock.d.ts.map +1 -0
- package/dist/core/class/unlock.js +16 -0
- package/dist/core/class/update.d.ts +11 -0
- package/dist/core/class/update.d.ts.map +1 -0
- package/dist/core/class/update.js +30 -0
- package/dist/core/class/validation.d.ts +28 -0
- package/dist/core/class/validation.d.ts.map +1 -0
- package/dist/core/class/validation.js +269 -0
- package/dist/core/dataElement/DataElementBuilder.d.ts +113 -0
- package/dist/core/dataElement/DataElementBuilder.d.ts.map +1 -0
- package/dist/core/dataElement/DataElementBuilder.js +449 -0
- package/dist/core/dataElement/activation.d.ts +11 -0
- package/dist/core/dataElement/activation.d.ts.map +1 -0
- package/dist/core/dataElement/activation.js +123 -0
- package/dist/core/dataElement/check.d.ts +12 -0
- package/dist/core/dataElement/check.d.ts.map +1 -0
- package/dist/core/dataElement/check.js +32 -0
- package/dist/core/dataElement/create.d.ts +12 -0
- package/dist/core/dataElement/create.d.ts.map +1 -0
- package/dist/core/dataElement/create.js +259 -0
- package/dist/core/dataElement/delete.d.ts +14 -0
- package/dist/core/dataElement/delete.d.ts.map +1 -0
- package/dist/core/dataElement/delete.js +21 -0
- package/dist/core/dataElement/index.d.ts +14 -0
- package/dist/core/dataElement/index.d.ts.map +1 -0
- package/dist/core/dataElement/index.js +31 -0
- package/dist/core/dataElement/lock.d.ts +10 -0
- package/dist/core/dataElement/lock.d.ts.map +1 -0
- package/dist/core/dataElement/lock.js +31 -0
- package/dist/core/dataElement/read.d.ts +17 -0
- package/dist/core/dataElement/read.d.ts.map +1 -0
- package/dist/core/dataElement/read.js +42 -0
- package/dist/core/dataElement/types.d.ts +64 -0
- package/dist/core/dataElement/types.d.ts.map +1 -0
- package/dist/core/dataElement/types.js +5 -0
- package/dist/core/dataElement/unlock.d.ts +11 -0
- package/dist/core/dataElement/unlock.d.ts.map +1 -0
- package/dist/core/dataElement/unlock.js +17 -0
- package/dist/core/dataElement/update.d.ts +29 -0
- package/dist/core/dataElement/update.d.ts.map +1 -0
- package/dist/core/dataElement/update.js +269 -0
- package/dist/core/delete.d.ts +22 -0
- package/dist/core/delete.d.ts.map +1 -0
- package/dist/core/delete.js +148 -0
- package/dist/core/domain/DomainBuilder.d.ts +135 -0
- package/dist/core/domain/DomainBuilder.d.ts.map +1 -0
- package/dist/core/domain/DomainBuilder.js +430 -0
- package/dist/core/domain/activation.d.ts +11 -0
- package/dist/core/domain/activation.d.ts.map +1 -0
- package/dist/core/domain/activation.js +16 -0
- package/dist/core/domain/check.d.ts +16 -0
- package/dist/core/domain/check.d.ts.map +1 -0
- package/dist/core/domain/check.js +36 -0
- package/dist/core/domain/create.d.ts +21 -0
- package/dist/core/domain/create.d.ts.map +1 -0
- package/dist/core/domain/create.js +172 -0
- package/dist/core/domain/delete.d.ts +14 -0
- package/dist/core/domain/delete.d.ts.map +1 -0
- package/dist/core/domain/delete.js +21 -0
- package/dist/core/domain/index.d.ts +14 -0
- package/dist/core/domain/index.d.ts.map +1 -0
- package/dist/core/domain/index.js +31 -0
- package/dist/core/domain/lock.d.ts +15 -0
- package/dist/core/domain/lock.d.ts.map +1 -0
- package/dist/core/domain/lock.js +61 -0
- package/dist/core/domain/read.d.ts +17 -0
- package/dist/core/domain/read.d.ts.map +1 -0
- package/dist/core/domain/read.js +42 -0
- package/dist/core/domain/types.d.ts +38 -0
- package/dist/core/domain/types.d.ts.map +1 -0
- package/dist/core/domain/types.js +5 -0
- package/dist/core/domain/unlock.d.ts +11 -0
- package/dist/core/domain/unlock.d.ts.map +1 -0
- package/dist/core/domain/unlock.js +17 -0
- package/dist/core/domain/update.d.ts +12 -0
- package/dist/core/domain/update.d.ts.map +1 -0
- package/dist/core/domain/update.js +144 -0
- package/dist/core/functionGroup/FunctionGroupBuilder.d.ts +91 -0
- package/dist/core/functionGroup/FunctionGroupBuilder.d.ts.map +1 -0
- package/dist/core/functionGroup/FunctionGroupBuilder.js +268 -0
- package/dist/core/functionGroup/activation.d.ts +10 -0
- package/dist/core/functionGroup/activation.d.ts.map +1 -0
- package/dist/core/functionGroup/activation.js +30 -0
- package/dist/core/functionGroup/check.d.ts +24 -0
- package/dist/core/functionGroup/check.d.ts.map +1 -0
- package/dist/core/functionGroup/check.js +91 -0
- package/dist/core/functionGroup/create.d.ts +12 -0
- package/dist/core/functionGroup/create.d.ts.map +1 -0
- package/dist/core/functionGroup/create.js +90 -0
- package/dist/core/functionGroup/delete.d.ts +14 -0
- package/dist/core/functionGroup/delete.d.ts.map +1 -0
- package/dist/core/functionGroup/delete.js +21 -0
- package/dist/core/functionGroup/index.d.ts +15 -0
- package/dist/core/functionGroup/index.d.ts.map +1 -0
- package/dist/core/functionGroup/index.js +32 -0
- package/dist/core/functionGroup/lock.d.ts +25 -0
- package/dist/core/functionGroup/lock.d.ts.map +1 -0
- package/dist/core/functionGroup/lock.js +50 -0
- package/dist/core/functionGroup/read.d.ts +17 -0
- package/dist/core/functionGroup/read.d.ts.map +1 -0
- package/dist/core/functionGroup/read.js +42 -0
- package/dist/core/functionGroup/types.d.ts +11 -0
- package/dist/core/functionGroup/types.d.ts.map +1 -0
- package/dist/core/functionGroup/types.js +5 -0
- package/dist/core/functionGroup/unlock.d.ts +5 -0
- package/dist/core/functionGroup/unlock.d.ts.map +1 -0
- package/dist/core/functionGroup/unlock.js +8 -0
- package/dist/core/functionGroup/update.d.ts +20 -0
- package/dist/core/functionGroup/update.d.ts.map +1 -0
- package/dist/core/functionGroup/update.js +119 -0
- package/dist/core/functionGroup/validation.d.ts +10 -0
- package/dist/core/functionGroup/validation.d.ts.map +1 -0
- package/dist/core/functionGroup/validation.js +17 -0
- package/dist/core/functionModule/FunctionModuleBuilder.d.ts +101 -0
- package/dist/core/functionModule/FunctionModuleBuilder.d.ts.map +1 -0
- package/dist/core/functionModule/FunctionModuleBuilder.js +314 -0
- package/dist/core/functionModule/activation.d.ts +10 -0
- package/dist/core/functionModule/activation.d.ts.map +1 -0
- package/dist/core/functionModule/activation.js +17 -0
- package/dist/core/functionModule/check.d.ts +23 -0
- package/dist/core/functionModule/check.d.ts.map +1 -0
- package/dist/core/functionModule/check.js +116 -0
- package/dist/core/functionModule/create.d.ts +12 -0
- package/dist/core/functionModule/create.d.ts.map +1 -0
- package/dist/core/functionModule/create.js +158 -0
- package/dist/core/functionModule/delete.d.ts +15 -0
- package/dist/core/functionModule/delete.d.ts.map +1 -0
- package/dist/core/functionModule/delete.js +25 -0
- package/dist/core/functionModule/index.d.ts +15 -0
- package/dist/core/functionModule/index.d.ts.map +1 -0
- package/dist/core/functionModule/index.js +32 -0
- package/dist/core/functionModule/lock.d.ts +18 -0
- package/dist/core/functionModule/lock.d.ts.map +1 -0
- package/dist/core/functionModule/lock.js +52 -0
- package/dist/core/functionModule/read.d.ts +31 -0
- package/dist/core/functionModule/read.d.ts.map +1 -0
- package/dist/core/functionModule/read.js +57 -0
- package/dist/core/functionModule/types.d.ts +19 -0
- package/dist/core/functionModule/types.d.ts.map +1 -0
- package/dist/core/functionModule/types.js +5 -0
- package/dist/core/functionModule/unlock.d.ts +10 -0
- package/dist/core/functionModule/unlock.d.ts.map +1 -0
- package/dist/core/functionModule/unlock.js +20 -0
- package/dist/core/functionModule/update.d.ts +17 -0
- package/dist/core/functionModule/update.d.ts.map +1 -0
- package/dist/core/functionModule/update.js +103 -0
- package/dist/core/functionModule/validation.d.ts +27 -0
- package/dist/core/functionModule/validation.d.ts.map +1 -0
- package/dist/core/functionModule/validation.js +107 -0
- package/dist/core/interface/InterfaceBuilder.d.ts +98 -0
- package/dist/core/interface/InterfaceBuilder.d.ts.map +1 -0
- package/dist/core/interface/InterfaceBuilder.js +311 -0
- package/dist/core/interface/activation.d.ts +11 -0
- package/dist/core/interface/activation.d.ts.map +1 -0
- package/dist/core/interface/activation.js +16 -0
- package/dist/core/interface/check.d.ts +10 -0
- package/dist/core/interface/check.d.ts.map +1 -0
- package/dist/core/interface/check.js +18 -0
- package/dist/core/interface/create.d.ts +12 -0
- package/dist/core/interface/create.d.ts.map +1 -0
- package/dist/core/interface/create.js +119 -0
- package/dist/core/interface/delete.d.ts +20 -0
- package/dist/core/interface/delete.d.ts.map +1 -0
- package/dist/core/interface/delete.js +47 -0
- package/dist/core/interface/index.d.ts +15 -0
- package/dist/core/interface/index.d.ts.map +1 -0
- package/dist/core/interface/index.js +32 -0
- package/dist/core/interface/lock.d.ts +23 -0
- package/dist/core/interface/lock.d.ts.map +1 -0
- package/dist/core/interface/lock.js +51 -0
- package/dist/core/interface/read.d.ts +26 -0
- package/dist/core/interface/read.d.ts.map +1 -0
- package/dist/core/interface/read.js +51 -0
- package/dist/core/interface/types.d.ts +19 -0
- package/dist/core/interface/types.d.ts.map +1 -0
- package/dist/core/interface/types.js +5 -0
- package/dist/core/interface/unlock.d.ts +11 -0
- package/dist/core/interface/unlock.d.ts.map +1 -0
- package/dist/core/interface/unlock.js +35 -0
- package/dist/core/interface/update.d.ts +12 -0
- package/dist/core/interface/update.d.ts.map +1 -0
- package/dist/core/interface/update.js +82 -0
- package/dist/core/interface/validation.d.ts +10 -0
- package/dist/core/interface/validation.d.ts.map +1 -0
- package/dist/core/interface/validation.js +17 -0
- package/dist/core/managementOperations.d.ts +34 -0
- package/dist/core/managementOperations.d.ts.map +1 -0
- package/dist/core/managementOperations.js +136 -0
- package/dist/core/package/PackageBuilder.d.ts +129 -0
- package/dist/core/package/PackageBuilder.d.ts.map +1 -0
- package/dist/core/package/PackageBuilder.js +386 -0
- package/dist/core/package/check.d.ts +9 -0
- package/dist/core/package/check.d.ts.map +1 -0
- package/dist/core/package/check.js +29 -0
- package/dist/core/package/create.d.ts +12 -0
- package/dist/core/package/create.d.ts.map +1 -0
- package/dist/core/package/create.js +145 -0
- package/dist/core/package/delete.d.ts +27 -0
- package/dist/core/package/delete.d.ts.map +1 -0
- package/dist/core/package/delete.js +138 -0
- package/dist/core/package/index.d.ts +15 -0
- package/dist/core/package/index.d.ts.map +1 -0
- package/dist/core/package/index.js +32 -0
- package/dist/core/package/lock.d.ts +10 -0
- package/dist/core/package/lock.d.ts.map +1 -0
- package/dist/core/package/lock.js +28 -0
- package/dist/core/package/read.d.ts +17 -0
- package/dist/core/package/read.d.ts.map +1 -0
- package/dist/core/package/read.js +42 -0
- package/dist/core/package/transportCheck.d.ts +10 -0
- package/dist/core/package/transportCheck.d.ts.map +1 -0
- package/dist/core/package/transportCheck.js +52 -0
- package/dist/core/package/types.d.ts +15 -0
- package/dist/core/package/types.d.ts.map +1 -0
- package/dist/core/package/types.js +5 -0
- package/dist/core/package/unlock.d.ts +11 -0
- package/dist/core/package/unlock.d.ts.map +1 -0
- package/dist/core/package/unlock.js +16 -0
- package/dist/core/package/update.d.ts +19 -0
- package/dist/core/package/update.d.ts.map +1 -0
- package/dist/core/package/update.js +125 -0
- package/dist/core/package/validation.d.ts +14 -0
- package/dist/core/package/validation.d.ts.map +1 -0
- package/dist/core/package/validation.js +72 -0
- package/dist/core/program/ProgramBuilder.d.ts +102 -0
- package/dist/core/program/ProgramBuilder.d.ts.map +1 -0
- package/dist/core/program/ProgramBuilder.js +321 -0
- package/dist/core/program/activation.d.ts +11 -0
- package/dist/core/program/activation.d.ts.map +1 -0
- package/dist/core/program/activation.js +16 -0
- package/dist/core/program/check.d.ts +10 -0
- package/dist/core/program/check.d.ts.map +1 -0
- package/dist/core/program/check.js +18 -0
- package/dist/core/program/create.d.ts +23 -0
- package/dist/core/program/create.d.ts.map +1 -0
- package/dist/core/program/create.js +159 -0
- package/dist/core/program/delete.d.ts +14 -0
- package/dist/core/program/delete.d.ts.map +1 -0
- package/dist/core/program/delete.js +21 -0
- package/dist/core/program/index.d.ts +14 -0
- package/dist/core/program/index.d.ts.map +1 -0
- package/dist/core/program/index.js +31 -0
- package/dist/core/program/lock.d.ts +20 -0
- package/dist/core/program/lock.d.ts.map +1 -0
- package/dist/core/program/lock.js +49 -0
- package/dist/core/program/read.d.ts +26 -0
- package/dist/core/program/read.d.ts.map +1 -0
- package/dist/core/program/read.js +51 -0
- package/dist/core/program/unlock.d.ts +11 -0
- package/dist/core/program/unlock.d.ts.map +1 -0
- package/dist/core/program/unlock.js +16 -0
- package/dist/core/program/update.d.ts +16 -0
- package/dist/core/program/update.d.ts.map +1 -0
- package/dist/core/program/update.js +82 -0
- package/dist/core/program/validation.d.ts +10 -0
- package/dist/core/program/validation.d.ts.map +1 -0
- package/dist/core/program/validation.js +17 -0
- package/dist/core/readOperations.d.ts +63 -0
- package/dist/core/readOperations.d.ts.map +1 -0
- package/dist/core/readOperations.js +204 -0
- package/dist/core/shared/checkRun.d.ts +68 -0
- package/dist/core/shared/checkRun.d.ts.map +1 -0
- package/dist/core/shared/checkRun.js +292 -0
- package/dist/core/shared/readMetadata.d.ts +16 -0
- package/dist/core/shared/readMetadata.d.ts.map +1 -0
- package/dist/core/shared/readMetadata.js +74 -0
- package/dist/core/shared/readSource.d.ts +21 -0
- package/dist/core/shared/readSource.d.ts.map +1 -0
- package/dist/core/shared/readSource.js +83 -0
- package/dist/core/shared/search.d.ts +26 -0
- package/dist/core/shared/search.d.ts.map +1 -0
- package/dist/core/shared/search.js +32 -0
- package/dist/core/shared/sqlQuery.d.ts +22 -0
- package/dist/core/shared/sqlQuery.d.ts.map +1 -0
- package/dist/core/shared/sqlQuery.js +36 -0
- package/dist/core/shared/systemInfo.d.ts +22 -0
- package/dist/core/shared/systemInfo.d.ts.map +1 -0
- package/dist/core/shared/systemInfo.js +67 -0
- package/dist/core/shared/tableContents.d.ts +22 -0
- package/dist/core/shared/tableContents.d.ts.map +1 -0
- package/dist/core/shared/tableContents.js +89 -0
- package/dist/core/shared/validation.d.ts +26 -0
- package/dist/core/shared/validation.d.ts.map +1 -0
- package/dist/core/shared/validation.js +134 -0
- package/dist/core/shared/whereUsed.d.ts +19 -0
- package/dist/core/shared/whereUsed.d.ts.map +1 -0
- package/dist/core/shared/whereUsed.js +88 -0
- package/dist/core/structure/StructureBuilder.d.ts +124 -0
- package/dist/core/structure/StructureBuilder.d.ts.map +1 -0
- package/dist/core/structure/StructureBuilder.js +357 -0
- package/dist/core/structure/activation.d.ts +10 -0
- package/dist/core/structure/activation.d.ts.map +1 -0
- package/dist/core/structure/activation.js +15 -0
- package/dist/core/structure/check.d.ts +12 -0
- package/dist/core/structure/check.d.ts.map +1 -0
- package/dist/core/structure/check.js +44 -0
- package/dist/core/structure/create.d.ts +12 -0
- package/dist/core/structure/create.d.ts.map +1 -0
- package/dist/core/structure/create.js +136 -0
- package/dist/core/structure/delete.d.ts +14 -0
- package/dist/core/structure/delete.d.ts.map +1 -0
- package/dist/core/structure/delete.js +21 -0
- package/dist/core/structure/index.d.ts +15 -0
- package/dist/core/structure/index.d.ts.map +1 -0
- package/dist/core/structure/index.js +32 -0
- package/dist/core/structure/lock.d.ts +10 -0
- package/dist/core/structure/lock.d.ts.map +1 -0
- package/dist/core/structure/lock.js +28 -0
- package/dist/core/structure/read.d.ts +26 -0
- package/dist/core/structure/read.d.ts.map +1 -0
- package/dist/core/structure/read.js +51 -0
- package/dist/core/structure/types.d.ts +33 -0
- package/dist/core/structure/types.d.ts.map +1 -0
- package/dist/core/structure/types.js +5 -0
- package/dist/core/structure/unlock.d.ts +11 -0
- package/dist/core/structure/unlock.d.ts.map +1 -0
- package/dist/core/structure/unlock.js +16 -0
- package/dist/core/structure/update.d.ts +11 -0
- package/dist/core/structure/update.d.ts.map +1 -0
- package/dist/core/structure/update.js +26 -0
- package/dist/core/structure/validation.d.ts +10 -0
- package/dist/core/structure/validation.d.ts.map +1 -0
- package/dist/core/structure/validation.js +17 -0
- package/dist/core/table/TableBuilder.d.ts +115 -0
- package/dist/core/table/TableBuilder.d.ts.map +1 -0
- package/dist/core/table/TableBuilder.js +328 -0
- package/dist/core/table/activation.d.ts +10 -0
- package/dist/core/table/activation.d.ts.map +1 -0
- package/dist/core/table/activation.js +15 -0
- package/dist/core/table/check.d.ts +11 -0
- package/dist/core/table/check.d.ts.map +1 -0
- package/dist/core/table/check.js +30 -0
- package/dist/core/table/create.d.ts +12 -0
- package/dist/core/table/create.d.ts.map +1 -0
- package/dist/core/table/create.js +182 -0
- package/dist/core/table/delete.d.ts +14 -0
- package/dist/core/table/delete.d.ts.map +1 -0
- package/dist/core/table/delete.js +21 -0
- package/dist/core/table/index.d.ts +15 -0
- package/dist/core/table/index.d.ts.map +1 -0
- package/dist/core/table/index.js +32 -0
- package/dist/core/table/lock.d.ts +9 -0
- package/dist/core/table/lock.d.ts.map +1 -0
- package/dist/core/table/lock.js +29 -0
- package/dist/core/table/read.d.ts +26 -0
- package/dist/core/table/read.d.ts.map +1 -0
- package/dist/core/table/read.js +51 -0
- package/dist/core/table/types.d.ts +10 -0
- package/dist/core/table/types.d.ts.map +1 -0
- package/dist/core/table/types.js +5 -0
- package/dist/core/table/unlock.d.ts +15 -0
- package/dist/core/table/unlock.d.ts.map +1 -0
- package/dist/core/table/unlock.js +32 -0
- package/dist/core/table/update.d.ts +16 -0
- package/dist/core/table/update.d.ts.map +1 -0
- package/dist/core/table/update.js +32 -0
- package/dist/core/table/validation.d.ts +10 -0
- package/dist/core/table/validation.d.ts.map +1 -0
- package/dist/core/table/validation.js +17 -0
- package/dist/core/transport/TransportBuilder.d.ts +85 -0
- package/dist/core/transport/TransportBuilder.d.ts.map +1 -0
- package/dist/core/transport/TransportBuilder.js +154 -0
- package/dist/core/transport/create.d.ts +11 -0
- package/dist/core/transport/create.d.ts.map +1 -0
- package/dist/core/transport/create.js +157 -0
- package/dist/core/transport/index.d.ts +8 -0
- package/dist/core/transport/index.d.ts.map +1 -0
- package/dist/core/transport/index.js +25 -0
- package/dist/core/transport/read.d.ts +10 -0
- package/dist/core/transport/read.d.ts.map +1 -0
- package/dist/core/transport/read.js +22 -0
- package/dist/core/transport/types.d.ts +10 -0
- package/dist/core/transport/types.d.ts.map +1 -0
- package/dist/core/transport/types.js +5 -0
- package/dist/core/view/ViewBuilder.d.ts +117 -0
- package/dist/core/view/ViewBuilder.d.ts.map +1 -0
- package/dist/core/view/ViewBuilder.js +335 -0
- package/dist/core/view/activation.d.ts +10 -0
- package/dist/core/view/activation.d.ts.map +1 -0
- package/dist/core/view/activation.js +15 -0
- package/dist/core/view/check.d.ts +7 -0
- package/dist/core/view/check.d.ts.map +1 -0
- package/dist/core/view/check.js +57 -0
- package/dist/core/view/create.d.ts +12 -0
- package/dist/core/view/create.d.ts.map +1 -0
- package/dist/core/view/create.js +88 -0
- package/dist/core/view/delete.d.ts +14 -0
- package/dist/core/view/delete.d.ts.map +1 -0
- package/dist/core/view/delete.js +21 -0
- package/dist/core/view/index.d.ts +15 -0
- package/dist/core/view/index.d.ts.map +1 -0
- package/dist/core/view/index.js +32 -0
- package/dist/core/view/lock.d.ts +18 -0
- package/dist/core/view/lock.d.ts.map +1 -0
- package/dist/core/view/lock.js +45 -0
- package/dist/core/view/read.d.ts +26 -0
- package/dist/core/view/read.d.ts.map +1 -0
- package/dist/core/view/read.js +51 -0
- package/dist/core/view/types.d.ts +19 -0
- package/dist/core/view/types.d.ts.map +1 -0
- package/dist/core/view/types.js +5 -0
- package/dist/core/view/unlock.d.ts +10 -0
- package/dist/core/view/unlock.d.ts.map +1 -0
- package/dist/core/view/unlock.js +15 -0
- package/dist/core/view/update.d.ts +12 -0
- package/dist/core/view/update.d.ts.map +1 -0
- package/dist/core/view/update.js +89 -0
- package/dist/core/view/validation.d.ts +10 -0
- package/dist/core/view/validation.d.ts.map +1 -0
- package/dist/core/view/validation.js +17 -0
- package/dist/core.d.ts +133 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +175 -0
- package/dist/index.d.ts +38 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +60 -0
- package/dist/utils/activationUtils.d.ts +44 -0
- package/dist/utils/activationUtils.d.ts.map +1 -0
- package/dist/utils/activationUtils.js +127 -0
- package/dist/utils/internalUtils.d.ts +12 -0
- package/dist/utils/internalUtils.d.ts.map +1 -0
- package/dist/utils/internalUtils.js +16 -0
- package/dist/utils/lockStateManager.d.ts +64 -0
- package/dist/utils/lockStateManager.d.ts.map +1 -0
- package/dist/utils/lockStateManager.js +172 -0
- package/dist/utils/sessionUtils.d.ts +69 -0
- package/dist/utils/sessionUtils.d.ts.map +1 -0
- package/dist/utils/sessionUtils.js +134 -0
- package/package.json +75 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Function Module validation
|
|
3
|
+
*/
|
|
4
|
+
import { AbapConnection } from '@mcp-abap-adt/connection';
|
|
5
|
+
import { AxiosResponse } from 'axios';
|
|
6
|
+
import { ValidationResult } from '../shared/validation';
|
|
7
|
+
/**
|
|
8
|
+
* Validate function module name
|
|
9
|
+
*/
|
|
10
|
+
export declare function validateFunctionModuleName(connection: AbapConnection, functionGroupName: string, functionModuleName: string, description?: string): Promise<ValidationResult>;
|
|
11
|
+
/**
|
|
12
|
+
* Validate function module source code.
|
|
13
|
+
*
|
|
14
|
+
* If sourceCode is provided: validates unsaved code (live validation with artifacts)
|
|
15
|
+
* If sourceCode is not provided: validates existing FM code in SAP system (without artifacts)
|
|
16
|
+
*
|
|
17
|
+
* @param connection - SAP connection
|
|
18
|
+
* @param functionGroupName - Function group name
|
|
19
|
+
* @param functionModuleName - Function module name
|
|
20
|
+
* @param sourceCode - Optional: source code to validate. If omitted, validates existing FM in SAP
|
|
21
|
+
* @param version - 'active' (default) or 'inactive' - version context for validation
|
|
22
|
+
* @param sessionId - Optional session ID
|
|
23
|
+
* @returns Check result with errors/warnings
|
|
24
|
+
* @throws Error if validation finds syntax errors
|
|
25
|
+
*/
|
|
26
|
+
export declare function validateFunctionModuleSource(connection: AbapConnection, functionGroupName: string, functionModuleName: string, sourceCode?: string, version?: 'inactive' | 'active', sessionId?: string): Promise<AxiosResponse>;
|
|
27
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/core/functionModule/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAsB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE5E;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,cAAc,EAC1B,iBAAiB,EAAE,MAAM,EACzB,kBAAkB,EAAE,MAAM,EAC1B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAU3B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,cAAc,EAC1B,iBAAiB,EAAE,MAAM,EACzB,kBAAkB,EAAE,MAAM,EAC1B,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE,UAAU,GAAG,QAAmB,EACzC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC,CA+CxB"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Function Module validation
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.validateFunctionModuleName = validateFunctionModuleName;
|
|
40
|
+
exports.validateFunctionModuleSource = validateFunctionModuleSource;
|
|
41
|
+
const internalUtils_1 = require("../../utils/internalUtils");
|
|
42
|
+
const validation_1 = require("../shared/validation");
|
|
43
|
+
/**
|
|
44
|
+
* Validate function module name
|
|
45
|
+
*/
|
|
46
|
+
async function validateFunctionModuleName(connection, functionGroupName, functionModuleName, description) {
|
|
47
|
+
const params = {
|
|
48
|
+
fugrname: (0, internalUtils_1.encodeSapObjectName)(functionGroupName)
|
|
49
|
+
};
|
|
50
|
+
if (description) {
|
|
51
|
+
params.description = description;
|
|
52
|
+
}
|
|
53
|
+
return (0, validation_1.validateObjectName)(connection, 'FUGR/FF', functionModuleName, params);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Validate function module source code.
|
|
57
|
+
*
|
|
58
|
+
* If sourceCode is provided: validates unsaved code (live validation with artifacts)
|
|
59
|
+
* If sourceCode is not provided: validates existing FM code in SAP system (without artifacts)
|
|
60
|
+
*
|
|
61
|
+
* @param connection - SAP connection
|
|
62
|
+
* @param functionGroupName - Function group name
|
|
63
|
+
* @param functionModuleName - Function module name
|
|
64
|
+
* @param sourceCode - Optional: source code to validate. If omitted, validates existing FM in SAP
|
|
65
|
+
* @param version - 'active' (default) or 'inactive' - version context for validation
|
|
66
|
+
* @param sessionId - Optional session ID
|
|
67
|
+
* @returns Check result with errors/warnings
|
|
68
|
+
* @throws Error if validation finds syntax errors
|
|
69
|
+
*/
|
|
70
|
+
async function validateFunctionModuleSource(connection, functionGroupName, functionModuleName, sourceCode, version = 'active', sessionId) {
|
|
71
|
+
const { runCheckRun, runCheckRunWithSource, parseCheckRunResponse } = await Promise.resolve().then(() => __importStar(require('../shared/checkRun')));
|
|
72
|
+
// Build object type path for function module
|
|
73
|
+
const objectType = 'function_module';
|
|
74
|
+
const objectName = `${functionGroupName}/${functionModuleName}`;
|
|
75
|
+
let response;
|
|
76
|
+
if (sourceCode) {
|
|
77
|
+
// Live validation with artifacts (code not saved to SAP)
|
|
78
|
+
response = await runCheckRunWithSource(connection, objectType, objectName, sourceCode, version, 'abapCheckRun', sessionId);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
// Validate existing object in SAP (without artifacts)
|
|
82
|
+
response = await runCheckRun(connection, objectType, objectName, version, 'abapCheckRun', sessionId);
|
|
83
|
+
}
|
|
84
|
+
const checkResult = parseCheckRunResponse(response);
|
|
85
|
+
// Check result is OK if:
|
|
86
|
+
// 1. Message says "has been checked" or "was checked" - object was already checked, this is OK
|
|
87
|
+
// Problems are: ERROR and WARNING
|
|
88
|
+
// Only throw error if there are actual ERROR or WARNING messages
|
|
89
|
+
// If message indicates object was already checked, it's OK (even if has errors/warnings)
|
|
90
|
+
const isAlreadyChecked = checkResult.message?.toLowerCase().includes('has been checked') ||
|
|
91
|
+
checkResult.message?.toLowerCase().includes('was checked');
|
|
92
|
+
if (isAlreadyChecked) {
|
|
93
|
+
return response; // Object was already checked - this is OK
|
|
94
|
+
}
|
|
95
|
+
// Problems: ERROR (errors) and WARNING (warnings)
|
|
96
|
+
if (checkResult.errors.length > 0) {
|
|
97
|
+
throw new Error(`Source validation failed: ${checkResult.message || 'Unknown error'}`);
|
|
98
|
+
}
|
|
99
|
+
if (checkResult.warnings.length > 0) {
|
|
100
|
+
throw new Error(`Source validation failed: ${checkResult.message || 'Warnings found'}`);
|
|
101
|
+
}
|
|
102
|
+
// If status is 'notProcessed', it's an error
|
|
103
|
+
if (checkResult.status === 'notProcessed') {
|
|
104
|
+
throw new Error(`Source validation failed: ${checkResult.message || 'Object could not be processed'}`);
|
|
105
|
+
}
|
|
106
|
+
return response;
|
|
107
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* InterfaceBuilder - Fluent API for interface operations with Promise chaining
|
|
3
|
+
*
|
|
4
|
+
* Supports:
|
|
5
|
+
* - Method chaining: builder.validate().then(b => b.create()).then(b => b.lock())...
|
|
6
|
+
* - Error handling: .catch() for error callbacks
|
|
7
|
+
* - Cleanup: .finally() for guaranteed execution
|
|
8
|
+
* - Result storage: all results stored in logger/state
|
|
9
|
+
* - Chain interruption: chain stops on first error (standard Promise behavior)
|
|
10
|
+
*/
|
|
11
|
+
import { AbapConnection } from '@mcp-abap-adt/connection';
|
|
12
|
+
import { AxiosResponse } from 'axios';
|
|
13
|
+
import { ValidationResult } from '../shared/validation';
|
|
14
|
+
export interface InterfaceBuilderLogger {
|
|
15
|
+
debug?: (message: string, ...args: any[]) => void;
|
|
16
|
+
info?: (message: string, ...args: any[]) => void;
|
|
17
|
+
warn?: (message: string, ...args: any[]) => void;
|
|
18
|
+
error?: (message: string, ...args: any[]) => void;
|
|
19
|
+
}
|
|
20
|
+
export interface InterfaceBuilderConfig {
|
|
21
|
+
interfaceName: string;
|
|
22
|
+
packageName?: string;
|
|
23
|
+
transportRequest?: string;
|
|
24
|
+
description?: string;
|
|
25
|
+
sourceCode?: string;
|
|
26
|
+
sessionId?: string;
|
|
27
|
+
onLock?: (lockHandle: string, sessionId: string) => void;
|
|
28
|
+
}
|
|
29
|
+
export interface InterfaceBuilderState {
|
|
30
|
+
validationResult?: ValidationResult;
|
|
31
|
+
createResult?: AxiosResponse;
|
|
32
|
+
lockHandle?: string;
|
|
33
|
+
updateResult?: AxiosResponse;
|
|
34
|
+
checkResult?: AxiosResponse;
|
|
35
|
+
unlockResult?: AxiosResponse;
|
|
36
|
+
activateResult?: AxiosResponse;
|
|
37
|
+
readResult?: AxiosResponse;
|
|
38
|
+
errors: Array<{
|
|
39
|
+
method: string;
|
|
40
|
+
error: Error;
|
|
41
|
+
timestamp: Date;
|
|
42
|
+
}>;
|
|
43
|
+
}
|
|
44
|
+
export declare class InterfaceBuilder {
|
|
45
|
+
private connection;
|
|
46
|
+
private logger;
|
|
47
|
+
private config;
|
|
48
|
+
private sourceCode?;
|
|
49
|
+
private lockHandle?;
|
|
50
|
+
private sessionId;
|
|
51
|
+
private state;
|
|
52
|
+
constructor(connection: AbapConnection, logger: InterfaceBuilderLogger, config: InterfaceBuilderConfig);
|
|
53
|
+
setPackage(packageName: string): this;
|
|
54
|
+
setRequest(transportRequest: string): this;
|
|
55
|
+
setName(interfaceName: string): this;
|
|
56
|
+
setCode(sourceCode: string): this;
|
|
57
|
+
setDescription(description: string): this;
|
|
58
|
+
validate(): Promise<this>;
|
|
59
|
+
create(): Promise<this>;
|
|
60
|
+
lock(): Promise<this>;
|
|
61
|
+
update(sourceCode?: string): Promise<this>;
|
|
62
|
+
check(version?: 'active' | 'inactive'): Promise<this>;
|
|
63
|
+
unlock(): Promise<this>;
|
|
64
|
+
activate(): Promise<this>;
|
|
65
|
+
read(version?: 'active' | 'inactive'): Promise<this>;
|
|
66
|
+
forceUnlock(): Promise<void>;
|
|
67
|
+
getState(): Readonly<InterfaceBuilderState>;
|
|
68
|
+
getInterfaceName(): string;
|
|
69
|
+
getLockHandle(): string | undefined;
|
|
70
|
+
getSessionId(): string;
|
|
71
|
+
getValidationResult(): ValidationResult | undefined;
|
|
72
|
+
getCreateResult(): AxiosResponse | undefined;
|
|
73
|
+
getUpdateResult(): AxiosResponse | undefined;
|
|
74
|
+
getCheckResult(): AxiosResponse | undefined;
|
|
75
|
+
getUnlockResult(): AxiosResponse | undefined;
|
|
76
|
+
getActivateResult(): AxiosResponse | undefined;
|
|
77
|
+
getReadResult(): AxiosResponse | undefined;
|
|
78
|
+
getErrors(): ReadonlyArray<{
|
|
79
|
+
method: string;
|
|
80
|
+
error: Error;
|
|
81
|
+
timestamp: Date;
|
|
82
|
+
}>;
|
|
83
|
+
getResults(): {
|
|
84
|
+
validation?: ValidationResult;
|
|
85
|
+
create?: AxiosResponse;
|
|
86
|
+
update?: AxiosResponse;
|
|
87
|
+
check?: AxiosResponse;
|
|
88
|
+
unlock?: AxiosResponse;
|
|
89
|
+
activate?: AxiosResponse;
|
|
90
|
+
lockHandle?: string;
|
|
91
|
+
errors: Array<{
|
|
92
|
+
method: string;
|
|
93
|
+
error: Error;
|
|
94
|
+
timestamp: Date;
|
|
95
|
+
}>;
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=InterfaceBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InterfaceBuilder.d.ts","sourceRoot":"","sources":["../../../src/core/interface/InterfaceBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* InterfaceBuilder - Fluent API for interface operations with Promise chaining
|
|
4
|
+
*
|
|
5
|
+
* Supports:
|
|
6
|
+
* - Method chaining: builder.validate().then(b => b.create()).then(b => b.lock())...
|
|
7
|
+
* - Error handling: .catch() for error callbacks
|
|
8
|
+
* - Cleanup: .finally() for guaranteed execution
|
|
9
|
+
* - Result storage: all results stored in logger/state
|
|
10
|
+
* - Chain interruption: chain stops on first error (standard Promise behavior)
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.InterfaceBuilder = void 0;
|
|
14
|
+
const sessionUtils_1 = require("../../utils/sessionUtils");
|
|
15
|
+
const validation_1 = require("./validation");
|
|
16
|
+
const create_1 = require("./create");
|
|
17
|
+
const lock_1 = require("./lock");
|
|
18
|
+
const update_1 = require("./update");
|
|
19
|
+
const check_1 = require("./check");
|
|
20
|
+
const unlock_1 = require("./unlock");
|
|
21
|
+
const activation_1 = require("./activation");
|
|
22
|
+
const read_1 = require("./read");
|
|
23
|
+
class InterfaceBuilder {
|
|
24
|
+
connection;
|
|
25
|
+
logger;
|
|
26
|
+
config;
|
|
27
|
+
sourceCode;
|
|
28
|
+
lockHandle;
|
|
29
|
+
sessionId;
|
|
30
|
+
state;
|
|
31
|
+
constructor(connection, logger, config) {
|
|
32
|
+
this.connection = connection;
|
|
33
|
+
this.logger = logger;
|
|
34
|
+
this.config = { ...config };
|
|
35
|
+
this.sourceCode = config.sourceCode;
|
|
36
|
+
this.sessionId = config.sessionId || (0, sessionUtils_1.generateSessionId)();
|
|
37
|
+
this.state = {
|
|
38
|
+
errors: []
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
// Builder methods - return this for chaining
|
|
42
|
+
setPackage(packageName) {
|
|
43
|
+
this.config.packageName = packageName;
|
|
44
|
+
this.logger.debug?.('Package set:', packageName);
|
|
45
|
+
return this;
|
|
46
|
+
}
|
|
47
|
+
setRequest(transportRequest) {
|
|
48
|
+
this.config.transportRequest = transportRequest;
|
|
49
|
+
this.logger.debug?.('Transport request set:', transportRequest);
|
|
50
|
+
return this;
|
|
51
|
+
}
|
|
52
|
+
setName(interfaceName) {
|
|
53
|
+
this.config.interfaceName = interfaceName;
|
|
54
|
+
this.logger.debug?.('Interface name set:', interfaceName);
|
|
55
|
+
return this;
|
|
56
|
+
}
|
|
57
|
+
setCode(sourceCode) {
|
|
58
|
+
this.sourceCode = sourceCode;
|
|
59
|
+
this.logger.debug?.('Source code set, length:', sourceCode.length);
|
|
60
|
+
return this;
|
|
61
|
+
}
|
|
62
|
+
setDescription(description) {
|
|
63
|
+
this.config.description = description;
|
|
64
|
+
return this;
|
|
65
|
+
}
|
|
66
|
+
// Operation methods - return Promise<this> for Promise chaining
|
|
67
|
+
async validate() {
|
|
68
|
+
try {
|
|
69
|
+
this.logger.info?.('Validating interface:', this.config.interfaceName);
|
|
70
|
+
const result = await (0, validation_1.validateInterfaceName)(this.connection, this.config.interfaceName, this.config.description);
|
|
71
|
+
this.state.validationResult = result;
|
|
72
|
+
this.logger.info?.('Validation successful:', result.valid);
|
|
73
|
+
return this;
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
this.state.errors.push({
|
|
77
|
+
method: 'validate',
|
|
78
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
79
|
+
timestamp: new Date()
|
|
80
|
+
});
|
|
81
|
+
this.logger.error?.('Validation failed:', error);
|
|
82
|
+
throw error; // Interrupts chain
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
async create() {
|
|
86
|
+
try {
|
|
87
|
+
if (!this.config.packageName) {
|
|
88
|
+
throw new Error('Package name is required');
|
|
89
|
+
}
|
|
90
|
+
this.logger.info?.('Creating interface:', this.config.interfaceName);
|
|
91
|
+
const params = {
|
|
92
|
+
interface_name: this.config.interfaceName,
|
|
93
|
+
package_name: this.config.packageName,
|
|
94
|
+
transport_request: this.config.transportRequest,
|
|
95
|
+
description: this.config.description,
|
|
96
|
+
source_code: this.sourceCode,
|
|
97
|
+
activate: false // Don't activate in low-level function
|
|
98
|
+
};
|
|
99
|
+
const result = await (0, create_1.createInterface)(this.connection, params);
|
|
100
|
+
this.state.createResult = result;
|
|
101
|
+
this.logger.info?.('Interface created successfully:', result.status);
|
|
102
|
+
return this;
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
this.state.errors.push({
|
|
106
|
+
method: 'create',
|
|
107
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
108
|
+
timestamp: new Date()
|
|
109
|
+
});
|
|
110
|
+
this.logger.error?.('Create failed:', error);
|
|
111
|
+
throw error; // Interrupts chain
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
async lock() {
|
|
115
|
+
try {
|
|
116
|
+
this.logger.info?.('Locking interface:', this.config.interfaceName);
|
|
117
|
+
const lockData = await (0, lock_1.lockInterface)(this.connection, this.config.interfaceName, this.sessionId);
|
|
118
|
+
this.lockHandle = lockData.lockHandle;
|
|
119
|
+
this.state.lockHandle = lockData.lockHandle;
|
|
120
|
+
// Register lock in persistent storage if callback provided
|
|
121
|
+
if (this.config.onLock) {
|
|
122
|
+
this.config.onLock(lockData.lockHandle, this.sessionId);
|
|
123
|
+
}
|
|
124
|
+
this.logger.info?.('Interface locked, handle:', lockData.lockHandle.substring(0, 10) + '...');
|
|
125
|
+
return this;
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
this.state.errors.push({
|
|
129
|
+
method: 'lock',
|
|
130
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
131
|
+
timestamp: new Date()
|
|
132
|
+
});
|
|
133
|
+
this.logger.error?.('Lock failed:', error);
|
|
134
|
+
throw error; // Interrupts chain
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
async update(sourceCode) {
|
|
138
|
+
try {
|
|
139
|
+
if (!this.lockHandle) {
|
|
140
|
+
throw new Error('Interface must be locked before update. Call lock() first.');
|
|
141
|
+
}
|
|
142
|
+
const code = sourceCode || this.sourceCode;
|
|
143
|
+
if (!code) {
|
|
144
|
+
throw new Error('Source code is required. Use setCode() or pass as parameter.');
|
|
145
|
+
}
|
|
146
|
+
this.logger.info?.('Updating interface source:', this.config.interfaceName);
|
|
147
|
+
const params = {
|
|
148
|
+
interface_name: this.config.interfaceName,
|
|
149
|
+
source_code: code,
|
|
150
|
+
activate: false // Don't activate in low-level function
|
|
151
|
+
};
|
|
152
|
+
const result = await (0, update_1.updateInterfaceSource)(this.connection, params);
|
|
153
|
+
this.state.updateResult = result;
|
|
154
|
+
this.logger.info?.('Interface updated successfully:', result.status);
|
|
155
|
+
return this;
|
|
156
|
+
}
|
|
157
|
+
catch (error) {
|
|
158
|
+
this.state.errors.push({
|
|
159
|
+
method: 'update',
|
|
160
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
161
|
+
timestamp: new Date()
|
|
162
|
+
});
|
|
163
|
+
this.logger.error?.('Update failed:', error);
|
|
164
|
+
throw error; // Interrupts chain
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
async check(version = 'inactive') {
|
|
168
|
+
try {
|
|
169
|
+
this.logger.info?.('Checking interface:', this.config.interfaceName, 'version:', version);
|
|
170
|
+
const result = await (0, check_1.checkInterface)(this.connection, this.config.interfaceName, version, this.sessionId);
|
|
171
|
+
this.state.checkResult = result;
|
|
172
|
+
this.logger.info?.('Interface check successful:', result.status);
|
|
173
|
+
return this;
|
|
174
|
+
}
|
|
175
|
+
catch (error) {
|
|
176
|
+
this.state.errors.push({
|
|
177
|
+
method: 'check',
|
|
178
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
179
|
+
timestamp: new Date()
|
|
180
|
+
});
|
|
181
|
+
this.logger.error?.('Check failed:', error);
|
|
182
|
+
throw error; // Interrupts chain
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
async unlock() {
|
|
186
|
+
try {
|
|
187
|
+
if (!this.lockHandle) {
|
|
188
|
+
throw new Error('Interface is not locked. Call lock() first.');
|
|
189
|
+
}
|
|
190
|
+
this.logger.info?.('Unlocking interface:', this.config.interfaceName);
|
|
191
|
+
const result = await (0, unlock_1.unlockInterface)(this.connection, this.config.interfaceName, this.lockHandle, this.sessionId);
|
|
192
|
+
this.state.unlockResult = result;
|
|
193
|
+
this.lockHandle = undefined;
|
|
194
|
+
this.state.lockHandle = undefined;
|
|
195
|
+
this.logger.info?.('Interface unlocked successfully');
|
|
196
|
+
return this;
|
|
197
|
+
}
|
|
198
|
+
catch (error) {
|
|
199
|
+
this.state.errors.push({
|
|
200
|
+
method: 'unlock',
|
|
201
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
202
|
+
timestamp: new Date()
|
|
203
|
+
});
|
|
204
|
+
this.logger.error?.('Unlock failed:', error);
|
|
205
|
+
throw error; // Interrupts chain
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
async activate() {
|
|
209
|
+
try {
|
|
210
|
+
this.logger.info?.('Activating interface:', this.config.interfaceName);
|
|
211
|
+
const result = await (0, activation_1.activateInterface)(this.connection, this.config.interfaceName, this.sessionId);
|
|
212
|
+
this.state.activateResult = result;
|
|
213
|
+
this.logger.info?.('Interface activated successfully:', result.status);
|
|
214
|
+
return this;
|
|
215
|
+
}
|
|
216
|
+
catch (error) {
|
|
217
|
+
this.state.errors.push({
|
|
218
|
+
method: 'activate',
|
|
219
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
220
|
+
timestamp: new Date()
|
|
221
|
+
});
|
|
222
|
+
this.logger.error?.('Activate failed:', error);
|
|
223
|
+
throw error; // Interrupts chain
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
async read(version = 'active') {
|
|
227
|
+
try {
|
|
228
|
+
this.logger.info?.('Reading interface:', this.config.interfaceName);
|
|
229
|
+
const result = await (0, read_1.getInterfaceSource)(this.connection, this.config.interfaceName);
|
|
230
|
+
this.state.readResult = result;
|
|
231
|
+
this.logger.info?.('Interface read successfully:', result.status);
|
|
232
|
+
return this;
|
|
233
|
+
}
|
|
234
|
+
catch (error) {
|
|
235
|
+
this.state.errors.push({
|
|
236
|
+
method: 'read',
|
|
237
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
238
|
+
timestamp: new Date()
|
|
239
|
+
});
|
|
240
|
+
this.logger.error?.('Read failed:', error);
|
|
241
|
+
throw error; // Interrupts chain
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
async forceUnlock() {
|
|
245
|
+
if (!this.lockHandle) {
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
try {
|
|
249
|
+
await (0, unlock_1.unlockInterface)(this.connection, this.config.interfaceName, this.lockHandle, this.sessionId);
|
|
250
|
+
this.logger.info?.('Force unlock successful for', this.config.interfaceName);
|
|
251
|
+
}
|
|
252
|
+
catch (error) {
|
|
253
|
+
this.logger.warn?.('Force unlock failed:', error);
|
|
254
|
+
}
|
|
255
|
+
finally {
|
|
256
|
+
this.lockHandle = undefined;
|
|
257
|
+
this.state.lockHandle = undefined;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
// Getters for accessing results
|
|
261
|
+
getState() {
|
|
262
|
+
return { ...this.state };
|
|
263
|
+
}
|
|
264
|
+
getInterfaceName() {
|
|
265
|
+
return this.config.interfaceName;
|
|
266
|
+
}
|
|
267
|
+
getLockHandle() {
|
|
268
|
+
return this.lockHandle;
|
|
269
|
+
}
|
|
270
|
+
getSessionId() {
|
|
271
|
+
return this.sessionId;
|
|
272
|
+
}
|
|
273
|
+
getValidationResult() {
|
|
274
|
+
return this.state.validationResult;
|
|
275
|
+
}
|
|
276
|
+
getCreateResult() {
|
|
277
|
+
return this.state.createResult;
|
|
278
|
+
}
|
|
279
|
+
getUpdateResult() {
|
|
280
|
+
return this.state.updateResult;
|
|
281
|
+
}
|
|
282
|
+
getCheckResult() {
|
|
283
|
+
return this.state.checkResult;
|
|
284
|
+
}
|
|
285
|
+
getUnlockResult() {
|
|
286
|
+
return this.state.unlockResult;
|
|
287
|
+
}
|
|
288
|
+
getActivateResult() {
|
|
289
|
+
return this.state.activateResult;
|
|
290
|
+
}
|
|
291
|
+
getReadResult() {
|
|
292
|
+
return this.state.readResult;
|
|
293
|
+
}
|
|
294
|
+
getErrors() {
|
|
295
|
+
return [...this.state.errors];
|
|
296
|
+
}
|
|
297
|
+
// Helper method to get all results
|
|
298
|
+
getResults() {
|
|
299
|
+
return {
|
|
300
|
+
validation: this.state.validationResult,
|
|
301
|
+
create: this.state.createResult,
|
|
302
|
+
update: this.state.updateResult,
|
|
303
|
+
check: this.state.checkResult,
|
|
304
|
+
unlock: this.state.unlockResult,
|
|
305
|
+
activate: this.state.activateResult,
|
|
306
|
+
lockHandle: this.lockHandle,
|
|
307
|
+
errors: [...this.state.errors]
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
exports.InterfaceBuilder = InterfaceBuilder;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface activation operations
|
|
3
|
+
*/
|
|
4
|
+
import { AbapConnection } from '@mcp-abap-adt/connection';
|
|
5
|
+
import { AxiosResponse } from 'axios';
|
|
6
|
+
/**
|
|
7
|
+
* Activate interface
|
|
8
|
+
* Makes interface active and usable in SAP system
|
|
9
|
+
*/
|
|
10
|
+
export declare function activateInterface(connection: AbapConnection, interfaceName: string, sessionId: string): Promise<AxiosResponse>;
|
|
11
|
+
//# sourceMappingURL=activation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activation.d.ts","sourceRoot":"","sources":["../../../src/core/interface/activation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC,CAGxB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Interface activation operations
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.activateInterface = activateInterface;
|
|
7
|
+
const internalUtils_1 = require("../../utils/internalUtils");
|
|
8
|
+
const activationUtils_1 = require("../../utils/activationUtils");
|
|
9
|
+
/**
|
|
10
|
+
* Activate interface
|
|
11
|
+
* Makes interface active and usable in SAP system
|
|
12
|
+
*/
|
|
13
|
+
async function activateInterface(connection, interfaceName, sessionId) {
|
|
14
|
+
const objectUri = `/sap/bc/adt/oo/interfaces/${(0, internalUtils_1.encodeSapObjectName)(interfaceName).toLowerCase()}`;
|
|
15
|
+
return await (0, activationUtils_1.activateObjectInSession)(connection, objectUri, interfaceName, sessionId, true);
|
|
16
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface check operations
|
|
3
|
+
*/
|
|
4
|
+
import { AbapConnection } from '@mcp-abap-adt/connection';
|
|
5
|
+
import { AxiosResponse } from 'axios';
|
|
6
|
+
/**
|
|
7
|
+
* Check interface syntax
|
|
8
|
+
*/
|
|
9
|
+
export declare function checkInterface(connection: AbapConnection, interfaceName: string, version?: string, sessionId?: string): Promise<AxiosResponse>;
|
|
10
|
+
//# sourceMappingURL=check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/core/interface/check.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC;;GAEG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,MAAiB,EAC1B,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC,CASxB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Interface check operations
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.checkInterface = checkInterface;
|
|
7
|
+
const checkRun_1 = require("../shared/checkRun");
|
|
8
|
+
/**
|
|
9
|
+
* Check interface syntax
|
|
10
|
+
*/
|
|
11
|
+
async function checkInterface(connection, interfaceName, version = 'active', sessionId) {
|
|
12
|
+
const response = await (0, checkRun_1.runCheckRun)(connection, 'interface', interfaceName, version, 'abapCheckRun', sessionId);
|
|
13
|
+
const checkResult = (0, checkRun_1.parseCheckRunResponse)(response);
|
|
14
|
+
if (!checkResult.success && checkResult.has_errors) {
|
|
15
|
+
throw new Error(`Interface check failed: ${checkResult.message}`);
|
|
16
|
+
}
|
|
17
|
+
return response;
|
|
18
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface create operations
|
|
3
|
+
*/
|
|
4
|
+
import { AbapConnection } from '@mcp-abap-adt/connection';
|
|
5
|
+
import { AxiosResponse } from 'axios';
|
|
6
|
+
import { CreateInterfaceParams } from './types';
|
|
7
|
+
/**
|
|
8
|
+
* Create ABAP interface
|
|
9
|
+
* Full workflow: create object -> lock -> upload source -> unlock -> activate
|
|
10
|
+
*/
|
|
11
|
+
export declare function createInterface(connection: AbapConnection, params: CreateInterfaceParams): Promise<AxiosResponse>;
|
|
12
|
+
//# sourceMappingURL=create.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/core/interface/create.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAQtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAqGhD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,aAAa,CAAC,CAoExB"}
|