@mcp-abap-adt/adt-backup 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.
Files changed (345) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +64 -0
  3. package/dist/bin/adt-backup.d.ts +3 -0
  4. package/dist/bin/adt-backup.d.ts.map +1 -0
  5. package/dist/bin/adt-backup.js +8 -0
  6. package/dist/lib/auth/NoopTokenProvider.d.ts +5 -0
  7. package/dist/lib/auth/NoopTokenProvider.d.ts.map +1 -0
  8. package/dist/lib/auth/NoopTokenProvider.js +9 -0
  9. package/dist/lib/auth/createTokenProvider.d.ts +4 -0
  10. package/dist/lib/auth/createTokenProvider.d.ts.map +1 -0
  11. package/dist/lib/auth/createTokenProvider.js +22 -0
  12. package/dist/lib/auth/getSapConfigFromBroker.d.ts +13 -0
  13. package/dist/lib/auth/getSapConfigFromBroker.d.ts.map +1 -0
  14. package/dist/lib/auth/getSapConfigFromBroker.js +184 -0
  15. package/dist/lib/auth/index.d.ts +4 -0
  16. package/dist/lib/auth/index.d.ts.map +1 -0
  17. package/dist/lib/auth/index.js +19 -0
  18. package/dist/lib/backup/backupObject.d.ts +4 -0
  19. package/dist/lib/backup/backupObject.d.ts.map +1 -0
  20. package/dist/lib/backup/backupObject.js +166 -0
  21. package/dist/lib/backup/index.d.ts +5 -0
  22. package/dist/lib/backup/index.d.ts.map +1 -0
  23. package/dist/lib/backup/index.js +20 -0
  24. package/dist/lib/backup/readBasicMetadata.d.ts +7 -0
  25. package/dist/lib/backup/readBasicMetadata.d.ts.map +1 -0
  26. package/dist/lib/backup/readBasicMetadata.js +64 -0
  27. package/dist/lib/backup/readMetadataXmlForType.d.ts +4 -0
  28. package/dist/lib/backup/readMetadataXmlForType.d.ts.map +1 -0
  29. package/dist/lib/backup/readMetadataXmlForType.js +100 -0
  30. package/dist/lib/backup/readSourceText.d.ts +4 -0
  31. package/dist/lib/backup/readSourceText.d.ts.map +1 -0
  32. package/dist/lib/backup/readSourceText.js +96 -0
  33. package/dist/lib/cli/applyLogEnv.d.ts +2 -0
  34. package/dist/lib/cli/applyLogEnv.d.ts.map +1 -0
  35. package/dist/lib/cli/applyLogEnv.js +50 -0
  36. package/dist/lib/cli/createLogger.d.ts +7 -0
  37. package/dist/lib/cli/createLogger.d.ts.map +1 -0
  38. package/dist/lib/cli/createLogger.js +30 -0
  39. package/dist/lib/cli/getVerbosity.d.ts +2 -0
  40. package/dist/lib/cli/getVerbosity.d.ts.map +1 -0
  41. package/dist/lib/cli/getVerbosity.js +27 -0
  42. package/dist/lib/cli/index.d.ts +13 -0
  43. package/dist/lib/cli/index.d.ts.map +1 -0
  44. package/dist/lib/cli/index.js +28 -0
  45. package/dist/lib/cli/isEnvEnabled.d.ts +2 -0
  46. package/dist/lib/cli/isEnvEnabled.d.ts.map +1 -0
  47. package/dist/lib/cli/isEnvEnabled.js +10 -0
  48. package/dist/lib/cli/logVerbose.d.ts +2 -0
  49. package/dist/lib/cli/logVerbose.d.ts.map +1 -0
  50. package/dist/lib/cli/logVerbose.js +9 -0
  51. package/dist/lib/cli/parseArgs.d.ts +2 -0
  52. package/dist/lib/cli/parseArgs.d.ts.map +1 -0
  53. package/dist/lib/cli/parseArgs.js +22 -0
  54. package/dist/lib/cli/redact.d.ts +4 -0
  55. package/dist/lib/cli/redact.d.ts.map +1 -0
  56. package/dist/lib/cli/redact.js +75 -0
  57. package/dist/lib/cli/shouldEnableAdtLogger.d.ts +2 -0
  58. package/dist/lib/cli/shouldEnableAdtLogger.d.ts.map +1 -0
  59. package/dist/lib/cli/shouldEnableAdtLogger.js +10 -0
  60. package/dist/lib/cli/shouldEnableBrokerLogger.d.ts +2 -0
  61. package/dist/lib/cli/shouldEnableBrokerLogger.d.ts.map +1 -0
  62. package/dist/lib/cli/shouldEnableBrokerLogger.js +9 -0
  63. package/dist/lib/cli/shouldEnableConnectionLogger.d.ts +2 -0
  64. package/dist/lib/cli/shouldEnableConnectionLogger.d.ts.map +1 -0
  65. package/dist/lib/cli/shouldEnableConnectionLogger.js +7 -0
  66. package/dist/lib/cli/shouldEnableProviderLogger.d.ts +2 -0
  67. package/dist/lib/cli/shouldEnableProviderLogger.d.ts.map +1 -0
  68. package/dist/lib/cli/shouldEnableProviderLogger.js +9 -0
  69. package/dist/lib/cli/shouldEnableStoreLogger.d.ts +2 -0
  70. package/dist/lib/cli/shouldEnableStoreLogger.d.ts.map +1 -0
  71. package/dist/lib/cli/shouldEnableStoreLogger.js +9 -0
  72. package/dist/lib/cli/usage.d.ts +2 -0
  73. package/dist/lib/cli/usage.d.ts.map +1 -0
  74. package/dist/lib/cli/usage.js +187 -0
  75. package/dist/lib/constants/index.d.ts +3 -0
  76. package/dist/lib/constants/index.d.ts.map +1 -0
  77. package/dist/lib/constants/index.js +18 -0
  78. package/dist/lib/constants/typeOrder.d.ts +3 -0
  79. package/dist/lib/constants/typeOrder.d.ts.map +1 -0
  80. package/dist/lib/constants/typeOrder.js +22 -0
  81. package/dist/lib/constants/xmlParser.d.ts +3 -0
  82. package/dist/lib/constants/xmlParser.d.ts.map +1 -0
  83. package/dist/lib/constants/xmlParser.js +8 -0
  84. package/dist/lib/crypto/computeBackupChecksum.d.ts +3 -0
  85. package/dist/lib/crypto/computeBackupChecksum.d.ts.map +1 -0
  86. package/dist/lib/crypto/computeBackupChecksum.js +14 -0
  87. package/dist/lib/crypto/computeCodeChecksum.d.ts +2 -0
  88. package/dist/lib/crypto/computeCodeChecksum.d.ts.map +1 -0
  89. package/dist/lib/crypto/computeCodeChecksum.js +8 -0
  90. package/dist/lib/crypto/decodeBase64.d.ts +2 -0
  91. package/dist/lib/crypto/decodeBase64.d.ts.map +1 -0
  92. package/dist/lib/crypto/decodeBase64.js +6 -0
  93. package/dist/lib/crypto/encodeBase64.d.ts +2 -0
  94. package/dist/lib/crypto/encodeBase64.d.ts.map +1 -0
  95. package/dist/lib/crypto/encodeBase64.js +6 -0
  96. package/dist/lib/crypto/hashText.d.ts +2 -0
  97. package/dist/lib/crypto/hashText.d.ts.map +1 -0
  98. package/dist/lib/crypto/hashText.js +7 -0
  99. package/dist/lib/crypto/index.d.ts +10 -0
  100. package/dist/lib/crypto/index.d.ts.map +1 -0
  101. package/dist/lib/crypto/index.js +25 -0
  102. package/dist/lib/crypto/stripBackupChecksum.d.ts +3 -0
  103. package/dist/lib/crypto/stripBackupChecksum.d.ts.map +1 -0
  104. package/dist/lib/crypto/stripBackupChecksum.js +8 -0
  105. package/dist/lib/crypto/updateTreeChecksums.d.ts +3 -0
  106. package/dist/lib/crypto/updateTreeChecksums.d.ts.map +1 -0
  107. package/dist/lib/crypto/updateTreeChecksums.js +17 -0
  108. package/dist/lib/crypto/verifyBackupChecksum.d.ts +3 -0
  109. package/dist/lib/crypto/verifyBackupChecksum.d.ts.map +1 -0
  110. package/dist/lib/crypto/verifyBackupChecksum.js +13 -0
  111. package/dist/lib/crypto/verifyTreeChecksums.d.ts +3 -0
  112. package/dist/lib/crypto/verifyTreeChecksums.d.ts.map +1 -0
  113. package/dist/lib/crypto/verifyTreeChecksums.js +22 -0
  114. package/dist/lib/dependencies/collectTreeDependencies.d.ts +4 -0
  115. package/dist/lib/dependencies/collectTreeDependencies.d.ts.map +1 -0
  116. package/dist/lib/dependencies/collectTreeDependencies.js +99 -0
  117. package/dist/lib/index.d.ts +14 -0
  118. package/dist/lib/index.d.ts.map +1 -0
  119. package/dist/lib/index.js +29 -0
  120. package/dist/lib/restore/applyTransportRequest.d.ts +2 -0
  121. package/dist/lib/restore/applyTransportRequest.d.ts.map +1 -0
  122. package/dist/lib/restore/applyTransportRequest.js +12 -0
  123. package/dist/lib/restore/buildRestorePlan.d.ts +12 -0
  124. package/dist/lib/restore/buildRestorePlan.d.ts.map +1 -0
  125. package/dist/lib/restore/buildRestorePlan.js +46 -0
  126. package/dist/lib/restore/collectDeletionTargets.d.ts +7 -0
  127. package/dist/lib/restore/collectDeletionTargets.d.ts.map +1 -0
  128. package/dist/lib/restore/collectDeletionTargets.js +23 -0
  129. package/dist/lib/restore/deleteBackupObjects.d.ts +4 -0
  130. package/dist/lib/restore/deleteBackupObjects.d.ts.map +1 -0
  131. package/dist/lib/restore/deleteBackupObjects.js +22 -0
  132. package/dist/lib/restore/index.d.ts +9 -0
  133. package/dist/lib/restore/index.d.ts.map +1 -0
  134. package/dist/lib/restore/index.js +24 -0
  135. package/dist/lib/restore/restoreObject.d.ts +4 -0
  136. package/dist/lib/restore/restoreObject.d.ts.map +1 -0
  137. package/dist/lib/restore/restoreObject.js +242 -0
  138. package/dist/lib/restore/restoreObjects.d.ts +4 -0
  139. package/dist/lib/restore/restoreObjects.d.ts.map +1 -0
  140. package/dist/lib/restore/restoreObjects.js +28 -0
  141. package/dist/lib/restore/restoreTreeBackup.d.ts +4 -0
  142. package/dist/lib/restore/restoreTreeBackup.d.ts.map +1 -0
  143. package/dist/lib/restore/restoreTreeBackup.js +69 -0
  144. package/dist/lib/restore/restoreTreeNode.d.ts +4 -0
  145. package/dist/lib/restore/restoreTreeNode.d.ts.map +1 -0
  146. package/dist/lib/restore/restoreTreeNode.js +276 -0
  147. package/dist/lib/restore/sortByDependencies.d.ts +3 -0
  148. package/dist/lib/restore/sortByDependencies.d.ts.map +1 -0
  149. package/dist/lib/restore/sortByDependencies.js +65 -0
  150. package/dist/lib/restore/sortTreeNodesByDependencies.d.ts +3 -0
  151. package/dist/lib/restore/sortTreeNodesByDependencies.d.ts.map +1 -0
  152. package/dist/lib/restore/sortTreeNodesByDependencies.js +101 -0
  153. package/dist/lib/run.d.ts +2 -0
  154. package/dist/lib/run.d.ts.map +1 -0
  155. package/dist/lib/run.js +748 -0
  156. package/dist/lib/state/index.d.ts +2 -0
  157. package/dist/lib/state/index.d.ts.map +1 -0
  158. package/dist/lib/state/index.js +17 -0
  159. package/dist/lib/state/verbosity.d.ts +4 -0
  160. package/dist/lib/state/verbosity.d.ts.map +1 -0
  161. package/dist/lib/state/verbosity.js +6 -0
  162. package/dist/lib/tree/buildConfigForNode.d.ts +3 -0
  163. package/dist/lib/tree/buildConfigForNode.d.ts.map +1 -0
  164. package/dist/lib/tree/buildConfigForNode.js +116 -0
  165. package/dist/lib/tree/buildPackageBackupTree.d.ts +4 -0
  166. package/dist/lib/tree/buildPackageBackupTree.d.ts.map +1 -0
  167. package/dist/lib/tree/buildPackageBackupTree.js +27 -0
  168. package/dist/lib/tree/buildTreeList.d.ts +13 -0
  169. package/dist/lib/tree/buildTreeList.d.ts.map +1 -0
  170. package/dist/lib/tree/buildTreeList.js +19 -0
  171. package/dist/lib/tree/collectTreeObjects.d.ts +3 -0
  172. package/dist/lib/tree/collectTreeObjects.d.ts.map +1 -0
  173. package/dist/lib/tree/collectTreeObjects.js +18 -0
  174. package/dist/lib/tree/enrichTreeNode.d.ts +4 -0
  175. package/dist/lib/tree/enrichTreeNode.d.ts.map +1 -0
  176. package/dist/lib/tree/enrichTreeNode.js +69 -0
  177. package/dist/lib/tree/findNodeInTree.d.ts +3 -0
  178. package/dist/lib/tree/findNodeInTree.d.ts.map +1 -0
  179. package/dist/lib/tree/findNodeInTree.js +30 -0
  180. package/dist/lib/tree/flattenTree.d.ts +3 -0
  181. package/dist/lib/tree/flattenTree.d.ts.map +1 -0
  182. package/dist/lib/tree/flattenTree.js +12 -0
  183. package/dist/lib/tree/formatTreeListText.d.ts +5 -0
  184. package/dist/lib/tree/formatTreeListText.d.ts.map +1 -0
  185. package/dist/lib/tree/formatTreeListText.js +26 -0
  186. package/dist/lib/tree/getNodeFunctionGroupName.d.ts +3 -0
  187. package/dist/lib/tree/getNodeFunctionGroupName.d.ts.map +1 -0
  188. package/dist/lib/tree/getNodeFunctionGroupName.js +12 -0
  189. package/dist/lib/tree/getNodeObjectId.d.ts +3 -0
  190. package/dist/lib/tree/getNodeObjectId.d.ts.map +1 -0
  191. package/dist/lib/tree/getNodeObjectId.js +9 -0
  192. package/dist/lib/tree/getNodeObjectSpec.d.ts +3 -0
  193. package/dist/lib/tree/getNodeObjectSpec.d.ts.map +1 -0
  194. package/dist/lib/tree/getNodeObjectSpec.js +21 -0
  195. package/dist/lib/tree/index.d.ts +13 -0
  196. package/dist/lib/tree/index.d.ts.map +1 -0
  197. package/dist/lib/tree/index.js +28 -0
  198. package/dist/lib/tree/isRestoreImplemented.d.ts +3 -0
  199. package/dist/lib/tree/isRestoreImplemented.d.ts.map +1 -0
  200. package/dist/lib/tree/isRestoreImplemented.js +27 -0
  201. package/dist/lib/tree/mapAdtTypeToSupported.d.ts +3 -0
  202. package/dist/lib/tree/mapAdtTypeToSupported.d.ts.map +1 -0
  203. package/dist/lib/tree/mapAdtTypeToSupported.js +75 -0
  204. package/dist/lib/tree/readPayloadForType.d.ts +7 -0
  205. package/dist/lib/tree/readPayloadForType.d.ts.map +1 -0
  206. package/dist/lib/tree/readPayloadForType.js +38 -0
  207. package/dist/lib/types.d.ts +60 -0
  208. package/dist/lib/types.d.ts.map +1 -0
  209. package/dist/lib/types.js +2 -0
  210. package/dist/lib/utils/applyConfigName.d.ts +3 -0
  211. package/dist/lib/utils/applyConfigName.d.ts.map +1 -0
  212. package/dist/lib/utils/applyConfigName.js +67 -0
  213. package/dist/lib/utils/asArray.d.ts +2 -0
  214. package/dist/lib/utils/asArray.d.ts.map +1 -0
  215. package/dist/lib/utils/asArray.js +9 -0
  216. package/dist/lib/utils/asConfig.d.ts +3 -0
  217. package/dist/lib/utils/asConfig.d.ts.map +1 -0
  218. package/dist/lib/utils/asConfig.js +6 -0
  219. package/dist/lib/utils/diffAttributes.d.ts +17 -0
  220. package/dist/lib/utils/diffAttributes.d.ts.map +1 -0
  221. package/dist/lib/utils/diffAttributes.js +27 -0
  222. package/dist/lib/utils/diffUnified.d.ts +4 -0
  223. package/dist/lib/utils/diffUnified.d.ts.map +1 -0
  224. package/dist/lib/utils/diffUnified.js +142 -0
  225. package/dist/lib/utils/ensureDescription.d.ts +3 -0
  226. package/dist/lib/utils/ensureDescription.d.ts.map +1 -0
  227. package/dist/lib/utils/ensureDescription.js +9 -0
  228. package/dist/lib/utils/formatObjectSpec.d.ts +3 -0
  229. package/dist/lib/utils/formatObjectSpec.d.ts.map +1 -0
  230. package/dist/lib/utils/formatObjectSpec.js +9 -0
  231. package/dist/lib/utils/index.d.ts +12 -0
  232. package/dist/lib/utils/index.d.ts.map +1 -0
  233. package/dist/lib/utils/index.js +27 -0
  234. package/dist/lib/utils/normalizeType.d.ts +3 -0
  235. package/dist/lib/utils/normalizeType.d.ts.map +1 -0
  236. package/dist/lib/utils/normalizeType.js +43 -0
  237. package/dist/lib/utils/objectId.d.ts +3 -0
  238. package/dist/lib/utils/objectId.d.ts.map +1 -0
  239. package/dist/lib/utils/objectId.js +9 -0
  240. package/dist/lib/utils/parseBehaviorDefinitionFromClass.d.ts +2 -0
  241. package/dist/lib/utils/parseBehaviorDefinitionFromClass.d.ts.map +1 -0
  242. package/dist/lib/utils/parseBehaviorDefinitionFromClass.js +10 -0
  243. package/dist/lib/utils/parseObjectSpec.d.ts +3 -0
  244. package/dist/lib/utils/parseObjectSpec.d.ts.map +1 -0
  245. package/dist/lib/utils/parseObjectSpec.js +27 -0
  246. package/dist/lib/utils/responseToText.d.ts +4 -0
  247. package/dist/lib/utils/responseToText.d.ts.map +1 -0
  248. package/dist/lib/utils/responseToText.js +11 -0
  249. package/dist/lib/utils/toBackupConfig.d.ts +3 -0
  250. package/dist/lib/utils/toBackupConfig.d.ts.map +1 -0
  251. package/dist/lib/utils/toBackupConfig.js +6 -0
  252. package/dist/lib/verify/collectBackupNodes.d.ts +3 -0
  253. package/dist/lib/verify/collectBackupNodes.d.ts.map +1 -0
  254. package/dist/lib/verify/collectBackupNodes.js +13 -0
  255. package/dist/lib/verify/findOtherType.d.ts +4 -0
  256. package/dist/lib/verify/findOtherType.d.ts.map +1 -0
  257. package/dist/lib/verify/findOtherType.js +41 -0
  258. package/dist/lib/verify/formatVerifyResultsText.d.ts +3 -0
  259. package/dist/lib/verify/formatVerifyResultsText.d.ts.map +1 -0
  260. package/dist/lib/verify/formatVerifyResultsText.js +30 -0
  261. package/dist/lib/verify/getExpectedPackage.d.ts +3 -0
  262. package/dist/lib/verify/getExpectedPackage.d.ts.map +1 -0
  263. package/dist/lib/verify/getExpectedPackage.js +14 -0
  264. package/dist/lib/verify/index.d.ts +8 -0
  265. package/dist/lib/verify/index.d.ts.map +1 -0
  266. package/dist/lib/verify/index.js +23 -0
  267. package/dist/lib/verify/types.d.ts +23 -0
  268. package/dist/lib/verify/types.d.ts.map +1 -0
  269. package/dist/lib/verify/types.js +2 -0
  270. package/dist/lib/verify/verifyBackup.d.ts +10 -0
  271. package/dist/lib/verify/verifyBackup.d.ts.map +1 -0
  272. package/dist/lib/verify/verifyBackup.js +54 -0
  273. package/dist/lib/verify/verifyObjectInSystem.d.ts +5 -0
  274. package/dist/lib/verify/verifyObjectInSystem.d.ts.map +1 -0
  275. package/dist/lib/verify/verifyObjectInSystem.js +136 -0
  276. package/dist/lib/xml/extractMetadata.d.ts +5 -0
  277. package/dist/lib/xml/extractMetadata.d.ts.map +1 -0
  278. package/dist/lib/xml/extractMetadata.js +13 -0
  279. package/dist/lib/xml/findAttribute.d.ts +3 -0
  280. package/dist/lib/xml/findAttribute.d.ts.map +1 -0
  281. package/dist/lib/xml/findAttribute.js +29 -0
  282. package/dist/lib/xml/findNode.d.ts +3 -0
  283. package/dist/lib/xml/findNode.d.ts.map +1 -0
  284. package/dist/lib/xml/findNode.js +30 -0
  285. package/dist/lib/xml/findNodeValue.d.ts +3 -0
  286. package/dist/lib/xml/findNodeValue.d.ts.map +1 -0
  287. package/dist/lib/xml/findNodeValue.js +11 -0
  288. package/dist/lib/xml/findPackageName.d.ts +3 -0
  289. package/dist/lib/xml/findPackageName.d.ts.map +1 -0
  290. package/dist/lib/xml/findPackageName.js +35 -0
  291. package/dist/lib/xml/flattenXmlAttributes.d.ts +2 -0
  292. package/dist/lib/xml/flattenXmlAttributes.d.ts.map +1 -0
  293. package/dist/lib/xml/flattenXmlAttributes.js +82 -0
  294. package/dist/lib/xml/getAttribute.d.ts +3 -0
  295. package/dist/lib/xml/getAttribute.d.ts.map +1 -0
  296. package/dist/lib/xml/getAttribute.js +12 -0
  297. package/dist/lib/xml/getNodeAttribute.d.ts +3 -0
  298. package/dist/lib/xml/getNodeAttribute.d.ts.map +1 -0
  299. package/dist/lib/xml/getNodeAttribute.js +11 -0
  300. package/dist/lib/xml/getNodeDescription.d.ts +3 -0
  301. package/dist/lib/xml/getNodeDescription.d.ts.map +1 -0
  302. package/dist/lib/xml/getNodeDescription.js +12 -0
  303. package/dist/lib/xml/getNodeName.d.ts +3 -0
  304. package/dist/lib/xml/getNodeName.d.ts.map +1 -0
  305. package/dist/lib/xml/getNodeName.js +12 -0
  306. package/dist/lib/xml/getNodeType.d.ts +3 -0
  307. package/dist/lib/xml/getNodeType.d.ts.map +1 -0
  308. package/dist/lib/xml/getNodeType.js +12 -0
  309. package/dist/lib/xml/index.d.ts +19 -0
  310. package/dist/lib/xml/index.d.ts.map +1 -0
  311. package/dist/lib/xml/index.js +34 -0
  312. package/dist/lib/xml/isNodeObject.d.ts +3 -0
  313. package/dist/lib/xml/isNodeObject.d.ts.map +1 -0
  314. package/dist/lib/xml/isNodeObject.js +12 -0
  315. package/dist/lib/xml/parseBehaviorDefinitionConfig.d.ts +3 -0
  316. package/dist/lib/xml/parseBehaviorDefinitionConfig.d.ts.map +1 -0
  317. package/dist/lib/xml/parseBehaviorDefinitionConfig.js +40 -0
  318. package/dist/lib/xml/parseClassConfig.d.ts +3 -0
  319. package/dist/lib/xml/parseClassConfig.d.ts.map +1 -0
  320. package/dist/lib/xml/parseClassConfig.js +59 -0
  321. package/dist/lib/xml/parseDataElementConfig.d.ts +3 -0
  322. package/dist/lib/xml/parseDataElementConfig.d.ts.map +1 -0
  323. package/dist/lib/xml/parseDataElementConfig.js +67 -0
  324. package/dist/lib/xml/parseDomainConfig.d.ts +3 -0
  325. package/dist/lib/xml/parseDomainConfig.d.ts.map +1 -0
  326. package/dist/lib/xml/parseDomainConfig.js +66 -0
  327. package/dist/lib/xml/parseEnhancementConfig.d.ts +3 -0
  328. package/dist/lib/xml/parseEnhancementConfig.d.ts.map +1 -0
  329. package/dist/lib/xml/parseEnhancementConfig.js +73 -0
  330. package/dist/lib/xml/parsePackageConfig.d.ts +3 -0
  331. package/dist/lib/xml/parsePackageConfig.d.ts.map +1 -0
  332. package/dist/lib/xml/parsePackageConfig.js +48 -0
  333. package/dist/lib/xml/parseTableTypeConfig.d.ts +3 -0
  334. package/dist/lib/xml/parseTableTypeConfig.d.ts.map +1 -0
  335. package/dist/lib/xml/parseTableTypeConfig.js +64 -0
  336. package/dist/lib/xml/readAttr.d.ts +3 -0
  337. package/dist/lib/xml/readAttr.d.ts.map +1 -0
  338. package/dist/lib/xml/readAttr.js +16 -0
  339. package/dist/lib/xml/toBoolean.d.ts +2 -0
  340. package/dist/lib/xml/toBoolean.d.ts.map +1 -0
  341. package/dist/lib/xml/toBoolean.js +15 -0
  342. package/dist/lib/xml/toNumber.d.ts +2 -0
  343. package/dist/lib/xml/toNumber.d.ts.map +1 -0
  344. package/dist/lib/xml/toNumber.js +10 -0
  345. package/package.json +64 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objectId.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/objectId.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAKjD"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.objectId = objectId;
