@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,248 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Utility script to unlock all test objects from .locks/active-locks.json
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* node bin/unlock-test-objects.js [options]
|
|
7
|
+
* adt-unlock-objects [options]
|
|
8
|
+
*
|
|
9
|
+
* Options:
|
|
10
|
+
* --locks-dir <path> Lock registry directory (default: .locks)
|
|
11
|
+
* --env <path> Path to .env file (default: .env)
|
|
12
|
+
* -h, --help Show help message
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
const path = require('path');
|
|
16
|
+
const fs = require('fs');
|
|
17
|
+
const dotenv = require('dotenv');
|
|
18
|
+
|
|
19
|
+
// Show help if requested
|
|
20
|
+
if (process.argv.includes('--help') || process.argv.includes('-h')) {
|
|
21
|
+
console.log(`
|
|
22
|
+
🔓 Unlock Test Objects - Utility to unlock all objects from lock registry
|
|
23
|
+
|
|
24
|
+
Usage:
|
|
25
|
+
node bin/unlock-test-objects.js [options]
|
|
26
|
+
adt-unlock-objects [options]
|
|
27
|
+
|
|
28
|
+
Options:
|
|
29
|
+
--locks-dir <path> Lock registry directory (default: .locks)
|
|
30
|
+
--env <path> Path to .env file (default: .env)
|
|
31
|
+
-h, --help Show this help message
|
|
32
|
+
|
|
33
|
+
Description:
|
|
34
|
+
This utility reads all active locks from .locks/active-locks.json and attempts
|
|
35
|
+
to unlock them on the SAP server. After successful unlock, locks are removed
|
|
36
|
+
from the registry.
|
|
37
|
+
|
|
38
|
+
The script uses JWT auto-refresh if refresh credentials are available in .env.
|
|
39
|
+
|
|
40
|
+
Environment Variables (from .env):
|
|
41
|
+
SAP_URL - SAP system URL
|
|
42
|
+
SAP_CLIENT - SAP client (optional)
|
|
43
|
+
SAP_AUTH_TYPE - Authentication type: basic, jwt, xsuaa
|
|
44
|
+
SAP_JWT_TOKEN - JWT token (for jwt/xsuaa auth)
|
|
45
|
+
SAP_REFRESH_TOKEN - Refresh token (optional, for auto-refresh)
|
|
46
|
+
SAP_UAA_URL - UAA URL (optional, for auto-refresh)
|
|
47
|
+
SAP_UAA_CLIENT_ID - UAA client ID (optional, for auto-refresh)
|
|
48
|
+
SAP_UAA_CLIENT_SECRET - UAA client secret (optional, for auto-refresh)
|
|
49
|
+
SAP_USERNAME - Username (for basic auth)
|
|
50
|
+
SAP_PASSWORD - Password (for basic auth)
|
|
51
|
+
`);
|
|
52
|
+
process.exit(0);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Parse command line arguments
|
|
56
|
+
function parseArgs() {
|
|
57
|
+
const args = process.argv.slice(2);
|
|
58
|
+
const options = {
|
|
59
|
+
locksDir: '.locks',
|
|
60
|
+
envPath: '.env'
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
for (let i = 0; i < args.length; i++) {
|
|
64
|
+
const arg = args[i];
|
|
65
|
+
if (arg === '--locks-dir' && i + 1 < args.length) {
|
|
66
|
+
options.locksDir = args[++i];
|
|
67
|
+
} else if (arg === '--env' && i + 1 < args.length) {
|
|
68
|
+
options.envPath = args[++i];
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return options;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// Load environment
|
|
76
|
+
const options = parseArgs();
|
|
77
|
+
const envPath = process.env.MCP_ENV_PATH || path.resolve(__dirname, '..', options.envPath);
|
|
78
|
+
if (fs.existsSync(envPath)) {
|
|
79
|
+
dotenv.config({ path: envPath });
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
const { createAbapConnection } = require('@mcp-abap-adt/connection');
|
|
83
|
+
const { LockStateManager } = require('../dist/utils/lockStateManager');
|
|
84
|
+
const { unlockClass } = require('../dist/core/class/unlock');
|
|
85
|
+
const { unlockInterface } = require('../dist/core/interface/unlock');
|
|
86
|
+
const { unlockProgram } = require('../dist/core/program/unlock');
|
|
87
|
+
const { unlockFunctionModule } = require('../dist/core/functionModule/unlock');
|
|
88
|
+
const { unlockDomain } = require('../dist/core/domain/unlock');
|
|
89
|
+
const { unlockDataElement } = require('../dist/core/dataElement/unlock');
|
|
90
|
+
const { unlockDDLS } = require('../dist/core/view/unlock');
|
|
91
|
+
const { unlockStructure } = require('../dist/core/structure/unlock');
|
|
92
|
+
const { unlockTable } = require('../dist/core/table/unlock');
|
|
93
|
+
const { unlockPackage } = require('../dist/core/package/unlock');
|
|
94
|
+
|
|
95
|
+
function getConfig() {
|
|
96
|
+
const rawUrl = process.env.SAP_URL;
|
|
97
|
+
const url = rawUrl ? rawUrl.split('#')[0].trim() : rawUrl;
|
|
98
|
+
const rawClient = process.env.SAP_CLIENT;
|
|
99
|
+
const client = rawClient ? rawClient.split('#')[0].trim() : rawClient;
|
|
100
|
+
const rawAuthType = process.env.SAP_AUTH_TYPE || 'basic';
|
|
101
|
+
const authType = rawAuthType.split('#')[0].trim();
|
|
102
|
+
|
|
103
|
+
if (!url || !/^https?:\/\//.test(url)) {
|
|
104
|
+
throw new Error(`Missing or invalid SAP_URL: ${url}`);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
const config = {
|
|
108
|
+
url,
|
|
109
|
+
authType: authType === 'xsuaa' ? 'jwt' : authType,
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
if (client) {
|
|
113
|
+
config.client = client;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
if (authType === 'jwt' || authType === 'xsuaa') {
|
|
117
|
+
const jwtToken = process.env.SAP_JWT_TOKEN;
|
|
118
|
+
if (!jwtToken) {
|
|
119
|
+
throw new Error('Missing SAP_JWT_TOKEN for JWT authentication');
|
|
120
|
+
}
|
|
121
|
+
config.jwtToken = jwtToken;
|
|
122
|
+
|
|
123
|
+
// Add refresh credentials if available (for auto-refresh)
|
|
124
|
+
if (process.env.SAP_REFRESH_TOKEN) {
|
|
125
|
+
config.refreshToken = process.env.SAP_REFRESH_TOKEN;
|
|
126
|
+
}
|
|
127
|
+
if (process.env.SAP_UAA_URL) {
|
|
128
|
+
config.uaaUrl = process.env.SAP_UAA_URL;
|
|
129
|
+
}
|
|
130
|
+
if (process.env.SAP_UAA_CLIENT_ID) {
|
|
131
|
+
config.uaaClientId = process.env.SAP_UAA_CLIENT_ID;
|
|
132
|
+
}
|
|
133
|
+
if (process.env.SAP_UAA_CLIENT_SECRET) {
|
|
134
|
+
config.uaaClientSecret = process.env.SAP_UAA_CLIENT_SECRET;
|
|
135
|
+
}
|
|
136
|
+
} else {
|
|
137
|
+
const username = process.env.SAP_USERNAME;
|
|
138
|
+
const password = process.env.SAP_PASSWORD;
|
|
139
|
+
if (!username || !password) {
|
|
140
|
+
throw new Error('Missing SAP_USERNAME or SAP_PASSWORD for basic authentication');
|
|
141
|
+
}
|
|
142
|
+
config.username = username;
|
|
143
|
+
config.password = password;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
return config;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Unlock object based on type
|
|
151
|
+
*/
|
|
152
|
+
async function unlockObject(connection, lock) {
|
|
153
|
+
const { objectType, objectName, functionGroupName, lockHandle, sessionId } = lock;
|
|
154
|
+
|
|
155
|
+
switch (objectType) {
|
|
156
|
+
case 'class':
|
|
157
|
+
return await unlockClass(connection, objectName, lockHandle, sessionId);
|
|
158
|
+
case 'interface':
|
|
159
|
+
return await unlockInterface(connection, objectName, lockHandle, sessionId);
|
|
160
|
+
case 'program':
|
|
161
|
+
return await unlockProgram(connection, objectName, lockHandle, sessionId);
|
|
162
|
+
case 'fm':
|
|
163
|
+
if (!functionGroupName) {
|
|
164
|
+
throw new Error(`Function group name required for FM: ${objectName}`);
|
|
165
|
+
}
|
|
166
|
+
return await unlockFunctionModule(connection, functionGroupName, objectName, lockHandle, sessionId);
|
|
167
|
+
case 'domain':
|
|
168
|
+
return await unlockDomain(connection, objectName, lockHandle, sessionId);
|
|
169
|
+
case 'dataElement':
|
|
170
|
+
return await unlockDataElement(connection, objectName, lockHandle, sessionId);
|
|
171
|
+
case 'view':
|
|
172
|
+
return await unlockDDLS(connection, objectName, lockHandle, sessionId);
|
|
173
|
+
case 'structure':
|
|
174
|
+
return await unlockStructure(connection, objectName, lockHandle, sessionId);
|
|
175
|
+
case 'table':
|
|
176
|
+
return await unlockTable(connection, objectName, lockHandle, sessionId);
|
|
177
|
+
case 'package':
|
|
178
|
+
return await unlockPackage(connection, objectName, lockHandle, sessionId);
|
|
179
|
+
default:
|
|
180
|
+
throw new Error(`Unknown object type: ${objectType}`);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
function formatLockInfo(lock) {
|
|
185
|
+
const objectId = lock.functionGroupName
|
|
186
|
+
? `${lock.functionGroupName}/${lock.objectName}`
|
|
187
|
+
: lock.objectName;
|
|
188
|
+
return `${lock.objectType.toUpperCase()}: ${objectId}`;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
async function unlockTestObjects() {
|
|
192
|
+
try {
|
|
193
|
+
const config = getConfig();
|
|
194
|
+
const connection = createAbapConnection(config, console);
|
|
195
|
+
|
|
196
|
+
// Load lock registry
|
|
197
|
+
const lockManager = new LockStateManager(options.locksDir);
|
|
198
|
+
const locks = lockManager.getAllLocks();
|
|
199
|
+
|
|
200
|
+
if (locks.length === 0) {
|
|
201
|
+
console.log('✅ No active locks found in registry');
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
console.log(`🔓 Found ${locks.length} lock(s) in registry\n`);
|
|
206
|
+
|
|
207
|
+
let successCount = 0;
|
|
208
|
+
let failCount = 0;
|
|
209
|
+
|
|
210
|
+
// Connection will auto-connect on first request (with JWT refresh if needed)
|
|
211
|
+
for (const lock of locks) {
|
|
212
|
+
try {
|
|
213
|
+
const lockInfo = formatLockInfo(lock);
|
|
214
|
+
console.log(`Attempting to unlock ${lockInfo}...`);
|
|
215
|
+
|
|
216
|
+
await unlockObject(connection, lock);
|
|
217
|
+
|
|
218
|
+
// Remove from registry after successful unlock
|
|
219
|
+
lockManager.removeLock(lock.objectType, lock.objectName, lock.functionGroupName);
|
|
220
|
+
|
|
221
|
+
console.log(`✅ Unlocked: ${lockInfo}\n`);
|
|
222
|
+
successCount++;
|
|
223
|
+
} catch (error) {
|
|
224
|
+
const lockInfo = formatLockInfo(lock);
|
|
225
|
+
console.log(`❌ Failed to unlock ${lockInfo}: ${error.message}\n`);
|
|
226
|
+
failCount++;
|
|
227
|
+
|
|
228
|
+
// Don't remove from registry if unlock failed - might be locked by another session
|
|
229
|
+
// User can manually clean up later
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
console.log('\n📊 Summary:');
|
|
234
|
+
console.log(` ✅ Successfully unlocked: ${successCount}`);
|
|
235
|
+
console.log(` ❌ Failed to unlock: ${failCount}`);
|
|
236
|
+
|
|
237
|
+
if (failCount > 0) {
|
|
238
|
+
console.log('\n💡 Note: Failed unlocks may be locked by another session or already unlocked.');
|
|
239
|
+
console.log(' You can check with: adt-manage-locks list');
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
} catch (error) {
|
|
243
|
+
console.error('❌ Error:', error.message);
|
|
244
|
+
process.exit(1);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
unlockTestObjects();
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CrudClient - Full CRUD operations for SAP ADT
|
|
3
|
+
*
|
|
4
|
+
* Extends ReadOnlyClient with Create, Update, and Delete operations.
|
|
5
|
+
* All methods return raw AxiosResponse - no MCP formatting.
|
|
6
|
+
*
|
|
7
|
+
* All implementations are in core/{object}/ modules (e.g., core/program/, core/class/).
|
|
8
|
+
* Read operations are inherited from ReadOnlyClient (which delegates to core/{object}/read.ts).
|
|
9
|
+
*/
|
|
10
|
+
import { ReadOnlyClient } from './ReadOnlyClient';
|
|
11
|
+
import { AbapConnection } from '@mcp-abap-adt/connection';
|
|
12
|
+
import { AxiosResponse } from 'axios';
|
|
13
|
+
import * as programOps from '../core/program';
|
|
14
|
+
import * as classOps from '../core/class';
|
|
15
|
+
import * as domainOps from '../core/domain';
|
|
16
|
+
import * as dataElementOps from '../core/dataElement';
|
|
17
|
+
import * as interfaceOps from '../core/interface';
|
|
18
|
+
import * as tableOps from '../core/table';
|
|
19
|
+
import * as structureOps from '../core/structure';
|
|
20
|
+
import * as viewOps from '../core/view';
|
|
21
|
+
import * as functionGroupOps from '../core/functionGroup';
|
|
22
|
+
import * as functionModuleOps from '../core/functionModule';
|
|
23
|
+
import * as packageOps from '../core/package';
|
|
24
|
+
import * as transportOps from '../core/transport';
|
|
25
|
+
import * as deleteOps from '../core/delete';
|
|
26
|
+
export declare class CrudClient extends ReadOnlyClient {
|
|
27
|
+
constructor(connection: AbapConnection);
|
|
28
|
+
createProgram(params: programOps.CreateProgramParams): Promise<AxiosResponse>;
|
|
29
|
+
updateProgramSource(params: programOps.UpdateProgramSourceParams): Promise<AxiosResponse>;
|
|
30
|
+
createClass(params: classOps.CreateClassParams): Promise<AxiosResponse>;
|
|
31
|
+
createDomain(params: domainOps.CreateDomainParams): Promise<AxiosResponse>;
|
|
32
|
+
updateDomain(params: domainOps.UpdateDomainParams): Promise<AxiosResponse>;
|
|
33
|
+
createDataElement(params: dataElementOps.CreateDataElementParams): Promise<AxiosResponse>;
|
|
34
|
+
updateDataElement(params: dataElementOps.UpdateDataElementParams): Promise<AxiosResponse>;
|
|
35
|
+
createInterface(params: interfaceOps.CreateInterfaceParams): Promise<AxiosResponse>;
|
|
36
|
+
updateInterfaceSource(params: interfaceOps.UpdateInterfaceSourceParams): Promise<AxiosResponse>;
|
|
37
|
+
createTable(params: tableOps.CreateTableParams): Promise<AxiosResponse>;
|
|
38
|
+
createStructure(params: structureOps.CreateStructureParams): Promise<AxiosResponse>;
|
|
39
|
+
createView(params: viewOps.CreateViewParams): Promise<AxiosResponse>;
|
|
40
|
+
updateViewSource(params: viewOps.UpdateViewSourceParams): Promise<AxiosResponse>;
|
|
41
|
+
createFunctionGroup(params: functionGroupOps.CreateFunctionGroupParams): Promise<AxiosResponse>;
|
|
42
|
+
createFunctionModule(params: functionModuleOps.CreateFunctionModuleParams): Promise<AxiosResponse>;
|
|
43
|
+
updateFunctionModuleSource(params: functionModuleOps.UpdateFunctionModuleSourceParams): Promise<AxiosResponse>;
|
|
44
|
+
createPackage(params: packageOps.CreatePackageParams): Promise<AxiosResponse>;
|
|
45
|
+
createTransport(params: transportOps.CreateTransportParams): Promise<AxiosResponse>;
|
|
46
|
+
deleteObject(params: deleteOps.DeleteObjectParams): Promise<AxiosResponse>;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=CrudClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CrudClient.d.ts","sourceRoot":"","sources":["../../src/clients/CrudClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAE5C,qBAAa,UAAW,SAAQ,cAAc;gBAChC,UAAU,EAAE,cAAc;IAKhC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAI7E,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,yBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;IAKzF,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAMvE,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAI1E,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAK1E,iBAAiB,CAAC,MAAM,EAAE,cAAc,CAAC,uBAAuB,GAAG,OAAO,CAAC,aAAa,CAAC;IAIzF,iBAAiB,CAAC,MAAM,EAAE,cAAc,CAAC,uBAAuB,GAAG,OAAO,CAAC,aAAa,CAAC;IAKzF,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;IAInF,qBAAqB,CAAC,MAAM,EAAE,YAAY,CAAC,2BAA2B,GAAG,OAAO,CAAC,aAAa,CAAC;IAK/F,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAKvE,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;IAKnF,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;IAIpE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC;IAKhF,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,yBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;IAK/F,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,CAAC,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IAIlG,0BAA0B,CAAC,MAAM,EAAE,iBAAiB,CAAC,gCAAgC,GAAG,OAAO,CAAC,aAAa,CAAC;IAK9G,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAK7E,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;IAKnF,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;CAGjF"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* CrudClient - Full CRUD operations for SAP ADT
|
|
4
|
+
*
|
|
5
|
+
* Extends ReadOnlyClient with Create, Update, and Delete operations.
|
|
6
|
+
* All methods return raw AxiosResponse - no MCP formatting.
|
|
7
|
+
*
|
|
8
|
+
* All implementations are in core/{object}/ modules (e.g., core/program/, core/class/).
|
|
9
|
+
* Read operations are inherited from ReadOnlyClient (which delegates to core/{object}/read.ts).
|
|
10
|
+
*/
|
|
11
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
14
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
15
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
16
|
+
}
|
|
17
|
+
Object.defineProperty(o, k2, desc);
|
|
18
|
+
}) : (function(o, m, k, k2) {
|
|
19
|
+
if (k2 === undefined) k2 = k;
|
|
20
|
+
o[k2] = m[k];
|
|
21
|
+
}));
|
|
22
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
23
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
24
|
+
}) : function(o, v) {
|
|
25
|
+
o["default"] = v;
|
|
26
|
+
});
|
|
27
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
28
|
+
var ownKeys = function(o) {
|
|
29
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
30
|
+
var ar = [];
|
|
31
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
32
|
+
return ar;
|
|
33
|
+
};
|
|
34
|
+
return ownKeys(o);
|
|
35
|
+
};
|
|
36
|
+
return function (mod) {
|
|
37
|
+
if (mod && mod.__esModule) return mod;
|
|
38
|
+
var result = {};
|
|
39
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
40
|
+
__setModuleDefault(result, mod);
|
|
41
|
+
return result;
|
|
42
|
+
};
|
|
43
|
+
})();
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.CrudClient = void 0;
|
|
46
|
+
const ReadOnlyClient_1 = require("./ReadOnlyClient");
|
|
47
|
+
const programOps = __importStar(require("../core/program"));
|
|
48
|
+
const classOps = __importStar(require("../core/class"));
|
|
49
|
+
const domainOps = __importStar(require("../core/domain"));
|
|
50
|
+
const dataElementOps = __importStar(require("../core/dataElement"));
|
|
51
|
+
const interfaceOps = __importStar(require("../core/interface"));
|
|
52
|
+
const tableOps = __importStar(require("../core/table"));
|
|
53
|
+
const structureOps = __importStar(require("../core/structure"));
|
|
54
|
+
const viewOps = __importStar(require("../core/view"));
|
|
55
|
+
const functionGroupOps = __importStar(require("../core/functionGroup"));
|
|
56
|
+
const functionModuleOps = __importStar(require("../core/functionModule"));
|
|
57
|
+
const packageOps = __importStar(require("../core/package"));
|
|
58
|
+
const transportOps = __importStar(require("../core/transport"));
|
|
59
|
+
const deleteOps = __importStar(require("../core/delete"));
|
|
60
|
+
class CrudClient extends ReadOnlyClient_1.ReadOnlyClient {
|
|
61
|
+
constructor(connection) {
|
|
62
|
+
super(connection);
|
|
63
|
+
}
|
|
64
|
+
// Program operations
|
|
65
|
+
async createProgram(params) {
|
|
66
|
+
return programOps.createProgram(this.connection, params);
|
|
67
|
+
}
|
|
68
|
+
async updateProgramSource(params) {
|
|
69
|
+
return programOps.updateProgramSource(this.connection, params);
|
|
70
|
+
}
|
|
71
|
+
// Class operations
|
|
72
|
+
async createClass(params) {
|
|
73
|
+
return classOps.createClass(this.connection, params);
|
|
74
|
+
}
|
|
75
|
+
// Domain operations
|
|
76
|
+
async createDomain(params) {
|
|
77
|
+
return domainOps.createDomain(this.connection, params);
|
|
78
|
+
}
|
|
79
|
+
async updateDomain(params) {
|
|
80
|
+
return domainOps.updateDomain(this.connection, params);
|
|
81
|
+
}
|
|
82
|
+
// DataElement operations
|
|
83
|
+
async createDataElement(params) {
|
|
84
|
+
return dataElementOps.createDataElement(this.connection, params);
|
|
85
|
+
}
|
|
86
|
+
async updateDataElement(params) {
|
|
87
|
+
return dataElementOps.updateDataElement(this.connection, params);
|
|
88
|
+
}
|
|
89
|
+
// Interface operations
|
|
90
|
+
async createInterface(params) {
|
|
91
|
+
return interfaceOps.createInterface(this.connection, params);
|
|
92
|
+
}
|
|
93
|
+
async updateInterfaceSource(params) {
|
|
94
|
+
return interfaceOps.updateInterfaceSource(this.connection, params);
|
|
95
|
+
}
|
|
96
|
+
// Table operations
|
|
97
|
+
async createTable(params) {
|
|
98
|
+
return tableOps.createTable(this.connection, params);
|
|
99
|
+
}
|
|
100
|
+
// Structure operations
|
|
101
|
+
async createStructure(params) {
|
|
102
|
+
return structureOps.createStructure(this.connection, params);
|
|
103
|
+
}
|
|
104
|
+
// View operations
|
|
105
|
+
async createView(params) {
|
|
106
|
+
return viewOps.createView(this.connection, params);
|
|
107
|
+
}
|
|
108
|
+
async updateViewSource(params) {
|
|
109
|
+
return viewOps.updateViewSource(this.connection, params);
|
|
110
|
+
}
|
|
111
|
+
// FunctionGroup operations
|
|
112
|
+
async createFunctionGroup(params) {
|
|
113
|
+
return functionGroupOps.createFunctionGroup(this.connection, params);
|
|
114
|
+
}
|
|
115
|
+
// FunctionModule operations
|
|
116
|
+
async createFunctionModule(params) {
|
|
117
|
+
return functionModuleOps.createFunctionModule(this.connection, params);
|
|
118
|
+
}
|
|
119
|
+
async updateFunctionModuleSource(params) {
|
|
120
|
+
return functionModuleOps.updateFunctionModuleSource(this.connection, params);
|
|
121
|
+
}
|
|
122
|
+
// Package operations
|
|
123
|
+
async createPackage(params) {
|
|
124
|
+
return packageOps.createPackage(this.connection, params);
|
|
125
|
+
}
|
|
126
|
+
// Transport operations
|
|
127
|
+
async createTransport(params) {
|
|
128
|
+
return transportOps.createTransport(this.connection, params);
|
|
129
|
+
}
|
|
130
|
+
// Delete operations (common for all object types)
|
|
131
|
+
async deleteObject(params) {
|
|
132
|
+
return deleteOps.deleteObject(this.connection, params);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
exports.CrudClient = CrudClient;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AbapConnection } from '@mcp-abap-adt/connection';
|
|
2
|
+
export type LockableObjectType = 'class' | 'program' | 'interface' | 'function_group' | 'function_module' | 'table' | 'structure' | 'view' | 'domain' | 'data_element' | 'package';
|
|
3
|
+
export interface LockRequest {
|
|
4
|
+
objectType: LockableObjectType;
|
|
5
|
+
objectName: string;
|
|
6
|
+
sessionId?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface LockResult {
|
|
9
|
+
objectType: LockableObjectType;
|
|
10
|
+
objectName: string;
|
|
11
|
+
lockHandle: string;
|
|
12
|
+
sessionId: string;
|
|
13
|
+
transportRequest?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface UnlockRequest {
|
|
16
|
+
objectType: LockableObjectType;
|
|
17
|
+
objectName: string;
|
|
18
|
+
lockHandle: string;
|
|
19
|
+
sessionId: string;
|
|
20
|
+
}
|
|
21
|
+
export declare class LockClient {
|
|
22
|
+
private connection;
|
|
23
|
+
constructor(connection: AbapConnection);
|
|
24
|
+
lock(request: LockRequest): Promise<LockResult>;
|
|
25
|
+
unlock(request: UnlockRequest): Promise<void>;
|
|
26
|
+
private splitFunctionModuleName;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=LockClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LockClient.d.ts","sourceRoot":"","sources":["../../src/clients/LockClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAyB1D,MAAM,MAAM,kBAAkB,GAC1B,OAAO,GACP,SAAS,GACT,WAAW,GACX,gBAAgB,GAChB,iBAAiB,GACjB,OAAO,GACP,WAAW,GACX,MAAM,GACN,QAAQ,GACR,cAAc,GACd,SAAS,CAAC;AAEd,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,UAAU;IACT,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,cAAc;IAExC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAwD/C,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA6CnD,OAAO,CAAC,uBAAuB;CAWhC"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LockClient = void 0;
|
|
4
|
+
const sessionUtils_1 = require("../utils/sessionUtils");
|
|
5
|
+
const lock_1 = require("../core/class/lock");
|
|
6
|
+
const unlock_1 = require("../core/class/unlock");
|
|
7
|
+
const lock_2 = require("../core/program/lock");
|
|
8
|
+
const unlock_2 = require("../core/program/unlock");
|
|
9
|
+
const lock_3 = require("../core/interface/lock");
|
|
10
|
+
const unlock_3 = require("../core/interface/unlock");
|
|
11
|
+
const lock_4 = require("../core/functionGroup/lock");
|
|
12
|
+
const unlock_4 = require("../core/functionGroup/unlock");
|
|
13
|
+
const lock_5 = require("../core/functionModule/lock");
|
|
14
|
+
const unlock_5 = require("../core/functionModule/unlock");
|
|
15
|
+
const lock_6 = require("../core/structure/lock");
|
|
16
|
+
const unlock_6 = require("../core/structure/unlock");
|
|
17
|
+
const lock_7 = require("../core/table/lock");
|
|
18
|
+
const unlock_7 = require("../core/table/unlock");
|
|
19
|
+
const lock_8 = require("../core/domain/lock");
|
|
20
|
+
const unlock_8 = require("../core/domain/unlock");
|
|
21
|
+
const lock_9 = require("../core/dataElement/lock");
|
|
22
|
+
const unlock_9 = require("../core/dataElement/unlock");
|
|
23
|
+
const lock_10 = require("../core/view/lock");
|
|
24
|
+
const unlock_10 = require("../core/view/unlock");
|
|
25
|
+
const lock_11 = require("../core/package/lock");
|
|
26
|
+
const unlock_11 = require("../core/package/unlock");
|
|
27
|
+
class LockClient {
|
|
28
|
+
connection;
|
|
29
|
+
constructor(connection) {
|
|
30
|
+
this.connection = connection;
|
|
31
|
+
}
|
|
32
|
+
async lock(request) {
|
|
33
|
+
const sessionId = request.sessionId || (0, sessionUtils_1.generateSessionId)();
|
|
34
|
+
const objectType = request.objectType.toLowerCase();
|
|
35
|
+
const objectName = request.objectName.toUpperCase();
|
|
36
|
+
switch (objectType) {
|
|
37
|
+
case 'class': {
|
|
38
|
+
const lockHandle = await (0, lock_1.lockClass)(this.connection, objectName, sessionId);
|
|
39
|
+
return { objectType, objectName, lockHandle, sessionId };
|
|
40
|
+
}
|
|
41
|
+
case 'program': {
|
|
42
|
+
const lockHandle = await (0, lock_2.lockProgram)(this.connection, objectName, sessionId);
|
|
43
|
+
return { objectType, objectName, lockHandle, sessionId };
|
|
44
|
+
}
|
|
45
|
+
case 'interface': {
|
|
46
|
+
const { lockHandle, corrNr } = await (0, lock_3.lockInterface)(this.connection, objectName, sessionId);
|
|
47
|
+
return { objectType, objectName, lockHandle, sessionId, transportRequest: corrNr };
|
|
48
|
+
}
|
|
49
|
+
case 'function_group': {
|
|
50
|
+
const lockHandle = await (0, lock_4.lockFunctionGroup)(this.connection, objectName, sessionId);
|
|
51
|
+
return { objectType, objectName, lockHandle, sessionId };
|
|
52
|
+
}
|
|
53
|
+
case 'function_module': {
|
|
54
|
+
const { group, module } = this.splitFunctionModuleName(objectName);
|
|
55
|
+
const lockHandle = await (0, lock_5.lockFunctionModule)(this.connection, group, module, sessionId);
|
|
56
|
+
return { objectType, objectName, lockHandle, sessionId };
|
|
57
|
+
}
|
|
58
|
+
case 'table': {
|
|
59
|
+
const lockHandle = await (0, lock_7.acquireTableLockHandle)(this.connection, objectName, sessionId);
|
|
60
|
+
return { objectType, objectName, lockHandle, sessionId };
|
|
61
|
+
}
|
|
62
|
+
case 'structure': {
|
|
63
|
+
const lockHandle = await (0, lock_6.lockStructure)(this.connection, objectName, sessionId);
|
|
64
|
+
return { objectType, objectName, lockHandle, sessionId };
|
|
65
|
+
}
|
|
66
|
+
case 'view': {
|
|
67
|
+
const lockHandle = await (0, lock_10.lockDDLS)(this.connection, objectName, sessionId);
|
|
68
|
+
return { objectType, objectName, lockHandle, sessionId };
|
|
69
|
+
}
|
|
70
|
+
case 'domain': {
|
|
71
|
+
const lockHandle = await (0, lock_8.lockDomain)(this.connection, objectName, sessionId);
|
|
72
|
+
return { objectType, objectName, lockHandle, sessionId };
|
|
73
|
+
}
|
|
74
|
+
case 'data_element': {
|
|
75
|
+
const lockHandle = await (0, lock_9.lockDataElement)(this.connection, objectName, sessionId);
|
|
76
|
+
return { objectType, objectName, lockHandle, sessionId };
|
|
77
|
+
}
|
|
78
|
+
case 'package': {
|
|
79
|
+
const lockHandle = await (0, lock_11.lockPackage)(this.connection, objectName, sessionId);
|
|
80
|
+
return { objectType, objectName, lockHandle, sessionId };
|
|
81
|
+
}
|
|
82
|
+
default:
|
|
83
|
+
throw new Error(`Unsupported object type for lock: ${objectType}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
async unlock(request) {
|
|
87
|
+
const objectType = request.objectType.toLowerCase();
|
|
88
|
+
const objectName = request.objectName.toUpperCase();
|
|
89
|
+
switch (objectType) {
|
|
90
|
+
case 'class':
|
|
91
|
+
await (0, unlock_1.unlockClass)(this.connection, objectName, request.lockHandle, request.sessionId);
|
|
92
|
+
return;
|
|
93
|
+
case 'program':
|
|
94
|
+
await (0, unlock_2.unlockProgram)(this.connection, objectName, request.lockHandle, request.sessionId);
|
|
95
|
+
return;
|
|
96
|
+
case 'interface':
|
|
97
|
+
await (0, unlock_3.unlockInterface)(this.connection, objectName, request.lockHandle, request.sessionId);
|
|
98
|
+
return;
|
|
99
|
+
case 'function_group':
|
|
100
|
+
await (0, unlock_4.unlockFunctionGroup)(this.connection, objectName, request.lockHandle, request.sessionId);
|
|
101
|
+
return;
|
|
102
|
+
case 'function_module': {
|
|
103
|
+
const { group, module } = this.splitFunctionModuleName(objectName);
|
|
104
|
+
await (0, unlock_5.unlockFunctionModule)(this.connection, group, module, request.lockHandle, request.sessionId);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
case 'table':
|
|
108
|
+
await (0, unlock_7.unlockTable)(this.connection, objectName, request.lockHandle, request.sessionId);
|
|
109
|
+
return;
|
|
110
|
+
case 'structure':
|
|
111
|
+
await (0, unlock_6.unlockStructure)(this.connection, objectName, request.lockHandle, request.sessionId);
|
|
112
|
+
return;
|
|
113
|
+
case 'view':
|
|
114
|
+
await (0, unlock_10.unlockDDLS)(this.connection, objectName, request.lockHandle, request.sessionId);
|
|
115
|
+
return;
|
|
116
|
+
case 'domain':
|
|
117
|
+
await (0, unlock_8.unlockDomain)(this.connection, objectName, request.lockHandle, request.sessionId);
|
|
118
|
+
return;
|
|
119
|
+
case 'data_element':
|
|
120
|
+
await (0, unlock_9.unlockDataElement)(this.connection, objectName, request.lockHandle, request.sessionId);
|
|
121
|
+
return;
|
|
122
|
+
case 'package':
|
|
123
|
+
await (0, unlock_11.unlockPackage)(this.connection, objectName, request.lockHandle, request.sessionId);
|
|
124
|
+
return;
|
|
125
|
+
default:
|
|
126
|
+
throw new Error(`Unsupported object type for unlock: ${objectType}`);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
splitFunctionModuleName(value) {
|
|
130
|
+
const separator = value.includes('|') ? '|' : '/';
|
|
131
|
+
const [group, module] = value.split(separator);
|
|
132
|
+
if (!group || !module) {
|
|
133
|
+
throw new Error('Function module name must include function group (e.g., ZFGROUP|Z_FM_NAME)');
|
|
134
|
+
}
|
|
135
|
+
return {
|
|
136
|
+
group,
|
|
137
|
+
module
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
exports.LockClient = LockClient;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ManagementClient - Management operations for SAP ADT
|
|
3
|
+
*
|
|
4
|
+
* Provides methods for object activation and syntax checking.
|
|
5
|
+
* All methods return raw AxiosResponse - no MCP formatting.
|
|
6
|
+
*
|
|
7
|
+
* All implementations are in core/managementOperations.ts to avoid code duplication.
|
|
8
|
+
*/
|
|
9
|
+
import { AbapConnection } from '@mcp-abap-adt/connection';
|
|
10
|
+
import { AxiosResponse } from 'axios';
|
|
11
|
+
export declare class ManagementClient {
|
|
12
|
+
private connection;
|
|
13
|
+
constructor(connection: AbapConnection);
|
|
14
|
+
/**
|
|
15
|
+
* Activate ABAP objects
|
|
16
|
+
*/
|
|
17
|
+
activateObject(objects: Array<{
|
|
18
|
+
name: string;
|
|
19
|
+
type: string;
|
|
20
|
+
}>): Promise<AxiosResponse>;
|
|
21
|
+
/**
|
|
22
|
+
* Activate multiple objects with explicit URIs or inferred types
|
|
23
|
+
*/
|
|
24
|
+
activateObjectsGroup(objects: Array<{
|
|
25
|
+
name: string;
|
|
26
|
+
type?: string;
|
|
27
|
+
uri?: string;
|
|
28
|
+
}>, preaudit?: boolean): Promise<AxiosResponse>;
|
|
29
|
+
/**
|
|
30
|
+
* Check ABAP object syntax
|
|
31
|
+
*/
|
|
32
|
+
checkObject(name: string, type: string, version?: string): Promise<AxiosResponse>;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=ManagementClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ManagementClient.d.ts","sourceRoot":"","sources":["../../src/clients/ManagementClient.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC,qBAAa,gBAAgB;IACf,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,cAAc;IAE9C;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IAS1F;;OAEG;IACG,oBAAoB,CACxB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAC7D,QAAQ,GAAE,OAAc,GACvB,OAAO,CAAC,aAAa,CAAC;IAQzB;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CAMxF"}
|