4
+ function objectId(spec) {
5
+ if (spec.type === 'functionModule') {
6
+ return `${spec.type}:${spec.functionGroupName}|${spec.name}`;
7
+ }
8
+ return `${spec.type}:${spec.name}`;
9
+ }
@@ -0,0 +1,2 @@
1
+ export declare function parseBehaviorDefinitionFromClass(source?: string): string | undefined;
2
+ //# sourceMappingURL=parseBehaviorDefinitionFromClass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseBehaviorDefinitionFromClass.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/parseBehaviorDefinitionFromClass.ts"],"names":[],"mappings":"AAAA,wBAAgB,gCAAgC,CAC9C,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,GAAG,SAAS,CAMpB"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseBehaviorDefinitionFromClass = parseBehaviorDefinitionFromClass;
4
+ function parseBehaviorDefinitionFromClass(source) {
5
+ if (!source) {
6
+ return undefined;
7
+ }
8
+ const match = source.match(/FOR\\s+BEHAVIOR\\s+OF\\s+([A-Z0-9_/]+)/i);
9
+ return match ? match[1] : undefined;
10
+ }
@@ -0,0 +1,3 @@
1
+ import type { ObjectSpec } from '../types';
2
+ export declare function parseObjectSpec(spec: string): ObjectSpec;
3
+ //# sourceMappingURL=parseObjectSpec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseObjectSpec.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/parseObjectSpec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CA0BxD"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseObjectSpec = parseObjectSpec;
4
+ const normalizeType_1 = require("./normalizeType");
5
+ function parseObjectSpec(spec) {
6
+ const parts = spec.split(':');
7
+ if (parts.length < 2) {
8
+ throw new Error(`Invalid object spec: ${spec}`);
9
+ }
10
+ const type = (0, normalizeType_1.normalizeType)(parts[0]);
11
+ const namePart = parts.slice(1).join(':').trim();
12
+ if (!namePart) {
13
+ throw new Error(`Missing name in object spec: ${spec}`);
14
+ }
15
+ if (type === 'functionModule') {
16
+ const split = namePart.split(/[|/]/);
17
+ if (split.length !== 2) {
18
+ throw new Error(`Function module spec must be GROUP|NAME or GROUP/NAME: ${spec}`);
19
+ }
20
+ return {
21
+ type,
22
+ functionGroupName: split[0].trim(),
23
+ name: split[1].trim(),
24
+ };
25
+ }
26
+ return { type, name: namePart };
27
+ }
@@ -0,0 +1,4 @@
1
+ export declare function responseToText(response?: {
2
+ data?: unknown;
3
+ }): string | undefined;
4
+ //# sourceMappingURL=responseToText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responseToText.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/responseToText.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,CAAC,QAAQ,CAAC,EAAE;IACxC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GAAG,MAAM,GAAG,SAAS,CAOrB"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.responseToText = responseToText;
4
+ function responseToText(response) {
5
+ if (!response) {
6
+ return undefined;
7
+ }
8
+ return typeof response.data === 'string'
9
+ ? response.data
10
+ : JSON.stringify(response.data);
11
+ }
@@ -0,0 +1,3 @@
1
+ import type { BackupConfig } from '../types';
2
+ export declare function toBackupConfig(value: unknown): BackupConfig;
3
+ //# sourceMappingURL=toBackupConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toBackupConfig.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/toBackupConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAE3D"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toBackupConfig = toBackupConfig;
4
+ function toBackupConfig(value) {
5
+ return value;
6
+ }
@@ -0,0 +1,3 @@
1
+ import type { BackupTreeNode } from '../types';
2
+ export declare function collectBackupNodes(node: BackupTreeNode, out: BackupTreeNode[]): void;
3
+ //# sourceMappingURL=collectBackupNodes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collectBackupNodes.d.ts","sourceRoot":"","sources":["../../../src/lib/verify/collectBackupNodes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,cAAc,EAAE,GACpB,IAAI,CASN"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.collectBackupNodes = collectBackupNodes;
4
+ function collectBackupNodes(node, out) {
5
+ if (node.type) {
6
+ out.push(node);
7
+ }
8
+ if (node.children && node.children.length > 0) {
9
+ for (const child of node.children) {
10
+ collectBackupNodes(child, out);
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,4 @@
1
+ import type { AdtClient } from '@mcp-abap-adt/adt-clients';
2
+ import type { SupportedType } from '../types';
3
+ export declare function findOtherType(client: AdtClient, expectedType: SupportedType, name: string): Promise<SupportedType | undefined>;
4
+ //# sourceMappingURL=findOtherType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findOtherType.d.ts","sourceRoot":"","sources":["../../../src/lib/verify/findOtherType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAuB9C,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,aAAa,EAC3B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAepC"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findOtherType = findOtherType;
4
+ const readMetadataXmlForType_1 = require("../backup/readMetadataXmlForType");
5
+ const supportedTypes = [
6
+ 'package',
7
+ 'domain',
8
+ 'dataElement',
9
+ 'structure',
10
+ 'table',
11
+ 'tableType',
12
+ 'view',
13
+ 'class',
14
+ 'interface',
15
+ 'program',
16
+ 'functionGroup',
17
+ 'serviceDefinition',
18
+ 'metadataExtension',
19
+ 'behaviorDefinition',
20
+ 'behaviorImplementation',
21
+ 'enhancement',
22
+ 'unitTest',
23
+ 'cdsUnitTest',
24
+ ];
25
+ async function findOtherType(client, expectedType, name) {
26
+ for (const type of supportedTypes) {
27
+ if (type === expectedType || type === 'functionModule') {
28
+ continue;
29
+ }
30
+ try {
31
+ const metadata = await (0, readMetadataXmlForType_1.readMetadataXmlForType)(client, type, name);
32
+ if (metadata) {
33
+ return type;
34
+ }
35
+ }
36
+ catch (_error) {
37
+ // ignore and try next type
38
+ }
39
+ }
40
+ return undefined;
41
+ }
@@ -0,0 +1,3 @@
1
+ import type { VerifyEntry, VerifySummary } from './types';
2
+ export declare function formatVerifyResultsText(entries: VerifyEntry[], summary: VerifySummary): string;
3
+ //# sourceMappingURL=formatVerifyResultsText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatVerifyResultsText.d.ts","sourceRoot":"","sources":["../../../src/lib/verify/formatVerifyResultsText.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE1D,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,WAAW,EAAE,EACtB,OAAO,EAAE,aAAa,GACrB,MAAM,CA+BR"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatVerifyResultsText = formatVerifyResultsText;
4
+ const formatObjectSpec_1 = require("../utils/formatObjectSpec");
5
+ function formatVerifyResultsText(entries, summary) {
6
+ const lines = [];
7
+ lines.push(`Total: ${summary.total}, ok: ${summary.ok}, missing: ${summary.missing}, ` +
8
+ `type-mismatch: ${summary.typeMismatch}, package-mismatch: ${summary.packageMismatch}, ` +
9
+ `source-mismatch: ${summary.sourceMismatch}, unsupported: ${summary.unsupported}, ` +
10
+ `error: ${summary.error}`);
11
+ for (const entry of entries) {
12
+ if (entry.status === 'ok') {
13
+ continue;
14
+ }
15
+ const spec = (0, formatObjectSpec_1.formatObjectSpec)({
16
+ type: entry.type,
17
+ name: entry.name,
18
+ functionGroupName: entry.functionGroupName,
19
+ });
20
+ const parts = [`${entry.status} ${spec}`];
21
+ if (entry.expectedPackage || entry.actualPackage) {
22
+ parts.push(`package=${entry.expectedPackage ?? '-'} -> ${entry.actualPackage ?? '-'}`);
23
+ }
24
+ if (entry.message) {
25
+ parts.push(entry.message);
26
+ }
27
+ lines.push(parts.join(' | '));
28
+ }
29
+ return lines.join('\n');
30
+ }
@@ -0,0 +1,3 @@
1
+ import type { BackupConfig } from '../types';
2
+ export declare function getExpectedPackage(config?: BackupConfig): string | undefined;
3
+ //# sourceMappingURL=getExpectedPackage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getExpectedPackage.d.ts","sourceRoot":"","sources":["../../../src/lib/verify/getExpectedPackage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAU5E"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getExpectedPackage = getExpectedPackage;
4
+ function getExpectedPackage(config) {
5
+ if (!config || typeof config !== 'object') {
6
+ return undefined;
7
+ }
8
+ const record = config;
9
+ const name = record.packageName;
10
+ if (typeof name !== 'string' || name.trim().length === 0) {
11
+ return undefined;
12
+ }
13
+ return name;
14
+ }
@@ -0,0 +1,8 @@
1
+ export * from './collectBackupNodes';
2
+ export * from './findOtherType';
3
+ export * from './formatVerifyResultsText';
4
+ export * from './getExpectedPackage';
5
+ export * from './types';
6
+ export * from './verifyBackup';
7
+ export * from './verifyObjectInSystem';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/verify/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./collectBackupNodes"), exports);
18
+ __exportStar(require("./findOtherType"), exports);
19
+ __exportStar(require("./formatVerifyResultsText"), exports);
20
+ __exportStar(require("./getExpectedPackage"), exports);
21
+ __exportStar(require("./types"), exports);
22
+ __exportStar(require("./verifyBackup"), exports);
23
+ __exportStar(require("./verifyObjectInSystem"), exports);
@@ -0,0 +1,23 @@
1
+ import type { SupportedType } from '../types';
2
+ export type VerifyStatus = 'ok' | 'missing' | 'type-mismatch' | 'package-mismatch' | 'source-mismatch' | 'unsupported' | 'error';
3
+ export interface VerifyEntry {
4
+ type: SupportedType;
5
+ name: string;
6
+ functionGroupName?: string;
7
+ status: VerifyStatus;
8
+ expectedPackage?: string;
9
+ actualPackage?: string;
10
+ message?: string;
11
+ }
12
+ export interface VerifySummary {
13
+ total: number;
14
+ ok: number;
15
+ missing: number;
16
+ typeMismatch: number;
17
+ packageMismatch: number;
18
+ sourceMismatch: number;
19
+ unsupported: number;
20
+ error: number;
21
+ conflicts: number;
22
+ }
23
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/verify/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,MAAM,YAAY,GACpB,IAAI,GACJ,SAAS,GACT,eAAe,GACf,kBAAkB,GAClB,iBAAiB,GACjB,aAAa,GACb,OAAO,CAAC;AAEZ,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,10 @@
1
+ import type { AdtClient } from '@mcp-abap-adt/adt-clients';
2
+ import type { BackupFile, BackupTreeFile } from '../types';
3
+ import type { VerifyEntry, VerifySummary } from './types';
4
+ export declare function verifyBackup(client: AdtClient, backup: BackupFile | BackupTreeFile, options?: {
5
+ strict?: boolean;
6
+ }): Promise<{
7
+ entries: VerifyEntry[];
8
+ summary: VerifySummary;
9
+ }>;
10
+ //# sourceMappingURL=verifyBackup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifyBackup.d.ts","sourceRoot":"","sources":["../../../src/lib/verify/verifyBackup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAkB,MAAM,UAAU,CAAC;AAG3E,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG1D,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,UAAU,GAAG,cAAc,EACnC,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7B,OAAO,CAAC;IAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,CAAC,CAsE7D"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.verifyBackup = verifyBackup;
4
+ const collectBackupNodes_1 = require("./collectBackupNodes");
5
+ const getExpectedPackage_1 = require("./getExpectedPackage");
6
+ const verifyObjectInSystem_1 = require("./verifyObjectInSystem");
7
+ async function verifyBackup(client, backup, options) {
8
+ const entries = [];
9
+ if (backup.schemaVersion === 2) {
10
+ const tree = backup;
11
+ const nodes = [];
12
+ (0, collectBackupNodes_1.collectBackupNodes)(tree.root, nodes);
13
+ for (const node of nodes) {
14
+ if (!node.type) {
15
+ continue;
16
+ }
17
+ const entry = await (0, verifyObjectInSystem_1.verifyObjectInSystem)(client, {
18
+ type: node.type,
19
+ name: node.name,
20
+ functionGroupName: node.functionGroupName,
21
+ }, (0, getExpectedPackage_1.getExpectedPackage)(node.config), undefined, node.codeBase64, node.codeFormat);
22
+ entries.push(entry);
23
+ }
24
+ }
25
+ else {
26
+ const flat = backup;
27
+ for (const obj of flat.objects) {
28
+ const entry = await (0, verifyObjectInSystem_1.verifyObjectInSystem)(client, {
29
+ type: obj.type,
30
+ name: obj.name,
31
+ functionGroupName: obj.functionGroupName,
32
+ }, (0, getExpectedPackage_1.getExpectedPackage)(obj.config), obj.source, undefined, obj.source ? 'source' : undefined);
33
+ entries.push(entry);
34
+ }
35
+ }
36
+ const strict = options?.strict ?? false;
37
+ const conflictStatuses = strict
38
+ ? ['type-mismatch', 'package-mismatch', 'error', 'source-mismatch']
39
+ : ['type-mismatch', 'package-mismatch', 'error'];
40
+ const summary = {
41
+ total: entries.length,
42
+ ok: entries.filter((entry) => entry.status === 'ok').length,
43
+ missing: entries.filter((entry) => entry.status === 'missing').length,
44
+ typeMismatch: entries.filter((entry) => entry.status === 'type-mismatch')
45
+ .length,
46
+ packageMismatch: entries.filter((entry) => entry.status === 'package-mismatch').length,
47
+ sourceMismatch: entries.filter((entry) => entry.status === 'source-mismatch').length,
48
+ unsupported: entries.filter((entry) => entry.status === 'unsupported')
49
+ .length,
50
+ error: entries.filter((entry) => entry.status === 'error').length,
51
+ conflicts: entries.filter((entry) => conflictStatuses.includes(entry.status)).length,
52
+ };
53
+ return { entries, summary };
54
+ }
@@ -0,0 +1,5 @@
1
+ import type { AdtClient } from '@mcp-abap-adt/adt-clients';
2
+ import type { ObjectSpec } from '../types';
3
+ import type { VerifyEntry } from './types';
4
+ export declare function verifyObjectInSystem(client: AdtClient, spec: ObjectSpec, expectedPackage?: string, expectedSource?: string, expectedSourceBase64?: string, expectedFormat?: 'source' | 'xml' | 'json'): Promise<VerifyEntry>;
5
+ //# sourceMappingURL=verifyObjectInSystem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifyObjectInSystem.d.ts","sourceRoot":"","sources":["../../../src/lib/verify/verifyObjectInSystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAK3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAwB3C,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,UAAU,EAChB,eAAe,CAAC,EAAE,MAAM,EACxB,cAAc,CAAC,EAAE,MAAM,EACvB,oBAAoB,CAAC,EAAE,MAAM,EAC7B,cAAc,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,GACzC,OAAO,CAAC,WAAW,CAAC,CA+HtB"}
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.verifyObjectInSystem = verifyObjectInSystem;
4
+ const readMetadataXmlForType_1 = require("../backup/readMetadataXmlForType");
5
+ const readSourceText_1 = require("../backup/readSourceText");
6
+ const decodeBase64_1 = require("../crypto/decodeBase64");
7
+ const verbosity_1 = require("../state/verbosity");
8
+ const extractMetadata_1 = require("../xml/extractMetadata");
9
+ const findOtherType_1 = require("./findOtherType");
10
+ function getHttpStatus(error) {
11
+ const err = error;
12
+ if (err.response?.status) {
13
+ return err.response.status;
14
+ }
15
+ if (err.status) {
16
+ return err.status;
17
+ }
18
+ // Check if it's a "Request failed with status code 404" style message
19
+ const match = String(err.message || '').match(/status code (\d+)/);
20
+ if (match) {
21
+ return Number.parseInt(match[1], 10);
22
+ }
23
+ return undefined;
24
+ }
25
+ async function verifyObjectInSystem(client, spec, expectedPackage, expectedSource, expectedSourceBase64, expectedFormat) {
26
+ const base = {
27
+ type: spec.type,
28
+ name: spec.name,
29
+ functionGroupName: spec.functionGroupName,
30
+ status: 'ok',
31
+ expectedPackage,
32
+ };
33
+ let metadataXml;
34
+ try {
35
+ metadataXml = await (0, readMetadataXmlForType_1.readMetadataXmlForType)(client, spec.type, spec.name, spec.functionGroupName);
36
+ }
37
+ catch (error) {
38
+ const status = getHttpStatus(error);
39
+ const message = error instanceof Error ? error.message : String(error);
40
+ // Check if error message explicitly says "not found"
41
+ // Examples: "Domain 'XYZ' not found", "Function group 'ABC' not found"
42
+ const isNotFoundMessage = /not found/i.test(message) || /does not exist/i.test(message);
43
+ if (status === 404 || status === 410 || isNotFoundMessage) {
44
+ if (verbosity_1.verbosityState.level >= 3) {
45
+ const otherType = await (0, findOtherType_1.findOtherType)(client, spec.type, spec.name);
46
+ if (otherType) {
47
+ return {
48
+ ...base,
49
+ status: 'type-mismatch',
50
+ message: `Found object of type ${otherType}`,
51
+ };
52
+ }
53
+ }
54
+ return {
55
+ ...base,
56
+ status: 'missing',
57
+ message: isNotFoundMessage
58
+ ? message
59
+ : 'Object does not exist in the system',
60
+ };
61
+ }
62
+ // If it's a package, and we failed to read metadata, let's try a simpler check
63
+ if (spec.type === 'package') {
64
+ try {
65
+ await client.getUtils().getPackageContents(spec.name);
66
+ // If this succeeds, the package exists but metadata read failed for some reason
67
+ }
68
+ catch (innerError) {
69
+ const innerStatus = getHttpStatus(innerError);
70
+ if (innerStatus === 404) {
71
+ return { ...base, status: 'missing', message: 'Package not found' };
72
+ }
73
+ }
74
+ }
75
+ return {
76
+ ...base,
77
+ status: 'error',
78
+ message: error instanceof Error ? error.message : String(error),
79
+ };
80
+ }
81
+ if (!metadataXml) {
82
+ return {
83
+ ...base,
84
+ status: 'unsupported',
85
+ message: 'Metadata read is not supported for this object type',
86
+ };
87
+ }
88
+ const metadata = (0, extractMetadata_1.extractMetadata)(metadataXml);
89
+ if (metadata.packageName) {
90
+ base.actualPackage = metadata.packageName;
91
+ }
92
+ if (expectedPackage &&
93
+ metadata.packageName &&
94
+ metadata.packageName.toUpperCase() !== expectedPackage.toUpperCase()) {
95
+ return {
96
+ ...base,
97
+ status: 'package-mismatch',
98
+ message: `Expected package ${expectedPackage}, found ${metadata.packageName}`,
99
+ };
100
+ }
101
+ const expectedText = expectedSourceBase64 !== undefined
102
+ ? (0, decodeBase64_1.decodeBase64)(expectedSourceBase64)
103
+ : expectedSource;
104
+ if (expectedText !== undefined) {
105
+ if (expectedFormat === 'xml') {
106
+ return base;
107
+ }
108
+ else {
109
+ try {
110
+ const actualSource = await (0, readSourceText_1.readSourceText)(client, spec);
111
+ if (actualSource === undefined) {
112
+ return {
113
+ ...base,
114
+ status: 'error',
115
+ message: 'Source not available for comparison',
116
+ };
117
+ }
118
+ if (expectedText !== actualSource) {
119
+ return {
120
+ ...base,
121
+ status: 'source-mismatch',
122
+ message: 'Source differs from backup',
123
+ };
124
+ }
125
+ }
126
+ catch (error) {
127
+ return {
128
+ ...base,
129
+ status: 'error',
130
+ message: error instanceof Error ? error.message : String(error),
131
+ };
132
+ }
133
+ }
134
+ }
135
+ return base;
136
+ }
@@ -0,0 +1,5 @@
1
+ export declare function extractMetadata(xml: string): {
2
+ description?: string;
3
+ packageName?: string;
4
+ };
5
+ //# sourceMappingURL=extractMetadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractMetadata.d.ts","sourceRoot":"","sources":["../../../src/lib/xml/extractMetadata.ts"],"names":[],"mappings":"AAKA,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAOA"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractMetadata = extractMetadata;
4
+ const xmlParser_1 = require("../constants/xmlParser");
5
+ const findAttribute_1 = require("./findAttribute");
6
+ const findPackageName_1 = require("./findPackageName");
7
+ function extractMetadata(xml) {
8
+ const parsed = xmlParser_1.xmlParser.parse(xml);
9
+ const description = (0, findAttribute_1.findAttribute)(parsed, 'adtcore:description') ||
10
+ (0, findAttribute_1.findAttribute)(parsed, 'description');
11
+ const packageName = (0, findPackageName_1.findPackageName)(parsed);
12
+ return { description, packageName };
13
+ }
@@ -0,0 +1,3 @@
1
+ import type { NodeValue } from '../types';
2
+ export declare function findAttribute(node: NodeValue | undefined, attributeName: string): string | undefined;
3
+ //# sourceMappingURL=findAttribute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findAttribute.d.ts","sourceRoot":"","sources":["../../../src/lib/xml/findAttribute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,UAAU,CAAC;AAEtD,wBAAgB,aAAa,CAC3B,IAAI,EAAE,SAAS,GAAG,SAAS,EAC3B,aAAa,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS,CA2BpB"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findAttribute = findAttribute;
4
+ function findAttribute(node, attributeName) {
5
+ if (!node || typeof node !== 'object') {
6
+ return undefined;
7
+ }
8
+ const attrKey = `@_${attributeName}`;
9
+ if (!Array.isArray(node) &&
10
+ typeof node[attrKey] === 'string') {
11
+ return node[attrKey];
12
+ }
13
+ if (Array.isArray(node)) {
14
+ for (const value of node) {
15
+ const found = findAttribute(value, attributeName);
16
+ if (found) {
17
+ return found;
18
+ }
19
+ }
20
+ return undefined;
21
+ }
22
+ for (const value of Object.values(node)) {
23
+ const found = findAttribute(value, attributeName);
24
+ if (found) {
25
+ return found;
26
+ }
27
+ }
28
+ return undefined;
29
+ }
@@ -0,0 +1,3 @@
1
+ import type { NodeValue } from '../types';
2
+ export declare function findNode(node: NodeValue | undefined, keys: string[]): NodeValue | undefined;
3
+ //# sourceMappingURL=findNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findNode.d.ts","sourceRoot":"","sources":["../../../src/lib/xml/findNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,UAAU,CAAC;AAEtD,wBAAgB,QAAQ,CACtB,IAAI,EAAE,SAAS,GAAG,SAAS,EAC3B,IAAI,EAAE,MAAM,EAAE,GACb,SAAS,GAAG,SAAS,CA0BvB"}